From 364ad41d844696b80b1de0a33d8c2d1e8c101031 Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期一, 04 七月 2022 18:17:21 +0800
Subject: [PATCH] 添加修改页面

---
 src/views/specialWorkSystem/workApplyManagement/workApply/index.vue |  496 +++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 483 insertions(+), 13 deletions(-)

diff --git a/src/views/specialWorkSystem/workApplyManagement/workApply/index.vue b/src/views/specialWorkSystem/workApplyManagement/workApply/index.vue
index 9bde059..834c558 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApply/index.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApply/index.vue
@@ -1,6 +1,7 @@
 <template>
 	<div class="home-container">
-		<el-form :model="form" label-width="120px">
+		<el-scrollbar height="100%">
+		<el-form :model="form" label-width="150px">
 			<el-row>
 				<el-col :span="8">
 					<el-form-item label="申请部门">
@@ -12,10 +13,15 @@
 				</el-col>
 				<el-col :span="8">
 					<el-form-item label="申请人">
-						<el-select v-model="form.applyName" placeholder="请选择">
-							<el-option label="胡海涛" value="胡海涛" />
-							<el-option label="其他人" value="其他人" />
-						</el-select>
+						<el-input
+							v-model="form.applyName"
+							placeholder="请输入"
+							class="input-with-select"
+						>
+							<template #append>
+								<el-button :icon="Search" />
+							</template>
+						</el-input>
 					</el-form-item>
 				</el-col>
 			</el-row>
@@ -48,11 +54,326 @@
 				</el-col>
 			</el-row>
 			<el-row>
