centaline-data-driven 1.2.79 → 1.2.80
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/centaline/dynamicLayout/src/dynamicLayout.vue +144 -31
- package/src/centaline/dynamicLayout/src/dynamicLayoutChildren.vue +11 -8
- package/src/centaline/dynamicLayout/src/dynamicLayoutChildrenFor.vue +39 -0
- package/src/centaline/dynamicLayout/src/dynamicLayoutImage.vue +55 -5
- package/src/centaline/dynamicLayout/src/dynamicLayoutLabel.vue +6 -4
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +8 -2
- package/src/centaline/loader/src/ctl/CellLayout.js +184 -115
- package/src/centaline/loader/src/ctl/FormList.js +13 -2
- package/src/main.js +3 -3
- 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
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
<div v-loading="loading" class="ct-Layout" v-if="Layout !== null && !loading">
|
|
3
|
+
<ct-layoutchildren :ref="'layout'+rowindex" :rowindex="rowindex" :vmodel="Layout" @click="rolRouterClickHandler"></ct-layoutchildren>
|
|
4
|
+
</div>
|
|
5
5
|
</template>
|
|
6
6
|
<script>
|
|
7
7
|
import dynamicElement from '../../mixins/dynamicElement'
|
|
8
8
|
import dynamicLayoutChildren from './dynamicLayoutChildren.vue';
|
|
9
|
-
import common from '../../common';
|
|
10
9
|
export default {
|
|
11
10
|
name: 'ct-layout',
|
|
12
11
|
mixins: [dynamicElement],
|
|
@@ -24,7 +23,7 @@
|
|
|
24
23
|
},
|
|
25
24
|
data() {
|
|
26
25
|
return {
|
|
27
|
-
Layout:[]
|
|
26
|
+
Layout: []
|
|
28
27
|
};
|
|
29
28
|
},
|
|
30
29
|
created() {
|
|
@@ -49,21 +48,71 @@
|
|
|
49
48
|
},
|
|
50
49
|
load(data, cellLayout) {
|
|
51
50
|
var str = '';
|
|
51
|
+
if (cellLayout.indexOf("for=") != -1) {
|
|
52
|
+
var cellxmlDOM = this.loadXML(cellLayout);
|
|
53
|
+
var listxml = this.getxmlForStr(cellxmlDOM);
|
|
54
|
+
|
|
55
|
+
if (typeof listxml !== 'undefined') {
|
|
56
|
+
for (var j = 0; j < listxml.attributes.length; j++) {
|
|
57
|
+
var attribute = listxml.attributes.item(j);
|
|
58
|
+
if (attribute.nodeName.toLowerCase() == "for".toLowerCase()) {
|
|
59
|
+
var liststr = "";
|
|
60
|
+
var celllist = this.xmlToString(listxml)
|
|
61
|
+
|
|
62
|
+
var celllistNew = this.loadXML(celllist);
|
|
63
|
+
var newAtt = celllistNew.createAttribute("forrowindex");
|
|
64
|
+
newAtt.nodeValue = "{{forrowindex}}";
|
|
65
|
+
var x = celllistNew.getElementsByTagName("Layout");
|
|
66
|
+
x[0].setAttributeNode(newAtt);
|
|
67
|
+
var cellstr = this.xmlToString(celllistNew)
|
|
68
|
+
var list = data[attribute.nodeValue];
|
|
69
|
+
if (typeof list !== 'undefined') {
|
|
70
|
+
for (var i = 0; i < list.length; i++) {
|
|
71
|
+
list[i].forrowindex = i;
|
|
72
|
+
liststr += cellstr.replace(/\{\{(.+?)\}\}/g, (...args) => {
|
|
73
|
+
return this.getValue(list[i], args[1])
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
cellLayout = cellLayout.replace(/\n/g, '').trim() //去除换行 和头尾空格
|
|
78
|
+
let replacer = function (match, p1, p2, p3, offset) {
|
|
79
|
+
return p1 + p3
|
|
80
|
+
}
|
|
81
|
+
cellLayout = cellLayout.replace(/(>)(\s*)(<)/g, replacer) //把 > 和 < 之间的空格去除
|
|
82
|
+
cellLayout = cellLayout.replace(/ +/g, ' ')
|
|
83
|
+
cellLayout = cellLayout.replace(celllist, liststr)
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
52
88
|
if (typeof data !== 'undefined') {
|
|
53
89
|
str = cellLayout.replace(/\{\{(.+?)\}\}/g, (...args) => {
|
|
54
90
|
return this.getValue(data, args[1])
|
|
55
91
|
});
|
|
56
92
|
}
|
|
57
93
|
var xmlDOM = this.loadXML(str);
|
|
58
|
-
|
|
94
|
+
console.log(xmlDOM)
|
|
95
|
+
this.Layout = this.xmlToJson(xmlDOM);
|
|
96
|
+
this.model = this.loaderObj.CellLayout(this.Layout);
|
|
59
97
|
this.loading = false;
|
|
60
98
|
},
|
|
61
|
-
getValue(data,val) {
|
|
99
|
+
getValue(data, val) {
|
|
62
100
|
return val.split('.').reduce((data, currentVal) => {
|
|
63
|
-
|
|
101
|
+
var rtn = data[currentVal];
|
|
102
|
+
if (rtn.toString().indexOf('"') != -1) {
|
|
103
|
+
rtn = rtn.replace(/"/g, "'");
|
|
104
|
+
rtn = rtn.replace(/>/g, ">");
|
|
105
|
+
rtn = rtn.replace(/</g, "<");
|
|
106
|
+
}
|
|
107
|
+
return rtn
|
|
64
108
|
}, data)
|
|
65
109
|
},
|
|
66
110
|
loadXML(xmlString) {
|
|
111
|
+
xmlString = xmlString.replace(/\n/g, '').trim()
|
|
112
|
+
let replacer = function (match, p1, p2, p3, offset) {
|
|
113
|
+
return p1 + p3
|
|
114
|
+
}
|
|
115
|
+
xmlString = xmlString.replace(/(>)(\s*)(<)/g, replacer)
|
|
67
116
|
if (document.all) {
|
|
68
117
|
var xmlDom = new ActiveXObject("Microsoft.XMLDOM");
|
|
69
118
|
xmlDom.loadXML(xmlString)
|
|
@@ -73,19 +122,43 @@
|
|
|
73
122
|
return new DOMParser().parseFromString(xmlString, "text/xml");
|
|
74
123
|
}
|
|
75
124
|
},
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
125
|
+
xmlToString(xmlObj) {
|
|
126
|
+
if (document.all) //IE浏览器
|
|
127
|
+
{
|
|
128
|
+
return xmlObj.xml;
|
|
129
|
+
}
|
|
130
|
+
else //其他浏览器
|
|
131
|
+
{
|
|
132
|
+
return (new XMLSerializer()).serializeToString(xmlObj);
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
getxmlForStr(xml) {
|
|
80
136
|
if (xml.nodeType == 1) { // element
|
|
81
137
|
// do attributes
|
|
82
138
|
if (xml.attributes.length > 0) {
|
|
83
139
|
for (var j = 0; j < xml.attributes.length; j++) {
|
|
84
140
|
var attribute = xml.attributes.item(j);
|
|
85
|
-
|
|
141
|
+
if (attribute.nodeName.toLowerCase() == "for".toLowerCase()) {
|
|
142
|
+
return xml
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
if (xml.hasChildNodes()) {
|
|
148
|
+
for (var i = 0; i < xml.childNodes.length; i++) {
|
|
149
|
+
var item = xml.childNodes.item(i);
|
|
150
|
+
var result = this.getxmlForStr(item);
|
|
151
|
+
if (result) {
|
|
152
|
+
return result;
|
|
86
153
|
}
|
|
87
154
|
}
|
|
88
155
|
}
|
|
156
|
+
},
|
|
157
|
+
|
|
158
|
+
xmlToJson(xml) {
|
|
159
|
+
var self = this;
|
|
160
|
+
// Create the return object
|
|
161
|
+
var obj = {};
|
|
89
162
|
if (xml.nodeName.toLowerCase() == "Layout".toLowerCase() || xml.nodeName.toLowerCase() == "StackLayout".toLowerCase()) {
|
|
90
163
|
obj["is"] = "ct-layoutchildren";
|
|
91
164
|
}
|
|
@@ -98,12 +171,35 @@
|
|
|
98
171
|
else if (xml.nodeName.toLowerCase() == "Image".toLowerCase()) {
|
|
99
172
|
obj["is"] = "ct-layoutimage";
|
|
100
173
|
}
|
|
101
|
-
|
|
174
|
+
if (xml.nodeType == 1) { // element
|
|
175
|
+
// do attributes
|
|
176
|
+
if (xml.attributes.length > 0) {
|
|
177
|
+
for (var j = 0; j < xml.attributes.length; j++) {
|
|
178
|
+
var attribute = xml.attributes.item(j);
|
|
179
|
+
obj[attribute.nodeName] = attribute.nodeValue;
|
|
180
|
+
if (attribute.nodeName.toLowerCase() == "for".toLowerCase()) {
|
|
181
|
+
obj["is"] = "ct-layoutchildrenfor";
|
|
182
|
+
}
|
|
183
|
+
if (attribute.nodeName.toLowerCase() == "routerKey".toLowerCase()) {
|
|
184
|
+
var actionRouter = self.actionRouter;
|
|
185
|
+
let field = actionRouter.find(b => {
|
|
186
|
+
return b.id === attribute.nodeValue;
|
|
187
|
+
});
|
|
188
|
+
if (typeof field !== "undefined") {
|
|
189
|
+
if (!field.rightField || self.vmodel[field.rightField] == 1) {
|
|
190
|
+
obj["rightRouter"] = true;
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
|
|
102
199
|
// do children
|
|
103
200
|
if (xml.hasChildNodes()) {
|
|
104
201
|
for (var i = 0; i < xml.childNodes.length; i++) {
|
|
105
202
|
var item = xml.childNodes.item(i);
|
|
106
|
-
var nodeName = item.nodeName;
|
|
107
203
|
if (typeof (obj["fields"]) == "undefined") {
|
|
108
204
|
obj["fields"] = [];
|
|
109
205
|
obj["fields"].push(this.xmlToJson(item));
|
|
@@ -119,29 +215,34 @@
|
|
|
119
215
|
}
|
|
120
216
|
return obj;
|
|
121
217
|
},
|
|
122
|
-
rolRouterClickHandler(routerKey, rowindex) {
|
|
218
|
+
rolRouterClickHandler(routerKey, rowindex, forname, forrowindex) {
|
|
123
219
|
var self = this;
|
|
124
220
|
var submitData = {};
|
|
125
221
|
var rowData = self.vmodel;
|
|
126
222
|
var actionRouter = self.actionRouter;
|
|
127
|
-
debugger
|
|
128
223
|
let field = actionRouter.find(b => {
|
|
129
224
|
return b.id === routerKey;
|
|
130
225
|
});
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
226
|
+
if (typeof forname !== "undefined") {
|
|
227
|
+
field.submitListField.forEach((k) => {
|
|
228
|
+
submitData[k] = rowData[forname][forrowindex][k];
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
else {
|
|
232
|
+
field.submitListField.forEach((k) => {
|
|
233
|
+
submitData[k] = rowData[k];
|
|
234
|
+
});
|
|
235
|
+
}
|
|
135
236
|
let action = field.action;
|
|
136
237
|
if (field.actionField) {
|
|
137
238
|
action = rowData[field.actionField];
|
|
138
239
|
}
|
|
139
|
-
this.routerClickHandler(field, submitData, action);
|
|
240
|
+
this.routerClickHandler(field, submitData, action, rowindex,forname, forrowindex);
|
|
140
241
|
},
|
|
141
|
-
routerClickHandler(field, submitData, action) {
|
|
242
|
+
routerClickHandler(field, submitData, action, rowindex, forname, forrowindex) {
|
|
142
243
|
let self = this;
|
|
143
244
|
action = action || field.action;
|
|
144
|
-
|
|
245
|
+
|
|
145
246
|
var clickAcion = function () {
|
|
146
247
|
//若不是客户端方法,则直接访问接口
|
|
147
248
|
if (!field.isClientFuntion) {
|
|
@@ -250,15 +351,11 @@
|
|
|
250
351
|
self.$common.openDialog(dialogOption);
|
|
251
352
|
}
|
|
252
353
|
else {
|
|
253
|
-
self.operationLoading = true;
|
|
254
354
|
field.doAction(submitData, (data) => {
|
|
255
|
-
self.
|
|
256
|
-
if (
|
|
257
|
-
self.
|
|
355
|
+
self.model.doAction(data, field);
|
|
356
|
+
if (field.actionType === 19) {
|
|
357
|
+
self.callTelClick(self.$refs['layout' + rowindex].$refs.layoutchildren, data, forname, forrowindex)
|
|
258
358
|
}
|
|
259
|
-
self.$forceUpdate();
|
|
260
|
-
self.$refs.footer.$forceUpdate();
|
|
261
|
-
self.updateCurrentRow(field, data);
|
|
262
359
|
})
|
|
263
360
|
}
|
|
264
361
|
}
|
|
@@ -291,6 +388,22 @@
|
|
|
291
388
|
clickAcion();
|
|
292
389
|
}
|
|
293
390
|
},
|
|
391
|
+
callTelClick(VueCom, data, forname, forrowindex) {
|
|
392
|
+
if (typeof VueCom.$refs['router' + forname + forrowindex] !== "undefined") {
|
|
393
|
+
VueCom.callTelClick(data);
|
|
394
|
+
return true;
|
|
395
|
+
}
|
|
396
|
+
if (VueCom.$children.length>0) {
|
|
397
|
+
for (var i = 0; i < VueCom.$children.length; i++) {
|
|
398
|
+
var item = VueCom.$children[i];
|
|
399
|
+
var result = this.callTelClick(item, data,forname, forrowindex);
|
|
400
|
+
if (result) {
|
|
401
|
+
return result;
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
},
|
|
406
|
+
|
|
294
407
|
},
|
|
295
408
|
mounted() {
|
|
296
409
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<el-container :direction="model.orientation" :style="model.styleObject">
|
|
3
|
-
<component v-for="(item, index) in model.fields" :key="index" :is="item.is" :vmodel="item" :rowindex="rowindex"
|
|
2
|
+
<el-container :direction="model.orientation" :style="model.styleObject" ref="layoutchildren">
|
|
3
|
+
<component v-for="(item, index) in model.fields" :key="index" :is="item.is" :vmodel="item" :rowindex="rowindex" :forname="forname" :forrowindex="forrowindex" @click="clickHandler"></component>
|
|
4
4
|
</el-container>
|
|
5
5
|
</template>
|
|
6
6
|
<script>
|
|
@@ -8,30 +8,33 @@
|
|
|
8
8
|
import dynamicLayoutLabel from './dynamicLayoutLabel.vue';
|
|
9
9
|
import dynamicLayoutLine from './dynamicLayoutLine.vue';
|
|
10
10
|
import dynamicLayoutImage from './dynamicLayoutImage.vue';
|
|
11
|
+
import dynamicLayoutChildrenFor from './dynamicLayoutChildrenFor.vue';
|
|
11
12
|
export default {
|
|
12
13
|
name: 'ct-layoutchildren',
|
|
13
14
|
mixins: [dynamicElement],
|
|
14
15
|
components: {
|
|
15
16
|
'ct-layoutlabel': dynamicLayoutLabel,
|
|
16
17
|
'ct-layoutline': dynamicLayoutLine,
|
|
17
|
-
'ct-layoutimage': dynamicLayoutImage
|
|
18
|
+
'ct-layoutimage': dynamicLayoutImage,
|
|
19
|
+
'ct-layoutchildrenfor': dynamicLayoutChildrenFor
|
|
18
20
|
},
|
|
19
21
|
props: {
|
|
20
22
|
vmodel: Object,
|
|
21
|
-
rowindex: Number
|
|
23
|
+
rowindex: Number,
|
|
24
|
+
forname: String,
|
|
25
|
+
forrowindex: String
|
|
22
26
|
},
|
|
23
27
|
data() {
|
|
24
28
|
return {
|
|
25
|
-
|
|
29
|
+
forindex:0
|
|
26
30
|
};
|
|
27
31
|
},
|
|
28
32
|
created() {
|
|
29
33
|
this.model = this.loaderObj.CellLayout(this.vmodel);
|
|
30
|
-
|
|
31
34
|
},
|
|
32
35
|
methods: {
|
|
33
|
-
clickHandler(routerKey, rowindex) {
|
|
34
|
-
this.$emit('click', routerKey, rowindex);
|
|
36
|
+
clickHandler(routerKey, rowindex, forname, forrowindex) {
|
|
37
|
+
this.$emit('click', routerKey, rowindex, forname, forrowindex);
|
|
35
38
|
}
|
|
36
39
|
},
|
|
37
40
|
mounted() {
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<el-container :direction="model.orientation" :style="model.styleObject">
|
|
3
|
+
<ct-layoutchildren v-for="(item, index) in model.fields" :key="index" :rowindex="rowindex" :forrowindex="model.forrowindex" :vmodel="item" :forname="model.forname" @click="clickHandler"></ct-layoutchildren>
|
|
4
|
+
</el-container>
|
|
5
|
+
</template>
|
|
6
|
+
<script>
|
|
7
|
+
import dynamicElement from '../../mixins/dynamicElement'
|
|
8
|
+
export default {
|
|
9
|
+
name: 'ct-layoutchildrenfor',
|
|
10
|
+
mixins: [dynamicElement],
|
|
11
|
+
components: {
|
|
12
|
+
'ct-layoutchildren': () => import('./dynamicLayoutChildren.vue'),
|
|
13
|
+
},
|
|
14
|
+
props: {
|
|
15
|
+
vmodel: Object,
|
|
16
|
+
rowindex: Number
|
|
17
|
+
},
|
|
18
|
+
data() {
|
|
19
|
+
return {
|
|
20
|
+
forname: '',
|
|
21
|
+
forwindex:0
|
|
22
|
+
};
|
|
23
|
+
},
|
|
24
|
+
created() {
|
|
25
|
+
this.model = this.loaderObj.CellLayout(this.vmodel);
|
|
26
|
+
},
|
|
27
|
+
methods: {
|
|
28
|
+
clickHandler(routerKey, rowindex, forname, forrowindex) {
|
|
29
|
+
this.$emit('click', routerKey, rowindex, forname, forrowindex);
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
mounted() {
|
|
33
|
+
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
</script>
|
|
37
|
+
<style>
|
|
38
|
+
|
|
39
|
+
</style>
|
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div v-if="model.routerKey"
|
|
3
|
-
<
|
|
2
|
+
<div v-if="model.routerKey">
|
|
3
|
+
<div :ref="'router'+forname+forrowindex" :style="model.styleObject">
|
|
4
|
+
<el-popover class="Stats-popover" :popper-class="'el-popoverCallTel'" :placement="option.placement?option.placement:'left'"
|
|
5
|
+
v-model="visible" :trigger="option.trigger?option.trigger:''">
|
|
6
|
+
<div style="border-bottom:none">
|
|
7
|
+
<div style="color: #388cd3;text-align: center;">{{message}}</div>
|
|
8
|
+
<img v-show="qrCode" :src="qrCode" style="margin-top: 5px;" :style="{'width':width+'px','height':height+'px'}" />
|
|
9
|
+
</div>
|
|
10
|
+
<el-image :src="tellImgUrl?tellImgUrl:model.value"
|
|
11
|
+
fit="fit" slot="reference" @click="clickHandler($event)" style="cursor:pointer;"></el-image>
|
|
12
|
+
</el-popover>
|
|
13
|
+
</div>
|
|
4
14
|
</div>
|
|
5
15
|
<div v-else :style="model.styleObject">
|
|
6
16
|
<el-image :src="model.value"
|
|
@@ -15,10 +25,25 @@
|
|
|
15
25
|
mixins: [dynamicElement],
|
|
16
26
|
props: {
|
|
17
27
|
vmodel: Object,
|
|
18
|
-
rowindex: Number
|
|
28
|
+
rowindex: Number,
|
|
29
|
+
forname: String,
|
|
30
|
+
forrowindex: String
|
|
19
31
|
},
|
|
20
32
|
data() {
|
|
21
33
|
return {
|
|
34
|
+
visible: false,
|
|
35
|
+
message: '',
|
|
36
|
+
qrCode: '',
|
|
37
|
+
width: 300,
|
|
38
|
+
height: 300,
|
|
39
|
+
tellImgUrl: '',
|
|
40
|
+
option: {
|
|
41
|
+
isHidden: true,//是否开启操作栏隐藏设置,默认开启
|
|
42
|
+
showNum: 3,//如果isHidden为true时,个数大于3就会隐藏,默认是3
|
|
43
|
+
appendId: '',//将浮动栏添加到对应id或者class节点中。或者.xxx。传空字符串是添加到body中。
|
|
44
|
+
trigger: 'manual',//触发方式,传值可查看Popper UI组件trigger属性
|
|
45
|
+
placement: 'bottom-start',//方向,传值可查看Popper UI组件placement属性
|
|
46
|
+
},
|
|
22
47
|
}
|
|
23
48
|
},
|
|
24
49
|
created() {
|
|
@@ -29,8 +54,33 @@
|
|
|
29
54
|
|
|
30
55
|
methods: {
|
|
31
56
|
clickHandler(ev) {
|
|
32
|
-
|
|
33
|
-
|
|
57
|
+
if (!this.visible) {
|
|
58
|
+
this.$emit('click', this.model.routerKey, this.rowindex, this.forname, this.forrowindex);
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
this.visible = false;
|
|
62
|
+
this.tellImgUrl = '';
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
},
|
|
66
|
+
callTelClick(data) {
|
|
67
|
+
this.message = '';
|
|
68
|
+
this.qrCode = '';
|
|
69
|
+
this.tellImgUrl = '';
|
|
70
|
+
if (data.content.actionType == '显示消息') {
|
|
71
|
+
this.visible = true;
|
|
72
|
+
this.message = data.content.message;
|
|
73
|
+
if (data.content.imgUrl) this.tellImgUrl = data.content.imgUrl;
|
|
74
|
+
}
|
|
75
|
+
else if (data.content.actionType == '扫码拨号') {
|
|
76
|
+
this.visible = true;
|
|
77
|
+
this.message = data.content.message;
|
|
78
|
+
this.qrCode = data.content.qrCode;
|
|
79
|
+
if (data.content.width) this.width = data.content.width;
|
|
80
|
+
if (data.content.height) this.height = data.content.height;
|
|
81
|
+
if (data.content.imgUrl) this.tellImgUrl = data.content.imgUrl;
|
|
82
|
+
}
|
|
83
|
+
},
|
|
34
84
|
},
|
|
35
85
|
computed: {
|
|
36
86
|
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div v-if="model.routerKey"
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
2
|
+
<div v-if="model.routerKey">
|
|
3
|
+
<div :style="model.styleObject">
|
|
4
|
+
<a href="javascript:void(0);" @click="clickHandler($event)" class="ct-tablecurrencyItem">
|
|
5
|
+
{{model.value}}
|
|
6
|
+
</a>
|
|
7
|
+
</div>
|
|
6
8
|
</div>
|
|
7
9
|
<div v-else :style="model.styleObject" v-html="model.value">
|
|
8
10
|
</div>
|
|
@@ -549,8 +549,14 @@
|
|
|
549
549
|
else {
|
|
550
550
|
if (this.$parent.$parent.$vnode.componentOptions.tag === 'ct-PropertySimpleDetailRET') {
|
|
551
551
|
var h1 = this.$parent.$parent.$parent.$parent.$refs.sidebar.offsetHeight | 0;
|
|
552
|
-
var h2 =
|
|
553
|
-
|
|
552
|
+
var h2 = 0;
|
|
553
|
+
if (this.$parent.$parent.$refs.contact) {
|
|
554
|
+
h2 = this.$parent.$parent.$refs.contact.offsetHeight | 0;
|
|
555
|
+
}
|
|
556
|
+
var h3 = 0;
|
|
557
|
+
if (this.$parent.$parent.$refs.contact) {
|
|
558
|
+
h3 = this.$parent.$parent.$refs.title.offsetHeight | 0;
|
|
559
|
+
}
|
|
554
560
|
let tableHeight = h1 - h2 - h3 - 270;
|
|
555
561
|
if (h2 == 0) {
|
|
556
562
|
tableHeight = tableHeight + 15;
|