Browse Source

项目预算模块打印功能

ljb 8 months ago
parent
commit
360a592902
29 changed files with 257 additions and 985 deletions
  1. 3 3
      src/components/print-wide-table/index.vue
  2. 10 10
      src/option/projectManage/zjfyycqdtfyCost.js
  3. 12 12
      src/option/techPerson/cyPersonRoster.js
  4. 8 9
      src/option/techPerson/cyPersonSumList.js
  5. 2 36
      src/printOption/projectManage/designCost.js
  6. 2 36
      src/printOption/projectManage/otherCost.js
  7. 3 45
      src/printOption/projectManage/outsourcingCost.js
  8. 7 77
      src/printOption/projectManage/personCost.js
  9. 4 55
      src/printOption/projectManage/wxzctxCost.js
  10. 3 36
      src/printOption/projectManage/zbCost.js
  11. 4 74
      src/printOption/projectManage/zjfyycqdtfyCost.js
  12. 8 64
      src/printOption/projectManage/zztlCost.js
  13. 14 14
      src/printOption/techPerson/cyPersonRoster.js
  14. 10 78
      src/printOption/techPerson/cyPersonSumList.js
  15. 2 257
      src/printOption/techPerson/highTechPersonSumList.js
  16. 2 2
      src/printOption/techPerson/monthSjcyry.js
  17. 12 17
      src/views/project-manage/components/design-cost.vue
  18. 12 17
      src/views/project-manage/components/other-cost.vue
  19. 12 17
      src/views/project-manage/components/outsourcing-cost.vue
  20. 14 19
      src/views/project-manage/components/person-cost.vue
  21. 53 30
      src/views/project-manage/components/project-budget.vue
  22. 12 18
      src/views/project-manage/components/wxzctx-cost.vue
  23. 12 17
      src/views/project-manage/components/zb-cost.vue
  24. 12 18
      src/views/project-manage/components/zjfyycqdtfy-cost.vue
  25. 12 17
      src/views/project-manage/components/zztl-cost.vue
  26. 1 1
      src/views/tech-person/cy-person-roster.vue
  27. 2 1
      src/views/tech-person/cy-person-sum-list.vue
  28. 3 2
      src/views/tech-person/high-tech-person-sum-list.vue
  29. 6 3
      src/views/yf-cost-manage/basic-data-setting/month-salary-list.vue

+ 3 - 3
src/components/print-wide-table/index.vue

@@ -10,11 +10,11 @@
     </div> -->
     
     <!-- 打印预览区域 -->
-    <div class="preview-container" v-if="isPreviewing">
+    <!-- <div class="preview-container" v-if="isPreviewing">
       <div class="preview-content" :style="previewStyle">
         <div class="print-header">
           <h2>{{ printTitle }}</h2>
-          <!-- <div class="print-meta">打印时间: {{ new Date().toLocaleString() }}</div> -->
+          <div class="print-meta">打印时间: {{ new Date().toLocaleString() }}</div>
         </div>
         <div class="table-wrapper" ref="tableWrapper">
           <table class="wide-table" ref="wideTable">
@@ -57,7 +57,7 @@
         <span>第 {{ currentPage }} 页 / 共 {{ totalPages }} 页</span>
         <button @click="nextPage" :disabled="currentPage === totalPages">下一页</button>
       </div>
-    </div>
+    </div> -->
     
     <!-- 实际表格渲染区域(用于打印) -->
     <div v-show="false" class="print-source">

+ 10 - 10
src/option/projectManage/zjfyycqdtfyCost.js

@@ -82,11 +82,11 @@ export default {
       width: 160,
       span: 24,
       showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入长期待摊费用名称',
-        trigger: 'change',
-      }]
+      // rules: [{
+      //   required: true,
+      //   message: '请输入长期待摊费用名称',
+      //   trigger: 'change',
+      // }]
     },
     {
       label: '长期待摊费用金额',
@@ -98,11 +98,11 @@ export default {
       min: 0,
       precision: 2,
       showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入长期待摊费用金额',
-        trigger: 'change',
-      }]
+      // rules: [{
+      //   required: true,
+      //   message: '请输入长期待摊费用金额',
+      //   trigger: 'change',
+      // }]
     },
   ],
 };

+ 12 - 12
src/option/techPerson/cyPersonRoster.js

