centaline-data-driven 1.3.55 → 1.3.58
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/package.json +1 -1
- package/src/Detail.vue +1 -1
- package/src/Form.vue +6 -2
- package/src/centaline/dynamicBtn/src/dynamicBtn.vue +1 -2
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +22 -40
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +15 -16
- package/src/centaline/dynamicFile/src/dynamicFile.vue +9 -9
- package/src/centaline/dynamicForm/src/dynamicForm.vue +5 -0
- package/src/centaline/dynamicLayout/src/dynamicLayout.vue +19 -2
- package/src/centaline/dynamicLayout/src/dynamicLayoutChildren.vue +18 -2
- package/src/centaline/dynamicLayout/src/dynamicLayoutChildrenFor.vue +18 -3
- package/src/centaline/dynamicLayout/src/dynamicLayoutImage.vue +17 -1
- package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +23 -1
- package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +9 -2
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +35 -10
- package/src/centaline/templateControls/src/dynamicTableCurrency.vue +11 -3
- package/src/main.js +1 -1
- package/wwwroot/static/centaline/centaline-data-driven.js +3 -3
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
package/package.json
CHANGED
package/src/Detail.vue
CHANGED
package/src/Form.vue
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="form-app" class="data-driven" style="width:100%;height:100%;overflow:auto">
|
|
3
3
|
<!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
|
|
4
|
-
<ct-form :api="'/
|
|
4
|
+
<ct-form :api="'/api/finance/account-flow/task-virtual'" :apiParam="apiParam" :topHeight="topHeight"></ct-form>
|
|
5
5
|
<ct-dialog-list></ct-dialog-list>
|
|
6
6
|
</div>
|
|
7
7
|
</template>
|
|
@@ -12,7 +12,11 @@
|
|
|
12
12
|
data() {
|
|
13
13
|
return {
|
|
14
14
|
apiParam:{
|
|
15
|
-
|
|
15
|
+
actionType: "1",
|
|
16
|
+
businessId: "1557203282719256578",
|
|
17
|
+
pageOnly: "true",
|
|
18
|
+
pageStyle: "2",
|
|
19
|
+
stepId: "1557203798568316929",
|
|
16
20
|
},
|
|
17
21
|
topHeight:10,
|
|
18
22
|
}
|
|
@@ -40,8 +40,7 @@
|
|
|
40
40
|
:style="{color:model.textColor,backgroundColor:model.imgUrl?'transparent':model.bgColor,borderColor:model.imgUrl?'transparent':model.borderColor,padding:model.imgUrl?'0px':null}"
|
|
41
41
|
:icon="model.icon"
|
|
42
42
|
:disabled="model.disabled || model.locked">
|
|
43
|
-
<el-popover
|
|
44
|
-
class="Stats-popover" :popper-class="'el-popoverCallTel'" :placement="option.placement?option.placement:'left'"
|
|
43
|
+
<el-popover class="Stats-popover" :popper-class="'el-popoverCallTel'" :placement="option.placement?option.placement:'left'"
|
|
45
44
|
v-model="visible" :trigger="option.trigger?option.trigger:''">
|
|
46
45
|
<div style="border-bottom:none">
|
|
47
46
|
<div style="color: #388cd3;text-align: center;">{{message}}</div>
|
|
@@ -125,62 +125,43 @@
|
|
|
125
125
|
}}</span>
|
|
126
126
|
</div>
|
|
127
127
|
</div>
|
|
128
|
-
<div
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
<span>{{
|
|
133
|
-
model.fields1Dic.EstimatePriceRentUnit.label
|
|
134
|
-
}}</span
|
|
135
|
-
><span>{{
|
|
136
|
-
model.fields1Dic.EstimatePriceRentUnit.value
|
|
137
|
-
}}</span
|
|
138
|
-
><span>{{
|
|
139
|
-
model.fields1Dic.EstimatePriceRentUnit.unitName
|
|
140
|
-
}}</span>
|
|
128
|
+
<div v-if="model.fields1Dic.EstimatePriceRentUnit" class="row-i">
|
|
129
|
+
<span>{{ model.fields1Dic.EstimatePriceRentUnit.label }}</span>
|
|
130
|
+
<span>{{ model.fields1Dic.EstimatePriceRentUnit.value }}</span>
|
|
131
|
+
<span>{{ model.fields1Dic.EstimatePriceRentUnit.unitName }}</span>
|
|
141
132
|
</div>
|
|
142
133
|
</div>
|
|
143
134
|
|
|
144
135
|
<div class="info-mid">
|
|
145
|
-
<div class="mid-i">
|
|
136
|
+
<div class="mid-i" v-if="model.fields1Dic.Area">
|
|
146
137
|
<div>{{ model.fields1Dic.Area.label }}</div>
|
|
147
138
|
<div>
|
|
148
139
|
{{ model.fields1Dic.Area.value
|
|
149
140
|
}}{{ model.fields1Dic.Area.unitName }}
|
|
150
141
|
</div>
|
|
151
142
|
</div>
|
|
152
|
-
<div class="mid-i">
|
|
143
|
+
<div class="mid-i" v-if="model.fields1Dic.AreaNet">
|
|
153
144
|
<div>{{ model.fields1Dic.AreaNet.label }}</div>
|
|
154
145
|
<div>
|
|
155
146
|
{{ model.fields1Dic.AreaNet.value
|
|
156
147
|
}}{{ model.fields1Dic.AreaNet.unitName }}
|
|
157
148
|
</div>
|
|
158
149
|
</div>
|
|
159
|
-
<div class="mid-i">
|
|
150
|
+
<div class="mid-i" v-if="model.fields1Dic.FloorName">
|
|
160
151
|
<div>{{ model.fields1Dic.FloorName.label }}</div>
|
|
161
152
|
<div>{{ model.fields1Dic.FloorName.value }}</div>
|
|
162
153
|
</div>
|
|
163
|
-
<div class="mid-i">
|
|
154
|
+
<div class="mid-i" v-if="model.fields1Dic.PropertyDirectionID">
|
|
164
155
|
<div>{{ model.fields1Dic.PropertyDirectionID.label }}</div>
|
|
165
156
|
<div>{{ model.fields1Dic.PropertyDirectionID.value }}</div>
|
|
166
157
|
</div>
|
|
167
158
|
</div>
|
|
168
159
|
</div>
|
|
169
160
|
</div>
|
|
170
|
-
<div
|
|
171
|
-
v-for="(col, index) in collapse"
|
|
172
|
-
:key="index"
|
|
173
|
-
class="info-conten-b"
|
|
174
|
-
v-show="allInfo"
|
|
175
|
-
>
|
|
161
|
+
<div v-for="(col, index) in collapse" :key="index" class="info-conten-b" v-show="allInfo">
|
|
176
162
|
<div class="info-row mb20">
|
|
177
|
-
<div
|
|
178
|
-
|
|
179
|
-
:key="i"
|
|
180
|
-
:class="c.singleLine === true ? 'row-i100' : 'row-i'"
|
|
181
|
-
>
|
|
182
|
-
<span>{{ c.label }}</span
|
|
183
|
-
><span>{{ c.value }}</span>
|
|
163
|
+
<div v-for="(c, i) in col" :key="i" :class="c.singleLine === true ? 'row-i100' : 'row-i'">
|
|
164
|
+
<span>{{ c.label }}</span><span>{{ c.value }}</span>
|
|
184
165
|
</div>
|
|
185
166
|
</div>
|
|
186
167
|
</div>
|
|
@@ -190,11 +171,7 @@
|
|
|
190
171
|
</div>
|
|
191
172
|
</div>
|
|
192
173
|
<div class="contacts-info base-box">
|
|
193
|
-
<ct-contactList
|
|
194
|
-
v-if="model.contactApiRouter !== null"
|
|
195
|
-
:apiRouter="model.contactApiRouter"
|
|
196
|
-
:key="'contact' + refershKey"
|
|
197
|
-
></ct-contactList>
|
|
174
|
+
<ct-contactList v-if="model.contactApiRouter !== null" :apiRouter="model.contactApiRouter" :key="'contact' + refershKey"></ct-contactList>
|
|
198
175
|
</div>
|
|
199
176
|
<div class="tablist-info base-box">
|
|
200
177
|
<div class="details-tabs-box">
|
|
@@ -597,20 +574,24 @@ export default {
|
|
|
597
574
|
var sumWidth = 0;
|
|
598
575
|
for (var i = 0; i < self.model.tags1.length; i++) {
|
|
599
576
|
var moreWidth = 22;
|
|
600
|
-
|
|
601
|
-
|
|
577
|
+
|
|
578
|
+
if(self.$refs["StatisticsItem" + i][0] && self.$refs["StatisticsItem" + i][0].offsetParent){
|
|
579
|
+
sumWidth = sumWidth + self.$refs["StatisticsItem" + i][0].offsetParent.offsetWidth;
|
|
580
|
+
}
|
|
602
581
|
var nextWidth = 0;
|
|
603
582
|
if (i + 1 < self.model.tags1.length) {
|
|
604
583
|
try {
|
|
605
584
|
nextWidth = self.$refs["StatisticsItem" + (i + 1)][0].offsetParent.offsetWidth;
|
|
606
585
|
} catch (e) { }
|
|
607
|
-
}
|
|
586
|
+
}
|
|
587
|
+
else {
|
|
608
588
|
moreWidth = 0;
|
|
609
589
|
}
|
|
610
590
|
if (self.model.midlWidth - 42 < sumWidth + moreWidth) {
|
|
611
591
|
showIndex = i;
|
|
612
592
|
break;
|
|
613
|
-
}
|
|
593
|
+
}
|
|
594
|
+
else if (self.model.midlWidth - 42 < nextWidth + moreWidth) {
|
|
614
595
|
showIndex = i + 1;
|
|
615
596
|
break;
|
|
616
597
|
}
|
|
@@ -620,7 +601,8 @@ export default {
|
|
|
620
601
|
self.model.tags1.slice(0, showIndex),
|
|
621
602
|
self.model.tags1.slice(showIndex),
|
|
622
603
|
];
|
|
623
|
-
}
|
|
604
|
+
}
|
|
605
|
+
else {
|
|
624
606
|
self.showData = [self.model.tags1];
|
|
625
607
|
}
|
|
626
608
|
}
|
|
@@ -119,23 +119,23 @@
|
|
|
119
119
|
</div>
|
|
120
120
|
|
|
121
121
|
<div class="info-mid">
|
|
122
|
-
<div class="mid-i">
|
|
122
|
+
<div class="mid-i" v-if="model.fields1Dic.Area">
|
|
123
123
|
<div>{{ model.fields1Dic.Area.label }}</div>
|
|
124
124
|
<div>
|
|
125
125
|
{{ model.fields1Dic.Area.value}}{{ model.fields1Dic.Area.unitName }}
|
|
126
126
|
</div>
|
|
127
127
|
</div>
|
|
128
|
-
<div class="mid-i">
|
|
128
|
+
<div class="mid-i" v-if="model.fields1Dic.AreaNet">
|
|
129
129
|
<div>{{ model.fields1Dic.AreaNet.label }}</div>
|
|
130
130
|
<div>
|
|
131
131
|
{{ model.fields1Dic.AreaNet.value}}{{ model.fields1Dic.AreaNet.unitName }}
|
|
132
132
|
</div>
|
|
133
133
|
</div>
|
|
134
|
-
<div class="mid-i">
|
|
134
|
+
<div class="mid-i" v-if="model.fields1Dic.FloorName">
|
|
135
135
|
<div>{{ model.fields1Dic.FloorName.label }}</div>
|
|
136
136
|
<div>{{ model.fields1Dic.FloorName.value }}</div>
|
|
137
137
|
</div>
|
|
138
|
-
<div class="mid-i">
|
|
138
|
+
<div class="mid-i" v-if="model.fields1Dic.PropertyDirectionID">
|
|
139
139
|
<div>{{ model.fields1Dic.PropertyDirectionID.label }}</div>
|
|
140
140
|
<div>{{ model.fields1Dic.PropertyDirectionID.value }}</div>
|
|
141
141
|
</div>
|
|
@@ -551,10 +551,8 @@ export default {
|
|
|
551
551
|
},
|
|
552
552
|
mounted() {
|
|
553
553
|
var self = this;
|
|
554
|
-
this.$watch(
|
|
555
|
-
"$refs.main.model.midlWidth",
|
|
554
|
+
this.$watch( "$refs.main.model.midlWidth",
|
|
556
555
|
function (newVal, oldVal) {
|
|
557
|
-
// 做点什么
|
|
558
556
|
if (oldVal != undefined) {
|
|
559
557
|
self.showStats();
|
|
560
558
|
}
|
|
@@ -605,23 +603,23 @@ export default {
|
|
|
605
603
|
for (var i = 0; i < self.model.tags1.length; i++) {
|
|
606
604
|
var moreWidth = 22;
|
|
607
605
|
|
|
608
|
-
|
|
609
|
-
sumWidth +
|
|
610
|
-
|
|
606
|
+
if(self.$refs["StatisticsItem" + i][0] && self.$refs["StatisticsItem" + i][0].offsetParent){
|
|
607
|
+
sumWidth = sumWidth + self.$refs["StatisticsItem" + i][0].offsetParent.offsetWidth;
|
|
608
|
+
}
|
|
611
609
|
var nextWidth = 0;
|
|
612
610
|
if (i + 1 < self.model.tags1.length) {
|
|
613
611
|
try {
|
|
614
|
-
nextWidth =
|
|
615
|
-
self.$refs["StatisticsItem" + (i + 1)][0].offsetParent
|
|
616
|
-
.offsetWidth;
|
|
612
|
+
nextWidth = self.$refs["StatisticsItem" + (i + 1)][0].offsetParent.offsetWidth;
|
|
617
613
|
} catch (e) {}
|
|
618
|
-
}
|
|
614
|
+
}
|
|
615
|
+
else {
|
|
619
616
|
moreWidth = 0;
|
|
620
617
|
}
|
|
621
618
|
if (self.model.midlWidth - 42 < sumWidth + moreWidth) {
|
|
622
619
|
showIndex = i;
|
|
623
620
|
break;
|
|
624
|
-
}
|
|
621
|
+
}
|
|
622
|
+
else if (self.model.midlWidth - 42 < nextWidth + moreWidth) {
|
|
625
623
|
showIndex = i + 1;
|
|
626
624
|
break;
|
|
627
625
|
}
|
|
@@ -631,7 +629,8 @@ export default {
|
|
|
631
629
|
self.model.tags1.slice(0, showIndex),
|
|
632
630
|
self.model.tags1.slice(showIndex),
|
|
633
631
|
];
|
|
634
|
-
}
|
|
632
|
+
}
|
|
633
|
+
else {
|
|
635
634
|
self.showData = [self.model.tags1];
|
|
636
635
|
}
|
|
637
636
|
}
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
</el-dropdown>
|
|
57
57
|
</span>
|
|
58
58
|
</div>
|
|
59
|
-
<el-progress type="circle" v-if="file.progressFlag" :percentage="file.loadProgress"></el-progress>
|
|
59
|
+
<el-progress type="circle" v-if="file.progressFlag" :percentage="file.loadProgress" :width="96" :height="96" style="margin-left: 15px;"></el-progress>
|
|
60
60
|
</div>
|
|
61
61
|
</el-upload>
|
|
62
62
|
</div>
|
|
@@ -100,11 +100,12 @@ export default {
|
|
|
100
100
|
methods: {
|
|
101
101
|
load(data) {
|
|
102
102
|
this.model = data;
|
|
103
|
-
|
|
103
|
+
this.classifyClickHandle()
|
|
104
104
|
},
|
|
105
105
|
handleExceed() {
|
|
106
106
|
this.validMessage = "附件数量最多" + this.model.max + "张";
|
|
107
107
|
this.valid = false;
|
|
108
|
+
this.$message.error(this.validMessage);
|
|
108
109
|
},
|
|
109
110
|
//删除
|
|
110
111
|
handleRemove(file) {
|
|
@@ -199,7 +200,6 @@ export default {
|
|
|
199
200
|
return "";
|
|
200
201
|
},
|
|
201
202
|
handleDownload(file) {
|
|
202
|
-
console.log(file);
|
|
203
203
|
},
|
|
204
204
|
handleChange(file, fileList) {
|
|
205
205
|
this.changeHandler(this.model.value);
|
|
@@ -312,15 +312,14 @@ export default {
|
|
|
312
312
|
});
|
|
313
313
|
},
|
|
314
314
|
classifySelectedClickHandle: function (classify) {
|
|
315
|
-
classify.file.mediaLabelName =
|
|
316
|
-
|
|
317
|
-
classify.file.mediaLabelID =
|
|
318
|
-
classify.option[this.model.optionModel.optionAttrs.value];
|
|
315
|
+
classify.file.mediaLabelName = classify.option[this.model.optionModel.optionAttrs.label];
|
|
316
|
+
classify.file.mediaLabelID = classify.option[this.model.optionModel.optionAttrs.value];
|
|
319
317
|
this.model.setClassify(classify);
|
|
320
318
|
if (!this.validFileClass()) {
|
|
321
319
|
this.validMessage = "请选择附件分类";
|
|
322
320
|
this.valid = false;
|
|
323
|
-
}
|
|
321
|
+
}
|
|
322
|
+
else {
|
|
324
323
|
this.valid = true;
|
|
325
324
|
}
|
|
326
325
|
},
|
|
@@ -332,7 +331,8 @@ export default {
|
|
|
332
331
|
if (!this.validFileClass()) {
|
|
333
332
|
this.validMessage = "请选择附件分类";
|
|
334
333
|
this.valid = false;
|
|
335
|
-
}
|
|
334
|
+
}
|
|
335
|
+
else {
|
|
336
336
|
this.valid = true;
|
|
337
337
|
}
|
|
338
338
|
},
|
|
@@ -779,6 +779,11 @@
|
|
|
779
779
|
|| f.$el.offsetParent.offsetParent.offsetParent.classList[0] === 'app-main'
|
|
780
780
|
|| f.$el.offsetParent.offsetParent.classList[0] === 'app-main') {
|
|
781
781
|
total = f.$el.offsetParent.offsetTop;
|
|
782
|
+
if(f.$el.offsetParent.offsetParent.classList[0] === 'app-main'
|
|
783
|
+
&& f.$el.offsetTop>f.$el.offsetParent.offsetTop
|
|
784
|
+
&& f.$el.offsetParent.classList[0] === 'el-row'){
|
|
785
|
+
total = f.$el.offsetTop;
|
|
786
|
+
}
|
|
782
787
|
this.$common.setScrollTop(total);
|
|
783
788
|
}
|
|
784
789
|
else if (f.$el.offsetParent.offsetParent.offsetParent.classList[0] === 'ct-dialog_wrapper') {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div
|
|
2
|
+
<div class="ct-Layout" v-if="Layout !== null && !loading">
|
|
3
3
|
<ct-layoutchildren :rowindex="rowindex" :actionRouter="actionRouter" :rowdata="vmodel" :vmodel="Layout" @click="clickHandler"></ct-layoutchildren>
|
|
4
4
|
</div>
|
|
5
5
|
</template>
|
|
@@ -224,7 +224,24 @@
|
|
|
224
224
|
mounted() {
|
|
225
225
|
},
|
|
226
226
|
beforeDestroy() {
|
|
227
|
-
|
|
227
|
+
async function destroyDeep(vnode) {
|
|
228
|
+
let vnodes
|
|
229
|
+
if (vnode.children || (typeof vnode.componentInstance !== 'undefined' && vnode.componentInstance._vnode.children)) {
|
|
230
|
+
vnodes = vnode.children || vnode.componentInstance._vnode.children
|
|
231
|
+
for (const vn of vnodes) {
|
|
232
|
+
destroyDeep(vn)
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
if (typeof vnode.componentInstance !== 'undefined') {
|
|
236
|
+
vnode.componentInstance.$destroy()
|
|
237
|
+
}
|
|
238
|
+
setTimeout(() => {
|
|
239
|
+
vnode.componentInstance = undefined
|
|
240
|
+
vnode.elm.innerHTML = ''
|
|
241
|
+
}, 0)
|
|
242
|
+
}
|
|
243
|
+
this.Layout = null;
|
|
244
|
+
destroyDeep(this._vnode)
|
|
228
245
|
},
|
|
229
246
|
}
|
|
230
247
|
</script>
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
data() {
|
|
30
30
|
return {
|
|
31
|
-
|
|
31
|
+
|
|
32
32
|
};
|
|
33
33
|
},
|
|
34
34
|
created() {
|
|
@@ -43,7 +43,23 @@
|
|
|
43
43
|
|
|
44
44
|
},
|
|
45
45
|
beforeDestroy() {
|
|
46
|
-
|
|
46
|
+
async function destroyDeep(vnode) {
|
|
47
|
+
let vnodes
|
|
48
|
+
if (vnode.children || (typeof vnode.componentInstance !== 'undefined' && vnode.componentInstance._vnode.children)) {
|
|
49
|
+
vnodes = vnode.children || vnode.componentInstance._vnode.children
|
|
50
|
+
for (const vn of vnodes) {
|
|
51
|
+
destroyDeep(vn)
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
if (typeof vnode.componentInstance !== 'undefined') {
|
|
55
|
+
vnode.componentInstance.$destroy()
|
|
56
|
+
}
|
|
57
|
+
setTimeout(() => {
|
|
58
|
+
vnode.componentInstance = undefined
|
|
59
|
+
vnode.elm.innerHTML = ''
|
|
60
|
+
}, 0)
|
|
61
|
+
}
|
|
62
|
+
destroyDeep(this._vnode)
|
|
47
63
|
},
|
|
48
64
|
}
|
|
49
65
|
</script>
|
|
@@ -19,8 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
data() {
|
|
21
21
|
return {
|
|
22
|
-
|
|
23
|
-
forwindex:0
|
|
22
|
+
|
|
24
23
|
};
|
|
25
24
|
},
|
|
26
25
|
created() {
|
|
@@ -35,7 +34,23 @@
|
|
|
35
34
|
|
|
36
35
|
},
|
|
37
36
|
beforeDestroy() {
|
|
38
|
-
|
|
37
|
+
async function destroyDeep(vnode) {
|
|
38
|
+
let vnodes
|
|
39
|
+
if (vnode.children || (typeof vnode.componentInstance !== 'undefined' && vnode.componentInstance._vnode.children)) {
|
|
40
|
+
vnodes = vnode.children || vnode.componentInstance._vnode.children
|
|
41
|
+
for (const vn of vnodes) {
|
|
42
|
+
destroyDeep(vn)
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
if (typeof vnode.componentInstance !== 'undefined') {
|
|
46
|
+
vnode.componentInstance.$destroy()
|
|
47
|
+
}
|
|
48
|
+
setTimeout(() => {
|
|
49
|
+
vnode.componentInstance = undefined
|
|
50
|
+
vnode.elm.innerHTML = ''
|
|
51
|
+
}, 0)
|
|
52
|
+
}
|
|
53
|
+
destroyDeep(this._vnode)
|
|
39
54
|
},
|
|
40
55
|
}
|
|
41
56
|
</script>
|
|
@@ -102,7 +102,23 @@
|
|
|
102
102
|
|
|
103
103
|
},
|
|
104
104
|
beforeDestroy() {
|
|
105
|
-
|
|
105
|
+
async function destroyDeep(vnode) {
|
|
106
|
+
let vnodes
|
|
107
|
+
if (vnode.children || (typeof vnode.componentInstance !== 'undefined' && vnode.componentInstance._vnode.children)) {
|
|
108
|
+
vnodes = vnode.children || vnode.componentInstance._vnode.children
|
|
109
|
+
for (const vn of vnodes) {
|
|
110
|
+
destroyDeep(vn)
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
if (typeof vnode.componentInstance !== 'undefined') {
|
|
114
|
+
vnode.componentInstance.$destroy()
|
|
115
|
+
}
|
|
116
|
+
setTimeout(() => {
|
|
117
|
+
vnode.componentInstance = undefined
|
|
118
|
+
vnode.elm.innerHTML = ''
|
|
119
|
+
}, 0)
|
|
120
|
+
}
|
|
121
|
+
destroyDeep(this._vnode)
|
|
106
122
|
},
|
|
107
123
|
}
|
|
108
124
|
</script>
|
|
@@ -193,6 +193,9 @@
|
|
|
193
193
|
}
|
|
194
194
|
},
|
|
195
195
|
tableLoaded() {
|
|
196
|
+
if (typeof this.$refs.table.model.cellLayout !== "undefined") {
|
|
197
|
+
this.$refs.screen.LoadLayout();
|
|
198
|
+
}
|
|
196
199
|
if(this.$refs.table.model.listData.length>0){
|
|
197
200
|
this.flagSideBarOfData=true;
|
|
198
201
|
this.flagSideBar=this.$refs.table.model.flagSideBar;
|
|
@@ -296,7 +299,26 @@
|
|
|
296
299
|
doClosePopoverHandle(){
|
|
297
300
|
this.$refs.screen.$refs.doClosePopover.click();
|
|
298
301
|
},
|
|
299
|
-
}
|
|
302
|
+
},
|
|
303
|
+
beforeDestroy() {
|
|
304
|
+
async function destroyDeep(vnode) {
|
|
305
|
+
let vnodes
|
|
306
|
+
if (vnode.children || (typeof vnode.componentInstance !== 'undefined' && vnode.componentInstance._vnode.children)) {
|
|
307
|
+
vnodes = vnode.children || vnode.componentInstance._vnode.children
|
|
308
|
+
for (const vn of vnodes) {
|
|
309
|
+
destroyDeep(vn)
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
if (typeof vnode.componentInstance !== 'undefined') {
|
|
313
|
+
vnode.componentInstance.$destroy()
|
|
314
|
+
}
|
|
315
|
+
setTimeout(() => {
|
|
316
|
+
vnode.componentInstance = undefined
|
|
317
|
+
vnode.elm.innerHTML = ''
|
|
318
|
+
}, 0)
|
|
319
|
+
}
|
|
320
|
+
destroyDeep(this._vnode)
|
|
321
|
+
},
|
|
300
322
|
}
|
|
301
323
|
</script>
|
|
302
324
|
<style lang="scss" scoped>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="st-serach-screen">
|
|
3
3
|
<div v-bind="model.attrs" style="width:100%" v-if="!isLoading">
|
|
4
|
-
<div class="ct-ptb5 max-ptb5" v-if="showScreen">
|
|
4
|
+
<div :class="isLayout === true ? 'ct-ptl0 max-ptb5' : 'ct-ptb5 max-ptb5'" v-if="showScreen">
|
|
5
5
|
<template v-for="(col, index) in model.screen" v-if="col.show !== false">
|
|
6
6
|
<br v-if="col.is === 'ct-linefeed'" />
|
|
7
7
|
<component v-else class="list-field max-list-field" v-bind="col.listBind" :is="col.is" :vmodel="col" :api="model.optionApi" @click="clickHandler(col)"></component>
|
|
@@ -48,7 +48,8 @@
|
|
|
48
48
|
screenRow: [],
|
|
49
49
|
highScreenRow: [],
|
|
50
50
|
highScreen: false,
|
|
51
|
-
showScreen: true
|
|
51
|
+
showScreen: true,
|
|
52
|
+
isLayout: false,
|
|
52
53
|
}
|
|
53
54
|
},
|
|
54
55
|
mounted() {
|
|
@@ -172,6 +173,9 @@
|
|
|
172
173
|
saveShortcut(){
|
|
173
174
|
this.$emit('saveShortcut');
|
|
174
175
|
},
|
|
176
|
+
LoadLayout() {
|
|
177
|
+
this.isLayout = true;
|
|
178
|
+
},
|
|
175
179
|
}
|
|
176
180
|
}
|
|
177
181
|
</script>
|
|
@@ -198,5 +202,8 @@
|
|
|
198
202
|
.list-field {
|
|
199
203
|
padding: 5px;
|
|
200
204
|
}
|
|
205
|
+
.ct-ptl0 {
|
|
206
|
+
padding: 0 10px 10px 10px;
|
|
207
|
+
}
|
|
201
208
|
|
|
202
209
|
</style>
|
|
@@ -98,8 +98,8 @@
|
|
|
98
98
|
v-bind="column.attrs">
|
|
99
99
|
<!--操作列-->
|
|
100
100
|
<div v-if="column.id === 'operation'" class="div_allinline" :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'">
|
|
101
|
-
<ct-tablecurrency v-for="(router, rowRouterIndex) in getRowRouterShow(row)" :key="rowRouterIndex"
|
|
102
|
-
v-if="!router.rightField || row[router.rightField] == 1" :isOperationalColumn="true"
|
|
101
|
+
<ct-tablecurrency v-for="(router, rowRouterIndex) in getRowRouterShow(row)" :key="rowRouterIndex" :ref="'router' +router.id+ rowindex"
|
|
102
|
+
v-if="!router.rightField || row[router.rightField] == 1" :isOperationalColumn="true" :rowindex="rowindex"
|
|
103
103
|
:router="router" :colValue="router.label" :rowData="row" @click="rolRouterClickHandler">
|
|
104
104
|
</ct-tablecurrency>
|
|
105
105
|
<el-popover v-if="getRowRouterDisplay(row).length > 0" :ref="'popover' + rowindex"
|
|
@@ -118,12 +118,12 @@
|
|
|
118
118
|
</div>
|
|
119
119
|
|
|
120
120
|
<ct-tablecurrency v-else-if="column.id === 'voice'" :isShowVoice="true"
|
|
121
|
-
:router="column.router" :colValue="column.router.label"
|
|
121
|
+
:router="column.router" :colValue="column.router.label" :rowindex="rowindex"
|
|
122
122
|
:rowData="row" @click="rolRouterClickHandler" :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'">
|
|
123
123
|
</ct-tablecurrency>
|
|
124
124
|
|
|
125
125
|
<!--可点击的列-->
|
|
126
|
-
<ct-tablecurrency v-else-if="column.router"
|
|
126
|
+
<ct-tablecurrency v-else-if="column.router" :ref="'router' +column.router.id+ rowindex" :rowindex="rowindex"
|
|
127
127
|
:align="column.attrs.align" :class="column.autoRowHeight ? 'lineFeedCell' : 'cell'"
|
|
128
128
|
:router="column.router" :colValue="row[column.id]" :rowData="row" @click="rolRouterClickHandler">
|
|
129
129
|
</ct-tablecurrency>
|
|
@@ -283,7 +283,12 @@ export default {
|
|
|
283
283
|
self.model.setRow(self.model.listData);
|
|
284
284
|
}
|
|
285
285
|
self.tableComplate = true;
|
|
286
|
-
|
|
286
|
+
self.setTableHeight();
|
|
287
|
+
if (self.isLayout) {
|
|
288
|
+
setTimeout(function () {
|
|
289
|
+
self.setTableHeight();
|
|
290
|
+
}, 100);
|
|
291
|
+
}
|
|
287
292
|
this.selectAllType = this.model.getSelectAll();
|
|
288
293
|
|
|
289
294
|
this.$nextTick(() => {
|
|
@@ -458,7 +463,9 @@ export default {
|
|
|
458
463
|
function scrollHandle(e) {
|
|
459
464
|
self.getScrollAttr();
|
|
460
465
|
}
|
|
461
|
-
tableCont
|
|
466
|
+
if (typeof tableCont !== "undefined") {
|
|
467
|
+
tableCont.addEventListener("scroll", self.getScrollAttr);
|
|
468
|
+
}
|
|
462
469
|
});
|
|
463
470
|
},
|
|
464
471
|
removeScrollEvent() {
|
|
@@ -619,7 +626,20 @@ export default {
|
|
|
619
626
|
if (this.$parent.$parent.$refs.shortcutFollow) {
|
|
620
627
|
h4 = this.$parent.$parent.$refs.shortcutFollow.offsetHeight | 0;
|
|
621
628
|
}
|
|
622
|
-
|
|
629
|
+
var h5 = 0;
|
|
630
|
+
if (this.$parent.$refs.screen) {
|
|
631
|
+
h5 = this.$parent.$refs.screen.$el.offsetHeight | 0;
|
|
632
|
+
}
|
|
633
|
+
var h6 = 0;
|
|
634
|
+
if (this.$refs.toolbar) {
|
|
635
|
+
h6 = this.$refs.toolbar.$el.offsetHeight | 0;
|
|
636
|
+
}
|
|
637
|
+
var h7 = 0;
|
|
638
|
+
if (this.$refs.listHeader) {
|
|
639
|
+
h7 = this.$refs.listHeader.$el.offsetHeight | 0;
|
|
640
|
+
}
|
|
641
|
+
var h8 = this.$refs.tableStats ? (this.$refs.tableStats.$el.offsetHeight + 7) | 0 : 0;
|
|
642
|
+
let tableHeight = h1 - h2 - h3 - h4 - h5 - h6 - h7 - h8- 290;
|
|
623
643
|
if (h2 == 0) {
|
|
624
644
|
tableHeight = tableHeight + 15;
|
|
625
645
|
}
|
|
@@ -782,10 +802,16 @@ export default {
|
|
|
782
802
|
|
|
783
803
|
this.routerClickHandler(field, submitData, action);
|
|
784
804
|
},
|
|
785
|
-
rolRouterClickHandler(field, rowData, rowindex) {
|
|
805
|
+
rolRouterClickHandler(field, rowData, rowindex,visible) {
|
|
786
806
|
if (this.$refs["popover" + rowindex]) {
|
|
787
807
|
this.$refs["popover" + rowindex][0].doClose();
|
|
788
808
|
}
|
|
809
|
+
if(field.isListenVoice){
|
|
810
|
+
if(this.model.currentListenVoice){
|
|
811
|
+
this.$refs[this.model.currentListenVoice][0].closeListenVoice()
|
|
812
|
+
}
|
|
813
|
+
this.model.currentListenVoice=visible?'router'+field.id+rowindex:'';
|
|
814
|
+
}
|
|
789
815
|
|
|
790
816
|
var self = this;
|
|
791
817
|
var submitData = {};
|
|
@@ -1303,8 +1329,7 @@ export default {
|
|
|
1303
1329
|
else {
|
|
1304
1330
|
// let parm={submitData:submitData,field:field}
|
|
1305
1331
|
// self.$common.excuteFunStr.call(self.model.scripts, field.action,parm);
|
|
1306
|
-
let title =
|
|
1307
|
-
field.pageTitle == undefined ? field.label : field.pageTitle;
|
|
1332
|
+
let title = field.pageTitle == undefined ? field.label : field.pageTitle;
|
|
1308
1333
|
submitData.actionType = field.actionType;
|
|
1309
1334
|
var fun = self.$common.getDataDrivenOpts().handler[action];
|
|
1310
1335
|
fun(submitData, title, self.model);
|