Browse Source

企业基础信息和项目预算增加下载模板功能

ljb 9 months ago
parent
commit
2749f6bde3

+ 8 - 0
src/api/system/dict.js

@@ -87,3 +87,11 @@ export const getDictionary = (params) => {
     params,
   })
 }
+
+export const getDictValueByKey = (code, dictKey) => {
+  return request({
+    url: `/api/kd-system/dict/${code}/${dictKey}`,
+    method: 'get',
+  })
+  
+}

+ 18 - 4
src/components/upload-excel-dialog/index.vue

@@ -20,12 +20,17 @@
 </template>
 
 <script>
+import { getDictValueByKey } from '@/api/system/dict';
 import {downExcelTemp} from "@/api/common";
 
 export default {
   name: "UploadExcelDialog",
   props: {
     uploadAfter: Function,
+    // 导入模板的key,用于下载模板时使用
+    templateKey: String,
+    // 下载模板后的名称
+    templateName: String
   },
   data() {
     return {
@@ -77,10 +82,19 @@ export default {
       done();
     },
     handleTemplate() {
-      const link = document.createElement('a');
-      link.href = window.location.origin + '/oss/kd-kypt/upload/20250813/24d08f92c43742525a1c9557e5c52d39.xls';
-      link.download = '技术人员花名册.xls'; // 设置下载文件名
-      link.click();
+      getDictValueByKey('import-template', this.templateKey).then(({ data }) => {
+        if (data.code == 200) {
+          if (typeof data.data === 'object') {
+            this.$message.error('暂未配置模板');
+            return;
+          }
+          let urlObj = new URL(data.data);
+          const link = document.createElement('a');
+          link.href = window.location.origin + '/oss' + urlObj.pathname;
+          link.download = this.templateName + '.xls'; // 设置下载文件名
+          link.click();
+        }
+      })
     },
   },
 };

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

@@ -95,7 +95,7 @@
       
     </avue-crud>
 
-    <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
+    <upload-excel-dialog ref="uploadExcelDialog" templateKey="科研资产清单-导入模板" templateName="科研资产清单-导入模板" :uploadAfter="uploadAfter"/>
 
     <WideTablePrinter
       ref="printWideTable"

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

@@ -56,7 +56,7 @@
       
     </avue-crud>
 
-    <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
+    <upload-excel-dialog ref="uploadExcelDialog" templateKey="技术人员花名册-导入模板" templateName="技术人员花名册-导入模板" :uploadAfter="uploadAfter"/>
 
     <WideTablePrinter
       ref="printWideTable"

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

@@ -52,7 +52,7 @@
       
     </avue-crud>
 
-    <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
+    <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-设计费用" templateName="预算-设计费用-导入模板" :uploadAfter="uploadAfter"/>
 
     <WideTablePrinter
       ref="printWideTable"

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

@@ -54,7 +54,7 @@
       
     </avue-crud>
 
-    <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
+    <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-其他费用" templateName="预算-其他费用-导入模板" :uploadAfter="uploadAfter"/>
 
     <WideTablePrinter
       ref="printWideTable"

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

@@ -54,7 +54,7 @@
       
     </avue-crud>
 
-    <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
+    <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-委托外部研究开发费" templateName="预算-委托外部研究开发费-导入模板" :uploadAfter="uploadAfter"/>
 
     <WideTablePrinter
       ref="printWideTable"

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

@@ -57,7 +57,7 @@
       
     </avue-crud>
 
-    <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
+    <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-人员人工费用" templateName="预算-人员人工费用-导入模板" :uploadAfter="uploadAfter"/>
 
     <WideTablePrinter
       ref="printWideTable"

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

@@ -57,7 +57,7 @@
       
     </avue-crud>
 
-    <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
+    <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-无形资产摊销费用" templateName="预算-无形资产摊销费用-导入模板" :uploadAfter="uploadAfter"/>
 
     <WideTablePrinter
       ref="printWideTable"

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

@@ -54,7 +54,7 @@
       
     </avue-crud>
 
-    <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
+    <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-装备调试费用与试验费用" templateName="预算-装备调试费用与试验费用-导入模板" :uploadAfter="uploadAfter"/>
 
     <WideTablePrinter
       ref="printWideTable"

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

@@ -57,7 +57,7 @@
       
     </avue-crud>
 
-    <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
+    <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-折旧费用与长期待摊费用" templateName="预算-折旧费用与长期待摊费用-导入模板" :uploadAfter="uploadAfter"/>
 
     <WideTablePrinter
       ref="printWideTable"

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

@@ -52,7 +52,7 @@
       
     </avue-crud>
 
-    <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
+    <upload-excel-dialog ref="uploadExcelDialog" templateKey="预算-直接投入费用" templateName="预算-直接投入费用-导入模板" :uploadAfter="uploadAfter"/>
 
     <WideTablePrinter
       ref="printWideTable"

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

@@ -58,7 +58,7 @@
       
     </avue-crud>
 
-    <upload-excel-dialog ref="uploadExcelDialog" :uploadAfter="uploadAfter"/>
+    <upload-excel-dialog ref="uploadExcelDialog" templateKey="每月工资信息" templateName="每月工资信息-导入模板" :uploadAfter="uploadAfter"/>
 
 
     <WideTablePrinter

+ 10 - 2
vue.config.js

@@ -28,14 +28,22 @@ module.exports = {
       '/api': {
         //本地服务接口地址
         // target: 'http://h6a5d694.natappfree.cc',
-        target: 'http://g4588a96.natappfree.cc',
+        target: 'http://f62cd5c3.natappfree.cc',
         //远程演示服务地址,可用于直接启动项目
         // target: 'https://saber.bladex.cn/api',
         ws: true,
         pathRewrite: {
           '^/api': '/'
         }
-      }
+      },
+      '/oss': {
+        //本地服务接口地址
+        target: 'http://116.62.106.199:9000',
+        ws: true,
+        pathRewrite: {
+          '^/oss': '/'
+        }
+      },
     }
   },
 };