From 7df64634d3d7b292713eebfa008c40b3f5f9f65f Mon Sep 17 00:00:00 2001 From: shj <1790240199@qq.com> Date: 星期二, 20 九月 2022 15:57:03 +0800 Subject: [PATCH] 修改 --- src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue | 260 ++++++++++++++++++++++++++++++++++----------------- 1 files changed, 172 insertions(+), 88 deletions(-) diff --git a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue index 07f4e5f..4323f55 100644 --- a/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue +++ b/src/views/contingencyManagement/emergencyDrill/drillImplementationEvaluation/component/approvalProgress.vue @@ -6,6 +6,7 @@ width="900px" draggable :fullscreen="full" + @close="resetForm(ruleFormRef)" > <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> <el-form @@ -40,9 +41,9 @@ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="演练方式" prop="drillWay"> <el-select :disabled="true" v-model="ruleForm.drillWay" class="w100" placeholder="请选择"> - <el-option label="综合" value="0"></el-option> - <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-option label="专项" :value="3"></el-option> </el-select> </el-form-item> </el-col> @@ -63,9 +64,9 @@ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="演练级别" prop="drillLevel"> <el-select :disabled="true" v-model="ruleForm.drillLevel" class="w100" placeholder="请选择"> - <el-option label="公司级" value="1"></el-option> - <el-option label="分厂级" value="2"></el-option> - <el-option label="车间级" value="3"></el-option> + <el-option label="公司级" :value="1"></el-option> + <el-option label="分厂级" :value="2"></el-option> + <el-option label="车间级" :value="3"></el-option> </el-select> </el-form-item> </el-col> @@ -166,20 +167,7 @@ </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20" style="margin-bottom: 0!important;"> <el-form-item label="预案附件"> - <el-upload - v-model:file-list="fileList" - class="upload-demo" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - :on-change="handleChange" - > - <el-button type="primary" - >点击上传</el-button> - <template #tip> - <div class="el-upload__tip"> - 添加相关附件 - </div> - </template> - </el-upload> + <uploaderFile :fileList="ruleForm.planFileList" :disabled="true"></uploaderFile> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> @@ -250,100 +238,100 @@ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="预案评审-适宜性" prop="suitable"> <el-select :disabled="disabled" v-model="ruleForm.suitable" 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="sufficient"> <el-select :disabled="disabled" v-model="ruleForm.sufficient" class="w100" placeholder="请选择"> - <el-option label="完全满足应急要求" value="1"></el-option> - <el-option label="不完全满足应急要求" value="2"></el-option> - <el-option label="完全不满足应急要求" value="3"></el-option> + <el-option label="完全满足应急要求" :value="1"></el-option> + <el-option label="不完全满足应急要求" :value="2"></el-option> + <el-option label="完全不满足应急要求" :value="3"></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="arrival"> <el-select :disabled="disabled" v-model="ruleForm.arrival" 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="supplies"> <el-select :disabled="disabled" v-model="ruleForm.supplies" class="w100" placeholder="请选择"> - <el-option label="现场物资充分,全部有效" value="1"></el-option> - <el-option label="现场物资不充分" value="2"></el-option> - <el-option label="现场没有物资" value="3"></el-option> + <el-option label="现场物资充分,全部有效" :value="1"></el-option> + <el-option label="现场物资不充分" :value="2"></el-option> + <el-option label="现场没有物资" :value="3"></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="protection"> <el-select :disabled="disabled" v-model="ruleForm.protection" 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="whole"> <el-select :disabled="disabled" v-model="ruleForm.whole" 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="division"> <el-select :disabled="disabled" v-model="ruleForm.division" class="w100" placeholder="请选择"> - <el-option label="安全,快速" value="1"></el-option> - <el-option label="安全,不快速" value="2"></el-option> - <el-option label="不安全,快速" value="3"></el-option> - <el-option label="不安全,不快速" value="4"></el-option> + <el-option label="安全,快速" :value="1"></el-option> + <el-option label="安全,不快速" :value="2"></el-option> + <el-option label="不安全,快速" :value="3"></el-option> + <el-option label="不安全,不快速" :value="4"></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="effect"> <el-select :disabled="disabled" v-model="ruleForm.effect" 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="report"> <el-select :disabled="disabled" v-model="ruleForm.report" 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="safety"> <el-select :disabled="disabled" v-model="ruleForm.safety" 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="rescue"> <el-select :disabled="disabled" v-model="ruleForm.rescue" 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="evacuate"> <el-select :disabled="disabled" v-model="ruleForm.evacuate" 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> @@ -367,20 +355,8 @@ </el-col> <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> <el-form-item label="附件列表"> - <el-upload - v-model:file-list="ruleForm.userList" - class="upload-demo" - action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15" - :on-change="handleChange" - > - <el-button type="primary" - >点击上传</el-button> - <template #tip> - <div class="el-upload__tip"> - 添加相关附件 - </div> - </template> - </el-upload> + <uploaderFile :fileList="fileList" :systemName="'EMERGENCY'" :disabled="disabled" + @successUploader="successUploader"></uploaderFile> </el-form-item> </el-col> </el-row> @@ -420,12 +396,14 @@ import DailogSearchUser from "/@/components/DailogSearchUser/index.vue" import {emergencyDrillEvaluationApi} from "/@/api/contingencyManagement/emergencyDrillEvaluation"; import {goalManagementApi} from "/@/api/goalManagement"; +import uploaderFile from '/@/components/uploaderFile/index.vue'; export default defineComponent({ name: 'approvalProgress', components: { UserSelections, RegionsDialog, - DailogSearchUser + DailogSearchUser, + uploaderFile }, setup(props, { emit }) { const isShowDialog = ref(false) @@ -433,7 +411,7 @@ const ruleFormRef = ref<FormInstance>() //定义表单 const ruleForm = ref ({ - drillPlanId: '', + drillExecuteId: '', suitable: '', sufficient: '', arrival: '', @@ -450,10 +428,29 @@ questionAndImprove: '', modifyContent: '', fileList: [ - { - fileName: 'name', - fileUrl: 'url', - } + ], + userList: [ + ] + }); + //定义表单 + const realRuleForm = ref ({ + drillExecuteId: '', + suitable: '', + sufficient: '', + arrival: '', + supplies: '', + protection: '', + whole: '', + division: '', + effect: '', + report: '', + safety: '', + rescue: '', + evacuate: '', + needModify: '', + questionAndImprove: '', + modifyContent: '', + fileList: [ ], userList: [ ] @@ -492,6 +489,8 @@ ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' } } + fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) + initFileListData() }); } if(title=='演练实施评价'){ @@ -504,20 +503,32 @@ ruleForm.value.chargeUserListString='' ruleForm.value.executeUserListString='' ruleForm.value.evaluationUserListString='' - for(var a = 0;a<res.data.data.planUserList.length;a++){ - ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';' + if(res.data.data.planUserList){ + for(var a = 0;a<res.data.data.planUserList.length;a++){ + ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';' + } } - for(var a = 0;a<res.data.data.planChargeUserList.length;a++){ - ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';' + + if(res.data.data.planChargeUserList){ + for(var a = 0;a<res.data.data.planChargeUserList.length;a++){ + ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';' + } } - for(var a = 0;a<res.data.data.executeUserList.length;a++){ - ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';' + + if(res.data.data.executeUserList){ + for(var a = 0;a<res.data.data.executeUserList.length;a++){ + ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';' + } } //演练负责人(评价) - for(var a = 0;a<res.data.data.evaluationUserList.length;a++){ - ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + if(res.data.data.evaluationUserList){ + for(var a = 0;a<res.data.data.evaluationUserList.length;a++){ + ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + } } } + fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) + initFileListData() }); } if(title=='演练实施查看评价'){ @@ -530,27 +541,65 @@ ruleForm.value.chargeUserListString='' ruleForm.value.executeUserListString='' ruleForm.value.evaluationUserListString='' - for(var a = 0;a<res.data.data.planUserList.length;a++){ - ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';' + + if(res.data.data.planUserList){ + for(var a = 0;a<res.data.data.planUserList.length;a++){ + ruleForm.value.planUserListString += res.data.data.planUserList[a].userName+';' + } } - for(var a = 0;a<res.data.data.planChargeUserList.length;a++){ - ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';' + + if(res.data.data.planChargeUserList){ + for(var a = 0;a<res.data.data.planChargeUserList.length;a++){ + ruleForm.value.chargeUserListString += res.data.data.planChargeUserList[a].userName+';' + } } - for(var a = 0;a<res.data.data.executeUserList.length;a++){ - ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';' + + if(res.data.data.executeUserList){ + for(var a = 0;a<res.data.data.executeUserList.length;a++){ + ruleForm.value.executeUserListString += res.data.data.executeUserList[a].userName+';' + } } //演练负责人(评价) - for(var a = 0;a<res.data.data.evaluationUserList.length;a++){ - ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + if(res.data.data.evaluationUserList){ + for(var a = 0;a<res.data.data.evaluationUserList.length;a++){ + ruleForm.value.evaluationUserListString += res.data.data.evaluationUserList[a].userName+';' + } } + fileList.value = (res.data.data.evaluationFileList?res.data.data.evaluationFileList:[]) + initFileListData() } }); } + }; + const initFileListData = async () => { + for(var a = 0;a<ruleForm.value.planFileList.length;a++){ + ruleForm.value.planFileList[a].name = ruleForm.value.planFileList[a].fileName + } + // 事故分析会议纪要 + 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 resetForm = (formEl: FormInstance | undefined) => { isShowDialog.value = false; if (!formEl) return; formEl.resetFields(); + fileList.value = [] }; // 关闭弹窗 const closeDialog = () => { @@ -563,7 +612,7 @@ //日期选择器 const value1 = ref('') // 上传附件 - const fileList = ref<UploadUserFile[]>([]) + const fileList = ref([]) // 可选择树 const treeSelect = ref() const tree = [ @@ -621,8 +670,39 @@ // }) const submitForm = async (title: string, formEl: FormInstance | undefined) => { + if(!ruleForm.value.fileList){ + ruleForm.value.fileList = [] + } //演练负责人(评价) ruleForm.value.userList = ruleForm.value.evaluationUserList + + + + realRuleForm.value.drillExecuteId=ruleForm.value.drillExecuteId + realRuleForm.value.suitable=ruleForm.value.suitable + realRuleForm.value.sufficient=ruleForm.value.sufficient + realRuleForm.value.arrival=ruleForm.value.arrival + realRuleForm.value.supplies=ruleForm.value.supplies + realRuleForm.value.protection=ruleForm.value.protection + realRuleForm.value.whole=ruleForm.value.whole + realRuleForm.value.division=ruleForm.value.division + realRuleForm.value.effect=ruleForm.value.effect + realRuleForm.value.report=ruleForm.value.report + realRuleForm.value.safety=ruleForm.value.safety + realRuleForm.value.rescue=ruleForm.value.rescue + realRuleForm.value.evacuate=ruleForm.value.evacuate + realRuleForm.value.needModify=ruleForm.value.needModify + realRuleForm.value.questionAndImprove=ruleForm.value.questionAndImprove + realRuleForm.value.modifyContent=ruleForm.value.modifyContent + realRuleForm.value.fileList=ruleForm.value.fileList + if(ruleForm.value.userList){ + for(var a = 0;a<ruleForm.value.userList.length;a++){ + realRuleForm.value.userList.push({ + userUid:ruleForm.value.userList[a].userUid, + userName:ruleForm.value.userList[a].userName + }) + } + } // console.log(ruleForm.value.evaluationUserList) // ruleForm.value.userList=[] // for(var a = 0;a<ruleForm.value.evaluationUserList.length;a++){ @@ -634,7 +714,7 @@ if (valid) { // console.log(ruleForm.value) emergencyDrillEvaluationApi() - .editEmergencyDrillEvaluation(ruleForm.value) + .editEmergencyDrillEvaluation(realRuleForm.value) // emergencyDrillExecuteApi() // .editEmergencyDrillExecute(ruleForm.value) .then((res) => { @@ -709,6 +789,7 @@ ) ruleForm.value.evaluationUserListString+=e[a].realName+';' } + console.log(ruleForm.value.evaluationUserList) } //el-tree-select回显 const propse = { @@ -789,7 +870,10 @@ department, newTreeList, selectUser, - submitForm + submitForm, + realRuleForm, + successUploader, + initFileListData }; }, }); @@ -838,4 +922,4 @@ font-weight: 500; font-size: 14px; } -</style> \ No newline at end of file +</style> -- Gitblit v1.9.2