| | |
| | | @change="getAllModule()" |
| | | /> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem v-if="state.userType === EnumUserType.Enterprise"> |
| | | <FieldRadio |
| | | v-model="state.enterpriseType" |
| | | :value-enum="EnumEnterpriseTypeText" |
| | | buttonStyle |
| | | @change="getAllModule()" |
| | | /> |
| | | </QueryFilterItem> |
| | | <div class="query-filter-list-item"> |
| | | <SearchInput |
| | | v-model="state.searchValue" |
| | |
| | | EnumMenuType, |
| | | EnumClientTypeText, |
| | | EnumUserTypeText, |
| | | EnumEnterpriseTypeText, |
| | | EnumUserType, |
| | | } from '@/constants'; |
| | | import SubModuleEditDrawer from './components/SubModuleEditDrawer.vue'; |
| | | import AddOrEditModuleDialog from './components/AddOrEditModuleDialog.vue'; |
| | |
| | | group: 'default', |
| | | userType: EnumUserType.Operation, |
| | | clientType: EnumClientType.PcWeb, |
| | | enterpriseType: EnumEnterpriseType.Supplier, |
| | | }; |
| | | const state = reactive({ ...BaseState }); |
| | | const moduleTreeStore = ref<TreeStore<TreeModuleDtoGroupDto>>(); |
| | |
| | | }); |
| | | async function getAllModule() { |
| | | try { |
| | | let res = await menuServices.getMenus( |
| | | { |
| | | userType: state.userType, |
| | | clientType: state.clientType, |
| | | }, |
| | | { |
| | | showLoading: false, |
| | | } |
| | | ); |
| | | let params: API.APIgetMenusParams = { |
| | | userType: state.userType, |
| | | clientType: state.clientType, |
| | | }; |
| | | if (state.userType === EnumUserType.Enterprise) { |
| | | params.enterpriseType = state.enterpriseType; |
| | | } |
| | | let res = await menuServices.getMenus(params, { |
| | | showLoading: false, |
| | | }); |
| | | const treeStore = ModuleUtils.convertToModuleGroup(flattenTree(res)); |
| | | moduleTreeStore.value = treeStore; |
| | | originModuleTree.value = [...treeStore.data]; |
| | |
| | | let params: API.SaveMenuCommand = { |
| | | userType: state.userType, |
| | | clientType: state.clientType, |
| | | enterpriseType: state.enterpriseType, |
| | | code: editForm.enCode, |
| | | name: editForm.name, |
| | | type: editForm.isMenu ? EnumMenuType.Menu : EnumMenuType.Page, |
| | |
| | | name: subModule.name, |
| | | group: state.group, |
| | | // location: 'string', |
| | | width: subModule.width, |
| | | width: !!subModule.width ? subModule.width.toString() : undefined, |
| | | sort: subModule.sortCode, |
| | | }; |
| | | if (subModule.id) { |
| | |
| | | getBaseModuleGetAllSubModule(currentDrawerModule.value, drawerState.type); |
| | | Message.successMessage('保存成功'); |
| | | } |
| | | } catch (error) {} |
| | | } catch (error) { |
| | | console.log('error: ', error); |
| | | } |
| | | } |
| | | async function handelBatchSaveColumn() { |
| | | try { |
| | | if (drawerState.type === SubModuleType.Column) { |
| | | let columnModuleList = drawerState.tableData; //.filter((d) => d.isEdit); |
| | | if (columnModuleList.length > 0) { |
| | | const groups = currentDrawerModule.value.groups.map((group) => { |
| | | if (group.group === state.group) { |
| | | group.fields = columnModuleList.map((c) => ({ |
| | | let groups = [...currentDrawerModule.value.groups]; |
| | | const isExist = groups.some((g) => g.group === state.group); |
| | | if (isExist) { |
| | | groups = groups.map((group) => { |
| | | if (group.group === state.group) { |
| | | group.fields = columnModuleList.map((c) => ({ |
| | | code: c.enCode, |
| | | name: c.name, |
| | | width: c.width.toString(), |
| | | sort: c.sortCode, |
| | | })); |
| | | } |
| | | return group; |
| | | }); |
| | | } else { |
| | | const group: API.GetMenuQueryResultGroup = { |
| | | group: state.group, |
| | | fields: columnModuleList.map((c) => ({ |
| | | code: c.enCode, |
| | | name: c.name, |
| | | width: c.width, |
| | | width: c.width.toString(), |
| | | sort: c.sortCode, |
| | | })); |
| | | } |
| | | return group; |
| | | }); |
| | | })), |
| | | }; |
| | | groups.push(group); |
| | | } |
| | | let params: API.SaveMenuCommand = { |
| | | ...currentDrawerModule.value, |
| | | groups: groups, |