/*
 * @Author: Fly
 * @Date: 2025-12-10 15:14:16
 * @LastEditTime: 2025-12-30 09:33:16
 * @Description: 
 */



export const getOptionItem = (Option, value) => {
    const item = Option.find(item => item.value === value);
    return item ? item : null;
}

export const getOptionLabel = (Option, value) => {
    const item = Option.find(item => item.value === value);
    return item ? item.label : value;
}

export const getOptionEnum = (Option) => {
    const Enum = {};
    Option.forEach(item => {
        Enum[item.enumVal] = item.value;
    })
    return Enum;
}

/**
 * 支付方式
 * (0:原生微信,1原生支付宝,10:第三方微信,11:第三方支付宝),
 */
export const PayTypeOption = [
    // {
    //     label: '原生微信',
    //     value: 0
    // },
    // {
    //     label: '原生支付宝',
    //     value: 1
    // },
    {
        label: '微信支付',
        value: 10
    },
    {
        label: '支付宝支付',
        value: 11
    }
];

/**
 * 提现方式
 * (1.支付宝 ， 2.微信),
 */
export const WithdrawalMethodOption = [
    {
        label: '支付宝',
        value: 1
    },
    {
        label: '微信',
        value: 2
    }
];

/**
 * 提现状态
 * (1.待审核 ， 2.提现失败 ， 3 已到账),
 */
export const WithdrawalStatusOption = [
    {
        label: '待审核',
        value: 1,
        type: 'primary'
    },
    {
        label: '提现失败',
        value: 2,
        type: 'danger'
    },
    {
        label: '已到账',
        value: 3,
        type: 'success'
    }
];

/**
 * 提现来源
 * (1.用户钱包 ， 2.代理钱包),
 */
export const WithdrawalSourceOption = [
    {
        label: '用户钱包',
        value: 1
    },
    {
        label: '代理钱包',
        value: 2
    }
]

/**
 * 订单支付状态
 * (0:未支付,5:已支付,10支付失败),
 */
export const PayStatusOption = [
    {
        label: '未支付',
        value: 0
    },
    {
        label: '已支付',
        value: 5
    },
    {
        label: '支付失败',
        value: 10
    }
];

/**
 * 订单退款状态
 * (0:未退款,1:退款中,2:退款失败,10:已退款)
 */
export const RefundStatusOption = [
    {
        label: '未退款',
        value: 0
    },
    {
        label: '退款中',
        value: 1
    },
    {
        label: '退款失败',
        value: 2
    },
    {
        label: '已退款',
        value: 10
    }
];

/**
 * 订单状态
 * 订单状态(0:待支付,10:已支付,70退款中,80已退款,100:已取消),可用
 * label: 订单状态文本
 * isRefund: 是否允许退款
 * type: 订单状态类型 (标签样式)
 * value: 订单状态值
 */
export const OrderStatusOption = [
    {
        label: '待支付',
        value: 0,
        type: 'primary'
    },
    {
        label: '已支付',
        value: 10,
        isRefund: true,
        type: 'success'
    },
    {
        label: '退款中',
        value: 70,
        type: 'warning'
    },
    {
        label: '已退款',
        value: 80,
        type: 'danger'
    },
    {
        label: '已取消',
        value: 100,
        type: 'info'
    }
];





/**
 * 补贴状态
 * (0:排队中,1:补贴完成)
 */
export const SubsidyStatusOption = [
    {
        label: '排队中',
        value: 0,
        type: 'primary',
        enumVal: 'QUENING'
    },
    {
        label: '补贴完成',
        value: 1,
        type: 'success',
        enumVal: 'COMPLETED'
    }
];
/**
 * 补贴状态枚举
 */
export const SubsidyStatusEnum = getOptionEnum(SubsidyStatusOption);

/**
 * 补贴排队订单 取消类型
 * (0:未取消,1:排队取消,2:退款取消)
 */
export const CancelTypeOption = [
    {
        label: '未取消',
        value: 0,
        enumVal: 'NO_CANCELLED'
    },
    {
        label: '排队取消',
        value: 1,
        enumVal: 'QUEUE_CANCELLED'
    },
    {
        label: '退款取消',
        value: 2,
        enumVal: 'REFUND_CANCELLED'
    }
];
/**
 * 补贴排队订单 取消枚举
 */
export const CancelTypeEnum = getOptionEnum(CancelTypeOption);


/**
 *  店铺类型
 * (1:普通店铺,2:总店商家,3:分店商家)
 */
export const ShopTypeOption = [
    {
        label: '普通店铺',
        value: 1,
        enumVal: 'COMMON_SHOP'
    },
    {
        label: '总店商家',
        value: 2,
        enumVal: 'HEAD_OFFICE'
    },
    {
        label: '分店商家',
        value: 3,
        enumVal: 'BRANCH_OFFICE'
    }
];

/**
 * 店铺类型枚举
 */
export const ShopTypeEnum = getOptionEnum(ShopTypeOption);

/**
 * 店铺状态
 * (true:正常,false:关闭)
 */
export const ShopStatusOption = [
    {
        label: '正常',
        value: false,
        type: 'success',
        enumVal: 'SHOP_NORMAL'
    },
    {
        label: '关闭',
        value: true,
        type: 'danger',
        enumVal: 'SHOP_CLOSED'
    }
];
/**
 * 店铺状态枚举
 */
export const ShopStatusEnum = getOptionEnum(ShopStatusOption);

/**
 * 审核状态
 * (0:待审核,5:审核不通过,10:审核通过)
 */
export const AuditStatusOption = [
    {
        label: '待审核',
        value: 0,
        type: 'primary',
        enumVal: 'AUDIT_PENDING'
    },
    {
        label: '审核不通过',
        value: 5,
        type: 'danger',
        enumVal: 'AUDIT_REJECTED'
    },
    {
        label: '审核通过',
        value: 10,
        type: 'success',
        enumVal: 'AUDIT_APPROVED'
    }
];
/**
 * 审核状态枚举
 */
export const AuditStatusEnum = getOptionEnum(AuditStatusOption);




/**
 * 用途类型
 * 	0-未使用 1-待使用 2-已使用 3-已下发
 */
export const PurposeTypeOption = [
    {
        label: '未使用',
        value: 0,
        type: 'warning',
        enumVal: 'NOT_USED'
    },
    {
        label: '待使用',
        value: 1,
        type: 'primary',
        enumVal: 'PENDING_USE'
    },
    {
        label: '已使用',
        value: 2,
        type: 'success',
        enumVal: 'USED'
    },
    {
        label: '已下发',
        value: 3,
        type: 'info',
        enumVal: 'DISPATCHED'
    }
]
/**
 * 用途类型枚举
 */
export const PurposeTypeEnum = getOptionEnum(PurposeTypeOption);

/**
 * 代理级别
 * 1:省级代理 2:区县代理
 */
export const AgentLevelOption = [
    {
        label: '省级代理',
        value: 1,
        enumVal: 'LEVEL_1'
    },
    {
        label: '区县代理',
        value: 2,
        enumVal: 'LEVEL_2'
    }
];

export const AgentLevelEnum = getOptionEnum(AgentLevelOption);


