import { postServiceOrderQueryCustomerInformation } from '@/services';
import { enumToProTableEnumValue } from '@/utils';
import { getReceivingCompanyOptions, isSupplier } from '@/utils/order';
export const COMFIR_RECEIPT_IMAGES_NUMBER = 3;

export const PAYMENT_CHANNEL_OPTIONS = {
  ALIPAY: '支付宝',
  WECHAT: '微信',
  BANK_TRANSFER: '银行转账',
  BALANCE: '预存款',
  OFFLINE: '线下付款',
};

export const RECEIPTS_RECORD_TYPES = {
  ADVANCE_CHARGE: '预付款',
  PAYMENT_FOR_SHIPMENT: '发货款',
  ACCEPTANCE_PAYMENT: '验收款',
  BALANCE_PAYMENT: '尾款',
};

export const PAYMENT_METHOD_OPTIONS = {
  UNPAID: '未付款',
  TAOBAO_ORDER_HAS_BEEN_PAID: '淘宝订单已付款',
  OFFICIAL_WEBSITE_ORDER_HAS_BEEN_PAID: '官网订单已付款',
  PAYMENT_IN_ADVANCE: '预付款',
  WITHHOLDING_ADVANCE_DEPOSIT: '扣预存',
  PLATFORM_SETTLEMENT: '平台结算',
  CASH_ON_DELIVERY: '货到付款',
  HIRE_PURCHASE: '分期付款',
  PAYMENT_RECEIPT: '已回款',
  PREPAID_NO_NEED_SEND: '预存款无需发货',
};

export const PRODUCT_BELONG_DEPARTMENT_OPTIONS = {
  APPLICATION_PROJECT: '应用项目事业部门',
  TEST: '测试事业部门',
  CUSTOMIZATION: '定制化事业部门',
  EXPERIMENTAL_EQUIPMENT: '实验设备事业部门',
  EXPERIMENTAL_CONSUMABLES: '实验耗材事业部门',
  CLAMPING_APPARATUS: '工夹具事业部',
};

export const SHIPPING_WAREHOUSE_OPTIONS = {
  DALANG_WAREHOUSE: '大朗仓库',
  HOUJIE_WAREHOUSE: '厚街仓库',
};

export const INVOCING_STATUS_OPTIONS_OLD = {
  UN_INVOICE: '不需开票',
  SPECIALLY_INVOICED: '专票',
  COMMON_INVOICED: '普票',
  INVOICED: '需要开票',
};

export const PAYEE_OPTIONS = {
  ZHUGUANG_PUBLIC_ACCOUNT: '广东烛光新能源科技有限公司',
  EXPERIMENT_PUBLIC_ACCOUNT: '东莞市科路得实验器材科技有限公司',
  NEW_ENERGY_PUBLIC_ACCOUNT: '东莞市科路得新能源科技有限公司',
  INNOVATION_PUBLIC_ACCOUNT: '东莞科路得创新科技有限公司',
  JIANTU_PUBLIC_ACCOUNT: '东莞市坚途新材料科技有限公司',
  KNOWLEDGE_PUBLIC_ACCOUNT: '东莞市科路得知识产权代理有限公司',
  // ZHUGUANG_ACCEPTANCE_DRAFT: '烛光承兑汇票',
  LIUPING_ACCOUNT: '刘平账户',
  INNOVATION_ALIPAY: '创新支付宝',
  ZHUGUANG_ALIPAY: '烛光支付宝',
  // ZHUGUANG_WISE_COLLECTION: '烛光慧收款',
  // EXPERIMENT_QR_CODE: '实验二维码',
  // INNOVATION_QR_CODE: '创新二维码',
  // NEW_ENERGY_QR_CODE: '新能源二维码',
};

export const PROCURE_ORDER_STATUS = {
  PROCUREMENT_HAS_BEEN_ORDERED: '已下单',
  PROCURE_NOT_ORDERED: '未下单',
};

export const INVOCING_STATUS_OPTIONS = {
  UN_INVOICE: '不需开票',
  SPECIALLY_INVOICED: '专票',
  COMMON_INVOICED: '普票',
};

export const INVOCING_STATUS = {
  UN_INVOICE: '不需开票',
  SPECIALLY_INVOICED: '专票',
  COMMON_INVOICED: '普票',
  INVOICED: '需要开票',
};

