Sfoglia il codice sorgente

:lipstick: Updating the UI and style files. 秘钥类型唯一性判断

冷冷 5 anni fa
parent
commit
c35d27df47

+ 72 - 55
src/const/crud/admin/sys-social-details.js

@@ -14,6 +14,23 @@
  * this software without specific prior written permission.
  * Author: lengleng (wangiegie@gmail.com)
  */
+import {getObj} from '@/api/admin/sys-social-details'
+
+var validateSocial = (rule, value, callback) => {
+  debugger
+  getObj(value).then(response => {
+    if (window.boxType === 'edit') {
+      return callback()
+    }
+    const result = response.data.data
+    debugger
+    if (result.length !== 0) {
+      callback(new Error('此类型密钥已存在'))
+    } else {
+      callback()
+    }
+  })
+}
 
 export const tableOption = {
   border: true,
@@ -32,60 +49,60 @@ export const tableOption = {
     addDisplay: false,
     editDisabled: true
   },
-  {
-    label: '类型',
-    prop: 'type',
-    type: 'select',
-    dicUrl: '/admin/dict/type/social_type',
-    search: true,
-    rules: [{
-      required: true,
-      message: '请选择类型',
-      trigger: 'blur'
-    }]
-  },
-  {
-    label: '描述',
-    prop: 'remark'
-  },
-  {
-    label: 'appId',
-    prop: 'appId',
-    overHidden: true,
-    rules: [{
-      required: true,
-      message: '请输入appId',
-      trigger: 'blur'
-    }]
-  },
-  {
-    label: 'appSecret',
-    prop: 'appSecret',
-    overHidden: true,
-    rules: [{
-      required: true,
-      message: '请输入appSecret',
-      trigger: 'blur'
-    }]
-  },
-  {
-    label: '回调地址',
-    prop: 'redirectUrl',
-    hide: true,
-    rules: [{
-      required: true,
-      message: '请输入回调地址',
-      trigger: 'blur'
-    }]
-  },
-  {
-    valueFormat: 'timestamp',
-    format: 'yyyy-MM-dd hh:mm:ss',
-    label: '创建时间',
-    prop: 'createTime',
-    align: 'center',
-    addDisplay: false,
-    editDisabled: true
-  }
+    {
+      label: '类型',
+      prop: 'type',
+      type: 'select',
+      dicUrl: '/admin/dict/type/social_type',
+      search: true,
+      rules: [{
+        required: true,
+        message: '请选择类型',
+        trigger: 'blur'
+      }, {validator: validateSocial, trigger: 'blur'}]
+    },
+    {
+      label: '描述',
+      prop: 'remark'
+    },
+    {
+      label: 'appId',
+      prop: 'appId',
+      overHidden: true,
+      rules: [{
+        required: true,
+        message: '请输入appId',
+        trigger: 'blur'
+      }]
+    },
+    {
+      label: 'appSecret',
+      prop: 'appSecret',
+      overHidden: true,
+      rules: [{
+        required: true,
+        message: '请输入appSecret',
+        trigger: 'blur'
+      }]
+    },
+    {
+      label: '回调地址',
+      prop: 'redirectUrl',
+      hide: true,
+      rules: [{
+        required: true,
+        message: '请输入回调地址',
+        trigger: 'blur'
+      }]
+    },
+    {
+      valueFormat: 'timestamp',
+      format: 'yyyy-MM-dd hh:mm:ss',
+      label: '创建时间',
+      prop: 'createTime',
+      align: 'center',
+      addDisplay: false,
+      editDisabled: true
+    }
   ]
 }

+ 5 - 0
src/views/admin/social/index.vue

@@ -26,6 +26,7 @@
         :option="tableOption"
         :permission="permissionList"
         @on-load="getList"
+        :before-open="beforeOpen"
         @refresh-change="refreshChange"
         @search-change="searchChange"
         @size-change="sizeChange"
@@ -126,6 +127,10 @@
       },
       currentChange(current) {
         this.page.currentPage = current
+      },
+      beforeOpen(show, type) {
+        window.boxType = type
+        show()
       }
     }
   }