From e42e1b7bbc7b271685868bd69aff895888c4bc0d Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期三, 20 十一月 2024 11:04:52 +0800 Subject: [PATCH] Default Changelist --- src/views/newSpecialWorkSystem/workTicket/wdsq/components/powerDialog.vue | 108 +++++++++++++++++++++++++++-------- src/views/newSpecialWorkSystem/workTicket/zysq/components/power.vue | 67 ++++++++++++++-------- 2 files changed, 125 insertions(+), 50 deletions(-) diff --git a/src/views/newSpecialWorkSystem/workTicket/wdsq/components/powerDialog.vue b/src/views/newSpecialWorkSystem/workTicket/wdsq/components/powerDialog.vue index 67ac77e..4003686 100644 --- a/src/views/newSpecialWorkSystem/workTicket/wdsq/components/powerDialog.vue +++ b/src/views/newSpecialWorkSystem/workTicket/wdsq/components/powerDialog.vue @@ -80,15 +80,15 @@ <el-row> <el-col :span="12"> <el-form-item label="作业负责人" prop="headUids"> - <el-select v-model="form.headUids" multiple filterable @change="getStartEndIds" clearable> - <el-option - v-for="item in lists.workerList" - :key="item.uid" - :label="item.username" - :value="item.uid" - /> - </el-select> - <!-- <el-cascader style="width: 100%" v-model="form.headUids" :options="lists.workerList" :props="casProps" @change="getStartEndIds" filterable :show-all-levels="false"/>--> +<!-- <el-select v-model="form.headUids" multiple filterable @change="getStartEndIds" clearable>--> +<!-- <el-option--> +<!-- v-for="item in lists.workerList"--> +<!-- :key="item.uid"--> +<!-- :label="item.username"--> +<!-- :value="item.uid"--> +<!-- />--> +<!-- </el-select>--> + <el-cascader style="width: 100%" v-model="form.headUids" :options="lists.workerList" :props="cas3Props" @change="singleSelect($event,'负责人')" filterable :show-all-levels="false"/> </el-form-item> </el-col> </el-row> @@ -384,6 +384,7 @@ props1:{}, depProps:{}, cas2Props:{} + cas3Props: {} safetyMeasureBasicList: [] zyList: [] tabLoading: boolean @@ -454,7 +455,36 @@ multiple: true, checkStrictly: true, children: 'certList' - } + }, + cas3Props: { + value: 'uid', + label: 'realName', + checkStrictly: true, + lazy: true, + async lazyLoad(node, resolve){ + const { value, level } = node + let nodes = [] + if(level == 0){ + nodes = props.lists.spList.jhList + }else{ + let res = await userApi().getCtf({uid: value}) + if(res.data.code == 200){ + nodes = res.data.data + }else{ + ElMessage({ + type: 'warning', + message: res.data.msg + }) + } + } + nodes=nodes.map(item => ({ + uid: item.certNo +','+ item.certExpiredAt, + realName: node.label + '(' +item.certTypeName +' ' + item.certExpiredAt + ')', + leaf: level >= 1 + })) + resolve(nodes) + } + }, }) const ruleFormRef = ref<FormInstance>() const applyRules = reactive<FormRules>({ @@ -532,7 +562,6 @@ } const openDialog = (row,type)=>{ clearFile() - console.log(state.form.operatorUids,'ops1') state.zyList = props.lists.spList.opList getBasicData() Object.keys(state.form).forEach(key => { @@ -540,7 +569,6 @@ state.form[key] = JSON.parse(JSON.stringify(row))[key]; } }) - console.log(row.operatorList,'list') state.form.operatorUids = row.operatorList.map(i=>{ if(i.certExpiredAt && i.certExpiredAt !==''){ return [i.userId,i.certificate + ',' + i.certExpiredAt] @@ -548,8 +576,16 @@ return [i.userId] } }) - console.log(state.form.operatorUids,'ops2') - state.form.headUids = row.headList.map(i=>i.userId) + + // 证书懒加载负责人一栏没办法回填 + // state.form.headUids = row.headList.map(i=>{ + // if(i.certExpiredAt && i.certExpiredAt !==''){ + // return [i.userId,i.certificate + ',' + i.certExpiredAt] + // }else{ + // return [i.userId] + // } + // }) + // state.form.headUids = row.headList.map(i=>i.userId) state.form.analystUids = row.analystList.map(i=>i.userId) state.form.guardianUids = row.guardianList.map(i=>i.userId) state.form.involveOtherWork = row.otherWorkList.map(i=>i.otherWorkApplyId) @@ -711,22 +747,41 @@ } } if(type == '作业人'){state.form.operatorUids = JSON.parse(JSON.stringify(temp))} - // if(type == '分析人'){state.form.analystUids = temp} + if(type == '负责人'){ + state.form.headUids = temp + state.form.startOrEndUids = [state.form.headUids[0]] + state.form.approvalDepBasicList[0].approvalUids = [state.form.headUids[0]] + } if(type == '监护人'){state.form.guardianUids = temp} if(type == '确认人'){state.form.safetyMeasureUids = temp} if(type == '结束人'){state.form.startOrEndUids = temp} + }else{ + if(type == '负责人'){ + state.form.headUids = selected + state.form.startOrEndUids = state.form.headUids + state.form.approvalDepBasicList[0].approvalUids = state.form.headUids + } } } - const transformArr = (arr: Array<any>)=>{ - return arr.map((i)=>{ - return { - uid: i[0], - certificate: i[1]?i[1].split(',')[0]:'', - certExpiredAt: i[1]?i[1].split(',')[1]:'', - certTypeName: '' - } - }) + const transformArr = (arr: Array<any>,type: string)=>{ + if(type == '作业人'){ + return arr.map((i)=>{ + return { + uid: i[0], + certificate: i[1]?i[1].split(',')[0]:'', + certExpiredAt: i[1]?i[1].split(',')[1]:'', + certTypeName: '' + } + }) + }else{ + return [{ + uid: arr[0], + certificate: arr[1]?arr[1].split(',')[0]:'', + certExpiredAt: arr[1]?arr[1].split(',')[1]:'', + certTypeName: '', + }] + } } const transform2Arr = (arr: Array<any>)=>{ @@ -768,8 +823,8 @@ state.form.workDetail.electricityUids = state.form.workDetail.electricityUids.join(',') state.form.riskIdentification = state.form.riskIdentification.join(',') const {...data} = state.form - data.operatorUids = transformArr(data.operatorUids) - data.headUids = transform2Arr(data.headUids) + data.operatorUids = transformArr(data.operatorUids,'作业人') + data.headUids = transformArr(data.headUids,'负责人') // data.analystUids = transformArr(data.analystUids) data.guardianUids = transform2Arr(data.guardianUids) data.safetyMeasureUids = transform2Arr(data.safetyMeasureUids) @@ -786,6 +841,7 @@ formEl.resetFields() state.form.guardianUids = [] state.form.involveOtherWork = [] + state.form.headUids = [] getBasicData() clearFile() context.emit('refresh') diff --git a/src/views/newSpecialWorkSystem/workTicket/zysq/components/power.vue b/src/views/newSpecialWorkSystem/workTicket/zysq/components/power.vue index c9edd23..77f8d65 100644 --- a/src/views/newSpecialWorkSystem/workTicket/zysq/components/power.vue +++ b/src/views/newSpecialWorkSystem/workTicket/zysq/components/power.vue @@ -79,15 +79,15 @@ <el-row> <el-col :span="12"> <el-form-item label="作业负责人" prop="headUids"> - <el-select v-model="form.headUids" multiple :multiple-limit="1" filterable @change="getStartEndIds" clearable> - <el-option - v-for="item in lists.workerList" - :key="item.uid" - :label="item.username" - :value="item.uid" - /> - </el-select> - <!-- <el-cascader style="width: 100%" v-model="form.headUids" :options="lists.workerList" :props="casProps" @change="getStartEndIds" filterable :show-all-levels="false"/>--> +<!-- <el-select v-model="form.headUids" multiple :multiple-limit="1" filterable @change="getStartEndIds" clearable>--> +<!-- <el-option--> +<!-- v-for="item in lists.workerList"--> +<!-- :key="item.uid"--> +<!-- :label="item.username"--> +<!-- :value="item.uid"--> +<!-- />--> +<!-- </el-select>--> + <el-cascader style="width: 100%" v-model="form.headUids" :options="lists.workerList" :props="cas3Props" @change="singleSelect($event,'负责人')" filterable :show-all-levels="false"/> </el-form-item> </el-col> </el-row> @@ -479,10 +479,9 @@ children: 'certList' }, cas3Props: { - expandTrigger: 'hover', value: 'uid', label: 'realName', - multiple: true, + checkStrictly: true, lazy: true, async lazyLoad(node, resolve){ const { value, level } = node @@ -501,7 +500,7 @@ } } nodes=nodes.map(item => ({ - uid: item.certNo +','+ item.certExpiredAt+','+item.certTypeName, + uid: item.certNo +','+ item.certExpiredAt, realName: node.label + '(' +item.certTypeName +' ' + item.certExpiredAt + ')', leaf: level >= 1 })) @@ -671,15 +670,24 @@ return index === 0; } - const transformArr = (arr: Array<any>)=>{ - return arr.map((i)=>{ - return { - uid: i[0], - certificate: i[1]?i[1].split(',')[0]:'', - certExpiredAt: i[1]?i[1].split(',')[1]:'', - certTypeName: '' - } - }) + const transformArr = (arr: Array<any>,type: string)=>{ + if(type == '作业人'){ + return arr.map((i)=>{ + return { + uid: i[0], + certificate: i[1]?i[1].split(',')[0]:'', + certExpiredAt: i[1]?i[1].split(',')[1]:'', + certTypeName: '' + } + }) + }else{ + return [{ + uid: arr[0], + certificate: arr[1]?arr[1].split(',')[0]:'', + certExpiredAt: arr[1]?arr[1].split(',')[1]:'', + certTypeName: '' + }] + } } const transform2Arr = (arr: Array<any>)=>{ @@ -715,10 +723,20 @@ } } if(type == '作业人'){state.form.operatorUids = temp} - // if(type == '分析人'){state.form.analystUids = temp} + if(type == '负责人'){ + state.form.headUids = temp + state.form.startOrEndUids = [state.form.headUids[0]] + state.form.approvalDepBasicList[0].approvalUids = [state.form.headUids[0]] + } if(type == '监护人'){state.form.guardianUids = temp} if(type == '确认人'){state.form.safetyMeasureUids = temp} if(type == '结束人'){state.form.startOrEndUids = temp} + }else{ + if(type == '负责人'){ + state.form.headUids = selected + state.form.startOrEndUids = state.form.headUids + state.form.approvalDepBasicList[0].approvalUids = state.form.headUids + } } } @@ -741,8 +759,8 @@ state.form.workDetail.electricityUids = state.form.workDetail.electricityUids.join(',') state.form.riskIdentification = state.form.riskIdentification.join(',') const {depIdList,...data} = state.form - data.operatorUids = transformArr(data.operatorUids) - data.headUids = transform2Arr(data.headUids) + data.operatorUids = transformArr(data.operatorUids,'作业人') + data.headUids = transformArr(data.headUids,'负责人') // data.analystUids = transformArr(data.analystUids) data.guardianUids = transform2Arr(data.guardianUids) data.safetyMeasureUids = transform2Arr(data.safetyMeasureUids) @@ -758,6 +776,7 @@ formEl.resetFields() state.form.guardianUids = [] state.form.involveOtherWork = [] + state.form.headUids = [] getBasicData() } else { ElMessage({ -- Gitblit v1.9.2