fix: standardize terminology — 排课 (clazz) not 课程 (course)

"排课" = scheduled class instance, "课程" = course content/curriculum.
All 21 instances of incorrect usage were in clazz/tongzhi/user-settings
contexts where the underlying data is a clazz (clazz_id, clazz_name,
is_repeat), not a course.

Affected files: clazz/index.vue (10), tongzhi/index.vue (4),
tongzhi/detail.vue (3), store/clazz.ts (3), user-settings.vue (1).

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-02 11:53:34 +08:00
parent e40dfe0835
commit a9d5e0844e
5 changed files with 21 additions and 21 deletions
+10 -10
View File
@@ -47,8 +47,8 @@
</div>
<van-form @submit="save">
<div class="form-content">
<van-field label="课名称" required v-model="store.current.clazz_name" :readonly="state.readonly"/>
<van-field v-model="store.current.clazz_desc" label="课描述" autosize rows="2" type="textarea" :readonly="state.readonly"/>
<van-field label="课名称" required v-model="store.current.clazz_name" :readonly="state.readonly"/>
<van-field v-model="store.current.clazz_desc" label="课描述" autosize rows="2" type="textarea" :readonly="state.readonly"/>
<template v-if="state.readonly">
<van-field :model-value="dateTimeFormat(store.current.start_from)" readonly label="上课时间" required />
<van-field label="下课时间" readonly required :model-value="dateTimeFormat(store.current.end_by)" />
@@ -80,7 +80,7 @@
</template>
<template v-if="(state.readonly && store.current.is_repeat) || state.is_edit_root || (!store.current.id && !store.current.has_root)">
<van-cell title="重复课">
<van-cell title="重复课">
<template #right-icon>
<van-checkbox v-model="store.current.is_repeat" :disabled="state.readonly"/>
</template>
@@ -137,10 +137,10 @@
<template v-if="state.readonly">
<van-button v-if="is_creator && store.current.id && !store.current.is_repeat" size="small" type="primary" plain block @click="openAttendance">点名消课</van-button>
<div class="footer-actions">
<van-button size="mini" type="primary" @click="edit(true)" v-if="is_creator && (store.current.instance || store.current.has_root)">编辑重复课</van-button>
<van-button size="mini" type="primary" @click="edit(false)">编辑本次课</van-button>
<van-button size="mini" type="danger" @click="remove(true)" v-if="is_creator && (store.current.instance || store.current.has_root)">取消重复课</van-button>
<van-button size="mini" type="danger" @click="remove(false)">取消本次课</van-button>
<van-button size="mini" type="primary" @click="edit(true)" v-if="is_creator && (store.current.instance || store.current.has_root)">编辑重复</van-button>
<van-button size="mini" type="primary" @click="edit(false)">编辑本次</van-button>
<van-button size="mini" type="danger" @click="remove(true)" v-if="is_creator && (store.current.instance || store.current.has_root)">取消重复</van-button>
<van-button size="mini" type="danger" @click="remove(false)">取消本次</van-button>
</div>
</template>
<template v-else>
@@ -456,7 +456,7 @@ export default defineComponent({
const notify_comment = (comment: Comment) => {
let {clazz_name, start_from, end_by} = store.current;
let comment_msg = "新的课留言(" + clazz_name + " " + usingUser.store.current.real_name + ""
let comment_msg = "新的课留言(" + clazz_name + " " + usingUser.store.current.real_name + ""
let payload: NotifyParam = {
clazz_name: clazz_name, start_from, end_by,
notify_type: NotifyTypes.TeacherCommentClazz,
@@ -554,7 +554,7 @@ export default defineComponent({
const view = (id: string) => {
store.current = find(id);
if (!store.current) {
showFailToast("找不到对应的课")
showFailToast("找不到对应的课!")
return;
}
state.editing = true;
@@ -735,7 +735,7 @@ export default defineComponent({
if (await createInstance(store.current)) {
await router.push('/daka/add?clazz_id=' + store.current.id + '&clazz_name=' + encodeURIComponent(store.current.clazz_name))
} else {
showFailToast("课创建失败!")
showFailToast("课创建失败!")
}
} else {
await router.push('/daka/add?clazz_id=' + store.current.id + '&clazz_name=' + encodeURIComponent(store.current.clazz_name))
+3 -3
View File
@@ -9,7 +9,7 @@
<div class="van-cell" @click="onClick">
<template v-if="entity.push_info?.clazz_id">
<div class="line">
<span>名称</span>
<span>课名称</span>
<span>{{ entity.push_info.clazz_name }}</span>
</div>
<div class="line">
@@ -223,8 +223,8 @@ const onClick = () => {
const getTongzhiTitle = (tongzhi_type) => {
return {
[NotifyTypes.ClazzCreateOrUpdate]: "上课时间确定通知",
[NotifyTypes.ClazzDelete]: "课预约取消通知",
[NotifyTypes.TeacherCommentClazz]: "课留言通知",
[NotifyTypes.ClazzDelete]: "课预约取消通知",
[NotifyTypes.TeacherCommentClazz]: "课留言通知",
}[tongzhi_type];
};
+4 -4
View File
@@ -20,7 +20,7 @@
<div class="van-hairline--bottom"></div>
<template v-if="item.push_info?.clazz_id">
<div class="line">
<span>名称</span>
<span>课名称</span>
<span>{{item.push_info.clazz_name}}</span>
</div>
<div class="line">
@@ -75,7 +75,7 @@
<div class="van-hairline--bottom"></div>
<template v-if="item.push_info?.clazz_id">
<div class="line">
<span>名称</span>
<span>课名称</span>
<span>{{item.push_info.clazz_name}}</span>
</div>
<div class="line">
@@ -347,8 +347,8 @@ export default defineComponent({
const getTongzhiTitle = (tongzhi_type) => {
return {
[NotifyTypes.ClazzCreateOrUpdate]: "上课时间确定通知",
[NotifyTypes.ClazzDelete]: "课预约取消通知",
[NotifyTypes.TeacherCommentClazz]: "课留言通知"
[NotifyTypes.ClazzDelete]: "课预约取消通知",
[NotifyTypes.TeacherCommentClazz]: "课留言通知"
}[tongzhi_type]
}
+1 -1
View File
@@ -2,7 +2,7 @@
<div class="main">
<CellGroup inset>
<Cell>
<Checkbox @click="toggle" v-model="receiveCourseNotification" shape="square">接收课开课通知</Checkbox>
<Checkbox @click="toggle" v-model="receiveCourseNotification" shape="square">接收课开课通知</Checkbox>
</Cell>
</CellGroup>
</div>
+3 -3
View File
@@ -234,7 +234,7 @@ export default function useClazz() {
async function createOrUpdate() {
let { clazz_name, students, course_sections, clazz_repeat, start_from, end_by, is_repeat, instance, has_root, repeat_start, repeat_end, teachers, ...rest} = store.current;
if (!clazz_name) {
showFailToast("请输入课名称!")
showFailToast("请输入课名称!")
return false
}
if (!students?.val?.users?.vals?.length) {
@@ -248,7 +248,7 @@ export default function useClazz() {
}
if (is_repeat) {
if (!(repeat_start && repeat_end)) {
showFailToast("请为重复课选择重复时间!")
showFailToast("请为重复课选择重复时间!")
return false;
}
clazz_repeat = {
@@ -345,7 +345,7 @@ export default function useClazz() {
async function createInstance(instance: Clazz, is_delete?: boolean) {
let { clazz_name, students, start_from, end_by, has_root, teachers, ...rest} = instance;
if (!clazz_name) {
showFailToast("请输入课名称!")
showFailToast("请输入课名称!")
return false
}
if (!students?.val?.users?.vals?.length) {