import React from 'react'; import './index.less'; export interface FormatOption { /** 原始 DOM 元素 */ originDom: React.ReactNode; /** 是否选中状态 */ active: boolean; /** 完整的组件数据 */ data: PisellWalletPassCardProps; } export interface PisellWalletPassCardProps { id: number; /** 卡片样式 */ type: 'default' | 'mini'; /** 商品名称 */ name: string; /** 二维码 */ qrCode: string; /** 共享店铺名称 */ storeName: string; /** 余额 */ balance?: number; /** 识别码编号 */ code: string; /** 有效期 */ validDate: string; /** 使用金额 */ redeem?: number; /** 是否禁用 */ disabled?: boolean; /** 禁用原因 */ disabledReason?: string; /** 是否展示禁用原因 */ showDisabledReason?: boolean; /** 封面图 */ cover?: string; /** 余额标题文案 */ balanceTitle?: string; /** 使用金额标题文案 */ redeemTitle?: string; /** 是否选中 */ active?: boolean; /** 是否展示商品名称 */ showName?: boolean; /** 是否展示共享店铺名称 */ showStoreName?: boolean | ((data: any) => boolean); /** 是否展示使用金额 */ showRedeem?: boolean; /** 是否展示余额 */ showBalance?: boolean; /** 是否展示识别码编号 */ showCode?: boolean; /** 是否展示有效期 */ showValidDate?: boolean; /** 使用日程信息计算有效期 */ validDateBySchedule?: boolean; /** 日程列表 */ scheduleList?: any[]; /** 是否展示右上角详情按钮 */ showDetail?: boolean; /** 是否展示qrCode */ showQrCode?: boolean; /** 是否展示封面 */ showCover?: boolean; /** 是否展示余额货币符号 */ showBalanceSymbol?: boolean; /** 展示操作按钮 */ showActions?: boolean; /** 操作按钮配置 */ actions?: { /** 按钮展示方式 */ layout: 'expanded' | 'collapsed'; /** detail 按钮配置 */ detail?: { visible: boolean; iconColor: string; }; /** edit按钮配置 */ edit?: { visible: boolean; iconColor: string; dialogTitle: string; enableDialog: boolean; fields: { name: string; label: string; }; }; }; /** 编辑编辑按钮后,弹窗展示之前 */ beforeEdit?: (value: any) => Promise | boolean | void; /** 编辑弹窗点击提交 */ onConfirmEdit?: (value: any) => void; /** 编辑金额事件 */ onConfirmEditAmount?: (value: number) => void; /** 详情按钮点击事件 */ onDetail?: (data: { id: number; name: string; storeName: string; balance?: number; redeem?: number; code: string; validDate: string; originData?: any; }) => void; /** 是否使用外部详情处理(当为 true 且提供了 onDetail 时,不显示内部模态框) */ useExternalDetail?: boolean; /** 单选或者多选 */ mode?: 'multiple' | 'single'; /** 是否展示选中图标 */ showActiveIcon?: boolean; /** 开启编辑金额 */ enableEditAmount?: boolean; /** 显示状态标识 */ showStatus?: boolean; /** 名称标题字号字重颜色配置 */ nameTitleStyle?: { fontSize: number; fontWeight: number; color: string; }; /** 卡片状态 */ cardStatus?: 'used' | 'expired' | 'disabled' | 'conflict' | 'lastPayment'; /** 自定义余额格式化函数,如果提供则优先使用 */ formatBalance?: (balance?: number, option?: FormatOption) => React.ReactNode; /** 自定义余额标题格式化函数,如果提供则优先使用 */ formatBalanceTitle?: (balanceTitle?: string, option?: FormatOption) => React.ReactNode; /** 自定义使用金额格式化函数,如果提供则优先使用 */ formatRedeem?: (redeem?: number, option?: FormatOption) => React.ReactNode; /** 自定义使用金额标题格式化函数,如果提供则优先使用 */ formatRedeemTitle?: (redeemTitle?: string, option?: FormatOption) => React.ReactNode; /** 最大使用金额 */ maxRedeem?: number; /** 编辑金额前事件 */ onBeforeEditAmount?: (value: any) => Promise | boolean | void; /** 是否显示持有人 */ showHolderName?: boolean; /** 持有人, 表单记录,展示时一般取main_field */ holder?: any; /** 持有人点击回调 */ onSetHolder?: (currentValue?: any) => void; [key: string]: any; } declare const PisellWalletPassCard: (props: PisellWalletPassCardProps) => React.JSX.Element; export default PisellWalletPassCard;