zxz 2 years ago
parent
commit
daca18a395

+ 27 - 18
src/views/profitable/cashout.vue

@@ -136,7 +136,7 @@
         <span style="margin-top:5px;margin-left: 10px;" v-if='mode!="暂不分配"'>合计分配:{{amount}}元</span>  
         </div>
         <el-table ref="tableref" v-if='deptBudgetList.purpose=="合同费用"&&deptBudgetList.type=="非粮款"&&mode!="暂不分配"||deptBudgetList.purpose=="库点费用"&&mode!="暂不分配"&&deptBudgetList.flag!="是"' :data="feeDetailsDistributions" style="width: 90%;margin:0 auto;">
-          <el-table-column  width="150" v-if='deptBudgetList.purpose=="合同费用"' prop="date" label="仓库名称" min-width="110">
+          <el-table-column key="1"  width="150" v-if='deptBudgetList.purpose=="合同费用"' prop="date" label="仓库名称" min-width="110">
             <template slot-scope="scope">
               <el-select v-model="scope.row.warehouseName" filterable placeholder="选择仓库" @change="((value)=>{selectware(value, scope.$index)})">
                 <el-option v-for="item in warehouseList" :key="item.warehouseName" :label="item.warehouseName" :value="item.warehouseName"
@@ -152,19 +152,19 @@
               </el-select>
             </template>
           </el-table-column> -->
-          <el-table-column width="200" v-if='deptBudgetList.purpose=="合同费用"' prop="date" label="日期">
+          <el-table-column key="2" width="200" v-if='deptBudgetList.purpose=="合同费用"' prop="date" label="日期">
             <template slot-scope="scope">
                 <el-date-picker @change="((value)=>{selectware(value, scope.$index)})" v-model="scope.row.receiptDocDate" type="date" placeholder="请选择日期"
               value-format="yyyy-MM-dd"   ></el-date-picker>
             </template>
           </el-table-column>
-          <el-table-column width="200" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="日期">
+          <el-table-column key="3" width="200" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="日期">
             <template slot-scope="scope">
                 <el-date-picker @change="((value)=>{receiptDocDatechange(value, scope.$index)})" v-model="scope.row.receiptDocDate" type="date" placeholder="请选择日期"
               value-format="yyyy-MM-dd"   ></el-date-picker>
             </template>
           </el-table-column>
-          <el-table-column v-if='deptBudgetList.purpose=="库点费用"||deptBudgetList.purpose=="合同费用"' prop="date" label="货源">
+          <el-table-column key="4" v-if='deptBudgetList.purpose=="库点费用"||deptBudgetList.purpose=="合同费用"' prop="date" label="货源">
               <template slot-scope="scope">
                 <!-- {{scope.row.goodsourcelist}} -->
                 <!-- <el-select class="goodsource" v-if="scope.row.orderId &&confirmFlag==0" v-model="scope.row.orderId" placeholder="选择货源" @change="((value)=>{selectgoodsSource(value, scope.row,scope.$index)})">
@@ -182,22 +182,22 @@
                 </el-select>
             </template>
           </el-table-column>
-          <el-table-column width="150" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="货名">
+          <el-table-column key="5" width="150" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="货名">
             <template slot-scope="scope">
                <span>{{scope.row.goodsName?scope.row.goodsName:'自动获取'}}</span>
             </template>
           </el-table-column>
-          <el-table-column width="150" prop="inWarehouseWeight" label="入库量(吨)">
+          <el-table-column key="6" width="150" prop="inWarehouseWeight" label="入库量(吨)">
             <template slot-scope="scope">
                <span>{{scope.row.inWarehouseWeight?scope.row.inWarehouseWeight:'自动获取'}}</span>
             </template>
           </el-table-column>
-          <el-table-column width="200" prop="date" label="分配金额(元)">
+          <el-table-column key="7" width="200" prop="date" label="分配金额(元)">
             <template slot-scope="scope">
                 <el-input placeholder="输入费用名称,1-15个字" class="input_css" v-model="scope.row.distributionMoney"></el-input>
             </template>
           </el-table-column>
