From d6693c12019548a91d6607fbd633d201125061cb Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期六, 20 八月 2022 15:56:59 +0800
Subject: [PATCH] Default Changelist

---
 src/views/specialWorkSystem/workTicket/myJobApply/index.vue |  204 +++++++++++++++++++++++++++------------------------
 1 files changed, 108 insertions(+), 96 deletions(-)

diff --git a/src/views/specialWorkSystem/workTicket/myJobApply/index.vue b/src/views/specialWorkSystem/workTicket/myJobApply/index.vue
index 5dfe941..c1cb634 100644
--- a/src/views/specialWorkSystem/workTicket/myJobApply/index.vue
+++ b/src/views/specialWorkSystem/workTicket/myJobApply/index.vue
@@ -1,14 +1,21 @@
 <template>
     <div class="home-container">
-        <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">
-            <el-tab-pane label="申请中" name="1">
+<!--        <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick">-->
+<!--            <el-tab-pane label="申请中" name="1">-->
                 <div style="height: 100%">
                     <el-row class="homeCard">
                         <el-col :span="8">
                             <div class="grid-content topInfo">
-                                <el-input v-model="searchWord" placeholder="作业证名称"></el-input>
-                                <el-button type="primary">查询</el-button>
-                                <el-button plain>重置</el-button>
+                                <el-select v-model="searchWord">
+                                    <el-option
+                                            v-for="item in workType"
+                                            :key="item.id"
+                                            :label="item.name"
+                                            :value="item.id"
+                                    />
+                                </el-select>
+                                <el-button type="primary" @click="searchRecord">查询</el-button>
+                                <el-button plain @click="clearSearch">重置</el-button>
                             </div>
                         </el-col>
                     </el-row>
@@ -49,54 +56,22 @@
                         </div>
                     </div>
                 </div>
-                <el-dialog v-model="dialogDetails" title="作业申请详情">
-                    <el-form :model="details" label-width="120px">
-                        <el-form-item label="作业申请单号">
-                            <el-input v-model="details.workPermitNo" readonly />
-                        </el-form-item>
-                        <el-form-item label="申请人">
-                            <el-input v-model="details.applyUname" readonly />
-                        </el-form-item>
-                        <el-form-item label="部门名称">
-                            <el-input v-model="details.depName" readonly />
-                        </el-form-item>
-                        <el-form-item label="作业人">
-                            <el-input v-model="details.operators" readonly type="textarea" />
-                        </el-form-item>
-                        <el-form-item label="作业类型">
-                            <el-input v-model="details.workTypeDesc" readonly />
-                        </el-form-item>
-                        <el-form-item label="作业等级">
-                            <el-input v-model="details.workLevelDesc" readonly />
-                        </el-form-item>
-                        <el-form-item label="作业内容">
-                            <el-input v-model="details.workContent" readonly type="textarea" />
-                        </el-form-item>
-                        <el-form-item label="作业地址">
-                            <el-input v-model="details.workLocation" readonly type="textarea" />
-                        </el-form-item>
-                        <el-form-item label="作业方式">
-                            <el-input v-model="details.workDetail.hotMethod" readonly type="textarea" />
-                        </el-form-item>
-                        <el-form-item label="关联其他作业">
-                            <el-input v-model="details.workDetail.otherSpecialWork" readonly type="textarea" />
-                        </el-form-item>
-                        <el-form-item label="期望开始时间">
-                            <el-input v-model="details.expStartTime" readonly />
-                        </el-form-item>
-                        <el-form-item label="期望结束时间">
-                            <el-input v-model="details.expEndTime" readonly />
-                        </el-form-item>
-                        <el-form-item label="申请时间">
-                            <el-input v-model="details.applyTime" readonly />
-                        </el-form-item>
-                        <el-form-item label="当前状态">
-                            <el-input v-model="details.statusDesc" readonly />
-                        </el-form-item>
-                        <el-form-item>
-                            <el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
-                        </el-form-item>
-                    </el-form>
+                <el-dialog v-model="dialogDetails" title="作业申请详情" center>
+                    <fire v-if="dialogType == 1" :details = details></fire>
+                    <space v-if="dialogType == 2" :details = details></space>
+                    <hoist v-if="dialogType == 3" :details = details></hoist>
+                    <ground v-if="dialogType == 4" :details = details></ground>
+                    <broken v-if="dialogType == 5" :details = details></broken>
+                    <height v-if="dialogType == 6" :details = details></height>
+                    <power v-if="dialogType == 7" :details = details></power>
+                    <plate v-if="dialogType == 8" :details = details></plate>
+                    <template #footer>
+                      <span class="dialog-footer">
+                        <el-button type="primary" @click="dialogDetails = false"
+                        >确认</el-button
+                        >
+                      </span>
+                    </template>
                 </el-dialog>
                 <el-dialog v-model="dialogStatus" title="作业申请进度">
                     <el-form v-if="approveInfo.operators.length > 0" style="margin-bottom: 40px">
