Browse Source

加计扣除费用明细表提交

ljb 9 months ago
parent
commit
8167fb3c7b

+ 11 - 0
src/api/externalReports/jjkcAuxiliaryDetails.js

@@ -0,0 +1,11 @@
+import request from '@/router/axios';
+
+export const getList = (params) => {
+  return request({
+    url: '/api/kd-scientific/xm/cost/details/deduction-list',
+    method: 'get',
+    params: {
+      ...params,
+    }
+  })
+}

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

@@ -0,0 +1,245 @@
+<template>
+  <div>
+    <div style="width: 100%; display: flex; align-items: center; justify-content: space-between;">
+      <div class="left" style="display: flex;">
+        <div style="margin-right: 50px;">研发项目编号:{{ data[0].xmbh }}</div>
+        <div>项目项目名称:{{ data[0].xmmc }}</div>
+      </div>
+      <div class="right">
+        <el-button
+          type="warning"
+          size="small"
+          plain
+          icon="el-icon-download"
+          @click="handleExport"
+          style="margin-right: 10px;"
+        >
+          导出
+        </el-button>
+      </div>
+    </div>
+    <avue-crud class="common-crud" :option="options" :data="data">
+    </avue-crud>
+  </div>
+</template>
+
+<script>
+import {exportBlob} from "@/api/common";
+import {getToken} from "@/util/auth";
+import {downloadXls} from "@/util/util";
+
+export default {
+  props: {
+    data: {
+      type: Array,
+      default: () => []
+    }
+  },
+  data() {
+    return {
+      options: {
+        calcHeight: 30,
+        tip: false,
+        searchShow: true,
+        searchMenuSpan: 6,
+        border: true,
+        index: true,
+        addBtn: false,
+        selection: true,
+        searchLabelWidth: 140,
+        labelWidth: 100,
+        menuWidth: 180,
+        menu: false,
+        dialogClickModal: false,
+        refreshBtn: false,
+        columnBtn: false,
+        gridBtn: false,
+        dialogWidth: 500,
+        dialogType: "drawer",
+        showSummary: true,
+        sumColumnList: [
+          {
+            label:'合计',
+            name: 'ryrg',
+            type: 'sum',
+          },
+          {
+            name: 'zjtr',
+            type: 'sum',
+          },
+          {
+            name: 'zjfyycqdtfy',
+            type: 'sum'
+          },
+          {
+            name: 'sjf',
+            type: 'sum'
+          },
+          {
+            name: 'wxzctx',
+            type: 'sum'
+          },
+          {
+            name: 'zbtsfyysyfy',
+            type: 'sum'
+          },
+          {
+            name: 'qtfy',
+            type: 'sum'
+          },
+          {
+            name: 'wwyf',
+            type: 'sum'
+          },
+          {
+            name: 'amount',
+            type: 'sum'
+          }
+        ],
+        column: [
+          {
+            label: '凭证信息',
+            align: 'center',
+            children: [
+              {
+                label: '日期',
+                prop: 'recordDate',
+                width: 85,
+                align: 'center',
+                showOverflowTooltip: true,
+              },
+               {
+                label: '种类',
+                prop: 'type',
+                width: 90,
+                align: 'center',
+                showOverflowTooltip: true,
+              },
+              {
+                label: '号数',
+                prop: 'voucherNumber',
+                width: 90,
+                align: 'center',
+                showOverflowTooltip: true,
+              },
+              {
+                label: '摘要',
+                prop: 'digest',
+                width: 100,
+                align: 'center',
+                showOverflowTooltip: true,
+              },
+            ]
+          },
+          {
+            label: '会计凭证记载金额',
+            prop: '',
+            width: 120,
+            align: 'center',
+            showOverflowTooltip: true,
+          },
+          {
+            label: '税法规定的归集金额',
+            prop: 'amount',
+            width: 130,
+            align: 'center',
+            showOverflowTooltip: true,
+          },
+          {
+            label: '费用明细(税法规定)',
+            align: 'center',
+            children: [
+              {
+                label: '人员人工费用',
+                prop: 'ryrgfy',
+                span: 24,
+                minWidth: 90,
+                align: 'center',
+                showOverflowTooltip: true,
+              },
+              {
+                label: '直接投入费用',
+                prop: 'zjtrfy',
+                span: 24,
+                minWidth: 90,
+                align: 'center',
+                showOverflowTooltip: true,
+              },
+              {
+                label: '折旧费用',
+                prop: 'zjfy',
+                span: 24,
+                minWidth: 90,
+                align: 'center',
+                showOverflowTooltip: true,
+              },
+              {
+                label: '无形资产摊销',
+                prop: 'wxzctx',
+                span: 24,
+                minWidth: 90,
+                align: 'center',
+                showOverflowTooltip: true,
+              },
+              {
+                label: '新产品设计费等',
+                prop: 'xcpsjfd',
+                span: 24,
+                minWidth: 90,
+                align: 'center',
+                showOverflowTooltip: true,
+              },
+              {
+                label: '其他相关费用',
+                prop: 'qtxgfy',
+                span: 24,
+                minWidth: 90,
+                align: 'center',
+                showOverflowTooltip: true,
+              },
+              {
+                label: '委托外部费用',
+                align: 'center',
+                children: [
+                  {
+                    label: '委托境内机构或个人进行研发活动所发生的费用',
+                    prop: 'wtjnjgfy',
+                    span: 24,
+                    minWidth: 110,
+                    align: 'center',
+                    showOverflowTooltip: true,
+                  },
+                  {
+                    label: '委托境外机构进行研发活动所发生的费用',
+                    prop: 'wtjwjgfy',
+                    span: 24,
+                    minWidth: 110,
+                    align: 'center',
+                    showOverflowTooltip: true,
+                  },
+                ]
+              },
+            ]
+          },
+        ],
+      },
+    };
+  },
+  methods: {
+    handleExport() {
+      this.$message.error("暂未开发");
+      // exportBlob(`/api/kd-scientific/goods/yanfalingliaodan/export?${this.website.tokenHeader}=${getToken()}`, this.params).then(res => {
+      //   downloadXls(res.data, `${this.params.yearAndMonth}${title}.xlsx`);
+      // });
+    },
+  }
+};
+</script>
+
+<style lang="scss">
+.common-crud {
+  .avue-crud__header {
+    min-height: 0;
+  }
+}
+</style>

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

