From 5661eb36d321991a5b17c55178b7044c9c899731 Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期五, 09 九月 2022 15:39:20 +0800
Subject: [PATCH] Default Changelist

---
 src/layout/navBars/breadcrumb/user.vue                                |    1 
 src/utils/request.ts                                                  |    1 
 src/views/specialWorkSystem/workAlert/alertRecord/index.vue           |  180 +++-------
 src/api/specialWorkSystem/workProcess/index.ts                        |   59 +++
 src/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue |  225 ++++++++++++++
 src/views/specialWorkSystem/workProcess/workCheck/index.vue           |  240 +++++++-------
 src/views/specialWorkSystem/workProcess/gasCheck/index.vue            |  252 +++++++--------
 7 files changed, 569 insertions(+), 389 deletions(-)

diff --git a/src/api/specialWorkSystem/workProcess/index.ts b/src/api/specialWorkSystem/workProcess/index.ts
new file mode 100644
index 0000000..0cd1ff0
--- /dev/null
+++ b/src/api/specialWorkSystem/workProcess/index.ts
@@ -0,0 +1,59 @@
+import request from '/@/utils/request';
+
+export function workProcessApi() {
+    return {
+        // 分页获取检测列表
+        getDetectionListPage: (data: object) => {
+            return request({
+                url: import.meta.env.VITE_API_URL + `/work/process/detection/page/list`,
+                method: 'post',
+                data: data
+            });
+        },
+
+        // 分页获取检查列表
+        getCheckListPage: (data: object) => {
+            return request({
+                url: import.meta.env.VITE_API_URL + `/work/process/check/page/list`,
+                method: 'post',
+                data: data
+            });
+        },
+
+        // 检测上报
+        postDetectionReport: (data: object) => {
+            return request({
+                url: import.meta.env.VITE_API_URL + `/work/process/detection/report`,
+                method: 'post',
+                data: data
+            });
+        },
+
+        // 检查上报
+        postCheckReport: (data: object) => {
+            return request({
+                url: import.meta.env.VITE_API_URL + `/work/process/check/report`,
+                method: 'post',
+                data: data
+            });
+        },
+
+        // 获取可上报作业列表
+        postReportList: (data: object) => {
+            return request({
+                url: import.meta.env.VITE_API_URL + `/work/process/workApply/list`,
+                method: 'post',
+                data: data
+            });
+        },
+
+        // 获取预警记录
+        postAlertList: (data: object) => {
+            return request({
+                url: import.meta.env.VITE_API_URL + `/work/process/warning/page/list`,
+                method: 'post',
+                data: data
+            });
+        },
+    };
+}
diff --git a/src/layout/navBars/breadcrumb/user.vue b/src/layout/navBars/breadcrumb/user.vue
index 36efe42..993fbd9 100644
--- a/src/layout/navBars/breadcrumb/user.vue
+++ b/src/layout/navBars/breadcrumb/user.vue
@@ -264,7 +264,6 @@
         };
         const backToMenu = () => {
             router.push({ path: 'newMenu' }).then(()=>{
-                debugger
                 routeList.routesList.value = []
                 console.log(routeList);
             });
diff --git a/src/utils/request.ts b/src/utils/request.ts
index 712c188..05e9b36 100644
--- a/src/utils/request.ts
+++ b/src/utils/request.ts
@@ -46,7 +46,6 @@
         // };
         return JSONbig.parse(data);
         } catch (err) {
-            console.log(err);
             // 转换失败返回一个空对象
         return data
         }
diff --git a/src/views/specialWorkSystem/workAlert/alertRecord/index.vue b/src/views/specialWorkSystem/workAlert/alertRecord/index.vue
index 7ce10ae..d941512 100644
--- a/src/views/specialWorkSystem/workAlert/alertRecord/index.vue
+++ b/src/views/specialWorkSystem/workAlert/alertRecord/index.vue
@@ -24,7 +24,7 @@
 				<el-col :span="6" style="display:flex;align-items: center">
 					<span style="white-space: nowrap">预警类型:</span>
 					<div class="grid-content topInfo">
-						<el-select v-model="searchAlert" placeholder="请选择预警类型">
+						<el-select v-model="warningType" placeholder="请选择预警类型">
 							<el-option
 									v-for="item in alertTypeList"
 									:key="item.id"
@@ -39,12 +39,12 @@
 			</el-row>
 			<div class="homeCard">
 				<div class="main-card">
-<!--					<el-row class="cardTop">-->
-<!--						<el-col :span="12" class="mainCardBtn">-->
+					<el-row class="cardTop">
+						<el-col :span="12" class="mainCardBtn">
 <!--							<el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord = true">新增</el-button>-->
-<!--						</el-col>-->
-<!--						<el-button type="primary" :icon="Refresh" size="default"/>-->
-<!--					</el-row>-->
+						</el-col>
+						<el-button type="primary" :icon="Refresh" size="default" @click="reLoadData"/>
+					</el-row>
 					<el-table
 							ref="multipleTableRef"
 							:data="tableData"
@@ -52,14 +52,14 @@
 							height="calc(100% - 48px)"
 							:header-cell-style="{background: '#fafafa'}"
 					>
-						<el-table-column type="index" label="序号" width="200"/>
-						<el-table-column property="id" label="作业证编号" width="200"/>
-						<el-table-column property="workType" label="作业类型" width="200"/>
-						<el-table-column property="alertInfo" label="预警信息"/>
-						<el-table-column property="alertType" label="预警类型"/>
-						<el-table-column property="desc" label="描述" width="200"/>
-						<el-table-column property="name" label="上报人"/>
-						<el-table-column property="updateTime" label="上报时间"/>
+						<el-table-column type="index" label="序号" width="80"/>
+						<el-table-column property="workPermitNo" label="作业证编号"/>
+						<el-table-column property="workTypeDesc" label="作业类型"/>
+						<el-table-column property="warningContent" show-overflow-tooltip label="预警信息"/>
+						<el-table-column property="warningTypeDesc" label="预警类型"/>
+						<el-table-column property="warningInfo" show-overflow-tooltip label="描述" width="200"/>
+						<el-table-column property="operatorUname" label="上报人"/>
+						<el-table-column property="operationTime" label="上报时间" width="180"/>
 						<el-table-column fixed="right" label="操作" align="center" width="250">
 							<template #default="scope">
 								<el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
@@ -74,7 +74,7 @@
 								small=false
 								background
 								layout="total, sizes, prev, pager, next, jumper"
-								:total="100"
+								:total="totalSize"
 								@size-change="handleSizeChange"
 								@current-change="handleCurrentChange"
 						/>
@@ -85,25 +85,28 @@
 		<el-dialog v-model="dialogDetails" title="作业预警记录">
 			<el-form :model="details" label-width="120px">
 				<el-form-item label="作业证编号">
-					<el-input v-model="details.id" readonly/>
+					<el-input v-model="details.workPermitNo" readonly/>
 				</el-form-item>
 				<el-form-item label="作业类型">
