From aeef44031f90e5a7b0cb05da884b38f5047e7d21 Mon Sep 17 00:00:00 2001 From: zhaojiale <631455805@qq.com> Date: 星期四, 04 八月 2022 15:21:02 +0800 Subject: [PATCH] 工伤申报除图片外完成 --- src/api/accidentManagementSystem/index.ts | 7 src/views/accidentManagementSystem/workInjuryDeclaration/index.vue | 16 src/views/accidentManagementSystem/accidentReport/component/openAdd.vue | 66 +++++-- src/views/accidentManagementSystem/accidentReport/index.vue | 62 ++++-- src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue | 359 ++++++++++++++++++--------------------- 5 files changed, 271 insertions(+), 239 deletions(-) diff --git a/src/api/accidentManagementSystem/index.ts b/src/api/accidentManagementSystem/index.ts index 64a27b0..1094a53 100644 --- a/src/api/accidentManagementSystem/index.ts +++ b/src/api/accidentManagementSystem/index.ts @@ -73,10 +73,11 @@ }) }, // 工伤申报删除/批量删除 - workDelete:(params:number)=>{ + workDelete:(params:object)=>{ return request({ - url:`/workInjuryDeclaration/batchDelete/${params}`, - method:"get", + url:`/workInjuryDeclaration/batchDelete`, + method:"post", + data:params }) }, // 伤亡人员一览 diff --git a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue index 5500b16..472e746 100644 --- a/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue +++ b/src/views/accidentManagementSystem/accidentReport/component/openAdd.vue @@ -2,11 +2,11 @@ <div class="system-edit-user-container"> <el-dialog :title="titles" v-model="isShowDialog" width="800px" draggable :fullscreen="full" @close="closeDialog(ruleFormRef)"> <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> - <el-form ref="ruleFormRef" :model="ruleForm" size="default" :rules="rules" label-width="140px" :disabled="disabled"> + <el-form ref="ruleFormRef" :model="ruleForm" size="default" :rules="rules" label-width="140px"> <el-row :gutter="35"> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="事故快报" prop="accidentName"> - <el-input v-model="ruleForm.accidentName" placeholder="请选择" class="input-with-select"> + <el-input v-model="ruleForm.accidentName" :disabled="true" placeholder="请选择" class="input-with-select"> <template #append> <el-button :icon="Search" @click="daiInpt" /> </template> @@ -16,18 +16,20 @@ <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="事故部门" placeholder="请选择" prop="accidentDepartmentId"> <!--<el-input v-model="ruleForm.accidentDepartmentName" class="input-with-select" />--> - <el-tree-select v-model="ruleForm.accidentDepartmentId" :data="newTreeList" :props="propse" class="w100" placeholder="请选择" /> + <el-tree-select v-model="ruleForm.accidentDepartmentId" :disabled="true" :data="newTreeList" + :props="propse" class="w100" placeholder="请选择" /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="事故发生地点" prop="occurrencePlace"> - <el-input v-model="ruleForm.occurrencePlace" placeholder="请填写发生地点"></el-input> + <el-input v-model="ruleForm.occurrencePlace" :disabled="true" placeholder="请填写发生地点"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="发生时间" prop="occurrenceTime"> <el-date-picker v-model="ruleForm.occurrenceTime" + :disabled="true" value-format="YYYY-MM-DD HH:mm:ss" type="datetime" class="w100" @@ -37,7 +39,7 @@ </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="事故类别" prop="accidentType"> - <el-select v-model="ruleForm.accidentType" class="w100" placeholder="请选择"> + <el-select v-model="ruleForm.accidentType" :disabled="disabled" class="w100" placeholder="请选择"> <el-option label="人员伤亡事故" value="人员伤亡事故"></el-option> <el-option label="火灾爆炸事故" value="火灾爆炸事故"></el-option> <el-option label="危险品泄露事故" value="危险品泄露事故"></el-option> @@ -48,7 +50,7 @@ </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="事故等级" prop="accidentGrade"> - <el-select v-model="ruleForm.accidentGrade" class="w100" placeholder="请选择"> + <el-select v-model="ruleForm.accidentGrade" :disabled="disabled" class="w100" placeholder="请选择"> <el-option label="特别重大" value="人员伤亡事故"></el-option> <el-option label="重大" value="重大"></el-option> <el-option label="较大" value="较大"></el-option> @@ -58,33 +60,34 @@ </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="经济损失" prop="economicLoss"> - <el-input v-model="ruleForm.economicLoss" placeholder="请填写经济损失"></el-input> + <el-input v-model="ruleForm.economicLoss" :disabled="disabled" placeholder="请填写经济损失"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="轻伤人数" prop="minorInjuryNum"> - <el-input v-model="ruleForm.minorInjuryNum" placeholder="请填写轻伤人数"></el-input> + <el-input v-model="ruleForm.minorInjuryNum" :disabled="disabled" placeholder="请填写轻伤人数"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="重伤人数" prop="seriousInjuryNum"> - <el-input v-model="ruleForm.seriousInjuryNum" placeholder="请填写重伤人数"></el-input> + <el-input v-model="ruleForm.seriousInjuryNum" :disabled="disabled" placeholder="请填写重伤人数"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="死亡人数" prop="deathNum"> - <el-input v-model="ruleForm.deathNum" placeholder="请填写死亡人数"></el-input> + <el-input v-model="ruleForm.deathNum" :disabled="disabled" placeholder="请填写死亡人数"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="事故原因" prop="accidentCause"> - <el-input v-model="ruleForm.accidentCause" placeholder="请填写事故原因"></el-input> + <el-input v-model="ruleForm.accidentCause" :disabled="disabled" placeholder="请填写事故原因"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="要求报告完成期限" prop="reportDeadline"> <el-date-picker v-model="ruleForm.reportDeadline" + :disabled="disabled" type="datetime" class="w100" placeholder="选择日期时间" @@ -94,7 +97,7 @@ </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="事故级别" prop="accidentLevel"> - <el-select v-model="ruleForm.accidentLevel" class="w100" placeholder="请选择"> + <el-select v-model="ruleForm.accidentLevel" :disabled="disabled" class="w100" placeholder="请选择"> <el-option label="特大事故" value="特大事故"></el-option> <el-option label="重大事故" value="重大事故"></el-option> <el-option label="较大事故" value="较大事故"></el-option> @@ -104,13 +107,14 @@ </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="事故延期申请" prop="accidentDelayApply"> - <el-input v-model="ruleForm.accidentDelayApply" placeholder="请填写事故延期申请"></el-input> + <el-input v-model="ruleForm.accidentDelayApply" :disabled="disabled" placeholder="请填写事故延期申请"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="原因综合分析(直接分析)" prop="comprehensiveAnalysisDirect"> <el-input v-model="ruleForm.comprehensiveAnalysisDirect" + :disabled="disabled" type="textarea" placeholder="请填写原因综合分析(直接分析)" maxlength="150" @@ -121,6 +125,7 @@ <el-form-item label="原因综合分析(间接分析)" prop="comprehensiveAnalysisIndirect"> <el-input v-model="ruleForm.comprehensiveAnalysisIndirect" + :disabled="disabled" type="textarea" placeholder="请填写原因综合分析(间接分析)" maxlength="150" @@ -129,17 +134,20 @@ </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="整改措施" prop="rectificationMeasures"> - <el-input v-model="ruleForm.rectificationMeasures" type="textarea" placeholder="请填写整改措施" maxlength="150"></el-input> + <el-input v-model="ruleForm.rectificationMeasures" :disabled="disabled" + type="textarea" placeholder="请填写整改措施" maxlength="150"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="事故处理" prop="accidentHandling"> - <el-input v-model="ruleForm.accidentHandling" type="textarea" placeholder="请填写事故处理" maxlength="150"></el-input> + <el-input v-model="ruleForm.accidentHandling" :disabled="disabled" + type="textarea" placeholder="请填写事故处理" maxlength="150"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="填写人" prop="fillInUserName"> - <el-input v-model="ruleForm.fillInUserName" placeholder="请选择" class="input-with-select"> + <el-input v-model="ruleForm.fillInUserName" :disabled="true" + placeholder="请选择" class="input-with-select"> <template #append> <el-button :icon="Search" @click="openUser" /> </template> @@ -150,6 +158,7 @@ <el-form-item label="填写日期" prop="fillInTime"> <el-date-picker v-model="ruleForm.fillInTime" + :disabled="disabled" type="datetime" class="w100" placeholder="选择日期时间" @@ -164,17 +173,27 @@ <!-- </el-col>--> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="相关人员笔录" prop="relevantPersonnelRecords"> - <el-input v-model="ruleForm.relevantPersonnelRecords" type="textarea" placeholder="请填写相关人员笔录" maxlength="150"></el-input> + <el-input v-model="ruleForm.relevantPersonnelRecords" :disabled="disabled" + type="textarea" placeholder="请填写相关人员笔录" maxlength="150"></el-input> + </el-form-item> + </el-col> + <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> + <el-form-item label="事故状态" prop="status"> + <el-select v-model="ruleForm.status" :disabled="disabled" class="w100" placeholder="请选择"> + <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="24" :md="24" :lg="24" :xl="24" class="mb20"> <el-form-item label="事故分析会议纪要" prop="fileList"> - <uploaderImg :fileList="fileList"></uploaderImg> + <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="其他材料" prop="otherMaterials"> - <el-input v-model="ruleForm.otherMaterials" type="textarea" placeholder="请填写其他材料" maxlength="150"></el-input> + <el-input v-model="ruleForm.otherMaterials" :disabled="disabled" + type="textarea" placeholder="请填写其他材料" maxlength="150"></el-input> </el-form-item> </el-col> </el-row> @@ -249,6 +268,7 @@ relevantPersonnelRecords: '', otherMaterials: '', fileList: [], + status:'' }); const titles = ref(); const disabled = ref(); @@ -381,6 +401,13 @@ trigger: 'blur', }, ], + status: [ + { + required: true, + message: '事故状态不能为空', + trigger: 'change', + }, + ], }); //事故快报回填 const onSelectItem = (item: any) => { @@ -485,6 +512,7 @@ relevantPersonnelRecords: '', otherMaterials: '', fileList: [], + status:'' }; } }; diff --git a/src/views/accidentManagementSystem/accidentReport/index.vue b/src/views/accidentManagementSystem/accidentReport/index.vue index 72c766d..5c19570 100644 --- a/src/views/accidentManagementSystem/accidentReport/index.vue +++ b/src/views/accidentManagementSystem/accidentReport/index.vue @@ -2,7 +2,12 @@ <div class="system-user-container"> <el-card shadow="hover"> <el-tabs v-model="activeName" class="demo-tabs" @tab-click="handleClick"> - <el-tab-pane label="处理中" name="first"> + <el-tab-pane + v-for="item in editableTabs" + :key="item.name" + :label="item.title" + :name="item.name" + > <div class="button_Line"> <div class="button_Left"> <el-button size="default" type="primary" @click="onOpenAdd"> @@ -22,21 +27,21 @@ </el-button> </div> <div class="button_Right"> -<!-- <el-button @click="upButton">--> -<!-- <el-icon>--> -<!-- <Upload />--> -<!-- </el-icon>--> -<!-- </el-button>--> -<!-- <el-button>--> -<!-- <el-icon>--> -<!-- <Download />--> -<!-- </el-icon>--> -<!-- </el-button>--> -<!-- <el-button>--> -<!-- <el-icon>--> -<!-- <Refresh />--> -<!-- </el-icon>--> -<!-- </el-button>--> + <el-button @click="upButton"> + <el-icon> + <Upload /> + </el-icon> + </el-button> + <el-button> + <el-icon> + <Download /> + </el-icon> + </el-button> + <el-button> + <el-icon> + <Refresh /> + </el-icon> + </el-button> </div> </div> <el-table @@ -80,7 +85,7 @@ /> </div> </el-tab-pane> - <el-tab-pane label="已处理" name="second"></el-tab-pane> + <!--<el-tab-pane label="已处理" name="second"></el-tab-pane>--> </el-tabs> </el-card> <OpenAdd ref="addRef" @myAdd="onMyAdd" /> @@ -134,15 +139,31 @@ setup() { const activeName = ref('first') const handleClick = (tab: TabsPaneContext, event: Event) => { - console.log(tab, event) + console.log(tab.props.name) + if(tab.props.name=='first'){ + listQuery.searchParams.status=1 + listApi() + }else if(tab.props.name=='second'){ + listQuery.searchParams.status=2 + listApi() + } } - + const editableTabs = ref([ + { + title: '处理中', + name: 'first', + }, + { + title: '已处理', + name: 'second', + }, + ]) // 列表参数 const listQuery = reactive({ pageIndex: 1, pageSize: 10, searchParams: { - name: '', + status: 1, }, }); // 定义表格数据 @@ -307,6 +328,7 @@ onMyAdd, onDeleteAll, onEdit, + editableTabs }; }, }); diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue index 6a9b467..524521f 100644 --- a/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue +++ b/src/views/accidentManagementSystem/workInjuryDeclaration/component/openAdd.vue @@ -1,30 +1,31 @@ <template> <div class="system-edit-user-container"> - <el-dialog :title="titles" v-model="isShowDialog" width="769px" draggable :fullscreen="full"> + <el-dialog :title="titles" v-model="isShowDialog" width="769px" draggable :fullscreen="full" @close="closeDialog(ruleFormRef)"> <el-button @click="toggleFullscreen" size="small" class="pot" :icon="FullScreen"></el-button> - <el-form ref="ruleFormRef" :model="ruleForm" size="default" label-width="120px" :disabled="disabled"> + <el-form ref="ruleFormRef" :model="ruleForm" size="default" label-width="120px" :rules="rules"> <el-row :gutter="35"> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="申报人姓名" prop="declareUserName"> - <el-input v-model="ruleForm.declareUserName" placeholder="请填写申报人姓名"></el-input> + <el-input v-model="ruleForm.declareUserName" :disabled="disabled" placeholder="请填写申报人姓名"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> - <el-form-item label="申报人性别"> - <el-radio-group v-model="ruleForm.declareUserGender"> + <el-form-item label="申报人性别" prop="declareUserGender"> + <el-radio-group v-model="ruleForm.declareUserGender" :disabled="disabled"> <el-radio :label="false">男</el-radio> <el-radio :label="true">女</el-radio> </el-radio-group> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> - <el-form-item label="申报人部门" placeholder="请选择"> - <el-tree-select v-model="ruleForm.declareDepartmentId" :data="data" class="w100" placeholder="请选择" /> + <el-form-item label="申报人部门" placeholder="请选择" prop="declareDepartmentId"> + <el-tree-select v-model="ruleForm.declareDepartmentId" :disabled="disabled" + :data="newTreeList" :props="propse" class="w100" placeholder="请选择" /> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> - <el-form-item label="事故名称" prop="accidentExpressId"> - <el-input v-model="ruleForm.accidentExpressId" placeholder="请选择" class="input-with-select"> + <el-form-item label="事故名称" prop="accidentName"> + <el-input v-model="ruleForm.accidentName" :disabled="true" placeholder="请选择" class="input-with-select"> <template #append> <el-button :icon="Search" @click="daiInpt" /> </template> @@ -35,6 +36,7 @@ <el-form-item label="事故发生时间" prop="occurrenceTime"> <el-date-picker v-model="ruleForm.occurrenceTime" + :disabled="true" type="datetime" class="w100" placeholder="选择日期时间" @@ -44,16 +46,17 @@ </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="工伤类型" prop="workInjuryType"> - <el-select v-model="ruleForm.workInjuryType" class="w100" placeholder="请选择"> + <el-select v-model="ruleForm.workInjuryType" :disabled="disabled" class="w100" placeholder="请选择"> <el-option label="轻微伤" value="轻微伤"></el-option> <el-option label="轻伤" value="轻伤"></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="申报日期"> + <el-form-item label="申报日期" prop="declareDate"> <el-date-picker v-model="ruleForm.declareDate" + :disabled="disabled" type="datetime" class="w100" placeholder="选择日期时间" @@ -63,42 +66,32 @@ </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="损失工时" prop="lostTime"> - <el-input v-model="ruleForm.lostTime" placeholder="请填写损失工时"></el-input> + <el-input v-model="ruleForm.lostTime" :disabled="disabled" placeholder="请填写损失工时"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="就诊医院" prop="visitHospital"> - <el-input v-model="ruleForm.visitHospital" placeholder="请填写就诊医院"></el-input> + <el-input v-model="ruleForm.visitHospital" :disabled="disabled" placeholder="请填写就诊医院"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="就诊结果" prop="visitResult"> - <el-input v-model="ruleForm.visitResult" placeholder="请填写就诊结果"></el-input> + <el-input v-model="ruleForm.visitResult" :disabled="disabled" placeholder="请填写就诊结果"></el-input> </el-form-item> </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.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> + <uploaderImg :fileList="fileList" :disabled="disabled"></uploaderImg> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> <el-form-item label="注意事项" prop="mattersNeedingAttention"> - <el-input v-model="ruleForm.mattersNeedingAttention" placeholder="请填写注意事项"></el-input> + <el-input v-model="ruleForm.mattersNeedingAttention" :disabled="disabled" placeholder="请填写注意事项"></el-input> </el-form-item> </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> - <el-form-item label="材料是否齐全"> - <el-radio-group v-model="ruleForm.completeMaterials"> + <el-form-item label="材料是否齐全" prop="completeMaterials"> + <el-radio-group v-model="ruleForm.completeMaterials" :disabled="disabled"> <el-radio :label="false">否</el-radio> <el-radio :label="true">是</el-radio> </el-radio-group> @@ -106,8 +99,8 @@ </el-col> <el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20"> - <el-form-item label="备注"> - <el-input v-model="ruleForm.remark" type="textarea" placeholder="请填写备注" maxlength="150"></el-input> + <el-form-item label="备注" prop="remark"> + <el-input v-model="ruleForm.remark" :disabled="disabled" type="textarea" placeholder="请填写备注" maxlength="150"></el-input> </el-form-item> </el-col> </el-row> @@ -127,19 +120,22 @@ <script lang="ts"> import { - // reactive, + reactive, ref, defineComponent, + onMounted } from 'vue'; -import type { UploadUserFile, FormInstance } from 'element-plus'; +import type { UploadUserFile, FormInstance,FormRules } from 'element-plus'; import { ElMessage } from 'element-plus'; import { Search, FullScreen } from '@element-plus/icons-vue'; import UserSelections from '/@/components/userSelections/index.vue'; import AccidentName from '/@/views/accidentManagementSystem/workInjuryDeclaration/component/accidentName.vue'; import RegionsDialog from '/@/components/regionsDialog/index.vue'; +import uploaderImg from '/@/components/uploaderImg/index.vue'; import { emergencySuppliesApi } from '/@/api/emergencyResources'; import { accidentManagementSystemApi } from '/@/api/workInjuryDeclaration'; +import { goalManagementApi } from '/@/api/goalManagement'; export default defineComponent({ name: 'openAdd', @@ -147,6 +143,7 @@ AccidentName, UserSelections, RegionsDialog, + uploaderImg }, setup(props, { emit }) { const isShowDialog = ref(false); @@ -157,6 +154,7 @@ declareUserName: '', declareUserGender: '', declareDepartmentId: '', + accidentName:'', accidentExpressId: '', workInjuryType: '', declareDate: '', @@ -197,167 +195,141 @@ // 可选择树 const treeSelect = ref(); const tree = [ - { - value: '1', - label: 'Level one 1', - children: [ - { - value: '11', - label: 'Level two 1-1', - children: [ - { - value: '111', - label: 'Level three 1-1-1', - }, - ], - }, - ], - }, - { - value: '2', - label: 'Level one 2', - children: [ - { - value: '21', - label: 'Level two 2-1', - children: [ - { - value: '211', - label: 'Level three 2-1-1', - }, - ], - }, - { - value: '22', - label: 'Level two 2-2', - children: [ - { - value: '221', - label: 'Level three 2-2-1', - }, - ], - }, - ], - }, - { - value: '3', - label: 'Level one 3', - children: [ - { - value: '31', - label: 'Level two 3-1', - children: [ - { - value: '311', - label: 'Level three 3-1-1', - }, - ], - }, - { - value: '32', - label: 'Level two 3-2', - children: [ - { - value: '321', - label: 'Level three 3-2-1', - }, - ], - }, - ], - }, ]; //定义树形下拉框 const responsibleDepartment = ref(); const data = [ - { - value: '1', - label: '广汇能源综合物流发展有限责任公司', - children: [ - { - value: '11', - label: '经营班子', - children: [], - }, - ], - }, - { - value: '2', - label: '生产运行部', - children: [ - { - value: '21', - label: '灌装一班', - children: [], - }, - { - value: '22', - label: '工艺四班', - children: [], - }, - ], - }, - { - value: '3', - label: '设备部', - children: [ - { - value: '31', - label: '仪表班', - children: [], - }, - { - value: '32', - label: '机修班', - children: [], - }, - ], - }, + ]; + //el-tree-select回显 + const propse = { + label: 'depName', + children: 'children', + }; + const newTreeList = []; + //得到部门树 + const department = async () => { + await goalManagementApi() + .getTreedepartment() + .then((res) => { + if (res.data.code == 200) { + data.value = res.data.data; + getTreeList(res.data.data, newTreeList); + } else { + ElMessage.error(res.data.msg); + } + }); + }; + // 递归树状数据且修改字段名 + const getTreeList = (treeList, newTreeList) => { + treeList.map((c) => { + let tempData = { + depName: c.depName, + value: c.depId, + children: [], + }; + if (c.children && c.children.length > 0) { + tempData.children = []; + getTreeList(c.children, tempData.children); + } + newTreeList.push(tempData); + }); + }; + onMounted(() => { + department(); + }); + // 关闭弹窗 + const closeDialog = (formEl: FormInstance | undefined) => { + formEl.resetFields(); + isShowDialog.value = false; + }; // 必填项提示 - // const rules = reactive<FormRules>({ - // teamName: [ - // { - // required: true, - // message: '队伍名称不能为空', - // trigger: 'change', - // }, - // ], - // teamLevel: [ - // { - // required: true, - // message: '队伍级别不能为空', - // trigger: 'change', - // }, - // ], - // teamLeader: [ - // { - // required: true, - // message: '队伍负责人不能为空', - // trigger: 'change', - // }, - // ], - // responsibleDepartment: [ - // { - // required: true, - // message: '负责人部门不能为空', - // trigger: 'change', - // }, - // ], - // teamPhone: [ - // { - // required: true, - // message: '负责人手机不能为空', - // trigger: 'change', - // }, - // ], - // telephone: [ - // { - // required: true, - // message: '固定电话不能为空', - // trigger: 'change', - // }, - // ], - // }) + const rules = reactive<FormRules>({ + declareUserName: [ + { + required: true, + message: '申报人姓名不能为空', + trigger: 'change', + }, + ], + declareUserGender: [ + { + required: true, + message: '申报人性别不能为空', + trigger: 'change', + }, + ], + declareDepartmentId: [ + { + required: true, + message: '申报人部门不能为空', + trigger: 'change', + }, + ], + accidentName: [ + { + required: true, + message: '事故名称不能为空', + trigger: 'change', + }, + ], + workInjuryType: [ + { + required: true, + message: '工伤类型不能为空', + trigger: 'change', + }, + ], + declareDate: [ + { + required: true, + message: '申报日期不能为空', + trigger: 'blur', + }, + ], + lostTime: [ + { + required: true, + message: '损失工时不能为空', + trigger: 'change', + }, + ], + visitHospital: [ + { + required: true, + message: '就诊医院不能为空', + trigger: 'change', + }, + ], + visitResult: [ + { + required: true, + message: '就诊结果不能为空', + trigger: 'change', + }, + ], + mattersNeedingAttention: [ + { + required: true, + message: '注意事项不能为空', + trigger: 'change', + }, + ], + completeMaterials: [ + { + required: true, + message: '材料状态不能为空', + trigger: 'change', + }, + ], + remark: [ + { + required: true, + message: '备注不能为空', + trigger: 'change', + }, + ] + }) // 事故名称弹窗 const showRef = ref(); @@ -366,8 +338,11 @@ }; //事故快报回填 const onSelectItem = (item: any) => { - alert(1); console.log('item', item); + ruleForm.value.accidentExpressId = item[0].id + ruleForm.value.accidentName = item[0].accidentName + ruleForm.value.occurrenceTime = item[0].occurrenceTime + }; // 表单提交验证必填项 const submitForm = async (title: string, formEl: FormInstance | undefined) => { @@ -491,7 +466,7 @@ showRef, ruleFormRef, submitForm, - // rules, + rules, openUser, userRef, regionsDialog, @@ -504,6 +479,12 @@ disabled, emit, onSelectItem, + department, + getTreeList, + newTreeList, + propse, + closeDialog, + uploaderImg }; }, }); diff --git a/src/views/accidentManagementSystem/workInjuryDeclaration/index.vue b/src/views/accidentManagementSystem/workInjuryDeclaration/index.vue index 65fe166..577659f 100644 --- a/src/views/accidentManagementSystem/workInjuryDeclaration/index.vue +++ b/src/views/accidentManagementSystem/workInjuryDeclaration/index.vue @@ -47,8 +47,8 @@ <el-table :data="tableData" style="width: 100%" ref="multipleTableRef" @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55" /> <el-table-column prop="declareUserName" label="申报人名称" show-overflow-tooltip sortable></el-table-column> - <el-table-column prop="declareDepartmentId" label="申报人部门" show-overflow-tooltip sortable></el-table-column> - <el-table-column prop="accidentExpressId" label="事故名称" show-overflow-tooltip sortable></el-table-column> + <el-table-column prop="deptName" label="申报人部门" show-overflow-tooltip sortable></el-table-column> + <el-table-column prop="accidentName" label="事故名称" show-overflow-tooltip sortable></el-table-column> <el-table-column prop="workInjuryType" label="工商类型" show-overflow-tooltip sortable></el-table-column> <el-table-column prop="declareDate" label="申报日期" show-overflow-tooltip sortable></el-table-column> <el-table-column prop="visitHospital" label="就诊医院" show-overflow-tooltip sortable></el-table-column> @@ -170,11 +170,11 @@ const deletAll = ref(); const handleSelectionChange = (val: any) => { let valId = JSON.parse(JSON.stringify(val)); - let arr = []; - for (let i = 0; i < valId.length; i++) { - arr.push(valId[i].id); - } - deletAll.value = arr.toString(); + let arr = []; + for (let i = 0; i < valId.length; i++) { + arr.push(valId[i].id); + } + deletAll.value = arr; if (val.length == 1) { warning.value = false; danger.value = false; @@ -228,7 +228,7 @@ }) .then(() => { accidentManagementSystemApi() - .workDelete(data) + .workDelete([data]) .then((res) => { if (res.data.code == 200) { ElMessage({ -- Gitblit v1.9.2