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