Ver código fonte

feat: 商家登录名额限制经销商增加远程搜索

Howie 1 ano atrás
pai
commit
ee1ea5e23b
1 arquivos alterados com 54 adições e 30 exclusões
  1. 54 30
      src/views/basic_data/numerusClausus.vue

+ 54 - 30
src/views/basic_data/numerusClausus.vue

@@ -18,9 +18,28 @@
       :close-on-click-modal="false"
       @close="handleClose"
     >
-      <el-form ref="formData" :model="formData" :rules="rules" label-width="150px" :inline="false" size="mini" :disabled="isDetail">
+      <el-form
+        ref="formData"
+        :model="formData"
+        :rules="rules"
+        label-width="150px"
+        :inline="false"
+        size="mini"
+        :disabled="isDetail"
+      >
         <el-form-item label="商家信息" prop="customerId">
-          <el-select v-model="formData.customerId" placeholder="请选择" clearable filterable style="width: 100%;" @change="handleChange">
+          <el-select
+            v-model="formData.customerId"
+            placeholder="请选择"
+            clearable
+            filterable
+            remote
+            reserve-keyword
+            :remote-method="remoteMethod"
+            :loading="loading"
+            style="width: 100%"
+            @change="handleChange"
+          >
             <el-option v-for="item in customerList" :key="item.id" :label="item.name" :value="item.id" />
           </el-select>
         </el-form-item>
@@ -78,6 +97,7 @@ export default {
   mixins: [import_mixin, add_callback_mixin],
   data() {
     return {
+      loading: false,
       visible: false,
       // 事件组合
       optionsEvensGroup: [
@@ -97,7 +117,7 @@ export default {
           [
             {
               name: '批量删除',
-              click: async() => {
+              click: async () => {
                 if (this.recordSelected.length === 0) {
                   this.$message.error('请选择需要删除的数据')
                   return
@@ -139,24 +159,12 @@ export default {
       },
       customerList: [],
       rules: {
-        customerId: [
-          { required: true, message: '请选择', trigger: 'change' }
-        ],
-        customerNumber: [
-          { required: true, message: '请填写', trigger: 'change' }
-        ],
-        homeLoginLimit: [
-          { required: true, message: '请填写', trigger: 'change' }
-        ],
-        spanLoginLimit: [
-          { required: true, message: '请填写', trigger: 'change' }
-        ],
-        workLoginLimit: [
-          { required: true, message: '请填写', trigger: 'change' }
-        ],
-        state: [
-          { required: true, message: '请选择', trigger: 'change' }
-        ]
+        customerId: [{ required: true, message: '请选择', trigger: 'change' }],
+        customerNumber: [{ required: true, message: '请填写', trigger: 'change' }],
+        homeLoginLimit: [{ required: true, message: '请填写', trigger: 'change' }],
+        spanLoginLimit: [{ required: true, message: '请填写', trigger: 'change' }],
+        workLoginLimit: [{ required: true, message: '请填写', trigger: 'change' }],
+        state: [{ required: true, message: '请选择', trigger: 'change' }]
       },
       isDetail: false
     }
@@ -180,10 +188,10 @@ export default {
     operation() {
       return (_h, { row, index, column }) => {
         return (
-          <div class='operation-btns'>
+          <div class="operation-btns">
             <el-button
-              size='mini'
-              type='text'
+              size="mini"
+              type="text"
               onClick={() => {
                 this.getDealerListV2()
                 this.getMerchantLoginQuotaLimitDetail(row.id)
@@ -193,8 +201,8 @@ export default {
               编辑
             </el-button>
             <el-button
-              size='mini'
-              type='text'
+              size="mini"
+              type="text"
               onClick={() => {
                 this.getDealerListV2()
                 this.getMerchantLoginQuotaLimitDetail(row.id)
@@ -206,7 +214,7 @@ export default {
             </el-button>
             {
               <el-popconfirm
-                title='确定删除吗?'
+                title="确定删除吗?"
                 onOnConfirm={() => {
                   delMerchantLoginQuotaLimit([row.id]).then(res => {
                     this.$refs.pageRef.refreshList()
@@ -214,7 +222,7 @@ export default {
                   })
                 }}
               >
-                <el-button slot='reference' type='text' size='mini'>
+                <el-button slot="reference" type="text" size="mini">
                   删除
                 </el-button>
               </el-popconfirm>
@@ -238,12 +246,28 @@ export default {
         }
       })
     },
-    getDealerListV2() {
+    remoteMethod(e) {
+      this.loading = true
+      this.getDealerListV2(e)
+    },
+    getDealerListV2(e) {
+      let params = []
+      if (e) {
+        params = [
+          {
+            param: 'a.name',
+            compare: 'like',
+            value: e
+          }
+        ]
+      }
       getDealerListV2({
         pageNum: 1,
-        pageSize: 100
+        pageSize: 200,
+        params
       }).then(res => {
         this.customerList = res.data.records
+        this.loading = false
       })
     },
     handleChange(e) {