@@ -171,46 +146,46 @@
                         </span>
                     </template>
                 </el-dialog>
-            </el-tab-pane>
-            <el-tab-pane label="已通过" name="2">
-                <div style="height: 100%">
-                    <el-row class="homeCard">
-                        <el-col :span="8">
-                            <div class="grid-content topInfo">
-                                <el-input v-model="searchWord" placeholder="作业证名称"></el-input>
-                                <el-button type="primary">查询</el-button>
-                                <el-button plain>重置</el-button>
-                            </div>
-                        </el-col>
-                    </el-row>
-                    <div class="homeCard">
-                        <div class="main-card">
-                            <el-table ref="multipleTableRef" :data="passedData" style="width: 100%" height="calc(100% - 48px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">
-                                <el-table-column type="selection" width="55" />
-                                <el-table-column type="index" label="编号" width="200" />
-                                <el-table-column property="level" label="作业证等级" width="180" sortable />
-                                <el-table-column property="applyDate" label="申请日期" sortable />
-                                <el-table-column property="name" label="申请人" width="180" />
-                                <el-table-column property="department" label="申请部门" width="180" />
-                                <el-table-column label="申请状态" width="180">
-                                    <template #default="scope">
-                                        <el-tag type="success">{{ scope.row.status }}</el-tag>
-                                    </template>
-                                </el-table-column>
-                            </el-table>
-                            <div class="pageBtn">
-                                <el-pagination v-model:currentPage="pageIndex2" v-model:page-size="pageSize2" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize2" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" />
-                            </div>
-                        </div>
-                    </div>
-                </div>
-            </el-tab-pane>
-        </el-tabs>
+<!--            </el-tab-pane>-->
+<!--            <el-tab-pane label="已通过" name="2">-->
+<!--                <div style="height: 100%">-->
+<!--                    <el-row class="homeCard">-->
+<!--                        <el-col :span="8">-->
+<!--                            <div class="grid-content topInfo">-->
+<!--                                <el-input v-model="searchWord" placeholder="作业证名称"></el-input>-->
+<!--                                <el-button type="primary">查询</el-button>-->
+<!--                                <el-button plain>重置</el-button>-->
+<!--                            </div>-->
+<!--                        </el-col>-->
+<!--                    </el-row>-->
+<!--                    <div class="homeCard">-->
+<!--                        <div class="main-card">-->
+<!--                            <el-table ref="multipleTableRef" :data="passedData" style="width: 100%" height="calc(100% - 48px)" :header-cell-style="{ background: '#fafafa' }" @selection-change="handleSelectionChange">-->
+<!--                                <el-table-column type="selection" width="55" />-->
+<!--                                <el-table-column type="index" label="编号" width="200" />-->
+<!--                                <el-table-column property="level" label="作业证等级" width="180" sortable />-->
+<!--                                <el-table-column property="applyDate" label="申请日期" sortable />-->
+<!--                                <el-table-column property="name" label="申请人" width="180" />-->
+<!--                                <el-table-column property="department" label="申请部门" width="180" />-->
+<!--                                <el-table-column label="申请状态" width="180">-->
+<!--                                    <template #default="scope">-->
+<!--                                        <el-tag type="success">{{ scope.row.status }}</el-tag>-->
+<!--                                    </template>-->
+<!--                                </el-table-column>-->
+<!--                            </el-table>-->
+<!--                            <div class="pageBtn">-->
+<!--                                <el-pagination v-model:currentPage="pageIndex2" v-model:page-size="pageSize2" :page-sizes="[10, 15]" small="false" background layout="total, sizes, prev, pager, next, jumper" :total="totalSize2" @size-change="handleSizeChange2" @current-change="handleCurrentChange2" />-->
+<!--                            </div>-->
+<!--                        </div>-->
+<!--                    </div>-->
+<!--                </div>-->
+<!--            </el-tab-pane>-->
+<!--        </el-tabs>-->
     </div>
 </template>
 
 <script lang="ts">