@@ -0,0 +1,116 @@
+<template>
+  <basic-container v-loading="loading">
+    <avue-form ref="searchForm" v-model="params" :option="searchOption" class="cl-search-form">
+      <template slot-scope="{size}" slot="menuForm">
+        <el-button type="primary" :size="size" icon="el-icon-search" @click="handleSearchBtn">查询</el-button>
+        <el-button :size="size" icon="el-icon-delete" @click="handleResetBtn">清空</el-button>
+      </template>
+    </avue-form>
+    <div>
+    </div>
+    <div style="display: flex; align-items: center;">
+      <year-month-select v-model="yearAndMonth" :showMonth="false" style="margin: 6px 0 20px;"></year-month-select>
+      <el-radio-group v-model="costType" size="mini" style="margin: 8px 0 20px 8px;">
+        <el-radio-button :label="1">费用化明细表</el-radio-button>
+        <el-radio-button :label="2">资本化明细表</el-radio-button>
+      </el-radio-group>
+    </div>
+    <template v-if="listData.length">
+      <common-list v-for="(item, index) of listData" :data="item" :key="index" style="margin-bottom: 25px;"></common-list>
+    </template>
+    <el-empty v-else description="暂无数据"></el-empty>
+  </basic-container>
+</template>
+
+<script>
+import YearMonthSelect from "@/components/year-month-select";
+import commonList from "./components/common-list.vue";
+import { getList } from "@/api/externalReports/jjkcAuxiliaryDetails";
+import moment from "moment";
+
+export default {
+  components: {
+    YearMonthSelect,
+    commonList
+  },
+  data() {
+    return {
+      loading: false,
+      searchOption: {
+        submitBtn:false,
+        emptyBtn:false,
+        column: [{
+          label: '项目名称',
+          prop: 'xmmc',
+          type: 'input',
+        }]
+      },
+      listData: [],
+
+      yearAndMonth: moment(new Date()).format('YYYYMM'),
+      params: {},
+
+      costType: 1
+    }
+  },
+  watch: {
+    yearAndMonth() {
+      this.loadData();
+    }
+  },
+  mounted() {
+    this.loadData();
+  },
+  methods: {
+    loadData() {
+      let params = { ...this.params, type: this.costType };
+      this.loading = true;
+      getList({
+        ...params,
+        yearAndMonth: this.yearAndMonth,
+      }).then(({ data }) => {
+        this.loading = false;
+        if (data.code == 200) {
+          let allList = data.data.map(item => {
+            let childArr = item.costList.map(costItem => {
+              return { xmmc: item.xmmc, xmbh: item.xmbh, ...costItem };
+            });
+            return childArr;
+          });
+
+
+          this.listData = allList;
+        }
+      }).catch(() => {
+        this.loading = false;
+      });
+    },
+    handleSearchBtn() {
+      this.loadData();
+    },
+    handleResetBtn() {
+      this.params = {};
+      this.$refs.searchForm.resetForm();
+      this.loadData();
+    },
+  },
+}
+</script>
+
+<style lang="scss">
+.cl-search-form {
+  .el-form-item--small .el-form-item__label {
+    display: none;
+  }
+  .el-form-item--small .el-form-item__content {
+    margin-left: 8px !important;
+  }
+  .el-form-item--mini.el-form-item, .el-form-item--small.el-form-item  {
+    margin-bottom: 6px;
+  }
+  .avue-form__group .el-col {
+    width: auto !important;
+    padding-top: 0 !important;
+  }
+}
+</style>