瀏覽代碼

采购管理

chenrui 7 月之前
父節點
當前提交
2afd624cf2

+ 20 - 12
src/components/Select/index.js

@@ -33,21 +33,29 @@ export default {
       }
     }
   }),
-  created () {
-    const _this = this
-    const allLookup = JSON.parse(sessionStorage.getItem('allLookup'))
-    const data = allLookup.find(item => item.code == _this.code)
-    // 判断是否是省仓用户
-    _this.dataList = _this.$store.state.user.dealerSupplierFlag == '1' ? data.itemList : data.itemList.filter(item => item.dispName != '省级批发价')
-    // 判断是否不显示指定选项
-    if (_this.notIn) {
-      _this.dataList = _this.dataList.filter(item => _this.notIn.indexOf(item.code) < 0)
+  watch: {
+    notIn (newVal, oldVal) {
+      this.getDataList()
     }
-    setTimeout(() => {
-      _this.$emit('loadDataFinish', _this.dataList)
-    }, 100)
+  },
+  created () {
+    this.getDataList()
   },
   methods: {
+    getDataList () {
+      const _this = this
+      const allLookup = JSON.parse(sessionStorage.getItem('allLookup'))
+      const data = allLookup.find(item => item.code == _this.code)
+      // 判断是否是省仓用户
+      _this.dataList = _this.$store.state.user.dealerSupplierFlag == '1' ? data.itemList : data.itemList.filter(item => item.dispName != '省级批发价')
+      // 判断是否不显示指定选项
+      if (_this.notIn) {
+        _this.dataList = _this.dataList.filter(item => _this.notIn.indexOf(item.code) < 0)
+      }
+      setTimeout(() => {
+        _this.$emit('loadDataFinish', _this.dataList)
+      }, 100)
+    },
     // 根据code 获取名称
     getNameByCode (code) {
       const a = this.dataList.find(item => {

+ 25 - 2
src/views/purchasingManagement/purchaseOrder/basicInfoModal.vue

@@ -27,6 +27,17 @@
           </a-radio-group>
           <span v-else>没有可选择的供应商</span>
         </a-form-model-item>
+        <a-form-model-item label="产品类型" prop="tireType">
+          <v-select
+            code="ORDER_TYPE"
+            id="purchaseOrder-basicInfo-tireType"
+            v-model="form.tireType"
+            allowClear
+            placeholder="请选择产品类型"
+            :notIn="notShowIn"
+            showType="radio"
+          ></v-select>
+        </a-form-model-item>
         <a-form-model-item label="支付方式" prop="settleStyleSn">
           <v-select
             code="SETTLE_STYLE"
@@ -87,12 +98,14 @@ export default {
         consigneeName: '', // 联系人名称
         settleStyleSn: undefined, //  支付方式
         purchaseTargetSn: undefined, // 供应商
-        purchaseTargetName: '' // 供应商名称
+        purchaseTargetName: '', // 供应商名称
+        tireType: undefined // 产品类型
       },
       rules: {
         purchaseTargetSn: [
           { required: true, message: '请选择供应商', trigger: 'change' }
         ],
+        tireType: [{ required: true, message: '请选择产品类型', trigger: 'change' }],
         settleStyleSn: [
           { required: true, message: '请选择支付方式', trigger: 'change' }
         ],
@@ -104,7 +117,8 @@ export default {
       addressVal: '选择地址', //  选择地址/更换地址
       chooseAddr: '', //  当前已选地址信息
       addressId: undefined, // 地址id
-      openAddrModal: false // 选择地址弹框是否显示
+      openAddrModal: false, // 选择地址弹框是否显示
+      notShowIn: []// 产品类型不显示
     }
   },
   methods: {
@@ -122,6 +136,7 @@ export default {
       this.form.purchaseTargetType = ''
       this.form.purchaseTargetSn = undefined
       this.form.purchaseTargetName = ''
+      this.form.tireType = undefined
     },
     // 供应商change
     tragetTypeChange (e) {
@@ -131,6 +146,14 @@ export default {
         this.form.purchaseTargetType = this.purchaseTragetType[ind].purchaseTargetType
         this.form.purchaseTargetName = this.purchaseTragetType[ind].purchaseTargetName
       }
+      // 经销商向“上级”或“省仓”采购时,默认勾选“非轮胎产品”,不显示轮胎产品
+      if (this.form.purchaseTargetType != 'SUPPLIER_SYS') {
+        this.notShowIn = ['TIRE']
+        this.form.tireType = 'OTHER'
+      } else {
+        this.notShowIn = []
+        this.form.tireType = undefined
+      }
     },
     //  保存
     handleSubmit (e) {

+ 25 - 2
src/views/purchasingManagement/purchaseOrderNew/basicInfoModal.vue

@@ -27,6 +27,17 @@
           </a-radio-group>
           <span v-else>没有可选择的供应商</span>
         </a-form-model-item>
+        <a-form-model-item label="产品类型" prop="tireType">
+          <v-select
+            code="ORDER_TYPE"
+            id="purchaseOrder-basicInfo-tireType"
+            v-model="form.tireType"
+            allowClear
+            placeholder="请选择产品类型"
+            :notIn="notShowIn"
+            showType="radio"
+          ></v-select>
+        </a-form-model-item>
         <a-form-model-item label="支付方式" prop="settleStyleSn">
           <v-select
             code="SETTLE_STYLE"
@@ -86,12 +97,14 @@ export default {
         consigneeName: '', // 联系人名称
         settleStyleSn: undefined, //  支付方式
         purchaseTargetSn: undefined, // 供应商sn
-        purchaseTargetName: '' // 供应商名称
+        purchaseTargetName: '', // 供应商名称
+        tireType: undefined // 产品类型
       },
       rules: {
         purchaseTargetSn: [
           { required: true, message: '请选择供应商', trigger: 'change' }
         ],
+        tireType: [{ required: true, message: '请选择产品类型', trigger: 'change' }],
         settleStyleSn: [
           { required: true, message: '请选择支付方式', trigger: 'change' }
         ],
@@ -103,7 +116,8 @@ export default {
       addressVal: '选择地址', //  选择地址/更换地址
       chooseAddr: '', //  当前已选地址信息
       addressId: undefined, // 地址id
-      openAddrModal: false // 选择地址弹框是否显示
+      openAddrModal: false, // 选择地址弹框是否显示
+      notShowIn: []// 产品类型不显示
     }
   },
   methods: {
@@ -121,6 +135,7 @@ export default {
       this.form.purchaseTargetType = ''
       this.form.purchaseTargetSn = undefined
       this.form.purchaseTargetName = ''
+      this.form.tireType = undefined
     },
     // 选择供应商change
     tragetTypeChange (e) {
@@ -130,6 +145,14 @@ export default {
         this.form.purchaseTargetType = this.purchaseTragetType[ind].purchaseTargetType
         this.form.purchaseTargetName = this.purchaseTragetType[ind].purchaseTargetName
       }
+      // 经销商向“上级”或“省仓”采购时,默认勾选“非轮胎产品”,不显示轮胎产品
+      if (this.form.purchaseTargetType != 'SUPPLIER_SYS') {
+        this.notShowIn = ['TIRE']
+        this.form.tireType = 'OTHER'
+      } else {
+        this.notShowIn = []
+        this.form.tireType = undefined
+      }
     },
     //  保存
     handleSubmit (e) {