From cb3a40b47b5309fcb4d4b0d7e1ab94263bc415a7 Mon Sep 17 00:00:00 2001
From: Admin <978517621@qq.com>
Date: 星期五, 08 七月 2022 16:13:52 +0800
Subject: [PATCH] 添加作业申请页面组件

---
 src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/hangLoadForm.vue     |   15 +-
 src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue                       |   88 +++++------------
 src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/cutLineForm.vue      |   16 +-
 src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/fireWorkForm.vue     |   26 ++--
 src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/highWorkForm.vue     |   14 +-
 src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/tempElectForm.vue    |   14 +-
 src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/dirtWorkForm.vue     |   15 +-
 src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/limitedSpaceForm.vue |   15 +-
 src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/blindPanelForm.vue   |   75 ++++++++-------
 9 files changed, 114 insertions(+), 164 deletions(-)

diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/blindPanelForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/blindPanelForm.vue
index 39513f7..0876e24 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/blindPanelForm.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/blindPanelForm.vue
@@ -116,7 +116,7 @@
 					<el-col :span="24">
 						<el-form-item label="盲板位置图" prop="fileList">
 							<el-upload
-									v-model:file-list="fileList"
+									v-model:file-list="bpForm.fileList"
 									class="upload-demo"
 									action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
 									multiple
