|
@@ -78,11 +78,18 @@
|
|
|
</el-row>
|
|
|
<el-row class="my-row">
|
|
|
<el-col :span="8">
|
|
|
- <el-form-item label="任务接收人" prop="receiver">
|
|
|
+ <el-form-item label="任务接收人" prop="" v-if="userMultiple">
|
|
|
+ <user-components
|
|
|
+ v-model="dataForm.receivers"
|
|
|
+ :user-ids="dataForm.receivers"
|
|
|
+ @userSelectedItems="userSelectedItems"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="任务接收人" prop="receiver" v-else>
|
|
|
<user-component
|
|
|
v-model="dataForm.receiver"
|
|
|
:user-id="dataForm.receiver"
|
|
|
- @userSelected="userChanged"
|
|
|
+ @userSelectedItem="userSelectedItem"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -122,9 +129,17 @@
|
|
|
import uploadComponent from '../common/upload-component-v2'
|
|
|
import { taskTypeOption, rankTypeOption } from '@/utils/enums'
|
|
|
import UserComponent from '@/views/modules/common/user-component'
|
|
|
+import UserComponents from '@/views/modules/common/user-components'
|
|
|
export default {
|
|
|
name: 'worder-add-or-update',
|
|
|
- components: { UserComponent, uploadComponent },
|
|
|
+ components: { UserComponent, uploadComponent, UserComponents },
|
|
|
+ props: {
|
|
|
+ // 任务接收人是否可多选
|
|
|
+ userMultiple: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
+ }
|
|
|
+ },
|
|
|
data () {
|
|
|
return {
|
|
|
id: 0,
|
|
@@ -158,6 +173,9 @@ export default {
|
|
|
],
|
|
|
receiver: [
|
|
|
{ required: true, message: '请输入工单任务接收人', trigger: 'blur' }
|
|
|
+ ],
|
|
|
+ receivers: [
|
|
|
+ { required: true, message: '请输入工单任务接收人', trigger: 'blur' }
|
|
|
]
|
|
|
}
|
|
|
}
|
|
@@ -181,7 +199,7 @@ export default {
|
|
|
this.dataForm = item
|
|
|
} else {
|
|
|
this.isModify = false
|
|
|
- if (bizType === 'communicate') {
|
|
|
+ if (bizType === 'communicate' || bizType === 'order') {
|
|
|
this.dataForm = {
|
|
|
planCompletionTime: new Date(),
|
|
|
ranks: '1',
|
|
@@ -208,12 +226,19 @@ export default {
|
|
|
this.$refs['dataForm'].validate((valid) => {
|
|
|
if (valid) {
|
|
|
this.visible = false
|
|
|
- let user = this.userList.find(
|
|
|
- (t) => t.userId === this.dataForm.receiver
|
|
|
- )
|
|
|
- this.dataForm.receiverName = user ? user.name : ''
|
|
|
if (this.type === 'addItem') {
|
|
|
- this.$emit('submit', this.dataForm)
|
|
|
+ if (!this.userMultiple) { this.$emit('submit', this.dataForm) } else {
|
|
|
+ let array = []
|
|
|
+ this.dataForm.receiverList.forEach(t => {
|
|
|
+ let obj = {...this.dataForm}
|
|
|
+ obj.recordId = Math.round(Math.random() * 1000000)
|
|
|
+ obj.receiver = t.userId
|
|
|
+ obj.receiverName = t.userName
|
|
|
+ array.push(obj)
|
|
|
+ })
|
|
|
+ console.log(array)
|
|
|
+ this.$emit('submitArray', array)
|
|
|
+ }
|
|
|
} else if (this.type === 'update') {
|
|
|
|
|
|
}
|
|
@@ -227,8 +252,12 @@ export default {
|
|
|
uploadSuccess (fileList) {
|
|
|
this.attachList = fileList
|
|
|
},
|
|
|
- userChanged (item) {
|
|
|
- // todo
|
|
|
+ userSelectedItem (item) {
|
|
|
+ this.dataForm.receiverName = item.userName
|
|
|
+ },
|
|
|
+ userSelectedItems (item) {
|
|
|
+ this.dataForm.receiverList = item
|
|
|
+ this.dataForm.receivers = item.map(t => t.userId)
|
|
|
}
|
|
|
}
|
|
|
}
|