From f90ee55e6d63cd02c2b883bd5bd942c487fce56a Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期六, 20 八月 2022 16:51:33 +0800
Subject: [PATCH] 修改bug

---
 src/views/accidentManagementSystem/accidentReport/component/openAdd.vue |  147 +++++++++++++++++++++++++++++++------------------
 1 files changed, 93 insertions(+), 54 deletions(-)

diff --git a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue
index de8cecb..0aa02af 100644
--- a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue
+++ b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue
@@ -1,12 +1,12 @@
 <template>
 	<div class="system-edit-user-container">
-		<el-dialog :title="titles" v-model="isShowDialog" width="800px" draggable :fullscreen="full" @close="closeDialog(ruleFormRef)">
+		<el-dialog :title="titles" v-model="isShowDialog" width="800px" draggable :fullscreen="full" @close="resetForm(ruleFormRef)">
 			<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
 			<el-form ref="ruleFormRef" :model="ruleForm" size="default" :rules="rules" label-width="140px">
 				<el-row :gutter="35">
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
-						<el-form-item label="事故快报" prop="accidentName">
-							<el-input v-model="ruleForm.accidentName" :disabled="true" placeholder="请选择" class="input-with-select">
+						<el-form-item label="事故快报" prop="accidentExpressId">
+							<el-input v-model="accidentName" :disabled="true" placeholder="请选择" class="input-with-select">
 								<template #append>
 									<el-button :icon="Search" @click="daiInpt" />
 								</template>
@@ -16,19 +16,19 @@
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
 						<el-form-item label="事故部门" placeholder="请选择" prop="accidentDepartmentId">
 							<!--<el-input v-model="ruleForm.accidentDepartmentName" class="input-with-select" />-->
-							<el-tree-select v-model="ruleForm.accidentDepartmentId" :disabled="true" :data="newTreeList"
+							<el-tree-select v-model="accidentDepartmentId" :disabled="true" :data="newTreeList"
 											:props="propse" class="w100" placeholder="请选择" />
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
 						<el-form-item label="事故发生地点" prop="occurrencePlace">
-							<el-input v-model="ruleForm.occurrencePlace" :disabled="true" placeholder="请填写发生地点"></el-input>
+							<el-input v-model="occurrencePlace" :disabled="true" placeholder="请填写发生地点"></el-input>
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
 						<el-form-item label="发生时间" prop="occurrenceTime">
 							<el-date-picker
-								v-model="ruleForm.occurrenceTime"
+								v-model="occurrenceTime"
 								:disabled="true"
 								value-format="YYYY-MM-DD HH:mm:ss"
 								type="datetime"
@@ -166,11 +166,11 @@
 							/>
 						</el-form-item>
 					</el-col>
-					<!--          <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">-->
-					<!--            <el-form-item label="事故照片">-->
-					<!--              <el-input v-model="ruleForm.describe" type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>-->
-					<!--            </el-form-item>-->
-					<!--          </el-col>-->
+					  <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+						<el-form-item label="事故照片">
+							<uploaderImg :fileList="ruleForm.expressFileList" :disabled="true"></uploaderImg>
+						</el-form-item>
+					  </el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
 						<el-form-item label="相关人员笔录" prop="relevantPersonnelRecords">
 							<el-input v-model="ruleForm.relevantPersonnelRecords" :disabled="disabled"
@@ -186,8 +186,9 @@
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-						<el-form-item label="事故分析会议纪要" prop="fileList">
-							<uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg>
+						<el-form-item label="事故分析会议纪要">
+							<uploaderFile :fileList="fileList" :systemName="'INCIDENT_MANAGE'" :disabled="disabled"
+										  @successUploader="successUploader"></uploaderFile>
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -221,6 +222,7 @@
 import AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue';
 import RegionsDialog from '/@/components/regionsDialog/index.vue';
 import uploaderImg from '/@/components/uploaderImg/index.vue';
