From 957ccf8b4785a8ac6243f8ee8ff8ce3174f974d6 Mon Sep 17 00:00:00 2001 From: Jafeng <2998840497@qq.com> Date: Wed, 20 May 2026 16:32:00 +0800 Subject: [PATCH 01/10] =?UTF-8?q?feat:=E5=B8=B8=E7=94=A8=E8=AF=AD=E5=BA=93?= =?UTF-8?q?=E5=8D=87=E7=BA=A7=EF=BC=8C=E6=96=B0=E5=A2=9E=E6=9B=B4=E5=A4=9A?= =?UTF-8?q?=E5=B8=B8=E7=94=A8=E8=AF=AD=EF=BC=8C=E6=B7=BB=E5=8A=A0=E6=94=B6?= =?UTF-8?q?=E8=97=8F=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pages/message/common-phrases.vue | 1623 +++++++++++++++++------------- utils/api.js | 15 +- 2 files changed, 937 insertions(+), 701 deletions(-) diff --git a/pages/message/common-phrases.vue b/pages/message/common-phrases.vue index 3b664d0..aca2274 100644 --- a/pages/message/common-phrases.vue +++ b/pages/message/common-phrases.vue @@ -1,11 +1,27 @@ - {{ i.name }} - @@ -52,6 +52,10 @@ function select(i) { hospital.value = i; } +function getHospitalId(item) { + return item?.hospitalId || item?._id || ""; +} + function getMore() { if (hasMore.value && !loading.value) { changePage(page.value + 1) @@ -60,7 +64,11 @@ function getMore() { function save() { if (hospital.value) { - uni.$emit(eventName.value, hospital.value.name) + uni.$emit(eventName.value, { + hospitalId: getHospitalId(hospital.value), + hospitalName: hospital.value.name || hospital.value.hospitalName || "", + name: hospital.value.name || hospital.value.hospitalName || "", + }) uni.navigateBack() } else { toast('请选择医院') diff --git a/pages/work/verify/doctor.vue b/pages/work/verify/doctor.vue index 847bb8c..11b4b19 100644 --- a/pages/work/verify/doctor.vue +++ b/pages/work/verify/doctor.vue @@ -78,7 +78,13 @@ function selectHospital() { url: `/pages/work/hospital-select?eventName=${eventName}` }) uni.$once(eventName, data => { - form.value.hospitalName = data + if (typeof data === 'string') { + form.value.hospitalName = data + form.value.hospitalId = '' + } else { + form.value.hospitalName = data?.hospitalName || data?.name || '' + form.value.hospitalId = data?.hospitalId || data?._id || '' + } }) } @@ -110,6 +116,7 @@ async function save() { return toast('请上传医师执业资格证第二页') } const data = { + hospitalId: formData.value.hospitalId || '', hospitalName: formData.value.hospitalName, medicalLicenseFront: formData.value.medicalLicenseFront, medicalLicenseBack: formData.value.medicalLicenseBack, @@ -161,4 +168,4 @@ function log() { padding: 8rpx 30rpx; width: fit-content; } - \ No newline at end of file + From 66f28a9c8e785949cb4b0928db6a0c31a9d41c0e Mon Sep 17 00:00:00 2001 From: Jafeng <2998840497@qq.com> Date: Tue, 26 May 2026 11:27:19 +0800 Subject: [PATCH 05/10] =?UTF-8?q?feat:=E8=B0=83=E5=A4=A7=E5=AD=97=E4=BD=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.vue | 8 +-- components/form-template/cell-style.css | 6 +-- .../form-cell/form-diagnosis-picker.vue | 6 +-- .../form-template/form-cell/form-files.vue | 6 +-- .../form-template/form-cell/form-input.vue | 2 +- .../form-cell/form-multiSelectAndOther.vue | 6 +-- .../form-cell/form-positive-find.vue | 12 ++--- .../form-template/form-cell/form-run-time.vue | 4 +- .../form-cell/form-select-mobile.vue | 4 +- .../form-cell/form-select-other.vue | 2 +- .../form-template/form-cell/form-textarea.vue | 6 +-- components/share-actions.vue | 2 +- pages/case/ai-medical-case-form.vue | 10 ++-- pages/case/archive-detail.vue | 46 ++++++++-------- .../archive-detail/customer-profile-tab.vue | 18 +++---- .../archive-detail/health-profile-tab.vue | 18 +++---- .../archive-detail/service-info-tab.vue | 26 ++++----- .../case/components/manage-plan/node-list.vue | 2 +- .../components/manage-plan/plan-node-item.vue | 2 +- .../components/manage-plan/plan-node-list.vue | 4 +- pages/case/followup-detail.vue | 30 +++++------ pages/case/medical-case-form.vue | 6 +-- pages/case/plan-execute.vue | 20 +++---- pages/case/plan-preview.vue | 10 ++-- pages/case/visit-record-detail.vue | 6 +-- pages/case/visit-record-view.vue | 16 +++--- pages/home/case-home.vue | 28 +++++----- pages/home/components/message-header.vue | 12 ++--- pages/home/message-home.vue | 18 +++---- pages/home/work-home.vue | 4 +- pages/library/diagnosis-list.vue | 6 +-- pages/library/tag-list/tag-list.vue | 8 +-- pages/login/login.vue | 2 +- pages/message/article-detail.vue | 10 ++-- pages/message/article-list.vue | 16 +++--- pages/message/chat.scss | 18 +++---- pages/message/common-phrases.vue | 54 +++++++++---------- .../components/ai-assistant-buttons.vue | 2 +- pages/message/components/consult-accept.vue | 4 +- .../components/medical-case-progress.vue | 16 +++--- .../components/medical-case-type-selector.vue | 6 +-- .../components/reject-reason-modal.vue | 14 ++--- pages/message/components/system-message.vue | 2 +- pages/message/survey-fill.vue | 16 +++--- pages/message/survey-list.vue | 14 ++--- pages/others/edit-positive-find.vue | 6 +-- pages/work/department-select.vue | 16 +++--- pages/work/profile copy.vue | 6 +-- pages/work/work.vue | 4 +- styles/theme.scss | 10 ++-- 50 files changed, 285 insertions(+), 285 deletions(-) diff --git a/App.vue b/App.vue index 07beaf8..0079315 100644 --- a/App.vue +++ b/App.vue @@ -344,19 +344,19 @@ } .text-sm { - font-size: 24rpx; + font-size: 26rpx; } .text-base { - font-size: 28rpx; + font-size: 30rpx; } .text-lg { - font-size: 32rpx; + font-size: 34rpx; } .text-xl { - font-size: 36rpx; + font-size: 38rpx; } .leading-normal { diff --git a/components/form-template/cell-style.css b/components/form-template/cell-style.css index 80a95d6..1f82078 100644 --- a/components/form-template/cell-style.css +++ b/components/form-template/cell-style.css @@ -21,11 +21,11 @@ display: flex; align-items: center; text-align: right; - font-size: 28rpx; + font-size: 30rpx; } .form__placeholder { - font-size: 28rpx; + font-size: 30rpx; color: #666; } @@ -49,7 +49,7 @@ align-items: center; padding: 24rpx 30rpx; border-bottom: 1px solid #eee; - font-size: 28rpx; + font-size: 30rpx; } .form-row__label { diff --git a/components/form-template/form-cell/form-diagnosis-picker.vue b/components/form-template/form-cell/form-diagnosis-picker.vue index ec940f3..4fc8822 100644 --- a/components/form-template/form-cell/form-diagnosis-picker.vue +++ b/components/form-template/form-cell/form-diagnosis-picker.vue @@ -84,13 +84,13 @@ function open() { gap: 12rpx; } .label { - font-size: 28rpx; + font-size: 30rpx; color: #111827; font-weight: 700; } .required { color: #ff4d4f; - font-size: 28rpx; + font-size: 30rpx; } .right { display: flex; @@ -100,7 +100,7 @@ function open() { justify-content: flex-end; } .value { - font-size: 28rpx; + font-size: 30rpx; color: #111827; max-width: 440rpx; overflow: hidden; diff --git a/components/form-template/form-cell/form-files.vue b/components/form-template/form-cell/form-files.vue index 0ce6b67..4409eec 100644 --- a/components/form-template/form-cell/form-files.vue +++ b/components/form-template/form-cell/form-files.vue @@ -88,7 +88,7 @@ async function add() { } .files-label { - font-size: 28rpx; + font-size: 30rpx; line-height: 42rpx; } @@ -124,7 +124,7 @@ async function add() { background: rgba(0, 0, 0, 0.55); color: #fff; border-radius: 18rpx; - font-size: 28rpx; + font-size: 30rpx; } .add { @@ -139,7 +139,7 @@ async function add() { } .plus { - font-size: 56rpx; + font-size: 58rpx; line-height: 56rpx; } diff --git a/components/form-template/form-cell/form-input.vue b/components/form-template/form-cell/form-input.vue index 0f944a8..8badde4 100644 --- a/components/form-template/form-cell/form-input.vue +++ b/components/form-template/form-cell/form-input.vue @@ -68,7 +68,7 @@ function change(e) { .form-input { flex-grow: 1; - font-size: 28rpx; + font-size: 30rpx; } .appendText { diff --git a/components/form-template/form-cell/form-multiSelectAndOther.vue b/components/form-template/form-cell/form-multiSelectAndOther.vue index cb1fa20..37fdf3a 100644 --- a/components/form-template/form-cell/form-multiSelectAndOther.vue +++ b/components/form-template/form-cell/form-multiSelectAndOther.vue @@ -126,7 +126,7 @@ function onOtherInput(e) { } .label { - font-size: 28rpx; + font-size: 30rpx; line-height: 42rpx; } @@ -142,7 +142,7 @@ function onOtherInput(e) { padding: 12rpx 20rpx; border: 1px solid #ddd; border-radius: 8rpx; - font-size: 26rpx; + font-size: 28rpx; text-align: center; color: #333; background: #fff; @@ -160,7 +160,7 @@ function onOtherInput(e) { .other-input { width: 100%; - font-size: 28rpx; + font-size: 30rpx; padding: 18rpx 20rpx; border: 1px solid #eee; border-radius: 8rpx; diff --git a/components/form-template/form-cell/form-positive-find.vue b/components/form-template/form-cell/form-positive-find.vue index 0be0a5c..43dcd43 100644 --- a/components/form-template/form-cell/form-positive-find.vue +++ b/components/form-template/form-cell/form-positive-find.vue @@ -113,13 +113,13 @@ function remove(idx) { gap: 12rpx; } .label { - font-size: 28rpx; + font-size: 30rpx; font-weight: 700; color: #111827; } .required { color: #ff4d4f; - font-size: 28rpx; + font-size: 30rpx; } .list { margin-top: 20rpx; @@ -140,14 +140,14 @@ function remove(idx) { min-width: 0; } .item-title { - font-size: 28rpx; + font-size: 30rpx; color: #111827; font-weight: 600; word-break: break-all; } .item-sub { margin-top: 12rpx; - font-size: 26rpx; + font-size: 28rpx; color: #6b7280; white-space: pre-wrap; word-break: break-all; @@ -160,7 +160,7 @@ function remove(idx) { padding-top: 4rpx; } .text-action { - font-size: 26rpx; + font-size: 28rpx; line-height: 1; } .text-action.edit { @@ -171,7 +171,7 @@ function remove(idx) { } .empty { margin-top: 20rpx; - font-size: 26rpx; + font-size: 28rpx; color: #9aa0a6; } diff --git a/components/form-template/form-cell/form-run-time.vue b/components/form-template/form-cell/form-run-time.vue index 15a186a..398933b 100644 --- a/components/form-template/form-cell/form-run-time.vue +++ b/components/form-template/form-cell/form-run-time.vue @@ -79,12 +79,12 @@ function onInput(e, key) { .num { width: 80rpx; text-align: right; - font-size: 28rpx; + font-size: 30rpx; border-bottom: 1px solid #888; } .unit { - font-size: 26rpx; + font-size: 28rpx; color: #333; } diff --git a/components/form-template/form-cell/form-select-mobile.vue b/components/form-template/form-cell/form-select-mobile.vue index 07f84f1..4461f9c 100644 --- a/components/form-template/form-cell/form-select-mobile.vue +++ b/components/form-template/form-cell/form-select-mobile.vue @@ -72,7 +72,7 @@ function onPick(e) { .input { flex: 1; text-align: right; - font-size: 28rpx; + font-size: 30rpx; } .relation { @@ -83,7 +83,7 @@ function onPick(e) { min-width: 180rpx; border-left: 1px solid #eee; padding-left: 16rpx; - font-size: 28rpx; + font-size: 30rpx; } .arrow { diff --git a/components/form-template/form-cell/form-select-other.vue b/components/form-template/form-cell/form-select-other.vue index c432b05..b70ab01 100644 --- a/components/form-template/form-cell/form-select-other.vue +++ b/components/form-template/form-cell/form-select-other.vue @@ -112,7 +112,7 @@ function onOtherInput(e) { .other-input { width: 100%; - font-size: 28rpx; + font-size: 30rpx; padding: 18rpx 20rpx; border: 1px solid #eee; border-radius: 8rpx; diff --git a/components/form-template/form-cell/form-textarea.vue b/components/form-template/form-cell/form-textarea.vue index 7bd3573..f9bc940 100644 --- a/components/form-template/form-cell/form-textarea.vue +++ b/components/form-template/form-cell/form-textarea.vue @@ -99,12 +99,12 @@ function change(e) { .textarea-row { padding: 24rpx 30rpx; border-bottom: 1px solid #eee; - font-size: 28rpx; + font-size: 30rpx; } .form-textarea { width: 100%; - font-size: 28rpx; + font-size: 30rpx; padding: 20rpx; border-radius: 8rpx; box-sizing: border-box; @@ -118,6 +118,6 @@ function change(e) { padding-top: 20rpx; text-align: right; color: #666; - font-size: 24rpx; + font-size: 26rpx; } diff --git a/components/share-actions.vue b/components/share-actions.vue index 2306b1a..991c6be 100644 --- a/components/share-actions.vue +++ b/components/share-actions.vue @@ -60,7 +60,7 @@ function handleSave() { align-items: center; justify-content: center; border-radius: 12rpx; - font-size: 28rpx; + font-size: 30rpx; } .save-btn { diff --git a/pages/case/ai-medical-case-form.vue b/pages/case/ai-medical-case-form.vue index 795feb8..e56ee8a 100644 --- a/pages/case/ai-medical-case-form.vue +++ b/pages/case/ai-medical-case-form.vue @@ -367,7 +367,7 @@ const getRequiredFields = () => { } .item-label { - font-size: 28rpx; + font-size: 30rpx; color: #333333; margin-bottom: 16rpx; } @@ -379,7 +379,7 @@ const getRequiredFields = () => { padding: 0 24rpx; background-color: #f8f9fa; border-radius: 8rpx; - font-size: 28rpx; + font-size: 30rpx; color: #333333; &[disabled] { @@ -399,7 +399,7 @@ const getRequiredFields = () => { padding: 20rpx 24rpx; background-color: #f8f9fa; border-radius: 8rpx; - font-size: 28rpx; + font-size: 30rpx; color: #333333; height: 100px; &[disabled] { @@ -416,7 +416,7 @@ const getRequiredFields = () => { .tips-text { display: block; - font-size: 24rpx; + font-size: 26rpx; color: #666666; line-height: 1.6; margin-bottom: 8rpx; @@ -450,7 +450,7 @@ const getRequiredFields = () => { border-radius: 44rpx; .btn-text { - font-size: 32rpx; + font-size: 34rpx; font-weight: 500; } } diff --git a/pages/case/archive-detail.vue b/pages/case/archive-detail.vue index e033313..4c52441 100644 --- a/pages/case/archive-detail.vue +++ b/pages/case/archive-detail.vue @@ -1,4 +1,4 @@ -