From ba8d1c3083b10e57e9b9f9feb9f192d6f37df1fa Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 14 十一月 2025 18:52:56 +0800
Subject: [PATCH] fix: bug
---
src/views/Permission/RoleManage.vue | 95 +++++++++++++++++++++++++++++++++--------------
1 files changed, 66 insertions(+), 29 deletions(-)
diff --git a/src/views/Permission/RoleManage.vue b/src/views/Permission/RoleManage.vue
index 5efdf97..e231f4d 100644
--- a/src/views/Permission/RoleManage.vue
+++ b/src/views/Permission/RoleManage.vue
@@ -25,11 +25,31 @@
</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>
@@ -44,14 +64,25 @@
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';
+import { useQueryClient } from '@tanstack/vue-query';
defineOptions({
name: 'RoleManage',
@@ -61,17 +92,17 @@
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,
},
},
};
@@ -79,8 +110,6 @@
const { checkSubModuleItemShow, column, operationBtns } = useAccess({
operationBtnMap,
});
-
-const { refetch } = useAllRoleList();
const BaseState = {
loading: true,
@@ -109,8 +138,9 @@
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 {
@@ -140,6 +170,7 @@
id: row.id,
name: formatRoleName(row.name),
remark: row.remark,
+ // departmentId: row.departmentId,
dataRange: row.dataRange,
});
} else {
@@ -153,29 +184,37 @@
id: '',
name: '',
remark: '',
+ // departmentId: DepartmentType.Market,
dataRange: DataRangeEnum.All,
},
});
+const queryClient = useQueryClient();
+
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;
+ queryClient.invalidateQueries({
+ queryKey: ['userRoleServices/getRoles'],
+ });
}
} catch (error) {}
}
@@ -186,26 +225,24 @@
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) {}
@@ -220,7 +257,7 @@
rowState.authorizeId = row.id;
}
-// function openMemberDialog(row: API.IdentityRoleDto) {
-// rowState.setMemberRoleId = row.id;
-// }
+function openMemberDialog(row: API.IdentityRoleDto) {
+ rowState.setMemberRoleId = row.id;
+}
</script>
--
Gitblit v1.9.1