wupengfei
2025-11-13 52fd6392fa2278e287f7e0e43ed691f014744228
src/views/Permission/RoleManage.vue
@@ -19,6 +19,14 @@
              @change="getList()"
            />
          </QueryFilterItem>
          <QueryFilterItem v-if="extraParamState.userType === EnumUserType.Enterprise">
            <FieldRadio
              v-model="extraParamState.enterpriseType"
              :value-enum="EnumEnterpriseTypeText"
              buttonStyle
              @change="getList()"
            />
          </QueryFilterItem>
          <QueryFilterItem>
            <SearchInput
              v-model="extraParamState.queryCondition"
@@ -65,9 +73,15 @@
import { useAccess, useAllRoleList } from '@/hooks';
import { Message } from '@bole-core/core';
import AddOrEditRoleDialog from './components/AddOrEditRoleDialog.vue';
import { EnumClientTypeText, EnumUserTypeText } from '@/constants';
import {
  EnumClientTypeText,
  EnumUserTypeText,
  EnumEnterpriseTypeText,
  EnumUserType,
} from '@/constants';
import DialogAuthorizeV2 from './components/dialogAuthorizeV2.vue';
import * as roleServices from '@/services/api/role';
import { useQueryClient } from '@tanstack/vue-query';
defineOptions({
  name: 'RoleManage',
@@ -127,6 +141,9 @@
        clientType: extraParamState.clientType,
        keywords: extraParamState.queryCondition,
      };
      if (extraParamState.userType === EnumUserType.Enterprise) {
        params.enterpriseType = extraParamState.enterpriseType;
      }
      let res = await roleServices.getRoles(params, {
        showLoading: !state.loading,
      });
@@ -139,6 +156,7 @@
      orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
      userType: EnumUserType.Operation,
      clientType: EnumClientType.PcWeb,
      enterpriseType: EnumEnterpriseType.Supplier,
    },
    queryKey: ['roleServices/getRoles'],
    columnsRenderProps: {
@@ -159,6 +177,8 @@
        clientType: row.clientType,
        dataRange: row.dataPower,
        detail: detail,
        minLevel: row.minLevel,
        enterpriseType: row.enterpriseType,
      });
    } else {
      handleAdd({
@@ -179,9 +199,11 @@
    clientType: EnumClientType.PcWeb,
    dataRange: EnumRoleWebApiDataPower.All,
    detail: null as API.GetRoleQueryResult,
    minLevel: 1,
    enterpriseType: '' as any as EnumEnterpriseType,
  },
});
const queryClient = useQueryClient();
async function handleAddOrEdit() {
  try {
    const isEdit = editForm.id;
@@ -191,7 +213,11 @@
      dataPower: editForm.dataRange,
      userType: editForm.userType,
      clientType: editForm.clientType,
      minLevel: editForm.minLevel,
    };
    if (editForm.userType === EnumUserType.Enterprise) {
      params.enterpriseType = editForm.enterpriseType;
    }
    if (isEdit) {
      params = {
        ...editForm.detail,
@@ -202,6 +228,7 @@
    if (res) {
      Message.successMessage('操作成功');
      getList(isEdit ? paginationState.pageIndex : 1);
      queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
    }
  } catch (error) {}
}
@@ -216,6 +243,7 @@
    if (res) {
      Message.successMessage('操作成功');
      getList(paginationState.pageIndex);
      queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
    }
  } catch (error) {}
}
@@ -230,6 +258,7 @@
    if (res) {
      Message.successMessage('操作成功');
      getList(paginationState.pageIndex);
      queryClient.invalidateQueries(['userServices/getUserInfoRoles']);
      return !!res;
    }
  } catch (error) {}
@@ -260,7 +289,8 @@
  } catch (error) {}
}
async function handleAuthorize(selectedMenuIds: string[], resourceIds: string[]) {
async function handleAuthorize(selectedMenuIds: string[]) {
  console.log('selectedMenuIds: ', selectedMenuIds);
  try {
    let params: API.SaveRoleCommand = {
      ...authorizeForm.detail,