多体系建设信息化条统-前端
zhouwx
2026-02-03 f287988f7286ff397b29a03d501add6c4852500c
src/views/work/financialMng/qualityFinancialAnalysis/index.vue
@@ -11,7 +11,7 @@
              v-hasPermi="['qualityFinancialAnalysis:list:add']"
          >新增</el-button>
        </el-form-item>
        <el-form-item label="企业名称:" v-if="data.isAdmin" style="margin-left: 20px">
        <el-form-item label="单位名称:" v-if="data.isAdmin" style="margin-left: 20px">
          <el-select v-model="data.queryParams.companyId" placeholder="请选择" filterable clearable>
            <el-option
                v-for="item in data.companyList"
@@ -50,6 +50,10 @@
              type="primary"
              @click="exportData"
          >导出</el-button>
          <el-button
              type="primary"
              @click="toDownload"
          >模版下载</el-button>
        </el-form-item>
      </el-form>
@@ -58,7 +62,7 @@
    <el-table v-loading="loading" :data="dataList" :border="true"  @selection-change="handleSelectionChange">
      <el-table-column type="selection" width="55" />
      <el-table-column type="index" label="序号" width="80" align="center"></el-table-column>
      <el-table-column label="企业名称" prop="companyName" align="center" v-if="data.isAdmin" />
      <el-table-column label="单位名称" prop="companyName" align="center" v-if="data.isAdmin" />
      <el-table-column label="名称" prop="year" align="center"  >
        <template #default="scope">
          <span>{{scope.row.year}}年质量经济性分析报告</span>
@@ -97,9 +101,11 @@
import { Document, Paragraph, TextRun, Table, TableRow, TableCell,BorderStyle , Packer, AlignmentType, HeadingLevel } from "docx";
import { saveAs } from "file-saver";
import {delEconomy, getEconomy} from "@/api/qualityFinancialAnalysis";
import {useRouter} from "vue-router";
const { proxy } = getCurrentInstance();
const loading = ref(false);
const noticeRef = ref();
const router = useRouter()
const loadingCompany = ref(false)
const choosedData = ref([])
const data = reactive({
@@ -169,6 +175,16 @@
const searchClick = () => {
  getList();
}
const toDownload = ()=>{
  router.push({
    path: '/learn/standardSysTemp/recordStandardModule',
    query: {
      templateName: '质量经济性分析'
    }
  })
}
const openDialog = (type, value) => {
  noticeRef.value.openDialog(type, value,data.companyList);
}
@@ -449,11 +465,11 @@
        }),
        // 三、内外部损失
        // 三、综合评价
        new Paragraph({
          children: [
            new TextRun({
              text: "三、内外部损失",
              text: "三、综合评价",
              font: "宋体",
              size: 22,
              bold: true,
@@ -464,7 +480,7 @@
          alignment: AlignmentType.LEFT,
          spacing: { after: 100 }
        }),
        //内外部损失内容
        //综合评价内容
        new Paragraph({
          children: [
            new TextRun({
@@ -479,11 +495,11 @@
          spacing: { after: 300 } // 和下一段的间距
        }),
        // 四、纠正措施
        // 四、改进意见
        new Paragraph({
          children: [
            new TextRun({
              text: "四、纠正措施",
              text: "四、改进意见",
              font: "宋体",
              size: 22,
              bold: true,
@@ -494,7 +510,7 @@
          alignment: AlignmentType.LEFT,
          spacing: { after: 100 }
        }),
        //纠正措施内容
        //改进意见内容
        new Paragraph({
          children: [
            new TextRun({
@@ -508,11 +524,11 @@
          alignment: AlignmentType.LEFT,
          spacing: { after: 300 } // 和下一段的间距
        }),
          //五、分析结果
          //五、结论
        new Paragraph({
          children: [
            new TextRun({
              text: "六、分析结果",
              text: "五、结论",
              font: "宋体",
              size: 22,
              bold: true,
@@ -527,7 +543,7 @@
        new Paragraph({
          children: [
            new TextRun({
              text: data.suggest, // 替换为实际内容
              text: data.analysis, // 替换为实际内容
              font: "宋体", // 与标题一致
              size: 20, // 小四号(20 half-points)
              bold: false, // 常规
@@ -537,36 +553,36 @@
          alignment: AlignmentType.LEFT,
          spacing: { after: 300 } // 和下一段的间距
        }),
        // 二、改进建议
        new Paragraph({
          children: [
            new TextRun({
              text: "六、改进建议",
              font: "宋体",
              size: 22,
              bold: true,
              color: "000000"
            })
          ],
          heading: HeadingLevel.HEADING_1,
          alignment: AlignmentType.LEFT,
          spacing: { after: 100 }
        }),
        //改进建议内容
        new Paragraph({
          children: [
            new TextRun({
              text: data.suggest, // 替换为实际内容
              font: "宋体", // 与标题一致
              size: 20, // 小四号(20 half-points)
              bold: false, // 常规
              color: "000000" // 纯黑
            })
          ],
          alignment: AlignmentType.LEFT,
          spacing: { after: 300 } // 和下一段的间距
        }),
        //
        // // 二、改进建议
        // new Paragraph({
        //   children: [
        //     new TextRun({
        //       text: "六、改进建议",
        //       font: "宋体",
        //       size: 22,
        //       bold: true,
        //       color: "000000"
        //     })
        //   ],
        //   heading: HeadingLevel.HEADING_1,
        //   alignment: AlignmentType.LEFT,
        //   spacing: { after: 100 }
        // }),
        // //改进建议内容
        // new Paragraph({
        //   children: [
        //     new TextRun({
        //       text: data.suggest, // 替换为实际内容
        //       font: "宋体", // 与标题一致
        //       size: 20, // 小四号(20 half-points)
        //       bold: false, // 常规
        //       color: "000000" // 纯黑
        //     })
        //   ],
        //   alignment: AlignmentType.LEFT,
        //   spacing: { after: 300 } // 和下一段的间距
        // }),
        // 10. 综合部落款
        new Paragraph({