From ea2b0825e761a55b17e7bfa044e8267de09c27a9 Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期二, 13 九月 2022 14:44:13 +0800
Subject: [PATCH] Default Changelist

---
 src/views/specialWorkSystem/workPlan/workReservation/index.vue |  237 +++++++++++++++++++++++++++++++---------------------------
 1 files changed, 127 insertions(+), 110 deletions(-)

diff --git a/src/views/specialWorkSystem/workPlan/workReservation/index.vue b/src/views/specialWorkSystem/workPlan/workReservation/index.vue
index b6ffe8a..16c44a1 100644
--- a/src/views/specialWorkSystem/workPlan/workReservation/index.vue
+++ b/src/views/specialWorkSystem/workPlan/workReservation/index.vue
@@ -5,23 +5,20 @@
 				<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="workPermitNo" placeholder="请输入部门名称"></el-input>
+						<el-cascader v-model="searchDep" :options="departmentList" :props="casProps" :show-all-levels="false"/>
 					</div>
 				</el-col>
-				<el-col :span="6" style="display:flex;align-items: center">
-					<span style="white-space: nowrap">预约日期:</span>
+				<el-col :span="6" style="display:flex;align-items: center;">
+					<span style="white-space: nowrap;margin-left: 20px">预约日期:</span>
 					<div class="grid-content topInfo">
-						<el-select v-model="workType" placeholder="请选择作业类型">
-							<el-option
-									v-for="item in workTypeList"
-									:key="item.id"
-									:label="item.name"
-									:value="item.id"
-							/>
-						</el-select>
+						<el-date-picker
+								v-model="searchDate"
+								type="date"
+								format="YYYY-MM-DD" value-format="YYYY-MM-DD"
+						/>
 					</div>
 				</el-col>
-				<el-button type="primary" @click="searchRecord">查询</el-button>
+				<el-button style="margin-left: 20px" type="primary" @click="searchRecord">查询</el-button>
 				<el-button plain @click="clearSearch">重置</el-button>
 			</el-row>
 			<div class="homeCard">
@@ -40,16 +37,16 @@
 					>
 <!--						<el-table-column type="selection" width="55" />-->
 						<el-table-column type="index" label="序号" width="80" />
-						<el-table-column prop="department" label="申请部门"/>
-						<el-table-column prop="time" label="预约时间"/>
-						<el-table-column prop="fireWork" label="动火作业"/>
-						<el-table-column prop="spaceWork" label="受限空间作业"/>
-						<el-table-column prop="hangWork" label="吊装作业"/>
-						<el-table-column prop="dirtyWork" label="动土作业"/>
-						<el-table-column prop="cut" label="断路作业"/>
-						<el-table-column prop="high" label="高处作业" />
-						<el-table-column prop="tempUse" label="临时用电作业"/>
-						<el-table-column prop="block" label="盲板抽堵作业"/>
+						<el-table-column prop="applyDepName" label="申请部门"/>
+						<el-table-column prop="appointmentTime" label="预约时间"/>
+						<el-table-column prop="hotWork" label="动火作业"/>
+						<el-table-column prop="confinedSpaceOper" label="受限空间作业"/>
+						<el-table-column prop="liftingOper" label="吊装作业"/>
+						<el-table-column prop="groundBreakingOper" label="动土作业"/>
+						<el-table-column prop="openCircuitOper" label="断路作业"/>
+						<el-table-column prop="workAtHeight" label="高处作业" />
+						<el-table-column prop="temporaryPowerOper" label="临时用电作业"/>
+						<el-table-column prop="blindPlatePluggingOper" label="盲板抽堵作业"/>
 						<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>
@@ -78,61 +75,61 @@
 			<el-form :model="details" label-width="120px">
 				<el-form-item label="申请部门">
 					<el-input
-							v-model="details.department"
+							v-model="details.applyDepName"
 							readonly
 					/>
 				</el-form-item>
 				<el-form-item label="预约时间">
 					<el-input
-							v-model="details.time"
+							v-model="details.appointmentTime"
 							readonly
 					/>
 				</el-form-item>
 				<el-form-item label="动火作业">
 					<el-input
-							v-model="details.fireWork"
+							v-model="details.hotWork"
 							readonly
 					/>
 				</el-form-item>
 				<el-form-item label="受限空间作业">
 					<el-input
