feat: 病例列表联调

This commit is contained in:
王天骄
2026-06-13 06:05:37 +08:00
parent 37716f200b
commit bc2e03920e
13 changed files with 1518 additions and 258 deletions
+14 -7
View File
@@ -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'