@a2simcode/ui 0.0.107 → 0.0.108

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