-          <el-table-column prop="address" label="操作" width="200">
+          <el-table-column key="8" prop="address" label="操作" width="200">
             <template slot-scope="scope">
                 <img class='add' @click='addlist()' src="../../../public/img/add.png" alt="">
                 <img class='del' @click='dellist(scope.row)' src="../../../public/img/del.png" alt="">
@@ -304,7 +304,7 @@
                num += Number(this.feeDetailsDistributions[i].distributionMoney)
              }
            }
-           return num
+           return num.toFixed(2)
          }
        }
     },
@@ -448,9 +448,9 @@
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.amountMoney - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = (this.deptBudgetList.amountMoney - moneyDiff).toFixed(2)
               }
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = (this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
         }
       }
     },
@@ -460,7 +460,9 @@
         if(!this.deptBudgetList.amountMoney&&this.moneys=='按重量自动分配'){
           for (let i = 0; i < this.feeDetailsDistributions.length; i++) {
             if(this.feeDetailsDistributions[i].receiptDocDate==e){
-              this.feeDetailsDistributions[i].receiptDocDate=''
+              // this.feeDetailsDistributions[i].receiptDocDate=''
+              this.$set(this.feeDetailsDistributions[index],'receiptDocDate','')
+
             }
           }
           this.$message({
@@ -490,7 +492,8 @@
         // console.log(this.feeDetailsDistributions)
       },
       receiptDocDatechange(e,index){
-        this.feeDetailsDistributions[index].orderId=''
+        // this.feeDetailsDistributions[index].orderId=''
+        this.$set(this.feeDetailsDistributions[index],'orderId','')
         var arr=[]
         this.goodsourcelist[index]=[]
         getwarehousingorder({warehouseName:this.deptBudgetList.warehouseName,receiptDocDate:e}).toPromise()
@@ -579,10 +582,10 @@
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.amountMoney - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = Number(this.deptBudgetList.amountMoney - moneyDiff).toFixed(2)
               }
               // this.feeDetailsDistributions[i].distributionMoney = Math.round((this.feeDetailsDistributions[i].inWarehouseWeight / weight) * this.deptBudgetList.amountMoney)
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = Number(this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
             }
           }
         })