/**
 * 普通审核
 * 财务审核
 * 采购审核
 */
export const CHECK_TYPE = {
  CONFIRM_DELIVER: 'CONFIRM_DELIVER',
  WEARHOUSE_KEEPER: 'WEARHOUSE_KEEPER',
  FINALCIAL: 'FINALCIAL',
  PROCURE: 'PROCURE',
  SUPPLIER: 'SUPPLIER',
  AFTER_SALES: 'AFTER_SALES',
  LEADER_AUDIT: 'LEADER_AUDIT',
  MODIFY_APPLY_WAIT_FOR_AUDIT: 'MODIFY_APPLY_WAIT_FOR_AUDIT',
  WAITING_FOR_POST_AUDIT: 'WAITING_FOR_POST_AUDIT',
  NODE_OPERATING_AUDIT: 'NODE_OPERATING_AUDIT',
  MODIFY_LEADER_AUDIT: 'MODIFY_LEADER_AUDIT',
  URGENT_INVOICE_AUDITING: 'URGENT_INVOICE_AUDITING',
  PAYMENT_RECEIPTS_AUDIT: 'PAYMENT_RECEIPTS_AUDIT',
  CONFIRM_REISSUE: 'CONFIRM_REISSUE',
  PREPAID_AUDIT: 'PREPAID_AUDIT',
  CREDIT_AUDIT: 'CREDIT_AUDIT',
};

/**
 * 是否需要开票
 * @param subOrder
 */
export const getNeedInvoicing = (subOrder: any) => {
  if (subOrder.invoicingTime !== null && subOrder.invoicingTime !== undefined) {
    if (subOrder.afterInvoicingStatus === 'REISSUE') {
      return '重新开票';
    } else {
      return '已开票';
    }
  }
  if (subOrder.invoicingStatus === 'UN_INVOICE') {
    return '不需开票';
  }
  return '需要开票';
};

/**
 * 开砖专票还是普票
 * @param subOrder
 * @returns
 */
export const getInvoicingType = (subOrder: any) => {
  let invoicingStatus = subOrder.invoicingStatus;
  if (invoicingStatus === 'SPECIALLY_INVOICED') {
    return '开专票';
  }

  if (invoicingStatus === 'COMMON_INVOICED') {
    return '开普票';
  }

  return undefined;
};

export const LOGISTICS_STATUS_OPTIONS = {
  JINGDONG_LOGISTICS: '京东',
  SF_EXPRESS: '顺丰',
  ZHONGTONG_LOGISTICS: '中通快递',
  SHENTONG_LOGISTICS: '申通快递',
  YUANTONG_LOGISTICS: '圆通快递',
  DEBANG_LOGISTICS: '德邦物流',
  YUNDA_LOGISTICS: '韵达快递',
  OTHER_LOGISTICS: '其他物流方式',
};

export const POST_AUDIT_OPTIONS = {
  WAITING_FOR_POST_AUDIT: '待后置审核',
  POST_AUDITED: '已后置审核',
  POST_AUDIT_FAIL: '后置审核失败',
};

export const PAYMENT_RECEIPTS_STATUS_OPTIONS = {
  WAIT_AUDIT: '回款待审核',
  AUDIT_PASS: '回款已审核',
  AUDIT_NOTPASS: '回款审核失败',
};

export const ORDER_STATUS_OPTIONS = {
  WAIT_CONFIRM_DELIVER_AFTER_INVOICE: '待开票后确认发货',
  SALES_CONFIRM: '销售待确认',
  UNAUDITED: '未审核',
  LEADER_PROCESS: '领导待审核',
  MODIFY_APPLY_WAIT_FOR_AUDIT: '修改待审核',
  LEADER_AUDITED: '领导已审核',
  FINANCE_PROCESS: '财务已审核',
  AUDITED: '已审核',
  PROCURE_UN_PROCESS: '采购待审核',
  PROCURE_PROCESS: '采购已审核',
  PROCURE_PROCESS_FOR_MINE: '采购待打印',
  PROCURE_WAIT_SHIP: isSupplier() ? '待发货' : '采购待发货',
  SUPPLIER_WAIT_SHIP: '供应商待发货',
  WAIT_SHIP: '待发货',
  SHIPPED: '已发货',
  CONFIRM_RECEIPT: '确认收货',
  AUDIT_FAILED: '审核失败',
  IN_AFTER_SALES: '售后中',
  AFTER_SALES_COMPLETION: '售后完成',
  AFTER_SALES_FAILURE: '售后失败',
  NO_NEED_SEND: '无需发货',
  PROCURE_CONVERT_WAREHOUSE_KEEPER: '采购转仓库',
  CREDIT_CONFIRM: '赊账待审核',
};

