eoss-ui 0.5.83 → 0.5.85

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 (91) hide show
  1. package/CHANGELOG.md +929 -0
  2. package/lib/button-group.js +146 -66
  3. package/lib/button.js +118 -69
  4. package/lib/checkbox-group.js +64 -46
  5. package/lib/config/api.js +5 -1
  6. package/lib/data-table-form.js +64 -46
  7. package/lib/data-table.js +468 -295
  8. package/lib/date-picker.js +64 -46
  9. package/lib/dialog.js +71 -48
  10. package/lib/eoss-ui.common.js +9188 -15746
  11. package/lib/flow-group.js +64 -46
  12. package/lib/flow-list.js +65 -47
  13. package/lib/flow.js +113 -77
  14. package/lib/form.js +5708 -13486
  15. package/lib/handle-user.js +65 -47
  16. package/lib/handler.js +70 -48
  17. package/lib/icon.js +64 -46
  18. package/lib/index.js +1 -1
  19. package/lib/input-number.js +64 -46
  20. package/lib/input.js +64 -46
  21. package/lib/login.js +86 -57
  22. package/lib/main.js +1435 -483
  23. package/lib/nav.js +64 -46
  24. package/lib/notify.js +51 -46
  25. package/lib/page.js +64 -46
  26. package/lib/pagination.js +64 -46
  27. package/lib/player.js +64 -46
  28. package/lib/qr-code.js +64 -46
  29. package/lib/radio-group.js +64 -46
  30. package/lib/retrial-auth.js +64 -46
  31. package/lib/select-ganged.js +64 -46
  32. package/lib/select.js +65 -47
  33. package/lib/selector-panel.js +64 -46
  34. package/lib/selector.js +64 -46
  35. package/lib/sizer.js +64 -46
  36. package/lib/steps.js +64 -46
  37. package/lib/switch.js +64 -46
  38. package/lib/table-form.js +64 -46
  39. package/lib/tabs.js +64 -46
  40. package/lib/theme-chalk/calendar.css +1 -1
  41. package/lib/theme-chalk/data-table.css +1 -1
  42. package/lib/theme-chalk/dialog.css +1 -1
  43. package/lib/theme-chalk/form.css +1 -1
  44. package/lib/theme-chalk/index.css +1 -1
  45. package/lib/theme-chalk/main.css +1 -1
  46. package/lib/theme-chalk/simplicity.css +1 -1
  47. package/lib/tips.js +64 -46
  48. package/lib/tree-group.js +64 -46
  49. package/lib/tree.js +64 -46
  50. package/lib/upload.js +78 -60
  51. package/lib/utils/util.js +18 -5
  52. package/lib/wujie.js +64 -46
  53. package/lib/wxlogin.js +64 -46
  54. package/package.json +2 -2
  55. package/packages/button/src/main.vue +88 -55
  56. package/packages/button-group/src/main.vue +56 -13
  57. package/packages/data-table/src/children.vue +3 -2
  58. package/packages/data-table/src/column.vue +6 -4
  59. package/packages/data-table/src/main.vue +150 -69
  60. package/packages/data-table/src/sizer.vue +51 -22
  61. package/packages/dialog/src/main.vue +5 -1
  62. package/packages/flow/src/main.vue +26 -17
  63. package/packages/form/src/main.vue +129 -2103
  64. package/packages/handler/src/main.vue +5 -0
  65. package/packages/login/src/main.vue +12 -1
  66. package/packages/login/src/resetPassword.vue +4 -2
  67. package/packages/main/src/default/index.vue +35 -54
  68. package/packages/main/src/default/userinfo.vue +2 -1
  69. package/packages/main/src/public/search.vue +444 -0
  70. package/packages/main/src/simplicity/apps.vue +20 -2
  71. package/packages/main/src/simplicity/handler.vue +0 -2
  72. package/packages/main/src/simplicity/index.vue +97 -32
  73. package/packages/main/src/simplicity/userinfo.vue +1 -0
  74. package/packages/select/src/main.vue +1 -1
  75. package/packages/theme-chalk/lib/calendar.css +1 -1
  76. package/packages/theme-chalk/lib/data-table.css +1 -1
  77. package/packages/theme-chalk/lib/dialog.css +1 -1
  78. package/packages/theme-chalk/lib/form.css +1 -1
  79. package/packages/theme-chalk/lib/index.css +1 -1
  80. package/packages/theme-chalk/lib/main.css +1 -1
  81. package/packages/theme-chalk/lib/simplicity.css +1 -1
  82. package/packages/theme-chalk/src/calendar.scss +3 -3
  83. package/packages/theme-chalk/src/data-table.scss +12 -0
  84. package/packages/theme-chalk/src/dialog.scss +15 -0
  85. package/packages/theme-chalk/src/form.scss +6 -0
  86. package/packages/theme-chalk/src/main.scss +2 -1
  87. package/packages/theme-chalk/src/simplicity.scss +172 -4
  88. package/packages/upload/src/main.vue +16 -12
  89. package/src/config/api.js +5 -1
  90. package/src/index.js +157 -157
  91. package/src/utils/util.js +18 -5
@@ -25,6 +25,12 @@
25
25
  v-on="$listeners"
26
26
  >
27
27
  <input type="text" style="display: none" v-if="forbid" />
28
+ <input
29
+ type="password"
30
+ class="hidden-input"
31
+ autocomplete="new-password"
32
+ v-if="!autocomplete"
33
+ />
28
34
  <es-steps
29
35
  v-if="steps"
30
36
  class="es-steps-group"
@@ -36,2059 +42,35 @@
36
42
  @click="handleClick"
37
43
  ></es-steps>
38
44
  <slot>
