events.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. /**
  2. * @fileoverview 订单表单模块事件常量定义
  3. * @description 定义订单表单组件使用的所有事件名常量,确保事件名的一致性和可维护性
  4. */
  5. /**
  6. * 通用事件常量
  7. * @readonly
  8. * @enum {string}
  9. */
  10. export const COMMON_EVENTS = {
  11. /** 输入事件 */
  12. INPUT: 'input',
  13. /** 变更事件 */
  14. CHANGE: 'change',
  15. /** 清空事件 */
  16. CLEAR: 'clear',
  17. /** 获得焦点事件 */
  18. FOCUS: 'focus',
  19. /** 失去焦点事件 */
  20. BLUR: 'blur'
  21. }
  22. /**
  23. * 对话框事件常量
  24. * @readonly
  25. * @enum {string}
  26. */
  27. export const DIALOG_EVENTS = {
  28. /** 更新可见性事件 */
  29. UPDATE_VISIBLE: 'update:visible',
  30. /** 确认事件 */
  31. CONFIRM: 'confirm',
  32. /** 取消事件 */
  33. CANCEL: 'cancel'
  34. }
  35. /**
  36. * 客户选择组件事件常量
  37. * @readonly
  38. * @enum {string}
  39. */
  40. export const CUSTOMER_SELECT_EVENTS = {
  41. /** 客户选择事件 */
  42. CUSTOMER_SELECTED: 'customer-selected'
  43. }
  44. /**
  45. * 地址选择组件事件常量
  46. * @readonly
  47. * @enum {string}
  48. */
  49. export const ADDRESS_SELECT_EVENTS = {
  50. /** 地址选择事件 */
  51. ADDRESS_SELECTED: 'address-selected'
  52. }
  53. /**
  54. * 物料明细表格事件常量
  55. * @readonly
  56. * @enum {string}
  57. */
  58. export const MATERIAL_DETAIL_EVENTS = {
  59. /** 刷新事件 */
  60. REFRESH: 'refresh',
  61. /** 物料导入事件 */
  62. MATERIAL_IMPORT: 'material-import',
  63. /** 物料删除事件 */
  64. MATERIAL_DELETE: 'material-delete',
  65. /** 物料更新事件 */
  66. MATERIAL_UPDATE: 'material-update',
  67. /** 物料批量删除事件 */
  68. MATERIAL_BATCH_DELETE: 'material-batch-delete'
  69. }
  70. /**
  71. * 订单表单事件常量
  72. * @readonly
  73. */
  74. export const ORDER_FORM_EVENTS = {
  75. /** 返回事件 */
  76. BACK: 'back',
  77. /** 保存成功事件 */
  78. SAVE_SUCCESS: 'save-success',
  79. /** 客户选择事件组 */
  80. CUSTOMER_SELECT: CUSTOMER_SELECT_EVENTS,
  81. /** 地址选择事件组 */
  82. ADDRESS_SELECT: ADDRESS_SELECT_EVENTS,
  83. /** 物料明细事件组 */
  84. MATERIAL_DETAIL: MATERIAL_DETAIL_EVENTS,
  85. }
  86. /**
  87. * 所有事件常量的集合
  88. * @description 将所有事件常量合并为一个对象,便于统一导入和使用
  89. * @readonly
  90. */
  91. export const ALL_EVENTS = {
  92. ...COMMON_EVENTS,
  93. ...DIALOG_EVENTS,
  94. ...CUSTOMER_SELECT_EVENTS,
  95. ...ADDRESS_SELECT_EVENTS,
  96. ...MATERIAL_DETAIL_EVENTS,
  97. ...ORDER_FORM_EVENTS
  98. }
  99. // ==================== JSDoc 类型定义 ====================
  100. /**
  101. * 通用事件类型
  102. * @typedef {'input'|'change'|'clear'|'focus'|'blur'} CommonEventType
  103. */
  104. /**
  105. * 对话框事件类型
  106. * @typedef {'update:visible'|'confirm'|'cancel'} DialogEventType
  107. */
  108. /**
  109. * 客户选择事件类型
  110. * @typedef {'customer-selected'} CustomerSelectEventType
  111. */
  112. /**
  113. * 地址选择事件类型
  114. * @typedef {'address-selected'} AddressSelectEventType
  115. */
  116. /**
  117. * 物料明细事件类型
  118. * @typedef {'refresh'|'material-import'|'material-delete'|'material-update'|'material-batch-delete'} MaterialDetailEventType
  119. */
  120. /**
  121. * 订单表单事件类型
  122. * @typedef {'back'|'save-success'} OrderFormEventType
  123. */
  124. /**
  125. * 所有事件类型的联合类型
  126. * @typedef {CommonEventType|DialogEventType|CustomerSelectEventType|AddressSelectEventType|MaterialDetailEventType|OrderFormEventType} AllEventType
  127. */