Browse Source

增加系统动态logo设置功能

ljb 9 months ago
parent
commit
1426874ba8

+ 1 - 1
src/api/system/tenant.js

@@ -17,7 +17,7 @@ export const getDetail = (id) => {
     url: '/api/kd-system/tenant/detail',
     method: 'get',
     params: {
-      id
+      tenantId: id
     }
   })
 }

+ 16 - 23
src/option/externalReports/jjkcAuxiliarySumList.js

@@ -1,5 +1,5 @@
 export default {
-  height: 'auto',
+  // height: 'auto' - 50,
   calcHeight: 30,
   tip: false,
   searchShow: true,
@@ -12,6 +12,7 @@ export default {
   labelWidth: 100,
   menuWidth: 180,
   menu: false,
+  selection: false,
   dialogClickModal: false,
   dialogWidth: 500,
   dialogType: "drawer",
@@ -42,14 +43,6 @@ export default {
       showOverflowTooltip: true,
     },
     {
-      label: '支出类型',
-      prop: 'wcqk',
-      span: 24,
-      width: 80,
-      align: 'center',
-      showOverflowTooltip: true,
-    },
-    {
       label: '允许加计扣除金额合计',
       prop: 'jjkchj',
       span: 24,
@@ -62,7 +55,7 @@ export default {
       align: 'center',
       children: [{
         label: '1',
-        prop: 'ryrg',
+        prop: 'ryrgTotal',
         span: 24,
         width: 105,
         align: 'center',
@@ -74,7 +67,7 @@ export default {
       align: 'center',
       children: [{
         label: '2',
-        prop: 'zjtl',
+        prop: 'zjtrTotal',
         span: 24,
         width: 105,
         align: 'center',
@@ -86,7 +79,7 @@ export default {
       align: 'center',
       children: [{
         label: '3',
-        prop: 'zjfy',
+        prop: 'zjfyTotal',
         span: 24,
         width: 90,
         align: 'center',
@@ -98,7 +91,7 @@ export default {
       align: 'center',
       children: [{
         label: '4',
-        prop: 'wxzctx',
+        prop: 'wxzctxTotal',
         span: 24,
         width: 105,
         align: 'center',
@@ -110,7 +103,7 @@ export default {
       align: 'center',
       children: [{
         label: '5',
-        prop: 'sjf',
+        prop: 'xcpsjfd',
         span: 24,
         width: 105,
         align: 'center',
@@ -118,13 +111,13 @@ export default {
       }]
     },
     {
-      label: '前五项 小计',
+      label: '前五项小计',
       align: 'center',
       children: [{
         label: '6',
-        prop: 'qwxsj',
+        prop: 'total',
         span: 24,
-        width: 100,
+        width: 90,
         align: 'center',
         showOverflowTooltip: true,
       }]
@@ -137,7 +130,7 @@ export default {
         align: 'center',
         children: [{
           label: '7.1',
-          prop: 'qtfxhj',
+          prop: 'qtxgfyTotal',
           span: 24,
           width: 100,
           align: 'center',
@@ -148,7 +141,7 @@ export default {
         align: 'center',
         children: [{
           label: '7.2',
-          prop: 'tzhqtfy',
+          prop: 'qtxgfyAdjustTotal',
           span: 24,
           width: 110,
           align: 'center',
@@ -164,7 +157,7 @@ export default {
         align: 'center',
         children: [{
           label: '8.1',
-          prop: '8.1',
+          prop: 'wtjnfy',
           span: 24,
           width: 120,
           align: 'center',
@@ -175,7 +168,7 @@ export default {
         align: 'center',
         children: [{
           label: '8.2',
-          prop: '8.2',
+          prop: 'wtjnfyRate',
           span: 24,
           width: 120,
           align: 'center',
@@ -186,7 +179,7 @@ export default {
         align: 'center',
         children: [{
           label: '8.3',
-          prop: '8.3',
+          prop: 'wtjwfy',
           span: 24,
           width: 120,
           align: 'center',
@@ -197,7 +190,7 @@ export default {
         align: 'center',
         children: [{
           label: '8.4',
-          prop: '8.4',
+          prop: 'wtjwfyRate',
           span: 24,
           width: 120,
           align: 'center',

+ 29 - 9
src/page/index/logo.vue

@@ -1,33 +1,53 @@
 <template>
   <div class="avue-logo">
+    <div style="display: flex; width: 100%; height: 100%; align-items: center; justify-content: center;">
     <transition name="fade">
-      <span v-if="keyCollapse"
+      <!-- <span v-if="keyCollapse"
             class="avue-logo_subtitle"
             key="0">
-        {{website.logo}}
-      </span>
+        <img :src="teantData.logoUrl" style="width: 45px;" />
+      </span> -->
+      <img :src="teantData.logoUrl" style="width: 45px;" />
     </transition>
     <transition-group name="fade">
       <template v-if="!keyCollapse">
         <span class="logo-title"
-              key="1">{{website.indexTitle}} </span>
+              key="1">{{teantData.tenantName}} </span>
       </template>
     </transition-group>
+    </div>
   </div>
 </template>
 
 <script>
 import { mapGetters } from "vuex";
+import { getDetail as getTenantDetail } from '@/api/system/tenant';
+
+
 export default {
   name: "logo",
   data() {
-    return {};
+    return {
+      teantData: {}
+    };
   },
-  created() {},
   computed: {
-    ...mapGetters(["website", "keyCollapse"])
+    ...mapGetters(["website", "keyCollapse", "userInfo"])
   },
-  methods: {}
+  mounted() {
+    console.log(this.website)
+    this.getTenantDetailFunc(this.userInfo.tenant_id);
+  },
+  methods: {
+    getTenantDetailFunc(tenantId) {
+      getTenantDetail(tenantId).then(({ data }) => {
+        if (data.code == 200) {
+          this.teantData = data.data;
+          console.log(this.teantData)
+        }
+      });
+    },
+  }
 };
 </script>
 
@@ -78,6 +98,6 @@ export default {
   -webkit-background-clip: text;
   -webkit-text-fill-color: transparent;
   font-weight: 700;
-  padding-left: 30px;
+  padding-left: 10px;
 }
 </style>

+ 38 - 5
src/views/basic-resource/comp-basic-info/comp-info-setting.vue

@@ -2,7 +2,7 @@
   <basic-container>
 
     <basic-card title="LOGO设置">
-      <avue-form :option="logoOption" v-model="logoForm" style="width: 320px; margin: 0;"></avue-form>
+      <avue-form :option="logoOption" v-model="logoForm" style="width: 320px; margin: 0;" @submit="handleSubmitLogo"></avue-form>
     </basic-card>
 
     <year-month-select v-model="yearAndMonth" :showMonth="false" style="width: 120px;"></year-month-select>
@@ -29,6 +29,8 @@
 </template>
 
 <script>
+import {mapGetters} from "vuex";
+import { getDetail as getTenantDetail, update as updateTenant } from '@/api/system/tenant';
 import YearMonthSelect from "@/components/year-month-select";
 import basicCard from "@/components/basic-card";
 import compInfoTable from "./components/comp-info-table.vue";
@@ -53,17 +55,22 @@ export default {
         column: [
           {
             label: "企业LOGO",
-            prop: "attachment",
+            prop: "logoUrl",
             type: "upload",
             listType: "picture-img",
             span: 24,
             fileType: "img", //img/video/audio
             accept: "image/png, image/jpeg",
             propsHttp: {
-              res: "data",
+              res: 'data',
+              url: 'link',
+            },
+            canvasOption: {
+              text: ' ',
+              ratio: 0.1
             },
+            action: '/api/kd-resource/oss/endpoint/put-file',
             tip: "注:上传LOGO图片,尺寸推荐:20*20,显示在系统左上角。",
-            action: "https://api.avuejs.com/imgupload",
           },
         ],
       },
@@ -88,7 +95,7 @@ export default {
               res: "data",
             },
             tip: "请上传当前年度的高企证书",
-            action: "https://api.avuejs.com/imgupload",
+            action: '/api/kd-resource/oss/endpoint/put-file',
           },
         ],
       },
@@ -110,5 +117,31 @@ export default {
       }
     }
   },
+  computed: {
+    ...mapGetters(["userInfo"]),
+  },
+  mounted() {
+    this.getTenantDetailFunc(this.userInfo.tenant_id);
+  },
+  methods: {
+    getTenantDetailFunc(tenantId) {
+      getTenantDetail(tenantId).then(({ data }) => {
+        if (data.code == 200) {
+          this.logoForm = data.data;
+        }
+      });
+    },
+    handleSubmitLogo(form, done) {
+      const params = { ...this.logoForm, tenantId: this.userInfo.tenant_id };
+      updateTenant(params).then(({ data }) => {
+        done();
+        if (data.code == 200) {
+          this.$message.success('保存成功!');
+        }
+      }).catch(() => {
+        done();
+      })
+    }
+  }
 }
 </script>

+ 2 - 2
src/views/external-reports/jjkc-standards/components/common-list.vue

@@ -118,8 +118,8 @@ export default {
               },
                {
                 label: '种类',
-                prop: 'type',
-                width: 90,
+                prop: 'zl',
+                width: 50,
                 align: 'center',
                 showOverflowTooltip: true,
               },

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

@@ -76,7 +76,7 @@ export default {
         if (data.code == 200) {
           let allList = data.data.map(item => {
             let childArr = item.costList.map(costItem => {
-              return { xmmc: item.xmmc, xmbh: item.xmbh, ...costItem, kjpzje: costItem.amount };
+              return { xmmc: item.xmmc, xmbh: item.xmbh, ...costItem, zl: '记', kjpzje: costItem.amount };
             });
             return childArr;
           });

+ 68 - 1
src/views/external-reports/jjkc-standards/jjkc-auxiliary-sum-list.vue

@@ -24,7 +24,26 @@
       </template>
 
       <template slot="footer">
-        <div>234</div>
+        <div class="table-footer-container">
+          <!-- <div class="info-row">
+            <div class="info-col">资本化金额小计:</div>
+            <div class="info-col">费用化金额小计:</div>
+            <div class="info-col">其中:</div>
+            <div class="info-col">金额合计:</div>
+          </div> -->
+          <div class="footer-row">
+            <div class="col">资本化金额小计:</div>
+          </div>
+          <div class="footer-row">
+            <div class="col">费用化金额小计:</div>
+          </div>
+          <div class="footer-row">
+            <div class="col" style="padding-left: 30px;">其中</div>
+          </div>
+          <div class="footer-row">
+            <div class="col">金额合计:</div>
+          </div>
+        </div>
       </template>
       
     </avue-crud>
@@ -90,7 +109,55 @@ export default window.$crudCommon({
   // 模块路径
   name: 'externalReports/jjkcAuxiliarySumList',
   res: ({ data }) => {
+    data.records = data.records.map(item => {
+      item.ryrgTotal = item.ryrgTotal.toFixed(2);
+      item.zjtrTotal = item.zjtrTotal.toFixed(2);
+      item.zjfyTotal = item.zjfyTotal.toFixed(2);
+      item.wxzctxTotal = item.wxzctxTotal.toFixed(2);
+      item.xcpsjfd = item.xcpsjfd.toFixed(2);
+      item.total = item.total.toFixed(2);
+      item.qtxgfyTotal = item.qtxgfyTotal.toFixed(2);
+      item.qtxgfyAdjustTotal = item.qtxgfyAdjustTotal.toFixed(2);
+      item.wtjnfy = item.wtjnfy.toFixed(2);
+      item.wtjnfyRate = item.wtjnfyRate.toFixed(2);
+      item.wtjwfy = item.wtjwfy.toFixed(2);
+      item.wtjwfyRate = item.wtjwfyRate.toFixed(2);
+      return item;
+    });
     return data;
   },
 });
 </script>
+
+<style lang="scss" scoped>
+.table-footer-container {
+  border: 1px solid #EBEEF5;
+  // .info-row {
+  //   display: flex;
+  //   font-size: 14px;
+  //   font-weight: 600;
+  //   .info-col {
+  //     padding: 8px 12px;
+  //     border-right: 1px solid #EBEEF5;
+  //     padding-right: 60px;
+  //     &:last-child {
+  //       border-right: 0;
+  //     }
+  //   }
+  // }
+  .footer-row {
+    border-bottom: 1px solid #EBEEF5;
+    
+    font-size: 14px;
+    &:last-child {
+      border-bottom: 0;
+    }
+    .col {
+      width: 491px;
+      padding: 6px 8px;
+      border-right: 1px solid #EBEEF5;
+      box-sizing: border-box;
+    }
+  }
+}
+</style>