1
0
mirror of https://github.com/FatttSnake/Pinnacle-OA.git synced 2026-04-04 22:41:24 +08:00

Optimized front-end permission control

This commit is contained in:
2023-05-20 00:43:29 +08:00
parent ccf57b0602
commit 4ab5980d22
4 changed files with 165 additions and 68 deletions

View File

@@ -57,13 +57,6 @@ insert into t_element (id, name, power_id, menu_id)
VALUES (2, '角色列表', last_insert_id(), 2); VALUES (2, '角色列表', last_insert_id(), 2);
commit; commit;
begin;
insert into t_power (type_id)
values (3);
insert into t_operation (name, code, power_id, element_id, parent_id)
VALUES ('查询所有权限', 'system:power:all', last_insert_id(), 2, null);
commit;
begin; begin;
insert into t_power (type_id) insert into t_power (type_id)
values (3); values (3);
@@ -75,25 +68,113 @@ begin;
insert into t_power (type_id) insert into t_power (type_id)
values (3); values (3);
insert into t_operation (name, code, power_id, element_id, parent_id) insert into t_operation (name, code, power_id, element_id, parent_id)
VALUES ('查询所有用户', 'system:user:all', last_insert_id(), 2, null); VALUES ('添加角色', 'system:role:add', last_insert_id(), 2, null);
commit; commit;
insert into t_role (id, name) begin;
values (1655784840189972481, '员工'), insert into t_power (type_id)
(1655784928056467457, '组长'), values (3);
(1655785102375940097, '主管'), insert into t_operation (name, code, power_id, element_id, parent_id)
(1655785102375940098, '总管'); VALUES ('删除角色', 'system:role:delete', last_insert_id(), 2, null);
commit;
insert into t_power_role(id, power_id, role_id) begin;
VALUES (1656219345971326978, 1, 1655784840189972481), insert into t_power (type_id)
(1656219345971326979, 2, 1655784840189972481), values (3);
(1656219345971326980, 3, 1655784840189972481), insert into t_operation (name, code, power_id, element_id, parent_id)
(1656219345971326981, 4, 1655784840189972481), VALUES ('修改角色', 'system:role:modify', last_insert_id(), 2, null);
(1656219345971326982, 5, 1655785102375940098), commit;
(1656219345971326983, 6, 1655785102375940098),
(1656219345971326984, 7, 1655785102375940098), begin;
(1656219345971326985, 8, 1655785102375940098), insert into t_power (type_id)
(1656219345971326986, 9, 1655785102375940098); values (1);
insert into t_menu (id, name, url, power_id, parent_id)
VALUES (3, '用户组管理', '/power/group', last_insert_id(), null);
commit;
begin;
insert into t_power (type_id)
values (2);
insert into t_element (id, name, power_id, menu_id)
VALUES (3, '用户组列表', last_insert_id(), 3);
commit;
begin;
insert into t_power (type_id)
values (3);
insert into t_operation (name, code, power_id, element_id, parent_id)
VALUES ('查询所有用户组', 'system:group:all', last_insert_id(), 3, null);
commit;
begin;
insert into t_power (type_id)
values (3);
insert into t_operation (name, code, power_id, element_id, parent_id)
VALUES ('添加用户组', 'system:group:add', last_insert_id(), 3, null);
commit;
begin;
insert into t_power (type_id)
values (3);
insert into t_operation (name, code, power_id, element_id, parent_id)
VALUES ('删除用户组', 'system:group:delete', last_insert_id(), 3, null);
commit;
begin;
insert into t_power (type_id)
values (3);
insert into t_operation (name, code, power_id, element_id, parent_id)
VALUES ('修改用户组', 'system:group:modify', last_insert_id(), 3, null);
commit;
begin;
insert into t_power (type_id)
values (1);
insert into t_menu (id, name, url, power_id, parent_id)
VALUES (4, '用户管理', '/power/user', last_insert_id(), null);
commit;
begin;
insert into t_power (type_id)
values (2);
insert into t_element (id, name, power_id, menu_id)
VALUES (4, '用户列表', last_insert_id(), 4);
commit;
begin;
insert into t_power (type_id)
values (3);
insert into t_operation (name, code, power_id, element_id, parent_id)
VALUES ('查看所有用户', 'system:user:all', last_insert_id(), 4, null);
commit;
begin;
insert into t_power (type_id)
values (3);
insert into t_operation (name, code, power_id, element_id, parent_id)
VALUES ('查看单个用户', 'system:user:one', last_insert_id(), 4, null);
commit;
begin;
insert into t_power (type_id)
values (3);
insert into t_operation (name, code, power_id, element_id, parent_id)
VALUES ('添加用户', 'system:user:add', last_insert_id(), 4, null);
commit;
begin;
insert into t_power (type_id)
values (3);
insert into t_operation (name, code, power_id, element_id, parent_id)
VALUES ('删除用户', 'system:user:delete', last_insert_id(), 4, null);
commit;
begin;
insert into t_power (type_id)
values (3);
insert into t_operation (name, code, power_id, element_id, parent_id)
VALUES ('修改用户', 'system:user:modify', last_insert_id(), 4, null);
commit;
SET FOREIGN_KEY_CHECKS = 1; SET FOREIGN_KEY_CHECKS = 1;

