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/accidentExpress/component/openAdd.vue |  161 +++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 112 insertions(+), 49 deletions(-)

diff --git a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
index 430d136..51af58b 100644
--- a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
+++ b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
@@ -1,6 +1,7 @@
 <template>
 	<div class="system-edit-user-container">
-		<el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full" @close="closeDialog(ruleFormRef)">
+		<el-dialog :title="titles" v-model="isShowDialog" width="50%" draggable :fullscreen="full"
+				   destroy-on-close @close="closeDialog(ruleFormRef)">
 			<el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button>
 			<el-form ref="ruleFormRef" :model="ruleForm" :rules="rules" size="default" label-width="140px">
 				<el-row :gutter="35">
@@ -54,7 +55,7 @@
 								<el-radio :label="false">否</el-radio>
 							</el-radio-group>
 							<el-button v-if="ruleForm.casualties" type="primary" style="margin-left: 20px"
-									   :icon="Edit" @click="openDai" round plain />
+									   :icon="Edit" @click="openDai(ruleFormRef)" round plain />
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -94,7 +95,8 @@
 						<el-form-item label="事故照片" prop="fileList">
 							<!--<el-input v-model="ruleForm.fileList" :disabled="disabled"-->
 							<!--type="textarea" placeholder="请填写应急防范措施" maxlength="150"></el-input>-->
-							<uploaderImg :fileList="fileListDemo"></uploaderImg>
+							<uploaderImg :fileList="fileList" :disabled="disabled"
+										 :systemName="'INCIDENT_MANAGE'" @successUploader="successUploader"></uploaderImg>
 						</el-form-item>
 					</el-col>
 				</el-row>
@@ -118,7 +120,7 @@
 import { reactive, ref, defineComponent, defineEmits, onMounted } from 'vue';
 
 import type { UploadUserFile, FormInstance, FormRules } from 'element-plus';
-import { ElMessage } from 'element-plus';
+import { ElMessage,ElMessageBox, } from 'element-plus';
 import { Search, FullScreen, Edit } from '@element-plus/icons-vue';
 import NumberOfCasualties from '/@/views/accidentManagementSystem/accidentExpress/component/numberOfCasualties.vue';
 import UserSelections from '/@/components/userSelections/index.vue';
@@ -157,7 +159,7 @@
 		const titles = ref();
 		const disabled = ref();
 		// 打开弹窗
-		const openDialog = (title: string, id: number, type: boolean) => {
+		const openDialog = async (title: string, id: number, type: boolean) => {
 			isShowDialog.value = true;
 			titles.value = title;
 			disabled.value = type;
@@ -167,24 +169,39 @@
 					.then((res) => {
 						if (res.data.code == 200) {
 							ruleForm.value = res.data.data;
+							fileList.value = (res.data.data.fileList?res.data.data.fileList:[])
+							initFileListData()
 						}
 					});
 			}
 		};
+		const initFileListData = async () => {
+			for(var a = 0;a<fileList.value.length;a++){
+				await goalManagementApi()
+						.searchFile(fileList.value[a].fileName)
+						.then((res) => {
+							fileList.value[a].url = res.data
+						})
+			}
+		}
 		//日期选择器
 		const value1 = ref('');
 		// 上传附件
-		const fileList = ref<UploadUserFile[]>([]);
-		const fileListDemo = ref<UploadUserFile[]>([
-			{
-				name: 'food.jpeg',
-				url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
-			},
-			{
-				name: 'food.jpeg',
-				url: 'https://fuss10.elemecdn.com/3/63/4e7f3a15429bfda99bce42a18cdd1jpeg.jpeg?imageMogr2/thumbnail/360x360/format/webp/quality/100',
-			},
-		]);
+		const fileList = ref([]);
+		// 上传成功组装数据
+		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 treeSelect = ref();
 
