import { DishTypeEnum, ResPrintSerialNoType } from '../../dishes-common';
import { DishComboDetailType, DishesPriceDetailType, ResDishesOriginResultData, ResDishItemsMesType } from '../../dishes-common/types/dishes';
import { ResTableStateOrderInfoItemType } from '../type';
import { DishTypeServiceEnum } from './enum';

export interface ResTablePlanSelectedItems {
    selectedIds: string[];
    infos: ResTableStateOrderInfoItemType[];
}
export interface ResTablePlanInfoKeyofBoardIdItemType {
    /**
     * 餐厅区域id
     */
    caterAreaId?: string;
    /**
     * 餐厅区域名称
     */
    caterAreaName?: string;
    /**
    * 餐桌id
    */
    id?: string;
    /**
     * 餐桌号
     */
    serialNum?: string;
    /**
     * 桌位状态 1:空闲 2:使用中
     */
    status?: number;
    tableDetails: ResTableStateOrderInfoItemType;
}
interface BoardInfoItemType {
    id?: string;
    ntwId?: string;
    restId?: string;
    boardCategoryId?: string;
    areaId?: string;
    serialNum?: string;
    boardUuid?: string;
    qrCodeUrl?: string;
    status?: number;
    createTime?: string;
    updateTime?: string;
}
export interface ResTableOrderDetailsItems extends ResDishesOriginResultData {
    /** 折扣名字 */
    discountName?: string;
    /**
     * 餐厅id
     */
    restId?: string;
    /**
     * 桌位列表
     */
    boardList?: BoardInfoItemType[];
    /**
     * 客户类型目前是散客
     */
    reserveType?: number;
    /**
     * 用餐时间（入厨）
     */
    dineTime?: string;
    /**
     * 订单服务状态 （10：待处理  20：待付款  30：已预定  40：进行中  50：已结束  60：已取消  70：已拒绝）
     */
    status?: number;
    /**
     * 流水号列表
     */
    serialNumList?: string[];
    /**
     * 订单id
     */
    orderId?: string;
    /**
     * 餐饮菜品服务列表
     */
    dishServiceList?: DishServiceItemType[];
    createTime?: string;
    originType?: number;
}
interface DishServiceItemType {
    /**
     * id
    */
    id?: string;
    /**
      * 商品中心商品skuId
    */
    goodsSkuId?: string;
    /**
     * 菜品id
   */
    dishId?: string;
    /**
      * 商品名称
    */
    goodsName?: string;
    /**
      * 商品规格名称
    */
    goodsSkuName?: string;
    /**
      * 菜品类型 1是单品 2是套餐 0是自定义商品
    */
    dishType?: DishTypeEnum;
    /**
      * 菜品备注
    */
    remark?: string;
    /**
      * 商品数量
    */
    num?: number;
    /**
     * 商品金额
   */
    amount?: number;
    /**
     * 菜品额外信息（规格等等信息）
   */
    extMes?: string;
    /**
     * 称重
   */
    weight?: number;
    /**
     * 价格类型 (转换后)
   */
    priceTypeList?: number[];
    /**
     * 价格类型
   */
    priceType?: number;
    /**
     * 菜品关联信息
   */
    caterDishServiceRelList?: DishComboDetailType[];
    /**
     * 菜品信息详情
   */
    dishMes?: ResDishItemsMesType;
    /**
     * 规格和价格
   */
    priceDetailList?: DishesPriceDetailType[];
    /**
     * 套餐明细列表 套餐才有
   */
    dishComboDetailList?: DishComboDetailType[];
    /**
      * 菜品服务类型 1 退菜 2赠送
    */
    type?: DishTypeServiceEnum;
    selected?: boolean;
    dishComboDetail?: string;
    unitName?: string;
    name?: string;
    boolDiscount?: boolean;
    boolHandsel?: boolean;
    boolMultiFormat?: boolean;
    customPrice?: number;
    version?: string;
    customAmount?: number;
    discountAmount?: number;
}
export interface BasicMesType extends ResPrintSerialNoType {
    /**
     * 餐饮服务信息
     */
    caterServiceApiBO?: {
        /**
         * 自增主键
         */
        id?: string;
        /**
         * 网络号ID
         */
        ntwId?: string;
        /**
         * 创建时间
         */
        createTime?: string;
        /**
         * 更新时间
         */
        updateTime?: string;
        /**
         * 是否删除 0 正常 1 已删除
         */
        deleted?: boolean;
        /**
         * 餐厅id
         */
        restId?: string;
        /**
         * 订单id
         */
        orderId?: string;
        /**
         * 订单服务状态 （10：待处理  20：待付款  30：已预定  40：进行中  50：已结束  60：已取消  70：已拒绝）
         */
        status?: number;
        /**
         * 用餐人数
         */
        dineNum?: number;
        /**
         * 用餐时间（入厨）
         */
        dineTime?: string;
        /**
         * 预定时间
         */
        reserveTime?: string;
        /**
         * 整单备注
         */
        remark?: string;
        /**
         * 桌位id列表
         */
        boardIds?: string[];
    };
    /**
     * 旧桌位id列表
     */
    oldBoardIds?: string[];
    /**
     * 新桌位id列表
     */
    newBoardIds?: string[];
}
export {};
