lilei 4 lat temu
rodzic
commit
9e6f5bca2f

+ 7 - 3
src/components/Select/index.js

@@ -25,6 +25,10 @@ export default {
     showType: {
       type: String,
       default: 'select'
+    },
+    valueKey: {
+      type: String,
+      default: 'code'
     }
   }),
   created () {
@@ -75,7 +79,7 @@ export default {
     const on = {
       change: obj => {
         this.$emit('input', obj)
-        this.$emit('change', obj, _.find(this.dataList, ['code', obj]))
+        this.$emit('change', obj, _.find(this.dataList, [this.valueKey, obj]))
       }
     }
     if (this.showType === 'tabs') {
@@ -83,7 +87,7 @@ export default {
         <a-tabs vModel={props.value} {...{ props, on: on }}>
           {
             this.dataList.map(item => {
-              return (<a-tab-pane tab={item.dispName} key={item.code}></a-tab-pane>)
+              return (<a-tab-pane tab={item.dispName} key={item[this.valueKey]}></a-tab-pane>)
             })
           }
         </a-tabs>
@@ -93,7 +97,7 @@ export default {
       <Select vModel={props.value} {...{ props, on: on }}>
         {
           this.dataList.map(item => {
-            return (<a-select-option value={item.code} key={item.code}>{item['dispName']}</a-select-option>)
+            return (<a-select-option value={item[this.valueKey]} key={item[this.valueKey]}>{item['dispName']}</a-select-option>)
           })
         }
       </Select>

+ 21 - 1
src/views/dealerManagement/merchantInfoManagement/updateDealerLevel.vue

@@ -20,7 +20,15 @@
           {{ form.dealerName }}
         </a-form-model-item>
         <a-form-model-item label="商户级别" prop="dealerLevel">
-          <v-select code="DEALER_LEVEL" id="ucModal-dealerLevel" v-model="form.dealerLevel" allowClear placeholder="请选择商户级别"></v-select>
+          <v-select
+            code="DEALER_LEVEL"
+            id="ucModal-dealerLevel"
+            valueKey="id"
+            v-model="dealerLevel"
+            allowClear
+            @change="dealerLevelChange"
+            ref="dealerLevel"
+            placeholder="请选择商户级别"></v-select>
         </a-form-model-item>
         <div style="display: flex;justify-content: center;padding: 30px 0;">
           <a-button type="primary" @click="onSubmit">确定</a-button>
@@ -54,6 +62,7 @@ export default {
         dealerName: '',
         dealerLevel: undefined
       },
+      dealerLevel: undefined,
       rules: {
         dealerLevel: [
           { required: true, message: '请选择商户级别', trigger: 'change' }
@@ -63,11 +72,22 @@ export default {
     }
   },
   methods: {
+    dealerLevelChange (a, b) {
+      console.log(a, b)
+      this.form.dealerLevel = b.code
+    },
     setData (row) {
       this.form.dealerSn = row.dealerSn
       this.form.dealerName = row.dealerName
       this.form.dealerLevel = row.dealerLevel
       this.dealerLevelBak = row.dealerLevel
+
+      setTimeout(() => {
+        const d = this.$refs.dealerLevel.getOptionDatas()
+        const b = d.find(item => item.dispName == row.dealerName)
+        console.log(d, b, row.dealerName)
+        this.dealerLevel = b.id
+      }, 500)
     },
     onSubmit () {
       const _this = this