From 920b47aaceeb4b3fc5363ec752dd4a9ce3df1bc8 Mon Sep 17 00:00:00 2001 From: lq Date: Thu, 28 Aug 2025 11:00:39 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8?= =?UTF-8?q?=E5=91=BD=E5=90=8D=EF=BC=8C=E6=9B=B4=E6=96=B0=E4=BA=86=E4=B8=80?= =?UTF-8?q?=E4=BA=9B=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../form/components/upload-image.vue | 8 +- apps/web-antd/src/layouts/basic.vue | 6 +- apps/web-antd/src/preferences.ts | 4 +- apps/web-antd/src/util/tool.ts | 3 +- .../src/views/business/chat/api/index.ts | 8 ++ .../src/views/business/chat/stores/chat.ts | 1 - .../express-company/components/modal.vue | 4 +- .../order/product-order/components/modal.vue | 4 +- .../business/order/register/config/form.ts | 53 +++++++ .../china-medicine/components/modal.vue | 4 +- .../product/service-pack/components/modal.vue | 4 +- .../western-medicine/components/modal.vue | 4 +- .../admin/components/modal.vue | 4 +- .../store/components/modal.vue | 4 +- .../doctor-article/components/modal.vue | 4 +- .../components/PrescriptionDetail.vue | 2 +- .../doctor/doctor-reception/config/form.ts | 37 +++++ .../views/doctor/doctor-reception/index.vue | 7 +- .../src/views/doctor/doctor/api/index.ts | 7 + .../views/doctor/doctor/components/modal.vue | 11 +- .../src/views/doctor/doctor/config/form.ts | 131 ++++++++++++++++-- .../src/views/doctor/doctor/index.vue | 8 ++ .../src/views/doctor/pharmacist/api/index.ts | 23 ++- .../doctor/pharmacist/components/modal.vue | 4 +- .../views/doctor/pharmacist/config/form.ts | 12 +- .../views/finance/withdrawal-audit/index.vue | 2 + .../views/log/api-log/components/modal.vue | 4 +- .../views/log/ledger-log/components/modal.vue | 4 +- .../log/old-api-log/components/modal.vue | 4 +- .../src/views/log/op-log/components/modal.vue | 4 +- .../views/log/order-log/components/modal.vue | 4 +- .../log/prescription-log/components/modal.vue | 4 +- .../views/system/admin/components/modal.vue | 4 +- .../system/base-config/components/modal.vue | 4 +- .../views/system/menu/components/modal.vue | 4 +- .../system/platform/components/modal.vue | 4 +- .../views/system/process/components/modal.vue | 4 +- .../views/system/region/components/modal.vue | 4 +- .../views/system/role/components/modal.vue | 4 +- .../views/system/store/components/modal.vue | 14 +- .../src/views/system/store/config/form.ts | 15 ++ .../src/views/system/store/config/table.ts | 14 +- .../system/supplier/components/modal.vue | 4 +- .../views/examples/modal/form-modal-demo.vue | 4 +- 44 files changed, 345 insertions(+), 117 deletions(-) create mode 100644 apps/web-antd/src/views/business/order/register/config/form.ts create mode 100644 apps/web-antd/src/views/doctor/doctor-reception/config/form.ts diff --git a/apps/web-antd/src/components/form/components/upload-image.vue b/apps/web-antd/src/components/form/components/upload-image.vue index b8a96811..65304632 100644 --- a/apps/web-antd/src/components/form/components/upload-image.vue +++ b/apps/web-antd/src/components/form/components/upload-image.vue @@ -118,16 +118,16 @@ const showUploadButton = computed(() =>
-
上传图片
+
上传图片{{ maxCount }}
footer="" width="60%" > - example + example diff --git a/apps/web-antd/src/layouts/basic.vue b/apps/web-antd/src/layouts/basic.vue index 06ffb8a3..aa11ff26 100644 --- a/apps/web-antd/src/layouts/basic.vue +++ b/apps/web-antd/src/layouts/basic.vue @@ -99,14 +99,14 @@ const getNoticeList = async () => { } }; getNoticeList(); -// 每隔十秒刷新一次 -let intervalId = setInterval(getNoticeList, 10_000); +// 每隔二十秒刷新一次 +let intervalId = setInterval(getNoticeList, 20_000); // 封装定时器重启逻辑 const restartInterval = () => { clearInterval(intervalId); getNoticeList(); // 立即获取最新数据 - intervalId = setInterval(getNoticeList, 10_000); + intervalId = setInterval(getNoticeList, 20_000); }; // 处理跨标签页修改 diff --git a/apps/web-antd/src/preferences.ts b/apps/web-antd/src/preferences.ts index 9c2bf3c1..eb7309f6 100644 --- a/apps/web-antd/src/preferences.ts +++ b/apps/web-antd/src/preferences.ts @@ -17,8 +17,8 @@ export const overridesPreferences = defineOverridesPreferences({ // overrides app: { name: import.meta.env.VITE_APP_TITLE, - // layout: 'sidebar-mixed-nav', - layout: 'sidebar-nav', + layout: 'sidebar-mixed-nav', + // layout: 'sidebar-nav', // 登录过期模式 // loginExpiredMode: 'modal', loginExpiredMode: 'page', diff --git a/apps/web-antd/src/util/tool.ts b/apps/web-antd/src/util/tool.ts index 2c41d111..041fc2eb 100644 --- a/apps/web-antd/src/util/tool.ts +++ b/apps/web-antd/src/util/tool.ts @@ -275,7 +275,8 @@ export function desensitize(data: string, type: 'bankCard' | 'idCard'): string { case 'bankCard': { // 银行卡号脱敏规则:显示前6位和后4位,中间用*代替 if (data.length < 12) { - throw new Error('Invalid bank card number length'); + return data.replace(/(.{6}).*(.{4})/, '$1******$2'); + // throw new Error('Invalid bank card number length'); } return data.slice(0, 6) + '*'.repeat(data.length - 10) + data.slice(-4); } diff --git a/apps/web-antd/src/views/business/chat/api/index.ts b/apps/web-antd/src/views/business/chat/api/index.ts index 9e4d7251..99c0035e 100644 --- a/apps/web-antd/src/views/business/chat/api/index.ts +++ b/apps/web-antd/src/views/business/chat/api/index.ts @@ -18,3 +18,11 @@ export async function getChatMessageListApi(data: any = {}) { // return requestClient.post(`${prefix}messages-by-room-id`, { params: data }); return requestClient.post(`${prefix}messages-by-room-id`, data); } +/** + * 获取挂号卡片信息 + * @param data + */ +export async function getChatMessageRegisterInfoApi(data: any = {}) { + // return requestClient.post(`${prefix}messages-by-room-id`, { params: data }); + return requestClient.get(`${prefix}chat-register-info`, { params: data }); +} diff --git a/apps/web-antd/src/views/business/chat/stores/chat.ts b/apps/web-antd/src/views/business/chat/stores/chat.ts index 641da5e9..55a0275d 100644 --- a/apps/web-antd/src/views/business/chat/stores/chat.ts +++ b/apps/web-antd/src/views/business/chat/stores/chat.ts @@ -183,7 +183,6 @@ export const useChatStore = defineStore('chat', () => { const loadFriends = async (presetUsers, currentUserId) => { try { getChatFriendsListApi().then((res) => { - console.log('好友列表', res); friends.value = res; }); } catch (error) { diff --git a/apps/web-antd/src/views/business/express/express-company/components/modal.vue b/apps/web-antd/src/views/business/express/express-company/components/modal.vue index f469adbc..d9530611 100644 --- a/apps/web-antd/src/views/business/express/express-company/components/modal.vue +++ b/apps/web-antd/src/views/business/express/express-company/components/modal.vue @@ -10,9 +10,7 @@ import { useVbenForm } from '#/adapter/form'; import { createExpressCompanies, updateExpressCompanies } from '../api'; import { modalFormProps } from '../config/form'; -defineOptions({ - name: 'FormModelDemo', -}); + const isUpdate = ref(false); const gridApi = ref(); diff --git a/apps/web-antd/src/views/business/order/product-order/components/modal.vue b/apps/web-antd/src/views/business/order/product-order/components/modal.vue index 1400479e..2edb369e 100644 --- a/apps/web-antd/src/views/business/order/product-order/components/modal.vue +++ b/apps/web-antd/src/views/business/order/product-order/components/modal.vue @@ -9,9 +9,7 @@ import { useVbenForm } from '#/adapter/form'; import { sendOrder } from '#/views/business/order/product-order/api'; import { modalFormProps } from '#/views/business/order/product-order/config/form'; -defineOptions({ - name: 'FormModelDemo', -}); + const isUpdate = ref(false); const gridApi = ref(); diff --git a/apps/web-antd/src/views/business/order/register/config/form.ts b/apps/web-antd/src/views/business/order/register/config/form.ts new file mode 100644 index 00000000..b8a42df7 --- /dev/null +++ b/apps/web-antd/src/views/business/order/register/config/form.ts @@ -0,0 +1,53 @@ +import type { VbenFormProps } from '#/adapter/form'; + +export const modalFormProps: VbenFormProps = { + wrapperClass: 'grid-cols-12', // 24栅格, + commonConfig: { + formItemClass: 'col-span-12', + // 所有表单项 + componentProps: { + class: 'w-full', + }, + }, + // handleSubmit: onSubmit, + layout: 'horizontal', + schema: [ + { + component: 'VbenInput', + fieldName: 'id', + label: 'ID', + dependencies: { + show: false, + triggerFields: ['id'], + }, + }, + { + component: 'VbenInput', + componentProps: { + placeholder: '请输入角色昵称', + }, + fieldName: 'name', + label: '昵称', + rules: 'required', + }, + { + component: 'VbenInput', + componentProps: { + placeholder: '请输入角色代码', + }, + fieldName: 'value', + label: '角色代码', + rules: 'required', + }, + { + component: 'VbenInput', + componentProps: { + placeholder: '请输入角色说明', + }, + fieldName: 'desc', + label: '角色说明', + rules: 'required', + }, + ], + showDefaultActions: false, +}; diff --git a/apps/web-antd/src/views/business/product/china-medicine/components/modal.vue b/apps/web-antd/src/views/business/product/china-medicine/components/modal.vue index 91992418..40aeffb2 100644 --- a/apps/web-antd/src/views/business/product/china-medicine/components/modal.vue +++ b/apps/web-antd/src/views/business/product/china-medicine/components/modal.vue @@ -12,9 +12,7 @@ import { createChinaMedicine, updateChinaMedicine } from '../api'; import { modalFormProps } from '../config/form'; import {getDrugUseList} from "#/views/doctor/doctor-reception/api"; -defineOptions({ - name: 'FormModelDemo', -}); + const userStore = useUserStore(); const drugTime = ref([]); diff --git a/apps/web-antd/src/views/business/product/service-pack/components/modal.vue b/apps/web-antd/src/views/business/product/service-pack/components/modal.vue index d1f64f8e..6da96bcd 100644 --- a/apps/web-antd/src/views/business/product/service-pack/components/modal.vue +++ b/apps/web-antd/src/views/business/product/service-pack/components/modal.vue @@ -11,9 +11,7 @@ import { useVbenForm } from '#/adapter/form'; import { createServicePack, updateServicePack } from '../api'; import { modalFormProps } from '../config/form'; -defineOptions({ - name: 'FormModelDemo', -}); + const userStore = useUserStore(); const isUpdate = ref(false); diff --git a/apps/web-antd/src/views/business/product/western-medicine/components/modal.vue b/apps/web-antd/src/views/business/product/western-medicine/components/modal.vue index ecd3f877..31002bfd 100644 --- a/apps/web-antd/src/views/business/product/western-medicine/components/modal.vue +++ b/apps/web-antd/src/views/business/product/western-medicine/components/modal.vue @@ -12,9 +12,7 @@ import { createWesternMedicine, updateWesternMedicine } from '../api'; import { modalFormProps } from '../config/form'; import {getDrugUseList} from "#/views/doctor/doctor-reception/api"; -defineOptions({ - name: 'FormModelDemo', -}); + const userStore = useUserStore(); const drugTime = ref([]); diff --git a/apps/web-antd/src/views/business/warehouse-drug-management/admin/components/modal.vue b/apps/web-antd/src/views/business/warehouse-drug-management/admin/components/modal.vue index 3fa585f1..639d3311 100644 --- a/apps/web-antd/src/views/business/warehouse-drug-management/admin/components/modal.vue +++ b/apps/web-antd/src/views/business/warehouse-drug-management/admin/components/modal.vue @@ -15,9 +15,7 @@ import { import { modalFormProps } from '../config/form'; import {getDrugUseList} from "#/views/doctor/doctor-reception/api"; -defineOptions({ - name: 'FormModelDemo', -}); + const userStore = useUserStore(); const drugTime = ref([]); diff --git a/apps/web-antd/src/views/business/warehouse-drug-management/store/components/modal.vue b/apps/web-antd/src/views/business/warehouse-drug-management/store/components/modal.vue index 64c4bc34..e15bef80 100644 --- a/apps/web-antd/src/views/business/warehouse-drug-management/store/components/modal.vue +++ b/apps/web-antd/src/views/business/warehouse-drug-management/store/components/modal.vue @@ -15,9 +15,7 @@ import { import { modalFormProps } from '../config/form'; import {getDrugUseList} from "#/views/doctor/doctor-reception/api"; -defineOptions({ - name: 'FormModelDemo', -}); + const userStore = useUserStore(); const drugTime = ref([]); diff --git a/apps/web-antd/src/views/doctor/doctor-article/components/modal.vue b/apps/web-antd/src/views/doctor/doctor-article/components/modal.vue index 872121f9..6e4e400c 100644 --- a/apps/web-antd/src/views/doctor/doctor-article/components/modal.vue +++ b/apps/web-antd/src/views/doctor/doctor-article/components/modal.vue @@ -10,9 +10,7 @@ import { useVbenForm } from '#/adapter/form'; import { createDoctorArticle, updateDoctorArticle } from '../api'; import { modalFormProps } from '../config/form'; -defineOptions({ - name: 'FormModelDemo', -}); + const isUpdate = ref(false); const gridApi = ref(); diff --git a/apps/web-antd/src/views/doctor/doctor-reception/components/PrescriptionDetail.vue b/apps/web-antd/src/views/doctor/doctor-reception/components/PrescriptionDetail.vue index c32ac8fd..e566b769 100644 --- a/apps/web-antd/src/views/doctor/doctor-reception/components/PrescriptionDetail.vue +++ b/apps/web-antd/src/views/doctor/doctor-reception/components/PrescriptionDetail.vue @@ -160,7 +160,7 @@ const getImageSource = (imageString) => {
方法: {{ - drug.use_way?.name || '煎服' + drug.use_way?.name || drug.useWay || '煎服' }}
diff --git a/apps/web-antd/src/views/doctor/doctor-reception/config/form.ts b/apps/web-antd/src/views/doctor/doctor-reception/config/form.ts new file mode 100644 index 00000000..801cd783 --- /dev/null +++ b/apps/web-antd/src/views/doctor/doctor-reception/config/form.ts @@ -0,0 +1,37 @@ +import type { VbenFormProps } from '#/adapter/form'; + + +export const modalFormProps: VbenFormProps = { + wrapperClass: 'grid-cols-12', // 24栅格, + commonConfig: { + formItemClass: 'col-span-12', + // 所有表单项 + componentProps: { + class: 'w-full', + }, + }, + // handleSubmit: onSubmit, + layout: 'horizontal', + schema: [ + { + component: 'VbenInput', + fieldName: 'id', + label: 'ID', + formItemClass: 'col-span-6', + dependencies: { + show: false, + triggerFields: ['id'], + }, + }, + { + component: 'Textarea', + componentProps: { + placeholder: '请输入拒诊原因', + }, + fieldName: 'intro', + label: '拒诊原因', + rules: 'required', + }, + ], + showDefaultActions: false, +}; diff --git a/apps/web-antd/src/views/doctor/doctor-reception/index.vue b/apps/web-antd/src/views/doctor/doctor-reception/index.vue index 0f5e1d99..6ef076eb 100644 --- a/apps/web-antd/src/views/doctor/doctor-reception/index.vue +++ b/apps/web-antd/src/views/doctor/doctor-reception/index.vue @@ -1474,9 +1474,9 @@ watch( v-model:value="newDrugInfo.id" :filter-option="false" class="new-select-drug-name w-1/5" - style="min-width: 100px" placeholder="药名" show-search + style="min-width: 100px" @change="selectNewDrugInfo" @search="searchOption" > @@ -1899,6 +1899,11 @@ watch(