|
|
@@ -110,57 +110,62 @@
|
|
|
<div class="invoice-btob-wrapper-middle-title">{{item.myEnterprise && item.myEnterprise.enName}}</div>
|
|
|
</div>
|
|
|
<div class="invoice-btob-wrapper-middle">
|
|
|
- <div v-if="item.thisMonthCount && item.thisMonthCount.length > 0">
|
|
|
+ <div>
|
|
|
<span class="inline-block" style="vertical-align: top">本期应收:</span>
|
|
|
<div class="inline-block" style="vertical-align: top" >
|
|
|
- <div v-for="count in item.thisMonthCount" v-if="count.amount > 0">
|
|
|
- <span>{{count.currency}}:{{count.amount | computeNum(2)}}</span>
|
|
|
+ <div v-for="count in item.amountDetailList">
|
|
|
+ <span v-if="count.thisPeriodAmount > 0">{{count.currency}}:{{count.thisPeriodAmount | computeNum(2)}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-else><span>本期应收:0</span></div>
|
|
|
|
|
|
- <div v-if="item.thisMonthDoneCount && item.thisMonthDoneCount.length > 0">
|
|
|
- <span class="inline-block" style="vertical-align: top">本期已对账:</span>
|
|
|
+ <div>
|
|
|
+ <span class="inline-block" style="vertical-align: top">本期发货:</span>
|
|
|
<div class="inline-block" style="vertical-align: top" >
|
|
|
- <div v-for="count in item.thisMonthDoneCount" v-if="count.amount > 0">
|
|
|
- <span>{{count.currency}}:{{count.amount | computeNum(2)}}</span>
|
|
|
+ <div v-for="count in item.amountDetailList">
|
|
|
+ <span v-if="count.thisPeriodSendQty > 0">{{count.currency}}:{{count.thisPeriodSendQty | computeNum(2)}}</span>
|
|
|
+ <span v-else>{{count.currency}}:暂无数据</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-else><span>本期已对账:0</span></div>
|
|
|
-
|
|
|
|
|
|
- <div v-if="item.thisMonthTodoCount && item.thisMonthTodoCount.length > 0">
|
|
|
+ <div>
|
|
|
<span class="inline-block" style="vertical-align: top">本期未对账:</span>
|
|
|
<div class="inline-block" style="vertical-align: top" >
|
|
|
- <div v-for="count in item.thisMonthTodoCount" v-if="count.amount > 0">
|
|
|
- <span>{{count.currency}}:{{count.amount | computeNum(2)}}</span>
|
|
|
+ <div v-for="count in item.amountDetailList">
|
|
|
+ <span v-if="count.thisPeriodTodoAmount > 0">{{count.currency}}:{{count.thisPeriodTodoAmount | computeNum(2)}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-else><span>本期未对账:0</span></div>
|
|
|
|
|
|
- <!--<div v-if="item.apCheckAmounts && item.apCheckAmounts.length > 0">-->
|
|
|
- <!--<span class="inline-block" style="vertical-align: top">本月已收:</span>-->
|
|
|
- <!--<div class="inline-block" style="vertical-align: top" >-->
|
|
|
- <!--<div v-for="count in item.apCheckAmounts" v-if="count.amount > 0">-->
|
|
|
- <!--<span>{{count.currency}}:{{count.amount | computeNum(2)}}</span>-->
|
|
|
- <!--</div>-->
|
|
|
- <!--</div>-->
|
|
|
- <!--</div>-->
|
|
|
- <!--<div v-else><span>本月已收:0</span></div>-->
|
|
|
+ <div>
|
|
|
+ <span class="inline-block" style="vertical-align: top">本期已对账:</span>
|
|
|
+ <div class="inline-block" style="vertical-align: top" >
|
|
|
+ <div v-for="count in item.amountDetailList">
|
|
|
+ <span v-if="count.thisPeriodDoneAmount > 0">{{count.currency}}:{{count.thisPeriodDoneAmount | computeNum(2)}}</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
+ <div>
|
|
|
+ <span class="inline-block" style="vertical-align: top">本期已收:</span>
|
|
|
+ <div class="inline-block" style="vertical-align: top" >
|
|
|
+ <div v-for="count in item.amountDetailList">
|
|
|
+ <span v-if="count.thisPeriodReceipt > 0">{{count.currency}}:{{count.thisPeriodReceipt | computeNum(2)}}</span>
|
|
|
+ <span v-else>{{count.currency}}:暂无数据</span>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
|
|
|
- <div v-if="item.totalCount && item.totalCount.length > 0">
|
|
|
+ <div>
|
|
|
<span class="inline-block" style="vertical-align: top">应收总额:</span>
|
|
|
<div class="inline-block" style="vertical-align: top" >
|
|
|
- <div v-for="count in item.totalCount" v-if="count.amount > 0">
|
|
|
- <span>{{count.currency}}:{{count.amount | computeNum(2)}}</span>
|
|
|
+ <div v-for="count in item.amountDetailList">
|
|
|
+ <span v-if="count.totalAmount > 0">{{count.currency}}:{{count.totalAmount | computeNum(2)}}</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-else><span>应收总额:0</span></div>
|
|
|
+
|
|
|
</div>
|
|
|
<div class="invoice-btob-wrapper-middle" @click="showApcheckList(item)">
|
|
|
<div class="middle_btn">明细</div>
|
|
|
@@ -216,58 +221,67 @@
|
|
|
{{isShowApcheckList.startTime}} ~ {{isShowApcheckList.endTime}}
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div style="height: 0.2rem; width: 100%;"></div>
|
|
|
<!--<div class="timeLine" @click="ShowMonthChoose('inside')" style="text-indent: 0.12rem">{{isShowApcheckList.thisMonth}}<i class="iconfont icon-arrow-down" style="font-size: 0.3rem"></i></div>-->
|
|
|
<!--<input type="month" v-model="isShowApcheckList.thisMonth" @change="showApcheckList()"/>-->
|
|
|
</div>
|
|
|
<div class="btobapCheck-modal">
|
|
|
+ <div style="height: 0.2rem; width: 100%;"></div>
|
|
|
<div class="choosescreen-result">
|
|
|
<div v-if="isShowApcheckList.list.length > 0">
|
|
|
- <div class="clearfix choosescreen-result-list" v-for="(item, index) in isShowApcheckList.list">
|
|
|
- <div>
|
|
|
- <div class="choosescreen-result-list-content">
|
|
|
- <div style="border-bottom: 1px solid #D3D3D3;padding-bottom: 0.2rem">
|
|
|
- <span class="item inline-block" @click="checkItem(item, index)" v-show="!isShowApcheckList.showApcheck && !item.haveChecked">
|
|
|
- <label class="mobile-cart-check" :class="{active: item.check}"></label>
|
|
|
- </span>
|
|
|
- <div class="inline-block" style="margin-left: 0.15rem">
|
|
|
- <div class="OverHidden" :class="{'div62': item.haveChecked}">采购单:<span>{{item.ordercode}}</span></div>
|
|
|
- <div class="OverHidden" :class="{'div62': item.haveChecked}">发货单:<span>{{item.sendcode}}</span></div>
|
|
|
- <div class="OverHidden">单据日期:<span>{{item.pidate | time}}</span></div>
|
|
|
- <div class="OverHidden" :class="{'div62': item.haveChecked}">验收单:<span>{{item.inoutno}}</span></div>
|
|
|
- <!--<div class="OverHidden">序号:<span>{{index + 1}}</span></div>-->
|
|
|
- <!--<div class="OverHidden">类型:<span>{{item.piclass}}</span></div>-->
|
|
|
-
|
|
|
- </div>
|
|
|
+ <div class="choosescreen-result-lists" v-for="(type, key) in isShowApcheckList.list">
|
|
|
+ <div class="choosescreen-details">
|
|
|
+ <span class="item inline-block" @click="checkItem(type, key)" v-show="!isShowApcheckList.showApcheck && !type.allChecked">
|
|
|
+ <label class="mobile-cart-check" :class="{active: type.check}"></label>
|
|
|
+ </span>
|
|
|
+ <div class="inline-block" style="margin-left: 0.15rem">
|
|
|
+ <div class="OverHidden" style="font-weight: bold;">订单:<span style="color:#3f84f6;">{{type.orderCode}}</span></div>
|
|
|
</div>
|
|
|
- <div style="padding-top: 0.2rem">
|
|
|
- <span class="item inline-block" style="opacity: 0" v-show="!isShowApcheckList.showApcheck && !item.haveChecked">
|
|
|
- <label class="mobile-cart-check"></label>
|
|
|
- </span>
|
|
|
- <div class="inline-block" style="margin-left: 0.15rem">
|
|
|
- <div class="OverHidden" :class="{'div62': item.haveChecked}">物料名称:<span>{{item.prodtitle}}</span></div>
|
|
|
- <div class="OverHidden" :class="{'div62': item.haveChecked}">规格型号:<span>{{item.prodspec}}</span></div>
|
|
|
- <div class="OverHidden" :class="{'div62': item.haveChecked}">发货数量:<span>{{item.qty}}</span></div>
|
|
|
- <div class="OverHidden" :class="{'div62': item.haveChecked}">验收数量:<span>{{item.thischeckqty}}</span></div>
|
|
|
- <div class="OverHidden" :class="{'div62': item.haveChecked}">单价:<span>{{item.currency}}:{{item.orderprice}}</span></div>
|
|
|
- <!--<div class="OverHidden">发货单:<span>{{item.sendcode}}</span></div>-->
|
|
|
- <div class="OverHidden" :class="{'div62': item.haveChecked}">税率:<span>{{item.taxrate}}%</span></div>
|
|
|
- <div class="OverHidden clearfix" :class="{'div62': item.haveChecked}" v-if="item.haveChecked === 1">
|
|
|
- <div class="pull-left">对账人:<span>{{item.recorder}}</span></div>
|
|
|
- <div class="pull-right">已对账</div>
|
|
|
+ </div>
|
|
|
+ <div class="clearfix choosescreen-result-list" v-for="(item, index) in type.details">
|
|
|
+ <div>
|
|
|
+ <div class="choosescreen-result-list-content">
|
|
|
+ <div style="border-bottom: 1px solid #D3D3D3;padding-bottom: 0.2rem">
|
|
|
+ <span class="item inline-block" @click="checkChildItem(item, index, key)" v-show="!isShowApcheckList.showApcheck && !item.haveChecked">
|
|
|
+ <label class="mobile-cart-check" :class="{active: item.check}"></label>
|
|
|
+ </span>
|
|
|
+ <div class="inline-block" style="margin-left: 0.15rem">
|
|
|
+ <div class="OverHidden" :class="{'div62': item.haveChecked}">验收单:<span>{{item.inoutno}}</span></div>
|
|
|
+ <div class="OverHidden" :class="{'div62': item.haveChecked}">发货单:<span>{{item.sendcode}}</span></div>
|
|
|
+ <div class="OverHidden">单据日期:<span>{{item.pidate | time}}</span></div>
|
|
|
+ <!--<div class="OverHidden">序号:<span>{{index + 1}}</span></div>-->
|
|
|
+ <!--<div class="OverHidden">类型:<span>{{item.piclass}}</span></div>-->
|
|
|
+
|
|
|
+ </div>
|
|
|
</div>
|
|
|
- <!--<div class="OverHidden">客户料号:<span>{{item.prodcode}}</span></div>-->
|
|
|
- <!--<div class="OverHidden">金额:<span>{{}}</span></div>-->
|
|
|
+ <div style="padding-top: 0.2rem">
|
|
|
+ <span class="item inline-block" style="opacity: 0" v-show="!isShowApcheckList.showApcheck && !item.haveChecked">
|
|
|
+ <label class="mobile-cart-check"></label>
|
|
|
+ </span>
|
|
|
+ <div class="inline-block" style="margin-left: 0.15rem">
|
|
|
+ <div class="OverHidden" :class="{'div62': item.haveChecked}">物料名称:<span>{{item.prodtitle}}</span></div>
|
|
|
+ <div class="OverHidden" :class="{'div62': item.haveChecked}">规格型号:<span>{{item.prodspec}}</span></div>
|
|
|
+ <div class="OverHidden" :class="{'div62': item.haveChecked}">发货数量:<span>{{item.qty}}</span></div>
|
|
|
+ <div class="OverHidden" :class="{'div62': item.haveChecked}">验收数量:<span>{{item.thischeckqty}}</span></div>
|
|
|
+ <div class="OverHidden" :class="{'div62': item.haveChecked}">单价:<span>{{item.currency}}:{{item.orderprice}}</span></div>
|
|
|
+ <!--<div class="OverHidden">发货单:<span>{{item.sendcode}}</span></div>-->
|
|
|
+ <div class="OverHidden" :class="{'div62': item.haveChecked}">税率:<span>{{item.taxrate}}%</span></div>
|
|
|
+ <div class="OverHidden clearfix" :class="{'div62': item.haveChecked}" v-if="item.haveChecked === 1">
|
|
|
+ <div class="pull-left">对账人:<span>{{item.recorder}}</span></div>
|
|
|
+ <div class="pull-right">已对账</div>
|
|
|
+ </div>
|
|
|
+ <!--<div class="OverHidden">客户料号:<span>{{item.prodcode}}</span></div>-->
|
|
|
+ <!--<div class="OverHidden">金额:<span>{{}}</span></div>-->
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <div class="clearfix" style="border-top:1px solid #D9D9D9;padding: 0 0.15rem;line-height: 0.8rem" >
|
|
|
+ <div class="fl" style="font-size: 0.26rem">小计:</div>
|
|
|
+ <div class="fr" style="color: #FF3208;font-size: 0.26rem">{{item.nowmoney | computeNum(2)}}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div class="clearfix" style="border-top:1px solid #D9D9D9;padding: 0 0.15rem;line-height: 0.8rem" >
|
|
|
- <div class="fl" style="font-size: 0.26rem">小计:</div>
|
|
|
- <div class="fr" style="color: #FF3208;font-size: 0.26rem">{{item.nowmoney | computeNum(2)}}</div>
|
|
|
- </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- </div>
|
|
|
<empty-status
|
|
|
v-else
|
|
|
:text="'暂无对账信息'"
|
|
|
@@ -614,6 +628,7 @@
|
|
|
// 未对账详情
|
|
|
showApcheckList(item) {
|
|
|
this.isShowApcheckList.show = true
|
|
|
+ this.isShowApcheckList.amountDetailList = item.amountDetailList
|
|
|
this.isShowApcheckList.enName = item ? item.myEnterprise.enName : this.isShowApcheckList.enName
|
|
|
this.isShowApcheckList.thisMonth = this.outTimeMonth
|
|
|
this.isShowApcheckList.customerUU = item.myEnterprise.uu
|
|
|
@@ -643,11 +658,14 @@
|
|
|
}
|
|
|
}
|
|
|
this.$http.get('/sale/apCheck/getAllByKeywords', _params).then(res => {
|
|
|
- res.data.details.forEach(item => {
|
|
|
+ res.data.groupList.forEach(item => {
|
|
|
item.check = true
|
|
|
+ item.details.forEach(type => {
|
|
|
+ type.check = true
|
|
|
+ })
|
|
|
})
|
|
|
this.$monthClick = false
|
|
|
- this.isShowApcheckList.list = res.data.details
|
|
|
+ this.isShowApcheckList.list = res.data.groupList
|
|
|
this.$nextTick(() => {
|
|
|
this._initscroll()
|
|
|
})
|
|
|
@@ -660,16 +678,40 @@
|
|
|
fl = false
|
|
|
}
|
|
|
this.isShowApcheckList.list.forEach(item => {
|
|
|
+ item.details.forEach(type => {
|
|
|
+ type.check = fl
|
|
|
+ })
|
|
|
item.check = fl
|
|
|
+ if (!item.check) {
|
|
|
+ fl = false
|
|
|
+ return
|
|
|
+ }
|
|
|
})
|
|
|
},
|
|
|
checkItem(item, index) {
|
|
|
if (item.check) {
|
|
|
item.check = false
|
|
|
+ this.isShowApcheckList.list[index].details.forEach(type => {
|
|
|
+ type.check = false
|
|
|
+ })
|
|
|
} else {
|
|
|
this.$set(this.isShowApcheckList.list[index], 'check', true)
|
|
|
+ this.isShowApcheckList.list[index].details.forEach(type => {
|
|
|
+ type.check = true
|
|
|
+ })
|
|
|
}
|
|
|
},
|
|
|
+ checkChildItem(item, index, key) {
|
|
|
+ let list = this.isShowApcheckList.list[key]
|
|
|
+ let parentChenk = true
|
|
|
+ item.check = !item.check
|
|
|
+ list.details.forEach(type => {
|
|
|
+ if (type.check === false) {
|
|
|
+ parentChenk = false
|
|
|
+ }
|
|
|
+ })
|
|
|
+ list.check = parentChenk
|
|
|
+ },
|
|
|
// 对账按钮
|
|
|
goTopayfor() {
|
|
|
let apCheck = {
|
|
|
@@ -1078,9 +1120,11 @@
|
|
|
allMoney() {
|
|
|
let sum = 0
|
|
|
this.isShowApcheckList.list.forEach(obj => {
|
|
|
- if (obj.check && !obj.haveChecked) {
|
|
|
- sum += obj.nowmoney
|
|
|
- }
|
|
|
+ obj.details.forEach(childObj => {
|
|
|
+ if (childObj.check && !childObj.haveChecked) {
|
|
|
+ sum += childObj.nowmoney
|
|
|
+ }
|
|
|
+ })
|
|
|
})
|
|
|
return sum
|
|
|
},
|
|
|
@@ -1433,6 +1477,11 @@
|
|
|
background: #fff;
|
|
|
margin:0 0 0.2rem;
|
|
|
}
|
|
|
+ .choosescreen-details{
|
|
|
+ background: #fff;
|
|
|
+ border-bottom: 1px solid rgb(211, 211, 211);
|
|
|
+ padding: .2rem;
|
|
|
+ }
|
|
|
.choosescreen-result-list-content {
|
|
|
/*display: inline-block;*/
|
|
|
vertical-align: middle;
|
|
|
@@ -1455,7 +1504,6 @@
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
.timeLine-wrapper {
|
|
|
background: #fff;
|
|
|
border-radius: 0.05rem;
|