Просмотр исходного кода

查询库区库存
修改调拨

Qukatie 1 неделя назад
Родитель
Сommit
af7ce4c4a3

+ 9 - 0
src/api/tirePartsMall/salesManagement/saleOrder.js

@@ -371,4 +371,13 @@ export const itemRemove = (data) => {
     method: 'POST',
     params: data
   })
+}
+
+// 查询库区库存
+export const selectShipItemRecord = (data) => {
+  return request({
+    url: '/api/blade-sales-part//ship/selectShipItemRecord',
+    method: 'get',
+    params: data
+  })
 }

+ 29 - 2
src/views/tirePartsMall/salesManagement/outboundWorkOrderL/components/viewArea.vue

@@ -24,16 +24,26 @@
               :filterable="true"
               :allowCreate="true"
             ></dic-select>
-            <el-tag type="danger" style="margin-left: 10px;">入库数量:{{ qtyMax }}</el-tag>
+            <el-tag type="danger" style="margin-left: 10px;">库存数量:{{ qtyMax }}</el-tag>
+            <el-tag type="danger" style="margin-left: 10px;">库存融资:{{ query.inventoryFinancing }}</el-tag>
+            <el-tag type="danger" style="margin-left: 10px;">库存自有:{{ query.inventoryHave }}</el-tag>
           </div>
         </template>
         <template slot="reservoirAreaName" slot-scope="{ row }">
           <dic-select
+            :key="query.dot"
             v-model="row.reservoirAreaName"
             placeholder="库区"
             label="cname"
             res="records"
-            :url="'/blade-sales-part/reservoirarea/list?current=1&size=5&storageId=' + form.storageId"
+            :url="
+              '/blade-sales-part/reservoirarea/listZero?current=1&size=5&whether=1&storageId=' +
+                form.storageId +
+                '&goodsId=' +
+                query.goodsId +
+                '&dot=' +
+                query.dot
+            "
             :filterable="true"
             :remote="true"
             dataName="cname"
@@ -211,8 +221,13 @@ export default {
       row.quantity = row.quantityFinancing;
       row.quantityHave = 0;
       let sum = 0;
+      let sendNumFinancing = 0;
       for (let item of this.data) {
         sum += Number(item.quantity);
+        sendNumFinancing += Number(item.quantityFinancing);
+      }
+      if (sendNumFinancing > Number(this.query.inventoryFinancing)) {
+        return this.$message.error("融资数量不能超过" + this.query.inventoryFinancing);
       }
       if (sum > this.qtyMax) {
         return this.$message.error("总数量不能超过" + this.qtyMax);
@@ -222,8 +237,14 @@ export default {
       row.quantity = row.quantityHave;
       row.quantityFinancing = 0;
       let sum = 0;
+      let sendNumHave = 0;
       for (let item of this.data) {
         sum += Number(item.quantity);
+        sendNumHave += Number(item.quantityHave);
+      }
+
+      if (sendNumHave > Number(this.query.inventoryHave)) {
+        return this.$message.error("自有数量不能超过" + this.query.inventoryHave);
       }
       if (sum > this.qtyMax) {
         return this.$message.error("总数量不能超过" + this.qtyMax);
@@ -266,6 +287,12 @@ export default {
       if (!this.query.dot) {
         this.query.dot = this.data.filter(item => item.quantity > 0)[0].dot;
       }
+      if (sendNumFinancing > Number(this.query.inventoryFinancing)) {
+        return this.$message.error("融资数量不能超过" + this.query.inventoryFinancing);
+      }
+      if (sendNumHave > Number(this.query.inventoryHave)) {
+        return this.$message.error("自有数量不能超过" + this.query.inventoryHave);
+      }
       if (sum > this.qtyMax) {
         return this.$message.error("总数量不能超过" + this.qtyMax);
       }

+ 42 - 3
src/views/tirePartsMall/salesManagement/saleOrder/detailsPage.vue

@@ -254,7 +254,12 @@
                 </el-select>
                 <span v-else>{{ row.dot }}</span>
               </template>
-              <template slot="subTotalMoney" slot-scope="{ row }">{{ row.goodsNum * row.price }}</template>
+              <template slot="sendNum" slot-scope="{ row }">
+                <el-popover width="600" trigger="click">
+                  <avue-crud :data="areaData" :option="areaOption"></avue-crud>
+                  <span style="color: #409EFF;cursor: pointer" slot="reference" @click="viewArea(row)">{{ row.sendNum }}</span>
+                </el-popover>
+              </template>
 
               <template slot="remarks" slot-scope="{ row }">
                 <el-input v-if="!mingxibaocun" size="small" v-model="row.remarks" style="width: 100%"></el-input>
@@ -450,6 +455,7 @@
                   <el-tab-pane label="已选定数据" name="importStaging" />
                 </el-tabs>
               </template>
+
               <template slot="goodsNum" slot-scope="{ row }">
                 <el-input-number
                   v-model="row.goodsNum"
@@ -534,7 +540,8 @@ import {
   whetherExistenceFinancing,
   checkOrderRW,
   revokeCheckOrderRW,
-  getParamservice
+  getParamservice,
+  selectShipItemRecord
 } from "@/api/tirePartsMall/salesManagement/saleOrder";
 import { dotList, goodsDetail } from "@/api/tirePartsMall/purchasingManagement/warehouseEntryOrder";
 import reportDialog from "@/components/report-dialog/main";
@@ -558,6 +565,28 @@ export default {
       inventoryData2: [],
       numberDecimal: 0,
       goodsType: 1,
+      areaData: [],
+      areaOption: {
+        header: false,
+        menu: false,
+        column: [
+          {
+            label: "库区",
+            prop: "reservoirAreaName",
+            overHidden: true
+          },
+          {
+            label: "批次号",
+            prop: "dot",
+            overHidden: true
+          },
+          {
+            label: "数量",
+            prop: "balanceQuantity",
+            overHidden: true
+          }
+        ]
+      },
       inventoryOption: {
         header: false,
         menu: false,
@@ -1724,6 +1753,14 @@ export default {
     }
   },
   methods: {
+    viewArea(row){
+      this.areaData = [];
+      selectShipItemRecord ({
+        shipItemId: row.id
+      }).then(res =>{
+        this.areaData = res.data.data
+      });
+    },
     viewInventory() {
       this.inventoryData = [];
       inventoryList({
@@ -1731,7 +1768,9 @@ export default {
         current: 1,
         size: 50,
         storageId: this.reservoirArea == 1 ? this.form.storageId : null
-      }).then(res => [(this.inventoryData = res.data.data.records)]);
+      }).then(res => {
+        this.inventoryData = res.data.data.records
+      });
     },
     viewInventory2() {
       inventoryList({ cname: this.selectionMultilist[0].goodsName }).then(res => [