马宇豪
2024-11-20 e42e1b7bbc7b271685868bd69aff895888c4bc0d
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')