diff --git a/frontend/src/hooks/useModal.js b/frontend/src/hooks/useModal.js
new file mode 100644
index 0000000..f2d5621
--- /dev/null
+++ b/frontend/src/hooks/useModal.js
@@ -0,0 +1,10 @@
+import { ref } from 'vue'
+export default () => {
+ // 控制modal显示
+ const showModal = ref(false)
+ // 编辑数据时需要的 数据id
+ const updateId = ref()
+ // 表单ref对象
+ const formRef = ref()
+ return { showModal, updateId, formRef }
+}
diff --git a/frontend/src/hooks/useSearch.js b/frontend/src/hooks/useSearch.js
new file mode 100644
index 0000000..7bc76df
--- /dev/null
+++ b/frontend/src/hooks/useSearch.js
@@ -0,0 +1,14 @@
+import { ref } from 'vue'
+export default (emits, queryForm) => {
+ const formRef = ref()
+
+ const queryEvent = () => {
+ emits('queryClick', queryForm)
+ }
+
+ const resetEvent = () => {
+ formRef.value.resetFields()
+ emits('resetClick')
+ }
+ return { formRef, queryEvent, resetEvent }
+}
diff --git a/frontend/src/views/main/system/menu/conf.js b/frontend/src/views/main/system/menu/conf.js
index fd1a4ef..4a6d970 100644
--- a/frontend/src/views/main/system/menu/conf.js
+++ b/frontend/src/views/main/system/menu/conf.js
@@ -65,10 +65,3 @@ export const columns = [
width: 120
}
]
-
-// 菜单类型映射
-export const menuType = {
- 0: '目录',
- 1: '菜单',
- 2: '按钮'
-}
diff --git a/frontend/src/views/main/system/menu/menu-modal.vue b/frontend/src/views/main/system/menu/menu-modal.vue
new file mode 100644
index 0000000..57b6404
--- /dev/null
+++ b/frontend/src/views/main/system/menu/menu-modal.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
diff --git a/frontend/src/views/main/system/menu/menu.vue b/frontend/src/views/main/system/menu/menu.vue
index 450f4e5..34ca06d 100644
--- a/frontend/src/views/main/system/menu/menu.vue
+++ b/frontend/src/views/main/system/menu/menu.vue
@@ -1,29 +1,42 @@
@@ -38,6 +51,7 @@ const delClick = () => {
@delete-click="delClick"
>
+
diff --git a/frontend/src/views/main/system/role/role-modal.vue b/frontend/src/views/main/system/role/role-modal.vue
index c57317d..3bb1d6b 100644
--- a/frontend/src/views/main/system/role/role-modal.vue
+++ b/frontend/src/views/main/system/role/role-modal.vue
@@ -8,6 +8,8 @@ import { getMenus as getRoleMenu } from '@/service/user'
import { getMenus } from '@/service/menu'
import { userStore } from '@/stores/user'
+import useModal from '@/hooks/useModal'
+
const props = defineProps({
modalTitle: {
// modal 右上角显示的title
@@ -20,18 +22,14 @@ const props = defineProps({
}
})
-const showModal = ref(false)
+const { showModal, updateId, formRef } = useModal()
-const formRef = ref()
const roleForm = reactive({
name: '',
remark: '',
menus: []
})
-// 记录修改角色的ID
-const userId = ref()
-
// menu数据
const treeData = ref()
@@ -77,7 +75,7 @@ const getCurrentMenu = (record) => {
const openModal = (record) => {
showModal.value = true
const { allMenus, checkMenus } = getCurrentMenu(record)
- userId.value = record.id
+ updateId.value = record.id
roleForm.name = record.name
roleForm.remark = record.remark
checkedKeys.value = checkMenus
@@ -98,7 +96,7 @@ const onOk = () => {
if (props.modalType === 'create') {
res = await addRole(roleForm)
} else {
- res = await putRole(userId.value, roleForm)
+ res = await putRole(updateId.value, roleForm)
}
message.success(res.msg)
resetData()
diff --git a/frontend/src/views/main/system/role/role-search.vue b/frontend/src/views/main/system/role/role-search.vue
index 98836c2..f2c9b93 100644
--- a/frontend/src/views/main/system/role/role-search.vue
+++ b/frontend/src/views/main/system/role/role-search.vue
@@ -1,22 +1,13 @@
diff --git a/frontend/src/views/main/system/user/user-modal.vue b/frontend/src/views/main/system/user/user-modal.vue
index 9493318..ef621fa 100644
--- a/frontend/src/views/main/system/user/user-modal.vue
+++ b/frontend/src/views/main/system/user/user-modal.vue
@@ -6,6 +6,7 @@ import { addUserRules, putUserRules } from './conf'
import { addUser, putUser, getUserInfo } from '@/service/user'
import { userStore } from '@/stores/user'
import { getRoles } from '@/service/role'
+import useModal from '@/hooks/useModal'
const props = defineProps({
modalTitle: {
@@ -21,8 +22,9 @@ const props = defineProps({
const store = userStore()
+const { showModal, updateId, formRef } = useModal()
+
/** 页面数据 */
-const formRef = ref()
// create form
const newUserForm = reactive({
@@ -39,11 +41,6 @@ const putUserForm = reactive({
roles: []
})
-// modal 状态打开
-const showModal = ref(false)
-// 更新数据的 用户id
-const userId = ref()
-
// 监听modal状态是否为打开 打开就请求数据
const roleOptions = ref([])
watch(showModal, async () => {
@@ -57,7 +54,7 @@ watch(showModal, async () => {
const openModal = async (record) => {
// 打开编辑的modal
showModal.value = !showModal.value
- userId.value = record.id
+ updateId.value = record.id
// 加载当前用户id 具备的用户角色
const res = await getUserInfo(record.id)
putUserForm.roles = res.data.roles.map((e) => e.id)
@@ -76,15 +73,15 @@ const onOk = () => {
} else {
const { nickname, password, roles } = putUserForm
let rids = roles.map((e, i) => ({ rid: e, status: i === 0 ? 5 : 1 }))
- res = await putUser(userId.value, {
+ res = await putUser(updateId.value, {
nickname,
password,
roles: rids
})
- if (userId.value === store.userInfo.id) {
+ if (updateId.value === store.userInfo.id) {
// 并且修改了激活角色
if (rids[0]['rid'] !== store.userInfo.roles[0]['id']) {
- store.getUserData(userId.value)
+ store.getUserData(updateId.value)
}
}
}
diff --git a/frontend/src/views/main/system/user/user-search.vue b/frontend/src/views/main/system/user/user-search.vue
index ac91e43..9fb1fcb 100644
--- a/frontend/src/views/main/system/user/user-search.vue
+++ b/frontend/src/views/main/system/user/user-search.vue
@@ -1,23 +1,15 @@