-				<el-col :span="8">
-					<el-button type="primary" size="default">添加作业人</el-button>
+				<el-col :span="3"><el-button type="primary" size="default" @click="dialogAddWorker = true">添加作业人</el-button></el-col>
+				<el-col :span="21">
+					<el-table :data="form.workerList" style="width: 100%">
+						<el-table-column type="index" label="序号" width="100"/>
+						<el-table-column prop="worker" label="作业人"/>
+						<el-table-column prop="role" label="作业人角色" width="180" />
+						<el-table-column prop="unit" label="所属单位" width="180" />
+						<el-table-column prop="certificate" label="证书名称" width="180" />
+						<el-table-column prop="certificateId" label="证书号" />
+						<el-table-column fixed="right" label="操作">
+							<template #default="scope">
+								<el-button link type="danger" size="small" @click="deleteRow(scope.$index)">删除</el-button>
+							</template>
+						</el-table-column>
+					</el-table>
+				</el-col>
+			</el-row>
+			<el-row>
+				<el-col :span="12">
+					<el-form-item label="作业地点">
+						<el-input
+							v-model="form.workLocation"
+							placeholder="请输入"
+							class="input-with-select"
+						>
+							<template #append>
+								<el-button :icon="Search" />
+							</template>
+						</el-input>
+					</el-form-item>
+				</el-col>
+				<el-col :span="12">
+					<el-form-item label="作业期限">
+						<el-date-picker
+							v-model="form.workTimeLine"
+							type="daterange"
+							unlink-panels
+							range-separator="至"
+							start-placeholder="开始日期"
+							end-placeholder="结束日期"
+							:shortcuts="shortcuts"
+						/>
+					</el-form-item>
+				</el-col>
+			</el-row>
+			<el-row>
+				<el-col :span="12">
+					<el-form-item label="作业内容">
+						<el-input
+							v-model="form.workContent"
+							placeholder="请输入"
+							class="input-with-select"
+						>
+							<template #append>
+								<el-button :icon="Search" />
+							</template>
+						</el-input>
+					</el-form-item>
+				</el-col>
+				<el-col :span="12">
+					<el-form-item label="作业单位">
+						<el-input
+							v-model="form.workUnit"
+							placeholder="请输入"
+							class="input-with-select"
+						>
+							<template #append>选择作业单位</template>
+						</el-input>
+					</el-form-item>
+				</el-col>
+			</el-row>
+			<el-row>
+				<el-col :span="6">
+					<el-form-item label="作业负责人">
+						<el-input
+							v-model="form.responser"
+							placeholder="请输入"
+							class="input-with-select"
+						>
+							<template #append>
+								<el-button :icon="Search" />
+							</template>
+						</el-input>
+					</el-form-item>
+				</el-col>
+				<el-col :span="6">
+					<el-form-item label="监护人">
+						<el-input
+							v-model="form.monitor"
+							placeholder="请输入"
+							class="input-with-select"
+						>
+							<template #append>
+								<el-button :icon="Search" />
+							</template>
+						</el-input>
+					</el-form-item>
+				</el-col>
+				<el-col :span="6">
+					<el-form-item label="监护人岗位">
+						<el-input
+							v-model="form.monitorStation"
+							placeholder="请输入"
+							class="input-with-select"
+						>
+							<template #append>
+								<el-button :icon="Search" />
+							</template>
+						</el-input>
+					</el-form-item>
+				</el-col>
+			</el-row>
+			<el-row>
+				<el-col :span="12">
+					<el-form-item label="生产车间负责人">
+						<el-input
+							v-model="form.workhouseLeader"
+							placeholder="请输入"
+							class="input-with-select"
+						>
+							<template #append>
+								<el-button :icon="Search" />
+							</template>
+						</el-input>
+					</el-form-item>
+				</el-col>
+				<el-col :span="12">
+					<el-form-item label="申请日期">
+						<el-date-picker
+							size="large"
+							v-model="form.applyDate"
+							type="date"
+							placeholder="请选择"
+							style="width: 100%"
+						></el-date-picker>
+					</el-form-item>
+				</el-col>
+			</el-row>
+			<el-divider />
+			<el-row>
+				<el-col :span="24">
+					<el-form-item label="涉及的其他特殊作业">
+						<el-checkbox-group v-model="form.otherSpecialWorks">
+							<el-checkbox label="动火作业" />
+							<el-checkbox label="受限空间" />
+							<el-checkbox label="高处作业" />
+							<el-checkbox label="吊装作业" />
+							<el-checkbox label="临时用电" />
+							<el-checkbox label="设备检修" />
+							<el-checkbox label="盲板抽堵" />
+							<el-checkbox label="断路作业" />
+							<el-checkbox label="动土作业" />
+						</el-checkbox-group>
+					</el-form-item>
+				</el-col>
+			</el-row>
+			<el-row>
+				<el-col>
+					<el-form-item label="防护用品">
+						<el-cascader
+							v-model="form.protections"
+							:options="protectOption"
+							:props="{expandTrigger: 'hover'}"
+							@change="protectionsChange"
+							placeholder="请选择"
+							style="width: 100%"
+						/>
+					</el-form-item>
+				</el-col>
+			</el-row>
+			<el-row>
+				<el-col :span="6"><el-button type="primary" size="default" @click="dialogAddFile = true">点击添加安全交底和风险告知书</el-button></el-col>
+			</el-row>
+			<el-row>
+				<el-col :span="12">
+					<el-form-item label="实施安全教育人">
+						<el-input
+							v-model="form.safetyMan"
+							placeholder="请输入"
+							class="input-with-select"
+						>
+							<template #append>
+								<el-button :icon="Search" />
+							</template>
+						</el-input>
+					</el-form-item>
+				</el-col>
+				<el-col :span="12">
+					<el-form-item label="被教育人">
+						<el-input
+							v-model="form.educated"
+							placeholder="请输入"
+							class="input-with-select"
+						>
+							<template #append>
+								<el-button :icon="Search" />
+							</template>
+						</el-input>
+					</el-form-item>
+				</el-col>
+			</el-row>
+			<el-divider />
+			<el-row>
+				<el-col :span="24" class="submitBtn">
+					<el-button type="primary" size="large" plain>发起申请</el-button>
 				</el-col>
 			</el-row>
 		</el-form>
