Quellcode durchsuchen

修改国内贸易

lichao vor 3 Jahren
Ursprung
Commit
dde4e0e845

+ 10 - 0
src/api/maintenance/overpayment.js

@@ -1,5 +1,6 @@
 import request from '@/router/axios';
 
+// 溢付款查询
 export const getList = (current, size, params) => {
   return request({
     url: '/api/blade-mocha-item/businessoverpayment/list',
@@ -11,3 +12,12 @@ export const getList = (current, size, params) => {
     }
   })
 }
+
+//溢付款主表查询
+export function getCorpDetail(data) {
+  return request({
+    url: '/api//blade-mocha-item/businessoverpayment/detail',
+    method: 'get',
+    params: data
+  })
+}

+ 1 - 0
src/views/businessManagement/deliveryNotice/configuration/commodity.json

@@ -36,6 +36,7 @@
       "slot": true,
       "width": 100,
       "overHidden": true,
+      "search": true,
       "rules": [
         {
           "required": true,

+ 43 - 21
src/views/businessManagement/deliveryNotice/detailsPageEdit.vue

@@ -18,7 +18,7 @@
           class="el-button--small-yh"
           type="primary"
           size="small"
-          :disabled="detailData.seeDisabled || arrivalDisabled"
+          :disabled="detailData.seeDisabled"
           v-if="form.deliveryStatus == '已到货'"
           @click="cancelArrival"
         >撤销到货</el-button>
@@ -74,31 +74,31 @@
                 <!--                <avue-input-tree v-if="item.prop === 'corpsTypeId'"  leaf-only multiple :props="{label:'title'}" v-model="form[item.prop]" placeholder="请选择内容" type="tree" :dic="dic"-->
                 <!--                ></avue-input-tree>-->
                 <el-date-picker v-if="item.type === 'datetime'" style="width: 100%;" v-model="form[item.prop]"
-                                size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled"/>
+                                size="small" type="datetime" placeholder="选择日期" value-format="yyyy-MM-dd HH:mm:ss" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled || deliverDisabled"/>
                 <el-date-picker v-else-if="item.type === 'date'" style="width: 100%;" v-model="form[item.prop]"
                                 size="small" type="date" placeholder="选择日期"
-                                :disabled="detailData.seeDisabled || arrivalDisabled"/>
+                                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"/>
                 <crop-select
                   v-else-if="item.prop === 'corpId'"
                   v-model="form[item.prop]"
                   corpType="KH"
-                  :disabled="detailData.seeDisabled || arrivalDisabled"
+                  :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
                   style="width: 100%"
                 ></crop-select>
                 <crop-select
                   v-else-if="item.prop === 'salesCompany'"
                   v-model="form[item.prop]"
                   corpType="GS"
-                  :disabled="detailData.seeDisabled || arrivalDisabled"
+                  :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
                 ></crop-select>
 <!--                <selectComponent v-else-if="item.prop === 'corpId'" v-model="form[item.prop]"-->
 <!--                                 :configuration="configuration" style="width: 100%" :disabled="detailData.seeDisabled"/>-->
 <!--                <selectComponent v-else-if="item.prop === 'salesCompany'" v-model="form[item.prop]" typeData="GS"-->
 <!--                                 :configuration="companyConfiguration" style="width: 100%" :disabled="detailData.seeDisabled"/>-->
-                <el-select v-else-if="item.prop === 'deliveryStatus'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled">
+                <el-select v-else-if="item.prop === 'deliveryStatus'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled || deliverDisabled">
                   <el-option v-for="(item,index) in statusOption" :key="index" :label="item.dictValue" :value="item.dictValue" size="small"></el-option>
                 </el-select>
-                <el-select v-else-if="item.prop === 'warehouseType'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || arrivalDisabled">
+                <el-select v-else-if="item.prop === 'warehouseType'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled">
                   <el-option v-for="(item,index) in warehouseTypeOption" :key="index" :label="item.dictValue" :value="item.dictValue"></el-option>
                 </el-select>
 <!--                <avue-input-tree-->
@@ -114,17 +114,17 @@
 <!--                >-->
 <!--                </avue-input-tree>-->
                 <warehouse-select v-else-if="item.prop === 'storageId'" v-model="form[item.prop]"
-                                 :configuration="configurationWarehouse" style="width: 100%" :disabled="detailData.seeDisabled || arrivalDisabled"/>
+                                 :configuration="configurationWarehouse" style="width: 100%" :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"/>
                 <el-input
                   v-else-if="item.type == 'number'"
                   placeholder="请输入"
                   v-input-limit="2"
                   size="small"
-                  :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled"
+                  :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled || deliverDisabled"
                   v-model.trim="form[item.prop]"
                 />
                 <el-input type="textarea" v-else-if="item.type === 'textarea'" v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled"></el-input>
-                <el-input type="age" v-else v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled"></el-input>
+                <el-input type="age" v-else v-model.trim="form[item.prop]" size="small" autocomplete="off" :disabled="item.disabled || detailData.seeDisabled || arrivalDisabled || deliverDisabled"></el-input>
               </el-form-item>
             </el-col>
           </el-row>
@@ -144,7 +144,7 @@
               :cell-style="goodsRowClassName"
           >
             <template slot="code" slot-scope="{row,index}">
-              <el-button type="text" size="mini" style="padding:4px 10px;float:left" @click="commodityChoice(row)" :disabled="detailData.seeDisabled || !row.$cellEdit || arrivalDisabled">选择</el-button>
+              <el-button type="text" size="mini" style="padding:4px 10px;float:left" @click="commodityChoice(row)" :disabled="detailData.seeDisabled || !row.$cellEdit || arrivalDisabled || deliverDisabled">选择</el-button>
               <span>{{ row.code }}</span>
             </template>
             <template slot-scope="{row,index}" slot="menu">
@@ -160,7 +160,7 @@
                 icon="el-icon-delete"
                 type="text"
                 @click="rowDel(row, index)"
-                :disabled="detailData.seeDisabled || arrivalDisabled"
+                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
                 v-if="!row.$cellEdit"
               >删 除</el-button>
             </template>
@@ -183,7 +183,7 @@
                          icon="el-icon-plus"
                          size="small"
                          @click="commoditySelection"
-                         :disabled="detailData.seeDisabled || arrivalDisabled"
+                         :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
                          v-if="goodsActives == 'gift'"
               >录入明细
               </el-button>
@@ -192,7 +192,7 @@
                 type="warning"
                 icon="el-icon-refresh"
                 size="small"
-                :disabled="detailData.seeDisabled || arrivalDisabled"
+                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
                 @click="resetStock"
               >库存刷新</el-button>
             </template>
@@ -202,6 +202,7 @@
                 v-model.trim="row.actualQuantity"
                 v-input-limit="0"
                 @change="actualQuantityChange(row)"
+                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
               ></el-input>
               <span v-else>{{ row.actualQuantity }}</span>
             </template>
@@ -211,7 +212,7 @@
                 v-if="row.$cellEdit"
                 v-model.trim="row.arrivalQuantity"
                 v-input-limit="0"
-                @change="arrivalQuantityChange(row)"
+                @input="arrivalQuantityChange(row)"
               ></el-input>
               <span v-else>{{ row.arrivalQuantity }}</span>
             </template>
@@ -222,7 +223,7 @@
                 :cropIndex="index"
                 corpType="GYS"
                 @getCorpData="getcorpId"
-                :disabled="detailData.seeDisabled || arrivalDisabled"
+                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
               ></crop-select>
               <span v-else>{{ row.corpName }}</span>
             </template>
@@ -231,7 +232,7 @@
         <fee-info
           ref="feeInfo"
           :orderFeesList="advantageProjectData"
-          :disabled="detailData.seeDisabled || arrivalDisabled"
+          :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
           feeUrl="/blade-deliver-goods/deliveryfees/update"
         />
 <!--        <containerTitle title="费用明细"></containerTitle>-->
@@ -315,7 +316,7 @@
                 icon="el-icon-plus"
                 size="small"
                 @click.stop="$refs.uploadCrud.rowAdd()"
-                :disabled="detailData.seeDisabled || arrivalDisabled"
+                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
               >上传</el-button
               >
             </template>
@@ -325,7 +326,7 @@
                 icon="el-icon-edit"
                 type="text"
                 @click="$refs.uploadCrud.rowEdit(row, index)"
-                :disabled="detailData.seeDisabled || arrivalDisabled"
+                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
               >编 辑</el-button
               >
               <el-button
@@ -333,7 +334,7 @@
                 icon="el-icon-delete"
                 type="text"
                 @click="rowDelBankOfDeposit(row, index)"
-                :disabled="detailData.seeDisabled || arrivalDisabled"
+                :disabled="detailData.seeDisabled || arrivalDisabled || deliverDisabled"
               >删 除</el-button
               >
             </template>
@@ -952,9 +953,10 @@ export default {
         this.$set(item, 'srcOrderNo', this.form.srcOrderNo)
         this.$set(item, "srcId", item.id)
         this.$set(item, "actualQuantity", (Number(item.orderQuantity) - Number(item.actualQuantity)))
+        this.$set(item, "arrivalQuantity", item.actualQuantity)
+        this.$set(item, "deliveryAmount", item.amount)
         this.$set(item, "deliveryAmount", item.amount)
         this.$set(item, "inventoryNumber", item.storageQuantity)
-        this.$set(item, "inventoryAmount", 0)
         this.form.deliveryAmount += Number(item.deliveryAmount)
         this.form.totalQuantity += Number(item.actualQuantity)
         this.form.totalCost += Number(item.deliveryAmount)
@@ -990,6 +992,20 @@ export default {
           this.arrivalDisabled = false;
           this.deliverDisabled = false;
         }
+        if (this.deliverDisabled) {
+          this.customerContact.column.forEach(item => {
+            if (item.prop == 'arrivalQuantity') {
+              item.disabled = false
+            } else {
+              item.disabled = true
+            }
+          })
+        } else {
+          this.customerContact.column.forEach(item => {
+            item.disabled = false
+          })
+        }
+
         // this.contactsData = this.form.deliveryItemsList
         this.contactsData = this.form.deliveryItemsList.filter(item => {
           return item.goodType == 0
@@ -1115,6 +1131,7 @@ export default {
         }
       }).finally(() => {
         this.saveLoading = false
+        this.pageLoading = false
       });
     },
     getcorpId(row) {
@@ -1145,6 +1162,10 @@ export default {
     // 到货数量变化计算
     arrivalQuantityChange(row) {
       if (this.goodsActives == 'goods') {
+        if (Number(row.arrivalQuantity) > Number(row.actualQuantity)) {
+          this.$message.error('到货数量不能超过出库数量')
+          row.arrivalQuantity = 0
+        }
         row.integral = Number(row.integralMultiples) * Number(row.arrivalQuantity)
         this.$set(this.form, 'presenterIntegral' , 0)
         this.goodsShowData.forEach(item => {
@@ -1280,6 +1301,7 @@ export default {
             this.$set(this.tableData[item], 'actualQuantity', 0)
             this.$set(this.tableData[item], 'inventoryAmount', 0)
             this.$set(this.tableData[item], 'deliveryAmount', 0)
+            this.$set(this.tableData[item], 'integral', '0')
             this.tableData[item].price = 0
             this.tableData[item].amount = 0
             if (this.goodsActives == "goods") {

+ 6 - 4
src/views/businessManagement/purchaseOrder/detailsPageEdit.vue

@@ -129,7 +129,7 @@
           <avue-crud
               :option="customerContact"
               v-model="contactsForm"
-              :data="goodsShowData"
+              :data="contactsData"
               ref="crudContact"
               @row-save="rowSave"
               @row-click="handleRowClick"
@@ -142,7 +142,8 @@
               <goods-select v-if="row.$cellEdit" v-model="row.cname" @getRow="getGoodsRow($event, row)"
                             :configuration="goodsConfiguration" @receiveList="receiveGoodList" @returnRow="getRow($event, row)"/>
               <span v-else>
-                <span v-for="item in goodsConfiguration.dicData" v-if="item.cname == row.cname">{{ item.cname }}</span>
+                {{ row.cname }}
+<!--                <span v-for="item in goodsConfiguration.dicData" v-if="item.cname == row.cname">{{ item.cname }}</span>-->
               </span>
             </template>
             <template slot="orderQuantity" slot-scope="{ row }">
@@ -845,6 +846,7 @@ export default {
         // 去重
         this.removeRepeat()
         let goodsData = []
+        this.form.orderItemsList = this.form.orderItemsList? this.form.orderItemsList: []
         this.form.orderItemsList.forEach(item => {
           let a = {
             cname: item.cname,
@@ -1210,14 +1212,14 @@ export default {
               type: "success",
               message: "操作成功!"
             });
-            this.goodsShowData.splice(index, 1);
+            this.contactsData.splice(index, 1);
           })
         } else {
           this.$message({
             type: "success",
             message: "操作成功!"
           });
-          this.goodsShowData.splice(index, 1);
+          this.contactsData.splice(index, 1);
         }
       })
     },

+ 1 - 1
src/views/businessManagement/receipt/detailsPageEdit.vue

@@ -65,7 +65,7 @@
                 <crop-select
                   v-else-if="item.prop === 'corpId'"
                   v-model="form[item.prop]"
-                  corpType="KH"
+                  corpType="GYS"
                   :disabled="detailData.seeDisabled"
                 ></crop-select>
                 <crop-select

+ 29 - 16
src/views/businessManagement/salesOrder/detailsPageEdit.vue

@@ -186,20 +186,22 @@
                   :disabled="detailData.seeDisabled"
                   v-input-limit="2"
                 ></el-input>
-                <span v-else-if="item.prop === 'overPayment'">
+                <span v-else-if="item.prop === 'caseOverPayment'">
                   <el-input
-                    v-model="form['overPayment']"
+                    v-model="form['caseOverPayment']"
                     size="small"
                     autocomplete="off"
                     @change="computedCost"
                     :disabled="detailData.seeDisabled"
                     style="width: 50%"
                     v-input-limit="2"></el-input>
+<!--                  总溢付款-->
                    <el-input
-                     v-model="form['abc']"
+                     v-model="form['overPayment']"
                      size="small"
                      autocomplete="off"
                      disabled
+                     placeholder="总溢付款"
                      style="width: 50%"></el-input>
                 </span>
                 <el-select v-else-if="item.prop === 'orderStatus'" v-model="form[item.prop]" placeholder="请选择" clearable filterable style="width: 100%" size="small" :disabled="detailData.seeDisabled">
@@ -312,7 +314,7 @@
               <goods-select v-if="row.$cellEdit" v-model="row.cname" @getRow="getGoodsRow($event, row)"
                                :configuration="goodsConfiguration" @receiveList="receiveGoodList" @returnRow="getRow($event, row)"/>
               <span v-else>
-                <span v-for="item in goodsConfiguration.dicData" v-if="item.cname == row.cname">{{ item.cname }}</span>
+                {{row.cname}}
               </span>
             </template>
             <template slot-scope="{row,index}" slot="menu">
@@ -729,6 +731,7 @@ import {
   saveSell,
   getlistBankBy,
 } from "@/api/basicData/configuration"
+import {getCorpDetail} from "@/api/maintenance/overpayment"
 import {selectGoodsNum} from "@/api/basicData/inventoryAccount"
 import customerContact from "./configuration/customerContact.json"
 import advantageProject from "./configuration/advantageProject.json"
@@ -967,8 +970,8 @@ export default {
               }
             ]
           },  {
-            label: '溢付款',
-            prop: 'overPayment',
+            label: '本次溢付款',
+            prop: 'caseOverPayment',
             rules: [
               {
                 required: false,
@@ -1447,6 +1450,7 @@ export default {
       this.statusOption = res.data.data
     })
     this.$set(this.form, 'orderStatus', '录入')
+    this.$set(this.form, 'caseOverPayment', 0)
     this.$set(this.form, 'overPayment', 0)
     this.$set(this.form, 'orderAmount', 0)
     this.$set(this.form, 'predictOceanFreight', 0)
@@ -1598,8 +1602,8 @@ export default {
       this.queryData(this.form.id, true)
     },
     getcorpId(row) {
-      this.contactsData[row.index].corpId = row.id;
-      this.contactsData[row.index].corpName = row.cname;
+      this.goodsShowData[row.index].corpId = row.id;
+      this.goodsShowData[row.index].corpName = row.cname;
     },
     // 采购金额获取
     getPurchasePrice(row) {
@@ -1893,6 +1897,9 @@ export default {
       this.removeGoodsRepeat()
     },
     async getCorpRow(data) {
+      getCorpDetail({corpId:data.id}).then(res => {
+        this.form.overPayment = res.data.data.balanceOverpaymen
+      })
       this.arrivalOptions = [];
       this.arrivalOptions = await this.corpAddr(data.id)
       this.$set(this.form, 'paymentType', data.paymentType)
@@ -2033,7 +2040,7 @@ export default {
           // this.goodsListSave[item].priceCategory = this.goodsListSave[item].goodsTypeName
           delete this.goodsListSave[item].goodsTypeName
           this.goodsListSave[item].itemId = this.goodsListSave[item].id
-          this.$set(this.goodsListSave[item], 'corpName', this.goodsListSave[item].cname)
+          // this.$set(this.goodsListSave[item], 'corpName', this.goodsListSave[item].cname)
           this.$set(this.goodsListSave[item], 'itemType', this.goodsListSave[item].typeno)
           this.$set(this.goodsListSave[item], 'orderQuantity', 1)
           this.$set(this.goodsListSave[item], 'actualQuantity', 0)
@@ -2059,6 +2066,7 @@ export default {
           delete this.goodsListSave[item].updateUserName
           this.maxGoodsNum++
           this.quantityChange(this.goodsListSave[item])
+          console.log(this.goodsListSave[item])
           this.$nextTick(() => {
             this.$refs.crudContact.rowCellAdd(this.goodsListSave[item]);
           })
@@ -2092,7 +2100,7 @@ export default {
           this.tableData[item].storageQuantity =  res.data.data
           delete this.tableData[item].goodsTypeName
           this.tableData[item].itemId = this.tableData[item].id
-          this.$set(this.tableData[item], 'corpName', this.tableData[item].cname)
+          // this.$set(this.tableData[item], 'corpName', this.tableData[item].cname)
           this.$set(this.tableData[item], 'itemType', this.tableData[item].typeno)
           this.$set(this.tableData[item], 'orderQuantity', 1)
           this.$set(this.tableData[item], 'actualQuantity', 0)
@@ -2118,6 +2126,7 @@ export default {
           delete this.tableData[item].updateUserName
           this.maxGoodsNum++
           this.quantityChange(this.tableData[item])
+          console.log(this.tableData[item])
           this.$nextTick(() => {
             this.$refs.crudContact.rowCellAdd(this.tableData[item]);
           })
@@ -2566,23 +2575,27 @@ export default {
     },
     // 计算应收未收款
     computedCost() {
+      if (Number(this.form.caseOverPayment) > Number(this.form.overPayment)) {
+        this.$message.error('本次使用的溢付款不能超过总溢付款')
+        this.form.caseOverPayment = 0;
+      }
       // 销售金额
       let orderAmount = 0;
       // 已收款
       let settlmentAmount = 0;
-      // 溢付款
-      let overPayment = 0
+      // 本次溢付款
+      let caseOverPayment = 0
       if (this.form.orderAmount) {
         orderAmount = this.form.orderAmount
       }
       if (this.form.settlmentAmount) {
         settlmentAmount = this.form.settlmentAmount
       }
-      if (this.form.overPayment) {
-        overPayment = this.form.overPayment
+      if (this.form.caseOverPayment) {
+        caseOverPayment = this.form.caseOverPayment
       }
-      this.$set(this.form, "balanceAmount", (Number(orderAmount) - Number(overPayment) - Number(settlmentAmount)).toFixed(2));
-      this.$set(this.form, 'debitAmount', ((Number(orderAmount) - Number(overPayment)).toFixed(2)))
+      this.$set(this.form, "balanceAmount", (Number(orderAmount) - Number(caseOverPayment) - Number(settlmentAmount)).toFixed(2));
+      this.$set(this.form, 'debitAmount', ((Number(orderAmount) - Number(caseOverPayment)).toFixed(2)))
     },
     quantityChange(row) {
       if (!row.orderQuantity) {