lilei 2 vuotta sitten
vanhempi
commit
ef3c4100ec

+ 1 - 1
public/version.json

@@ -1,5 +1,5 @@
 {
   "message": "发现有新版本发布,确定更新系统?",
   "vendorJsVersion": "",
-  "version": 1675737019934
+  "version": 1675738647756
 }

+ 15 - 0
src/views/purchasingManagement/purchaseOrder/outStockModal.vue

@@ -229,6 +229,21 @@ export default {
           _this.$refs.table.clearSelected() // 清空表格选中项
         }
       })
+    },
+    searchForm () {
+      this.$refs.table.refresh(true)
+    },
+    resetSearchForm () {
+      this.queryParam = {
+        productBrandSn: undefined,
+        code: '', //  产品编码
+        name: '', //  产品名称
+        productTypeSn1: '', //  产品一级分类
+        productTypeSn2: '', //  产品二级分类
+        productTypeSn3: '' //  产品三级分类
+      }
+      this.productType = []
+      this.$refs.table.refresh(true)
     }
   },
   watch: {

+ 17 - 8
src/views/purchasingManagement/purchaseOrderNew/chooseProductModal.vue

@@ -85,14 +85,16 @@
           </template>
           <!-- 采购数量 -->
           <template slot="storageQuantity" slot-scope="text, record">
-            <a-input-number
-              size="small"
-              v-model="record.qty"
-              :precision="0"
-              :min="0"
-              :max="999999"
-              style="width: 100%;"
-              placeholder="请输入数量" />
+            <div @dblclick.stop>
+              <a-input-number
+                size="small"
+                v-model="record.qty"
+                :precision="0"
+                :min="0"
+                :max="999999"
+                style="width: 100%;"
+                placeholder="请输入数量" />
+            </div>
           </template>
           <!-- 操作 -->
           <template slot="action" slot-scope="text, record">
@@ -280,6 +282,13 @@ export default {
     > div {
       height: 100%;
     }
+    .noStock{
+      text-decoration: line-through;
+      color: red;
+    }
+    .ant-input-number-sm input{
+      text-align: center;
+    }
   }
 }
 </style>

+ 17 - 17
src/views/purchasingManagement/purchaseOrderNew/edit.vue

@@ -1,9 +1,9 @@
 <template>
-  <div v-if="showPage" class="purchaseOrderEdit-wrap">
-    <a-page-header :ghost="false" :backIcon="false" class="purchaseOrderEdit-cont">
+  <div v-if="showPage" class="purchaseNewOrderEdit-wrap">
+    <a-page-header :ghost="false" :backIcon="false" class="purchaseNewOrderEdit-cont">
       <!-- 自定义的二级文字标题 -->
       <template slot="subTitle">
-        <a id="purchaseOrderEdit-back-btn" href="javascript:;" @click="handleBack"><a-icon type="left" /> 返回列表</a>
+        <a id="purchaseNewOrderEdit-back-btn" href="javascript:;" @click="handleBack"><a-icon type="left" /> 返回列表</a>
         <p class="billno">单号:{{ detail&&detail.purchaseBillNo }}</p>
         <a-button type="primary" ghost @click="isShowBisiceInfo=!isShowBisiceInfo" style="margin-left:30px;vertical-align:middle;">
           基础信息
@@ -50,6 +50,9 @@
         @close="openChooseProduct=false"
         @add="handleAdd"
       ></chooseProductModal>
+      <!-- 上次缺货 -->
+      <outStockModal :openModal="openOutStockModal" :paramsData="paramsData" @close="openOutStockModal=false" @ok="hanldeOkOutStock" />
+      <!-- 购物车 -->
       <!-- 已选产品 -->
       <div>
         <div class="chooseBox-title">
@@ -58,10 +61,10 @@
             <p class="tag-txt">注意:仅限采购【箭冠】产品。自建产品的采购入库请使用“散件入库”功能</p>
           </div>
           <div class="actions-button">
-            <a-button id="purchaseOrderEdit-add-btn" type="primary" ghost @click="openChooseProduct=true">添加产品</a-button>
-            <a-button id="purchaseOrderEdit-import-btn" type="primary" ghost @click="openGuideModal=true">产品导入</a-button>
-            <a-button id="purchaseOrderEdit-outStock-btn" type="primary" ghost @click="handleOutStock">上次缺货</a-button>
-            <a-button id="purchaseOrderEdit-cart-btn" type="primary" ghost>购物车</a-button>
+            <a-button v-if="detail&&detail.totalCategory" id="purchaseNewOrderEdit-add-btn" type="primary" ghost @click="openChooseProduct=true">添加产品</a-button>
+            <a-button id="purchaseNewOrderEdit-import-btn" type="primary" ghost @click="openGuideModal=true">产品导入</a-button>
+            <a-button id="purchaseNewOrderEdit-outStock-btn" type="primary" ghost @click="handleOutStock">上次缺货</a-button>
+            <a-button id="purchaseNewOrderEdit-cart-btn" type="primary" ghost>购物车</a-button>
           </div>
         </div>
         <div class="choosed-table" v-if="detail&&detail.totalCategory">