@@ -207,44 +207,48 @@
 	}
 	export default defineComponent({
 		name: 'blindPanelForm',
-		setup() {
+		props: {
+			bpForm: Object
+		},
+		setup(props) {
 			const userInfo = useUserInfo()
 			const { userInfos } = storeToRefs(userInfo);
 			const state  = reactive<stateType>({});
-			const bpForm = reactive({
-				bpDepartment: '',
-				bpApplyName: '',
-				bpTubeName: '',
-				bpMainMatter: '',
-				bpTemperature: '',
-				bpPressure: '',
-				bpMaterial: '',
-				bpFormat: '',
-				bpNum: '',
-				bpLocation: '',
-				fileList: [],
-				bpPrincipals: [],
-				bpInstallTime: '',
-				bpDePrincipals: [],
-				bpUninstallTime: ''
-			})
+			const bpForm1 = reactive(props.bpForm)
+			// const bpForm = reactive({
+			// 	bpDepartment: '',
+			// 	bpApplyName: '',
+			// 	bpTubeName: '',
+			// 	bpMainMatter: '',
+			// 	bpTemperature: '',
+			// 	bpPressure: '',
+			// 	bpMaterial: '',
+			// 	bpFormat: '',
+			// 	bpNum: '',
+			// 	bpLocation: '',
+			// 	fileList: [],
+			// 	bpPrincipals: [],
+			// 	bpInstallTime: '',
+			// 	bpDePrincipals: [],
+			// 	bpUninstallTime: ''
+			// })
 			const ruleFormRef = ref<FormInstance>()
 			const bpFormRules = reactive<FormRules>({
-				bpDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
-				bpApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
-				bpTubeName: [{required: true,message: '此处不可为空',trigger: 'blur'}],
-				bpMainMatter: [{required: true,message: '此处不可为空',trigger: 'blur'}],
-				bpTemperature: [{required: true,message: '此处不可为空',trigger: 'blur'}],
-				bpPressure: [{required: true,message: '此处不可为空',trigger: 'blur'}],
-				bpMaterial: [{required: true,message: '此处不可为空',trigger: 'blur'}],
-				bpFormat: [{required: true,message: '此处不可为空',trigger: 'blur'}],
-				bpNum: [{required: true,message: '此处不可为空',trigger: 'blur'}],
-				bpLocation: [{required: true,message: '此处不可为空',trigger: 'blur'}],
-				fileList: [{type: 'array',required: true,message: '此处不可为空',trigger: 'change'}],
-				bpPrincipals: [{type: 'array',required: true,message: '此处不可为空',trigger: 'change'}],
-				bpInstallTime: [{required: true,message: '此处不可为空',trigger: 'blur'}],
-				bpDePrincipals: [{type: 'array',required: true,message: '此处不可为空',trigger: 'change'}],
-				bpUninstallTime: [{required: true,message: '此处不可为空',trigger: 'blur'}]
+				bpDepartment:[{required: true,message: '此处不可为空'}],
+				bpApplyName:[{required: true,message: '此处不可为空'}],
+				bpTubeName: [{required: true,message: '此处不可为空'}],
+				bpMainMatter: [{required: true,message: '此处不可为空'}],
+				bpTemperature: [{required: true,message: '此处不可为空'}],
+				bpPressure: [{required: true,message: '此处不可为空'}],
+				bpMaterial: [{required: true,message: '此处不可为空'}],
+				bpFormat: [{required: true,message: '此处不可为空'}],
+				bpNum: [{required: true,message: '此处不可为空'}],
+				bpLocation: [{required: true,message: '此处不可为空'}],
+				fileList: [{type: 'array',required: true,message: '此处不可为空'}],
+				bpPrincipals: [{type: 'array',required: true,message: '此处不可为空'}],
+				bpInstallTime: [{required: true,message: '此处不可为空'}],
+				bpDePrincipals: [{type: 'array',required: true,message: '此处不可为空'}],
+				bpUninstallTime: [{required: true,message: '此处不可为空'}]
 			})
 			const fileList = ref<UploadUserFile[]>([
 				{
@@ -286,10 +290,11 @@
 			};
 			return {
 				renderMenu,
-				bpForm,
+				bpForm1,
 				bpFormRules,
 				ruleFormRef,
 				fileList,
+				Search,
 				handleRemove,
 				handlePreview,
 				handleExceed,
diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/cutLineForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/cutLineForm.vue
index 49e1f46..046e3b7 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/cutLineForm.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/cutLineForm.vue
@@ -100,17 +100,14 @@
 	}
 	export default defineComponent({
 		name: 'cutLineForm',
-		setup() {
+		props: {
+			clForm: Object
+		},
+		setup(props) {
 			const userInfo = useUserInfo()
 			const { userInfos } = storeToRefs(userInfo);
 			const state  = reactive<stateType>({});
-			const clForm = reactive({
-				clDepartment: '',
-				clApplyName: '',
-				clReason: '',
-				clUnits: [],
-				fileList: []
-			})
+			const clForm1 = reactive(props.clForm)
 			const ruleFormRef = ref<FormInstance>()
 			const clFormRules = reactive<FormRules>({
 				clDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
@@ -159,7 +156,8 @@
 			};
 			return {
 				renderMenu,
-				clForm,
+				clForm1,
+				Search,
 				clFormRules,
 				ruleFormRef,
 				fileList,
diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/dirtWorkForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/dirtWorkForm.vue
index ceb729f..699539f 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/dirtWorkForm.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/dirtWorkForm.vue
@@ -102,17 +102,14 @@
 	}
 	export default defineComponent({
 		name: 'dirtWorkForm',
-		setup() {
+		props:{
+			dwForm: Object
+		},
+		setup(props) {
 			const userInfo = useUserInfo()
 			const { userInfos } = storeToRefs(userInfo);
 			const state  = reactive<stateType>({});
-			const dwForm = reactive({
-				dwDepartment: '',
-				dwApplyName: '',
-				dwRange: '',
-				dwWay: '',
-				fileList: []
-			})
+			const dwForm1 = reactive(props.dwForm)
 			const ruleFormRef = ref<FormInstance>()
 			const dwFormRules = reactive<FormRules>({
 				dwDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
@@ -161,7 +158,7 @@
 			};
 			return {
 				renderMenu,
-				dwForm,
+				dwForm1,
 				dwFormRules,
 				ruleFormRef,
 				fileList,
diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/fireWorkForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/fireWorkForm.vue
index 313ad5c..5ce13ec 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/fireWorkForm.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/fireWorkForm.vue
@@ -81,24 +81,21 @@
 	}
 	export default defineComponent({
 		name: 'fireWorkForm',
-		setup() {
+		props: {
+			fwForm: Object
+		},
+		setup(props) {
 			const userInfo = useUserInfo()
 			const { userInfos } = storeToRefs(userInfo);
 			const state  = reactive<stateType>({});
-			const fwForm = reactive({
-				fwDepartment: '',
-				fwApplyName: '',
-				fwLevel: '',
-				fwRiskIdentify: '',
-				fwWorkWay: ''
-			})
+			const fwForm1 = reactive(props.fwForm)
 			const ruleFormRef = ref<FormInstance>()
 			const fwRules = reactive<FormRules>({
-				fwDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
-				fwApplyName:[{required: true,message: '此处不可为空',trigger: 'blur'}],
-				fwLevel: [{required: true,message: '此处不可为空',trigger: 'blur'}],
-				fwRiskIdentify: [{required: true,message: '此处不可为空',trigger: 'blur'}],
-				fwWorkWay: [{required: true,message: '此处不可为空',trigger: 'blur'}]
+				fwDepartment:[{required: true,message: '此处不可为空'}],
+				fwApplyName:[{required: true,message: '此处不可为空'}],
+				fwLevel: [{required: true,message: '此处不可为空'}],
+				fwRiskIdentify: [{required: true,message: '此处不可为空'}],
+				fwWorkWay: [{required: true,message: '此处不可为空'}]
 			})
 			// 折线图
 			const renderMenu = async (value: string) => {
@@ -108,7 +105,8 @@
 			};
 			return {
 				renderMenu,
-				fwForm,
+				Search,
+				fwForm1,
 				ruleFormRef,
 				fwRules,
 				...toRefs(state),
diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/hangLoadForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/hangLoadForm.vue
index 858080e..a0cb9cd 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/hangLoadForm.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/hangLoadForm.vue
@@ -87,17 +87,14 @@
 	}
 	export default defineComponent({
 		name: 'hangLoadForm',
-		setup() {
+		props: {
+			hlForm: Object
+		},
+		setup(props) {
 			const userInfo = useUserInfo()
 			const { userInfos } = storeToRefs(userInfo);
 			const state  = reactive<stateType>({});
-			const hlForm = reactive({
-				hlDepartment: '',
-				hlApplyName: '',
-				hlLevel: '',
-				hlWeight: '',
-				hlToolsName: ''
-			})
+			const hlForm1 = reactive(props.hlForm)
 			const ruleFormRef = ref<FormInstance>()
 			const hlFormRules = reactive<FormRules>({
 				hlDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
@@ -114,7 +111,7 @@
 			};
 			return {
 				renderMenu,
-				hlForm,
+				hlForm1,
 				hlFormRules,
 				ruleFormRef,
 				...toRefs(state),
diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/highWorkForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/highWorkForm.vue
index 198b18b..009bf9d 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/highWorkForm.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/highWorkForm.vue
@@ -72,16 +72,14 @@
 	}
 	export default defineComponent({
 		name: 'highWorkForm',
-		setup() {
+		props:{
+			hwForm: Object
+		},
+		setup(props) {
 			const userInfo = useUserInfo()
 			const { userInfos } = storeToRefs(userInfo);
 			const state  = reactive<stateType>({});
-			const hwForm = reactive({
-				hwDepartment: '',
-				hwApplyName: '',
-				hwLevel: '',
-				hwHeight: ''
-			})
+			const hwForm1 = reactive(props.hwForm)
 			const ruleFormRef = ref<FormInstance>()
 			const hwRules = reactive<FormRules>({
 				hwDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
@@ -97,7 +95,7 @@
 			};
 			return {
 				renderMenu,
-				hwForm,
+				hwForm1,
 				ruleFormRef,
 				hwRules,
 				...toRefs(state),
diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/limitedSpaceForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/limitedSpaceForm.vue
index e5bcb8d..345bdd2 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/limitedSpaceForm.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/limitedSpaceForm.vue
@@ -93,17 +93,14 @@
 	}
 	export default defineComponent({
 		name: 'limitedSpaceForm',
-		setup() {
+		props: {
+			lsForm: Object
+		},
+		setup(props) {
 			const userInfo = useUserInfo()
 			const { userInfos } = storeToRefs(userInfo);
 			const state  = reactive<stateType>({});
-			const lsForm = reactive({
-				lsDepartment: '',
-				lsApplyName: '',
-				lsUnitName: '',
-				lsUnit: '',
-				lsUnitMatterName: ''
-			})
+			const lsForm1 = reactive(props.lsForm)
 			const ruleFormRef = ref<FormInstance>()
 			const lsFormRules = reactive<FormRules>({
 				lsDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
@@ -120,7 +117,7 @@
 			};
 			return {
 				renderMenu,
-				lsForm,
+				lsForm1,
 				lsFormRules,
 				ruleFormRef,
 				...toRefs(state),
diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/tempElectForm.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/tempElectForm.vue
index 296b5a1..87d7776 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/tempElectForm.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/components/tempElectForm.vue
@@ -72,16 +72,14 @@
 	}
 	export default defineComponent({
 		name: 'tempElectForm',
-		setup() {
+		props: {
+			teForm: Object
+		},
+		setup(props) {
 			const userInfo = useUserInfo()
 			const { userInfos } = storeToRefs(userInfo);
 			const state  = reactive<stateType>({});
-			const teForm = reactive({
-				teDepartment: '',
-				teApplyName: '',
-				teLevel: '',
-				teHeight: ''
-			})
+			const teForm1 = reactive(props.teForm)
 			const ruleFormRef = ref<FormInstance>()
 			const teRules = reactive<FormRules>({
 				teDepartment:[{required: true,message: '此处不可为空',trigger: 'blur'}],
@@ -97,7 +95,7 @@
 			};
 			return {
 				renderMenu,
-				teForm,
+				teForm1,
 				ruleFormRef,
 				teRules,
 				...toRefs(state),
diff --git a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue
index 42b3dff..39bb014 100644
--- a/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue
+++ b/src/views/specialWorkSystem/workApplyManagement/workApplyForm/index.vue
@@ -2,60 +2,15 @@
 	<div class="home-container">
 		<el-scrollbar height="100%">
 		<el-form :model="form" label-width="150px" :rules="applyRules" ref="ruleFormRef2">
-<!--			<blind-panel-form></blind-panel-form>-->
-			<div class="homeCard">
-			<el-row>
-				<el-col :span="8">
-					<el-form-item label="申请部门">
-						<el-select v-model="form.department" placeholder="请选择部门">
-							<el-option label="机修班" value="机修班" />
-							<el-option label="火工班" value="火工班" />
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label="申请人">
-						<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>
-			<el-row>
-				<el-col :span="8">
-					<el-form-item label="作业等级">
-						<el-select v-model="form.level" placeholder="请选择">
-							<el-option label="一" value="一" />
-							<el-option label="二" value="二" />
-						</el-select>
-					</el-form-item>
-				</el-col>
-				<el-col :span="8">
-					<el-form-item label="危害辨识">
-						<el-select v-model="form.riskIdentify" placeholder="请选择">
-							<el-option label="辨识一" value="辨识一" />
-							<el-option label="辨识二" value="辨识二" />
-						</el-select>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			<el-row>
-				<el-col :span="8">
-					<el-form-item label="动火方式">
-						<el-select v-model="form.workWay" placeholder="请选择">
-							<el-option label="方式一" value="方式一" />
-							<el-option label="方式二" value="方式二" />
-						</el-select>
-					</el-form-item>
-				</el-col>
-			</el-row>
-			</div>
+			<blind-panel-form :bpForm="form.addForm"></blind-panel-form>
+<!--			<cut-line-form :clForm="form.addForm"></cut-line-form>-->
+<!--			<dirt-work-form :dwForm="form.addForm"></dirt-work-form>-->
+<!--			<fire-work-form :fwForm="form.addForm"></fire-work-form>-->
+<!--			<hang-load-form :hlForm="form.addForm"></hang-load-form>-->
+<!--			<high-work-form :hwForm="form.addForm"></high-work-form>-->
+<!--			<limited-space-form :lsForm="form.addForm"></limited-space-form>-->
+<!--			<temp-elect-form :teForm="form.addForm"></temp-elect-form>-->
+			<div>
 			<div class="homeCard">
 			<el-row>
 				<el-col :span="3"><el-button type="primary" size="default" @click="dialogAddWorker = true">添加作业人</el-button></el-col>
@@ -261,7 +216,8 @@
 				</el-col>
 			</el-row>
 			</div>
-			<div class="homeCard applyBtn">
+			</div>
+			<div class="applyBtn">
 			<el-row>
 				<el-col :span="24" class="submitBtn">
 					<el-button type="primary" size="large" plain @click="handleApply(ruleFormRef2)">发起申请</el-button>
@@ -327,7 +283,7 @@
 					</el-input>
 				</el-form-item>
 				<el-form-item>
-					<el-button type="primary" @click="onSubmitAddForm" size="default">确认</el-button>
+					<el-button type="primary" @click="onSubmitAddForm(ruleFormRef3)" size="default">确认</el-button>
 					<el-button size="default" @click="cancleAdd">取消</el-button>
 				</el-form-item>
 			</el-form>
@@ -429,11 +385,7 @@
 				homeOne:[{id:1,name:'基础数据权限管理系统'},{id:2,name:'双重预防系统'},{id:3,name:'系统2'},{id:4,name:'系统3'},{id:5,name:'系统4'}],
 			});
 			const form = reactive({
-				department: '',
-				applyName: '',
-				level: '',
-				riskIdentify: '',
-				workWay: '',
+				addForm: {},
 				workerList: [],
 				workLocation: '',
 				workTimeLine: '',
@@ -532,6 +484,7 @@
 			const ruleFormRef2 = ref<FormInstance>()
 			const ruleFormRef3 = ref<FormInstance>()
 			const applyRules = reactive<FormRules>({
+				extraForm: [{type: 'object', required: true,message: '此处不能为空'}],
 				workLocation: [{required: true,message: '此处不能为空'}],
 				workTimeLine: [{required: true,message: '此处不能为空'}],
 				workContent: [{required: true,message: '此处不能为空'}],
@@ -542,7 +495,7 @@
 				monitorStation: [{required: true,message: '此处不能为空'}],
 				workhouseLeader: [{required: true,message: '此处不能为空'}],
 				applyDate: [{required: true,message: '此处不能为空'}],
-				otherSpecialWorks: [{required: true,message: '此处不能为空'}],
+				otherSpecialWorks: [{type: 'array', required: true,message: '此处不能为空'}],
 				protections: [{required: true,message: '此处不能为空'}],
 				safetyMan: [{required: true,message: '此处不能为空'}],
 				educated: [{required: true,message: '此处不能为空'}]
@@ -605,7 +558,7 @@
 				if (!formEl) return
 				await formEl.validate((valid, fields) => {
 					if (valid) {
-						console.log('submit!')
+						console.log('submit',form)
 					} else {
 						console.log('error submit!', fields)
 					}
@@ -658,11 +611,20 @@
 			background: #fff;
 			border-radius: 4px;
 			margin-bottom: 20px;
+
+			&:last-of-type{
+				margin-bottom: 100px;
+			}
 		}
 		.applyBtn{
 			position: absolute;
+			width: 100%;
+			padding: 20px;
+			background: #fff;
 			bottom: 0;
 			left: 0;
+			height: 80px;
+			z-index: 999;
 			margin-bottom: 0;
 			border-radius: 0;
 			box-shadow: 0 -3px 8px rgba(150,150,150,.1);

--
Gitblit v1.9.2