Browse Source

修改租户绑定数据源时和新增用户时的校验

lph 1 year ago
parent
commit
94f33c230c

+ 3 - 3
zkqy-ui/.env.development

@@ -11,10 +11,10 @@ VUE_APP_BASE_API = '/dev-api'
 VUE_CLI_BABEL_TRANSPILE_MODULES = true
 
 #数据引擎模块IP
-VUE_APP_BASE_API2 = 'http://192.168.110.76:8099/'
+VUE_APP_BASE_API2 = 'http://192.168.110.59:8099/'
 
 #表单引擎模块IP
-VUE_APP_BASE_API3 = 'http://192.168.110.76:8088/'
+VUE_APP_BASE_API3 = 'http://192.168.110.59:8088/'
 
 #流程引擎模块IP
-VUE_APP_BASE_API4 = 'http://192.168.110.76:8055/'
+VUE_APP_BASE_API4 = 'http://192.168.110.59:8055/'

+ 8 - 0
zkqy-ui/src/api/system/user.js

@@ -133,3 +133,11 @@ export function deptTreeSelect() {
     method: 'get'
   })
 }
+// 判断用户账号是否存在
+export function getIsExistUser(query) {
+  return request({
+    url: '/system/user/isExistUser',
+    method: 'get',
+    params: query
+  })
+}

+ 21 - 6
zkqy-ui/src/views/system/tenant/index.vue

@@ -373,6 +373,7 @@ import {
 } from "@/api/system/tenant";
 import { getDataSourceInfo, insertDataSource } from "@/api/system/data";
 import { servicesLoading } from "@/utils/zkqy";
+import { getIsExistUser } from "@/api/system/user";
 
 export default {
   name: "Tenant",
@@ -508,13 +509,27 @@ export default {
       }
     },
     // 租户名自定义校验规则
-    tenantAccountValidator(rule, value, callback) {
-      let isRepeat = this.allUser.filter((item) => item.userName == value);
-      if (isRepeat.length !== 0) {
-        callback(new Error("租户账号重复"));
-      } else {
-        callback();
+    async tenantAccountValidator(rule, value, callback) {
+      // let isRepeat = this.allUser.filter((item) => item.userName == value);
+      // if (isRepeat.length !== 0) {
+      //   callback(new Error("租户账号重复"));
+      // } else {
+      //   callback();
+      // }
+      if (value) {
+        await getIsExistUser({ userName: value }).then((res) => {
+          if (res.code == 200) {
+            if (res.data) {
+              callback();
+            } else {
+              callback(new Error("租户管理员账号已存在"));
+            }
+          } else {
+            callback(new Error("租户管理员账号校验失败,请重新输入"));
+          }
+        });
       }
+      callback();
     },
     // 数据库名称校验规则
     databaseNameValidator(rule, value, callback) {

+ 26 - 0
zkqy-ui/src/views/system/user/index.vue

@@ -567,6 +567,7 @@ import { getToken } from "@/utils/auth";
 import Treeselect from "@riophae/vue-treeselect";
 import "@riophae/vue-treeselect/dist/vue-treeselect.css";
 import { mapGetters } from "vuex";
+import { getIsExistUser } from "@/api/system/user";
 
 export default {
   name: "User",
@@ -608,6 +609,7 @@ export default {
       roleOptions: [],
       // 表单参数
       form: {},
+      oldNickname: "", //旧昵称
       defaultProps: {
         children: "children",
         label: "label",
@@ -659,6 +661,7 @@ export default {
             message: "用户名称长度必须介于 2 和 20 之间",
             trigger: "blur",
           },
+          { trigger: "blur", validator: this.validateNickName },
         ],
         nickName: [
           { required: true, message: "用户昵称不能为空", trigger: "blur" },
@@ -712,6 +715,28 @@ export default {
     },
   },
   methods: {
+    // 校验用户昵称是否重复
+    async validateNickName(rule, value, callback) {
+      // if (this.form.userId != undefined && value == this.oldNickname) {
+      //   //修改时不校验
+      //   callback();
+      //   return;
+      // }
+      if (value) {
+        await getIsExistUser({ userName: value }).then((res) => {
+          if (res.code == 200) {
+            if (res.data) {
+              callback();
+            } else {
+              callback(new Error("用户名称已存在"));
+            }
+          } else {
+            callback(new Error("用户名称校验失败,请重新输入"));
+          }
+        });
+      }
+      callback();
+    },
     // 表格中操作按钮的显示与隐藏
     isShowHandlerBtn(row) {
       if (this.isHasAdmin) {
@@ -847,6 +872,7 @@ export default {
       const userId = row.userId || this.ids;
       getUser(userId).then((response) => {
         this.form = response.data;
+        this.oldNickname = response.data.nickname; //记录旧的昵称
         this.postOptions = response.posts;
         this.roleOptions = response.roles;
         this.$set(this.form, "postIds", response.postIds);

+ 1 - 1
zkqy-ui/vue.config.js

@@ -37,7 +37,7 @@ module.exports = {
     proxy: {
       // detail: https://cli.vuejs.org/config/#devserver-proxy
       [process.env.VUE_APP_BASE_API]: {
-        target: `http://192.168.110.76:8080`,
+        target: `http://192.168.110.59:8080`,
         changeOrigin: true,
         pathRewrite: {
           ['^' + process.env.VUE_APP_BASE_API]: ''