/** * 前端订单状态的显示 文本 * @param IsOnlinePay 是否在线支付:2 否 1是 * @param PayState 支付状态 * @param BizState 业务执行状态 * @param OverState 订单最终状态 5 已取消 6 已撤销 * * @author daiyanshui */ const getOrderPayStateName = (IsOnlinePay: any, PayState: any, BizState: any, OverState: any) => { var state_1 = "待支付"; var state_2 = "已完成"; var state_3 = "已支付(业务失败)"; var state_4 = "已取消"; var state_5 = "已退费"; var state_6 = "退费中"; var state_other = "其它"; //是否线上支付 if (IsOnlinePay == 2) { //不是订单模式的 然后又没有订单的 这种如果存在者返回:其它 //一般是不存在这种业务 if (BizState == 0) return "未执行业务"; //订单业务已完成 if (BizState == 1) return state_2; //订单业务已完成 if (BizState == 2) return state_4; } else if (IsOnlinePay == 1) { // 待支付 if ((PayState == 0 || PayState == 1) && BizState == 0 && OverState == 0) return state_1; // 已取消 if ((PayState == 0 || PayState == 1) && OverState == 5) return state_4; // 支付成功 业务执行成功 if (PayState == 2 && BizState == 1 && OverState == 0) return state_2; // 支付成功 业务执行异常 if (PayState == 2 && BizState != 1 && OverState != 0) return state_3; // 退费中 if (PayState == 3) return state_6; // 已退费 if (PayState == 4) return state_5; } return state_other; }; /** * 获取订单状态 * @param ServiceId 业务类型: * 0||009 (预约挂号) * 006||007 (门诊,住院充值) * 008||011 (结算) */ const getOrderStateName = (ServiceId: any, IsOnlinePay: any, PayState: any, BizState: any, OverState: any) => { var stateName = getOrderPayStateName(IsOnlinePay, PayState, BizState, OverState); var stateType = 3; let ServiceObj: any = { "0": '预约', "009": '预约', "006": '充值', "007": '充值', "008": "结算", "011": "结算" }; if (stateName == '待支付') stateType = 0; if (stateName == '已完成') { stateName = ServiceObj[ServiceId] + '成功'; stateType = 1; } if (stateName == '已支付(业务失败)') { stateName = "已支付(" + ServiceObj[ServiceId] + '失败)'; stateType = 2; } /** *返回的内容 * stateName:前端展示名称 * stateType:前端判断状态:0(待支付);1(支付完成);2(业务异常);3(其他状态) */ return { stateName, stateType }; }; const getState = { getOrderPayStateName, getOrderStateName }; export default getState;