eoss-ui 0.5.87 → 0.5.88

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 (35) hide show
  1. package/lib/data-table.js +104 -26
  2. package/lib/eoss-ui.common.js +5403 -5120
  3. package/lib/form.js +5199 -5031
  4. package/lib/index.js +1 -1
  5. package/lib/main.js +55 -20
  6. package/lib/theme-chalk/base.css +1 -1
  7. package/lib/theme-chalk/data-table.css +1 -1
  8. package/lib/theme-chalk/index.css +1 -1
  9. package/lib/theme-chalk/main.css +1 -1
  10. package/lib/theme-chalk/menu.css +1 -1
  11. package/lib/theme-chalk/simplicity.css +1 -1
  12. package/lib/theme-chalk/sizer.css +1 -1
  13. package/lib/theme-chalk/toolbar.css +1 -1
  14. package/lib/theme-chalk/upload.css +1 -1
  15. package/lib/upload.js +10 -8
  16. package/package.json +2 -2
  17. package/packages/data-table/src/main.vue +72 -14
  18. package/packages/data-table/src/sizer.vue +5 -1
  19. package/packages/form/src/main.vue +1079 -1055
  20. package/packages/main/src/default/index.vue +1 -0
  21. package/packages/main/src/public/search.vue +19 -5
  22. package/packages/theme-chalk/lib/base.css +1 -1
  23. package/packages/theme-chalk/lib/data-table.css +1 -1
  24. package/packages/theme-chalk/lib/index.css +1 -1
  25. package/packages/theme-chalk/lib/main.css +1 -1
  26. package/packages/theme-chalk/lib/menu.css +1 -1
  27. package/packages/theme-chalk/lib/simplicity.css +1 -1
  28. package/packages/theme-chalk/lib/sizer.css +1 -1
  29. package/packages/theme-chalk/lib/toolbar.css +1 -1
  30. package/packages/theme-chalk/lib/upload.css +1 -1
  31. package/packages/theme-chalk/src/common/var.scss +2 -2
  32. package/packages/theme-chalk/src/data-table.scss +8 -0
  33. package/packages/theme-chalk/src/toolbar.scss +17 -3
  34. package/packages/upload/src/main.vue +5 -7
  35. package/src/index.js +1 -1
@@ -24,1136 +24,1150 @@
24
24
  v-on:keyup.13="handleEnter"
25
25
  v-on="$listeners"
26
26
  >
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
- />
34
- <es-steps
35
- v-if="steps"
36
- class="es-steps-group"
37
- v-bind="
38
- handleExclAttribute({ data: steps, attrs: ['active', 'contents'] })
39
- "
40
- :contents="stepContents"
41
- :active="stepActive"
42
- @click="handleClick"
43
- ></es-steps>
44
- <slot>
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"
27
+ <template v-if="ready">
28
+ <input type="text" style="display: none" v-if="forbid" />
29
+ <input
30
+ type="password"
31
+ class="hidden-input"
32
+ autocomplete="new-password"
33
+ v-if="!autocomplete"
34
+ />
35
+ <es-steps
36
+ v-if="steps"
37
+ class="es-steps-group"
38
+ v-bind="
39
+ handleExclAttribute({ data: steps, attrs: ['active', 'contents'] })
40
+ "
41
+ :contents="stepContents"
42
+ :active="stepActive"
43
+ @click="handleClick"
44
+ ></es-steps>
45
+ <slot>
46
+ <el-collapse
47
+ v-if="isCollapse"
48
+ v-model="activeNames"
49
+ class="es-collapse"
50
+ :accordion="accordion"
51
+ @change="handleCollapse"
56
52
  >
57
- <template v-for="(items, indexs) in content">
58
- <el-collapse-item
59
- class="es-collapse-item"
60
- v-if="!items.hide"
61
- v-show="items.show !== false"
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"
68
- :name="items.name || String(indexs)"
69
- :key="indexs"
70
- :readonly="accordion ? false : !collapse"
71
- >
72
- <div slot="title" class="es-collapse-title">
73
- <template v-if="typeof items.title === 'object'">
74
- <template v-for="(item, index) in items.title">
75
- <template v-if="typeof item === 'string'">
76
- <span :key="index">{{ item }}</span>
53
+ <el-scrollbar
54
+ class="es-scrollbar"
55
+ :style="{ height: formHeight }"
56
+ ref="scrollbar"
57
+ >
58
+ <template v-for="(items, indexs) in content">
59
+ <el-collapse-item
60
+ class="es-collapse-item"
61
+ v-if="!items.hide"
62
+ v-show="items.show !== false"
63
+ v-bind="items.config"
64
+ :class="{
65
+ 'es-collapse-readonly': accordion ? false : !collapse,
66
+ 'es-collapse-caption': items.caption
67
+ }"
68
+ :show-title="items.showTitle"
69
+ :name="items.name || String(indexs)"
70
+ :key="indexs"
71
+ :readonly="accordion ? false : !collapse"
72
+ >
73
+ <div slot="title" class="es-collapse-title">
74
+ <template v-if="typeof items.title === 'object'">
75
+ <template v-for="(item, index) in items.title">
76
+ <template v-if="typeof item === 'string'">
77
+ <span :key="index">{{ item }}</span>
78
+ </template>
79
+ <div
80
+ v-else
81
+ :key="index"
82
+ class="es-collapse-title-handler"
83
+ >
84
+ <es-label
85
+ v-if="item.label"
86
+ v-bind="getLabel(item.label)"
87
+ ></es-label>
88
+ <span v-if="item.text || item.type === 'text'">{{
89
+ item.text || item.contents
90
+ }}</span>
91
+ <i
92
+ v-else-if="item.type === 'icon' || item.icon"
93
+ :class="item.class || item.icon"
94
+ v-html="item.contents"
95
+ @click.stop="
96
+ () => {
97
+ item.event && item.event(items, indexs);
98
+ item.click && item.click(items, indexs);
99
+ }
100
+ "
101
+ ></i>
102
+ <es-radio-group
103
+ v-else-if="item.type == 'radio'"
104
+ v-bind="
105
+ handleExclAttribute({
106
+ data: item,
107
+ attrs: ['value']
108
+ })
109
+ "
110
+ v-model="models[item.name]"
111
+ size="medium"
112
+ :plain="item.plain || item.name === undefined"
113
+ :readonly="readonly ? readonly : item.readonly"
114
+ @change="
115
+ (val) => {
116
+ handleChange(item, val, items);
117
+ }
118
+ "
119
+ ></es-radio-group>
120
+ <es-checkbox-group
121
+ v-else-if="item.type == 'checkbox'"
122
+ v-bind="
123
+ handleExclAttribute({
124
+ data: item,
125
+ attrs: ['value']
126
+ })
127
+ "
128
+ v-model="models[item.name]"
129
+ size="medium"
130
+ :plain="item.plain || item.name === undefined"
131
+ :readonly="readonly ? readonly : item.readonly"
132
+ @change="
133
+ (val) => {
134
+ handleChange(item, val, items);
135
+ }
136
+ "
137
+ ></es-checkbox-group>
138
+ <es-select
139
+ v-else-if="item.type == 'select'"
140
+ v-bind="
141
+ handleExclAttribute({
142
+ data: item,
143
+ attrs: ['value']
144
+ })
145
+ "
146
+ v-model="models[item.name]"
147
+ size="medium"
148
+ :plain="item.plain || item.name === undefined"
149
+ :readonly="readonly ? readonly : item.readonly"
150
+ @change="
151
+ (val) => {
152
+ handleChange(item, val, items);
153
+ }
154
+ "
155
+ ></es-select>
156
+ <es-switch
157
+ v-else-if="item.type == 'switch'"
158
+ v-bind="
159
+ handleExclAttribute({
160
+ data: item,
161
+ attrs: ['value']
162
+ })
163
+ "
164
+ v-model="models[item.name]"
165
+ :plain="item.plain || item.name === undefined"
166
+ :readonly="readonly ? readonly : item.readonly"
167
+ @change="
168
+ (val) => {
169
+ handleChange(item, val, items);
170
+ }
171
+ "
172
+ ></es-switch>
173
+ </div>
77
174
  </template>
