马宇豪
2023-07-13 01f3e49f3763a25ef67a4c3e5786491703a1aece
src/views/newSpecialWorkSystem/workTicket/zysq/components/fire.vue
@@ -99,15 +99,11 @@
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="12">
        <el-col :span="12" class="valueSelect">
          <el-form-item label="关联其他特殊作业" prop="involveOtherWork">
            <el-select v-model="form.involveOtherWork" multiple clearable>
              <el-option
                  v-for="item in otherWorkList"
                  :key="item.value"
                  :label="item.label"
                  :value="item.label"
              />
            <el-select v-model="form.involveOtherWork" multiple clearable :teleported="false" @click="openWorkSelect">
              <el-option v-for="item in otherWorks" :key="item.workApplyId" :label="item.workContent" :value="item.workApplyId">
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
@@ -200,7 +196,7 @@
        <el-row style="display: flex;justify-content: center">
          <el-table :data="safetyMeasureBasicList" style="width: 90%" border>
            <el-table-column type="index" label="序号" width="100px" align="center"/>
            <el-table-column prop="measureContent" label="安全措施" align="center"/>
            <el-table-column prop="measureContent" label="安全措施"/>
<!--            <el-table-column prop="address" label="确认人">-->
<!--              <template #default="scope">-->
@@ -306,6 +302,7 @@
      <div class="applyBtn">
         <el-button type="primary" size="large" plain @click="submitForm(ruleFormRef)">提交申报</el-button>
      </div>
    <work-select ref="workSelectRef" @refreshWorks="getSelected()"></work-select>
   </div>
</template>
@@ -319,10 +316,10 @@
   import { ElMessage, ElMessageBox } from 'element-plus'
   import type { FormInstance, FormRules } from 'element-plus'
   import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
  import workSelect from "/@/views/newSpecialWorkSystem/workTicket/zysq/components/workSelect.vue";
   interface stateType {
      form: Object,
      workLevelList: Array<any>,
      otherWorkList: Array<any>,
      equipmentDialog: boolean,
    props:{},
    depProps:{},
@@ -330,8 +327,8 @@
   }
   export default defineComponent({
      name: 'fireForm',
      components: {},
      props:['departList','departList2','workerList','deviceList'],
      components: {workSelect},
      props:['departList','departList2','workerList','deviceList','otherWorks'],
      setup(props: any, context: any) {
         const userInfo = useUserInfo()
         const { userInfos } = storeToRefs(userInfo);
@@ -353,7 +350,7 @@
          workContent: '',
          workLocation: '',
          riskIdentification: '',
          involveOtherWork: '',
          involveOtherWork: [],
          safetyMeasureUids: [],
          approvalDepBasicList: [],
          acceptUid: null,
@@ -375,40 +372,6 @@
               {
                  label: "特级动火作业",
                  value: 3
               }
            ],
            otherWorkList: [
               {
                  label: "动火作业",
                  value: 1
               },
               {
                  label: "受限空间作业",
                  value: 2
               },
               {
                  label: "吊装作业",
                  value: 3
               },
               {
                  label: "动土作业",
                  value: 4
               },
               {
                  label: "断路作业",
                  value: 5
               },
               {
                  label: "高处作业",
                  value: 6
               },
               {
                  label: "临时用电作业",
                  value: 7
               },
               {
                  label: "盲板抽堵作业",
                  value: 8
               }
            ],
        props:{
@@ -446,11 +409,20 @@
        startOrEndUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
            "workDetail.workMethod": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
         });
      const workSelectRef = ref()
         // 页面载入时执行方法
         onMounted(() => {
        getBasicData()
      });
      const openWorkSelect = ()=>{
        workSelectRef.value.openDialog(state.form.involveOtherWork)
      }
      const getSelected = ()=>{
        state.form.involveOtherWork = workSelectRef.value.selected
      }
      const findParent = ()=>{
        state.form.seDepId = findNearestDepLevel2DepId(props.departList2,state.form.applyDepId)
@@ -494,6 +466,7 @@
      }
      const submitForm = async (formEl: FormInstance | undefined) => {
        console.log(state.form.involveOtherWork,555)
        if (!formEl) return
        await formEl.validate(async (valid, fields) => {
          if (valid) {
@@ -506,9 +479,9 @@
                return
              }
            }
            if(Array.isArray(state.form.involveOtherWork)){
              state.form.involveOtherWork = state.form.involveOtherWork.join(',')
            }
            // if(Array.isArray(state.form.involveOtherWork)){
            //   state.form.involveOtherWork = state.form.involveOtherWork.join(',')
            // }
            const res = await workApplyApi().submitFireApply(state.form)
            if (res.data.code === '200') {
              ElMessage({
@@ -522,7 +495,7 @@
                type: 'warning',
                message: res.data.msg
              });
              state.form.involveOtherWork = state.form.involveOtherWork.split(',')
              // state.form.involveOtherWork = state.form.involveOtherWork.split(',')
            }
          } else {
            console.log('error submit!', fields)
@@ -532,12 +505,10 @@
      const findNearestDepLevel2DepId = (data, targetDepId) => {
        let nearestDepId = null;
        const traverseTree = (node) => {
          if (node.depId === targetDepId) {
            return true;
          }
          if (node.children && node.children.length > 0) {
            for (const child of node.children) {
              const found = traverseTree(child);
@@ -549,14 +520,11 @@
              }
            }
          }
          return false;
        };
        for (const root of data) {
          traverseTree(root);
        }
        return nearestDepId;
      };
@@ -574,6 +542,9 @@
        isFirstRow,
        submitForm,
        findParent,
        openWorkSelect,
        getSelected,
        workSelectRef,
            Search,
            ruleFormRef,
            applyRules,
@@ -588,9 +559,12 @@
      width: 100%;
    height: 100vh;
      overflow: hidden;
      position: relative;
    overflow-y: scroll;
    padding: 0 0 120px;
    &::-webkit-scrollbar{
      width: 0;
      background-color: transparent;
    }
      .homeCard{
         width: 100%;
         padding: 20px;
@@ -598,12 +572,9 @@
         background: #fff;
         border-radius: 4px;
         margin-bottom: 20px;
      position: relative;
      }
      .applyBtn{
      position: fixed;
      left: 0;
      bottom: 0;
      z-index: 999;
         width: 100%;
         background: #fff;
         padding: 20px 0;
@@ -631,7 +602,11 @@
         width: 100% !important;
      }
   }
  .valueSelect{
    ::v-deep(.el-popper){
      display: none !important;
    }
  }
   .tab-i{
      margin-bottom: 15px;