@@ -156,7 +156,7 @@ export default {
         prop: '1',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {
@@ -164,7 +164,7 @@ export default {
         prop: '2',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {
@@ -172,7 +172,7 @@ export default {
         prop: '3',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {
@@ -180,7 +180,7 @@ export default {
         prop: '4',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {
@@ -188,7 +188,7 @@ export default {
         prop: '5',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {
@@ -196,7 +196,7 @@ export default {
         prop: '6',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {
@@ -204,7 +204,7 @@ export default {
         prop: '7',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {
@@ -212,7 +212,7 @@ export default {
         prop: '8',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {
@@ -220,7 +220,7 @@ export default {
         prop: '9',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {
@@ -228,7 +228,7 @@ export default {
         prop: '10',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {
@@ -236,7 +236,7 @@ export default {
         prop: '11',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {
@@ -244,7 +244,7 @@ export default {
         prop: '12',
         type: 'number',
         span: 12,
-        width: 50,
+        width: 60,
         align: 'center',
         showOverflowTooltip: true,
       }, {

+ 8 - 9
src/option/techPerson/cyPersonSumList.js

@@ -20,7 +20,6 @@ export default {
       prop: 'xmmc',
       span: 12,
       search: true,
-      align: 'center',
       minWidth: 160,
       showOverflowTooltip: true,
     },
@@ -125,13 +124,13 @@ export default {
       },
       showOverflowTooltip: true,
     },
-    // {
-    //   label: '参与月份',
-    //   prop: 'yearAndMonth',
-    //   span: 12,
-    //   width: 100,
-    //   align: 'center',
-    //   showOverflowTooltip: true,
-    // }
+    {
+      label: '参与月份',
+      prop: 'yearAndMonth',
+      span: 12,
+      width: 70,
+      align: 'center',
+      showOverflowTooltip: true,
+    }
   ],
 };

+ 2 - 36
src/printOption/projectManage/designCost.js

@@ -1,49 +1,15 @@
 export default {
-  height: 'auto',
-  calcHeight: 30,
-  tip: false,
-  searchShow: true,
-  searchMenuSpan: 6,
-  border: true,
-  index: true,
-  viewBtn: true,
-  selection: true,
-  searchLabelWidth: 140,
-  labelWidth: 140,
-  menuWidth: 220,
-  dialogClickModal: false,
-  dialogWidth: 500,
-  dialogType: "drawer",
-  height: '600',
   column: [
     {
       label: '设计内容或详情',
       prop: 'sjnr',
-      type: 'input',
-      minWidth: 300,
-      span: 24,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入设计内容或详情',
-        trigger: 'change',
-      }]
+      width: 700,
     },
     {
       label: '预算金额',
       prop: 'ysje',
-      type: 'number',
-      width: 90,
-      span: 24,
+      width: 180,
       align: 'center',
-      min: 0,
-      precision: 2,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入预算金额',
-        trigger: 'change',
-      }]
     },
   ],
 };

+ 2 - 36
src/printOption/projectManage/otherCost.js

@@ -1,49 +1,15 @@
 export default {
-  height: 'auto',
-  calcHeight: 30,
-  tip: false,
-  searchShow: true,
-  searchMenuSpan: 6,
-  border: true,
-  index: true,
-  viewBtn: true,
-  selection: true,
-  searchLabelWidth: 90,
-  labelWidth: 90,
-  menuWidth: 220,
-  dialogClickModal: false,
-  dialogWidth: 500,
-  dialogType: "drawer",
-  height: '600',
   column: [
     {
       label: '费用内容',
       prop: 'fynr',
-      type: 'input',
-      minWidth: 300,
-      span: 24,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入费用内容',
-        trigger: 'change',
-      }]
+      width: 660,
     },
     {
       label: '预算金额',
       prop: 'ysje',
-      type: 'number',
-      width: 90,
-      span: 24,
+      width: 120,
       align: 'center',
-      showOverflowTooltip: true,
-      min: 0,
-      precision: 2,
-      rules: [{
-        required: true,
-        message: '请输入预算金额',
-        trigger: 'change',
-      }]
     },
   ],
 };

+ 3 - 45
src/printOption/projectManage/outsourcingCost.js

@@ -1,62 +1,20 @@
 export default {
-  height: 'auto',
-  calcHeight: 30,
-  tip: false,
-  searchShow: true,
-  searchMenuSpan: 6,
-  border: true,
-  index: true,
-  viewBtn: true,
-  selection: true,
-  searchLabelWidth: 90,
-  labelWidth: 120,
-  menuWidth: 220,
-  dialogClickModal: false,
-  dialogWidth: 500,
-  dialogType: "drawer",
-  height: '600',
   column: [
     {
       label: '受托单位名称',
       prop: 'stdwmc',
-      type: 'input',
-      minWidth: 200,
-      span: 24,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入委托单位名称',
-        trigger: 'change',
-      }]
+      width: 260,
     },
     {
       label: '工作内容',
       prop: 'zznr',
-      type: 'textarea',
-      minWidth: 300,
-      span: 24,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入工作内容',
-        trigger: 'change',
-      }]
+      width: 420,
     },
     {
       label: '委外费用/元',
       prop: 'wwfy',
-      type: 'number',
-      width: 90,
-      span: 24,
+      width: 100,
       align: 'center',
-      min: 0,
-      precision: 2,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入委外费用',
-        trigger: 'change',
-      }]
     },
   ],
 };

+ 7 - 77
src/printOption/projectManage/personCost.js

@@ -1,116 +1,46 @@
 export default {
-  height: 'auto',
-  calcHeight: 30,
-  tip: false,
-  searchShow: true,
-  searchMenuSpan: 6,
-  border: true,
-  index: true,
-  viewBtn: true,
-  selection: true,
-  searchLabelWidth: 140,
-  labelWidth: 140,
-  menuWidth: 220,
-  dialogClickModal: false,
-  dialogWidth: 500,
-  dialogType: "drawer",
-  height: '600',
   column: [
     {
       label: '姓名',
-      prop: 'technicianId',
-      type: 'select',
-      span: 24,
-      align: 'center',
-      showOverflowTooltip: true,
-      hide: true,
-      rules: [{
-        required: true,
-        message: '请选择姓名',
-        trigger: 'blur',
-      }]
-    },
-    {
-      label: '姓名',
       prop: 'name',
-      span: 24,
-      width: 160,
+      width: 130,
       align: 'center',
-      display: false,
-      showOverflowTooltip: true,
     },
     {
       label: '工号',
       prop: 'number',
-      type: 'input',
-      span: 24,
-      width: 160,
+      width: 130,
       align: 'center',
-      display: false,
-      showOverflowTooltip: true,
     },
     {
       label: '身份证号',
       prop: 'idCard',
-      type: 'input',
-      span: 24,
-      width: 160,
+      width: 170,
       align: 'center',
-      display: false,
-      showOverflowTooltip: true,
     },
     {
       label: '在项目中的工作时长(月)',
       prop: 'zzsc',
-      type: 'number',
-      min: 0,
-      precision: 0,
-      span: 24,
-      minWidth: 90,
+      width: 120,
       align: 'center',
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入',
-        trigger: 'blur',
-      }]
     },
     {
       label: '月平均人工费用/元',
       prop: 'pjrgfy',
-      type: 'number',
-      min: 0,
-      precision: 2,
-      span: 24,
-      minWidth: 90,
+      width: 120,
       align: 'center',
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入',
-        trigger: 'blur',
-      }]
     },
     {
       label: '预算合计/元',
       prop: 'total',
-      type: 'number',
-      min: 0,
-      span: 24,
-      minWidth: 80,
+      width: 120,
       align: 'center',
-      display: false,
-      showOverflowTooltip: true,
     },
     {
       label: '是否为外聘科技人员',
       prop: 'isWp',
-      min: 0,
-      span: 24,
-      minWidth: 90,
+      width: 120,
       align: 'center',
-      display: false,
-      showOverflowTooltip: true,
     },
   ],
 };

+ 4 - 55
src/printOption/projectManage/wxzctxCost.js

@@ -1,78 +1,27 @@
 export default {
-  height: 'auto',
-  calcHeight: 30,
-  tip: false,
-  searchShow: true,
-  searchMenuSpan: 6,
-  border: true,
-  index: true,
-  viewBtn: true,
-  selection: true,
-  searchLabelWidth: 90,
-  labelWidth: 160,
-  menuWidth: 220,
-  dialogClickModal: false,
-  dialogWidth: 500,
-  dialogType: "drawer",
-  height: '600',
   column: [
     {
       label: '资产名称',
-      prop: 'zcbm',
-      type: 'select',
-      minWidth: 220,
-      span: 24,
-      dicUrl: '/api/kd-scientific/asset/simple/list',
-      dicFormatter:(res)=>{
-        return res.data.filter(item => "软件,专利权,非专利技术,其他".indexOf(item.zclb) > -1)
-      },
-      props: {
-        label: 'zcmc',
-        value: 'zcbm',
-      },
-      dicFlag: true,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请选择资产名称',
-        trigger: 'blur',
-      }]
+      prop: 'zcmc',
+      width: 400,
     },
     {
       label: '在项目的工作时长(月)',
       prop: 'zzsc',
-      type: 'number',
       width: 140,
-      span: 24,
       align: 'center',
-      showOverflowTooltip: true,
-      min: 0,
-      precision: 0,
-      rules: [{
-        required: true,
-        message: '请输入工作时长',
-        trigger: 'blur',
-      }]
     },
     {
       label: '月摊销额',
       prop: 'ytxe',
-      type: 'number',
-      width: 90,
-      span: 24,
+      width: 120,
       align: 'center',
-      showOverflowTooltip: true,
-      display: false
     },
     {
       label: '预算合计/元',
       prop: 'yshj',
-      type: 'number',
-      width: 90,
-      span: 24,
+      width: 120,
       align: 'center',
-      showOverflowTooltip: true,
-      display: false,
     },
   ],
 };

+ 3 - 36
src/printOption/projectManage/zbCost.js

@@ -1,49 +1,16 @@
 export default {
-  height: 'auto',
-  calcHeight: 30,
-  tip: false,
-  searchShow: true,
-  searchMenuSpan: 6,
-  border: true,
-  index: true,
-  viewBtn: true,
-  selection: true,
-  searchLabelWidth: 90,
-  labelWidth: 90,
-  menuWidth: 220,
-  dialogClickModal: false,
-  dialogWidth: 500,
-  dialogType: "drawer",
-  height: '600',
   column: [
     {
       label: '费用内容',
       prop: 'fyje',
-      type: 'input',
-      minWidth: 300,
-      span: 24,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入费用内容',
-        trigger: 'change',
-      }]
+      width: 700,
     },
     {
       label: '预算金额',
       prop: 'ysje',
-      type: 'number',
-      width: 90,
-      span: 24,
+      width: 180,
       align: 'center',
-      min: 0,
-      precision: 2,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入预算金额',
-        trigger: 'change',
-      }]
     },
   ],
 };
