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
@@ -1,104 +1,104 @@
1
- # EpDialog 对话框
2
-
3
- 基于 useDialog hook 实现的对话框,支持 Promise 方式调用。
4
-
5
- ## 基本用法
6
-
7
- ```vue
8
- <template>
9
- <el-button @click="openDialog">打开对话框</el-button>
10
- <Dialog />
11
- </template>
12
-
13
- <script setup lang="tsx">
14
- import { useDialog } from 'el-plus'
15
-
16
- const Dialog = useDialog({
17
- title: '对话框标题',
18
- width: '600px',
19
- onConfirm: (resolve) => {
20
- // 确认逻辑
21
- resolve('success')
22
- },
23
- onCancel: (reject) => {
24
- reject('cancel')
25
- },
26
- })
27
-
28
- const openDialog = async () => {
29
- try {
30
- const result = await Dialog.start()
31
- console.log('确认', result)
32
- } catch (e) {
33
- console.log('取消', e)
34
- }
35
- }
36
- </script>
37
- ```
38
-
39
- ## useDialog Options
40
-
41
- | 属性 | 说明 | 类型 | 默认值 |
42
- |------|------|------|--------|
43
- | title | 对话框标题 ^el^ | `string` | '提示' |
44
- | width | 对话框宽度 ^el^ | `string` | - |
45
- | showFooter | 显示底部按钮 | `boolean` | `true` |
46
- | confirmText | 确认按钮文本 | `string` | '确定' |
47
- | cancelText | 取消按钮文本 | `string` | '取消' |
48
- | onConfirm | 确认回调 | `(resolve) => void` | - |
49
- | onBeforeConfirm | 确认前回调 | `(resolve) => void` | - |
50
- | onCancel | 取消回调 | `(reject) => void` | - |
51
- | onBeforeCancel | 取消前回调 | `(reject) => void` | - |
52
- | render | 自定义渲染函数 | `(props) => VNode` | - |
53
- | scopedSlots | 插槽 | `object` | - |
54
- | destroyOnClose | 关闭时销毁 ^el^ | `boolean` | - |
55
-
56
- > ^el^ 表示继承自 [el-dialog](https://element-plus.org/zh-CN/component/dialog.html) 的属性
57
-
58
- ## 自定义内容
59
-
60
- ```tsx
61
- const Dialog = useDialog({
62
- title: '自定义内容',
63
- render: ({ resolve, reject }) => (
64
- <div>
65
- <p>自定义内容</p>
66
- <EpForm v-model={formData} formItemList={formItemList} />
67
- </div>
68
- ),
69
- onConfirm: async (resolve) => {
70
- const valid = await formRef.value?.validate()
71
- if (valid) {
72
- resolve(formData)
73
- }
74
- },
75
- })
76
- ```
77
-
78
- ## 使用插槽
79
-
80
- ```vue
81
- <template>
82
- <Dialog>
83
- <template #default="{ resolve, reject }">
84
- <p>对话框内容</p>
85
- </template>
86
- </Dialog>
87
- </template>
88
-
89
- <script setup>
90
- import { useDialog } from 'el-plus'
91
-
92
- const Dialog = useDialog({
93
- title: '使用插槽',
94
- })
95
- </script>
96
- ```
97
-
98
- ## 其他对话框 Hooks
99
-
100
- | Hook | 说明 |
101
- |------|------|
102
- | [useFormDialog](./use-form-dialog.md) | 表单对话框 |
103
- | [useConfirmDialog](./use-confirm-dialog.md) | 确认对话框 |
104
- | [useChooseDialog](./use-choose-dialog.md) | 选择对话框 |
1
+ # EpDialog 对话框
2
+
3
+ 基于 useDialog hook 实现的对话框,支持 Promise 方式调用。
4
+
5
+ ## 基本用法
6
+
7
+ ```vue
8
+ <template>
9
+ <el-button @click="openDialog">打开对话框</el-button>
10
+ <Dialog />
11
+ </template>
12
+
13
+ <script setup lang="tsx">
14
+ import { useDialog } from 'el-plus'
15
+
16
+ const Dialog = useDialog({
17
+ title: '对话框标题',
18
+ width: '600px',
19
+ onConfirm: (resolve) => {
20
+ // 确认逻辑
21
+ resolve('success')
22
+ },
23
+ onCancel: (reject) => {
24
+ reject('cancel')
25
+ },
26
+ })
27
+
28
+ const openDialog = async () => {
29
+ try {
30
+ const result = await Dialog.start()
31
+ console.log('确认', result)
32
+ } catch (e) {
33
+ console.log('取消', e)
34
+ }
35
+ }
36
+ </script>
37
+ ```
38
+
39
+ ## useDialog Options
40
+
41
+ | 属性 | 说明 | 类型 | 默认值 |
42
+ |------|------|------|--------|
43
+ | title | 对话框标题 ^el^ | `string` | '提示' |
44
+ | width | 对话框宽度 ^el^ | `string` | - |
45
+ | showFooter | 显示底部按钮 | `boolean` | `true` |
46
+ | confirmText | 确认按钮文本 | `string` | '确定' |
47
+ | cancelText | 取消按钮文本 | `string` | '取消' |
48
+ | onConfirm | 确认回调 | `(resolve) => void` | - |
49
+ | onBeforeConfirm | 确认前回调 | `(resolve) => void` | - |
50
+ | onCancel | 取消回调 | `(reject) => void` | - |
51
+ | onBeforeCancel | 取消前回调 | `(reject) => void` | - |
52
+ | render | 自定义渲染函数 | `(props) => VNode` | - |
53
+ | scopedSlots | 插槽 | `object` | - |
54
+ | destroyOnClose | 关闭时销毁 ^el^ | `boolean` | - |
55
+
56
+ > ^el^ 表示继承自 [el-dialog](https://element-plus.org/zh-CN/component/dialog.html) 的属性
57
+
58
+ ## 自定义内容
59
+
60
+ ```tsx
61
+ const Dialog = useDialog({
62
+ title: '自定义内容',
63
+ render: ({ resolve, reject }) => (
64
+ <div>
65
+ <p>自定义内容</p>
66
+ <EpForm v-model={formData} formItemList={formItemList} />
67
+ </div>
68
+ ),
69
+ onConfirm: async (resolve) => {
70
+ const valid = await formRef.value?.validate()
71
+ if (valid) {
72
+ resolve(formData)
73
+ }
74
+ },
75
+ })
76
+ ```
77
+
78
+ ## 使用插槽
79
+
80
+ ```vue
81
+ <template>
82
+ <Dialog>
83
+ <template #default="{ resolve, reject }">
84
+ <p>对话框内容</p>
85
+ </template>
86
+ </Dialog>
87
+ </template>
88
+
89
+ <script setup>
90
+ import { useDialog } from 'el-plus'
91
+
92
+ const Dialog = useDialog({
93
+ title: '使用插槽',
94
+ })
95
+ </script>
96
+ ```
97
+
98
+ ## 其他对话框 Hooks
99
+
100
+ | Hook | 说明 |
101
+ |------|------|
102
+ | [useFormDialog](./use-form-dialog.md) | 表单对话框 |
103
+ | [useConfirmDialog](./use-confirm-dialog.md) | 确认对话框 |
104
+ | [useChooseDialog](./use-choose-dialog.md) | 选择对话框 |
@@ -1,101 +1,101 @@
1
- # EpFooterInfo 底部信息
2
-
3
- 用于显示单据底部的创建人、修改人等信息。
4
-
5
- ## 基本用法
6
-
7
- ```vue
8
- <template>
9
- <EpFooterInfo v-model="formData" />
10
- </template>
11
-
12
- <script setup>
13
- import { reactive } from 'vue'
14
-
15
- const formData = reactive({
16
- creator: 'admin',
17
- creatorName: '管理员',
18
- createTime: '2024-01-01 10:00:00',
19
- editor: 'admin',
20
- editorName: '管理员',
21
- editTime: '2024-01-02 15:00:00',
22
- })
23
- </script>
24
- ```
25
-
26
- ## Props
27
-
28
- | 属性 | 说明 | 类型 | 默认值 |
29
- |------|------|------|--------|
30
- | v-model | 数据对象 | `Record<string, any>` | `{}` |
31
- | list | 字段配置列表 | `FooterInfoFieldConfig[]` | 默认四字段 |
32
- | fieldMap | 字段映射配置 | `FooterInfoFieldMap` | `{}` |
33
-
34
- ## 默认字段
35
-
36
- | 字段 | 说明 |
37
- |------|------|
38
- | creator / creatorName | 制单人 |
39
- | createTime / createTimestamp | 创建时间 |
40
- | editor / editorName | 最新修改人 |
41
- | editTime / editTimestamp | 最新修改时间 |
42
-
43
- ## FooterInfoFieldConfig
44
-
45
- ```ts
46
- interface FooterInfoFieldConfig {
47
- name: string // 显示名称
48
- prop: string // 字段名
49
- formatter?: (value: any, modelValue: any) => string
50
- }
51
- ```
52
-
53
- ## 自定义字段
54
-
55
- ```vue
56
- <template>
57
- <EpFooterInfo v-model="formData" :list="fieldList" />
58
- </template>
59
-
60
- <script setup>
61
- const fieldList = [
62
- { name: '创建人', prop: 'createBy' },
63
- { name: '创建时间', prop: 'createTime' },
64
- { name: '审核人', prop: 'auditBy' },
65
- { name: '审核时间', prop: 'auditTime' },
66
- ]
67
- </script>
68
- ```
69
-
70
- ## 使用 fieldMap 格式化
71
-
72
- ```vue
73
- <template>
74
- <EpFooterInfo v-model="formData" :field-map="fieldMap" />
75
- </template>
76
-
77
- <script setup>
78
- const fieldMap = {
79
- creator: {
80
- name: '制单人',
81
- formatter: (value, data) => `${data.creatorName}(${value})`,
82
- },
83
- createTime: (value) => value?.split(' ')[0], // 只显示日期
84
- }
85
- </script>
86
- ```
87
-
88
- ## 在 Form 中使用
89
-
90
- ```tsx
91
- const formItemList = [
92
- // 其他表单项...
93
- {
94
- col: 24,
95
- type: 'EpFooterInfo',
96
- props: {
97
- modelValue: formData,
98
- },
99
- },
100
- ]
101
- ```
1
+ # EpFooterInfo 底部信息
2
+
3
+ 用于显示单据底部的创建人、修改人等信息。
4
+
5
+ ## 基本用法
6
+
7
+ ```vue
8
+ <template>
9
+ <EpFooterInfo v-model="formData" />
10
+ </template>
11
+
12
+ <script setup>
13
+ import { reactive } from 'vue'
14
+
15
+ const formData = reactive({
16
+ creator: 'admin',
17
+ creatorName: '管理员',
18
+ createTime: '2024-01-01 10:00:00',
19
+ editor: 'admin',
20
+ editorName: '管理员',
21
+ editTime: '2024-01-02 15:00:00',
22
+ })
23
+ </script>
24
+ ```
25
+
26
+ ## Props
27
+
28
+ | 属性 | 说明 | 类型 | 默认值 |
29
+ |------|------|------|--------|
30
+ | v-model | 数据对象 | `Record<string, any>` | `{}` |
31
+ | list | 字段配置列表 | `FooterInfoFieldConfig[]` | 默认四字段 |
32
+ | fieldMap | 字段映射配置 | `FooterInfoFieldMap` | `{}` |
33
+
34
+ ## 默认字段
35
+
36
+ | 字段 | 说明 |
37
+ |------|------|
38
+ | creator / creatorName | 制单人 |
39
+ | createTime / createTimestamp | 创建时间 |
40
+ | editor / editorName | 最新修改人 |
41
+ | editTime / editTimestamp | 最新修改时间 |
42
+
43
+ ## FooterInfoFieldConfig
44
+
45
+ ```ts
46
+ interface FooterInfoFieldConfig {
47
+ name: string // 显示名称
48
+ prop: string // 字段名
49
+ formatter?: (value: any, modelValue: any) => string
50
+ }
51
+ ```
52
+
53
+ ## 自定义字段
54
+
55
+ ```vue
56
+ <template>
57
+ <EpFooterInfo v-model="formData" :list="fieldList" />
58
+ </template>
59
+
60
+ <script setup>
61
+ const fieldList = [
62
+ { name: '创建人', prop: 'createBy' },
63
+ { name: '创建时间', prop: 'createTime' },
64
+ { name: '审核人', prop: 'auditBy' },
65
+ { name: '审核时间', prop: 'auditTime' },
66
+ ]
67
+ </script>
68
+ ```
69
+
70
+ ## 使用 fieldMap 格式化
71
+
72
+ ```vue
73
+ <template>
74
+ <EpFooterInfo v-model="formData" :field-map="fieldMap" />
75
+ </template>
76
+
77
+ <script setup>
78
+ const fieldMap = {
79
+ creator: {
80
+ name: '制单人',
81
+ formatter: (value, data) => `${data.creatorName}(${value})`,
82
+ },
83
+ createTime: (value) => value?.split(' ')[0], // 只显示日期
84
+ }
85
+ </script>
86
+ ```
87
+
88
+ ## 在 Form 中使用
89
+
90
+ ```tsx
91
+ const formItemList = [
92
+ // 其他表单项...
93
+ {
94
+ col: 24,
95
+ type: 'EpFooterInfo',
96
+ props: {
97
+ modelValue: formData,
98
+ },
99
+ },
100
+ ]
101
+ ```