@@ -614,7 +617,12 @@
         }
       },
       returnsales(){
-        this.$router.go(-1)
+        // this.$router.go(-1)
+        this.feeDetailsDistributions = [{receiptDocDate:'',inWarehouseWeight:0,distributionMoney:0,warehouseName:'',goodsName:'',goodsSource:'',index:0}]
+        this.goodsourcelist = []
+        this.$router.push({
+          path:'expensemanagementdetails'
+        })
       },
       handlefujian(file) {
         // console.log(file)
@@ -844,6 +852,7 @@
         }
        
         if(this.deptBudgetList.expensesPurpose==1&&this.deptBudgetList.costType==3&&this.mode=='全部分配'||this.deptBudgetList.expensesPurpose==3&&this.mode=='全部分配'&&this.deptBudgetList.storageFeeFlag!=1){
+          this.deptBudgetList.amountMoney = Number(this.deptBudgetList.amountMoney).toFixed(2)
           if(this.amount!=this.deptBudgetList.amountMoney){
             this.$message({
                 message: '请款金额与分配金额不相等!',
@@ -956,9 +965,9 @@
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.amountMoney - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = (this.deptBudgetList.amountMoney - moneyDiff).toFixed(2)
               }
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = (this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
 
                 }
               }

+ 25 - 17
src/views/profitable/cashoutaduitNQ.vue

@@ -153,7 +153,7 @@
         </div>
  
         <el-table ref="tableref" v-if='deptBudgetList.purpose=="合同费用"&&deptBudgetList.type=="非粮款"&&mode!="暂不分配"||deptBudgetList.purpose=="库点费用"&&mode!="暂不分配"' :data="feeDetailsDistributions" style="width: 90%;margin:0 auto;">
-          <el-table-column width="200" v-if='deptBudgetList.purpose=="合同费用"' prop="date" label="仓库名称" min-width="110">
+          <el-table-column key="1" width="200" v-if='deptBudgetList.purpose=="合同费用"' prop="date" label="仓库名称" min-width="110">
             <template slot-scope="scope">
               <el-select v-model="scope.row.warehouseName" placeholder="选择仓库" @change="((value)=>{selectware(value, scope.$index)})">
                 <el-option v-for="item in warehouseList" :key="item.warehouseName" :label="item.warehouseName" :value="item.warehouseName"
@@ -161,7 +161,7 @@
               </el-select>
             </template>
           </el-table-column>
-          <el-table-column width="200" v-if='deptBudgetList.purpose=="合同费用"' prop="date" label="日期">
+          <el-table-column key="2" width="200" v-if='deptBudgetList.purpose=="合同费用"' prop="date" label="日期">
             <template slot-scope="scope">
                <ws-select v-model="scope.row.receiptDocDate" placeholder="选择日期" @change="((value)=>{selecttime(value, scope.row,scope.$index)})">
                 <ws-option v-for="item in datelist[scope.$index]" :key="item.time" :label="item.time" :value="item.time"
@@ -169,13 +169,13 @@
               </ws-select>
             </template>
           </el-table-column>
-          <el-table-column width="200" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="日期">
+          <el-table-column key="3" width="200" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="日期">
             <template slot-scope="scope">
                 <el-date-picker @change="((value)=>{receiptDocDatechange(value, scope.$index)})" v-model="scope.row.receiptDocDate" type="date" placeholder="请选择日期"
               value-format="yyyy-MM-dd"   ></el-date-picker>
             </template>
           </el-table-column>
-          <el-table-column v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="货源">
+          <el-table-column key="4" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="货源">
               <template slot-scope="scope">
                 <!-- {{scope.row.goodsourcelist}} -->
                 <!-- <el-select v-model="scope.row.orderId" placeholder="选择货源" @change="((value)=>{selectgoodsSource(value, scope.row,scope.$index)})">
@@ -192,22 +192,22 @@
                 </el-select>
             </template>
           </el-table-column>
-          <el-table-column  width="200" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="货名">
+          <el-table-column key="5"  width="200" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="货名">
             <template slot-scope="scope">
                <span>{{scope.row.goodsName?scope.row.goodsName:'自动获取'}}</span>
             </template>
           </el-table-column>
-          <el-table-column width="200" prop="inWarehouseWeight" label="入库量(吨)">
+          <el-table-column key="6" width="200" prop="inWarehouseWeight" label="入库量(吨)">
             <template slot-scope="scope">
                <span>{{scope.row.inWarehouseWeight?scope.row.inWarehouseWeight:'自动获取'}}</span>
             </template>
           </el-table-column>
-          <el-table-column width="200" prop="date" label="分配金额(元)">
+          <el-table-column key="7" width="200" prop="date" label="分配金额(元)">
             <template slot-scope="scope">
                 <el-input placeholder="输入费用名称,1-15个字" class="input_css" v-model="scope.row.distributionMoney"></el-input>
             </template>
           </el-table-column>
-          <el-table-column prop="address" label="操作" width="200">
+          <el-table-column key="8" prop="address" label="操作" width="200">
             <template slot-scope="scope">
                 <img class='add' @click='addlist()' src="../../../public/img/add.png" alt="">
                 <img class='del' @click='dellist(scope.row)' src="../../../public/img/del.png" alt="">
@@ -330,7 +330,7 @@
               num += Number(this.feeDetailsDistributions[i].distributionMoney)
             }
           }
-          return num
+          return num.toFixed(2)
         }
       }
     },
@@ -430,9 +430,9 @@
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.unallocatedAmount - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = Number(this.deptBudgetList.unallocatedAmount - moneyDiff).toFixed(2)
               }
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = Number(this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
             }
           }
         })
@@ -495,11 +495,13 @@
         }
         for (let i = 0; i < this.goodsourcelist[index].length; i++) {
           if(this.goodsourcelist[index][i].id==e){
-            this.feeDetailsDistributions[index].goodsSource=this.goodsourcelist[index][i].goodsSource
+            // this.feeDetailsDistributions[index].goodsSource=this.goodsourcelist[index][i].goodsSource
+            this.$set(this.feeDetailsDistributions[index],'goodsSource',this.goodsourcelist[index][i].goodsSource)
             this.feeDetailsDistributions[index].inWarehouseWeight=this.goodsourcelist[index][i].weight
             this.feeDetailsDistributions[index].goodsName=this.goodsourcelist[index][i].goodsName
             this.feeDetailsDistributions[index].goodsNameKey=this.goodsourcelist[index][i].goodsNameKey
             this.feeDetailsDistributions[index].orderId = this.goodsourcelist[index][i].id
+            this.$forceUpdate()
             }
         }
         // if(this.moneys=='按重量自动分配'){