@@ -83,8 +86,8 @@
                     </a-col>
                     <a-col :md="8" :sm="24">
                       <a-form-model-item style="margin-bottom: 10px;">
-                        <a-button type="primary" @click="$refs.purchaseTable.refresh(true)" :disabled="purchaseDisabled" id="purchaseOrderEdit-refresh">查询</a-button>
-                        <a-button style="margin-left: 5px" @click="resetPurchaseForm" id="purchaseOrderEdit-reset">重置</a-button>
+                        <a-button type="primary" @click="$refs.purchaseTable.refresh(true)" :disabled="purchaseDisabled" id="purchaseNewOrderEdit-refresh">查询</a-button>
+                        <a-button style="margin-left: 5px" @click="resetPurchaseForm" id="purchaseNewOrderEdit-reset">重置</a-button>
                       </a-form-model-item>
                     </a-col>
                   </a-row>
@@ -108,7 +111,7 @@
             <template slot="storageQuantity" slot-scope="text, record">
               <a-input-number
                 size="small"
-                id="purchaseOrderEdit-qty"
+                id="purchaseNewOrderEdit-qty"
                 v-model="record.qty"
                 :precision="0"
                 :min="1"
@@ -125,7 +128,7 @@
                 class="button-error"
                 :loading="delLoading"
                 @click="handleDel(record)"
-                id="purchaseOrderEdit-del-btn">删除</a-button>
+                id="purchaseNewOrderEdit-del-btn">删除</a-button>
             </template>
           </s-table>
         </div>
@@ -161,7 +164,7 @@
         <div>
           <a-button
             type="primary"
-            id="purchaseOrderEdit-submit-btn"
+            id="purchaseNewOrderEdit-submit-btn"
             size="large"
             class="button-primary"
             :loading="subLoading"
@@ -172,11 +175,8 @@
     </div>
     <!-- 导入产品 -->
     <importGuideModal :openModal="openGuideModal" :params="{purchaseBillSn: $route.params.sn}" @close="openGuideModal=false" @ok="hanldeOks" />
-    <!-- 上次缺货 -->
-    <outStockModal :openModal="openOutStockModal" :paramsData="paramsData" @close="openOutStockModal=false" @ok="hanldeOkOutStock" />
     <!-- 选择地址 -->
     <choose-address-modal :openModal="openAddrModal" @ok="handleAddrOk" @close="openAddrModal=false" />
-    <!-- 购物车 -->
   </div>
 </template>
 