-					<el-input v-model="details.workType" readonly/>
+					<el-input v-model="details.workTypeDesc" readonly/>
 				</el-form-item>
 				<el-form-item label="预警信息">
-					<el-input v-model="details.alertInfo" readonly/>
+					<el-input v-model="details.warningContent" readonly/>
 				</el-form-item>
 				<el-form-item label="预警类型">
-					<el-input v-model="details.alertType" readonly/>
+					<el-input v-model="details.warningTypeDesc" readonly/>
+				</el-form-item>
+				<el-form-item label="图片" v-if="details.imagePaths && details.imagePaths.length>0">
+					<el-image v-for="item in details.imagePaths" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" />
 				</el-form-item>
 				<el-form-item label="描述">
-					<el-input v-model="details.desc" type="textarea" readonly/>
+					<el-input v-model="details.warningInfo" type="textarea" readonly/>
 				</el-form-item>
 				<el-form-item label="上报人">
-					<el-input v-model="details.name" readonly/>
+					<el-input v-model="details.operatorUname" readonly/>
 				</el-form-item>
 				<el-form-item label="上报时间">
-					<el-input v-model="details.updateTime" readonly/>
+					<el-input v-model="details.operationTime" readonly/>
 				</el-form-item>
 				<el-form-item>
 					<el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
@@ -122,7 +125,7 @@
 	import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';
 	import { ElTable } from 'element-plus';
 	import { FormInstance, FormRules, ElMessage } from 'element-plus';
