患者列表优化

This commit is contained in:
2026-05-09 11:30:04 +08:00
parent dc1c5d5b17
commit fd9053a290
4 changed files with 163 additions and 21 deletions
@@ -1,6 +1,6 @@
<template>
<div class="call-record-panel">
<div class="call-record-toolbar">
<div v-if="!readOnly" class="call-record-toolbar">
<upload
ref="toolbarUploadRef"
type="video"
@@ -19,7 +19,11 @@
<div class="call-record-empty">
<div class="call-record-empty__title">暂无通话记录</div>
<div class="call-record-empty__desc">
现在可以直接点击上方上传视频系统会自动生成一条默认通话记录来承载回放
{{
readOnly
? '暂无录制回放数据。'
: '现在可以直接点击上方“上传视频”。系统会自动生成一条默认通话记录来承载回放。'
}}
</div>
</div>
</template>
@@ -47,7 +51,7 @@
{{ row.recording_status_text || '—' }}
</template>
</el-table-column>
<el-table-column label="上传回放" width="180">
<el-table-column v-if="!readOnly" label="上传回放" width="180">
<template #default="{ row }">
<upload
type="video"
@@ -92,7 +96,7 @@
import Upload from '@/components/upload/index.vue'
import feedback from '@/utils/feedback'
import { attachLocalCallRecording, createManualCallRecord, getCallRecords } from '@/api/tcm'
import { ref, useTemplateRef, watch } from 'vue'
import { ref, useTemplateRef, watch, withDefaults } from 'vue'
type CallRecordRow = {
id: number
@@ -106,9 +110,14 @@ type CallRecordRow = {
duration_text?: string
}
const props = defineProps<{
diagnosisId: number
}>()
const props = withDefaults(
defineProps<{
diagnosisId: number
/** 只读场景(如诊单只读详情):不展示任何上传入口 */
readOnly?: boolean
}>(),
{ readOnly: false }
)
const loading = ref(false)
const rows = ref<CallRecordRow[]>([])
@@ -3,7 +3,7 @@
<div class="toolbar">
<el-button
type="primary"
:disabled="!props.diagnosisId || !!props.readOnly || !hasDailyRecordPermission"
:disabled="!props.diagnosisId || !hasDailyRecordPermission"
@click="handleAdd"
v-perms="DAILY_RECORD_PERMS"
>
@@ -226,7 +226,7 @@ const disablePastDate = (date: Date) => {
}
const handleAdd = () => {
if (!props.diagnosisId || props.readOnly || !hasDailyRecordPermission.value) {
if (!props.diagnosisId || !hasDailyRecordPermission.value) {
feedback.msgWarning('诊单未保存,无法添加待办')
return
}