ApplyResult.tsx 3.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. import React from 'react'
  2. import { Form, Modal } from 'antd'
  3. import SuccessSvg from 'assets/success.svg'
  4. import FailSvg from 'assets/fail.svg'
  5. import NButton from 'components/NButton/NButton'
  6. import { EOrderStatus, IOrderPayStatusRes } from '../Material.service'
  7. import styles from '../css/NoPermission.module.scss'
  8. const { Item } = Form
  9. interface IApplyPermissionProps {
  10. visible: boolean
  11. info: IOrderPayStatusRes | null
  12. onCloseModel: () => void
  13. }
  14. /**
  15. * 支付结果 todo
  16. */
  17. const ApplyResult: React.FC<IApplyPermissionProps> = props => {
  18. const { visible, info, onCloseModel } = props
  19. const handleToClose = () => {
  20. onCloseModel()
  21. }
  22. if (!info) return null
  23. return (
  24. <Modal
  25. open={visible}
  26. centered={true}
  27. onCancel={handleToClose}
  28. destroyOnClose={true}
  29. maskClosable={false}
  30. title="支付结果"
  31. footer={null}
  32. >
  33. <div className={styles['paymodel-content-wrapper']}>
  34. {(info.Source === 'article' || info.Source === 'yanxuanspecial') && (
  35. <>
  36. <div className="paymodel-title">
  37. {info.OrderStatus === EOrderStatus.Payed ? (
  38. <>
  39. <img src={SuccessSvg} alt="图标" className="paymodel-success-icon" />
  40. <span>畅读卡购买成功</span>
  41. <div className="paymodel-text">有效期至:{info.EndDate}</div>
  42. </>
  43. ) : (
  44. <>
  45. <img src={FailSvg} alt="图标" className="paymodel-success-icon" />
  46. <span>{info.OrderStatus === EOrderStatus.Cancel ? '订单已关闭' : '支付失败'}</span>
  47. </>
  48. )}
  49. </div>
  50. </>
  51. )}
  52. {(info.Source === 'activity' || info.Source === 'activityvoice' || info.Source === 'activityvideo') && (
  53. <>
  54. <div className="paymodel-title">
  55. {info.OrderStatus === EOrderStatus.Payed ? (
  56. <div>
  57. <img src={SuccessSvg} alt="图标" className="paymodel-success-icon" />
  58. <span>{info.IsPublicActivitie ? '畅读卡购买成功' : '支付成功'}</span>
  59. {info.IsPublicActivitie && <div className="paymodel-text">有效期至:{info.EndDate}</div>}
  60. {info.Source === 'activity' && (
  61. <div className="paymodel-text">
  62. {info.IsSignUp ? '您已成功报名此活动' : '请到活动页面选择参会方式'}
  63. </div>
  64. )}
  65. </div>
  66. ) : (
  67. <>
  68. <img src={FailSvg} alt="图标" className="paymodel-success-icon" />
  69. <span>{info.OrderStatus === EOrderStatus.Cancel ? '订单已关闭' : '支付失败'}</span>
  70. </>
  71. )}
  72. </div>
  73. </>
  74. )}
  75. </div>
  76. <div className={styles['paymodel-footer-wrapper']}>
  77. {}
  78. <NButton type="primary" onClick={handleToClose} size="large" className="pay-btn">
  79. {info.Source === 'article' || info.Source === 'yanxuanspecial' ? '关闭' : '返回活动页'}
  80. </NButton>
  81. </div>
  82. </Modal>
  83. )
  84. }
  85. export default ApplyResult