/**
 *  退票详情
 */
import { ElTag } from "element-plus";
import { h } from "vue";
import { createTooltip } from "../tootip";
import { DescriptionColumns } from "/@/components/BasicDescriptions";

export const RETURN_TYPE = [
  {
    value: "0",
    label: "未选择退票方式"
  },
  {
    value: "1",
    label: "金税线上退票"
  },
  {
    value: "2",
    label: "线下退票上传"
  }
];

export const RETURN_STATUS = [
  {
    value: "0",
    label: "待财务审核"
  },
  {
    value: "1",
    label: "退票中"
  },
  {
    value: "2",
    label: "退票成功"
  },
  {
    value: "3",
    label: "审核驳回"
  },
  {
    value: "4",
    label: "退票失败"
  }
];

// const OPEN_TYPE = [
//   {
//     value: "0",
//     label: "金税开票"
//   },
//   {
//     value: "1",
//     label: "金税线下"
//   },
//   {
//     value: "2",
//     label: "纯线下"
//   }
// ];

// const RED_REASON = [
//   {
//     value: "1",
//     label: "销货退回"
//   },
//   {
//     value: "2",
//     label: "开票有误"
//   },
//   {
//     value: "3",
//     label: "服务终止"
//   },
//   {
//     value: "4",
//     label: "销售折让"
//   }
// ];

// export const INV_RETURN_COLUMNS: DescriptionColumns = [
//   {
//     field: "returnCode",
//     label: "退票编码",
//     span: 2
//   },
//   {
//     field: "invNo",
//     label: "开票申请编码",
//     span: 2
//   },
//   {
//     field: "post_code",
//     label: "物流编码",
//     span: 2
//   },
//   {
//     field: "red_inv",
//     span: 2,
//     label: "红冲发票信息"
//   },
//   {
//     field: "return_reason",
//     label: "红冲原因",
//     span: 1,
//     render(data) {
//       return h(ElTag, null, {
//         default: () => RED_REASON.find(t => t.value === data)?.label || "--"
//       });
//     }
//   },
//   {
//     field: "return_type",
//     label: "退票方式",
//     render(data) {
//       return h(ElTag, null, {
//         default: () => RETURN_TYPE.find(t => t.value === data)?.label || "--"
//       });
//     }
//   },
//   {
//     field: "open_type",
//     label: "开票类型",
//     span: 2,
//     render(data) {
//       return h(ElTag, null, {
//         default: () => OPEN_TYPE.find(t => t.value === data)?.label || "--"
//       });
//     }
//   },
//   {
//     field: "apply_name",
//     span: 2,
//     label: "申请人",
//     render: (apply_name, { apply_id }) =>
//       createTooltip(apply_name, "申请人ID : " + apply_id, 160)
//   },
//   {
//     field: "status",
//     label: "退票状态",
//     render(data) {
//       return h(ElTag, null, {
//         default: () => RETURN_STATUS.find(t => t.value === data)?.label || "--"
//       });
//     }
//   },
//   {
//     field: "inv_out",
//     label: "开票业务公司"
//   },
//   {
//     field: "inv_value",
//     span: 2,
//     label: "发票总额"
//   },
//   {
//     field: "email",
//     label: "电子邮箱"
//   },
//   {
//     field: "remark",
//     label: "备注"
//   }
// ];

export const returnTypeOptions = [
  {
    value: "1",
    label: "金税退票"
  },
  {
    value: "2",
    label: "线下退票"
  }
];

export const returnStatusOptions = [
  {
    value: "0",
    label: "待财务审核"
  },
  {
    value: "1",
    label: "待退票"
  },
  {
    value: "2",
    label: "退票成功"
  },
  {
    value: "3",
    label: "审核驳回"
  },
  {
    value: "4",
    label: "退票失败"
  }
];

export const openTypeOptions = [
  {
    value: "1",
    label: "金税开票"
  },
  {
    value: "2",
    label: "金税线下"
  },
  {
    value: "3",
    label: "纯线下"
  }
];

export const redReasonOptions = [
  {
    value: "1",
    label: "销货退回"
  },
  {
    value: "2",
    label: "开票有误"
  },
  {
    value: "3",
    label: "服务终止"
  },
  {
    value: "4",
    label: "销售折让"
  }
];

export const INV_RETURN_COLUMNS: DescriptionColumns = [
  {
    field: "returnCode",
    label: "退票编码"
  },
  {
    field: "status",
    label: "状态",
    render(data) {
      return h(
        ElTag,
        { size: "small" },
        {
          default: () =>
            returnStatusOptions.find(t => t.value === String(data))?.label ||
            "--"
        }
      );
    }
  },
  {
    field: "apply_name",
    label: "申请人",
    render: (apply_name, { apply_id }) =>
      createTooltip(apply_name, "申请人ID : " + apply_id, 160)
  },
  {
    field: "addtime",
    label: "申请时间"
  },
  {
    field: "invNo",
    label: "开票申请编码"
  },
  // {
  //   field: "inv_value",
  //   label: "退票总额"
  // },
  {
    field: "red_inv",
    label: "红冲信息表编码"
  },
  {
    field: "return_reason",
    label: "红冲原因",
    render(data) {
      return h(
        ElTag,
        { size: "small" },
        {
          default: () =>
            redReasonOptions.find(t => t.value === String(data))?.label || "--"
        }
      );
    }
  },
  {
    field: "return_type",
    label: "退票方式",
    render(data) {
      return h(
        ElTag,
        { size: "small" },
        {
          default: () =>
            returnTypeOptions.find(t => t.value === String(data))?.label || "--"
        }
      );
    }
  },
  {
    field: "reason",
    label: "退票原因",
    span: 24
  },
  {
    field: "remark",
    label: "备注",
    span: 24
  },
  {
    field: "eaxm_remark",
    label: "审核备注",
    span: 24
  }
];