39
- <template v-if="formHeight">
40
- <el-collapse
41
- v-if="isCollapse"
42
- v-model="activeNames"
43
- class="es-collapse"
44
- :accordion="accordion"
45
- @change="handleCollapse"
46
- >
47
- <el-scrollbar
48
- class="es-scrollbar"
49
- :style="{ height: formHeight }"
50
- ref="scrollbar"
51
- >
52
- <template v-for="(items, indexs) in content">
53
- <el-collapse-item
54
- class="es-collapse-item"
55
- v-if="!items.hide"
56
- v-show="items.show !== false"
57
- v-bind="items.config"
58
- :class="{
59
- 'es-collapse-readonly': accordion ? false : !collapse,
60
- 'es-collapse-caption': items.caption
61
- }"
62
- :show-title="items.showTitle"
63
- :name="items.name || String(indexs)"
64
- :key="indexs"
65
- :readonly="accordion ? false : !collapse"
66
- >
67
- <div slot="title" class="es-collapse-title">
68
- <template v-if="typeof items.title === 'object'">
69
- <template v-for="(item, index) in items.title">
70
- <template v-if="typeof item === 'string'">
71
- <span :key="index">{{ item }}</span>
72
- </template>
73
- <div
74
- v-else
75
- :key="index"
76
- class="es-collapse-title-handler"
77
- >
78
- <es-label
79
- v-if="item.label"
80
- v-bind="getLabel(item.label)"
81
- ></es-label>
82
- <span v-if="item.text || item.type === 'text'">{{
83
- item.text || item.contents
84
- }}</span>
85
- <i
86
- v-else-if="item.type === 'icon' || item.icon"
87
- :class="item.class || item.icon"
88
- v-html="item.contents"
89
- @click.stop="
90
- () => {
91
- item.event && item.event(items, indexs);
92
- item.click && item.click(items, indexs);
93
- }
94
- "
95
- ></i>
96
- <es-radio-group
97
- v-else-if="item.type == 'radio'"
98
- v-bind="
99
- handleExclAttribute({
100
- data: item,
101
- attrs: ['value']
102
- })
103
- "
104
- v-model="models[item.name]"
105
- size="medium"
106
- :plain="item.plain || item.name === undefined"
107
- :readonly="readonly ? readonly : item.readonly"
108
- @change="
109
- (val) => {
110
- handleChange(item, val, items);
111
- }
112
- "
113
- ></es-radio-group>
114
- <es-checkbox-group
115
- v-else-if="item.type == 'checkbox'"
116
- v-bind="
117
- handleExclAttribute({
118
- data: item,
119
- attrs: ['value']
120
- })
121
- "
122
- v-model="models[item.name]"
123
- size="medium"
124
- :plain="item.plain || item.name === undefined"
125
- :readonly="readonly ? readonly : item.readonly"
126
- @change="
127
- (val) => {
128
- handleChange(item, val, items);
129
- }
130
- "
131
- ></es-checkbox-group>
132
- <es-select
133
- v-else-if="item.type == 'select'"
134
- v-bind="
135
- handleExclAttribute({
136
- data: item,
137
- attrs: ['value']
138
- })
139
- "
140
- v-model="models[item.name]"
141
- size="medium"
142
- :plain="item.plain || item.name === undefined"
143
- :readonly="readonly ? readonly : item.readonly"
144
- @change="
145
- (val) => {
146
- handleChange(item, val, items);
147
- }
148
- "
149
- ></es-select>
150
- <es-switch
151
- v-else-if="item.type == 'switch'"
152
- v-bind="
153
- handleExclAttribute({
154
- data: item,
155
- attrs: ['value']
156
- })
157
- "
158
- v-model="models[item.name]"
159
- :plain="item.plain || item.name === undefined"
160
- :readonly="readonly ? readonly : item.readonly"
161
- @change="
162
- (val) => {
163
- handleChange(item, val, items);
164
- }
165
- "
166
- ></es-switch>
167
- </div>
168
- </template>
169
- </template>
170
- <template v-else>{{ items.title }}</template>
171
- </div>
172
- <es-table-form
173
- v-if="table || items.table"
174
- ref="form"
175
- :label-width="items.labelWidth || labelWidth"
176
- :span="items.span || span"
177
- :tableAfter="tableAfter"
178
- v-bind="items"
179
- :after="after"
180
- :thead="thead"
181
- :readonly="readonly"
182
- :contents="items.contents"
183
- :widths="widths"
184
- :model.sync="models"
185
- @click="handleClick"
186
- @change="handleChange"
187
- @dataChange="handleDataChange"
188
- @focus="handleFocus"
189
- @blur="handleBlur"
190
- @clear="handleClear"
191
- ></es-table-form>
192
- <template v-else>
193
- <template v-for="item in items.contents">
194
- <div
195
- v-if="item.type === 'caption' && !item.hide"
196
- class="es-form-item-caption"
197
- :key="item.name"
198
- >
199
- {{ item.text }}
200
- </div>
201
- <el-form-item
202
- v-else-if="!item.hide && !hides.includes(item.name)"
203
- ref="es-form-pane"
204
- :key="item.name"
205
- :label-width="
206
- item.showLabel !== false &&
207
- item.label &&
208
- !item.labelHide &&
209
- showLabel
210
- ? labelWidth
211
- : '0'
212
- "
213
- :prop="item.name"
214
- :rules="getRules(item)"
215
- :style="style(item)"
216
- :class="[
217
- {
218
- 'es-form-space-none': !space,
219
- 'es-form-item-readonly': readonly,
220
- 'es-form-item-table': item.type === 'table',
221
- 'es-form-item-inline': item.inline,
222
- 'es-form-item-onrow': item.row,
223
- 'es-form-item-label-hide':
224
- item.labelHide || item.showLabel === false
225
- },
226
- item.class,
227
- itemClass[item.type]
228
- ]"
229
- :label-class="
230
- [
231
- {
232
- 'required-after': after,
233
- 'es-label-box': labelPosition !== 'top',
234
- 'required-position':
235
- !labelPosition || labelPosition === 'right'
236
- },
237
- 'es-justify-' +
238
- (item.labelAlign
239
- ? align[item.labelAlign]
240
- : typeof item.label == 'object' &&
241
- item.label.align
242
- ? align[item.label.align]
243
- : labelPosition
244
- ? labelPosition == 'top'
245
- ? 'start'
246
- : align[labelPosition]
247
- : 'end'),
248
- !Array.isArray(item.labelClass) ? item.labelClass : ''
249
- ].concat(
250
- Array.isArray(item.labelClass ? item.labelClass : '')
251
- )
252
- "
253
- >
254
- <es-label
255
- slot="label"
256
- v-if="
257
- item.showLabel !== false &&
258
- item.label &&
259
- !item.labelHide &&
260
- showLabel
261
- "
262
- v-bind="getLabel(item.label)"
263
- ></es-label>
264
- <es-input-number
265
- v-if="item.type == 'number'"
266
- v-bind="
267
- handleExclAttribute({ data: item, attrs: ['value'] })
268
- "
269
- v-model="models[item.name]"
270
- :plain="item.plain || item.name === undefined"
271
- :readonly="readonly ? readonly : item.readonly"
272
- @blur="
273
- (event) => {
274
- handleBlur(item, event);
275
- }
276
- "
277
- @focus="
278
- (event) => {
279
- handleFocus(item, event);
280
- }
281
- "
282
- @change="
283
- (val) => {
284
- handleChange(item, val);
285
- }
286
- "
287
- ></es-input-number>
288
- <es-radio-group
289
- v-else-if="item.type == 'radio'"
290
- v-bind="
291
- handleExclAttribute({ data: item, attrs: ['value'] })
292
- "
293
- v-model="models[item.name]"
294
- :plain="item.plain || item.name === undefined"
295
- :readonly="readonly ? readonly : item.readonly"
296
- @change="
297
- (val) => {
298
- handleChange(item, val);
299
- }
300
- "
301
- ></es-radio-group>
302
- <es-checkbox-group
303
- v-else-if="item.type == 'checkbox'"
304
- v-bind="
305
- handleExclAttribute({ data: item, attrs: ['value'] })
306
- "
307
- v-model="models[item.name]"
308
- :plain="item.plain || item.name === undefined"
309
- :readonly="readonly ? readonly : item.readonly"
310
- @change="
311
- (val) => {
312
- handleChange(item, val);
313
- }
314
- "
315
- ></es-checkbox-group>
316
- <es-select
317
- v-else-if="item.type == 'select'"
318
- v-bind="
319
- handleExclAttribute({ data: item, attrs: ['value'] })
320
- "
321
- v-model="models[item.name]"
322
- :plain="item.plain || item.name === undefined"
323
- :readonly="readonly ? readonly : item.readonly"
324
- @blur="
325
- (event) => {
326
- handleBlur(item, event);
327
- }
328
- "
329
- @focus="
330
- (event) => {
331
- handleFocus(item, event);
332
- }
333
- "
334
- @change="
335
- (val) => {
336
- handleChange(item, val);
337
- }
338
- "
339
- ></es-select>
340
- <es-cascader
341
- v-else-if="item.type == 'cascader'"
342
- v-bind="
343
- handleExclAttribute({ data: item, attrs: ['value'] })
344
- "
345
- v-model="models[item.name]"
346
- :plain="item.plain || item.name === undefined"
347
- :readonly="readonly ? readonly : item.readonly"
348
- @blur="
349
- (event) => {
350
- handleBlur(item, event);
351
- }
352
- "
353
- @focus="
354
- (event) => {
355
- handleFocus(item, event);
356
- }
357
- "
358
- @change="
359
- (val) => {
360
- handleChange(item, val);
361
- }
362
- "
363
- >
364
- </es-cascader>
365
- <es-selector
366
- v-else-if="item.type === 'selector'"
367
- v-bind="
368
- handleExclAttribute({ data: item, attrs: ['value'] })
369
- "
370
- v-model="models[item.name]"
371
- :plain="item.plain || item.name === undefined"
372
- :readonly="readonly ? readonly : item.readonly"
373
- v-on="
374
- handleExclAttribute({
375
- data: item.events,
376
- attrs: 'change'
377
- })
378
- "
379
- @change="
380
- (val) => {
381
- handleChange(item, val);
382
- }
383
- "
384
- ></es-selector>
385
- <es-select-ganged
386
- v-else-if="
387
- item.type == 'ganged' ||
388
- (item.type == 'select' && item.ganged)
389
- "
390
- v-bind="
391
- handleExclAttribute({ data: item, attrs: ['value'] })
392
- "
393
- v-model="models[item.name]"
394
- :plain="item.plain || item.name === undefined"
395
- :readonly="readonly ? readonly : item.readonly"
396
- @change="
397
- (val) => {
398
- handleChange(item, val);
399
- }
400
- "
401
- ></es-select-ganged>
402
- <es-switch
403
- v-else-if="item.type == 'switch'"
404
- v-bind="
405
- handleExclAttribute({ data: item, attrs: ['value'] })
406
- "
407
- v-model="models[item.name]"
408
- :plain="item.plain || item.name === undefined"
409
- :readonly="readonly ? readonly : item.readonly"
410
- @change="
411
- (val) => {
412
- handleChange(item, val);
413
- }
414
- "
415
- ></es-switch>
416
- <es-date-picker
417
- v-else-if="
418
- item.date ||
419
- item.type == 'date' ||
420
- item.type == 'year' ||
421
- item.type == 'month' ||
422
- item.type == 'date' ||
423
- item.type == 'dates' ||
424
- item.type == 'week' ||
425
- item.type == 'datetime' ||
426
- item.type == 'datetimerange' ||
427
- item.type == 'daterange' ||
428
- item.type == 'monthrange' ||
429
- item.type == 'quarter' ||
430
- item.type == 'halfyear'
431
- "
432
- v-bind="
433
- handleExclAttribute({ data: item, attrs: ['value'] })
434
- "
435
- v-model="models[item.name]"
436
- :plain="item.plain || item.name === undefined"
437
- :readonly="readonly ? readonly : item.readonly"
438
- @blur="
439
- (event) => {
440
- handleBlur(item, event);
441
- }
442
- "
443
- @focus="
444
- (event) => {
445
- handleFocus(item, event);
446
- }
447
- "
448
- @change="
449
- (val) => {
450
- handleChange(item, val);
451
- }
452
- "
453
- ></es-date-picker>
454
- <es-upload
455
- v-else-if="
456
- item.type == 'attachment' || item.type == 'upload'
457
- "
458
- v-bind="
459
- handleExclAttribute({
460
- data: item,
461
- attrs: ['value', 'ownId']
462
- })
463
- "
464
- :ownId="item.ownId || models.id"
465
- v-model="models[item.name]"
466
- btn-size="medium"
467
- :readonly="readonly ? readonly : item.readonly"
468
- :rules="item.rules"
469
- v-on="
470
- handleExclAttribute({
471
- data: item.events,
472
- attrs: 'change'
473
- })
474
- "
475
- @change="
476
- (val) => {
477
- handleChange(item, val);
478
- }
479
- "
480
- ></es-upload>
481
- <es-selector
482
- v-bind="
483
- handleExclAttribute({ data: item, attrs: ['value'] })
484
- "
485
- v-model="models[item.name]"
486
- v-else-if="item.type == 'selector'"
487
- :readonly="readonly ? readonly : item.readonly"
488
- :plain="item.plain || item.name === undefined"
489
- v-on="
490
- handleExclAttribute({
491
- data: item.events,
492
- attrs: 'change'
493
- })
494
- "
495
- @change="
496
- (val) => {
497
- handleChange(item, val);
498
- }
499
- "
500
- ></es-selector>
501
- <template v-else-if="item.type === 'table'">
502
- <es-data-table-form
503
- v-if="item.lazy"
504
- :data="models[item.name]"
505
- :full="
506
- item.height != undefined || item.height != null
507
- "
508
- v-bind="
509
- handleExclAttribute({
510
- data: item,
511
- attrs: ['value']
512
- })
513
- "
514
- :readonly="readonly ? readonly : item.readonly"
515
- @blur="
516
- (val, data) => {
517
- handleBlur(item, val, data);
518
- }
519
- "
520
- @focus="
521
- (val, data) => {
522
- handleFocus(item, val, data);
523
- }
524
- "
525
- @edit="
526
- (val, data) => {
527
- handleChange(item, val, data);
528
- }
529
- "
530
- @clear="handleClear"
531
- @btnClick="handleClick"
532
- @dataChange="handleDataChange"
533
- >
534
- </es-data-table-form>
535
- <es-data-table
536
- v-else
537
- :data="models[item.name]"
538
- :full="
539
- item.height != undefined || item.height != null
540
- "
541
- v-bind="
542
- handleExclAttribute({
543
- data: item,
544
- attrs: ['value', 'events']
545
- })
546
- "
547
- v-on="item.events"
548
- :readonly="readonly ? readonly : item.readonly"
549
- @blur="
550
- (val, data) => {
551
- handleBlur(item, val, data);
552
- }
553
- "
554
- @focus="
555
- (val, data) => {
556
- handleFocus(item, val, data);
557
- }
558
- "
559
- @edit="
560
- (val, data) => {
561
- handleChange(item, val, data);
562
- }
563
- "
564
- @btnClick="handleClick"
565
- @dataChange="handleDataChange"
566
- >
567
- </es-data-table>
568
- </template>
569
- <es-flow-list
570
- v-else-if="
571
- (item.type === 'flow-list' ||
572
- item.type === 'flowList') &&
573
- _businessId
574
- "
575
- :businessId="_businessId"
576
- v-bind="
577
- handleExclAttribute({
578
- data: item,
579
- attrs: ['events', 'visible', 'type']
580
- })
581
- "
582
- v-on="item.events"
583
- ></es-flow-list>
584
- <es-icons
585
- v-else-if="item.type === 'icon'"
586
- v-bind="
587
- handleExclAttribute({ data: item, attrs: ['value'] })
588
- "
589
- v-model="models[item.name]"
590
- :plain="item.plain || item.name === undefined"
591
- :readonly="readonly ? readonly : item.readonly"
592
- @change="
593
- (val) => {
594
- handleChange(item, val);
595
- }
596
- "
597
- ></es-icons>
598
- <component
599
- v-else-if="item.type === 'component'"
600
- v-model="models[item.name]"
601
- v-bind="
602
- handleExclAttribute({
603
- data: item,
604
- attrs: ['value', 'type']
605
- })
606
- "
607
- v-on="item.events"
608
- ></component>
609
- <es-input
610
- v-else
611
- v-bind="
612
- handleExclAttribute({ data: item, attrs: ['value'] })
613
- "
614
- v-model="models[item.name]"
615
- :plain="item.plain || item.name === undefined"
616
- :readonly="readonly ? readonly : item.readonly"
617
- @blur="
618
- (event) => {
619
- handleBlur(item, event);
620
- }
621
- "
622
- @focus="
623
- (event) => {
624
- handleFocus(item, event);
625
- }
626
- "
627
- @input="
628
- (val) => {
629
- handleInput(item, val);
630
- }
631
- "
632
- @clear="
633
- () => {
634
- handleClear(item);
635
- }
636
- "
637
- @change="
638
- (val) => {
639
- handleChange(item, val);
640
- }
641
- "
642
- ></es-input>
643
- <template v-if="item.inline">
644
- <template v-if="Array.isArray(item.inline)">
645
- <template v-for="(inline, k) in item.inline">
646
- <es-button
647
- v-if="inline.type == 'button' && !inline.hide"
648
- class="es-button-inline"
649
- :disabled="disabled || inline.disabled"
650
- v-bind="
651
- handleExclAttribute({
652
- data: inline,
653
- attrs: ['disabled', 'type']
654
- })
655
- "
656
- @click="handleClick(inline)"
657
- ></es-button>
658
- <div
659
- class="es-form-inline es-form-item-inline"
660
- :key="k"
661
- v-else-if="!inline.hide"
662
- >
663
- <div
664
- class="es-range"
665
- v-if="inline.range !== false"
666
- >
667
-
668
- </div>
669
- <el-form-item
670
- label-width="0"
671
- :class="{ 'fixed-width': inline.width }"
672
- :prop="inline.name"
673
- :rules="getRules(inline)"
674
- >
675
- <es-input-number
676
- v-if="inline.type == 'number'"
677
- v-bind="
678
- handleExclAttribute({
679
- data: inline,
680
- attrs: ['value']
681
- })
682
- "
683
- v-model="models[inline.name]"
684
- :plain="
685
- inline.plain || inline.name === undefined
686
- "
687
- :readonly="
688
- readonly ? readonly : inline.readonly
689
- "
690
- @blur="
691
- (event) => {
692
- handleBlur(inline, event);
693
- }
694
- "
695
- @focus="
696
- (event) => {
697
- handleFocus(inline, event);
698
- }
699
- "
700
- @change="
701
- (val) => {
702
- handleChange(inline, val);
703
- }
704
- "
705
- ></es-input-number>
706
- <es-select
707
- v-else-if="inline.type == 'select'"
708
- v-bind="
709
- handleExclAttribute({
710
- data: inline,
711
- attrs: ['value']
712
- })
713
- "
714
- v-model="models[inline.name]"
715
- :plain="
716
- inline.plain || inline.name === undefined
717
- "
718
- :readonly="
719
- readonly ? readonly : inline.readonly
720
- "
721
- @blur="
722
- (event) => {
723
- handleBlur(inline, event);
724
- }
725
- "
726
- @focus="
727
- (event) => {
728
- handleFocus(inline, event);
729
- }
730
- "
731
- @change="
732
- (val) => {
733
- handleChange(inline, val);
734
- }
735
- "
736
- ></es-select>
737
- <es-cascader
738
- v-else-if="inline.type == 'cascader'"
739
- v-bind="
740
- handleExclAttribute({
741
- data: inline,
742
- attrs: ['value']
743
- })
744
- "
745
- v-model="models[inline.name]"
746
- :plain="
747
- inline.plain || inline.name === undefined
748
- "
749
- :readonly="
750
- readonly ? readonly : inline.readonly
751
- "
752
- @blur="
753
- (event) => {
754
- handleBlur(inline, event);
755
- }
756
- "
757
- @focus="
758
- (event) => {
759
- handleFocus(inline, event);
760
- }
761
- "
762
- @change="
763
- (val) => {
764
- handleChange(inline, val);
765
- }
766
- "
767
- >
768
- </es-cascader>
769
- <es-date-picker
770
- v-else-if="
771
- inline.date ||
772
- inline.type == 'date' ||
773
- inline.type == 'year' ||
774
- inline.type == 'month' ||
775
- inline.type == 'date' ||
776
- inline.type == 'dates' ||
777
- inline.type == 'week' ||
778
- inline.type == 'datetime' ||
779
- inline.type == 'datetimerange' ||
780
- inline.type == 'daterange' ||
781
- inline.type == 'monthrange' ||
782
- inline.type == 'quarter' ||
783
- inline.type == 'halfyear'
784
- "
785
- v-bind="
786
- handleExclAttribute({
787
- data: inline,
788
- attrs: ['value']
789
- })
790
- "
791
- v-model="models[inline.name]"
792
- :plain="
793
- inline.plain || inline.name === undefined
794
- "
795
- :readonly="
796
- readonly ? readonly : inline.readonly
797
- "
798
- @blur="
799
- (event) => {
800
- handleBlur(inline, event);
801
- }
802
- "
803
- @focus="
804
- (event) => {
805
- handleFocus(inline, event);
806
- }
807
- "
808
- @change="
809
- (val) => {
810
- handleChange(inline, val);
811
- }
812
- "
813
- ></es-date-picker>
814
- <template
815
- v-else-if="
816
- inline.type == 'image' ||
817
- inline.type == 'img'
818
- "
819
- >
820
- <img
821
- v-if="inline.url || inline.src"
822
- v-bind="
823
- handleExclAttribute({
824
- data: inline,
825
- attrs: ['value']
826
- })
827
- "
828
- height="100%"
829
- :src="inline.url || inline.src"
830
- @click="inline.event"
831
- />
832
- </template>
833
- <es-icons
834
- v-else-if="inline.type === 'icon'"
835
- v-bind="
836
- handleExclAttribute({
837
- data: inline,
838
- attrs: ['value']
839
- })
840
- "
841
- v-model="models[inline.name]"
842
- :plain="
843
- inline.plain || inline.name === undefined
844
- "
845
- :readonly="
846
- readonly ? readonly : inline.readonly
847
- "
848
- @change="
849
- (val) => {
850
- handleChange(inline, val);
851
- }
852
- "
853
- ></es-icons>
854
- <component
855
- v-else-if="inline.type === 'component'"
856
- v-model="models[inline.name]"
857
- v-bind="
858
- handleExclAttribute({
859
- data: inline,
860
- attrs: ['value', 'type']
861
- })
862
- "
863
- v-on="inline.events"
864
- ></component>
865
- <es-input
866
- v-else
867
- v-bind="
868
- handleExclAttribute({
869
- data: inline,
870
- attrs: ['value']
871
- })
872
- "
873
- v-model="models[inline.name]"
874
- :plain="
875
- inline.plain || inline.name === undefined
876
- "
877
- :readonly="
878
- readonly ? readonly : inline.readonly
879
- "
880
- @blur="
881
- (event) => {
882
- handleBlur(inline, event);
883
- }
884
- "
885
- @focus="
886
- (event) => {
887
- handleFocus(inline, event);
888
- }
889
- "
890
- @input="
891
- (val) => {
892
- handleInput(inline, val);
893
- }
894
- "
895
- @clear="handleClear(inline)"
896
- @change="
897
- (val) => {
898
- handleChange(inline, val);
899
- }
900
- "
901
- ></es-input>
902
- </el-form-item>
903
- </div>
904
- </template>
905
- </template>
906
- <template v-else-if="!item.inline.hide">
907
- <div
908
- class="es-range"
909
- v-if="item.inline.range !== false"
910
- >
911
-
912
- </div>
913
- <el-form-item
914
- label-width="0"
915
- :class="{ 'fixed-width': item.inline.width }"
916
- :prop="item.inline.name"
917
- :rules="getRules(item.inline)"
918
- >
919
- <es-input-number
920
- v-if="item.inline.type == 'number'"
921
- v-bind="
922
- handleExclAttribute({
923
- data: item.inline,
924
- attrs: ['value']
925
- })
926
- "
927
- v-model="models[item.inline.name]"
928
- :plain="
929
- item.inline.plain ||
930
- item.inline.name === undefined
931
- "
932
- :readonly="
933
- readonly ? readonly : item.inline.readonly
934
- "
935
- @blur="
936
- (event) => {
937
- handleBlur(item.inline, event);
938
- }
939
- "
940
- @focus="
941
- (event) => {
942
- handleFocus(item.inline, event);
943
- }
944
- "
945
- @change="
946
- (val) => {
947
- handleChange(item.inline, val);
948
- }
949
- "
950
- ></es-input-number>
951
- <es-select
952
- v-else-if="item.inline.type == 'select'"
953
- v-bind="
954
- handleExclAttribute({
955
- data: item.inline,
956
- attrs: ['value']
957
- })
958
- "
959
- v-model="models[item.inline.name]"
960
- :plain="
961
- item.inline.plain ||
962
- item.inline.name === undefined
963
- "
964
- :readonly="
965
- readonly ? readonly : item.inline.readonly
966
- "
967
- @blur="
968
- (event) => {
969
- handleBlur(item.inline, event);
970
- }
971
- "
972
- @focus="
973
- (event) => {
974
- handleFocus(item.inline, event);
975
- }
976
- "
977
- @change="
978
- (val) => {
979
- handleChange(item.inline, val);
980
- }
981
- "
982
- ></es-select>
983
- <es-cascader
984
- v-else-if="item.inline.type == 'cascader'"
985
- v-bind="
986
- handleExclAttribute({
987
- data: item.inline,
988
- attrs: ['value']
989
- })
990
- "
991
- v-model="models[item.inline.name]"
992
- :plain="
993
- item.inline.plain ||
994
- item.inline.name === undefined
995
- "
996
- :readonly="
997
- readonly ? readonly : item.inline.readonly
998
- "
999
- @blur="
1000
- (event) => {
1001
- handleBlur(item.inline, event);
1002
- }
1003
- "
1004
- @focus="
1005
- (event) => {
1006
- handleFocus(item.inline, event);
1007
- }
1008
- "
1009
- @change="
1010
- (val) => {
1011
- handleChange(item.inline, val);
1012
- }
1013
- "
1014
- >
1015
- </es-cascader>
1016
- <es-date-picker
1017
- v-else-if="
1018
- item.inline.date ||
1019
- item.inline.type == 'date' ||
1020
- item.inline.type == 'year' ||
1021
- item.inline.type == 'month' ||
1022
- item.inline.type == 'date' ||
1023
- item.inline.type == 'dates' ||
1024
- item.inline.type == 'week' ||
1025
- item.inline.type == 'datetime' ||
1026
- item.inline.type == 'datetimerange' ||
1027
- item.inline.type == 'daterange' ||
1028
- item.inline.type == 'monthrange' ||
1029
- item.inline.type == 'quarter' ||
1030
- item.inline.type == 'halfyear'
1031
- "
1032
- v-bind="
1033
- handleExclAttribute({
1034
- data: item.inline,
1035
- attrs: ['value']
1036
- })
1037
- "
1038
- v-model="models[item.inline.name]"
1039
- :plain="
1040
- item.inline.plain ||
1041
- item.inline.name === undefined
1042
- "
1043
- :readonly="
1044
- readonly ? readonly : item.inline.readonly
1045
- "
1046
- @blur="
1047
- (event) => {
1048
- handleBlur(item.inline, event);
1049
- }
1050
- "
1051
- @focus="
1052
- (event) => {
1053
- handleFocus(item.inline, event);
1054
- }
1055
- "
1056
- @change="
1057
- (val) => {
1058
- handleChange(item.inline, val);
1059
- }
1060
- "
1061
- ></es-date-picker>
1062
- <template
1063
- v-else-if="
1064
- item.inline.type == 'image' ||
1065
- item.inline.type == 'img'
1066
- "
1067
- >
1068
- <img
1069
- v-if="item.inline.url || item.inline.src"
1070
- v-bind="
1071
- handleExclAttribute({
1072
- data: item.inline,
1073
- attrs: ['value']
1074
- })
1075
- "
1076
- height="100%"
1077
- :src="item.inline.url || item.inline.src"
1078
- @click="item.inline.event"
1079
- />
1080
- </template>
1081
- <es-icons
1082
- v-else-if="item.inline.type === 'icon'"
1083
- v-bind="
1084
- handleExclAttribute({
1085
- data: item.inline,
1086
- attrs: ['value']
1087
- })
1088
- "
1089
- v-model="models[item.inline.name]"
1090
- :plain="
1091
- item.inline.plain ||
1092
- item.inline.name === undefined
1093
- "
1094
- :readonly="
1095
- readonly ? readonly : item.inline.readonly
1096
- "
1097
- @change="
1098
- (val) => {
1099
- handleChange(item.inline, val);
1100
- }
1101
- "
1102
- ></es-icons>
1103
- <component
1104
- v-else-if="inline.type === 'component'"
1105
- v-model="models[inline.name]"
1106
- v-bind="
1107
- handleExclAttribute({
1108
- data: inline,
1109
- attrs: ['value', 'type']
1110
- })
1111
- "
1112
- v-on="inline.events"
1113
- ></component>
1114
- <es-input
1115
- v-else
1116
- v-bind="
1117
- handleExclAttribute({
1118
- data: item.inline,
1119
- attrs: ['value']
1120
- })
1121
- "
1122
- v-model="models[item.inline.name]"
1123
- :plain="
1124
- item.inline.plain ||
1125
- item.inline.name === undefined
1126
- "
1127
- :readonly="
1128
- readonly ? readonly : item.inline.readonly
1129
- "
1130
- @blur="
1131
- (event) => {
1132
- handleBlur(item.inline, event);
1133
- }
1134
- "
1135
- @focus="
1136
- (event) => {
1137
- handleFocus(item.inline, event);
1138
- }
1139
- "
1140
- @input="
1141
- (val) => {
1142
- handleInput(item.inline, val);
1143
- }
1144
- "
1145
- @clear="handleClear(item.inline)"
1146
- @change="
1147
- (val) => {
1148
- handleChange(item.inline, val);
1149
- }
1150
- "
1151
- ></es-input>
1152
- </el-form-item>
1153
- </template>
1154
- </template>
1155
- </el-form-item>
1156
- </template>
1157
- </template>
1158
- </el-collapse-item>
1159
- </template>
1160
- </el-scrollbar>
1161
- </el-collapse>
1162
- <div class="es-form-content" v-else>
1163
- <el-scrollbar
1164
- class="es-scrollbar"
1165
- :style="{ height: formHeight }"
1166
- ref="scrollbar"
1167
- >
1168
- <es-table-form
1169
- v-if="table"
1170
- ref="form"
1171
- :tableAfter="tableAfter"
1172
- v-bind="tableAttrs"
1173
- :thead="thead"
1174
- :contents="formContent"
1175
- :readonly="readonly"
1176
- :label-width="labelWidth"
1177
- :span="span"
1178
- :widths="widths"
1179
- :model.sync="models"
1180
- @click="handleClick"
1181
- @change="handleChange"
1182
- @dataChange="handleDataChange"
1183
- @focus="handleFocus"
1184
- @blur="handleBlur"
1185
- @clear="handleClear"
1186
- ></es-table-form>
1187
- <template v-else>
1188
- <template v-for="item in formContent">
1189
- <div
1190
- v-if="item.type === 'caption' && !item.hide"
1191
- class="es-form-item-caption"
1192
- :key="item.name"
1193
- >
1194
- {{ item.text }}
1195
- </div>
1196
- <el-form-item
1197
- v-else-if="!item.hide && !hides.includes(item.name)"
1198
- ref="es-form-pane"
1199
- :key="item.name"
1200
- :label-width="
1201
- item.showLabel !== false &&
1202
- item.label &&
1203
- !item.labelHide &&
1204
- showLabel
1205
- ? labelWidth
1206
- : '0'
1207
- "
1208
- :prop="item.name"
1209
- :rules="getRules(item)"
1210
- :style="style(item)"
1211
- :class="[
1212
- {
1213
- 'es-form-space-none': !space,
1214
- 'es-form-item-readonly': readonly,
1215
- 'es-form-item-table': item.type === 'table',
1216
- 'es-form-item-inline': item.inline,
1217
- 'es-form-item-onrow': item.row,
1218
- 'es-form-item-label-hide':
1219
- item.labelHide || item.showLabel === false
1220
- },
1221
- item.class,
1222
- itemClass[item.type]
1223
- ]"
1224
- :label-class="
1225
- [
1226
- {
1227
- 'required-after': after,
1228
- 'es-label-box': labelPosition !== 'top',
1229
- 'required-position':
1230
- !labelPosition || labelPosition === 'right'
1231
- },
1232
- 'es-justify-' +
1233
- (item.labelAlign
1234
- ? align[item.labelAlign]
1235
- : typeof item.label == 'object' && item.label.align
1236
- ? align[item.label.align]
1237
- : labelPosition
1238
- ? labelPosition == 'top'
1239
- ? 'start'
1240
- : align[labelPosition]
1241
- : 'end'),
1242
- !Array.isArray(item.labelClass) ? item.labelClass : ''
1243
- ].concat(
1244
- Array.isArray(item.labelClass ? item.labelClass : '')
1245
- )
1246
- "
1247
- >
1248
- <es-label
1249
- slot="label"
1250
- v-if="
1251
- item.showLabel !== false &&
1252
- item.label &&
1253
- !item.labelHide &&
1254
- showLabel
1255
- "
1256
- v-bind="getLabel(item.label)"
1257
- ></es-label>
1258
- <es-input-number
1259
- v-if="item.type == 'number'"
1260
- v-bind="
1261
- handleExclAttribute({ data: item, attrs: ['value'] })
1262
- "
1263
- v-model="models[item.name]"
1264
- :plain="item.plain || item.name === undefined"
1265
- :readonly="readonly ? readonly : item.readonly"
1266
- @blur="
1267
- (event) => {
1268
- handleBlur(item, event);
1269
- }
1270
- "
1271
- @focus="
1272
- (event) => {
1273
- handleFocus(item, event);
1274
- }
1275
- "
1276
- @change="
1277
- (val) => {
1278
- handleChange(item, val);
1279
- }
1280
- "
1281
- ></es-input-number>
1282
- <es-radio-group
1283
- v-else-if="item.type == 'radio'"
1284
- v-bind="
1285
- handleExclAttribute({ data: item, attrs: ['value'] })
1286
- "
1287
- v-model="models[item.name]"
1288
- :plain="item.plain || item.name === undefined"
1289
- :readonly="readonly ? readonly : item.readonly"
1290
- @change="
1291
- (val) => {
1292
- handleChange(item, val);
1293
- }
1294
- "
1295
- ></es-radio-group>
1296
- <es-checkbox-group
1297
- v-else-if="item.type == 'checkbox'"
1298
- v-bind="
1299
- handleExclAttribute({ data: item, attrs: ['value'] })
1300
- "
1301
- v-model="models[item.name]"
1302
- :plain="item.plain || item.name === undefined"
1303
- :readonly="readonly ? readonly : item.readonly"
1304
- @change="
1305
- (val) => {
1306
- handleChange(item, val);
1307
- }
1308
- "
1309
- ></es-checkbox-group>
1310
- <es-select
1311
- v-else-if="item.type == 'select'"
1312
- v-bind="
1313
- handleExclAttribute({ data: item, attrs: ['value'] })
1314
- "
1315
- v-model="models[item.name]"
1316
- :plain="item.plain || item.name === undefined"
1317
- :readonly="readonly ? readonly : item.readonly"
1318
- @blur="
1319
- (event) => {
1320
- handleBlur(item, event);
1321
- }
1322
- "
1323
- @focus="
1324
- (event) => {
1325
- handleFocus(item, event);
1326
- }
1327
- "
1328
- @change="
1329
- (val) => {
1330
- handleChange(item, val);
1331
- }
1332
- "
1333
- ></es-select>
1334
- <es-cascader
1335
- v-else-if="item.type == 'cascader'"
1336
- v-bind="
1337
- handleExclAttribute({ data: item, attrs: ['value'] })
1338
- "
1339
- v-model="models[item.name]"
1340
- :plain="item.plain || item.name === undefined"
1341
- :readonly="readonly ? readonly : item.readonly"
1342
- @blur="
1343
- (event) => {
1344
- handleBlur(item, event);
1345
- }
1346
- "
1347
- @focus="
1348
- (event) => {
1349
- handleFocus(item, event);
1350
- }
1351
- "
1352
- @change="
1353
- (val) => {
1354
- handleChange(item, val);
1355
- }
1356
- "
1357
- >
1358
- </es-cascader>
1359
- <es-select-ganged
1360
- v-else-if="
1361
- item.type == 'ganged' ||
1362
- (item.type == 'select' && item.ganged)
1363
- "
1364
- v-bind="
1365
- handleExclAttribute({ data: item, attrs: ['value'] })
1366
- "
1367
- v-model="models[item.name]"
1368
- :plain="item.plain || item.name === undefined"
1369
- :readonly="readonly ? readonly : item.readonly"
1370
- @change="
1371
- (val) => {
1372
- handleChange(item, val);
1373
- }
1374
- "
1375
- ></es-select-ganged>
1376
- <es-switch
1377
- v-else-if="item.type == 'switch'"
1378
- v-bind="
1379
- handleExclAttribute({ data: item, attrs: ['value'] })
1380
- "
1381
- v-model="models[item.name]"
1382
- :plain="item.plain || item.name === undefined"
1383
- :readonly="readonly ? readonly : item.readonly"
1384
- @change="
1385
- (val) => {
1386
- handleChange(item, val);
1387
- }
1388
- "
1389
- ></es-switch>
1390
- <es-date-picker
1391
- v-else-if="
1392
- item.date ||
1393
- item.type == 'date' ||
1394
- item.type == 'year' ||
1395
- item.type == 'month' ||
1396
- item.type == 'date' ||
1397
- item.type == 'dates' ||
1398
- item.type == 'week' ||
1399
- item.type == 'datetime' ||
1400
- item.type == 'datetimerange' ||
1401
- item.type == 'daterange' ||
1402
- item.type == 'monthrange' ||
1403
- item.type == 'quarter' ||
1404
- item.type == 'halfyear'
1405
- "
1406
- v-bind="
1407
- handleExclAttribute({ data: item, attrs: ['value'] })
1408
- "
1409
- v-model="models[item.name]"
1410
- :plain="item.plain || item.name === undefined"
1411
- :readonly="readonly ? readonly : item.readonly"
1412
- @blur="
1413
- (event) => {
1414
- handleBlur(item, event);
1415
- }
1416
- "
1417
- @focus="
1418
- (event) => {
1419
- handleFocus(item, event);
1420
- }
1421
- "
1422
- @change="
1423
- (val) => {
1424
- handleChange(item, val);
1425
- }
1426
- "
1427
- ></es-date-picker>
1428
- <es-upload
1429
- v-else-if="
1430
- item.type == 'attachment' || item.type == 'upload'
1431
- "
1432
- v-bind="
1433
- handleExclAttribute({
1434
- data: item,
1435
- attrs: ['value', 'ownId']
1436
- })
1437
- "
1438
- :ownId="item.ownId || models.id"
1439
- btn-size="medium"
1440
- v-model="models[item.name]"
1441
- :readonly="readonly ? readonly : item.readonly"
1442
- :rules="item.rules"
1443
- v-on="
1444
- handleExclAttribute({
1445
- data: item.events,
1446
- attrs: 'change'
1447
- })
1448
- "
1449
- @change="
1450
- (val) => {
1451
- handleChange(item, val);
1452
- }
1453
- "
1454
- ></es-upload>
1455
- <es-selector
1456
- v-bind="
1457
- handleExclAttribute({ data: item, attrs: ['value'] })
1458
- "
1459
- v-model="models[item.name]"
1460
- v-else-if="item.type === 'selector'"
1461
- :readonly="readonly ? readonly : item.readonly"
1462
- :plain="item.plain || item.name === undefined"
1463
- v-on="
1464
- handleExclAttribute({
1465
- data: item.events,
1466
- attrs: 'change'
1467
- })
1468
- "
1469
- @change="
1470
- (val) => {
1471
- handleChange(item, val);
1472
- }
1473
- "
1474
- ></es-selector>
1475
- <template v-else-if="item.type === 'table'">
1476
- <es-data-table-form
1477
- v-if="item.lazy"
1478
- :data="models[item.name]"
1479
- :full="item.height != undefined || item.height != null"
1480
- v-bind="
1481
- handleExclAttribute({ data: item, attrs: ['value'] })
1482
- "
1483
- :readonly="readonly ? readonly : item.readonly"
1484
- @blur="
1485
- (val, data) => {
1486
- handleBlur(item, val, data);
1487
- }
1488
- "
1489
- @focus="
1490
- (val, data) => {
1491
- handleFocus(item, val, data);
1492
- }
1493
- "
1494
- @edit="
1495
- (val, data) => {
1496
- handleChange(item, val, data);
1497
- }
1498
- "
1499
- @clear="handleClear"
1500
- @btnClick="handleClick"
1501
- @dataChange="handleDataChange"
1502
- >
1503
- </es-data-table-form>
1504
- <es-data-table
1505
- v-else
1506
- :data="models[item.name]"
1507
- :full="item.height != undefined || item.height != null"
1508
- v-bind="
1509
- handleExclAttribute({
1510
- data: item,
1511
- attrs: ['value', 'events']
1512
- })
1513
- "
1514
- v-on="item.events"
1515
- :readonly="readonly ? readonly : item.readonly"
1516
- @blur="
1517
- (val, data) => {
1518
- handleBlur(item, val, data);
1519
- }
1520
- "
1521
- @focus="
1522
- (val, data) => {
1523
- handleFocus(item, val, data);
1524
- }
1525
- "
1526
- @edit="
1527
- (val, data) => {
1528
- handleChange(item, val, data);
1529
- }
1530
- "
1531
- @btnClick="handleClick"
1532
- @dataChange="handleDataChange"
1533
- >
1534
- </es-data-table>
1535
- </template>
1536
- <es-flow-list
1537
- v-else-if="
1538
- (item.type === 'flow-list' || item.type === 'flowList') &&
1539
- _businessId
1540
- "
1541
- :businessId="_businessId"
1542
- v-bind="
1543
- handleExclAttribute({
1544
- data: item,
1545
- attrs: ['events', 'visible', 'type']
1546
- })
1547
- "
1548
- v-on="item.events"
1549
- ></es-flow-list>
1550
- <es-icons
1551
- v-else-if="item.type === 'icon'"
1552
- v-bind="
1553
- handleExclAttribute({
1554
- data: item,
1555
- attrs: ['value']
1556
- })
1557
- "
1558
- v-model="models[item.name]"
1559
- :plain="item.plain || item.name === undefined"
1560
- :readonly="readonly ? readonly : item.readonly"
1561
- @change="
1562
- (val) => {
1563
- handleChange(item, val);
1564
- }
1565
- "
1566
- ></es-icons>
1567
- <component
1568
- v-else-if="item.type === 'component'"
1569
- v-model="models[item.name]"
1570
- v-bind="
1571
- handleExclAttribute({
1572
- data: item,
1573
- attrs: ['value', 'type']
1574
- })
1575
- "
1576
- v-on="item.events"
1577
- ></component>
1578
- <es-input
1579
- v-else
1580
- v-bind="
1581
- handleExclAttribute({ data: item, attrs: ['value'] })
1582
- "
1583
- v-model="models[item.name]"
1584
- :plain="item.plain || item.name === undefined"
1585
- :readonly="readonly ? readonly : item.readonly"
1586
- @blur="
1587
- (event) => {
1588
- handleBlur(item.name, event);
1589
- }
1590
- "
1591
- @focus="
1592
- (event) => {
1593
- handleFocus(item.name, event);
1594
- }
1595
- "
1596
- @input="
1597
- (val) => {
1598
- handleInput(item.name, val);
1599
- }
1600
- "
1601
- @clear="handleClear(item.name)"
1602
- @change="
1603
- (val) => {
1604
- handleChange(item, val);
1605
- }
1606
- "
1607
- ></es-input>
1608
- <template v-if="item.inline">
1609
- <template v-if="Array.isArray(item.inline)">
1610
- <template v-for="(inline, k) in item.inline">
1611
- <es-button
1612
- v-if="inline.type == 'button' && !inline.hide"
1613
- class="es-button-inline"
1614
- :disabled="disabled || inline.disabled"
1615
- v-bind="
1616
- handleExclAttribute({
1617
- data: inline,
1618
- attrs: ['disabled', 'type']
1619
- })
1620
- "
1621
- @click="handleClick(inline)"
1622
- ></es-button>
1623
- <div
1624
- class="es-form-inline es-form-item-inline"
1625
- :key="k"
1626
- v-else-if="!inline.hide"
1627
- >
1628
- <div class="es-range" v-if="inline.range !== false">
1629
-
1630
- </div>
1631
- <el-form-item
1632
- label-width="0"
1633
- :class="{ 'fixed-width': inline.width }"
1634
- :prop="inline.name"
1635
- :rules="getRules(inline)"
1636
- >
1637
- <es-input-number
1638
- v-if="inline.type == 'number'"
1639
- v-bind="
1640
- handleExclAttribute({
1641
- data: inline,
1642
- attrs: ['value']
1643
- })
1644
- "
1645
- v-model="models[inline.name]"
1646
- :plain="inline.plain || inline.name === undefined"
1647
- :readonly="readonly ? readonly : inline.readonly"
1648
- @blur="
1649
- (event) => {
1650
- handleBlur(inline, event);
1651
- }
1652
- "
1653
- @focus="
1654
- (event) => {
1655
- handleFocus(inline, event);
1656
- }
1657
- "
1658
- @change="
1659
- (val) => {
1660
- handleChange(inline, val);
1661
- }
1662
- "
1663
- ></es-input-number>
1664
- <es-select
1665
- v-else-if="inline.type == 'select'"
1666
- v-bind="
1667
- handleExclAttribute({
1668
- data: inline,
1669
- attrs: ['value']
1670
- })
1671
- "
1672
- v-model="models[inline.name]"
1673
- :plain="inline.plain || inline.name === undefined"
1674
- :readonly="readonly ? readonly : inline.readonly"
1675
- @blur="
1676
- (event) => {
1677
- handleBlur(inline, event);
1678
- }
1679
- "
1680
- @focus="
1681
- (event) => {
1682
- handleFocus(inline, event);
1683
- }
1684
- "
1685
- @change="
1686
- (val) => {
1687
- handleChange(inline, val);
1688
- }
1689
- "
1690
- ></es-select>
1691
- <es-cascader
1692
- v-else-if="inline.type == 'cascader'"
1693
- v-bind="
1694
- handleExclAttribute({
1695
- data: inline,
1696
- attrs: ['value']
1697
- })
1698
- "
1699
- v-model="models[inline.name]"
1700
- :plain="inline.plain || inline.name === undefined"
1701
- :readonly="readonly ? readonly : inline.readonly"
1702
- @blur="
1703
- (event) => {
1704
- handleBlur(inline, event);
1705
- }
1706
- "
1707
- @focus="
1708
- (event) => {
1709
- handleFocus(inline, event);
1710
- }
1711
- "
1712
- @change="
1713
- (val) => {
1714
- handleChange(inline, val);
1715
- }
1716
- "
1717
- >
1718
- </es-cascader>
1719
- <es-date-picker
1720
- v-else-if="
1721
- inline.date ||
1722
- inline.type == 'date' ||
1723
- inline.type == 'year' ||
1724
- inline.type == 'month' ||
1725
- inline.type == 'date' ||
1726
- inline.type == 'dates' ||
1727
- inline.type == 'week' ||
1728
- inline.type == 'datetime' ||
1729
- inline.type == 'datetimerange' ||
1730
- inline.type == 'daterange' ||
1731
- inline.type == 'monthrange' ||
1732
- inline.type == 'quarter' ||
1733
- inline.type == 'halfyear'
1734
- "
1735
- v-bind="
1736
- handleExclAttribute({
1737
- data: inline,
1738
- attrs: ['value']
1739
- })
1740
- "
1741
- v-model="models[inline.name]"
1742
- :plain="inline.plain || inline.name === undefined"
1743
- :readonly="readonly ? readonly : inline.readonly"
1744
- @blur="
1745
- (event) => {
1746
- handleBlur(inline, event);
1747
- }
1748
- "
1749
- @focus="
1750
- (event) => {
1751
- handleFocus(inline, event);
1752
- }
1753
- "
1754
- @change="
1755
- (val) => {
1756
- handleChange(inline, val);
1757
- }
1758
- "
1759
- ></es-date-picker>
1760
- <template
1761
- v-else-if="
1762
- inline.type == 'image' || inline.type == 'img'
1763
- "
1764
- >
1765
- <img
1766
- v-if="inline.url || inline.src"
1767
- v-bind="
1768
- handleExclAttribute({
1769
- data: inline,
1770
- attrs: ['value']
1771
- })
1772
- "
1773
- height="100%"
1774
- :src="inline.url || inline.src"
1775
- @click="inline.event"
1776
- />
1777
- </template>
1778
- <es-icons
1779
- v-else-if="inline.type === 'icon'"
1780
- v-bind="
1781
- handleExclAttribute({
1782
- data: inline,
1783
- attrs: ['value']
1784
- })
1785
- "
1786
- v-model="models[inline.name]"
1787
- :plain="inline.plain || inline.name === undefined"
1788
- :readonly="readonly ? readonly : inline.readonly"
1789
- @change="
1790
- (val) => {
1791
- handleChange(inline, val);
1792
- }
1793
- "
1794
- ></es-icons>
1795
- <component
1796
- v-else-if="inline.type === 'component'"
1797
- v-model="models[inline.name]"
1798
- v-bind="
1799
- handleExclAttribute({
1800
- data: inline,
1801
- attrs: ['value', 'type']
1802
- })
1803
- "
1804
- v-on="inline.events"
1805
- ></component>
1806
- <es-input
1807
- v-else
1808
- v-bind="
1809
- handleExclAttribute({
1810
- data: inline,
1811
- attrs: ['value']
1812
- })
1813
- "
1814
- v-model="models[inline.name]"
1815
- :plain="inline.plain || inline.name === undefined"
1816
- :readonly="readonly ? readonly : inline.readonly"
1817
- @blur="
1818
- (event) => {
1819
- handleBlur(inline, event);
1820
- }
1821
- "
1822
- @focus="
1823
- (event) => {
1824
- handleFocus(inline, event);
1825
- }
1826
- "
1827
- @input="
1828
- (val) => {
1829
- handleInput(inline, val);
1830
- }
1831
- "
1832
- @clear="handleClear(inline)"
1833
- @change="
1834
- (val) => {
1835
- handleChange(inline, val);
1836
- }
1837
- "
1838
- ></es-input>
1839
- </el-form-item>
1840
- </div>
1841
- </template>
1842
- </template>
1843
- <template v-else-if="!item.inline.hide">
1844
- <div class="es-range" v-if="item.inline.range !== false">
1845
-
1846
- </div>
1847
- <el-form-item
1848
- label-width="0"
1849
- :class="{ 'fixed-width': item.inline.width }"
1850
- :prop="item.inline.name"
1851
- :rules="getRules(item.inline)"
1852
- >
1853
- <es-input-number
1854
- v-if="item.inline.type == 'number'"
1855
- v-bind="
1856
- handleExclAttribute({
1857
- data: item.inline,
1858
- attrs: ['value']
1859
- })
1860
- "
1861
- v-model="models[item.inline.name]"
1862
- :plain="
1863
- item.inline.plain || item.inline.name === undefined
1864
- "
1865
- :readonly="readonly ? readonly : item.inline.readonly"
1866
- @blur="
1867
- (event) => {
1868
- handleBlur(item.inline, event);
1869
- }
1870
- "
1871
- @focus="
1872
- (event) => {
1873
- handleFocus(item.inline, event);
1874
- }
1875
- "
1876
- @change="
1877
- (val) => {
1878
- handleChange(item.inline, val);
1879
- }
1880
- "
1881
- ></es-input-number>
1882
- <es-select
1883
- v-else-if="item.inline.type == 'select'"
1884
- v-bind="
1885
- handleExclAttribute({
1886
- data: item.inline,
1887
- attrs: ['value']
1888
- })
1889
- "
1890
- v-model="models[item.inline.name]"
1891
- :plain="
1892
- item.inline.plain || item.inline.name === undefined
1893
- "
1894
- :readonly="readonly ? readonly : item.inline.readonly"
1895
- @blur="
1896
- (event) => {
1897
- handleBlur(item.inline, event);
1898
- }
1899
- "
1900
- @focus="
1901
- (event) => {
1902
- handleFocus(item.inline, event);
1903
- }
1904
- "
1905
- @change="
1906
- (val) => {
1907
- handleChange(item.inline, val);
1908
- }
1909
- "
1910
- ></es-select>
1911
- <es-cascader
1912
- v-else-if="item.inline.type == 'cascader'"
1913
- v-bind="
1914
- handleExclAttribute({
1915
- data: item.inline,
1916
- attrs: ['value']
1917
- })
1918
- "
1919
- v-model="models[item.inline.name]"
1920
- :plain="
1921
- item.inline.plain || item.inline.name === undefined
1922
- "
1923
- :readonly="readonly ? readonly : item.inline.readonly"
1924
- @blur="
1925
- (event) => {
1926
- handleBlur(item.inline, event);
1927
- }
1928
- "
1929
- @focus="
1930
- (event) => {
1931
- handleFocus(item.inline, event);
1932
- }
1933
- "
1934
- @change="
1935
- (val) => {
1936
- handleChange(item.inline, val);
1937
- }
1938
- "
1939
- >
1940
- </es-cascader>
1941
- <es-date-picker
1942
- v-else-if="
1943
- item.inline.date ||
1944
- item.inline.type == 'date' ||
1945
- item.inline.type == 'year' ||
1946
- item.inline.type == 'month' ||
1947
- item.inline.type == 'date' ||
1948
- item.inline.type == 'dates' ||
1949
- item.inline.type == 'week' ||
1950
- item.inline.type == 'datetime' ||
1951
- item.inline.type == 'datetimerange' ||
1952
- item.inline.type == 'daterange' ||
1953
- item.inline.type == 'monthrange' ||
1954
- item.inline.type == 'quarter' ||
1955
- item.inline.type == 'halfyear'
1956
- "
1957
- v-bind="
1958
- handleExclAttribute({
1959
- data: item.inline,
1960
- attrs: ['value']
1961
- })
1962
- "
1963
- v-model="models[item.inline.name]"
1964
- :plain="
1965
- item.inline.plain || item.inline.name === undefined
1966
- "
1967
- :readonly="readonly ? readonly : item.inline.readonly"
1968
- @blur="
1969
- (event) => {
1970
- handleBlur(item.inline, event);
1971
- }
1972
- "
1973
- @focus="
1974
- (event) => {
1975
- handleFocus(item.inline, event);
1976
- }
1977
- "
1978
- @change="
1979
- (val) => {
1980
- handleChange(item.inline, val);
1981
- }
1982
- "
1983
- ></es-date-picker>
1984
- <es-icons
1985
- v-else-if="item.inline.type === 'icon'"
1986
- v-bind="
1987
- handleExclAttribute({
1988
- data: item.inline,
1989
- attrs: ['value']
1990
- })
1991
- "
1992
- v-model="models[item.inline.name]"
1993
- :plain="
1994
- item.inline.plain || item.inline.name === undefined
1995
- "
1996
- :readonly="readonly ? readonly : item.inline.readonly"
1997
- @change="
1998
- (val) => {
1999
- handleChange(item.inline, val);
2000
- }
2001
- "
2002
- ></es-icons>
2003
- <component
2004
- v-else-if="item.inline.type === 'component'"
2005
- v-model="models[item.inline.name]"
2006
- v-bind="
2007
- handleExclAttribute({
2008
- data: item.inline,
2009
- attrs: ['value', 'type']
2010
- })
2011
- "
2012
- v-on="item.inline.events"
2013
- ></component>
2014
- <es-input
2015
- v-else
2016
- v-bind="
2017
- handleExclAttribute({
2018
- data: item.inline,
2019
- attrs: ['value']
2020
- })
2021
- "
2022
- v-model="models[item.inline.name]"
2023
- :plain="
2024
- item.inline.plain || item.inline.name === undefined
2025
- "
2026
- :readonly="readonly ? readonly : item.inline.readonly"
2027
- @blur="
2028
- (event) => {
2029
- handleBlur(item.inline, event);
2030
- }
2031
- "
2032
- @focus="
2033
- (event) => {
2034
- handleFocus(item.inline, event);
2035
- }
2036
- "
2037
- @input="
2038
- (val) => {
2039
- handleInput(item.inline, val);
2040
- }
2041
- "
2042
- @clear="handleClear(item.inline)"
2043
- @change="
2044
- (val) => {
2045
- handleChange(item.inline, val);
2046
- }
2047
- "
2048
- ></es-input>
2049
- </el-form-item>
2050
- </template>
2051
- </template>
2052
- </el-form-item>
2053
- </template>
2054
- </template>
2055
- <el-form-item v-show="labelWidth" v-if="inline">
2056
- <el-button
2057
- v-for="(item, index) in buttons"
2058
- v-bind="handleExclAttribute({ data: item, attrs: ['value'] })"
2059
- size="medium"
2060
- :key="index"
2061
- v-show="!item.hide"
2062
- @click="handleClick(item)"
2063
- >{{ item.label || item.text || item.name }}</el-button
2064
- >
2065
- </el-form-item>
2066
- </el-scrollbar>
2067
- </div>
2068
- </template>
2069
- <template v-else>
2070
- <el-collapse
2071
- v-if="isCollapse"
2072
- v-model="activeNames"
2073
- class="es-collapse"
2074
- :accordion="accordion"
2075
- @change="handleCollapse"
45
+ <el-collapse
46
+ v-if="isCollapse"
47
+ v-model="activeNames"
48
+ class="es-collapse"
49
+ :accordion="accordion"
50
+ @change="handleCollapse"
51
+ >
52
+ <el-scrollbar
53
+ class="es-scrollbar"
54
+ :style="{ height: formHeight }"
55
+ ref="scrollbar"
2076
56
  >
