From 029b45d0bb486776f9b91c26c826dbbc8d8758a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=90=A6?= Date: Wed, 5 Aug 2026 10:45:58 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20VIP=E5=8A=9F=E8=83=BD=E7=BB=91=E5=AE=9A?= =?UTF-8?q?=E3=80=81VIP=E7=97=85=E5=8E=86=E6=A8=A1=E5=9D=97=E3=80=81?= =?UTF-8?q?=E5=AD=97=E5=85=B8=E6=A8=A1=E5=9D=97=E3=80=81=E4=BC=A0=E6=96=B9?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E7=A7=BB=E5=8A=A8=E5=88=B0=E9=A1=B6=E9=83=A8?= =?UTF-8?q?=E5=AF=BC=E8=88=AA=E6=A0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/web-antd/src/app.vue | 9 - .../DoctorTransferFloat.vue | 48 +- apps/web-antd/src/layouts/basic.vue | 12 + apps/web-antd/src/utils/dictSearchRank.ts | 137 ++ .../chat/components/PrescriptionModal.vue | 227 ++- .../entry-store/field/index.vue | 35 + .../medical-record/entry-store/index.vue | 15 + .../components/DiagnosisModal.vue | 46 +- .../views/doctor/doctor-reception/index.vue | 323 ++++- .../medical-record/MedicalRecordPanel.vue | 975 +++++++++++++ .../views/doctor/medical-record/api/index.ts | 82 ++ .../components/CommonDxOrderChips.vue | 142 ++ .../components/EntryKeywordBubble.vue | 1236 +++++++++++++++++ .../components/EntryListPage.vue | 304 ++++ .../medical-record/components/EntryModal.vue | 95 ++ .../components/PatientMedicalRecordDrawer.vue | 292 ++++ .../components/TextareaExpandModal.vue | 176 +++ .../doctor/medical-record/config/constants.ts | 76 + .../medical-record/config/entry-form.ts | 68 + .../utils/exportMedicalRecordEntryExcel.ts | 85 ++ .../doctor/medical-record/utils/localDraft.ts | 67 + .../utils/parseMedicalRecordEntryExcel.ts | 138 ++ .../doctor/online-consultation/index.vue | 4 + .../views/system/dict/disease/api/index.ts | 27 + .../src/views/system/dict/disease/index.vue | 269 ++++ .../system/dict/doctor-order/api/index.ts | 27 + .../views/system/dict/doctor-order/index.vue | 235 ++++ .../src/views/system/dict/tcm/api/index.ts | 34 + .../dict/tcm/components/TcmDictListPage.vue | 275 ++++ .../views/system/dict/tcm/diseases/index.vue | 15 + .../views/system/dict/tcm/method/index.vue | 15 + .../views/system/dict/tcm/syndrome/index.vue | 15 + .../entry-public/field/index.vue | 36 + .../medical-record/entry-public/index.vue | 15 + .../views/system/system-config/api/index.ts | 7 + .../src/views/system/system-config/index.vue | 61 + .../src/views/system/vip/feature/api/index.ts | 24 + .../system/vip/feature/components/modal.vue | 61 + .../system/vip/feature/config/constants.ts | 5 + .../views/system/vip/feature/config/form.ts | 59 + .../src/views/system/vip/feature/index.vue | 169 +++ .../system/vip/level/components/modal.vue | 22 +- .../src/views/system/vip/level/config/form.ts | 11 +- 43 files changed, 5821 insertions(+), 153 deletions(-) create mode 100644 apps/web-antd/src/utils/dictSearchRank.ts create mode 100644 apps/web-antd/src/views/business/medical-record/entry-store/field/index.vue create mode 100644 apps/web-antd/src/views/business/medical-record/entry-store/index.vue create mode 100644 apps/web-antd/src/views/doctor/medical-record/MedicalRecordPanel.vue create mode 100644 apps/web-antd/src/views/doctor/medical-record/api/index.ts create mode 100644 apps/web-antd/src/views/doctor/medical-record/components/CommonDxOrderChips.vue create mode 100644 apps/web-antd/src/views/doctor/medical-record/components/EntryKeywordBubble.vue create mode 100644 apps/web-antd/src/views/doctor/medical-record/components/EntryListPage.vue create mode 100644 apps/web-antd/src/views/doctor/medical-record/components/EntryModal.vue create mode 100644 apps/web-antd/src/views/doctor/medical-record/components/PatientMedicalRecordDrawer.vue create mode 100644 apps/web-antd/src/views/doctor/medical-record/components/TextareaExpandModal.vue create mode 100644 apps/web-antd/src/views/doctor/medical-record/config/constants.ts create mode 100644 apps/web-antd/src/views/doctor/medical-record/config/entry-form.ts create mode 100644 apps/web-antd/src/views/doctor/medical-record/utils/exportMedicalRecordEntryExcel.ts create mode 100644 apps/web-antd/src/views/doctor/medical-record/utils/localDraft.ts create mode 100644 apps/web-antd/src/views/doctor/medical-record/utils/parseMedicalRecordEntryExcel.ts create mode 100644 apps/web-antd/src/views/system/dict/disease/api/index.ts create mode 100644 apps/web-antd/src/views/system/dict/disease/index.vue create mode 100644 apps/web-antd/src/views/system/dict/doctor-order/api/index.ts create mode 100644 apps/web-antd/src/views/system/dict/doctor-order/index.vue create mode 100644 apps/web-antd/src/views/system/dict/tcm/api/index.ts create mode 100644 apps/web-antd/src/views/system/dict/tcm/components/TcmDictListPage.vue create mode 100644 apps/web-antd/src/views/system/dict/tcm/diseases/index.vue create mode 100644 apps/web-antd/src/views/system/dict/tcm/method/index.vue create mode 100644 apps/web-antd/src/views/system/dict/tcm/syndrome/index.vue create mode 100644 apps/web-antd/src/views/system/medical-record/entry-public/field/index.vue create mode 100644 apps/web-antd/src/views/system/medical-record/entry-public/index.vue create mode 100644 apps/web-antd/src/views/system/vip/feature/api/index.ts create mode 100644 apps/web-antd/src/views/system/vip/feature/components/modal.vue create mode 100644 apps/web-antd/src/views/system/vip/feature/config/constants.ts create mode 100644 apps/web-antd/src/views/system/vip/feature/config/form.ts create mode 100644 apps/web-antd/src/views/system/vip/feature/index.vue diff --git a/apps/web-antd/src/app.vue b/apps/web-antd/src/app.vue index b93e7d5c..5d779892 100644 --- a/apps/web-antd/src/app.vue +++ b/apps/web-antd/src/app.vue @@ -9,7 +9,6 @@ import { App, ConfigProvider, theme } from 'ant-design-vue'; import { antdLocale } from '#/locales'; import { GlobalContextMenu } from '#/components/context-menu'; -import DoctorTransferFloat from '#/components/doctor-transfer-float/DoctorTransferFloat.vue'; import { useWebSocket } from '#/views/business/chat/composables/useWebSocket'; import { useChatStore } from '#/views/business/chat/stores/chat'; import { useUserStore } from '#/views/business/chat/stores/user'; @@ -76,13 +75,6 @@ watch(userInfoLoaded, (loaded) => { initWebsocket(); } }); - -/** 诊所医生账号显示传方悬浮窗(有 doctor_id 且绑定门店) */ -const showDoctorTransferFloat = computed(() => { - const info = vbenUserStore.userInfo as Record | null; - if (!info) return false; - return !!(info.doctor_id && info.store_id); -}); diff --git a/apps/web-antd/src/components/doctor-transfer-float/DoctorTransferFloat.vue b/apps/web-antd/src/components/doctor-transfer-float/DoctorTransferFloat.vue index 1392782f..75b69e02 100644 --- a/apps/web-antd/src/components/doctor-transfer-float/DoctorTransferFloat.vue +++ b/apps/web-antd/src/components/doctor-transfer-float/DoctorTransferFloat.vue @@ -1,6 +1,7 @@