+

+ 4 - 74
src/printOption/projectManage/zjfyycqdtfyCost.js

@@ -1,108 +1,38 @@
 export default {
-  height: 'auto',
-  calcHeight: 30,
-  tip: false,
-  searchShow: true,
-  searchMenuSpan: 6,
-  border: true,
-  index: true,
-  viewBtn: true,
-  selection: true,
-  searchLabelWidth: 90,
-  labelWidth: 160,
-  menuWidth: 220,
-  dialogClickModal: false,
-  dialogWidth: 500,
-  dialogType: "drawer",
-  height: '600',
   column: [
     {
       label: '资产名称',
-      prop: 'assetId',
-      type: 'select',
-      filterable: true,
-      minWidth: 140,
-      span: 24,
-      dicUrl: '/api/kd-scientific/asset/simple/list',
-      dicFormatter:(res)=>{
-        return res.data.filter(item => "仪器设备,房屋建筑物".indexOf(item.zclb) > -1)
-      },
-      props: {
-        label: 'zcmc',
-        value: 'id',
-      },
-      dicFlag: true,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请选择资产名称',
-        trigger: 'blur',
-      }]
+      prop: 'zcmc',
+      width: 260,
     },
     {
       label: '在项目的工作时长(月)',
       prop: 'zzsc',
-      type: 'number',
       width: 140,
-      span: 24,
       align: 'center',
-      min: 0,
-      precision: 0,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入工作时长',
-        trigger: 'blur',
-      }]
     },
     {
       label: '月折旧额',
       prop: 'yzje',
-      type: 'number',
-      width: 90,
-      span: 24,
+      width: 80,
       align: 'center',
-      showOverflowTooltip: true,
-      display: false,
     },
     {
       label: '预算合计/元',
       prop: 'yshj',
-      type: 'number',
-      width: 90,
-      span: 24,
+      width: 80,
       align: 'center',
-      showOverflowTooltip: true,
-      display: false,
     },
     {
       label: '长期待摊费用名称',
       prop: 'cqdtfymc',
-      type: 'input',
       width: 160,
-      span: 24,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入长期待摊费用名称',
-        trigger: 'change',
-      }]
     },
     {
       label: '长期待摊费用金额',
       prop: 'cqdtfyysje',
-      type: 'number',
       width: 120,
-      span: 24,
       align: 'center',
-      min: 0,
-      precision: 2,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入长期待摊费用金额',
-        trigger: 'change',
-      }]
     },
   ],
 };

+ 8 - 64
src/printOption/projectManage/zztlCost.js

@@ -1,105 +1,49 @@
 export default {
-  height: 'auto',
-  calcHeight: 30,
-  tip: false,
-  searchShow: true,
-  searchMenuSpan: 6,
-  border: true,
-  index: true,
-  viewBtn: true,
-  selection: true,
-  searchLabelWidth: 140,
-  labelWidth: 180,
-  menuWidth: 220,
-  dialogClickModal: false,
-  dialogWidth: 500,
-  dialogType: "drawer",
-  height: '600',
   column: [
     {
       label: '1-物资名称',
       prop: 'wzmc',
-      type: 'input',
-      width: 100,
-      span: 24,
-      showOverflowTooltip: true,
-      rules: [{
-        required: true,
-        message: '请输入物资名称',
-        trigger: 'change',
-      }]
+      width: 160,
     },
     {
       label: '用量',
       prop: 'yongLiang',
-      type: 'number',
-      min: 0,
-      precision: 2,
-      width: 90,
-      span: 24,
+      width: 70,
       align: 'center',
-      showOverflowTooltip: true,
     },
     {
       label: '单价',
       prop: 'danJia',
-      type: 'number',
-      min: 0,
-      precision: 2,
-      width: 100,
-      span: 24,
+      width: 70,
       align: 'center',
-      showOverflowTooltip: true,
     },
     {
       label: '预算金额',
       prop: 'wzysje',
-      type: 'number',
-      min: 0,
-      precision: 2,
-      width: 90,
-      span: 24,
+      width: 80,
       align: 'center',
-      showOverflowTooltip: true,
-      display: false,
     },
     {
       label: '2-仪器设备名称',
       prop: 'yqsbmc',
-      type: 'input',
-      minWidth: 120,
-      span: 24,
-      showOverflowTooltip: true,
+      width: 100,
     },
     {
       label: '用于运行维护、维修的预算金额',
       prop: 'ysje',
-      type: 'number',
-      min: 0,
-      precision: 2,
-      minWidth: 140,
-      span: 24,
+      width: 140,
       align: 'center',
-      showOverflowTooltip: true,
     },
     {
       label: '3-固定资产名称(租赁)',
       prop: 'gdzcmc',
-      type: 'input',
-      minWidth: 110,
-      span: 24,
-      showOverflowTooltip: true,
+      width: 110,
     },
     {
       label: '租赁费用预算',
       prop: 'zlfyys',
-      type: 'number',
-      min: 0,
-      minWidth: 100,
-      span: 24,
-      precision: 2,
       align: 'center',
-      showOverflowTooltip: true,
+      width: 100
     },
   ],
 };