@@ -523,9 +525,9 @@
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.unallocatedAmount - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = Number(this.deptBudgetList.unallocatedAmount - moneyDiff).toFixed(2)
               }
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = Number(this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
         }
       }
       },
@@ -576,7 +578,12 @@
           })
       },
       returnsales(){
-        this.$router.go(-1)
+        // this.$router.go(-1)
+        this.feeDetailsDistributions = [{proDate:'',weight:'',money:'',warehouse:'',belonging:'',index:0}],
+        this.goodsourcelist = []
+        this.$router.push({
+          path:'expensemanagementdetails'
+        })
       },
        submit(status){
         //经营性费用不进行分配
@@ -674,6 +681,7 @@
           }
         }
         if(this.mode=='全部分配'){
+          this.deptBudgetList.unallocatedAmount = Number(this.deptBudgetList.unallocatedAmount).toFixed(2)
           if(this.amount!=this.deptBudgetList.unallocatedAmount){
             this.$message({
                 message: '请款金额与分配金额不相等!',
@@ -806,9 +814,9 @@
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.unallocatedAmount - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = Number(this.deptBudgetList.unallocatedAmount - moneyDiff).toFixed(2)
               }
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = Number(this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
               
                 }
               }

+ 33 - 22
src/views/profitable/expenseallot.vue

@@ -94,7 +94,7 @@
         <span style="margin-top:5px;margin-left: 10px" v-if='mode!="暂不分配"'>合计分配:{{amount}}元</span>  
         </div>
         <el-table ref="tableref" v-if='deptBudgetList.expensesPurpose==1&&deptBudgetList.type=="非粮款"&&mode!="暂不分配"||deptBudgetList.expensesPurpose==3&&mode!="暂不分配"||deptBudgetList.expensesPurpose==2&&mode!="暂不分配"' :data="feeDetailsDistributions" style="width: 90%;margin:0 auto;">
-          <el-table-column width="200" v-if='deptBudgetList.expensesPurpose==1' prop="date" label="仓库名称" min-width="110">
+          <el-table-column key="1" width="200" v-if='deptBudgetList.expensesPurpose==1' prop="date" label="仓库名称" min-width="110">
             <template slot-scope="scope">
               <el-select v-model="scope.row.warehouseName" placeholder="选择仓库" @change="((value)=>{selectware(value, scope.$index)})">
                 <el-option v-for="item in warehouseList" :key="item.warehouseName" :label="item.warehouseName" :value="item.warehouseName"
@@ -102,7 +102,7 @@
               </el-select>
             </template>
           </el-table-column>
-          <el-table-column width="200" v-if='deptBudgetList.expensesPurpose==2' prop="date" label="仓库名称" min-width="110">
+          <el-table-column key="2" width="200" v-if='deptBudgetList.expensesPurpose==2' prop="date" label="仓库名称" min-width="110">
             <template slot-scope="scope">
               <el-select  @change="((value)=>{receiptDocDatechange1(value, scope.$index)})" v-model="scope.row.warehouseName" placeholder="选择仓库">
                 <el-option v-for="item in warehouseList" :key="item.warehouseName" :label="item.warehouseName" :value="item.warehouseName"
@@ -110,25 +110,25 @@
               </el-select>
             </template>
           </el-table-column>
-          <el-table-column width="200" v-if='deptBudgetList.expensesPurpose==1' prop="date" label="日期">
+          <el-table-column key="3" width="200" v-if='deptBudgetList.expensesPurpose==1' prop="date" label="日期">
             <template slot-scope="scope">
               <el-date-picker @change="((value)=>{selectware(value, scope.$index)})" v-model="scope.row.receiptDocDate" type="date" placeholder="请选择日期"
               value-format="yyyy-MM-dd"   ></el-date-picker>
             </template>
           </el-table-column>
-          <el-table-column width="200" v-if='deptBudgetList.expensesPurpose==2' prop="date" label="日期">
+          <el-table-column key="4" width="200" v-if='deptBudgetList.expensesPurpose==2' prop="date" label="日期">
             <template slot-scope="scope">
                 <el-date-picker @change="((value)=>{receiptDocDatechange1(value, scope.$index)})" v-model="scope.row.receiptDocDate" type="date" placeholder="请选择日期"
               value-format="yyyy-MM-dd"   ></el-date-picker>
             </template>
           </el-table-column>
-          <el-table-column width="200" v-if='deptBudgetList.expensesPurpose==3' prop="date" label="日期">
+          <el-table-column key="5" width="200" v-if='deptBudgetList.expensesPurpose==3' prop="date" label="日期">
             <template slot-scope="scope">
                 <el-date-picker @change="((value)=>{receiptDocDatechange(value, scope.$index)})" v-model="scope.row.receiptDocDate" type="date" placeholder="请选择日期"
               value-format="yyyy-MM-dd"   ></el-date-picker>
             </template>
           </el-table-column>
-          <el-table-column v-if='deptBudgetList.expensesPurpose==3||deptBudgetList.expensesPurpose==2||deptBudgetList.expensesPurpose==1' prop="date" label="货源">
+          <el-table-column key="6"  v-if='deptBudgetList.expensesPurpose==3||deptBudgetList.expensesPurpose==2||deptBudgetList.expensesPurpose==1' prop="date" label="货源">
               <template slot-scope="scope" >
                 <!-- {{scope.row.goodsourcelist}} -->
                 <!-- <el-select v-model="scope.row.orderId" placeholder="选择货源" @change="((value)=>{selectgoodsSource(value, scope.row,scope.$index)})">
@@ -145,22 +145,22 @@
                 </el-select>
             </template>
           </el-table-column>
-          <el-table-column width="200" v-if='deptBudgetList.expensesPurpose==3' prop="date" label="货名">
+          <el-table-column key="7" width="200" v-if='deptBudgetList.expensesPurpose==3' prop="date" label="货名">
             <template slot-scope="scope">
                <span>{{scope.row.goodsName?scope.row.goodsName:'自动获取'}}</span>
             </template>
           </el-table-column>
-          <el-table-column width="200" prop="inWarehouseWeight" label="入库量(吨)">
+          <el-table-column key="8" width="200" prop="inWarehouseWeight" label="入库量(吨)">
             <template slot-scope="scope">
                <span>{{scope.row.inWarehouseWeight?scope.row.inWarehouseWeight:'自动获取'}}</span>
             </template>
           </el-table-column>
-          <el-table-column width="200" prop="date" label="分配金额(元)">
+          <el-table-column key="9" width="200" prop="date" label="分配金额(元)">
             <template slot-scope="scope">
                 <el-input placeholder="输入分配金额" class="input_css" v-model="scope.row.distributionMoney"></el-input>
             </template>
           </el-table-column>
-          <el-table-column prop="address" label="操作" width="200">
+          <el-table-column key="10" prop="address" label="操作" width="200">
             <template slot-scope="scope">
                 <img class='add' @click='addlist()' src="../../../public/img/add.png" alt="">
                 <img class='del' @click='dellist(scope.row)' src="../../../public/img/del.png" alt="">
@@ -257,7 +257,7 @@
               num += Number(this.feeDetailsDistributions[i].distributionMoney)
             }
           }
