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