keyBind.js 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. const Store = require('electron-store')
  2. const localStore = new Store()
  3. export default function (e, vue) {
  4. if (!localStore.get('quickSupport')) return
  5. console.log(e.code)
  6. let confirmComponent = vue.$refs.orderInfo.$refs.confirm
  7. switch (e.code) {
  8. case 'F1':
  9. vue.$refs.formInfo.setFocus()
  10. e.preventDefault()
  11. break
  12. case 'F2':
  13. vue.$refs.ticketList.setFocus()
  14. e.preventDefault()
  15. break
  16. case 'Delete':
  17. if (e.ctrlKey && !confirmComponent.visible && vue.orderItems.length) {
  18. console.log('清空订单')
  19. vue.orderItems = []
  20. vue.$refs.formInfo.form.count = 1
  21. }
  22. e.preventDefault()
  23. break
  24. case 'PageUp':
  25. vue.$refs.orderInfo.PageUp()
  26. confirmComponent.arrowUp()
  27. e.preventDefault()
  28. break
  29. case 'PageDown':
  30. vue.$refs.orderInfo.PageDown()
  31. confirmComponent.arrowDown()
  32. e.preventDefault()
  33. break
  34. case 'ArrowUp':
  35. if (confirmComponent.visible) {
  36. confirmComponent.arrowUp()
  37. } else {
  38. vue.$refs.ticketList.arrowUp()
  39. }
  40. e.preventDefault()
  41. break
  42. case 'ArrowDown':
  43. if (confirmComponent.visible) {
  44. confirmComponent.arrowDown()
  45. } else {
  46. vue.$refs.ticketList.arrowDown()
  47. }
  48. e.preventDefault()
  49. break
  50. case 'NumpadEnter':
  51. case 'Enter':
  52. if (confirmComponent.visible) {
  53. e.preventDefault()
  54. if (confirmComponent.submitDisable) return
  55. confirmComponent.submit()
  56. return
  57. }
  58. if (e.ctrlKey) {
  59. if (vue.orderItems.length) {
  60. vue.$refs.orderInfo.handleConfirm()
  61. } else {
  62. vue.$message.error('请添加票种')
  63. }
  64. } else {
  65. vue.$refs.formInfo.addToOrder()
  66. }
  67. e.preventDefault()
  68. break
  69. }
  70. }