-							v-model="details.spaceWork"
+							v-model="details.confinedSpaceOper"
 							readonly
 					/>
 				</el-form-item>
 				<el-form-item label="吊装作业">
 					<el-input
-							v-model="details.hangWork"
+							v-model="details.liftingOper"
 							readonly
 					/>
 				</el-form-item>
 				<el-form-item label="动土作业">
 					<el-input
-							v-model="details.dirtyWork"
+							v-model="details.groundBreakingOper"
 							readonly
 					/>
 				</el-form-item>
 				<el-form-item label="断路作业">
 					<el-input
-							v-model="details.cut"
+							v-model="details.openCircuitOper"
 							readonly
 					/>
 				</el-form-item>
 				<el-form-item label="高处作业">
 					<el-input
-							v-model="details.high"
+							v-model="details.workAtHeight"
 							readonly
 					/>
 				</el-form-item>
 				<el-form-item label="临时用电作业">
 					<el-input
-							v-model="details.tempUse"
+							v-model="details.temporaryPowerOper"
 							readonly
 					/>
 				</el-form-item>
 				<el-form-item label="盲板抽堵作业">
 					<el-input
-							v-model="details.block"
+							v-model="details.blindPlatePluggingOper"
 							readonly
 					/>
 				</el-form-item>
@@ -143,56 +140,57 @@
 			  </span>
 			</template>
 		</el-dialog>
-		<el-dialog v-model="dialogAddRecord" title="作业预约编辑" @close="closeAdd" @open="openAdd">
+		<el-dialog v-model="dialogAddRecord" title="作业预约编辑" @close="closeAdd">
 			<el-form :model="addRecord" label-width="120px" ref="addRef" :rules="addRules">
-				<el-form-item label="申请部门" prop="department">
-					<el-cascader v-model="addRecord.department" :options="departmentList" :props="casProps" :show-all-levels="false" @change="handleChange" />
+				<el-form-item label="申请部门" prop="applyDepId">
+					<el-cascader :disabled = isDisabled v-model="addRecord.applyDepId" :options="departmentList" :props="casProps" :show-all-levels="false" @change="handleChange" />
 				</el-form-item>
-				<el-form-item label="预约时间" prop="time">
+				<el-form-item label="预约时间" prop="appointmentTime">
 					<el-date-picker
-							v-model="addRecord.time"
-							type="datetime"
-							format="YYYY/MM/DD HH:mm:ss" value-format="YYYY-MM-DD HH:mm:ss"
+							v-model="addRecord.appointmentTime"
+							type="date"
+							format="YYYY-MM-DD" value-format="YYYY-MM-DD"
+							:disabled = isDisabled
 					/>
 				</el-form-item>
-				<el-form-item label="动火作业">
+				<el-form-item label="动火作业" prop="hotWork">
 					<el-input
-							v-model="addRecord.fireWork"
+							v-model="addRecord.hotWork"
 					/>
 				</el-form-item>
-				<el-form-item label="受限空间作业">
+				<el-form-item label="受限空间作业" prop="confinedSpaceOper">
 					<el-input
-							v-model="addRecord.spaceWork"
+							v-model="addRecord.confinedSpaceOper"
 					/>
 				</el-form-item>
-				<el-form-item label="吊装作业">
+				<el-form-item label="吊装作业" prop="liftingOper">
 					<el-input
-							v-model="addRecord.hangWork"
+							v-model="addRecord.liftingOper"
 					/>
 				</el-form-item>
-				<el-form-item label="动土作业">
+				<el-form-item label="动土作业" prop="groundBreakingOper">
 					<el-input
-							v-model="addRecord.dirtyWork"
+							v-model="addRecord.groundBreakingOper"
 					/>
 				</el-form-item>
-				<el-form-item label="断路作业">
+				<el-form-item label="断路作业" prop="openCircuitOper">
 					<el-input
-							v-model="addRecord.cut"
+							v-model="addRecord.openCircuitOper"
 					/>
 				</el-form-item>
-				<el-form-item label="高处作业">
+				<el-form-item label="高处作业" prop="workAtHeight">
 					<el-input
-							v-model="addRecord.high"
+							v-model="addRecord.workAtHeight"
 					/>
 				</el-form-item>