2077
- <template v-for="(items, indexs) in formContent">
57
+ <template v-for="(items, indexs) in content">
2078
58
  <el-collapse-item
2079
59
  class="es-collapse-item"
2080
60
  v-if="!items.hide"
2081
61
  v-show="items.show !== false"
2082
- :class="{ 'es-collapse-readonly': accordion ? false : !collapse }"
62
+ v-bind="items.config"
63
+ :class="{
64
+ 'es-collapse-readonly': accordion ? false : !collapse,
65
+ 'es-collapse-caption': items.caption
66
+ }"
67
+ :show-title="items.showTitle"
2083
68
  :name="items.name || String(indexs)"
2084
69
  :key="indexs"
2085
70
  :readonly="accordion ? false : !collapse"
2086
71
  >
2087
- <div class="es-collapse-title" slot="title">
2088
- <template v-if="typeof items.title === 'string'">{{
2089
- items.title
2090
- }}</template>
2091
- <template v-else>
72
+ <div slot="title" class="es-collapse-title">
73
+ <template v-if="typeof items.title === 'object'">
2092
74
  <template v-for="(item, index) in items.title">
2093
75
  <template v-if="typeof item === 'string'">
2094
76
  <span :key="index">{{ item }}</span>
@@ -2115,7 +97,10 @@
2115
97
  <es-radio-group
