@a2simcode/ui 0.0.108 → 0.0.109

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 (330) 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/table/index.d.ts +15 -0
  6. package/dist/components/table/src/table.vue.d.ts +15 -0
  7. package/dist/simcode-ui.es.js +247 -242
  8. package/dist/simcode-ui.umd.js +2 -2
  9. package/dist/stats.html +1 -1
  10. package/dist/ui.css +1 -1
  11. package/docs/components/autocomplete.md +89 -89
  12. package/docs/components/barcode.md +101 -101
  13. package/docs/components/button-select.md +24 -24
  14. package/docs/components/button.md +117 -117
  15. package/docs/components/buttons.md +119 -119
  16. package/docs/components/cascader-select.md +114 -114
  17. package/docs/components/checkbox.md +114 -114
  18. package/docs/components/code-mirror.md +85 -85
  19. package/docs/components/collapse.md +26 -26
  20. package/docs/components/comp.md +71 -71
  21. package/docs/components/count-up.md +24 -24
  22. package/docs/components/count.md +24 -24
  23. package/docs/components/data-panel.md +24 -24
  24. package/docs/components/date.md +76 -76
  25. package/docs/components/dialog-full.md +112 -112
  26. package/docs/components/dialog.md +127 -127
  27. package/docs/components/divider.md +24 -24
  28. package/docs/components/drawer.md +127 -127
  29. package/docs/components/dynamic-layer.md +118 -118
  30. package/docs/components/echarts.md +72 -72
  31. package/docs/components/editor.md +24 -24
  32. package/docs/components/form.md +27 -27
  33. package/docs/components/guid.md +39 -39
  34. package/docs/components/hpanel.md +24 -24
  35. package/docs/components/icon.md +56 -56
  36. package/docs/components/input-button.md +24 -24
  37. package/docs/components/input-code.md +24 -24
  38. package/docs/components/input-color.md +114 -114
  39. package/docs/components/input-layer.md +26 -26
  40. package/docs/components/input-rows.md +370 -370
  41. package/docs/components/input-tag.md +50 -50
  42. package/docs/components/input.md +129 -129
  43. package/docs/components/layer-form.md +61 -61
  44. package/docs/components/layer.md +127 -127
  45. package/docs/components/layout.md +132 -132
  46. package/docs/components/map.md +24 -24
  47. package/docs/components/menu.md +121 -121
  48. package/docs/components/meta/autocomplete.ts +11 -0
  49. package/docs/components/meta/buttons.ts +76 -76
  50. package/docs/components/meta/comp.ts +236 -236
  51. package/docs/components/meta/date.ts +256 -256
  52. package/docs/components/meta/echarts.ts +64 -64
  53. package/docs/components/meta/form.ts +165 -165
  54. package/docs/components/meta/input-cards.ts +112 -112
  55. package/docs/components/meta/input-color.ts +243 -243
  56. package/docs/components/meta/input-rows.ts +113 -113
  57. package/docs/components/meta/layer-form.ts +56 -56
  58. package/docs/components/meta/map.ts +68 -68
  59. package/docs/components/meta/panel.ts +152 -152
  60. package/docs/components/meta/slider.ts +270 -270
  61. package/docs/components/meta/table-panel.ts +220 -220
  62. package/docs/components/meta/table.ts +380 -380
  63. package/docs/components/meta/tabs.ts +146 -146
  64. package/docs/components/meta/tree-select.ts +199 -199
  65. package/docs/components/meta/workflow-viewer.ts +55 -55
  66. package/docs/components/number.md +124 -124
  67. package/docs/components/page.md +87 -87
  68. package/docs/components/panel.md +37 -37
  69. package/docs/components/radio.md +87 -87
  70. package/docs/components/rate.md +71 -71
  71. package/docs/components/select.md +133 -133
  72. package/docs/components/slider-captcha.md +41 -41
  73. package/docs/components/slider.md +101 -101
  74. package/docs/components/switch.md +90 -90
  75. package/docs/components/table-panel.md +236 -236
  76. package/docs/components/table.md +378 -378
  77. package/docs/components/tabs.md +26 -26
  78. package/docs/components/title.md +24 -24
  79. package/docs/components/tree.md +207 -207
  80. package/docs/components/upload.md +117 -117
  81. package/docs/components/workflow-viewer.md +21 -21
  82. package/docs/components/workflow.md +21 -21
  83. package/docs/examples/autocomplete/advanced.vue +35 -35
  84. package/docs/examples/autocomplete/basic.vue +32 -32
  85. package/docs/examples/autocomplete/clearable.vue +33 -33
  86. package/docs/examples/autocomplete/custom-template.vue +49 -49
  87. package/docs/examples/autocomplete/disabled.vue +33 -33
  88. package/docs/examples/autocomplete/icon.vue +37 -37
  89. package/docs/examples/barcode/all-types.vue +380 -380
  90. package/docs/examples/barcode/basic.vue +14 -14
  91. package/docs/examples/barcode/props-appearance.vue +243 -243
  92. package/docs/examples/barcode/props-geometry.vue +143 -143
  93. package/docs/examples/barcode/props-logic.vue +216 -216
  94. package/docs/examples/barcode/props-symbology.vue +199 -199
  95. package/docs/examples/barcode/props-text.vue +268 -268
  96. package/docs/examples/button/basic.vue +7 -7
  97. package/docs/examples/button/danger-ghost.vue +17 -17
  98. package/docs/examples/button/disabled.vue +10 -10
  99. package/docs/examples/button/loading.vue +6 -6
  100. package/docs/examples/button/shape.vue +7 -7
  101. package/docs/examples/button/size.vue +14 -14
  102. package/docs/examples/button/type.vue +9 -9
  103. package/docs/examples/button-select/basic.vue +19 -19
  104. package/docs/examples/buttons/basic.vue +45 -45
  105. package/docs/examples/buttons/disabled.vue +36 -36
  106. package/docs/examples/buttons/dropdown.vue +63 -63
  107. package/docs/examples/buttons/group.vue +52 -52
  108. package/docs/examples/buttons/link.vue +47 -47
  109. package/docs/examples/buttons/popup.vue +39 -39
  110. package/docs/examples/buttons/size.vue +45 -45
  111. package/docs/examples/cascader-select/basic.vue +28 -28
  112. package/docs/examples/cascader-select/clearable.vue +34 -34
  113. package/docs/examples/cascader-select/disabled.vue +43 -43
  114. package/docs/examples/cascader-select/filterable.vue +37 -37
  115. package/docs/examples/cascader-select/methods.vue +84 -84
  116. package/docs/examples/cascader-select/multiple.vue +38 -38
  117. package/docs/examples/cascader-select/slot.vue +45 -45
  118. package/docs/examples/checkbox/basic.vue +18 -18
  119. package/docs/examples/checkbox/button.vue +19 -19
  120. package/docs/examples/checkbox/color.vue +25 -25
  121. package/docs/examples/checkbox/disabled.vue +17 -17
  122. package/docs/examples/checkbox/min-max.vue +20 -20
  123. package/docs/examples/checkbox/mixed.vue +56 -56
  124. package/docs/examples/checkbox/size.vue +28 -28
  125. package/docs/examples/code-mirror/basic.vue +11 -11
  126. package/docs/examples/code-mirror/events.vue +42 -42
  127. package/docs/examples/code-mirror/height.vue +25 -25
  128. package/docs/examples/code-mirror/mode.vue +33 -33
  129. package/docs/examples/code-mirror/readonly.vue +14 -14
  130. package/docs/examples/collapse/basic.vue +82 -82
  131. package/docs/examples/comp/basic.vue +7 -7
  132. package/docs/examples/comp/collapse.vue +38 -38
  133. package/docs/examples/comp/tabs.vue +38 -38
  134. package/docs/examples/count/basic.vue +101 -101
  135. package/docs/examples/count-up/basic.vue +89 -89
  136. package/docs/examples/data-panel/basic.vue +110 -110
  137. package/docs/examples/date/basic.vue +73 -73
  138. package/docs/examples/date/default-value.vue +59 -59
  139. package/docs/examples/date/format.vue +75 -75
  140. package/docs/examples/date/range.vue +66 -66
  141. package/docs/examples/date/types.vue +79 -79
  142. package/docs/examples/dialog/basic.vue +36 -36
  143. package/docs/examples/dialog/custom-buttons.vue +44 -44
  144. package/docs/examples/dialog/fullscreen.vue +23 -23
  145. package/docs/examples/dialog/no-mask.vue +17 -17
  146. package/docs/examples/dialog/size.vue +44 -44
  147. package/docs/examples/dialog/steps.vue +57 -57
  148. package/docs/examples/dialog-full/basic.vue +29 -29
  149. package/docs/examples/dialog-full/custom-buttons.vue +45 -45
  150. package/docs/examples/dialog-full/no-buttons.vue +18 -18
  151. package/docs/examples/dialog-full/no-header.vue +27 -27
  152. package/docs/examples/dialog-full/steps.vue +71 -71
  153. package/docs/examples/divider/basic.vue +52 -52
  154. package/docs/examples/drawer/basic.vue +35 -35
  155. package/docs/examples/drawer/custom-buttons.vue +34 -34
  156. package/docs/examples/drawer/direction.vue +47 -47
  157. package/docs/examples/drawer/mask.vue +36 -36
  158. package/docs/examples/drawer/no-buttons.vue +20 -20
  159. package/docs/examples/drawer/size.vue +28 -28
  160. package/docs/examples/dynamic-layer/basic.vue +33 -33
  161. package/docs/examples/dynamic-layer/custom-buttons.vue +43 -43
  162. package/docs/examples/dynamic-layer/form.vue +73 -73
  163. package/docs/examples/dynamic-layer/steps.vue +52 -52
  164. package/docs/examples/dynamic-layer/types.vue +40 -40
  165. package/docs/examples/echarts/basic.vue +31 -31
  166. package/docs/examples/echarts/dynamic.vue +43 -43
  167. package/docs/examples/echarts/line.vue +46 -46
  168. package/docs/examples/echarts/pie.vue +44 -44
  169. package/docs/examples/editor/basic.vue +15 -15
  170. package/docs/examples/form/basic.vue +459 -459
  171. package/docs/examples/guid/basic.vue +10 -10
  172. package/docs/examples/guid/size.vue +13 -13
  173. package/docs/examples/hpanel/basic.vue +79 -79
  174. package/docs/examples/icon/basic.vue +9 -9
  175. package/docs/examples/icon/rotate-flip.vue +9 -9
  176. package/docs/examples/icon/size.vue +7 -7
  177. package/docs/examples/input/basic.vue +10 -10
  178. package/docs/examples/input/clearable.vue +12 -12
  179. package/docs/examples/input/disabled.vue +6 -6
  180. package/docs/examples/input/icon.vue +23 -23
  181. package/docs/examples/input/password.vue +18 -18
  182. package/docs/examples/input/size.vue +13 -13
  183. package/docs/examples/input/textarea.vue +25 -25
  184. package/docs/examples/input/word-limit.vue +28 -28
  185. package/docs/examples/input-button/basic.vue +33 -33
  186. package/docs/examples/input-code/basic.vue +29 -29
  187. package/docs/examples/input-color/basic.vue +10 -10
  188. package/docs/examples/input-color/disabled.vue +13 -13
  189. package/docs/examples/input-color/format.vue +17 -17
  190. package/docs/examples/input-color/no-alpha.vue +13 -13
  191. package/docs/examples/input-color/only-button.vue +15 -15
  192. package/docs/examples/input-color/predefine.vue +31 -31
  193. package/docs/examples/input-color/size.vue +15 -15
  194. package/docs/examples/input-layer/basic.vue +69 -69
  195. package/docs/examples/input-rows/basic.vue +73 -73
  196. package/docs/examples/input-rows/drag.vue +48 -48
  197. package/docs/examples/input-rows/layer-form.vue +85 -85
  198. package/docs/examples/input-rows/nested.vue +91 -91
  199. package/docs/examples/input-tag/basic.vue +27 -27
  200. package/docs/examples/input-tag/colors.vue +23 -23
  201. package/docs/examples/input-tag/readonly.vue +17 -17
  202. package/docs/examples/layer/basic.vue +43 -43
  203. package/docs/examples/layer/custom-buttons.vue +61 -61
  204. package/docs/examples/layer/drawer.vue +37 -37
  205. package/docs/examples/layer/full.vue +38 -38
  206. package/docs/examples/layer/modal.vue +34 -34
  207. package/docs/examples/layer/steps.vue +46 -46
  208. package/docs/examples/layer-form/basic.vue +76 -76
  209. package/docs/examples/layer-form/config.vue +82 -82
  210. package/docs/examples/layer-form/size.vue +72 -72
  211. package/docs/examples/layout/basic.vue +36 -36
  212. package/docs/examples/layout/custom-size.vue +50 -50
  213. package/docs/examples/layout/disable-move.vue +37 -37
  214. package/docs/examples/layout/hide-mid-when-narrow.vue +96 -96
  215. package/docs/examples/layout/min-size.vue +73 -73
  216. package/docs/examples/layout/percent-size.vue +80 -80
  217. package/docs/examples/layout/simple.vue +22 -22
  218. package/docs/examples/layout/top-side.vue +34 -34
  219. package/docs/examples/map/basic.vue +22 -22
  220. package/docs/examples/menu/basic.vue +58 -58
  221. package/docs/examples/menu/collapsed.vue +49 -49
  222. package/docs/examples/menu/horizontal.vue +44 -44
  223. package/docs/examples/menu/selection-test.vue +104 -104
  224. package/docs/examples/menu/theme.vue +46 -46
  225. package/docs/examples/menu/vertical.vue +46 -46
  226. package/docs/examples/number/advanced.vue +143 -143
  227. package/docs/examples/number/basic.vue +63 -63
  228. package/docs/examples/number/disabled.vue +49 -49
  229. package/docs/examples/number/size.vue +42 -42
  230. package/docs/examples/number/slots.vue +123 -123
  231. package/docs/examples/number/step-strictly.vue +41 -41
  232. package/docs/examples/number/step.vue +47 -47
  233. package/docs/examples/page/basic.vue +41 -41
  234. package/docs/examples/page/dept-user-management.vue +211 -211
  235. package/docs/examples/page/init.vue +87 -87
  236. package/docs/examples/page/log.vue +453 -453
  237. package/docs/examples/page/user-management.vue +313 -313
  238. package/docs/examples/panel/tool-buttons.vue +18 -18
  239. package/docs/examples/radio/basic.vue +17 -17
  240. package/docs/examples/radio/button.vue +17 -17
  241. package/docs/examples/radio/color.vue +18 -18
  242. package/docs/examples/radio/disabled.vue +17 -17
  243. package/docs/examples/radio/size.vue +29 -29
  244. package/docs/examples/rate/basic.vue +24 -24
  245. package/docs/examples/rate/half.vue +24 -24
  246. package/docs/examples/rate/readonly.vue +11 -11
  247. package/docs/examples/rate/text.vue +32 -32
  248. package/docs/examples/select/basic.vue +16 -16
  249. package/docs/examples/select/clearable.vue +22 -22
  250. package/docs/examples/select/disabled.vue +31 -31
  251. package/docs/examples/select/filterable.vue +24 -24
  252. package/docs/examples/select/group.vue +23 -23
  253. package/docs/examples/select/icon.vue +16 -16
  254. package/docs/examples/select/multiple.vue +18 -18
  255. package/docs/examples/select/size.vue +39 -39
  256. package/docs/examples/slider/basic.vue +42 -42
  257. package/docs/examples/slider/disabled.vue +17 -17
  258. package/docs/examples/slider/marks.vue +30 -30
  259. package/docs/examples/slider/size.vue +37 -37
  260. package/docs/examples/slider/tooltip.vue +36 -36
  261. package/docs/examples/slider/vertical.vue +26 -26
  262. package/docs/examples/slider-captcha/basic.vue +44 -44
  263. package/docs/examples/slider-captcha/custom.vue +48 -48
  264. package/docs/examples/switch/basic.vue +16 -16
  265. package/docs/examples/switch/disabled.vue +13 -13
  266. package/docs/examples/switch/loading.vue +13 -13
  267. package/docs/examples/switch/size.vue +15 -15
  268. package/docs/examples/switch/text.vue +13 -13
  269. package/docs/examples/table/action-filter.vue +126 -126
  270. package/docs/examples/table/actions.vue +116 -116
  271. package/docs/examples/table/add-row.vue +103 -103
  272. package/docs/examples/table/basic.vue +168 -168
  273. package/docs/examples/table/checkbox-layout.vue +68 -68
  274. package/docs/examples/table/custom-layout.vue +115 -115
  275. package/docs/examples/table/editable.vue +262 -262
  276. package/docs/examples/table/field-selection.vue +87 -87
  277. package/docs/examples/table/frozen-column.vue +140 -140
  278. package/docs/examples/table/height-mode.vue +99 -99
  279. package/docs/examples/table/icon.vue +85 -85
  280. package/docs/examples/table/link.vue +66 -66
  281. package/docs/examples/table/multiple.vue +178 -178
  282. package/docs/examples/table/pagination.vue +151 -151
  283. package/docs/examples/table/single-selection.vue +64 -64
  284. package/docs/examples/table/sub-table-lazy.vue +97 -97
  285. package/docs/examples/table/sub-table.vue +103 -103
  286. package/docs/examples/table/tag.vue +43 -43
  287. package/docs/examples/table/tree-column.vue +119 -119
  288. package/docs/examples/table/tree-data.vue +141 -141
  289. package/docs/examples/table/tree-default-expand-all.vue +60 -60
  290. package/docs/examples/table/tree-lazy.vue +80 -80
  291. package/docs/examples/table/tree-set-selection.vue +75 -75
  292. package/docs/examples/table-panel/basic.vue +228 -228
  293. package/docs/examples/table-panel/batch-operations.vue +285 -285
  294. package/docs/examples/table-panel/button-visibility.vue +88 -88
  295. package/docs/examples/table-panel/filter.vue +219 -219
  296. package/docs/examples/table-panel/get-selection.vue +111 -111
  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/table-panel/tree-parent-key.vue +67 -67
  301. package/docs/examples/tabs/basic.vue +98 -98
  302. package/docs/examples/title/basic.vue +80 -80
  303. package/docs/examples/tree/accordion.vue +46 -46
  304. package/docs/examples/tree/basic.vue +50 -50
  305. package/docs/examples/tree/buttons.vue +53 -53
  306. package/docs/examples/tree/checkable.vue +52 -52
  307. package/docs/examples/tree/custom-keys.vue +39 -39
  308. package/docs/examples/tree/default-expanded.vue +52 -52
  309. package/docs/examples/tree/draggable.vue +29 -29
  310. package/docs/examples/tree/expand-on-click.vue +39 -39
  311. package/docs/examples/tree/flat-data.vue +20 -20
  312. package/docs/examples/tree/icon.vue +40 -40
  313. package/docs/examples/tree/load-data.vue +37 -37
  314. package/docs/examples/tree/methods.vue +74 -74
  315. package/docs/examples/tree/theme.vue +33 -33
  316. package/docs/examples/upload/accept.vue +31 -31
  317. package/docs/examples/upload/basic.vue +12 -12
  318. package/docs/examples/upload/drag.vue +11 -11
  319. package/docs/examples/upload/image.vue +17 -17
  320. package/docs/examples/upload/limit.vue +20 -20
  321. package/docs/examples/upload/multiple.vue +17 -17
  322. package/docs/examples/upload/readonly.vue +17 -17
  323. package/docs/examples/utils/cipher.vue +160 -160
  324. package/docs/examples/utils/common.vue +153 -153
  325. package/docs/examples/utils/date.vue +56 -56
  326. package/docs/examples/utils/dom.vue +52 -52
  327. package/docs/examples/utils/is.vue +70 -70
  328. package/docs/examples/workflow/basic.vue +265 -265
  329. package/docs/examples/workflow-viewer/basic.vue +248 -248
  330. package/package.json +23 -23
