马宇豪
2024-08-16 3b75798cc41993f9016610296907d2338545a345
src/views/newSpecialWorkSystem/workTicket/zysq/components/broken.vue
@@ -11,13 +11,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>
@@ -71,7 +79,7 @@
      <el-row>
        <el-col :span="12">
          <el-form-item label="作业负责人" prop="headUids">
            <el-select v-model="form.headUids" filterable multiple @change="getStartEndIds" clearable>
            <el-select v-model="form.headUids" filterable multiple :multiple-limit="1" @change="getStartEndIds" clearable>
              <el-option
                  v-for="item in lists.workerList"
                  :key="item.uid"
@@ -83,16 +91,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>
@@ -290,8 +290,8 @@
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="完工验收" prop="acceptUid">
              <el-select v-model="form.acceptUid" filterable clearable>
            <el-form-item label="完工验收" prop="acceptUids">
              <el-select v-model="form.acceptUids" filterable multiple clearable>
                <el-option
                    v-for="item in lists.workerList"
                    :key="item.uid"
@@ -329,19 +329,19 @@
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
            <el-form-item label="最终审批人" prop="lastApprover">
              <el-select v-model="form.lastApprover" filterable clearable>
                <el-option
                    v-for="item in lists.workerList"
                    :key="item.uid"
                    :label="item.username"
                    :value="item.uid"
                />
              </el-select>
<!--          <el-col :span="12">-->
<!--            <el-form-item label="最终审批人" prop="lastApprover">-->
<!--              <el-select v-model="form.lastApprover" filterable 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.lastApprover" :options="lists.workerList" :props="cas4Props" filterable :show-all-levels="false"/>-->
            </el-form-item>
          </el-col>
<!--            </el-form-item>-->
<!--          </el-col>-->
        </el-row>
         </div>
      </el-form>
@@ -369,6 +369,7 @@
   interface stateType {
      form: Object,
      equipmentDialog: boolean,
    zyList: []
    props1:{},
    depProps:{},
    depProps2:{},
@@ -398,6 +399,7 @@
        tabLoading: false,
            equipmentDialog: false,
        safetyMeasureBasicList: [],
        zyList: [],
            form: {
          workType: 5,
          workLevel: 0,
@@ -410,14 +412,14 @@
          headUids: [],
          analystUids: [],
          guardianUids: [],
          workDepId: null,
          workDepIds: [],
          workContent: '',
          workLocation: '',
          riskIdentification: [],
          involveOtherWork: [],
          safetyMeasureUids: [],
          approvalDepBasicList: [],
          acceptUid: null,
          acceptUids: [],
          lastApprover: null,
          startOrEndUids: [],
          cameraIds: [],
@@ -438,6 +440,7 @@
          expandTrigger: 'hover',
          label: 'depName',
          value: 'depId',
          multiple: true,
          checkStrictly: true,
          emitPath: false
        },
@@ -582,7 +585,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' }],
@@ -591,7 +594,7 @@
        expStartTime: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        expEndTime: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        safetyMeasureUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        acceptUid: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        acceptUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        lastApprover: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        startOrEndUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
            "workDetail.involvedDepIds": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
@@ -603,12 +606,20 @@
      const workSelectRef = ref()
         // 页面载入时执行方法
         onMounted(() => {
        state.zyList = props.lists.spList.opList
        getBasicData()
      });
      const openWorkSelect = ()=>{
        workSelectRef.value.openDialog(state.form.involveOtherWork)
      }
      const getWorkerList = (val)=>{
        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
      }
@@ -745,7 +756,7 @@
            data.guardianUids = transform2Arr(data.guardianUids)
            data.safetyMeasureUids = transform2Arr(data.safetyMeasureUids)
            data.startOrEndUids = transform2Arr(data.startOrEndUids)
            data.acceptUid = transform2Obj(data.acceptUid)
            data.acceptUids = transform2Arr(data.acceptUids)
            data.lastApprover = transform2Obj(data.lastApprover)
            const res = await workApplyApi().submitBrokenApply(data)
            if (res.data.code === '200') {
@@ -907,6 +918,7 @@
         return {
            renderMenu,
        getBasicData,
        getWorkerList,
        getStartEndIds,
        getSafetyIds,
        isFirstRow,