@a2simcode/ui 0.0.111 → 0.0.114

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/.cursor/skills/ui-component-helper/README.md +86 -86
  2. package/.cursor/skills/ui-component-helper/SKILL.md +115 -115
  3. package/LICENSE +53 -53
  4. package/README.md +156 -156
  5. package/dist/components/index.d.ts +2 -1
  6. package/dist/components/inject-provide.d.ts +1 -0
  7. package/dist/components/input-layer/index.d.ts +5 -9
  8. package/dist/components/input-layer/src/input-layer.vue.d.ts +3 -7
  9. package/dist/components/table/index.d.ts +3 -9
  10. package/dist/components/table/src/table.vue.d.ts +1 -4
  11. package/dist/components/table-panel/index.d.ts +3 -9
  12. package/dist/components/table-panel/src/table-panel.vue.d.ts +1 -4
  13. package/dist/components/time/index.d.ts +105 -0
  14. package/dist/components/time/src/time.vue.d.ts +64 -0
  15. package/dist/simcode-ui.es.js +5462 -5277
  16. package/dist/simcode-ui.umd.js +2 -2
  17. package/dist/stats.html +1 -1
  18. package/dist/ui.css +1 -1
  19. package/docs/components/autocomplete.md +89 -89
  20. package/docs/components/barcode.md +101 -101
  21. package/docs/components/button-select.md +24 -24
  22. package/docs/components/button.md +117 -117
  23. package/docs/components/buttons.md +119 -119
  24. package/docs/components/cascader-select.md +114 -114
  25. package/docs/components/checkbox.md +114 -114
  26. package/docs/components/code-mirror.md +85 -85
  27. package/docs/components/collapse.md +26 -26
  28. package/docs/components/comp.md +71 -71
  29. package/docs/components/count-up.md +24 -24
  30. package/docs/components/count.md +24 -24
  31. package/docs/components/data-panel.md +24 -24
  32. package/docs/components/date.md +76 -76
  33. package/docs/components/dialog-full.md +112 -112
  34. package/docs/components/dialog.md +127 -127
  35. package/docs/components/divider.md +24 -24
  36. package/docs/components/drawer.md +127 -127
  37. package/docs/components/dynamic-layer.md +118 -118
  38. package/docs/components/echarts.md +72 -72
  39. package/docs/components/editor.md +24 -24
  40. package/docs/components/form.md +27 -27
  41. package/docs/components/guid.md +39 -39
  42. package/docs/components/hpanel.md +24 -24
  43. package/docs/components/icon.md +56 -56
  44. package/docs/components/input-button.md +24 -24
  45. package/docs/components/input-code.md +24 -24
  46. package/docs/components/input-color.md +114 -114
  47. package/docs/components/input-layer.md +26 -26
  48. package/docs/components/input-rows.md +370 -370
  49. package/docs/components/input-tag.md +50 -50
  50. package/docs/components/input.md +129 -129
  51. package/docs/components/layer-form.md +61 -61
  52. package/docs/components/layer.md +127 -127
  53. package/docs/components/layout.md +132 -132
  54. package/docs/components/map.md +24 -24
  55. package/docs/components/menu.md +121 -121
  56. package/docs/components/meta/buttons.ts +76 -76
  57. package/docs/components/meta/comp.ts +236 -236
  58. package/docs/components/meta/date.ts +256 -256
  59. package/docs/components/meta/echarts.ts +64 -64
  60. package/docs/components/meta/form.ts +165 -165
  61. package/docs/components/meta/input-cards.ts +112 -112
  62. package/docs/components/meta/input-color.ts +243 -243
  63. package/docs/components/meta/input-rows.ts +113 -113
  64. package/docs/components/meta/layer-form.ts +56 -56
  65. package/docs/components/meta/map.ts +68 -68
  66. package/docs/components/meta/panel.ts +152 -152
  67. package/docs/components/meta/slider.ts +270 -270
  68. package/docs/components/meta/table-panel.ts +232 -220
  69. package/docs/components/meta/table.ts +386 -380
  70. package/docs/components/meta/tabs.ts +146 -146
  71. package/docs/components/meta/tree-select.ts +199 -199
  72. package/docs/components/meta/workflow-viewer.ts +55 -55
  73. package/docs/components/number.md +124 -124
  74. package/docs/components/page.md +87 -87
  75. package/docs/components/panel.md +37 -37
  76. package/docs/components/radio.md +87 -87
  77. package/docs/components/rate.md +71 -71
  78. package/docs/components/select.md +133 -133
  79. package/docs/components/slider-captcha.md +41 -41
  80. package/docs/components/slider.md +101 -101
  81. package/docs/components/switch.md +90 -90
  82. package/docs/components/table-panel.md +236 -236
  83. package/docs/components/table.md +391 -378
  84. package/docs/components/tabs.md +26 -26
  85. package/docs/components/title.md +24 -24
  86. package/docs/components/tree.md +207 -207
  87. package/docs/components/upload.md +117 -117
  88. package/docs/components/workflow-viewer.md +21 -21
  89. package/docs/components/workflow.md +21 -21
  90. package/docs/examples/autocomplete/advanced.vue +35 -35
  91. package/docs/examples/autocomplete/basic.vue +32 -32
  92. package/docs/examples/autocomplete/clearable.vue +33 -33
  93. package/docs/examples/autocomplete/custom-template.vue +49 -49
  94. package/docs/examples/autocomplete/disabled.vue +33 -33
  95. package/docs/examples/autocomplete/icon.vue +37 -37
  96. package/docs/examples/barcode/all-types.vue +380 -380
  97. package/docs/examples/barcode/basic.vue +14 -14
  98. package/docs/examples/barcode/props-appearance.vue +243 -243
  99. package/docs/examples/barcode/props-geometry.vue +143 -143
  100. package/docs/examples/barcode/props-logic.vue +216 -216
  101. package/docs/examples/barcode/props-symbology.vue +199 -199
  102. package/docs/examples/barcode/props-text.vue +268 -268
  103. package/docs/examples/button/basic.vue +7 -7
  104. package/docs/examples/button/danger-ghost.vue +17 -17
  105. package/docs/examples/button/disabled.vue +10 -10
  106. package/docs/examples/button/loading.vue +6 -6
  107. package/docs/examples/button/shape.vue +7 -7
  108. package/docs/examples/button/size.vue +14 -14
  109. package/docs/examples/button/type.vue +9 -9
  110. package/docs/examples/button-select/basic.vue +19 -19
  111. package/docs/examples/buttons/basic.vue +45 -45
  112. package/docs/examples/buttons/disabled.vue +36 -36
  113. package/docs/examples/buttons/dropdown.vue +63 -63
  114. package/docs/examples/buttons/group.vue +52 -52
  115. package/docs/examples/buttons/link.vue +47 -47
  116. package/docs/examples/buttons/popup.vue +39 -39
  117. package/docs/examples/buttons/size.vue +45 -45
  118. package/docs/examples/cascader-select/basic.vue +28 -28
  119. package/docs/examples/cascader-select/clearable.vue +34 -34
  120. package/docs/examples/cascader-select/disabled.vue +43 -43
  121. package/docs/examples/cascader-select/filterable.vue +37 -37
  122. package/docs/examples/cascader-select/methods.vue +84 -84
  123. package/docs/examples/cascader-select/multiple.vue +38 -38
  124. package/docs/examples/cascader-select/slot.vue +45 -45
  125. package/docs/examples/checkbox/basic.vue +18 -18
  126. package/docs/examples/checkbox/button.vue +19 -19
  127. package/docs/examples/checkbox/color.vue +25 -25
  128. package/docs/examples/checkbox/disabled.vue +17 -17
  129. package/docs/examples/checkbox/min-max.vue +20 -20
  130. package/docs/examples/checkbox/mixed.vue +56 -56
  131. package/docs/examples/checkbox/size.vue +28 -28
  132. package/docs/examples/code-mirror/basic.vue +11 -11
  133. package/docs/examples/code-mirror/events.vue +42 -42
  134. package/docs/examples/code-mirror/height.vue +25 -25
  135. package/docs/examples/code-mirror/mode.vue +33 -33
  136. package/docs/examples/code-mirror/readonly.vue +14 -14
  137. package/docs/examples/collapse/basic.vue +82 -82
  138. package/docs/examples/comp/basic.vue +7 -7
  139. package/docs/examples/comp/collapse.vue +38 -38
  140. package/docs/examples/comp/tabs.vue +38 -38
  141. package/docs/examples/count/basic.vue +101 -101
  142. package/docs/examples/count-up/basic.vue +89 -89
  143. package/docs/examples/data-panel/basic.vue +110 -110
  144. package/docs/examples/date/basic.vue +73 -73
  145. package/docs/examples/date/default-value.vue +59 -59
  146. package/docs/examples/date/format.vue +75 -75
  147. package/docs/examples/date/range.vue +66 -66
  148. package/docs/examples/date/types.vue +79 -79
  149. package/docs/examples/dialog/basic.vue +36 -36
  150. package/docs/examples/dialog/custom-buttons.vue +44 -44
  151. package/docs/examples/dialog/fullscreen.vue +23 -23
  152. package/docs/examples/dialog/no-mask.vue +17 -17
  153. package/docs/examples/dialog/size.vue +44 -44
  154. package/docs/examples/dialog/steps.vue +57 -57
  155. package/docs/examples/dialog-full/basic.vue +29 -29
  156. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  157. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  158. package/docs/examples/dialog-full/no-header.vue +27 -27
  159. package/docs/examples/dialog-full/steps.vue +71 -71
  160. package/docs/examples/divider/basic.vue +52 -52
  161. package/docs/examples/drawer/basic.vue +35 -35
  162. package/docs/examples/drawer/custom-buttons.vue +34 -34
  163. package/docs/examples/drawer/direction.vue +47 -47
  164. package/docs/examples/drawer/mask.vue +36 -36
  165. package/docs/examples/drawer/no-buttons.vue +20 -20
  166. package/docs/examples/drawer/size.vue +28 -28
  167. package/docs/examples/dynamic-layer/basic.vue +33 -33
  168. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  169. package/docs/examples/dynamic-layer/form.vue +73 -73
  170. package/docs/examples/dynamic-layer/steps.vue +52 -52
  171. package/docs/examples/dynamic-layer/types.vue +40 -40
  172. package/docs/examples/echarts/basic.vue +31 -31
  173. package/docs/examples/echarts/dynamic.vue +43 -43
  174. package/docs/examples/echarts/line.vue +46 -46
  175. package/docs/examples/echarts/pie.vue +44 -44
  176. package/docs/examples/editor/basic.vue +15 -15
  177. package/docs/examples/form/basic.vue +477 -459
  178. package/docs/examples/guid/basic.vue +10 -10
  179. package/docs/examples/guid/size.vue +13 -13
  180. package/docs/examples/hpanel/basic.vue +79 -79
  181. package/docs/examples/icon/basic.vue +9 -9
  182. package/docs/examples/icon/rotate-flip.vue +9 -9
  183. package/docs/examples/icon/size.vue +7 -7
  184. package/docs/examples/input/basic.vue +10 -10
  185. package/docs/examples/input/clearable.vue +12 -12
  186. package/docs/examples/input/disabled.vue +6 -6
  187. package/docs/examples/input/icon.vue +23 -23
  188. package/docs/examples/input/password.vue +18 -18
  189. package/docs/examples/input/size.vue +13 -13
  190. package/docs/examples/input/textarea.vue +25 -25
  191. package/docs/examples/input/word-limit.vue +28 -28
  192. package/docs/examples/input-button/basic.vue +33 -33
  193. package/docs/examples/input-code/basic.vue +29 -29
  194. package/docs/examples/input-color/basic.vue +10 -10
  195. package/docs/examples/input-color/disabled.vue +13 -13
  196. package/docs/examples/input-color/format.vue +17 -17
  197. package/docs/examples/input-color/no-alpha.vue +13 -13
  198. package/docs/examples/input-color/only-button.vue +15 -15
  199. package/docs/examples/input-color/predefine.vue +31 -31
  200. package/docs/examples/input-color/size.vue +15 -15
  201. package/docs/examples/input-layer/basic.vue +69 -69
  202. package/docs/examples/input-rows/basic.vue +73 -73
  203. package/docs/examples/input-rows/drag.vue +48 -48
  204. package/docs/examples/input-rows/layer-form.vue +85 -85
  205. package/docs/examples/input-rows/nested.vue +91 -91
  206. package/docs/examples/input-tag/basic.vue +27 -27
  207. package/docs/examples/input-tag/colors.vue +23 -23
  208. package/docs/examples/input-tag/readonly.vue +17 -17
  209. package/docs/examples/layer/basic.vue +43 -43
  210. package/docs/examples/layer/custom-buttons.vue +61 -61
  211. package/docs/examples/layer/drawer.vue +37 -37
  212. package/docs/examples/layer/full.vue +38 -38
  213. package/docs/examples/layer/modal.vue +34 -34
  214. package/docs/examples/layer/steps.vue +46 -46
  215. package/docs/examples/layer-form/basic.vue +76 -76
  216. package/docs/examples/layer-form/config.vue +82 -82
  217. package/docs/examples/layer-form/size.vue +72 -72
  218. package/docs/examples/layout/basic.vue +36 -36
  219. package/docs/examples/layout/custom-size.vue +50 -50
  220. package/docs/examples/layout/disable-move.vue +37 -37
  221. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  222. package/docs/examples/layout/min-size.vue +73 -73
  223. package/docs/examples/layout/percent-size.vue +80 -80
  224. package/docs/examples/layout/simple.vue +22 -22
  225. package/docs/examples/layout/top-side.vue +34 -34
  226. package/docs/examples/map/basic.vue +22 -22
  227. package/docs/examples/menu/basic.vue +58 -58
  228. package/docs/examples/menu/collapsed.vue +49 -49
  229. package/docs/examples/menu/horizontal.vue +44 -44
  230. package/docs/examples/menu/selection-test.vue +104 -104
  231. package/docs/examples/menu/theme.vue +46 -46
  232. package/docs/examples/menu/vertical.vue +46 -46
  233. package/docs/examples/number/advanced.vue +143 -143
  234. package/docs/examples/number/basic.vue +63 -63
  235. package/docs/examples/number/disabled.vue +49 -49
  236. package/docs/examples/number/size.vue +42 -42
  237. package/docs/examples/number/slots.vue +123 -123
  238. package/docs/examples/number/step-strictly.vue +41 -41
  239. package/docs/examples/number/step.vue +47 -47
  240. package/docs/examples/page/basic.vue +41 -41
  241. package/docs/examples/page/dept-user-management.vue +211 -211
  242. package/docs/examples/page/init.vue +87 -87
  243. package/docs/examples/page/log.vue +453 -453
  244. package/docs/examples/page/user-management.vue +313 -313
  245. package/docs/examples/panel/tool-buttons.vue +18 -18
  246. package/docs/examples/radio/basic.vue +17 -17
  247. package/docs/examples/radio/button.vue +17 -17
  248. package/docs/examples/radio/color.vue +18 -18
  249. package/docs/examples/radio/disabled.vue +17 -17
  250. package/docs/examples/radio/size.vue +29 -29
  251. package/docs/examples/rate/basic.vue +24 -24
  252. package/docs/examples/rate/half.vue +24 -24
  253. package/docs/examples/rate/readonly.vue +11 -11
  254. package/docs/examples/rate/text.vue +32 -32
  255. package/docs/examples/select/basic.vue +16 -16
  256. package/docs/examples/select/clearable.vue +22 -22
  257. package/docs/examples/select/disabled.vue +31 -31
  258. package/docs/examples/select/filterable.vue +24 -24
  259. package/docs/examples/select/group.vue +23 -23
  260. package/docs/examples/select/icon.vue +16 -16
  261. package/docs/examples/select/multiple.vue +18 -18
  262. package/docs/examples/select/size.vue +39 -39
  263. package/docs/examples/slider/basic.vue +42 -42
  264. package/docs/examples/slider/disabled.vue +17 -17
  265. package/docs/examples/slider/marks.vue +30 -30
  266. package/docs/examples/slider/size.vue +37 -37
  267. package/docs/examples/slider/tooltip.vue +36 -36
  268. package/docs/examples/slider/vertical.vue +26 -26
  269. package/docs/examples/slider-captcha/basic.vue +44 -44
  270. package/docs/examples/slider-captcha/custom.vue +48 -48
  271. package/docs/examples/switch/basic.vue +16 -16
  272. package/docs/examples/switch/disabled.vue +13 -13
  273. package/docs/examples/switch/loading.vue +13 -13
  274. package/docs/examples/switch/size.vue +15 -15
  275. package/docs/examples/switch/text.vue +13 -13
  276. package/docs/examples/table/action-filter.vue +126 -126
  277. package/docs/examples/table/actions.vue +116 -116
  278. package/docs/examples/table/add-row.vue +103 -103
  279. package/docs/examples/table/basic.vue +168 -168
  280. package/docs/examples/table/checkbox-layout.vue +68 -68
  281. package/docs/examples/table/custom-layout.vue +115 -115
  282. package/docs/examples/table/dynamic-type.vue +72 -0
  283. package/docs/examples/table/editable.vue +262 -262
  284. package/docs/examples/table/field-selection.vue +87 -87
  285. package/docs/examples/table/frozen-column.vue +140 -140
  286. package/docs/examples/table/height-mode.vue +99 -99
  287. package/docs/examples/table/icon.vue +85 -85
  288. package/docs/examples/table/link.vue +66 -66
  289. package/docs/examples/table/multiple.vue +178 -178
  290. package/docs/examples/table/pagination.vue +151 -151
  291. package/docs/examples/table/single-selection.vue +64 -64
  292. package/docs/examples/table/sub-table-lazy.vue +97 -97
  293. package/docs/examples/table/sub-table.vue +103 -103
  294. package/docs/examples/table/tag.vue +43 -43
  295. package/docs/examples/table/tree-column.vue +119 -119
  296. package/docs/examples/table/tree-data.vue +141 -141
  297. package/docs/examples/table/tree-default-expand-all.vue +60 -60
  298. package/docs/examples/table/tree-lazy.vue +80 -80
  299. package/docs/examples/table/tree-set-selection.vue +75 -75
  300. package/docs/examples/table-panel/basic.vue +228 -228
  301. package/docs/examples/table-panel/batch-operations.vue +285 -285
  302. package/docs/examples/table-panel/button-visibility.vue +88 -88
  303. package/docs/examples/table-panel/filter.vue +219 -219
  304. package/docs/examples/table-panel/get-selection.vue +111 -111
  305. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  306. package/docs/examples/table-panel/pagination.vue +133 -133
  307. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  308. package/docs/examples/table-panel/tree-parent-key.vue +67 -67
  309. package/docs/examples/tabs/basic.vue +98 -98
  310. package/docs/examples/time/base.vue +68 -0
  311. package/docs/examples/title/basic.vue +80 -80
  312. package/docs/examples/tree/accordion.vue +46 -46
  313. package/docs/examples/tree/basic.vue +50 -50
  314. package/docs/examples/tree/buttons.vue +53 -53
  315. package/docs/examples/tree/checkable.vue +52 -52
  316. package/docs/examples/tree/custom-keys.vue +39 -39
  317. package/docs/examples/tree/default-expanded.vue +52 -52
  318. package/docs/examples/tree/draggable.vue +29 -29
  319. package/docs/examples/tree/expand-on-click.vue +39 -39
  320. package/docs/examples/tree/flat-data.vue +20 -20
  321. package/docs/examples/tree/icon.vue +40 -40
  322. package/docs/examples/tree/load-data.vue +37 -37
  323. package/docs/examples/tree/methods.vue +74 -74
  324. package/docs/examples/tree/theme.vue +33 -33
  325. package/docs/examples/upload/accept.vue +31 -31
  326. package/docs/examples/upload/basic.vue +12 -12
  327. package/docs/examples/upload/drag.vue +11 -11
  328. package/docs/examples/upload/image.vue +17 -17
  329. package/docs/examples/upload/limit.vue +20 -20
  330. package/docs/examples/upload/multiple.vue +17 -17
  331. package/docs/examples/upload/readonly.vue +17 -17
  332. package/docs/examples/utils/cipher.vue +160 -160
  333. package/docs/examples/utils/common.vue +153 -153
  334. package/docs/examples/utils/date.vue +56 -56
  335. package/docs/examples/utils/dom.vue +52 -52
  336. package/docs/examples/utils/is.vue +70 -70
  337. package/docs/examples/workflow/basic.vue +265 -265
  338. package/docs/examples/workflow-viewer/basic.vue +248 -248
  339. package/package.json +88 -88
