Jelajahi Sumber

提交达沃特

caojunjie 2 tahun lalu
induk
melakukan
12f0c83dd9

+ 11 - 1
src/api/financialManagement/zpaymentRequest.js

@@ -92,7 +92,17 @@ export const paymentCheck = (data) => {
 export function getBillList(current,size,params) {
   return request({
     url: '/api/trade-finance/acc/listLandOrder',
-    // url: '/api/trade-finance/acc/billList',
+    method: 'get',
+    params: {
+      ...params,
+      current,
+      size,
+    }
+  })
+}
+export function getBillListTwo(current,size,params) {
+  return request({
+    url: '/api/trade-finance/acc/list',
     method: 'get',
     params: {
       ...params,

+ 16 - 7
src/components/bill/billDetails.vue

@@ -33,7 +33,7 @@
 
 <script>
 import option from './config/details.json'
-import { getBillList } from "@/api/financialManagement/zpaymentRequest";
+import { getBillList,getBillListTwo } from "@/api/financialManagement/zpaymentRequest";
 
 export default {
   name: "index",
@@ -114,12 +114,21 @@ export default {
         params.type = "CMY"
       }
       params.flag = this.flag
-      getBillList(page.currentPage, page.pageSize,params).then(res=>{
-        this.data = res.data.data.records
-        this.page.total = res.data.data.total
-      }).finally(()=>{
-        this.loading = false;
-      })
+      if (this.billType === "申请" || this.billType === "付费"){
+        getBillList(page.currentPage, page.pageSize,params).then(res=>{
+          this.data = res.data.data.records
+          this.page.total = res.data.data.total
+        }).finally(()=>{
+          this.loading = false;
+        })
+      }else if (this.billType === "收费") {
+        getBillListTwo(page.currentPage, page.pageSize,params).then(res=>{
+          this.data = res.data.data.records
+          this.page.total = res.data.data.total
+        }).finally(()=>{
+          this.loading = false;
+        })
+      }
     },
     importProMent(){
       this.$emit('importProMent',this.selectList);

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

@@ -104,13 +104,14 @@
       "width": 120
     },
     {
-      "label": "货运日期",
+      "label": "业务日期",
       "prop": "srcDate",
       "searchProp": "srcDateList",
       "search": true,
       "overHidden": true,
       "type": "date",
       "searchRange": true,
+      "unlinkPanels": true,
       "searchDefaultTime": [
         "00:00:00",
         "23:59:59"

+ 10 - 0
src/enums/management-type.js

@@ -13,6 +13,10 @@ export const companyParameter = {
   code: "GS",
   name: "公司主体"
 }
+export const KCParameter = {
+  code: "KH,CD",
+  name: "客户、车队"
+}
 
 export const CSParameter = {
   code: "KG",
@@ -40,6 +44,9 @@ export const getCustomerCode = (row) => {
     case 'GS':
       code = companyParameter.code
       break;
+    case 'KC':
+      code = KCParameter.code
+      break;
     case 'KG':
       code = CSParameter.code
       break;
@@ -69,6 +76,9 @@ export const getCustomerName = (row) => {
     case 'KG':
       name = CSParameter.name
       break;
+    case 'KC':
+      name = KCParameter.name
+      break;
     case 'CD':
       name = CDParameter.name
       break;

+ 2 - 2
src/views/financialManagement/collectionSettlement/receiptSettleDetailsPage.vue

@@ -46,7 +46,7 @@
           <template slot="corpId">
             <crop-select
               v-model="form.corpId"
-              corpType="KG"
+              corpType="KC"
               :disabled="!financeDisabled || editDisable"
               @getCorpData="returnBack"
               style="width: 100%"
@@ -319,7 +319,7 @@
               ]
             },
             {
-              label: '往来单位',
+              label: '结算单位',
               prop: 'corpId',
               sort:true,
               span: 8,

+ 17 - 0
src/views/financialManagement/paymentSettlement/configuration/detailsPage.json

@@ -34,6 +34,23 @@
   ],
   "column": [
     {
+      "label": "单据来源",
+      "prop": "billType",
+      "type": "select",
+      "overHidden": true,
+      "width": 120,
+      "dicData": [
+        {
+          "label": "付费",
+          "value": "申请"
+        },
+        {
+          "label": "收费",
+          "value": "收费"
+        }
+      ]
+    },
+    {
       "label": "车队",
       "prop": "fleetName",
       "overHidden": true,

+ 17 - 1
src/views/financialManagement/paymentSettlement/configuration/mainList.json

@@ -75,12 +75,28 @@
       ]
     },
     {
+      "label": "应付金额合计",
+      "prop": "payAmount",
+      "overHidden": true,
+      "search": true,
+      "width": 120,
+      "index": 4.1
+    },
+    {
+      "label": "应收金额合计",
+      "prop": "receivableAmount",
+      "overHidden": true,
+      "search": true,
+      "width": 120,
+      "index": 4.2
+    },
+    {
       "label": "人民币金额",
       "prop": "amount",
       "overHidden": true,
       "search": true,
       "width": 120,
-      "index": 5
+      "index": 4.3
     },
     {
       "label": "外币金额",

+ 4 - 0
src/views/financialManagement/paymentSettlement/paymentSettle.vue

@@ -23,6 +23,10 @@
                      :refresh="false"
                      corpType="KG"/>
       </template>
+      <template slot="amount" slot-scope="{row}">
+        <span style="color: #FF0000" v-if="row.amount <= 0">{{row.amount}}</span>
+        <span v-else>{{row.amount}}</span>
+      </template>
       <template slot="menuLeft">
         <el-button type="primary"
                    size="small"

+ 74 - 8
src/views/financialManagement/paymentSettlement/paymentSettleDetailsPage.vue

@@ -26,7 +26,7 @@
             </el-input>
           </template>
           <template slot="corpId">
-            <crop-select v-model="form.corpId" corpType="KG" :disabled="(!financeDisabled && form.id) || editDisable"
+            <crop-select v-model="form.corpId" corpType="KC" :disabled="(!financeDisabled && form.id) || editDisable || dataList.length>0"
               @getCorpData="returnBack" style="width: 100%"></crop-select>
           </template>
           <template slot="salesCompany">
@@ -55,9 +55,12 @@
           @selection-change="selectionChange">
           <template slot="menuLeft">
             <el-button type="primary" size="small" :loading="buttonLoading" icon="el-icon-shopping-cart-2"
-              :disabled="!financeButton || editDisable" @click="selectPurchase">选择采购合同
+              :disabled="!financeButton || editDisable" @click="selectPurchase(0)">选择应付
             </el-button>
             <el-button class="el-icon-download" type="info" size="small" :disabled="!form.id" @click="openReport">报表打印</el-button>
+            <el-button type="primary" size="small" :loading="buttonLoading" icon="el-icon-shopping-cart-2"
+                       :disabled="!financeButton || editDisable" @click="selectPurchase(1)">选择应收
+            </el-button>
           </template>
           <template slot-scope="{ row,index }" slot="menu">
             <el-button type="text" size="small" icon="el-icon-edit" :disabled="!financeButton || editDisable"
@@ -88,7 +91,7 @@
           </template>
         </avue-crud>
       </basic-container>
-      <el-dialog title="导入采购" append-to-body class="el-dialogDeep" :visible.sync="billDetailDialog" width="60%"
+      <el-dialog :title="title" append-to-body class="el-dialogDeep" :visible.sync="billDetailDialog" v-if="billDetailDialog" width="60%"
         :close-on-click-modal="false" :destroy-on-close="true" :close-on-press-escape="false" top="10vh" v-dialog-drag>
         <bill-detail :params="params" :billType="billType" :flag="1" @closeFun="closeBillDetail"
           @importProMent="importProMent">
@@ -128,6 +131,7 @@ export default {
   data() {
     return {
       form: {},
+      title:'',
       switchDialog:false,
       itemsForm: {},
       itemsOption: option,
@@ -228,7 +232,7 @@ export default {
             ]
           },
           {
-            label: '往来单位',
+            label: '结算单位',
             prop: 'corpId',
             sort: true,
             span: 8,
@@ -274,6 +278,40 @@ export default {
             span: 8,
             rules: [
               {
+                pattern: /^[+-]?((\d*(\.\d{1,})$)|(\d+$))/,
+                message: ' ',
+                trigger: 'blur'
+              },
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '应付金额合计',
+            prop: 'payAmount',
+            span: 8,
+            rules: [
+              {
+                pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
+                message: ' ',
+                trigger: 'blur'
+              },
+              {
+                required: false,
+                message: ' ',
+                trigger: 'blur'
+              }
+            ]
+          },
+          {
+            label: '应收金额合计',
+            prop: 'receivableAmount',
+            span: 8,
+            rules: [
+              {
                 pattern: /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
                 message: ' ',
                 trigger: 'blur'
@@ -477,8 +515,9 @@ export default {
         this.$message.warning('本次金额不得大于金额!')
         this.$set(row, 'thisAmount', '')
       }
+      this.calculation(this.dataList)
     },
-    selectPurchase() {
+    selectPurchase(val) {
       if (!this.form.corpId) {
         this.$message.warning("请先选择客户!")
         return
@@ -486,6 +525,13 @@ export default {
       this.params = {
         corpId: this.form.corpId
       }
+      if (val === 0){
+        this.title = '导入运费'
+        this.billType = '付费'
+      }else {
+        this.title = '导入销售'
+        this.billType = '收费'
+      }
       this.billDetailDialog = true;
     },
     closeBillDetail() {
@@ -494,15 +540,33 @@ export default {
     importProMent(list) {
       list.forEach((item, index) => {
         item.accId = item.id;
-        item.srcOrderno = item.accSysNo
-        item.billNo = item.srcBillNo
-        item.thisAmount = item.amount
+        item.fleetName = item.fleetName?item.fleetName:item.corpName
+        item.srcOrderno = item.accSysNo;
+        item.billNo = item.srcBillNo;
+        item.thisAmount = item.amount;
         delete item.id;
 
         this.$refs.crud.rowCellAdd(item);
       })
       this.$set(this.form, 'srcOrderno', Array.from(new Set(this.dataList.map(item => { if (item.srcOrderno) { return item.srcOrderno } }))).join(','))
       this.billDetailDialog = false;
+      this.calculation(this.dataList)
+    },
+    calculation(data){
+      let d = 0
+      let c = 0
+      data.forEach(item =>{
+        if (item.dc === "c"){
+          c += Number(item.thisAmount)
+        }else if (item.dc === "D"){
+          d += Number(item.thisAmount)
+        }
+      })
+      //应付金额合计
+      this.form.payAmount = c
+      this.form.receivableAmount = d
+      //应收金额合计
+      this.form.amount = c-d
     },
     rowUpdate(row, index, done) {
       done(row);
@@ -523,9 +587,11 @@ export default {
               message: "操作成功!"
             });
             this.dataList.splice(index, 1);
+            this.calculation(this.dataList)
           })
         } else {
           this.dataList.splice(index, 1);
+          this.calculation(this.dataList)
         }
     },
     searchReset() {

+ 4 - 0
src/views/maintenance/priceLibrary/index.vue

@@ -41,6 +41,10 @@
           <el-input v-if="row.$cellEdit" v-model="row.ename" size="small"></el-input>
           <span v-else>{{ row.ename }}</span>
         </template>
+        <template slot-scope="{ row }" slot="unit">
+          <el-input v-if="row.$cellEdit" v-model="row.unit" size="small"></el-input>
+          <span v-else>{{ row.unit }}</span>
+        </template>
         <template slot-scope="{ row }" slot="coefficient">
           <el-input v-if="row.$cellEdit" v-model="row.coefficient" size="small"
             oninput="value=value.replace(/[^0-9.]/g,'').replace(/^(\-)*(\d+)\.(\d\d).*$/,'$1$2.$3')"

+ 5 - 13
src/views/statisticAnalysis/accountBalanceC/detailPage.vue

@@ -90,19 +90,11 @@ export default {
           prop: 'quantity',
           overHidden: true,
         }, {
-          label: '应收金额',
+          label: '金额',
           prop: 'amount',
           search: true,
           overHidden: true,
         }, {
-          label: '已收金额',
-          prop: 'settlementAmount',
-          overHidden: true,
-        }, {
-          label: '余额',
-          prop: 'balance',
-          overHidden: true,
-        }, {
           label: '科目代码',
           prop: 'subjectNumber',
           overHidden: true,
@@ -123,10 +115,6 @@ export default {
           prop: 'overPayment',
           overHidden: true,
         }, {
-          label: '使用返利',
-          prop: 'usedProfit',
-          overHidden: true,
-        }, {
           label: '使用溢付款',
           prop: 'caseOverPayment',
           overHidden: true,
@@ -162,6 +150,8 @@ export default {
             'Blade-Auth': getToken(),
             ...queryParams,    //括号内是要传递给新窗口的参数
             billType: "申请",
+            chargePay:this.detailData.chargePay,
+            createDateList:this.detailData.createDateList,
             corpId:this.detailData.corpId
           }
         })
@@ -190,6 +180,8 @@ export default {
         current: page.currentPage,
         size: page.pageSize,
         billType: "申请",
+        chargePay:this.detailData.chargePay,
+        createDateList:this.detailData.createDateList,
         corpId:this.detailData.corpId
       }
       this.loading = true

+ 29 - 4
src/views/statisticAnalysis/accountBalanceC/index.vue

@@ -18,8 +18,11 @@
         <template slot="corpNameSearch">
           <crop-select v-model="search.corpId" corpType="GYS"/>
         </template>
-        <template slot-scope="scope" slot="corpName">
-          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row, scope.index)">{{scope.row.corpName}}</span>
+        <template slot-scope="scope" slot="amount">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row, scope.index,'YING')">{{scope.row.amount}}</span>
+        </template>
+        <template slot-scope="scope" slot="settlementAmount">
+          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row, scope.index,'YI')">{{scope.row.settlementAmount}}</span>
         </template>
         <template slot-scope="scope" slot="menuLeft">
           <el-button type="warning"
@@ -85,6 +88,24 @@ export default {
         highlightCurrentRow: true,
         dialogWidth: "70%",
         menu:false,
+        showSummary: true,
+        sumColumnList: [{
+          name: 'amount',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'settlementAmount',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'balance',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'inOverpayment',
+          type: 'sum',
+          decimals: 2
+        }],
         column: [{
           label: '工厂',
           prop: 'corpName',
@@ -139,9 +160,13 @@ export default {
       this.show = true;
       this.onLoad(this.page,this.search)
     },
-    beforeOpenPage(row, index){
+    beforeOpenPage(row, index,chargePay){
       this.show = false
-      this.detailData = row
+      this.detailData = {
+        ...row,
+        chargePay:chargePay,
+        createDateList:this.search.createDateList
+      }
     },
     //导出
     outExport() {

+ 5 - 13
src/views/statisticAnalysis/accountBalanceD/detailPage.vue

@@ -96,14 +96,6 @@ export default {
           search: true,
           overHidden: true,
         }, {
-          label: '已收金额',
-          prop: 'settlementAmount',
-          overHidden: true,
-        }, {
-          label: '余额',
-          prop: 'balance',
-          overHidden: true,
-        }, {
           label: '科目代码',
           prop: 'subjectNumber',
           overHidden: true,
@@ -124,10 +116,6 @@ export default {
           prop: 'overPayment',
           overHidden: true,
         }, {
-          label: '使用返利',
-          prop: 'usedProfit',
-          overHidden: true,
-        }, {
           label: '使用溢付款',
           prop: 'caseOverPayment',
           overHidden: true,
@@ -163,6 +151,8 @@ export default {
             'Blade-Auth': getToken(),
             ...queryParams,//括号内是要传递给新窗口的参数
             billType: "收费",
+            chargePay:this.detailData.chargePay,
+            createDateList:this.detailData.createDateList,
             corpId:this.detailData.corpId
           }
         })
@@ -191,7 +181,9 @@ export default {
         current: page.currentPage,
         size: page.pageSize,
         billType: "收费",
-        corpId:this.detailData.corpId
+        corpId:this.detailData.corpId,
+        chargePay:this.detailData.chargePay,
+        createDateList:this.detailData.createDateList,
       }
       this.loading = true
       getListDetailed(params).then(res => {

+ 39 - 12
src/views/statisticAnalysis/accountBalanceD/index.vue

@@ -18,8 +18,13 @@
         <template slot="corpNameSearch">
           <crop-select v-model="search.corpId" corpType="KH"/>
         </template>
-        <template slot-scope="scope" slot="corpName">
-          <span style="color: #409EFF;cursor: pointer" @click.stop="beforeOpenPage(scope.row, scope.index)">{{scope.row.corpName}}</span>
+        <template slot-scope="scope" slot="amount">
+          <span style="color: #409EFF;cursor: pointer"
+                @click.stop="beforeOpenPage(scope.row, scope.index,'YING')">{{ scope.row.amount }}</span>
+        </template>
+        <template slot-scope="scope" slot="settlementAmount">
+          <span style="color: #409EFF;cursor: pointer"
+                @click.stop="beforeOpenPage(scope.row, scope.index,'YI')">{{ scope.row.settlementAmount }}</span>
         </template>
         <template slot-scope="scope" slot="menuLeft">
           <el-button type="warning"
@@ -74,7 +79,7 @@ export default {
         index: true,
         span: 8,
         border: true,
-        height:"auto",
+        height: "auto",
         searchMenuPosition: "right",
         align: "center",
         menuWidth: 140,
@@ -83,30 +88,48 @@ export default {
         searchIndex: 2,
         highlightCurrentRow: true,
         dialogWidth: "70%",
-        menu:false,
+        menu: false,
+        showSummary: true,
+        sumColumnList: [{
+          name: 'amount',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'settlementAmount',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'balance',
+          type: 'sum',
+          decimals: 2
+        },{
+          name: 'inOverpayment',
+          type: 'sum',
+          decimals: 2
+        }],
         column: [{
           label: '客户',
           prop: 'corpName',
           search: true,
           overHidden: true,
-        },{
+        }, {
           label: '本期应收',
           prop: 'amount',
           overHidden: true,
-        },{
+        }, {
           label: '本期已收',
           prop: 'settlementAmount',
           overHidden: true,
-        },{
+        }, {
           label: '余额(总)',
           prop: 'balance',
           overHidden: true,
-        },{
+        }, {
           label: '日期',
           prop: 'createDateList',
           search: true,
-          showColumn:false,
-          hide:true,
+          showColumn: false,
+          hide: true,
           type: "date",
           searchRange: true,
           searchDefaultTime: ["00:00:00", "23:59:59"],
@@ -162,9 +185,13 @@ export default {
         });
       })
     },
-    beforeOpenPage(row, index){
+    beforeOpenPage(row, index, chargePay) {
       this.show = false
-      this.detailData = row
+      this.detailData = {
+        ...row,
+        chargePay: chargePay,
+        createDateList: this.search.createDateList
+      }
     },
     //刷新
     refreshChange() {

+ 2 - 2
vue.config.js

@@ -32,10 +32,10 @@ module.exports = {
       '/api': {
         //本地服务接口地址
         // target: 'http://192.168.3.64:1080',
-        // target: 'http://192.168.0.104:1080',
+        target: 'http://192.168.0.104:1080',
         // target: 'http://124.222.119.174:1080',
         // 打包地址
-        target: 'http://121.37.83.47:10004',//服务器ip
+        // target: 'http://121.37.83.47:10004',//服务器ip
         // target: 'http://trade.tubaosoft.com:10004',//服务器域名
         ws: true,
         pathRewrite: {