getState.ts 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /**
  2. * 前端订单状态的显示 文本
  3. * @param IsOnlinePay 是否在线支付:2 否 1是
  4. * @param PayState 支付状态
  5. * @param BizState 业务执行状态
  6. * @param OverState 订单最终状态 5 已取消 6 已撤销
  7. *
  8. * @author daiyanshui
  9. */
  10. const getOrderPayStateName = (IsOnlinePay: any, PayState: any, BizState: any, OverState: any) => {
  11. var state_1 = "待支付";
  12. var state_2 = "已完成";
  13. var state_3 = "已支付(业务失败)";
  14. var state_4 = "已取消";
  15. var state_5 = "已退费";
  16. var state_6 = "退费中";
  17. var state_other = "其它";
  18. //是否线上支付
  19. if (IsOnlinePay == 2) {
  20. //不是订单模式的 然后又没有订单的 这种如果存在者返回:其它
  21. //一般是不存在这种业务
  22. if (BizState == 0) return "未执行业务";
  23. //订单业务已完成
  24. if (BizState == 1) return state_2;
  25. //订单业务已完成
  26. if (BizState == 2) return state_4;
  27. } else if (IsOnlinePay == 1) {
  28. // 待支付
  29. if ((PayState == 0 || PayState == 1) && BizState == 0 && OverState == 0) return state_1;
  30. // 已取消
  31. if ((PayState == 0 || PayState == 1) && OverState == 5) return state_4;
  32. // 支付成功 业务执行成功
  33. if (PayState == 2 && BizState == 1 && OverState == 0) return state_2;
  34. // 支付成功 业务执行异常
  35. if (PayState == 2 && BizState != 1 && OverState != 0) return state_3;
  36. // 退费中
  37. if (PayState == 3) return state_6;
  38. // 已退费
  39. if (PayState == 4) return state_5;
  40. }
  41. return state_other;
  42. };
  43. /**
  44. * 获取订单状态
  45. * @param ServiceId 业务类型:
  46. * 0||009 (预约挂号)
  47. * 006||007 (门诊,住院充值)
  48. * 008||011 (结算)
  49. */
  50. const getOrderStateName = (ServiceId: any, IsOnlinePay: any, PayState: any, BizState: any, OverState: any) => {
  51. var stateName = getOrderPayStateName(IsOnlinePay, PayState, BizState, OverState);
  52. var stateType = 3;
  53. let ServiceObj: any = {
  54. "0": '预约',
  55. "009": '预约',
  56. "006": '充值',
  57. "007": '充值',
  58. "008": "结算",
  59. "011": "结算"
  60. };
  61. if (stateName == '待支付') stateType = 0;
  62. if (stateName == '已完成') {
  63. stateName = ServiceObj[ServiceId] + '成功';
  64. stateType = 1;
  65. }
  66. if (stateName == '已支付(业务失败)') {
  67. stateName = "已支付(" + ServiceObj[ServiceId] + '失败)';
  68. stateType = 2;
  69. }
  70. /**
  71. *返回的内容
  72. * stateName:前端展示名称
  73. * stateType:前端判断状态:0(待支付);1(支付完成);2(业务异常);3(其他状态)
  74. */
  75. return { stateName, stateType };
  76. };
  77. const getState = {
  78. getOrderPayStateName,
  79. getOrderStateName
  80. };
  81. export default getState;