| | |
| | | <ProTableQueryFilterBar @on-reset="reset"> |
| | | <template #query> |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.clientType" |
| | | :value-enum="EnumClientTypeText" |
| | | buttonStyle |
| | | @change="getList()" |
| | | /> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <FieldRadio |
| | | v-model="extraParamState.userType" |
| | | :value-enum="EnumUserTypeText" |
| | | buttonStyle |
| | | @change="getList()" |
| | | /> |
| | | </QueryFilterItem> |
| | | <QueryFilterItem> |
| | | <SearchInput |
| | | v-model="extraParamState.queryCondition" |
| | | style="width: 200px" |
| | |
| | | </ProTableV2> |
| | | </AppContainer> |
| | | <AddOrEditRoleDialog v-bind="dialogProps" /> |
| | | <DialogAuthorize v-model:authorizeId="rowState.authorizeId" authorizeType="Role" /> |
| | | <DialogAuthorizeV2 v-bind="dialogAuthorizeProps" authorizeType="Role" /> |
| | | <!-- <DialogMember v-model:visibleId="rowState.setMemberRoleId" /> --> |
| | | </LoadingLayout> |
| | | </template> |
| | |
| | | QueryFilterItem, |
| | | useTable, |
| | | useFormDialog, |
| | | FieldRadio, |
| | | } from '@bole-core/components'; |
| | | import { useAccess, useAllRoleList } from '@/hooks'; |
| | | import { Message, OrderInputType } from '@bole-core/core'; |
| | | import { Message } from '@bole-core/core'; |
| | | import AddOrEditRoleDialog from './components/AddOrEditRoleDialog.vue'; |
| | | import { DataRangeEnum, DataRangeEnumText } from '@/constants'; |
| | | import DialogAuthorize from './components/dialogAuthorize.vue'; |
| | | import { EnumClientTypeText, EnumUserTypeText } from '@/constants'; |
| | | import DialogAuthorizeV2 from './components/dialogAuthorizeV2.vue'; |
| | | import * as roleServices from '@/services/api/role'; |
| | | |
| | | defineOptions({ |
| | | name: 'RoleManage', |
| | |
| | | operationBtnMap, |
| | | }); |
| | | |
| | | const { refetch } = useAllRoleList(); |
| | | |
| | | const BaseState = { |
| | | loading: true, |
| | | }; |
| | |
| | | } = useTable( |
| | | async ({ pageIndex, pageSize }, extraParamState) => { |
| | | try { |
| | | // let params: API.GetRolesInput = { |
| | | // pageModel: { |
| | | // rows: pageSize, |
| | | // page: pageIndex, |
| | | // orderInput: [{ property: 'sequence', order: OrderInputType.Asc }], |
| | | // }, |
| | | // queryCondition: extraParamState.queryCondition, |
| | | // }; |
| | | // let res = await userServices.getRoles(params, { |
| | | // showLoading: !state.loading, |
| | | // }); |
| | | // return { |
| | | // data: res.data, |
| | | // pageModel: { |
| | | // rows: pageSize, |
| | | // page: pageIndex, |
| | | // totalCount: res.pageModel.totalCount, |
| | | // }, |
| | | // }; |
| | | return {}; |
| | | let params: API.GetRolesQuery = { |
| | | pageModel: { |
| | | rows: pageSize, |
| | | page: pageIndex, |
| | | orderInput: extraParamState.orderInput, |
| | | }, |
| | | userType: extraParamState.userType, |
| | | clientType: extraParamState.clientType, |
| | | }; |
| | | let res = await roleServices.getRoles(params, { |
| | | showLoading: !state.loading, |
| | | }); |
| | | return res; |
| | | } catch (error) {} |
| | | }, |
| | | { |
| | | defaultExtraParams: { |
| | | queryCondition: '', |
| | | orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], |
| | | userType: EnumUserType.Operation, |
| | | clientType: EnumClientType.PcWeb, |
| | | }, |
| | | queryKey: ['userRoleServices/getRoles'], |
| | | queryKey: ['roleServices/getRoles'], |
| | | columnsRenderProps: { |
| | | dataPower: { type: 'enum', valueEnum: EnumRoleWebApiDataPowerText }, |
| | | }, |
| | | } |
| | | ); |
| | | |
| | | function openDialog(row?: API.RoleInfo) { |
| | | async function openDialog(row?: API.GetRolesQueryResultItem) { |
| | | try { |
| | | if (row) { |
| | | const detail = await roleServices.getRole({ id: row.id }); |
| | | handleEdit({ |
| | | id: row.id, |
| | | name: row.name, |
| | | remark: row.remark, |
| | | dataRange: row.dataRange, |
| | | userType: row.userType, |
| | | clientType: row.clientType, |
| | | dataRange: row.dataPower, |
| | | detail: detail, |
| | | }); |
| | | } else { |
| | | handleAdd(); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | const { dialogProps, handleAdd, handleEdit, editForm, dialogState } = useFormDialog({ |
| | |
| | | id: '', |
| | | name: '', |
| | | remark: '', |
| | | dataRange: DataRangeEnum.All, |
| | | userType: EnumUserType.Operation, |
| | | clientType: EnumClientType.PcWeb, |
| | | dataRange: EnumRoleWebApiDataPower.All, |
| | | detail: null as API.GetRoleQueryResult, |
| | | }, |
| | | }); |
| | | |
| | | async function handleAddOrEdit() { |
| | | try { |
| | | const isEdit = editForm.id; |
| | | // let params: API.CreateOrUpdateRoleInput = { |
| | | // name: editForm.name, |
| | | // remark: editForm.remark, |
| | | // dataRange: editForm.dataRange, |
| | | // }; |
| | | // let res; |
| | | // if (isEdit) { |
| | | // params.id = editForm.id; |
| | | // res = await userServices.updateRole(params); |
| | | // } else { |
| | | // res = await userServices.createRole(params); |
| | | // } |
| | | // if (res) { |
| | | // Message.successMessage('操作成功'); |
| | | // getList(isEdit ? paginationState.pageIndex : 1); |
| | | // refetch({ type: 'inactive' }); |
| | | // } |
| | | let params: API.SaveRoleCommand = { |
| | | name: editForm.name, |
| | | remark: editForm.remark, |
| | | dataPower: editForm.dataRange, |
| | | userType: editForm.userType, |
| | | clientType: editForm.clientType, |
| | | }; |
| | | if (isEdit) { |
| | | params = { |
| | | ...editForm.detail, |
| | | ...params, |
| | | }; |
| | | } |
| | | let res = await roleServices.saveRole(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(isEdit ? paginationState.pageIndex : 1); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function handleDeleteRole(row: API.RoleInfo) { |
| | | async function handleDeleteRole(row: API.GetRolesQueryResultItem) { |
| | | try { |
| | | // await Message.deleteMessage(); |
| | | // let params = { |
| | | // id: row.id, |
| | | // }; |
| | | // let res = await userServices.deleteRole(params); |
| | | // if (res) { |
| | | // Message.successMessage('操作成功'); |
| | | // getList(paginationState.pageIndex); |
| | | // refetch({ type: 'inactive' }); |
| | | // } |
| | | await Message.deleteMessage(); |
| | | let params: API.DeleteRoleCommand = { |
| | | ids: [row.id], |
| | | }; |
| | | let res = await roleServices.deleteRole(params); |
| | | if (res) { |
| | | Message.successMessage('操作成功'); |
| | | getList(paginationState.pageIndex); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function roleEnableOrForbid(row: API.RoleInfo) { |
| | | async function roleEnableOrForbid(row: API.GetRolesQueryResultItem) { |
| | | try { |
| | | // await Message.tipMessage(`是否${!row.isEnable ? '启用' : '禁用'}角色`); |
| | | // let res = await userServices.roleEnableOrForbid({ |
| | |
| | | setMemberRoleId: '', |
| | | }); |
| | | |
| | | function openAuthorizeDialog(row: API.IdentityRoleDto) { |
| | | rowState.authorizeId = row.id; |
| | | const { |
| | | dialogProps: dialogAuthorizeProps, |
| | | handleAdd: handleAuthorizeAdd, |
| | | editForm: authorizeForm, |
| | | } = useFormDialog({ |
| | | onConfirm: handleAuthorize, |
| | | defaultFormParams: { |
| | | detail: null as API.GetRoleQueryResult, |
| | | }, |
| | | }); |
| | | |
| | | async function openAuthorizeDialog(row: API.GetRolesQueryResultItem) { |
| | | try { |
| | | const detail = await roleServices.getRole({ id: row.id }); |
| | | handleAuthorizeAdd({ |
| | | detail: detail, |
| | | }); |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function handleAuthorize(selectedMenuIds: string[], resourceIds: string[]) { |
| | | try { |
| | | // let params: API.SaveRoleCommand = { |
| | | // ...authorizeForm.detail, |
| | | // menuIds: selectedMenuIds, |
| | | // resources: resourceIds.map((x) => ({ |
| | | // resourceId: x, |
| | | // dataPower: EnumRoleWebApiDataPower.All, |
| | | // })), |
| | | // }; |
| | | // let res = await roleServices.saveRole(params); |
| | | // if (res) { |
| | | // Message.successMessage('操作成功'); |
| | | // getList(paginationState.pageIndex); |
| | | // } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | // function openMemberDialog(row: API.IdentityRoleDto) { |