2116
98
  v-else-if="item.type == 'radio'"
2117
99
  v-bind="
2118
- handleExclAttribute({ data: item, attrs: ['value'] })
100
+ handleExclAttribute({
101
+ data: item,
102
+ attrs: ['value']
103
+ })
2119
104
  "
2120
105
  v-model="models[item.name]"
2121
106
  size="medium"
@@ -2130,7 +115,10 @@
2130
115
  <es-checkbox-group
2131
116
  v-else-if="item.type == 'checkbox'"
2132
117
  v-bind="
2133
- handleExclAttribute({ data: item, attrs: ['value'] })
118
+ handleExclAttribute({
119
+ data: item,
120
+ attrs: ['value']
121
+ })
2134
122
  "
2135
123
  v-model="models[item.name]"
2136
124
  size="medium"
@@ -2145,7 +133,10 @@
2145
133
  <es-select
2146
134
  v-else-if="item.type == 'select'"
2147
135
  v-bind="
2148
- handleExclAttribute({ data: item, attrs: ['value'] })
136
+ handleExclAttribute({
137
+ data: item,
138
+ attrs: ['value']
139
+ })
2149
140
  "
2150
141
  v-model="models[item.name]"
2151
142
  size="medium"
@@ -2160,7 +151,10 @@
2160
151
  <es-switch