View File

@@ -163,22 +163,27 @@ export default {
handleDelete(index, row) { handleDelete(index, row) {
ElMessageBox.confirm('确定删除该用户组吗?', '删除').then(() => { ElMessageBox.confirm('确定删除该用户组吗?', '删除').then(() => {
this.tableLoading = true this.tableLoading = true
request.delete('/group/' + row.id).then((res) => { request
const response = res.data .delete('/group/' + row.id)
if (response.code === DATABASE_DELETE_OK) { .then((res) => {
ElMessage.success({ const response = res.data
dangerouslyUseHTMLString: true, if (response.code === DATABASE_DELETE_OK) {
message: '<strong>删除成功</strong>' ElMessage.success({
}) dangerouslyUseHTMLString: true,
this.loadGroupTable() message: '<strong>删除成功</strong>'
} else { })
ElMessage.error({ this.loadGroupTable()
dangerouslyUseHTMLString: true, } else {
message: '<strong>删除失败</strong>: ' + response.msg ElMessage.error({
}) dangerouslyUseHTMLString: true,
message: '<strong>删除失败</strong>: ' + response.msg
})
this.tableLoading = false
}
})
.catch(() => {
this.tableLoading = false this.tableLoading = false
} })
})
}) })
}, },
async handleSubmit() { async handleSubmit() {

View File

@@ -47,6 +47,7 @@
show-checkbox show-checkbox
:render-after-expand="false" :render-after-expand="false"
:default-checked-keys="defaultSelectedPower" :default-checked-keys="defaultSelectedPower"
style="min-width: 120px"
@check-change="handleSelectedPowerChange" @check-change="handleSelectedPowerChange"
/> />
</el-form-item> </el-form-item>
@@ -225,22 +226,27 @@ export default {
handleDelete(index, row) { handleDelete(index, row) {
ElMessageBox.confirm('确定删除该角色吗?', '删除').then(() => { ElMessageBox.confirm('确定删除该角色吗?', '删除').then(() => {
this.tableLoading = true this.tableLoading = true
request.delete('/role/' + row.id).then((res) => { request
const response = res.data .delete('/role/' + row.id)
if (response.code === DATABASE_DELETE_OK) { .then((res) => {
ElMessage.success({ const response = res.data
dangerouslyUseHTMLString: true, if (response.code === DATABASE_DELETE_OK) {
message: '<strong>删除成功</strong>' ElMessage.success({
}) dangerouslyUseHTMLString: true,
this.loadRoleTable() message: '<strong>删除成功</strong>'
} else { })
ElMessage.error({ this.loadRoleTable()
dangerouslyUseHTMLString: true, } else {
message: '<strong>删除失败</strong>: ' + response.msg ElMessage.error({
}) dangerouslyUseHTMLString: true,
message: '<strong>删除失败</strong>: ' + response.msg
})
this.tableLoading = false
}
})
.catch(() => {
this.tableLoading = false this.tableLoading = false
} })
})
}) })
}, },
async handleSubmit() { async handleSubmit() {

View File

@@ -236,22 +236,27 @@ export default {
handleDelete(index, row) { handleDelete(index, row) {
ElMessageBox.confirm('确定删除该用户吗?', '删除').then(() => { ElMessageBox.confirm('确定删除该用户吗?', '删除').then(() => {
this.tableLoading = true this.tableLoading = true
request.delete('/user/' + row.id).then((res) => { request
const response = res.data .delete('/user/' + row.id)
if (response.code === DATABASE_DELETE_OK) { .then((res) => {
ElMessage.success({ const response = res.data
dangerouslyUseHTMLString: true, if (response.code === DATABASE_DELETE_OK) {
message: '<strong>删除成功</strong>' ElMessage.success({
}) dangerouslyUseHTMLString: true,
this.loadUserTable() message: '<strong>删除成功</strong>'
} else { })
ElMessage.error({ this.loadUserTable()
dangerouslyUseHTMLString: true, } else {
message: '<strong>删除失败</strong>: ' + response.msg ElMessage.error({
}) dangerouslyUseHTMLString: true,
message: '<strong>删除失败</strong>: ' + response.msg
})
this.tableLoading = false
}
})
.catch(() => {
this.tableLoading = false this.tableLoading = false
} })
})
}) })
}, },
handleDialogOpen() { handleDialogOpen() {