+ 14 - 14
src/printOption/techPerson/cyPersonRoster.js

@@ -70,7 +70,7 @@ export default {
       }, {
         label: '参研个数',
         prop: 'situationCount',
-        width: 70,
+        width: 60,
         align: 'center',
       }]
     },
@@ -81,72 +81,72 @@ export default {
       children: [{
         label: '1月',
         prop: '1',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '2月',
         prop: '2',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '3月',
         prop: '3',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '4月',
         prop: '4',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '5月',
         prop: '5',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '6月',
         prop: '6',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '7月',
         prop: '7',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '8月',
         prop: '8',
         type: 'number',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '9月',
         prop: '9',
         type: 'number',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '10月',
         prop: '10',
         type: 'number',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '11月',
         prop: '11',
         type: 'number',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '12月',
         prop: '12',
         type: 'number',
-        width: 50,
+        width: 40,
         align: 'center',
       }, {
         label: '天数合计',
         prop: 'total',
-        width: 70,
+        width: 60,
         align: 'center',
       }]
     },

+ 10 - 78
src/printOption/techPerson/cyPersonSumList.js

@@ -1,137 +1,69 @@
 export default {
-  height: 'auto',
-  calcHeight: 30,
-  tip: false,
-  searchShow: true,
-  searchMenuSpan: 6,
-  border: true,
-  index: true,
-  selection: false,
-  addBtn: false,
-  searchLabelWidth: 140,
-  labelWidth: 140,
-  menu: false,
-  dialogClickModal: false,
-  dialogWidth: 760,
-  dialogType: "drawer",
   column: [
     {
       label: '研发项目名称',
       prop: 'xmmc',
-      span: 12,
-      search: true,
-      align: 'center',
-      minWidth: 160,
-      showOverflowTooltip: true,
+      width: 360,
     },
     {
       label: '姓名',
       prop: 'name',
-      span: 12,
-      search: true,
       width: 100,
       align: 'center',
-      showOverflowTooltip: true,
     },
     {
       label: '工号',
       prop: 'number',
-      span: 12,
-      width: 130,
+      width: 100,
       align: 'center',
-      search: true,
-      showOverflowTooltip: true,
     },
     {
       label: '身份证号',
       prop: 'idCard',
-      span: 12,
-      search: true,
-      width: 155,
+      width: 130,
       align: 'center',
-      showOverflowTooltip: true,
     },
     {
       label: '所属二级单位/部门',
       prop: 'department',
-      type: 'input',
-      span: 12,
-      width: 180,
-      search: true,
+      width: 190,
       align: 'center',
-      showOverflowTooltip: true,
     },
     {
       label: '岗位职务',
       prop: 'post',
-      type: 'input',
-      span: 12,
       width: 100,
       align: 'center',
-      search: true,
-      showOverflowTooltip: true,
     },
     {
       label: '岗位所在地',
       prop: 'postLocation',
-      type: 'input',
-      span: 12,
       width: 100,
-      showOverflowTooltip: true,
       align: 'center',
     },
     {
       label: '用工性质',
       prop: 'nature',
-      type: 'select',
-      span: 12,
       width: 80,
       align: 'center',
-      search: true,
-      dicUrl: '/api/kd-system/dict/dictionary?code=yonggongxingzhi',
-      props: {
-        label: 'dictValue',
-        value: 'dictKey',
-      },
-      showOverflowTooltip: true,
     },
     {
       label: '参研情况',
       prop: 'situation',
-      type: 'select',
-      span: 12,
       width: 70,
       align: 'center',
-      search: true,
-      dicUrl: '/api/kd-system/dict/dictionary?code=canyanqingkuang',
-      props: {
-        label: 'dictValue',
-        value: 'dictKey',
-      },
-      showOverflowTooltip: true,
     },
     {
       label: '人员类型',
       prop: 'personnelType',
-      type: 'select',
-      span: 12,
       width: 80,
       align: 'center',
-      search: true,
-      dicUrl: '/api/kd-system/dict/dictionary?code=renyuanleixing',
-      props: {
-        label: 'dictValue',
-        value: 'dictKey',
-      },
-      showOverflowTooltip: true,
     },
-    // {
-    //   label: '参与月份',
-    //   prop: 'yearAndMonth',
-    //   span: 12,
-    //   width: 100,
-    //   align: 'center',
-    //   showOverflowTooltip: true,
-    // }
+    {
+      label: '参与月份',
+      prop: 'yearAndMonth',
+      width: 80,
+      align: 'center',
+    }
   ],
 };

+ 2 - 257
src/printOption/techPerson/highTechPersonSumList.js

