eoss-ui 0.5.81-beta9 → 0.5.83
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/button-group.js +82 -55
- package/lib/button.js +57 -48
- package/lib/checkbox-group.js +55 -47
- package/lib/clients.js +4 -3
- package/lib/config/api.js +3 -1
- package/lib/data-table-form.js +55 -47
- package/lib/data-table.js +479 -277
- package/lib/date-picker.js +69 -59
- package/lib/dialog.js +86 -73
- package/lib/eoss-ui.common.js +4000 -3052
- package/lib/flow-group.js +102 -65
- package/lib/flow-list.js +56 -48
- package/lib/flow.js +158 -85
- package/lib/form.js +88 -59
- package/lib/handle-user.js +66 -51
- package/lib/handler.js +69 -50
- package/lib/icon.js +55 -47
- package/lib/index.js +1 -1
- package/lib/input-number.js +55 -47
- package/lib/input.js +55 -47
- package/lib/login.js +104 -85
- package/lib/main.js +1375 -925
- package/lib/menu.js +1 -1
- package/lib/nav.js +55 -47
- package/lib/notify.js +54 -50
- package/lib/page.js +55 -47
- package/lib/pagination.js +3723 -3
- package/lib/player.js +60 -52
- package/lib/qr-code.js +55 -47
- package/lib/radio-group.js +55 -47
- package/lib/retrial-auth.js +56 -48
- package/lib/select-ganged.js +55 -47
- package/lib/select.js +55 -47
- package/lib/selector-panel.js +69 -60
- package/lib/selector.js +495 -424
- package/lib/sizer.js +55 -47
- package/lib/steps.js +55 -47
- package/lib/switch.js +55 -47
- package/lib/table-form.js +55 -47
- package/lib/tabs.js +1532 -1480
- package/lib/theme-chalk/base.css +1 -1
- package/lib/theme-chalk/button-group.css +1 -1
- package/lib/theme-chalk/data-table.css +1 -1
- package/lib/theme-chalk/dialog.css +1 -1
- package/lib/theme-chalk/flow-group.css +1 -1
- package/lib/theme-chalk/form.css +1 -1
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/main.css +1 -1
- package/lib/theme-chalk/menu.css +1 -1
- package/lib/theme-chalk/pagination.css +1 -1
- package/lib/theme-chalk/simplicity.css +1 -1
- package/lib/theme-chalk/sizer.css +1 -1
- package/lib/theme-chalk/tabs.css +1 -1
- package/lib/theme-chalk/toolbar.css +1 -1
- package/lib/theme-chalk/tree-group.css +1 -1
- package/lib/theme-chalk/tree.css +1 -1
- package/lib/theme-chalk/upload.css +1 -1
- package/lib/tips.js +55 -47
- package/lib/tree-group.js +79 -50
- package/lib/tree.js +55 -47
- package/lib/upload.js +59 -51
- package/lib/utils/util.js +6 -2
- package/lib/wujie.js +55 -47
- package/lib/wxlogin.js +55 -47
- package/package.json +3 -3
- package/packages/button/src/main.vue +2 -1
- package/packages/button-group/src/main.vue +8 -6
- package/packages/clients/src/main.vue +2 -1
- package/packages/data-table/src/column.vue +137 -54
- package/packages/data-table/src/main.vue +81 -69
- package/packages/data-table/src/sizer.vue +2 -0
- package/packages/date-picker/src/main.vue +22 -14
- package/packages/dialog/src/main.vue +23 -24
- package/packages/flow/src/main.vue +32 -17
- package/packages/flow-group/src/main.vue +18 -11
- package/packages/form/src/main.vue +21 -10
- package/packages/handle-user/src/main.vue +5 -1
- package/packages/handler/src/main.vue +7 -3
- package/packages/login/src/main.vue +22 -15
- package/packages/main/src/default/index.vue +111 -179
- package/packages/main/src/main.vue +233 -4
- package/packages/main/src/public/online.vue +89 -0
- package/packages/main/src/simplicity/apps.vue +3 -3
- package/packages/main/src/simplicity/handler.vue +6 -2
- package/packages/main/src/simplicity/index.vue +283 -238
- package/packages/main/src/simplicity/menu-list.vue +3 -2
- package/packages/main/src/simplicity/router-page.vue +5 -14
- package/packages/main/src/simplicity/sub-menu.vue +31 -9
- package/packages/menu/src/main.vue +4 -3
- package/packages/pagination/src/main.vue +20 -1
- package/packages/selector/src/main.vue +147 -135
- package/packages/selector-panel/src/main.vue +3 -2
- package/packages/selector-panel/src/selection.vue +2 -2
- package/packages/tabs/src/main.vue +25 -15
- package/packages/theme-chalk/lib/base.css +1 -1
- package/packages/theme-chalk/lib/button-group.css +1 -1
- package/packages/theme-chalk/lib/data-table.css +1 -1
- package/packages/theme-chalk/lib/dialog.css +1 -1
- package/packages/theme-chalk/lib/flow-group.css +1 -1
- package/packages/theme-chalk/lib/form.css +1 -1
- package/packages/theme-chalk/lib/index.css +1 -1
- package/packages/theme-chalk/lib/main.css +1 -1
- package/packages/theme-chalk/lib/menu.css +1 -1
- package/packages/theme-chalk/lib/pagination.css +1 -1
- package/packages/theme-chalk/lib/simplicity.css +1 -1
- package/packages/theme-chalk/lib/sizer.css +1 -1
- package/packages/theme-chalk/lib/tabs.css +1 -1
- package/packages/theme-chalk/lib/toolbar.css +1 -1
- package/packages/theme-chalk/lib/tree-group.css +1 -1
- package/packages/theme-chalk/lib/tree.css +1 -1
- package/packages/theme-chalk/lib/upload.css +1 -1
- package/packages/theme-chalk/src/base.scss +39 -0
- package/packages/theme-chalk/src/button-group.scss +16 -2
- package/packages/theme-chalk/src/common/var.scss +7 -2
- package/packages/theme-chalk/src/data-table.scss +60 -23
- package/packages/theme-chalk/src/dialog.scss +10 -0
- package/packages/theme-chalk/src/flow-group.scss +1 -0
- package/packages/theme-chalk/src/form.scss +42 -40
- package/packages/theme-chalk/src/main.scss +11 -0
- package/packages/theme-chalk/src/pagination.scss +7 -0
- package/packages/theme-chalk/src/simplicity.scss +45 -4
- package/packages/theme-chalk/src/tabs.scss +24 -28
- package/packages/theme-chalk/src/toolbar.scss +16 -4
- package/packages/theme-chalk/src/tree-group.scss +8 -0
- package/packages/theme-chalk/src/tree.scss +19 -6
- package/packages/tree-group/src/main.vue +15 -7
- package/src/config/api.js +3 -1
- package/src/index.js +157 -157
- package/src/utils/util.js +6 -1
- package/CHANGELOG.md +0 -929
|
@@ -10,10 +10,49 @@
|
|
|
10
10
|
:rules="isNotRule(scope) ? [] : rules"
|
|
11
11
|
:index="scope.$index"
|
|
12
12
|
>
|
|
13
|
+
<component
|
|
14
|
+
v-if="getType(scope.row.formConfigs, 'component')"
|
|
15
|
+
:is="tag"
|
|
16
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
17
|
+
v-model="scope.row[field || prop]"
|
|
18
|
+
:data="getData(scope.row.formOptions)"
|
|
19
|
+
@blur="
|
|
20
|
+
(event) => {
|
|
21
|
+
handleBlur({
|
|
22
|
+
item: config,
|
|
23
|
+
event: event,
|
|
24
|
+
data: scope.row,
|
|
25
|
+
scope: scope
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
"
|
|
29
|
+
@focus="
|
|
30
|
+
(event) => {
|
|
31
|
+
handleFocus({
|
|
32
|
+
item: config,
|
|
33
|
+
event: event,
|
|
34
|
+
data: scope.row,
|
|
35
|
+
scope: scope
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
"
|
|
39
|
+
@change="
|
|
40
|
+
(value) => {
|
|
41
|
+
handleChange({
|
|
42
|
+
item: config,
|
|
43
|
+
name: field || prop,
|
|
44
|
+
value: value,
|
|
45
|
+
data: scope.row,
|
|
46
|
+
scope: scope
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
"
|
|
50
|
+
></component>
|
|
13
51
|
<es-select
|
|
14
|
-
v-if="
|
|
15
|
-
v-bind="
|
|
52
|
+
v-else-if="getType(scope.row.formConfigs, 'select')"
|
|
53
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
16
54
|
v-model="scope.row[field || prop]"
|
|
55
|
+
:data="getData(scope.row.formOptions)"
|
|
17
56
|
@blur="
|
|
18
57
|
(event) => {
|
|
19
58
|
handleBlur({
|
|
@@ -45,11 +84,13 @@
|
|
|
45
84
|
});
|
|
46
85
|
}
|
|
47
86
|
"
|
|
48
|
-
|
|
87
|
+
>
|
|
88
|
+
</es-select>
|
|
49
89
|
<es-cascader
|
|
50
|
-
v-else-if="
|
|
51
|
-
v-bind="
|
|
90
|
+
v-else-if="getType(scope.row.formConfigs, 'cascader')"
|
|
91
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
52
92
|
v-model="scope.row[field || prop]"
|
|
93
|
+
:data="getData(scope.row.formOptions)"
|
|
53
94
|
@blur="
|
|
54
95
|
(event) => {
|
|
55
96
|
handleBlur({
|
|
@@ -84,10 +125,10 @@
|
|
|
84
125
|
>
|
|
85
126
|
</es-cascader>
|
|
86
127
|
<es-select-ganged
|
|
87
|
-
v-else-if="
|
|
88
|
-
v-bind="
|
|
128
|
+
v-else-if="getType(scope.row.formConfigs, 'ganged')"
|
|
129
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
89
130
|
v-model="scope.row[field || prop]"
|
|
90
|
-
:data="init(
|
|
131
|
+
:data="init(getData(scope.row.formOptions), config)"
|
|
91
132
|
@change="
|
|
92
133
|
(value) => {
|
|
93
134
|
handleChange({
|
|
@@ -98,11 +139,13 @@
|
|
|
98
139
|
});
|
|
99
140
|
}
|
|
100
141
|
"
|
|
101
|
-
|
|
142
|
+
>
|
|
143
|
+
</es-select-ganged>
|
|
102
144
|
<es-radio-group
|
|
103
|
-
v-else-if="
|
|
104
|
-
v-bind="
|
|
145
|
+
v-else-if="getType(scope.row.formConfigs, 'radio')"
|
|
146
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
105
147
|
v-model="scope.row[field || prop]"
|
|
148
|
+
:data="getData(scope.row.formOptions)"
|
|
106
149
|
@change="
|
|
107
150
|
(value) => {
|
|
108
151
|
handleChange({
|
|
@@ -113,11 +156,13 @@
|
|
|
113
156
|
});
|
|
114
157
|
}
|
|
115
158
|
"
|
|
116
|
-
|
|
159
|
+
>
|
|
160
|
+
</es-radio-group>
|
|
117
161
|
<es-checkbox-group
|
|
118
|
-
v-else-if="
|
|
119
|
-
v-bind="
|
|
162
|
+
v-else-if="getType(scope.row.formConfigs, 'checkbox')"
|
|
163
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
120
164
|
v-model="scope.row[field || prop]"
|
|
165
|
+
:data="getData(scope.row.formOptions)"
|
|
121
166
|
@change="
|
|
122
167
|
(value) => {
|
|
123
168
|
handleChange({
|
|
@@ -128,11 +173,13 @@
|
|
|
128
173
|
});
|
|
129
174
|
}
|
|
130
175
|
"
|
|
131
|
-
|
|
176
|
+
>
|
|
177
|
+
</es-checkbox-group>
|
|
132
178
|
<es-switch
|
|
133
|
-
v-else-if="
|
|
134
|
-
v-bind="
|
|
179
|
+
v-else-if="getType(scope.row.formConfigs, 'switch')"
|
|
180
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
135
181
|
v-model="scope.row[field || prop]"
|
|
182
|
+
:data="getData(scope.row.formOptions)"
|
|
136
183
|
@change="
|
|
137
184
|
(value) => {
|
|
138
185
|
handleChange({
|
|
@@ -143,24 +190,27 @@
|
|
|
143
190
|
});
|
|
144
191
|
}
|
|
145
192
|
"
|
|
146
|
-
|
|
193
|
+
>
|
|
194
|
+
</es-switch>
|
|
147
195
|
<es-date-picker
|
|
148
196
|
v-else-if="
|
|
149
197
|
config.date ||
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
198
|
+
getType(scope.row.formConfigs, [
|
|
199
|
+
'date',
|
|
200
|
+
'year',
|
|
201
|
+
'month',
|
|
202
|
+
'date',
|
|
203
|
+
'dates',
|
|
204
|
+
'week',
|
|
205
|
+
'datetime',
|
|
206
|
+
'datetimerange',
|
|
207
|
+
'daterange',
|
|
208
|
+
'monthrange',
|
|
209
|
+
'quarter',
|
|
210
|
+
'halfyear'
|
|
211
|
+
])
|
|
162
212
|
"
|
|
163
|
-
v-bind="
|
|
213
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
164
214
|
v-model="scope.row[field || prop]"
|
|
165
215
|
:type="type"
|
|
166
216
|
@blur="
|
|
@@ -194,10 +244,11 @@
|
|
|
194
244
|
});
|
|
195
245
|
}
|
|
196
246
|
"
|
|
197
|
-
|
|
247
|
+
>
|
|
248
|
+
</es-date-picker>
|
|
198
249
|
<es-input-number
|
|
199
|
-
v-else-if="
|
|
200
|
-
v-bind="
|
|
250
|
+
v-else-if="getType(scope.row.formConfigs, 'number')"
|
|
251
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
201
252
|
v-model="scope.row[field || prop]"
|
|
202
253
|
@blur="
|
|
203
254
|
(event) => {
|
|
@@ -230,10 +281,11 @@
|
|
|
230
281
|
});
|
|
231
282
|
}
|
|
232
283
|
"
|
|
233
|
-
|
|
284
|
+
>
|
|
285
|
+
</es-input-number>
|
|
234
286
|
<es-selector
|
|
235
|
-
v-else-if="
|
|
236
|
-
v-bind="
|
|
287
|
+
v-else-if="getType(scope.row.formConfigs, 'selector')"
|
|
288
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
237
289
|
v-model="scope.row[field || prop]"
|
|
238
290
|
v-on="
|
|
239
291
|
exclAttribute({
|
|
@@ -251,17 +303,18 @@
|
|
|
251
303
|
});
|
|
252
304
|
}
|
|
253
305
|
"
|
|
254
|
-
|
|
306
|
+
>
|
|
307
|
+
</es-selector>
|
|
255
308
|
<template
|
|
256
309
|
v-else-if="
|
|
257
|
-
|
|
310
|
+
getType(scope.row.formConfigs, ['text', 'input', 'textarea'])
|
|
258
311
|
"
|
|
259
312
|
>
|
|
260
313
|
<template v-if="config.lazy">
|
|
261
314
|
<input
|
|
262
|
-
v-if="
|
|
315
|
+
v-if="getType(scope.row.formConfigs, ['text', 'input'])"
|
|
263
316
|
class="el-input__inner"
|
|
264
|
-
v-bind="
|
|
317
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
265
318
|
v-model.lazy="scope.row[field]"
|
|
266
319
|
@blur="
|
|
267
320
|
(event) => {
|
|
@@ -298,7 +351,7 @@
|
|
|
298
351
|
<textarea
|
|
299
352
|
v-else
|
|
300
353
|
class="el-textarea__inner"
|
|
301
|
-
v-bind="
|
|
354
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
302
355
|
v-model.lazy="scope.row[field]"
|
|
303
356
|
@blur="
|
|
304
357
|
(event) => {
|
|
@@ -335,7 +388,7 @@
|
|
|
335
388
|
</template>
|
|
336
389
|
<es-input
|
|
337
390
|
v-else
|
|
338
|
-
v-bind="
|
|
391
|
+
v-bind="getOptions(scope.row.formConfigs)"
|
|
339
392
|
:type="type"
|
|
340
393
|
:scope="scope"
|
|
341
394
|
v-model="scope.row[field || prop]"
|
|
@@ -370,7 +423,8 @@
|
|
|
370
423
|
});
|
|
371
424
|
}
|
|
372
425
|
"
|
|
373
|
-
|
|
426
|
+
>
|
|
427
|
+
</es-input>
|
|
374
428
|
</template>
|
|
375
429
|
</el-form-item>
|
|
376
430
|
</template>
|
|
@@ -402,6 +456,7 @@
|
|
|
402
456
|
})
|
|
403
457
|
"
|
|
404
458
|
stop
|
|
459
|
+
:mode="mode"
|
|
405
460
|
:contents="contents || events"
|
|
406
461
|
:data="scope"
|
|
407
462
|
@handleClick="handleClick"
|
|
@@ -459,6 +514,8 @@ export default {
|
|
|
459
514
|
}
|
|
460
515
|
},
|
|
461
516
|
props: {
|
|
517
|
+
tag: String,
|
|
518
|
+
mode: String,
|
|
462
519
|
service: String,
|
|
463
520
|
form: Boolean,
|
|
464
521
|
readonly: Boolean,
|
|
@@ -484,6 +541,10 @@ export default {
|
|
|
484
541
|
contents: Array,
|
|
485
542
|
events: [Array, Object],
|
|
486
543
|
dateFormat: String,
|
|
544
|
+
dateValue: {
|
|
545
|
+
type: String,
|
|
546
|
+
default: ''
|
|
547
|
+
},
|
|
487
548
|
styles: [Array, Object],
|
|
488
549
|
sysCode: String,
|
|
489
550
|
valueToString: Boolean,
|
|
@@ -582,8 +643,7 @@ export default {
|
|
|
582
643
|
: this.valueKey,
|
|
583
644
|
rules: this.rules,
|
|
584
645
|
events: this.events,
|
|
585
|
-
...this.$attrs
|
|
586
|
-
data: this.option
|
|
646
|
+
...this.$attrs
|
|
587
647
|
};
|
|
588
648
|
return config;
|
|
589
649
|
},
|
|
@@ -725,6 +785,25 @@ export default {
|
|
|
725
785
|
}
|
|
726
786
|
return data;
|
|
727
787
|
},
|
|
788
|
+
getType(config, types) {
|
|
789
|
+
let type =
|
|
790
|
+
config && config[this.field || this.prop]
|
|
791
|
+
? config[this.field || this.prop]['type'] ||
|
|
792
|
+
config[this.field || this.prop]
|
|
793
|
+
: this.type;
|
|
794
|
+
return Array.isArray(types) ? types.includes(type) : type == types;
|
|
795
|
+
},
|
|
796
|
+
getOptions(config) {
|
|
797
|
+
let option = config && config[this.field || this.prop];
|
|
798
|
+
return option && typeof option == 'object'
|
|
799
|
+
? { ...this.formOption, ...option }
|
|
800
|
+
: this.formOption;
|
|
801
|
+
},
|
|
802
|
+
getData(res) {
|
|
803
|
+
return res && res[this.field || this.prop]
|
|
804
|
+
? res[this.field || this.prop]
|
|
805
|
+
: this.option;
|
|
806
|
+
},
|
|
728
807
|
exclAttribute({ data, attrs }) {
|
|
729
808
|
return util.exclAttribute({ data, attrs });
|
|
730
809
|
},
|
|
@@ -824,10 +903,14 @@ export default {
|
|
|
824
903
|
this.$emit('formFocus', data);
|
|
825
904
|
this.$emit('form-focus', data);
|
|
826
905
|
},
|
|
827
|
-
handleChange(
|
|
828
|
-
let { item } =
|
|
829
|
-
if (
|
|
830
|
-
|
|
906
|
+
handleChange(datas) {
|
|
907
|
+
let { item, name, data } = datas;
|
|
908
|
+
if (
|
|
909
|
+
item &&
|
|
910
|
+
((data.formConfigs && data.formConfigs[name] == 'ganged') ||
|
|
911
|
+
this.type == 'ganged')
|
|
912
|
+
) {
|
|
913
|
+
let { index, value } = datas.value;
|
|
831
914
|
if (
|
|
832
915
|
(item.url || this.sysCode) &&
|
|
833
916
|
((item.ganged && index > item.ganged - 1) || value.hasSub)
|
|
@@ -888,16 +971,16 @@ export default {
|
|
|
888
971
|
}
|
|
889
972
|
}
|
|
890
973
|
}
|
|
891
|
-
this.events && this.events.change && this.events.change(
|
|
892
|
-
this.$emit('formChange',
|
|
893
|
-
this.$emit('form-change',
|
|
974
|
+
this.events && this.events.change && this.events.change(datas);
|
|
975
|
+
this.$emit('formChange', datas);
|
|
976
|
+
this.$emit('form-change', datas);
|
|
894
977
|
},
|
|
895
978
|
handleClick(data) {
|
|
896
979
|
this.$emit('handleClick', data);
|
|
897
980
|
this.$emit('handle-click', data);
|
|
898
981
|
},
|
|
899
982
|
formatDate(date, fmt) {
|
|
900
|
-
return util.formatDate(date, fmt);
|
|
983
|
+
return date ? util.formatDate(date, fmt) : this.dateValue;
|
|
901
984
|
}
|
|
902
985
|
}
|
|
903
986
|
};
|
|
@@ -12,6 +12,9 @@
|
|
|
12
12
|
<es-toolbar
|
|
13
13
|
v-if="showToolbar"
|
|
14
14
|
ref="toolbar"
|
|
15
|
+
:class="{
|
|
16
|
+
'es-table-toolbar-plus': mode == 'plus'
|
|
17
|
+
}"
|
|
15
18
|
v-bind="{
|
|
16
19
|
contents: toolbars,
|
|
17
20
|
showLabel: showLabel,
|
|
@@ -35,7 +38,10 @@
|
|
|
35
38
|
<div
|
|
36
39
|
style="styles"
|
|
37
40
|
class="es-data-table-content"
|
|
38
|
-
:class="
|
|
41
|
+
:class="{
|
|
42
|
+
'es-table-border-none': border == 'none',
|
|
43
|
+
'es-table-plus': mode == 'plus'
|
|
44
|
+
}"
|
|
39
45
|
ref="esTableContent"
|
|
40
46
|
v-if="show"
|
|
41
47
|
>
|
|
@@ -71,12 +77,7 @@
|
|
|
71
77
|
(theadBorder && border != 'none' ? ' es-thead-border' : '')
|
|
72
78
|
"
|
|
73
79
|
>
|
|
74
|
-
|
|
75
|
-
<template slot-scope="scope">
|
|
76
|
-
<es-icon :contents="dragSortIcon"></es-icon>
|
|
77
|
-
</template>
|
|
78
|
-
</el-table-column> -->
|
|
79
|
-
<slot name="prepend"></slot>
|
|
80
|
+
<slot name="suffix"></slot>
|
|
80
81
|
<slot></slot>
|
|
81
82
|
<template v-for="(item, index) in theads">
|
|
82
83
|
<template v-if="item.hide !== true">
|
|
@@ -99,7 +100,9 @@
|
|
|
99
100
|
<children
|
|
100
101
|
v-else
|
|
101
102
|
:key="item.label || item.title"
|
|
103
|
+
:tag="item.tag"
|
|
102
104
|
v-bind="{
|
|
105
|
+
mode: mode,
|
|
103
106
|
name: name,
|
|
104
107
|
indexs: index,
|
|
105
108
|
form: form,
|
|
@@ -117,7 +120,7 @@
|
|
|
117
120
|
></children>
|
|
118
121
|
</template>
|
|
119
122
|
</template>
|
|
120
|
-
<slot name="
|
|
123
|
+
<slot name="prefix"></slot>
|
|
121
124
|
<el-table-column
|
|
122
125
|
v-if="editable && !readonly"
|
|
123
126
|
width="80"
|
|
@@ -146,6 +149,7 @@
|
|
|
146
149
|
</el-button>
|
|
147
150
|
</template>
|
|
148
151
|
</el-table-column>
|
|
152
|
+
<template slot="append"><slot name="append"></slot></template>
|
|
149
153
|
</el-table>
|
|
150
154
|
<div v-if="infiniteScroll" class="es-table-page es-loading-page">
|
|
151
155
|
<span>共{{ config.totalCount }}条,</span>
|
|
@@ -153,9 +157,11 @@
|
|
|
153
157
|
</div>
|
|
154
158
|
<es-pagination
|
|
155
159
|
v-else-if="page"
|
|
160
|
+
ref="pagination"
|
|
156
161
|
v-bind="config"
|
|
157
162
|
class="es-table-page"
|
|
158
|
-
:
|
|
163
|
+
:position="page.position"
|
|
164
|
+
:style="{ 'text-align': page.position }"
|
|
159
165
|
v-on="{
|
|
160
166
|
change: sizeChange,
|
|
161
167
|
current: currentChange,
|
|
@@ -166,7 +172,7 @@
|
|
|
166
172
|
<slot name="dialog"></slot>
|
|
167
173
|
<slot name="other"></slot>
|
|
168
174
|
</div>
|
|
169
|
-
<sizer ref="sizer" :data="theads"></sizer>
|
|
175
|
+
<sizer ref="sizer" :data="theads" :mode="mode"></sizer>
|
|
170
176
|
</component>
|
|
171
177
|
</template>
|
|
172
178
|
<script>
|
|
@@ -177,6 +183,7 @@ import sizer from './sizer.vue';
|
|
|
177
183
|
import util from 'eoss-ui/src/utils/util';
|
|
178
184
|
import bus from 'eoss-ui/src/utils/bus';
|
|
179
185
|
import qs from 'qs';
|
|
186
|
+
const systemMode = util.win.top.systemMode || util.win.systemMode || 'default';
|
|
180
187
|
export default {
|
|
181
188
|
name: 'EsDataTable',
|
|
182
189
|
inheritAttrs: false,
|
|
@@ -202,6 +209,10 @@ export default {
|
|
|
202
209
|
}
|
|
203
210
|
},
|
|
204
211
|
props: {
|
|
212
|
+
mode: {
|
|
213
|
+
type: String,
|
|
214
|
+
default: systemMode
|
|
215
|
+
},
|
|
205
216
|
service: String,
|
|
206
217
|
loading: {
|
|
207
218
|
type: Boolean,
|
|
@@ -340,7 +351,7 @@ export default {
|
|
|
340
351
|
},
|
|
341
352
|
// 单元格配置
|
|
342
353
|
thead: {
|
|
343
|
-
type:
|
|
354
|
+
type: Array,
|
|
344
355
|
default() {
|
|
345
356
|
return [];
|
|
346
357
|
}
|
|
@@ -431,11 +442,13 @@ export default {
|
|
|
431
442
|
dragSortIcon: {
|
|
432
443
|
type: String,
|
|
433
444
|
default: 'es-icon-caidan'
|
|
434
|
-
}
|
|
445
|
+
},
|
|
446
|
+
fields: Boolean
|
|
435
447
|
},
|
|
436
448
|
data() {
|
|
437
449
|
return {
|
|
438
450
|
requests: [],
|
|
451
|
+
toolbars: [],
|
|
439
452
|
theadData: [],
|
|
440
453
|
list: [],
|
|
441
454
|
tableLoading: this.loading,
|
|
@@ -445,11 +458,14 @@ export default {
|
|
|
445
458
|
editValue: {},
|
|
446
459
|
restotalRow: null,
|
|
447
460
|
showTotal: false,
|
|
448
|
-
toolbars: [],
|
|
449
461
|
config: {
|
|
450
462
|
pageNum: 1,
|
|
451
463
|
pageSize: 20,
|
|
452
|
-
totalCount: 0
|
|
464
|
+
totalCount: 0,
|
|
465
|
+
layout:
|
|
466
|
+
this.mode == 'plus'
|
|
467
|
+
? 'total, sizes, prev, pager, next, jumper'
|
|
468
|
+
: undefined
|
|
453
469
|
},
|
|
454
470
|
searchWhere: {},
|
|
455
471
|
advanceWhere: {},
|
|
@@ -657,10 +673,6 @@ export default {
|
|
|
657
673
|
this.list = this.setData();
|
|
658
674
|
}
|
|
659
675
|
},
|
|
660
|
-
page() {
|
|
661
|
-
this.resetHeight();
|
|
662
|
-
this.doLayout();
|
|
663
|
-
},
|
|
664
676
|
scale: {
|
|
665
677
|
deep: true,
|
|
666
678
|
handler(val) {
|
|
@@ -675,7 +687,7 @@ export default {
|
|
|
675
687
|
}
|
|
676
688
|
},
|
|
677
689
|
zoom: {
|
|
678
|
-
handler(
|
|
690
|
+
handler() {
|
|
679
691
|
if (
|
|
680
692
|
this.tableHeight != 'auto' &&
|
|
681
693
|
this.tableHeight !== false &&
|
|
@@ -692,10 +704,15 @@ export default {
|
|
|
692
704
|
thead: {
|
|
693
705
|
deep: true,
|
|
694
706
|
handler(val) {
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
707
|
+
this.getOptions(val);
|
|
708
|
+
|
|
709
|
+
if (
|
|
710
|
+
Array.isArray(val) &&
|
|
711
|
+
val.length &&
|
|
712
|
+
this.fields &&
|
|
713
|
+
this.datas.length == 0
|
|
714
|
+
) {
|
|
715
|
+
this.getTableData();
|
|
699
716
|
}
|
|
700
717
|
}
|
|
701
718
|
},
|
|
@@ -706,8 +723,8 @@ export default {
|
|
|
706
723
|
}
|
|
707
724
|
},
|
|
708
725
|
param: {
|
|
709
|
-
deep: true,
|
|
710
726
|
handler(val) {
|
|
727
|
+
console.log(val, 9999);
|
|
711
728
|
this.getTableData();
|
|
712
729
|
}
|
|
713
730
|
},
|
|
@@ -715,14 +732,12 @@ export default {
|
|
|
715
732
|
immediate: true,
|
|
716
733
|
deep: true,
|
|
717
734
|
handler(val) {
|
|
735
|
+
if (this.$el) {
|
|
736
|
+
this.resetHeight();
|
|
737
|
+
this.doLayout();
|
|
738
|
+
}
|
|
718
739
|
if (typeof val === 'object') {
|
|
719
740
|
this.config = util.extend({}, this.config, val);
|
|
720
|
-
} else {
|
|
721
|
-
this.config = {
|
|
722
|
-
pageNum: 1,
|
|
723
|
-
pageSize: 20,
|
|
724
|
-
totalCount: 0
|
|
725
|
-
};
|
|
726
741
|
}
|
|
727
742
|
}
|
|
728
743
|
},
|
|
@@ -765,16 +780,26 @@ export default {
|
|
|
765
780
|
created() {
|
|
766
781
|
if (Array.isArray(this.thead) && this.thead.length) {
|
|
767
782
|
this.getOptions(this.thead);
|
|
783
|
+
if (this.fields) {
|
|
784
|
+
this.immediate && this.getTableData();
|
|
785
|
+
this.chekOpenTotalArea();
|
|
786
|
+
}
|
|
787
|
+
}
|
|
788
|
+
if (!this.fields) {
|
|
789
|
+
this.immediate && this.getTableData();
|
|
790
|
+
this.chekOpenTotalArea();
|
|
768
791
|
}
|
|
769
|
-
this.immediate && this.getTableData();
|
|
770
|
-
this.chekOpenTotalArea();
|
|
771
792
|
},
|
|
772
793
|
mounted() {
|
|
794
|
+
console.log(1111111);
|
|
773
795
|
if (this.data.length) {
|
|
774
796
|
this.list = this.setData();
|
|
775
797
|
}
|
|
776
798
|
this.list.length && this.checkSelect(this.checked);
|
|
777
799
|
this.resetHeight();
|
|
800
|
+
if (util.win.top != util.win.self) {
|
|
801
|
+
util.win.onresize = debounce(500, this.resetHeight);
|
|
802
|
+
}
|
|
778
803
|
},
|
|
779
804
|
methods: {
|
|
780
805
|
setData() {
|
|
@@ -986,40 +1011,6 @@ export default {
|
|
|
986
1011
|
}
|
|
987
1012
|
});
|
|
988
1013
|
},
|
|
989
|
-
getTheads() {
|
|
990
|
-
util
|
|
991
|
-
.ajax({
|
|
992
|
-
url: this.thead,
|
|
993
|
-
method: this.method,
|
|
994
|
-
format: this.format,
|
|
995
|
-
params: this.param,
|
|
996
|
-
data: this.param
|
|
997
|
-
})
|
|
998
|
-
.then((res) => {
|
|
999
|
-
if (res.rCode === 0) {
|
|
1000
|
-
let results = res.results;
|
|
1001
|
-
if (Array.isArray(results)) {
|
|
1002
|
-
this.theadData = results;
|
|
1003
|
-
} else {
|
|
1004
|
-
this.theadData = results.theadData || [];
|
|
1005
|
-
this.list = results.data || results.records || [];
|
|
1006
|
-
this.config.totalCount =
|
|
1007
|
-
results.count || results.total || results.totalCount;
|
|
1008
|
-
this.getOptions(this.theadData);
|
|
1009
|
-
}
|
|
1010
|
-
} else {
|
|
1011
|
-
this.theadData = [];
|
|
1012
|
-
let msg = res.msg || '系统错误,请联系管理员!';
|
|
1013
|
-
this.$message.error(msg);
|
|
1014
|
-
}
|
|
1015
|
-
this.$emit('success', res);
|
|
1016
|
-
})
|
|
1017
|
-
.catch((err) => {
|
|
1018
|
-
if (err.message && err.message !== 'canceled') {
|
|
1019
|
-
this.$message.error(err.message);
|
|
1020
|
-
}
|
|
1021
|
-
});
|
|
1022
|
-
},
|
|
1023
1014
|
getTableDatas(res) {
|
|
1024
1015
|
let where;
|
|
1025
1016
|
let first;
|
|
@@ -1057,6 +1048,22 @@ export default {
|
|
|
1057
1048
|
}
|
|
1058
1049
|
}
|
|
1059
1050
|
}
|
|
1051
|
+
if (this.fields) {
|
|
1052
|
+
let fields = [];
|
|
1053
|
+
this.thead.forEach((item) => {
|
|
1054
|
+
if (item.field || item.prop) {
|
|
1055
|
+
fields.push(item.field || item.prop);
|
|
1056
|
+
}
|
|
1057
|
+
});
|
|
1058
|
+
let initLogin = util.getStorage('initLogin');
|
|
1059
|
+
initLogin && (initLogin = JSON.parse(initLogin));
|
|
1060
|
+
reqData['fields'] = initLogin.secret
|
|
1061
|
+
? util.esmEncrypt({
|
|
1062
|
+
data: fields.join(','),
|
|
1063
|
+
key: initLogin.secret
|
|
1064
|
+
})
|
|
1065
|
+
: fields.join(',');
|
|
1066
|
+
}
|
|
1060
1067
|
this.tableLoading = true;
|
|
1061
1068
|
util
|
|
1062
1069
|
.ajax({
|
|
@@ -1093,6 +1100,7 @@ export default {
|
|
|
1093
1100
|
}
|
|
1094
1101
|
this.config.totalCount =
|
|
1095
1102
|
results.count || results.total || results.totalCount;
|
|
1103
|
+
this.config.pageCount = results.pageCount;
|
|
1096
1104
|
this.checked &&
|
|
1097
1105
|
this.$nextTick(() => {
|
|
1098
1106
|
this.checkSelect(this.checked);
|
|
@@ -1146,7 +1154,7 @@ export default {
|
|
|
1146
1154
|
this.$refs.oaTable.clearFilter(columnKey);
|
|
1147
1155
|
},
|
|
1148
1156
|
doLayout() {
|
|
1149
|
-
this.$refs.oaTable.doLayout();
|
|
1157
|
+
this.$refs.oaTable && this.$refs.oaTable.doLayout();
|
|
1150
1158
|
},
|
|
1151
1159
|
sort(prop, order) {
|
|
1152
1160
|
this.$refs.oaTable.sort(prop, order);
|
|
@@ -1270,6 +1278,7 @@ export default {
|
|
|
1270
1278
|
return { ...obj, ...item };
|
|
1271
1279
|
},
|
|
1272
1280
|
handleClick(res) {
|
|
1281
|
+
console.log(1212);
|
|
1273
1282
|
let { row, handle } = res;
|
|
1274
1283
|
let rows;
|
|
1275
1284
|
if (handle.checkbox) {
|
|
@@ -1536,8 +1545,11 @@ export default {
|
|
|
1536
1545
|
parseInt(util.getStyle(ele, 'margin-bottom'), 10);
|
|
1537
1546
|
}
|
|
1538
1547
|
}
|
|
1539
|
-
height -= this.showToolbar
|
|
1540
|
-
|
|
1548
|
+
height -= this.showToolbar
|
|
1549
|
+
? this.$refs.toolbar.$el.offsetHeight
|
|
1550
|
+
: 0;
|
|
1551
|
+
height -=
|
|
1552
|
+
this.page === false ? 0 : this.$refs.pagination.$el.offsetHeight;
|
|
1541
1553
|
height -= this.title ? this.$refs.title.offsetHeight : 0;
|
|
1542
1554
|
height -= parseInt(
|
|
1543
1555
|
util.getStyle(this.$refs.esTableContent, 'padding-top'),
|