From 77737f4e73f7267170b9b06fc73d1610c29c0661 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 12 十一月 2024 13:18:35 +0800
Subject: [PATCH] 新增

---
 src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue |  228 ++++++++++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 208 insertions(+), 20 deletions(-)

diff --git a/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue b/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue
index 10d99b1..8764d1a 100644
--- a/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue
+++ b/src/views/newSpecialWorkSystem/workTicket/sqjl/index.vue
@@ -10,7 +10,7 @@
                       </div>
                       <div class="basic-line" style="display:flex;white-space:nowrap;line-height: 40px">
                         <span>负责人:</span>
-                        <el-input v-model="searPara.headUserName" placeholder="负责人"/>
+                        <el-input v-model.trim="searPara.headUserName" placeholder="负责人"/>
                       </div>
                       <div class="basic-line">
                         <span>事业部:</span>
@@ -37,7 +37,7 @@
                       <div class="basic-line" style="display:flex;white-space:nowrap;line-height: 40px">
                         <span>作业票编号:</span>
                         <el-input
-                            v-model="searPara.workPermitNo"
+                            v-model.trim="searPara.workPermitNo"
                             placeholder="请输入作业票编号"
                         />
                       </div>
@@ -113,6 +113,7 @@
                                     <template #default="scope">
 <!--                                        <el-button link type="danger" size="small" :icon="Delete" @click="deleteRecordBtn(scope.row)">作废</el-button>-->
                                         <el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
+                                        <el-button v-if="(scope.row.working?.workAllStatus == 3 || scope.row.working?.workAllStatus == 4 || scope.row.working?.workAllStatus == 5)&&!scope.row.renewalWorkApplyId" link type="primary" size="small" :icon="Edit" @click="continueRecord(scope.row)">一键续票</el-button>
 <!--                                        <el-button link type="success" size="small" :icon="Finished">修改</el-button>-->
 <!--                                        <el-button link type="success" size="small" :icon="Download">正式办票</el-button>-->
                                         <el-button link type="primary" size="small" :icon="Download" @click="downLoadRecord(scope.row)">作业票预览</el-button>
@@ -220,6 +221,15 @@
                         </span>
                     </template>
                 </el-dialog>
+                <fire-dialog ref="fireRef" :lists="lists" @refresh="getListByPage"></fire-dialog>
+                <plate-dialog ref="plateRef" :lists="lists" @refresh="getListByPage"></plate-dialog>
+                <space-dialog ref="spaceRef" :lists="lists" @refresh="getListByPage"></space-dialog>
+                <hoist-dialog ref="hoistRef" :lists="lists" @refresh="getListByPage"></hoist-dialog>
+                <ground-dialog ref="groundRef" :lists="lists" @refresh="getListByPage"></ground-dialog>
+                <broken-dialog ref="brokenRef" :lists="lists" @refresh="getListByPage"></broken-dialog>
+                <height-dialog ref="heightRef" :lists="lists" @refresh="getListByPage"></height-dialog>
+                <power-dialog ref="powerRef" :lists="lists" @refresh="getListByPage"></power-dialog>
+                <open-dialog ref="openRef" :lists="lists" @refresh="getListByPage"></open-dialog>
 <!--                <el-dialog v-model="downLoadDialog" title="提示" width="30%" center>-->
 <!--                    <span>您确定要导出该条记录吗?</span>-->
 <!--                    <template #footer>-->
@@ -310,6 +320,7 @@
     dep4List: Array<type>;
     searPara: {}
     timeRange: Array<string>;