@@ -1,385 +1,130 @@
 export default {
-  height: 'auto',
-  calcHeight: 30,
-  tip: false,
-  searchShow: true,
-  searchMenuSpan: 6,
-  border: true,
-  index: true,
-  addBtn: false,
-  viewBtn: true,
-  menu: false,
-  searchLabelWidth: 140,
-  labelWidth: 140,
-  menuWidth: 220,
-  dialogClickModal: false,
-  dialogWidth: 760,
-  dialogType: "drawer",
   column: [
     {
       label: '姓名',
       prop: 'name',
-      type: 'input',
-      span: 12,
-      search: true,
       width: 80,
       align: 'center',
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入姓名',
-          trigger: 'blur',
-        },
-      ],
     },
     {
       label: '工号',
       prop: 'number',
-      type: 'input',
-      span: 12,
       width: 90,
       align: 'center',
-      search: true,
-      showOverflowTooltip: true,
-      // rules: [
-      //   {
-      //     required: true,
-      //     message: '请输入工号',
-      //     trigger: 'blur',
-      //   },
-      // ],
     },
     {
       label: '身份证号',
       prop: 'idCard',
-      type: 'input',
-      span: 12,
-      search: true,
       width: 150,
       align: 'center',
-      showOverflowTooltip: true,
-      // rules: [
-      //   {
-      //     required: true,
-      //     message: '请输入身份证号',
-      //     trigger: 'blur',
-      //   },
-      // ],
     },
     {
       label: '性别',
-      prop: 'gender',
-      type: 'select',
-      dicUrl: '/api/kd-system/dict/dictionary?code=sex',
-      props: {
-        label: 'dictValue',
-        value: 'dictKey',
-      },
-      span: 12,
+      prop: '$gender',
       width: 50,
       align: 'center',
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请选择性别',
-          trigger: 'change',
-        },
-      ],
     },
     {
       label: '出生日期',
       prop: 'birthday',
-      type: 'date',
-      valueFormat: 'yyyy-MM-DD',
-      span: 12,
       width: 90,
       align: 'center',
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请选择出生日期',
-          trigger: 'blur',
-        },
-      ],
     },
     {
       label: '民族',
       prop: 'ethnic',
-      type: 'input',
-      span: 12,
       width: 80,
       align: 'center',
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入民族',
-          trigger: 'blur',
-        },
-      ],
     },
     {
       label: '所属二级单位/部门',
       prop: 'department',
-      type: 'input',
-      span: 12,
       width: 180,
-      search: true,
       align: 'center',
-      showOverflowTooltip: true,
     },
     {
       label: '岗位职务',
       prop: 'post',
-      type: 'input',
-      span: 12,
       width: 100,
       align: 'center',
-      search: true,
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入岗位职务',
-          trigger: 'blur',
-        },
-      ],
     },
     {
       label: '岗位所在地',
       prop: 'postLocation',
-      type: 'input',
-      span: 12,
       width: 100,
       align: 'center',
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入岗位所在地',
-          trigger: 'blur',
-        },
-      ],
     },
     {
       label: '用工性质',
       prop: 'nature',
-      type: 'select',
-      span: 12,
       width: 80,
       align: 'center',
-      search: true,
-      dicUrl: '/api/kd-system/dict/dictionary?code=yonggongxingzhi',
-      props: {
-        label: 'dictValue',
-        value: 'dictKey',
-      },
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请选择用工性质',
-          trigger: 'change',
-        },
-      ],
     },
     {
       label: '入职时间',
       prop: 'hireDate',
-      type: 'datetime',
-      valueFormat: 'yyyy-MM-dd HH:mm:ss',
-      span: 12,
       width: 90,
       align: 'center',
-      search: true,
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请选择入职时间',
-          trigger: 'blur',
-        },
-      ],
     },
     {
       label: '最高学历',
       prop: 'education',
-      type: 'select',
-      span: 12,
       width: 100,
       align: 'center',
-      search: true,
-      dicUrl: '/api/kd-system/dict/dictionary?code=xueli',
-      props: {
-        label: 'dictValue',
-        value: 'dictKey',
-      },
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请选择最高学历',
-          trigger: 'change',
-        },
-      ],
     },
     {
       label: '最高学位',
       prop: 'degree',
-      type: 'select',
-      span: 12,
       width: 70,
       align: 'center',
-      search: true,
-      dicUrl: '/api/kd-system/dict/dictionary?code=xuewei',
-      props: {
-        label: 'dictValue',
-        value: 'dictKey',
-      },
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请选择最高学位',
-          trigger: 'change',
-        },
-      ],
     },
     {
       label: '最高学历学校',
       prop: 'schoolName',
-      type: 'input',
-      span: 12,
       width: 130,
       align: 'center',
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入最高学历学校',
-          trigger: 'blur',
-        },
-      ],
     },
     {
       label: '最高学历专业名称',
       prop: 'major',
-      type: 'input',
-      span: 12,
       width: 120,
       align: 'center',
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入最高学历专业名称',
-          trigger: 'blur',
-        },
-      ],
     },
     {
       label: '职称',
       prop: 'rank',
-      type: 'select',
-      span: 12,
       width: 100,
       align: 'center',
-      search: true,
-      dicUrl: '/api/kd-system/dict/dictionary?code=zhicheng',
-      props: {
-        label: 'dictValue',
-        value: 'dictKey',
-      },
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请选择职称',
-          trigger: 'change',
-        },
-      ],
     },
     {
       label: '职业资格',
       prop: 'practicingRequirement',
-      type: 'input',
-      span: 12,
       width: 80,
       align: 'center',
-      search: true,
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请输入职业资格',
-          trigger: 'blur',
-        },
-      ],
     },
     {
       label: '参研情况',
       prop: 'situation',
-      type: 'select',
-      span: 12,
       width: 80,
       align: 'center',
-      search: true,
-      dicUrl: '/api/kd-system/dict/dictionary?code=canyanqingkuang',
-      props: {
-        label: 'dictValue',
-        value: 'dictKey',
-      },
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请选择参研情况',
-          trigger: 'change',
-        },
-      ],
     },
     {
       label: '人员类型',
       prop: 'personnelType',
-      type: 'select',
-      span: 12,
       width: 80,
       align: 'center',
-      dicUrl: '/api/kd-system/dict/dictionary?code=renyuanleixing',
-      props: {
-        label: 'dictValue',
-        value: 'dictKey',
-      },
-      showOverflowTooltip: true,
-      rules: [
-        {
-          required: true,
-          message: '请选择人员类型',
-          trigger: 'change',
-        },
-      ],
     },
     {
       label: '其他说明',
       prop: 'remark',
       type: 'textarea',
-      span: 24,
-      minWidth: 160,
-      showOverflowTooltip: true,
+      width: 160,
     },
     {
       label: '本年度从事研发工作天数',
       prop: 'workDaysByYear',
-      type: 'number',
-      span: 12,
       width: 160,
       align: 'center',
-      fixed: 'right',
-      showOverflowTooltip: true,
-      editDisplay: false,
     },
   ],
 };

+ 2 - 2
src/printOption/techPerson/monthSjcyry.js

