fix:新增角色选中子菜单提交时没有带上根菜单id

This commit is contained in:
zy7y 2022-09-18 14:57:17 +08:00
parent e319578676
commit 80947a608e
2 changed files with 31 additions and 21 deletions

View File

@ -4,7 +4,8 @@ import { ref } from 'vue'
export const menuType = { export const menuType = {
0: '目录', 0: '目录',
1: '菜单', 1: '菜单',
2: '按钮' 2: '按钮',
3: '数据'
} }
// 请求方法颜色映射 // 请求方法颜色映射

View File

@ -1,5 +1,5 @@
<script setup> <script setup>
import { ref, reactive, onMounted, watch } from 'vue' import { ref, reactive, onMounted } from 'vue'
import Table from '@/components/table/table.vue' import Table from '@/components/table/table.vue'
import { getRoles, queryRole, delRole, putRole, addRole } from '@/service/role' import { getRoles, queryRole, delRole, putRole, addRole } from '@/service/role'
@ -85,6 +85,15 @@ const newRoleForm = reactive({
menus: [] menus: []
}) })
//
const checkedKeys = ref([])
//
const expandedKeys = ref([])
//
const check = (checkedKeys, e) => {
newRoleForm.menus = [...e.halfCheckedKeys, ...checkedKeys]
}
const addClick = () => { const addClick = () => {
addVisible.value = !addVisible.value addVisible.value = !addVisible.value
// modal // modal
@ -102,6 +111,8 @@ const onOk = () => {
addVisible.value = !addVisible.value addVisible.value = !addVisible.value
// 2. // 2.
formRef.value.resetFields() formRef.value.resetFields()
checkedKeys.value = []
expandedKeys.value = []
// 3. // 3.
getPageData() getPageData()
} }
@ -113,6 +124,8 @@ const onOk = () => {
const onCancel = () => { const onCancel = () => {
// 2. // 2.
formRef.value.resetFields() formRef.value.resetFields()
checkedKeys.value = []
expandedKeys.value = []
} }
/**更新 */ /**更新 */
@ -122,6 +135,13 @@ const onCancel = () => {
* @param {} record 行数据 * @param {} record 行数据
*/ */
// modal
const putRoleForm = reactive({
name: '',
remark: '',
menus: []
})
// modal // modal
const putClick = (record) => { const putClick = (record) => {
putVisible.value = !putVisible.value putVisible.value = !putVisible.value
@ -132,12 +152,12 @@ const putClick = (record) => {
const getPutModalData = (record) => { const getPutModalData = (record) => {
// modal // modal
getMenus().then((res) => (treeData.value = res.data)) getMenus().then((res) => (treeData.value = res.data))
// // ,
getRoleMenu(record.id).then((res) => { getRoleMenu(record.id).then((res) => {
function _mids(menus) { function _mids(menus) {
for (const menu of menus) { for (const menu of menus) {
if (menu.childer) { if (menu.children) {
_mids(menu.childer) _mids(menu.children)
} else { } else {
putRoleForm.menus.push(menu.id) putRoleForm.menus.push(menu.id)
} }
@ -155,12 +175,7 @@ const putVisible = ref(false)
// modal // modal
const putRoleFormRef = ref() const putRoleFormRef = ref()
// modal
const putRoleForm = reactive({
name: '',
remark: '',
menus: []
})
// id 便 // id 便
const putId = ref() const putId = ref()
@ -189,18 +204,10 @@ const onCancelPut = () => {
// tree // tree
const treeData = ref() const treeData = ref()
// menus
watch(
() => newRoleForm.menus,
(newValue, oldvalue) => {
console.log('menu', newValue, oldvalue)
}
)
</script> </script>
<template> <template>
<div class="user"> <div class="role">
<!-- 查询 --> <!-- 查询 -->
<div class="search"> <div class="search">
<a-form ref="queryFormRef" layout="inline" :model="queryForm"> <a-form ref="queryFormRef" layout="inline" :model="queryForm">
@ -246,7 +253,9 @@ watch(
checkable checkable
:tree-data="treeData" :tree-data="treeData"
:fieldNames="treeFieldNames" :fieldNames="treeFieldNames"
v-model:checkedKeys="newRoleForm.menus" @check="check"
v-model:checkedKeys="checkedKeys"
v-model:expandedKeys="expandedKeys"
> >
</a-tree> </a-tree>
</a-form-item> </a-form-item>