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.
- package/CHANGELOG.md +24 -0
- package/README.md +85 -85
- package/dist/index.css +1 -1
- package/dist/index.full.js +15 -5
- package/dist/index.full.min.js +4 -4
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +4 -4
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +15 -6
- package/docs/CHANGELOG.md +5 -5
- package/docs/api-examples.md +49 -49
- package/docs/components/attachment.md +118 -111
- package/docs/components/buttons.md +179 -179
- package/docs/components/custom-column.md +70 -70
- package/docs/components/date-picker-range.md +61 -61
- package/docs/components/dialog.md +104 -104
- package/docs/components/footer-info.md +101 -101
- package/docs/components/form.md +211 -211
- package/docs/components/header.md +117 -117
- package/docs/components/input.md +111 -111
- package/docs/components/link.md +63 -63
- package/docs/components/search-list-page.md +91 -91
- package/docs/components/select.md +249 -249
- package/docs/components/table.md +145 -145
- package/docs/components/title.md +70 -70
- package/docs/components/use-choose-dialog.md +114 -114
- package/docs/components/use-confirm-dialog.md +86 -86
- package/docs/components/use-form-dialog.md +85 -85
- package/docs/guide/markdown-examples.md +85 -85
- package/docs/hooks/use-navigation.md +131 -131
- package/docs/hooks/use-utils.md +162 -162
- package/docs/index.md +25 -25
- package/docs/overview.md +99 -99
- package/docs/pages/detail.md +66 -66
- package/docs/pages/list.md +74 -74
- package/docs/pages/router.md +151 -151
- package/es/components/attachment/index.d.ts +12 -2
- package/es/components/attachment/index.mjs +1 -1
- package/es/components/attachment/index.mjs.map +1 -1
- package/es/components/attachment/src/attachment.d.ts +6 -0
- package/es/components/attachment/src/attachment.mjs +7 -1
- package/es/components/attachment/src/attachment.mjs.map +1 -1
- package/es/components/attachment/src/attachment.vue.d.ts +5 -1
- package/es/components/attachment/src/attachment.vue2.mjs +7 -4
- package/es/components/attachment/src/attachment.vue2.mjs.map +1 -1
- package/es/components/attachment/src/use-attachment.mjs.map +1 -1
- package/es/components/buttons/index.mjs.map +1 -1
- package/es/components/buttons/src/buttons-vue.mjs.map +1 -1
- package/es/components/buttons/src/buttons.mjs.map +1 -1
- package/es/components/custom-column/index.mjs.map +1 -1
- package/es/components/custom-column/src/custom-column.mjs.map +1 -1
- package/es/components/custom-column/src/custom-column.vue2.mjs.map +1 -1
- package/es/components/date-picker-range/index.mjs.map +1 -1
- package/es/components/date-picker-range/src/date-picker-range.mjs.map +1 -1
- package/es/components/date-picker-range/src/date-picker-range.vue2.mjs.map +1 -1
- package/es/components/footer-info/index.mjs.map +1 -1
- package/es/components/footer-info/src/footer-info.mjs.map +1 -1
- package/es/components/footer-info/src/footer-info.vue2.mjs.map +1 -1
- package/es/components/form/index.mjs.map +1 -1
- package/es/components/form/src/form-item-vue.mjs.map +1 -1
- package/es/components/form/src/form-item.mjs.map +1 -1
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/form.vue2.mjs.map +1 -1
- package/es/components/form/src/hooks/use-form-item.mjs.map +1 -1
- package/es/components/form/src/hooks/use-form.mjs.map +1 -1
- package/es/components/header/index.mjs.map +1 -1
- package/es/components/header/src/header.mjs.map +1 -1
- package/es/components/header/src/header.vue2.mjs.map +1 -1
- package/es/components/header/src/use-header.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/input/index.mjs.map +1 -1
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input.vue2.mjs.map +1 -1
- package/es/components/link/index.mjs.map +1 -1
- package/es/components/link/src/link.mjs.map +1 -1
- package/es/components/link/src/link.vue2.mjs.map +1 -1
- package/es/components/search-list-page/index.mjs.map +1 -1
- package/es/components/search-list-page/src/search-list-page.mjs.map +1 -1
- package/es/components/search-list-page/src/search-list-page.vue2.mjs.map +1 -1
- package/es/components/search-list-page/src/use-search-list-page.mjs.map +1 -1
- package/es/components/select/index.mjs.map +1 -1
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/select.vue2.mjs.map +1 -1
- package/es/components/select/src/use-select.mjs.map +1 -1
- package/es/components/table/index.mjs.map +1 -1
- package/es/components/table/src/table.mjs.map +1 -1
- package/es/components/table/src/table.vue2.mjs.map +1 -1
- package/es/components/table/src/use-table.mjs.map +1 -1
- package/es/components/title/index.mjs.map +1 -1
- package/es/components/title/src/title.mjs.map +1 -1
- package/es/components/title/src/title.vue2.mjs.map +1 -1
- package/es/components/title/src/use-title.mjs.map +1 -1
- package/es/components/uni-vue/index.mjs.map +1 -1
- package/es/components/uni-vue/src/uni-vue.mjs.map +1 -1
- package/es/components/uni-vue/src/uni-vue.vue2.mjs.map +1 -1
- package/es/components/uni-vue/src/use-uni-vue.mjs.map +1 -1
- package/es/components.mjs.map +1 -1
- package/es/directives/permission/index.mjs.map +1 -1
- package/es/directives/repeat-click/index.mjs.map +1 -1
- package/es/hooks/dialog/use-choose-dialog.mjs.map +1 -1
- package/es/hooks/dialog/use-confirm-dialog.mjs.map +1 -1
- package/es/hooks/dialog/use-dialog.mjs.map +1 -1
- package/es/hooks/dialog/use-form-dialog.mjs.map +1 -1
- package/es/hooks/use-locale.mjs.map +1 -1
- package/es/hooks/use-navigation.mjs.map +1 -1
- package/es/hooks/use-request.mjs.map +1 -1
- package/es/hooks/use-template-promise.mjs.map +1 -1
- package/es/hooks/use-utils.mjs.map +1 -1
- package/es/index.mjs +1 -1
- package/es/index.mjs.map +1 -1
- package/es/locale/lang/en.mjs.map +1 -1
- package/es/locale/lang/zh-cn.mjs.map +1 -1
- package/es/package.json.mjs +1 -1
- package/es/plugins/globalProperties.mjs.map +1 -1
- package/es/types/global.d.ts +30 -30
- package/es/types/index.d.ts +2 -2
- package/es/types/utils.d.ts +19 -19
- package/es/utils/bem.mjs.map +1 -1
- package/es/utils/cookie.mjs.map +1 -1
- package/es/utils/dom.mjs.map +1 -1
- package/es/utils/env.mjs.map +1 -1
- package/es/utils/file.mjs.map +1 -1
- package/es/utils/http/core/modules/interceptor.mjs.map +1 -1
- package/es/utils/http/core/modules/loading.mjs.map +1 -1
- package/es/utils/http/core/preset-interceptors.mjs.map +1 -1
- package/es/utils/http/core/request-client.mjs.map +1 -1
- package/es/utils/http/index.mjs.map +1 -1
- package/es/utils/mitt.mjs.map +1 -1
- package/es/utils/navigation.mjs.map +1 -1
- package/es/utils/props.mjs.map +1 -1
- package/es/utils/time.mjs.map +1 -1
- package/es/utils/utils.mjs.map +1 -1
- package/es/utils/with-install.mjs.map +1 -1
- package/global.d.ts +21 -21
- package/lib/components/attachment/index.d.ts +12 -2
- package/lib/components/attachment/index.js +1 -0
- package/lib/components/attachment/index.js.map +1 -1
- package/lib/components/attachment/src/attachment.d.ts +6 -0
- package/lib/components/attachment/src/attachment.js +7 -0
- package/lib/components/attachment/src/attachment.js.map +1 -1
- package/lib/components/attachment/src/attachment.vue.d.ts +5 -1
- package/lib/components/attachment/src/attachment.vue2.js +6 -3
- package/lib/components/attachment/src/attachment.vue2.js.map +1 -1
- package/lib/components/attachment/src/use-attachment.js.map +1 -1
- package/lib/components/buttons/index.js.map +1 -1
- package/lib/components/buttons/src/buttons-vue.js.map +1 -1
- package/lib/components/buttons/src/buttons.js.map +1 -1
- package/lib/components/custom-column/index.js.map +1 -1
- package/lib/components/custom-column/src/custom-column.js.map +1 -1
- package/lib/components/custom-column/src/custom-column.vue2.js.map +1 -1
- package/lib/components/date-picker-range/index.js.map +1 -1
- package/lib/components/date-picker-range/src/date-picker-range.js.map +1 -1
- package/lib/components/date-picker-range/src/date-picker-range.vue2.js.map +1 -1
- package/lib/components/footer-info/index.js.map +1 -1
- package/lib/components/footer-info/src/footer-info.js.map +1 -1
- package/lib/components/footer-info/src/footer-info.vue2.js.map +1 -1
- package/lib/components/form/index.js.map +1 -1
- package/lib/components/form/src/form-item-vue.js.map +1 -1
- package/lib/components/form/src/form-item.js.map +1 -1
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/form.vue2.js.map +1 -1
- package/lib/components/form/src/hooks/use-form-item.js.map +1 -1
- package/lib/components/form/src/hooks/use-form.js.map +1 -1
- package/lib/components/header/index.js.map +1 -1
- package/lib/components/header/src/header.js.map +1 -1
- package/lib/components/header/src/header.vue2.js.map +1 -1
- package/lib/components/header/src/use-header.js.map +1 -1
- package/lib/components/index.js +1 -0
- package/lib/components/index.js.map +1 -1
- package/lib/components/input/index.js.map +1 -1
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input.vue2.js.map +1 -1
- package/lib/components/link/index.js.map +1 -1
- package/lib/components/link/src/link.js.map +1 -1
- package/lib/components/link/src/link.vue2.js.map +1 -1
- package/lib/components/search-list-page/index.js.map +1 -1
- package/lib/components/search-list-page/src/search-list-page.js.map +1 -1
- package/lib/components/search-list-page/src/search-list-page.vue2.js.map +1 -1
- package/lib/components/search-list-page/src/use-search-list-page.js.map +1 -1
- package/lib/components/select/index.js.map +1 -1
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/select.vue2.js.map +1 -1
- package/lib/components/select/src/use-select.js.map +1 -1
- package/lib/components/table/index.js.map +1 -1
- package/lib/components/table/src/table.js.map +1 -1
- package/lib/components/table/src/table.vue2.js.map +1 -1
- package/lib/components/table/src/use-table.js.map +1 -1
- package/lib/components/title/index.js.map +1 -1
- package/lib/components/title/src/title.js.map +1 -1
- package/lib/components/title/src/title.vue2.js.map +1 -1
- package/lib/components/title/src/use-title.js.map +1 -1
- package/lib/components/uni-vue/index.js.map +1 -1
- package/lib/components/uni-vue/src/uni-vue.js.map +1 -1
- package/lib/components/uni-vue/src/uni-vue.vue2.js.map +1 -1
- package/lib/components/uni-vue/src/use-uni-vue.js.map +1 -1
- package/lib/components.js.map +1 -1
- package/lib/directives/permission/index.js.map +1 -1
- package/lib/directives/repeat-click/index.js.map +1 -1
- package/lib/hooks/dialog/use-choose-dialog.js.map +1 -1
- package/lib/hooks/dialog/use-confirm-dialog.js.map +1 -1
- package/lib/hooks/dialog/use-dialog.js.map +1 -1
- package/lib/hooks/dialog/use-form-dialog.js.map +1 -1
- package/lib/hooks/use-locale.js.map +1 -1
- package/lib/hooks/use-navigation.js.map +1 -1
- package/lib/hooks/use-request.js.map +1 -1
- package/lib/hooks/use-template-promise.js.map +1 -1
- package/lib/hooks/use-utils.js.map +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/locale/lang/en.js.map +1 -1
- package/lib/locale/lang/zh-cn.js.map +1 -1
- package/lib/package.json.js +1 -1
- package/lib/plugins/globalProperties.js.map +1 -1
- package/lib/types/global.d.ts +30 -30
- package/lib/types/index.d.ts +2 -2
- package/lib/types/utils.d.ts +19 -19
- package/lib/utils/bem.js.map +1 -1
- package/lib/utils/cookie.js.map +1 -1
- package/lib/utils/dom.js.map +1 -1
- package/lib/utils/env.js.map +1 -1
- package/lib/utils/file.js.map +1 -1
- package/lib/utils/http/core/modules/interceptor.js.map +1 -1
- package/lib/utils/http/core/modules/loading.js.map +1 -1
- package/lib/utils/http/core/preset-interceptors.js.map +1 -1
- package/lib/utils/http/core/request-client.js.map +1 -1
- package/lib/utils/http/index.js.map +1 -1
- package/lib/utils/mitt.js.map +1 -1
- package/lib/utils/navigation.js.map +1 -1
- package/lib/utils/props.js.map +1 -1
- package/lib/utils/time.js.map +1 -1
- package/lib/utils/utils.js.map +1 -1
- package/lib/utils/with-install.js.map +1 -1
- package/package.json +1 -1
- package/theme-chalk/base.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/attachment.scss +39 -39
- package/theme-chalk/src/base.scss +2 -2
- package/theme-chalk/src/buttons.scss +22 -22
- package/theme-chalk/src/common/common.scss +7 -4
- package/theme-chalk/src/common/transition.scss +9 -9
- package/theme-chalk/src/custom-column.scss +55 -55
- package/theme-chalk/src/dialog.scss +62 -62
- package/theme-chalk/src/footer-info.scss +18 -18
- package/theme-chalk/src/form.scss +80 -72
- package/theme-chalk/src/header.scss +19 -19
- package/theme-chalk/src/index.scss +15 -15
- package/theme-chalk/src/link.scss +5 -5
- package/theme-chalk/src/mixins/config.scss +3 -3
- package/theme-chalk/src/mixins/mixins.scss +37 -37
- package/theme-chalk/src/search-list-page.scss +22 -22
- package/theme-chalk/src/select.scss +10 -10
- package/theme-chalk/src/table.scss +91 -91
- package/theme-chalk/src/tabs.scss +55 -55
- package/theme-chalk/src/title.scss +52 -52
- 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. **了解某个组件** → 查看上方对应组件文档
|
package/docs/pages/detail.md
CHANGED
|
@@ -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
|
+
|
package/docs/pages/list.md
CHANGED
|
@@ -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)
|