From 58c0f11fe2f23a1be2dec768f9ac02107301a634 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期五, 19 九月 2025 17:30:36 +0800
Subject: [PATCH] 2025.9.19 数据产品(待完成)

---
 src/views/fysp/data-product/ProdLawEnforceList.vue |   55 ++++++++++++++++---------------------------------------
 1 files changed, 16 insertions(+), 39 deletions(-)

diff --git a/src/views/fysp/data-product/ProdLawEnforceList.vue b/src/views/fysp/data-product/ProdLawEnforceList.vue
index 2dccfb8..caed506 100644
--- a/src/views/fysp/data-product/ProdLawEnforceList.vue
+++ b/src/views/fysp/data-product/ProdLawEnforceList.vue
@@ -1,5 +1,6 @@
 <template>
   <FYTable
+    id="fyTable"
     @search="onSearch"
     :data="tableData"
     :pagination="false"
@@ -47,15 +48,12 @@
       </el-descriptions>
     </template>
     <template #buttons>
-      <el-button
-        icon="Download"
-        type="primary"
-        plain
-        @click="download"
-        :loading="dlLoading"
+      <FYDownloadTableButton
+        label="涓嬭浇娓呭崟"
+        table-id="fyTable"
+        :file-name="fileName"
         :disabled="downloadDisabled"
-        >涓嬭浇娓呭崟</el-button
-      >
+      ></FYDownloadTableButton>
     </template>
     <template #table-column="{ size }">
       <el-table-column fixed="left" label="搴忓彿" width="53">
@@ -78,15 +76,11 @@
           <el-icon class="is-loading" v-if="row._loading">
             <Loading color="#409eff" />
           </el-icon>
-          <div v-else>
-            <template v-if="row._problems.length > 0">
-              <div v-for="(p, i) in row._problems" :key="p.guid">
-                <el-text>{{ i + 1 }}銆�</el-text>
-                <el-text>{{ p.problemname }}</el-text>
-              </div>
+          <template v-else-if="row._problems.length > 0">
+            <template v-for="(p, i) in row._problems" :key="p.guid">
+              <br v-if="i > 0" />{{ i + 1 + '銆�' + p.problemname }}
             </template>
-            <el-text v-else>/</el-text>
-          </div>
+          </template>
         </template>
       </el-table-column>
       <!-- <el-table-column
@@ -160,13 +154,8 @@
 import evaluateApi from '@/api/fysp/evaluateApi';
 import problemApi from '@/api/fysp/problemApi';
 import sceneApi from '@/api/fysp/sceneApi';
-import { conversionFromTable } from "@/utils/excel";
 import { envCreditCode } from '@/constants/index';
 import { useTablePaste } from '@/composables/tablePaste';
-import { useCloned } from '@vueuse/core';
-import { useMessageBoxTip } from '@/composables/messageBox';
-import * as XLSX from 'xlsx';
-import FileSaver from 'file-saver';
 
 export default {
   setup() {
@@ -239,6 +228,12 @@
         });
         return b;
       }
+    },
+    fileName() {
+      const { locations, scenetype, time } = this.formSearch;
+      return `${locations.dName}${dayjs(time).format(
+        'YYYY骞碝M鏈�'
+      )}鑱斿悎鎵ф硶娓呭崟`;
     }
   },
   methods: {
@@ -326,24 +321,6 @@
     filterHandler(value, row, column) {
       const property = column['property'];
       return row[property] === value;
-    },
-    download() {
-      // const workbook = XLSX.utils.book_new();
-      // const worksheet = XLSX.utils.json_to_sheet(this.tableData);
-      // XLSX.utils.book_append_sheet(workbook, worksheet, 'Sheet1');
-      // const excelData = XLSX.write(workbook, {
-      //   bookType: 'xlsx',
-      //   type: 'array'
-      // });
-      // const blob = new Blob([excelData], {
-      //   type: 'application/vnd.openxmlformats-officedocumnet.spreadsheetml.sheet'
-      // });
-      const { locations, scenetype, time } = this.formSearch;
-      const name = `${locations.dName}${dayjs(time).format(
-        'YYYY骞碝M鏈�'
-      )}鑱斿悎鎵ф硶娓呭崟.xlsx`;
-      // FileSaver.saveAs(blob, name);
-      conversionFromTable('fyTable', name)
     }
   },
   mounted() {

--
Gitblit v1.9.3