export const MODIFIED_AUDIT_STATUS_OPTIONS = {
  AUDIT_FAILURE: '修改审核失败',
  PENDING_AUDIT_FOR_CURRENT_NODE_PERSONNEL: '节点待审核',
  LEADER_PENDING_AUDIT: '领导待审核',
  AUDIT_SUCCESS: '修改审核成功',
};

/**
 * 采购筛选订单的主要订单状态
 */
export const PROCURE_PRIMARY_ORDER_STATUS_OPTIONS = {
  PROCURE_UN_PROCESS: isSupplier() ? '未审核' : '采购未审核',
  PROCURE_WAIT_SHIP: isSupplier() ? '待发货' : '采购待发货',
  SHIPPED: '已发货',
};

export const AFTE_SALES_PLAN_OPTIONS = {
  RETURNS_OR_REFUNDS: '退货/退款',
  EXCHANGE_GOODS: '换货',
  FREE_ORDER: '免单',
  DISCOUNT: '折扣',
  OTHER: '其他',
};

export const FINANCIAL_STATUS_OPTIONS = {
  INVOICING: '已开票',
  UN_INVOICING: '取消开票',
};

export const AFTER_INVOICING_STATUS = {
  NOT_YET_INVOICED: '尚未开票',
  APPLY_FOR_INVOICING: '申请开票',
  URGENT_INVOICE_AUDITING: '加急待审核',
  URGENT_INVOICE_AUDIT_NOTPASS: '加急审核失败',
  PARTIAL_INVOICING: '部分开票',
  COMPLETE_INVOICING: '完全开票',
  REISSUE: '重新开票',
};

