|
@@ -159,6 +159,73 @@
|
|
|
<span v-else>{{ row.stlExrate }}</span>
|
|
|
</tempalte>
|
|
|
</avue-crud>
|
|
|
+ <avue-crud id="out-table" class="box-card" :header-cell-class-name="headerClassName" ref="crud"
|
|
|
+ :row-style="{ height: '16px' }" :cell-style="{ padding: '0px' }" :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>
|
|
|
+ <div style="color: #81B337">
|
|
|
+ <span>应收:</span>
|
|
|
+ <span class="weightnum">¥{{ form.amountDr }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div style="color: #6BBCD1">
|
|
|
+ <span>应付:</span>
|
|
|
+ <span class="weightnum">¥{{ form.amountCr }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bottomFlex">
|
|
|
+ <span>利润</span>
|
|
|
+ <span>¥{{ form.amountProfit }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="width: 30%">
|
|
|
+ <div class="bottomFlex" style="justify-content: space-around">
|
|
|
+ <div>
|
|
|
+ <div style="color: #81B337">
|
|
|
+ <span>应收:</span>
|
|
|
+ <span class="weightnum">${{ form.amountDrUsd }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div style="color: #6BBCD1">
|
|
|
+ <span>应付:</span>
|
|
|
+ <span class="weightnum">${{ form.amountCrUsd }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bottomFlex">
|
|
|
+ <span>利润</span>
|
|
|
+ <span>${{ form.amountProfitUsd }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div style="width: 30%">
|
|
|
+ <div class="bottomFlex" style="justify-content: space-around">
|
|
|
+ <div>
|
|
|
+ <div style="color: #81B337">
|
|
|
+ <span>应收:</span>
|
|
|
+ <span class="weightnum">¥{{ form.amountDrLoc }}元</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <div style="color: #6BBCD1">
|
|
|
+ <span>应付:</span>
|
|
|
+ <span class="weightnum">¥{{ form.amountCrLoc }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="bottomFlex">
|
|
|
+ <span>利润</span>
|
|
|
+ <span>¥{{ form.amountProfitLoc }}元</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<el-dialog title="提示" :visible.sync="templateVisible" append-to-body width="70%" :close-on-click-modal="false"
|
|
|
:before-close="handleClose">
|
|
|
<div>
|
|
@@ -232,6 +299,47 @@ export default {
|
|
|
},
|
|
|
data() {
|
|
|
return {
|
|
|
+ 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,
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ },
|
|
|
loading: false,
|
|
|
query: {},
|
|
|
page: {
|
|
@@ -753,13 +861,65 @@ export default {
|
|
|
templateRightData: [],
|
|
|
itemDIds: null,
|
|
|
itemCIds: null,
|
|
|
+ roleName:null,
|
|
|
}
|
|
|
},
|
|
|
async created() {
|
|
|
+ this.roleName = localStorage.getItem('roleName').split(',')
|
|
|
this.optionD = await this.getColumnData(this.getColumnName(392), this.optionDBack);
|
|
|
this.optionC = await this.getColumnData(this.getColumnName(393), this.optionCBack);
|
|
|
},
|
|
|
methods: {
|
|
|
+ getSum() {
|
|
|
+ let sumArr = []
|
|
|
+ let corpArr = []
|
|
|
+ let newArr = []
|
|
|
+ this.sumData = []
|
|
|
+ sumArr = this.form.feeCenterListD.concat(this.form.feeCenterListC)
|
|
|
+ sumArr.forEach(e => {
|
|
|
+ if (e.corpCnName) {
|
|
|
+ corpArr.push(e.corpCnName)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ 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.corpCnName) {
|
|
|
+ if (item.curCode == 'CNY' && item.dc == 'D') {
|
|
|
+ rmbD += Number(item.amount)
|
|
|
+ sumD += Number(item.amount)
|
|
|
+ }
|
|
|
+ if (item.curCode == 'CNY' && item.dc == 'C') {
|
|
|
+ rmbC += Number(item.amount)
|
|
|
+ sumC += Number(item.amount)
|
|
|
+ }
|
|
|
+ if (item.curCode == 'USD' && item.dc == 'D') {
|
|
|
+ usdD += Number(item.amount)
|
|
|
+ sumD += Number(item.amount) * Number(item.exrate)
|
|
|
+ }
|
|
|
+ if (item.curCode == 'USD' && item.dc == 'C') {
|
|
|
+ usdC += Number(item.amount)
|
|
|
+ sumC += Number(item.amount) * Number(item.exrate)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ this.sumData.push({
|
|
|
+ corpCnName: e,
|
|
|
+ rmbD: rmbD,
|
|
|
+ rmbC: rmbC,
|
|
|
+ usdD: usdD,
|
|
|
+ usdC: usdC,
|
|
|
+ sumD: sumD,
|
|
|
+ sumC: sumC
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
// 模板导入
|
|
|
templateExport() {
|
|
|
if (!this.lefttemplate.id) {
|
|
@@ -1449,6 +1609,26 @@ export default {
|
|
|
}
|
|
|
|
|
|
},
|
|
|
+ watch: {
|
|
|
+ // 监听业务类型 如果不是分单 可以编辑分单号
|
|
|
+ 'form.feeCenterListD': {
|
|
|
+ // 执行方法
|
|
|
+ handler(oldValue, newValue) {
|
|
|
+ this.getSum()
|
|
|
+ },
|
|
|
+ deep: true, // 深度监听
|
|
|
+ immediate: true // 第一次改变就执行
|
|
|
+ },
|
|
|
+ // 监听箱信息数据 箱信息中有温度 自动切换 冻货
|
|
|
+ 'form.feeCenterListC': {
|
|
|
+ // 执行方法
|
|
|
+ handler(oldValue, newValue) {
|
|
|
+ this.getSum()
|
|
|
+ },
|
|
|
+ deep: true, // 深度监听
|
|
|
+ immediate: true // 第一次改变就执行,
|
|
|
+ }
|
|
|
+ },
|
|
|
}
|
|
|
</script>
|
|
|
<style>
|
|
@@ -1492,4 +1672,12 @@ export default {
|
|
|
.el-table--small th {
|
|
|
padding: 2px !important;
|
|
|
}
|
|
|
+.bottomFlex {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+}
|
|
|
+.weightnum {
|
|
|
+ font-size: 15px;
|
|
|
+ font-weight: 500;
|
|
|
+}
|
|
|
</style>
|