@@ -4,12 +4,12 @@ export default {
       label: '研发项目编号',
       prop: 'xmbh',
       align: 'center',
-      width: 100,
+      width: 90,
     },
     {
       label: '研发项目名称',
       prop: 'xmmc',
-      width: 260,
+      width: 290,
     },
     {
       label: '姓名',

+ 12 - 17
src/views/project-manage/components/design-cost.vue

@@ -53,15 +53,6 @@
     </avue-crud>
 
     <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-设计费用" templateName="预算-设计费用-导入模板" :uploadAfter="uploadAfter"/>
-
-    <WideTablePrinter
-      ref="printWideTable"
-      :columns="wideTableColumns"
-      :data="data"
-      :print-title="printTitle"
-      :rows-per-page="30"
-      :default-landscape="true"
-    />
   </div>
 </template>
 
@@ -88,8 +79,6 @@ export default window.$crudCommon({
       },
       selProject: {},
 
-      wideTableColumns: [],
-      printTitle: "",
     };
   },
   watch: {
@@ -98,6 +87,11 @@ export default window.$crudCommon({
       this.getList(this.page);
     },
   },
+  computed: {
+    pageTitle() {
+      return `${this.selProject.xmmc}设计费用`
+    }
+  },
   created() {
     this.params.xmId = this.projectId;
     this.option.height = window.innerHeight - 340;
@@ -137,7 +131,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBloByPost(`/api/kd-scientific/ys-sjfy/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.selProject.xmmc}设计费用.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -145,11 +139,12 @@ export default window.$crudCommon({
      * @param isLandscape 是否横向打印
      */
     printTable(isLandscape) {
-      this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.selProject.xmmc}设计费用`;
-      this.$nextTick(() => {
-        this.$refs.printWideTable.printTable(isLandscape);
-      })
+      this.$emit("printClick", {
+        column: this.printOption.column,
+        data: this.data,
+        pageTitle: this.pageTitle,
+        zoom: 100
+      });
     },
   },
 }, {

+ 12 - 17
src/views/project-manage/components/other-cost.vue

@@ -55,15 +55,6 @@
     </avue-crud>
 
     <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-其他费用" templateName="预算-其他费用-导入模板" :uploadAfter="uploadAfter"/>
-
-    <WideTablePrinter
-      ref="printWideTable"
-      :columns="wideTableColumns"
-      :data="data"
-      :print-title="printTitle"
-      :rows-per-page="30"
-      :default-landscape="true"
-    />
   </div>
 </template>
 
@@ -90,8 +81,6 @@ export default window.$crudCommon({
       },
       selProject: {},
 
-      wideTableColumns: [],
-      printTitle: "",
     };
   },
   watch: {
@@ -100,6 +89,11 @@ export default window.$crudCommon({
       this.getList(this.page);
     },
   },
+  computed: {
+    pageTitle() {
+      return `${this.selProject.xmmc}其他费用`
+    }
+  },
   created() {
     this.params.xmId = this.projectId;
     this.option.height = window.innerHeight - 340;
@@ -139,7 +133,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBloByPost(`/api/kd-scientific/ys-qtfy/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.selProject.xmmc}其他费用.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -147,11 +141,12 @@ export default window.$crudCommon({
      * @param isLandscape 是否横向打印
      */
     printTable(isLandscape) {
-      this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.selProject.xmmc}其他费用`;
-      this.$nextTick(() => {
-        this.$refs.printWideTable.printTable(isLandscape);
-      })
+      this.$emit("printClick", {
+        column: this.printOption.column,
+        data: this.data,
+        pageTitle: this.pageTitle,
+        zoom: 100
+      });
     },
   },
 }, {

+ 12 - 17
src/views/project-manage/components/outsourcing-cost.vue

@@ -55,15 +55,6 @@
     </avue-crud>
 
     <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-委托外部研究开发费" templateName="预算-委托外部研究开发费-导入模板" :uploadAfter="uploadAfter"/>
-
-    <WideTablePrinter
-      ref="printWideTable"
-      :columns="wideTableColumns"
-      :data="data"
-      :print-title="printTitle"
-      :rows-per-page="30"
-      :default-landscape="true"
-    />
   </div>
 </template>
 
@@ -90,8 +81,6 @@ export default window.$crudCommon({
       },
       selProject: {},
 
-      wideTableColumns: [],
-      printTitle: "",
     };
   },
   watch: {
@@ -100,6 +89,11 @@ export default window.$crudCommon({
       this.getList(this.page);
     },
   },
+  computed: {
+    pageTitle() {
+      return `${this.selProject.xmmc}委托外部研究开发费用`;
+    }
+  },
   created() {
     this.params.xmId = this.projectId;
     this.option.height = window.innerHeight - 340;
@@ -139,7 +133,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBloByPost(`/api/kd-scientific/ys-wtwbyjkffy/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.selProject.xmmc}委托外部研究开发费用.xlsx`);
+        downloadXls(res.data, `${pageTitle}.xlsx`);
       });
     },
     /**
@@ -147,11 +141,12 @@ export default window.$crudCommon({
      * @param isLandscape 是否横向打印
      */
     printTable(isLandscape) {
-      this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.selProject.xmmc}委托外部研究开发费用`;
-      this.$nextTick(() => {
-        this.$refs.printWideTable.printTable(isLandscape);
-      })
+      this.$emit("printClick", {
+        column: this.printOption.column,
+        data: this.data,
+        pageTitle: this.pageTitle,
+        zoom: 100
+      });
     },
   },
 }, {

+ 14 - 19
src/views/project-manage/components/person-cost.vue

@@ -58,15 +58,6 @@
     </avue-crud>
 
     <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-人员人工费用" templateName="预算-人员人工费用-导入模板" :uploadAfter="uploadAfter"/>
-
-    <WideTablePrinter
-      ref="printWideTable"
-      :columns="wideTableColumns"
-      :data="data"
-      :print-title="printTitle"
-      :rows-per-page="30"
-      :default-landscape="true"
-    />
   </div>
 </template>
 
@@ -97,10 +88,8 @@ export default window.$crudCommon({
       },
       selProject: {},
 
-      wideTableColumns: [],
-      printTitle: "",
-
-      projectStartMonth: ""
+      projectStartMonth: "",
+      
     };
   },
   created() {
@@ -113,6 +102,11 @@ export default window.$crudCommon({
       this.getList(this.page);
     }
   },
+  computed: {
+    pageTitle() {
+      return `${this.selProject.xmmc}人员人工费用`;
+    }
+  },
   methods: {
     handleBeforeOpen(done, type) {
       if (!this.params.xmId) {
@@ -150,7 +144,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBloByPost(`/api/kd-scientific/ys-ryrgfy/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.selProject.xmmc}人员人工费用.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -158,11 +152,12 @@ export default window.$crudCommon({
      * @param isLandscape 是否横向打印
      */
     printTable(isLandscape) {
-      this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.selProject.xmmc}人员人工费用`;
-      this.$nextTick(() => {
-        this.$refs.printWideTable.printTable(isLandscape);
-      })
+      this.$emit("printClick", {
+        column: this.printOption.column,
+        data: this.data,
+        pageTitle: this.pageTitle,
+        zoom: 95
+      });
     },
   },
 }, {

+ 53 - 30
src/views/project-manage/components/project-budget.vue

@@ -1,33 +1,44 @@
 <template>
-  <el-tabs tab-position="left">
-    <el-tab-pane label="研发项目费用预算表格" lazy>
-      <all-budget-table :projectId="currProjectId" @change="handleBudgetChange"></all-budget-table>
-    </el-tab-pane>
-    <el-tab-pane label="一、人员人工费用" lazy>
-      <person-cost :projectId="currProjectId" />
-    </el-tab-pane>
-    <el-tab-pane label="二、直接投入费用" lazy>
-      <zztl-cost :projectId="currProjectId"></zztl-cost>
-    </el-tab-pane>
-    <el-tab-pane label="三、折旧费用与长期待摊费用" lazy>
-      <zjfyycqdtfy-cost :projectId="currProjectId"></zjfyycqdtfy-cost>
-    </el-tab-pane>
-    <el-tab-pane label="四、无形资产摊销费用" lazy>
-      <wxzctx-cost :projectId="currProjectId"></wxzctx-cost>
-    </el-tab-pane>
-    <el-tab-pane label="五、设计费用" lazy>
-      <design-cost :projectId="currProjectId"></design-cost>
-    </el-tab-pane>
-    <el-tab-pane label="六、装备调试费用与实验费用" lazy>
-      <zb-cost :projectId="currProjectId"></zb-cost>
-    </el-tab-pane>
-    <el-tab-pane label="七、委托外部研究开发费" lazy>
-      <outsourcing-cost :projectId="currProjectId"></outsourcing-cost>
-    </el-tab-pane>
-    <el-tab-pane label="八、其他费用" lazy>
-      <other-cost :projectId="currProjectId"></other-cost>
-    </el-tab-pane>
-  </el-tabs>
+  <div>
+    <el-tabs tab-position="left">
+      <el-tab-pane label="研发项目费用预算表格" lazy>
+        <all-budget-table :projectId="currProjectId" @change="handleBudgetChange"></all-budget-table>
+      </el-tab-pane>
+      <el-tab-pane label="一、人员人工费用" lazy>
+        <person-cost :projectId="currProjectId" @printClick="handlePrintClick" />
+      </el-tab-pane>
+      <el-tab-pane label="二、直接投入费用" lazy>
+        <zztl-cost :projectId="currProjectId" @printClick="handlePrintClick"></zztl-cost>
+      </el-tab-pane>
+      <el-tab-pane label="三、折旧费用与长期待摊费用" lazy>
+        <zjfyycqdtfy-cost :projectId="currProjectId" @printClick="handlePrintClick"></zjfyycqdtfy-cost>
+      </el-tab-pane>
+      <el-tab-pane label="四、无形资产摊销费用" lazy>
+        <wxzctx-cost :projectId="currProjectId" @printClick="handlePrintClick"></wxzctx-cost>
+      </el-tab-pane>
+      <el-tab-pane label="五、设计费用" lazy>
+        <design-cost :projectId="currProjectId" @printClick="handlePrintClick"></design-cost>
+      </el-tab-pane>
+      <el-tab-pane label="六、装备调试费用与实验费用" lazy>
+        <zb-cost :projectId="currProjectId" @printClick="handlePrintClick"></zb-cost>
+      </el-tab-pane>
+      <el-tab-pane label="七、委托外部研究开发费" lazy>
+        <outsourcing-cost :projectId="currProjectId" @printClick="handlePrintClick"></outsourcing-cost>
+      </el-tab-pane>
+      <el-tab-pane label="八、其他费用" lazy>
+        <other-cost :projectId="currProjectId" @printClick="handlePrintClick"></other-cost>
+      </el-tab-pane>
+    </el-tabs>
+    <WideTablePrinter
+      ref="printWideTable"
+      :columns="wideTableColumns"
+      :data="wideTableData"
+      :print-title="printTitle"
+      :rows-per-page="30"
+      :default-landscape="true"
+      :zoom="95"
+    />
+  </div>
 </template>
 
 <script>
@@ -58,7 +69,11 @@ export default {
   },
   data() {
     return {
-      currProjectId: ""
+      currProjectId: "",
+
+      printTitle: "",
+      wideTableColumns: [],
+      wideTableData: [],
     }
   },
   mounted() {
@@ -67,6 +82,14 @@ export default {
   methods: {
     handleBudgetChange(data) {
       this.currProjectId = data.id;
+    },
+    handlePrintClick(data) {
+      this.printTitle = data.pageTitle;
+      this.wideTableColumns = data.column;
+      this.wideTableData = data.data;
+      this.$nextTick(() => {
+        this.$refs.printWideTable.printTable(false);
+      });
     }
   }
 }

+ 12 - 18
src/views/project-manage/components/wxzctx-cost.vue

@@ -58,15 +58,6 @@
     </avue-crud>
 
     <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-无形资产摊销费用" templateName="预算-无形资产摊销费用-导入模板" :uploadAfter="uploadAfter"/>
-
-    <WideTablePrinter
-      ref="printWideTable"
-      :columns="wideTableColumns"
-      :data="data"
-      :print-title="printTitle"
-      :rows-per-page="30"
-      :default-landscape="true"
-    />
   </div>
 </template>
 
@@ -95,9 +86,6 @@ export default window.$crudCommon({
       },
       selProject: {},
 
-      wideTableColumns: [],
-      printTitle: "",
-
       currZcObj: {},
     };
   },
@@ -124,6 +112,11 @@ export default window.$crudCommon({
       this.getList(this.page);
     },
   },
+  computed: {
+    pageTitle() {
+      return `${this.selProject.xmmc}无形资产摊销费用`;
+    }
+  },
   methods: {
     validCustom() {
       const { sysm, ysysm } = this.currZcObj;
@@ -198,7 +191,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBloByPost(`/api/kd-scientific/ys-wxzctxfy/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.selProject.xmmc}无形资产摊销费用.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -206,11 +199,12 @@ export default window.$crudCommon({
      * @param isLandscape 是否横向打印
      */
     printTable(isLandscape) {
-      this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.selProject.xmmc}无形资产摊销费用`;
-      this.$nextTick(() => {
-        this.$refs.printWideTable.printTable(isLandscape);
-      })
+      this.$emit("printClick", {
+        column: this.printOption.column,
+        data: this.data,
+        pageTitle: this.pageTitle,
+        zoom: 95
+      });
     },
   },
 }, {

+ 12 - 17
src/views/project-manage/components/zb-cost.vue

@@ -55,15 +55,6 @@
     </avue-crud>
 
     <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-装备调试费用与试验费用" templateName="预算-装备调试费用与试验费用-导入模板" :uploadAfter="uploadAfter"/>
-
-    <WideTablePrinter
-      ref="printWideTable"
-      :columns="wideTableColumns"
-      :data="data"
-      :print-title="printTitle"
-      :rows-per-page="30"
-      :default-landscape="true"
-    />
   </div>
 </template>
 
@@ -90,8 +81,6 @@ export default window.$crudCommon({
       },
       selProject: {},
 
-      wideTableColumns: [],
-      printTitle: "",
     };
   },
   watch: {
@@ -100,6 +89,11 @@ export default window.$crudCommon({
       this.getList(this.page);
     },
   },
+  computed: {
+    pageTitle() {
+      return `${this.selProject.xmmc}装备调试费用与试验费用`;
+    }
+  },
   created() {
     this.params.xmId = this.projectId;
     this.option.height = window.innerHeight - 340;
@@ -139,7 +133,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBloByPost(`/api/kd-scientific/ys-zbtsysyfy/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.selProject.xmmc}装备调试费用与试验费用.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -147,11 +141,12 @@ export default window.$crudCommon({
      * @param isLandscape 是否横向打印
      */
     printTable(isLandscape) {
-      this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.selProject.xmmc}装备调试费用与试验费用`
-      this.$nextTick(() => {
-        this.$refs.printWideTable.printTable(isLandscape);
-      })
+      this.$emit("printClick", {
+        column: this.printOption.column,
+        data: this.data,
+        pageTitle: this.pageTitle,
+        zoom: 100
+      });
     },
   },
 }, {

+ 12 - 18
src/views/project-manage/components/zjfyycqdtfy-cost.vue

@@ -58,15 +58,6 @@
     </avue-crud>
 
     <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-折旧费用与长期待摊费用" templateName="预算-折旧费用与长期待摊费用-导入模板" :uploadAfter="uploadAfter"/>
-
-    <WideTablePrinter
-      ref="printWideTable"
-      :columns="wideTableColumns"
-      :data="data"
-      :print-title="printTitle"
-      :rows-per-page="30"
-      :default-landscape="true"
-    />
   </div>
 </template>
 
@@ -95,9 +86,6 @@ export default window.$crudCommon({
       },
       selProject: {},
 
-      wideTableColumns: [],
-      printTitle: "",
-
       currZcObj: {},
     };
   },
@@ -107,6 +95,11 @@ export default window.$crudCommon({
       this.getList(this.page);
     },
   },
+  computed: {
+    pageTitle() {
+      return `${this.selProject.xmmc}折旧费用与长期待摊费用`;
+    }
+  },
   created() {
     this.params.xmId = this.projectId;
     this.option.height = window.innerHeight - 340;
@@ -198,7 +191,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBloByPost(`/api/kd-scientific/ys-zjfyycqdtfy/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.selProject.xmmc}折旧费用与长期待摊费用.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -206,11 +199,12 @@ export default window.$crudCommon({
      * @param isLandscape 是否横向打印
      */
     printTable(isLandscape) {
-      this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.selProject.xmmc}折旧费用与长期待摊费用`;
-      this.$nextTick(() => {
-        this.$refs.printWideTable.printTable(isLandscape);
-      })
+      this.$emit("printClick", {
+        column: this.printOption.column,
+        data: this.data,
+        pageTitle: this.pageTitle,
+        zoom: 95
+      });
     },
   },
 }, {

+ 12 - 17
src/views/project-manage/components/zztl-cost.vue

@@ -53,15 +53,6 @@
     </avue-crud>
 
     <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-直接投入费用" templateName="预算-直接投入费用-导入模板" :uploadAfter="uploadAfter"/>
-
-    <WideTablePrinter
-      ref="printWideTable"
-      :columns="wideTableColumns"
-      :data="data"
-      :print-title="printTitle"
-      :rows-per-page="30"
-      :default-landscape="true"
-    />
   </div>
 </template>
 
@@ -89,8 +80,6 @@ export default window.$crudCommon({
       },
       selProject: {},
 
-      wideTableColumns: [],
-      printTitle: "",
     };
   },
   watch: {
@@ -99,6 +88,11 @@ export default window.$crudCommon({
       this.getList(this.page);
     },
   },
+  computed: {
+    pageTitle() {
+      return `${this.selProject.xmmc}直接投入费用`;
+    }
+  },
   created() {
     this.params.xmId = this.projectId;
     this.option.height = window.innerHeight - 340;
@@ -138,7 +132,7 @@ export default window.$crudCommon({
     },
     handleExport() {
       exportBloByPost(`/api/kd-scientific/ys-zjtrfy/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
-        downloadXls(res.data, `${this.selProject.xmmc}直接投入费用.xlsx`);
+        downloadXls(res.data, `${this.pageTitle}.xlsx`);
       });
     },
     /**
@@ -146,11 +140,12 @@ export default window.$crudCommon({
      * @param isLandscape 是否横向打印
      */
     printTable(isLandscape) {
-      this.wideTableColumns = this.$refs.crud.columnOption;
-      this.printTitle = `${this.selProject.xmmc}直接投入费用`;
-      this.$nextTick(() => {
-        this.$refs.printWideTable.printTable(isLandscape);
-      })
+      this.$emit("printClick", {
+        column: this.printOption.column,
+        data: this.data,
+        pageTitle: this.pageTitle,
+        zoom: 90
+      });
     },
   },
 }, {

+ 1 - 1
src/views/tech-person/cy-person-roster.vue

@@ -46,7 +46,7 @@
       :print-title="printTitle"
       :rows-per-page="30"
       :default-landscape="true"
-      :zoom="58"
+      :zoom="60"
     />
   </basic-container>
 </template>

+ 2 - 1
src/views/tech-person/cy-person-sum-list.vue

@@ -33,6 +33,7 @@
       :print-title="pageTitle"
       :rows-per-page="30"
       :default-landscape="true"
+      :zoom="80"
     />
   </basic-container>
 </template>
@@ -111,7 +112,7 @@ export default window.$crudCommon({
     },
 
     printTable(isLandscape) {
-      this.wideTableColumns = this.$refs.crud.columnOption;
+      this.wideTableColumns = this.printOption.column;
       this.$nextTick(() => {
         this.$refs.printWideTable.printTable(isLandscape);
       })

+ 3 - 2
src/views/tech-person/high-tech-person-sum-list.vue

@@ -49,6 +49,7 @@
       :print-title="pageTitle"
       :rows-per-page="30"
       :default-landscape="true"
+      :zoom="55"
     />
   </basic-container>
 </template>
@@ -84,7 +85,7 @@ export default window.$crudCommon({
   computed: {
     pageTitle() {
       let yearAndMonthCN = moment(this.params.yearAndMonth).format("yyyy年");
-      return `${yearAndMonthCN}度高新科技人员汇总表`;
+      return `${yearAndMonthCN}度高新科技人员汇总表`;
     }
   },
   methods: {
@@ -104,7 +105,7 @@ export default window.$crudCommon({
       });
     },
     printTable(isLandscape) {
-      this.wideTableColumns = this.$refs.crud.columnOption;
+      this.wideTableColumns = this.printOption.column;
       this.$nextTick(() => {
         this.$refs.printWideTable.printTable(isLandscape);
       });

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

@@ -64,7 +64,7 @@
     <WideTablePrinter
       ref="printWideTable"
       :columns="wideTableColumns"
-      :data="data"
+      :data="wideTableData"
       :print-title="pageTitle"
       :rows-per-page="30"
       :default-landscape="true"
@@ -118,7 +118,7 @@ export default window.$crudCommon({
       updatedFormData: {},
 
       wideTableColumns: [],
-      printTitle: "",
+      wideTableData: [],
     };
   },
   watch: {
@@ -223,7 +223,10 @@ export default window.$crudCommon({
     },
     printTable(isLandscape) {
       this.wideTableColumns = this.printOption.column;
-      
+      this.wideTableData = [...this.$refs.crud.list];
+      if (this.wideTableData.length) {
+        this.wideTableData.push(this.$refs.crud.sumsList);
+      }
       this.$nextTick(() => {
         this.$refs.printWideTable.printTable(isLandscape);
       });