export const TAGS_COLOR = new Map<string, string>([
  ['AUDIT_FAILURE', 'error'],
  ['PENDING_AUDIT_FOR_CURRENT_NODE_PERSONNEL', 'processing'],
  ['LEADER_PENDING_AUDIT', 'processing'],
  ['AUDIT_SUCCESS', 'success'],
  ['UN_INVOICE', 'success'],
  ['LEADER_PROCESS', 'processing'],
  ['MODIFY_APPLY_WAIT_FOR_AUDIT', 'processing'],
  ['LEADER_AUDITED', 'processing'],
  ['INVOICED', 'processing'],
  ['SPECIALLY_INVOICED', 'processing'],
  ['COMMON_INVOICED', 'processing'],
  ['AFTER_INVOICED', 'success'],
  ['UNAUDITED', 'warning'],
  ['AUDITED', 'processing'],
  ['WAIT_SHIP', 'processing'],
  ['SHIPPED', 'processing'],
  ['AUDIT_FAILED', 'error'],
  ['CONFIRM_RECEIPT', 'processing'],
  ['FINANCE_PROCESS', 'processing'],
  ['PROCURE_UN_PROCESS', 'processing'],
  ['PROCURE_PROCESS', 'processing'],
  ['SUPPLIER_WAIT_SHIP', 'processing'],
  ['SUPPLIER_SHIPPED', 'processing'],
  ['IN_AFTER_SALES', 'red'],
  ['AFTER_SALES_COMPLETION', 'red'],
  ['PROCURE_PROCESS_FOR_MINE', 'processing'],
  ['PROCURE_WAIT_SHIP', 'processing'],
  ['NO_NEED_SEND', 'success'],
  ['PROCURE_CONVERT_WAREHOUSE_KEEPER', 'processing'],
  ['AFTER_SALES_FAILURE', 'red'],
  ['WAITING_FOR_POST_AUDIT', 'purple'],
  ['POST_AUDITED', 'success'],
  ['COMPLETE_INVOICING', 'success'],
  ['PARTIAL_INVOICING', 'processing'],
  ['URGENT_INVOICE_AUDITING', 'warning'],
  ['APPLY_FOR_INVOICING', 'processing'],
  ['AUDIT_FAILURE', 'error'],
  ['WAIT_AUDIT', 'warning'],
  ['AUDIT_PASS', 'success'],
  ['AUDIT_NOTPASS', 'error'],
  ['WAIT_CONFIRM_DELIVER_AFTER_INVOICE', 'processing'],
  ['SALES_CONFIRM', 'warning'],
  ['URGENT_INVOICE_AUDIT_NOTPASS', 'red'],
  ['REISSUE', 'processing'],
  ['CREDIT_CONFIRM', 'warning'],
]);
export const SALES_CODE_OPTIONS = [
  { label: 'D-Linda', value: 'D-Linda' },
  { label: 'G-Rita', value: 'G-Rita' },
  { label: 'G-Iris', value: 'G-Iris' },
  { label: 'X-Jessica', value: 'X-Jessica' },
  { label: 'G-Daniel', value: 'G-Daniel' },
  { label: 'D-Strong', value: 'D-Strong' },
  { label: 'T-Alice', value: 'T-Alice' },
  { label: 'X-Demi', value: 'X-Demi' },
  { label: 'T-Nico', value: 'T-Nico' },
  { label: 'T-kk', value: 'T-kk' },
  { label: 'T-Alma', value: 'T-Alma' },
  { label: 'T-Dream', value: 'T-Dream' },
  { label: 'T-Aimee', value: 'T-Aimee' },
  { label: 'D-Tina', value: 'D-Tina' },
  { label: 'D-Vivi', value: 'D-Vivi' },
  { label: 'X-Ada', value: 'X-Ada' },
  { label: 'X-Amy', value: 'X-Amy' },
  { label: 'G-Nancy', value: 'G-Nancy' },
  { label: 'X-Sara', value: 'X-Sara' },
  { label: 'X-CC', value: 'X-CC' },
  { label: 'X-Lucy', value: 'X-Lucy' },
  { label: 'X-Lulu', value: 'X-Lulu' },
  { label: 'X-P', value: 'X-P' },
  { label: 'TB', value: 'TB' },
  { label: 'TBHC', value: 'TBHC' },
  { label: 'TBC', value: 'TBC' },
  { label: 'G-Lisa', value: 'G-Lisa' },
  { label: 'G-Lynn', value: 'G-Lynn' },
  { label: 'G-Smile', value: 'G-Smile' },
  { label: 'G-Yvonne', value: 'G-Yvonne' },
  { label: 'G-Wendy', value: 'G-Wendy' },
  { label: 'T-Andy', value: 'T-Andy' },
  { label: 'CQ_Peter', value: 'CQ_Peter' },
  { label: 'MA_A_Mao', value: 'MA_A_Mao' },
  { label: 'CQ-2', value: 'CQ-2' },
  { label: 'JJ', value: 'JJ' },
  { label: 'CQ-3', value: 'CQ-3' },
  { label: 'GW', value: 'GW' },
];

