feat: 病例列表联调
This commit is contained in:
+14
-7
@@ -39,7 +39,7 @@
|
||||
v-for="module in trainingModules"
|
||||
:key="module.title"
|
||||
class="module-card"
|
||||
@click="handleStartTraining"
|
||||
@click="openCaseList(module.source)"
|
||||
>
|
||||
<view class="module-icon" :class="module.icon"></view>
|
||||
<text class="module-title">{{ module.title }}</text>
|
||||
@@ -67,6 +67,7 @@
|
||||
<script setup lang="ts">
|
||||
import { onMounted, onUnmounted, reactive, ref } from 'vue'
|
||||
import { fetchHomeSummary, startTrainingSession, type HomeSummary } from '../../api/home'
|
||||
import type { CaseListSource } from '../../api/cases'
|
||||
import { createProfileOpener, createSettingsOpener } from '../../api/navigation'
|
||||
|
||||
const emit = defineEmits<{
|
||||
@@ -85,11 +86,11 @@ const summary = reactive<HomeSummary>({
|
||||
})
|
||||
|
||||
const trainingModules = [
|
||||
{ title: '精准补强·薄弱环节训练', icon: 'trend-icon' },
|
||||
{ title: '实战进阶·科室专项训练', icon: 'notes-icon' },
|
||||
{ title: '新手入门·教学互动模式模式训练', icon: 'school-icon' },
|
||||
{ title: '精益管理·老师针对性任务训练', icon: 'admin-icon' }
|
||||
]
|
||||
{ title: '精准补强·薄弱环节训练', icon: 'trend-icon', source: 'weak' },
|
||||
{ title: '实战进阶·科室专项训练', icon: 'notes-icon', source: 'specialty' },
|
||||
{ title: '新手入门·教学互动模式训练', icon: 'school-icon', source: 'teaching' },
|
||||
{ title: '精益管理·老师针对性任务训练', icon: 'admin-icon', source: 'teacher-task' }
|
||||
] satisfies Array<{ title: string; icon: string; source: CaseListSource }>
|
||||
|
||||
const starting = ref(false)
|
||||
const toastMessage = ref('')
|
||||
@@ -109,7 +110,7 @@ function handleStartTraining() {
|
||||
startTrainingSession().then(result => {
|
||||
uni.setStorageSync('clinical-thinking-session', result)
|
||||
uni.navigateTo({
|
||||
url: '/pages/matching/matching'
|
||||
url: '/pages/matching/matching?source=recommended'
|
||||
})
|
||||
}).catch(error => {
|
||||
showToast(error instanceof Error ? error.message : '进入训练失败')
|
||||
@@ -120,6 +121,12 @@ function handleStartTraining() {
|
||||
})
|
||||
}
|
||||
|
||||
function openCaseList(source: CaseListSource) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/cases/cases?source=${encodeURIComponent(source)}`
|
||||
})
|
||||
}
|
||||
|
||||
function openLearningAssistant() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/learning-assistant/learning-assistant'
|
||||
|
||||
Reference in New Issue
Block a user