2161
152
  v-else-if="item.type == 'switch'"
2162
153
  v-bind="
2163
- handleExclAttribute({ data: item, attrs: ['value'] })
154
+ handleExclAttribute({
155
+ data: item,
156
+ attrs: ['value']
157
+ })
2164
158
  "
2165
159
  v-model="models[item.name]"
2166
160
  :plain="item.plain || item.name === undefined"
@@ -2174,6 +168,7 @@
2174
168
  </div>
2175
169
  </template>
2176
170
  </template>
171
+ <template v-else>{{ items.title }}</template>
2177
172
  </div>
2178
173
  <es-table-form
2179
174
  v-if="table || items.table"
@@ -2182,11 +177,12 @@
2182
177
  :span="items.span || span"
2183
178
  :tableAfter="tableAfter"
2184
179
  v-bind="items"
180
+ :after="after"
2185
181
  :thead="thead"
2186
- :model.sync="models"
2187
182
  :readonly="readonly"
2188
183
  :contents="items.contents"
2189
184
  :widths="widths"
185
+ :model.sync="models"
2190
186
  @click="handleClick"
2191
187
  @change="handleChange"
2192
188
  @dataChange="handleDataChange"
@@ -2220,10 +216,6 @@
2220
216
  :style="style(item)"
2221
217
  :class="[
