Files
2026-08-14 22:20:13 +08:00

119 lines
3.2 KiB
TypeScript

/** 门店订单明细(下单时商品档案快照) */
export interface IStoreOrderItem {
id?: number;
order_id?: number;
store_id?: number;
product_id?: number;
category_id?: number;
supplier_id?: number;
/** 详情接口附带的供应商信息 */
supplier?: { id: number; name: string };
product_name?: string;
product_spec?: string;
/** 计价单位(斤/件/箱等) */
unit?: string;
price?: string;
/** 列表接口附带的封面图 */
image?: string;
image_ids?: string;
shelf_life?: number;
quantity?: number;
weight?: string;
amount?: string;
/** 成本价(仅后台接口可见) */
cost_price?: string;
remark?: string;
}
/** 修改订单明细入参(保存后后端重算单品金额与订单总价) */
export interface IStoreOrderItemUpdate {
supplier_id: number;
product_name: string;
product_spec?: string;
unit: string;
price: number;
cost_price: number;
quantity: number;
weight: number;
remark: string;
}
/** 订单关联账单(列表附带摘要、详情附带完整字段;pay_state 由后端推导) */
export interface IStoreOrderBill {
id: number;
bill_no: string;
bill_date?: string;
/** 商品金额 */
product_amount?: string;
/** 配送费 */
delivery_fee?: string;
box_num?: number;
tray_num?: number;
box_price?: string;
tray_price?: string;
/** 附加金额 = 筐×筐单价 + 托盘×托盘单价 */
added_amount?: string;
/** 账单总金额 */
total_amount: string;
/** 支付状态:0未支付 1已支付 */
status: number;
/** 关联支付记录ID(0=未发起支付) */
payment_id?: number;
/** 支付进度:0待支付 1审核中 2已支付 */
pay_state?: number;
pay_state_name?: string;
paid_at?: string | null;
pay_remark?: string;
created_at?: string;
}
/** 账单支付进度映射(与小程序端口径一致) */
export const BILL_PAY_STATE_MAP: Record<number, { text: string; color: string }> = {
0: { text: '待支付', color: 'warning' },
1: { text: '审核中', color: 'processing' },
2: { text: '已支付', color: 'success' },
};
/** 门店订单 */
export default interface IStoreOrder {
id?: number;
order_no?: string;
store_id?: number;
purchase_id?: number;
/** 关联账单ID(采购单完成后按门店生成账单时回写) */
bill_id?: number;
/** 关联账单(生成账单后由接口附带) */
bill?: IStoreOrderBill | null;
store?: {
id: number;
name: string;
address: string;
contact: string;
phone: string;
};
order_date?: string;
total_quantity?: number;
total_weight?: string;
total_amount?: string;
/** 0待接单 1已接单 2采购中 3配送中 4已完成 9已取消 */
status?: number;
remark?: string;
items?: IStoreOrderItem[];
created_at?: string;
purchase?: {
id: number;
purchase_no: string;
purchase_date: string;
status: number;
}
}
export const STORE_ORDER_STATUS_MAP: Record<number, { text: string; color: string }> = {
0: { text: '待接单', color: 'default' },
1: { text: '已接单', color: 'processing' },
2: { text: '采购中', color: 'warning' },
3: { text: '配送中', color: 'success' },
4: { text: '已完成', color: 'success' },
9: { text: '已取消', color: 'error' },
};