Commit b3d6d396 authored by liwei's avatar liwei

修改了菜单管理和角色管理的记住筛选项功能

parent 7ab616ea
......@@ -36,22 +36,24 @@
</div>
</template>
<script lang="ts" setup>
import { nextTick } from 'vue';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { getMenuListByPage } from '@/api/system/menu/menu';
import { useDrawer } from '@/components/Drawer';
import MenuDrawer from './MenuDrawer.vue';
import { columns, searchFormSchema } from './menu.data';
import { deleteById } from "@/api/system/menu/menu";
import { deleteById,getMenuListByPage } from "@/api/system/menu/menu";
import { useMessage } from "@/hooks/web/useMessage";
import { ref } from 'vue';
import { ref,reactive,unref,onDeactivated,onMounted,nextTick } from 'vue';
import { useRoute,onBeforeRouteLeave } from 'vue-router';
import { useFilterStore } from '@/store/modules/filterData';
import { useUserStore } from "@/store/modules/user";
defineOptions({ name: 'MenuManagement' });
const filterStore = useFilterStore();
const route = useRoute();
const { createMessage } = useMessage();
const [registerDrawer, { openDrawer }] = useDrawer();
const treeData = ref();
const [registerTable, { reload, expandAll }] = useTable({
const [registerTable, { reload, expandAll,getForm }] = useTable({
title: '菜单列表',
api: async (params) => {
const response = await getMenuListByPage(params);
......@@ -64,7 +66,7 @@
labelWidth: 120,
schemas: searchFormSchema,
},
isTreeTable: false,
isTreeTable: true,
pagination: false,
striped: false,
useSearchForm: true,
......@@ -147,4 +149,34 @@
// 演示默认展开所有表项
nextTick(expandAll);
}
/**进入页面的初始化方法*/
onMounted(() => {
const path = route.path
if(filterStore.getSearchParams[path]) {
if(JSON.parse(filterStore.getSearchParams[path] !== {})){
const params = JSON.parse(filterStore.getSearchParams[path])
getForm().setFieldsValue({
page: params.page,
pageSize: params.pageSize,
menuName: params.menuName,
flag: params.flag,
})
}
}
});
/**离开路由前调用的钩子函数*/
onBeforeRouteLeave((to, from, next) => {
const params = Object.assign({},getForm().getFieldsValue());
filterStore.setSearchParams(
{
path: from.path,
param: {
...params
}
}
)
next(); // 允许导航
});
</script>
......@@ -43,15 +43,19 @@
import { downloadByData } from '@/utils/file/download';
import { useDrawer } from '@/components/Drawer';
import RoleDrawer from './RoleDrawer.vue';
import RoleDialog from './RoleDialog.vue';
import { useMessage } from '@/hooks/web/useMessage';
const { createMessage } = useMessage();
import { columns, searchFormSchema } from './role.data';
import {useModal} from "@/components/Modal";
import { reactive,unref,onDeactivated,onMounted } from 'vue';
import { useRoute,onBeforeRouteLeave } from 'vue-router';
import { useFilterStore } from '@/store/modules/filterData';
import { useUserStore } from "@/store/modules/user";
defineOptions({ name: 'RoleManagement' });
const [registerDialog, { openModal }] = useModal();
const filterStore = useFilterStore();
const route = useRoute();
const { createMessage } = useMessage();
const [registerDrawer, { openDrawer }] = useDrawer();
const [registerTable, { reload,getSearchInfo,getForm }] = useTable({
const [registerTable, { reload,getForm }] = useTable({
title: '角色列表',
api: getRoleListByPage,
columns,
......@@ -82,7 +86,7 @@
/** 导出按钮*/
async function handleExport() {
console.log('导出----')
const params = Object.assign({}, getSearchInfo(), getForm().getFieldsValue());
const params = Object.assign({}, getForm().getFieldsValue());
const data = await exportRoleList(params);
downloadByData(data, '角色列表' + '.xlsx');
}
......@@ -110,4 +114,35 @@
function handleSuccess() {
reload();
}
/**进入页面的初始化方法*/
onMounted(() => {
const path = route.path
if(filterStore.getSearchParams[path]) {
if(JSON.parse(filterStore.getSearchParams[path] !== {})){
const params = JSON.parse(filterStore.getSearchParams[path])
getForm().setFieldsValue({
page: params.page,
pageSize: params.pageSize,
roleName: params.roleName,
roleKey: params.roleKey,
flag: params.flag,
})
}
}
});
/**离开路由前调用的钩子函数*/
onBeforeRouteLeave((to, from, next) => {
const params = Object.assign({},getForm().getFieldsValue());
filterStore.setSearchParams(
{
path: from.path,
param: {
...params
}
}
)
next(); // 允许导航
});
</script>
......@@ -71,7 +71,7 @@ export const columns: BasicColumn[] = [
export const searchFormSchema: FormSchema[] = [
{
field: 'roleNme',
field: 'roleName',
label: '角色名称',
component: 'Input',
colProps: { span: 6 },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment