diff --git a/src/views/system/dept/DeptFormModal.vue b/src/views/system/dept/DeptFormModal.vue
index 520d0c85..ad56ac85 100644
--- a/src/views/system/dept/DeptFormModal.vue
+++ b/src/views/system/dept/DeptFormModal.vue
@@ -50,9 +50,9 @@ async function handleSubmit() {
   <BasicModal
     v-bind="$attrs"
     :title="isUpdate ? t('action.edit') : t('action.create')"
+    :after-close="() => isUpdate = false"
     @register="registerModal"
     @ok="handleSubmit"
-    @cancel="isUpdate = false"
   >
     <BasicForm @register="registerForm" />
   </BasicModal>
diff --git a/src/views/system/dept/index.vue b/src/views/system/dept/index.vue
index 5cb21e27..b37fd313 100644
--- a/src/views/system/dept/index.vue
+++ b/src/views/system/dept/index.vue
@@ -65,7 +65,7 @@ async function handleDelete(id: string) {
   <div>
     <BasicTable :api="async () => ([] as Department[])" @register="register">
       <template #tableTitle>
-        <a-button type="primary" @click="openModal(true)">
+        <a-button type="primary" @click="openModal">
           <PlusOutlined />
           {{ t('action.create') }}
         </a-button>
diff --git a/src/views/system/menu/MenuFormModal.vue b/src/views/system/menu/MenuFormModal.vue
index a175a38b..fd34ab4f 100644
--- a/src/views/system/menu/MenuFormModal.vue
+++ b/src/views/system/menu/MenuFormModal.vue
@@ -46,9 +46,9 @@ async function handleSubmit() {
   <BasicModal
     v-bind="$attrs"
     :title="isUpdate ? '编辑' : '新建'"
+    :after-close="() => isUpdate = false"
     @register="registerModal"
     @ok="handleSubmit"
-    @cancel="isUpdate = false"
   >
     <BasicForm @register="registerForm" @submit="handleSubmit" />
   </BasicModal>
diff --git a/src/views/system/menu/index.vue b/src/views/system/menu/index.vue
index e4a6bebf..78391c92 100644
--- a/src/views/system/menu/index.vue
+++ b/src/views/system/menu/index.vue
@@ -66,7 +66,7 @@ function refreshMenu() {
     <BasicTable :api="async () => ([] as MenuItem[])" @register="register">
       <template #tableTitle>
         <Space>
-          <a-button type="primary" @click="openModal(true)">
+          <a-button type="primary" @click="openModal">
             <PlusOutlined />
             新增
           </a-button>
diff --git a/src/views/system/role/RoleFormModal.vue b/src/views/system/role/RoleFormModal.vue
index 841870c0..68f2f4ab 100644
--- a/src/views/system/role/RoleFormModal.vue
+++ b/src/views/system/role/RoleFormModal.vue
@@ -47,9 +47,9 @@ async function handleSubmit() {
   <BasicModal
     v-bind="$attrs"
     :title="isUpdate ? '编辑' : '新增'"
+    :after-close="() => isUpdate = false"
     @register="registerModal"
     @ok="handleSubmit"
-    @cancel="isUpdate = false"
   >
     <BasicForm @register="registerForm" />
   </BasicModal>
diff --git a/src/views/system/role/index.vue b/src/views/system/role/index.vue
index b1a9f787..eeed7274 100644
--- a/src/views/system/role/index.vue
+++ b/src/views/system/role/index.vue
@@ -68,7 +68,7 @@ async function handleDelete(id: string) {
   <div>
     <BasicTable :api="async () => ([] as Role[])" @register="registerTable">
       <template #tableTitle>
-        <a-button type="primary" @click="openFormModal(true)">
+        <a-button type="primary" @click="openFormModal">
           <PlusOutlined />
           新建
         </a-button>
diff --git a/src/views/system/tenant/TenantFormModal.vue b/src/views/system/tenant/TenantFormModal.vue
index 9c978e13..613f048f 100644
--- a/src/views/system/tenant/TenantFormModal.vue
+++ b/src/views/system/tenant/TenantFormModal.vue
@@ -43,9 +43,9 @@ async function handleSubmit() {
   <BasicModal
     v-bind="$attrs"
     :title="isUpdate ? '编辑' : '新增'"
+    :after-close="() => isUpdate = false"
     @register="registerModal"
     @ok="handleSubmit"
-    @cancel="isUpdate = false"
   >
     <BasicForm @register="registerForm" />
   </BasicModal>
diff --git a/src/views/system/tenant/index.vue b/src/views/system/tenant/index.vue
index 4c7e8779..22af366d 100644
--- a/src/views/system/tenant/index.vue
+++ b/src/views/system/tenant/index.vue
@@ -44,7 +44,7 @@ async function handleDelete(id: string) {
   <div>
     <BasicTable :api="async () => ([] as Tenant[])" @register="registerTable">
       <template #tableTitle>
-        <a-button type="primary" @click="openModal(true)">
+        <a-button type="primary" @click="openModal">
           <PlusOutlined />
           新建
         </a-button>
diff --git a/src/views/system/user/UserFormModal.vue b/src/views/system/user/UserFormModal.vue
index 0b8db65c..262e164f 100644
--- a/src/views/system/user/UserFormModal.vue
+++ b/src/views/system/user/UserFormModal.vue
@@ -47,9 +47,9 @@ async function handleSubmit() {
   <BasicModal
     v-bind="$attrs"
     :title="isUpdate ? t('action.edit') : t('action.create')"
+    :after-close="() => isUpdate = false"
     @register="registerModal"
     @ok="handleSubmit"
-    @cancel="isUpdate = false"
   >
     <BasicForm @register="registerForm" />
   </BasicModal>
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index c3aee41e..b80e6d3b 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -50,7 +50,7 @@ async function handleDelete(id: string) {
   <div>
     <BasicTable :api="async () => ([] as SystemUser[])" @register="registerTable">
       <template #tableTitle>
-        <a-button type="primary" @click="openModal(true)">
+        <a-button type="primary" @click="openModal">
           <PlusOutlined />
           {{ t('action.create') }}
         </a-button>