This commit is contained in:
linfso 2024-08-21 13:51:27 +08:00
parent 44e8630301
commit d33a88a62b
2 changed files with 74 additions and 42 deletions

View File

@ -9,9 +9,9 @@ export function listEmisSettleSubBill(query) {
}) })
} }
export function listEmisCanInvoiceSettleSubBill(query) { export function listHasOpenInvoiceMap(query) {
return request({ return request({
url: '/emis/emisSettleSubBill/listCanInvoice', url: '/emis/emisSettleSubBill/listHasOpenInvoiceMap',
method: 'get', method: 'get',
params: query params: query
}) })

View File

@ -93,12 +93,12 @@
</el-table-column> </el-table-column>
<el-table-column prop="canApplyFee" :label="$t('可开票金额')" align="center" width="100"> <el-table-column prop="canApplyFee" :label="$t('可开票金额')" align="center" width="100">
<template slot-scope="scope"> <template slot-scope="scope">
{{scope.row.billFee}} {{scope.row.canApplyFee}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="openBillMoney" :label="$t('申请开票金额')" align="center" width="120"> <el-table-column prop="openBillMoney" :label="$t('申请开票金额')" align="center" width="120">
<template slot-scope="scope"> <template slot-scope="scope">
<el-input-number :min="0.00" v-model="scope.row.money" placeholder="" :controls="false" :precision="2" @blur="(val)=>handleCalcFeeItem(scope.row)" @keyup.enter.native="handleCalcFeeItem(scope.row)" > <el-input-number :min="0.00" :max="scope.row.canApplyFee" v-model="scope.row.money" placeholder="" :controls="false" :precision="2" @blur="(val)=>handleCalcFeeItem(scope.row)" @keyup.enter.native="handleCalcFeeItem(scope.row)" >
<span slot="suffix">(CNY)</span> <span slot="suffix">(CNY)</span>
</el-input-number> </el-input-number>
</template> </template>
@ -198,7 +198,7 @@
</template> </template>
<script> <script>
import {listEmisSettleSubBill,listEmisCanInvoiceSettleSubBill} from "@/api/emis/emisSettleSubBill"; import {listEmisSettleSubBill,listHasOpenInvoiceMap} from "@/api/emis/emisSettleSubBill";
import { addEmisSettleInvoiceRecord } from "@/api/emis/emisSettleInvoiceRecord"; import { addEmisSettleInvoiceRecord } from "@/api/emis/emisSettleInvoiceRecord";
import CustomerInvoiceInfoPicker from '@/views/emis/EmisBaseTools/CustomerInvoiceInfoPicker.vue'; import CustomerInvoiceInfoPicker from '@/views/emis/EmisBaseTools/CustomerInvoiceInfoPicker.vue';
import { parseTime,genJsSeqNo } from "@/utils/custom"; import { parseTime,genJsSeqNo } from "@/utils/custom";
@ -271,7 +271,6 @@ export default {
this.reset(); this.reset();
this.form.openBillScope='1'; this.form.openBillScope='1';
this.changeOpenBillScope(); this.changeOpenBillScope();
}, },
async handleCalcFeeItem(row){ async handleCalcFeeItem(row){
let totalFee=Number(0); let totalFee=Number(0);
@ -293,7 +292,7 @@ export default {
this.form.applyMoney = totalFee.toFixed(2); this.form.applyMoney = totalFee.toFixed(2);
}, },
changeOpenBillScope(){ async changeOpenBillScope(){
let maxFee=0; let maxFee=0;
// 总可开金额 // 总可开金额
let totalBillFee=0.0; let totalBillFee=0.0;
@ -303,11 +302,23 @@ export default {
this.form.settleBillName=""; this.form.settleBillName="";
this.form.invoiceRelList=[]; this.form.invoiceRelList=[];
this.billList.forEach(async item=>{ let settleBillNoArr = this.billList.map(item=>item.settleBillNo);
let settleBillNoStr=settleBillNoArr.join(",");
let hasOpenMap = {}
let resMap=await listHasOpenInvoiceMap({settleBillNo:settleBillNoStr});
if(resMap.rows&&resMap.rows.length>0){
resMap.rows.forEach(row => {
hasOpenMap[row.billNo] = row.sumMoney
})
}
console.log("===>hasOpenMap==>",hasOpenMap);
for(let i=0;i<this.billList.length;i++){
let item=this.billList[i];
this.form.settleBillNo=this.form.settleBillNo+item.settleBillNo+","; this.form.settleBillNo=this.form.settleBillNo+item.settleBillNo+",";
this.form.settleBillName= this.form.settleBillName+item.settleBillName+","; this.form.settleBillName= this.form.settleBillName+item.settleBillName+",";
totalBillFee=totalBillFee+this.form.openMoneyMax+item.recMoney;
let qParam={ let qParam={
settleBillNo:item.settleBillNo, settleBillNo:item.settleBillNo,
pageNum:1, pageNum:1,
@ -315,23 +326,32 @@ export default {
} }
// 查询子账单 // 查询子账单
let res=await listEmisCanInvoiceSettleSubBill(qParam); let res=await listEmisSettleSubBill(qParam);
console.log("===>=res==>",res) console.log("===>=res==>",res)
if(res.code==200){ if(res.code==200){
res.rows.forEach(itemSubBill=>{ res.rows.forEach(itemSubBill=>{
let relItem={...itemSubBill}; let relItem={...itemSubBill};
relItem.money=itemSubBill.billFee; relItem.money=itemSubBill.billFee;
this.form.invoiceRelList.push(relItem); relItem.canApplyFee=itemSubBill.billFee;
console.log("===>===>",this.form.invoiceRelList) if(itemSubBill.billNo in hasOpenMap){
}); relItem.canApplyFee=relItem.billFee-hasOpenMap[itemSubBill.billNo];
relItem.money=itemSubBill.billFee-hasOpenMap[itemSubBill.billNo];
} }
if(relItem.canApplyFee>0){
this.form.invoiceRelList.push(relItem);
}
}); });
this.form.openMoneyMax=totalBillFee; }
this.form.applyMoney=totalBillFee;
}
this.handleCalcFeeItem();
} }
}else{ }else{
this.form.invoiceRelList=[]; this.form.invoiceRelList=[];
@ -342,6 +362,15 @@ export default {
async addBillToApply(){ async addBillToApply(){
this.form.invoiceRelList=[]; this.form.invoiceRelList=[];
let hasOpenMap = {}
let resMap=await listHasOpenInvoiceMap({settleBillNo:this.form.settleBillNo});
if(resMap.rows&&resMap.rows.length>0){
resMap.rows.forEach(row => {
hasOpenMap[row.billNo] = row.sumMoney
})
}
console.log("===>hasOpenMap==>",hasOpenMap);
// 总可开金额 // 总可开金额
let totalBillFee=0.0; let totalBillFee=0.0;
let qParam={ let qParam={
@ -352,23 +381,26 @@ export default {
} }
// 查询子账单 // 查询子账单
let res=await listEmisCanInvoiceSettleSubBill(qParam); let res=await listEmisSettleSubBill(qParam);
console.log("===>=res==>",res) // console.log("===>=res==>",res)
if(res.code==200){ if(res.code==200){
res.rows.forEach(itemSubBill=>{ let subBillList = res.rows;
for(let i=0;i<subBillList.length;i++){
let itemSubBill=subBillList[i];
let relItem={...itemSubBill}; let relItem={...itemSubBill};
relItem.money=itemSubBill.billFee; relItem.money=itemSubBill.billFee;
relItem.canApplyFee=itemSubBill.billFee;
if(relItem.billNo in hasOpenMap){
relItem.canApplyFee=relItem.billFee-hasOpenMap[itemSubBill.billNo];
relItem.money=relItem.billFee-hasOpenMap[itemSubBill.billNo];
}
if(relItem.canApplyFee>0){
this.form.invoiceRelList.push(relItem); this.form.invoiceRelList.push(relItem);
totalBillFee=totalBillFee+itemSubBill.billFee; }
console.log("===>===>",this.form.invoiceRelList) };
});
this.handleCalcFeeItem(); this.handleCalcFeeItem();
// this.form.openMoneyMax=totalBillFee;
// this.form.applyMoney=totalBillFee;
} }
}, },
deleteFeeItem(row){ deleteFeeItem(row){