From 83bbceeca584500a9902ce1677a3337990d9157a Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: Fri, 26 May 2023 17:00:08 +0800
Subject: [PATCH] 新特殊作业
---
src/views/newSpecialWorkSystem/workTicket/wdsq/index.vue | 173 +++++++++++++++++++++++++++++++++++----------------------
1 files changed, 107 insertions(+), 66 deletions(-)
diff --git a/src/views/newSpecialWorkSystem/workTicket/wdsq/index.vue b/src/views/newSpecialWorkSystem/workTicket/wdsq/index.vue
index 340b902..9863772 100644
--- a/src/views/newSpecialWorkSystem/workTicket/wdsq/index.vue
+++ b/src/views/newSpecialWorkSystem/workTicket/wdsq/index.vue
@@ -32,29 +32,55 @@
<el-button type="primary" :icon="Refresh" size="default" @click="reLoadData()" />
</el-row>
<el-table ref="multipleTableRef" :data="applyData" style="width: 100%" height="calc(100% - 100px)" :header-cell-style="{ background: '#fafafa' }">
- <el-table-column property="workPermitNo" label="作业申请单号" width="180" />
- <el-table-column property="applyUname" label="申请人" />
- <el-table-column property="depName" label="部门名称" />
- <el-table-column property="operators" label="作业人" />
- <el-table-column property="workTypeDesc" label="作业类型" />
- <el-table-column property="workLevelDesc" label="作业等级" />
- <el-table-column property="materialStatus" label="物资状态" align="center" width="180">
+ <el-table-column property="seDepName" label="事业部" align="center"/>
+ <el-table-column property="applyDepName" label="作业所在车间" align="center"/>
+ <el-table-column property="workContent" label="作业内容" align="center"/>
+ <el-table-column property="workTypeDesc" label="作业类型" align="center"/>
+ <el-table-column property="workDepName" label="作业单位" align="center"/>
+ <el-table-column property="headList" label="负责人及电话" align="center">
<template #default="scope">
- <span>{{ scope.row.materialStatus==0?'未关联物资':(scope.row.materialStatus==1?'必选物资配备不足':(scope.row.materialStatus==2?'必选物资配备齐全':(scope.row.materialStatus==3?'物资配置专业':(scope.row.materialStatus==4?'物资配置高端':'-')))) }}</span>
+ {{scope.row.headList.map(i=>{return i.userName + '(' + i.phone+ ')' }).join(',')}}
</template>
</el-table-column>
- <el-table-column property="applyTime" label="申请时间" width="180" />
- <el-table-column label="申请状态" align="center" width="180">
+ <el-table-column property="operatorList" label="作业人及电话" align="center">
+ <template #default="scope">
+ {{scope.row.operatorList.map(i=>{return i.userName + '(' + i.phone+ ')' }).join(',')}}
+ </template>
+ </el-table-column>
+ <el-table-column property="guardianList" label="监护人及电话" align="center">
+ <template #default="scope">
+ {{scope.row.guardianList.map(i=>{return i.userName + '(' + i.phone+ ')' }).join(',')}}
+ </template>
+ </el-table-column>
+ <el-table-column property="expStartTime" label="作业开始时间" align="center"/>
+ <el-table-column property="expEndTime" label="预计完成时间" align="center"/>
+ <el-table-column label="执法仪编号" align="center">
+ <template #default="scope">
+ {{scope.row.workApprovalDeviceList.map(i=>i.deviceNo).join(',')}}
+ </template>
+ </el-table-column>
+ <el-table-column label="作业人数" align="center">
+ <template #default="scope">
+ {{scope.row.operatorList.length}}
+ </template>
+ </el-table-column>
+ <el-table-column label="监护人数" align="center">
+ <template #default="scope">
+ {{scope.row.guardianList.length}}
+ </template>
+ </el-table-column>
+ <el-table-column label="风险研判" align="center">
<template #default="scope">
- <el-tag :type="scope.row.status==2?'success':(scope.row.status==8||scope.row.status==9)?'warning':'danger'">{{ scope.row.statusDesc }}</el-tag>
+ <el-tag>{{ statusList.find(i=>i.value === scope.row.status)?.label }}</el-tag>
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" align="center" width="300">
<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 link type="success" size="small" :icon="Finished" @click="viewStatus(scope.row)">进度</el-button>
- <el-button link type="warning" size="small" :icon="Delete" @click="deleteRecordBtn(scope.row)">取消</el-button>
- <el-button :disabled="scope.row.status == 7 ? false : true" link type="primary" size="small" :icon="Download" @click="downLoadBtn(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 :disabled="scope.row.status == 7 ? false : true" link type="primary" size="small" :icon="Download" @click="downLoadBtn(scope.row)">导出作业票</el-button>-->
</template>
</el-table-column>
</el-table>
@@ -65,14 +91,15 @@
</div>
</div>
<el-dialog v-model="dialogDetails" title="作业申请详情" center>
- <fire v-if="dialogType == 1" :details = details></fire>
- <space v-else-if="dialogType == 2" :details = details></space>
- <hoist v-else-if="dialogType == 3" :details = details></hoist>
- <ground v-else-if="dialogType == 4" :details = details></ground>
- <broken v-else-if="dialogType == 5" :details = details></broken>
- <height v-else-if="dialogType == 6" :details = details></height>
- <power v-else-if="dialogType == 7" :details = details></power>
- <plate v-else :details = details></plate>
+<!-- <fire v-if="dialogType == 1" :details = details></fire>-->
+<!-- <space v-else-if="dialogType == 2" :details = details></space>-->
+<!-- <hoist v-else-if="dialogType == 3" :details = details></hoist>-->
+<!-- <ground v-else-if="dialogType == 4" :details = details></ground>-->
+<!-- <broken v-else-if="dialogType == 5" :details = details></broken>-->
+<!-- <height v-else-if="dialogType == 6" :details = details></height>-->
+<!-- <power v-else-if="dialogType == 7" :details = details></power>-->
+<!-- <plate v-else :details = details></plate>-->
+ <detail-log :type=dialogType :statusList=statusList :details = details></detail-log>
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="dialogDetails = false"
@@ -248,6 +275,7 @@
dialogType: number | null;
departmentList: Array<any>;
departmentRecursionList: Array<DepartmentState>;
+ statusList: Array<any>;
}
interface type {
id: number;
@@ -260,14 +288,15 @@
export default defineComponent({
name: 'myApply',
components: {
- fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/fireLog.vue')),
- space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/spaceLog.vue')),
- hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/hoistLog.vue')),
- ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/groundLog.vue')),
- broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/brokenLog.vue')),
- height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/heightLog.vue')),
- power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/powerLog.vue')),
- plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/plateLog.vue'))
+ // fire: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/fireLog.vue')),
+ // space: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/spaceLog.vue')),
+ // hoist: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/hoistLog.vue')),
+ // ground: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/groundLog.vue')),
+ // broken: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/brokenLog.vue')),
+ // height: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/heightLog.vue')),
+ // power: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/powerLog.vue')),
+ // plate: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/wdsq/components/plateLog.vue'))
+ detailLog: defineAsyncComponent(() => import('/@/views/newSpecialWorkSystem/workTicket/wdsq/components/detailLog.vue'))
},
setup() {
const userInfo = useUserInfo();
@@ -310,7 +339,53 @@
{ id: 6, name: '高处作业' },
{ id: 7, name: '临时用电作业' },
{ id: 8, name: '盲板抽堵作业' }
- ]
+ ],
+ statusList: [
+ {
+ value: -1,
+ label: '废止'
+ },
+ {
+ value: 0,
+ label: '风险研判中'
+ },
+ {
+ value: 1,
+ label: '票证办理中'
+ },
+ {
+ value: 2,
+ label: '安全措施确认中'
+ },
+ {
+ value: 3,
+ label: '培训交底中'
+ },
+ {
+ value: 4,
+ label: '气体分析中'
+ },
+ {
+ value: 5,
+ label: '作业开始'
+ },
+ {
+ value: 6,
+ label: '作业监护'
+ },
+ {
+ value: 7,
+ label: '作业结束'
+ },
+ {
+ value: 8,
+ label: '作业验收'
+ },
+ {
+ value: 9,
+ label: '安全措施确认,培训交底中'
+ }
+ ]
});
interface User {
name: string;
@@ -361,10 +436,9 @@
// 分页获取
const getListByPage = async () => {
const data = { pageSize: state.pageSize1, pageIndex: state.pageIndex1, searchParams: { workType: state.searchWord } };
- let res = await workApplyApi().getApplyListPage(data);
+ let res = await workApplyApi().getNewApplyListPage(data);
if (res.data.code === '200') {
state.applyData = JSON.parse(JSON.stringify(res.data.data));
- console.log(state.applyData,'applyData')
state.applyData = state.applyData.map((item) => {
if (item.operators == null || item.operators == []) {
item.operators = [];
@@ -511,39 +585,6 @@
const viewRecord = (row: any) => {
state.dialogType = row.workType
state.details = JSON.parse(JSON.stringify(row));
- if(state.details.workDetail.otherSpecialWork == '' || !state.details.workDetail.otherSpecialWork){
- state.details.workDetail.otherSpecialWork=[]
- }
- else {
- 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.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(item))?.depName;
- });
- }
- if(state.details.workDetail.csDepId){
- state.details.workDetail.csDepId = state.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(state.details.workDetail.csDepId))?.depName;
- }
- if(state.details.workDetail.operationDepId){
- state.details.workDetail.operationDepId = state.departmentRecursionList.find((i: { depId: number }) => i.depId === Number(state.details.workDetail.operationDepId))?.depName;
- }
- if(state.details.workDetail.gbPath){
- state.details.workDetail.gbPath = state.details.workDetail.gbPath.split(',')
- }
- if(state.details.workDetail.bcPath){
- state.details.workDetail.bcPath = state.details.workDetail.bcPath.split(',')
- }
- if(state.details.workDetail.bpLocationMapPath){
- state.details.workDetail.bpLocationMapPath = state.details.workDetail.bpLocationMapPath.split(',')
- }
state.dialogDetails = true;
};
--
Gitblit v1.9.2