Browse Source

系统页面增加标题

ljb 8 months ago
parent
commit
8c70e08076
57 changed files with 996 additions and 302 deletions
  1. 19 0
      src/api/achiveManage/archiveList.js
  2. 49 0
      src/option/achiveManage/archiveList.js
  3. 47 0
      src/printOption/achiveManage/archiveList.js
  4. 5 0
      src/styles/common.scss
  5. 16 7
      src/views/RD-system-manage/list.vue
  6. 11 2
      src/views/achievement/other-achievements.vue
  7. 10 2
      src/views/achievement/patent-achievement.vue
  8. 12 2
      src/views/achievement/research-paper.vue
  9. 12 2
      src/views/achievement/soft-works.vue
  10. 11 2
      src/views/achievement/technical-standard.vue
  11. 290 0
      src/views/archive-manage/archive-list.vue
  12. 12 4
      src/views/archive-manage/file-supplement.vue
  13. 16 8
      src/views/basic-resource/basic-database/auxiliary-accounting.vue
  14. 8 1
      src/views/basic-resource/basic-database/comp-subject-setting.vue
  15. 8 0
      src/views/basic-resource/basic-database/subject-setting.vue
  16. 12 7
      src/views/basic-resource/comp-basic-info/ky-asset-list.vue
  17. 14 8
      src/views/basic-resource/comp-basic-info/technician-roster.vue
  18. 11 7
      src/views/external-reports/components/ky-project-list.vue
  19. 16 7
      src/views/external-reports/external-manage/107-1.vue
  20. 11 0
      src/views/external-reports/external-manage/torch-develop-annual-report.vue
  21. 7 4
      src/views/external-reports/high-tech/gx-auxiliary-details.vue
  22. 9 6
      src/views/external-reports/high-tech/gx-auxiliary-sum-list.vue
  23. 5 4
      src/views/external-reports/jjkc-standards/jjkc-auxiliary-details.vue
  24. 9 6
      src/views/external-reports/jjkc-standards/jjkc-auxiliary-sum-list.vue
  25. 5 4
      src/views/external-reports/kj-standards/kj-auxiliary-details.vue
  26. 9 5
      src/views/external-reports/kj-standards/kj-auxiliary-sum-list.vue
  27. 9 5
      src/views/project-manage/project-list.vue
  28. 9 5
      src/views/tech-person/cy-person-roster.vue
  29. 14 7
      src/views/tech-person/cy-person-sum-list.vue
  30. 10 7
      src/views/tech-person/high-tech-person-sum-list.vue
  31. 10 6
      src/views/tech-person/month-cjcyry.vue
  32. 10 8
      src/views/yf-cost-manage/basic-data-setting/atten-info.vue
  33. 15 7
      src/views/yf-cost-manage/basic-data-setting/dev-work-hours-register.vue
  34. 9 6
      src/views/yf-cost-manage/basic-data-setting/dt-cost-allocation-list.vue
  35. 14 9
      src/views/yf-cost-manage/basic-data-setting/hourse-details-list.vue
  36. 13 8
      src/views/yf-cost-manage/basic-data-setting/ky-device-list.vue
  37. 9 5
      src/views/yf-cost-manage/basic-data-setting/lease-records.vue
  38. 9 5
      src/views/yf-cost-manage/basic-data-setting/month-salary-list.vue
  39. 14 8
      src/views/yf-cost-manage/basic-data-setting/other-cost-ledger.vue
  40. 10 6
      src/views/yf-cost-manage/basic-data-setting/picking-detail.vue
  41. 10 6
      src/views/yf-cost-manage/basic-data-setting/project-zjtl-cost.vue
  42. 13 8
      src/views/yf-cost-manage/basic-data-setting/sjzbsy-cost-ledger.vue
  43. 9 5
      src/views/yf-cost-manage/basic-data-setting/working-hours-records.vue
  44. 14 7
      src/views/yf-cost-manage/basic-data-setting/ww-cost-ledger.vue
  45. 13 8
      src/views/yf-cost-manage/basic-data-setting/wxzc-details.vue
  46. 14 8
      src/views/yf-cost-manage/basic-data-setting/yf-cost-bill.vue
  47. 14 10
      src/views/yf-cost-manage/yf-cost-statistics/person-cost-statistics/person-allocation-list.vue
  48. 10 6
      src/views/yf-cost-manage/yf-cost-statistics/person-cost-statistics/project-allocation-list.vue
  49. 17 9
      src/views/yf-cost-manage/yf-cost-statistics/person-cost-statistics/yf-work-hours-allocation-list.vue
  50. 9 6
      src/views/yf-cost-manage/yf-cost-statistics/wxzc-cost-statistics/amortize-cost-summary-list.vue
  51. 14 5
      src/views/yf-cost-manage/yf-cost-statistics/wxzc-cost-statistics/yf-cost-summary-list.vue
  52. 22 8
      src/views/yf-cost-manage/yf-cost-statistics/zjfy-cost-statistics/depre-summary-list.vue
  53. 9 5
      src/views/yf-cost-manage/yf-cost-statistics/zjfy-cost-statistics/dev-depre-allocation.vue
  54. 9 6
      src/views/yf-cost-manage/yf-cost-statistics/zjfy-cost-statistics/hourse-depre-allocation.vue
  55. 5 17
      src/views/yf-cost-manage/yf-cost-statistics/zjtl-cost-statistics/cl-cost/components/common-page.vue
  56. 4 1
      src/views/yf-cost-manage/yf-cost-statistics/zjtl-cost-statistics/dev-cost/yf-lease-allocation-list.vue
  57. 21 7
      src/views/yf-cost-manage/yf-cost-statistics/zjtl-cost-statistics/zjtl-cost-summary-list.vue.vue

+ 19 - 0
src/api/achiveManage/archiveList.js

@@ -0,0 +1,19 @@
+import request from '@/router/axios';
+
+export const getList = (params) => {
+  return request({
+    url: '/api/kd-scientific/fjbczl',
+    method: 'get',
+    params: {
+      ...params,
+    }
+  })
+}
+
+export const update = (row) => {
+  return request({
+    url: '/api/kd-scientific/fjbczl',
+    method: 'post',
+    data: row
+  })
+}

+ 49 - 0
src/option/achiveManage/archiveList.js

@@ -0,0 +1,49 @@
+import { downloadFileByUrl } from "@/util/util";
+
+export default {
+  calcHeight: 30,
+  tip: false,
+  searchShow: true,
+  searchMenuSpan: 6,
+  border: true,
+  addBtn: false,
+  index: true,
+  searchLabelWidth: 160,
+  labelWidth: 120,
+  menuWidth: 140,
+  delBtn: false,
+  editBtn: false,
+  selection: true,
+  editBtnText: '上传',
+  dialogClickModal: false,
+  dialogType: "drawer",
+  dialogWidth: 520,
+  column: [
+    {
+      label: '档案资料',
+      prop: 'fileName',
+      width: 600,
+      span: 24,
+      editDisabled: true,
+    },
+    {
+      label: '附件',
+      prop: 'fileList',
+      type: "upload",
+      multiple: true,
+      span: 24,
+      minWidth: 300,
+      action: '/api/kd-resource/oss/endpoint/put-file',
+      dataType: "object",
+      propsHttp: {
+        url: "link",
+        name: "originalName",
+        res: "data",
+      },
+      uploadPreview: (file, column, done) => {
+        downloadFileByUrl(file.url, file.name);
+        return;
+      },
+    },
+  ],
+};

+ 47 - 0
src/printOption/achiveManage/archiveList.js

