| | |
| | | <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" |
| | |
| | | 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> |
| | |
| | | LoadingLayout, |
| | | OperationBtnType, |
| | | SearchInput, |
| | | QueryFilterItem, |
| | | FieldRadio, |
| | | } from '@bole-core/components'; |
| | | import { ModuleUtils, TreeModuleDtoGroupDto, Message, TreeStore, flattenTree } from '@/utils'; |
| | | import { TableInstance } from 'element-plus'; |
| | |
| | | FastBtn, |
| | | ModuleColumns, |
| | | EnumMenuType, |
| | | EnumClientTypeText, |
| | | EnumUserTypeText, |
| | | } from '@/constants'; |
| | | import SubModuleEditDrawer from './components/SubModuleEditDrawer.vue'; |
| | | import AddOrEditModuleDialog from './components/AddOrEditModuleDialog.vue'; |
| | |
| | | loading: true, |
| | | searchValue: '', |
| | | group: 'default', |
| | | userType: EnumUserType.Operation, |
| | | clientType: EnumClientType.PcWeb, |
| | | }; |
| | | const state = reactive({ ...BaseState }); |
| | | const moduleTreeStore = ref<TreeStore<TreeModuleDtoGroupDto>>(); |
| | |
| | | try { |
| | | let res = await menuServices.getMenus( |
| | | { |
| | | userType: EnumUserType.Operation, |
| | | clientType: EnumClientType.PcWeb, |
| | | userType: state.userType, |
| | | clientType: state.clientType, |
| | | }, |
| | | { |
| | | showLoading: false, |
| | |
| | | } |
| | | 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) { |
| | |
| | | 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, |
| | |
| | | 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; |
| | | }); |