马宇豪
2024-07-08 20b0ce2db27b64a60de60aee05dedd448099e330
src/views/newSpecialWorkSystem/workTicket/wdsq/components/brokenDialog.vue
@@ -12,13 +12,21 @@
      </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="作业单位" prop="workDepId">
              <el-cascader style="width: 100%" v-model="form.workDepId" :props="depProps" :options="lists.departList" :show-all-levels="false"/>
            <el-form-item label="作业单位" prop="workDepIds">
              <el-cascader style="width: 100%" v-model="form.workDepIds" :props="depProps" @change="getWorkerList" :options="lists.departList" :show-all-levels="false"/>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="涉及相关单位(部门)" prop="workDetail.involvedDepIds">
              <el-cascader style="width: 100%" v-model="form.workDetail.involvedDepIds" :props="depProps2" :options="lists.departList" :show-all-levels="false"/>
            <el-form-item label="作业人" prop="operatorUids">
              <el-select v-model="form.operatorUids" filterable multiple clearable>
                <el-option
                    v-for="item in zyList"
                    :key="item.uid"
                    :label="item.realName"
                    :value="item.uid"
                />
              </el-select>
              <!--            <el-cascader style="width: 100%" v-model="form.operatorUids" :options="lists.spList.opList" :props="cas2Props" @change="singleSelect($event,'作业人')" filterable :show-all-levels="false"/>-->
            </el-form-item>
          </el-col>
        </el-row>
@@ -84,16 +92,8 @@
          </el-form-item>
        </el-col>
        <el-col :span="12">
          <el-form-item label="作业人" prop="operatorUids">
            <el-select v-model="form.operatorUids" filterable multiple clearable>
              <el-option
                  v-for="item in lists.spList.opList"
                  :key="item.uid"
                  :label="item.realName"
                  :value="item.uid"
              />
            </el-select>
<!--            <el-cascader style="width: 100%" v-model="form.operatorUids" :options="lists.spList.opList" :props="cas2Props" @change="singleSelect($event,'作业人')" filterable :show-all-levels="false"/>-->
          <el-form-item label="涉及相关单位(部门)" prop="workDetail.involvedDepIds">
            <el-cascader style="width: 100%" v-model="form.workDetail.involvedDepIds" :props="depProps2" :options="lists.departList" :show-all-levels="false"/>
          </el-form-item>
        </el-col>
      </el-row>
@@ -376,6 +376,7 @@
    depProps:{},
    depProps2:{},
    safetyMeasureBasicList: [],
    zyList: []
    fileList: Array<file>,
    uploadUrl: string,
    dialogVisible: Boolean,
@@ -398,6 +399,7 @@
        showDialog: false,
            equipmentDialog: false,
        safetyMeasureBasicList: [],
        zyList: [],
            form: {
          id: null,
          workType: 5,
@@ -410,7 +412,7 @@
          headUids: [],
          analystUids: [],
          guardianUids: [],
          workDepId: null,
          workDepIds: [],
          workContent: '',
          workLocation: '',
          riskIdentification: [],
@@ -440,6 +442,7 @@
          expandTrigger: 'hover',
          label: 'depName',
          value: 'depId',
          multiple: true,
          checkStrictly: true,
          emitPath: false
        },
@@ -464,7 +467,7 @@
        workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
            workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        workDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        workDepIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        headUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        analystUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        guardianUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
@@ -485,16 +488,26 @@
      const workSelectRef = ref()
         // 页面载入时执行方法
         onMounted(() => {
        getBasicData()
      });
      const openWorkSelect = ()=>{
        workSelectRef.value.openDialog(state.form.involveOtherWork)
      }
      const getWorkerList = ()=>{
        const filteredList = props.lists.spList.opList.filter(i => state.form.workDepIds.includes(i.depId));
        if(filteredList && filteredList.length>0){
          state.zyList = filteredList
        }else{
          state.zyList = props.lists.spList.opList
        }
      }
      const getSelected = ()=>{
        state.form.involveOtherWork = workSelectRef.value.selected
      }
      const openDialog = (row)=>{
        clearFile()
        state.zyList = props.lists.spList.opList
        getBasicData()
        Object.keys(state.form).forEach(key => {
          if (row.hasOwnProperty(key)) {
            state.form[key] = JSON.parse(JSON.stringify(row))[key];
@@ -525,6 +538,12 @@
          }
        })
        state.form.workDetail.bcPath = row.workDetail.bcPath.split(',').map(item => item.match(/specialWork9step\/(.*?)\?/)[1])
        if(row.workDepList && row.workDepList.length>0){
          state.form.workDepIds = row.workDepList.map(i=>i.workDepId)
        }else{
          state.form.workDepIds.push(row.workDepId)
        }
        getWorkerList()
        state.showDialog = true
      }
@@ -541,7 +560,7 @@
          headUids: [],
          analystUids: [],
          guardianUids: [],
          workDepId: null,
          workDepIds: [],
          workContent: '',
          workLocation: '',
          riskIdentification: [],
@@ -595,16 +614,16 @@
        const res = await workApplyApi().getFormData(5)
        if (res.data.code === '200') {
          state.safetyMeasureBasicList = JSON.parse(JSON.stringify(res.data.data.safetyMeasureBasicList))
          if(res.data.data.approvalDepBasicList && res.data.data.approvalDepBasicList.length>0){
            state.form.approvalDepBasicList = res.data.data.approvalDepBasicList.map(({id,content})=>({
              content,
              approvalDepBasicId: id,
              approvalUids: [],
              approvalType: null
            }))
          }else{
            state.form.approvalDepBasicList = []
          }
          // if(res.data.data.approvalDepBasicList && res.data.data.approvalDepBasicList.length>0){
          //   state.form.approvalDepBasicList = res.data.data.approvalDepBasicList.map(({id,content})=>({
          //     content,
          //     approvalDepBasicId: id,
          //     approvalUids: [],
          //     approvalType: null
          //   }))
          // }else{
          //   state.form.approvalDepBasicList = []
          // }
        } else {
          ElMessage({
            type: 'warning',
@@ -822,6 +841,7 @@
         return {
            renderMenu,
        getBasicData,
        getWorkerList,
        getStartEndIds,
        getSafetyIds,
        isFirstRow,