diff --git a/.cursor/rules/Code-Standards.md b/.cursor/rules/Code-Standards.md new file mode 100644 index 00000000..9e5c2433 --- /dev/null +++ b/.cursor/rules/Code-Standards.md @@ -0,0 +1,10 @@ +--- +description: +alwaysApply: true +--- + +1. 写代码的时候要补充详细的中文注释(每个方法是干嘛的,为什么要这样写),如果是工作区,则所有项目都适用该规则 +2. 注意不要生成太多的空行,上一部分代码和下一部分代码中间的空行不要大于2行 +3. 有封装好的方法、组件需要复用,不要重复造轮子 +4. 小程序端的抽屉全部需要用page-container来防止用户意外退出页面(记得使用v-if而不是v-show) +5. 数据库的(created_at、updated_at、deleted_at)统一使用时间戳,不要使用字符串,并且我在查询器中一级格式化成字符串了,无需再次格式化 diff --git a/apps/web-antd/src/views/business/order/product-order/components/cells/OrderUserInfoCell.vue b/apps/web-antd/src/views/business/order/product-order/components/cells/OrderUserInfoCell.vue new file mode 100644 index 00000000..fbf9dd5a --- /dev/null +++ b/apps/web-antd/src/views/business/order/product-order/components/cells/OrderUserInfoCell.vue @@ -0,0 +1,148 @@ + + + + + diff --git a/apps/web-antd/src/views/business/order/product-order/config/table.ts b/apps/web-antd/src/views/business/order/product-order/config/table.ts index 02785f04..d6c34657 100644 --- a/apps/web-antd/src/views/business/order/product-order/config/table.ts +++ b/apps/web-antd/src/views/business/order/product-order/config/table.ts @@ -26,10 +26,10 @@ export const gridOptions: VxeGridProps = { slots: { default: 'order-store' }, }, { - field: 'user.avatarUrl', - title: '下单用户信息', - slots: { default: 'avatar' }, - width: 100, + field: 'order_user_info', + title: '用户/医生/就诊人', + slots: { default: 'order-user-info' }, + width: 210, }, { field: 'express_info', diff --git a/apps/web-antd/src/views/business/order/product-order/index.vue b/apps/web-antd/src/views/business/order/product-order/index.vue index 9d3f3d14..9e739c91 100644 --- a/apps/web-antd/src/views/business/order/product-order/index.vue +++ b/apps/web-antd/src/views/business/order/product-order/index.vue @@ -35,8 +35,10 @@ import { getOrderPriceAdjustConfig } from '#/api/order/priceAdjust'; import type { QuickDiscountOption } from '#/utils/pricePercentAdjust'; import { normalizeQuickOptions } from '#/utils/pricePercentAdjust'; import PrescriptionDetail from '#/views/doctor/doctor-reception/components/PrescriptionDetail.vue'; +import DoctorCardModal from '#/views/doctor/doctor/components/DoctorCardModal.vue'; import DetailModal from './components/detail.vue'; +import OrderUserInfoCell from './components/cells/OrderUserInfoCell.vue'; import FormModalDemo from './components/modal.vue'; import ProductOrderExportModal from './components/ProductOrderExportModal.vue'; import Refund from './components/refund.vue'; @@ -198,6 +200,25 @@ const [PrescriptionDetailModal, PrescriptionDetailModalApi] = useVbenModal({ connectedComponent: PrescriptionDetail, }); +const [DoctorCardModals, DoctorCardModalApi] = useVbenModal({ + connectedComponent: DoctorCardModal, +}); + +/** 从订单列表以只读模式打开医生档案 */ +function showOrderDoctorCard(row: Record) { + const doctor = row.doctor; + if (!doctor?.id && !row.su_id && !doctor?.su_id) { + message.warning('该订单无关联医生'); + return; + } + DoctorCardModalApi.setData({ + id: doctor?.id, + su_id: row.su_id ?? doctor?.su_id, + readonly: true, + }); + DoctorCardModalApi.open(); +} + const [TraceDrawer, traceDrawerApi] = useVbenDrawer({ connectedComponent: OrderTraceDrawer, }); @@ -501,6 +522,7 @@ const openOrderAmountVerify = () => { + @@ -547,10 +569,8 @@ const openOrderAmountVerify = () => { -