马宇豪
2024-07-08 20b0ce2db27b64a60de60aee05dedd448099e330
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>
@@ -56,15 +64,15 @@
        </el-col>
        <el-col :span="12">
          <el-form-item label="监护人" prop="guardianUids">
<!--            <el-select v-model="form.guardianUids" filterable multiple @change="getSafetyIds" clearable>-->
<!--              <el-option-->
<!--                  v-for="item in spList.jhList"-->
<!--                  :key="item.uid"-->
<!--                  :label="item.realName"-->
<!--                  :value="item.uid"-->
<!--              />-->
<!--            </el-select>-->
            <el-cascader style="width: 100%" v-model="form.guardianUids" :options="lists.spList.jhList" :props="cas3Props" filterable @change="singleSelect($event,'监护人')" :show-all-levels="false"/>
            <el-select v-model="form.guardianUids" filterable multiple clearable>
              <el-option
                  v-for="item in lists.spList.jhList"
                  :key="item.uid"
                  :label="item.realName"
                  :value="item.uid"
              />
            </el-select>
<!--            <el-cascader style="width: 100%" v-model="form.guardianUids" :options="lists.spList.jhList" :props="cas3Props" filterable @change="singleSelect($event,'监护人')" :show-all-levels="false"/>-->
          </el-form-item>
        </el-col>
      </el-row>
@@ -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 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>
@@ -188,12 +188,14 @@
        <el-row>
          <el-col :span="12">
            <el-form-item label="风险辨识" prop="riskIdentification">
              <el-input
                  v-model="form.riskIdentification"
                  :autosize="{ minRows: 1 }"
                  type="textarea"
                  placeholder="请输入风险辨识"
              />
              <el-select v-model="form.riskIdentification" multiple clearable>
                <el-option
                    v-for="item in lists.riskList"
                    :key="item.id"
                    :label="item.content"
                    :value="item.content"
                />
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -263,7 +265,7 @@
            <el-table-column prop="content" label="审批签字项目" align="center"/>
            <el-table-column prop="approvalType" label="是否必签" align="center">
              <template #default="scope">
                <el-form-item label="" prop="acceptUid">
                <el-form-item label="" prop="acceptUid" label-width="0">
                  <el-radio-group v-model="scope.row.approvalType">
                    <el-radio :label="0">所有必签</el-radio>
                    <el-radio :label="1">任一</el-radio>
@@ -344,7 +346,7 @@
         </div>
      </el-form>
      <div class="applyBtn">
         <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">提交申报</el-button>
         <el-button type="primary" size="large" v-throttle plain @click="submitForm(ruleFormRef)">提交申报</el-button>
      </div>
    <work-select ref="workSelectRef" @refreshWorks="getSelected()"></work-select>
   </div>
@@ -367,6 +369,7 @@
   interface stateType {
      form: Object,
      equipmentDialog: boolean,
    zyList: []
    props1:{},
    depProps:{},
    depProps2:{},
@@ -396,6 +399,7 @@
        tabLoading: false,
            equipmentDialog: false,
        safetyMeasureBasicList: [],
        zyList: [],
            form: {
          workType: 5,
          workLevel: 0,
@@ -408,10 +412,10 @@
          headUids: [],
          analystUids: [],
          guardianUids: [],
          workDepId: null,
          workDepIds: [],
          workContent: '',
          workLocation: '',
          riskIdentification: '',
          riskIdentification: [],
          involveOtherWork: [],
          safetyMeasureUids: [],
          approvalDepBasicList: [],
@@ -436,6 +440,7 @@
          expandTrigger: 'hover',
          label: 'depName',
          value: 'depId',
          multiple: true,
          checkStrictly: true,
          emitPath: false
        },
@@ -580,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' }],
@@ -601,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
      }
@@ -736,10 +749,11 @@
            // }
            state.form.workDetail.involvedDepIds = state.form.workDetail.involvedDepIds.join(',')
            state.form.workDetail.bcPath = state.form.workDetail.bcPath.join(',')
            state.form.riskIdentification = state.form.riskIdentification.join(',')
            const {depIdList,...data} = state.form
            data.operatorUids = transformArr(data.operatorUids)
            data.operatorUids = transform2Arr(data.operatorUids)
            data.headUids = transform2Arr(data.headUids)
            data.guardianUids = transformArr(data.guardianUids)
            data.guardianUids = transform2Arr(data.guardianUids)
            data.safetyMeasureUids = transform2Arr(data.safetyMeasureUids)
            data.startOrEndUids = transform2Arr(data.startOrEndUids)
            data.acceptUid = transform2Obj(data.acceptUid)
@@ -764,6 +778,7 @@
              state.form.involveOtherWork = state.form.involveOtherWork.split(',')
              state.form.workDetail.involvedDepIds = state.form.workDetail.involvedDepIds.split(',')
              state.form.workDetail.bcPath = state.form.workDetail.bcPath.split(',')
              state.form.riskIdentification = state.form.riskIdentification.split(',')
            }
          } else {
            console.log('error submit!', fields)
@@ -903,6 +918,7 @@
         return {
            renderMenu,
        getBasicData,
        getWorkerList,
        getStartEndIds,
        getSafetyIds,
        isFirstRow,