@@ -0,0 +1,47 @@
+import { downloadFileByUrl } from "@/util/util";
+
+export default {
+  calcHeight: 30,
+  tip: false,
+  searchShow: true,
+  searchMenuSpan: 6,
+  border: true,
+  addBtn: false,
+  index: true,
+  searchLabelWidth: 160,
+  labelWidth: 120,
+  menuWidth: 140,
+  delBtn: false,
+  editBtnText: '上传',
+  dialogClickModal: false,
+  dialogType: "drawer",
+  dialogWidth: 520,
+  column: [
+    {
+      label: '附件资料',
+      prop: 'fileName',
+      width: 400,
+      span: 24,
+      editDisabled: true,
+    },
+    {
+      label: '附件',
+      prop: 'fileList',
+      type: "upload",
+      multiple: true,
+      span: 24,
+      minWidth: 300,
+      action: '/api/kd-resource/oss/endpoint/put-file',
+      dataType: "object",
+      propsHttp: {
+        url: "link",
+        name: "originalName",
+        res: "data",
+      },
+      uploadPreview: (file, column, done) => {
+        downloadFileByUrl(file.url, file.name);
+        return;
+      },
+    },
+  ],
+};

+ 5 - 0
src/styles/common.scss

@@ -40,4 +40,9 @@ a{
   .printHide {
     display: none;
   }
+}
+
+.page-title {
+  margin: 5px 0 12px;
+  text-align: center;
 }

+ 16 - 7
src/views/RD-system-manage/list.vue

@@ -33,10 +33,11 @@
           一键下载
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showMonth="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showMonth="false"></year-month-select>
       </template>
 
       <template slot="menu" slot-scope="{ row, size }">
@@ -85,7 +86,7 @@
       ref="printWideTable"
       :columns="wideTableColumns"
       :data="data"
-      :print-title="printTitle"
+      :print-title="pageTitle"
       :rows-per-page="30"
       :default-landscape="true"
     />
@@ -98,6 +99,8 @@ import YearMonthSelect from "@/components/year-month-select";
 import moment, { isDate } from "moment";
 import {getToken} from "@/util/auth";
 import {downloadXls, downloadFileByUrl} from "@/util/util";
