119 lines
3.2 KiB
TypeScript
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' },
|
|
};
|