feat: 提交家校活动前端工程源码(Vue3 + Vite + view-ui-plus)
build / build (push) Successful in 5m24s

This commit is contained in:
lijing
2026-09-20 18:00:18 +08:00
parent 267ba04af2
commit 66ad7fc6c3
333 changed files with 33141 additions and 2 deletions
+37
View File
@@ -0,0 +1,37 @@
<template>
<Select v-model="innerId" @on-change="handleChange" v-bind="$attrs">
<Option v-for="item in stageSubjects" :key="item.k" :value="item.k">
{{ item.v }}
</Option>
</Select>
</template>
<script lang="ts" setup>
import { useDefaultStore } from '@/store'
const emit = defineEmits<{
'on-change': [stage: number, subject: string]
}>()
const store = useDefaultStore()
const stageSubjects = computed(() => store.getStageSubjects)
const innerId = ref<number | null>(null)
const cacheKey = 'bsch.learnmanage.cur_subject_id';
onMounted(async () => {
await nextTick()
if (!stageSubjects.value.length) return
const cached = sessionStorage.getItem(cacheKey)
const id = cached ? Number(cached) : stageSubjects.value[0]?.k;
if (id != null) innerId.value = id
handleChange(id)
})
function handleChange(val: number) {
const find = stageSubjects.value.find((i: any) => i.k === val)
if (!find) return
sessionStorage.setItem(cacheKey, String(val))
emit('on-change', find.stage, find.code)
}
</script>