-          return num
+          return num.toFixed(2)
         }
         
       }
@@ -367,9 +367,9 @@
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.unallocatedAmount - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = Number(this.deptBudgetList.unallocatedAmount - moneyDiff).toFixed(2)
               }
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = Number(this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
             }
           }
         })
@@ -406,7 +406,8 @@
         if(!this.deptBudgetList.amountMoney&&this.moneys=='按重量自动分配'){
           for (let i = 0; i < this.feeDetailsDistributions.length; i++) {
             if(this.feeDetailsDistributions[i].orderId==e){
-              this.feeDetailsDistributions[i].orderId=''
+              this.$set(this.feeDetailsDistributions[index],'orderId','')
+              // this.feeDetailsDistributions[i].orderId=''
             }
           }
           this.$message({
@@ -417,11 +418,13 @@
         }
         for (let i = 0; i < this.goodsourcelist[index].length; i++) {
           if(this.goodsourcelist[index][i].id==e){
-            this.feeDetailsDistributions[index].goodsSource=this.goodsourcelist[index][i].goodsSource
+            // this.feeDetailsDistributions[index].goodsSource=this.goodsourcelist[index][i].goodsSource
+            this.$set(this.feeDetailsDistributions[index],'goodsSource',this.goodsourcelist[index][i].goodsSource)
             this.feeDetailsDistributions[index].inWarehouseWeight=this.goodsourcelist[index][i].weight
             this.feeDetailsDistributions[index].goodsName=this.goodsourcelist[index][i].goodsName
             this.feeDetailsDistributions[index].goodsNameKey=this.goodsourcelist[index][i].goodsNameKey
             this.feeDetailsDistributions[index].orderId = this.goodsourcelist[index][i].id
+            this.$forceUpdate()
             }
         }
         // if(this.moneys=='按重量自动分配'){
@@ -445,9 +448,9 @@
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.unallocatedAmount - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = Number(this.deptBudgetList.unallocatedAmount - moneyDiff).toFixed(2)
               }
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = Number(this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
         }
       }
       },
