riku
2025-09-19 58c0f11fe2f23a1be2dec768f9ac02107301a634
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年MM月'
      )}联合执法清单`;
    }
  },
  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年MM月'
      )}联合执法清单.xlsx`;
      // FileSaver.saveAs(blob, name);
      conversionFromTable('fyTable', name)
    }
  },
  mounted() {