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