2222
218
  {
2223
- 'es-form-pane':
2224
- !inline &&
2225
- item.type !== 'submit' &&
2226
- item.type !== 'button',
2227
219
  'es-form-space-none': !space,
2228
220
  'es-form-item-readonly': readonly,
2229
221
  'es-form-item-table': item.type === 'table',
@@ -2250,7 +242,7 @@
2250
242
  ? align[item.label.align]
2251
243
  : labelPosition
2252
244
  ? labelPosition == 'top'
2253
- ? 'left'
245
+ ? 'start'
2254
246
  : align[labelPosition]
2255
247
  : 'end'),
2256
248
  !Array.isArray(item.labelClass) ? item.labelClass : ''
@@ -2370,6 +362,26 @@
2370
362
  "
2371
363
  >
2372
364
  </es-cascader>
365
+ <es-selector
366
+ v-else-if="item.type === 'selector'"
367
+ v-bind="
368
+ handleExclAttribute({ data: item, attrs: ['value'] })
369
+ "
370
+ v-model="models[item.name]"
371
+ :plain="item.plain || item.name === undefined"
372
+ :readonly="readonly ? readonly : item.readonly"
373
+ v-on="
374
+ handleExclAttribute({
375
+ data: item.events,
376
+ attrs: 'change'
377
+ })
378
+ "
379
+ @change="
380
+ (val) => {
381
+ handleChange(item, val);
382
+ }
383
+ "
384
+ ></es-selector>
2373
385
  <es-select-ganged
