浏览代码

商品管理新增供应方字段以及筛选

qymljy 3 月之前
父节点
当前提交
62ae5b8850
共有 2 个文件被更改,包括 58 次插入2 次删除
  1. 10 2
      src/HDrpManagement/ProductMag/index.vue
  2. 48 0
      src/components/generalTemplate/select.vue

+ 10 - 2
src/HDrpManagement/ProductMag/index.vue

@@ -138,6 +138,7 @@
             </el-option>
           </el-select>
         </div>
+        <selectTemplate title="供应方" payload="supplier" @onChange="onChange"></selectTemplate>
       </template>
       <template v-slot:tbList="scope">
         <div>
@@ -217,6 +218,7 @@ import importImage from './modules/importImage.vue'
 import importInfo from './modules/importInfo.vue'
 import commissionSchemeSet from "@/HDrpManagement/ProductMag/modules/components/commissionSchemeSet";
 import setFieldCommission from './modules/components/setFieldCommission'
+import selectTemplate from '@/components/generalTemplate/select'
 import { Loading } from 'element-ui';
 
 export default {
@@ -251,7 +253,8 @@ export default {
         model:'',
         spec:'',
         tradefield:'',
-        categories:''
+        categories:'',
+        supplier:''
       },
       rowData:[],
       tradefieldData:[],
@@ -273,7 +276,8 @@ export default {
     batchUp,
     batchDown,
     commissionSchemeSet,
-    setFieldCommission
+    setFieldCommission,
+    selectTemplate
   },
   methods:{
     async isOnSaleChange(val){
@@ -414,6 +418,10 @@ export default {
     listData(){
       this.$refs.basicLayout.param.content.where = this.selectParam
       this.$refs.basicLayout.listData()
+    },
+    onChange(data,type){
+      this.selectParam[type] = data
+      this.selectChange()
     }
   },
   mounted() {

+ 48 - 0
src/components/generalTemplate/select.vue

@@ -0,0 +1,48 @@
+<template>
+  <div>
+    <label  class="search__label" >{{title}}:</label>
+    <el-select class="inline-24" v-model="selectData" :placeholder="placeholder" @change="selectChange" size="small" clearable @focus="onFocus">
+      <el-option
+          v-for="item in list"
+          :key="item.value"
+          :label="$t(item.value)"
+          :value="item.value">
+      </el-option>
+    </el-select>
+  </div>
+</template>
+
+<script>
+export default {
+  name: "select",
+  props:{
+    title:String,
+    placeholder:String,
+    payload:String
+  },
+  data(){
+    return {
+      list:[],
+      selectData:''
+    }
+  },
+  methods:{
+    selectChange(){
+      this.$emit(`onChange`,this.selectData,this.payload)
+    },
+    onFocus(){
+      if (this.list.length == 0){
+        this.listData()
+      }
+    },
+    async listData(){
+      const res = await this.$store.dispatch('optiontypeselect',this.payload)
+      this.list = res.data
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>