From 90b6a285b355e51d8656cc2a335cf5a2eb96acc1 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Sun, 13 Jul 2025 22:50:40 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=9D=83=E9=99=90=E5=A2=9E?= =?UTF-8?q?=E5=88=A0=E6=94=B9=E6=9F=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../step2/controller/WebController.java | 5 + .../resources/static/src/lib/css/style.css | 2 +- .../src/views/permission/DialogPermission.js | 97 ++++++++ .../static/src/views/role/DialogRole.js | 4 +- .../resources/templates/permissionPage.html | 227 ++++++++++++++++++ .../main/resources/templates/rolePage.html | 10 +- .../main/resources/templates/userPage.html | 2 +- 7 files changed, 338 insertions(+), 9 deletions(-) create mode 100644 spring-security/step-2/src/main/resources/static/src/views/permission/DialogPermission.js create mode 100644 spring-security/step-2/src/main/resources/templates/permissionPage.html diff --git a/spring-security/step-2/src/main/java/com/spring/step2/controller/WebController.java b/spring-security/step-2/src/main/java/com/spring/step2/controller/WebController.java index 14e323b..21adeb2 100644 --- a/spring-security/step-2/src/main/java/com/spring/step2/controller/WebController.java +++ b/spring-security/step-2/src/main/java/com/spring/step2/controller/WebController.java @@ -25,4 +25,9 @@ public class WebController { public String showRolePage() { return "rolePage"; } + + @GetMapping("/permission") + public String showPermissionPage() { + return "permissionPage"; + } } diff --git a/spring-security/step-2/src/main/resources/static/src/lib/css/style.css b/spring-security/step-2/src/main/resources/static/src/lib/css/style.css index aa718ae..fae3cc9 100644 --- a/spring-security/step-2/src/main/resources/static/src/lib/css/style.css +++ b/spring-security/step-2/src/main/resources/static/src/lib/css/style.css @@ -1,4 +1,4 @@ -/* 提高 Antd Message 的 z-index */ +/* 提高 Antd Message 的 z-index,让提示框为最上层 */ .ant-message { z-index: 1100 !important; } diff --git a/spring-security/step-2/src/main/resources/static/src/views/permission/DialogPermission.js b/spring-security/step-2/src/main/resources/static/src/views/permission/DialogPermission.js new file mode 100644 index 0000000..1af84df --- /dev/null +++ b/spring-security/step-2/src/main/resources/static/src/views/permission/DialogPermission.js @@ -0,0 +1,97 @@ +const DialogPermission = defineComponent({ + name: "DialogPermission", + template: ` + + `, + props: { + // 是否添加 + isAdd: {type: Boolean, default: false}, + // 权限信息 + permissionInfo: {type: Object, required: true}, + // 加载函数 + onSearch: {type: Function, required: true}, + }, + data() { + return { + modalInstance: ref(null), + form: ref({}), + } + }, + methods: { + async onSubmit() { + // 是否添加表单 + const {code, message} = this.isAdd ? + await axiosInstance.post("/permission", this.form) : + await axiosInstance.put("/permission", this.form); + + if (code === 200) { + antd.message.success(message); + // 关闭模态框 + this.modalInstance.hide(); + this.onSearch(); + } + } + }, + watch: { + permissionInfo(val) { + // 创建深拷贝,而不是直接赋值 + this.form = JSON.parse(JSON.stringify(val)); + } + }, + mounted() { + // 初始化模态框实例 + const modalEl = this.$refs.modalRef; + this.modalInstance = new bootstrap.Modal(modalEl, { + backdrop: 'static', + keyboard: false + }); + }, + beforeUnmount() { + // 组件销毁时清理模态框实例 + if (this.modalInstance) { + this.modalInstance.dispose(); + } + } +}); \ No newline at end of file diff --git a/spring-security/step-2/src/main/resources/static/src/views/role/DialogRole.js b/spring-security/step-2/src/main/resources/static/src/views/role/DialogRole.js index 4056a06..0f2279f 100644 --- a/spring-security/step-2/src/main/resources/static/src/views/role/DialogRole.js +++ b/spring-security/step-2/src/main/resources/static/src/views/role/DialogRole.js @@ -16,10 +16,10 @@ const DialogRole = defineComponent({