@@ -1,87 +1,87 @@
1
- <template>
2
- <div style="margin-bottom: 10px">
3
- <j-button type="primary" label="获取选中数据" @click="getSelection" />
4
- </div>
5
- <div style="position: relative; width: 100%; height: 500px">
6
- <j-table
7
- ref="tableRef"
8
- :columns="columns"
9
- :records="records"
10
- is-multiple
11
- select-field="checkState"
12
- />
13
- </div>
14
- </template>
15
-
16
- <script setup lang="ts">
17
- import { ref } from 'vue'
18
-
19
- const tableRef = ref()
20
-
21
- const getSelection = () => {
22
- const records = tableRef.value.getSelection()
23
- console.log(records)
24
- alert(`选中了 ${records.length} 条数据,详情请查看控制台`)
25
- }
26
-
27
- const columns = ref([
28
- {
29
- id: 'Order ID',
30
- config: {
31
- label: 'Order ID',
32
- width: 'auto',
33
- align: 'left',
34
- },
35
- },
36
- {
37
- id: 'Customer ID',
38
- config: {
39
- label: 'Customer ID',
40
- width: 'auto',
41
- align: 'left',
42
- },
43
- },
44
- {
45
- id: 'Product Name',
46
- config: {
47
- label: 'Product Name',
48
- width: 'auto',
49
- align: 'left',
50
- },
51
- },
52
- ])
53
-
54
- const records = ref([
55
- {
56
- 'Order ID': 'CA-2016-152156',
57
- 'Customer ID': 'CG-12520',
58
- 'Product Name': 'Canon ImageCLASS 2200 Advanced Copier',
59
- checkState: true,
60
- },
61
- {
62
- 'Order ID': 'CA-2017-152157',
63
- 'Customer ID': 'DV-13045',
64
- 'Product Name': 'Logitech Wireless Mouse',
65
- checkState: {
66
- text: '已选',
67
- checked: true,
68
- disable: false,
69
- },
70
- },
71
- {
72
- 'Order ID': 'US-2017-108966',
73
- 'Customer ID': 'SO-20335',
74
- 'Product Name': 'HON Mesh Task Chair',
75
- checkState: false,
76
- },
77
- {
78
- 'Order ID': 'US-2016-108967',
79
- 'Customer ID': 'AB-10015',
80
- 'Product Name': 'Avery Binder Labels',
81
- checkState: {
82
- checked: false,
83
- disable: true, // 禁用
84
- },
85
- },
86
- ])
87
- </script>
1
+ <template>
2
+ <div style="margin-bottom: 10px">
3
+ <j-button type="primary" label="获取选中数据" @click="getSelection" />
4
+ </div>
5
+ <div style="position: relative; width: 100%; height: 500px">
6
+ <j-table
7
+ ref="tableRef"
8
+ :columns="columns"
9
+ :records="records"
10
+ is-multiple
11
+ select-field="checkState"
12
+ />
13
+ </div>
14
+ </template>
15
+
16
+ <script setup lang="ts">
17
+ import { ref } from 'vue'
18
+
19
+ const tableRef = ref()
20
+
21
+ const getSelection = () => {
22
+ const records = tableRef.value.getSelection()
23
+ console.log(records)
24
+ alert(`选中了 ${records.length} 条数据,详情请查看控制台`)
25
+ }
26
+
27
+ const columns = ref([
28
+ {
29
+ id: 'Order ID',
30
+ config: {
31
+ label: 'Order ID',
32
+ width: 'auto',
33
+ align: 'left',
34
+ },
35
+ },
36
+ {
37
+ id: 'Customer ID',
38
+ config: {
39
+ label: 'Customer ID',
40
+ width: 'auto',
41
+ align: 'left',
42
+ },
43
+ },
44
+ {
45
+ id: 'Product Name',
46
+ config: {
47
+ label: 'Product Name',
48
+ width: 'auto',
49
+ align: 'left',
50
+ },
51
+ },
52
+ ])
53
+
54
+ const records = ref([
55
+ {
56
+ 'Order ID': 'CA-2016-152156',
57
+ 'Customer ID': 'CG-12520',
58
+ 'Product Name': 'Canon ImageCLASS 2200 Advanced Copier',
59
+ checkState: true,
60
+ },
61
+ {
62
+ 'Order ID': 'CA-2017-152157',
63
+ 'Customer ID': 'DV-13045',
64
+ 'Product Name': 'Logitech Wireless Mouse',
65
+ checkState: {
66
+ text: '已选',
67
+ checked: true,
68
+ disable: false,
69
+ },
70
+ },
71
+ {
72
+ 'Order ID': 'US-2017-108966',
73
+ 'Customer ID': 'SO-20335',
74
+ 'Product Name': 'HON Mesh Task Chair',
75
+ checkState: false,
76
+ },
77
+ {
78
+ 'Order ID': 'US-2016-108967',
79
+ 'Customer ID': 'AB-10015',
80
+ 'Product Name': 'Avery Binder Labels',
81
+ checkState: {
82
+ checked: false,
83
+ disable: true, // 禁用
84
+ },
85
+ },
86
+ ])
87
+ </script>
@@ -1,140 +1,140 @@
1
- <template>
2
- <div style="position: relative; width: 100%; height: 500px">
3
- <j-table :columns="columns" :records="records" />
4
- </div>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- import { ref } from 'vue'
9
-
10
- const columns = ref([
11
- {
12
- id: 'Order Info',
13
- config: {
14
- label: 'Order Info',
15
- align: 'center',
16
- },
17
- children: [
18
- {
19
- id: 'Order ID',
20
- config: {
21
- label: 'Order ID',
22
- width: 150,
23
- align: 'left',
24
- frozen: 'left',
25
- },
26
- },
27
- {
28
- id: 'Order Date',
29
- config: {
30
- label: 'Order Date',
31
- width: 150,
32
- align: 'center',
33
- frozen: 'left',
34
- },
35
- },
36
- ],
37
- },
38
- {
39
- id: 'Customer ID',
40
- config: {
41
- label: 'Customer ID',
42
- width: 150,
43
- align: 'left',
44
- },
45
- },
46
- {
47
- id: 'Quantity',
48
- config: {
49
- label: 'Quantity',
50
- width: 150,
51
- align: 'right',
52
- },
53
- },
54
- {
55
- id: 'Sales',
56
- config: {
57
- label: 'Sales',
58
- width: 150,
59
- align: 'right',
60
- },
61
- },
62
- {
63
- id: 'Profit',
64
- config: {
65
- label: 'Profit',
66
- width: 150,
67
- align: 'right',
68
- frozen: 'right',
69
- },
70
- },
71
- ])
72
-
73
- const records = ref([
74
- {
75
- 'Order ID': 'CA-2016-152156',
76
- 'Customer ID': 'CG-12520',
77
- 'Product Name': 'Canon ImageCLASS 2200 Advanced Copier',
78
- Category: 'Office Supplies',
79
- 'Sub-Category': 'Copiers',
80
- Region: 'West',
81
- City: 'Los Angeles',
82
- 'Order Date': '2016-11-08',
83
- Quantity: 2,
84
- Sales: 2399.99,
85
- Profit: 400.0,
86
- },
87
- {
88
- 'Order ID': 'CA-2017-152157',
89
- 'Customer ID': 'DV-13045',
90
- 'Product Name': 'Logitech Wireless Mouse',
91
- Category: 'Technology',
92
- 'Sub-Category': 'Accessories',
93
- Region: 'West',
94
- City: 'San Francisco',
95
- 'Order Date': '2017-03-15',
96
- Quantity: 3,
97
- Sales: 89.97,
98
- Profit: 25.5,
99
- },
100
- {
101
- 'Order ID': 'US-2017-108966',
102
- 'Customer ID': 'SO-20335',
103
- 'Product Name': 'HON Mesh Task Chair',
104
- Category: 'Furniture',
105
- 'Sub-Category': 'Chairs',
106
- Region: 'East',
107
- City: 'New York',
108
- 'Order Date': '2017-06-21',
109
- Quantity: 4,
110
- Sales: 799.96,
111
- Profit: 120.0,
112
- },
113
- {
114
- 'Order ID': 'US-2016-108967',
115
- 'Customer ID': 'AB-10015',
116
- 'Product Name': 'Avery Binder Labels',
117
- Category: 'Office Supplies',
118
- 'Sub-Category': 'Labels',
119
- Region: 'Central',
120
- City: 'Chicago',
121
- 'Order Date': '2016-02-03',
122
- Quantity: 10,
123
- Sales: 15.9,
124
- Profit: 5.2,
125
- },
126
- {
127
- 'Order ID': 'CA-2015-108968',
128
- 'Customer ID': 'ML-12515',
129
- 'Product Name': 'Apple iPhone 7',
130
- Category: 'Technology',
131
- 'Sub-Category': 'Phones',
132
- Region: 'South',
133
- City: 'Dallas',
134
- 'Order Date': '2015-09-12',
135
- Quantity: 1,
136
- Sales: 699.0,
137
- Profit: 80.0,
138
- },
139
- ])
140
- </script>
1
+ <template>
2
+ <div style="position: relative; width: 100%; height: 500px">
3
+ <j-table :columns="columns" :records="records" />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { ref } from 'vue'
9
+
10
+ const columns = ref([
11
+ {
12
+ id: 'Order Info',
13
+ config: {
14
+ label: 'Order Info',
15
+ align: 'center',
16
+ },
17
+ children: [
18
+ {
19
+ id: 'Order ID',
20
+ config: {
21
+ label: 'Order ID',
22
+ width: 150,
23
+ align: 'left',
24
+ frozen: 'left',
25
+ },
26
+ },
27
+ {
28
+ id: 'Order Date',
29
+ config: {
30
+ label: 'Order Date',
31
+ width: 150,
32
+ align: 'center',
33
+ frozen: 'left',
34
+ },
35
+ },
36
+ ],
37
+ },
38
+ {
39
+ id: 'Customer ID',
40
+ config: {
41
+ label: 'Customer ID',
42
+ width: 150,
43
+ align: 'left',
44
+ },
45
+ },
46
+ {
47
+ id: 'Quantity',
48
+ config: {
49
+ label: 'Quantity',
50
+ width: 150,
51
+ align: 'right',
52
+ },
53
+ },
54
+ {
55
+ id: 'Sales',
56
+ config: {
57
+ label: 'Sales',
58
+ width: 150,
59
+ align: 'right',
60
+ },
61
+ },
62
+ {
63
+ id: 'Profit',
64
+ config: {
65
+ label: 'Profit',
66
+ width: 150,
67
+ align: 'right',
68
+ frozen: 'right',
69
+ },
70
+ },
71
+ ])
72
+
73
+ const records = ref([
74
+ {
75
+ 'Order ID': 'CA-2016-152156',
76
+ 'Customer ID': 'CG-12520',
77
+ 'Product Name': 'Canon ImageCLASS 2200 Advanced Copier',
78
+ Category: 'Office Supplies',
79
+ 'Sub-Category': 'Copiers',
80
+ Region: 'West',
81
+ City: 'Los Angeles',
82
+ 'Order Date': '2016-11-08',
83
+ Quantity: 2,
84
+ Sales: 2399.99,
85
+ Profit: 400.0,
86
+ },
87
+ {
88
+ 'Order ID': 'CA-2017-152157',
89
+ 'Customer ID': 'DV-13045',
90
+ 'Product Name': 'Logitech Wireless Mouse',
91
+ Category: 'Technology',
92
+ 'Sub-Category': 'Accessories',
93
+ Region: 'West',
94
+ City: 'San Francisco',
95
+ 'Order Date': '2017-03-15',
96
+ Quantity: 3,
97
+ Sales: 89.97,
98
+ Profit: 25.5,
99
+ },
100
+ {
101
+ 'Order ID': 'US-2017-108966',
102
+ 'Customer ID': 'SO-20335',
103
+ 'Product Name': 'HON Mesh Task Chair',
104
+ Category: 'Furniture',
105
+ 'Sub-Category': 'Chairs',
106
+ Region: 'East',
107
+ City: 'New York',
108
+ 'Order Date': '2017-06-21',
109
+ Quantity: 4,
110
+ Sales: 799.96,
111
+ Profit: 120.0,
112
+ },
113
+ {
114
+ 'Order ID': 'US-2016-108967',
115
+ 'Customer ID': 'AB-10015',
116
+ 'Product Name': 'Avery Binder Labels',
117
+ Category: 'Office Supplies',
118
+ 'Sub-Category': 'Labels',
119
+ Region: 'Central',
120
+ City: 'Chicago',
121
+ 'Order Date': '2016-02-03',
122
+ Quantity: 10,
123
+ Sales: 15.9,
124
+ Profit: 5.2,
125
+ },
126
+ {
127
+ 'Order ID': 'CA-2015-108968',
128
+ 'Customer ID': 'ML-12515',
129
+ 'Product Name': 'Apple iPhone 7',
130
+ Category: 'Technology',
131
+ 'Sub-Category': 'Phones',
132
+ Region: 'South',
133
+ City: 'Dallas',
134
+ 'Order Date': '2015-09-12',
135
+ Quantity: 1,
136
+ Sales: 699.0,
137
+ Profit: 80.0,
138
+ },
139
+ ])
140
+ </script>
@@ -1,99 +1,99 @@
1
- <template>
2
- <div style="width: 100%">
3
- <div style="margin-bottom: 16px">
4
- <el-radio-group v-model="heightMode">
5
- <el-radio-button value="full">充满父容器 (Full)</el-radio-button>
6
- <el-radio-button value="auto">内容自适应 (Auto)</el-radio-button>
7
- </el-radio-group>
8
- </div>
9
-
10
- <div
11
- :style="{
12
- position: 'relative',
13
- width: '100%',
14
- height: heightMode === 'full' ? '500px' : 'auto',
15
- }"
16
- >
17
- <j-table
18
- :columns="columns"
19
- :records="records"
20
- :height-mode="heightMode"
21
- :max-height="heightMode === 'auto' ? 300 : undefined"
22
- />
23
- </div>
24
- </div>
25
- </template>
26
-
27
- <script setup lang="ts">
28
- import { ref } from 'vue'
29
-
30
- const heightMode = ref<'full' | 'auto'>('auto')
31
-
32
- const columns = ref([
33
- {
34
- id: 'Order ID',
35
- config: {
36
- label: 'Order ID',
37
- width: 'auto',
38
- align: 'left',
39
- },
40
- },
41
- {
42
- id: 'Customer ID',
43
- config: {
44
- label: 'Customer ID',
45
- width: 'auto',
46
- align: 'left',
47
- },
48
- },
49
- {
50
- id: 'Product Name',
51
- config: {
52
- label: 'Product Name',
53
- width: 'auto',
54
- align: 'left',
55
- },
56
- },
57
- {
58
- id: 'Category',
59
- config: {
60
- label: 'Category',
61
- width: 'auto',
62
- align: 'left',
63
- },
64
- },
65
- ])
66
-
67
- const records = ref([
68
- {
69
- 'Order ID': 'CA-2016-152156',
70
- 'Customer ID': 'CG-12520',
71
- 'Product Name': 'Canon ImageCLASS 2200 Advanced Copier',
72
- Category: 'Office Supplies',
73
- },
74
- {
75
- 'Order ID': 'CA-2017-152157',
76
- 'Customer ID': 'DV-13045',
77
- 'Product Name': 'Logitech Wireless Mouse',
78
- Category: 'Technology',
79
- },
80
- {
81
- 'Order ID': 'US-2017-108966',
82
- 'Customer ID': 'SO-20335',
83
- 'Product Name': 'HON Mesh Task Chair',
84
- Category: 'Furniture',
85
- },
86
- {
87
- 'Order ID': 'US-2016-108967',
88
- 'Customer ID': 'AB-10015',
89
- 'Product Name': 'Avery Binder Labels',
90
- Category: 'Office Supplies',
91
- },
92
- {
93
- 'Order ID': 'CA-2015-108968',
94
- 'Customer ID': 'ML-12515',
95
- 'Product Name': 'Apple iPhone 7',
96
- Category: 'Technology',
97
- },
98
- ])
99
- </script>
1
+ <template>
2
+ <div style="width: 100%">
3
+ <div style="margin-bottom: 16px">
4
+ <el-radio-group v-model="heightMode">
5
+ <el-radio-button value="full">充满父容器 (Full)</el-radio-button>
6
+ <el-radio-button value="auto">内容自适应 (Auto)</el-radio-button>
7
+ </el-radio-group>
8
+ </div>
9
+
10
+ <div
11
+ :style="{
12
+ position: 'relative',
13
+ width: '100%',
14
+ height: heightMode === 'full' ? '500px' : 'auto',
15
+ }"
16
+ >
17
+ <j-table
18
+ :columns="columns"
19
+ :records="records"
20
+ :height-mode="heightMode"
21
+ :max-height="heightMode === 'auto' ? 300 : undefined"
22
+ />
23
+ </div>
24
+ </div>
25
+ </template>
26
+
27
+ <script setup lang="ts">
28
+ import { ref } from 'vue'
29
+
30
+ const heightMode = ref<'full' | 'auto'>('auto')
31
+
32
+ const columns = ref([
33
+ {
34
+ id: 'Order ID',
35
+ config: {
36
+ label: 'Order ID',
37
+ width: 'auto',
38
+ align: 'left',
39
+ },
40
+ },
41
+ {
42
+ id: 'Customer ID',
43
+ config: {
44
+ label: 'Customer ID',
45
+ width: 'auto',
46
+ align: 'left',
47
+ },
48
+ },
49
+ {
50
+ id: 'Product Name',
51
+ config: {
52
+ label: 'Product Name',
53
+ width: 'auto',
54
+ align: 'left',
55
+ },
56
+ },
57
+ {
58
+ id: 'Category',
59
+ config: {
60
+ label: 'Category',
61
+ width: 'auto',
62
+ align: 'left',
63
+ },
64
+ },
65
+ ])
66
+
67
+ const records = ref([
68
+ {
69
+ 'Order ID': 'CA-2016-152156',
70
+ 'Customer ID': 'CG-12520',
71
+ 'Product Name': 'Canon ImageCLASS 2200 Advanced Copier',
72
+ Category: 'Office Supplies',
73
+ },
74
+ {
75
+ 'Order ID': 'CA-2017-152157',
76
+ 'Customer ID': 'DV-13045',
77
+ 'Product Name': 'Logitech Wireless Mouse',
78
+ Category: 'Technology',
79
+ },
80
+ {
81
+ 'Order ID': 'US-2017-108966',
82
+ 'Customer ID': 'SO-20335',
83
+ 'Product Name': 'HON Mesh Task Chair',
84
+ Category: 'Furniture',
85
+ },
86
+ {
87
+ 'Order ID': 'US-2016-108967',
88
+ 'Customer ID': 'AB-10015',
89
+ 'Product Name': 'Avery Binder Labels',
90
+ Category: 'Office Supplies',
91
+ },
92
+ {
93
+ 'Order ID': 'CA-2015-108968',
94
+ 'Customer ID': 'ML-12515',
95
+ 'Product Name': 'Apple iPhone 7',
96
+ Category: 'Technology',
97
+ },
98
+ ])
99
+ </script>