@@ -507,15 +510,22 @@
             for (let i = 0; i < response.length; i++) {
               arr.push({goodsSource:response[i].goodsSource,id:response[i].id,weight:response[i].inWarehouseWeight,goodsName:response[i].goodsName,goodsNameKey:response[i].goodsNameKey})
             }
-            this.feeDetailsDistributions[index].goodsSource=''
-            this.feeDetailsDistributions[index].weight=''
+            this.$set(this.feeDetailsDistributions[index],'goodsSource','')
+            this.$set(this.feeDetailsDistributions[index],'weight','')
+            // this.feeDetailsDistributions[index].goodsSource=''
+            // this.feeDetailsDistributions[index].weight=''
              this.$set(this.goodsourcelist,index,JSON.parse(JSON.stringify(arr)))
           })
         }
         
       },
       returnsales(){
-        this.$router.go(-1)
+        // this.$router.go(-1)
+        this.feeDetailsDistributions=[{proDate:'',weight:'',money:'',warehouse:'',belonging:'',index:0}]
+        this.goodsourcelist = []
+        this.$router.push({
+          path:'expensemanagementdetails'
+        })
       },
        submit(){
           for (let i = 0; i < this.feeDetailsDistributions.length; i++) {
@@ -601,6 +611,7 @@
           }
         }
         if(this.mode=='全部分配'){
+          this.deptBudgetList.unallocatedAmount = Number(this.deptBudgetList.unallocatedAmount).toFixed(2)
           if(this.amount!=this.deptBudgetList.unallocatedAmount){
             this.$message({
                 message: '请款金额与分配金额不相等!',
@@ -664,9 +675,9 @@
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.unallocatedAmount - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = Number(this.deptBudgetList.unallocatedAmount - moneyDiff).toFixed(2)
               }
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = Number(this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
               
                 }
               }

+ 31 - 20
src/views/profitable/expensemanagentedit.vue

@@ -134,7 +134,7 @@
         <span style="margin-top:5px;margin-left: 10px" v-if='mode!="暂不分配"'>合计分配:{{amount}}元</span>  
         </div>
         <el-table ref="tableref" v-if='deptBudgetList.purpose=="合同费用"&&deptBudgetList.type=="非粮款"&&mode!="暂不分配"||deptBudgetList.purpose=="库点费用"&&mode!="暂不分配"||deptBudgetList.expensesPurpose==2&&mode!="暂不分配"' :data="feeDetailsDistributions" style="width: 90%;margin:0 auto;">
-          <el-table-column width="150" v-if='deptBudgetList.purpose=="合同费用"' prop="date" label="仓库名称" min-width="110">
+          <el-table-column key="1" width="150" v-if='deptBudgetList.purpose=="合同费用"' prop="date" label="仓库名称" min-width="110">
             <template slot-scope="scope">
               <el-select v-model="scope.row.warehouseName" placeholder="选择仓库" @change="((value)=>{selectware(value, scope.$index)})">
                 <el-option v-for="item in warehouseList" :key="item.warehouseName" :label="item.warehouseName" :value="item.warehouseName"
@@ -142,7 +142,7 @@
               </el-select>
             </template>
           </el-table-column>
-          <el-table-column width="150" v-if='deptBudgetList.expensesPurpose==2' prop="date" label="仓库名称" min-width="110">
+          <el-table-column key="2" width="150" v-if='deptBudgetList.expensesPurpose==2' prop="date" label="仓库名称" min-width="110">
             <template slot-scope="scope">
               <el-select  @change="((value)=>{receiptDocDatechange1(value, scope.$index)})" v-model="scope.row.warehouseName" placeholder="选择仓库">
                 <el-option v-for="item in warehouseList" :key="item.warehouseName" :label="item.warehouseName" :value="item.warehouseName"
@@ -158,19 +158,19 @@
               </ws-select>
             </template>
           </el-table-column> -->
-          <el-table-column width="200" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="日期">
+          <el-table-column key="3" width="200" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="日期">
             <template slot-scope="scope">
                 <el-date-picker @change="((value)=>{receiptDocDatechange(value, scope.$index)})" v-model="scope.row.receiptDocDate" type="date" placeholder="请选择日期"
               value-format="yyyy-MM-dd"   ></el-date-picker>
             </template>
           </el-table-column>
-          <el-table-column width="200" v-if='deptBudgetList.expensesPurpose==1||deptBudgetList.expensesPurpose==2' prop="date" label="日期">
+          <el-table-column  key="4" width="200" v-if='deptBudgetList.expensesPurpose==1||deptBudgetList.expensesPurpose==2' prop="date" label="日期">
             <template slot-scope="scope">
                 <el-date-picker @change="((value)=>{receiptDocDatechange1(value, scope.$index)})" v-model="scope.row.receiptDocDate" type="date" placeholder="请选择日期"
               value-format="yyyy-MM-dd"   ></el-date-picker>
             </template>
           </el-table-column>
-          <el-table-column v-if='deptBudgetList.purpose=="库点费用"||deptBudgetList.expensesPurpose==2||deptBudgetList.expensesPurpose==1' prop="date" label="货源">
+          <el-table-column key="5" v-if='deptBudgetList.purpose=="库点费用"||deptBudgetList.expensesPurpose==2||deptBudgetList.expensesPurpose==1' prop="date" label="货源">
               <template slot-scope="scope">
                 <!-- {{scope.row.goodsourcelist}} -->
                 <!-- <el-select v-model="scope.row.orderId" placeholder="选择货源" @change="((value)=>{selectgoodsSource(value, scope.row,scope.$index)})">
@@ -187,22 +187,22 @@
                 </el-select>
             </template>
           </el-table-column>
-          <el-table-column width="150" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="货名">
+          <el-table-column key="6" width="150" v-if='deptBudgetList.purpose=="库点费用"' prop="date" label="货名">
             <template slot-scope="scope">
                <span>{{scope.row.goodsName?scope.row.goodsName:'自动获取'}}</span>
             </template>
           </el-table-column>
-          <el-table-column width="150" prop="inWarehouseWeight" label="入库量(吨)">
+          <el-table-column key="7" width="150" prop="inWarehouseWeight" label="入库量(吨)">
             <template slot-scope="scope">
                <span>{{scope.row.inWarehouseWeight?scope.row.inWarehouseWeight:'自动获取'}}</span>
             </template>
           </el-table-column>
-          <el-table-column width="200" prop="date" label="分配金额(元)">
+          <el-table-column key="8" width="200" prop="date" label="分配金额(元)">
             <template slot-scope="scope">
                 <el-input placeholder="输入费用名称,1-15个字" class="input_css" v-model="scope.row.distributionMoney"></el-input>
             </template>
           </el-table-column>
-          <el-table-column prop="address" label="操作" width="200">
+          <el-table-column key="9" prop="address" label="操作" width="200">
             <template slot-scope="scope">
                 <img class='add' @click='addlist()' src="../../../public/img/add.png" alt="">
                 <img class='del' @click='dellist(scope.row)' src="../../../public/img/del.png" alt="">
@@ -306,7 +306,7 @@ weight: 4000}]],
            for (let i = 0; i < this.feeDetailsDistributions.length; i++) {
              num += Number(this.feeDetailsDistributions[i].distributionMoney)
            }
