|
@@ -233,7 +233,7 @@
|
|
|
ref="dataSourceForm"
|
|
|
:model="dataSourceForm"
|
|
|
:rules="dataSourceFormRules"
|
|
|
- label-width="100px"
|
|
|
+ label-width="120px"
|
|
|
>
|
|
|
<el-form-item label="数据源类型" prop="databaseType">
|
|
|
<el-select
|
|
@@ -256,6 +256,13 @@
|
|
|
placeholder="请输入数据库名称"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="租户管理员账号" prop="tenantAccount">
|
|
|
+ <el-input
|
|
|
+ v-model="dataSourceForm.tenantAccount"
|
|
|
+ placeholder="请输入租户管理员账号"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+
|
|
|
<!-- !dataSourceType -->
|
|
|
<el-form-item
|
|
|
label="数据库IP"
|
|
@@ -303,6 +310,7 @@ import {
|
|
|
addTenant,
|
|
|
updateTenant,
|
|
|
bindDatasource,
|
|
|
+ selectAllUser,
|
|
|
} from "@/api/system/tenant";
|
|
|
import { getDataSourceInfo, insertDataSource } from "@/api/system/data";
|
|
|
|
|
@@ -335,6 +343,8 @@ export default {
|
|
|
title: "",
|
|
|
// 是否显示弹出层
|
|
|
open: false,
|
|
|
+ // 所有用户信息
|
|
|
+ allUser: [],
|
|
|
// 查询参数
|
|
|
queryParams: {
|
|
|
pageNum: 1,
|
|
@@ -361,6 +371,7 @@ export default {
|
|
|
dataSourceForm: {
|
|
|
databaseType: "",
|
|
|
databaseName: "",
|
|
|
+ tenantAccount: "",
|
|
|
databaseIp: "",
|
|
|
username: "",
|
|
|
password: "",
|
|
@@ -376,6 +387,10 @@ export default {
|
|
|
databaseName: [
|
|
|
{ required: true, message: "数据库名不能为空", trigger: "blur" },
|
|
|
],
|
|
|
+ tenantAccount: [
|
|
|
+ { required: true, message: "租户账号不能为空", trigger: "change" },
|
|
|
+ { validator: this.tenantAccountValidator, trigger: "blur" },
|
|
|
+ ],
|
|
|
databaseIp: [
|
|
|
{ required: true, message: "数据库IP不能为空", trigger: "blur" },
|
|
|
],
|
|
@@ -392,14 +407,33 @@ export default {
|
|
|
};
|
|
|
},
|
|
|
computed: {
|
|
|
- palcemsg(){
|
|
|
- return this.dataSourceType ? 'mysql' : '请选择数据源类型'
|
|
|
- }
|
|
|
+ palcemsg() {
|
|
|
+ return this.dataSourceType ? "mysql" : "请选择数据源类型";
|
|
|
+ },
|
|
|
},
|
|
|
created() {
|
|
|
this.getList();
|
|
|
+ this.selectAllUser();
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 获取所用用户名,作校验用
|
|
|
+ async selectAllUser() {
|
|
|
+ let res = await selectAllUser();
|
|
|
+ if (res.code == 200) {
|
|
|
+ this.allUser = res.data;
|
|
|
+ } else {
|
|
|
+ console.log(res.msg);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ // 租户名自定义校验规则
|
|
|
+ tenantAccountValidator(rule, value, callback) {
|
|
|
+ let isRepeat = this.allUser.filter((item) => item.userName == value);
|
|
|
+ if (isRepeat.length !== 0) {
|
|
|
+ callback(new Error("租户账号重复"));
|
|
|
+ } else {
|
|
|
+ callback();
|
|
|
+ }
|
|
|
+ },
|
|
|
// 数据源类型改变回调
|
|
|
dataSourceTypeChange(type) {
|
|
|
this.$nextTick(() => {
|