78
- <div v-else :key="index" class="es-collapse-title-handler">
175
+ </template>
176
+ <template v-else>{{ items.title }}</template>
177
+ </div>
178
+ <es-table-form
179
+ v-if="table || items.table"
180
+ ref="form"
181
+ :label-width="items.labelWidth || labelWidth"
182
+ :span="items.span || span"
183
+ :tableAfter="tableAfter"
184
+ v-bind="items"
185
+ :after="after"
186
+ :thead="thead"
187
+ :readonly="readonly"
188
+ :contents="items.contents"
189
+ :widths="widths"
190
+ :model.sync="models"
191
+ @click="handleClick"
192
+ @change="handleChange"
193
+ @dataChange="handleDataChange"
194
+ @focus="handleFocus"
195
+ @blur="handleBlur"
196
+ @clear="handleClear"
197
+ ></es-table-form>
198
+ <template v-else>
199
+ <template v-for="item in items.contents">
200
+ <div
201
+ v-if="item.type === 'caption' && !item.hide"
202
+ class="es-form-item-caption"
203
+ :key="item.name"
204
+ >
205
+ {{ item.text }}
206
+ </div>
207
+ <el-form-item
208
+ v-else-if="!item.hide && !hides.includes(item.name)"
209
+ ref="es-form-pane"
210
+ :key="item.name"
211
+ :label-width="
212
+ item.showLabel !== false &&
213
+ item.label &&
214
+ !item.labelHide &&
215
+ showLabel
216
+ ? labelWidth
217
+ : '0'
218
+ "
219
+ :prop="item.name"
220
+ :rules="getRules(item)"
221
+ :style="style(item)"
222
+ :class="[
223
+ {
224
+ 'es-form-space-none': !space,
225
+ 'es-form-item-readonly': readonly,
226
+ 'es-form-item-table': item.type === 'table',
227
+ 'es-form-item-inline': item.inline,
228
+ 'es-form-item-onrow': item.row,
229
+ 'es-form-item-label-hide':
230
+ item.labelHide || item.showLabel === false
231
+ },
232
+ item.class,
233
+ itemClass[item.type]
234
+ ]"
235
+ :label-class="
236
+ [
237
+ {
238
+ 'required-after': after,
239
+ 'es-label-box': labelPosition !== 'top',
240
+ 'required-position':
241
+ !labelPosition || labelPosition === 'right'
242
+ },
243
+ 'es-justify-' +
244
+ (item.labelAlign
245
+ ? align[item.labelAlign]
246
+ : typeof item.label == 'object' &&
247
+ item.label.align
248
+ ? align[item.label.align]
249
+ : labelPosition
250
+ ? labelPosition == 'top'
251
+ ? 'start'
252
+ : align[labelPosition]
253
+ : 'end'),
254
+ !Array.isArray(item.labelClass) ? item.labelClass : ''
255
+ ].concat(
256
+ Array.isArray(item.labelClass ? item.labelClass : '')
257
+ )
258
+ "
259
+ >
79
260
  <es-label
80
- v-if="item.label"
261
+ slot="label"
262
+ v-if="
263
+ item.showLabel !== false &&
264
+ item.label &&
265
+ !item.labelHide &&
266
+ showLabel
267
+ "
81
268
  v-bind="getLabel(item.label)"
82
269
  ></es-label>