+import uploaderFile from '/@/components/uploaderFile/index.vue';
 import { emergencySuppliesApi } from '/@/api/contingencyManagement/emergencyResources';
 import { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration';
 import { goalManagementApi } from '/@/api/goalManagement';
@@ -231,7 +233,8 @@
 		AccidentName,
 		DailogSearchUserManger,
 		RegionsDialog,
-		uploaderImg
+		uploaderImg,
+		uploaderFile
 	},
 	setup(props, { emit }) {
 		const isShowDialog = ref(false);
@@ -240,13 +243,6 @@
 		//定义表单
 		const ruleForm = ref({
 			accidentExpressId:'',
-			accidentExpressName:'',
-			accidentDepartmentId:'',
-			accidentDepartmentName:'',
-			occurrencePlace:'',
-			occurrenceTime:'',
-
-
 
 			accidentType: '',
 			accidentGrade: '',
@@ -273,6 +269,8 @@
 		const titles = ref();
 		const disabled = ref();
 		const statusDisabled = ref(true)
+		// 上传附件
+		const fileList = ref([]);
 		// 打开弹窗
 		const openDialog = (title: string, id: number, type: boolean,statusDisabledFlag:string) => {
 			isShowDialog.value = true;
@@ -294,24 +292,57 @@
 					.then((res) => {
 						if (res.data.code == 200) {
 							ruleForm.value = res.data.data;
+							accidentName.value = res.data.data.accidentName
+							accidentDepartmentId.value = res.data.data.accidentDepartmentId
+							occurrencePlace.value = res.data.data.occurrencePlace
+							occurrenceTime.value = res.data.data.occurrenceTime
+							fileList.value = (res.data.data.fileList?res.data.data.fileList:[])
+							initFileListData()
 						}
 					});
 			}
 		};
-		// 关闭弹窗
-		const closeDialog = (formEl: FormInstance | undefined) => {
-			formEl.resetFields();
-			console.log(ruleForm)
-			isShowDialog.value = false;
-		};
+		const initFileListData = async () => {
+			//事故照片
+			if(ruleForm.value.expressFileList){
+				for(var a = 0;a<ruleForm.value.expressFileList.length;a++){
+					await goalManagementApi()
+							.searchFile(ruleForm.value.expressFileList[a].fileName)
+							.then((res) => {
+								ruleForm.value.expressFileList[a].url = res.data
+								console.log('ruleForm',ruleForm)
+							})
+				}
+			}else {
+				ruleForm.value.expressFileList = []
+			}
+
+			// 事故分析会议纪要
+			for(var a = 0;a<fileList.value.length;a++){
+				fileList.value[a].name = fileList.value[a].fileName
+			}
+		}
+		// 上传成功组装数据
+		const successUploader = (list) =>{
+			fileList.value = list
+			const formFileList = []
+			for(var a = 0;a<fileList.value.length;a++){
+				formFileList.push(
+						{
+							fileName:fileList.value[a].fileName,
+							fileUrl:''
+						}
+				)
+			}
+			ruleForm.value.fileList = formFileList
+		}
 		// 取消
 		const onCancel = (formEl: FormInstance | undefined) => {
-			closeDialog(formEl);
+			resetForm(formEl);
 		};
 		//日期选择器
 		const value1 = ref('');
-		// 上传附件
-		const fileList = ref<UploadUserFile[]>([]);
+
 		// 可选择树
 		const treeSelect = ref();
 		//定义树形下拉框
@@ -320,18 +351,11 @@
 		];
 		// 必填项提示
 		const rules = reactive<FormRules>({
-			accidentDepartmentId: [
+			accidentExpressId: [
 				{
 					required: true,
-					message: '事故部门不能为空',
+					message: '快报不能为空',
 					trigger: 'change',
-				},
-			],
-			occurrenceTime: [
-				{
-					required: true,
-					message: '发生时间不能为空',
-					trigger: 'blur',
 				},
 			],
 			accidentType: [
@@ -420,18 +444,28 @@
 				},
 			],
 		});
+		const accidentDepartmentId = ref()
+		const occurrencePlace = ref()
+		const occurrenceTime = ref()
+		const accidentName = ref()
 		//事故快报回填
 		const onSelectItem = (item: any) => {
 			console.log('item', item[0]);
 			ruleForm.value.accidentExpressId = item[0].id
-			ruleForm.value.accidentName = item[0].accidentName
-			ruleForm.value.accidentDepartmentId = item[0].accidentDepartmentId
-			ruleForm.value.accidentDepartmentName = item[0].deptName
-			ruleForm.value.occurrencePlace = item[0].occurrencePlace
-			ruleForm.value.occurrenceTime = item[0].occurrenceTime
+			accidentName.value = item[0].accidentName
+			accidentDepartmentId.value = item[0].accidentDepartmentId
+			occurrencePlace.value = item[0].occurrencePlace
+			occurrenceTime.value = item[0].occurrenceTime
 		};
 		// 表单提交验证必填项
 		const submitForm = async (title: string, formEl: FormInstance | undefined) => {
+			delete ruleForm.value.accidentName
+			delete ruleForm.value.accidentDepartmentId
+			delete ruleForm.value.occurrencePlace
+			delete ruleForm.value.occurrenceTime
+			if(!ruleForm.value.fileList){
+				ruleForm.value.fileList = []
+			}
 			if (title == '新建事故报告') {
 				if (!formEl) return;
 				await formEl.validate((valid, fields) => {
@@ -466,7 +500,6 @@
 				await formEl.validate((valid, fields) => {
 					if (valid) {
 						//TODO 上传组件待定
-						ruleForm.value.fileList = []
 						isShowDialog.value = false;
 						accidentManagementSystemApi()
 							.editAccidentReport(ruleForm.value)
@@ -495,13 +528,6 @@
 				formEl.resetFields();
 				ruleForm.value = {
 					accidentExpressId:'',
-					accidentExpressName:'',
-					accidentDepartmentId:'',
-					accidentDepartmentName:'',
-					occurrencePlace:'',
-					occurrenceTime:'',
-
-
 
 					accidentType: '',
 					accidentGrade: '',
@@ -527,10 +553,18 @@
 				};
 			}
 		};
+
 		const resetForm = (formEl: FormInstance | undefined) => {
 			isShowDialog.value = false;
 			if (!formEl) return;
 			formEl.resetFields();
+			// ruleForm.value.accidentExpressId = item[0].id
+			ruleForm.value = {}
+			fileList.value = []
+			accidentName.value = ''
+			accidentDepartmentId.value = ''
+			occurrencePlace.value = ''
+			occurrenceTime.value = ''
 		};
 		const handleChange = (val: number) => {
 			console.log(val);
@@ -602,7 +636,6 @@
 		};
 		return {
 			openDialog,
-			closeDialog,
 			isShowDialog,
 			onCancel,
 			fileList,
@@ -635,7 +668,13 @@
 			department,
 			getTreeList,
 			propse,
-			statusDisabled
+			statusDisabled,
+			accidentDepartmentId,
+			occurrencePlace,
+			occurrenceTime,
+			accidentName,
+			successUploader,
+			initFileListData
 		};
 	},
 });

--
Gitblit v1.9.2