From 22477adc4e931cd4a6925d8f0e867ef7aedc661d Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期二, 05 八月 2025 17:34:42 +0800 Subject: [PATCH] fix: 修改功能模块 --- src/views/System/ModuleManage.vue | 76 ++++++++++++++++++++++++++------------ 1 files changed, 52 insertions(+), 24 deletions(-) diff --git a/src/views/System/ModuleManage.vue b/src/views/System/ModuleManage.vue index 6e6cfcf..5a20161 100644 --- a/src/views/System/ModuleManage.vue +++ b/src/views/System/ModuleManage.vue @@ -3,6 +3,22 @@ <AppContainer> <ProTableQueryFilterBar @on-reset="handleReset"> <template #query> + <QueryFilterItem> + <FieldRadio + v-model="state.clientType" + :value-enum="EnumClientTypeText" + buttonStyle + @change="getAllModule()" + /> + </QueryFilterItem> + <QueryFilterItem> + <FieldRadio + v-model="state.userType" + :value-enum="EnumUserTypeText" + buttonStyle + @change="getAllModule()" + /> + </QueryFilterItem> <div class="query-filter-list-item"> <SearchInput v-model="state.searchValue" @@ -50,14 +66,14 @@ row.type=v?EnumMenuType.Menu:EnumMenuType.Page }" inline-prompt - @change="(v: number) => handleChangeStatus(v, row, 'isMenu')" + @change="(v: boolean) => handleChangeStatus(v, row, 'isMenu')" ></el-switch> </template> <template v-else-if="column.property === 'enabledMark'"> <el-switch :modelValue="!row.isDisabled" :onUpdate:modelValue="(v: boolean) => row.isDisabled =!v" - @change="(v: number) => handleChangeStatus(v, row, 'enabledMark')" + @change="(v: boolean) => handleChangeStatus(v, row, 'enabledMark')" ></el-switch> </template> </template> @@ -94,6 +110,8 @@ LoadingLayout, OperationBtnType, SearchInput, + QueryFilterItem, + FieldRadio, } from '@bole-core/components'; import { ModuleUtils, TreeModuleDtoGroupDto, Message, TreeStore, flattenTree } from '@/utils'; import { TableInstance } from 'element-plus'; @@ -104,6 +122,8 @@ FastBtn, ModuleColumns, EnumMenuType, + EnumClientTypeText, + EnumUserTypeText, } from '@/constants'; import SubModuleEditDrawer from './components/SubModuleEditDrawer.vue'; import AddOrEditModuleDialog from './components/AddOrEditModuleDialog.vue'; @@ -183,6 +203,8 @@ loading: true, searchValue: '', group: 'default', + userType: EnumUserType.Operation, + clientType: EnumClientType.PcWeb, }; const state = reactive({ ...BaseState }); const moduleTreeStore = ref<TreeStore<TreeModuleDtoGroupDto>>(); @@ -228,8 +250,8 @@ try { let res = await menuServices.getMenus( { - userType: EnumUserType.Operation, - clientType: EnumClientType.PcWeb, + userType: state.userType, + clientType: state.clientType, }, { showLoading: false, @@ -242,23 +264,30 @@ } type StatusEventType = { isCache: boolean; - isMenu: number; - enabledMark: number; + isMenu: boolean; + enabledMark: boolean; }; async function handleChangeStatus<T extends keyof StatusEventType>( - value: StatusEventType[T], + value: boolean, data: TreeModuleDtoGroupDto, statusType: T ) { try { - // let params = { - // ..._.omit(data, ['children', 'parentNode']), - // [statusType]: value, - // }; - // await baseModuleServices.addOrEditModule(params); - } catch (error) { - Message.errorMessage('鎿嶄綔澶辫触'); - } + let params: API.SetMenuSwitchCommand = { + ids: [data.id], + type: data.type, + isDisabled: data.isDisabled, + isCache: data.isCache, + }; + if (statusType === 'isMenu') { + params.type = value ? EnumMenuType.Menu : EnumMenuType.Page; + } else if (statusType === 'isCache') { + params.isCache = value; + } else { + params.isDisabled = !value; + } + await menuServices.setMenuSwitch(params); + } catch (error) {} } async function getMenu(id: string) { @@ -366,8 +395,8 @@ async function handleAddOrEditModule() { try { let params: API.SaveMenuCommand = { - userType: EnumUserType.Operation, - clientType: EnumClientType.PcWeb, + userType: state.userType, + clientType: state.clientType, code: editForm.enCode, name: editForm.name, type: editForm.isMenu ? EnumMenuType.Menu : EnumMenuType.Page, @@ -529,13 +558,12 @@ if (columnModuleList.length > 0) { const groups = currentDrawerModule.value.groups.map((group) => { if (group.group === state.group) { - group.fields == - columnModuleList.map((c) => ({ - code: c.enCode, - name: c.name, - width: c.width, - sort: c.sortCode, - })); + group.fields = columnModuleList.map((c) => ({ + code: c.enCode, + name: c.name, + width: c.width, + sort: c.sortCode, + })); } return group; }); -- Gitblit v1.9.1