-				<el-form-item label="临时用电作业">
+				<el-form-item label="临时用电作业" prop="temporaryPowerOper">
 					<el-input
-							v-model="addRecord.tempUse"
+							v-model="addRecord.temporaryPowerOper"
 					/>
 				</el-form-item>
-				<el-form-item label="盲板抽堵作业">
+				<el-form-item label="盲板抽堵作业" prop="blindPlatePluggingOper">
 					<el-input
-							v-model="addRecord.block"
+							v-model="addRecord.blindPlatePluggingOper"
 					/>
 				</el-form-item>
 			</el-form>
@@ -201,6 +199,15 @@
 				<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="deleteDialog" title="提示" width="30%" center @close="indexClear">
+			<span>您确定要删除该条记录吗?</span>
+			<template #footer>
+                <span class="dialog-footer">
+                    <el-button @click="deleteDialog = false" size="default">取消</el-button>
+                    <el-button type="primary" @click="conFirmDelete" size="default">确认</el-button>
+                </span>
 			</template>
 		</el-dialog>
 	</div>
@@ -215,13 +222,13 @@
 	import { Edit, View, Plus, Delete, Refresh, Search, Download } from '@element-plus/icons-vue';
 	import { ElTable, ElMessage, ElMessageBox } from 'element-plus'
 	import type { FormInstance, FormRules, UploadProps, UploadUserFile } from 'element-plus'
+	import { workReserveApi } from '/@/api/specialWorkSystem/workPlan/workReservation';
 	import { teamManageApi } from '/@/api/systemManage/basicDateManage/personShiftManage/teamManage';
