ソースを参照

Finish Hotfix-mo-52

莫绍宝 3 年 前
コミット
203fe9b019

+ 9 - 0
src/api/supply/engin.js

@@ -126,6 +126,15 @@ export function deleteEngin(params) {
   })
 }
 
+// 工程信息单 - 直调完结
+export function overEngin(params) {
+  return request({
+    url: '/engin-info-order/end-status-upd',
+    method: 'post',
+    params
+  })
+}
+
 // 工程订单 - 获取列表
 export function getOrderList(params) {
   return request({

+ 9 - 0
src/api/supply/pickup.js

@@ -81,6 +81,15 @@ export function editPickupBook(params) {
   })
 }
 
+// 校验库存
+export function checkStock(params) {
+  return request({
+    url: '/stock/manager/stockHint',
+    method: 'post',
+    data: params
+  })
+}
+
 // 获取短信验证码
 export function getCode(params) {
   return request({

+ 1 - 0
src/views/supply/engin/components/commerce_form.vue

@@ -352,6 +352,7 @@
 <script>
 import { getOrderDetail, getComLoginList, getComLoginDetail, getWarehouseList, addCom, editCom, submitCom, checkStock, getWalletList } from "@/api/supply/engin";
 import { getDictList, getTypeList, getSalesmanList } from '@/api/common'
+import { findElem } from '@/utils/util'
 
 let that
 export default {

+ 19 - 1
src/views/supply/engin/components/engin_detail.vue

@@ -131,6 +131,7 @@
 
     <div class="page-footer">
       <div class="footer">
+        <el-button type="primary" @click="overData" v-if="!isDealer" :disabled="detailData.examineStatus !== 'OK'">直调完结</el-button>
         <el-button @click="goBack">关 闭</el-button>
       </div>
     </div>
@@ -139,7 +140,7 @@
 </template>
 
 <script>
-import { getEnginDetail } from "@/api/supply/engin";
+import { getEnginDetail, overEngin } from "@/api/supply/engin";
 
 export default {
   name: 'EnginDetail',
@@ -168,6 +169,9 @@ export default {
     isExamine() {
       return this.detailData.examineStatus === 'OK' || this.detailData.examineStatus === 'FAIL'
     },
+    isDealer() {
+      return JSON.parse(localStorage.getItem("supply_user")).isCustomer
+    },
   },
 
   created() {
@@ -187,6 +191,20 @@ export default {
       })
     },
 
+    // 直调完结
+    overData() {
+      this.$confirm('此操作将直调完结订单, 是否继续?', '提示', {
+        confirmButtonText: '确定',
+        cancelButtonText: '取消',
+        type: 'warning'
+      }).then(() => {
+        overEngin({id: this.listItem.enginInfoId}).then(res => {
+          this.$successMsg();
+          this.getDetail();
+        })
+      }).catch(() => {});
+    },
+
   }
 }
 </script>

+ 1 - 1
src/views/supply/engin/engin_list.vue

@@ -135,7 +135,7 @@
                 <el-button 
                   type="text" 
                   @click="toForm(scope.row)" 
-                  v-if="$checkBtnRole('edit', $route.meta.roles) && scope.row.examineStatus === 'SAVE'">
+                  v-if="$checkBtnRole('edit', $route.meta.roles) && (scope.row.examineStatus === 'SAVE' || scope.row.examineStatus === 'OK')">
                   编辑
                 </el-button>
                 <el-button 

+ 62 - 35
src/views/supply/pickup/components/pickup_form.vue

@@ -114,7 +114,7 @@
 </template>
 
 <script>
-import { getWarehouseList, getDeliverList, getPickupManList, getPickupCarList, getCompanyList, addPickupBook, editPickupBook, getDetail } from "@/api/supply/pickup";
+import { getWarehouseList, getDeliverList, getPickupManList, getPickupCarList, getCompanyList, addPickupBook, editPickupBook, getDetail, checkStock } from "@/api/supply/pickup";
 import { getDictList } from "@/api/common";
 
 export default {
@@ -293,10 +293,6 @@ export default {
           if(this.tableSelection.length < 1) {
             return this.$errorMsg('请选择发货申请单');
           }
-          this.formLoading = true;
-
-          let takerName = this.pickupManList.find(o => o.id == this.mainForm.pickupMan).takerName;
-          let correspondName = this.warehouseList.find(o => o.id == this.mainForm.warehouse).name;
 
           let orderList = [];
           this.tableSelection.forEach(item => {
@@ -304,43 +300,74 @@ export default {
           });
           let params = {
             correspondId: this.mainForm.warehouse,
-            correspondName,
             pickTime: this.mainForm.date + ' 00:00:00',
-            pickStatus: Number(this.mainForm.timeSlot),
-            pickType: Number(this.mainForm.pickupWay),
-            takerId: this.mainForm.pickupMan,
-            takerName,
-            remark: this.mainForm.remark,
             invoiceOrderIds: orderList,
           }
-          if(this.mainForm.pickupWay == '1') {
-            params.takerCarId = this.mainForm.pickupCar;
-          }
-          if(this.mainForm.pickupWay == '2') {
-            params.pickLogistics = this.mainForm.company;
-          }
-          if(this.listItem) {
-            params.id = this.listItem.id;
-            editPickupBook(params).then(res => {
-              this.$successMsg('提交成功');
-              this.goBack();
-              this.$parent.getList();
-            }).finally(res => {
-              this.formLoading = false;
-            })
-          }else {
-            addPickupBook(params).then(res => {
-              this.$successMsg('提交成功');
-              this.goBack();
-              this.$parent.getList();
-            }).finally(res => {
-              this.formLoading = false;
-            })
-          }
+          checkStock(params).then(res => {
+            if(res.data) {
+              this.$confirm(res.data, '提示', {
+                confirmButtonText: '确定',
+                cancelButtonText: '取消',
+                type: 'warning'
+              }).then(() => {
+                this.submitForm();
+              }).catch(() => {});
+            }else {
+              this.submitForm();
+            }
+          })
+          
         }
       })
     },
 
+    submitForm() {
+      this.formLoading = true;
+
+      let takerName = this.pickupManList.find(o => o.id == this.mainForm.pickupMan).takerName;
+      let correspondName = this.warehouseList.find(o => o.id == this.mainForm.warehouse).name;
+
+      let orderList = [];
+      this.tableSelection.forEach(item => {
+        orderList.push(item.invoiceOrderId);
+      });
+      let params = {
+        correspondId: this.mainForm.warehouse,
+        correspondName,
+        pickTime: this.mainForm.date + ' 00:00:00',
+        pickStatus: Number(this.mainForm.timeSlot),
+        pickType: Number(this.mainForm.pickupWay),
+        takerId: this.mainForm.pickupMan,
+        takerName,
+        remark: this.mainForm.remark,
+        invoiceOrderIds: orderList,
+      }
+      if(this.mainForm.pickupWay == '1') {
+        params.takerCarId = this.mainForm.pickupCar;
+      }
+      if(this.mainForm.pickupWay == '2') {
+        params.pickLogistics = this.mainForm.company;
+      }
+      if(this.listItem) {
+        params.id = this.listItem.id;
+        editPickupBook(params).then(res => {
+          this.$successMsg('提交成功');
+          this.goBack();
+          this.$parent.getList();
+        }).finally(res => {
+          this.formLoading = false;
+        })
+      }else {
+        addPickupBook(params).then(res => {
+          this.$successMsg('提交成功');
+          this.goBack();
+          this.$parent.getList();
+        }).finally(res => {
+          this.formLoading = false;
+        })
+      }
+    },
+
     resetForm() {
       this.$refs.mainForm.resetFields();
       this.deliverList = [];