// export const SALES_CODE_OPTIONS = [
//   { label: 'HQ_Linda', value: 'HQ_Linda' },
//   { label: 'HQ-1_Rita', value: 'HQ-1_Rita' },
//   { label: 'HQ-2_Lisa', value: 'HQ-2_Lisa' },
//   { label: 'HQ-3_iris', value: 'HQ-3_iris' },
//   { label: 'HQ-4_Lynn', value: 'HQ-4_Lynn' },
//   { label: 'HQ-5_Jessica', value: 'HQ-5_Jessica' },
//   { label: 'HQ-6_smile', value: 'HQ-6_smile' },
//   { label: 'HQ-7_Yvonne', value: 'HQ-7_Yvonne' },
//   { label: 'HQ-8_Daniel', value: 'HQ-8_Daniel' },
//   { label: 'HQ-9_Wendy', value: 'HQ-9_Wendy' },
//   { label: 'W_strong', value: 'W_strong' },
//   { label: 'W-1_Alice', value: 'W-1_Alice' },
//   { label: 'W-2_Demi', value: 'W-2_Demi' },
//   { label: 'W-3_Nico', value: 'W-3_Nico' },
//   { label: 'W-4_kk', value: 'W-4_kk' },
//   { label: 'W-5_Alma', value: 'W-5_Alma' },
//   { label: 'W-6_Dream', value: 'W-6_Dream' },
//   { label: 'W-7_Aimee', value: 'W-7_Aimee' },
//   { label: 'XX_Tina', value: 'XX_Tina' },
//   { label: 'XX-2_Vivi', value: 'XX-2_Vivi' },
//   { label: 'XX-A1_Ada', value: 'XX-A1_Ada' },
//   { label: 'XX-A2_Amy', value: 'XX-A2_Amy' },
//   { label: 'XX-N1_Nancy', value: 'XX-N1_Nancy' },
//   { label: 'XX-N2_Sara', value: 'XX-N2_Sara' },
//   { label: 'XX-C_CC', value: 'XX-C_CC' },
//   { label: 'XX-L1_Lucy', value: 'XX-L1_Lucy' },
//   { label: 'XX-L2_Lulu', value: 'XX-L2_Lulu' },
//   { label: 'XX-P', value: 'XX-P' },
//   { label: 'TB', value: 'TB' },
//   { label: 'HCTB', value: 'HCTB' },
//   { label: 'TBC', value: 'TBC' },
//   { label: 'GW-3_iris', value: 'GW-3_iris' },
//   { label: 'GW-4_Lynn', value: 'GW-4_Lynn' },
//   { label: 'GW-6_smile', value: 'GW-6_smile' },
//   { label: 'GW-7_Yvonne', value: 'GW-7_Yvonne' },
//   { label: 'GW-9_Wendy', value: 'GW-9_Wendy' },
//   { label: 'W-9_Jack', value: 'W-9_Jack' },
//   { label: 'W-8_Andy', value: 'W-8_Andy' },
//   { label: 'CQ_Peter', value: 'CQ_Peter' },
//   { label: 'MA_A_Mao', value: 'MA_A_Mao' },
//   { label: 'CQ-2', value: 'CQ-2' },
//   { label: 'JJ', value: 'JJ' },
//   { label: 'CQ-3', value: 'CQ-3' },
// ];

export const HISTORY_OPT_TYPE = new Map<string, string>([
  ['DELETE', '作废'],
  ['UPDATE', '编辑'],
  ['ADD', '创建'],
  ['SEND', '发货'],
  ['CHECK', '审核'],
  ['CONFIRM_RECEIPT', '确认收货'],
  ['PRINT_ORDER', '打印'],
  ['INVOICING', '财务开票'],
  ['EDIT_ORDER', '财务编辑'],
  ['MODIFY_SEN_INFORMATION', '发货信息编辑'],
  ['UN_INVOICING', '财务取消开票'],
  ['FINANCE_CHECK_ORDER', '财务审核'],
  ['PROCURE_CHECK_ORDER', '采购审核'],
  ['SUPPLIER_PRINT', '供应商打印'],
  ['EXTERNAL_PROCUREMENT', '仓库操作外部采购子订单'],
  ['APPLY_AFTER_SALES', '申请售后子订单'],
  ['AFTER_SALES_COMPLETION', '完成售后子订单'],
  ['PROCURE_PRINT', '采购打印子订单'],
  ['PROCURE_SEND', '采购发货子订单'],
  ['NO_NEED_SEND', '不需要发货'],
  ['PROCURE_CONVERT_WAREHOUSE_KEEPER', '采购转仓库'],
  ['PROCURE_CONVERT_PROCURE', '采购转发'],
  ['MERGE_APPLY_INVOICING', '合并申请开票'],
  ['PROCURE_ORDER', '采购下单'],
  ['SALES_APPLY_INVOICING', '申请开票'],
  ['LEADER_AUDIT', '直属领导审核'],
  ['FINANCE_APPLY_INVOICING', '财务开票'],
  ['after-sales', '申请售后'],
  ['after-sales-CHECK', '售后审核'],
  ['order-change-normal', '申请修改'],
  ['order-change-normal-CHECK', '申请修改审核'],
  ['modify_leader_audit', '申请修改领导审核'],
  ['node_operating_audit', '申请修改节点审核'],
  ['warehouse_audit', '仓库审核'],
  ['post_audit', '后置审核'],
  ['applyModify', '申请修改订单信息'],
  ['OUTSIDE_SYSTEM_PUSH', '外部系统推送了本订单'],
  ['cancelSendOrder', '取消发货'],
  ['salesConfirm', '商城订单销售确认'],
  ['credit_audit', '赊账审核'],
]);

