| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- /**
- * campus.ts —— 校区(campus)接口封装(org 域;README §3.2 一资源一文件)。
- *
- * 典型使用(views/org/campus/list.vue):
- * const { rows, total, page, pageSize, loading, fetchList } = useListPage<CampusDTO>({
- * fetcher: (p, ps) => listCampuses({ ...scope.toQuery(), keyword, page: p, pageSize: ps }),
- * });
- */
- import { http } from '@/api/http';
- import type { PageR } from '@/types/api';
- /** 校区 DTO(字段与后端 org 域 model.Campus 出参逐字段对齐 camelCase;status 字符串枚举) */
- export interface CampusDTO {
- /** 校区 id(int64 自增,主键) */
- campusId: number;
- /** 归属机构 id(作用域第一级) */
- institutionId: number;
- /** 校区名称 */
- campusName: string;
- /** 状态:"active" 启用 / "disabled" 停用(VARCHAR(16) 字符串枚举) */
- status: 'active' | 'disabled';
- /** 创建时间(RFC3339,后端 GORM CreatedAt) */
- createdAt: string;
- /** 更新时间(RFC3339,后端 GORM UpdatedAt) */
- updatedAt: string;
- }
- /** 校区列表查询参数(作用域由 useScope().toQuery() 注入) */
- export type CampusQuery = {
- /** 机构 id(作用域第一级) */
- institutionId: number;
- /** 校区 id(可空 = 机构级全部) */
- campusId?: number;
- /** 名称模糊搜索(可空) */
- keyword?: string;
- /** 页码(缺省 1) */
- page?: number;
- /** 每页条数(缺省 10,上限 200) */
- pageSize?: number;
- };
- /** 校区分页列表(GET /api/org/campuses)。入参:CampusQuery。出参:PageR<CampusDTO>。 */
- export function listCampuses(params: CampusQuery): Promise<PageR<CampusDTO>> {
- return http.get<PageR<CampusDTO>>('/api/org/campuses', { params }).then((r) => r.data);
- }
|