el-plus 0.0.113 → 0.0.115

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 (255) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +85 -85
  3. package/dist/index.css +1 -1
  4. package/dist/index.full.js +15 -5
  5. package/dist/index.full.min.js +4 -4
  6. package/dist/index.full.min.js.map +1 -1
  7. package/dist/index.full.min.mjs +4 -4
  8. package/dist/index.full.min.mjs.map +1 -1
  9. package/dist/index.full.mjs +15 -6
  10. package/docs/CHANGELOG.md +5 -5
  11. package/docs/api-examples.md +49 -49
  12. package/docs/components/attachment.md +118 -111
  13. package/docs/components/buttons.md +179 -179
  14. package/docs/components/custom-column.md +70 -70
  15. package/docs/components/date-picker-range.md +61 -61
  16. package/docs/components/dialog.md +104 -104
  17. package/docs/components/footer-info.md +101 -101
  18. package/docs/components/form.md +211 -211
  19. package/docs/components/header.md +117 -117
  20. package/docs/components/input.md +111 -111
  21. package/docs/components/link.md +63 -63
  22. package/docs/components/search-list-page.md +91 -91
  23. package/docs/components/select.md +249 -249
  24. package/docs/components/table.md +145 -145
  25. package/docs/components/title.md +70 -70
  26. package/docs/components/use-choose-dialog.md +114 -114
  27. package/docs/components/use-confirm-dialog.md +86 -86
  28. package/docs/components/use-form-dialog.md +85 -85
  29. package/docs/guide/markdown-examples.md +85 -85
  30. package/docs/hooks/use-navigation.md +131 -131
  31. package/docs/hooks/use-utils.md +162 -162
  32. package/docs/index.md +25 -25
  33. package/docs/overview.md +99 -99
  34. package/docs/pages/detail.md +66 -66
  35. package/docs/pages/list.md +74 -74
  36. package/docs/pages/router.md +151 -151
  37. package/es/components/attachment/index.d.ts +12 -2
  38. package/es/components/attachment/index.mjs +1 -1
  39. package/es/components/attachment/index.mjs.map +1 -1
  40. package/es/components/attachment/src/attachment.d.ts +6 -0
  41. package/es/components/attachment/src/attachment.mjs +7 -1
  42. package/es/components/attachment/src/attachment.mjs.map +1 -1
  43. package/es/components/attachment/src/attachment.vue.d.ts +5 -1
  44. package/es/components/attachment/src/attachment.vue2.mjs +7 -4
  45. package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
  46. package/es/components/attachment/src/use-attachment.mjs.map +1 -1
  47. package/es/components/buttons/index.mjs.map +1 -1
  48. package/es/components/buttons/src/buttons-vue.mjs.map +1 -1
  49. package/es/components/buttons/src/buttons.mjs.map +1 -1
  50. package/es/components/custom-column/index.mjs.map +1 -1
  51. package/es/components/custom-column/src/custom-column.mjs.map +1 -1
  52. package/es/components/custom-column/src/custom-column.vue2.mjs.map +1 -1
  53. package/es/components/date-picker-range/index.mjs.map +1 -1
  54. package/es/components/date-picker-range/src/date-picker-range.mjs.map +1 -1
  55. package/es/components/date-picker-range/src/date-picker-range.vue2.mjs.map +1 -1
  56. package/es/components/footer-info/index.mjs.map +1 -1
  57. package/es/components/footer-info/src/footer-info.mjs.map +1 -1
  58. package/es/components/footer-info/src/footer-info.vue2.mjs.map +1 -1
  59. package/es/components/form/index.mjs.map +1 -1
  60. package/es/components/form/src/form-item-vue.mjs.map +1 -1
  61. package/es/components/form/src/form-item.mjs.map +1 -1
  62. package/es/components/form/src/form.mjs.map +1 -1
  63. package/es/components/form/src/form.vue2.mjs.map +1 -1
  64. package/es/components/form/src/hooks/use-form-item.mjs.map +1 -1
  65. package/es/components/form/src/hooks/use-form.mjs.map +1 -1
  66. package/es/components/header/index.mjs.map +1 -1
  67. package/es/components/header/src/header.mjs.map +1 -1
  68. package/es/components/header/src/header.vue2.mjs.map +1 -1
  69. package/es/components/header/src/use-header.mjs.map +1 -1
  70. package/es/components/index.mjs +1 -1
  71. package/es/components/input/index.mjs.map +1 -1
  72. package/es/components/input/src/input.mjs.map +1 -1
  73. package/es/components/input/src/input.vue2.mjs.map +1 -1
  74. package/es/components/link/index.mjs.map +1 -1
  75. package/es/components/link/src/link.mjs.map +1 -1
  76. package/es/components/link/src/link.vue2.mjs.map +1 -1
  77. package/es/components/search-list-page/index.mjs.map +1 -1
  78. package/es/components/search-list-page/src/search-list-page.mjs.map +1 -1
  79. package/es/components/search-list-page/src/search-list-page.vue2.mjs.map +1 -1
  80. package/es/components/search-list-page/src/use-search-list-page.mjs.map +1 -1
  81. package/es/components/select/index.mjs.map +1 -1
  82. package/es/components/select/src/select.mjs.map +1 -1
  83. package/es/components/select/src/select.vue2.mjs.map +1 -1
  84. package/es/components/select/src/use-select.mjs.map +1 -1
  85. package/es/components/table/index.mjs.map +1 -1
  86. package/es/components/table/src/table.mjs.map +1 -1
  87. package/es/components/table/src/table.vue2.mjs.map +1 -1
  88. package/es/components/table/src/use-table.mjs.map +1 -1
  89. package/es/components/title/index.mjs.map +1 -1
  90. package/es/components/title/src/title.mjs.map +1 -1
  91. package/es/components/title/src/title.vue2.mjs.map +1 -1
  92. package/es/components/title/src/use-title.mjs.map +1 -1
  93. package/es/components/uni-vue/index.mjs.map +1 -1
  94. package/es/components/uni-vue/src/uni-vue.mjs.map +1 -1
  95. package/es/components/uni-vue/src/uni-vue.vue2.mjs.map +1 -1
  96. package/es/components/uni-vue/src/use-uni-vue.mjs.map +1 -1
  97. package/es/components.mjs.map +1 -1
  98. package/es/directives/permission/index.mjs.map +1 -1
  99. package/es/directives/repeat-click/index.mjs.map +1 -1
  100. package/es/hooks/dialog/use-choose-dialog.mjs.map +1 -1
  101. package/es/hooks/dialog/use-confirm-dialog.mjs.map +1 -1
  102. package/es/hooks/dialog/use-dialog.mjs.map +1 -1
  103. package/es/hooks/dialog/use-form-dialog.mjs.map +1 -1
  104. package/es/hooks/use-locale.mjs.map +1 -1
  105. package/es/hooks/use-navigation.mjs.map +1 -1
  106. package/es/hooks/use-request.mjs.map +1 -1
  107. package/es/hooks/use-template-promise.mjs.map +1 -1
  108. package/es/hooks/use-utils.mjs.map +1 -1
  109. package/es/index.mjs +1 -1
  110. package/es/index.mjs.map +1 -1
  111. package/es/locale/lang/en.mjs.map +1 -1
  112. package/es/locale/lang/zh-cn.mjs.map +1 -1
  113. package/es/package.json.mjs +1 -1
  114. package/es/plugins/globalProperties.mjs.map +1 -1
  115. package/es/types/global.d.ts +30 -30
  116. package/es/types/index.d.ts +2 -2
  117. package/es/types/utils.d.ts +19 -19
  118. package/es/utils/bem.mjs.map +1 -1
  119. package/es/utils/cookie.mjs.map +1 -1
  120. package/es/utils/dom.mjs.map +1 -1
  121. package/es/utils/env.mjs.map +1 -1
  122. package/es/utils/file.mjs.map +1 -1
  123. package/es/utils/http/core/modules/interceptor.mjs.map +1 -1
  124. package/es/utils/http/core/modules/loading.mjs.map +1 -1
  125. package/es/utils/http/core/preset-interceptors.mjs.map +1 -1
  126. package/es/utils/http/core/request-client.mjs.map +1 -1
  127. package/es/utils/http/index.mjs.map +1 -1
  128. package/es/utils/mitt.mjs.map +1 -1
  129. package/es/utils/navigation.mjs.map +1 -1
  130. package/es/utils/props.mjs.map +1 -1
  131. package/es/utils/time.mjs.map +1 -1
  132. package/es/utils/utils.mjs.map +1 -1
  133. package/es/utils/with-install.mjs.map +1 -1
  134. package/global.d.ts +21 -21
  135. package/lib/components/attachment/index.d.ts +12 -2
  136. package/lib/components/attachment/index.js +1 -0
  137. package/lib/components/attachment/index.js.map +1 -1
  138. package/lib/components/attachment/src/attachment.d.ts +6 -0
  139. package/lib/components/attachment/src/attachment.js +7 -0
  140. package/lib/components/attachment/src/attachment.js.map +1 -1
  141. package/lib/components/attachment/src/attachment.vue.d.ts +5 -1
  142. package/lib/components/attachment/src/attachment.vue2.js +6 -3
  143. package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
  144. package/lib/components/attachment/src/use-attachment.js.map +1 -1
  145. package/lib/components/buttons/index.js.map +1 -1
  146. package/lib/components/buttons/src/buttons-vue.js.map +1 -1
  147. package/lib/components/buttons/src/buttons.js.map +1 -1
  148. package/lib/components/custom-column/index.js.map +1 -1
  149. package/lib/components/custom-column/src/custom-column.js.map +1 -1
  150. package/lib/components/custom-column/src/custom-column.vue2.js.map +1 -1
  151. package/lib/components/date-picker-range/index.js.map +1 -1
  152. package/lib/components/date-picker-range/src/date-picker-range.js.map +1 -1
  153. package/lib/components/date-picker-range/src/date-picker-range.vue2.js.map +1 -1
  154. package/lib/components/footer-info/index.js.map +1 -1
  155. package/lib/components/footer-info/src/footer-info.js.map +1 -1
  156. package/lib/components/footer-info/src/footer-info.vue2.js.map +1 -1
  157. package/lib/components/form/index.js.map +1 -1
  158. package/lib/components/form/src/form-item-vue.js.map +1 -1
  159. package/lib/components/form/src/form-item.js.map +1 -1
  160. package/lib/components/form/src/form.js.map +1 -1
  161. package/lib/components/form/src/form.vue2.js.map +1 -1
  162. package/lib/components/form/src/hooks/use-form-item.js.map +1 -1
  163. package/lib/components/form/src/hooks/use-form.js.map +1 -1
  164. package/lib/components/header/index.js.map +1 -1
  165. package/lib/components/header/src/header.js.map +1 -1
  166. package/lib/components/header/src/header.vue2.js.map +1 -1
  167. package/lib/components/header/src/use-header.js.map +1 -1
  168. package/lib/components/index.js +1 -0
  169. package/lib/components/index.js.map +1 -1
  170. package/lib/components/input/index.js.map +1 -1
  171. package/lib/components/input/src/input.js.map +1 -1
  172. package/lib/components/input/src/input.vue2.js.map +1 -1
  173. package/lib/components/link/index.js.map +1 -1
  174. package/lib/components/link/src/link.js.map +1 -1
  175. package/lib/components/link/src/link.vue2.js.map +1 -1
  176. package/lib/components/search-list-page/index.js.map +1 -1
  177. package/lib/components/search-list-page/src/search-list-page.js.map +1 -1
  178. package/lib/components/search-list-page/src/search-list-page.vue2.js.map +1 -1
  179. package/lib/components/search-list-page/src/use-search-list-page.js.map +1 -1
  180. package/lib/components/select/index.js.map +1 -1
  181. package/lib/components/select/src/select.js.map +1 -1
  182. package/lib/components/select/src/select.vue2.js.map +1 -1
  183. package/lib/components/select/src/use-select.js.map +1 -1
  184. package/lib/components/table/index.js.map +1 -1
  185. package/lib/components/table/src/table.js.map +1 -1
  186. package/lib/components/table/src/table.vue2.js.map +1 -1
  187. package/lib/components/table/src/use-table.js.map +1 -1
  188. package/lib/components/title/index.js.map +1 -1
  189. package/lib/components/title/src/title.js.map +1 -1
  190. package/lib/components/title/src/title.vue2.js.map +1 -1
  191. package/lib/components/title/src/use-title.js.map +1 -1
  192. package/lib/components/uni-vue/index.js.map +1 -1
  193. package/lib/components/uni-vue/src/uni-vue.js.map +1 -1
  194. package/lib/components/uni-vue/src/uni-vue.vue2.js.map +1 -1
  195. package/lib/components/uni-vue/src/use-uni-vue.js.map +1 -1
  196. package/lib/components.js.map +1 -1
  197. package/lib/directives/permission/index.js.map +1 -1
  198. package/lib/directives/repeat-click/index.js.map +1 -1
  199. package/lib/hooks/dialog/use-choose-dialog.js.map +1 -1
  200. package/lib/hooks/dialog/use-confirm-dialog.js.map +1 -1
  201. package/lib/hooks/dialog/use-dialog.js.map +1 -1
  202. package/lib/hooks/dialog/use-form-dialog.js.map +1 -1
  203. package/lib/hooks/use-locale.js.map +1 -1
  204. package/lib/hooks/use-navigation.js.map +1 -1
  205. package/lib/hooks/use-request.js.map +1 -1
  206. package/lib/hooks/use-template-promise.js.map +1 -1
  207. package/lib/hooks/use-utils.js.map +1 -1
  208. package/lib/index.js +1 -0
  209. package/lib/index.js.map +1 -1
  210. package/lib/locale/lang/en.js.map +1 -1
  211. package/lib/locale/lang/zh-cn.js.map +1 -1
  212. package/lib/package.json.js +1 -1
  213. package/lib/plugins/globalProperties.js.map +1 -1
  214. package/lib/types/global.d.ts +30 -30
  215. package/lib/types/index.d.ts +2 -2
  216. package/lib/types/utils.d.ts +19 -19
  217. package/lib/utils/bem.js.map +1 -1
  218. package/lib/utils/cookie.js.map +1 -1
  219. package/lib/utils/dom.js.map +1 -1
  220. package/lib/utils/env.js.map +1 -1
  221. package/lib/utils/file.js.map +1 -1
  222. package/lib/utils/http/core/modules/interceptor.js.map +1 -1
  223. package/lib/utils/http/core/modules/loading.js.map +1 -1
  224. package/lib/utils/http/core/preset-interceptors.js.map +1 -1
  225. package/lib/utils/http/core/request-client.js.map +1 -1
  226. package/lib/utils/http/index.js.map +1 -1
  227. package/lib/utils/mitt.js.map +1 -1
  228. package/lib/utils/navigation.js.map +1 -1
  229. package/lib/utils/props.js.map +1 -1
  230. package/lib/utils/time.js.map +1 -1
  231. package/lib/utils/utils.js.map +1 -1
  232. package/lib/utils/with-install.js.map +1 -1
  233. package/package.json +1 -1
  234. package/theme-chalk/base.css +1 -1
  235. package/theme-chalk/index.css +1 -1
  236. package/theme-chalk/src/attachment.scss +39 -39
  237. package/theme-chalk/src/base.scss +2 -2
  238. package/theme-chalk/src/buttons.scss +22 -22
  239. package/theme-chalk/src/common/common.scss +7 -4
  240. package/theme-chalk/src/common/transition.scss +9 -9
  241. package/theme-chalk/src/custom-column.scss +55 -55
  242. package/theme-chalk/src/dialog.scss +62 -62
  243. package/theme-chalk/src/footer-info.scss +18 -18
  244. package/theme-chalk/src/form.scss +80 -72
  245. package/theme-chalk/src/header.scss +19 -19
  246. package/theme-chalk/src/index.scss +15 -15
  247. package/theme-chalk/src/link.scss +5 -5
  248. package/theme-chalk/src/mixins/config.scss +3 -3
  249. package/theme-chalk/src/mixins/mixins.scss +37 -37
  250. package/theme-chalk/src/search-list-page.scss +22 -22
  251. package/theme-chalk/src/select.scss +10 -10
  252. package/theme-chalk/src/table.scss +91 -91
  253. package/theme-chalk/src/tabs.scss +55 -55
  254. package/theme-chalk/src/title.scss +52 -52
  255. package/theme-chalk/src/uni-vue.scss +10 -10
