plain-design 1.0.0-beta.33 → 1.0.0-beta.35

Sign up to get free protection for your applications and to get access to all the features.
Files changed (177) hide show
  1. package/dist/plain-design.commonjs.min.js +18 -18
  2. package/dist/plain-design.min.css +1 -1
  3. package/dist/plain-design.min.js +18 -18
  4. package/dist/report.html +38 -38
  5. package/package.json +3 -2
  6. package/src/packages/components/Dropdown/dropdown.public.scss +10 -0
  7. package/src/packages/components/Dropdown/dropdown.utils.tsx +3 -1
  8. package/src/packages/components/Dropdown/index.tsx +2 -2
  9. package/src/packages/components/DropdownSeparator/index.tsx +8 -0
  10. package/src/packages/entry.tsx +1 -0
  11. package/src/pages/data/address.json +0 -39317
  12. package/src/pages/data/data-1.json +0 -754
  13. package/src/pages/data/data-2.json +0 -3006
  14. package/src/pages/data/data-200.json +0 -5206
  15. package/src/pages/data/data-2000.json +0 -51954
  16. package/src/pages/data/data-50.json +0 -2075
  17. package/src/pages/data/data.json +0 -30002
  18. package/src/pages/data/demo.json +0 -1702
  19. package/src/pages/data/mock.database.js +0 -43
  20. package/src/pages/data/mock.js +0 -141
  21. package/src/pages/data/tree.data.json +0 -87
  22. package/src/pages/env/config/local.js +0 -3
  23. package/src/pages/env/config/prod.js +0 -3
  24. package/src/pages/env/config/undefined.js +0 -1
  25. package/src/pages/env/env.d.ts +0 -4
  26. package/src/pages/env/index.ts +0 -1
  27. package/src/pages/history/createHistory.ts +0 -94
  28. package/src/pages/history/history.utils.ts +0 -64
  29. package/src/pages/index/App.tsx +0 -17
  30. package/src/pages/index/Demo/DemoLine.tsx +0 -23
  31. package/src/pages/index/Demo/DemoRow.scss +0 -131
  32. package/src/pages/index/Demo/DemoRow.tsx +0 -71
  33. package/src/pages/index/Demo/DemoRow.utils.ts +0 -23
  34. package/src/pages/index/Demo/DemoRowController.tsx +0 -45
  35. package/src/pages/index/Demo/index.ts +0 -8
  36. package/src/pages/index/app.scss +0 -197
  37. package/src/pages/index/components/AutoTable/AutoHeightAutoRow.tsx +0 -56
  38. package/src/pages/index/components/AutoTable/AutoHeightFixedRow.tsx +0 -50
  39. package/src/pages/index/components/AutoTable/AutoTableBasicUsage.tsx +0 -75
  40. package/src/pages/index/components/AutoTable/AutoTableCascade.tsx +0 -99
  41. package/src/pages/index/components/AutoTable/AutoTableDefaultSearch.tsx +0 -73
  42. package/src/pages/index/components/AutoTable/AutoTableFiles.tsx +0 -26
  43. package/src/pages/index/components/AutoTable/AutoTableFill.tsx +0 -51
  44. package/src/pages/index/components/AutoTable/AutoTableGroupUsage.tsx +0 -71
  45. package/src/pages/index/components/AutoTable/AutoTableObjectPicker.tsx +0 -181
  46. package/src/pages/index/components/AutoTable/AutoTableOvList.tsx +0 -80
  47. package/src/pages/index/components/AutoTable/AutoTableProductList.tsx +0 -98
  48. package/src/pages/index/components/AutoTable/AutoTableRowFormatter.tsx +0 -58
  49. package/src/pages/index/components/AutoTable/FixedHeightAutoRow.tsx +0 -50
  50. package/src/pages/index/components/AutoTable/FixedHeightFixedRow.tsx +0 -49
  51. package/src/pages/index/components/bus/DemoAddress.tsx +0 -181
  52. package/src/pages/index/components/bus/DemoAddressCascade.tsx +0 -132
  53. package/src/pages/index/components/bus/DemoFilter.tsx +0 -184
  54. package/src/pages/index/components/columns/DemoPlcAddress.tsx +0 -161
  55. package/src/pages/index/components/columns/DemoPlcDate.tsx +0 -363
  56. package/src/pages/index/components/columns/DemoPlcSelect.tsx +0 -505
  57. package/src/pages/index/components/columns/DemoPlcTime.tsx +0 -293
  58. package/src/pages/index/components/columns/DemoTableColumns.tsx +0 -88
  59. package/src/pages/index/components/form/DemoFormBasic.tsx +0 -516
  60. package/src/pages/index/components/form/DemoFormBlur.tsx +0 -204
  61. package/src/pages/index/components/form/DemoFormDynamicFields.tsx +0 -54
  62. package/src/pages/index/components/form/DemoFormEditControl.tsx +0 -164
  63. package/src/pages/index/components/form/DemoFormElement.tsx +0 -207
  64. package/src/pages/index/components/form/DemoFormLayout.scss +0 -7
  65. package/src/pages/index/components/form/DemoFormLayout.tsx +0 -311
  66. package/src/pages/index/components/form/DemoFormSimplify.tsx +0 -587
  67. package/src/pages/index/components/form/DemoFormSize.tsx +0 -274
  68. package/src/pages/index/components/form/DemoFormVertical.tsx +0 -280
  69. package/src/pages/index/components/normal/DemoAlert.tsx +0 -66
  70. package/src/pages/index/components/normal/DemoBadge.tsx +0 -53
  71. package/src/pages/index/components/normal/DemoButton.tsx +0 -300
  72. package/src/pages/index/components/normal/DemoCard.tsx +0 -176
  73. package/src/pages/index/components/normal/DemoCarousel.tsx +0 -230
  74. package/src/pages/index/components/normal/DemoCascade.tsx +0 -880
  75. package/src/pages/index/components/normal/DemoCheckbox.scss +0 -24
  76. package/src/pages/index/components/normal/DemoCheckbox.tsx +0 -294
  77. package/src/pages/index/components/normal/DemoCollapse.tsx +0 -104
  78. package/src/pages/index/components/normal/DemoColor.scss +0 -20
  79. package/src/pages/index/components/normal/DemoColor.tsx +0 -82
  80. package/src/pages/index/components/normal/DemoColorPicker.tsx +0 -163
  81. package/src/pages/index/components/normal/DemoDate.tsx +0 -443
  82. package/src/pages/index/components/normal/DemoDialog.tsx +0 -507
  83. package/src/pages/index/components/normal/DemoDropdown.tsx +0 -463
  84. package/src/pages/index/components/normal/DemoGrid.scss +0 -26
  85. package/src/pages/index/components/normal/DemoGrid.tsx +0 -181
  86. package/src/pages/index/components/normal/DemoIcon.tsx +0 -39
  87. package/src/pages/index/components/normal/DemoImage.tsx +0 -122
  88. package/src/pages/index/components/normal/DemoInput.scss +0 -0
  89. package/src/pages/index/components/normal/DemoInput.tsx +0 -790
  90. package/src/pages/index/components/normal/DemoKeepAlive.tsx +0 -505
  91. package/src/pages/index/components/normal/DemoLayout.tsx +0 -144
  92. package/src/pages/index/components/normal/DemoList.scss +0 -15
  93. package/src/pages/index/components/normal/DemoList.tsx +0 -82
  94. package/src/pages/index/components/normal/DemoLoading.tsx +0 -86
  95. package/src/pages/index/components/normal/DemoNumber.tsx +0 -269
  96. package/src/pages/index/components/normal/DemoPagination.tsx +0 -164
  97. package/src/pages/index/components/normal/DemoPopup.tsx +0 -695
  98. package/src/pages/index/components/normal/DemoProgress.tsx +0 -133
  99. package/src/pages/index/components/normal/DemoRadio.scss +0 -16
  100. package/src/pages/index/components/normal/DemoRadio.tsx +0 -188
  101. package/src/pages/index/components/normal/DemoRate.tsx +0 -77
  102. package/src/pages/index/components/normal/DemoScroll.scss +0 -22
  103. package/src/pages/index/components/normal/DemoScroll.tsx +0 -300
  104. package/src/pages/index/components/normal/DemoSegment.tsx +0 -71
  105. package/src/pages/index/components/normal/DemoSelect.tsx +0 -819
  106. package/src/pages/index/components/normal/DemoSlider.tsx +0 -128
  107. package/src/pages/index/components/normal/DemoSortList.tsx +0 -70
  108. package/src/pages/index/components/normal/DemoStackCard.tsx +0 -356
  109. package/src/pages/index/components/normal/DemoStep.scss +0 -18
  110. package/src/pages/index/components/normal/DemoStep.tsx +0 -291
  111. package/src/pages/index/components/normal/DemoTab.tsx +0 -338
  112. package/src/pages/index/components/normal/DemoTag.tsx +0 -100
  113. package/src/pages/index/components/normal/DemoTime.tsx +0 -403
  114. package/src/pages/index/components/normal/DemoToggle.tsx +0 -56
  115. package/src/pages/index/components/normal/DemoTooltip.tsx +0 -120
  116. package/src/pages/index/components/normal/DemoTree.tsx +0 -1183
  117. package/src/pages/index/components/normal/DemoUpload.tsx +0 -484
  118. package/src/pages/index/components/normal/DemoVirtualList.tsx +0 -464
  119. package/src/pages/index/components/service/DemoDialogService.tsx +0 -249
  120. package/src/pages/index/components/service/DemoFileService.tsx +0 -110
  121. package/src/pages/index/components/service/DemoImagePreviewer.tsx +0 -185
  122. package/src/pages/index/components/service/DemoMessageService.tsx +0 -100
  123. package/src/pages/index/components/service/DemoNoticeService.tsx +0 -99
  124. package/src/pages/index/components/service/DemoPopupService.tsx +0 -325
  125. package/src/pages/index/components/table/DemoPlcOperation.tsx +0 -307
  126. package/src/pages/index/components/table/DemoTableBasic.tsx +0 -220
  127. package/src/pages/index/components/table/DemoTableCheck.tsx +0 -78
  128. package/src/pages/index/components/table/DemoTableClassAndStyle.scss +0 -18
  129. package/src/pages/index/components/table/DemoTableClassAndStyle.tsx +0 -112
  130. package/src/pages/index/components/table/DemoTableColDraggable.tsx +0 -80
  131. package/src/pages/index/components/table/DemoTableEdit.tsx +0 -136
  132. package/src/pages/index/components/table/DemoTableExpand.tsx +0 -203
  133. package/src/pages/index/components/table/DemoTableFixed.tsx +0 -131
  134. package/src/pages/index/components/table/DemoTableFormatter.tsx +0 -66
  135. package/src/pages/index/components/table/DemoTableOverflowTooltip.tsx +0 -67
  136. package/src/pages/index/components/table/DemoTableRowDraggable.tsx +0 -106
  137. package/src/pages/index/components/table/DemoTableSlots.tsx +0 -153
  138. package/src/pages/index/components/table/DemoTableSpan.tsx +0 -167
  139. package/src/pages/index/components/table/DemoTableTree.tsx +0 -976
  140. package/src/pages/index/components/table/DemoVirtualTable.tsx +0 -274
  141. package/src/pages/index/components/test/DemoI18n.tsx +0 -27
  142. package/src/pages/index/components/test/DemoI18n2.jsx +0 -11
  143. package/src/pages/index/home/AppContent.tsx +0 -69
  144. package/src/pages/index/home/AppHead.tsx +0 -18
  145. package/src/pages/index/home/AppHome.tsx +0 -31
  146. package/src/pages/index/home/AppMenu.tsx +0 -38
  147. package/src/pages/index/home/menus.tsx +0 -220
  148. package/src/pages/index/home/plain-design.png +0 -0
  149. package/src/pages/index/main.tsx +0 -23
  150. package/src/pages/index/nav/$nav.ts +0 -41
  151. package/src/pages/index/pages.d.ts +0 -6
  152. package/src/pages/libs/iconfont-fontcls/demo.css +0 -539
  153. package/src/pages/libs/iconfont-fontcls/demo_index.html +0 -303
  154. package/src/pages/libs/iconfont-fontcls/iconfont.css +0 -35
  155. package/src/pages/libs/iconfont-fontcls/iconfont.js +0 -1
  156. package/src/pages/libs/iconfont-fontcls/iconfont.json +0 -44
  157. package/src/pages/libs/iconfont-fontcls/iconfont.ttf +0 -0
  158. package/src/pages/libs/iconfont-fontcls/iconfont.woff +0 -0
  159. package/src/pages/libs/iconfont-fontcls/iconfont.woff2 +0 -0
  160. package/src/pages/libs/iconfont-symbol/demo.css +0 -539
  161. package/src/pages/libs/iconfont-symbol/demo_index.html +0 -303
  162. package/src/pages/libs/iconfont-symbol/iconfont.css +0 -35
  163. package/src/pages/libs/iconfont-symbol/iconfont.js +0 -1
  164. package/src/pages/libs/iconfont-symbol/iconfont.json +0 -44
  165. package/src/pages/libs/iconfont-symbol/iconfont.ttf +0 -0
  166. package/src/pages/libs/iconfont-symbol/iconfont.woff +0 -0
  167. package/src/pages/libs/iconfont-symbol/iconfont.woff2 +0 -0
  168. package/src/pages/libs/install.iconfont-fontcls.tsx +0 -11
  169. package/src/pages/libs/install.iconfont-symbol.scss +0 -7
  170. package/src/pages/libs/install.iconfont-symbol.tsx +0 -14
  171. package/src/pages/module/address.ts +0 -27
  172. package/src/pages/module/http.ts +0 -24
  173. package/src/pages/module/index.ts +0 -19
  174. package/src/pages/module/object.ts +0 -5
  175. package/src/pages/module/ov.tsx +0 -13
  176. package/src/pages/module/upload.ts +0 -9
  177. package/src/pages/module/useTableOption.ts +0 -28
