From 1b9fea7d4af68d8f933b2dc42bf6084b9646f64c Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期二, 04 三月 2025 08:39:55 +0800
Subject: [PATCH] 修改作业等级名称

---
 src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue |  222 ++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 146 insertions(+), 76 deletions(-)

diff --git a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
index 430d136..3bab4db 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">
@@ -16,6 +17,7 @@
 								:disabled="disabled"
 								:props="propse"
 								:data="newTreeList"
+                check-strictly
 								class="w100"
 								placeholder="请选择"
 							/>
@@ -42,19 +44,23 @@
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
 						<el-form-item label="事故原因" prop="accidentCause">
 							<el-select v-model="ruleForm.accidentCause" :disabled="disabled" class="w100" placeholder="请选择">
-								<el-option label="人的不安全行为" value="1"></el-option>
-								<el-option label="物的不安全状态" value="2"></el-option>
+								<el-option label="人的不安全行为" :value="1"></el-option>
+								<el-option label="物的不安全状态" :value="2"></el-option>
 							</el-select>
 						</el-form-item>
 					</el-col>
 					<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
 						<el-form-item label="是否有伤亡" prop="casualties">
-							<el-radio-group v-model="ruleForm.casualties" :disabled="disabled" @change="typeChang">
-								<el-radio :label="true">是</el-radio>
-								<el-radio :label="false">否</el-radio>
-							</el-radio-group>
+<!--							<el-radio-group v-model="ruleForm.casualties" :disabled="disabled" @change="typeChang">-->
+<!--								<el-radio :label="true">是</el-radio>-->
+<!--                <el-radio :label="false">否</el-radio>-->
+<!--							</el-radio-group>-->
+              <el-radio-group v-model="ruleForm.casualties" :disabled="disabled" @change="typeChang">
+                <el-radio :label="1">是</el-radio>
+                <el-radio :label="0">否</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 +100,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 +125,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';
@@ -145,19 +152,19 @@
 			emergencyPrecautions: '',
 			accidentCausesPreliminaryAnalysis: '',
 			accidentBriefProcess: '',
-			casualties: '',
-			accidentCause: '',
+			casualties: null,
+			accidentCause: null,
 			occurrenceTime: '',
 			occurrencePlace: '',
 			accidentDepartmentId: '',
 			accidentName: '',
 			fileList: [],
-			id: '',
+			id: null,
 		});
 		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 +174,41 @@
 					.then((res) => {
 						if (res.data.code == 200) {
 							ruleForm.value = res.data.data;
+              if(res.data.data.casualties == true){ruleForm.value.casualties = 1}
+              if(res.data.data.casualties == false){ruleForm.value.casualties = 0}
+              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 +316,46 @@
 		// const emit=defineEmits(['myAdd'])
 		// 表单提交验证必填项
 		const submitForm = async (title: string, formEl: FormInstance | undefined) => {
+			if(!ruleForm.value.fileList){
+				ruleForm.value.fileList = []
+			}
+      // ruleForm.value.casualties = false
 			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();
+                  isShowDialog.value = false;
+								});
+						}else {
+							ElMessage({
+								showClose: true,
+								message: '添加成功',
+								type: 'success',
 							});
+							emit('myAdd', true);
+              isShowDialog.value = false;
+						}
 					} else {
 						console.log('error submit!', fields);
 					}
@@ -327,12 +365,6 @@
 				await formEl.validate((valid, fields) => {
 					if (valid) {
 						isShowDialog.value = false;
-						ruleForm.value.fileList = [
-							// {
-							// 	fileUrl: 'url',
-							// 	fileName: 'name',
-							// },
-						];
 						accidentManagementSystemApi()
 							.accidentView(ruleForm.value)
 							.then((res) => {
@@ -343,6 +375,7 @@
 										type: 'success',
 									});
 									emit('myAdd', true);
+									formEl.resetFields();
 								} else {
 									ElMessage({
 										showClose: true,
@@ -351,27 +384,12 @@
 									});
 									emit('myAdd', true);
 								}
-								formEl.resetFields();
 							});
 					} else {
 						console.log('error submit!', fields);
 					}
 				});
-				formEl.resetFields();
 			}
-			ruleForm.value = {
-				accidentExpressId: '',
-				emergencyPrecautions: '',
-				accidentCausesPreliminaryAnalysis: '',
-				accidentBriefProcess: '',
-				casualties: '',
-				accidentCause: '',
-				occurrenceTime: '',
-				occurrencePlace: '',
-				accidentDepartmentId: '',
-				accidentName: '',
-				fileList: [],
-			};
 		};
 		const resetForm = (formEl: FormInstance | undefined) => {
 			isShowDialog.value = false;
@@ -380,21 +398,73 @@
 		};
 		const closeDialog = (formEl: FormInstance | undefined) => {
 			formEl.resetFields();
+      ruleForm.value = {
+          emergencyPrecautions: '',
+          accidentCausesPreliminaryAnalysis: '',
+          accidentBriefProcess: '',
+          casualties: null,
+          accidentCause: '',
+          occurrenceTime: '',
+          occurrencePlace: '',
+          accidentDepartmentId: '',
+          accidentName: '',
+          fileList: [],
+          id: null,
+      }
+			fileList.value = []
 			console.log(ruleForm);
 			isShowDialog.value = false;
 		};
 		// 是否有伤亡弹窗
 		const typeChang = () => {
-			console.log('tag', ruleForm);
+			console.log('tag', ruleForm.value);
 		};
 		const ShowUser = ref();
-		const openDai = () => {
-            if(ruleForm.value.id==null||ruleForm.value.id==''){
-                ElMessage({
-                    showClose: true,
-                    message: '请先添加事故快报',
-                    type: 'info',
-                });
+		const openDai = async (formEl: FormInstance | undefined) => {
+        if(ruleForm.value.id==null||ruleForm.value.id==''){
+				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 +529,7 @@
 			getTreeList,
 			newTreeList,
 			closeDialog,
-			fileListDemo,
+			successUploader
 		};
 	},
 });

--
Gitblit v1.9.2