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)}`; +} + +