From d0d78b9fbe144326f136ee048bb59d314413032e Mon Sep 17 00:00:00 2001 From: 马宇豪 <978517621@qq.com> Date: 星期二, 27 五月 2025 08:45:29 +0800 Subject: [PATCH] 修改导出 --- src/views/analyse/assessApply/components/reportDialog.vue | 82 ++++++++++++++++++++++++++++++++++++++--- src/views/analyse/assessApply/index.vue | 2 src/views/analyse/assessApply/index.ts | 6 +++ src/views/experiment/project/index.vue | 2 public/static/exampleScience.docx | 0 5 files changed, 84 insertions(+), 8 deletions(-) diff --git a/public/static/exampleScience.docx b/public/static/exampleScience.docx index d159e81..b5c07c8 100644 --- a/public/static/exampleScience.docx +++ b/public/static/exampleScience.docx Binary files differ diff --git a/src/views/analyse/assessApply/components/reportDialog.vue b/src/views/analyse/assessApply/components/reportDialog.vue index f5ba557..66a32f6 100644 --- a/src/views/analyse/assessApply/components/reportDialog.vue +++ b/src/views/analyse/assessApply/components/reportDialog.vue @@ -276,6 +276,7 @@ allPersonList: [], allRoomList: [], phaList: [], + details: {}, systemPersonList: [], experimentTypeList: [ {id: 1, name: '化学类'}, @@ -285,6 +286,36 @@ {id: 5, name: '特种设备类'}, {id: 6, name: '其它类'} ], + stuffTypeList: [ + {id: 1, name: '化学试剂'}, + {id:2, name: '基础材料'} + ], + stuffStorageList: [ + {id:1, name: '智能试剂柜'}, + {id:2, name: '普通储存柜'}, + ], + stuffUnitList: [ + {id:1, name: 'g'}, + {id:2, name: 'kg'}, + {id:3, name: 'ml'}, + {id:4, name: 'l'}, + ], + classifyList:[ + {id:1, name: '有机'}, + {id:2, name: '酸'}, + {id:3, name: '碱性'}, + {id:4, name: '固体废弃物'}, + {id:5, name: '医疗废弃物'}, + {id:6, name: '过期化学品'}, + {id:7, name: '其他'} + ], + wasteStorageList: [ + {id:1, name: '吨袋'}, + {id:2, name: '吨桶'}, + {id:3, name: '小桶'}, + {id:4, name: '托盘'}, + {id:5, name: '其他'}, + ], riskSourceTypeList: [ {id: 1, name: '化学安全'}, {id: 2, name: '辐射安全'}, @@ -305,6 +336,7 @@ const showReportDialog = (title: string, value: ProjectType, allRoomList: RoomType []) => { getReportData(value.id) + reportDialogState.details = value reportDialogState.reportDialogVisible = true; reportDialogState.allRoomList = allRoomList setTimeout(() => { @@ -496,8 +528,9 @@ }; const templatePath = '/static/exampleScience.docx' + const startGeneration = async () => { - const data = JSON.parse(JSON.stringify(reportDialogState.reportForm)) + let data = JSON.parse(JSON.stringify(reportDialogState.reportForm)) const experimentTypeNameList = data.experimentAndType.map(item => { return { id: item.type.id, @@ -545,13 +578,52 @@ } }) data.riskLevel = levelExample - // data.tableData = data.oldRiskAssess ?data.oldRiskAssess: [] - data.phaData = reportDialogState.phaList.map(item=>{ + data.tableData = data.oldRiskAssess ?data.oldRiskAssess: [] + data.phaData = reportDialogState.phaList?reportDialogState.phaList.map(item=>{ return { ...item, riskLevelName: item.riskLevel == 1?'低风险':item.riskLevel == 2?'一般风险':item.riskLevel == 3?'较大风险':item.riskLevel == 4?'重大风险':'--' } - }) + }):[] + data.siteData = data.experimentSite?data.experimentSite.map(item=>{ + return { + ...item, + hasFireFacilities: item.fireFacilities== 1 ? '有' : item.fireFacilities== 2 ? '无' : '', + hasPartitionStatus: item.partitionStatus == 1 ? '有' : item.partitionStatus == 2 ? '无' : '' + } + }):[] + data.materialData = reportDialogState.details.stuffList?reportDialogState.details.stuffList.map(item=>{ + return { + ...item, + typeName: reportDialogState.stuffTypeList.find(i=>i.id == item.stuffType)?.name, + storageName: reportDialogState.stuffStorageList.find(i=>i.id == item.stuffStorage)?.name, + unitName: reportDialogState.stuffUnitList.find(i=>i.id == item.stuffUnit)?.name + } + }):[] + data.equipData = reportDialogState.details.deviceList?reportDialogState.details.deviceList.map(item=>{ + return { + ...item, + isSpecial: item.specialDevice == 1 ? '是' : item.specialDevice == 2 ? '否' : '' + } + }):[] + data.dangerData = reportDialogState.details.hazardousWasteList?reportDialogState.details.hazardousWasteList.map((item,index)=>{ + return { + ...item, + sort: index + 1, + classifyName: reportDialogState.classifyList.find(i=>i.id == item.classify)?.name, + wasteStorageName: reportDialogState.wasteStorageList.find(i=>i.id == item.wasteStorage)?.name + } + }):[] + data.peopleData = reportDialogState.details.persons?reportDialogState.details.persons.map((item,index)=>{ + return { + ...item, + sex: item.personGender == 1 ? '男' : item.personGender == 2 ? '女' : '' + } + }):[] + data.emergyData = reportDialogState.details.emergencyList?reportDialogState.details.emergencyList:[] + const {experimentStep,experimentMethod,process,keyProcess,measure,timeout,timeoutManager,closed,unclosedManager,explosionProof,fireProof,poisonProof} = reportDialogState.details + data = {...data,experimentStep,experimentMethod,process,keyProcess,measure,timeout:timeout == 1?'存在':timeout == 2?'不存在':'',timeoutManager,closed:closed == 1?'存在':closed == 2?'不存在':'',unclosedManager,explosionProof,fireProof,poisonProof} + data.riskSource = data.riskSource ? data.riskSource.map(item => { return { ...item, @@ -560,8 +632,6 @@ }) : [] data.safeRiskAnalysis = data.safeRiskAnalysis ?data.safeRiskAnalysis : '' - - console.log(data,'data') try { generateWordDocument(templatePath, data, `材料科学姑苏实验室安全风险评估表---${data.experimentName}.docx`); diff --git a/src/views/analyse/assessApply/index.ts b/src/views/analyse/assessApply/index.ts index 216bdc5..a09a71f 100644 --- a/src/views/analyse/assessApply/index.ts +++ b/src/views/analyse/assessApply/index.ts @@ -35,6 +35,12 @@ allPersonList: Array<AllPersonListType> systemPersonList: Array<AllPersonListType> phaList: [] + details: {} + stuffTypeList: Array<Type> + stuffUnitList: Array<Type> + stuffStorageList: Array<Type> + classifyList: Array<Type> + wasteStorageList: Array<Type> allRoomList: Array<RoomType>, experimentTypeList: Array<Type> riskSourceTypeList: Array<Type> diff --git a/src/views/analyse/assessApply/index.vue b/src/views/analyse/assessApply/index.vue index 929a87a..3cee65a 100644 --- a/src/views/analyse/assessApply/index.vue +++ b/src/views/analyse/assessApply/index.vue @@ -42,7 +42,7 @@ </el-table-column> <el-table-column prop="experimentType" label="实验类别"> <template #default="scope"> - <span>{{developState.experimentTypeList.find(i=>i.id == scope.row.experimentType)?.name}}</span> + <span>{{scope.row.typeList.map(i=>i.typeName).join('、')}}</span> </template> </el-table-column> <el-table-column prop="status" label="评估申请"> diff --git a/src/views/experiment/project/index.vue b/src/views/experiment/project/index.vue index 009a91b..2b18f17 100644 --- a/src/views/experiment/project/index.vue +++ b/src/views/experiment/project/index.vue @@ -74,7 +74,7 @@ </el-tag> </template> </el-table-column> - <el-table-column prop="status" label="最近评估时间" show-overflow-tooltip> + <el-table-column label="最近评估时间" show-overflow-tooltip> <template #default="scope"> <span>{{scope.row.experimentAssessLogs?scope.row.experimentAssessLogs.map(i=>i.assessEndTime.substring(0,16)).join(','): ''}}</span> </template> -- Gitblit v1.9.2