Admin
2022-09-21 999cab6fb3fc6d2a288d365da991351c5a396bf0
src/views/specialWorkSystem/workTicket/workApply/index.vue
@@ -2,35 +2,35 @@
   <div class="home-container">
      <el-tabs type="border-card">
         <el-tab-pane label="动火作业">
            <fire-form></fire-form>
            <fire-form :workerList = allWorkers></fire-form>
         </el-tab-pane>
         <el-tab-pane label="受限空间作业">
            <space-form></space-form>
            <space-form :workerList = allWorkers :departList = departmentList></space-form>
         </el-tab-pane>
         <el-tab-pane label="吊装作业">
            <hoist-form></hoist-form>
            <hoist-form :workerList = allWorkers></hoist-form>
         </el-tab-pane>
         <el-tab-pane label="动土作业">
            <ground-form></ground-form>
            <ground-form :workerList = allWorkers :departList = departmentList></ground-form>
         </el-tab-pane>
         <el-tab-pane label="断路作业">
            <broken-form></broken-form>
            <broken-form :workerList = allWorkers :departList = departmentList></broken-form>
         </el-tab-pane>
         <el-tab-pane label="高处作业">
            <height-form></height-form>
            <height-form :workerList = allWorkers :departList = departmentList></height-form>
         </el-tab-pane>
         <el-tab-pane label="临时用电作业">
            <power-form></power-form>
            <power-form :workerList = allWorkers></power-form>
         </el-tab-pane>
         <el-tab-pane label="盲板抽堵作业">
            <plate-form></plate-form>
            <plate-form :workerList = allWorkers></plate-form>
         </el-tab-pane>
      </el-tabs>
   </div>
</template>
<script lang="ts">
   import { toRefs, reactive, defineComponent, ref, defineAsyncComponent } from 'vue';
   import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted} from 'vue';
   import { storeToRefs } from 'pinia';
   import { initBackEndControlRoutes } from '/@/router/backEnd';
   import {useUserInfo} from "/@/stores/userInfo";
@@ -39,28 +39,62 @@
   import { ElMessage } from 'element-plus'
   import type { FormInstance, FormRules } from 'element-plus'
   import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
   import {teamManageApi} from "/@/api/systemManage/basicDateManage/personShiftManage/teamManage";
   interface stateType {
      allWorkers: Array<any>
      departmentList: Array<any>
   }
   export default defineComponent({
      name: 'workTicket',
      components: {
         fireForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/fire.vue')),
         spaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/space.vue')),
         hoistForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/hoist.vue')),
         groundForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/ground.vue')),
         brokenForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/broken.vue')),
         heightForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/height.vue')),
         powerForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/power.vue')),
         plateForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workApplyManage/workApplyForm/components/plate.vue'))
         fireForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/fire.vue')),
         spaceForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/space.vue')),
         hoistForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/hoist.vue')),
         groundForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/ground.vue')),
         brokenForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/broken.vue')),
         heightForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/height.vue')),
         powerForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/power.vue')),
         plateForm: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/workApply/components/plate.vue'))
      },
      setup() {
         const userInfo = useUserInfo()
         const { userInfos } = storeToRefs(userInfo);
         const state  = reactive<stateType>({
            allWorkers: [],
            departmentList: []
         });
         // 获取用户列表
         const getAll = async ()=>{
            const res = await workApplyApi().getAllUsers()
            if (res.data.code === '200') {
               state.allWorkers = JSON.parse(JSON.stringify(res.data.data))
            } else {
               ElMessage({
                  type: 'warning',
                  message: res.data.msg
               });
            }
         };
         // 获取部门列表
         const getAllDepartment = async () => {
            let res = await teamManageApi().getAllDepartment();
            if (res.data.code === '200') {
               state.departmentList = JSON.parse(JSON.stringify(res.data.data))
            } else {
               ElMessage({
                  type: 'warning',
                  message: res.data.msg
               });
            }
         };
         // 页面载入时执行方法
         onMounted(() => {
            getAll();
            getAllDepartment();
         });
         return {