package/docs/overview.md CHANGED
@@ -1,99 +1,99 @@
1
- # 组件库总览
2
-
3
- 本文档是 el-plus 组件库的总入口,包含所有可用的页面类型和组件概览。
4
-
5
- ## 页面类型
6
-
7
- 本组件库支持两种页面类型,可自由组合组件实现业务需求:
8
-
9
- | 页面类型 | 说明 | 文档 | 核心组件 |
10
- |---------|------|------|---------|
11
- | **列表页** | 包含搜索表单、数据表格、操作按钮等 | [pages/list.md](./pages/list.md) | EpSearchListPage |
12
- | **详情页** | 包含表单、明细表格、附件等 | [pages/detail.md](./pages/detail.md) | EpForm |
13
-
14
- ## 组件分类
15
-
16
- ### 页面容器组件
17
-
18
- | 组件 | 说明 | 文档 |
19
- |------|------|------|
20
- | **EpSearchListPage** | 列表页容器,集成搜索表单和数据表格 | [search-list-page.md](./components/search-list-page.md) |
21
- | **EpForm** | 表单容器,支持栅格布局和组件自由组合 | [form.md](./components/form.md) |
22
-
23
- ### 布局组件
24
-
25
- | 组件 | 说明 | 文档 |
26
- |------|------|------|
27
- | **EpHeader** | 顶部操作栏,用于放置页面级操作按钮 | [header.md](./components/header.md) |
28
- | **EpTitle** | 标题分组,用于表单内容分组展示 | [title.md](./components/title.md) |
29
-
30
- ### 弹窗组件
31
-
32
- | 组件 | 说明 | 文档 |
33
- |------|------|------|
34
- | **EpDialog** | 对话框容器 | [dialog.md](./components/dialog.md) |
35
- | **useFormDialog** | 表单对话框 Hook,快速实现表单弹窗 | [use-form-dialog.md](./components/use-form-dialog.md) |
36
- | **useConfirmDialog** | 确认对话框 Hook,用于二次确认操作 | [use-confirm-dialog.md](./components/use-confirm-dialog.md) |
37
- | **useChooseDialog** | 选择对话框 Hook,用于弹窗选择数据 | [use-choose-dialog.md](./components/use-choose-dialog.md) |
38
-
39
- ### 表单组件
40
-
41
- | 组件 | 说明 | 文档 |
42
- |------|------|------|
43
- | **EpInput** | 输入框 | [input.md](./components/input.md) |
44
- | **EpSelect** | 下拉选择框 | [select.md](./components/select.md) |
45
- | **EpDatePickerRange** | 日期范围选择 | [date-picker-range.md](./components/date-picker-range.md) |
46
-
47
- ### 数据展示组件
48
-
49
- | 组件 | 说明 | 文档 |
50
- |------|------|------|
51
- | **EpTable** | 数据表格 | [table.md](./components/table.md) |
52
- | **EpCustomColumn** | 自定义列配置,用于表格列的个性化设置 | [custom-column.md](./components/custom-column.md) |
53
- | **EpLink** | 链接,用于表格内链接跳转 | [link.md](./components/link.md) |
54
- | **EpFooterInfo** | 底部信息展示 | [footer-info.md](./components/footer-info.md) |
55
-
56
- ### 操作组件
57
-
58
- | 组件 | 说明 | 文档 |
59
- |------|------|------|
60
- | **EpButtons** | 按钮组,支持配置多个操作按钮 | [buttons.md](./components/buttons.md) |
61
-
62
- ### 其他组件
63
-
64
- | 组件 | 说明 | 文档 |
65
- |------|------|------|
66
- | **EpAttachment** | 附件管理,支持上传、预览、下载 | [attachment.md](./components/attachment.md) |
67
-
68
- ### Hooks 工具
69
-
70
- | Hook | 说明 | 文档 |
71
- |------|------|------|
72
- | **useNavigation** | 导航工具,提供路由跳转、标签页管理、模式控制 | [use-navigation.md](./hooks/use-navigation.md) |
73
- | **useUtils** | 工具函数集合,包含时间处理、文件操作、Cookie管理 | [use-utils.md](./hooks/use-utils.md) |
74
-
75
- ## 组件组合示例
76
-
77
- 所有组件都可以在 EpForm 中自由组合:
78
-
79
- ```typescript
80
- const formItemList = [
81
- { col: 24, type: 'EpHeader', props: { /* ... */ } },
82
- { col: 24, type: 'EpTitle', props: { title: '基本信息' } },
83
- { type: 'EpInput', props: { /* ... */ } },
84
- { type: 'EpSelect', props: { /* ... */ } },
85
- { col: 24, type: 'EpTable', props: { /* ... */ } },
86
- ]
87
- ```
88
-
89
- ## 路由配置
90
-
91
- 页面生成后需配置路由,参考:[pages/router.md](./pages/router.md)
92
-
93
- ## 快速开始
94
-
95
- 根据你的需求选择:
96
-
97
- 1. **生成列表页** → 阅读 [pages/list.md](./pages/list.md)
98
- 2. **生成详情页** → 阅读 [pages/detail.md](./pages/detail.md)
99
- 3. **了解某个组件** → 查看上方对应组件文档
1
+ # 组件库总览
2
+
3
+ 本文档是 el-plus 组件库的总入口,包含所有可用的页面类型和组件概览。
4
+
5
+ ## 页面类型
6
+
7
+ 本组件库支持两种页面类型,可自由组合组件实现业务需求:
8
+
9
+ | 页面类型 | 说明 | 文档 | 核心组件 |
10
+ |---------|------|------|---------|
11
+ | **列表页** | 包含搜索表单、数据表格、操作按钮等 | [pages/list.md](./pages/list.md) | EpSearchListPage |
12
+ | **详情页** | 包含表单、明细表格、附件等 | [pages/detail.md](./pages/detail.md) | EpForm |
13
+
14
+ ## 组件分类
15
+
16
+ ### 页面容器组件
17
+
18
+ | 组件 | 说明 | 文档 |
19
+ |------|------|------|
20
+ | **EpSearchListPage** | 列表页容器,集成搜索表单和数据表格 | [search-list-page.md](./components/search-list-page.md) |
21
+ | **EpForm** | 表单容器,支持栅格布局和组件自由组合 | [form.md](./components/form.md) |
22
+
23
+ ### 布局组件
24
+
25
+ | 组件 | 说明 | 文档 |
26
+ |------|------|------|
27
+ | **EpHeader** | 顶部操作栏,用于放置页面级操作按钮 | [header.md](./components/header.md) |
28
+ | **EpTitle** | 标题分组,用于表单内容分组展示 | [title.md](./components/title.md) |
29
+
30
+ ### 弹窗组件
31
+
32
+ | 组件 | 说明 | 文档 |
33
+ |------|------|------|
34
+ | **EpDialog** | 对话框容器 | [dialog.md](./components/dialog.md) |
35
+ | **useFormDialog** | 表单对话框 Hook,快速实现表单弹窗 | [use-form-dialog.md](./components/use-form-dialog.md) |
36
+ | **useConfirmDialog** | 确认对话框 Hook,用于二次确认操作 | [use-confirm-dialog.md](./components/use-confirm-dialog.md) |
37
+ | **useChooseDialog** | 选择对话框 Hook,用于弹窗选择数据 | [use-choose-dialog.md](./components/use-choose-dialog.md) |
38
+
39
+ ### 表单组件
40
+
41
+ | 组件 | 说明 | 文档 |
42
+ |------|------|------|
43
+ | **EpInput** | 输入框 | [input.md](./components/input.md) |
44
+ | **EpSelect** | 下拉选择框 | [select.md](./components/select.md) |
45
+ | **EpDatePickerRange** | 日期范围选择 | [date-picker-range.md](./components/date-picker-range.md) |
46
+
47
+ ### 数据展示组件
48
+
49
+ | 组件 | 说明 | 文档 |
50
+ |------|------|------|
51
+ | **EpTable** | 数据表格 | [table.md](./components/table.md) |
52
+ | **EpCustomColumn** | 自定义列配置,用于表格列的个性化设置 | [custom-column.md](./components/custom-column.md) |
53
+ | **EpLink** | 链接,用于表格内链接跳转 | [link.md](./components/link.md) |
54
+ | **EpFooterInfo** | 底部信息展示 | [footer-info.md](./components/footer-info.md) |
55
+
56
+ ### 操作组件
57
+
58
+ | 组件 | 说明 | 文档 |
59
+ |------|------|------|
60
+ | **EpButtons** | 按钮组,支持配置多个操作按钮 | [buttons.md](./components/buttons.md) |
61
+
62
+ ### 其他组件
63
+
64
+ | 组件 | 说明 | 文档 |
65
+ |------|------|------|
66
+ | **EpAttachment** | 附件管理,支持上传、预览、下载 | [attachment.md](./components/attachment.md) |
67
+
68
+ ### Hooks 工具
69
+
70
+ | Hook | 说明 | 文档 |
71
+ |------|------|------|
72
+ | **useNavigation** | 导航工具,提供路由跳转、标签页管理、模式控制 | [use-navigation.md](./hooks/use-navigation.md) |
73
+ | **useUtils** | 工具函数集合,包含时间处理、文件操作、Cookie管理 | [use-utils.md](./hooks/use-utils.md) |
74
+
75
+ ## 组件组合示例
76
+
77
+ 所有组件都可以在 EpForm 中自由组合:
78
+
79
+ ```typescript
80
+ const formItemList = [
81
+ { col: 24, type: 'EpHeader', props: { /* ... */ } },
82
+ { col: 24, type: 'EpTitle', props: { title: '基本信息' } },
83
+ { type: 'EpInput', props: { /* ... */ } },
84
+ { type: 'EpSelect', props: { /* ... */ } },
85
+ { col: 24, type: 'EpTable', props: { /* ... */ } },
86
+ ]
87
+ ```
88
+
89
+ ## 路由配置
90
+
91
+ 页面生成后需配置路由,参考:[pages/router.md](./pages/router.md)
92
+
93
+ ## 快速开始
94
+
95
+ 根据你的需求选择:
96
+
97
+ 1. **生成列表页** → 阅读 [pages/list.md](./pages/list.md)
98
+ 2. **生成详情页** → 阅读 [pages/detail.md](./pages/detail.md)
99
+ 3. **了解某个组件** → 查看上方对应组件文档
@@ -1,66 +1,66 @@
1
- # 详情页面
2
-
3
- 详情页面用于展示和编辑单条数据,组件自由组合。
4
-
5
- ## 页面结构
6
-
7
- 详情页无固定结构,根据业务需求自由组合以下组件:
8
- > 查看所有可用组件:[组件文档索引](../overview.md)
9
-
10
- ## 完整示例
11
-
12
- ```vue
13
- <template>
14
- <EpForm
15
- ref="epForm"
16
- :formItemList="formItemList"
17
- v-model="formData"
18
- labelPosition="left"
19
- ></EpForm>
20
- </template>
21
-
22
- <script setup lang="tsx">
23
- import type { FormProps, HeaderProps } from 'el-plus'
24
- import { useNavigation } from 'el-plus'
25
- import { reactive, ref, computed, useTemplateRef } from 'vue'
26
- import { useRoute } from 'vue-router'
27
-
28
- defineOptions({
29
- name: 'DemoDetail'
30
- })
31
-
32
- const route = useRoute()
33
- const epForm = useTemplateRef('epForm')
34
- const { isEdit } = useNavigation()
35
- const id = route.query.id
36
-
37
-
38
- const formData = reactive({
39
- detailList: [] as Record<string, any>[], // 明细表格
40
- fileList: [] as Record<string, any>[], // 附件列表
41
- })
42
-
43
- // 表单配置 - 组件自由组合,参考各组件文档
44
- const formItemList = ref<FormProps['formItemList']>([
45
- // 组件类似下面这样自由组合
46
- { col: 24, type: 'EpHeader', props: { buttons: [
47
- { name: '提交审批', type: 'primary', onClick: () => {} }
48
- ] } },
49
- { col: 24, type: 'EpTitle', props: { title: '基本信息' } },
50
- ])
51
-
52
- // 保存
53
- const handleSave = async () => {
54
- const valid = await epForm.value?.validate()
55
- if (valid) {
56
- // TODO: 调用保存接口
57
- }
58
- }
59
-
60
- // 加载数据
61
- if (isEdit.value && id) {
62
- // TODO: 调用接口获取详情
63
- }
64
- </script>
65
- ```
66
-
1
+ # 详情页面
2
+
3
+ 详情页面用于展示和编辑单条数据,组件自由组合。
4
+
5
+ ## 页面结构
6
+
7
+ 详情页无固定结构,根据业务需求自由组合以下组件:
8
+ > 查看所有可用组件:[组件文档索引](../overview.md)
9
+
10
+ ## 完整示例
11
+
12
+ ```vue
13
+ <template>
14
+ <EpForm
15
+ ref="epForm"
16
+ :formItemList="formItemList"
17
+ v-model="formData"
18
+ labelPosition="left"
19
+ ></EpForm>
20
+ </template>
21
+
22
+ <script setup lang="tsx">
23
+ import type { FormProps, HeaderProps } from 'el-plus'
24
+ import { useNavigation } from 'el-plus'
25
+ import { reactive, ref, computed, useTemplateRef } from 'vue'
26
+ import { useRoute } from 'vue-router'
27
+
28
+ defineOptions({
29
+ name: 'DemoDetail'
30
+ })
31
+
32
+ const route = useRoute()
33
+ const epForm = useTemplateRef('epForm')
34
+ const { isEdit } = useNavigation()
35
+ const id = route.query.id
36
+
37
+
38
+ const formData = reactive({
39
+ detailList: [] as Record<string, any>[], // 明细表格
40
+ fileList: [] as Record<string, any>[], // 附件列表
41
+ })
42
+
43
+ // 表单配置 - 组件自由组合,参考各组件文档
44
+ const formItemList = ref<FormProps['formItemList']>([
45
+ // 组件类似下面这样自由组合
46
+ { col: 24, type: 'EpHeader', props: { buttons: [
47
+ { name: '提交审批', type: 'primary', onClick: () => {} }
48
+ ] } },
49
+ { col: 24, type: 'EpTitle', props: { title: '基本信息' } },
50
+ ])
51
+
52
+ // 保存
53
+ const handleSave = async () => {
54
+ const valid = await epForm.value?.validate()
55
+ if (valid) {
56
+ // TODO: 调用保存接口
57
+ }
58
+ }
59
+
60
+ // 加载数据
61
+ if (isEdit.value && id) {
62
+ // TODO: 调用接口获取详情
63
+ }
64
+ </script>
65
+ ```
66
+
@@ -1,74 +1,74 @@
1
- # 列表页面
2
-
3
- 列表页面是最常见的业务页面类型,使用 EpSearchListPage 组件实现。
4
-
5
- ## 页面结构
6
-
7
- - **EpSearchListPage**: 列表页容器组件,集成搜索表单和数据表格
8
- - 组件自由组合,参考各组件文档配置
9
-
10
- ## 完整示例
11
-
12
- ```vue
13
- <template>
14
- <EpSearchListPage
15
- :form-item-list="formItemList"
16
- :form-data="formData"
17
- :columns="columns"
18
- :left-buttons="leftButtons"
19
- api="/api/your-api/page"
20
- :add="handleAdd"
21
- show-selection-col
22
- :action-buttons="actionButtons"
23
- />
24
- </template>
25
-
26
- <script setup lang="tsx">
27
- import { ref, reactive } from 'vue'
28
- import { useNavigation } from 'el-plus'
29
- import type { SearchListPageProps } from 'el-plus'
30
-
31
- defineOptions({
32
- name: 'DemoList'
33
- })
34
-
35
- const { $goto } = useNavigation()
36
-
37
- const formData = reactive({
38
- orderDateStart: '',
39
- orderDateEnd: '',
40
- })
41
-
42
- // 搜索表单配置 - 组件自由组合
43
- const formItemList = ref<SearchListPageProps['formItemList']>([
44
- // 参考EpForm和各组件文档配置
45
- ])
46
-
47
- // 表格列配置
48
- const columns:SearchListPageProps['columns'] = [
49
- // 参考 EpTable 文档
50
- ]
51
-
52
- // 左侧按钮配置
53
- const leftButtons:SearchListPageProps['leftButtons']=[
54
- // 按钮配置
55
- ]
56
-
57
- // 行操作按钮
58
- const actionButtons:SearchListPageProps['actionButtons']=[
59
- // 操作按钮配置
60
- ]
61
-
62
- // 新增
63
- const handleAdd = () => {
64
- $goto({
65
- name: 'DemoDetail',
66
- query: { mode: 'add' }
67
- })
68
- }
69
- </script>
70
- ```
71
-
72
- ## 组件文档
73
-
74
- > 查看所有可用组件:[组件文档索引](../overview.md)
1
+ # 列表页面
2
+
3
+ 列表页面是最常见的业务页面类型,使用 EpSearchListPage 组件实现。
4
+
5
+ ## 页面结构
6
+
7
+ - **EpSearchListPage**: 列表页容器组件,集成搜索表单和数据表格
8
+ - 组件自由组合,参考各组件文档配置
9
+
10
+ ## 完整示例
11
+
12
+ ```vue
13
+ <template>
14
+ <EpSearchListPage
15
+ :form-item-list="formItemList"
16
+ :form-data="formData"
17
+ :columns="columns"
18
+ :left-buttons="leftButtons"
19
+ api="/api/your-api/page"
20
+ :add="handleAdd"
21
+ show-selection-col
22
+ :action-buttons="actionButtons"
23
+ />
24
+ </template>
25
+
26
+ <script setup lang="tsx">
27
+ import { ref, reactive } from 'vue'
28
+ import { useNavigation } from 'el-plus'
29
+ import type { SearchListPageProps } from 'el-plus'
30
+
31
+ defineOptions({
32
+ name: 'DemoList'
33
+ })
34
+
35
+ const { $goto } = useNavigation()
36
+
37
+ const formData = reactive({
38
+ orderDateStart: '',
39
+ orderDateEnd: '',
40
+ })
41
+
42
+ // 搜索表单配置 - 组件自由组合
43
+ const formItemList = ref<SearchListPageProps['formItemList']>([
44
+ // 参考EpForm和各组件文档配置
45
+ ])
46
+
47
+ // 表格列配置
48
+ const columns:SearchListPageProps['columns'] = [
49
+ // 参考 EpTable 文档
50
+ ]
51
+
52
+ // 左侧按钮配置
53
+ const leftButtons:SearchListPageProps['leftButtons']=[
54
+ // 按钮配置
55
+ ]
56
+
57
+ // 行操作按钮
58
+ const actionButtons:SearchListPageProps['actionButtons']=[
59
+ // 操作按钮配置
60
+ ]
61
+
62
+ // 新增
63
+ const handleAdd = () => {
64
+ $goto({
65
+ name: 'DemoDetail',
66
+ query: { mode: 'add' }
67
+ })
68
+ }
69
+ </script>
70
+ ```
71
+
72
+ ## 组件文档
73
+
74
+ > 查看所有可用组件:[组件文档索引](../overview.md)