preOrderGroupReservation.vue 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. <template>
  2. <SaleLayout>
  3. <!-- 票种列表 -->
  4. <TickList
  5. ref="ticketList"
  6. type-id="2"
  7. slot="left"
  8. v-model="currentTicket"
  9. ></TickList>
  10. <div slot="right">
  11. <!-- 预订信息 -->
  12. <PreOrderInfo
  13. ref="preOrder"
  14. v-model="preOrderInfo"
  15. @batch="batch"
  16. style="margin-bottom:10px"></PreOrderInfo>
  17. <!-- 表单信息 -->
  18. <FormInfo
  19. ref="formInfo"
  20. style="margin-bottom:10px"
  21. :pre-order-info="preOrderInfo"
  22. :current-ticket="currentTicket"
  23. :order-items="orderItems"></FormInfo>
  24. <OrderInfo
  25. style="margin-bottom:10px"
  26. :pre-order-info="preOrderInfo"
  27. @clear="orderItems=[]"
  28. ref="orderInfo"
  29. v-model="orderItems"></OrderInfo>
  30. <!-- 售票记录 -->
  31. <OrderRecord ref="orderRecord"></OrderRecord>
  32. </div>
  33. </SaleLayout>
  34. </template>
  35. <script>
  36. import SaleLayout from '@/layout/SaleLayout'
  37. import TickList from './common/TicketList'
  38. import PreOrderInfo from './preOrderGroupReservation/PreOrderInfo'
  39. import FormInfo from './preOrderGroupReservation/FormInfo'
  40. import OrderInfo from './preOrderGroupReservation/OrderInfo'
  41. import OrderRecord from './common/OrderRecord'
  42. import handleKeyBind from './common/keyBind'
  43. export default {
  44. data () {
  45. return {
  46. currentTicket: null,
  47. preOrderInfo: null,
  48. orderItems: []
  49. }
  50. },
  51. components: {
  52. PreOrderInfo,
  53. SaleLayout,
  54. TickList,
  55. FormInfo,
  56. OrderInfo,
  57. OrderRecord
  58. },
  59. mounted () {
  60. this.keyBind = e => {
  61. handleKeyBind(e, this)
  62. }
  63. document.addEventListener('keydown', this.keyBind, true)
  64. },
  65. beforeDestroy () {
  66. // 离开时,卸载事件
  67. document.removeEventListener('keydown', this.keyBind, true)
  68. },
  69. methods: {
  70. batch (list) {
  71. this.orderItems = list
  72. }
  73. }
  74. }
  75. </script>
  76. <style lang="scss" scoped>
  77. </style>