-           return num
+           return num.toFixed(2)
          }
        }
     },
@@ -404,9 +404,9 @@ weight: 4000}]],
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.unallocatedAmount - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = Number(this.deptBudgetList.unallocatedAmount - moneyDiff).toFixed(2)
               }
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = Number(this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
             }
           }
         })
@@ -435,6 +435,7 @@ weight: 4000}]],
           })
       },
       selectgoodsSource(e,item,index){
+        debugger
         var weight=0
         var money=0
         var moneyDiff = 0
@@ -452,11 +453,13 @@ weight: 4000}]],
         }
         for (let i = 0; i < this.goodsourcelist[index].length; i++) {
           if(this.goodsourcelist[index][i].id==e){
-            this.feeDetailsDistributions[index].goodsSource=this.goodsourcelist[index][i].goodsSource
+            // this.feeDetailsDistributions[index].goodsSource=this.goodsourcelist[index][i].goodsSource
+            this.$set(this.feeDetailsDistributions[index],'goodsSource',this.goodsourcelist[index][i].goodsSource) 
             this.feeDetailsDistributions[index].inWarehouseWeight=this.goodsourcelist[index][i].weight
             this.feeDetailsDistributions[index].goodsName=this.goodsourcelist[index][i].goodsName
             this.feeDetailsDistributions[index].goodsNameKey=this.goodsourcelist[index][i].goodsNameKey
             this.feeDetailsDistributions[index].orderId = this.goodsourcelist[index][i].id
+            this.$forceUpdate()
             }
         }
         // if(this.moneys=='按重量自动分配'){
