From 4e77cfeed21a06f4ae6921b4270c1dac7586591d Mon Sep 17 00:00:00 2001 From: ltx <1006158920@qq.com> Date: Sat, 10 Oct 2026 10:06:47 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8E=A5=E5=85=A5AI=E9=98=B3=E5=85=89?= =?UTF-8?q?=E8=B7=91=E9=A1=B5=E9=9D=A2=E4=B8=8E=E5=B9=B4=E7=BA=A7=E7=8F=AD?= =?UTF-8?q?=E7=BA=A7=E7=BA=A7=E8=81=94=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 新增阳光跑路由和列表页面,按学生姓名、年级班级及日期查询记录并支持分页。 查询与 Excel 导出共用所选年级、班级 ID,保留学校后台的页面风格。 --- src/api/sunshineRun.js | 24 ++ src/router/index.js | 8 + src/views/index.vue | 1 + src/views/motionData/sunshineRun/index.vue | 284 +++++++++++++++++++++ 4 files changed, 317 insertions(+) create mode 100644 src/api/sunshineRun.js create mode 100644 src/views/motionData/sunshineRun/index.vue diff --git a/src/api/sunshineRun.js b/src/api/sunshineRun.js new file mode 100644 index 0000000..591ed16 --- /dev/null +++ b/src/api/sunshineRun.js @@ -0,0 +1,24 @@ +import axios from 'axios' +import http from './http' +import store from '@/store/index' + +function queryString(params) { + const query = new URLSearchParams() + Object.entries(params).forEach(([key, value]) => { + if (value !== null && value !== undefined && value !== '') { + query.append(key, value) + } + }) + return query.toString() +} + +export function getSunshineRunPage(params) { + return http.get(`/api/SunshineRun/GetPageList?${queryString(params)}`) +} + +export function exportSunshineRun(params) { + return axios.get(`/api/SunshineRun/Export?${queryString(params)}`, { + responseType: 'blob', + headers: { Authorization: store.getters.getToken() } + }) +} diff --git a/src/router/index.js b/src/router/index.js index 1e4e8f5..c8505bb 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -428,6 +428,14 @@ const routes = [{ keepAlive: false } }, + { + path: '/sunshineRun', + name: 'sunshineRun', + component: () => import('@/views/motionData/sunshineRun/index.vue'), + meta: { + keepAlive: false + } + }, { path: '/trainingDetail', //运动数据/训练数据/详情 name: 'trainingDetail', diff --git a/src/views/index.vue b/src/views/index.vue index 7bc2500..074d6e6 100644 --- a/src/views/index.vue +++ b/src/views/index.vue @@ -810,6 +810,7 @@ export default defineComponent({ '/userActivity': 'el-icon-s-marketing', '/physicalTestData': 'el-icon-s-data', '/trainingData': 'el-icon-s-data', + '/sunshineRun': 'el-icon-s-data', '/visionData': 'el-icon-s-check', '/specialManagement': 'el-icon-s-management', '/ropeJumping': 'el-icon-s-cooperation', diff --git a/src/views/motionData/sunshineRun/index.vue b/src/views/motionData/sunshineRun/index.vue new file mode 100644 index 0000000..58eff85 --- /dev/null +++ b/src/views/motionData/sunshineRun/index.vue @@ -0,0 +1,284 @@ + + + + +