+		<el-dialog v-model="dialogAddWorker" title="添加作业人">
+			<el-form :model="addWorkerForm" label-width="120px">
+				<el-form-item label="作业人">
+					<el-input
+							v-model="addWorkerForm.worker"
+							placeholder="请输入"
+							class="input-with-select"
+					>
+						<template #append>
+							<el-button :icon="Search" />
+						</template>
+					</el-input>
+				</el-form-item>
+				<el-form-item label="作业人角色">
+					<el-input
+							v-model="addWorkerForm.role"
+							placeholder="请输入"
+							class="input-with-select"
+					>
+						<template #append>
+							<el-button :icon="Search" />
+						</template>
+					</el-input>
+				</el-form-item>
+				<el-form-item label="作业人角色">
+					<el-input
+							v-model="addWorkerForm.unit"
+							placeholder="请输入"
+							class="input-with-select"
+					>
+						<template #append>
+							<el-button :icon="Search" />
+						</template>
+					</el-input>
+				</el-form-item>
+				<el-form-item label="证书名称">
+					<el-input
+							v-model="addWorkerForm.certificate"
+							placeholder="请输入"
+							class="input-with-select"
+					>
+						<template #append>
+							<el-button :icon="Search" />
+						</template>
+					</el-input>
+				</el-form-item>
+				<el-form-item label="证书号">
+					<el-input
+							v-model="addWorkerForm.certificateId"
+							placeholder="请输入"
+							class="input-with-select"
+					>
+						<template #append>
+							<el-button :icon="Search" />
+						</template>
+					</el-input>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" @click="onSubmitAddForm" size="default">确认</el-button>
+					<el-button size="default" @click="cancleAdd">取消</el-button>
+				</el-form-item>
+			</el-form>
+		</el-dialog>
+		<el-dialog v-model="dialogAddFile" title="安全交底和风险告知">
+			<el-form :model="form.saftyFile" label-width="120px">
+				<el-form-item label="作业许可范围及作业环境:">
+					<el-input
+							v-model="form.saftyFile.surrounding"
+							:rows="2"
+							type="textarea"
+							placeholder="请输入"
+					/>
+				</el-form-item>
+				<el-form-item label="作业风险:">
+					<el-input
+							v-model="form.saftyFile.risk"
+							:rows="2"
+							type="textarea"
+							placeholder="请输入"
+					/>
+				</el-form-item>
+				<el-form-item label="防范措施(工艺、设备、个体防护等)">
+					<el-input
+							v-model="form.saftyFile.protection"
+							:rows="2"
+							type="textarea"
+							placeholder="请输入"
+					/>
+				</el-form-item>
+				<el-form-item label="应急措施">
+					<el-input
+							v-model="form.saftyFile.emergency"
+							:rows="2"
+							type="textarea"
+							placeholder="请输入"
+					/>
+				</el-form-item>
+				<el-form-item label="其他注意事项">
+					<el-input
+							v-model="form.saftyFile.otherStuff"
+							:rows="2"
+							type="textarea"
+							placeholder="请输入"
+					/>
+				</el-form-item>
+				<el-form-item>
+					<el-button type="primary" @click="onSubmitAddFile" size="default">确认</el-button>
+					<el-button size="default" @click="cancleAddFile">取消</el-button>
+				</el-form-item>
+			</el-form>
+		</el-dialog>
+	</el-scrollbar>
 	</div>
 </template>
 
@@ -62,6 +383,7 @@
 	import { initBackEndControlRoutes } from '/@/router/backEnd';
 	import {useUserInfo} from "/@/stores/userInfo";
 	import { Session } from '/@/utils/storage';
+	import { Search } from '@element-plus/icons-vue'
 	let global: any = {
 		homeChartOne: null,
 		homeChartTwo: null,
@@ -88,11 +410,132 @@
 				applyName: '',
 				level: '',
 				riskIdentify: '',
-				workWay: ''
+				workWay: '',
+				workerList: [],
+				workLocation: '',
+				workTimeLine: '',
+				workContent: '',
+				workUnit: '',
+				responser: '',
+				monitor: '',
+				workMonitor: '',
+				monitorStation: '',
+				workhouseLeader: '',
+				applyDate: '',
+				otherSpecialWorks: [],
+				protections: '',
+				saftyFile: {},
+				safetyMan: '',
+				educated: ''
 			})