@@ -462,7 +462,7 @@ export default {
 </script>
 
 <style lang="less">
-  .purchaseOrderEdit-wrap{
+  .purchaseNewOrderEdit-wrap{
     position: relative;
     height: 100%;
     box-sizing: border-box;
@@ -529,7 +529,7 @@ export default {
         }
       }
     }
-    .purchaseOrderEdit-cont{
+    .purchaseNewOrderEdit-cont{
       margin-bottom: 8px;
       .sub-title{
         font-size: 12px;

+ 93 - 15
src/views/purchasingManagement/purchaseOrderNew/outStockModal.vue

@@ -1,16 +1,49 @@
 <template>
-  <a-modal
-    centered
-    class="outStock-modal"
-    :footer="null"
-    :maskClosable="false"
-    title="上次采购缺货产品明细"
-    v-model="isShow"
-    @cancel="isShow=false"
-    :width="800">
+  <a-drawer
+    :zIndex="zIndex"
+    :title="title"
+    placement="right"
+    :visible="isShow"
+    :width="width"
+    :get-container="false"
+    :wrap-style="{ position: 'absolute' }"
+    @close="onCancel"
+    wrapClassName="outStock-modal"
+  >
     <a-spin :spinning="spinning" tip="Loading...">
       <div class="outStock-con">
         <div>
+          <div ref="tableSearch" class="table-page-search-wrapper">
+            <a-form layout="inline" @keyup.enter.native="searchForm">
+              <a-row :gutter="15">
+                <a-col :md="8" :sm="24">
+                  <a-form-item label="产品编码">
+                    <a-input id="productInfoList-code" v-model.trim="queryParam.code" allowClear placeholder="请输入产品编码"/>
+                  </a-form-item>
+                </a-col>
+                <a-col :md="8" :sm="24">
+                  <a-form-item label="产品名称">
+                    <a-input id="productInfoList-name" v-model.trim="queryParam.name" allowClear placeholder="请输入产品名称"/>
+                  </a-form-item>
+                </a-col>
+                <a-col :md="8" :sm="24">
+                  <a-form-item label="产品分类">
+                    <ProductType id="productInfoList-productType" placeholder="请选择产品分类" :isDealer="true" @change="changeProductType" v-model="productType"></ProductType>
+                  </a-form-item>
+                </a-col>
+                <a-col :md="8" :sm="24">
+                  <a-form-item label="产品品牌">
+                    <ProductBrand id="productInfoList-productBrandSn" placeholder="请选择产品品牌" v-model="queryParam.productBrandSn"></ProductBrand>
+                    </a-select>
+                  </a-form-item>
+                </a-col>
+                <a-col :md="8" :sm="24" style="margin-bottom: 10px;">
+                  <a-button type="primary" @click="searchForm" :disabled="disabled" id="productInfoList-refresh">查询</a-button>
+                  <a-button style="margin-left: 5px" @click="resetSearchForm" :disabled="disabled" id="productInfoList-reset">重置</a-button>
+                </a-col>
+              </a-row>
+            </a-form>
+          </div>
           <p style="font-weight: bold;">当前已选:{{ rowSelectionInfo&&rowSelectionInfo.selectedRowKeys.length }}个</p>
           <!-- 列表 -->
           <s-table
@@ -35,7 +68,7 @@
             size="large"
             class="button-primary"
             @click="handleSave"
-            style="padding: 0 36px;">加入本次采购</a-button>
+            style="padding: 0 36px;">批量添加</a-button>
           <a-button
             id="outStock-cancel"
             size="large"
@@ -44,17 +77,20 @@
             style="padding: 0 60px;margin-left: 15px;">取消</a-button>
         </div>
       </div>
+      </div>
     </a-spin>
-  </a-modal>
+  </a-drawer>
 </template>
 
 <script>
 import { commonMixin } from '@/utils/mixin'
 import { STable } from '@/components'
 import { purchaseDetailCancelList, purchaseDetailCancelSave } from '@/api/purchaseDetail'
+import ProductType from '../../common/productType.js'
+import ProductBrand from '../../common/productBrand.js'
 export default {
   name: 'OutStockModal',
-  components: { STable },
+  components: { STable, ProductType, ProductBrand },
   mixins: [commonMixin],
   props: {
     openModal: { //  弹框显示状态
@@ -72,6 +108,14 @@ export default {
       default: () => {
         return {}
       }
+    },
+    width: {
+      type: [String, Number],
+      default: '70%'
+    },
+    zIndex: {
+      type: Number,
+      default: 1050
     }
   },
   data () {
@@ -89,6 +133,7 @@ export default {
         { title: '上次缺货数量', dataIndex: 'cancelQty', width: '18%', align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
         { title: '单位', dataIndex: 'dealerProductEntity.unit', width: '8%', align: 'center', customRender: function (text) { return text || '--' } }
       ],
+      title: '上次采购缺货产品明细(采购单号:' + 'XS22456789' + ')',
       // 加载数据方法 必须为 Promise 对象
       loadData: parameter => {
         this.disabled = true
@@ -104,10 +149,25 @@ export default {
         })
       },
       spinning: false,
-      rowSelectionInfo: null
+      rowSelectionInfo: null,
+      productType: [],
+      queryParam: { //  查询条件
+        code: '', //  产品编码
+        name: '', //  产品名称
+        productBrandSn: undefined, //  产品品牌
+        productTypeSn1: '', //  产品一级分类
+        productTypeSn2: '', //  产品二级分类
+        productTypeSn3: '' //  产品三级分类
+      }
     }
   },
   methods: {
+    //  产品分类  change
+    changeProductType (val, opt) {
+      this.queryParam.productTypeSn1 = val[0] ? val[0] : ''
+      this.queryParam.productTypeSn2 = val[1] ? val[1] : ''
+      this.queryParam.productTypeSn3 = val[2] ? val[2] : ''
+    },
     // 表格选中项
     rowSelectionFun (obj) {
       this.rowSelectionInfo = obj || null
@@ -180,6 +240,25 @@ export default {
           _this.$refs.table.clearSelected() // 清空表格选中项
         }
       })
+    },
+    onCancel () {
+      this.$emit('close')
+      this.$refs.table.clearSelected() // 清空表格选中项
+    },
+    searchForm () {
+      this.$refs.table.refresh(true)
+    },
+    resetSearchForm () {
+      this.queryParam = {
+        productBrandSn: undefined,
+        code: '', //  产品编码
+        name: '', //  产品名称
+        productTypeSn1: '', //  产品一级分类
+        productTypeSn2: '', //  产品二级分类
+        productTypeSn3: '' //  产品三级分类
+      }
+      this.productType = []
+      this.$refs.table.refresh(true)
     }
   },
   watch: {
@@ -190,8 +269,7 @@ export default {
     //  重定义的弹框状态
     isShow (newValue, oldValue) {
       if (!newValue) {
-        this.$emit('close')
-        this.$refs.table.clearSelected() // 清空表格选中项
+        this.onCancel()
       }
     }
   }