tables.ts 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. import type { TableColumnProps } from '@/types/basic-table';
  2. // 状态标签映射
  3. export const STATUS_LABEL: Record<string, string> = {
  4. '1': '未下发',
  5. '2': '进行中',
  6. '3': '已完成',
  7. '4': '已作废',
  8. };
  9. // 基础表格样式配置
  10. export const TABLE_OPTIONS = {
  11. emptyText: '暂无数据',
  12. loading: true,
  13. maxHeight: 'calc(70vh - 150px)',
  14. };
  15. // 状态选项
  16. export const STATUS_OPTIONS = [
  17. { label: '全部', value: '全部' },
  18. { label: '未下发', value: 1 },
  19. { label: '进行中', value: 2 },
  20. { label: '已完成', value: 3 },
  21. { label: '已作废', value: 4 },
  22. ];
  23. export const TABLE_COLUMNS: TableColumnProps[] = [
  24. {
  25. label: '编号',
  26. type: 'index',
  27. align: 'center',
  28. width: '80px',
  29. fixed: 'left',
  30. },
  31. {
  32. label: '培训名称(内容)',
  33. prop: 'trainingContent',
  34. align: 'left',
  35. minWidth: '220px',
  36. fixed: 'left',
  37. },
  38. {
  39. label: '状态',
  40. prop: 'statusName',
  41. align: 'center',
  42. minWidth: '100px',
  43. },
  44. {
  45. label: '分类名称',
  46. prop: 'categoryName',
  47. align: 'center',
  48. minWidth: '110px',
  49. },
  50. {
  51. label: '培训计划名称',
  52. prop: 'trainingPlanName',
  53. align: 'center',
  54. minWidth: '140px',
  55. },
  56. {
  57. label: '培训对象',
  58. prop: 'trainingObject',
  59. align: 'center',
  60. minWidth: '110px',
  61. },
  62. {
  63. label: '培训人数',
  64. prop: 'trainingCount',
  65. align: 'center',
  66. minWidth: '120px',
  67. },
  68. {
  69. label: '培训方式',
  70. prop: 'trainingMethod',
  71. align: 'center',
  72. minWidth: '150px',
  73. },
  74. {
  75. label: '培训时间',
  76. prop: 'trainingTime',
  77. align: 'center',
  78. minWidth: '120px',
  79. },
  80. {
  81. label: '考核方式',
  82. prop: 'assessmentMethod',
  83. align: 'center',
  84. minWidth: '120px',
  85. },
  86. {
  87. label: '学时',
  88. prop: 'studyHours',
  89. align: 'center',
  90. minWidth: '80px',
  91. },
  92. {
  93. label: '计划开始时间',
  94. prop: 'startTime',
  95. align: 'center',
  96. minWidth: '150px',
  97. },
  98. {
  99. label: '计划结束时间',
  100. prop: 'endTime',
  101. align: 'center',
  102. minWidth: '150px',
  103. },
  104. {
  105. label: '操作',
  106. prop: 'action',
  107. slot: 'action',
  108. fixed: 'right',
  109. width: '300px',
  110. align: 'left',
  111. },
  112. ];
  113. // 课程列表
  114. export const COURSE_TABLE_COLUMNS: TableColumnProps[] = [
  115. {
  116. label: '编号',
  117. type: 'index',
  118. align: 'center',
  119. width: '80px',
  120. fixed: 'left',
  121. },
  122. {
  123. label: '培训课程名称',
  124. prop: 'courseName',
  125. align: 'left',
  126. minWidth: '220px',
  127. fixed: 'left',
  128. },
  129. {
  130. label: '培训时间',
  131. prop: 'trainingDate',
  132. align: 'center',
  133. minWidth: '230px',
  134. },
  135. {
  136. label: '课程所属分类',
  137. prop: 'courseTypeName',
  138. align: 'center',
  139. minWidth: '180px',
  140. },
  141. {
  142. label: '培训方式',
  143. prop: 'trainingMethod',
  144. align: 'center',
  145. minWidth: '140px',
  146. },
  147. {
  148. label: '培训课程讲师',
  149. prop: 'trainingTeacher',
  150. align: 'center',
  151. minWidth: '140px',
  152. },
  153. {
  154. label: '计划参与人数所属分组',
  155. prop: 'groupOfParticipantsDesc',
  156. align: 'center',
  157. minWidth: '200px',
  158. },
  159. {
  160. label: '计划参与人数',
  161. prop: 'planNumOfParticipants',
  162. align: 'center',
  163. minWidth: '150px',
  164. },
  165. {
  166. label: '签到人数',
  167. prop: 'signInNum',
  168. align: 'center',
  169. minWidth: '160px',
  170. },
  171. {
  172. label: '操作',
  173. prop: 'action',
  174. slot: 'action',
  175. fixed: 'right',
  176. width: '300px',
  177. align: 'left',
  178. },
  179. ];