2374
386
  v-else-if="
2375
387
  item.type == 'ganged' ||
@@ -2450,8 +462,8 @@
2450
462
  })
2451
463
  "
2452
464
  :ownId="item.ownId || models.id"
2453
- btn-size="medium"
2454
465
  v-model="models[item.name]"
466
+ btn-size="medium"
2455
467
  :readonly="readonly ? readonly : item.readonly"
2456
468
  :rules="item.rules"
2457
469
  v-on="
@@ -2467,11 +479,11 @@
2467
479
  "
2468
480
  ></es-upload>
2469
481
  <es-selector
2470
- v-else-if="item.type == 'selector'"
2471
482
  v-bind="
2472
483
  handleExclAttribute({ data: item, attrs: ['value'] })
2473
484
  "
2474
485
  v-model="models[item.name]"
486
+ v-else-if="item.type == 'selector'"
2475
487
  :readonly="readonly ? readonly : item.readonly"
2476
488
  :plain="item.plain || item.name === undefined"
2477
489
  v-on="
@@ -2492,7 +504,10 @@
2492
504
  :data="models[item.name]"
2493
505
  :full="item.height != undefined || item.height != null"
2494
506
  v-bind="
2495
- handleExclAttribute({ data: item, attrs: ['value'] })
507
+ handleExclAttribute({
508
+ data: item,
509
+ attrs: ['value']
510
+ })
2496
511
  "
