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({