|
|
@@ -0,0 +1,85 @@
|
|
|
+import axios from 'axios';
|
|
|
+import type {
|
|
|
+ ClassroomData,
|
|
|
+ ClassroomDataListResponse,
|
|
|
+ ClassroomStatus
|
|
|
+} from '../../share/types_stock.ts';
|
|
|
+
|
|
|
+interface ClassroomDataResponse {
|
|
|
+ data: ClassroomData;
|
|
|
+ message?: string;
|
|
|
+}
|
|
|
+
|
|
|
+interface ClassroomDataCreateResponse {
|
|
|
+ message: string;
|
|
|
+ data: ClassroomData;
|
|
|
+}
|
|
|
+
|
|
|
+interface ClassroomDataUpdateResponse {
|
|
|
+ message: string;
|
|
|
+ data: ClassroomData;
|
|
|
+}
|
|
|
+
|
|
|
+interface ClassroomDataDeleteResponse {
|
|
|
+ message: string;
|
|
|
+ id: number;
|
|
|
+}
|
|
|
+
|
|
|
+// 教室数据API
|
|
|
+export const ClassroomDataAPI = {
|
|
|
+ // 获取教室数据列表
|
|
|
+ getClassroomDatas: async (params?: {
|
|
|
+ page?: number;
|
|
|
+ pageSize?: number;
|
|
|
+ classroom_no?: string;
|
|
|
+ training_date?: string;
|
|
|
+ status?: ClassroomStatus;
|
|
|
+ }): Promise<ClassroomDataListResponse> => {
|
|
|
+ try {
|
|
|
+ const response = await axios.get('/classroom-datas', { params });
|
|
|
+ return response.data;
|
|
|
+ } catch (error) {
|
|
|
+ throw error;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 获取单个教室数据
|
|
|
+ getClassroomData: async (id: number): Promise<ClassroomDataResponse> => {
|
|
|
+ try {
|
|
|
+ const response = await axios.get(`/classroom-datas/${id}`);
|
|
|
+ return response.data;
|
|
|
+ } catch (error) {
|
|
|
+ throw error;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 创建教室数据
|
|
|
+ createClassroomData: async (data: Partial<ClassroomData>): Promise<ClassroomDataCreateResponse> => {
|
|
|
+ try {
|
|
|
+ const response = await axios.post('/classroom-datas', data);
|
|
|
+ return response.data;
|
|
|
+ } catch (error) {
|
|
|
+ throw error;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 更新教室数据
|
|
|
+ updateClassroomData: async (id: number, data: Partial<ClassroomData>): Promise<ClassroomDataUpdateResponse> => {
|
|
|
+ try {
|
|
|
+ const response = await axios.put(`/classroom-datas/${id}`, data);
|
|
|
+ return response.data;
|
|
|
+ } catch (error) {
|
|
|
+ throw error;
|
|
|
+ }
|
|
|
+ },
|
|
|
+
|
|
|
+ // 删除教室数据
|
|
|
+ deleteClassroomData: async (id: number): Promise<ClassroomDataDeleteResponse> => {
|
|
|
+ try {
|
|
|
+ const response = await axios.delete(`/classroom-datas/${id}`);
|
|
|
+ return response.data;
|
|
|
+ } catch (error) {
|
|
|
+ throw error;
|
|
|
+ }
|
|
|
+ }
|
|
|
+};
|