| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- import type { RouteMeta } from 'vue-router';
- import type { TransformData, TransformList, TransformRecord } from '#/api';
- import { http } from '#/api';
- import { fromRole, fromUser, toRole, toUser } from '#/api/model';
- import { fromMenus } from '#/api/model/menu';
- export namespace SystemModel {
- export interface Role extends TransformRecord {
- [key: string]: any;
- id: string;
- name: string;
- code?: string;
- permissions: string[];
- remark?: string;
- status: 0 | 1;
- }
- export interface User extends TransformRecord {
- id: string;
- access: string;
- name: string;
- worker?: string;
- mobile?: string;
- roles?: Array<Role | string>;
- password?: string;
- }
- export interface Menu {
- type: 'button' | 'catalog' | 'menu';
- id: string;
- pid?: string;
- name: string;
- path: string;
- component?: string;
- meta: Partial<RouteMeta>;
- children?: Menu[];
- }
- }
- export function listRolesMethod(page = 1, size = 20, query?: TransformData) {
- return http.post<TransformList<SystemModel.Role>, TransformList>(
- `/admin/right_RoleMgr/listPain`,
- query,
- {
- params: { page, limit: size },
- transform({ items, ...data }) {
- return { ...data, items: items.map((item) => fromRole(item)) };
- },
- },
- );
- }
- export function optionsRoleMethod() {
- return http.get<SystemModel.Role[], TransformData[]>(
- `/admin/right_RoleMgr/optionselect`,
- {
- transform(data) {
- return data.map((item) => fromRole(item));
- },
- },
- );
- }
- export function editRoleMethod(data: Partial<SystemModel.Role>) {
- return http.post(
- data.id ? `/admin/right_RoleMgr/update` : `/admin/right_RoleMgr/Add`,
- toRole(data),
- );
- }
- export function updateRoleStatusMethod(
- id: string,
- data: Partial<Omit<SystemModel.Role, 'id'>>,
- ) {
- const { pid, stateSel } = toRole({ ...data, id });
- return http.put(`/admin/right_RoleMgr/changeStatus`, { pid, stateSel });
- }
- export function deleteRoleMethod(data: Pick<SystemModel.User, 'id'>) {
- return deleteRolesMethod([data]);
- }
- export function deleteRolesMethod(params: Pick<SystemModel.User, 'id'>[]) {
- return http.post(`/admin/right_RoleMgr/BatchDelete`, void 0, {
- params: { ids: params.map((item) => item.id).join(',') },
- });
- }
- export function listUsersMethod(page = 1, size = 20, query?: SystemModel.User) {
- return http.post<TransformList<SystemModel.User>, TransformList>(
- `/portal/userMgr/listPain`,
- toUser(query),
- {
- params: { page, limit: size },
- transform({ items, ...data }) {
- return { ...data, items: items.map((item) => fromUser(item)) };
- },
- },
- );
- }
- export function editUserMethod(data: Partial<SystemModel.User>) {
- return http.post(
- data?.id ? `/portal/userMgr/update` : `/portal/userMgr/Add`,
- toUser(data),
- );
- }
- export function getUserMethod(id: string) {
- return http.get<SystemModel.User, TransformData>(`/portal/userMgr/${id}`, {
- transform(data) {
- return fromUser(data);
- },
- });
- }
- export function deleteUserMethod(data: Pick<SystemModel.User, 'id'>) {
- return deleteUsersMethod([data]);
- }
- export function deleteUsersMethod(params: Pick<SystemModel.User, 'id'>[]) {
- return http.post(`/portal/userMgr/BatchDelete`, void 0, {
- params: { ids: params.map((item) => item.id).join(',') },
- });
- }
- export function getMenusMethod() {
- return http.post<SystemModel.Menu[], TransformData[]>(
- `/admin/right_RoleMgr/allMenu`,
- void 0,
- {
- transform(data) {
- return fromMenus(data);
- },
- },
- );
- }
|