import { EnumRouterName } from "@/common/constants/enumRouterName";
import { ColumnType, TableKey } from "@/common/methods/table/interface";
import { OperationTabMenu } from "@/services/go/commonService/interface";

export interface TableEventCB {
    clickCB?: Function; // 单击事件回调函数
    contextmenuCB?: Function; // 右键事件回调函数
    dblclick?: Function; // 双击事件回调函数
}

export type BtnClassName = 'btnDeafault' | 'btnPrimary' | 'btnDanger' | 'operBtn'
export interface BtnList {
    lable: string;  // 按钮名字
    callback: Function;
    className: BtnClassName    // 按钮 class 名字
}

export interface BtnParam {
    first: string[],
    second: string[],
    third: string[],
}

export interface ComposeTableParam {
    queryFn: Function,  // 查询表格数据
    menuType: EnumRouterName,  // 操作按钮列表key
    tableName?: keyof TableKey, // 表头key
    tableFilterKey: string[], // 表格过滤字段
    tableFilterCB?: Function, // 表格过滤字段回调函数
    isDetail: boolean,  // 是否需要详情
}

export interface ComposeTableDetailParam {
    queryFn: Function,  // 查询表格数据
    tableName: keyof TableKey, // 表头key
    tableFilterKey: string[], // 表格过滤字段
    menuType: EnumRouterName
}

export interface TableParam {
    queryFn: Function,
    columnsList: ColumnType[],
    clickName?: string,
}


export interface ComposeOrderTableParam {
    queryFn: Function,  // 查询表格数据
    recordList: OperationTabMenu[], // 当前tab页配置数据
    tableName: keyof TableKey, // 表头key
    isDetail?: boolean,  // 是否需要详情
}

export interface ButtonListKey {
    custom_info_normal: string; // 客户资料 正常
    custom_info_disabled: string; // 客户资料 停用
    custom_info_unsubmit: string; // 客户资料 未提交
    custom_info_checkpending: string; // 客户资料 待审核

    spot_contract_unsubmitted: string; // 现货合同 未提交
    spot_contract_checkpending: string; // 现货合同 待审核
    spot_contract_performance: string; // 现货合同 履约中
    spot_contract_finished: string; // 现货合同 已完成

    goods_info_spot_normal: string; // 现货品种 正常
    goods_info_spot_disable: string; // 现货品种 停用

    goods_info_hedge_normal: string; // 现货品种 正常
    goods_info_hedge_disable: string; // 套保品种 停用

    warehouse_info_normal: string; // 仓库信息 正常
    warehouse_info_disabled: string; // 仓库信息 停用

    purchase_pending: string;   // 采购 待点价
    purchase_performance: string;   // 采购 履约交收
    purchase_all: string;   // 采购 全部

    sell_pending: string;   // 销售 待点价
    sell_performance: string;   // 销售 履约交收
    sell_all: string;   // 销售 全部

    exposure_realtime: string;   //实时敞口
    exposure_spot: string;   //现货头寸
    exposure_futures: string;   //期货头寸
    exposure_history: string;   //历史敞口

    plan_uncommitted: string;   //计划 未提交
    plan_audit: string;   //计划 待审核
    plan_running: string;   //计划 执行中

    business_review_someprice: string; // 业务审核 点价
    business_review_settlement: string; // 业务审核 交收

    account_info_business: string; // 业务账户
    account_info_trade: string; // 交易账户
    account_info_manager: string; // 管理账户
    account_info_futures: string; // 期货账户

    finance_review_funds: string; // 财务审核 款项
    finance_review_invoice: string; // 财务审核 发票

    inventory_review_checkin: string; // 库存审核 入库
    inventory_review_checkout: string; // 财务审核 出库

    inventory_current: string; // 库存查询 当前库存
    inventory_applyrecord: string; // 库存查询 申请记录

    finance_report_finance: string; // 财务报表
    exposure_report_exposure: string; // 敞口报表
    sum_pl_report_sum_pl: string; //汇总损益报表
    spot_report_spot: string; // 现货报表
    future_report_future: string; // 期货报表
    inventory_report_warehouse: string; // 库存报表(仓库)
    inventory_report_inventory_category: string; // 库存报表(品类)

    /********* =================== 千海金=================== **********/
    platinum_custom_info_normal: string; // 千海金 客户资料 正常
    platinum_customer_info_unsubmit: string; // 千海金 客户资料 待审核
    platinum_customer_info_stop: string; // 千海金 客户资料 停用

    platinum_withdrawal_review_tab: string; // 千海金 提现审核
    platinum_recharge_review_tab: string; // 千海金 充值审核
    platinum_pick_query_tab: string; // 千海金 提货查询

    platinum_fixed_investment_price_query_tab: string; // 千海金 定投价查询
    platinum_fixed_investment_flow_query: string; // 千海金 定投流水查询
    platinum_fixed_investment_plan_query: string; // 千海金 定投计划查询
    platinum_document_query_position: string; // 千海金 单据查询 持仓
    platinum_document_query_order: string; // 千海金 单据查询 委托单
    platinum_document_query_waiting: string; // 千海金 单据查询 待付单
    platinum_document_query_success: string; // 千海金 单据查询 成交单
    platinum_financing_information_tab: string; // 千海金 融资信息
    platinum_agreement_tab: string; // 千海金 协议管理
}