three-trees-ui 1.0.98 → 1.1.0
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/three-trees-ui.common.js +641 -944
- package/lib/three-trees-ui.css +1 -1
- package/lib/three-trees-ui.umd.js +641 -944
- package/lib/three-trees-ui.umd.min.js +1 -1
- package/package.json +2 -4
- package/packages/Collapse/src/HtCollapse.vue +1 -4
- package/packages/CustomDialog/src/customDialog.vue +9 -26
- package/packages/CustomDialog/src/main.vue +115 -171
- package/packages/DimensionSelector/src/main.vue +43 -44
- package/packages/JobSelector/src/main.vue +81 -85
- package/packages/OnlineForm/src/Form.vue +5 -155
- package/packages/OrgSelector/src/main.vue +85 -87
- package/packages/PostSelector/src/main.vue +81 -86
- package/packages/Preview/src/FrameViewer.vue +0 -1
- package/packages/RoleSelector/src/main.vue +81 -87
- package/packages/TemplateForm/src/main.vue +0 -1
- package/packages/UserSelector/src/main.vue +101 -96
- package/src/directive/formulas.js +1 -7
- package/src/index.js +0 -2
- package/src/mixins/onlineSubtable.js +19 -63
- package/src/styles/selector.scss +2 -42
- package/src/styles/variables.scss +5 -6
- package/src/utils.js +0 -7
- package/packages/SubEditModeDialog/index.js +0 -7
- package/packages/SubEditModeDialog/src/main.vue +0 -115
|
@@ -16,23 +16,33 @@
|
|
|
16
16
|
@click="showDialog"
|
|
17
17
|
>
|
|
18
18
|
<div
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
:class="{
|
|
19
|
+
ref="tagSpans"
|
|
20
|
+
style="width: calc(100% - 25px);"
|
|
21
|
+
:class="{
|
|
22
|
+
'el-select__tags_readonly': !inputWriteable,
|
|
23
|
+
'el-select__tags': inputWriteable,
|
|
24
|
+
}"
|
|
22
25
|
>
|
|
23
|
-
<
|
|
24
|
-
<
|
|
26
|
+
<span class="tag-wrap">
|
|
27
|
+
<span
|
|
25
28
|
v-for="(item, index) in demensions"
|
|
26
29
|
:key="index"
|
|
27
|
-
class="
|
|
30
|
+
class="el-tag el-tag--info el-tag--small"
|
|
31
|
+
@click.stop
|
|
28
32
|
>
|
|
29
|
-
<span>{{ item.name }}</span>
|
|
30
|
-
<i
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
<span class="el-select__tags-text">{{ item.name }}</span>
|
|
34
|
+
<i
|
|
35
|
+
v-if="inputWriteable"
|
|
36
|
+
class="el-tag__close el-icon-close"
|
|
37
|
+
@click="handleRemove(item)"
|
|
38
|
+
></i>
|
|
39
|
+
</span>
|
|
40
|
+
</span>
|
|
41
|
+
</div>
|
|
42
|
+
<div v-if="inputWriteable" class="el-input el-input--suffix">
|
|
33
43
|
<input
|
|
34
44
|
ref="inputEl"
|
|
35
|
-
v-model="
|
|
45
|
+
v-model="value"
|
|
36
46
|
v-validate="inputValidate"
|
|
37
47
|
type="text"
|
|
38
48
|
readonly="readonly"
|
|
@@ -40,6 +50,10 @@
|
|
|
40
50
|
autocomplete="off"
|
|
41
51
|
class="el-input__inner"
|
|
42
52
|
:placeholder="placeholder"
|
|
53
|
+
:style="{
|
|
54
|
+
height: inputSuffixHeight + 'px',
|
|
55
|
+
lineHeight: inputSuffixHeight + 'px',
|
|
56
|
+
}"
|
|
43
57
|
/>
|
|
44
58
|
<span class="el-input__suffix">
|
|
45
59
|
<span class="el-input__suffix-inner">
|
|
@@ -48,13 +62,9 @@
|
|
|
48
62
|
</span>
|
|
49
63
|
</span>
|
|
50
64
|
</div>
|
|
51
|
-
<div v-else class="el-select__tags_readonly">
|
|
52
|
-
<span>{{ calcInputValue }}</span>
|
|
53
|
-
</div>
|
|
54
65
|
</div>
|
|
55
66
|
<ht-field-tail :field-name="inputName" :input-value="value" />
|
|
56
67
|
<el-dialog
|
|
57
|
-
v-if="dialogVisible"
|
|
58
68
|
title="选择维度"
|
|
59
69
|
:visible.sync="dialogVisible"
|
|
60
70
|
class="dialog-selector__wrapper"
|
|
@@ -206,10 +216,6 @@
|
|
|
206
216
|
mode: {
|
|
207
217
|
type: String,
|
|
208
218
|
},
|
|
209
|
-
formInputsDisplay: {
|
|
210
|
-
type: String,
|
|
211
|
-
default: 'inline',
|
|
212
|
-
},
|
|
213
219
|
},
|
|
214
220
|
data() {
|
|
215
221
|
return {
|
|
@@ -221,17 +227,6 @@
|
|
|
221
227
|
}
|
|
222
228
|
},
|
|
223
229
|
computed: {
|
|
224
|
-
calcInputValue: function() {
|
|
225
|
-
let name = ''
|
|
226
|
-
if (this.demensions) {
|
|
227
|
-
name = this.demensions
|
|
228
|
-
.map((k) => {
|
|
229
|
-
return k.name
|
|
230
|
-
})
|
|
231
|
-
.join(',')
|
|
232
|
-
}
|
|
233
|
-
return name
|
|
234
|
-
},
|
|
235
230
|
primaryField: function() {
|
|
236
231
|
return this.config && this.config.hasOwnProperty('id')
|
|
237
232
|
? 'id'
|
|
@@ -290,8 +285,14 @@
|
|
|
290
285
|
// 通过valueChange事件发布值变更消息
|
|
291
286
|
this.$emit('valueChange', ary.join(','), newVal)
|
|
292
287
|
setTimeout(() => {
|
|
288
|
+
if (newVal.length > 0) {
|
|
289
|
+
this.calacInputSuffixHeight()
|
|
290
|
+
} else {
|
|
291
|
+
this.inputSuffixHeight = 30
|
|
292
|
+
}
|
|
293
293
|
if (this.$refs.inputEl) {
|
|
294
|
-
this.$
|
|
294
|
+
this.$refs.inputEl.focus()
|
|
295
|
+
this.$refs.inputEl.blur()
|
|
295
296
|
}
|
|
296
297
|
}, 10)
|
|
297
298
|
},
|
|
@@ -370,13 +371,14 @@
|
|
|
370
371
|
this.demensions = tmpAry
|
|
371
372
|
}
|
|
372
373
|
},
|
|
373
|
-
|
|
374
|
+
showDialog() {
|
|
374
375
|
if (!this.inputWriteable) {
|
|
375
376
|
return
|
|
376
377
|
}
|
|
377
378
|
this.dialogVisible = true
|
|
378
|
-
|
|
379
|
-
|
|
379
|
+
setTimeout(() => {
|
|
380
|
+
this.$refs.selector.onShow()
|
|
381
|
+
})
|
|
380
382
|
},
|
|
381
383
|
handleClose(done) {
|
|
382
384
|
this.$refs.selector.onHide()
|
|
@@ -399,12 +401,12 @@
|
|
|
399
401
|
},
|
|
400
402
|
// 更新当前输入框的高度来适配已选数据的高度
|
|
401
403
|
calacInputSuffixHeight() {
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
404
|
+
if (!this.$refs.tagSpans) return
|
|
405
|
+
if (this.$refs.tagSpans.offsetHeight) {
|
|
406
|
+
this.inputSuffixHeight = this.$refs.tagSpans.offsetHeight + 5
|
|
407
|
+
} else {
|
|
408
|
+
this.inputSuffixHeight = 30
|
|
409
|
+
}
|
|
408
410
|
},
|
|
409
411
|
},
|
|
410
412
|
}
|
|
@@ -425,10 +427,7 @@
|
|
|
425
427
|
position: relative;
|
|
426
428
|
top: 50%;
|
|
427
429
|
}
|
|
428
|
-
|
|
429
|
-
height: 32px;
|
|
430
|
-
line-height: 32px;
|
|
431
|
-
}
|
|
430
|
+
|
|
432
431
|
.el-input__inner[aria-invalid='true'] {
|
|
433
432
|
border-color: #f56c6c;
|
|
434
433
|
}
|
|
@@ -16,23 +16,33 @@
|
|
|
16
16
|
@click="showDialog"
|
|
17
17
|
>
|
|
18
18
|
<div
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
:class="{
|
|
19
|
+
ref="tagSpans"
|
|
20
|
+
style="width: calc(100% - 25px);"
|
|
21
|
+
:class="{
|
|
22
|
+
'el-select__tags_readonly': !inputWriteable,
|
|
23
|
+
'el-select__tags': inputWriteable,
|
|
24
|
+
}"
|
|
22
25
|
>
|
|
23
|
-
<
|
|
24
|
-
<
|
|
26
|
+
<span class="tag-wrap">
|
|
27
|
+
<span
|
|
25
28
|
v-for="(item, index) in selectors"
|
|
26
29
|
:key="index"
|
|
27
|
-
class="
|
|
30
|
+
class="el-tag el-tag--info el-tag--small"
|
|
31
|
+
@click.stop
|
|
28
32
|
>
|
|
29
|
-
<span>{{ item.name }}</span>
|
|
30
|
-
<i
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
<span class="el-select__tags-text">{{ item.name }}</span>
|
|
34
|
+
<i
|
|
35
|
+
v-if="inputWriteable"
|
|
36
|
+
class="el-tag__close el-icon-close"
|
|
37
|
+
@click="handleRemove(item)"
|
|
38
|
+
></i>
|
|
39
|
+
</span>
|
|
40
|
+
</span>
|
|
41
|
+
</div>
|
|
42
|
+
<div v-if="inputWriteable" class="el-input el-input--suffix">
|
|
33
43
|
<input
|
|
34
44
|
ref="inputEl"
|
|
35
|
-
v-model="
|
|
45
|
+
v-model="value"
|
|
36
46
|
v-validate="inputValidate"
|
|
37
47
|
type="text"
|
|
38
48
|
readonly="readonly"
|
|
@@ -40,6 +50,10 @@
|
|
|
40
50
|
autocomplete="off"
|
|
41
51
|
class="el-input__inner"
|
|
42
52
|
:placeholder="placeholder"
|
|
53
|
+
:style="{
|
|
54
|
+
height: inputSuffixHeight + 'px',
|
|
55
|
+
lineHeight: inputSuffixHeight + 'px',
|
|
56
|
+
}"
|
|
43
57
|
/>
|
|
44
58
|
<span class="el-input__suffix">
|
|
45
59
|
<span class="el-input__suffix-inner">
|
|
@@ -48,54 +62,49 @@
|
|
|
48
62
|
</span>
|
|
49
63
|
</span>
|
|
50
64
|
</div>
|
|
51
|
-
<div v-else class="el-select__tags_readonly">
|
|
52
|
-
<span>{{ calcInputValue }}</span>
|
|
53
|
-
</div>
|
|
54
65
|
</div>
|
|
55
66
|
<ht-field-tail :field-name="inputName" :input-value="value" />
|
|
56
|
-
<
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
/>
|
|
98
|
-
</template>
|
|
67
|
+
<job-selector-mobile-dialog
|
|
68
|
+
v-if="isMobile"
|
|
69
|
+
ref="jobSelectorMobileDialog"
|
|
70
|
+
v-model="selectors"
|
|
71
|
+
:search-placeholder="searchPlaceholder"
|
|
72
|
+
:single="single"
|
|
73
|
+
:data="data"
|
|
74
|
+
:pagination="pagination"
|
|
75
|
+
:select-label="selectLabel"
|
|
76
|
+
:quick-search-props="quickSearchProps"
|
|
77
|
+
:append-to-body="appendToBody"
|
|
78
|
+
:title="title"
|
|
79
|
+
:primary-field="primaryField"
|
|
80
|
+
@search="(word) => $emit('search', word)"
|
|
81
|
+
@reset="() => $emit('reset')"
|
|
82
|
+
@row-click="(row) => $emit('row-click', row)"
|
|
83
|
+
@select-data="(data) => $emit('select-data', data)"
|
|
84
|
+
@page-change="(page) => $emit('page-change', page)"
|
|
85
|
+
/>
|
|
86
|
+
<job-selector-dialog
|
|
87
|
+
v-else
|
|
88
|
+
ref="jobSelectorDialog"
|
|
89
|
+
v-model="selectors"
|
|
90
|
+
:search-placeholder="searchPlaceholder"
|
|
91
|
+
:single="single"
|
|
92
|
+
:data="data"
|
|
93
|
+
:table-columns="tableColumns"
|
|
94
|
+
:pagination="pagination"
|
|
95
|
+
:select-label="selectLabel"
|
|
96
|
+
:quick-search-props="quickSearchProps"
|
|
97
|
+
:append-to-body="appendToBody"
|
|
98
|
+
:title="title"
|
|
99
|
+
:primary-field="primaryField"
|
|
100
|
+
:mode="mode"
|
|
101
|
+
@search="(word) => $emit('search', word)"
|
|
102
|
+
@reset="() => $emit('reset')"
|
|
103
|
+
@row-click="(row) => $emit('row-click', row)"
|
|
104
|
+
@select-data="(data) => $emit('select-data', data)"
|
|
105
|
+
@page-change="(page) => $emit('page-change', page)"
|
|
106
|
+
@size-change="(size) => $emit('size-change', size)"
|
|
107
|
+
/>
|
|
99
108
|
</div>
|
|
100
109
|
</template>
|
|
101
110
|
<script>
|
|
@@ -172,23 +181,11 @@
|
|
|
172
181
|
},
|
|
173
182
|
data() {
|
|
174
183
|
return {
|
|
175
|
-
isDialogShow: false,
|
|
176
184
|
inputSuffixHeight: 30,
|
|
177
185
|
selectors: [],
|
|
178
186
|
}
|
|
179
187
|
},
|
|
180
188
|
computed: {
|
|
181
|
-
calcInputValue: function() {
|
|
182
|
-
let name = ''
|
|
183
|
-
if (this.selectors) {
|
|
184
|
-
name = this.selectors
|
|
185
|
-
.map((k) => {
|
|
186
|
-
return k.name
|
|
187
|
-
})
|
|
188
|
-
.join(',')
|
|
189
|
-
}
|
|
190
|
-
return name
|
|
191
|
-
},
|
|
192
189
|
primaryField: function() {
|
|
193
190
|
return this.config && this.config.hasOwnProperty('id')
|
|
194
191
|
? 'id'
|
|
@@ -238,8 +235,14 @@
|
|
|
238
235
|
// 通过valueChange事件发布值变更消息
|
|
239
236
|
this.$emit('valueChange', ary.join(','), newVal)
|
|
240
237
|
setTimeout(() => {
|
|
238
|
+
if (newVal.length > 0) {
|
|
239
|
+
this.calacInputSuffixHeight()
|
|
240
|
+
} else {
|
|
241
|
+
this.inputSuffixHeight = 30
|
|
242
|
+
}
|
|
241
243
|
if (this.$refs.inputEl) {
|
|
242
|
-
this.$
|
|
244
|
+
this.$refs.inputEl.focus()
|
|
245
|
+
this.$refs.inputEl.blur()
|
|
243
246
|
}
|
|
244
247
|
}, 10)
|
|
245
248
|
},
|
|
@@ -293,14 +296,10 @@
|
|
|
293
296
|
this.selectors = tmpAry
|
|
294
297
|
}
|
|
295
298
|
},
|
|
296
|
-
|
|
299
|
+
showDialog() {
|
|
297
300
|
if (!this.inputWriteable) {
|
|
298
301
|
return
|
|
299
302
|
}
|
|
300
|
-
if (this.isDialogShow === false) {
|
|
301
|
-
this.isDialogShow = true
|
|
302
|
-
await this.$nextTick()
|
|
303
|
-
}
|
|
304
303
|
if (this.isMobile) {
|
|
305
304
|
this.$refs.jobSelectorMobileDialog.showDialog()
|
|
306
305
|
} else {
|
|
@@ -316,12 +315,12 @@
|
|
|
316
315
|
},
|
|
317
316
|
// 更新当前输入框的高度来适配已选数据的高度
|
|
318
317
|
calacInputSuffixHeight() {
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
318
|
+
if (!this.$refs.tagSpans) return
|
|
319
|
+
if (this.$refs.tagSpans.offsetHeight) {
|
|
320
|
+
this.inputSuffixHeight = this.$refs.tagSpans.offsetHeight + 5
|
|
321
|
+
} else {
|
|
322
|
+
this.inputSuffixHeight = 30
|
|
323
|
+
}
|
|
325
324
|
},
|
|
326
325
|
},
|
|
327
326
|
}
|
|
@@ -336,10 +335,7 @@
|
|
|
336
335
|
position: relative;
|
|
337
336
|
top: 50%;
|
|
338
337
|
}
|
|
339
|
-
|
|
340
|
-
height: 32px;
|
|
341
|
-
line-height: 32px;
|
|
342
|
-
}
|
|
338
|
+
|
|
343
339
|
.el-input__inner[aria-invalid='true'] {
|
|
344
340
|
border-color: #f56c6c;
|
|
345
341
|
}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div name="online-form"
|
|
2
|
+
<div name="online-form">
|
|
3
3
|
<el-skeleton v-if="loadStatus == 0" :rows="6" animated />
|
|
4
4
|
<component
|
|
5
|
-
:is="currentComponent"
|
|
6
5
|
v-else-if="loadStatus > 0"
|
|
6
|
+
v-bind:is="currentComponent"
|
|
7
7
|
:name="formName"
|
|
8
8
|
:data="data"
|
|
9
9
|
:permission="permission"
|
|
@@ -31,15 +31,12 @@
|
|
|
31
31
|
import onlineSubtable from '@/mixins/onlineSubtable.js'
|
|
32
32
|
import regionValidator from '@/mixins/regionValidator.js'
|
|
33
33
|
import emitter from '@/mixins/emitter.js'
|
|
34
|
-
import mobileMode from '@/mixins/mobileMode.js'
|
|
35
|
-
import { Notification } from 'element-ui'
|
|
36
|
-
import { Notify } from 'vant'
|
|
37
34
|
|
|
38
35
|
import Vue from 'vue'
|
|
39
36
|
export default {
|
|
40
37
|
name: 'HtOnlineForm',
|
|
41
38
|
componentName: 'HtOnlineForm',
|
|
42
|
-
mixins: [regionValidator, emitter
|
|
39
|
+
mixins: [regionValidator, emitter],
|
|
43
40
|
props: {
|
|
44
41
|
html: String,
|
|
45
42
|
data: Object,
|
|
@@ -82,9 +79,6 @@
|
|
|
82
79
|
type: Boolean,
|
|
83
80
|
default: false,
|
|
84
81
|
},
|
|
85
|
-
formExpand: {
|
|
86
|
-
type: String,
|
|
87
|
-
},
|
|
88
82
|
},
|
|
89
83
|
data() {
|
|
90
84
|
return {
|
|
@@ -134,16 +128,10 @@
|
|
|
134
128
|
} else {
|
|
135
129
|
// 执行校验逻辑
|
|
136
130
|
this.validateRegion(`[name='${this.formName}']`).then(
|
|
137
|
-
|
|
131
|
+
(errorItems) => {
|
|
138
132
|
if (errorItems.length > 0) {
|
|
139
133
|
reject(errorItems)
|
|
140
134
|
} else {
|
|
141
|
-
// 如果有子表,需要检验子表必填
|
|
142
|
-
let result = await this.validateTable()
|
|
143
|
-
if (result === false) {
|
|
144
|
-
reject(8)
|
|
145
|
-
return
|
|
146
|
-
}
|
|
147
135
|
this.broadcast('HtGlobalValidate', 'global-validate')
|
|
148
136
|
}
|
|
149
137
|
}
|
|
@@ -151,93 +139,6 @@
|
|
|
151
139
|
}
|
|
152
140
|
})
|
|
153
141
|
},
|
|
154
|
-
// 校验子表必填
|
|
155
|
-
validateTable() {
|
|
156
|
-
return new Promise((resolve) => {
|
|
157
|
-
if (!this.formExpand) {
|
|
158
|
-
resolve(true)
|
|
159
|
-
return
|
|
160
|
-
}
|
|
161
|
-
const expandList = JSON.parse(this.formExpand)
|
|
162
|
-
|
|
163
|
-
if (!expandList.list) {
|
|
164
|
-
resolve(true)
|
|
165
|
-
return
|
|
166
|
-
}
|
|
167
|
-
const subTableList = expandList.list.filter((it) => {
|
|
168
|
-
return (
|
|
169
|
-
(this.isMobile && it.ctrlType == 'subDiv') ||
|
|
170
|
-
(!this.isMobile && it.ctrlType === 'subtable')
|
|
171
|
-
)
|
|
172
|
-
})
|
|
173
|
-
if (!this.isMobile) {
|
|
174
|
-
// pc端找到 分页的子表 校验
|
|
175
|
-
const havePageSub = subTableList.filter((k) => {
|
|
176
|
-
return k.subtablePagination
|
|
177
|
-
})
|
|
178
|
-
if (!havePageSub.length) {
|
|
179
|
-
resolve(true)
|
|
180
|
-
return
|
|
181
|
-
}
|
|
182
|
-
}
|
|
183
|
-
const mainAlias = Object.keys(this.data)[0]
|
|
184
|
-
const mainData = this.data[mainAlias]
|
|
185
|
-
const errorResult = []
|
|
186
|
-
|
|
187
|
-
Object.keys(mainData).forEach((key) => {
|
|
188
|
-
if (key.startsWith('sub_')) {
|
|
189
|
-
const curSubConfig = subTableList.find((sub) => {
|
|
190
|
-
return sub.name == key.replace('sub_', '')
|
|
191
|
-
})
|
|
192
|
-
const subAlias = key.replace('sub_', '')
|
|
193
|
-
const subPermission = this.permission.fields[subAlias]
|
|
194
|
-
mainData[key].forEach((item, index) => {
|
|
195
|
-
Object.keys(item).forEach((subKey) => {
|
|
196
|
-
if (subPermission[subKey] == 'b' && !item[subKey]) {
|
|
197
|
-
const subItem = curSubConfig.list.find((l) => {
|
|
198
|
-
return l.name === subKey
|
|
199
|
-
})
|
|
200
|
-
let haveIndex = errorResult.findIndex((it) => {
|
|
201
|
-
return (
|
|
202
|
-
it.tableName === curSubConfig.desc &&
|
|
203
|
-
it.fieldName === subItem.desc
|
|
204
|
-
)
|
|
205
|
-
})
|
|
206
|
-
if (haveIndex === -1) {
|
|
207
|
-
errorResult.push({
|
|
208
|
-
tableName: curSubConfig.desc,
|
|
209
|
-
index: index + 1,
|
|
210
|
-
fieldName: subItem.desc,
|
|
211
|
-
})
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
})
|
|
215
|
-
})
|
|
216
|
-
}
|
|
217
|
-
})
|
|
218
|
-
if (errorResult.length > 0) {
|
|
219
|
-
const messages = errorResult.map((k) => {
|
|
220
|
-
return `${k.tableName},【${k.fieldName}】必填`
|
|
221
|
-
})
|
|
222
|
-
// 判断是移动端还是pc
|
|
223
|
-
if (utils.isMobile()) {
|
|
224
|
-
Notify({
|
|
225
|
-
message: messages.join('\n'),
|
|
226
|
-
background: '#f25130',
|
|
227
|
-
})
|
|
228
|
-
} else {
|
|
229
|
-
Notification.error({
|
|
230
|
-
title: this.$t('ht.common.warmTips'),
|
|
231
|
-
dangerouslyUseHTMLString: true,
|
|
232
|
-
message: messages.join('<br/>'),
|
|
233
|
-
})
|
|
234
|
-
}
|
|
235
|
-
resolve(false)
|
|
236
|
-
} else {
|
|
237
|
-
resolve(true)
|
|
238
|
-
}
|
|
239
|
-
})
|
|
240
|
-
},
|
|
241
142
|
init() {
|
|
242
143
|
this.currentComponent = 'runtimeTemplate_' + this.scopeName
|
|
243
144
|
this.loadStatus = 1
|
|
@@ -281,11 +182,6 @@
|
|
|
281
182
|
default: false,
|
|
282
183
|
},
|
|
283
184
|
},
|
|
284
|
-
data() {
|
|
285
|
-
return {
|
|
286
|
-
subDivCollapse: [],
|
|
287
|
-
}
|
|
288
|
-
},
|
|
289
185
|
template: this.html,
|
|
290
186
|
})
|
|
291
187
|
},
|
|
@@ -293,29 +189,6 @@
|
|
|
293
189
|
}
|
|
294
190
|
</script>
|
|
295
191
|
<style lang="scss">
|
|
296
|
-
.is-mobile-online-form {
|
|
297
|
-
.ht-form-item {
|
|
298
|
-
.el-form-item__label {
|
|
299
|
-
width: 76px !important;
|
|
300
|
-
overflow: hidden;
|
|
301
|
-
text-overflow: ellipsis;
|
|
302
|
-
white-space: nowrap;
|
|
303
|
-
text-align: left;
|
|
304
|
-
> span {
|
|
305
|
-
display: inline-block;
|
|
306
|
-
max-width: 100%;
|
|
307
|
-
font-size: 14px;
|
|
308
|
-
color: #656a72;
|
|
309
|
-
margin-left: 0 !important;
|
|
310
|
-
overflow: hidden;
|
|
311
|
-
text-overflow: ellipsis;
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
.el-form-item__content {
|
|
315
|
-
margin-left: 76px !important;
|
|
316
|
-
}
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
192
|
.transition {
|
|
320
193
|
outline: 1px dotted #85a5ff;
|
|
321
194
|
outline-width: 2px;
|
|
@@ -435,7 +308,7 @@
|
|
|
435
308
|
width: 100%;
|
|
436
309
|
}
|
|
437
310
|
.el-input {
|
|
438
|
-
width: 100
|
|
311
|
+
width: 100% !important;
|
|
439
312
|
}
|
|
440
313
|
.amap-page-container {
|
|
441
314
|
.amap-toolbar,
|
|
@@ -568,7 +441,6 @@
|
|
|
568
441
|
}
|
|
569
442
|
|
|
570
443
|
.el-icon-copy-document,
|
|
571
|
-
.el-icon-edit,
|
|
572
444
|
.el-icon-delete {
|
|
573
445
|
display: inline-block;
|
|
574
446
|
border: 1px solid #409eff;
|
|
@@ -577,9 +449,6 @@
|
|
|
577
449
|
color: #409eff;
|
|
578
450
|
background: #fff;
|
|
579
451
|
}
|
|
580
|
-
.el-button + .el-button {
|
|
581
|
-
margin-left: 4px;
|
|
582
|
-
}
|
|
583
452
|
}
|
|
584
453
|
|
|
585
454
|
.el-icon-arrow-right:before {
|
|
@@ -653,7 +522,6 @@
|
|
|
653
522
|
}
|
|
654
523
|
|
|
655
524
|
.el-icon-copy-document,
|
|
656
|
-
.el-icon-edit,
|
|
657
525
|
.el-icon-delete {
|
|
658
526
|
display: inline-block;
|
|
659
527
|
border: 1px solid #409eff;
|
|
@@ -687,24 +555,6 @@
|
|
|
687
555
|
}
|
|
688
556
|
}
|
|
689
557
|
}
|
|
690
|
-
.sonDetail_lable_box,
|
|
691
|
-
.sonDetail_lable_value {
|
|
692
|
-
width: calc(100% - 70px);
|
|
693
|
-
.sonDetail_lable_item {
|
|
694
|
-
font-weight: 500;
|
|
695
|
-
}
|
|
696
|
-
> div {
|
|
697
|
-
flex: 1;
|
|
698
|
-
display: -webkit-box;
|
|
699
|
-
-webkit-box-orient: vertical;
|
|
700
|
-
-webkit-line-clamp: 2;
|
|
701
|
-
overflow: hidden;
|
|
702
|
-
text-overflow: ellipsis;
|
|
703
|
-
word-break: break-all;
|
|
704
|
-
line-height: normal;
|
|
705
|
-
text-align: center;
|
|
706
|
-
}
|
|
707
|
-
}
|
|
708
558
|
}
|
|
709
559
|
|
|
710
560
|
::v-deep .el-table__header {
|