order-detail.js 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. // order-detail.js
  2. Page({
  3. data: {
  4. order: null
  5. },
  6. onLoad(options) {
  7. const orderId = parseInt(options.id)
  8. const app = getApp()
  9. const orders = app.getOrders()
  10. const order = orders.find(o => o.id === orderId)
  11. if (order) {
  12. this.setData({
  13. order: order
  14. })
  15. } else {
  16. wx.showToast({
  17. title: '订单不存在',
  18. icon: 'none'
  19. })
  20. setTimeout(() => {
  21. wx.navigateBack()
  22. }, 1500)
  23. }
  24. },
  25. // 返回上一页
  26. goBack() {
  27. wx.navigateBack({
  28. delta: 1
  29. })
  30. },
  31. // 联系客服
  32. contactSupport() {
  33. wx.showModal({
  34. title: '联系客服',
  35. content: '客服电话:400-123-4567\n工作时间:9:00-18:00',
  36. showCancel: false
  37. })
  38. },
  39. // 再次购买
  40. reorder() {
  41. const order = this.data.order
  42. wx.showModal({
  43. title: '再次购买',
  44. content: `确认再次购买${order.hospital}的药品吗?`,
  45. success: (res) => {
  46. if (res.confirm) {
  47. // 跳转到下单页面
  48. wx.switchTab({
  49. url: '/pages/order/order'
  50. })
  51. // 延迟设置搜索关键词
  52. setTimeout(() => {
  53. const pages = getCurrentPages()
  54. const orderPage = pages.find(page => page.route === 'pages/order/order')
  55. if (orderPage) {
  56. orderPage.setData({
  57. currentTab: 0,
  58. hospitalKeyword: order.hospital
  59. })
  60. }
  61. }, 500)
  62. }
  63. }
  64. })
  65. },
  66. // 删除订单
  67. deleteOrder() {
  68. const order = this.data.order
  69. wx.showModal({
  70. title: '确认删除',
  71. content: '确定要删除这个订单吗?删除后无法恢复。',
  72. success: (res) => {
  73. if (res.confirm) {
  74. const app = getApp()
  75. app.deleteOrder(order.id)
  76. wx.showToast({
  77. title: '订单已删除',
  78. icon: 'success',
  79. success: () => {
  80. setTimeout(() => {
  81. wx.navigateBack()
  82. }, 1500)
  83. }
  84. })
  85. }
  86. }
  87. }
  88. )
  89. }
  90. })