export const MAIN_ORDER_COLUMNS = [
  {
    title: '订单列表',
    width: 120,
    dataIndex: 'name',
    search: false,
  },
  {
    title: '订单编号',
    dataIndex: 'id',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '销售代表',
    dataIndex: 'salesCode',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '收货人',
    dataIndex: 'customerName',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '收货人联系电话',
    dataIndex: 'customerContactNumber',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '单位',
    dataIndex: 'institution',
    valueType: 'select',
    hideInTable: true,
    fieldProps: {
      showSearch: true,
    },
    request: async (value, { params }) => {
      const keywords = value.keyWords;
      const { data } = await postServiceOrderQueryCustomerInformation({
        data: { name: 'institution', institution: keywords },
        params: params,
      });
      let options = data
        .filter((c: any) => {
          return c.orderName === 'institution';
        })
        .map((item: any) => {
          return {
            label: item.orderValue,
            value: item.orderValue,
          };
        });
      return options;
    },
  },
  {
    title: '课题组',
    dataIndex: 'institutionContactName',
    valueType: 'select',
    hideInTable: true,
    fieldProps: {
      showSearch: true,
    },
    request: async (value, { params }) => {
      const keywords = value.keyWords;
      const { data } = await postServiceOrderQueryCustomerInformation({
        data: {
          name: 'institutionContactName',
          institutionContactName: keywords,
        },
        params: params,
      });
      let options = data
        .filter((c: any) => {
          return c.orderName === 'institutionCustomerUser';
        })
        .map((item: any) => {
          return {
            label: item.orderValue,
            value: item.orderValue,
          };
        });
      return options;
    },
  },
  {
    title: '收货人地址',
    dataIndex: 'customerShippingAddress',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '商品名称',
    dataIndex: 'productName',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '主订单备注',
    dataIndex: 'mainNotes',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '子订单备注',
    dataIndex: 'subNotes',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '商品参数',
    dataIndex: 'parameters',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '订单状态',
    dataIndex: 'orderStatus',
    valueType: 'select',
    hideInTable: true,
    valueEnum: enumToProTableEnumValue(ORDER_STATUS_OPTIONS),
  },
  {
    title: '修改审核状态',
    dataIndex: 'modifiedAuditStatus',
    valueType: 'select',
    hideInTable: true,
    valueEnum: enumToProTableEnumValue(MODIFIED_AUDIT_STATUS_OPTIONS),
  },
  {
    title: '支付方式',
    dataIndex: 'paymentMethod',
    valueType: 'select',
    hideInTable: true,
    valueEnum: enumToProTableEnumValue(PAYMENT_METHOD_OPTIONS),
  },
  {
    title: '回款审核状态',
    dataIndex: 'paymentReceiptStatus',
    valueType: 'select',
    hideInTable: true,
    valueEnum: enumToProTableEnumValue(PAYMENT_RECEIPTS_STATUS_OPTIONS),
  },
  {
    title: '物流方式',
    dataIndex: 'logisticsMethod',
    valueType: 'select',
    hideInTable: true,
    valueEnum: enumToProTableEnumValue(LOGISTICS_STATUS_OPTIONS),
  },
  {
    title: '支付渠道',
    dataIndex: 'paymentChannel',
    valueType: 'select',
    hideInTable: true,
    valueEnum: enumToProTableEnumValue(PAYMENT_CHANNEL_OPTIONS),
  },
  {
    title: '银行名称',
    dataIndex: 'bank',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '支付流水',
    dataIndex: 'paymentTransactionId',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '所属部门',
    dataIndex: 'productBelongBusiness',
    valueType: 'select',
    hideInTable: true,
    valueEnum: enumToProTableEnumValue(PRODUCT_BELONG_DEPARTMENT_OPTIONS),
  },
  {
    title: '创建日期',
    dataIndex: 'createTime',
    valueType: 'dateTimeRange',
    hideInTable: true,
    search: {
      transform: (value) => {
        return {
          beginTime: value[0],
          endTime: value[1],
        };
      },
    },
  },
  {
    title: '是否需要开票',
    dataIndex: 'invoicingStatus',
    valueType: 'select',
    hideInTable: true,
    valueEnum: enumToProTableEnumValue(INVOCING_STATUS_OPTIONS),
  },
  {
    title: '开票状态',
    dataIndex: 'afterInvoicingStatus',
    valueType: 'select',
    hideInTable: true,
    valueEnum: enumToProTableEnumValue(AFTER_INVOICING_STATUS),
  },
  {
    title: '发票号码',
    dataIndex: 'invoiceNumberLike',
    valueType: 'text',
    hideInTable: true,
  },
  {
    title: '付款公司',
    dataIndex: 'receivingCompany',
    valueType: 'select',
    hideInTable: true,
    valueEnum: enumToProTableEnumValue(
      getReceivingCompanyOptions(PAYEE_OPTIONS),
    ),
  },
  {
    title: '开票日期',
    dataIndex: 'invoicingTime',
    valueType: 'dateRange',
    hideInTable: true,
    search: {
      transform: (value) => {
        return {
          invoicingBeginTime: value[0],
          invoicingEndTime: value[1],
        };
      },
    },
  },
  {
    title: '申请开票时间',
    dataIndex: 'applyTime',
    valueType: 'dateTimeRange',
    hideInTable: true,
    search: {
      transform: (value) => {
        return {
          applyBeginTime: value[0],
          applyEndTime: value[1],
        };
      },
    },
  },
  {
    title: '生产开始时间',
    dataIndex: 'productionStartTime',
    valueType: 'dateRange',
    hideInTable: true,
    search: {
      transform: (value) => {
        return {
          productionStartTimeStart: value[0],
          productionStartTimeEnd: value[1],
        };
      },
    },
  },

  {
    title: '生产结束时间',
    dataIndex: 'productionEndTime',
    valueType: 'dateRange',
    hideInTable: true,
    search: {
      transform: (value) => {
        return {
          productionEndTimeStart: value[0],
          productionEndTimeEnd: value[1],
        };
      },
    },
  },

  // {
  //   title: '是否完全收款',
  //   dataIndex: 'receiptsStatus',
  //   valueType: 'select',
  //   hideInTable: true,
  //   valueEnum:[{text:'是',status:'YES'},{text:'否',status:'NO'}]
  // }
];