+			const dialogAddWorker = ref(false)
+			const dialogAddFile = ref(false)
+			const addWorkerForm = ref({
+				worker: '',
+				role: '',
+				unit: '',
+				certificate: '',
+				certificateId: ''
+			})
+			const shortcuts = [
+				{
+					text: 'Last week',
+					value: () => {
+						const end = new Date()
+						const start = new Date()
+						start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
+						return [start, end]
+					},
+				},
+				{
+					text: 'Last month',
+					value: () => {
+						const end = new Date()
+						const start = new Date()
+						start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
+						return [start, end]
+					},
+				},
+				{
+					text: 'Last 3 months',
+					value: () => {
+						const end = new Date()
+						const start = new Date()
+						start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
+						return [start, end]
+					},
+				},
+			]
+			const protectOption = [
+				{
+					value: 'guide',
+					label: 'Guide',
+					children: [
+						{
+							value: 'disciplines',
+							label: 'Disciplines',
+							children: [
+								{
+									value: 'consistency',
+									label: 'Consistency',
+								},
+								{
+									value: 'feedback',
+									label: 'Feedback',
+								}
+							],
+						},
+						{
+							value: 'navigation',
+							label: 'Navigation',
+							children: [
+								{
+									value: 'side nav',
+									label: 'Side Navigation',
+								}
+							],
+						},
+					],
+				}
+			]
+			const protectionsChange = (value) => {
+				console.log(value)
+			}
 
-			const onSubmit = () => {
-				console.log('submit!')
+			const onSubmitAddForm = () => {
+				form.workerList.push(addWorkerForm.value)
+				addWorkerForm.value = {
+					worker: '',
+					role: '',
+					unit: '',
+					certificate: '',
+					certificateId: ''
+				}
+				dialogAddWorker.value = false
+			}
+			const onSubmitAddFile = () =>{
+
+			}
+			const cancleAdd = ()=> {
+				addWorkerForm.value = {
+					worker: '',
+					role: '',
+					unit: '',
+					certificate: '',
+					certificateId: ''
+				}
+				dialogAddWorker.value = false
+			}
+			const cancleAddFile = ()=>{
+
+			}
+			const deleteRow = (index) =>{
+				console.log(index)
+				form.workerList.splice( index,1)
+				dialogAddWorker.value = false
+			}
+			const addSaftyFile = () =>{
+
 			}
 			// 折线图
 			const renderMenu = async (value: string) => {
@@ -103,7 +546,19 @@
 			return {
 				renderMenu,
 				form,
-				onSubmit,
+				Search,
+				shortcuts,
+				protectOption,
+				dialogAddWorker,
+				dialogAddFile,
+				addWorkerForm,
+				cancleAddFile,
+				deleteRow,
+				cancleAdd,
+				addSaftyFile,
+				onSubmitAddForm,
+				onSubmitAddFile,
+				protectionsChange,
 				...toRefs(state),
 			};
 		},
@@ -111,8 +566,8 @@
 </script>
 
 <style scoped lang="scss">
-	$homeNavLengh: 8;
 	.home-container {
+		height: 100%;
 		overflow: hidden;
 		padding: 40px;
 		.el-row{
@@ -122,9 +577,24 @@
 			margin-bottom: 0;
 		}
 		.el-col{
-			display: flex;
 			align-items: center;
 			margin-bottom: 10px;
 		}
+		.el-input{
+			width: 100% !important;
+		}
+		.el-date-editor::v-deep{
+			width: 100%;
+		}
+		.el-select{
+			width: 100%;
+		}
+		.el-cascader{
+			width: 100% !important;
+		}
+		.submitBtn{
+			display: flex;
+			justify-content: center;
+		}
 	}
 </style>

--
Gitblit v1.9.2