Browse Source

提交福达、统计、账单

caojunjie 2 years ago
parent
commit
55515debc1

+ 11 - 0
src/api/statisticAnalysis/analysisOfCoping.js

@@ -33,3 +33,14 @@ export const getListThree = (current, size, params) => {
         }
         }
     })
     })
 }
 }
+export const newList = (current, size, params) => {
+    return request({
+        url: '/api/trade-finance/settlement/newList',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size
+        }
+    })
+}

+ 13 - 0
src/api/statisticAnalysis/profitStatistics.js

@@ -0,0 +1,13 @@
+import request from '@/router/axios';
+
+export const getList = (current, size, params) => {
+    return request({
+        url: '/api/trade-finance/accProfitStatistics/list',
+        method: 'get',
+        params: {
+            ...params,
+            current,
+            size
+        }
+    })
+}

+ 4 - 0
src/components/bill/billDetails.vue

@@ -37,6 +37,7 @@
 <script>
 <script>
 import option from './config/details.json'
 import option from './config/details.json'
 import { getBillList,getBillListTwo } from "@/api/financialManagement/zpaymentRequest";
 import { getBillList,getBillListTwo } from "@/api/financialManagement/zpaymentRequest";
+import {fleetList} from "@/api/basicData/customerInformation";
 
 
 export default {
 export default {
   name: "index",
   name: "index",
@@ -90,6 +91,9 @@ export default {
   },
   },
   async created() {
   async created() {
     // this.option = await this.getColumnData(this.getColumnName(45), option);
     // this.option = await this.getColumnData(this.getColumnName(45), option);
+    fleetList().then(res => {
+      this.findObject(this.option.column, "fleetName").dicData = res.data.data
+    })
   },
   },
   methods:{
   methods:{
     refreshChange(){
     refreshChange(){

+ 10 - 2
src/components/bill/config/details.json

@@ -67,9 +67,17 @@
     },
     },
     {
     {
       "label": "车队",
       "label": "车队",
-      "prop": "fleetName",
+      "width": 120,
       "overHidden": true,
       "overHidden": true,
-      "width": 120
+      "prop": "fleetName",
+      "searchProp": "fleetId",
+      "type": "select",
+      "props": {
+        "label": "cname",
+        "value": "id"
+      },
+      "filterable": true,
+      "search": true
     },
     },
     {
     {
       "label": "车号",
       "label": "车号",

+ 1 - 0
src/components/part-library/configuration/mainList.json

@@ -9,6 +9,7 @@
   "delBtn": false,
   "delBtn": false,
   "addBtn": false,
   "addBtn": false,
   "menu": false,
   "menu": false,
+  "reserveSelection": true,
   "align": "center",
   "align": "center",
   "menuWidth": "180",
   "menuWidth": "180",
   "selection": true,
   "selection": true,

+ 7 - 1
src/components/part-library/main.vue

@@ -88,6 +88,11 @@ export default {
       this.partType = status;
       this.partType = status;
       this.pickData = partData ? JSON.parse(partData) : []
       this.pickData = partData ? JSON.parse(partData) : []
       this.visible = true;
       this.visible = true;
+      this.page = {
+        currentPage: 1,
+        total: 0,
+        pageSize: 10
+      }
       this.getList(this.page, this.search);
       this.getList(this.page, this.search);
     },
     },
     addRow() {
     addRow() {
@@ -107,7 +112,8 @@ export default {
         });
         });
       });
       });
       this.$refs.crud.toggleSelection();
       this.$refs.crud.toggleSelection();
