Compare commits

...

3 Commits

Author SHA1 Message Date
ltx
d9f02ba311 补齐映射 2026-10-23 13:36:18 +08:00
ltx
18200c147d feat: 补齐AI运动站项目筛选选项
按壹路课目编号清单和后端 CourseNames 同步补齐 63 个项目的下拉选项。将原来的待确认课目(编号2)修正为仰卧起坐,使页面可筛选新增的跑步、球类、互动及体测项目。

保留原有成绩单位逻辑,不推断截图未提供的新增课目单位;不包含本地 Vite 代理配置。

验证:Vite 成功编译 AI 运动站页面组件;前后端项目名称列表核对一致,均为 63 项。
2026-10-22 11:53:44 +08:00
ltx
ad7e1860e2 update:鉴权 2026-10-15 16:42:58 +08:00
3 changed files with 55 additions and 7 deletions

View File

@ -127,13 +127,22 @@
});
const projectList = [
{ label: "待确认课目(编号2)", value: "待确认课目(编号2)" },
{ label: "俯卧撑", value: "俯卧撑" },
{ label: "仰卧起坐", value: "仰卧起坐" },
{ label: "引体向上", value: "引体向上" },
{ label: "立定跳远", value: "立定跳远" },
{ label: "跳绳", value: "跳绳" },
{ label: "开合跳", value: "开合跳" },
{ label: "高抬腿", value: "高抬腿" },
{ label: "深蹲", value: "深蹲" },
{ label: "50米跑", value: "50米跑" },
{ label: "100米跑", value: "100米跑" },
{ label: "800米跑", value: "800米跑" },
{ label: "1000米跑", value: "1000米跑" },
{ label: "3000米跑", value: "3000米跑" },
{ label: "50米×8", value: "50米×8" },
{ label: "篮球绕杆", value: "篮球绕杆" },
{ label: "足球绕杆", value: "足球绕杆" },
{ label: "坐位体前屈", value: "坐位体前屈" },
{ label: "单脚跳", value: "单脚跳" },
{ label: "动态臀桥", value: "动态臀桥" },
@ -144,14 +153,54 @@
{ label: "石头剪刀布", value: "石头剪刀布" },
{ label: "变脸", value: "变脸" },
{ label: "打钉子", value: "打钉子" },
{ label: "击鼓传花", value: "击鼓传花" },
{ label: "踢足球", value: "踢足球" },
{ label: "手脚并用", value: "手脚并用" },
{ label: "踢毽子", value: "踢毽子" },
{ label: "风火轮", value: "风火轮" },
{ label: "顺序摸数字", value: "顺序摸数字" },
{ label: "俄罗斯方块", value: "俄罗斯方块" },
{ label: "诗词满腹", value: "诗词满腹" },
{ label: "单词大王", value: "单词大王" },
{ label: "数学王者", value: "数学王者" },
{ label: "音乐大师", value: "音乐大师" },
{ label: "历史小生", value: "历史小生" },
{ label: "科学达人", value: "科学达人" },
{ label: "纵跳摸高", value: "纵跳摸高" },
{ label: "半蹲跳", value: "半蹲跳" },
{ label: "深蹲跳", value: "深蹲跳" },
{ label: "侧向蹲起", value: "侧向蹲起" },
{ label: "篮球单手运球", value: "篮球单手运球" },
{ label: "篮球双手交替运球", value: "篮球双手交替运球" },
{ label: "身体绕球", value: "身体绕球" },
{ label: "足球踩球", value: "足球踩球" },
{ label: "足球颠球", value: "足球颠球" },
{ label: "足球踩单车", value: "足球踩单车" },
{ label: "排球垫球", value: "排球垫球" },
{ label: "排球自传挑战", value: "排球自传挑战" },
{ label: "实心球", value: "实心球" },
{ label: "阳光跑", value: "阳光跑" },
{ label: "健身长拳", value: "健身长拳" },
{ label: "200米跑", value: "200米跑" },
{ label: "400米×4", value: "400米×4" },
{ label: "400米跑", value: "400米跑" },
{ label: "6分钟跑", value: "6分钟跑" },
{ label: "9分钟跑", value: "9分钟跑" },
{ label: "1500米跑", value: "1500米跑" },
{ label: "60米跑", value: "60米跑" },
{ label: "体重系数(BMI)", value: "体重系数(BMI)" },
{ label: "肺活量", value: "肺活量" },
];
const scoreUnits: Record<number, string> = {
3: "次", 7: "米", 8: "次", 9: "次", 10: "次", 11: "次",
23: "厘米", 24: "次", 25: "次", 26: "次", 27: "次",
28: "次", 29: "次", 30: "次", 31: "次", 32: "次",
1: "次", 2: "次", 3: "次", 7: "米", 8: "次", 9: "次", 10: "次", 11: "次",
12: "次", 13: "次", 14: "次", 15: "次", 16: "次", 20: "次", 21: "次", 22: "次",
23: "厘米", 24: "次", 25: "次", 26: "次", 27: "次", 28: "次", 29: "次", 30: "次",
31: "次", 32: "次", 33: "次", 34: "次", 35: "次", 36: "次", 37: "次", 38: "次",
39: "次", 40: "次", 41: "次", 42: "次", 43: "次", 44: "次", 45: "次", 46: "次",
47: "次", 48: "次", 49: "次", 50: "次", 51: "次", 52: "次", 53: "次", 54: "次",
55: "次", 56: "次", 57: "次", 60: "次", 61: "次", 62: "次", 63: "次", 64: "次",
65: "次", 66: "次", 67: "次", 68: "次", 69: "次",
1001: "kg/m²", 1002: "毫升"
};

View File

@ -349,7 +349,6 @@ const currentRoute = route.path; //获取当前页面路由
const store = useStore();
const userInfo = store.getters.getUserInfo();
const isSchoolAdmin = Number(userInfo?.roleId) === 2;
const isAdministrator = [1, 2].includes(Number(userInfo?.roleId));
const baseURL = axios.defaults.baseURL;
const dialogVisiblePhoto = ref(false)
const photoUploading = ref(false)
@ -388,7 +387,7 @@ const canUpdate = true
const canPromoteStudents = isSchoolAdmin
const canUndoPromotion = isSchoolAdmin
const canManagePromotion = canPromoteStudents || canUndoPromotion
const canBatchDelete = isAdministrator && hasPagePermission(buttons, 'BatchDelete')
const canBatchDelete = hasPagePermission(buttons, 'BatchDelete')
const ruleForm = ref({
id: 0,
studentNo: '',

View File

@ -27,7 +27,7 @@ export default ({ mode }: ConfigEnv) => {
proxy: {
'/dev-api': {
// target: 'http://8.153.108.90:9991/',
target: 'http://8.153.108.90:9991',
target: 'http://localhost:9991/',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/dev-api/, '')
}