医生接诊台

This commit is contained in:
2026-04-30 10:35:39 +08:00
parent 64a914c05a
commit bb08eeab32
5 changed files with 17 additions and 36 deletions
+4 -4
View File
@@ -1311,10 +1311,10 @@ const handleCallKitScreenshot = async () => {
return return
} }
const previous: string[] = [...((detail.tongue_images || []) as string[])] const previous: string[] = [...((detail.tongue_images || []) as string[])]
if (previous.length >= 9) { // if (previous.length >= 9) {
feedback.msgWarning('舌苔照片已达上限 9 张') // feedback.msgWarning('舌苔照片已达上限 9 张')
return // return
} // }
const next = [...previous, path] const next = [...previous, path]
const payload = JSON.parse(JSON.stringify(detail)) as Record<string, unknown> const payload = JSON.parse(JSON.stringify(detail)) as Record<string, unknown>
payload.tongue_images = next payload.tongue_images = next
+8 -8
View File
@@ -527,7 +527,13 @@
</fieldset> </fieldset>
</el-form> </el-form>
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="医生备注" name="doctorNote" :disabled="!formData.id" lazy>
<div v-if="formData.id" class="p-4">
<NoteTimeline v-if="diagNotes.length" :notes="diagNotes" />
<el-empty v-else description="暂无备注记录" :image-size="48" />
</div>
<el-empty v-else description="请先保存诊单后查看" />
</el-tab-pane>
<!-- 血糖血压记录标签页 --> <!-- 血糖血压记录标签页 -->
<el-tab-pane label="血糖血压记录" name="blood" :disabled="!formData.id"> <el-tab-pane label="血糖血压记录" name="blood" :disabled="!formData.id">
<blood-record-list <blood-record-list
@@ -662,13 +668,7 @@
/> />
<el-empty v-else description="请先保存诊单后再查看挂号记录" /> <el-empty v-else description="请先保存诊单后再查看挂号记录" />
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="医生备注" name="doctorNote" :disabled="!formData.id" lazy>
<div v-if="formData.id" class="p-4">
<NoteTimeline v-if="diagNotes.length" :notes="diagNotes" />
<el-empty v-else description="暂无备注记录" :image-size="48" />
</div>
<el-empty v-else description="请先保存诊单后查看" />
</el-tab-pane>
</el-tabs> </el-tabs>
<!-- 处方详情(查看病历) --> <!-- 处方详情(查看病历) -->
@@ -47,9 +47,6 @@ class DoctorNoteLogic extends BaseLogic
$prev = []; $prev = [];
} }
$merged = array_values(array_unique(array_merge($prev, $newImages))); $merged = array_values(array_unique(array_merge($prev, $newImages)));
if (count($merged) > 9) {
$merged = array_slice($merged, 0, 9);
}
$data['tongue_images'] = json_encode($merged, JSON_UNESCAPED_UNICODE); $data['tongue_images'] = json_encode($merged, JSON_UNESCAPED_UNICODE);
} }
@@ -93,8 +90,6 @@ class DoctorNoteLogic extends BaseLogic
->select() ->select()
->toArray(); ->toArray();
$domain = request()->domain();
foreach ($records as &$record) { foreach ($records as &$record) {
$images = $record['tongue_images'] ?? []; $images = $record['tongue_images'] ?? [];
if (is_string($images)) { if (is_string($images)) {
@@ -103,13 +98,7 @@ class DoctorNoteLogic extends BaseLogic
if (!is_array($images)) { if (!is_array($images)) {
$images = []; $images = [];
} }
$record['tongue_images'] = array_map(function ($url) use ($domain) { $record['tongue_images'] = $images;
if (empty($url)) return $url;
if (stripos($url, 'http://') === 0 || stripos($url, 'https://') === 0) {
return $url;
}
return $domain . '/' . $url;
}, $images);
} }
return $records; return $records;
@@ -181,12 +181,12 @@ class DiagnosisLogic extends BaseLogic
if (isset($params['tongue_images']) && is_array($params['tongue_images'])) { if (isset($params['tongue_images']) && is_array($params['tongue_images'])) {
$params['tongue_images'] = json_encode($params['tongue_images'], JSON_UNESCAPED_UNICODE); $params['tongue_images'] = json_encode($params['tongue_images'], JSON_UNESCAPED_UNICODE);
} }
// 处理检查报告(JSON数组) // 处理检查报告(JSON数组)
if (isset($params['report_files']) && is_array($params['report_files'])) { if (isset($params['report_files']) && is_array($params['report_files'])) {
$params['report_files'] = json_encode($params['report_files'], JSON_UNESCAPED_UNICODE); $params['report_files'] = json_encode($params['report_files'], JSON_UNESCAPED_UNICODE);
} }
// 处理诊断日期 // 处理诊断日期
if (isset($params['diagnosis_date'])) { if (isset($params['diagnosis_date'])) {
$params['diagnosis_date'] = strtotime($params['diagnosis_date']); $params['diagnosis_date'] = strtotime($params['diagnosis_date']);
+2 -10
View File
@@ -44,11 +44,7 @@ class FileService
if (strstr($uri, 'http://')) return $uri; if (strstr($uri, 'http://')) return $uri;
if (strstr($uri, 'https://')) return $uri; if (strstr($uri, 'https://')) return $uri;
$default = Cache::get('STORAGE_DEFAULT'); $default = ConfigService::get('storage', 'default', 'local');
if (!$default) {
$default = ConfigService::get('storage', 'default', 'local');
Cache::set('STORAGE_DEFAULT', $default);
}
if ($default === 'local') { if ($default === 'local') {
if($type == 'public_path') { if($type == 'public_path') {
@@ -56,11 +52,7 @@ class FileService
} }
$domain = request()->domain(); $domain = request()->domain();
} else { } else {
$storage = Cache::get('STORAGE_ENGINE'); $storage = ConfigService::get('storage', $default);
if (!$storage) {
$storage = ConfigService::get('storage', $default);
Cache::set('STORAGE_ENGINE', $storage);
}
$domain = $storage ? $storage['domain'] : ''; $domain = $storage ? $storage['domain'] : '';
} }