From 7fd5c2d17a4df2c6818ab76d6dffe851afa18c9c Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期四, 23 二月 2023 13:25:43 +0800
Subject: [PATCH] 外包修改
---
src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue | 224 ++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 152 insertions(+), 72 deletions(-)
diff --git a/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue b/src/views/accidentManagementSystem/accidentExpress/component/openAdd.vue
index 50a59d7..26ef659 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">
@@ -42,18 +43,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-button v-if="ruleForm.casualties" type="primary" style="margin-left: 20px" :icon="Edit" @click="openDai" round plain />
+<!-- <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(ruleFormRef)" round plain />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
@@ -93,7 +99,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>
@@ -101,7 +108,8 @@
<template #footer>
<span class="dialog-footer">
<el-button @click="resetForm(ruleFormRef)" size="default">关闭</el-button>
- <el-button size="default" v-if="disabled == true ? false : true" type="primary" @click="submitForm(titles, ruleFormRef)">确定</el-button>
+ <el-button size="default" v-if="disabled == true ? false : true" type="primary"
+ @click="submitForm(titles, ruleFormRef)">确定</el-button>
</span>
</template>
</el-dialog>
@@ -116,7 +124,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';
@@ -143,19 +151,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;
@@ -165,24 +173,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();
@@ -290,32 +315,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);
}
@@ -325,12 +364,6 @@
await formEl.validate((valid, fields) => {
if (valid) {
isShowDialog.value = false;
- ruleForm.value.fileList = [
- // {
- // fileUrl: 'url',
- // fileName: 'name',
- // },
- ];
accidentManagementSystemApi()
.accidentView(ruleForm.value)
.then((res) => {
@@ -341,6 +374,7 @@
type: 'success',
});
emit('myAdd', true);
+ formEl.resetFields();
} else {
ElMessage({
showClose: true,
@@ -349,27 +383,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;
@@ -378,16 +397,77 @@
};
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 = () => {
- ShowUser.value.openDialog(ruleForm.value.id, disabled.value);
+ 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);
+ }
+
};
// 应急队伍弹窗
const Shows = ref();
@@ -448,7 +528,7 @@
getTreeList,
newTreeList,
closeDialog,
- fileListDemo,
+ successUploader
};
},
});
--
Gitblit v1.9.2