2497
512
  :readonly="readonly ? readonly : item.readonly"
2498
513
  @blur="
@@ -2565,10 +580,7 @@
2565
580
  <es-icons
2566
581
  v-else-if="item.type === 'icon'"
2567
582
  v-bind="
2568
- handleExclAttribute({
2569
- data: item,
2570
- attrs: ['value']
2571
- })
583
+ handleExclAttribute({ data: item, attrs: ['value'] })
2572
584
  "
2573
585
  v-model="models[item.name]"
2574
586
  :plain="item.plain || item.name === undefined"
@@ -3039,6 +1051,25 @@
3039
1051
  }
3040
1052
  "
3041
1053
  ></es-date-picker>
1054
+ <template
1055
+ v-else-if="
1056
+ item.inline.type == 'image' ||
1057
+ item.inline.type == 'img'
1058
+ "
1059
+ >
1060
+ <img
1061
+ v-if="item.inline.url || item.inline.src"
1062
+ v-bind="
1063
+ handleExclAttribute({
1064
+ data: item.inline,
1065
+ attrs: ['value']
1066
+ })
1067
+ "
1068
+ height="100%"
1069
+ :src="item.inline.url || item.inline.src"
1070
+ @click="item.inline.event"
1071
+ />
1072
+ </template>
3042
1073
  <es-icons
3043
1074
  v-else-if="item.inline.type === 'icon'"
3044
1075
  v-bind="
@@ -3062,15 +1093,15 @@
3062
1093
  "
3063
1094
  ></es-icons>
3064
1095
  <component
3065
- v-else-if="item.inline.type === 'component'"
3066
- v-model="models[item.inline.name]"
1096
+ v-else-if="inline.type === 'component'"
1097
+ v-model="models[inline.name]"
3067
1098
  v-bind="
3068
1099
  handleExclAttribute({
3069
- data: item.inline,
1100
+ data: inline,
3070
1101
  attrs: ['value', 'type']
3071
1102
  })
3072
1103
  "
3073
- v-on="item.inline.events"
1104
+ v-on="inline.events"
3074
1105
  ></component>
3075
1106
  <es-input
3076
1107
  v-else
@@ -3103,11 +1134,7 @@
3103
1134
  handleInput(item.inline, val);
3104
1135
  }
3105
1136
  "
3106
- @clear="
3107
- () => {
3108
- handleClear(item);
3109
- }
3110
- "
1137
+ @clear="handleClear(item.inline)"
3111
1138
  @change="
3112
1139
  (val) => {
3113
1140
  handleChange(item.inline, val);
@@ -3122,8 +1149,14 @@
3122
1149
  </template>
3123
1150
  </el-collapse-item>
3124
1151
  </template>
3125
- </el-collapse>
3126
- <div class="es-form-content es-form-padding" v-else>
1152
+ </el-scrollbar>
1153
+ </el-collapse>
1154
+ <div class="es-form-content" v-else>
1155
+ <el-scrollbar
1156
+ class="es-scrollbar"
1157
+ :style="{ height: formHeight }"
1158
+ ref="scrollbar"
1159
+ >
3127
1160
  <es-table-form
3128
1161
  v-if="table"
3129
1162
  ref="form"
@@ -3396,7 +1429,7 @@
3396
1429
  <es-selector
3397
1430
  v-bind="handleExclAttribute({ data: item, attrs: ['value'] })"
3398
1431
  v-model="models[item.name]"
3399
- v-else-if="item.type == 'selector'"
1432
+ v-else-if="item.type === 'selector'"
3400
1433
  :readonly="readonly ? readonly : item.readonly"
3401
1434
  :plain="item.plain || item.name === undefined"
3402
1435
  v-on="
@@ -3522,24 +1555,20 @@
3522
1555
  :readonly="readonly ? readonly : item.readonly"
3523
1556
  @blur="
3524
1557
  (event) => {
3525
- handleBlur(item, event);
1558
+ handleBlur(item.name, event);
3526
1559
  }
3527
1560
  "
3528
1561
  @focus="
3529
1562
  (event) => {
3530
- handleFocus(item, event);
1563
+ handleFocus(item.name, event);
3531
1564
  }
3532
1565
  "
3533
1566
  @input="
3534
1567
  (val) => {
3535
- handleInput(item, val);
3536
- }
3537
- "
3538
- @clear="
3539
- () => {
3540
- handleClear(item);
1568
+ handleInput(item.name, val);
3541
1569
  }
3542
1570
  "
1571
+ @clear="handleClear(item.name)"
3543
1572
  @change="
3544
1573
  (val) => {
3545
1574
  handleChange(item, val);
@@ -3550,11 +1579,7 @@
3550
1579
  <template v-if="Array.isArray(item.inline)">
3551
1580
  <template v-for="(inline, k) in item.inline">
3552
1581
  <es-button
3553
- v-if="
3554
- inline.type == 'button' &&
3555
- !inline.readonly &&
3556
- !readonly
3557
- "
1582
+ v-if="inline.type == 'button' && !inline.hide"
3558
1583
  class="es-button-inline"
3559
1584
  :disabled="disabled || inline.disabled"
3560
1585
  v-bind="
@@ -3573,16 +1598,6 @@
3573
1598
  <div class="es-range" v-if="inline.range !== false">
3574
1599
 
3575
1600
  </div>
3576
- <es-button
3577
- v-if="inline.type == 'button'"
3578
- v-bind="
3579
- handleExclAttribute({
3580
- data: inline,
3581
- attrs: ['text']
3582
- })
3583
- "
3584
- >{{ inline.text }}</es-button
3585
- >
3586
1601
  <el-form-item
3587
1602
  label-width="0"
3588
1603
  :class="{ 'fixed-width': inline.width }"
@@ -3971,7 +1986,7 @@
3971
1986
  v-bind="
3972
1987
  handleExclAttribute({
3973
1988
  data: item.inline,
3974
- attrs: ['value', 'events']
1989
+ attrs: ['value']
3975
1990
  })
3976
1991
  "
3977
1992
  v-model="models[item.inline.name]"
@@ -4007,10 +2022,7 @@
4007
2022
  </el-form-item>
4008
2023
  </template>
4009
2024
  </template>
4010
- <el-form-item
4011
- v-show="labelWidth"
4012
- v-if="inline && !readonly && showButton"
4013
- >
2025
+ <el-form-item v-show="labelWidth" v-if="inline">
4014
2026
  <el-button
4015
2027
  v-for="(item, index) in buttons"
4016
2028
  v-bind="handleExclAttribute({ data: item, attrs: ['value'] })"
@@ -4021,8 +2033,8 @@
4021
2033
  >{{ item.label || item.text || item.name }}</el-button
4022
2034
  >
4023
2035
  </el-form-item>
4024
- </div>
4025
- </template>
2036
+ </el-scrollbar>
2037
+ </div>
4026
2038
  <div
4027
2039
  v-show="labelWidth"
4028
2040
  v-if="!inline && !readonly && showButton"
@@ -4048,6 +2060,7 @@ import { formContents } from 'eoss-ui/src/config/api.js';
4048
2060
  import { debounce } from 'throttle-debounce';
4049
2061
  import util from 'eoss-ui/src/utils/util';
4050
2062
  import rules from 'eoss-ui/src/utils/rules.js';
2063
+ const pageView = util.getParams('pageView');
4051
2064
  export default {
4052
2065
  name: 'EsForm',
4053
2066
  inheritAttrs: false,
@@ -4071,6 +2084,18 @@ export default {
4071
2084
  }
4072
2085
  },
4073
2086
  props: {
2087
+ viewCode: {
2088
+ type: String,
2089
+ default: pageView
2090
+ },
2091
+ contentsUrl: {
2092
+ type: String,
2093
+ default: formContents
2094
+ },
2095
+ autocomplete: {
2096
+ type: Boolean,
2097
+ default: true
2098
+ },
4074
2099
  hides: {
4075
2100
  type: Array,
4076
2101
  default() {
@@ -4316,6 +2341,7 @@ export default {
4316
2341
  return this.content;
4317
2342
  },
4318
2343
  formHeight() {
2344
+ console.log(this.height ? this.height : this.newHeight);
4319
2345
  return this.height ? this.height : this.newHeight;
4320
2346
  },
4321
2347
  width() {