@@ -292,32 +309,45 @@
 		// const emit=defineEmits(['myAdd'])
 		// 表单提交验证必填项
 		const submitForm = async (title: string, formEl: FormInstance | undefined) => {
+			if(!ruleForm.value.fileList){
+				ruleForm.value.fileList = []
+			}
 			if (title == '新建事故快报') {
 				if (!formEl) return;
 				await formEl.validate((valid, fields) => {
 					if (valid) {
 						isShowDialog.value = false;
-						ruleForm.value.id = null;
-						accidentManagementSystemApi()
-							.accidentAdd(ruleForm.value)
-							.then((res) => {
-								if (res.data.code == 200) {
-									ElMessage({
-										showClose: true,
-										message: res.data.msg,
-										type: 'success',
-									});
-									emit('myAdd', true);
-								} else {
-									ElMessage({
-										showClose: true,
-										message: res.data.msg,
-										type: 'error',
-									});
-									emit('myAdd', true);
-								}
-								formEl.resetFields();
+						if(ruleForm.value.id==null||ruleForm.value.id==''){
+							ruleForm.value.id = null;
+							accidentManagementSystemApi()
+								.accidentAdd(ruleForm.value)
+								.then((res) => {
+									if (res.data.code == 200) {
+										ElMessage({
+											showClose: true,
+											message: res.data.msg,
+											type: 'success',
+										});
+										emit('myAdd', true);
+									} else {
+										ElMessage({
+											showClose: true,
+											message: res.data.msg,
+											type: 'error',
+										});
+										emit('myAdd', true);
+									}
+									formEl.resetFields();
+								});
+						}else {
+							ElMessage({
+								showClose: true,
+								message: '添加成功',
+								type: 'success',
 							});
+							emit('myAdd', true);
+						}
+
 					} else {
 						console.log('error submit!', fields);
 					}
@@ -327,12 +357,6 @@
 				await formEl.validate((valid, fields) => {
 					if (valid) {
 						isShowDialog.value = false;
-						ruleForm.value.fileList = [
-							// {
-							// 	fileUrl: 'url',
-							// 	fileName: 'name',
-							// },
-						];
 						accidentManagementSystemApi()
 							.accidentView(ruleForm.value)
 							.then((res) => {
@@ -380,6 +404,7 @@
 		};
 		const closeDialog = (formEl: FormInstance | undefined) => {
 			formEl.resetFields();
+			fileList.value = []
 			console.log(ruleForm);
 			isShowDialog.value = false;
 		};
@@ -388,13 +413,51 @@
 			console.log('tag', ruleForm);
 		};
 		const ShowUser = ref();
-		const openDai = () => {
+		const openDai = async (formEl: FormInstance | undefined) => {
             if(ruleForm.value.id==null||ruleForm.value.id==''){
-                ElMessage({
-                    showClose: true,
-                    message: '请先添加事故快报',
-                    type: 'info',
-                });
+				if(!ruleForm.value.fileList){
+					ruleForm.value.fileList = []
+				}
+				if (!formEl) return;
+				await formEl.validate((valid, fields) => {
+					if (valid) {
+						// isShowDialog.value = false;
+						ElMessageBox.confirm('确认添加此事故快报?', '提示', {
+							confirmButtonText: '确定',
+							cancelButtonText: '取消',
+							type: 'warning',
+						})
+						.then(() => {
+							accidentManagementSystemApi()
+									.accidentAdd(ruleForm.value)
+									.then((res) => {
+										if (res.data.code == 200) {
+											ElMessage({
+												showClose: true,
+												message: res.data.msg,
+												type: 'success',
+											});
+											ruleForm.value.id = res.data.data.id
+											ShowUser.value.openDialog(ruleForm.value.id, disabled.value);
+										} else {
+											ElMessage({
+												showClose: true,
+												message: res.data.msg,
+												type: 'error',
+											});
+										}
+									});
+						})
+						.catch(() => {});
+					} else {
+						console.log('error submit!', fields);
+					}
+				});
+                // ElMessage({
+                //     showClose: true,
+                //     message: '请先添加事故快报',
+                //     type: 'info',
+                // });
             }else {
                 ShowUser.value.openDialog(ruleForm.value.id, disabled.value);
             }
@@ -459,7 +522,7 @@
 			getTreeList,
 			newTreeList,
 			closeDialog,
-			fileListDemo,
+			successUploader
 		};
 	},
 });

--
Gitblit v1.9.2