-      this.importData()
+      this.activeName = "second"
+      // this.importData()
     },
     },
     rowDel(row, index) {
     rowDel(row, index) {
       this.$confirm("确定删除数据?", {
       this.$confirm("确定删除数据?", {

File diff suppressed because it is too large
+ 244 - 382
src/enums/column-name.js


+ 4 - 5
src/views/financialManagement/paymentSettle/paymentSettle.vue

@@ -183,16 +183,16 @@
         done()
         done()
       },
       },
       searchReset() {
       searchReset() {
-        console.log('1')
+        // console.log('1')
       },
       },
       selectionChange() {
       selectionChange() {
-        console.log('1')
+        // console.log('1')
       },
       },
       currentChange(val) {
       currentChange(val) {
         this.page.currentPage = val
         this.page.currentPage = val
       },
       },
       sizeChange() {
       sizeChange() {
-        console.log('1')
+        // console.log('1')
       },
       },
       refreshChange(params) {
       refreshChange(params) {
         this.onLoad(this.page,params)
         this.onLoad(this.page,params)
@@ -235,7 +235,6 @@
         }
         }
         this.$refs.crud.getTableHeight()
         this.$refs.crud.getTableHeight()
       },
       },
-
       goBack() {
       goBack() {
         this.detailData=this.$options.data().detailData
         this.detailData=this.$options.data().detailData
         this.show = true;
         this.show = true;
@@ -282,7 +281,7 @@
         }
         }
         params.billType = "付费"
         params.billType = "付费"
         params.settlementType = 1
         params.settlementType = 1
-        console.log(params)
+        // console.log(params)
         const routeData = this.$router.resolve({
         const routeData = this.$router.resolve({
           path: '/api/trade-finance/settlement/expenseExport',      //跳转目标窗口的地址
           path: '/api/trade-finance/settlement/expenseExport',      //跳转目标窗口的地址
           query: {
           query: {

+ 3 - 3
src/views/financialManagement/paymentSettle/paymentSettleDetailsPage.vue

@@ -529,10 +529,10 @@ export default {
         }
         }
     },
     },
     searchReset() {
     searchReset() {
-      console.log('1')
+      // console.log('1')
     },
     },
     selectionChange() {
     selectionChange() {
-      console.log('1')
+      // console.log('1')
     },
     },
     confirmSettlement(status) {
     confirmSettlement(status) {
       this.$refs["form"].validate((valid, done) => {
       this.$refs["form"].validate((valid, done) => {
@@ -754,7 +754,7 @@ export default {
       if (this.category == 2) {
       if (this.category == 2) {
         GYSGetBank(row.id).then(res => {
         GYSGetBank(row.id).then(res => {
           this.$set(this.form, "bankList", res.data)
           this.$set(this.form, "bankList", res.data)
-          console.log(res.data)
+          // console.log(res.data)
           if (this.form.bankList.length > 0) {
           if (this.form.bankList.length > 0) {
             this.form.accountNo = this.form.bankList[0].accountNo
             this.form.accountNo = this.form.bankList[0].accountNo
             this.form.accountName = this.form.bankList[0].accountName
             this.form.accountName = this.form.bankList[0].accountName

+ 0 - 1
src/views/landTransportation/bulkCargo/index.vue

@@ -1131,7 +1131,6 @@ export default {
       this.infoWindow.open(this.map, e.target.getPosition());
       this.infoWindow.open(this.map, e.target.getPosition());
     },
     },
     initMap(data, plateNo) {
     initMap(data, plateNo) {
-      console.log(data, plateNo)
       this.map = null
       this.map = null
       this.map = new AMap.Map("container", {resizeEnable: true});
       this.map = new AMap.Map("container", {resizeEnable: true});
       this.infoWindow = new AMap.InfoWindow({
       this.infoWindow = new AMap.InfoWindow({

+ 32 - 0
src/views/statisticAnalysis/accountBalanceC/detailPage.vue

@@ -80,6 +80,32 @@ export default {
         highlightCurrentRow: true,
         highlightCurrentRow: true,
         dialogWidth: "70%",
         dialogWidth: "70%",
         menu: false,
         menu: false,
+        showSummary: true,
+        sumColumnList: [{
+          name: 'amount',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'arrivalAmount',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'overPayment',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'caseOverPayment',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'quantity',
+          type: 'sum',
+          decimals: 0
+        },{
+          name: 'actualQuantity',
+          type: 'sum',
+          decimals: 0
+        }],
         column: [{
         column: [{
           label: '采购单号',
           label: '采购单号',
           prop: 'accSysNo',
           prop: 'accSysNo',
@@ -99,6 +125,12 @@ export default {
           prop: 'subjectNumber',
           prop: 'subjectNumber',
           overHidden: true,
           overHidden: true,
         }, {
         }, {
+          label: '日期',
+          prop: 'createTime',
+          type: "date",
+          format: "yyyy-MM-dd",
+          overHidden: true,
+        }, {
           label: '开户银行',
           label: '开户银行',
           prop: 'accountBank',
           prop: 'accountBank',
           overHidden: true,
           overHidden: true,

+ 10 - 2
src/views/statisticAnalysis/accountBalanceC/index.vue

@@ -12,8 +12,8 @@
           @on-load="onLoad"
           @on-load="onLoad"
           @search-change="searchChange"
           @search-change="searchChange"
           @refresh-change="refreshChange"
           @refresh-change="refreshChange"
-          @resetColumn="resetColumnTwo('crud','option','optionList',239)"
-          @saveColumn="saveColumnTwo('crud','option','optionList',239)"
+          @resetColumn="resetColumnTwo('crud','option','optionList',240)"
+          @saveColumn="saveColumnTwo('crud','option','optionList',240)"
           :page.sync="page">
           :page.sync="page">
         <template slot="corpNameSearch">
         <template slot="corpNameSearch">
           <crop-select v-model="search.corpId" corpType="GYS"/>
           <crop-select v-model="search.corpId" corpType="GYS"/>
@@ -105,6 +105,10 @@ export default {
           name: 'inOverpayment',
           name: 'inOverpayment',
           type: 'sum',
           type: 'sum',
           decimals: 2
           decimals: 2
+        },{
+          name: 'openingAmount',
+          type: 'sum',
+          decimals: 2
         }],
         }],
         column: [{
         column: [{
           label: '工厂',
           label: '工厂',
@@ -138,6 +142,10 @@ export default {
           label: '溢付款余额',
           label: '溢付款余额',
           prop: 'inOverpayment',
           prop: 'inOverpayment',
           overHidden: true,
           overHidden: true,
+        },{
+          label: '期初金额',
+          prop: 'openingAmount',
+          overHidden: true,
         }]
         }]
       }
       }
     }
     }

+ 40 - 0
src/views/statisticAnalysis/accountBalanceD/detailPage.vue

@@ -81,6 +81,32 @@ export default {
         highlightCurrentRow: true,
         highlightCurrentRow: true,
         dialogWidth: "70%",
         dialogWidth: "70%",
         menu: false,
         menu: false,
+        showSummary: true,
+        sumColumnList: [{
+          name: 'amount',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'arrivalAmount',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'overPayment',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'caseOverPayment',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'quantity',
+          type: 'sum',
+          decimals: 0
+        },{
+          name: 'actualQuantity',
+          type: 'sum',
+          decimals: 0
+        }],
         column: [{
         column: [{
           label: '销售单号',
           label: '销售单号',
           prop: 'accSysNo',
           prop: 'accSysNo',
@@ -100,6 +126,20 @@ export default {
           prop: 'subjectNumber',
           prop: 'subjectNumber',
           overHidden: true,
           overHidden: true,
         }, {
         }, {
+          label: '日期',
+          prop: 'createTime',
+          type: "date",
+          format: "yyyy-MM-dd",
+          overHidden: true,
+        }, {
+          label: '到货数量',
+          prop: 'actualQuantity',
+          overHidden: true,
+        }, {
+          label: '到货金额',
+          prop: 'arrivalAmount',
+          overHidden: true,
+        }, {
           label: '开户银行',
           label: '开户银行',
           prop: 'accountBank',
           prop: 'accountBank',
           overHidden: true,
           overHidden: true,

+ 8 - 0
src/views/statisticAnalysis/accountBalanceD/index.vue

@@ -106,6 +106,10 @@ export default {
           name: 'inOverpayment',
           name: 'inOverpayment',
           type: 'sum',
           type: 'sum',
           decimals: 2
           decimals: 2
+        },{
+          name: 'openingAmount',
+          type: 'sum',
+          decimals: 2
         }],
         }],
         column: [{
         column: [{
           label: '客户',
           label: '客户',
@@ -139,6 +143,10 @@ export default {
           label: '溢付款余额',
           label: '溢付款余额',
           prop: 'inOverpayment',
           prop: 'inOverpayment',
           overHidden: true,
           overHidden: true,
+        },{
+          label: '期初金额',
+          prop: 'openingAmount',
+          overHidden: true,
         }]
         }]
       }
       }
     }
     }

+ 2 - 3
src/views/statisticAnalysis/analysisOfCoping/detailPageOne.vue

@@ -20,8 +20,7 @@
 
 
 <script>
 <script>
 import {getToken} from "@/util/auth";
 import {getToken} from "@/util/auth";
-import {getListThree} from "@/api/statisticAnalysis/analysisOfCoping"
-import {getList} from "@/api/financialManagement/paymentRequest";
+import {newList} from "@/api/statisticAnalysis/analysisOfCoping"
 
 
 export default {
 export default {
   name: "index",
   name: "index",
@@ -142,7 +141,7 @@ export default {
     onLoad(page, params = {}) {
     onLoad(page, params = {}) {
       let data = this.deepClone(Object.assign({}, params, this.search));
       let data = this.deepClone(Object.assign({}, params, this.search));
       this.loading = true;
       this.loading = true;
-      getList(
+      newList(
           page.currentPage,
           page.currentPage,
           page.pageSize,
           page.pageSize,
           Object.assign(data,{billType:"付费",})
           Object.assign(data,{billType:"付费",})

+ 278 - 0
src/views/statisticAnalysis/profitStatistics/index.vue

@@ -0,0 +1,278 @@
+<template>
+  <div>
+    <basic-container class="page-crad">
+      <avue-crud ref="crud" :option="option" :data="dataList" :page.sync="page" :search.sync="search"
+                 :cell-style="cellStyle" @search-change="searchChange" @current-change="currentChange"
+                 @size-change="sizeChange"
+                 @refresh-change="refreshChange" @on-load="onLoad" :table-loading="loading" @saveColumn="saveColumn"
+                 @resetColumn="resetColumn" @search-criteria-switch="searchCriteriaSwitch">
+        <template slot="menuLeft">
+          <el-button type="info" size="small" @click="outExport">导出
+          </el-button>
+        </template>
+        <template slot="corpNameSearch" slot-scope="scope">
+          <crop-select v-model="search.corpId" corpType="KC"/>
+        </template>
+      </avue-crud>
+    </basic-container>
+  </div>
+</template>
+
+<script>
+import {getToken} from "@/util/auth";
+import {getList} from "@/api/statisticAnalysis/profitStatistics"
+export default {
+  name: "index",
+  data() {
+    return {
+      dialogVisible: false,
+      title: "",
+      UConfiguration: {
+        multipleChoices: false,
+        multiple: false,
+        disabled: false,
+        searchShow: true,
+        collapseTags: false,
+        placeholder: '请点击右边按钮选择',
+        dicData: []
+      },
+      form: {},
+      search: {
+        data:`${new Date().getFullYear()}-${(new Date().getMonth()+1)}-1 00:00:00`,
+        whetherStatistics:0
+      },
+      condition: {},
+      dataList: [],
+      loading: false,
+      detailData: {},
+      page: {
+        pageSize: 20,
+        currentPage: 1,
+        total: 0,
+        pageSizes: [10, 20, 30, 40, 50, 100, 200, 300, 400, 500]
+      },
+      option: {},
+      optionBack: {
+        searchShow: true,
+        align: "center",
+        searchMenuPosition: "right",
+        searchSpan: 8,
+        searchMenuSpan: 8,
+        searchLabelWidth: 100,
+        border: true,
+        index: true,
+        addBtn: false,
+        viewBtn: false,
+        editBtn: false,
+        delBtn: false,
+        searchIcon: true,
+        searchIndex: 2,
+        highlightCurrentRow: true,
+        menu: false,
+        height: "auto",
+        summaryText: "合计",
+        showSummary: true,
+        sumColumnList: [{
+          name: "receivableAmount",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "receivedAmount",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "answerPayAmount",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "alreadyPayAmount",
+          type: "sum",
+          decimals: 2
+        },{
+          name: "profitAmount",
+          type: "sum",
+          decimals: 2
+        }],
+        column: [{
+          label: "合同号",
+          prop: "accSysNo",
+          overHidden: true,
+          search: true
+        }, {
+          label: "提单号",
+          prop: "srcBillNo",
+          overHidden: true
+        }, {
+          label: "箱号",
+          prop: "srcSysno",
+          search: true,
+          overHidden: true
+        }, {
+          label: "往来单位",
+          prop: "corpName",
+          overHidden: true
+        }, {
+          label: "所属公司",
+          prop: "company",
+          overHidden: true
+        }, {
+          label: "日期",
+          prop: "date",
+          width: 100,
+          search: true,
+          // showColumn: false,
+          // hide: true,
+          searchValue:`${new Date().getFullYear()}-${(new Date().getMonth()+1)}-1 00:00:00`,
+          overHidden: true,
+          type: "month",
+          format: "yyyy-MM",
+          valueFormat: "yyyy-MM-dd HH:mm:ss"
+        }, {
+          label: "应收今额",
+          prop: "receivableAmount"
+        }, {
+          label: "已收金额",
+          prop: "receivedAmount"
+        }, {
+          label: "应付今额",
+          prop: "answerPayAmount"
+        }, {
+          label: "已付金额",
+          prop: "alreadyPayAmount"
+        }, {
+          label: "利润",
+          prop: "profitAmount"
+        },{
+          label: '是否统计',
+          prop: 'whetherStatistics',
+          search: true,
+          type: 'select',
+          showColumn: false,
+          hide: true,
+          dicData:[{
+            label:'合同号',
+            value:0
+          },{
+            label:'箱号',
+            value:1
+          }]
+        }]
+      }
+    };
+  },
+  async created() {
+    this.option = await this.getColumnData(this.getColumnName(253), this.optionBack);
+  },
+  activated() {
+    this.$nextTick(() => {
+      this.$refs.crud.refreshTable();
+    });
+  },
+  methods: {
+    cellStyle() {
+      return "padding:0;height:40px;";
+    },
+    searchCriteriaSwitch(type) {
+      if (type) {
+        this.option.height = this.option.height - 46;
+      } else {
+        this.option.height = this.option.height + 46;
+      }
+      this.$refs.crud.myTable.doLayout();
+      this.$refs.crud.getTableHeight();
+    },
+    //点击搜索按钮触发
+    searchChange(params, done) {
+      this.page.currentPage = 1;
+      this.onLoad(this.page, params);
+      done();
+    },
+    refreshChange() {
+      this.onLoad(this.page, this.search);
+    },
+    currentChange(val) {
+      this.page.currentPage = val;
+    },
+    sizeChange(val) {
+      this.page.currentPage = 1;
+      this.page.pageSize = val;
+    },
+    onLoad(page, params = {}) {
+      let data = this.deepClone(Object.assign({}, params, this.search));
+      this.loading = true;
+      getList(
+          page.currentPage,
+          page.pageSize,
+          Object.assign(data)
+      ).then(res => {
+        this.dataList = res.data.data.records ? res.data.data.records : [];
+        this.page.total = res.data.data.total;
+      }).finally(() => {
+        this.loading = false;
+      });
+    },
+
+    //列保存触发
+    async saveColumn() {
+      const inSave = await this.saveColumnData(this.getColumnName(253), this.option);
+      if (inSave) {
+        this.$message.success("保存成功");
+        //关闭窗口
+        this.$refs.crud.$refs.dialogColumn.columnBox = false;
+      }
+    },
+    async resetColumn() {
+      this.option = this.optionBack;
+      const inSave = await this.delColumnData(this.getColumnName(253), this.optionBack);
+      if (inSave) {
+        this.$message.success("重置成功");
+        this.$refs.crud.$refs.dialogColumn.columnBox = false;
+      }
+    },
+    outExport() {
+      let config = {params: {...this.search}}
+      if (config.params) {
+        for (const propName of Object.keys(config.params)) {
+          const value = config.params[propName];
+          if (value !== null && typeof (value) !== "undefined") {
+            if (value instanceof Array) {
+              for (const key of Object.keys(value)) {
+                let params = propName + '[' + key + ']';
+                config.params[params] = value[key]
+              }
+              delete config.params[propName]
+            }
+          }
+        }
+      }
+      const routeData = this.$router.resolve({
+        path: '/api/trade-finance/accProfitStatistics/export',      //跳转目标窗口的地址
+        query: {
+          ...config.params    //括号内是要传递给新窗口的参数
+        }
+      })
+      window.open(routeData.href.slice(1, routeData.href.length) + '&' + `${this.website.tokenHeader}=${getToken()}`);
+    }
+  }
+};
+</script>
+
+<style scoped>
+.page-crad ::v-deep .basic-container__card {
+  height: 94.2vh;
+}
+::v-deep .el-dialog {
+  margin: 0 auto;
+}
+::v-deep .el-dialog__body {
+  padding: 0px 20px;
+}
+
+::v-deep .el-table__expanded-cell[class*="cell"] {
+  padding: 0px;
+}
+
+.itemTable ::v-deep .el-table {
+  width: 100%;
+}
+</style>

Some files were not shown because too many files changed in this diff