diff --git a/src/api/stuwork/classroomhygienedaily.ts b/src/api/stuwork/classroomhygienedaily.ts
index 78e06c8..883e7b8 100644
--- a/src/api/stuwork/classroomhygienedaily.ts
+++ b/src/api/stuwork/classroomhygienedaily.ts
@@ -96,3 +96,16 @@ export function validateExist(rule: any, value: any, callback: any, isEdit: bool
}
});
}
+
+/**
+ * 获取日卫生学年学期统计
+ * @param {Object} [query] - 查询参数(schoolYear, schoolTerm)
+ * @returns {Promise} 请求的 Promise 对象。
+ */
+export function summary(query?: Object) {
+ return request({
+ url: '/stuwork/classRoomHygieneDaily/summary',
+ method: 'get',
+ params: query,
+ });
+}
diff --git a/src/api/stuwork/classroomhygienemonthly.ts b/src/api/stuwork/classroomhygienemonthly.ts
index bc555a3..a936a45 100644
--- a/src/api/stuwork/classroomhygienemonthly.ts
+++ b/src/api/stuwork/classroomhygienemonthly.ts
@@ -57,3 +57,16 @@ export const importData = (data: FormData) => {
},
});
};
+
+/**
+ * 获取月卫生学年学期统计
+ * @param {Object} [query] - 查询参数(schoolYear, schoolTerm)
+ * @returns {Promise} 请求的 Promise 对象。
+ */
+export const monthlySummaryByYearTerm = (query?: Object) => {
+ return request({
+ url: '/stuwork/classroomhygienemonthly/monthlySummaryByYearTerm',
+ method: 'get',
+ params: query,
+ });
+};
diff --git a/src/api/stuwork/weekplan.ts b/src/api/stuwork/weekplan.ts
index 3ca70b2..bda79f9 100644
--- a/src/api/stuwork/weekplan.ts
+++ b/src/api/stuwork/weekplan.ts
@@ -96,3 +96,16 @@ export function validateExist(rule: any, value: any, callback: any, isEdit: bool
}
});
}
+
+/**
+ * 获取班级班主任查看状况统计
+ * @param {Object} [query] - 查询参数(schoolYear, schoolTerm)
+ * @returns {Promise} 请求的 Promise 对象。
+ */
+export function readStatistics(query?: Object) {
+ return request({
+ url: '/stuwork/weekPlan/readStatistics',
+ method: 'get',
+ params: query,
+ });
+}
diff --git a/src/views/stuwork/classroomhygienedaily/index.vue b/src/views/stuwork/classroomhygienedaily/index.vue
index d055904..dfe69bd 100644
--- a/src/views/stuwork/classroomhygienedaily/index.vue
+++ b/src/views/stuwork/classroomhygienedaily/index.vue
@@ -59,6 +59,7 @@
diff --git a/src/views/stuwork/classroomhygienemonthly/index.vue b/src/views/stuwork/classroomhygienemonthly/index.vue
index c7e9e3c..f512af1 100644
--- a/src/views/stuwork/classroomhygienemonthly/index.vue
+++ b/src/views/stuwork/classroomhygienemonthly/index.vue
@@ -59,6 +59,7 @@
@@ -199,7 +234,7 @@
import { ref, reactive, defineAsyncComponent, computed, onMounted } from 'vue';
import { useRoute } from 'vue-router';
import { BasicTableProps, useTable } from '/@/hooks/table';
-import { fetchList, delObjs, checkClassRoomHygieneMonthly } from '/@/api/stuwork/classroomhygienemonthly';
+import { fetchList, delObjs, checkClassRoomHygieneMonthly, monthlySummaryByYearTerm } from '/@/api/stuwork/classroomhygienemonthly';
import { makeExportClassRoomHygieneMonthlyTask } from '/@/api/stuwork/file';
import { useMessage, useMessageBox } from '/@/hooks/message';
import { queryAllSchoolYear } from '/@/api/basic/basicyear';
@@ -244,6 +279,16 @@ const checkDialogVisible = ref(false);
// 模板文件URL - 使用后端接口
const templateUrl = ref('/stuwork/classroomhygienemonthly/import/template');
+// 统计相关变量
+const summaryVisible = ref(false);
+const summaryLoading = ref(false);
+const summaryData = ref([]);
+const summaryForm = reactive({
+ schoolYear: '',
+ schoolTerm: '',
+ deptCode: ''
+});
+
// 表格列配置
const tableColumns = [
{ prop: 'schoolYear', label: '学年' },
@@ -524,6 +569,37 @@ const formatSchoolTerm = (value: string | number) => {
return dictItem ? dictItem.label : value;
};
+// 打开统计弹窗
+const handleOpenSummary = () => {
+ summaryVisible.value = true;
+ summaryForm.schoolYear = '';
+ summaryForm.schoolTerm = '';
+ summaryForm.deptCode = '';
+ summaryData.value = [];
+};
+
+// 查询统计数据
+const handleQuerySummary = async () => {
+ if (!summaryForm.schoolYear || !summaryForm.schoolTerm) {
+ useMessage().warning('请选择学年和学期');
+ return;
+ }
+ summaryLoading.value = true;
+ try {
+ const res = await monthlySummaryByYearTerm({
+ schoolYear: summaryForm.schoolYear,
+ schoolTerm: summaryForm.schoolTerm,
+ deptCode: summaryForm.deptCode
+ });
+ summaryData.value = Array.isArray(res.data) ? res.data : [];
+ } catch (err: any) {
+ useMessage().error(err.msg || '获取统计数据失败');
+ summaryData.value = [];
+ } finally {
+ summaryLoading.value = false;
+ }
+};
+
// 初始化
onMounted(() => {
getSchoolYearList();
diff --git a/src/views/stuwork/weekplan/index.vue b/src/views/stuwork/weekplan/index.vue
index cbfc1be..9c6d92e 100644
--- a/src/views/stuwork/weekplan/index.vue
+++ b/src/views/stuwork/weekplan/index.vue
@@ -62,16 +62,16 @@
每周工作计划列表