@@ -480,9 +483,9 @@ weight: 4000}]],
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.unallocatedAmount - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = Number(this.deptBudgetList.unallocatedAmount - moneyDiff).toFixed(2)
               }
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = Number(this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
         }
       }
       },
@@ -541,8 +544,10 @@ weight: 4000}]],
             for (let i = 0; i < response.length; i++) {
               arr.push({goodsSource:response[i].goodsSource,id:response[i].id,weight:response[i].inWarehouseWeight,goodsName:response[i].goodsName,goodsNameKey:response[i].goodsNameKey})
             }
-            this.feeDetailsDistributions[index].goodsSource=''
-            this.feeDetailsDistributions[index].weight=''
+            // this.feeDetailsDistributions[index].goodsSource=''
+            // this.feeDetailsDistributions[index].weight=''
+            this.$set(this.feeDetailsDistributions[index],'goodsSource','')
+            this.$set(this.feeDetailsDistributions[index],'weight','')
              this.$set(this.goodsourcelist,index,JSON.parse(JSON.stringify(arr)))
           })
         }
@@ -686,6 +691,7 @@ weight: 4000}]],
         }
        
         if(this.deptBudgetList.expensesPurpose==1&&this.deptBudgetList.costType==3&&this.mode=='全部分配'||this.deptBudgetList.expensesPurpose==3&&this.mode=='全部分配'){
+          this.deptBudgetList.unallocatedAmount = Number(this.deptBudgetList.unallocatedAmount).toFixed(2)
           if(this.amount!=this.deptBudgetList.unallocatedAmount){
             this.$message({
                 message: '请款金额与分配金额不相等!',
@@ -805,9 +811,9 @@ weight: 4000}]],
                 }
               }
               if (i == this.feeDetailsDistributions.length - 1) {
-                this.feeDetailsDistributions[i].distributionMoney = this.deptBudgetList.unallocatedAmount - moneyDiff
+                this.feeDetailsDistributions[i].distributionMoney = (this.deptBudgetList.unallocatedAmount - moneyDiff).toFixed(2)
               }
-              money = this.feeDetailsDistributions[i].distributionMoney + moneyDiff
+              money = (this.feeDetailsDistributions[i].distributionMoney + moneyDiff).toFixed(2)
 
                 }
               }
@@ -937,7 +943,12 @@ weight: 4000}]],
           }
      },
       returnsales(){
-        this.$router.go(-1)
+        // this.$router.go(-1)
+        this.feeDetailsDistributions = [{receiptDocDate:'',inWarehouseWeight:0,distributionMoney:0,warehouseName:'',goodsName:'',goodsSource:'',index:0,}],
+        this.goodsourcelist = []
+        this.$router.push({
+          path:'expensemanagementdetails'
+        })
       },
       handlefujian(file) {
         // console.log(file)