+import { mapGetters } from "vuex";
+import { computed } from "vue";
 
 
 export default window.$crudCommon({
@@ -120,6 +123,13 @@ export default window.$crudCommon({
       this.getList(this.page);
     }
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format('yyyy年') : ''
+      return `${yearAndMonthCN}${this.tag.label}`
+    }
+  },
   methods: {
     getSearchParams() {
       let searchParams = { ...this.params };
@@ -164,7 +174,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBloByPost(`/api/kd-scientific/technician/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `研发制度${this.params.yearAndMonth}.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -173,7 +183,6 @@ export default window.$crudCommon({
      */
     printTable(isLandscape) {
       this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `研发制度${this.params.yearAndMonth}`;
       this.$nextTick(() => {
         this.$refs.printWideTable.printTable(isLandscape);
       })

+ 11 - 2
src/views/achievement/other-achievements.vue

@@ -43,6 +43,10 @@
         >
           打印
         </el-button>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
         <div class="tip" style="color: red;">提示:企业可自行上传全部历史专利信息和资料,如专利与系统中已建档的研究项目无关,则研发项目编号和研发项目名称非必填。</div>
       </template>
 
@@ -109,6 +113,7 @@ import 'nprogress/nprogress.css';
 import {getToken} from "@/util/auth";
 import {downloadXls, downloadFileByUrl} from "@/util/util";
 import { isAlphanumericCombination } from "@/util/regex";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -118,12 +123,16 @@ export default window.$crudCommon({
   },
   data() {
     return {
-      pageTitle: '其他成果列表',
-
       wideTableColumns: [],
       wideTableData: [],
     };
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      return this.tag.label;
+    }
+  },
   methods: {
     getSearchParams() {
       const newParams = { ...this.params, ...this.extraParams };

+ 10 - 2
src/views/achievement/patent-achievement.vue

@@ -43,7 +43,10 @@
         >
           打印
         </el-button>
+      </template>
 
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
         <div class="tip">提示:企业可自行上传全部历史专利信息和资料,如专利与系统中已建档的研究项目无关,则研发项目编号和研发项目名称非必填。</div>
       </template>
 
@@ -80,6 +83,7 @@ import NProgress from 'nprogress';
 import 'nprogress/nprogress.css';
 import {getToken} from "@/util/auth";
 import {downloadXls, downloadFileByUrl} from "@/util/util";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -89,12 +93,16 @@ export default window.$crudCommon({
   },
   data() {
     return {
-      pageTitle: '专利成果列表',
-
       wideTableColumns: [],
       wideTableData: [],
     };
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      return this.tag.label
+    }
+  },
   methods: {
     getFormData() {
       let newFormData = { ...this.form };

+ 12 - 2
src/views/achievement/research-paper.vue

@@ -43,6 +43,11 @@
         >
           打印
         </el-button>
+        
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
         <div class="tip">提示:企业可自行上传全部历史专利信息和资料,如专利与系统中已建档的研究项目无关,则研发项目编号和研发项目名称非必填。论文发表后再进行登记。</div>
       </template>
 
@@ -79,6 +84,7 @@ import NProgress from 'nprogress';
 import 'nprogress/nprogress.css';
 import {getToken} from "@/util/auth";
 import {downloadXls, downloadFileByUrl} from "@/util/util";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -88,12 +94,16 @@ export default window.$crudCommon({
   },
   data() {
     return {
-      pageTitle: "科研论文列表",
-
       wideTableColumns: [],
       wideTableData: [],
     };
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      return this.tag.label;
+    }
+  },
   methods: {
     handleImport() {
       this.$refs.uploadExcelDialog.open('/api/kd-scientific/kycg/kylw/import');

+ 12 - 2
src/views/achievement/soft-works.vue

@@ -44,6 +44,11 @@
           打印
         </el-button>
 
+        
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
         <div class="tip">提示:企业可自行上传全部历史专利信息和资料,如专利与系统中已建档的研究项目无关,则研发项目编号和研发项目名称非必填。</div>
       </template>
 
@@ -122,6 +127,7 @@ import 'nprogress/nprogress.css';
 import {getToken} from "@/util/auth";
 import {downloadXls, downloadFileByUrl} from "@/util/util";
 import projectSelect from "@/components/project-select";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -131,12 +137,16 @@ export default window.$crudCommon({
   },
   data() {
     return {
-      pageTitle: "软件著作列表",
-
       wideTableColumns: [],
       printTitle: "",
     };
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      return this.tag.label
+    }
+  },
   methods: {
     getSearchParams() {
       const newParams = { ...this.params, ...this.extraParams };

+ 11 - 2
src/views/achievement/technical-standard.vue

@@ -43,6 +43,10 @@
         >
           打印
         </el-button>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
         <div class="tip">提示:企业可自行上传全部历史专利信息和资料,如专利与系统中已建档的研究项目无关,则研发项目编号和研发项目名称非必填。</div>
       </template>
 
@@ -81,6 +85,7 @@ import 'nprogress/nprogress.css';
 import {getToken} from "@/util/auth";
 import {downloadXls, downloadFileByUrl} from "@/util/util";
 import { isAlphanumericCombination } from "@/util/regex";
+import { mapGetters } from "vuex";
 
 export default window.$crudCommon({
   components: {
@@ -89,12 +94,16 @@ export default window.$crudCommon({
   },
   data() {
     return {
-      pageTitle: "技术标准列表",
-
       wideTableColumns: [],
       wideTableData: [],
     };
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      return this.tag.label;
+    }
+  },
   methods: {
     validCustom() {
       if (!isAlphanumericCombination(this.form.zbh)) {

+ 290 - 0
src/views/archive-manage/archive-list.vue

@@ -0,0 +1,290 @@
+<template>
+  <basic-container>
+    <avue-crud
+      v-bind="bindVal"
+      v-on="onEvent"
+      v-model="form"
+      :before-open="handleBeforeOpen"
+    >
+      <template slot="menuLeft">
+        <el-button
+          type="primary"
+          size="small"
+          icon="el-icon-download"
+          @click="handleDownAll"
+        >
+          一键下载
+        </el-button>
+        <el-button
+          type="primary"
+          size="small"
+          plain
+          icon="el-icon-download"
+          @click="handleExport"
+        >
+          一键导出高新备查
+        </el-button>
+        <el-button
+          type="primary"
+          size="small"
+          plain
+          icon="el-icon-download"
+          @click="handleExport"
+        >
+          一键导出加计备查
+        </el-button>
+
+      </template>
+      
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.year" :showMonth="false"></year-month-select>
+      </template>
+
+      <template slot="menu" slot-scope="{row}">
+        <el-button type="text" icon="el-icon-download" size="mini" @click="handleRowDown(row)">下载</el-button>
+      </template>
+
+      <template slot="fileList" slot-scope="{row}">
+        <el-link
+          v-for="(item, index) of row.fileList"
+          :key="index"
+          type="primary"
+          @click="handleDownFile(item)"
+          :style="{marginRight: index === row.fileList.length - 1 ? 0 : '16px'}"
+        >
+          {{ item.label }}
+        </el-link>
+      </template>
+      
+    </avue-crud>
+
+    <!-- <div class="file-temp-list">
+      <div class="row"><el-link @click="handleDownTemp('template1')">模板:当年和前两个会计年度研发费用总额及占同期销售收入比例的说明.doc</el-link></div>
+      <div class="row"><el-link @click="handleDownTemp('template2')">模板:年度职工和科技人员情况说明.doc</el-link></div>
+      <div class="row"><el-link @click="handleDownTemp('template3')">模板:年度主要产品(服务)发挥核心支持作用的技术属于《国家重点支持的高新技术领域》规定范围的说明.doc</el-link></div>
+      <div class="row"><el-link @click="handleDownTemp('template4')">模版:研发费用结构明细表.xls</el-link></div>
+    </div> -->
+  </basic-container>
+</template>
+
+<script>
+import YearMonthSelect from "@/components/year-month-select";
+import {exportBlob} from "@/api/common";
+import {getToken} from "@/util/auth";
+import {downloadXls, downloadFileByUrl} from "@/util/util";
+import moment from "moment";
+import { getDictValueByKey } from '@/api/system/dict';
+import { mapGetters } from "vuex";
+import { computed } from "vue";
+
+
+export default window.$crudCommon({
+  components: {
+    YearMonthSelect,
+  },
+  data() {
+    return {
+      params: {
+        year: "",
+      },
+      isSelAnnual: false,
+
+      wideTableColumns: [],
+      printTitle: "",
+
+      currIndex: 0
+    };
+  },
+  watch: {
+    'params.year'() {
+      this.getList();
+    },
+  },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      let yearCN = this.params.year ? moment(this.params.year).format('yyyy年') : ''
+      return `${yearCN}${this.tag.label}`
+    }
+  },
+  methods: {
+    loadData() {
+      this.loading = true;
+      this.api.getList(this.getSearchParams()).then(({ data }) => {
+        
+        if (data.code == 200) {
+          let list = [{
+            id: data.data.id,
+            fileName: '高新技术企业资格证书',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '高新技术企业认定资料',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '加计扣除情况说明',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '研发立项决议文件',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '高新研发项目汇总表',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '加计扣除研发项目汇总表',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '高新研发项目全套技术资料',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '加计扣除研发项目全套技术资料',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '高新研发人员与科技人员资料',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '加计扣除研发人员与科技人员资料',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '全部知识产权资料(汇总表、证书)',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '高新项目知识产权资料(汇总表、证书)',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '加计扣除项目知识产权资料(汇总表、证书)',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '高新口径研发费用辅助账',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '加计扣除口径研发费用辅助账',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '会计口径研发费用辅助账',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '会计口径研发费用附件凭证资料及相关说明(二级菜单列表需财务提供)',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '高新研发费用附件凭证资料及相关说明(二级菜单列表需财务提供)',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '加计扣除研发费用附件凭证资料及相关说明(二级菜单列表需财务提供)',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: 'A107012研发费用加计扣除优惠明细表',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '当年和前两个会计年度研发费用总额及占同期销售收入比例的说明',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '年度主要产品(服务)发挥核心支持作用的技术属于《国家重点支持的高新技术领域》规定范围的说明',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '高新技术产品(服务)及对应收入资料',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '研发管理制度',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '高新项目技术鉴定资料',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '加计扣除项目技术鉴定资料',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '其他高新备查资料',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }, {
+            id: data.data.id,
+            fileName: '其他加计扣除备查资料',
+            fileList: JSON.parse(data.data.dd || '[]')
+          }];
+          this.data = list;
+        }
+
+
+        this.loading = false;
+      })
+    },
+    handleBeforeOpen(done) {
+      this.currIndex = this.form.$index + 1;
+      done();
+    },
+    handleExport() {
+      exportBlob(`/api/kd-scientific/fjbczl/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
+        downloadXls(res.data, `${this.params.year}附件补充.xlsx`);
+      });
+    },
+    handleDownFile(file) {
+      downloadFileByUrl(file.value, file.label);
+    },
+    handleDownAll() {
+      this.$message.warning("功能建设中...");
+    },
+    handleRowDown() {
+      this.$message.warning("功能建设中...");
+    },
+    getFormData() {
+      return { id: this.form.id, yearAndMonth: this.params.year, [`d${this.currIndex}`]: JSON.stringify(this.form.fileList) }
+    },
+    handleDownTemp(templateKey) {
+      getDictValueByKey('fjbczl-template', templateKey).then(({ data }) => {
+        if (data.code == 200) {
+          if (typeof data.data === 'object') {
+            this.$message.error('暂未配置模板');
+            return;
+          }
+          let tempObj = {
+            'template1': '当年和前两个会计年度研发费用总额及占同期销售收入比例的说明.doc',
+            'template2': '年度职工和科技人员情况说明.doc',
+            'template3': '年度主要产品(服务)发挥核心支持作用的技术属于《国家重点支持的高新技术领域》规定范围的说明.doc',
+            'template4': '研发费用结构明细表.xls'
+          };
+
+          downloadFileByUrl(data.data, tempObj[templateKey]);
+        }
+      })
+    },
+  },
+}, {
+  // 模块路径
+  name: 'achiveManage/archiveList',
+});
+</script>
+
+<style lang="scss" scoped>
+.file-temp-list {
+  margin-top: 20px;
+  .row {
+    line-height: 24px;
+  }
+}
+</style>

+ 12 - 4
src/views/archive-manage/file-supplement.vue

@@ -24,11 +24,11 @@
         >
           一键导出
         </el-button>
+      </template>
 
-
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.year" :showMonth="false"></year-month-select>
-        </div>
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.year" :showMonth="false"></year-month-select>
       </template>
 
       <template slot="menu" slot-scope="{row}">
@@ -65,6 +65,7 @@ import {getToken} from "@/util/auth";
 import {downloadXls, downloadFileByUrl} from "@/util/util";
 import moment from "moment";
 import { getDictValueByKey } from '@/api/system/dict';
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -89,6 +90,13 @@ export default window.$crudCommon({
       this.getList();
     },
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      let yearCN = this.params.year ? moment(this.params.year).format('yyyy年') : ''
+      return `${yearCN}${this.tag.label}`
+    }
+  },
   methods: {
     loadData() {
       this.loading = true;

+ 16 - 8
src/views/basic-resource/basic-database/auxiliary-accounting.vue

@@ -19,10 +19,12 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showMonth="false"></year-month-select>
-        </div>
+
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showMonth="false"></year-month-select>
       </template>
       
     </avue-crud>
@@ -33,7 +35,7 @@
       ref="printWideTable"
       :columns="wideTableColumns"
       :data="data"
-      :print-title="printTitle"
+      :print-title="pageTitle"
       :rows-per-page="30"
       :default-landscape="true"
       :zoom="100"
@@ -47,6 +49,7 @@ import YearMonthSelect from "@/components/year-month-select";
 import moment from "moment";
 import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -69,10 +72,17 @@ export default window.$crudCommon({
       this.getList(this.page);
     }
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format('yyyy年') : '';
+      return `${yearAndMonthCN}${this.tag.label}`
+    }
+  },
   methods: {
     handleExport() {
       exportBlob(`/api/kd-scientific/xm/assist/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.params.yearAndMonth}辅助核算.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -81,8 +91,6 @@ export default window.$crudCommon({
      */
     printTable(isLandscape) {
       this.wideTableColumns = this.printOption.column;
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年');
-      this.printTitle = `${yearAndMonthCN}辅助核算`;
       this.$nextTick(() => {
         this.$refs.printWideTable.printTable(false);
       })

+ 8 - 1
src/views/basic-resource/basic-database/comp-subject-setting.vue

@@ -38,8 +38,12 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
+
       </template>
       
+      <template slot="body">
+        <h3 class="page-title">{{ tag.label }}</h3>
+      </template>
     </avue-crud>
 
     <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
@@ -62,7 +66,7 @@ import {exportBlob} from "@/api/common";
 import UploadExcelDialog from "@/components/upload-excel-dialog";
 import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
-
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -80,6 +84,9 @@ export default window.$crudCommon({
   mounted() {
     this.getMenuData();
   },
+  computed: {
+    ...mapGetters(['tag'])
+  },
   methods: {
     loopData(data, level) {
       level++;

+ 8 - 0
src/views/basic-resource/basic-database/subject-setting.vue

@@ -20,11 +20,16 @@
           新增子级
         </el-button>
       </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ tag.label }}</h3>
+      </template>
     </avue-crud>
   </basic-container>
 </template>
 <script>
 import { getList, add, update, remove } from "@/api/basicResource/subjectSetting";
+import { mapGetters } from "vuex";
 
 export default {
   data() {
@@ -174,6 +179,9 @@ export default {
       },
     };
   },
+  computed: {
+    ...mapGetters(['tag'])
+  },
   mounted() {
     this.loadData();
     this.getMenuData();

+ 12 - 7
src/views/basic-resource/comp-basic-info/ky-asset-list.vue

@@ -40,9 +40,11 @@
         </el-button>
         <print-table-btn @click="printTable" />
         
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
 
       <template slot-scope="{row, index, size}" slot="menu">
@@ -112,6 +114,7 @@ import moment from "moment";
 import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -148,6 +151,7 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     permissionList() {
       return {
         addBtn: !this.isSelAnnual,
@@ -156,11 +160,12 @@ export default window.$crudCommon({
       };
     },
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      if (this.isSelAnnual) {
-        yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.isSelAnnual ? "yyyy年" : "yyyy年MM月";
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp);
       }
-      return `${yearAndMonthCN}科研资产清单`;
+      return `${yearAndMonthCN}${this.tag.label}`;
     }
   },
   mounted() {

+ 14 - 8
src/views/basic-resource/comp-basic-info/technician-roster.vue

@@ -48,10 +48,7 @@
           读取上个月人员名单
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+
       </template>
 
       <template slot="departmentIdForm">
@@ -71,6 +68,11 @@
         >
         </el-date-picker>
       </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
+      </template>
       
     </avue-crud>
 
@@ -98,6 +100,7 @@ import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
 import { isAlphanumericCombination } from "@/util/regex";
 import secondUnitCascader from "@/components/second-unit-cascader";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -133,6 +136,7 @@ export default window.$crudCommon({
     },
   },
   computed: {
+    ...mapGetters(['tag']),
     currYear() {
       return moment(this.params.yearAndMonth).format('YYYY')
     },
@@ -144,11 +148,13 @@ export default window.$crudCommon({
       };
     },
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      if (this.isSelAnnual) {
-        yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.isSelAnnual ? "yyyy年" : "yyyy年MM月";
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp);
       }
-      return `${yearAndMonthCN}技术人员花名册`;
+
+      return `${yearAndMonthCN}${this.tag.label}`;
     }
   },
   methods: {

+ 11 - 7
src/views/external-reports/components/ky-project-list.vue

@@ -29,10 +29,11 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showMonth="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showMonth="false"></year-month-select>
       </template>
 
       <template slot="xmIdListForm">
@@ -61,6 +62,7 @@ import {exportBlob} from "@/api/common";
 import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -90,10 +92,12 @@ export default window.$crudCommon({
     };
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
-      return `${yearAndMonthCN}${this.typeEnum[this.type]}研发项目清单`
-    },
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年MM月") : '';
+
+      return `${yearAndMonthCN}${this.tag.label}`;
+    }
   },
   watch: {
     'params.yearAndMonth'(newVal) {

+ 16 - 7
src/views/external-reports/external-manage/107-1.vue

@@ -16,13 +16,13 @@
         >
           导出
         </el-button>
-
-        <div style="display: flex; align-items: center">
-          <year-month-select
-            v-model="params.year"
-            :showMonth="false"
-          ></year-month-select>
-        </div>
+      </template>
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select
+          v-model="params.year"
+          :showMonth="false"
+        ></year-month-select>
       </template>
     </avue-crud>
 
@@ -35,6 +35,8 @@ import YearMonthSelect from "@/components/year-month-select";
 import moment from "moment";
 import { getToken } from "@/util/auth";
 import { downloadXls } from "@/util/util";
+import { mapGetters } from "vuex"
+import { computed } from "vue";
 
 export default window.$crudCommon({
   components: {
@@ -53,6 +55,13 @@ export default window.$crudCommon({
       this.getList(this.page);
     },
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      let yearCN = this.params.year ? moment(this.params.year).format('yyyy年') : '';
+      return `${yearCN}${this.tag.label}`
+    }
+  },
   methods: {
     loadData() {
         this.loading = true;

+ 11 - 0
src/views/external-reports/external-manage/torch-develop-annual-report.vue

@@ -6,6 +6,10 @@
       v-model="form"
     >
 
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+      </template>
+
       <template slot="yearTempUrl" slot-scope="{row}">
         <el-link type="primary" @click="handleDownTemp(row)">下载样表 </el-link>
       </template>
@@ -28,12 +32,19 @@
 
 <script>
 import { downloadFileByUrl } from "@/util/util";
+import { mapGetters } from "vuex";
 
 export default window.$crudCommon({
   data() {
     return {
     };
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      return this.tag.label;
+    }
+  },
   methods: {
     getSearchParams() {
       return { yearMin: 2025, yearMax: 2035 }

+ 7 - 4
src/views/external-reports/high-tech/gx-auxiliary-details.vue

@@ -6,8 +6,9 @@
         <el-button :size="size" icon="el-icon-delete" @click="handleResetBtn">清空</el-button>
       </template>
     </avue-form>
-    <div>
-    </div>
+    <h3 class="page-title">
+      {{ pageTitle }}
+    </h3>
     <div style="display: flex; align-items: center;">
       <year-month-select v-model="yearAndMonth" :showAllYear="false" style="margin: 6px 0 20px;"></year-month-select>
     </div>
@@ -40,6 +41,7 @@ import YearMonthSelect from "@/components/year-month-select";
 import commonList from "./components/common-list.vue";
 import { getList } from "@/api/externalReports/gxAuxiliaryDetails";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 export default {
   components: {
@@ -74,9 +76,10 @@ export default {
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
-      return `${yearAndMonthCN}高新-研发支出辅组账`;
+      let yearAndMonthCN = this.yearAndMonth ? moment(this.yearAndMonth).format('yyyy年MM月') : '';
+      return `${yearAndMonthCN}${this.tag.label}`;
     }
   },
   methods: {

+ 9 - 6
src/views/external-reports/high-tech/gx-auxiliary-sum-list.vue

@@ -18,10 +18,11 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
     </avue-crud>
 
@@ -44,6 +45,7 @@ import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -67,10 +69,11 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format('yyyy年MM月') : '';
 
-      return `${yearAndMonthCN}高新研发费用辅助账汇总表`;
+      return `${yearAndMonthCN}${this.tag.label}`;
     }
   },
   methods: {

+ 5 - 4
src/views/external-reports/jjkc-standards/jjkc-auxiliary-details.vue

@@ -6,8 +6,7 @@
         <el-button :size="size" icon="el-icon-delete" @click="handleResetBtn">清空</el-button>
       </template>
     </avue-form>
-    <div>
-    </div>
+    <h3 class="page-title">{{ pageTitle }}</h3>
     <div style="display: flex; align-items: center;">
       <year-month-select v-model="yearAndMonth" :showAllYear="false" style="margin: 6px 0 20px;"></year-month-select>
       <el-radio-group v-model="costType" size="mini" style="margin: 8px 0 20px 8px;">
@@ -54,6 +53,7 @@ import YearMonthSelect from "@/components/year-month-select";
 import commonList from "./components/common-list.vue";
 import { getList } from "@/api/externalReports/jjkcAuxiliaryDetails";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 export default {
   components: {
@@ -93,9 +93,10 @@ export default {
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
-      return `${yearAndMonthCN}加计扣除-研发支出明细账`;
+      let yearAndMonthCN = this.yearAndMonth ? moment(this.yearAndMonth).format('yyyy年MM月') : '';
+      return `${yearAndMonthCN}${this.tag.label}`;
     },
   },
   methods: {

+ 9 - 6
src/views/external-reports/jjkc-standards/jjkc-auxiliary-sum-list.vue

@@ -16,10 +16,11 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <template slot="menu" slot-scope="{ row }">
@@ -56,6 +57,7 @@ import {exportBlob} from "@/api/common";
 import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -79,10 +81,11 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format('yyyy年MM月') : '';
 
-      return `${yearAndMonthCN}加计扣除-研发支出辅助账汇总表`;
+      return `${yearAndMonthCN}${this.tag.label}`;
     }
   },
   methods: {

+ 5 - 4
src/views/external-reports/kj-standards/kj-auxiliary-details.vue

@@ -6,8 +6,7 @@
         <el-button :size="size" icon="el-icon-delete" @click="handleResetBtn">清空</el-button>
       </template>
     </avue-form>
-    <div>
-    </div>
+    <h3 class="page-title">{{ pageTitle }}</h3>
     <div style="display: flex; align-items: center;">
       <year-month-select v-model="yearAndMonth" :showAllYear="false" style="margin: 6px 0 20px;"></year-month-select>
     </div>
@@ -41,6 +40,7 @@ import YearMonthSelect from "@/components/year-month-select";
 import commonList from "./components/common-list.vue";
 import { getList } from "@/api/externalReports/kjAuxiliaryDetails";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 export default {
   components: {
@@ -75,10 +75,11 @@ export default {
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
+      let yearAndMonthCN = this.yearAndMonth ? moment(this.yearAndMonth).format("yyyy年MM月") : '';
 
-      return `${yearAndMonthCN}会计口径研发费用明细表`;
+      return `${yearAndMonthCN}${this.tag.label}`;
     }
   },
   methods: {

+ 9 - 5
src/views/external-reports/kj-standards/kj-auxiliary-sum-list.vue

@@ -20,9 +20,11 @@
         </el-button>
         <print-table-btn @click="printTable" />
         
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
       
     </avue-crud>
@@ -46,6 +48,7 @@ import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -69,9 +72,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
-      return `${yearAndMonthCN}会计口径研发费用辅组账汇总表`;
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format('yyyy年MM月') : '';
+      return `${yearAndMonthCN}${this.tag.label}`;
     }
   },
   methods: {

+ 9 - 5
src/views/project-manage/project-list.vue

@@ -28,9 +28,11 @@
         </el-button>
         <print-table-btn @click="printTable" />
         
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
 
       <template slot="lxbg" slot-scope="{ row }">
@@ -108,6 +110,7 @@ import change from "./change.vue";
 import acceptForm from "./components/accept-form.vue";
 import resultTable from "./result-table.vue";
 import outsourcingDoc from "./components/outsourcing-doc.vue";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -143,9 +146,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      return `${yearAndMonthCN}科研项目汇总表`
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年MM月") : '';
+      return `${yearAndMonthCN}${this.tag.label}`
     },
   },
   methods: {

+ 9 - 5
src/views/tech-person/cy-person-roster.vue

@@ -17,9 +17,11 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        <div>
-          <year-month-select v-model="params.yearAndMonth" :showMonth="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showMonth="false"></year-month-select>
       </template>
 
       <template slot="situationCountSearch">
@@ -60,6 +62,7 @@ import 'nprogress/nprogress.css';
 import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -84,9 +87,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
-      return `${yearAndMonthCN}参研人员花名册`
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年") : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 14 - 7
src/views/tech-person/cy-person-sum-list.vue

@@ -19,9 +19,12 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        <div>
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+        
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
       
     </avue-crud>
@@ -46,6 +49,7 @@ import NProgress from 'nprogress';
 import 'nprogress/nprogress.css';
 import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -76,12 +80,15 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      if (this.isSelAnnual) {
-        yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.isSelAnnual ? "yyyy年" : "yyyy年MM月";
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp);
       }
-      return `${yearAndMonthCN}项目参研人员汇总表`
+
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 10 - 7
src/views/tech-person/high-tech-person-sum-list.vue

@@ -20,10 +20,12 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        <div>
-          <year-month-select v-model="params.yearAndMonth" :showMonth="false"></year-month-select>
-        </div>
-        
+
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showMonth="false"></year-month-select>
       </template>
 
       <template slot="hireDateSearch">
@@ -60,6 +62,7 @@ import YearMonthSelect from "@/components/year-month-select";
 import moment from "moment";
 import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -72,7 +75,6 @@ export default window.$crudCommon({
         yearAndMonth: "",
       },
       
-      printTitle: "",
       wideTableColumns: [],
     };
   },
@@ -83,9 +85,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
-      return `${yearAndMonthCN}度高新科技人员汇总表`;
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年") : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/年度/g, '');;
     }
   },
   methods: {

+ 10 - 6
src/views/tech-person/month-cjcyry.vue

@@ -34,9 +34,11 @@
           直接引用
         </el-button>
         <print-table-btn @click="printTable" />
-        <div>
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <template slot="xmIdForm">
@@ -71,7 +73,8 @@ import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
 import projectSelect from "@/components/project-select";
 import personSelect from "@/components/person-select";
-import {yyysbmd} from "@/api/techPerson/monthSjcyry"
+import {yyysbmd} from "@/api/techPerson/monthSjcyry";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -99,9 +102,10 @@ export default window.$crudCommon({
     },
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      return `${yearAndMonthCN}实际参研人员`
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年MM月") : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 10 - 8
src/views/yf-cost-manage/basic-data-setting/atten-info.vue

@@ -39,9 +39,11 @@
         </el-button>
         <print-table-btn @click="printTable" />
         
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
       
     </avue-crud>
@@ -52,7 +54,7 @@
       ref="printWideTable"
       :columns="wideTableColumns"
       :data="data"
-      :print-title="printTitle"
+      :print-title="pageTitle"
       :rows-per-page="30"
       :default-landscape="true"
     />
@@ -68,6 +70,7 @@ import {downloadXls} from "@/util/util";
 import { deepClone, getMonthDatesWithMarkers } from "@/util/util";
 import moment from "moment";
 import ChineseHoliday from "@chnlib/chinese-holiday";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -83,7 +86,6 @@ export default window.$crudCommon({
       defaultColumns: [],
 
       wideTableColumns: [],
-      printTitle: "",
     };
   },
   watch: {
@@ -94,9 +96,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      return `${yearAndMonthCN}考勤信息`;
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年MM月") : "";
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   async created() {
@@ -204,7 +207,6 @@ export default window.$crudCommon({
      */
     printTable(isLandscape) {
       this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = this.pageTitle;
       this.$nextTick(() => {
         this.$refs.printWideTable.printTable(isLandscape);
       })

+ 15 - 7
src/views/yf-cost-manage/basic-data-setting/dev-work-hours-register.vue

@@ -38,10 +38,11 @@
           导出
         </el-button>
         <!-- <print-table-btn @click="printTable" /> -->
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <template slot="monthlyHoursSearch">
@@ -61,7 +62,7 @@
       ref="printWideTable"
       :columns="wideTableColumns"
       :data="data"
-      :print-title="printTitle"
+      :print-title="pageTitle"
       :rows-per-page="30"
       :default-landscape="true"
     />
@@ -77,6 +78,7 @@ import {downloadXls} from "@/util/util";
 import { deepClone, getMonthDatesWithMarkers } from "@/util/util";
 import moment from "moment";
 import ChineseHoliday from "@chnlib/chinese-holiday";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -102,6 +104,13 @@ export default window.$crudCommon({
       this.getList(this.page);
     }
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format('yyyy年MM月') : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
+    }
+  },
   async created() {
     this.defaultColumns = deepClone(this.option.column);
     this.refreshTableCol(this.params.yearAndMonth);
@@ -177,7 +186,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBlob(`/api/kd-scientific/asset/hours/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.params.yearAndMonth}科研仪器设备工时登记表.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -186,7 +195,6 @@ export default window.$crudCommon({
      */
     printTable(isLandscape) {
       this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.params.yearAndMonth}科研仪器设备工时登记表`;
       this.$nextTick(() => {
         this.$refs.printWideTable.printTable(isLandscape);
       })

+ 9 - 6
src/views/yf-cost-manage/basic-data-setting/dt-cost-allocation-list.vue

@@ -42,10 +42,11 @@
           读取上个月数据
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <template slot="txksrqSearch">
@@ -118,6 +119,7 @@ import assetSelect from "@/components/asset-select";
 import moment from "moment";
 import Decimal from "decimal.js";
 import { isAlphanumericCombination } from "@/util/regex";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -144,9 +146,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      return `${yearAndMonthCN}长期待摊费用分配表`;
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年MM月") : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 14 - 9
src/views/yf-cost-manage/basic-data-setting/hourse-details-list.vue

@@ -46,10 +46,11 @@
           直接引用
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
 
       <template slot="sysmSearch">
@@ -124,6 +125,7 @@ import projectSelect from "@/components/project-select";
 import assetSelect from "@/components/asset-select";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -154,9 +156,10 @@ export default window.$crudCommon({
       }
       this.page.currentPage = 1;
       this.getList(this.page);
-    }
+    },
   },
   computed: {
+    ...mapGetters(['tag']),
     permissionList() {
       return {
         addBtn: !this.isSelAnnual,
@@ -165,11 +168,13 @@ export default window.$crudCommon({
       };
     },
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      if (this.isSelAnnual) {
-        yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.isSelAnnual ? "yyyy年" : "yyyy年MM月";
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp);
       }
-      return `${yearAndMonthCN}科研房屋建筑物明细表`;
+
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 13 - 8
src/views/yf-cost-manage/basic-data-setting/ky-device-list.vue

@@ -46,10 +46,11 @@
           直接引用
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
 
       <template slot="sysmSearch">
@@ -124,6 +125,7 @@ import projectSelect from "@/components/project-select";
 import assetSelect from "@/components/asset-select";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -157,6 +159,7 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(["tag"]),
     permissionList() {
       return {
         addBtn: !this.isSelAnnual,
@@ -165,11 +168,13 @@ export default window.$crudCommon({
       };
     },
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      if (this.isSelAnnual) {
-        yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.isSelAnnual ? "yyyy年" : "yyyy年MM月";
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp);
       }
-      return `${yearAndMonthCN}科研仪器设备明细表`;
+
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 9 - 5
src/views/yf-cost-manage/basic-data-setting/lease-records.vue

@@ -37,9 +37,11 @@
         </el-button>
         <print-table-btn @click="printTable" />
         
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <template slot="xmIdForm">
@@ -75,6 +77,7 @@ import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -101,9 +104,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      return `${yearAndMonthCN}研发租赁资产使用记录和费用表`;
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年MM月") : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 9 - 5
src/views/yf-cost-manage/basic-data-setting/month-salary-list.vue

@@ -47,9 +47,11 @@
           引用当月研发人员名单
         </el-button>
         <print-table-btn @click="printTable" />
-        <div>
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <!-- <div v-for="key of watchUpdateKey" :slot="key" slot-scope="scope" :key="key">
@@ -86,6 +88,7 @@ import {downloadXls, summaryMethod} from "@/util/util";
 import Decimal from "decimal.js";
 import PrintTableBtn from "@/components/print-table-btn";
 import WideTablePrinter from '@/components/print-wide-table'
+import { mapGetters } from "vuex";
 
 export default window.$crudCommon({
   components: {
@@ -129,9 +132,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      return `${yearAndMonthCN}工资明细`;
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年MM月") : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   created() {

+ 14 - 8
src/views/yf-cost-manage/basic-data-setting/other-cost-ledger.vue

@@ -39,10 +39,11 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
 
       <template slot="recordDateSearch">
@@ -88,6 +89,7 @@ import {exportBlob} from "@/api/common";
 import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -120,6 +122,7 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     permissionList() {
       return {
         addBtn: !this.isSelAnnual,
@@ -128,12 +131,15 @@ export default window.$crudCommon({
       };
     },
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      if (this.isSelAnnual) {
-        yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.isSelAnnual ? 'yyyy年' : 'yyyy年MM月'
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp)
       }
 
-      return `${yearAndMonthCN}其他费用-基本信息台账`;
+      let tagName = this.tag.label.replace(/[0-9]./, '');
+
+      return `${yearAndMonthCN}${tagName}`;
     }
   },
   mounted() {

+ 10 - 6
src/views/yf-cost-manage/basic-data-setting/picking-detail.vue

@@ -36,10 +36,12 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <template slot="xmIdForm">
@@ -83,6 +85,7 @@ import projectSelect from "@/components/project-select";
 import moment from "moment";
 import { isAlphanumericCombination } from "@/util/regex";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -109,9 +112,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      return `${yearAndMonthCN}研发领料燃料动力明细清单`;
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年MM月") : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 10 - 6
src/views/yf-cost-manage/basic-data-setting/project-zjtl-cost.vue

@@ -36,10 +36,12 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <template slot="xmIdForm">
@@ -70,6 +72,7 @@ import {exportBlob} from "@/api/common";
 import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -96,9 +99,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      return `${yearAndMonthCN}直接投入费用`;
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年MM月") : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 13 - 8
src/views/yf-cost-manage/basic-data-setting/sjzbsy-cost-ledger.vue

@@ -39,10 +39,11 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
 
       <template slot="recordDateSearch">
@@ -95,6 +96,7 @@ import {exportBlob} from "@/api/common";
 import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -127,6 +129,7 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     permissionList() {
       return {
         addBtn: !this.isSelAnnual,
@@ -135,11 +138,13 @@ export default window.$crudCommon({
       };
     },
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
-      if (this.isSelAnnual) {
-        yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年');
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.isSelAnnual ? 'yyyy年' : 'yyyy年MM月';
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp);
       }
-      return `${yearAndMonthCN}设计费用、装备调试费用与试验费用基本信息台账`
+
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/5和6./g, '');
     }
   },
   methods: {

+ 9 - 5
src/views/yf-cost-manage/basic-data-setting/working-hours-records.vue

@@ -39,9 +39,11 @@
         </el-button>
         <!-- <print-table-btn @click="printTable" /> -->
         
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
 
@@ -78,6 +80,7 @@ import {downloadXls} from "@/util/util";
 import { deepClone, getMonthDatesWithMarkers } from "@/util/util";
 import moment from "moment";
 import ChineseHoliday from "@chnlib/chinese-holiday";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -106,9 +109,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
-      return `${yearAndMonthCN}研发人员工时记录表.xlsx`
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format('yyyy年MM月') : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   async created() {

+ 14 - 7
src/views/yf-cost-manage/basic-data-setting/ww-cost-ledger.vue

@@ -40,9 +40,11 @@
         </el-button>
         <print-table-btn @click="printTable" />
         
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
 
       <template slot="wwIdForm">
@@ -73,6 +75,7 @@ import {exportBlob} from "@/api/common";
 import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -105,6 +108,7 @@ export default window.$crudCommon({
     },
   },
   computed: {
+    ...mapGetters(['tag']),
     permissionList() {
       return {
         addBtn: !this.isSelAnnual,
@@ -113,12 +117,15 @@ export default window.$crudCommon({
       };
     },
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      if (this.isSelAnnual) {
-        yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.isSelAnnual ? 'yyyy年' : 'yyyy年MM月'
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp)
       }
 
-      return `${yearAndMonthCN}委托外部研发费用-基本信息台账`;
+      let tagName = this.tag.label.replace(/[0-9]./, '');
+
+      return `${yearAndMonthCN}${tagName}`;
     }
   },
   methods: {

+ 13 - 8
src/views/yf-cost-manage/basic-data-setting/wxzc-details.vue

@@ -46,10 +46,12 @@
           直接引用
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
 
       <template slot="sysmSearch">
@@ -141,6 +143,7 @@ import projectSelect from "@/components/project-select";
 import assetSelect from "@/components/asset-select";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -176,6 +179,7 @@ export default window.$crudCommon({
     },
   },
   computed: {
+    ...mapGetters(['tag']),
     permissionList() {
       return {
         addBtn: !this.isSelAnnual,
@@ -184,12 +188,13 @@ export default window.$crudCommon({
       };
     },
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
-      if (this.isSelAnnual) {
-        yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.isSelAnnual ? "yyyy年" : "yyyy年MM月";
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp);
       }
 
-      return `${yearAndMonthCN}科研无形资产明细表`;
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 14 - 8
src/views/yf-cost-manage/basic-data-setting/yf-cost-bill.vue

@@ -39,10 +39,11 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
 
       <template slot="xmIdForm">
@@ -90,6 +91,7 @@ import {exportBlob} from "@/api/common";
 import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -122,6 +124,7 @@ export default window.$crudCommon({
     },
   },
   computed: {
+    ...mapGetters(['tag']),
     permissionList() {
       return {
         addBtn: !this.isSelAnnual,
@@ -130,12 +133,15 @@ export default window.$crudCommon({
       };
     },
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
-      if (this.isSelAnnual) {
-        yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.params.yearAndMonth.length <= 4 ? 'yyyy年' : 'yyyy年MM月'
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp)
       }
 
-      return `${yearAndMonthCN}企业研发费用支出明细账`;
+      let tagName = this.tag.label.replace(/[0-9]./, '');
+
+      return `${yearAndMonthCN}${tagName}`;
     }
   },
   mounted() {

+ 14 - 10
src/views/yf-cost-manage/yf-cost-statistics/person-cost-statistics/person-allocation-list.vue

@@ -22,10 +22,11 @@
         <print-table-btn title="打印公积金表" @click="printTable($event, '公积金表', 90)" />
         <print-table-btn title="打印奖金表" @click="printTable($event, '奖金表', 90)" />
         <print-table-btn title="打印福利+补充保险表" @click="printTable($event, '福利+补充保险表', 70)" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
       
     </avue-crud>
@@ -49,6 +50,7 @@ import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -73,13 +75,15 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年');
-      if (this.params.yearAndMonth.length > 4) {
-        yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.params.yearAndMonth.length > 4 ? "yyyy年MM月" : "yyyy年";
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp);
       }
 
-      return `${yearAndMonthCN}研发人工`
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '')
     }
   },
   methods: {
@@ -89,7 +93,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBloByPost(`/api/kd-scientific/attendance/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.pageTitle}分配表.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -105,7 +109,7 @@ export default window.$crudCommon({
         typeColumns = this.printOption[type]
       }
       this.wideTableColumns = [...this.printOption.column, ...typeColumns];
-      this.printTitle = `${this.pageTitle}${type}`;
+      this.printTitle = `${this.pageTitle}${type}`;
 
       this.wideTableData = [...this.$refs.crud.list];
       if (this.wideTableColumns.length) {

+ 10 - 6
src/views/yf-cost-manage/yf-cost-statistics/person-cost-statistics/project-allocation-list.vue

@@ -18,10 +18,12 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
 
       <!-- <template slot="amountSearch">
@@ -54,6 +56,7 @@ import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -77,9 +80,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年MM月");
-      return `${yearAndMonthCN}研发项目人工分配汇总表`;
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年MM月") : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 17 - 9
src/views/yf-cost-manage/yf-cost-statistics/person-cost-statistics/yf-work-hours-allocation-list.vue

@@ -18,10 +18,11 @@
           导出
         </el-button>
         <!-- <print-table-btn @click="printTable" /> -->
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <template slot="gslb">
@@ -58,7 +59,7 @@
       ref="printWideTable"
       :columns="wideTableColumns"
       :data="data"
-      :print-title="printTitle"
+      :print-title="pageTitle"
       :rows-per-page="30"
       :default-landscape="true"
     />
@@ -67,12 +68,13 @@
 
 <script>
 import YearMonthSelect from "@/components/year-month-select";
-import {exportBlob} from "@/api/common";
+import {exportBloByPost} from "@/api/common";
 import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
 import { deepClone, getMonthDatesWithMarkers } from "@/util/util";
 import moment from "moment";
 import ChineseHoliday from "@chnlib/chinese-holiday";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -99,6 +101,13 @@ export default window.$crudCommon({
       this.getList(this.page);
     }
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format('yyyy年MM月') : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '')
+    }
+  },
   async created() {
     this.defaultColumns = deepClone(this.option.column);
     this.refreshTableCol(this.params.yearAndMonth);
@@ -152,8 +161,8 @@ export default window.$crudCommon({
       this.option.column = [...newColumns];
     },
     handleExport() {
-      exportBlob(`/api/kd-scientific/xm/technician/hours/myyfgsfpb/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.params.yearAndMonth}研发工时分配表.xlsx`);
+      exportBloByPost(`/api/kd-scientific/xm/technician/hours/myyfgsfpb/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -162,7 +171,6 @@ export default window.$crudCommon({
      */
     printTable(isLandscape) {
       this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.params.yearAndMonth}研发工时分配表.xlsx`;
       this.$nextTick(() => {
         this.$refs.printWideTable.printTable(isLandscape);
       })

+ 9 - 6
src/views/yf-cost-manage/yf-cost-statistics/wxzc-cost-statistics/amortize-cost-summary-list.vue

@@ -17,10 +17,11 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <template slot="rqSearch">
@@ -108,6 +109,7 @@ import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -132,10 +134,11 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format('yyyy年MM月') : '';
 
-      return `${yearAndMonthCN}无形资产摊销费用分配表`;
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 14 - 5
src/views/yf-cost-manage/yf-cost-statistics/wxzc-cost-statistics/yf-cost-summary-list.vue

@@ -16,10 +16,11 @@
         >
           导出
         </el-button>
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
       
     </avue-crud>
@@ -35,6 +36,7 @@ import {exportBlob} from "@/api/common";
 import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -57,6 +59,13 @@ export default window.$crudCommon({
       this.getList();
     }
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format("yyyy年MM月") : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
+    }
+  },
   methods: {
     // 合计
     summaryMethod({ columns, data }) {
@@ -74,7 +83,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBlob(`/api/kd-scientific/lease/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `研发费用汇总表${this.params.yearAndMonth}.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
   },

+ 22 - 8
src/views/yf-cost-manage/yf-cost-statistics/zjfy-cost-statistics/depre-summary-list.vue

@@ -19,11 +19,12 @@
         </el-button>
         <!-- <print-table-btn @click="printTable" /> -->
         
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
       </template>
-      
+ 
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
+      </template>
     </avue-crud>
 
     <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
@@ -32,7 +33,7 @@
       ref="printWideTable"
       :columns="wideTableColumns"
       :data="data"
-      :print-title="printTitle"
+      :print-title="pageTitle"
       :rows-per-page="30"
       :default-landscape="true"
     />
@@ -45,6 +46,7 @@ import {exportBlob} from "@/api/common";
 import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -59,7 +61,6 @@ export default window.$crudCommon({
       defaultColumns: [],
 
       wideTableColumns: [],
-      printTitle: "",
     };
   },
   watch: {
@@ -68,6 +69,20 @@ export default window.$crudCommon({
       this.getList(this.page);
     }
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.params.yearAndMonth.length <= 4 ? 'yyyy年' : 'yyyy年MM月'
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp)
+      }
+
+      let tagName = this.tag.label.replace(/[0-9]./, '');
+
+      return `${yearAndMonthCN}${tagName}`;
+    }
+  },
   methods: {
     // 合计
     summaryMethod({ columns, data }) {
@@ -75,7 +90,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBlob(`/api/kd-scientific/lease/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.params.yearAndMonth}折旧费用、长期待摊费用、无形资产摊销费用汇总表.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -84,7 +99,6 @@ export default window.$crudCommon({
      */
     printTable(isLandscape) {
       this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.params.yearAndMonth}折旧费用、长期待摊费用、无形资产摊销费用汇总表`;
       this.$nextTick(() => {
         this.$refs.printWideTable.printTable(isLandscape);
       })

+ 9 - 5
src/views/yf-cost-manage/yf-cost-statistics/zjfy-cost-statistics/dev-depre-allocation.vue

@@ -18,9 +18,11 @@
         </el-button>
         <print-table-btn @click="printTable" />
         
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <template slot="jczSearch">
@@ -95,6 +97,7 @@ import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -119,9 +122,10 @@ export default window.$crudCommon({
     },
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
-      return `${yearAndMonthCN}科研仪器设备折旧费用分配表`;
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format('yyyy年MM月') : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 9 - 6
src/views/yf-cost-manage/yf-cost-statistics/zjfy-cost-statistics/hourse-depre-allocation.vue

@@ -17,10 +17,11 @@
           导出
         </el-button>
         <print-table-btn @click="printTable" />
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth" :showAllYear="false"></year-month-select>
       </template>
 
       <template slot="jczSearch">
@@ -77,6 +78,7 @@ import {getToken} from "@/util/auth";
 import {downloadXls} from "@/util/util";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -101,9 +103,10 @@ export default window.$crudCommon({
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
-      return `${yearAndMonthCN}科研房屋建筑物折旧费用分配表`;
+      let yearAndMonthCN = this.params.yearAndMonth ? moment(this.params.yearAndMonth).format('yyyy年MM月') : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 5 - 17
src/views/yf-cost-manage/yf-cost-statistics/zjtl-cost-statistics/cl-cost/components/common-page.vue

@@ -19,6 +19,7 @@
         <el-button :size="size" icon="el-icon-delete" @click="handleResetBtn">清空</el-button>
       </template>
     </avue-form>
+    <h3 class="page-title">{{ pageTitle }}</h3>
     <div style="display: flex; align-items: center;">
       <year-month-select v-model="yearAndMonth" :showAllYear="false" style="margin: 6px 0 20px;"></year-month-select>
     </div>
@@ -61,6 +62,7 @@ import commonList from "./common-list.vue";
 import { getList } from "@/api/yfCostManage/yfCostStatistics/clCost";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 export default {
   props: {
@@ -75,15 +77,6 @@ export default {
     commonList
   },
   data() {
-    let codeLabel = '材料编号';
-    let nameLabel = '材料名称';
-    if (this.type === '动力') {
-      codeLabel = '动力编号';
-      nameLabel = '动力名称';
-    } else if (this.type === '燃料') {
-      codeLabel = '燃料编号';
-      nameLabel = '燃料名称';
-    }
     return {
       loading: false,
       searchOption: {
@@ -122,15 +115,10 @@ export default {
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
-      let title = '研发项目领料单';
-      if (this.type == '动力') {
-        title = '研发动力消耗单';
-      } else if (this.type == '燃料') {
-        title = '研发燃料消耗单';
-      }
-      let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
-      return `${yearAndMonthCN}${title}`;
+      let yearAndMonthCN = this.yearAndMonth ? moment(this.yearAndMonth).format('yyyy年MM月') : '';
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 4 - 1
src/views/yf-cost-manage/yf-cost-statistics/zjtl-cost-statistics/dev-cost/yf-lease-allocation-list.vue

@@ -31,6 +31,7 @@
         导出
       </el-button>
     </div>
+    <h3 class="page-title">{{ pageTitle }}</h3>
     <div style="display: flex; align-items: center;">
       <year-month-select v-model="yearAndMonth" :showAllYear="false" style="margin: 6px 0 20px;"></year-month-select>
     </div>
@@ -68,6 +69,7 @@ import YearMonthSelect from "@/components/year-month-select";
 import commonList from "./components/common-list.vue";
 import { getList } from "@/api/yfCostManage/yfCostStatistics/yfLeaseAllocationList";
 import moment from "moment";
+import { mapGetters } from "vuex";
 
 export default {
   components: {
@@ -119,9 +121,10 @@ export default {
     }
   },
   computed: {
+    ...mapGetters(['tag']),
     pageTitle() {
       let yearAndMonthCN = moment(this.params.yearAndMonth).format('yyyy年MM月');
-      return `${yearAndMonthCN}研发租赁费用分配表`;
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '');
     }
   },
   methods: {

+ 21 - 7
src/views/yf-cost-manage/yf-cost-statistics/zjtl-cost-statistics/zjtl-cost-summary-list.vue.vue

@@ -17,10 +17,11 @@
           导出
         </el-button>
         <!-- <print-table-btn @click="printTable" /> -->
-        
-        <div style="display: flex; align-items: center;">
-          <year-month-select v-model="params.yearAndMonth"></year-month-select>
-        </div>
+      </template>
+
+      <template slot="body">
+        <h3 class="page-title">{{ pageTitle }}</h3>
+        <year-month-select v-model="params.yearAndMonth"></year-month-select>
       </template>
 
       <!-- <template slot="costRangeSearch">
@@ -40,7 +41,7 @@
       ref="printWideTable"
       :columns="wideTableColumns"
       :data="data"
-      :print-title="printTitle"
+      :print-title="pageTitle"
       :rows-per-page="30"
       :default-landscape="true"
     />
@@ -54,6 +55,7 @@ import {getToken} from "@/util/auth";
 import {downloadXls, summaryMethod} from "@/util/util";
 import moment from "moment";
 import Decimal from "decimal.js";
+import { mapGetters } from "vuex";
 
 
 export default window.$crudCommon({
@@ -76,6 +78,19 @@ export default window.$crudCommon({
       this.getList();
     }
   },
+  computed: {
+    ...mapGetters(['tag']),
+    pageTitle() {
+      let yearAndMonthCN = '';
+      if (this.params.yearAndMonth) {
+        let formatTemp = this.params.yearAndMonth.length > 4 ? 'yyyy年MM月' : 'yyyy年';
+
+        yearAndMonthCN = moment(this.params.yearAndMonth).format(formatTemp);
+      }
+
+      return `${yearAndMonthCN}${this.tag.label}`.replace(/每月/g, '')
+    }
+  },
   methods: {
     // 合计
     summaryMethod({ columns, data }) {
@@ -94,7 +109,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBlob(`/api/kd-scientific/direct-cost/summary/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.params.yearAndMonth}直接投入费用汇总表.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -103,7 +118,6 @@ export default window.$crudCommon({
      */
     printTable(isLandscape) {
       this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.params.yearAndMonth}直接投入费用汇总表`;
       this.$nextTick(() => {
         this.$refs.printWideTable.printTable(isLandscape);
       })