From 6e5dec9f9283d4e9172c218835405c1c4d5221a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E7=90=A6?= Date: Mon, 1 Jun 2026 13:29:14 +0800 Subject: [PATCH] =?UTF-8?q?1.=20=E5=88=87=E6=8D=A2=E8=B4=A6=E5=8F=B7?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../business/order/register/api/index.ts | 27 +++++++++++++---- .../business/order/register/config/table.ts | 13 +++------ .../views/business/order/register/index.vue | 16 ++++++++++ .../components/PatientDetailModal.vue | 29 ++++++++++++++++++- 4 files changed, 69 insertions(+), 16 deletions(-) diff --git a/apps/web-antd/src/views/business/order/register/api/index.ts b/apps/web-antd/src/views/business/order/register/api/index.ts index d5fe98e3..a1b3c2f3 100644 --- a/apps/web-antd/src/views/business/order/register/api/index.ts +++ b/apps/web-antd/src/views/business/order/register/api/index.ts @@ -1,10 +1,25 @@ import { requestClient } from '#/api/request'; const prefix = 'register/'; -/** - * 分页查询用户列表 - * @param data - */ -export async function getRegisterListApi(data: any) { - return requestClient.get(`${prefix}list`, { params: data }); + +export interface RegisterOrderItem { + id: number; + order_no: string; + order_number?: number; + price: number; + is_pay: 0 | 1; + type: number; + status: number; + created_at: string; + doctor_info?: { name: string; depart?: { name: string } }; + user_patient?: { name: string }; + store?: { name: string }; + prescription?: { id: number; prescription_no: string }[]; +} + +export async function getRegisterListApi(data: Record) { + return requestClient.get<{ items: RegisterOrderItem[]; total: number }>( + `${prefix}list`, + { params: data }, + ); } diff --git a/apps/web-antd/src/views/business/order/register/config/table.ts b/apps/web-antd/src/views/business/order/register/config/table.ts index d32bdf50..76b2945f 100644 --- a/apps/web-antd/src/views/business/order/register/config/table.ts +++ b/apps/web-antd/src/views/business/order/register/config/table.ts @@ -1,16 +1,9 @@ import type { VxeGridProps } from '#/adapter/vxe-table'; +import type { RegisterOrderItem } from '../api'; import { getRegisterListApi } from '../api'; -interface RowType { - id: string; - name: string; - logo: string; - introduce: string; - created_at: string; -} - -export const gridOptions: VxeGridProps = { +export const gridOptions: VxeGridProps = { checkboxConfig: { highlight: true, labelField: '', @@ -25,6 +18,8 @@ export const gridOptions: VxeGridProps = { { field: 'store.name', title: '开方诊所' }, { field: 'type', title: '挂号类型', slots: { default: 'type' } }, { field: 'prescription', title: '处方', slots: { default: 'prescription'} }, + { field: 'price', title: '挂号价格', width: 110, slots: { default: 'price' } }, + { field: 'is_pay', title: '是否支付', width: 100, slots: { default: 'is_pay' } }, { field: 'status', title: '状态', slots: { default: 'status' } }, { field: 'created_at', title: '创建时间' }, // { diff --git a/apps/web-antd/src/views/business/order/register/index.vue b/apps/web-antd/src/views/business/order/register/index.vue index 66ed1eaa..a32ccd82 100644 --- a/apps/web-antd/src/views/business/order/register/index.vue +++ b/apps/web-antd/src/views/business/order/register/index.vue @@ -63,6 +63,14 @@ const openPrescriptionDetail = (values) => { }); PrescriptionDetailModalApi.open(); }; + +function formatRegisterPrice(price: unknown) { + const n = Number(price); + if (!Number.isFinite(n)) { + return '—'; + } + return `¥${n.toFixed(2)}`; +} + +