@a2simcode/ui 0.0.84 → 0.0.85

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 (322) 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/simcode-ui.es.js +2 -2
  6. package/dist/simcode-ui.umd.js +2 -2
  7. package/dist/stats.html +1 -1
  8. package/dist/ui.css +1 -1
  9. package/docs/components/autocomplete.md +89 -89
  10. package/docs/components/barcode.md +101 -101
  11. package/docs/components/button-select.md +24 -24
  12. package/docs/components/button.md +117 -117
  13. package/docs/components/buttons.md +119 -119
  14. package/docs/components/cascader-select.md +114 -114
  15. package/docs/components/checkbox.md +114 -114
  16. package/docs/components/code-mirror.md +85 -85
  17. package/docs/components/collapse.md +26 -26
  18. package/docs/components/comp.md +71 -71
  19. package/docs/components/count-up.md +24 -24
  20. package/docs/components/count.md +24 -24
  21. package/docs/components/data-panel.md +24 -24
  22. package/docs/components/date.md +76 -76
  23. package/docs/components/dialog-full.md +112 -112
  24. package/docs/components/dialog.md +127 -127
  25. package/docs/components/divider.md +24 -24
  26. package/docs/components/drawer.md +127 -127
  27. package/docs/components/dynamic-layer.md +118 -118
  28. package/docs/components/echarts.md +72 -72
  29. package/docs/components/editor.md +24 -24
  30. package/docs/components/form.md +27 -27
  31. package/docs/components/guid.md +39 -39
  32. package/docs/components/hpanel.md +24 -24
  33. package/docs/components/icon.md +56 -56
  34. package/docs/components/input-button.md +24 -24
  35. package/docs/components/input-code.md +24 -24
  36. package/docs/components/input-color.md +114 -114
  37. package/docs/components/input-layer.md +26 -26
  38. package/docs/components/input-rows.md +370 -370
  39. package/docs/components/input-tag.md +50 -50
  40. package/docs/components/input.md +129 -129
  41. package/docs/components/layer-form.md +61 -61
  42. package/docs/components/layer.md +127 -127
  43. package/docs/components/layout.md +132 -132
  44. package/docs/components/map.md +24 -24
  45. package/docs/components/menu.md +121 -121
  46. package/docs/components/meta/button.ts +212 -212
  47. package/docs/components/meta/buttons.ts +76 -76
  48. package/docs/components/meta/comp.ts +242 -242
  49. package/docs/components/meta/date.ts +256 -256
  50. package/docs/components/meta/echarts.ts +64 -64
  51. package/docs/components/meta/form.ts +165 -165
  52. package/docs/components/meta/input-cards.ts +112 -112
  53. package/docs/components/meta/input-color.ts +243 -243
  54. package/docs/components/meta/input-rows.ts +113 -113
  55. package/docs/components/meta/layer-form.ts +56 -56
  56. package/docs/components/meta/map.ts +68 -68
  57. package/docs/components/meta/page.ts +46 -46
  58. package/docs/components/meta/panel.ts +152 -152
  59. package/docs/components/meta/slider.ts +270 -270
  60. package/docs/components/meta/table.ts +363 -363
  61. package/docs/components/meta/tabs.ts +146 -146
  62. package/docs/components/meta/tree-select.ts +199 -199
  63. package/docs/components/meta/workflow-viewer.ts +55 -55
  64. package/docs/components/meta/workflow.ts +113 -113
  65. package/docs/components/number.md +124 -124
  66. package/docs/components/page.md +87 -87
  67. package/docs/components/panel.md +37 -37
  68. package/docs/components/radio.md +87 -87
  69. package/docs/components/rate.md +71 -71
  70. package/docs/components/select.md +133 -133
  71. package/docs/components/slider-captcha.md +41 -41
  72. package/docs/components/slider.md +101 -101
  73. package/docs/components/switch.md +90 -90
  74. package/docs/components/table-panel.md +218 -218
  75. package/docs/components/table.md +319 -319
  76. package/docs/components/tabs.md +26 -26
  77. package/docs/components/title.md +24 -24
  78. package/docs/components/tree.md +207 -207
  79. package/docs/components/upload.md +117 -117
  80. package/docs/components/workflow-viewer.md +21 -21
  81. package/docs/components/workflow.md +21 -21
  82. package/docs/examples/autocomplete/advanced.vue +35 -35
  83. package/docs/examples/autocomplete/basic.vue +32 -32
  84. package/docs/examples/autocomplete/clearable.vue +33 -33
  85. package/docs/examples/autocomplete/custom-template.vue +49 -49
  86. package/docs/examples/autocomplete/disabled.vue +33 -33
  87. package/docs/examples/autocomplete/icon.vue +37 -37
  88. package/docs/examples/barcode/all-types.vue +380 -380
  89. package/docs/examples/barcode/basic.vue +14 -14
  90. package/docs/examples/barcode/props-appearance.vue +243 -243
  91. package/docs/examples/barcode/props-geometry.vue +143 -143
  92. package/docs/examples/barcode/props-logic.vue +216 -216
  93. package/docs/examples/barcode/props-symbology.vue +199 -199
  94. package/docs/examples/barcode/props-text.vue +268 -268
  95. package/docs/examples/button/basic.vue +7 -7
  96. package/docs/examples/button/danger-ghost.vue +17 -17
  97. package/docs/examples/button/disabled.vue +10 -10
  98. package/docs/examples/button/loading.vue +6 -6
  99. package/docs/examples/button/shape.vue +7 -7
  100. package/docs/examples/button/size.vue +14 -14
  101. package/docs/examples/button/type.vue +9 -9
  102. package/docs/examples/button-select/basic.vue +19 -19
  103. package/docs/examples/buttons/basic.vue +45 -45
  104. package/docs/examples/buttons/disabled.vue +36 -36
  105. package/docs/examples/buttons/dropdown.vue +63 -63
  106. package/docs/examples/buttons/group.vue +52 -52
  107. package/docs/examples/buttons/link.vue +47 -47
  108. package/docs/examples/buttons/popup.vue +39 -39
  109. package/docs/examples/buttons/size.vue +45 -45
  110. package/docs/examples/cascader-select/basic.vue +28 -28
  111. package/docs/examples/cascader-select/clearable.vue +34 -34
  112. package/docs/examples/cascader-select/disabled.vue +43 -43
  113. package/docs/examples/cascader-select/filterable.vue +37 -37
  114. package/docs/examples/cascader-select/methods.vue +84 -84
  115. package/docs/examples/cascader-select/multiple.vue +38 -38
  116. package/docs/examples/cascader-select/slot.vue +45 -45
  117. package/docs/examples/checkbox/basic.vue +18 -18
  118. package/docs/examples/checkbox/button.vue +19 -19
  119. package/docs/examples/checkbox/color.vue +25 -25
  120. package/docs/examples/checkbox/disabled.vue +17 -17
  121. package/docs/examples/checkbox/min-max.vue +20 -20
  122. package/docs/examples/checkbox/mixed.vue +56 -56
  123. package/docs/examples/checkbox/size.vue +28 -28
  124. package/docs/examples/code-mirror/basic.vue +11 -11
  125. package/docs/examples/code-mirror/events.vue +42 -42
  126. package/docs/examples/code-mirror/height.vue +25 -25
  127. package/docs/examples/code-mirror/mode.vue +33 -33
  128. package/docs/examples/code-mirror/readonly.vue +14 -14
  129. package/docs/examples/collapse/basic.vue +82 -82
  130. package/docs/examples/comp/basic.vue +7 -7
  131. package/docs/examples/comp/collapse.vue +38 -38
  132. package/docs/examples/comp/tabs.vue +38 -38
  133. package/docs/examples/count/basic.vue +54 -54
  134. package/docs/examples/count-up/basic.vue +89 -89
  135. package/docs/examples/data-panel/basic.vue +110 -110
  136. package/docs/examples/date/basic.vue +73 -73
  137. package/docs/examples/date/default-value.vue +59 -59
  138. package/docs/examples/date/format.vue +75 -75
  139. package/docs/examples/date/range.vue +66 -66
  140. package/docs/examples/date/types.vue +79 -79
  141. package/docs/examples/dialog/basic.vue +36 -36
  142. package/docs/examples/dialog/custom-buttons.vue +44 -44
  143. package/docs/examples/dialog/fullscreen.vue +23 -23
  144. package/docs/examples/dialog/no-mask.vue +17 -17
  145. package/docs/examples/dialog/size.vue +44 -44
  146. package/docs/examples/dialog/steps.vue +57 -57
  147. package/docs/examples/dialog-full/basic.vue +29 -29
  148. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  149. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  150. package/docs/examples/dialog-full/no-header.vue +27 -27
  151. package/docs/examples/dialog-full/steps.vue +71 -71
  152. package/docs/examples/divider/basic.vue +52 -52
  153. package/docs/examples/drawer/basic.vue +35 -35
  154. package/docs/examples/drawer/custom-buttons.vue +34 -34
  155. package/docs/examples/drawer/direction.vue +47 -47
  156. package/docs/examples/drawer/mask.vue +36 -36
  157. package/docs/examples/drawer/no-buttons.vue +20 -20
  158. package/docs/examples/drawer/size.vue +28 -28
  159. package/docs/examples/dynamic-layer/basic.vue +33 -33
  160. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  161. package/docs/examples/dynamic-layer/form.vue +73 -73
  162. package/docs/examples/dynamic-layer/steps.vue +52 -52
  163. package/docs/examples/dynamic-layer/types.vue +40 -40
  164. package/docs/examples/echarts/basic.vue +31 -31
  165. package/docs/examples/echarts/dynamic.vue +43 -43
  166. package/docs/examples/echarts/line.vue +46 -46
  167. package/docs/examples/echarts/pie.vue +44 -44
  168. package/docs/examples/editor/basic.vue +15 -15
  169. package/docs/examples/form/basic.vue +456 -456
  170. package/docs/examples/guid/basic.vue +10 -10
  171. package/docs/examples/guid/size.vue +13 -13
  172. package/docs/examples/hpanel/basic.vue +79 -79
  173. package/docs/examples/icon/basic.vue +9 -9
  174. package/docs/examples/icon/rotate-flip.vue +9 -9
  175. package/docs/examples/icon/size.vue +7 -7
  176. package/docs/examples/input/basic.vue +10 -10
  177. package/docs/examples/input/clearable.vue +12 -12
  178. package/docs/examples/input/disabled.vue +6 -6
  179. package/docs/examples/input/icon.vue +23 -23
  180. package/docs/examples/input/password.vue +18 -18
  181. package/docs/examples/input/size.vue +13 -13
  182. package/docs/examples/input/textarea.vue +25 -25
  183. package/docs/examples/input/word-limit.vue +28 -28
  184. package/docs/examples/input-button/basic.vue +33 -33
  185. package/docs/examples/input-code/basic.vue +29 -29
  186. package/docs/examples/input-color/basic.vue +10 -10
  187. package/docs/examples/input-color/disabled.vue +13 -13
  188. package/docs/examples/input-color/format.vue +17 -17
  189. package/docs/examples/input-color/no-alpha.vue +13 -13
  190. package/docs/examples/input-color/only-button.vue +15 -15
  191. package/docs/examples/input-color/predefine.vue +31 -31
  192. package/docs/examples/input-color/size.vue +15 -15
  193. package/docs/examples/input-layer/basic.vue +69 -69
  194. package/docs/examples/input-rows/basic.vue +73 -73
  195. package/docs/examples/input-rows/drag.vue +48 -48
  196. package/docs/examples/input-rows/layer-form.vue +85 -85
  197. package/docs/examples/input-rows/nested.vue +91 -91
  198. package/docs/examples/input-tag/basic.vue +27 -27
  199. package/docs/examples/input-tag/colors.vue +23 -23
  200. package/docs/examples/input-tag/readonly.vue +17 -17
  201. package/docs/examples/layer/basic.vue +43 -43
  202. package/docs/examples/layer/custom-buttons.vue +61 -61
  203. package/docs/examples/layer/drawer.vue +37 -37
  204. package/docs/examples/layer/full.vue +38 -38
  205. package/docs/examples/layer/modal.vue +34 -34
  206. package/docs/examples/layer/steps.vue +46 -46
  207. package/docs/examples/layer-form/basic.vue +76 -76
  208. package/docs/examples/layer-form/config.vue +82 -82
  209. package/docs/examples/layer-form/size.vue +72 -72
  210. package/docs/examples/layout/basic.vue +36 -36
  211. package/docs/examples/layout/custom-size.vue +50 -50
  212. package/docs/examples/layout/disable-move.vue +37 -37
  213. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  214. package/docs/examples/layout/min-size.vue +73 -73
  215. package/docs/examples/layout/percent-size.vue +80 -80
  216. package/docs/examples/layout/simple.vue +22 -22
  217. package/docs/examples/layout/top-side.vue +34 -34
  218. package/docs/examples/map/basic.vue +22 -22
  219. package/docs/examples/menu/basic.vue +58 -58
  220. package/docs/examples/menu/collapsed.vue +49 -49
  221. package/docs/examples/menu/horizontal.vue +44 -44
  222. package/docs/examples/menu/selection-test.vue +104 -104
  223. package/docs/examples/menu/theme.vue +46 -46
  224. package/docs/examples/menu/vertical.vue +46 -46
  225. package/docs/examples/number/advanced.vue +143 -143
  226. package/docs/examples/number/basic.vue +63 -63
  227. package/docs/examples/number/disabled.vue +49 -49
  228. package/docs/examples/number/size.vue +42 -42
  229. package/docs/examples/number/slots.vue +123 -123
  230. package/docs/examples/number/step-strictly.vue +41 -41
  231. package/docs/examples/number/step.vue +47 -47
  232. package/docs/examples/page/basic.vue +41 -41
  233. package/docs/examples/page/dept-user-management.vue +211 -211
  234. package/docs/examples/page/init.vue +87 -87
  235. package/docs/examples/page/log.vue +453 -453
  236. package/docs/examples/page/user-management.vue +313 -313
  237. package/docs/examples/panel/tool-buttons.vue +18 -18
  238. package/docs/examples/radio/basic.vue +17 -17
  239. package/docs/examples/radio/button.vue +17 -17
  240. package/docs/examples/radio/color.vue +18 -18
  241. package/docs/examples/radio/disabled.vue +17 -17
  242. package/docs/examples/radio/size.vue +29 -29
  243. package/docs/examples/rate/basic.vue +24 -24
  244. package/docs/examples/rate/half.vue +24 -24
  245. package/docs/examples/rate/readonly.vue +11 -11
  246. package/docs/examples/rate/text.vue +32 -32
  247. package/docs/examples/select/basic.vue +16 -16
  248. package/docs/examples/select/clearable.vue +22 -22
  249. package/docs/examples/select/disabled.vue +31 -31
  250. package/docs/examples/select/filterable.vue +24 -24
  251. package/docs/examples/select/group.vue +23 -23
  252. package/docs/examples/select/icon.vue +16 -16
  253. package/docs/examples/select/multiple.vue +18 -18
  254. package/docs/examples/select/size.vue +39 -39
  255. package/docs/examples/slider/basic.vue +42 -42
  256. package/docs/examples/slider/disabled.vue +17 -17
  257. package/docs/examples/slider/marks.vue +30 -30
  258. package/docs/examples/slider/size.vue +37 -37
  259. package/docs/examples/slider/tooltip.vue +36 -36
  260. package/docs/examples/slider/vertical.vue +26 -26
  261. package/docs/examples/slider-captcha/basic.vue +44 -44
  262. package/docs/examples/slider-captcha/custom.vue +48 -48
  263. package/docs/examples/switch/basic.vue +16 -16
  264. package/docs/examples/switch/disabled.vue +13 -13
  265. package/docs/examples/switch/loading.vue +13 -13
  266. package/docs/examples/switch/size.vue +15 -15
  267. package/docs/examples/switch/text.vue +13 -13
  268. package/docs/examples/table/actions.vue +116 -116
  269. package/docs/examples/table/add-row.vue +103 -103
  270. package/docs/examples/table/basic.vue +168 -168
  271. package/docs/examples/table/custom-layout.vue +115 -115
  272. package/docs/examples/table/editable.vue +262 -262
  273. package/docs/examples/table/field-selection.vue +87 -87
  274. package/docs/examples/table/frozen-column.vue +140 -140
  275. package/docs/examples/table/height-mode.vue +99 -99
  276. package/docs/examples/table/icon.vue +85 -85
  277. package/docs/examples/table/link.vue +66 -66
  278. package/docs/examples/table/multiple.vue +178 -178
  279. package/docs/examples/table/pagination.vue +151 -151
  280. package/docs/examples/table/single-selection.vue +64 -64
  281. package/docs/examples/table/sub-table-lazy.vue +97 -97
  282. package/docs/examples/table/sub-table.vue +103 -103
  283. package/docs/examples/table/tag.vue +43 -43
  284. package/docs/examples/table/tree-column.vue +119 -119
  285. package/docs/examples/table/tree-data.vue +141 -141
  286. package/docs/examples/table/tree-lazy.vue +80 -80
  287. package/docs/examples/table-panel/basic.vue +228 -228
  288. package/docs/examples/table-panel/batch-operations.vue +285 -285
  289. package/docs/examples/table-panel/filter.vue +219 -219
  290. package/docs/examples/table-panel/multiple-selection.vue +243 -243
  291. package/docs/examples/table-panel/pagination.vue +133 -133
  292. package/docs/examples/table-panel/sub-table-lazy.vue +118 -118
  293. package/docs/examples/tabs/basic.vue +98 -98
  294. package/docs/examples/title/basic.vue +80 -80
  295. package/docs/examples/tree/accordion.vue +46 -46
  296. package/docs/examples/tree/basic.vue +50 -50
  297. package/docs/examples/tree/buttons.vue +53 -53
  298. package/docs/examples/tree/checkable.vue +52 -52
  299. package/docs/examples/tree/custom-keys.vue +39 -39
  300. package/docs/examples/tree/default-expanded.vue +52 -52
  301. package/docs/examples/tree/draggable.vue +29 -29
  302. package/docs/examples/tree/expand-on-click.vue +39 -39
  303. package/docs/examples/tree/flat-data.vue +20 -20
  304. package/docs/examples/tree/icon.vue +40 -40
  305. package/docs/examples/tree/load-data.vue +37 -37
  306. package/docs/examples/tree/methods.vue +74 -74
  307. package/docs/examples/tree/theme.vue +33 -33
  308. package/docs/examples/upload/accept.vue +31 -31
  309. package/docs/examples/upload/basic.vue +12 -12
  310. package/docs/examples/upload/drag.vue +11 -11
  311. package/docs/examples/upload/image.vue +17 -17
  312. package/docs/examples/upload/limit.vue +20 -20
  313. package/docs/examples/upload/multiple.vue +17 -17
  314. package/docs/examples/upload/readonly.vue +17 -17
  315. package/docs/examples/utils/cipher.vue +160 -160
  316. package/docs/examples/utils/common.vue +153 -153
  317. package/docs/examples/utils/date.vue +56 -56
  318. package/docs/examples/utils/dom.vue +52 -52
  319. package/docs/examples/utils/is.vue +70 -70
  320. package/docs/examples/workflow/basic.vue +265 -265
  321. package/docs/examples/workflow-viewer/basic.vue +248 -248
  322. package/package.json +23 -23
@@ -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>