@@ -1,98 +1,98 @@
1
- <template>
2
- <div class="tabs-demo">
3
- <div class="demo-item">
4
- <p>基础用法</p>
5
- <j-tabs v-model="activeName1">
6
- <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
7
- <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
8
- <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
9
- <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
10
- </j-tabs>
11
- </div>
12
-
13
- <div class="demo-item">
14
- <p>卡片风格</p>
15
- <j-tabs v-model="activeName2" type="card">
16
- <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
17
- <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
18
- <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
19
- <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
20
- </j-tabs>
21
- </div>
22
-
23
- <div class="demo-item">
24
- <p>边框卡片风格</p>
25
- <j-tabs v-model="activeName3" type="border-card">
26
- <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
27
- <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
28
- <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
29
- <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
30
- </j-tabs>
31
- </div>
32
-
33
- <div class="demo-item" style="height: 300px">
34
- <p>标签位置</p>
35
- <div class="j-block" style="height: 0; flex: 1">
36
- <j-tabs v-model="activeName4" tab-position="left">
37
- <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
38
- <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
39
- <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
40
- <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
41
- </j-tabs>
42
- </div>
43
- </div>
44
-
45
- <div class="demo-item">
46
- <p>可关闭标签</p>
47
- <j-tabs v-model="activeName5" type="card" closable>
48
- <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
49
- <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
50
- <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
51
- <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
52
- </j-tabs>
53
- </div>
54
-
55
- <div class="demo-item">
56
- <p>可增加标签</p>
57
- <j-tabs v-model="activeName6" type="card" addable>
58
- <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
59
- <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
60
- <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
61
- <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
62
- </j-tabs>
63
- </div>
64
- </div>
65
- </template>
66
-
67
- <script setup lang="ts">
68
- import { ref } from 'vue'
69
-
70
- const activeName1 = ref('first')
71
- const activeName2 = ref('first')
72
- const activeName3 = ref('first')
73
- const activeName4 = ref('first')
74
- const activeName5 = ref('first')
75
- const activeName6 = ref('first')
76
- </script>
77
-
78
- <style scoped>
79
- .tabs-demo {
80
- display: flex;
81
- flex-direction: column;
82
- gap: 24px;
83
- }
84
-
85
- .demo-item p {
86
- margin: 0 0 12px;
87
- font-size: 14px;
88
- color: var(--j-color-text-2);
89
- font-weight: 500;
90
- }
91
-
92
- .demo-item {
93
- position: relative;
94
- width: 100%;
95
- display: flex;
96
- flex-direction: column;
97
- }
98
- </style>
1
+ <template>
2
+ <div class="tabs-demo">
3
+ <div class="demo-item">
4
+ <p>基础用法</p>
5
+ <j-tabs v-model="activeName1">
6
+ <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
7
+ <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
8
+ <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
9
+ <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
10
+ </j-tabs>
11
+ </div>
12
+
13
+ <div class="demo-item">
14
+ <p>卡片风格</p>
15
+ <j-tabs v-model="activeName2" type="card">
16
+ <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
17
+ <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
18
+ <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
19
+ <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
20
+ </j-tabs>
21
+ </div>
22
+
23
+ <div class="demo-item">
24
+ <p>边框卡片风格</p>
25
+ <j-tabs v-model="activeName3" type="border-card">
26
+ <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
27
+ <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
28
+ <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
29
+ <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
30
+ </j-tabs>
31
+ </div>
32
+
33
+ <div class="demo-item" style="height: 300px">
34
+ <p>标签位置</p>
35
+ <div class="j-block" style="height: 0; flex: 1">
36
+ <j-tabs v-model="activeName4" tab-position="left">
37
+ <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
38
+ <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
39
+ <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
40
+ <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
41
+ </j-tabs>
42
+ </div>
43
+ </div>
44
+
45
+ <div class="demo-item">
46
+ <p>可关闭标签</p>
47
+ <j-tabs v-model="activeName5" type="card" closable>
48
+ <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
49
+ <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
50
+ <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
51
+ <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
52
+ </j-tabs>
53
+ </div>
54
+
55
+ <div class="demo-item">
56
+ <p>可增加标签</p>
57
+ <j-tabs v-model="activeName6" type="card" addable>
58
+ <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
59
+ <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
60
+ <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
61
+ <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
62
+ </j-tabs>
63
+ </div>
64
+ </div>
65
+ </template>
66
+
67
+ <script setup lang="ts">
68
+ import { ref } from 'vue'
69
+
70
+ const activeName1 = ref('first')
71
+ const activeName2 = ref('first')
72
+ const activeName3 = ref('first')
73
+ const activeName4 = ref('first')
74
+ const activeName5 = ref('first')
75
+ const activeName6 = ref('first')
76
+ </script>
77
+
78
+ <style scoped>
79
+ .tabs-demo {
80
+ display: flex;
81
+ flex-direction: column;
82
+ gap: 24px;
83
+ }
84
+
85
+ .demo-item p {
86
+ margin: 0 0 12px;
87
+ font-size: 14px;
88
+ color: var(--j-color-text-2);
89
+ font-weight: 500;
90
+ }
91
+
92
+ .demo-item {
93
+ position: relative;
94
+ width: 100%;
95
+ display: flex;
96
+ flex-direction: column;
97
+ }
98
+ </style>
@@ -1,80 +1,80 @@
1
- <template>
2
- <div class="title-demo">
3
- <div class="demo-item">
4
- <p>基础用法</p>
5
- <j-title title="这是一个标题" />
6
- </div>
7
-
8
- <div class="demo-item">
9
- <p>设置颜色</p>
10
- <j-title title="蓝色标题" color="#1890ff" />
11
- </div>
12
-
13
- <div class="demo-item">
14
- <p>设置大小</p>
15
- <j-title title="小标题" :size="14" />
16
- <j-title title="默认标题" :size="16" />
17
- <j-title title="大标题" :size="24" />
18
- </div>
19
-
20
- <div class="demo-item">
21
- <p>设置粗细</p>
22
- <j-title title="正常粗细" weight="normal" />
23
- <j-title title="加粗标题" weight="bold" />
24
- <j-title title="特粗标题" weight="900" />
25
- </div>
26
-
27
- <div class="demo-item">
28
- <p>组合使用</p>
29
- <j-title
30
- title="自定义样式标题"
31
- color="#f53f3f"
32
- :size="20"
33
- weight="bold"
34
- class="custom-title"
35
- />
36
- </div>
37
-
38
- <div class="demo-item">
39
- <p>使用 style 对象</p>
40
- <j-title
41
- title="复杂样式标题"
42
- :style="{
43
- color: '#00b42a',
44
- fontSize: '18px',
45
- fontWeight: 'bold',
46
- textDecoration: 'underline',
47
- }"
48
- />
49
- </div>
50
- </div>
51
- </template>
52
-
53
- <script setup lang="ts">
54
- // 示例代码无需额外逻辑
55
- </script>
56
-
57
- <style scoped>
58
- .title-demo {
59
- display: flex;
60
- flex-direction: column;
61
- gap: 24px;
62
- }
63
-
64
- .demo-item {
65
- display: flex;
66
- flex-direction: column;
67
- gap: 12px;
68
- }
69
-
70
- .demo-item p {
71
- margin: 0;
72
- font-size: 14px;
73
- color: var(--j-color-text-2);
74
- font-weight: 500;
75
- }
76
-
77
- .custom-title {
78
- letter-spacing: 1px;
79
- }
80
- </style>
1
+ <template>
2
+ <div class="title-demo">
3
+ <div class="demo-item">
4
+ <p>基础用法</p>
5
+ <j-title title="这是一个标题" />
6
+ </div>
7
+
8
+ <div class="demo-item">
9
+ <p>设置颜色</p>
10
+ <j-title title="蓝色标题" color="#1890ff" />
11
+ </div>
12
+
13
+ <div class="demo-item">
14
+ <p>设置大小</p>
15
+ <j-title title="小标题" :size="14" />
16
+ <j-title title="默认标题" :size="16" />
17
+ <j-title title="大标题" :size="24" />
18
+ </div>
19
+
20
+ <div class="demo-item">
21
+ <p>设置粗细</p>
22
+ <j-title title="正常粗细" weight="normal" />
23
+ <j-title title="加粗标题" weight="bold" />
24
+ <j-title title="特粗标题" weight="900" />
25
+ </div>
26
+
27
+ <div class="demo-item">
28
+ <p>组合使用</p>
29
+ <j-title
30
+ title="自定义样式标题"
31
+ color="#f53f3f"
32
+ :size="20"
33
+ weight="bold"
34
+ class="custom-title"
35
+ />
36
+ </div>
37
+
38
+ <div class="demo-item">
39
+ <p>使用 style 对象</p>
40
+ <j-title
41
+ title="复杂样式标题"
42
+ :style="{
43
+ color: '#00b42a',
44
+ fontSize: '18px',
45
+ fontWeight: 'bold',
46
+ textDecoration: 'underline',
47
+ }"
48
+ />
49
+ </div>
50
+ </div>
51
+ </template>
52
+
53
+ <script setup lang="ts">
54
+ // 示例代码无需额外逻辑
55
+ </script>
56
+
57
+ <style scoped>
58
+ .title-demo {
59
+ display: flex;
60
+ flex-direction: column;
61
+ gap: 24px;
62
+ }
63
+
64
+ .demo-item {
65
+ display: flex;
66
+ flex-direction: column;
67
+ gap: 12px;
68
+ }
69
+
70
+ .demo-item p {
71
+ margin: 0;
72
+ font-size: 14px;
73
+ color: var(--j-color-text-2);
74
+ font-weight: 500;
75
+ }
76
+
77
+ .custom-title {
78
+ letter-spacing: 1px;
79
+ }
80
+ </style>
@@ -1,46 +1,46 @@
1
- <template>
2
- <div style="height: 400px">
3
- <j-tree :list="treeList" accordion />
4
- </div>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- import { ref } from 'vue'
9
-
10
- const treeList = ref([
11
- {
12
- label: '一级 1',
13
- value: '1',
14
- children: [
15
- {
16
- label: '二级 1-1',
17
- value: '1-1',
18
- children: [
19
- {
20
- label: '三级 1-1-1',
21
- value: '1-1-1',
22
- },
23
- ],
24
- },
25
- ],
26
- },
27
- {
28
- label: '一级 2',
29
- value: '2',
30
- children: [
31
- {
32
- label: '二级 2-1',
33
- value: '2-1',
34
- },
35
- {
36
- label: '二级 2-2',
37
- value: '2-2',
38
- },
39
- ],
40
- },
41
- {
42
- label: '一级 3',
43
- value: '3',
44
- },
45
- ])
46
- </script>
1
+ <template>
2
+ <div style="height: 400px">
3
+ <j-tree :list="treeList" accordion />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { ref } from 'vue'
9
+
10
+ const treeList = ref([
11
+ {
12
+ label: '一级 1',
13
+ value: '1',
14
+ children: [
15
+ {
16
+ label: '二级 1-1',
17
+ value: '1-1',
18
+ children: [
19
+ {
20
+ label: '三级 1-1-1',
21
+ value: '1-1-1',
22
+ },
23
+ ],
24
+ },
25
+ ],
26
+ },
27
+ {
28
+ label: '一级 2',
29
+ value: '2',
30
+ children: [
31
+ {
32
+ label: '二级 2-1',
33
+ value: '2-1',
34
+ },
35
+ {
36
+ label: '二级 2-2',
37
+ value: '2-2',
38
+ },
39
+ ],
40
+ },
41
+ {
42
+ label: '一级 3',
43
+ value: '3',
44
+ },
45
+ ])
46
+ </script>
@@ -1,50 +1,50 @@
1
- <template>
2
- <div style="height: 400px">
3
- <j-tree :list="treeList" @click="handleClick" />
4
- </div>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- import { ref } from 'vue'
9
-
10
- const treeList = ref([
11
- {
12
- label: '一级 1',
13
- value: '1',
14
- children: [
15
- {
16
- label: '二级 1-1',
17
- value: '1-1',
18
- children: [
19
- {
20
- label: '三级 1-1-1',
21
- value: '1-1-1',
22
- },
23
- ],
24
- },
25
- ],
26
- },
27
- {
28
- label: '一级 2',
29
- value: '2',
30
- children: [
31
- {
32
- label: '二级 2-1',
33
- value: '2-1',
34
- },
35
- {
36
- label: '二级 2-2',
37
- value: '2-2',
38
- },
39
- ],
40
- },
41
- {
42
- label: '一级 3',
43
- value: '3',
44
- },
45
- ])
46
-
47
- const handleClick = (value: any, node: any, event: any) => {
48
- console.log('点击节点:', value, node)
49
- }
50
- </script>
1
+ <template>
2
+ <div style="height: 400px">
3
+ <j-tree :list="treeList" @click="handleClick" />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { ref } from 'vue'
9
+
10
+ const treeList = ref([
11
+ {
12
+ label: '一级 1',
13
+ value: '1',
14
+ children: [
15
+ {
16
+ label: '二级 1-1',
17
+ value: '1-1',
18
+ children: [
19
+ {
20
+ label: '三级 1-1-1',
21
+ value: '1-1-1',
22
+ },
23
+ ],
24
+ },
25
+ ],
26
+ },
27
+ {
28
+ label: '一级 2',
29
+ value: '2',
30
+ children: [
31
+ {
32
+ label: '二级 2-1',
33
+ value: '2-1',
34
+ },
35
+ {
36
+ label: '二级 2-2',
37
+ value: '2-2',
38
+ },
39
+ ],
40
+ },
41
+ {
42
+ label: '一级 3',
43
+ value: '3',
44
+ },
45
+ ])
46
+
47
+ const handleClick = (value: any, node: any, event: any) => {
48
+ console.log('点击节点:', value, node)
49
+ }
50
+ </script>
@@ -1,53 +1,53 @@
1
- <template>
2
- <div style="height: 400px">
3
- <j-tree :list="treeList" :tree-buttons="treeButtons" />
4
- </div>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- import { ref } from 'vue'
9
-
10
- const treeList = ref([
11
- {
12
- label: '一级 1',
13
- value: '1',
14
- children: [
15
- {
16
- label: '二级 1-1',
17
- value: '1-1',
18
- },
19
- ],
20
- },
21
- {
22
- label: '一级 2',
23
- value: '2',
24
- },
25
- ])
26
-
27
- const treeButtons = ref([
28
- {
29
- prop: 'edit',
30
- label: '编辑',
31
- icon: 'material-symbols-light:edit',
32
- children: [
33
- {
34
- prop: 'edit-item',
35
- label: '编辑项',
36
- icon: 'material-symbols-light:edit',
37
- click: (row: any) => {
38
- console.log('编辑:', row)
39
- },
40
- },
41
- {
42
- prop: 'delete-item',
43
- label: '删除项',
44
- icon: 'material-symbols-light:delete',
45
- danger: true,
46
- click: (row: any) => {
47
- console.log('删除:', row)
48
- },
49
- },
50
- ],
51
- },
52
- ])
53
- </script>
1
+ <template>
2
+ <div style="height: 400px">
3
+ <j-tree :list="treeList" :tree-buttons="treeButtons" />
4
+ </div>
5
+ </template>
6
+
7
+ <script setup lang="ts">
8
+ import { ref } from 'vue'
9
+
10
+ const treeList = ref([
11
+ {
12
+ label: '一级 1',
13
+ value: '1',
14
+ children: [
15
+ {
16
+ label: '二级 1-1',
17
+ value: '1-1',
18
+ },
19
+ ],
20
+ },
21
+ {
22
+ label: '一级 2',
23
+ value: '2',
24
+ },
25
+ ])
26
+
27
+ const treeButtons = ref([
28
+ {
29
+ prop: 'edit',
30
+ label: '编辑',
31
+ icon: 'material-symbols-light:edit',
32
+ children: [
33
+ {
34
+ prop: 'edit-item',
35
+ label: '编辑项',
36
+ icon: 'material-symbols-light:edit',
37
+ click: (row: any) => {
38
+ console.log('编辑:', row)
39
+ },
40
+ },
41
+ {
42
+ prop: 'delete-item',
43
+ label: '删除项',
44
+ icon: 'material-symbols-light:delete',
45
+ danger: true,
46
+ click: (row: any) => {
47
+ console.log('删除:', row)
48
+ },
49
+ },
50
+ ],
51
+ },
52
+ ])
53
+ </script>