+    lists: {}
 }
 interface type {
     id: number;
@@ -322,13 +333,31 @@
 export default defineComponent({
     name: 'applys',
     components: {
-      detailLog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/detailLog.vue'))
+      detailLog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/detailLog.vue')),
+      fireDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/fireDialog.vue')),
+      plateDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/plateDialog.vue')),
+      spaceDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/spaceDialog.vue')),
+      hoistDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/hoistDialog.vue')),
+      groundDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/groundDialog.vue')),
+      brokenDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/brokenDialog.vue')),
+      heightDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/heightDialog.vue')),
+      powerDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/powerDialog.vue')),
+      openDialog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/openDialog.vue'))
     },
     setup() {
         const userInfo = useUserInfo();
         const { userInfos } = storeToRefs(userInfo);
         const router = useRouter();
         const state = reactive<stateType>({
+            lists: {
+              workerList: [],
+              departList: [],
+              departList2: [],
+              deviceList: [],
+              otherWorks: [],
+              spList: [],
+              riskList: []
+            },
             pageIndex1: 1,
             pageSize1: 10,
             totalSize1: 0,
@@ -364,17 +393,21 @@
               {id:49,name:'电石事业部'},
               {id:50,name:'电力事业部'},
               {id:48,name:'有机化工事业部'},
-              {id:32,name:'甲醇事业部'}
+              {id:32,name:'甲醇事业部'},
+              {id:10,name:'后勤中心'},
+              {id:41,name:'安全环保部'},
+              {id:46,name:'供销中心'},
+              {id:47,name:'技术中心'}
             ],
             workType: [
-                { id: 1, name: '动火作业' },
-                { id: 2, name: '受限空间作业' },
-                { id: 3, name: '吊装作业' },
-                { id: 4, name: '动土作业' },
-                { id: 5, name: '断路作业' },
-                { id: 6, name: '高处作业' },
-                { id: 7, name: '临时用电作业' },
-                { id: 8, name: '盲板抽堵作业' }
+              { id: 1, name: '动火作业' },
+              { id: 2, name: '受限空间作业' },
+              { id: 3, name: '吊装作业' },
+              { id: 4, name: '动土作业' },
+              { id: 5, name: '断路作业' },
+              { id: 6, name: '高处作业' },
+              { id: 7, name: '临时用电作业' },
+              { id: 8, name: '盲板抽堵作业' }
             ],
           statusList: [
             {
@@ -448,7 +481,26 @@
           ],
           timeRange: []
         });
-
+      const fireRef = ref()
+      const plateRef = ref()
+      const spaceRef = ref()
+      const hoistRef = ref()
+      const groundRef = ref()
+      const brokenRef = ref()
+      const heightRef = ref()
+      const powerRef = ref()
+      const openRef = ref()
+      // 页面载入时执行方法
+      onMounted(() => {
+        getListByPage();
+        getAllDepartment()
+        spWorker()
+        getOpList()
+        getAll()
+        getAllDevice()
+        getAllRisks()
+        getOtherWork()
+      });
       const giveTime = () => {
         if (state.timeRange && state.timeRange !== null) {
           state.searPara.startTime = state.timeRange[0];
@@ -458,6 +510,36 @@
           state.searPara.endTime = '';
         }
       };
+
+      const continueRecord = (row)=>{
+        if(row.workType == 1){
+          fireRef.value.openDialog(row,'continue')
+        }
+        if(row.workType == 2){
+          spaceRef.value.openDialog(row,'continue')
+        }
+        if(row.workType == 3){
+          hoistRef.value.openDialog(row,'continue')
+        }
+        if(row.workType == 4){
+          groundRef.value.openDialog(row,'continue')
+        }
+        if(row.workType == 5){
+          brokenRef.value.openDialog(row,'continue')
+        }
+        if(row.workType == 6){
+          heightRef.value.openDialog(row,'continue')
+        }
+        if(row.workType == 7){
+          powerRef.value.openDialog(row,'continue')
+        }
+        if(row.workType == 8){
+          plateRef.value.openDialog(row,'continue')
+        }
+        if(row.workType == 9){
+          openRef.value.openDialog(row,'continue')
+        }
+      }
 
         // 刷新
         const reLoadData = async () => {
@@ -480,6 +562,8 @@
             if (res.data.code === '200') {
                 state.departmentList = JSON.parse(JSON.stringify(res.data.data))
                 recursion(state.departmentList);
+                state.lists.departList = state.departmentList
+                state.lists.departList2 = JSON.parse(JSON.stringify(res.data.data))[0].children[0].children.filter(i=>i.depId == 32 || i.depId == 48 || i.depId == 49 || i.depId == 50 || i.depId == 10 || i.depId == 41 || i.depId == 46 || i.depId == 47)
             } else {
                 ElMessage({
                     type: 'warning',
@@ -538,6 +622,107 @@
                 return nameList.join();
             }
         };
+
+      const spWorker = async ()=>{
+        for(let id of ['18','19']){
+          const res = await workApplyApi().getSpList({roleId: id})
+          if(id == '18'){
+            if (res.data.code === '200') {
+              state.lists.spList.jhList = JSON.parse(JSON.stringify(res.data.data))
+            } else {
+              ElMessage({
+                type: 'warning',
+                message: res.data.msg
+              });
+            }
+          }
+          if(id == '19'){
+            if (res.data.code === '200') {
+              state.lists.spList.sfList = JSON.parse(JSON.stringify(res.data.data))
+            } else {
+              ElMessage({
+                type: 'warning',
+                message: res.data.msg
+              });
+            }
+          }
+        }
+      }
+
+      const getOpList = async()=>{
+        const res = await workApplyApi().getOpList()
+        if(res.data.code == '200'){
+          if(res.data.data && res.data.data.length>0){
+            state.lists.spList.opList = JSON.parse(JSON.stringify(res.data.data)).map(i=>{
+              if(i.certList && i.certList.length>0){
+                i.certList = i.certList.map(item=>{
+                  item['realName'] = i.realName + '(' + item.certTypeName +':'+ item.certExpiredAt + ')'
+                  item['uid'] = item.certNo + ',' + item.certExpiredAt
+                  return item
+                })
+              }
+              return i
+            })
+          }
+        }else{
+          ElMessage({
+            type: 'warning',
+            message: res.data.msg
+          })
+        }
+      }
+
+      // 获取用户列表
+      const getAll = async ()=>{
+        const res = await workApplyApi().getAllUsers()
+        if (res.data.code === '200') {
+          state.lists.workerList = JSON.parse(JSON.stringify(res.data.data))
+        } else {
+          ElMessage({
+            type: 'warning',
+            message: res.data.msg
+          });
+        }
+      };
+
+      // 获取设备列表
+      const getAllDevice = async ()=>{
+        const res = await workApplyApi().getAllDevices()
+        if (res.data.code === '200') {
+          state.lists.deviceList = JSON.parse(JSON.stringify(res.data.data))
+        } else {
+          ElMessage({
+            type: 'warning',
+            message: res.data.msg
+          });
+        }
+      }
+
+      // 获取设备列表
+      const getAllRisks = async ()=>{
+        const res = await workApplyApi().getAllRiskIdentity()
+        if (res.data.code === '200') {
+          // state.allDevices = JSON.parse(JSON.stringify(res.data.data))
+          state.lists.riskList = JSON.parse(JSON.stringify(res.data.data))
+        } else {
+          ElMessage({
+            type: 'warning',
+            message: res.data.msg
+          });
+        }
+      }
+
+      const getOtherWork = async () => {
+        let res = await workApplyApi().getOtherWork({pageSize: 999, pageIndex: 1, searchParams: {workPermitNo: '', workType: null}})
+        if (res.data.code === '200') {
+          state.lists.otherWorks = JSON.parse(JSON.stringify(res.data.data))
+        } else {
+          ElMessage({
+            type: 'warning',
+            message: res.data.msg
+          });
+        }
+      };
 
         // 关键词查询记录
         const searchRecord = async () => {
@@ -610,7 +795,6 @@
         // 导出方法
         const downLoadRecord = (row: any) => {
             // let res = await workApplyApi().postPrinting(data);
-            console.log(row,555)
             axios.post(import.meta.env.VITE_API_URL + `/specialwork9step/work/down/load/pdf`,{ id: row.id},{headers:{'Content-Type': 'application/json','Authorization': `${Cookies.get('token')}`,'uid':`${Cookies.get('uid')}`},responseType: 'blob'}).then(res=>{
                 if (res) {
                     const link = document.createElement('a')
@@ -654,12 +838,6 @@
             await initBackEndControlRoutes();
         };
 
-        // 页面载入时执行方法
-        onMounted(() => {
-            getListByPage();
-            getAllDepartment()
-        });
-
         return {
             View,
             Edit,
@@ -668,6 +846,16 @@
             Plus,
             Finished,
             Download,
+            fireRef,
+            plateRef,
+            spaceRef,
+            hoistRef,
+            groundRef,
+            brokenRef,
+            heightRef,
+            powerRef,
+            openRef,
+          continueRecord,
             giveTime,
             reLoadData,
             toApply,

--
Gitblit v1.9.2