-
+	import {holidayGroupApi} from "/@/api/systemManage/basicDateManage/personShiftManage/holidayTimeGroup";
 	// 定义接口来定义对象的类型
 	interface stateType {
 		tableData: Array<any>;
 		departmentList: Array<any>;
-		department:string;
 		casProps: {};
 		multipleSelection: Array<any>;
 		deleteArr: Array<any>;
@@ -233,8 +240,9 @@
 		pageSize: number;
 		chosenIndex: null | number;
 		deleteId: null | number;
-		workPermitNo: string;
-		workType: number | null;
+		searchDep: number | null;
+		searchDate: string;
+		isDisabled:boolean;
 		totalSize: number;
 		addRecord: {
 
@@ -256,11 +264,11 @@
 				pageSize: 10,
 				totalSize: 0,
 				chosenIndex: null,
-				workPermitNo: '',
-				workType: null,
+				searchDep: null,
+				searchDate: '',
+				isDisabled: false,
 				tableData: [],
 				departmentList: [],
-				department: '',
 				casProps: {
 					expandTrigger: 'hover',
 					emitPath: false,
@@ -291,18 +299,21 @@
 
 			const addRef = ref<FormInstance>();
 			const addRules = reactive<FormRules>({
-				workPermitNo: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				workType: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				combustible: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				oxygen: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				carbonMonoxide: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				hydrogenSulfide: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
-				info: [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
+				applyDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				appointmentTime: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				hotWork: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				groundBreakingOper: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				blindPlatePluggingOper: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				temporaryPowerOper	: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				workAtHeight: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				openCircuitOper: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				liftingOper: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
+				confinedSpaceOper: [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
 			});
 
 			// 页面载入时执行方法
 			onMounted(() => {
-				// getListByPage()
+				getListByPage()
 				getAllDepartment()
 			});
 
@@ -321,9 +332,8 @@
 
 			// 分页获取气体检测列表
 			const getListByPage = async () => {
-				getAll()
-				const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { workType: state.workType, workPermitNo: state.workPermitNo } };
-				let res = await workProcessApi().getDetectionListPage(data);
+				const data = { pageSize: state.pageSize, pageIndex: state.pageIndex, searchParams: { applyDepId: state.searchDep, appointmentTime: state.searchDate } };
+				let res = await workReserveApi().getReserveListPage(data);
 				if (res.data.code === '200') {
 					state.tableData = JSON.parse(JSON.stringify(res.data.data))
 					state.totalSize = res.data.total;
@@ -335,22 +345,9 @@
 				}
 			};
 
-			// 获取用户列表
-			const getAll = async ()=>{
-				const res = await workApplyApi().getAllUsers()
-				if (res.data.code === '200') {
-					state.workerList = JSON.parse(JSON.stringify(res.data.data))
-				} else {
-					ElMessage({
-						type: 'warning',
-						message: res.data.msg
-					});
-				}
-			};
-
 			// 关键词查询记录
 			const searchRecord = async () => {
-				if (state.workPermitNo == ''&& state.workType == null) {
+				if (state.searchDep == null && state.searchDate == '') {
 					ElMessage({
 						type: 'warning',
 						message: '请输入查询关键词'
@@ -361,14 +358,31 @@
 			};
 
 			const clearSearch = async () => {
-				state.workPermitNo = '';
-				state.workType = null;
+				state.searchDep = null;
+				state.searchDate = '';
 				getListByPage();
 			};
 
-			// 添加气体检测方法
+			// 添加记录方法
 			const addRecord = async (data: any) => {
-				let res = await workProcessApi().postDetectionReport(data);
+				let res = await workReserveApi().addRecord(data);
+				if (res.data.code === '200') {
+					ElMessage({
+						type: 'success',
+						message: res.data.msg
+					});
+					getListByPage();
+				} else {
+					ElMessage({
+						type: 'warning',
+						message: res.data.msg
+					});
+				}
+			};
+
+			// 修改记录方法
+			const editRecord = async (data: any) => {
+				let res = await workReserveApi().editRecord(data);
 				if (res.data.code === '200') {
 					ElMessage({
 						type: 'success',
@@ -388,7 +402,7 @@
 				state.dialogAddRecord = true;
 				state.chosenIndex = index;
 				state.addRecord = JSON.parse(JSON.stringify(row));
-				console.log(state.addRecord, 'state.addRecord');
+				state.isDisabled = true
 			};
 
 			// 新增修改记录
@@ -397,15 +411,23 @@
 				await formEl.validate(async (valid, fields) => {
 					if (valid) {
 						const data = {
-							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,
+							applyDepId: state.addRecord.applyDepId,
+							appointmentTime: state.addRecord.appointmentTime,
+							hotWork: Number(state.addRecord.hotWork),
+							groundBreakingOper: Number(state.addRecord.groundBreakingOper),
+							blindPlatePluggingOper: Number(state.addRecord.blindPlatePluggingOper),
+							temporaryPowerOper: Number(state.addRecord.temporaryPowerOper),
+							workAtHeight: Number(state.addRecord.workAtHeight),
+							openCircuitOper: Number(state.addRecord.openCircuitOper),
+							liftingOper: Number(state.addRecord.liftingOper),
+							confinedSpaceOper: Number(state.addRecord.confinedSpaceOper),
 						};
-						await addRecord(data);
+						if (state.chosenIndex == null) {
+							await addRecord(data);
+						} else {
+							data.id = state.addRecord.id
+							await editRecord(data);
+						}
 						state.dialogAddRecord = false;
 						getListByPage();
 					} else {
@@ -435,9 +457,9 @@
 			};
 
 
-			// 删除班组策略方法
+			// 删除方法
 			const deleteRecord = async (data: any) => {
-				let res = await teamStrategyApi().deleteRecord(data);
+				let res = await workReserveApi().deleteRecord(data);
 				if (res.data.code === '200') {
 					ElMessage({
 						type: 'success',
@@ -453,12 +475,12 @@
 			};
 
 			const deleteRecordBtn = (row) => {
-				state.deleteId = row.groupStrategyId;
+				state.deleteId = row.id;
 				state.deleteDialog = true;
 			};
 
 			const conFirmDelete = () => {
-				deleteRecord({ groupStrategyId: state.deleteId });
+				deleteRecord({ id: state.deleteId });
 				state.deleteDialog = false;
 			};
 
@@ -466,13 +488,9 @@
 			const closeAdd = () => {
 				state.addRecord = {};
 				state.chosenIndex = null;
+				state.isDisabled = false
 			};
 
-			const openAdd = () => {
-				if (state.chosenIndex == null) {
-					state.addRecord.info = '';
-				}
-			};
 			const indexClear = () => {
 				state.deleteId = null;
 			};
@@ -504,7 +522,6 @@
 				handleCurrentChange,
 				confirmAddRecord,
 				closeAdd,
-				openAdd,
 				indexClear,
 				...toRefs(state)
 			};

--
Gitblit v1.9.2