|
@@ -85,14 +85,14 @@
|
|
|
<span>{{ row.accStatus ? '是' : '否' }}</span>
|
|
|
</template>
|
|
|
<template slot="corpCnName" slot-scope="{ row }">
|
|
|
- <search-query v-if="row.edit" :datalist="corpCnNameData" :selectValue="row.corpCnName"
|
|
|
- :filterable="true" :clearable="true" :remote="true" :buttonIf="false"
|
|
|
- :forParameter="{ key: 'id', label: 'shortName', value: 'cnName' }"
|
|
|
- @remoteMethod="getBcorpsListfun($event, 'corpCnName')"
|
|
|
- @corpChange="corpChange($event, 'corpCnName', row, 'D')"
|
|
|
- @corpFocus="getBcorpsListfun($event, 'corpCnName')">
|
|
|
+ <search-query v-if="row.edit" :datalist="corpCnNameData" :selectValue="row.shortName" :filterable="true"
|
|
|
+ :clearable="true" :remote="true" :buttonIf="false"
|
|
|
+ :forParameter="{ key: 'id', label: 'shortName', value: 'shortName' }"
|
|
|
+ @remoteMethod="getBcorpsListfun($event, 'shortName')"
|
|
|
+ @corpChange="corpChange($event, 'shortName', row, 'D')"
|
|
|
+ @corpFocus="getBcorpsListfun($event, 'shortName')">
|
|
|
</search-query>
|
|
|
- <span v-else style="color: #1e9fff" @click="corpClick(row)">{{ getKeyName(row.corpCnName) }}</span>
|
|
|
+ <span v-else style="color: #1e9fff" @click="corpClick(row)">{{ row.shortName }}</span>
|
|
|
</template>
|
|
|
<template slot="feeCnName" slot-scope="{ row }">
|
|
|
<search-query v-if="row.edit" :datalist="feeCnNameData" :selectValue="row.feeCnName" :filterable="true"
|
|
@@ -216,14 +216,14 @@
|
|
|
<span>{{ row.accStatus ? '是' : '否' }}</span>
|
|
|
</template>
|
|
|
<template slot="corpCnName" slot-scope="{ row }">
|
|
|
- <search-query v-if="row.edit" :datalist="corpCnNameData" :selectValue="row.corpCnName"
|
|
|
- :filterable="true" :clearable="true" :remote="true" :buttonIf="false"
|
|
|
- :forParameter="{ key: 'id', label: 'shortName', value: 'cnName' }"
|
|
|
- @remoteMethod="getBcorpsListfun($event, 'corpCnName')"
|
|
|
- @corpChange="corpChange($event, 'corpCnName', row, 'C')"
|
|
|
- @corpFocus="getBcorpsListfun($event, 'corpCnName')">
|
|
|
+ <search-query v-if="row.edit" :datalist="corpCnNameData" :selectValue="row.shortName" :filterable="true"
|
|
|
+ :clearable="true" :remote="true" :buttonIf="false"
|
|
|
+ :forParameter="{ key: 'id', label: 'shortName', value: 'shortName' }"
|
|
|
+ @remoteMethod="getBcorpsListfun($event, 'shortName')"
|
|
|
+ @corpChange="corpChange($event, 'shortName', row, 'C')"
|
|
|
+ @corpFocus="getBcorpsListfun($event, 'shortName')">
|
|
|
</search-query>
|
|
|
- <span v-else style="color: #1e9fff" @click="corpClick(row)">{{ getKeyName(row.corpCnName) }}</span>
|
|
|
+ <span v-else style="color: #1e9fff" @click="corpClick(row)">{{ row.shortName }}</span>
|
|
|
</template>
|
|
|
<template slot="feeCnName" slot-scope="{ row }">
|
|
|
<search-query v-if="row.edit" :datalist="feeCnNameData" :selectValue="row.feeCnName" :filterable="true"
|
|
@@ -294,20 +294,20 @@
|
|
|
</template>
|
|
|
</avue-crud>
|
|
|
</el-card>
|
|
|
+ <avue-crud id="out-table" class="box-card" :header-cell-class-name="headerClassName" ref="crud" :row-style="{ height: '20px' }" :data="assemblyForm.feeCenterAmendList" :option="amendOption"></avue-crud>
|
|
|
+ <avue-crud id="out-table" class="box-card" :header-cell-class-name="headerClassName" ref="crud" :row-style="{ height: '20px' }" :option="sumOption" :data="sumData"></avue-crud>
|
|
|
<!--有admin 显示,有收和付各一个也显示出来-->
|
|
|
<div v-if="roleName.indexOf('admin') != -1 || ((roleName.indexOf('应收修改') != -1 || roleName.indexOf('应收查看') != -1) && (roleName.indexOf('应付修改') != -1 || roleName.indexOf('应付查看') != -1))"
|
|
|
style="display: flex;align-items: center;justify-content: space-around">
|
|
|
<div style="width: 30%">
|
|
|
<div class="bottomFlex" style="justify-content: space-around">
|
|
|
- <div style="text-align: center">
|
|
|
- <div class="weightfont">¥</div>
|
|
|
- <div>CNY</div>
|
|
|
- </div>
|
|
|
<div>
|
|
|
<div style="color: #81B337">
|
|
|
<span>应收:</span>
|
|
|
<span class="weightnum">¥{{ assemblyForm.amountDr }}元</span>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
<div style="color: #6BBCD1">
|
|
|
<span>应付:</span>
|
|
|
<span class="weightnum">¥{{ assemblyForm.amountCr }}元</span>
|
|
@@ -321,15 +321,13 @@
|
|
|
</div>
|
|
|
<div style="width: 30%">
|
|
|
<div class="bottomFlex" style="justify-content: space-around">
|
|
|
- <div style="text-align: center">
|
|
|
- <div class="weightfont">$</div>
|
|
|
- <div>USD</div>
|
|
|
- </div>
|
|
|
<div>
|
|
|
<div style="color: #81B337">
|
|
|
<span>应收:</span>
|
|
|
<span class="weightnum">${{ assemblyForm.amountDrUsd }}元</span>
|
|
|
</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
<div style="color: #6BBCD1">
|
|
|
<span>应付:</span>
|
|
|
<span class="weightnum">${{ assemblyForm.amountCrUsd }}元</span>
|
|
@@ -343,15 +341,14 @@
|
|
|
</div>
|
|
|
<div style="width: 30%">
|
|
|
<div class="bottomFlex" style="justify-content: space-around">
|
|
|
- <div style="text-align: center">
|
|
|
- <div class="weightfont">¥</div>
|
|
|
- <div>CNY合计</div>
|
|
|
- </div>
|
|
|
<div>
|
|
|
<div style="color: #81B337">
|
|
|
<span>应收:</span>
|
|
|
<span class="weightnum">¥{{ assemblyForm.amountDrLoc }}元</span>
|
|
|
</div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
<div style="color: #6BBCD1">
|
|
|
<span>应付:</span>
|
|
|
<span class="weightnum">¥{{ assemblyForm.amountCrLoc }}元</span>
|
|
@@ -526,6 +523,214 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ amendOption: {
|
|
|
+ border: true,
|
|
|
+ align: 'center',
|
|
|
+ menuAlign: 'center',
|
|
|
+ menu: false,
|
|
|
+ header: false,
|
|
|
+ addBtn: false,
|
|
|
+ // height: '100px',
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ label: "账单",
|
|
|
+ prop: "accStatus",
|
|
|
+ width: "60",
|
|
|
+ dicData: [
|
|
|
+ {
|
|
|
+ label: '否',
|
|
|
+ value: 0
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '是',
|
|
|
+ value: 1
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "往来单位",
|
|
|
+ prop: "corpCnName",
|
|
|
+ width: "160",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "费用简称",
|
|
|
+ prop: "feeCnName",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "预付/到付",
|
|
|
+ prop: "paymode",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "收/付",
|
|
|
+ prop: "dc",
|
|
|
+ width: "120",
|
|
|
+ dicData: [
|
|
|
+ {
|
|
|
+ label: '收',
|
|
|
+ value: 'D'
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '付',
|
|
|
+ value: 'C'
|
|
|
+ }
|
|
|
+ ],
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "计量单位",
|
|
|
+ prop: "unitNo",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "币种",
|
|
|
+ prop: "curCode",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "汇率",
|
|
|
+ prop: "exrate",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "单价",
|
|
|
+ prop: "price",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "数量",
|
|
|
+ prop: "quantity",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "CNY(含税)",
|
|
|
+ prop: "rmbAmount",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "USD(含税)",
|
|
|
+ prop: "usdAmount",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "CNY(净额)",
|
|
|
+ prop: "rmbAmountNet",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "USD(净额)",
|
|
|
+ prop: "usdAmountNet",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "核算要素",
|
|
|
+ prop: "elementsCnName",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "付费申请金额",
|
|
|
+ prop: "appliedAmount",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "发票申请金额",
|
|
|
+ prop: "appliedInvoiceAmount",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "已开票金额",
|
|
|
+ prop: "uninvoicedAmount",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "已结算金额",
|
|
|
+ prop: "stlTtlAmount",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "备注",
|
|
|
+ prop: "remarks",
|
|
|
+ width: "100",
|
|
|
+ overHidden: true,
|
|
|
+ },
|
|
|
+ // {
|
|
|
+ // label: "税率",
|
|
|
+ // prop: "taxRate",
|
|
|
+ // width: "100",
|
|
|
+ // },
|
|
|
+ // {
|
|
|
+ // label: "附加税率",
|
|
|
+ // prop: "surchargeRate",
|
|
|
+ // width: "100",
|
|
|
+ // },
|
|
|
+ {
|
|
|
+ label: "单价是否含税",
|
|
|
+ prop: "isTax",
|
|
|
+ width: "120",
|
|
|
+ overHidden: true,
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
+ sumData: [],
|
|
|
+ sumOption: {
|
|
|
+ border: true,
|
|
|
+ align: 'center',
|
|
|
+ menuAlign: 'center',
|
|
|
+ menu: false,
|
|
|
+ header: false,
|
|
|
+ addBtn: false,
|
|
|
+ // height: '100px',
|
|
|
+ column: [
|
|
|
+ {
|
|
|
+ label: '客户',
|
|
|
+ prop: 'corpCnName',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: 'RMB应收',
|
|
|
+ prop: 'rmbD',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: 'RMB应付',
|
|
|
+ prop: 'rmbC',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: 'USD应收',
|
|
|
+ prop: 'usdD',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: 'USD应付',
|
|
|
+ prop: 'usdC',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: '合计应收',
|
|
|
+ prop: 'sumD',
|
|
|
+ overHidden: true,
|
|
|
+ }, {
|
|
|
+ label: '合计应付',
|
|
|
+ prop: 'sumC',
|
|
|
+ overHidden: true,
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
reportOption: {
|
|
|
nodeKey: "id",
|
|
|
addBtn: false,
|
|
@@ -1076,6 +1281,56 @@ export default {
|
|
|
this.paymodeWorkDictsfun() // 获取预付/到付数据
|
|
|
},
|
|
|
methods: {
|
|
|
+ getSum() {
|
|
|
+ let sumArr = []
|
|
|
+ let corpArr = []
|
|
|
+ let newArr = []
|
|
|
+ this.sumData = []
|
|
|
+ sumArr = this.assemblyForm.feeCenterListD.concat(this.assemblyForm.feeCenterListC)
|
|
|
+ sumArr.forEach(e => {
|
|
|
+ if (e.shortName) {
|
|
|
+ corpArr.push(e.shortName)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ newArr = [... new Set(corpArr)]
|
|
|
+ newArr.forEach(e => {
|
|
|
+ let rmbD = 0
|
|
|
+ let rmbC = 0
|
|
|
+ let usdD = 0
|
|
|
+ let usdC = 0
|
|
|
+ let sumD = 0
|
|
|
+ let sumC = 0
|
|
|
+ sumArr.forEach(item => {
|
|
|
+ if (e == item.shortName) {
|
|
|
+ if (item.curCode == 'CNY' && item.dc == 'D') {
|
|
|
+ rmbD += Number(item.rmbAmount)
|
|
|
+ sumD += Number(item.rmbAmount)
|
|
|
+ }
|
|
|
+ if (item.curCode == 'CNY' && item.dc == 'C') {
|
|
|
+ rmbC += Number(item.rmbAmount)
|
|
|
+ sumC += Number(item.rmbAmount)
|
|
|
+ }
|
|
|
+ if (item.curCode == 'USD' && item.dc == 'D') {
|
|
|
+ usdD += Number(item.usdAmount)
|
|
|
+ sumD += Number(item.usdAmount) * Number(item.exrate)
|
|
|
+ }
|
|
|
+ if (item.curCode == 'USD' && item.dc == 'C') {
|
|
|
+ usdC += Number(item.usdAmount)
|
|
|
+ sumC += Number(item.usdAmount) * Number(item.exrate)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.sumData.push({
|
|
|
+ corpCnName: e,
|
|
|
+ rmbD: rmbD,
|
|
|
+ rmbC: rmbC,
|
|
|
+ usdD: usdD,
|
|
|
+ usdC: usdC,
|
|
|
+ sumD: sumD,
|
|
|
+ sumC: sumC
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
getKeyName(key) {
|
|
|
const item = this.corpCnNameData.find(item => item.cnName === key);
|
|
|
return item ? item.shortName : key;
|
|
@@ -1702,14 +1957,18 @@ export default {
|
|
|
},
|
|
|
// 客户的回调
|
|
|
async corpChange(value, name, row, dc) {
|
|
|
- if (name == 'corpCnName') {
|
|
|
+ if (name == 'shortName') {
|
|
|
+ console.log(value, name)
|
|
|
if (!value) {
|
|
|
+ this.$set(row, 'shortName', '')
|
|
|
this.$set(row, 'corpCnName', '')
|
|
|
this.$set(row, 'corpEnName', '')
|
|
|
this.$set(row, 'corpId', '')
|
|
|
}
|
|
|
for (let item of this.corpCnNameData) {
|
|
|
- if (item.cnName == value) {
|
|
|
+ if (item.shortName == value) {
|
|
|
+ console.log(item)
|
|
|
+ this.$set(row, 'shortName', item.shortName)
|
|
|
this.$set(row, 'corpCnName', item.cnName)
|
|
|
this.$set(row, 'corpEnName', item.enName)
|
|
|
this.$set(row, 'corpId', item.id)
|
|
@@ -2532,6 +2791,26 @@ export default {
|
|
|
},
|
|
|
|
|
|
},
|
|
|
+ watch: {
|
|
|
+ // 监听业务类型 如果不是分单 可以编辑分单号
|
|
|
+ 'assemblyForm.feeCenterListD': {
|
|
|
+ // 执行方法
|
|
|
+ handler(oldValue, newValue) {
|
|
|
+ this.getSum()
|
|
|
+ },
|
|
|
+ deep: true, // 深度监听
|
|
|
+ immediate: true // 第一次改变就执行
|
|
|
+ },
|
|
|
+ // 监听箱信息数据 箱信息中有温度 自动切换 冻货
|
|
|
+ 'assemblyForm.feeCenterListC': {
|
|
|
+ // 执行方法
|
|
|
+ handler(oldValue, newValue) {
|
|
|
+ this.getSum()
|
|
|
+ },
|
|
|
+ deep: true, // 深度监听
|
|
|
+ immediate: true // 第一次改变就执行,
|
|
|
+ }
|
|
|
+ },
|
|
|
}
|
|
|
</script>
|
|
|
|