import dicMap from '@/assets/dicMap.json';
/**
 * 静态值
 * GCI卡券
 */
/**
 * 卡券状态
 */
export const cardStatus = {
  1: '未生效', // 编辑详情删除复制库存
  2: '使用中', // 编辑详情删除复制库存领取记录
  3: '已过期', // 详情删除复制领取记录
  4: '已禁用', // 详情删除复制领取记录
  '-1': '已删除', // 详情复制领取记录
};

/**
 * 卡券预设颜色
 * 根据微信推荐色值:https://developers.weixin.qq.com/doc/offiaccount/Cards_and_Offer/Create_a_Coupon_Voucher_or_Card.html
 */
export const predefineColors = [
  '#3970b5',
  '#d9b46a',
  '#2baca7',
  '#dd5c53',
  '#1a1a1a'
];


/**
 * 卡券类型
 * 0：抵金券，1：折扣券，2：兑换券
 */
export const cardType = {
  0: { label: '抵金券', value: 0 },
  1: { label: '折扣券', value: 1 },
  2: { label: '兑换券', value: 2 },
  // 3: { label: '其他券', value: 3 },
};

/**
 * 转赠状态
 * （1：转赠中，2：已撤回，3：已完成）
 */
export const sendType = {
  1: { label: '转赠中', value: 1,  cl: 'state-point-loading-scale' },
  2: { label: '已撤回', value: 1, cl: 'state-point-warning' },
  3: { label: '已完成', value: 3,  cl: 'state-point-success' },
};


// 投放计划-投放状态
// -1失效，0：待投放，1：已完成，2：投放失败,3:无接收人; 4.投放中; 5:库存不足
export const sendStatus = {
  0: { label: '待投放', cl: 'state-point-loading', value: 0 },
  1: { label: '已完成', cl: 'state-point-success', value: 1 },
  2: { label: '投放失败', cl: 'state-point-error', value: 2 },
  // 3: { label: '无接收人', cl: 'state-point-default', value: 3 },
  4: { label: '投放中', cl: 'state-point-loading-scale', value: 4 },
  // 5: { label: '库存不足', cl: 'state-point-error', value: 5 },
  '-1': { label: '已失效', cl: 'state-point-default', value: -1 },
};


// 投放-投放卡券状态
// （3：待领取，4：待核销，5：已核销，6：已到期,7:已销毁, 8:已占用，已转赠）
export const sendCardStatus = {
  3: { label: '待领取', cl: 'state-point-warning', value: 3 }, // 发了没领
  4: { label: '待核销', cl: 'state-point-warning', value: 4 }, // 领了没用
  5: { label: '已核销', cl: 'state-point-success', value: 5 }, // 用了
  6: { label: '已到期', cl: 'state-point-default', value: 6 },
  7: { label: '已销毁', cl: 'state-point-default', value: 7 },
  8: { label: '已占用', cl: 'state-point-error', value: 8 },
  9: { label: '转赠中', cl: 'state-point-loading-scale', value: 9 },
  10: { label: '已转赠', cl: 'state-point-success', value: 10 },
};

// 同步记录审核状态
export const syncStatus = {
  // 0: { label: '待审核', cl: 'state-point-loading', value: 0 },
  1: { label: '已完成', cl: 'state-point-success', value: 1 },
  // 2: { label: '审核失败', cl: 'state-point-error', value: 2 },
};


// 核销渠道
// 1线下订单 2gic微商城 3微盟微商城
export const verifyOrderType = {
  1: { label: '线下订单', value: 1 },
  2: { label: '达摩微商城', value: 2 },
  3: { label: '微盟微商城', value: 3 },
};

// 卡券展架
// 领取时间类型1不限制 2每日时段 3每周时段 4每月时段 5指定日时段
export const getTimeType = {
  1: { label: '不限制', value: 1 },
  2: { label: '每日时段', value: 2 },
  3: { label: '每周时段', value: 3 },
  4: { label: '每月时段', value: 4 },
  5: { label: '每年时段', value: 5 },
};

// 与微信卡券不同 gic卡券当天从1计 微信卡券当天从0计
export const startDayOptionsDay = Object.keys(dicMap.day).map(key => {
  const v = { label: '第' + (dicMap.day[key].dictName * 1 + 1) + '天', value: parseInt(dicMap.day[key].dictName) + 1 };
  if (dicMap.day[key].dictName == '0') {
    v.label = '当日';
  }
  if (dicMap.day[key].dictName == '1') {
    v.label = '次日';
  }
  return v;
});
export const startDayOptionsMonth = Object.keys(dicMap.month).map(key => {
  const v = { label: '第' + (dicMap.month[key].dictName * 1 + 1) + '个月', value: parseInt(dicMap.month[key].dictName) + 1 };
  if (dicMap.month[key].dictName == '0') {
    v.label = '当月';
  }
  if (dicMap.month[key].dictName == '1') {
    v.label = '次月';
  }
  return v;
});


// 匹配卡券状态 mapping表中的数据
/**
 *
 * @param {Object} item cardItemObj
 * @returns {Object}
 * _status: -1未知、1未生效、2使用中、3已过期、4已禁用
 */
export const mappingCardStatus = (item) => {
  const { statusFlag, cardEffectiveMode, expireDate, startDate } = item;
  let _status = -1; // eslint-disable-line
  if (statusFlag == 2) { // 1: 正常; 2:已禁用
    _status = 4;
  } else {
    if (cardEffectiveMode === 0 && expireDate < Date.now()) {
      _status = 3; // ↓过期判断 固定日期
    }
    if (cardEffectiveMode === 0 && startDate > Date.now()) {
      _status = 1; // 未生效
    }
    _status = 2;
  }
  item._status = _status;
  return item;
};