|
|
@@ -445,6 +445,7 @@ export default {
|
|
|
fabricCost:'',//保存表头面料成本(¥)
|
|
|
color2:0,
|
|
|
fileList:[],
|
|
|
+ fileName: '',
|
|
|
url: {
|
|
|
list: '/sys/user/list',
|
|
|
importExcelUrl: 'cost/syCostAllocation/addFile' ,// 导入
|
|
|
@@ -466,6 +467,8 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 备注 blur 事件
|
|
|
+ changeContainerNumber() {},
|
|
|
// 【计划单号】 搜索
|
|
|
onSearch(data) {
|
|
|
this.$nextTick(() => {
|
|
|
@@ -490,14 +493,13 @@ export default {
|
|
|
seachPlanNum({ plannum: this.detailsPlanNum.planNum, type: data }).then(res => {
|
|
|
if (res.success) {
|
|
|
this.PrintButton = false
|
|
|
- this.loading = false
|
|
|
- this.detailsPlanNum = res.result //所有详情
|
|
|
- if(Number(this.detailsPlanNum.shortseveral)<0){
|
|
|
- this.detailsPlanNum.shortseveral = 0
|
|
|
- this.detailsPlanNum.shortvalue = 0
|
|
|
+ var result = res.result
|
|
|
+ if(Number(result.shortseveral)<0){
|
|
|
+ result.shortseveral = 0
|
|
|
+ result.shortvalue = 0
|
|
|
}
|
|
|
//表头-附件列表
|
|
|
- var fileList = (this.detailsPlanNum.attachs!==''&&this.detailsPlanNum.attachs)?this.detailsPlanNum.attachs.split(","):[]
|
|
|
+ var fileList = (result.attachs!==''&&result.attachs)?result.attachs.split(","):[]
|
|
|
this.fileList = []
|
|
|
if(fileList.length!==0){
|
|
|
fileList.map(item=>{
|
|
|
@@ -509,22 +511,36 @@ export default {
|
|
|
})
|
|
|
})
|
|
|
}
|
|
|
- this.accidentListData = res.result.syCostAllocationAccidentList //事故单
|
|
|
+ // 事故单数据去重,避免 rowKey 重复导致 Vue 报错
|
|
|
+ var accidentList = result.syCostAllocationAccidentList || []
|
|
|
+ var seen = {}
|
|
|
+ this.accidentListData = accidentList.filter(item => {
|
|
|
+ if (seen[item.id]) return false
|
|
|
+ seen[item.id] = true
|
|
|
+ return true
|
|
|
+ })
|
|
|
this.accidentCalculation(this.accidentListData) //计算事故单美元金额和事故单人民币金额
|
|
|
- this.costPayData = res.result.syCostAllocationCostpayList //支出费用
|
|
|
+ this.costPayData = result.syCostAllocationCostpayList || [] //支出费用
|
|
|
var num = 0
|
|
|
this.costPayData.map(item =>{
|
|
|
item.id = num + 1
|
|
|
num += 1
|
|
|
})
|
|
|
+ // ===== 先设置 tabs 子组件数据,确保 detailsPlanNum 赋值触发渲染时数据已就位 =====
|
|
|
// tabs 名称集合
|
|
|
- this.$refs.unitTabs.tabNameList = res.result.processUnit.split(',')
|
|
|
+ this.$refs.unitTabs.tabNameList = result.processUnit.split(',')
|
|
|
//所有tabs数据
|
|
|
- this.$refs.unitTabs.tabsAllData = res.result.processUnitList
|
|
|
-
|
|
|
+ this.$refs.unitTabs.tabsAllData = result.processUnitList
|
|
|
// 页面打开加载的数据
|
|
|
- var oneData = this.$refs.unitTabs.tabsAllData[0]
|
|
|
- this.$refs.unitTabs.fabData = oneData.syCostAllocationFabricList
|
|
|
+ var oneData = this.$refs.unitTabs.tabsAllData[0] || {}
|
|
|
+ this.$refs.unitTabs.fabData = oneData.syCostAllocationFabricList || []
|
|
|
+ this.$refs.unitTabs.ingData = oneData.syCostAllocationIngredientList || []
|
|
|
+ this.$refs.unitTabs.shipData = oneData.syCostAllocationShipdetail || []
|
|
|
+ var shipDetail = oneData.syCostAllocationShipdetail || []
|
|
|
+
|
|
|
+ // ===== 用局部变量完成所有计算,最后一次性赋值 detailsPlanNum,避免中途触发渲染 =====
|
|
|
+ var dpn = result
|
|
|
+
|
|
|
var all = 0,//面料sheet-转入成本总计
|
|
|
allYu = 0//面料sheet-余下数量成本总计
|
|
|
this.$refs.unitTabs.fabData.map(item=>{
|
|
|
@@ -536,53 +552,47 @@ export default {
|
|
|
all+=Number(item.transferCost)
|
|
|
}
|
|
|
})
|
|
|
- this.fabricCost =res.result.fabriccostIncludestax
|
|
|
- this.detailsPlanNum.fabriccostIncludestax = (all+Number(this.detailsPlanNum.fabriccostIncludestax)-allYu).toFixed(2) // 表头面料成本(¥)
|
|
|
- // this.detailsPlanNum.fabriccostIncludestax = (Number(this.detailsPlanNum.fabriccostIncludestax)-allYu).toFixed(2) // 表头面料成本(¥)
|
|
|
- // this.detailsPlanNum.fabriccostIncludestaxUsd = (Number(this.detailsPlanNum.fabriccostIncludestax)/(1+(Number(this.detailsPlanNum.taxrate)/100))/this.detailsPlanNum.exchangeRate).toFixed(2)//表头面料成本($)
|
|
|
- // this.detailsPlanNum.fabriccostIncludestaxUsd = (Number(this.detailsPlanNum.fabriccostIncludestaxUsd)).toFixed(2)//表头面料成本($)
|
|
|
- var fabriccostIncludestaxUsd1=this.detailsPlanNum.fabriccostIncludestaxUsd
|
|
|
- var fabriccostNotincludestax1=this.detailsPlanNum.fabriccostNotincludestax
|
|
|
- this.detailsPlanNum.fabriccostIncludestaxUsd = (Number(this.detailsPlanNum.fabriccostIncludestax)/(1+(Number(this.detailsPlanNum.taxrate)/100)) /this.detailsPlanNum.exchangeRate).toFixed(2)//表头面料成本($)
|
|
|
- this.detailsPlanNum.fabriccostNotincludestax = (Number(this.detailsPlanNum.fabriccostIncludestax)/(1+(Number(this.detailsPlanNum.taxrate)/100) )).toFixed(2)//表头-面料不含税成本(¥)
|
|
|
- console.log('ustype '+this.detailsPlanNum.usType)
|
|
|
- console.log('fabriccostIncludestaxUsd '+fabriccostIncludestaxUsd1)
|
|
|
- console.log('fabriccostNotincludestax '+fabriccostNotincludestax1)
|
|
|
- if(this.detailsPlanNum.usType=="1"){
|
|
|
- this.detailsPlanNum.fabriccostIncludestaxUsd = fabriccostIncludestaxUsd1//表头面料成本($)
|
|
|
- this.detailsPlanNum.fabriccostNotincludestax = fabriccostNotincludestax1//表头面料成本($)
|
|
|
+ this.fabricCost =dpn.fabriccostIncludestax
|
|
|
+ dpn.fabriccostIncludestax = (all+Number(dpn.fabriccostIncludestax)-allYu).toFixed(2) // 表头面料成本(¥)
|
|
|
+ var fabriccostIncludestaxUsd1=dpn.fabriccostIncludestaxUsd
|
|
|
+ var fabriccostNotincludestax1=dpn.fabriccostNotincludestax
|
|
|
+ dpn.fabriccostIncludestaxUsd = (Number(dpn.fabriccostIncludestax)/(1+(Number(dpn.taxrate)/100)) /dpn.exchangeRate).toFixed(2)//表头面料成本($)
|
|
|
+ dpn.fabriccostNotincludestax = (Number(dpn.fabriccostIncludestax)/(1+(Number(dpn.taxrate)/100) )).toFixed(2)//表头-面料不含税成本(¥)
|
|
|
+ if(dpn.usType=="1"){
|
|
|
+ dpn.fabriccostIncludestaxUsd = fabriccostIncludestaxUsd1//表头面料成本($)
|
|
|
+ dpn.fabriccostNotincludestax = fabriccostNotincludestax1//表头面料成本($)
|
|
|
}
|
|
|
- this.detailsPlanNum.usType="1"
|
|
|
- this.$refs.unitTabs.ingData = oneData.syCostAllocationIngredientList //辅料sheet数据源
|
|
|
- this.$refs.unitTabs.shipData = oneData.syCostAllocationShipdetail //发运明细sheet数据源
|
|
|
- this.detailsPlanNum.outdata = oneData.syCostAllocationShipdetail.length!==0?oneData.syCostAllocationShipdetail[0].outdata:'' //表头-出运日期
|
|
|
- this.addAmountIng(oneData.syCostAllocationIngredientList) //辅料sheet合计行
|
|
|
+ dpn.usType="1"
|
|
|
+ dpn.outdata = shipDetail.length > 0 ? shipDetail[0].outdata : '' //表头-出运日期
|
|
|
+ this.addAmountIng(oneData.syCostAllocationIngredientList || []) //辅料sheet合计行
|
|
|
this.addAmountCostPay(this.costPayData) //费用支出合计行
|
|
|
this.addAccident(this.accidentListData)//事故单合计行
|
|
|
- this.calculation(oneData.syCostAllocationShipdetail) //出运明细合计行
|
|
|
+ this.calculation(shipDetail) //出运明细合计行
|
|
|
//合计中面料相关金额
|
|
|
var s=0
|
|
|
- oneData.syCostAllocationFabricList.map(item=>{
|
|
|
+ var fabricList = oneData.syCostAllocationFabricList || []
|
|
|
+ fabricList.map(item=>{
|
|
|
s+=Number(item.transferCost)
|
|
|
})
|
|
|
- this.$refs.unitTabs.sumInfo.fabricAmount = (this.detailsPlanNum.fabriccostIncludestax!==''&&this.detailsPlanNum.fabriccostIncludestax)?(Number(this.detailsPlanNum.fabriccostIncludestax)).toFixed(2):'' //合计中的面料总额
|
|
|
- this.$refs.unitTabs.sumInfo.fabricExcludTax =(this.detailsPlanNum.fabriccostNotincludestax!==''&&this.detailsPlanNum.fabriccostNotincludestax)?(Number(this.detailsPlanNum.fabriccostNotincludestax)).toFixed(2):''//合计中的不含税面料总额
|
|
|
+ this.$refs.unitTabs.sumInfo.fabricAmount = (dpn.fabriccostIncludestax!==''&&dpn.fabriccostIncludestax)?(Number(dpn.fabriccostIncludestax)).toFixed(2):'' //合计中的面料总额
|
|
|
+ this.$refs.unitTabs.sumInfo.fabricExcludTax =(dpn.fabriccostNotincludestax!==''&&dpn.fabriccostNotincludestax)?(Number(dpn.fabriccostNotincludestax)).toFixed(2):''//合计中的不含税面料总额
|
|
|
//合计中辅料相关金额
|
|
|
var s = 0,
|
|
|
v =0,
|
|
|
t=0,
|
|
|
u=0
|
|
|
- oneData.syCostAllocationIngredientList.map(item=>{
|
|
|
+ var ingList = oneData.syCostAllocationIngredientList || []
|
|
|
+ ingList.map(item=>{
|
|
|
s+=item.priceExcludingtax?Number(item.priceExcludingtax):0,
|
|
|
v+=item.rmbAmount?Number(item.rmbAmount):0
|
|
|
t+=item.transferCost?Number(item.transferCost):0
|
|
|
u+=item.usdAmount?Number(item.usdAmount):0
|
|
|
})
|
|
|
this.$refs.unitTabs.sumInfo.ingAmount =((v/2)+(t/2)).toFixed(2)//辅料金额合计
|
|
|
- this.$refs.unitTabs.sumInfo.ingExcludAmount = (((s/2)+(t/2)/(1+(Number(this.detailsPlanNum.taxrate)/100)))).toFixed(2)//合计sheet辅料不含税金额合计
|
|
|
- this.detailsPlanNum.excipiencostNotincludestax = ( this.$refs.unitTabs.sumInfo.ingExcludAmount==''|| !this.$refs.unitTabs.sumInfo.ingExcludAmount)?0:Number(this.$refs.unitTabs.sumInfo.ingExcludAmount).toFixed(2)//表头辅料料不含税成本
|
|
|
- this.detailsPlanNum.excipiencostIncludestaxUsd = ((u/2)+(t/2)/1.13/(Number(this.detailsPlanNum.exchangeRate))).toFixed(2)
|
|
|
- this.detailsPlanNum.excipiencostIncludestax = ( this.$refs.unitTabs.sumInfo.ingAmount ==''|| ! this.$refs.unitTabs.sumInfo.ingAmount )?0:Number( this.$refs.unitTabs.sumInfo.ingAmount ).toFixed(2)//表头辅料成本(¥)
|
|
|
+ this.$refs.unitTabs.sumInfo.ingExcludAmount = (((s/2)+(t/2)/(1+(Number(dpn.taxrate)/100)))).toFixed(2)//合计sheet辅料不含税金额合计
|
|
|
+ dpn.excipiencostNotincludestax = ( this.$refs.unitTabs.sumInfo.ingExcludAmount==''|| !this.$refs.unitTabs.sumInfo.ingExcludAmount)?0:Number(this.$refs.unitTabs.sumInfo.ingExcludAmount).toFixed(2)//表头辅料料不含税成本
|
|
|
+ dpn.excipiencostIncludestaxUsd = ((u/2)+(t/2)/1.13/(Number(dpn.exchangeRate))).toFixed(2)
|
|
|
+ dpn.excipiencostIncludestax = ( this.$refs.unitTabs.sumInfo.ingAmount ==''|| ! this.$refs.unitTabs.sumInfo.ingAmount )?0:Number( this.$refs.unitTabs.sumInfo.ingAmount ).toFixed(2)//表头辅料成本(¥)
|
|
|
//合计中出运明细相关金额
|
|
|
var s =0,
|
|
|
v = 0,
|
|
|
@@ -590,7 +600,7 @@ export default {
|
|
|
b = 0,
|
|
|
f=0,
|
|
|
e=0
|
|
|
- oneData.syCostAllocationShipdetail.map(item=>{
|
|
|
+ shipDetail.map(item=>{
|
|
|
s+=Number(item.exportPrice)
|
|
|
v+=Number(item.shipQuantity)
|
|
|
d+=Number(item.processCost)
|
|
|
@@ -601,24 +611,26 @@ export default {
|
|
|
|
|
|
})
|
|
|
this.$refs.unitTabs.sumInfo.exportPriceUSD = (s/2).toFixed(2)//出运美元外销总价
|
|
|
- this.detailsPlanNum.usdTotalexportprice = this.$refs.unitTabs.sumInfo.exportPriceUSD //表头-外销总价($)
|
|
|
+ dpn.usdTotalexportprice = this.$refs.unitTabs.sumInfo.exportPriceUSD //表头-外销总价($)
|
|
|
this.$refs.unitTabs.sumInfo.shipQua =(v/2).toFixed(4)//出货数量合计
|
|
|
this.$refs.unitTabs.sumInfo.shipProcesFees =(d/2).toFixed(2)//出运加工费
|
|
|
this.$refs.unitTabs.sumInfo.exportedAmountRMB =(b/2).toFixed(2)//出运人民币外销金额 f
|
|
|
- this.detailsPlanNum.rmbExportamount = this.$refs.unitTabs.sumInfo.exportedAmountRMB //表头-外销总价(¥)
|
|
|
+ dpn.rmbExportamount = this.$refs.unitTabs.sumInfo.exportedAmountRMB //表头-外销总价(¥)
|
|
|
//调整表头格式
|
|
|
this.adjustingHeader()
|
|
|
- if(oneData.syCostAllocationShipdetail.length!==0&&Number(oneData.syCostAllocationShipdetail[0].procesUnitPriceusd)>0){
|
|
|
+ if(shipDetail.length>0&&Number(shipDetail[0].procesUnitPriceusd)>0){
|
|
|
this.$refs.unitTabs.sumInfo.excludingTaxProcessing =this.$refs.unitTabs.sumInfo.shipProcesFees//出运不含税加工费-合计信息
|
|
|
}else{
|
|
|
- this.$refs.unitTabs.sumInfo.excludingTaxProcessing =( this.$refs.unitTabs.sumInfo.shipProcesFees/(1+(Number(this.detailsPlanNum.taxrate)/100))).toFixed(2)//出运不含税加工费
|
|
|
+ this.$refs.unitTabs.sumInfo.excludingTaxProcessing =( this.$refs.unitTabs.sumInfo.shipProcesFees/(1+(Number(dpn.taxrate)/100))).toFixed(2)//出运不含税加工费
|
|
|
}
|
|
|
- this.detailsPlanNum.rmbProcesscost = this.$refs.unitTabs.sumInfo.excludingTaxProcessing //表头-加工费人民币
|
|
|
- f= Number(this.$refs.unitTabs.sumInfo.excludingTaxProcessing)/Number(this.detailsPlanNum.exchangeRate)
|
|
|
- this.detailsPlanNum.usdProcesscost =e==0?(Number(this.detailsPlanNum.rmbProcesscost)/Number(this.detailsPlanNum.exchangeRate)).toFixed(2):e.toFixed(2)//表头-加工费美元
|
|
|
+ dpn.rmbProcesscost = this.$refs.unitTabs.sumInfo.excludingTaxProcessing //表头-加工费人民币
|
|
|
+ f= Number(this.$refs.unitTabs.sumInfo.excludingTaxProcessing)/Number(dpn.exchangeRate)
|
|
|
+ dpn.usdProcesscost =e==0?(Number(dpn.rmbProcesscost)/Number(dpn.exchangeRate)).toFixed(2):e.toFixed(2)//表头-加工费美元
|
|
|
f=Number(this.$refs.unitTabs.sumInfo.ingAmount)+Number(this.$refs.unitTabs.sumInfo.shipProcesFees)
|
|
|
this.$refs.unitTabs.sumInfo.amountTotal = (Number(this.$refs.unitTabs.sumInfo.fabricAmount)+Number(this.$refs.unitTabs.sumInfo.ingAmount)+Number( this.$refs.unitTabs.sumInfo.shipProcesFees)).toFixed(2)//合计金额
|
|
|
- // this.$set( this.$refs.unitTabs.sumInfo,'amountTotal',(Number(this.$refs.unitTabs.sumInfo.fabricAmount)+Number(this.$refs.unitTabs.sumInfo.ingAmount)+Number( this.$refs.unitTabs.sumInfo.shipProcesFees)).toFixed(2))
|
|
|
+
|
|
|
+ // ===== 所有计算完成,一次性赋值 detailsPlanNum,触发渲染 =====
|
|
|
+ this.detailsPlanNum = dpn
|
|
|
this.pagination = {
|
|
|
total: res.result.total,
|
|
|
current: res.result.current,
|
|
|
@@ -631,7 +643,7 @@ export default {
|
|
|
this.fileList = file
|
|
|
var all = 0,
|
|
|
allYu = 0
|
|
|
- oneData.syCostAllocationFabricList.map(item=>{
|
|
|
+ fabricList.map(item=>{
|
|
|
this.$refs.unitTabs.mList.map(event=>{
|
|
|
if(item.goodsName==event.goodsName){
|
|
|
item.transferCost = event.transferCost
|
|
|
@@ -655,7 +667,7 @@ export default {
|
|
|
this.$refs.unitTabs.sumInfo.fabricAmount=this.detailsPlanNum.fabriccostIncludestax
|
|
|
this.$refs.unitTabs.sumInfo.fabricExcludTax =(this.detailsPlanNum.fabriccostNotincludestax!==''&&this.detailsPlanNum.fabriccostNotincludestax)?(Number(this.detailsPlanNum.fabriccostNotincludestax)).toFixed(2):''//合计中的不含税面料总额
|
|
|
this.$refs.unitTabs.sumInfo.amountTotal = (Number(this.$refs.unitTabs.sumInfo.fabricAmount)+Number(this.$refs.unitTabs.sumInfo.ingAmount)+Number( this.$refs.unitTabs.sumInfo.shipProcesFees)).toFixed(2)//合计金额
|
|
|
- oneData.syCostAllocationIngredientList.map(item=>{
|
|
|
+ ingList.map(item=>{
|
|
|
this.$refs.unitTabs.fList.map(event=>{
|
|
|
if(item.goodsName==event.goodsName){
|
|
|
item.transferCost = event.transferCost
|
|
|
@@ -668,7 +680,7 @@ export default {
|
|
|
v=0,
|
|
|
t=0,
|
|
|
u=0
|
|
|
- oneData.syCostAllocationIngredientList.map(item=>{
|
|
|
+ ingList.map(item=>{
|
|
|
s+=Number(item.priceExcludingtax),
|
|
|
v+=item.rmbAmount?Number(item.rmbAmount):0
|
|
|
t+=item.transferCost?Number(item.transferCost):0
|
|
|
@@ -680,6 +692,7 @@ export default {
|
|
|
this.$refs.unitTabs.sumInfo.ingAmount =((v/2)+(t/2)).toFixed(2)//辅料金额合计
|
|
|
this.detailsPlanNum.excipiencostIncludestax = ( this.$refs.unitTabs.sumInfo.ingAmount ==''|| ! this.$refs.unitTabs.sumInfo.ingAmount )?0:Number( this.$refs.unitTabs.sumInfo.ingAmount ).toFixed(2)//表头辅料成本(¥)
|
|
|
}
|
|
|
+ this.loading = false
|
|
|
}else {
|
|
|
this.loading = false
|
|
|
this.$message.error(res.message);
|