马宇豪
2023-03-22 22bf644b3fc85763be3ad0c5e348d2bee38e2444
src/views/specialWorkSystem/workTicket/zysq/index.vue
@@ -1,31 +1,32 @@
<template>
   <div class="home-container">
      <el-tabs type="border-card">
      <el-tabs type="border-card" @tab-change="switchTab">
         <el-tab-pane label="动火作业">
            <fire-form :workerList = allWorkers></fire-form>
            <fire-form ref="fire" :workerList = allWorkers :deviceList = allDevices></fire-form>
         </el-tab-pane>
         <el-tab-pane label="受限空间作业">
            <space-form :workerList = allWorkers :departList = departmentList></space-form>
            <space-form ref="space" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></space-form>
         </el-tab-pane>
         <el-tab-pane label="吊装作业">
            <hoist-form :workerList = allWorkers></hoist-form>
            <hoist-form ref="hoist" :workerList = allWorkers :deviceList = allDevices></hoist-form>
         </el-tab-pane>
         <el-tab-pane label="动土作业">
            <ground-form :workerList = allWorkers :departList = departmentList></ground-form>
            <ground-form ref="ground" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></ground-form>
         </el-tab-pane>
         <el-tab-pane label="断路作业">
            <broken-form :workerList = allWorkers :departList = departmentList></broken-form>
            <broken-form ref="broken" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></broken-form>
         </el-tab-pane>
         <el-tab-pane label="高处作业">
            <height-form :workerList = allWorkers :departList = departmentList></height-form>
            <height-form ref="height" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></height-form>
         </el-tab-pane>
         <el-tab-pane label="临时用电作业">
            <power-form :workerList = allWorkers></power-form>
            <power-form ref="power" :workerList = allWorkers :deviceList = allDevices></power-form>
         </el-tab-pane>
         <el-tab-pane label="盲板抽堵作业">
            <plate-form :workerList = allWorkers></plate-form>
            <plate-form ref="plate" :workerList = allWorkers :deviceList = allDevices></plate-form>
         </el-tab-pane>
      </el-tabs>
    <material-dialog ref="material"></material-dialog>
   </div>
</template>
@@ -44,6 +45,7 @@
   interface stateType {
      allWorkers: Array<any>
      departmentList: Array<any>
    allDevices: Array<any>
   }
   export default defineComponent({
      name: 'apply',
@@ -55,16 +57,26 @@
         brokenForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/broken.vue')),
         heightForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/height.vue')),
         powerForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/power.vue')),
         plateForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/plate.vue'))
         plateForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/plate.vue')),
      materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue'))
      },
      setup() {
         const userInfo = useUserInfo()
         const { userInfos } = storeToRefs(userInfo);
         const state  = reactive<stateType>({
            allWorkers: [],
            departmentList: []
            departmentList: [],
        allDevices: []
         });
      const fire = ref()
      const space = ref()
      const hoist = ref()
      const ground = ref()
      const broken = ref()
      const height = ref()
      const power = ref()
      const plate = ref()
      const material = ref()
         // 获取用户列表
         const getAll = async ()=>{
            const res = await workApplyApi().getAllUsers()
@@ -91,14 +103,46 @@
            }
         };
      // 获取设备列表
      const getAllDevice = async ()=>{
        const res = await workApplyApi().getAllDevices()
        if (res.data.code === '200') {
          state.allDevices = JSON.parse(JSON.stringify(res.data.data))
        } else {
          ElMessage({
            type: 'warning',
            message: res.data.msg
          });
        }
      };
      const switchTab = (name)=>{
        console.log(name,'name')
        fire.value.form.resetFields()
        material.value.maBaseId = null
        material.value.receiveUids = []
      }
         // 页面载入时执行方法
         onMounted(() => {
            getAll();
            getAllDepartment();
        getAllDevice()
         });
         return {
            ...toRefs(state),
        fire,
        space,
        broken,
        ground,
        height,
        hoist,
        plate,
        power,
        material,
        switchTab
         };
      },
   });