-import { toRefs, reactive, defineComponent, ref, onMounted } from 'vue';
+import {toRefs, reactive, defineComponent, ref, onMounted, defineAsyncComponent} from 'vue';
 import { storeToRefs } from 'pinia';
 import { initBackEndControlRoutes } from '/@/router/backEnd';
 import { useUserInfo } from '/@/stores/userInfo';
@@ -243,6 +218,8 @@
     details: {};
     statusInfo: {};
     workType: Array<type>;
+    depType: Array<type>;
+    dialogType: number
 }
 interface type {
     id: number;
@@ -251,7 +228,16 @@
 
 export default defineComponent({
     name: 'myApply',
-    components: {},
+    components: {
+        fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/fireLog.vue')),
+        space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/spaceLog.vue')),
+        hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/hoistLog.vue')),
+        ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/groundLog.vue')),
+        broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/brokenLog.vue')),
+        height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/heightLog.vue')),
+        power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/powerLog.vue')),
+        plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/myJobApply/components/plateLog.vue'))
+    },
     setup() {
         const userInfo = useUserInfo();
         const { userInfos } = storeToRefs(userInfo);
@@ -260,6 +246,7 @@
             pageIndex1: 1,
             pageSize1: 10,
             totalSize1: 0,
+            dialogType: null,
             activeName: '1',
             chosenIndex: null,
             searchWord: '',
@@ -287,6 +274,12 @@
                 { id: 6, name: '高处作业' },
                 { id: 7, name: '临时用电作业' },
                 { id: 8, name: '盲板抽堵作业' }
+            ],
+            depType: [
+                { id: 1, name: '部门一' },
+                { id: 2, name: '部门二' },
+                { id: 3, name: '部门三' },
+                { id: 4, name: '部门四' }
             ]
         });
         interface User {
@@ -313,7 +306,7 @@
 
         // 分页获取工作时间组列表
         const getListByPage = async () => {
-            const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { name: state.searchWord } };
+            const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord } };
             let res = await workApplyApi().getApplyListtPage(data);
             if (res.data.code === '200') {
                 state.applyData = JSON.parse(JSON.stringify(res.data.data));
@@ -326,7 +319,7 @@
                     return item;
                 });
                 state.totalSize1 = res.data.total;
-                console.log('0212121');
+                console.log( state.applyData,'0212121');
             } else {
                 ElMessage({
                     type: 'warning',
@@ -363,7 +356,7 @@
                 getListByPage();
             }
         };
-
+        // 重置搜索
         const clearSearch = async () => {
             state.searchWord = '';
             getListByPage();
@@ -428,10 +421,29 @@
 
         // 查看记录
         const viewRecord = (row: any) => {
-            row.workDetail.otherSpecialWork = JSON.parse(JSON.stringify(row.workDetail.otherSpecialWork.split(','))).map((item: Array<string>) => {
-                return state.workType.find((i: { id: number }) => i.id === Number(item))?.name;
-            });
+            state.dialogType = row.workType
+            console.log(state.dialogType,'工作类型')
             state.details = JSON.parse(JSON.stringify(row));
+            if(state.details.workDetail.otherSpecialWork == '' || !state.details.workDetail.otherSpecialWork){
+                state.details.workDetail.otherSpecialWork=[]
+            }
+            else {
+                console.log(state.details.workDetail.otherSpecialWork,'split')
+                const a = state.details.workDetail.otherSpecialWork
+                state.details.workDetail.otherSpecialWork = a.split(',').map((item) => {
+                    return state.workType.find((i: { id: number }) => i.id === Number(item))?.name;
+                });
+            }
+            if(state.details.workDetail.involvedDepIds == '' || !state.details.workDetail.involvedDepIds){
+                state.details.workDetail.involvedDepIds=[]
+            }
+            else {
+                const a = state.details.workDetail.involvedDepIds
+                state.details.workDetail.involvedDepIds = a.split(',').map((item) => {
+                    return state.depType.find((i: { id: number }) => i.id === Number(item))?.name;
+                });
+            }
+            console.log(state.details,'details')
             state.dialogDetails = true;
         };
 

--
Gitblit v1.9.2