-	import { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage';
+	import { workProcessApi } from '/@/api/specialWorkSystem/workProcess';
 
 	// 定义接口来定义对象的类型
 	interface stateType {
@@ -130,7 +133,6 @@
 		departmentList: Array<any>;
 		department:string;
 		workerList: Array<string>;
-		casProps: {};
 		multipleSelection: Array<any>;
 		deleteArr: Array<any>;
 		dialogDetails: boolean;
@@ -142,12 +144,9 @@
 		chosenIndex: null | number;
 		deleteId: null | number;
 		searchWord: string;
-		searchType: number | null;
-		searchAlert: number | null;
+		searchType: string;
+		warningType: string;
 		totalSize: number;
-		addRecord: {
-
-		};
 		details: {
 
 		};
@@ -168,94 +167,47 @@
 				totalSize: 0,
 				chosenIndex: null,
 				searchWord: '',
-				searchType: null,
-				searchAlert: null,
-				tableData: [
-					{
-						id: 'GTXH-0000001',
-						workType: '动火作业',
-						alertInfo: '可燃气检查超标',
-						alertType: '气体分析',
-						desc: 'A车间动火作业过程检查',
-						name: '李羽飞',
-						updateTime: '2022-08-31 12:00:00'
-					},
-					{
-						id: 'GTXH-0000002',
-						workType: '动火作业',
-						alertInfo: '作业现场检查异常',
-						alertType: '作业检查',
-						desc: 'B车间动火作业过程气体检查',
-						name: '李羽飞',
-						updateTime: '2022-08-31 16:31:44'
-					},
-					{
-						id: 'GTXH-0000003',
-						workType: '动火作业',
-						alertInfo: '可燃气检查超标',
-						alertType: '气体分析',
-						desc: '',
-						name: '李羽飞',
-						updateTime: '2022-08-31 17:05:20'
-					}
-				],
+				searchType: '',
+				warningType: '',
+				tableData: [],
 				departmentList: [],
 				department: '',
 				workerList: [],
-				casProps: {
-					expandTrigger: 'hover',
-					emitPath: false,
-					value: 'depId',
-					label: 'depName'
-				},
 				multipleSelection: [],
 				dialogDetails: false,
 				dialogAddRecord: false,
 				deleteDialog: false,
 				deleteSetDialog: false,
-				addRecord: {
-
-				},
-				details: {
-
-				},
+				details: {},
 				deleteId: null,
 				deleteArr: [],
 				workTypeList: [
-					{ 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: '盲板抽堵作业' }
 				],
 				alertTypeList: [
-					{ id: 1, name: '气体分析' },
-					{ id: 2, name: '作业检查' }
+					{ id: '1', name: '检查' },
+					{ id: '2', name: '检测' }
 				]
 			});
 
 			// 页面载入时执行方法
 			onMounted(() => {
-				// getListByPage();
-				// getAllDepartment();
+				getListByPage();
 			});
 
 			// 分页获取班组管理列表
 			const getListByPage = async () => {
-				const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { groupName: state.searchWord, containGroupMemberEnable: true } };
-				let res = await teamManageApi().getRecordPage(data);
+				const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { workType: state.searchType, workPermitNo: state.searchWord,warningType: state.warningType } };
+				let res = await workProcessApi().postAlertList(data);
 				if (res.data.code === '200') {
-					state.tableData = res.data.data.map((item) => {
-						if (!item.groupMembers || item.groupMembers == null) {
-							item.groupMembers = [];
-						} else {
-							item.groupMembers = Array.from(item.groupMembers, ({ username }) => username);
-						}
-						return item;
-					});
+					state.tableData = JSON.parse(JSON.stringify(res.data.data))
 					state.totalSize = res.data.total;
 				} else {
 					ElMessage({
@@ -265,36 +217,9 @@
 				}
 			};
 
-			// 获取部门列表
-			const getAllDepartment = async () => {
-				let res = await teamManageApi().getAllDepartment();
-				if (res.data.code === '200') {
-					state.departmentList = res.data.data;
-				} else {
-					ElMessage({
-						type: 'warning',
-						message: res.data.msg
-					});
-				}
-			};
-
-			const handleChange = async (value) => {
-				state.addRecord.depId = value;
-				console.log(state.addRecord.department, 'de');
-				let res = await teamManageApi().getAllMember(value);
-				if (res.data.code === '200') {
-					state.workerList = res.data.data;
-				} else {
-					ElMessage({
-						type: 'warning',
-						message: res.data.msg
-					});
-				}
-			};
-
 			// 关键词查询记录
-			const searchRecord = async () => {
-				if (state.searchWord == '') {
+			const searchRecord = () => {
+				if (state.searchWord == ''&& state.searchType == ''&& state.warningType == '') {
 					ElMessage({
 						type: 'warning',
 						message: '请输入查询关键词'
@@ -304,9 +229,11 @@
 				}
 			};
 
-			const clearSearch = async () => {
-				state.searchWord = '';
-				getListByPage();
+			const clearSearch = () => {
+				state.searchWord = ''
+				state.searchType = ''
+				state.warningType = ''
+				getListByPage()
 			};
 
 			const handleSizeChange = (val: number) => {
@@ -343,7 +270,6 @@
 				Delete,
 				Refresh,
 				Plus,
-				handleChange,
 				searchRecord,
 				clearSearch,
 				viewRecord,
diff --git a/src/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue b/src/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue
new file mode 100644
index 0000000..9738408
--- /dev/null
+++ b/src/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue
@@ -0,0 +1,225 @@
+<template>
+	<div class="home-container">
+		<div style="height: 100%">
+		<el-row class="homeCard">
+			<el-col :span="8" style="display:flex;align-items: center">
+				<div class="grid-content topInfo">
+					<el-input v-model="searchNo" placeholder="请输入作业证编号"></el-input>
+				</div>
+			</el-col>
+			<el-col :span="8" style="display:flex;align-items: center">
+				<div class="grid-content topInfo">
+					<el-select v-model="workType" placeholder="请选择作业类型">
+						<el-option
+								v-for="item in workTypeList"
+								:key="item.value"
+								:label="item.label"
+								:value="item.value"
+						/>
+					</el-select>
+				</div>
+			</el-col>
+			<el-button type="primary" @click="searchRecord">查询</el-button>
+			<el-button plain @click="clearSearch">重置</el-button>
+		</el-row>
+			<div class="homeCard">
+				<div class="main-card">
+					<el-table
+							:data="tableData"
+							ref="singleTableRef"
+							highlight-current-row
+							style="width: 100%"
+							@current-change="handleCurrentChange"
+							:header-cell-style="{background: '#fafafa'}"
+					>
+						<el-table-column type="index" label="序号" width="80"/>
+						<el-table-column property="workPermitNo" label="作业证编号"/>
+						<el-table-column property="workTypeDesc" label="作业类型"/>
+					</el-table>
+<!--					<div class="pageBtn">-->
+<!--						<el-pagination-->
+<!--								v-model:currentPage="currentPage"-->
+<!--								v-model:page-size="pageSize"-->
+<!--								:page-sizes="[10, 15]"-->
+<!--								small=false-->
+<!--								background-->
+<!--								layout="total, sizes, prev, pager, next, jumper"-->
+<!--								:total="totalSize"-->
+<!--								@size-change="handleSizeChange"-->
+<!--								@current-change="handleCurrentChange"-->
+<!--						/>-->
+<!--					</div>-->
+				</div>
+			</div>
+		</div>
+	</div>
+</template>
+
+<script lang="ts">
+	import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted} from 'vue';
+	import { storeToRefs } from 'pinia';
+	import { initBackEndControlRoutes } from '/@/router/backEnd';
+	import {useUserInfo} from "/@/stores/userInfo";
+	import { Session } from '/@/utils/storage';
+	import { Search } from '@element-plus/icons-vue'
+	import { ElMessage,ElTable } from 'element-plus'
+	import type { FormInstance, FormRules } from 'element-plus'
+	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
+	import {workProcessApi} from "/@/api/specialWorkSystem/workProcess";
+
+
+	interface stateType {
+		workPermitNo: string
+		searchNo: string
+		workType: number
+	}
+	export default defineComponent({
+		name: 'permitNo',
+		components: {},
+		props:[],
+		setup() {
+			const userInfo = useUserInfo()
+			const { userInfos } = storeToRefs(userInfo);
+			const currentRow = ref()
+			const singleTableRef = ref<InstanceType<typeof ElTable>>()
+			const state  = reactive<stateType>({
+				workPermitNo: '',
+				searchNo: '',
+				workType: null,
+				tableData: [],
+				workTypeList: [
+					{
+						label: "动火作业",
+						value: 1
+					},
+					{
+						label: "受限空间作业",
+						value: 2
+					},
+					{
+						label: "吊装作业",
+						value: 3
+					},
+					{
+						label: "动土作业",
+						value: 4
+					},
+					{
+						label: "断路作业",
+						value: 5
+					},
+					{
+						label: "高处作业",
+						value: 6
+					},
+					{
+						label: "临时用电作业",
+						value: 7
+					},
+					{
+						label: "盲板抽堵作业",
+						value: 8
+					}
+				]
+			});
+			const handleCurrentChange = (val: User | undefined) => {
+				currentRow.value = val
+				state.workPermitNo = currentRow.value.workPermitNo
+			}
+			// 获取作业编号列表
+			const getAllReport = async (data)=>{
+				const res = await workProcessApi().postReportList({workPermitNo: state.searchNo,workType: state.workType})
+				if (res.data.code === '200') {
+					state.tableData = JSON.parse(JSON.stringify(res.data.data))
+				} else {
+					ElMessage({
+						type: 'warning',
+						message: res.data.msg
+					});
+				}
+			};
+			// 关键词查询记录
+			const searchRecord = async () => {
+				if (state.searchNo == ''&& state.workType == null) {
+					ElMessage({
+						type: 'warning',
+						message: '请输入查询关键词'
+					});
+				} else {
+					getAllReport();
+				}
+			};
+
+			const clearSearch = async () => {
+				state.searchNo = '';
+				state.workType = null;
+				getAllReport();
+			};
+			// 页面载入时执行方法
+			onMounted(() => {
+				getAllReport()
+			});
+
+			// 折线图
+			const renderMenu = async (value: string) => {
+				Session.set('projectId',value)
+				userInfos.value.projectId = value
+				await initBackEndControlRoutes();
+			};
+			return {
+				renderMenu,
+				currentRow,
+				singleTableRef,
+				searchRecord,
+				clearSearch,
+				handleCurrentChange,
+				Search,
+				...toRefs(state),
+			};
+		},
+	});
+</script>
+
+<style scoped lang="scss">
+	.home-container {
+		height: 100%;
+		overflow: hidden;
+		position: relative;
+		.homeCard{
+			width: 100%;
+			padding: 20px;
+			box-sizing: border-box;
+			background: #fff;
+			border-radius: 4px;
+			margin-bottom: 20px;
+		}
+		.applyBtn{
+			width: 100%;
+			background: #fff;
+			padding-top: 15px;
+			z-index: 5;
+			box-shadow: 0 -3px 8px rgba(150,150,150,.1);
+			display: flex;
+			align-items: center;
+			justify-content: center;
+		}
+		.el-row{
+			margin-bottom: 20px;
+		}
+		.el-row:last-child {
+			margin-bottom: 0;
+		}
+		.el-input{
+			width: 100% !important;
+		}
+		.el-date-editor::v-deep{
+			width: 100%;
+		}
+		.el-select{
+			width: 100%;
+		}
+		.el-cascader{
+			width: 100% !important;
+		}
+	}
+</style>
diff --git a/src/views/specialWorkSystem/workProcess/gasCheck/index.vue b/src/views/specialWorkSystem/workProcess/gasCheck/index.vue
index f8a0c36..0c7e59e 100644
--- a/src/views/specialWorkSystem/workProcess/gasCheck/index.vue
+++ b/src/views/specialWorkSystem/workProcess/gasCheck/index.vue
@@ -5,15 +5,15 @@
 				<el-col :span="6" style="display:flex;align-items: center">
 					<span style="white-space: nowrap">作业证编号:</span>
 					<div class="grid-content topInfo">
-						<el-input v-model="searchWord"></el-input>
+						<el-input v-model="workPermitNo" placeholder="请输入作业证编号"></el-input>
 					</div>
 				</el-col>
 				<el-col :span="6" style="display:flex;align-items: center">
 					<span style="white-space: nowrap">作业类型:</span>
 					<div class="grid-content topInfo">
-						<el-select v-model="searchType" placeholder="请选择作业类型">
+						<el-select v-model="workType" placeholder="请选择作业类型">
 							<el-option
-									v-for="item in workType"
+									v-for="item in workTypeList"
 									:key="item.id"
 									:label="item.name"
 									:value="item.id"
@@ -30,30 +30,29 @@
 						<el-col :span="12" class="mainCardBtn">
 							<el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord = true">新增</el-button>
 						</el-col>
-						<el-button type="primary" :icon="Refresh" size="default"/>
+						<el-button type="primary" :icon="Refresh" size="default" @click="reLoadData"/>
 					</el-row>
 					<el-table
-							ref="multipleTableRef"
 							:data="tableData"
 							style="width: 100%"
 							height="calc(100% - 100px)"
 							:header-cell-style="{background: '#fafafa'}"
 					>
-						<el-table-column type="index" label="序号" width="200"/>
-						<el-table-column property="id" label="作业证编号" width="200"/>
-						<el-table-column property="workType" label="作业类型" width="200"/>
-<!--						<el-table-column property="combustible" label="可燃气%"/>-->
-						<el-table-column property="combustible" label="可燃气%">
-							<template #default="scope">
-								<span :class="scope.row.combustible > 0 ? 'red': ''">{{ scope.row.combustible }}</span>
-							</template>
-						</el-table-column>
+						<el-table-column type="index" label="序号" width="80"/>
+						<el-table-column property="workPermitNo" label="作业证编号"/>
+						<el-table-column property="workTypeDesc" label="作业类型"/>
+						<el-table-column property="combustible" label="可燃气%"/>
+<!--						<el-table-column property="combustible" label="可燃气%">-->
+<!--							<template #default="scope">-->
+<!--								<span :class="scope.row.combustible > 0 ? 'red': ''">{{ scope.row.combustible }}</span>-->
+<!--							</template>-->
+<!--						</el-table-column>-->
 						<el-table-column property="oxygen" label="氧气%"/>
-						<el-table-column property="co" label="一氧化碳ppm"/>
-						<el-table-column property="hs" label="硫化氢ppm"/>
-						<el-table-column property="desc" label="描述" width="200"/>
-						<el-table-column property="name" label="分析人"/>
-						<el-table-column property="updateTime" label="分析时间"/>
+						<el-table-column property="carbonMonoxide" label="一氧化碳ppm"/>
+						<el-table-column property="hydrogenSulfide" label="硫化氢ppm"/>
+						<el-table-column property="info" label="描述" show-overflow-tooltip width="200"/>
+						<el-table-column property="operatorUname" label="分析人"/>
+						<el-table-column property="operationTime" label="分析时间" align="center" width="180"/>
 						<el-table-column fixed="right" label="操作" align="center" width="250">
 							<template #default="scope">
 								<el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
@@ -68,7 +67,7 @@
 								small=false
 								background
 								layout="total, sizes, prev, pager, next, jumper"
-								:total="100"
+								:total="totalSize"
 								@size-change="handleSizeChange"
 								@current-change="handleCurrentChange"
 						/>
@@ -79,10 +78,10 @@
 		<el-dialog v-model="dialogDetails" title="检测记录">
 			<el-form :model="details" label-width="120px">
 				<el-form-item label="作业证编号">
-					<el-input v-model="details.id" readonly/>
+					<el-input v-model="details.workPermitNo" readonly/>
 				</el-form-item>
 				<el-form-item label="作业类型">
-					<el-input v-model="details.workType" readonly/>
+					<el-input v-model="details.workTypeDesc" readonly/>
 				</el-form-item>
 				<el-form-item label="可燃气%">
 					<el-input v-model="details.combustible" readonly/>
@@ -91,38 +90,40 @@
 					<el-input v-model="details.oxygen" readonly/>
 				</el-form-item>
 				<el-form-item label="一氧化碳ppm">
-					<el-input v-model="details.co" readonly/>
+					<el-input v-model="details.carbonMonoxide" readonly/>
 				</el-form-item>
 				<el-form-item label="硫化氢ppm">
-					<el-input v-model="details.hs" readonly/>
+					<el-input v-model="details.hydrogenSulfide" readonly/>
 				</el-form-item>
 				<el-form-item label="描述">
-					<el-input v-model="details.desc" type="textarea" readonly/>
+					<el-input v-model="details.info" type="textarea" readonly/>
 				</el-form-item>
 				<el-form-item label="分析人">
-					<el-input v-model="details.name" readonly/>
+					<el-input v-model="details.operatorUname" readonly/>
 				</el-form-item>
 				<el-form-item label="分析时间">
-					<el-input v-model="details.updateTime" readonly/>
-				</el-form-item>
-				<el-form-item>
-					<el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
+					<el-input v-model="details.operationTime" readonly/>
 				</el-form-item>
 			</el-form>
+			<template #footer>
+			  <span class="dialog-footer">
+				<el-button type="primary" @click="dialogDetails = false">确认</el-button>
+			  </span>
+			</template>
 		</el-dialog>
 		<el-dialog v-model="dialogAddRecord" title="新增" @close="closeAdd" @open="openAdd">
 			<el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
-				<el-form-item label="作业证编号" prop="id">
-					<el-input v-model="addRecord.id">
+				<el-form-item label="作业证编号" prop="workPermitNo">
+					<el-input v-model="addRecord.workPermitNo" placeholder="作业编号须为已审批作业的编号,可点击右方按钮查询">
 						<template #append>
-							<el-button :icon="Search" />
+							<el-button :icon="Search" @click="dialogPermitNo = true"/>
 						</template>
 					</el-input>
 				</el-form-item>
-				<el-form-item label="作业类型" prop="groupMembers">
-					<el-select v-model="addRecord.groupMembers">
+				<el-form-item label="作业类型" prop="workType">
+					<el-select v-model="addRecord.workType">
 						<el-option
-								v-for="item in workType"
+								v-for="item in workTypeList"
 								:key="item.id"
 								:label="item.name"
 								:value="item.id"
@@ -135,34 +136,47 @@
 				<el-form-item label="氧气%" prop="oxygen">
 					<el-input v-model="addRecord.oxygen"/>
 				</el-form-item>
-				<el-form-item label="一氧化碳ppm" prop="combustible">
-					<el-input v-model="addRecord.co"/>
+				<el-form-item label="一氧化碳ppm" prop="carbonMonoxide">
+					<el-input v-model="addRecord.carbonMonoxide"/>
 				</el-form-item>
-				<el-form-item label="硫化氢ppm" prop="oxygen">
-					<el-input v-model="addRecord.hs"/>
+				<el-form-item label="硫化氢ppm" prop="hydrogenSulfide">
+					<el-input v-model="addRecord.hydrogenSulfide"/>
 				</el-form-item>
-				<el-form-item label="描述" prop="desc">
-					<el-input v-model="addRecord.desc" type="textarea"> </el-input>
-				</el-form-item>
-				<el-form-item>
-					<el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
-					<el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
+				<el-form-item label="描述" prop="info">
+					<el-input v-model="addRecord.info" type="textarea"> </el-input>
 				</el-form-item>
 			</el-form>
+			<template #footer>
+			  <span class="dialog-footer">
+				<el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
+				<el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
+			  </span>
+			</template>
+		</el-dialog>
+		<el-dialog v-model="dialogPermitNo" title="选择相应的作业编号">
+			<permit-no ref="permitNoInfo"></permit-no>
+			<template #footer>
+			  <span class="dialog-footer">
+				<el-button type="warning" @click="dialogPermitNo = false" size="default" plain>取消</el-button>
+				<el-button type="primary" @click="confirmPermitNo" size="default">确认</el-button>
+			  </span>
+			</template>
 		</el-dialog>
 	</div>
 </template>
 
 <script lang="ts">
-	import { toRefs, reactive, ref, onMounted } from 'vue';
+	import {toRefs, reactive, ref, onMounted, defineAsyncComponent} from 'vue';
 	import { storeToRefs } from 'pinia';
 	import { initBackEndControlRoutes } from '/@/router/backEnd';
 	import { useUserInfo } from '/@/stores/userInfo';
 	import { Session } from '/@/utils/storage';
 	import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';
-	import { ElTable } from 'element-plus';
-	import type { FormInstance, FormRules } from 'element-plus'
+	import { ElTable, ElMessage, ElMessageBox } from 'element-plus'
+	import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus'
 	import { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage';
+	import { workProcessApi } from '/@/api/specialWorkSystem/workProcess';
+	import {workApplyApi} from "/@/api/specialWorkSystem/workApply";
 
 	// 定义接口来定义对象的类型
 	interface stateType {
@@ -175,14 +189,15 @@
 		deleteArr: Array<any>;
 		dialogDetails: boolean;
 		dialogAddRecord: boolean;
+		dialogPermitNo: boolean;
 		deleteDialog: boolean;
 		deleteSetDialog: boolean;
 		pageIndex: number;
 		pageSize: number;
 		chosenIndex: null | number;
 		deleteId: null | number;
-		searchWord: string;
-		searchType: number | null;
+		workPermitNo: string;
+		workType: number | null;
 		totalSize: number;
 		addRecord: {
 
@@ -190,58 +205,26 @@
 		details: {
 
 		};
-		workType: Array<any>
+		workTypeList: Array<any>
 	}
 
 	export default {
 		name: 'gasCheck',
-		components: {},
+		components: {
+			permitNo: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue'))
+		},
 		setup() {
 			const userInfo = useUserInfo();
 			const { userInfos } = storeToRefs(userInfo);
-
+			const permitNoInfo = ref()
 			const state = reactive<stateType>({
 				pageIndex: 1,
 				pageSize: 10,
 				totalSize: 0,
 				chosenIndex: null,
-				searchWord: '',
-				searchType: null,
-				tableData: [
-					{
-						id: 'GTXH-0000001',
-						workType: '动火作业',
-						combustible: 5,
-						oxygen: 20,
-						co: 0,
-						hs: 0,
-						desc: 'A车间动火作业过程气体检测异常',
-						name: '李羽飞',
-						updateTime: '2022-08-32 12:00:00'
-					},
-					{
-						id: 'GTXH-0000002',
-						workType: '动火作业',
-						combustible: 0,
-						oxygen: 20.8,
-						co: 0,
-						hs: 0,
-						desc: 'B车间动火作业过程气体检查',
-						name: '李羽飞',
-						updateTime: '2022-08-32 16:31:44'
-					},
-					{
-						id: 'GTXH-0000003',
-						workType: '动火作业',
-						combustible: 0,
-						oxygen: 21,
-						co: 0,
-						hs: 0,
-						desc: 'C车间动火作业过程气体检测异常',
-						name: '李羽飞',
-						updateTime: '2022-08-32 17:05:20'
-					}
-				],
+				workPermitNo: '',
+				workType: null,
+				tableData: [],
 				departmentList: [],
 				department: '',
 				workerList: [],
@@ -254,6 +237,7 @@
 				multipleSelection: [],
 				dialogDetails: false,
 				dialogAddRecord: false,
+				dialogPermitNo: false,
 				deleteDialog: false,
 				deleteSetDialog: false,
 				addRecord: {
@@ -264,7 +248,7 @@
 				},
 				deleteId: null,
 				deleteArr: [],
-				workType: [
+				workTypeList: [
 					{ id: 1, name: '动火作业' },
 					{ id: 2, name: '受限空间作业' },
 					{ id: 3, name: '吊装作业' },
@@ -278,36 +262,27 @@
 
 			const addRef = ref<FormInstance>();
 			const addRules = reactive<FormRules>({
-				id: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				workPermitNo: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
 				workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
 				combustible: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
 				oxygen: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				co: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				hs: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				desc: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				name: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				updateTime: [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
+				carbonMonoxide: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				hydrogenSulfide: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				info: [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
 			});
 
 			// 页面载入时执行方法
 			onMounted(() => {
-				// getListByPage();
-				// getAllDepartment();
+				getListByPage()
 			});
 
-			// 分页获取班组管理列表
+			// 分页获取气体检测列表
 			const getListByPage = async () => {
-				const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { groupName: state.searchWord, containGroupMemberEnable: true } };
-				let res = await teamManageApi().getRecordPage(data);
+				getAll()
+				const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { workType: state.workType, workPermitNo: state.workPermitNo } };
+				let res = await workProcessApi().getDetectionListPage(data);
 				if (res.data.code === '200') {
-					state.tableData = res.data.data.map((item) => {
-						if (!item.groupMembers || item.groupMembers == null) {
-							item.groupMembers = [];
-						} else {
-							item.groupMembers = Array.from(item.groupMembers, ({ username }) => username);
-						}
-						return item;
-					});
+					state.tableData = JSON.parse(JSON.stringify(res.data.data))
 					state.totalSize = res.data.total;
 				} else {
 					ElMessage({
@@ -317,25 +292,23 @@
 				}
 			};
 
-			// 获取部门列表
-			const getAllDepartment = async () => {
-				let res = await teamManageApi().getAllDepartment();
-				if (res.data.code === '200') {
-					state.departmentList = res.data.data;
-				} else {
+			const confirmPermitNo = ()=>{
+				if(permitNoInfo.value.workPermitNo == ''){
 					ElMessage({
 						type: 'warning',
-						message: res.data.msg
+						message: '请选择相应的作业编码'
 					});
+				}else{
+					state.addRecord.workPermitNo = permitNoInfo.value.workPermitNo
+					state.dialogPermitNo = false
 				}
-			};
+			}
 
-			const handleChange = async (value) => {
-				state.addRecord.depId = value;
-				console.log(state.addRecord.department, 'de');
-				let res = await teamManageApi().getAllMember(value);
+			// 获取用户列表
+			const getAll = async ()=>{
+				const res = await workApplyApi().getAllUsers()
 				if (res.data.code === '200') {
-					state.workerList = res.data.data;
+					state.workerList = JSON.parse(JSON.stringify(res.data.data))
 				} else {
 					ElMessage({
 						type: 'warning',
@@ -346,7 +319,7 @@
 
 			// 关键词查询记录
 			const searchRecord = async () => {
-				if (state.searchWord == '') {
+				if (state.workPermitNo == ''&& state.workType == null) {
 					ElMessage({
 						type: 'warning',
 						message: '请输入查询关键词'
@@ -357,13 +330,14 @@
 			};
 
 			const clearSearch = async () => {
-				state.searchWord = '';
+				state.workPermitNo = '';
+				state.workType = null;
 				getListByPage();
 			};
 
-			// 添加班组管理方法
+			// 添加气体检测方法
 			const addRecord = async (data: any) => {
-				let res = await teamManageApi().addRecord(data);
+				let res = await workProcessApi().postDetectionReport(data);
 				if (res.data.code === '200') {
 					ElMessage({
 						type: 'success',
@@ -384,18 +358,17 @@
 				await formEl.validate(async (valid, fields) => {
 					if (valid) {
 						const data = {
-							groupName: state.addRecord.groupName,
-							groupInfo: state.addRecord.groupInfo,
-							depId: state.addRecord.depId,
-							groupMemberIds: state.addRecord.groupMembers
+							workPermitNo: state.addRecord.workPermitNo,
+							info: state.addRecord.info,
+							combustible: Number(state.addRecord.combustible),
+							oxygen: Number(state.addRecord.oxygen),
+							carbonMonoxide: Number(state.addRecord.carbonMonoxide),
+							hydrogenSulfide: Number(state.addRecord.hydrogenSulfide),
+							source: 2,
 						};
-						if (state.chosenIndex == null) {
-							await addRecord(data);
-						} else {
-							data.groupId = JSON.stringify(state.addRecord.groupId);
-							await editRecord(data);
-						}
+						await addRecord(data);
 						state.dialogAddRecord = false;
+						getListByPage();
 					} else {
 						console.log('error submit!', fields);
 					}
@@ -451,7 +424,8 @@
 				Refresh,
 				Plus,
 				Search,
-				handleChange,
+				permitNoInfo,
+				confirmPermitNo,
 				searchRecord,
 				clearSearch,
 				viewRecord,
diff --git a/src/views/specialWorkSystem/workProcess/workCheck/index.vue b/src/views/specialWorkSystem/workProcess/workCheck/index.vue
index 282ed9d..6bc2411 100644
--- a/src/views/specialWorkSystem/workProcess/workCheck/index.vue
+++ b/src/views/specialWorkSystem/workProcess/workCheck/index.vue
@@ -5,13 +5,13 @@
 				<el-col :span="6" style="display:flex;align-items: center">
 					<span style="white-space: nowrap">作业证编号:</span>
 					<div class="grid-content topInfo">
-						<el-input v-model="searchWord"></el-input>
+						<el-input v-model="workPermitNo" placeholder="请输入作业证编号"></el-input>
 					</div>
 				</el-col>
 				<el-col :span="6" style="display:flex;align-items: center">
 					<span style="white-space: nowrap">作业类型:</span>
 					<div class="grid-content topInfo">
-						<el-select v-model="searchType" placeholder="请选择作业类型">
+						<el-select v-model="workType" placeholder="请选择作业类型">
 							<el-option
 									v-for="item in workTypeList"
 									:key="item.id"
@@ -30,27 +30,26 @@
 						<el-col :span="12" class="mainCardBtn">
 							<el-button type="primary" :icon="Plus" size="default" @click="dialogAddRecord = true">新增</el-button>
 						</el-col>
-						<el-button type="primary" :icon="Refresh" size="default"/>
+						<el-button type="primary" :icon="Refresh" size="default" @click="reLoadData"/>
 					</el-row>
 					<el-table
-							ref="multipleTableRef"
 							:data="tableData"
 							style="width: 100%"
 							height="calc(100% - 100px)"
 							:header-cell-style="{background: '#fafafa'}"
 					>
-						<el-table-column type="index" label="序号" width="200"/>
-						<el-table-column property="id" label="作业证编号" width="200"/>
-						<el-table-column property="workType" label="作业类型" width="200"/>
-						<el-table-column property="checkInfo" label="检查内容"/>
-						<el-table-column property="result" label="检查结果">
+						<el-table-column type="index" label="序号" width="80"/>
+						<el-table-column property="workPermitNo" label="作业证编号"/>
+						<el-table-column property="workTypeDesc" label="作业类型"/>
+						<el-table-column property="checkContent" label="检查内容"/>
+						<el-table-column property="checkResultDesc" label="检查结果">
 							<template #default="scope">
-								<span :class="scope.row.result == '异常' ? 'red': ''">{{ scope.row.result }}</span>
+								<span :class="scope.row.checkResultDesc == '异常' ? 'red': ''">{{ scope.row.checkResultDesc}}</span>
 							</template>
 						</el-table-column>
-						<el-table-column property="desc" label="描述" width="200"/>
-						<el-table-column property="name" label="分析人"/>
-						<el-table-column property="updateTime" label="分析时间"/>
+						<el-table-column property="info" label="描述" show-overflow-tooltip width="200"/>
+						<el-table-column property="operatorUname" label="分析人"/>
+						<el-table-column property="operationTime" label="分析时间" width="180"/>
 						<el-table-column fixed="right" label="操作" align="center" width="250">
 							<template #default="scope">
 								<el-button link type="primary" size="small" :icon="View" @click="viewRecord(scope.row)">查看</el-button>
@@ -65,7 +64,7 @@
 								small=false
 								background
 								layout="total, sizes, prev, pager, next, jumper"
-								:total="100"
+								:total="totalSize"
 								@size-change="handleSizeChange"
 								@current-change="handleCurrentChange"
 						/>
@@ -76,37 +75,42 @@
 		<el-dialog v-model="dialogDetails" title="检查记录">
 			<el-form :model="details" label-width="120px">
 				<el-form-item label="作业证编号">
-					<el-input v-model="details.id" readonly/>
+					<el-input v-model="details.workPermitNo" readonly/>
 				</el-form-item>
 				<el-form-item label="作业类型">
-					<el-input v-model="details.workType" readonly/>
+					<el-input v-model="details.workTypeDesc" readonly/>
 				</el-form-item>
 				<el-form-item label="检查内容">
-					<el-input v-model="details.checkInfo" readonly/>
+					<el-input v-model="details.checkContent" readonly/>
 				</el-form-item>
 				<el-form-item label="检查结果">
-					<el-input v-model="details.result" readonly/>
+					<el-input :class="details.checkResultDesc == '异常' ? 'red': ''" v-model="details.checkResultDesc" readonly/>
+				</el-form-item>
+				<el-form-item label="现场图片" v-if="details.imagePaths && details.imagePaths.length>0">
+					<el-image v-for="item in details.imagePaths" style="width: 150px; height: 150px;margin-right: 50px;margin-bottom: 20px" :src="item" fit="cover" />
 				</el-form-item>
 				<el-form-item label="描述">
-					<el-input v-model="details.desc" type="textarea" readonly/>
+					<el-input v-model="details.info" type="textarea" readonly/>
 				</el-form-item>
 				<el-form-item label="分析人">
-					<el-input v-model="details.name" readonly/>
+					<el-input v-model="details.operatorUname" readonly/>
 				</el-form-item>
 				<el-form-item label="分析时间">
-					<el-input v-model="details.updateTime" readonly/>
-				</el-form-item>
-				<el-form-item>
-					<el-button type="primary" @click="dialogDetails = false" size="default">确认</el-button>
+					<el-input v-model="details.operationTime" readonly/>
 				</el-form-item>
 			</el-form>
+			<template #footer>
+			  <span class="dialog-footer">
+				<el-button type="primary" @click="dialogDetails = false">确认</el-button>
+			  </span>
+			</template>
 		</el-dialog>
 		<el-dialog v-model="dialogAddRecord" title="新增" @close="closeAdd" @open="openAdd">
 			<el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
-				<el-form-item label="作业证编号" prop="id">
-					<el-input v-model="addRecord.id">
+				<el-form-item label="作业证编号" prop="workPermitNo">
+					<el-input v-model="addRecord.workPermitNo" placeholder="作业编号须为已审批作业的编号,可点击右方按钮查询">
 						<template #append>
-							<el-button :icon="Search" />
+							<el-button :icon="Search" @click="dialogPermitNo = true"/>
 						</template>
 					</el-input>
 				</el-form-item>
@@ -120,16 +124,16 @@
 						/>
 					</el-select>
 				</el-form-item>
-				<el-form-item label="检查内容" prop="checkInfo">
-					<el-input v-model="addRecord.checkInfo"> </el-input>
+				<el-form-item label="检查内容" prop="checkContent">
+					<el-input v-model="addRecord.checkContent"> </el-input>
 				</el-form-item>
-				<el-form-item label="检查结果" prop="result">
-					<el-select v-model="addRecord.result">
-						<el-option label="正常" value="0"/>
-						<el-option label="异常" value="1"/>
+				<el-form-item label="检查结果" prop="checkResult">
+					<el-select v-model="addRecord.checkResult">
+						<el-option label="正常" value="1"/>
+						<el-option label="异常" value="2"/>
 					</el-select>
 				</el-form-item>
-				<el-form-item label="现场照片" prop="photos">
+				<el-form-item label="现场照片" prop="imagePaths">
 					<el-upload accept="image/*" :on-exceed="showTip" :on-preview="handlePictureCardPreview" :limit='imgLimit' v-model:file-list="fileList" :http-request="upload" :action="uploadUrl" list-type="picture-card" :on-remove="handleRemove" :before-remove="beforeRemove" :before-upload="getUploadUrl">
 						<el-icon><Plus /></el-icon>
 						<template #tip>
@@ -137,23 +141,34 @@
 						</template>
 					</el-upload>
 				</el-form-item>
-				<el-form-item label="描述" prop="desc">
-					<el-input v-model="addRecord.desc" type="textarea"> </el-input>
-				</el-form-item>
-				<el-form-item>
-					<el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
-					<el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
+				<el-form-item label="描述" prop="info">
+					<el-input v-model="addRecord.info" type="textarea"> </el-input>
 				</el-form-item>
 			</el-form>
+			<template #footer>
+				  <span class="dialog-footer">
+					<el-button type="warning" @click="dialogAddRecord = false" size="default" plain>取消</el-button>
+					<el-button type="primary" @click="confirmAddRecord(addRef)" size="default">确认</el-button>
+				  </span>
+			</template>
 		</el-dialog>
 		<el-dialog v-model="dialogVisible">
 			<img w-full :src="dialogImageUrl" alt="Preview Image" />
+		</el-dialog>
+		<el-dialog v-model="dialogPermitNo" title="选择相应的作业编号">
+			<permit-no ref="permitNoInfo"></permit-no>
+			<template #footer>
+			  <span class="dialog-footer">
+				<el-button type="warning" @click="dialogPermitNo = false" size="default" plain>取消</el-button>
+				<el-button type="primary" @click="confirmPermitNo" size="default">确认</el-button>
+			  </span>
+			</template>
 		</el-dialog>
 	</div>
 </template>
 
 <script lang="ts">
-	import { toRefs, reactive, ref, onMounted } from 'vue';
+	import {toRefs, reactive, ref, onMounted, defineAsyncComponent} from 'vue';
 	import { storeToRefs } from 'pinia';
 	import { initBackEndControlRoutes } from '/@/router/backEnd';
 	import { useUserInfo } from '/@/stores/userInfo';
@@ -162,8 +177,9 @@
 	import { ElTable, ElMessage, ElMessageBox } from 'element-plus'
 	import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus'
 	import { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage';
-	import {workApplyApi} from "/@/api/specialWorkSystem/workApply";
-	import axios from "axios";
+	import { workProcessApi } from '/@/api/specialWorkSystem/workProcess';
+	import { workApplyApi } from '/@/api/specialWorkSystem/workApply';
+	import axios from 'axios';
 
 	// 定义接口来定义对象的类型
 	interface stateType {
@@ -178,14 +194,15 @@
 		deleteArr: Array<any>;
 		dialogDetails: boolean;
 		dialogAddRecord: boolean;
+		dialogPermitNo: boolean;
 		deleteDialog: boolean;
 		deleteSetDialog: boolean;
 		pageIndex: number;
 		pageSize: number;
 		chosenIndex: null | number;
 		deleteId: null | number;
-		searchWord: string;
-		searchType: number | null
+		workPermitNo: string;
+		workType: number | null;
 		totalSize: number;
 		addRecord: {};
 		details: {};
@@ -196,64 +213,42 @@
 	}
 	export default {
 		name: 'workCheck',
-		components: {},
+		components: {
+			permitNo: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workProcess/components/dialogPermitNo.vue'))
+		},
 		setup() {
 			const userInfo = useUserInfo();
 			const { userInfos } = storeToRefs(userInfo);
-
+			const permitNoInfo = ref()
 			const state = reactive<stateType>({
 				pageIndex: 1,
 				pageSize: 10,
 				totalSize: 0,
 				chosenIndex: null,
-				searchWord: '',
-				searchType: null,
+				workPermitNo: '',
+				workType: null,
 				isOverSize: false,
 				fileList: [],
 				imgLimit: 3,
 				uploadUrl: '',
 				dialogVisible: false,
 				dialogImageUrl: null,
-				tableData: [
-					{
-						id: 'GTXH-0000001',
-						workType: '动火作业',
-						checkInfo: '动火作业检查',
-						result: '正常',
-						desc: 'A车间动火作业过程检查',
-						name: '李羽飞',
-						updateTime: '2022-08-31 12:00:00'
-					},
-					{
-						id: 'GTXH-0000002',
-						workType: '动火作业',
-						checkInfo: '动火作业检查',
-						result: '正常',
-						desc: 'B车间动火作业过程气体检查',
-						name: '李羽飞',
-						updateTime: '2022-08-31 16:31:44'
-					},
-					{
-						id: 'GTXH-0000003',
-						workType: '动火作业',
-						checkInfo: '动火作业检查',
-						result: '异常',
-						desc: '',
-						name: '李羽飞',
-						updateTime: '2022-08-31 17:05:20'
-					}
-				],
+				tableData: [],
 				multipleSelection: [],
 				dialogDetails: false,
 				dialogAddRecord: false,
+				dialogPermitNo: false,
 				deleteDialog: false,
 				deleteSetDialog: false,
 				addRecord: {
-
+					workPermitNo: '',
+					checkContent: '',
+					checkResult: '',
+					info: '',
+					source: 2,
+					imagePaths: []
 				},
-				details: {
-
-				},
+				details: {},
 				deleteId: null,
 				deleteArr: [],
 				workTypeList: [
@@ -270,34 +265,25 @@
 
 			const addRef = ref<FormInstance>();
 			const addRules = reactive<FormRules>({
-				id: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				workPermitNo: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
 				workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				checkInfo: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				result: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				photos: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				desc: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				name: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				updateTime: [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
+				checkContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				checkResult: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				imagePaths: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				info: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
 			});
 
 			// 页面载入时执行方法
 			onMounted(() => {
-				// getListByPage();
+				getListByPage();
 			});
 
-			// 分页获取班组管理列表
+			// 分页获取作业检查列表
 			const getListByPage = async () => {
-				const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { groupName: state.searchWord, containGroupMemberEnable: true } };
-				let res = await teamManageApi().getRecordPage(data);
+				const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { workType: state.workType, workPermitNo: state.workPermitNo } };
+				let res = await workProcessApi().getCheckListPage(data);
 				if (res.data.code === '200') {
-					state.tableData = res.data.data.map((item) => {
-						if (!item.groupMembers || item.groupMembers == null) {
-							item.groupMembers = [];
-						} else {
-							item.groupMembers = Array.from(item.groupMembers, ({ username }) => username);
-						}
-						return item;
-					});
+					state.tableData = res.data.data
 					state.totalSize = res.data.total;
 				} else {
 					ElMessage({
@@ -314,7 +300,17 @@
 					message: '超出文件上传数量'
 				});
 			}
-
+			const confirmPermitNo = ()=>{
+				if(permitNoInfo.value.workPermitNo == ''){
+					ElMessage({
+						type: 'warning',
+						message: '请选择相应的作业编码'
+					});
+				}else{
+					state.addRecord.workPermitNo = permitNoInfo.value.workPermitNo
+					state.dialogPermitNo = false
+				}
+			}
 			const handlePreview: UploadProps['onPreview'] = (uploadFile) => {
 				console.log(uploadFile);
 			};
@@ -335,12 +331,15 @@
 					return false
 				}else{
 					const res = await workApplyApi().getUploadUrl(rawFile.name);
-					state.addRecord.photos.push(res.data.data.fileName)
+					state.addRecord.imagePaths.push(res.data.data.fileName)
 					state.uploadUrl = res.data.data.uploadUrl;
+					console.log(state.addRecord.imagePaths,state.uploadUrl,6666666666666)
 				}
 			};
 
 			const upload = async (params: any) => {
+				// const formData = new FormData();
+				// formData.append('file', state.fileList[0].raw);
 				let reader = new FileReader();
 				reader.readAsArrayBuffer(params.file);
 				reader.onload = async () => {
@@ -367,7 +366,7 @@
 						})
 								.then(() => {
 									// console.log(state.workDetail.photos,'path')
-									const list = JSON.parse(JSON.stringify(state.addRecord.photos))
+									const list = JSON.parse(JSON.stringify(state.addRecord.imagePaths))
 									fileList.map((item,index)=>{
 										if(item.uid === file.uid){
 											fileList.splice(index,1)
@@ -381,7 +380,7 @@
 									reject(false);
 								});
 					}else{
-						const list = JSON.parse(JSON.stringify(state.addRecord.photos))
+						const list = JSON.parse(JSON.stringify(state.addRecord.imagePaths))
 						fileList.map((item,index)=>{
 							if(item.uid === file.uid){
 								fileList.splice(index,1)
@@ -414,7 +413,7 @@
 
 			// 关键词查询记录
 			const searchRecord = async () => {
-				if (state.searchWord == '') {
+				if (state.workPermitNo == ''&& state.workType == null) {
 					ElMessage({
 						type: 'warning',
 						message: '请输入查询关键词'
@@ -425,13 +424,15 @@
 			};
 
 			const clearSearch = async () => {
-				state.searchWord = '';
+				state.workPermitNo = '';
+				state.workType = null;
 				getListByPage();
 			};
 
-			// 添加班组管理方法
+
+			// 添加气体检测方法
 			const addRecord = async (data: any) => {
-				let res = await teamManageApi().addRecord(data);
+				let res = await workProcessApi().postCheckReport(data);
 				if (res.data.code === '200') {
 					ElMessage({
 						type: 'success',
@@ -446,24 +447,15 @@
 				}
 			};
 
+
 			// 新增修改记录
 			const confirmAddRecord = async (formEl: FormInstance | undefined) => {
 				if (!formEl) return;
 				await formEl.validate(async (valid, fields) => {
 					if (valid) {
-						const data = {
-							groupName: state.addRecord.groupName,
-							groupInfo: state.addRecord.groupInfo,
-							depId: state.addRecord.depId,
-							groupMemberIds: state.addRecord.groupMembers
-						};
-						if (state.chosenIndex == null) {
-							await addRecord(data);
-						} else {
-							data.groupId = JSON.stringify(state.addRecord.groupId);
-							await editRecord(data);
-						}
+						await addRecord(state.addRecord);
 						state.dialogAddRecord = false;
+						getListByPage();
 					} else {
 						console.log('error submit!', fields);
 					}
@@ -519,7 +511,9 @@
 				Refresh,
 				Plus,
 				Search,
+				permitNoInfo,
 				showTip,
+				confirmPermitNo,
 				handlePreview,
 				handlePictureCardPreview,
 				getUploadUrl,
@@ -546,6 +540,10 @@
 	$homeNavLengh: 8;
 	.red{
 		color: red;
+
+		::v-deep(input){
+			color: red;
+		}
 	}
 	.home-container {
 		height: calc(100vh - 144px);

--
Gitblit v1.9.2