From d9f7f85422b1f3e01e03fbae8a5e4e89a3f9363b Mon Sep 17 00:00:00 2001 From: yaojian <1161995598@qq.com> Date: Thu, 12 Mar 2026 18:32:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AF=8F=E5=91=A8=E8=AE=A1=E5=88=92=E6=97=A5?= =?UTF-8?q?=E5=8D=AB=E7=94=9F=E6=9C=88=E5=8D=AB=E7=94=9F=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E7=BB=9F=E8=AE=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/stuwork/classroomhygienedaily.ts | 13 ++ src/api/stuwork/classroomhygienemonthly.ts | 13 ++ src/api/stuwork/weekplan.ts | 13 ++ .../stuwork/classroomhygienedaily/index.vue | 116 +++++++++++++++- .../stuwork/classroomhygienemonthly/index.vue | 78 ++++++++++- src/views/stuwork/weekplan/index.vue | 130 +++++++++++++++--- 6 files changed, 340 insertions(+), 23 deletions(-) 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 @@ 每周工作计划列表
- 新增 - - +