diff --git a/src/api/safety/clouddeviceposition.ts b/src/api/safety/clouddeviceposition.ts
new file mode 100644
index 0000000..c90df2f
--- /dev/null
+++ b/src/api/safety/clouddeviceposition.ts
@@ -0,0 +1,11 @@
+import request from '/@/utils/request';
+
+/**
+ * 获取所有设备位置(校门)列表
+ */
+export const listAll = () => {
+ return request({
+ url: '/safety/clouddeviceposition/listAll',
+ method: 'get',
+ });
+};
\ No newline at end of file
diff --git a/src/api/stuwork/classcheckdaily.ts b/src/api/stuwork/classcheckdaily.ts
index a9d12c5..abd2cb1 100644
--- a/src/api/stuwork/classcheckdaily.ts
+++ b/src/api/stuwork/classcheckdaily.ts
@@ -78,3 +78,16 @@ export function getRank(query?: Object) {
params: query,
});
}
+
+/**
+ * 获取日常巡检学年学期统计
+ * @param {Object} [query] - 查询参数(schoolYear, schoolTerm, deptCode)
+ * @returns {Promise} 请求的 Promise 对象。
+ */
+export function dailySummaryByYearTerm(query?: Object) {
+ return request({
+ url: '/stuwork/classcheckdaily/dailySummaryByYearTerm',
+ method: 'get',
+ params: query,
+ });
+}
diff --git a/src/api/stuwork/classhygienedaily.ts b/src/api/stuwork/classhygienedaily.ts
index e2833c8..7f96b7c 100644
--- a/src/api/stuwork/classhygienedaily.ts
+++ b/src/api/stuwork/classhygienedaily.ts
@@ -64,3 +64,16 @@ export function putObj(obj?: Object) {
data: obj,
});
}
+
+/**
+ * 获取日常行为学年学期统计
+ * @param {Object} [query] - 查询参数(schoolYear, schoolTerm, deptCode)
+ * @returns {Promise} 请求的 Promise 对象。
+ */
+export function dailySummaryByYearTerm(query?: Object) {
+ return request({
+ url: '/stuwork/classhygienedaily/dailySummaryByYearTerm',
+ method: 'get',
+ params: query,
+ });
+}
diff --git a/src/api/stuwork/dormliveapply.ts b/src/api/stuwork/dormliveapply.ts
index 6568ca3..ff95f46 100644
--- a/src/api/stuwork/dormliveapply.ts
+++ b/src/api/stuwork/dormliveapply.ts
@@ -72,3 +72,32 @@ export const exportData = (query?: any) => {
responseType: 'blob',
});
};
+
+/**
+ * 审批留宿申请
+ * @param id 申请ID
+ * @param auditStatus 审核状态(2-通过,3-不通过)
+ * @param auditRemark 审核备注
+ */
+export const auditApply = (id: string, auditStatus: string, auditRemark?: string) => {
+ return request({
+ url: '/stuwork/dormliveapply/audit',
+ method: 'post',
+ params: { id, auditStatus, auditRemark },
+ });
+};
+
+/**
+ * 批量审批留宿申请
+ * @param ids 申请ID列表
+ * @param auditStatus 审核状态(2-通过,3-不通过)
+ * @param auditRemark 审核备注
+ */
+export const batchAuditApply = (ids: string[], auditStatus: string, auditRemark?: string) => {
+ return request({
+ url: '/stuwork/dormliveapply/batchAudit',
+ method: 'post',
+ data: ids,
+ params: { auditStatus, auditRemark },
+ });
+};
diff --git a/src/api/stuwork/stuturnover.ts b/src/api/stuwork/stuturnover.ts
index 8de61d1..89036a8 100644
--- a/src/api/stuwork/stuturnover.ts
+++ b/src/api/stuwork/stuturnover.ts
@@ -84,3 +84,15 @@ export const exportData = (query?: any) => {
responseType: 'blob',
});
};
+
+/**
+ * 根据班号查询班级异动情况
+ * @param classCode 班号
+ */
+export const queryByClassCode = (classCode: string) => {
+ return request({
+ url: '/stuwork/stuturnover/queryByClassCode',
+ method: 'get',
+ params: { classCode },
+ });
+};
diff --git a/src/views/basic/basicclass/detail.vue b/src/views/basic/basicclass/detail.vue
index 2e49acf..c2bc899 100644
--- a/src/views/basic/basicclass/detail.vue
+++ b/src/views/basic/basicclass/detail.vue
@@ -24,8 +24,46 @@