@a2simcode/ui 0.0.83 → 0.0.84

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