@@ -1,484 +0,0 @@
1
- import {computed, designPage, reactive} from "plain-design-composition";
2
- import {DemoRow} from "../../Demo/DemoRow";
3
- import {$notice, Button, DatePicker, Dropdown, DropdownOption, Upload} from "../../../../packages";
4
- import {UploadFile} from "../../../../packages/components/Upload";
5
- import {$file, FileServiceSingleFile} from "../../../../packages/components/$file";
6
- import {toArray} from "plain-utils/utils/toArray";
7
-
8
- const isSaveFile = false;
9
-
10
- const urls = computed(() => {
11
- return isSaveFile ? {
12
- single: 'http://1.116.13.72:7001/saveFile',
13
- multiple: 'http://1.116.13.72:7001/saveFiles',
14
- } : {
15
- single: 'http://1.116.13.72:7001/uploadFile',
16
- multiple: 'http://1.116.13.72:7001/uploadFiles',
17
- };
18
- });
19
-
20
- export const demo1 = designPage(() => {
21
-
22
- const state = reactive({
23
- val: {
24
- singleValue: null as any,
25
- },
26
- uploadData: {
27
- level: '123',
28
- orgCode: '001-123',
29
- attr1: DatePicker.plainDate.today('YYYY-MM-DD HH:mm:ss', '').getDisplay(),
30
- },
31
- uploadHeaders: {
32
- Authorization: '2781368215742187',
33
- },
34
- handleRemove: (file: UploadFile) => {
35
- console.log('remove file', file);
36
- },
37
- });
38
-
39
- return () => (
40
- <DemoRow title={'单文件上传'}>
41
- <Upload
42
- multiple={false}
43
- data={state.uploadData}
44
- headers={state.uploadHeaders}
45
- v-model={state.val.singleValue}
46
- action={urls.value.single}
47
- filename={'file'}
48
- handleRemove={state.handleRemove}
49
- onUploadSuccess={(param) => {
50
- console.log('upload success', param);
51
- }}
52
- />
53
- </DemoRow>
54
- );
55
- });
56
-
57
- export const demo2 = designPage(() => {
58
-
59
- const state = reactive({
60
- val: {
61
- 0: [
62
- { id: '001', name: 'logo.jpg', },
63
- { id: '002', name: 'home.jpg', },
64
- { id: '003', name: 'sketch.png', },
65
- ],
66
- },
67
- uploadData: {
68
- level: '123',
69
- orgCode: '001-123',
70
- attr1: DatePicker.plainDate.today('YYYY-MM-DD HH:mm:ss', '').getDisplay(),
71
- },
72
- uploadHeaders: {
73
- Authorization: '2781368215742187',
74
- },
75
- handleRemove: (file: UploadFile) => {
76
- console.log('remove file', file);
77
- },
78
- });
79
-
80
- return () => (
81
- <DemoRow title={'多文件上传'}>
82
- <Upload
83
- v-model={state.val[0]}
84
- data={state.uploadData}
85
- action={urls.value.multiple}
86
- filename={'file'}
87
- handleRemove={state.handleRemove}
88
- onUploadSuccess={(param) => {
89
- console.log(param);
90
- }}
91
- />
92
- </DemoRow>
93
- );
94
- });
95
-
96
- export const demo3 = designPage(() => {
97
-
98
- const state = reactive({
99
- val: {
100
- 0: [
101
- { id: '001', name: 'logo.jpg', },
102
- { id: '002', name: 'home.jpg', },
103
- { id: '003', name: 'sketch.png', },
104
- ],
105
- },
106
- uploadData: {
107
- level: '123',
108
- orgCode: '001-123',
109
- attr1: DatePicker.plainDate.today('YYYY-MM-DD HH:mm:ss', '').getDisplay(),
110
- },
111
- uploadHeaders: {
112
- Authorization: '2781368215742187',
113
- },
114
- handleRemove: (file: UploadFile) => {
115
- console.log('remove file', file);
116
- },
117
- handlePreview(file: UploadFile) {
118
- $notice.primary(file.name);
119
- },
120
- });
121
-
122
- return () => (
123
- <DemoRow title={'手动处理文件预览'}>
124
- <Upload
125
- v-model={state.val[0]}
126
- action={urls.value.multiple}
127
- filename={'file'}
128
- handleRemove={state.handleRemove}
129
- handlePreview={state.handlePreview}
130
- />
131
- </DemoRow>
132
- );
133
- });
134
-
135
- export const demo4 = designPage(() => {
136
-
137
- const state = reactive({
138
- val: {
139
- 0: [
140
- { id: '001', name: 'logo.jpg', },
141
- { id: '002', name: 'home.jpg', },
142
- { id: '003', name: 'sketch.png', },
143
- ],
144
- },
145
- uploadData: {
146
- level: '123',
147
- orgCode: '001-123',
148
- attr1: DatePicker.plainDate.today('YYYY-MM-DD HH:mm:ss', '').getDisplay(),
149
- },
150
- uploadHeaders: {
151
- Authorization: '2781368215742187',
152
- },
153
- handleRemove: (file: UploadFile) => {
154
- console.log('remove file', file);
155
- },
156
- });
157
-
158
- return () => (
159
- <DemoRow title={'选择特定类型的文件'}>
160
- <h4>内置的accept:excel(另一个是image)</h4>
161
- <Upload
162
- accept={'excel'}
163
- v-model={state.val[0]}
164
- action={urls.value.multiple}
165
- filename={'file'}
166
- handleRemove={state.handleRemove}
167
- />
168
- <h4>自定义accept,选择png文件</h4>
169
- <Upload
170
- accept={'image/png'}
171
- v-model={state.val[0]}
172
- action={urls.value.multiple}
173
- filename={'file'}
174
- handleRemove={state.handleRemove}
175
- />
176
- </DemoRow>
177
- );
178
- });
179
-
180
- export const demo5 = designPage(() => {
181
-
182
- const state = reactive({
183
- val: {
184
- 0: [
185
- { id: '001', name: 'logo.jpg', },
186
- { id: '002', name: 'home.jpg', },
187
- { id: '003', name: 'sketch.png', },
188
- ],
189
- },
190
- uploadData: {
191
- level: '123',
192
- orgCode: '001-123',
193
- attr1: DatePicker.plainDate.today('YYYY-MM-DD HH:mm:ss', '').getDisplay(),
194
- },
195
- uploadHeaders: {
196
- Authorization: '2781368215742187',
197
- },
198
- chooseFileValidator(file: FileServiceSingleFile) {
199
- const { name, calcSize } = file;
200
- const filename = name.slice(0, name.lastIndexOf('.'));
201
- if (filename.length > 3) {
202
- $notice.warn(`文件【${name}】校验不通过,文件名最大三个字符。`, { time: 5000 });
203
- return false;
204
- }
205
- if (calcSize > 0.1) {
206
- $notice.warn(`文件【${name}】校验不通过,文件大小超出 0.1 M`, { time: 5000 });
207
- return false;
208
- }
209
- },
210
- });
211
-
212
- return () => (
213
- <DemoRow title={'选择文件的时候,校验文件'}>
214
- <h4>点击选择文件</h4>
215
- <Upload
216
- v-model={state.val[0]}
217
- action={urls.value.multiple}
218
- filename={'file'}
219
- validator={state.chooseFileValidator}
220
- />
221
- </DemoRow>
222
- );
223
- });
224
-
225
- export const demo6 = designPage(() => {
226
-
227
- const state = reactive({
228
- val: {
229
- 1: [
230
- { id: '000', name: '已完成.jpg', },
231
- { id: '001', name: '上传成功.jpg', status: 'success' as const },
232
- { id: '002', name: '准备就绪.jpg', status: 'ready' as const },
233
- { id: '003', name: '上传失败.jpg', status: 'error' as const },
234
- { id: '004', name: '正在上传.jpg', status: 'uploading' as const, percent: 78 },
235
- { id: '005', name: '已删除.jpg', status: 'remove' as const },
236
- ],
237
- },
238
- uploadData: {
239
- level: '123',
240
- orgCode: '001-123',
241
- attr1: DatePicker.plainDate.today('YYYY-MM-DD HH:mm:ss', '').getDisplay(),
242
- },
243
- handleRemove: (file: UploadFile) => {
244
- console.log('remove file', file);
245
- },
246
- });
247
-
248
- return () => (
249
- <DemoRow title={'文件状态'}>
250
- <Upload
251
- v-model={state.val[1]}
252
- action={urls.value.multiple}
253
- filename={'file'}
254
- handleRemove={state.handleRemove}
255
- />
256
- </DemoRow>
257
- );
258
- });
259
- export const demo7 = designPage(() => {
260
-
261
- const state = reactive({
262
- val: {
263
- 0: [
264
- { id: '001', name: 'logo.jpg', },
265
- { id: '002', name: 'home.jpg', },
266
- { id: '003', name: 'sketch.png', },
267
- ],
268
- },
269
- uploadData: {
270
- level: '123',
271
- orgCode: '001-123',
272
- attr1: DatePicker.plainDate.today('YYYY-MM-DD HH:mm:ss', '').getDisplay(),
273
- },
274
- handleRemove: (file: UploadFile) => {
275
- console.log('remove file', file);
276
- },
277
- });
278
-
279
- return () => (
280
- <DemoRow title={'拖拽上传'}>
281
- <Upload
282
- v-model={state.val[0]}
283
- draggable
284
- action={urls.value.multiple}
285
- filename={'file'}
286
- handleRemove={state.handleRemove}
287
- />
288
- </DemoRow>
289
- );
290
- });
291
- export const demo8 = designPage(() => {
292
-
293
- const state = reactive({
294
- val: {
295
- singleValue: undefined as any,
296
- 0: [
297
- { id: '001', name: 'logo.jpg', },
298
- { id: '002', name: 'home.jpg', },
299
- { id: '003', name: 'sketch.png', },
300
- ],
301
- },
302
- uploadData: {
303
- level: '123',
304
- orgCode: '001-123',
305
- attr1: DatePicker.plainDate.today('YYYY-MM-DD HH:mm:ss', '').getDisplay(),
306
- },
307
- uploadHeaders: {
308
- Authorization: '2781368215742187',
309
- },
310
- handleRemove: (file: UploadFile) => {
311
- console.log('remove file', file);
312
- },
313
- });
314
-
315
- return () => (
316
- <DemoRow title={'手动上传'}>
317
- <h4>单文件上传</h4>
318
- <Upload
319
- autoUpload={false}
320
- multiple={false}
321
- data={state.uploadData}
322
- headers={state.uploadHeaders}
323
- v-model={state.val.singleValue}
324
- action={urls.value.single}
325
- filename={'file'}
326
- handleRemove={state.handleRemove}
327
- />
328
- <h4>多文件上传</h4>
329
- <Upload
330
- autoUpload={false}
331
- v-model={state.val[0]}
332
- action={urls.value.multiple}
333
- filename={'file'}
334
- handleRemove={state.handleRemove}
335
- />
336
- </DemoRow>
337
- );
338
- });
339
-
340
- export const demo9 = designPage(() => {
341
-
342
- const state = reactive({
343
- val: {
344
- singleValue: undefined as any,
345
- 0: [
346
- { id: '001', name: 'logo.jpg', },
347
- { id: '002', name: 'home.jpg', },
348
- { id: '003', name: 'sketch.png', },
349
- ],
350
- },
351
- uploadData: {
352
- level: '123',
353
- orgCode: '001-123',
354
- attr1: DatePicker.plainDate.today('YYYY-MM-DD HH:mm:ss', '').getDisplay(),
355
- },
356
- uploadHeaders: {
357
- Authorization: '2781368215742187',
358
- },
359
- handleRemove: (file: UploadFile) => {
360
- console.log('remove file', file);
361
- },
362
- });
363
-
364
- return () => (
365
- <DemoRow title={'禁用上传'}>
366
- <h4>单文件上传</h4>
367
- <Upload
368
- disabled
369
- multiple={false}
370
- data={state.uploadData}
371
- headers={state.uploadHeaders}
372
- v-model={state.val.singleValue}
373
- action={urls.value.single}
374
- filename={'file'}
375
- handleRemove={state.handleRemove}
376
- />
377
- <h4>多文件上传</h4>
378
- <Upload
379
- disabled
380
- v-model={state.val[0]}
381
- action={urls.value.multiple}
382
- filename={'file'}
383
- handleRemove={state.handleRemove}
384
- />
385
- <h4>多文件拖拽上传</h4>
386
- <Upload
387
- disabled
388
- draggable
389
- v-model={state.val[0]}
390
- action={urls.value.multiple}
391
- filename={'file'}
392
- handleRemove={state.handleRemove}
393
- />
394
- </DemoRow>
395
- );
396
- });
397
- export const demo10 = designPage(() => {
398
-
399
- const state = reactive({
400
- val: {
401
- singleValue: undefined as any,
402
- 0: [
403
- { id: '001', name: 'logo.jpg', },
404
- { id: '002', name: 'home.jpg', },
405
- { id: '003', name: 'sketch.png', },
406
- ],
407
- },
408
- uploadData: {
409
- level: '123',
410
- orgCode: '001-123',
411
- attr1: DatePicker.plainDate.today('YYYY-MM-DD HH:mm:ss', '').getDisplay(),
412
- },
413
- uploadHeaders: {
414
- Authorization: '2781368215742187',
415
- },
416
- customUpload: {
417
- val: [],
418
- businessType: null as null | string,
419
- handleRemove: () => {
420
- console.log('调用接口删除后端文件');
421
- },
422
- handleUpload: async (files: UploadFile | UploadFile[]) => {
423
- await Promise.all(toArray(files).map(file => $file.upload({
424
- action: urls.value.single,
425
- filename: 'file',
426
- file: file.file!,
427
- data: file.file!.data,
428
- })));
429
- },
430
- validator: (file: FileServiceSingleFile) => {
431
- const { businessType } = state.customUpload;
432
- if (!businessType) {
433
- $notice.error('请先选择业务类型!');
434
- return false;
435
- }
436
- file.data = { businessType, attr1: businessType };
437
- return true;
438
- },
439
- },
440
- });
441
-
442
- return () => (
443
- <DemoRow title={'自定义上传:将多个文件分开上传,并且每一个文件需要选择一个类型'}>
444
- <h4>多文件上传</h4>
445
- <Upload
446
- autoUpload={false}
447
- v-model={state.customUpload.val}
448
- action={urls.value.multiple}
449
- filename="file"
450
- handleUpload={state.customUpload.handleUpload}
451
- handleRemove={state.customUpload.handleRemove}
452
- onChange={() => state.customUpload.businessType = null}
453
- validator={state.customUpload.validator}
454
- v-slots={{
455
- default: ({ index, item }) => (
456
- <span>{index + 1}、{item.name}--[[{item.file!.data.businessType}]]</span>
457
- ),
458
- /*todo demo upload*/
459
- button: () => (
460
- <>
461
- <Button>
462
- <span>业务类型:{state.customUpload.businessType || '未选择'}</span>
463
- </Button>
464
- <Dropdown placement="bottom-end">
465
- {{
466
- reference: () => (
467
- <Button icon="pi-down"/>
468
- ),
469
- popper: () => (
470
- <>
471
- <DropdownOption label={'搜索'} onClick={() => state.customUpload.businessType = '搜索'} icon={'pi-search'}/>
472
- <DropdownOption label={'排序'} onClick={() => state.customUpload.businessType = '排序'} icon={'pi-sort'}/>
473
- <DropdownOption label={'删除'} onClick={() => state.customUpload.businessType = '删除'} icon={'pi-close'}/>
474
- </>
475
- )
476
- }}
477
- </Dropdown>
478
- </>
479
- )
480
- }}
481
- />
482
- </DemoRow>
483
- );
484
- });