83
- <span v-if="item.text || item.type === 'text'">{{
84
- item.text || item.contents
85
- }}</span>
86
- <i
87
- v-else-if="item.type === 'icon' || item.icon"
88
- :class="item.class || item.icon"
89
- v-html="item.contents"
90
- @click.stop="
91
- () => {
92
- item.event && item.event(items, indexs);
93
- item.click && item.click(items, indexs);
270
+ <es-input-number
271
+ v-if="item.type == 'number'"
272
+ v-bind="
273
+ handleExclAttribute({ data: item, attrs: ['value'] })
274
+ "
275
+ v-model="models[item.name]"
276
+ :plain="item.plain || item.name === undefined"
277
+ :readonly="readonly ? readonly : item.readonly"
278
+ @blur="
279
+ (event) => {
280
+ handleBlur(item, event);
281
+ }
282
+ "
283
+ @focus="
284
+ (event) => {
285
+ handleFocus(item, event);
286
+ }
287
+ "
288
+ @change="
289
+ (val) => {
290
+ handleChange(item, val);
94
291
  }
95
292
  "
96
- ></i>
293
+ ></es-input-number>
97
294
  <es-radio-group
98
295
  v-else-if="item.type == 'radio'"
99
296
  v-bind="
100
- handleExclAttribute({
101
- data: item,
102
- attrs: ['value']
103
- })
297
+ handleExclAttribute({ data: item, attrs: ['value'] })
104
298
  "
105
299
  v-model="models[item.name]"
106
- size="medium"
107
300
  :plain="item.plain || item.name === undefined"
108
301
  :readonly="readonly ? readonly : item.readonly"
109
302
  @change="
110
303
  (val) => {
111
- handleChange(item, val, items);
304
+ handleChange(item, val);
112
305
  }
113
306
  "
114
307
  ></es-radio-group>
115
308
  <es-checkbox-group
116
309
  v-else-if="item.type == 'checkbox'"
117
310
  v-bind="
118
- handleExclAttribute({
119
- data: item,
120
- attrs: ['value']
121
- })
311
+ handleExclAttribute({ data: item, attrs: ['value'] })
122
312
  "
123
313
  v-model="models[item.name]"
124
- size="medium"
125
314
  :plain="item.plain || item.name === undefined"
126
315
  :readonly="readonly ? readonly : item.readonly"
127
316
  @change="
128
317
  (val) => {
129
- handleChange(item, val, items);
318
+ handleChange(item, val);
130
319
  }
131
320
  "
132
321
  ></es-checkbox-group>
133
322
  <es-select
134
323
  v-else-if="item.type == 'select'"
135
324
  v-bind="
325
+ handleExclAttribute({ data: item, attrs: ['value'] })
326
+ "
327
+ v-model="models[item.name]"
328
+ :plain="item.plain || item.name === undefined"
329
+ :readonly="readonly ? readonly : item.readonly"
330
+ @blur="
331
+ (event) => {
332
+ handleBlur(item, event);
333
+ }
334
+ "
335
+ @focus="
336
+ (event) => {
337
+ handleFocus(item, event);
338
+ }
339
+ "
340
+ @change="
341
+ (val) => {
342
+ handleChange(item, val);
343
+ }
344
+ "
345
+ ></es-select>
346
+ <es-cascader
347
+ v-else-if="item.type == 'cascader'"
348
+ v-bind="
349
+ handleExclAttribute({ data: item, attrs: ['value'] })
350
+ "
351
+ v-model="models[item.name]"
352
+ :plain="item.plain || item.name === undefined"
353
+ :readonly="readonly ? readonly : item.readonly"
354
+ @blur="
355
+ (event) => {
356
+ handleBlur(item, event);
357
+ }
358
+ "
359
+ @focus="
360
+ (event) => {
361
+ handleFocus(item, event);
362
+ }
363
+ "
364
+ @change="
365
+ (val) => {
366
+ handleChange(item, val);
367
+ }
368
+ "
369
+ >
370
+ </es-cascader>
371
+ <es-selector
372
+ v-else-if="item.type === 'selector'"
373
+ v-bind="
374
+ handleExclAttribute({ data: item, attrs: ['value'] })
375
+ "
376
+ v-model="models[item.name]"
377
+ :plain="item.plain || item.name === undefined"
378
+ :readonly="readonly ? readonly : item.readonly"
379
+ v-on="
136
380
  handleExclAttribute({
137
- data: item,
138
- attrs: ['value']
381
+ data: item.events,
382
+ attrs: 'change'
139
383
  })
140
384
  "
385
+ @change="
386
+ (val) => {
387
+ handleChange(item, val);
388
+ }
389
+ "
390
+ ></es-selector>
391
+ <es-select-ganged
392
+ v-else-if="
393
+ item.type == 'ganged' ||
394
+ (item.type == 'select' && item.ganged)
395
+ "
396
+ v-bind="
397
+ handleExclAttribute({ data: item, attrs: ['value'] })
398
+ "
141
399
  v-model="models[item.name]"
142
- size="medium"
143
400
  :plain="item.plain || item.name === undefined"
144
401
  :readonly="readonly ? readonly : item.readonly"
145
402
  @change="
146
403
  (val) => {
147
- handleChange(item, val, items);
404
+ handleChange(item, val);
148
405
  }
149
406
  "
150
- ></es-select>
407
+ ></es-select-ganged>
151
408
  <es-switch
152
409
  v-else-if="item.type == 'switch'"
153
410
  v-bind="
154
- handleExclAttribute({
155
- data: item,
156
- attrs: ['value']
157
- })
411
+ handleExclAttribute({ data: item, attrs: ['value'] })
158
412
  "
159
413
  v-model="models[item.name]"
160
414
  :plain="item.plain || item.name === undefined"
161
415
  :readonly="readonly ? readonly : item.readonly"
162
416
  @change="
163
417
  (val) => {
164
- handleChange(item, val, items);
418
+ handleChange(item, val);
165
419
  }
166
420
  "
167
421
  ></es-switch>
168
- </div>
169
- </template>
170
- </template>
171
- <template v-else>{{ items.title }}</template>
172
- </div>
173
- <es-table-form
174
- v-if="table || items.table"
175
- ref="form"
176
- :label-width="items.labelWidth || labelWidth"
177
- :span="items.span || span"
178
- :tableAfter="tableAfter"
179
- v-bind="items"
180
- :after="after"
181
- :thead="thead"
182
- :readonly="readonly"
183
- :contents="items.contents"
184
- :widths="widths"
185
- :model.sync="models"
186
- @click="handleClick"
187
- @change="handleChange"
188
- @dataChange="handleDataChange"
189
- @focus="handleFocus"
190
- @blur="handleBlur"
191
- @clear="handleClear"
192
- ></es-table-form>
193
- <template v-else>
194
- <template v-for="item in items.contents">
195
- <div
196
- v-if="item.type === 'caption' && !item.hide"
197
- class="es-form-item-caption"
198
- :key="item.name"
199
- >
200
- {{ item.text }}
201
- </div>
202
- <el-form-item
203
- v-else-if="!item.hide && !hides.includes(item.name)"
204
- ref="es-form-pane"
205
- :key="item.name"
206
- :label-width="
207
- item.showLabel !== false &&
208
- item.label &&
209
- !item.labelHide &&
210
- showLabel
211
- ? labelWidth
212
- : '0'
213
- "
214
- :prop="item.name"
215
- :rules="getRules(item)"
216
- :style="style(item)"
217
- :class="[
218
- {
219
- 'es-form-space-none': !space,
220
- 'es-form-item-readonly': readonly,
221
- 'es-form-item-table': item.type === 'table',
222
- 'es-form-item-inline': item.inline,
223
- 'es-form-item-onrow': item.row,
224
- 'es-form-item-label-hide':
225
- item.labelHide || item.showLabel === false
226
- },
227
- item.class,
228
- itemClass[item.type]
229
- ]"
230
- :label-class="
231
- [
232
- {
233
- 'required-after': after,
234
- 'es-label-box': labelPosition !== 'top',
235
- 'required-position':
236
- !labelPosition || labelPosition === 'right'
237
- },
238
- 'es-justify-' +
239
- (item.labelAlign
240
- ? align[item.labelAlign]
241
- : typeof item.label == 'object' && 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="item.height != undefined || item.height != null"
422
+ <es-date-picker
423
+ v-else-if="
424
+ item.date ||
425
+ item.type == 'date' ||
426
+ item.type == 'year' ||
427
+ item.type == 'month' ||
428
+ item.type == 'date' ||
429
+ item.type == 'dates' ||
430
+ item.type == 'week' ||
431
+ item.type == 'datetime' ||
432
+ item.type == 'datetimerange' ||
433
+ item.type == 'daterange' ||
434
+ item.type == 'monthrange' ||
435
+ item.type == 'quarter' ||
436
+ item.type == 'halfyear'
437
+ "
438
+ v-bind="
439
+ handleExclAttribute({ data: item, attrs: ['value'] })
440
+ "
441
+ v-model="models[item.name]"
442
+ :plain="item.plain || item.name === undefined"
443
+ :readonly="readonly ? readonly : item.readonly"
444
+ @blur="
445
+ (event) => {
446
+ handleBlur(item, event);
447
+ }
448
+ "
449
+ @focus="
450
+ (event) => {
451
+ handleFocus(item, event);
452
+ }
453
+ "
454
+ @change="
455
+ (val) => {
456
+ handleChange(item, val);
457
+ }
458
+ "
459
+ ></es-date-picker>
460
+ <es-upload
461
+ v-else-if="
462
+ item.type == 'attachment' || item.type == 'upload'
463
+ "
506
464
  v-bind="
507
465
  handleExclAttribute({
508
466
  data: item,
509
- attrs: ['value']
467
+ attrs: ['value', 'ownId']
510
468
  })
511
469
  "
470
+ :ownId="item.ownId || models.id"
471
+ v-model="models[item.name]"
472
+ btn-size="medium"
512
473
  :readonly="readonly ? readonly : item.readonly"
513
- @blur="
514
- (val, data) => {
515
- handleBlur(item, val, data);
474
+ :rules="item.rules"
475
+ v-on="
476
+ handleExclAttribute({
477
+ data: item.events,
478
+ attrs: 'change'
479
+ })
480
+ "
481
+ @change="
482
+ (val) => {
483
+ handleChange(item, val);
516
484
  }
517
485
  "
518
- @focus="
519
- (val, data) => {
520
- handleFocus(item, val, data);
486
+ ></es-upload>
487
+ <es-selector
488
+ v-bind="
489
+ handleExclAttribute({ data: item, attrs: ['value'] })
490
+ "
491
+ v-model="models[item.name]"
492
+ v-else-if="item.type == 'selector'"
493
+ :readonly="readonly ? readonly : item.readonly"
494
+ :plain="item.plain || item.name === undefined"
495
+ v-on="
496
+ handleExclAttribute({
497
+ data: item.events,
498
+ attrs: 'change'
499
+ })
500
+ "
501
+ @change="
502
+ (val) => {
503
+ handleChange(item, val);
521
504
  }
522
505
  "
523
- @edit="
524
- (val, data) => {
525
- handleChange(item, val, data);
506
+ ></es-selector>
507
+ <template v-else-if="item.type === 'table'">
508
+ <es-data-table-form
509
+ v-if="item.lazy"
510
+ :data="models[item.name]"
511
+ :full="
512
+ item.height != undefined || item.height != null
513
+ "
514
+ v-bind="
515
+ handleExclAttribute({
516
+ data: item,
517
+ attrs: ['value']
518
+ })
519
+ "
520
+ :readonly="readonly ? readonly : item.readonly"
521
+ @blur="
522
+ (val, data) => {
523
+ handleBlur(item, val, data);
524
+ }
525
+ "
526
+ @focus="
527
+ (val, data) => {
528
+ handleFocus(item, val, data);
529
+ }
530
+ "
531
+ @edit="
532
+ (val, data) => {
533
+ handleChange(item, val, data);
534
+ }
535
+ "
536
+ @clear="handleClear"
537
+ @btnClick="handleClick"
538
+ @dataChange="handleDataChange"
539
+ >
540
+ </es-data-table-form>
541
+ <es-data-table
542
+ v-else
543
+ :data="models[item.name]"
544
+ :full="
545
+ item.height != undefined || item.height != null
546
+ "
547
+ v-bind="
548
+ handleExclAttribute({
549
+ data: item,
550
+ attrs: ['value', 'events']
551
+ })
552
+ "
553
+ v-on="item.events"
554
+ :readonly="readonly ? readonly : item.readonly"
555
+ @blur="
556
+ (val, data) => {
557
+ handleBlur(item, val, data);
558
+ }
559
+ "
560
+ @focus="
561
+ (val, data) => {
562
+ handleFocus(item, val, data);
563
+ }
564
+ "
565
+ @edit="
566
+ (val, data) => {
567
+ handleChange(item, val, data);
568
+ }
569
+ "
570
+ @btnClick="handleClick"
571
+ @dataChange="handleDataChange"
572
+ >
573
+ </es-data-table>
574
+ </template>
575
+ <es-flow-list
576
+ v-else-if="
577
+ (item.type === 'flow-list' ||
578
+ item.type === 'flowList') &&
579
+ _businessId
580
+ "
581
+ :businessId="_businessId"
582
+ v-bind="
583
+ handleExclAttribute({
584
+ data: item,
585
+ attrs: ['events', 'visible', 'type']
586
+ })
587
+ "
588
+ v-on="item.events"
589
+ ></es-flow-list>
590
+ <es-icons
591
+ v-else-if="item.type === 'icon'"
592
+ v-bind="
593
+ handleExclAttribute({ data: item, attrs: ['value'] })
594
+ "
595
+ v-model="models[item.name]"
596
+ :plain="item.plain || item.name === undefined"
597
+ :readonly="readonly ? readonly : item.readonly"
598
+ @change="
599
+ (val) => {
600
+ handleChange(item, val);
526
601
  }
527
602
  "
528
- @clear="handleClear"
529
- @btnClick="handleClick"
530
- @dataChange="handleDataChange"
531
- >
532
- </es-data-table-form>
533
- <es-data-table
534
- v-else
535
- :data="models[item.name]"
536
- :full="item.height != undefined || item.height != null"
603
+ ></es-icons>
604
+ <component
605
+ v-else-if="item.type === 'component'"
606
+ v-model="models[item.name]"
537
607
  v-bind="
538
608
  handleExclAttribute({
539
609
  data: item,
540
- attrs: ['value', 'events']
610
+ attrs: ['value', 'type']
541
611
  })
542
612
  "
543
613
  v-on="item.events"
614
+ ></component>
615
+ <es-input
616
+ v-else
617
+ v-bind="
618
+ handleExclAttribute({ data: item, attrs: ['value'] })
619
+ "
620
+ v-model="models[item.name]"
621
+ :plain="item.plain || item.name === undefined"
544
622
  :readonly="readonly ? readonly : item.readonly"
545
623
  @blur="
546
- (val, data) => {
547
- handleBlur(item, val, data);
624
+ (event) => {
625
+ handleBlur(item, event);
548
626
  }
549
627
  "
550
628
  @focus="
551
- (val, data) => {
552
- handleFocus(item, val, data);
629
+ (event) => {
630
+ handleFocus(item, event);
553
631
  }
554
632
  "
555
- @edit="
556
- (val, data) => {
557
- handleChange(item, val, data);
633
+ @input="
634
+ (val) => {
635
+ handleInput(item, val);
558
636
  }
559
637
  "
560
- @btnClick="handleClick"
561
- @dataChange="handleDataChange"
562
- >
563
- </es-data-table>
564
- </template>
565
- <es-flow-list
566
- v-else-if="
567
- (item.type === 'flow-list' ||
568
- item.type === 'flowList') &&
569
- _businessId
570
- "
571
- :businessId="_businessId"
572
- v-bind="
573
- handleExclAttribute({
574
- data: item,
575
- attrs: ['events', 'visible', 'type']
576
- })
577
- "
578
- v-on="item.events"
579
- ></es-flow-list>
580
- <es-icons
581
- v-else-if="item.type === 'icon'"
582
- v-bind="
583
- handleExclAttribute({ data: item, attrs: ['value'] })
584
- "
585
- v-model="models[item.name]"
586
- :plain="item.plain || item.name === undefined"
587
- :readonly="readonly ? readonly : item.readonly"
588
- @change="
589
- (val) => {
590
- handleChange(item, val);
591
- }
592
- "
593
- ></es-icons>
594
- <component
595
- v-else-if="item.type === 'component'"
596
- v-model="models[item.name]"
597
- v-bind="
598
- handleExclAttribute({
599
- data: item,
600
- attrs: ['value', 'type']
601
- })
602
- "
603
- v-on="item.events"
604
- ></component>
605
- <es-input
606
- v-else
607
- v-bind="
608
- handleExclAttribute({ data: item, attrs: ['value'] })
609
- "
610
- v-model="models[item.name]"
611
- :plain="item.plain || item.name === undefined"
612
- :readonly="readonly ? readonly : item.readonly"
613
- @blur="
614
- (event) => {
615
- handleBlur(item, event);
616
- }
617
- "
618
- @focus="
619
- (event) => {
620
- handleFocus(item, event);
621
- }
622
- "
623
- @input="
624
- (val) => {
625
- handleInput(item, val);
626
- }
627
- "
628
- @clear="
629
- () => {
630
- handleClear(item);
631
- }
632
- "
633
- @change="
634
- (val) => {
635
- handleChange(item, val);
636
- }
637
- "
638
- ></es-input>
639
- <template v-if="item.inline">
640
- <template v-if="Array.isArray(item.inline)">
641
- <template v-for="(inline, k) in item.inline">
642
- <es-button
643
- v-if="inline.type == 'button' && !inline.hide"
644
- class="es-button-inline"
645
- :disabled="disabled || inline.disabled"
646
- v-bind="
647
- handleExclAttribute({
648
- data: inline,
649
- attrs: ['disabled', 'type']
650
- })
651
- "
652
- @click="handleClick(inline)"
653
- ></es-button>
638
+ @clear="
639
+ () => {
640
+ handleClear(item);
641
+ }
642
+ "
643
+ @change="
644
+ (val) => {
645
+ handleChange(item, val);
646
+ }
647
+ "
648
+ ></es-input>
649
+ <template v-if="item.inline">
650
+ <template v-if="Array.isArray(item.inline)">
651
+ <template v-for="(inline, k) in item.inline">
652
+ <es-button
653
+ v-if="inline.type == 'button' && !inline.hide"
654
+ class="es-button-inline"
655
+ :disabled="disabled || inline.disabled"
656
+ v-bind="
657
+ handleExclAttribute({
658
+ data: inline,
659
+ attrs: ['disabled', 'type']
660
+ })
661
+ "
662
+ @click="handleClick(inline)"
663
+ ></es-button>
664
+ <div
665
+ class="es-form-inline es-form-item-inline"
666
+ :key="k"
667
+ v-else-if="!inline.hide"
668
+ >
669
+ <div
670
+ class="es-range"
671
+ v-if="inline.range !== false"
672
+ >
673
+
674
+ </div>
675
+ <el-form-item
676
+ label-width="0"
677
+ :class="{ 'fixed-width': inline.width }"
678
+ :prop="inline.name"
679
+ :rules="getRules(inline)"
680
+ >
681
+ <es-input-number
682
+ v-if="inline.type == 'number'"
683
+ v-bind="
684
+ handleExclAttribute({
685
+ data: inline,
686
+ attrs: ['value']
687
+ })
688
+ "
689
+ v-model="models[inline.name]"
690
+ :plain="
691
+ inline.plain || inline.name === undefined
692
+ "
693
+ :readonly="
694
+ readonly ? readonly : inline.readonly
695
+ "
696
+ @blur="
697
+ (event) => {
698
+ handleBlur(inline, event);
699
+ }
700
+ "
701
+ @focus="
702
+ (event) => {
703
+ handleFocus(inline, event);
704
+ }
705
+ "
706
+ @change="
707
+ (val) => {
708
+ handleChange(inline, val);
709
+ }
710
+ "
711
+ ></es-input-number>
712
+ <es-select
713
+ v-else-if="inline.type == 'select'"
714
+ v-bind="
715
+ handleExclAttribute({
716
+ data: inline,
717
+ attrs: ['value']
718
+ })
719
+ "
720
+ v-model="models[inline.name]"
721
+ :plain="
722
+ inline.plain || inline.name === undefined
723
+ "
724
+ :readonly="
725
+ readonly ? readonly : inline.readonly
726
+ "
727
+ @blur="
728
+ (event) => {
729
+ handleBlur(inline, event);
730
+ }
731
+ "
732
+ @focus="
733
+ (event) => {
734
+ handleFocus(inline, event);
735
+ }
736
+ "
737
+ @change="
738
+ (val) => {
739
+ handleChange(inline, val);
740
+ }
741
+ "
742
+ ></es-select>
743
+ <es-cascader
744
+ v-else-if="inline.type == 'cascader'"
745
+ v-bind="
746
+ handleExclAttribute({
747
+ data: inline,
748
+ attrs: ['value']
749
+ })
750
+ "
751
+ v-model="models[inline.name]"
752
+ :plain="
753
+ inline.plain || inline.name === undefined
754
+ "
755
+ :readonly="
756
+ readonly ? readonly : inline.readonly
757
+ "
758
+ @blur="
759
+ (event) => {
760
+ handleBlur(inline, event);
761
+ }
762
+ "
763
+ @focus="
764
+ (event) => {
765
+ handleFocus(inline, event);
766
+ }
767
+ "
768
+ @change="
769
+ (val) => {
770
+ handleChange(inline, val);
771
+ }
772
+ "
773
+ >
774
+ </es-cascader>
775
+ <es-date-picker
776
+ v-else-if="
777
+ inline.date ||
778
+ inline.type == 'date' ||
779
+ inline.type == 'year' ||
780
+ inline.type == 'month' ||
781
+ inline.type == 'date' ||
782
+ inline.type == 'dates' ||
783
+ inline.type == 'week' ||
784
+ inline.type == 'datetime' ||
785
+ inline.type == 'datetimerange' ||
786
+ inline.type == 'daterange' ||
787
+ inline.type == 'monthrange' ||
788
+ inline.type == 'quarter' ||
789
+ inline.type == 'halfyear'
790
+ "
791
+ v-bind="
792
+ handleExclAttribute({
793
+ data: inline,
794
+ attrs: ['value']
795
+ })
796
+ "
797
+ v-model="models[inline.name]"
798
+ :plain="
799
+ inline.plain || inline.name === undefined
800
+ "
801
+ :readonly="
802
+ readonly ? readonly : inline.readonly
803
+ "
804
+ @blur="
805
+ (event) => {
806
+ handleBlur(inline, event);
807
+ }
808
+ "
809
+ @focus="
810
+ (event) => {
811
+ handleFocus(inline, event);
812
+ }
813
+ "
814
+ @change="
815
+ (val) => {
816
+ handleChange(inline, val);
817
+ }
818
+ "
819
+ ></es-date-picker>
820
+ <template
821
+ v-else-if="
822
+ inline.type == 'image' ||
823
+ inline.type == 'img'
824
+ "
825
+ >
826
+ <img
827
+ v-if="inline.url || inline.src"
828
+ v-bind="
829
+ handleExclAttribute({
830
+ data: inline,
831
+ attrs: ['value']
832
+ })
833
+ "
834
+ height="100%"
835
+ :src="inline.url || inline.src"
836
+ @click="inline.event"
837
+ />
838
+ </template>
839
+ <es-icons
840
+ v-else-if="inline.type === 'icon'"
841
+ v-bind="
842
+ handleExclAttribute({
843
+ data: inline,
844
+ attrs: ['value']
845
+ })
846
+ "
847
+ v-model="models[inline.name]"
848
+ :plain="
849
+ inline.plain || inline.name === undefined
850
+ "
851
+ :readonly="
852
+ readonly ? readonly : inline.readonly
853
+ "
854
+ @change="
855
+ (val) => {
856
+ handleChange(inline, val);
857
+ }
858
+ "
859
+ ></es-icons>
860
+ <component
861
+ v-else-if="inline.type === 'component'"
862
+ v-model="models[inline.name]"
863
+ v-bind="
864
+ handleExclAttribute({
865
+ data: inline,
866
+ attrs: ['value', 'type']
867
+ })
868
+ "
869
+ v-on="inline.events"
870
+ ></component>
871
+ <es-input
872
+ v-else
873
+ v-bind="
874
+ handleExclAttribute({
875
+ data: inline,
876
+ attrs: ['value']
877
+ })
878
+ "
879
+ v-model="models[inline.name]"
880
+ :plain="
881
+ inline.plain || inline.name === undefined
882
+ "
883
+ :readonly="
884
+ readonly ? readonly : inline.readonly
885
+ "
886
+ @blur="
887
+ (event) => {
888
+ handleBlur(inline, event);
889
+ }
890
+ "
891
+ @focus="
892
+ (event) => {
893
+ handleFocus(inline, event);
894
+ }
895
+ "
896
+ @input="
897
+ (val) => {
898
+ handleInput(inline, val);
899
+ }
900
+ "
901
+ @clear="handleClear(inline)"
902
+ @change="
903
+ (val) => {
904
+ handleChange(inline, val);
905
+ }
906
+ "
907
+ ></es-input>
908
+ </el-form-item>
909
+ </div>
910
+ </template>
911
+ </template>
912
+ <template v-else-if="!item.inline.hide">
654
913
  <div
655
- class="es-form-inline es-form-item-inline"
656
- :key="k"
657
- v-else-if="!inline.hide"
914
+ class="es-range"
915
+ v-if="item.inline.range !== false"
658
916
  >
659
- <div class="es-range" v-if="inline.range !== false">
660
-
661
- </div>
662
- <el-form-item
663
- label-width="0"
664
- :class="{ 'fixed-width': inline.width }"
665
- :prop="inline.name"
666
- :rules="getRules(inline)"
917
+
918
+ </div>
919
+ <el-form-item
920
+ label-width="0"
921
+ :class="{ 'fixed-width': item.inline.width }"
922
+ :prop="item.inline.name"
923
+ :rules="getRules(item.inline)"
924
+ >
925
+ <es-input-number
926
+ v-if="item.inline.type == 'number'"
927
+ v-bind="
928
+ handleExclAttribute({
929
+ data: item.inline,
930
+ attrs: ['value']
931
+ })
932
+ "
933
+ v-model="models[item.inline.name]"
934
+ :plain="
935
+ item.inline.plain ||
936
+ item.inline.name === undefined
937
+ "
938
+ :readonly="
939
+ readonly ? readonly : item.inline.readonly
940
+ "
941
+ @blur="
942
+ (event) => {
943
+ handleBlur(item.inline, event);
944
+ }
945
+ "
946
+ @focus="
947
+ (event) => {
948
+ handleFocus(item.inline, event);
949
+ }
950
+ "
951
+ @change="
952
+ (val) => {
953
+ handleChange(item.inline, val);
954
+ }
955
+ "
956
+ ></es-input-number>
957
+ <es-select
958
+ v-else-if="item.inline.type == 'select'"
959
+ v-bind="
960
+ handleExclAttribute({
961
+ data: item.inline,
962
+ attrs: ['value']
963
+ })
964
+ "
965
+ v-model="models[item.inline.name]"
966
+ :plain="
967
+ item.inline.plain ||
968
+ item.inline.name === undefined
969
+ "
970
+ :readonly="
971
+ readonly ? readonly : item.inline.readonly
972
+ "
973
+ @blur="
974
+ (event) => {
975
+ handleBlur(item.inline, event);
976
+ }
977
+ "
978
+ @focus="
979
+ (event) => {
980
+ handleFocus(item.inline, event);
981
+ }
982
+ "
983
+ @change="
984
+ (val) => {
985
+ handleChange(item.inline, val);
986
+ }
987
+ "
988
+ ></es-select>
989
+ <es-cascader
990
+ v-else-if="item.inline.type == 'cascader'"
991
+ v-bind="
992
+ handleExclAttribute({
993
+ data: item.inline,
994
+ attrs: ['value']
995
+ })
996
+ "
997
+ v-model="models[item.inline.name]"
998
+ :plain="
999
+ item.inline.plain ||
1000
+ item.inline.name === undefined
1001
+ "
1002
+ :readonly="
1003
+ readonly ? readonly : item.inline.readonly
1004
+ "
1005
+ @blur="
1006
+ (event) => {
1007
+ handleBlur(item.inline, event);
1008
+ }
1009
+ "
1010
+ @focus="
1011
+ (event) => {
1012
+ handleFocus(item.inline, event);
1013
+ }
1014
+ "
1015
+ @change="
1016
+ (val) => {
1017
+ handleChange(item.inline, val);
1018
+ }
1019
+ "
1020
+ >
1021
+ </es-cascader>
1022
+ <es-date-picker
1023
+ v-else-if="
1024
+ item.inline.date ||
1025
+ item.inline.type == 'date' ||
1026
+ item.inline.type == 'year' ||
1027
+ item.inline.type == 'month' ||
1028
+ item.inline.type == 'date' ||
1029
+ item.inline.type == 'dates' ||
1030
+ item.inline.type == 'week' ||
1031
+ item.inline.type == 'datetime' ||
1032
+ item.inline.type == 'datetimerange' ||
1033
+ item.inline.type == 'daterange' ||
1034
+ item.inline.type == 'monthrange' ||
1035
+ item.inline.type == 'quarter' ||
1036
+ item.inline.type == 'halfyear'
1037
+ "
1038
+ v-bind="
1039
+ handleExclAttribute({
1040
+ data: item.inline,
1041
+ attrs: ['value']
1042
+ })
1043
+ "
1044
+ v-model="models[item.inline.name]"
1045
+ :plain="
1046
+ item.inline.plain ||
1047
+ item.inline.name === undefined
1048
+ "
1049
+ :readonly="
1050
+ readonly ? readonly : item.inline.readonly
1051
+ "
1052
+ @blur="
1053
+ (event) => {
1054
+ handleBlur(item.inline, event);
1055
+ }
1056
+ "
1057
+ @focus="
1058
+ (event) => {
1059
+ handleFocus(item.inline, event);
1060
+ }
1061
+ "
1062
+ @change="
1063
+ (val) => {
1064
+ handleChange(item.inline, val);
1065
+ }
1066
+ "
1067
+ ></es-date-picker>
1068
+ <template
1069
+ v-else-if="
1070
+ item.inline.type == 'image' ||
1071
+ item.inline.type == 'img'
1072
+ "
667
1073
  >
668
- <es-input-number
669
- v-if="inline.type == 'number'"
670
- v-bind="
671
- handleExclAttribute({
672
- data: inline,
673
- attrs: ['value']
674
- })
675
- "
676
- v-model="models[inline.name]"
677
- :plain="
678
- inline.plain || inline.name === undefined
679
- "
680
- :readonly="
681
- readonly ? readonly : inline.readonly
682
- "
683
- @blur="
684
- (event) => {
685
- handleBlur(inline, event);
686
- }
687
- "
688
- @focus="
689
- (event) => {
690
- handleFocus(inline, event);
691
- }
692
- "
693
- @change="
694
- (val) => {
695
- handleChange(inline, val);
696
- }
697
- "
698
- ></es-input-number>
699
- <es-select
700
- v-else-if="inline.type == 'select'"
701
- v-bind="
702
- handleExclAttribute({
703
- data: inline,
704
- attrs: ['value']
705
- })
706
- "
707
- v-model="models[inline.name]"
708
- :plain="
709
- inline.plain || inline.name === undefined
710
- "
711
- :readonly="
712
- readonly ? readonly : inline.readonly
713
- "
714
- @blur="
715
- (event) => {
716
- handleBlur(inline, event);
717
- }
718
- "
719
- @focus="
720
- (event) => {
721
- handleFocus(inline, event);
722
- }
723
- "
724
- @change="
725
- (val) => {
726
- handleChange(inline, val);
727
- }
728
- "
729
- ></es-select>
730
- <es-cascader
731
- v-else-if="inline.type == 'cascader'"
732
- v-bind="
733
- handleExclAttribute({
734
- data: inline,
735
- attrs: ['value']
736
- })
737
- "
738
- v-model="models[inline.name]"
739
- :plain="
740
- inline.plain || inline.name === undefined
741
- "
742
- :readonly="
743
- readonly ? readonly : inline.readonly
744
- "
745
- @blur="
746
- (event) => {
747
- handleBlur(inline, event);
748
- }
749
- "
750
- @focus="
751
- (event) => {
752
- handleFocus(inline, event);
753
- }
754
- "
755
- @change="
756
- (val) => {
757
- handleChange(inline, val);
758
- }
759
- "
760
- >
761
- </es-cascader>
762
- <es-date-picker
763
- v-else-if="
764
- inline.date ||
765
- inline.type == 'date' ||
766
- inline.type == 'year' ||
767
- inline.type == 'month' ||
768
- inline.type == 'date' ||
769
- inline.type == 'dates' ||
770
- inline.type == 'week' ||
771
- inline.type == 'datetime' ||
772
- inline.type == 'datetimerange' ||
773
- inline.type == 'daterange' ||
774
- inline.type == 'monthrange' ||
775
- inline.type == 'quarter' ||
776
- inline.type == 'halfyear'
777
- "
778
- v-bind="
779
- handleExclAttribute({
780
- data: inline,
781
- attrs: ['value']
782
- })
783
- "
784
- v-model="models[inline.name]"
785
- :plain="
786
- inline.plain || inline.name === undefined
787
- "
788
- :readonly="
789
- readonly ? readonly : inline.readonly
790
- "
791
- @blur="
792
- (event) => {
793
- handleBlur(inline, event);
794
- }
795
- "
796
- @focus="
797
- (event) => {
798
- handleFocus(inline, event);
799
- }
800
- "
801
- @change="
802
- (val) => {
803
- handleChange(inline, val);
804
- }
805
- "
806
- ></es-date-picker>
807
- <template
808
- v-else-if="
809
- inline.type == 'image' || inline.type == 'img'
810
- "
811
- >
812
- <img
813
- v-if="inline.url || inline.src"
814
- v-bind="
815
- handleExclAttribute({
816
- data: inline,
817
- attrs: ['value']
818
- })
819
- "
820
- height="100%"
821
- :src="inline.url || inline.src"
822
- @click="inline.event"
823
- />
824
- </template>
825
- <es-icons
826
- v-else-if="inline.type === 'icon'"
827
- v-bind="
828
- handleExclAttribute({
829
- data: inline,
830
- attrs: ['value']
831
- })
832
- "
833
- v-model="models[inline.name]"
834
- :plain="
835
- inline.plain || inline.name === undefined
836
- "
837
- :readonly="
838
- readonly ? readonly : inline.readonly
839
- "
840
- @change="
841
- (val) => {
842
- handleChange(inline, val);
843
- }
844
- "
845
- ></es-icons>
846
- <component
847
- v-else-if="inline.type === 'component'"
848
- v-model="models[inline.name]"
849
- v-bind="
850
- handleExclAttribute({
851
- data: inline,
852
- attrs: ['value', 'type']
853
- })
854
- "
855
- v-on="inline.events"
856
- ></component>
857
- <es-input
858
- v-else
1074
+ <img
1075
+ v-if="item.inline.url || item.inline.src"
859
1076
  v-bind="
860
1077
  handleExclAttribute({
861
- data: inline,
1078
+ data: item.inline,
862
1079
  attrs: ['value']
863
1080
  })
864
1081
  "
865
- v-model="models[inline.name]"
866
- :plain="
867
- inline.plain || inline.name === undefined
868
- "
869
- :readonly="
870
- readonly ? readonly : inline.readonly
871
- "
872
- @blur="
873
- (event) => {
874
- handleBlur(inline, event);
875
- }
876
- "
877
- @focus="
878
- (event) => {
879
- handleFocus(inline, event);
880
- }
881
- "
882
- @input="
883
- (val) => {
884
- handleInput(inline, val);
885
- }
886
- "
887
- @clear="handleClear(inline)"
888
- @change="
889
- (val) => {
890
- handleChange(inline, val);
891
- }
892
- "
893
- ></es-input>
894
- </el-form-item>
895
- </div>
896
- </template>
897
- </template>
898
- <template v-else-if="!item.inline.hide">
899
- <div
900
- class="es-range"
901
- v-if="item.inline.range !== false"
902
- >
903
-
904
- </div>
905
- <el-form-item
906
- label-width="0"
907
- :class="{ 'fixed-width': item.inline.width }"
908
- :prop="item.inline.name"
909
- :rules="getRules(item.inline)"
910
- >
911
- <es-input-number
912
- v-if="item.inline.type == 'number'"
913
- v-bind="
914
- handleExclAttribute({
915
- data: item.inline,
916
- attrs: ['value']
917
- })
918
- "
919
- v-model="models[item.inline.name]"
920
- :plain="
921
- item.inline.plain ||
922
- item.inline.name === undefined
923
- "
924
- :readonly="
925
- readonly ? readonly : item.inline.readonly
926
- "
927
- @blur="
928
- (event) => {
929
- handleBlur(item.inline, event);
930
- }
931
- "
932
- @focus="
933
- (event) => {
934
- handleFocus(item.inline, event);
935
- }
936
- "
937
- @change="
938
- (val) => {
939
- handleChange(item.inline, val);
940
- }
941
- "
942
- ></es-input-number>
943
- <es-select
944
- v-else-if="item.inline.type == 'select'"
945
- v-bind="
946
- handleExclAttribute({
947
- data: item.inline,
948
- attrs: ['value']
949
- })
950
- "
951
- v-model="models[item.inline.name]"
952
- :plain="
953
- item.inline.plain ||
954
- item.inline.name === undefined
955
- "
956
- :readonly="
957
- readonly ? readonly : item.inline.readonly
958
- "
959
- @blur="
960
- (event) => {
961
- handleBlur(item.inline, event);
962
- }
963
- "
964
- @focus="
965
- (event) => {
966
- handleFocus(item.inline, event);
967
- }
968
- "
969
- @change="
970
- (val) => {
971
- handleChange(item.inline, val);
972
- }
973
- "
974
- ></es-select>
975
- <es-cascader
976
- v-else-if="item.inline.type == 'cascader'"
977
- v-bind="
978
- handleExclAttribute({
979
- data: item.inline,
980
- attrs: ['value']
981
- })
982
- "
983
- v-model="models[item.inline.name]"
984
- :plain="
985
- item.inline.plain ||
986
- item.inline.name === undefined
987
- "
988
- :readonly="
989
- readonly ? readonly : item.inline.readonly
990
- "
991
- @blur="
992
- (event) => {
993
- handleBlur(item.inline, event);
994
- }
995
- "
996
- @focus="
997
- (event) => {
998
- handleFocus(item.inline, event);
999
- }
1000
- "
1001
- @change="
1002
- (val) => {
1003
- handleChange(item.inline, val);
1004
- }
1005
- "
1006
- >
1007
- </es-cascader>
1008
- <es-date-picker
1009
- v-else-if="
1010
- item.inline.date ||
1011
- item.inline.type == 'date' ||
1012
- item.inline.type == 'year' ||
1013
- item.inline.type == 'month' ||
1014
- item.inline.type == 'date' ||
1015
- item.inline.type == 'dates' ||
1016
- item.inline.type == 'week' ||
1017
- item.inline.type == 'datetime' ||
1018
- item.inline.type == 'datetimerange' ||
1019
- item.inline.type == 'daterange' ||
1020
- item.inline.type == 'monthrange' ||
1021
- item.inline.type == 'quarter' ||
1022
- item.inline.type == 'halfyear'
1023
- "
1024
- v-bind="
1025
- handleExclAttribute({
1026
- data: item.inline,
1027
- attrs: ['value']
1028
- })
1029
- "
1030
- v-model="models[item.inline.name]"
1031
- :plain="
1032
- item.inline.plain ||
1033
- item.inline.name === undefined
1034
- "
1035
- :readonly="
1036
- readonly ? readonly : item.inline.readonly
1037
- "
1038
- @blur="
1039
- (event) => {
1040
- handleBlur(item.inline, event);
1041
- }
1042
- "
1043
- @focus="
1044
- (event) => {
1045
- handleFocus(item.inline, event);
1046
- }
1047
- "
1048
- @change="
1049
- (val) => {
1050
- handleChange(item.inline, val);
1051
- }
1052
- "
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"
1082
+ height="100%"
1083
+ :src="item.inline.url || item.inline.src"
1084
+ @click="item.inline.event"
1085
+ />
1086
+ </template>
1087
+ <es-icons
1088
+ v-else-if="item.inline.type === 'icon'"
1062
1089
  v-bind="
1063
1090
  handleExclAttribute({
1064
1091
  data: item.inline,
1065
1092
  attrs: ['value']
1066
1093
  })
1067
1094
  "
1068
- height="100%"
1069
- :src="item.inline.url || item.inline.src"
1070
- @click="item.inline.event"
1071
- />
1072
- </template>
1073
- <es-icons
1074
- v-else-if="item.inline.type === 'icon'"
1075
- v-bind="
1076
- handleExclAttribute({
1077
- data: item.inline,
1078
- attrs: ['value']
1079
- })
1080
- "
1081
- v-model="models[item.inline.name]"
1082
- :plain="
1083
- item.inline.plain ||
1084
- item.inline.name === undefined
1085
- "
1086
- :readonly="
1087
- readonly ? readonly : item.inline.readonly
1088
- "
1089
- @change="
1090
- (val) => {
1091
- handleChange(item.inline, val);
1092
- }
1093
- "
1094
- ></es-icons>
1095
- <component
1096
- v-else-if="inline.type === 'component'"
1097
- v-model="models[inline.name]"
1098
- v-bind="
1099
- handleExclAttribute({
1100
- data: inline,
1101
- attrs: ['value', 'type']
1102
- })
1103
- "
1104
- v-on="inline.events"
1105
- ></component>
1106
- <es-input
1107
- v-else
1108
- v-bind="
1109
- handleExclAttribute({
1110
- data: item.inline,
1111
- attrs: ['value']
1112
- })
1113
- "
1114
- v-model="models[item.inline.name]"
1115
- :plain="
1116
- item.inline.plain ||
1117
- item.inline.name === undefined
1118
- "
1119
- :readonly="
1120
- readonly ? readonly : item.inline.readonly
1121
- "
1122
- @blur="
1123
- (event) => {
1124
- handleBlur(item.inline, event);
1125
- }
1126
- "
1127
- @focus="
1128
- (event) => {
1129
- handleFocus(item.inline, event);
1130
- }
1131
- "
1132
- @input="
1133
- (val) => {
1134
- handleInput(item.inline, val);
1135
- }
1136
- "
1137
- @clear="handleClear(item.inline)"
1138
- @change="
1139
- (val) => {
1140
- handleChange(item.inline, val);
1141
- }
1142
- "
1143
- ></es-input>
1144
- </el-form-item>
1095
+ v-model="models[item.inline.name]"
1096
+ :plain="
1097
+ item.inline.plain ||
1098
+ item.inline.name === undefined
1099
+ "
1100
+ :readonly="
1101
+ readonly ? readonly : item.inline.readonly
1102
+ "
1103
+ @change="
1104
+ (val) => {
1105
+ handleChange(item.inline, val);
1106
+ }
1107
+ "
1108
+ ></es-icons>
1109
+ <component
1110
+ v-else-if="inline.type === 'component'"
1111
+ v-model="models[inline.name]"
1112
+ v-bind="
1113
+ handleExclAttribute({
1114
+ data: inline,
1115
+ attrs: ['value', 'type']
1116
+ })
1117
+ "
1118
+ v-on="inline.events"
1119
+ ></component>
1120
+ <es-input
1121
+ v-else
1122
+ v-bind="
1123
+ handleExclAttribute({
1124
+ data: item.inline,
1125
+ attrs: ['value']
1126
+ })
1127
+ "
1128
+ v-model="models[item.inline.name]"
1129
+ :plain="
1130
+ item.inline.plain ||
1131
+ item.inline.name === undefined
1132
+ "
1133
+ :readonly="
1134
+ readonly ? readonly : item.inline.readonly
1135
+ "
1136
+ @blur="
1137
+ (event) => {
1138
+ handleBlur(item.inline, event);
1139
+ }
1140
+ "
1141
+ @focus="
1142
+ (event) => {
1143
+ handleFocus(item.inline, event);
1144
+ }
1145
+ "
1146
+ @input="
1147
+ (val) => {
1148
+ handleInput(item.inline, val);
1149
+ }
1150
+ "
1151
+ @clear="handleClear(item.inline)"
1152
+ @change="
1153
+ (val) => {
1154
+ handleChange(item.inline, val);
1155
+ }
1156
+ "
1157
+ ></es-input>
1158
+ </el-form-item>
1159
+ </template>
1145
1160
  </template>
1146
- </template>
1147
- </el-form-item>
1161
+ </el-form-item>
1162
+ </template>
1148
1163
  </template>
1149
- </template>
1150
- </el-collapse-item>
1151
- </template>
1152
- </el-scrollbar>
1153
- </el-collapse>
1154
- <div class="es-form-content" v-else>
1164
+ </el-collapse-item>
1165
+ </template>
1166
+ </el-scrollbar>
1167
+ </el-collapse>
1155
1168
  <el-scrollbar
1156
- class="es-scrollbar"
1169
+ v-else
1170
+ class="es-form-content es-scrollbar"
1157
1171
  :style="{ height: formHeight }"
1158
1172
  ref="scrollbar"
1159
1173
  >
@@ -2034,25 +2048,25 @@
2034
2048
  >
2035
2049
  </el-form-item>
2036
2050
  </el-scrollbar>
2037
- </div>
2038
- <div
2039
- v-show="labelWidth"
2040
- v-if="!inline && !readonly && showButton"
2041
- class="es-form-button"
2042
- >
2043
- <el-button
2044
- v-for="(item, index) in buttons"
2045
- v-bind="handleExclAttribute({ data: item, attrs: ['value'] })"
2046
- size="medium"
2047
- :key="index"
2048
- v-show="!item.hide"
2049
- @click="handleClick(item)"
2050
- >{{ item.label || item.text || item.name }}</el-button
2051
+ <div
2052
+ v-show="labelWidth"
2053
+ v-if="!inline && !readonly && showButton"
2054
+ class="es-form-button"
2051
2055
  >
2052
- </div>
2053
- </slot>
2054
- <slot name="dialog"></slot>
2055
- <slot name="other"></slot>
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
+ </div>
2066
+ </slot>
2067
+ <slot name="dialog"></slot>
2068
+ <slot name="other"></slot>
2069
+ </template>
2056
2070
  </el-form>
2057
2071
  </template>
2058
2072
  <script>
@@ -2272,7 +2286,8 @@ export default {
2272
2286
  newHeight: null,
2273
2287
  uuid: util.uuid(32),
2274
2288
  dialog: false,
2275
- refresh: true
2289
+ refresh: true,
2290
+ ready: false
2276
2291
  };
2277
2292
  },
2278
2293
  computed: {
@@ -2341,7 +2356,6 @@ export default {
2341
2356
  return this.content;
2342
2357
  },
2343
2358
  formHeight() {
2344
- console.log(this.height ? this.height : this.newHeight);
2345
2359
  return this.height ? this.height : this.newHeight;
2346
2360
  },
2347
2361
  width() {
@@ -2602,10 +2616,18 @@ export default {
2602
2616
  : false;
2603
2617
  },
2604
2618
  mounted() {
2619
+ let height = this.getHeight();
2620
+ if (height && !this.height) {
2621
+ this.newHeight = height;
2622
+ }
2623
+ this.ready = true;
2605
2624
  this.$nextTick(() => {
2606
- !this.height && this.getHeight();
2607
2625
  this.$refs.esForm &&
2608
2626
  this.$refs.esForm.$el.addEventListener('keyup', this.handleEnter);
2627
+ setTimeout(() => {
2628
+ console.log(121212121);
2629
+ this.$refs.scrollbar.update();
2630
+ }, 3000);
2609
2631
  });
2610
2632
  },
2611
2633
  methods: {
@@ -2615,11 +2637,13 @@ export default {
2615
2637
  : { ...res, plain: res.plain || res.name === undefined };
2616
2638
  },
2617
2639
  getHeight() {
2640
+ console.log(12121);
2641
+ let height = 0;
2642
+ let offHeight = this.$el.parentNode.offsetHeight;
2618
2643
  if (
2619
2644
  util.hasClass(this.$parent.$el, 'el-dialog__wrapper') ||
2620
2645
  this.full ||
2621
- (this.$el.parentNode.children.length == 1 &&
2622
- util.getStyle(this.$el.parentNode, 'height'))
2646
+ (this.$el.parentNode.children.length == 1 && offHeight)
2623
2647
  ) {
2624
2648
  let pt =
2625
2649
  parseInt(util.getStyle(this.$el.parentNode, 'padding-top'), 10) || 0;
@@ -2627,9 +2651,9 @@ export default {
2627
2651
  parseInt(util.getStyle(this.$el.parentNode, 'padding-bottom'), 10) ||
2628
2652
  0;
2629
2653
  let btn = this.readonly || !this.showButton ? 0 : 48;
2630
- this.newHeight =
2631
- this.$el.parentNode.offsetHeight - pt - pb - btn + 'px';
2654
+ height = offHeight - pt - pb - btn + 'px';
2632
2655
  }
2656
+ return height;
2633
2657
  },
2634
2658
  getParentHeight(dom) {
2635
2659
  let ph = dom.parentNode.offsetHeight;