export const SUB_ORDER_COLUMNS = [
  { title: 'ID', dataIndex: 'id', key: 'id', width: 80 },
  {
    title: '商品编码',
    dataIndex: 'productCode',
    key: 'productCode',
    width: 80,
  },
  {
    title: '商品名称',
    dataIndex: 'productName',
    key: 'productName',
    width: 80,
  },
  { title: '商品参数', dataIndex: 'parameters', key: 'parameters', width: 80 },
  { title: '商品数量', dataIndex: 'quantity', key: 'quantity', width: 80 },
  {
    title: '子订单金额(¥)',
    dataIndex: 'subOrderPayment',
    key: 'subOrderPayment',
    width: 80,
  },
  {
    title: '所属事业部',
    dataIndex: 'productBelongBusiness',
    key: 'productBelongBusiness',
    width: 80,
  },
  {
    title: '支付方式',
    dataIndex: 'paymentMethod',
    key: 'paymentMethod',
    width: 80,
  },
  {
    title: '支付渠道',
    dataIndex: 'paymentChannel',
    key: 'paymentChannel',
    width: 80,
  },
  {
    title: '支付流水',
    dataIndex: 'paymentTransactionId',
    key: 'paymentTransactionId',
    width: 80,
  },
  {
    title: '物流方式',
    dataIndex: 'logisticsMethod',
    key: 'logisticsMethod',
    width: 80,
  },
  {
    title: '物流单号',
    dataIndex: 'serialNumber',
    key: 'serialNumber',
    width: 80,
  },
  {
    title: '开票状态',
    dataIndex: 'invoicingStatus',
    key: 'invoicingStatus',
    component: 'tag',
    width: 80,
  },
  {
    title: '订单状态',
    dataIndex: 'orderStatus',
    key: 'orderStatus',
    component: 'tag',
    width: 80,
  },
];