Quellcode durchsuchen

回滚成本分配表到上一版本

fenghaifu vor 2 Wochen
Ursprung
Commit
dc415fe0b9
1 geänderte Dateien mit 54 neuen und 67 gelöschten Zeilen
  1. 54 67
      src/views/reportForms/cost-allocation-table.vue

+ 54 - 67
src/views/reportForms/cost-allocation-table.vue

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