From 6dba6e94bb15946b14e27397a12131b38d2eadae Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E5=A7=9C=E9=9B=AA?= <1617763071@qq.com>
Date: Mon, 23 Mar 2026 14:17:34 +0800
Subject: [PATCH] =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=AE=A1=E7=90=86=E6=A8=A1?=
=?UTF-8?q?=E5=9D=97=E6=A0=B7=E5=BC=8F=E8=B0=83=E6=95=B4bug=E4=BF=AE?=
=?UTF-8?q?=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/option/system/user.js | 209 +++++++++++++-------------
src/views/authority/role.vue | 141 +++++++++--------
src/views/system/client.vue | 6 +-
src/views/system/dept.vue | 143 +++++++++++-------
src/views/system/dict.vue | 8 +-
src/views/system/dictbiz.vue | 8 +-
src/views/system/menu.vue | 4 +-
src/views/system/param.vue | 4 +-
src/views/system/post.vue | 46 +++---
src/views/system/tenantdatasource.vue | 2 +-
src/views/system/tenantpackage.vue | 2 +-
src/views/system/topmenu.vue | 4 +-
src/views/system/user.vue | 33 ++--
13 files changed, 326 insertions(+), 284 deletions(-)
diff --git a/src/option/system/user.js b/src/option/system/user.js
index 54b32c6..1f4e57c 100644
--- a/src/option/system/user.js
+++ b/src/option/system/user.js
@@ -32,30 +32,35 @@ export const userOption = safe => {
dialogType: 'drawer',
dialogWidth: 1000,
dialogClickModal: false,
+ pageSizes: [10, 20, 30, 40, 50, 100],
+ pageSize: 10,
column: [
{
label: '登录账号',
prop: 'account',
search: true,
display: false,
+ // sortable: true,
},
- {
- label: '所属租户',
- prop: 'tenantName',
- slot: true,
- display: false,
- },
+ // {
+ // label: '所属租户',
+ // prop: 'tenantName',
+ // slot: true,
+ // display: false,
+ // },
{
label: '用户姓名',
prop: 'realName',
search: true,
display: false,
+ // sortable: true,
},
{
label: '用户工号',
prop: 'workNo',
search: true,
display: false,
+ // sortable: true,
},
{
label: '所属角色',
@@ -71,34 +76,34 @@ export const userOption = safe => {
overHidden: true,
display: false,
},
- {
- label: '用户平台',
- prop: 'userTypeName',
- width: 100,
- slot: true,
- display: false,
- },
- {
- label: '用户平台',
- type: 'select',
- dicUrl: '/blade-system/dict/dictionary?code=user_type',
- props: {
- label: 'dictValue',
- value: 'dictKey',
- },
- dataType: 'number',
- search: true,
- hide: true,
- display: false,
- prop: 'userType',
- rules: [
- {
- required: true,
- message: '请选择用户平台',
- trigger: 'blur',
- },
- ],
- },
+ // {
+ // label: '用户平台',
+ // prop: 'userTypeName',
+ // width: 100,
+ // slot: true,
+ // display: false,
+ // },
+ // {
+ // label: '用户平台',
+ // type: 'select',
+ // dicUrl: '/blade-system/dict/dictionary?code=user_type',
+ // props: {
+ // label: 'dictValue',
+ // value: 'dictKey',
+ // },
+ // dataType: 'number',
+ // search: true,
+ // hide: true,
+ // display: false,
+ // prop: 'userType',
+ // rules: [
+ // {
+ // required: true,
+ // message: '请选择用户平台',
+ // trigger: 'blur',
+ // },
+ // ],
+ // },
],
group: [
{
@@ -106,28 +111,28 @@ export const userOption = safe => {
prop: 'baseInfo',
icon: 'el-icon-user-solid',
column: [
- {
- label: '所属租户',
- prop: 'tenantId',
- type: 'tree',
- dicUrl: '/blade-system/tenant/select',
- props: {
- label: 'tenantName',
- value: 'tenantId',
- },
- hide: !website.tenantMode,
- addDisplay: website.tenantMode,
- editDisplay: website.tenantMode,
- viewDisplay: website.tenantMode,
- rules: [
- {
- required: true,
- message: '请输入所属租户',
- trigger: 'click',
- },
- ],
- span: 24,
- },
+ // {
+ // label: '所属租户',
+ // prop: 'tenantId',
+ // type: 'tree',
+ // dicUrl: '/blade-system/tenant/select',
+ // props: {
+ // label: 'tenantName',
+ // value: 'tenantId',
+ // },
+ // hide: !website.tenantMode,
+ // addDisplay: website.tenantMode,
+ // editDisplay: website.tenantMode,
+ // viewDisplay: website.tenantMode,
+ // rules: [
+ // {
+ // required: true,
+ // message: '请输入所属租户',
+ // trigger: 'click',
+ // },
+ // ],
+ // span: 24,
+ // },
{
label: '登录账号',
prop: 'account',
@@ -139,25 +144,25 @@ export const userOption = safe => {
},
],
},
- {
- label: '用户平台',
- type: 'select',
- dicUrl: '/blade-system/dict/dictionary?code=user_type',
- props: {
- label: 'dictValue',
- value: 'dictKey',
- },
- dataType: 'number',
- slot: true,
- prop: 'userType',
- rules: [
- {
- required: true,
- message: '请选择用户平台',
- trigger: 'blur',
- },
- ],
- },
+ // {
+ // label: '用户平台',
+ // type: 'select',
+ // dicUrl: '/blade-system/dict/dictionary?code=user_type',
+ // props: {
+ // label: 'dictValue',
+ // value: 'dictKey',
+ // },
+ // dataType: 'number',
+ // slot: true,
+ // prop: 'userType',
+ // rules: [
+ // {
+ // required: true,
+ // message: '请选择用户平台',
+ // trigger: 'blur',
+ // },
+ // ],
+ // },
{
label: '密码',
prop: 'password',
@@ -410,33 +415,33 @@ addBtnIcon: ' ',
search: true,
display: false,
},
- {
- label: '用户平台',
- prop: 'userTypeName',
- slot: true,
- display: false,
- },
- {
- label: '用户平台',
- type: 'select',
- dicUrl: '/blade-system/dict/dictionary?code=user_type',
- props: {
- label: 'dictValue',
- value: 'dictKey',
- },
- dataType: 'number',
- search: true,
- hide: true,
- display: false,
- prop: 'userType',
- rules: [
- {
- required: true,
- message: '请选择用户平台',
- trigger: 'blur',
- },
- ],
- },
+ // {
+ // label: '用户平台',
+ // prop: 'userTypeName',
+ // slot: true,
+ // display: false,
+ // },
+ // {
+ // label: '用户平台',
+ // type: 'select',
+ // dicUrl: '/blade-system/dict/dictionary?code=user_type',
+ // props: {
+ // label: 'dictValue',
+ // value: 'dictKey',
+ // },
+ // dataType: 'number',
+ // search: true,
+ // hide: true,
+ // display: false,
+ // prop: 'userType',
+ // rules: [
+ // {
+ // required: true,
+ // message: '请选择用户平台',
+ // trigger: 'blur',
+ // },
+ // ],
+ // },
{
label: '用户拓展',
prop: 'userExt',
diff --git a/src/views/authority/role.vue b/src/views/authority/role.vue
index 5fc39b1..4aa79c2 100644
--- a/src/views/authority/role.vue
+++ b/src/views/authority/role.vue
@@ -5,13 +5,13 @@
@row-save="rowSave" @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange"
@current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @on-load="onLoad">
- 删 除
+ 删 除
- 权限设置
+ 权限设置
- 权限设置
@@ -145,69 +145,70 @@ export default {
},
],
},
- {
- label: '所属租户',
- prop: 'tenantId',
- type: 'tree',
- dicUrl: '/blade-system/tenant/select',
- addDisplay: false,
- editDisplay: false,
- viewDisplay: website.tenantMode,
- span: 24,
- props: {
- label: 'tenantName',
- value: 'tenantId',
- },
- hide: !website.tenantMode,
- search: website.tenantMode,
- rules: [
- {
- required: true,
- message: '请输入所属租户',
- trigger: 'click',
- },
- ],
- },
- {
- label: '角色别名',
- labelTip: '用于权限校验与标注的属性,可手动录入也可点击现有别名快速录入',
- prop: 'roleAlias',
- search: true,
- span: 24,
- rules: [
- {
- required: true,
- message: '请输入角色别名',
- trigger: 'blur',
- },
- ],
- },
- {
- label: '现有别名',
- labelTip: '当前系统已存在的角色别名,点击可快速录入',
- prop: 'currentAlias',
- type: 'radio',
- dicData: [],
- props: {
- label: 'roleName',
- value: 'roleAlias',
- },
- hide: true,
- span: 24,
- },
- {
- label: '角色排序',
- prop: 'sort',
- type: 'number',
- span: 24,
- rules: [
- {
- required: true,
- message: '请输入角色排序',
- trigger: 'blur',
- },
- ],
- },
+ // {
+ // label: '所属租户',
+ // prop: 'tenantId',
+ // type: 'tree',
+ // dicUrl: '/blade-system/tenant/select',
+ // addDisplay: false,
+ // editDisplay: false,
+ // viewDisplay: website.tenantMode,
+ // span: 24,
+ // props: {
+ // label: 'tenantName',
+ // value: 'tenantId',
+ // },
+ // hide: !website.tenantMode,
+ // search: website.tenantMode,
+ // rules: [
+ // {
+ // required: true,
+ // message: '请输入所属租户',
+ // trigger: 'click',
+ // },
+ // ],
+ // },
+ // {
+ // label: '角色别名',
+ // labelTip: '用于权限校验与标注的属性,可手动录入也可点击现有别名快速录入',
+ // prop: 'roleAlias',
+ // search: true,
+ // hide: true,
+ // span: 24,
+ // rules: [
+ // {
+ // required: true,
+ // message: '请输入角色别名',
+ // trigger: 'blur',
+ // },
+ // ],
+ // },
+ // {
+ // label: '现有别名',
+ // labelTip: '当前系统已存在的角色别名,点击可快速录入',
+ // prop: 'currentAlias',
+ // type: 'radio',
+ // dicData: [],
+ // props: {
+ // label: 'roleName',
+ // value: 'roleAlias',
+ // },
+ // hide: true,
+ // span: 24,
+ // },
+ // {
+ // label: '角色排序',
+ // prop: 'sort',
+ // type: 'number',
+ // span: 24,
+ // rules: [
+ // {
+ // required: true,
+ // message: '请输入角色排序',
+ // trigger: 'blur',
+ // },
+ // ],
+ // },
],
},
data: [],
@@ -268,6 +269,10 @@ export default {
});
},
rowSave(row, done, loading) {
+ // 如果角色别名为空,则默认使用角色名称
+ if (!row.roleAlias || row.roleAlias.trim() === '') {
+ row.roleAlias = row.roleName;
+ }
add(row).then(
() => {
this.onLoad(this.page);
@@ -284,6 +289,10 @@ export default {
);
},
rowUpdate(row, index, done, loading) {
+ // 如果角色别名为空,则默认使用角色名称
+ if (!row.roleAlias || row.roleAlias.trim() === '') {
+ row.roleAlias = row.roleName;
+ }
update(row).then(
() => {
this.onLoad(this.page);
diff --git a/src/views/system/client.vue b/src/views/system/client.vue
index f561e88..3397b66 100644
--- a/src/views/system/client.vue
+++ b/src/views/system/client.vue
@@ -23,7 +23,7 @@
{
window.console.log(error);
@@ -290,6 +296,12 @@ addBtnIcon: ' ',
});
// 数据回调进行刷新
done(row);
+ // 刷新表格数据并重载
+ this.data = [];
+ this.parentId = 0;
+ this.$refs.crud.refreshTable();
+ // 表格数据重载
+ this.onLoad(this.page);
},
error => {
window.console.log(error);
@@ -313,6 +325,13 @@ addBtnIcon: ' ',
});
// 数据回调进行刷新
done(row);
+ // 刷新表格数据并重载
+ this.data = [];
+ this.parentId = 0;
+ this.$refs.crud.refreshTable();
+ this.$refs.crud.toggleSelection();
+ // 表格数据重载
+ this.onLoad(this.page);
});
},
handleDelete() {
@@ -402,6 +421,20 @@ addBtnIcon: ' ',
this.data = res.data.data;
this.loading = false;
this.selectionClear();
+ // 默认展开第一级节点
+ this.$nextTick(() => {
+ if (this.$refs.crud) {
+ // 获取第一级节点的 ID 列表
+ const firstLevelIds = this.data.map(item => item.id);
+ // 展开第一级节点
+ firstLevelIds.forEach(id => {
+ const row = this.data.find(item => item.id === id);
+ if (row && this.$refs.crud.$refs.table) {
+ this.$refs.crud.$refs.table.toggleRowExpansion(row, true);
+ }
+ });
+ }
+ });
});
},
treeLoad(tree, treeNode, resolve) {
diff --git a/src/views/system/dict.vue b/src/views/system/dict.vue
index 93346d8..56ce333 100644
--- a/src/views/system/dict.vue
+++ b/src/views/system/dict.vue
@@ -24,7 +24,7 @@
字典配置
@@ -72,7 +72,7 @@
新增子项
diff --git a/src/views/system/dictbiz.vue b/src/views/system/dictbiz.vue
index a69142f..94e1ce1 100644
--- a/src/views/system/dictbiz.vue
+++ b/src/views/system/dictbiz.vue
@@ -24,7 +24,7 @@
字典配置
@@ -72,7 +72,7 @@
新增子项
diff --git a/src/views/system/menu.vue b/src/views/system/menu.vue
index 39e210e..967d472 100644
--- a/src/views/system/menu.vue
+++ b/src/views/system/menu.vue
@@ -24,7 +24,7 @@
新增子项
diff --git a/src/views/system/param.vue b/src/views/system/param.vue
index cfd47a8..d2afc7b 100644
--- a/src/views/system/param.vue
+++ b/src/views/system/param.vue
@@ -12,8 +12,8 @@
- 搜 索
- 清 空
+ 搜 索
+ 清 空
diff --git a/src/views/system/post.vue b/src/views/system/post.vue
index 1a93a5b..89d62ef 100644
--- a/src/views/system/post.vue
+++ b/src/views/system/post.vue
@@ -23,7 +23,7 @@
- 删 除
diff --git a/src/views/system/tenantpackage.vue b/src/views/system/tenantpackage.vue
index 7a91d6b..6c43b1f 100644
--- a/src/views/system/tenantpackage.vue
+++ b/src/views/system/tenantpackage.vue
@@ -20,7 +20,7 @@
@on-load="onLoad"
>
- 删 除
+ 删 除
diff --git a/src/views/system/topmenu.vue b/src/views/system/topmenu.vue
index 40c92e0..947a8b8 100644
--- a/src/views/system/topmenu.vue
+++ b/src/views/system/topmenu.vue
@@ -23,14 +23,14 @@
删 除
-
+
+
新 增
删 除
@@ -51,7 +49,6 @@
审 核
@@ -59,7 +56,6 @@
通 过
@@ -67,7 +63,6 @@
拒 绝
@@ -75,7 +70,6 @@
返 回
@@ -84,7 +78,6 @@
type="info"
plain
v-if="permission.user_role && !auditMode"
- icon="el-icon-user"
@click="handleGrant"
>角色配置
@@ -92,7 +85,6 @@
type="info"
plain
v-if="permission.user_reset && !auditMode"
- icon="el-icon-refresh"
@click="handleReset"
>密码重置
@@ -100,7 +92,6 @@
type="info"
plain
v-if="userInfo.authority.includes('admin') && !auditMode"
- icon="el-icon-setting"
@click="handlePlatform"
>平台配置
@@ -108,32 +99,37 @@
type="info"
plain
v-if="userInfo.authority.includes('admin') && !auditMode"
- icon="el-icon-coordinate"
@click="handleLock"
>账号解封
- 导入
-
+ -->
导出
+
+ 导 入
+
查 看
@@ -141,7 +137,6 @@
编 辑