Parcourir la source

【新增】调整家用工程订单,预留单

莫绍宝 il y a 3 ans
Parent
commit
66ec1fe102

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

@@ -27,6 +27,15 @@ export function getRetailProductList(params) {
   })
 }
 
+// 工程信息单 - 获取产品列表
+export function getEnginProductList(params) {
+  return request({
+    url: '/bus/price/list',
+    method: 'get',
+    params
+  })
+}
+
 // 获取仓位列表
 export function getPositionList(params) {
   return request({

+ 5 - 5
src/views/supply/engin/components/engin_form.vue

@@ -216,7 +216,7 @@
 </template>
 
 <script>
-import { getEnginDetail, getRetailProductList, addEngin, editEngin, submitEngin } from "@/api/supply/engin";
+import { getEnginDetail, getEnginProductList, addEngin, editEngin, submitEngin } from "@/api/supply/engin";
 import { getDictList, getTypeList } from '@/api/common'
 
 export default {
@@ -333,7 +333,7 @@ export default {
         this.goodsList = data.items;
 
         for (let i = 0; i < this.goodsList.length; i++) {
-          this.getRetailProductList(i);
+          this.getEnginProductList(i);
         }
       })
     },
@@ -356,8 +356,8 @@ export default {
     },
 
     // 获取商品列表
-    getRetailProductList(index) {
-      getRetailProductList({
+    getEnginProductList(index) {
+      getEnginProductList({
         pageNum: 1,
         pageSize: -1,
         saleId: this.goodsList[index].saleTypeId
@@ -382,7 +382,7 @@ export default {
       this.goodsList[index].unit = '';
       this.goodsList[index].price = '';
       this.goodsList[index].taxRate = '';
-      this.getRetailProductList(index);
+      this.getEnginProductList(index);
     },
 
     // 修改产品

+ 18 - 3
src/views/supply/engin/components/home_detail.vue

@@ -92,9 +92,13 @@
               <div class="label">项目类型</div>
               <div class="value">{{detailData.refProjectType}}</div>
             </el-col>
-            <el-col :span="24" class="item">
+            <el-col :span="24" class="item" v-if="!isDealer">
               <div class="label">格力内部备注</div>
-              <div class="value">{{detailData.geLiInerNote}}</div>
+              <div class="value">
+                <el-input v-model="detailData.geLiInerNote" placeholder="请输入格力内部备注"></el-input>
+                <el-divider direction="vertical"></el-divider>
+                <el-button type="text" @click="saveRemark">保存备注</el-button>
+              </div>
             </el-col>
             <el-col :span="16" class="item">
               <div class="label">备注</div>
@@ -342,7 +346,7 @@
 </template>
 
 <script>
-import { getOrderDetail, closeHome, overOrder, getWarehouseList, deliverOrder, directOrder, getPositionList } from "@/api/supply/engin";
+import { getOrderDetail, closeHome, overOrder, getWarehouseList, deliverOrder, directOrder, getPositionList, editHome } from "@/api/supply/engin";
 import CheckOrder from "@/components/Common/check-order";
 
 export default {
@@ -646,6 +650,17 @@ export default {
       this.isShowCheckOrder = true;
     },
 
+    // 保存备注
+    saveRemark() {
+      editHome({
+        enginOrderId: this.detailData.enginOrderId,
+        geLiInerNote: this.detailData.geLiInerNote,
+      }).then(res => {
+        this.$successMsg('编辑成功');
+        this.getDetail();
+      })
+    },
+
     backDetail() {
       this.isShowCheckOrder = false;
     },

+ 67 - 5
src/views/supply/engin/components/home_examine.vue

@@ -146,9 +146,7 @@
         fit
         highlight-current-row
         stripe
-        max-height="400"
-        show-summary
-        :summary-method="$getSummaries">
+        max-height="400">
         <el-table-column align="center" label="序号" type="index" width="50"></el-table-column>
         <el-table-column align="center" label="引用记录" prop="useRefCount" min-width="160" show-overflow-tooltip></el-table-column>
         <el-table-column align="center" label="销售类型" prop="saleTypeName" min-width="160" show-overflow-tooltip></el-table-column>
@@ -175,22 +173,56 @@
             {{ scope.row.totalAmount | numToFixed }}
           </template>
         </el-table-column>
-        <el-table-column align="center" label="返利类型" prop="customerWalletName2" min-width="140" show-overflow-tooltip></el-table-column>
+        <!-- <el-table-column align="center" label="返利类型" prop="customerWalletName2" min-width="140" show-overflow-tooltip></el-table-column>
         <el-table-column align="right" label="使用返利金额" prop="rebateAmount" min-width="120" show-overflow-tooltip>
           <template slot-scope="scope">
             {{ scope.row.rebateAmount | numToFixed }}
           </template>
+        </el-table-column> -->
+        <el-table-column align="center" label="返利类型" prop="customerWalletId2" min-width="160" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <el-select v-model="scope.row.customerWalletId2" placeholder="选择返利类型" size="small" clearable @change="changeFlWallet(scope.$index)">
+              <el-option
+                v-for="item in scope.row.rebateWallets"
+                :key="item.customerWalletId"
+                :label="item.customerWalletName"
+                :value="item.customerWalletId">
+              </el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column align="right" label="返利金额" min-width="100" show-overflow-tooltip>
+          <template slot-scope="scope">
+            {{(scope.row.price * scope.row.qty * (scope.row.rebateRate * 100)) / 100}}
+          </template>
         </el-table-column>
         <el-table-column align="right" label="格力折扣" prop="discAmount" min-width="100" show-overflow-tooltip>
           <template slot-scope="scope">
             {{ scope.row.discAmount | numToFixed }}
           </template>
         </el-table-column>
-        <el-table-column align="center" label="现金钱包" prop="customerWalletName" min-width="140" show-overflow-tooltip></el-table-column>
+        <!-- <el-table-column align="center" label="现金钱包" prop="customerWalletName" min-width="140" show-overflow-tooltip></el-table-column>
         <el-table-column align="right" label="实付金额" prop="payAmount" min-width="100" show-overflow-tooltip>
           <template slot-scope="scope">
             {{ scope.row.payAmount | numToFixed }}
           </template>
+        </el-table-column> -->
+        <el-table-column align="center" label="现金钱包" prop="customerWalletId" min-width="160" show-overflow-tooltip>
+          <template slot-scope="scope">
+            <el-select v-model="scope.row.customerWalletId" placeholder="选择现金钱包" size="small" clearable @change="changeXjWallet(scope.$index)">
+              <el-option
+                v-for="item in scope.row.wallets"
+                :key="item.customerWalletId"
+                :label="item.customerWalletName"
+                :value="item.customerWalletId">
+              </el-option>
+            </el-select>
+          </template>
+        </el-table-column>
+        <el-table-column align="right" label="实付金额" prop="qty" min-width="100" show-overflow-tooltip>
+          <template slot-scope="scope">
+            {{(((scope.row.price * scope.row.qty) * 100 - ((scope.row.price * scope.row.qty * (scope.row.rebateRate * 100)) / 100) * 100 - ((scope.row.qty * (scope.row.discAmount * 100)) / 100) * 100) / 100)  | numToFixed}}
+          </template>
         </el-table-column>
         <el-table-column align="center" label="是否直调" prop="isDirectTransfer" min-width="100" show-overflow-tooltip>
           <template slot-scope="scope">
@@ -319,10 +351,40 @@ export default {
             item.sums2 = ['totalAmount', 'payAmount', 'price', 'discAmount', 'rebateAmount'];
           })
         }
+        res.data.items.forEach(item => {
+          item.rebateWallets = item.customerWalletList.filter(item => {
+            return item.type === 'REBATE';
+          });
+          item.wallets = item.customerWalletList.filter(item => {
+            return item.type === 'COMMONLY';
+          });
+        })
         this.detailData = res.data;
       })
     },
 
+    // 修改返利钱包
+    changeFlWallet(index) {
+      if(this.detailData.items[index].customerWalletId2) {
+        let obj = this.detailData.items[index].rebateWallets.find(o => o.customerWalletId == this.detailData.items[index].customerWalletId2);
+        this.detailData.items[index].rebateRate = obj.rebateRate;
+        this.detailData.items[index].customerWalletName2 = obj.customerWalletName;
+      }else {
+        this.detailData.items[index].rebateRate = '';
+        this.detailData.items[index].customerWalletName2 = '';
+      }
+    },
+
+    // 修改现金钱包
+    changeXjWallet(index) {
+      if(this.detailData.items[index].customerWalletId) {
+        let obj = this.detailData.items[index].wallets.find(o => o.customerWalletId == this.detailData.items[index].customerWalletId);
+        this.detailData.items[index].customerWalletName = obj.customerWalletName;
+      }else {
+        this.detailData.items[index].customerWalletName = '';
+      }
+    },
+
     // 审批
     clickSubmitForm(val) {
       this.$confirm('此操作将审批订单, 是否继续?', '提示', {

+ 25 - 2
src/views/supply/reserve/reserve_list.vue

@@ -71,8 +71,15 @@
                 <el-input v-model="screenForm.orderNum" placeholder="请输入预留单号"></el-input>
               </el-form-item>
             </el-col>
+            <el-col :xs="24" :sm="12" :lg="6">
+              <el-form-item label="预留仓库" prop="warehouse">
+                <el-select v-model="screenForm.warehouse" placeholder="选择预留仓库" clearable>
+                  <el-option :label="item.name" :value="item.id" v-for="(item, index) in warehouseList" :key="index"></el-option>
+                </el-select>
+              </el-form-item>
+            </el-col>
             
-            <el-col :xs="24" :sm="24" :lg="12" class="tr">
+            <el-col :xs="24" :sm="12" :lg="6" class="tr">
               <el-form-item label="">
                 <el-button size="small" @click="resetScreenForm">清空</el-button>
                 <el-button size="small" type="primary" @click="submitScreenForm">搜索</el-button>
@@ -124,6 +131,7 @@
             <el-table-column align="right" label="原预留数量" prop="oldNum" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="right" label="预留数量" prop="reservedNum" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="right" label="开单数量" prop="qty" min-width="100" show-overflow-tooltip></el-table-column>
+            <el-table-column align="center" label="预留仓库" prop="correspondName" min-width="100" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="备注" prop="remark" min-width="160" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="经销商编码" prop="customerNumber" min-width="140" show-overflow-tooltip></el-table-column>
             <el-table-column align="center" label="经销商名称" prop="customerName" min-width="160" show-overflow-tooltip></el-table-column>
@@ -171,7 +179,7 @@
 </template>
 
 <script>
-import { getList, closeData } from "@/api/supply/reserve";
+import { getList, closeData, getWarehouseList } from "@/api/supply/reserve";
 import ReserveDetail from "@/views/supply/reserve/components/reserve_detail";
 import ReserveForm from "@/views/supply/reserve/components/reserve_form";
 
@@ -207,11 +215,13 @@ export default {
         saleNum: '',
         model: '',
         status: '',
+        warehouse: '',
       },
       statusList: [
         { label: '执行中', value: 1 },
         { label: '已关闭', value: 0 },
       ],
+      warehouseList: [],
 
       queryItem: {},
       isShowDetail: false,
@@ -234,6 +244,7 @@ export default {
         orderId: this.screenForm.saleNum,
         specification: this.screenForm.model,
         status: this.screenForm.status,
+        correspondId: this.screenForm.warehouse,
       }
     },
   },
@@ -243,10 +254,21 @@ export default {
   },
 
   created() {
+    this.getWarehouseList();
     this.getList();
   },
 
   methods: {
+    // 获取仓库列表
+    getWarehouseList() {
+      getWarehouseList({
+        pageNum: 1,
+        pageSize: -1,
+      }).then(res => {
+        this.warehouseList = res.data.records;
+      });
+    },
+
     // 查询列表
     getList() {
       this.listLoading = true;
@@ -266,6 +288,7 @@ export default {
         orderId: this.screenForm.saleNum,
         specification: this.screenForm.model,
         status: this.screenForm.status,
+        correspondId: this.screenForm.warehouse,
       };
       getList(params).then((res) => {
         res.data.records.forEach(item => {