| | |
| | | </template> |
| | | </ProTableQueryFilterBar> |
| | | <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> |
| | | <template #columns="{ row, column }"> |
| | | <template v-if="column.property === 'departmentId'"> |
| | | {{ DepartmentTypeText[row[column.property]] }} |
| | | </template> |
| | | <template v-else-if="column.property === 'dataRange'"> |
| | | {{ DataRangeEnumText[row[column.property]] }} |
| | | </template> |
| | | <!-- <template v-else-if="column.property === 'isEnable'"> |
| | | <FieldSwitch |
| | | active-text="启用" |
| | | inactive-text="禁用" |
| | | v-model="row.isEnable" |
| | | :before-change="() => roleEnableOrForbid(row)" |
| | | /> |
| | | </template> --> |
| | | </template> |
| | | </ProTableV2> |
| | | </AppContainer> |
| | | <AddOrEditRoleDialog v-bind="dialogProps" /> |
| | | <DialogAuthorize v-model:authorizeId="rowState.authorizeId" authorizeType="Role" /> |
| | | <!-- <DialogMember v-model:visibleId="rowState.setMemberRoleId" /> --> |
| | | <DialogAuthorize |
| | | v-model:authorizeId="rowState.authorizeId" |
| | | authorizeType="Role" |
| | | :menuScene="AppLocalConfig.menuScene" |
| | | /> |
| | | <DialogMember v-model:visibleId="rowState.setMemberRoleId" /> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | |
| | | QueryFilterItem, |
| | | useTable, |
| | | useFormDialog, |
| | | FieldRadio, |
| | | } from '@bole-core/components'; |
| | | import { useAccess, useAllRoleList } from '@/hooks'; |
| | | import * as userServices from '@/services/api/User'; |
| | | import { useAccess } from '@/hooks'; |
| | | import * as userRoleServices from '@/services/api/UserRole'; |
| | | import { Message, OrderInputType } from '@bole-core/core'; |
| | | import AddOrEditRoleDialog from './components/AddOrEditRoleDialog.vue'; |
| | | import { DataRangeEnum, DataRangeEnumText } from '@/constants'; |
| | | import DialogAuthorize from './components/dialogAuthorize.vue'; |
| | | import DialogMember from './components/dialogMember.vue'; |
| | | import { |
| | | DepartmentType, |
| | | DepartmentTypeText, |
| | | DataRangeEnum, |
| | | DataRangeEnumText, |
| | | EnumMenuSceneText, |
| | | EnumMenuScene, |
| | | AppLocalConfig, |
| | | } from '@/constants'; |
| | | import { formatRoleName } from '@/utils'; |
| | | |
| | | defineOptions({ |
| | |
| | | editBtn: { emits: { onClick: (role) => openDialog(role) } }, |
| | | delBtn: { emits: { onClick: (role) => handleDeleteRole(role) }, props: { type: 'danger' } }, |
| | | authorize: { emits: { onClick: (role) => openAuthorizeDialog(role) } }, |
| | | // member: { emits: { onClick: (role) => openMemberDialog(role) } }, |
| | | disabledBtn: { |
| | | emits: { onClick: (role) => roleEnableOrForbid(role) }, |
| | | extraProps: { |
| | | hide: (row) => row.isEnable, |
| | | }, |
| | | }, |
| | | member: { emits: { onClick: (role) => openMemberDialog(role) } }, |
| | | enableBtn: { |
| | | emits: { onClick: (role) => roleEnableOrForbid(role) }, |
| | | extraProps: { |
| | | hide: (row) => !row.isEnable, |
| | | hide: (row: API.RoleInfo) => row.isEnable, |
| | | }, |
| | | }, |
| | | disabledBtn: { |
| | | emits: { onClick: (role) => roleEnableOrForbid(role) }, |
| | | extraProps: { |
| | | hide: (row: API.RoleInfo) => !row.isEnable, |
| | | }, |
| | | }, |
| | | }; |
| | |
| | | const { checkSubModuleItemShow, column, operationBtns } = useAccess({ |
| | | operationBtnMap, |
| | | }); |
| | | |
| | | const { refetch } = useAllRoleList(); |
| | | |
| | | const BaseState = { |
| | | loading: true, |
| | |
| | | orderInput: [{ property: 'sequence', order: OrderInputType.Asc }], |
| | | }, |
| | | queryCondition: extraParamState.queryCondition, |
| | | menuScene: AppLocalConfig.menuScene, |
| | | }; |
| | | let res = await userServices.getRoles(params, { |
| | | let res = await userRoleServices.getRoles(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return { |
| | |
| | | id: row.id, |
| | | name: formatRoleName(row.name), |
| | | remark: row.remark, |
| | | // departmentId: row.departmentId, |
| | | dataRange: row.dataRange, |
| | | }); |
| | | } else { |
| | |
| | | id: '', |
| | | name: '', |
| | | remark: '', |
| | | // departmentId: DepartmentType.Market, |
| | | dataRange: DataRangeEnum.All, |
| | | }, |
| | | }); |
| | |
| | | async function handleAddOrEdit() { |
| | | try { |
| | | const isEdit = editForm.id; |
| | | let params: API.CreateOrUpdateRoleInput = { |
| | | let params: API.CreateBaseRoleInput = { |
| | | name: editForm.name, |
| | | remark: editForm.remark, |
| | | // departmentId: editForm.departmentId, |
| | | dataRange: editForm.dataRange, |
| | | menuScene: AppLocalConfig.menuScene, |
| | | }; |
| | | let res; |
| | | if (isEdit) { |
| | | params.id = editForm.id; |
| | | res = await userServices.updateRole(params); |
| | | (params as API.CreateOrUpdateRoleInput).id = editForm.id; |
| | | res = await userRoleServices.updateRole(params); |
| | | } else { |
| | | res = await userServices.createRole(params); |
| | | res = await userRoleServices.createRole(params); |
| | | } |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(isEdit ? paginationState.pageIndex : 1); |
| | | refetch({ type: 'inactive' }); |
| | | dialogState.dialogVisible = false; |
| | | } |
| | | } catch (error) {} |
| | | } |
| | |
| | | let params = { |
| | | id: row.id, |
| | | }; |
| | | let res = await userServices.deleteRole(params); |
| | | let res = await userRoleServices.deleteRole(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | | refetch({ type: 'inactive' }); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function roleEnableOrForbid(row: API.RoleInfo) { |
| | | try { |
| | | await Message.tipMessage(`是否${!row.isEnable ? '启用' : '禁用'}角色`); |
| | | let res = await userServices.roleEnableOrForbid({ |
| | | await Message.tipMessage(`是否${!row.isEnable ? '启用' : '禁用'}用户`); |
| | | let res = await userRoleServices.roleEnableOrForbid({ |
| | | id: row.id, |
| | | isEnable: !row.isEnable, |
| | | }); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | | refetch({ type: 'inactive' }); |
| | | return !!res; |
| | | } |
| | | } catch (error) {} |
| | |
| | | rowState.authorizeId = row.id; |
| | | } |
| | | |
| | | // function openMemberDialog(row: API.IdentityRoleDto) { |
| | | // rowState.setMemberRoleId = row.id; |
| | | // } |
| | | function openMemberDialog(row: API.IdentityRoleDto) { |
| | | rowState.setMemberRoleId = row.id; |
| | | } |
| | | </script> |