/// import { LayoutConfig } from '../../pro/Selector/types'; /** * SKU Card 文本样式配置 */ export interface SkuCardTextConfig { /** 是否显示 */ visible?: boolean; /** 字体大小 */ fontSize?: number; /** 颜色 */ color?: string; /** 字体粗细 */ fontWeight?: 'normal' | 'bold' | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900; /** 展示行数 */ lineClamp?: number; } /** * SKU Card 图片配置 */ export interface SkuCardImageConfig { /** 是否显示 */ visible?: boolean; /** 宽度 */ width?: number; /** 高度 */ height?: number; /** 圆角 */ borderRadius?: number | string; /** 边框 */ border?: string; } /** * SKU Card 禁用文本配置 */ export interface SkuCardDisabledTextConfig extends Omit { /** 文本(可能是多语言) */ text?: string; } /** * SKU Card 配置 */ export interface SkuCardConfig { /** 主标题配置 */ title?: SkuCardTextConfig; /** 副标题配置 */ subTitle?: SkuCardTextConfig; /** 价格配置 */ price?: Omit; /** 图片配置 */ image?: SkuCardImageConfig; /** * @description 是否在「组合规格选项卡片(VariantCard)」展示价格 * - 默认不展示,避免影响现有业务 UI */ variantPriceVisible?: boolean; /** 禁用文本配置 */ disabledText?: SkuCardDisabledTextConfig; } /** * SKU store状态类型 */ export interface SkuSelectionState { /** 数据源 */ dataSource: any; /** 原始值 */ value: Record; /** 配置 */ config: { overSold?: boolean; }; /** 货币符号 */ symbol: string; /** Selector数据源 */ selectorDataSource: any[]; /** Selector识别的值 */ selectorValue: Record; /** SKU Card 配置 */ skuCardConfig: SkuCardConfig; style?: React.CSSProperties; /** 样式配置 */ customConfig?: { /** 弹窗宽度 */ modalWidth?: number | string; /** 选项布局 */ selectorLayout?: LayoutConfig | null; }; } /** SKU Card 默认配置 */ export declare const defaultSkuCardConfig: SkuCardConfig; export interface IProps { /** 数据源 */ dataSource: DataSource; /** 原始值 */ value: SkuValue; /** 配置 */ config?: { /** 是否禁用 */ overSold?: 0 | 1; }; /** SKU Card 配置 */ skuCardConfig?: SkuCardConfig; /** 选中变更回调 */ onChange: (value: SkuValue) => void; /** 自定义滚动容器 */ customScrollParent?: HTMLElement | string; /** 自定义样式 */ style?: React.CSSProperties; /** 自定义配置 */ customConfig?: { /** 弹窗宽度 */ modalWidth?: number | string; /** 选项布局 */ selectorLayout?: LayoutConfig | null; }; } export interface DataSource { /** 单规格组数据 */ option_group?: Array; /** 组合规格组装后的数据 */ variant?: Array; /** 组合规格组数据 */ variant_group?: Array; /** 套餐商品组数据 */ bundle_group?: Array; } /** * 单规格组数据 */ export interface OptionGroupItem { /** 创建者id */ create_account_id?: number; /** 创建时间 */ created_at?: string; /** 删除时间 */ deleted_at?: string | null; /** 模板id */ template_id?: number; /** 更新者id */ update_account_id?: number; /** 更新时间 */ updated_at?: string; /** 单规格组id */ id?: number; /** 是否启用 */ is_enabled?: 0 | 1; /** 是否多选 */ is_multiple?: 0 | 1; /** 最大选择数量 */ max_quantity?: number; /** 最小选择数量 */ min_quantity?: number; /** 单规格组名称 */ name?: string; /** 单规格组下规格数据 */ option_item?: Array; /** 商品id */ product_id?: number; /** 是否必选 */ required?: 0 | 1; /** 店铺id */ shop_id?: number; /** 排序 */ sort?: number; /** 状态 */ status?: 0 | 1; } /** * 单规格组下选项数据 */ export interface OptionItem { /** 创建者id */ create_account_id?: number; /** 创建时间 */ created_at?: string; /** 删除时间 */ deleted_at?: string | null; /** 模板id */ template_id?: number; /** 更新者id */ update_account_id?: number; /** 更新时间 */ updated_at?: string; /** 加价 */ add_price?: string; /** 封面 */ cover?: string; /** 描述 */ description?: string; /** 规格id */ id?: number; /** 是否启用 */ is_enabled?: 0 | 1; /** 最大选择数量 */ max_quantity?: number; /** 规格名称 */ name?: string; /** 规格组id */ option_group_id?: number; /** 原价 */ original_price?: string; /** 商品id */ product_id?: number; /** 店铺id */ shop_id?: number; /** 排序 */ sort?: number; /** 状态 */ status?: 0 | 1; } /** * 组合规格组数据 */ export interface VariantGroupItem { /** 创建者id */ create_account_id?: number; /** 创建时间 */ created_at?: string; /** 删除时间 */ deleted_at?: string | null; /** 更新者id */ update_account_id?: number; /** 更新时间 */ updated_at?: string; /** 组合规格组id */ id?: number; /** 组合规格组名称 */ name?: string; /** 位置id */ position_id?: number; /** 商品id */ product_id?: number; /** 店铺id */ shop_id?: number; /** 排序 */ sort?: number; /** 状态 */ status?: 0 | 1; /** 组合规格组下选项数据 */ variant_item?: Array; } /** * 组合规格组下选项数据 */ export interface VariantItem { /** 创建者id */ create_account_id?: number; /** 创建时间 */ created_at?: string; /** 删除时间 */ deleted_at?: string | null; /** 更新者id */ update_account_id?: number; /** 更新时间 */ updated_at?: string; /** 店铺id */ shop_id?: number; /** 排序 */ sort?: number; /** 规格id */ id?: number; /** 是否默认 */ is_default?: 0 | 1; /** 变体名称 */ name?: string; /** 位置id */ position_id?: number; /** 商品id */ product_id?: number; /** 状态 */ status?: 0 | 1; /** 组合规格组id */ variant_group_id?: number; } /** * 组合规格商品数据 */ export interface VariantProductItem { /** 创建者id */ create_account_id?: number; /** 创建时间 */ created_at?: string; /** 更新者id */ update_account_id?: number; /** 更新时间 */ updated_at?: string; /** 条形码 */ barcode?: string; /** 基础价格 */ base_price?: string; /** 箱规数量 */ box_specification_quantity?: number; /** 编码 */ code?: string; /** 成本价格 */ cost_price?: string; /** 封面 */ cover?: string; /** 描述 */ description?: string | null; /** 是否禁用 */ disabled?: 0 | 1; /** 组合规格商品id */ id?: number; /** 是否收税 */ is_charge_tax?: 0 | 1; /** 是否发货 */ is_delivery?: 0 | 1; /** 是否收税 */ is_gst?: 0 | 1; /** 是否跟踪库存 */ is_track?: 0 | 1; /** 名称 */ name?: Record; /** 开售重量 */ open_sold_weight?: number; /** 原价 */ original_price?: string; /** 是否超卖 */ over_sold?: 0 | 1; /** 价格 */ price?: string; /** 商品id */ product_id?: number; /** 折扣类型 */ rebate_type?: string; /** 折扣值 */ rebate_value?: number; /** 标题 */ title?: Record; /** 单位 */ unit?: string; /** 单位值 */ unit_value?: number; /** 重量单位 */ weight_unit?: string; /** 重量值 */ weight_value?: string; } /** * 套餐商品组数据 */ export interface BundleGroupItem { /** 店铺id */ shop_id?: number; /** 排序 */ sort?: number; /** 套餐id */ id?: number; /** 最大选择数量 */ max_quantity?: number; /** 最小选择数量 */ min_quantity?: number; /** 套餐名称 */ name?: string; /** 商品id */ product_id?: number; /** 套餐商品组数据 */ bundle_item?: Array; } /** * 套餐商品组下选项数据 */ export interface BundleItem { /** 店铺id */ shop_id?: number; /** 排序 */ sort?: number; /** 条形码 */ barcode?: string; /** 套餐商品id */ bundle_product_id?: number; /** 套餐商品变体id */ bundle_variant_id?: number; /** 编码 */ code?: string; /** 封面 */ cover?: string; /** 扩展id */ extension_id?: number; /** 扩展类型 */ extension_type?: string; /** 套餐商品组id */ group_id?: number; /** 套餐商品id */ id: string | number; /** 是否跟踪库存 */ is_track?: 0 | 1; /** 最大选择数量 */ max_quantity?: number; /** 单规格组数据 */ option_group?: Array; /** 是否允许超卖 */ over_sold?: 0 | 1; /** 价格 */ price?: string; /** 价格类型: mark_up==>加价 | mark_down==>减价 */ price_type?: 'mark_up' | 'mark_down'; /** 价格类型扩展: product_price==>商品价格 */ price_type_ext?: '' | 'product_price'; /** 商品id */ product_id?: number; /** 商品价格 */ product_price?: string; /** 商品副标题 */ product_subtitle?: string; /** 库存数量 */ stock_quantity?: number; /** 标题 */ title?: string; } /** * sku value */ export interface SkuValue { /** 商品id */ product_id: number; /** 多规格商品id */ product_variant_id: number; /** 多规格商品选项字符串 */ product_option_string?: string; /** 套餐商品组数据 */ bundle: Array; /** 价格 */ price?: string | number; /** 单规格组数据 */ option: Array; } /** * Selector值原子类型 */ export interface SelectorValueAtom { /** 数据 */ data: Record; /** 数量 */ quantity: number; /** 总价 */ totalPrice: string | number; /** 值 */ value: number | string; }