centaline-data-driven 1.5.62 → 1.5.64
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/release-log.md +21 -0
- package/src/centaline/css/common.css +1 -0
- package/src/centaline/dynamicL/src/dynamicL.vue +7 -3
- package/src/centaline/dynamicLayout/src/dynamicLayoutLabel.vue +5 -3
- package/src/centaline/dynamicT/src/dynamicT.vue +8 -5
- package/src/centaline/dynamicViewerFile/src/dynamicViewerFile.vue +8 -8
- package/src/centaline/loader/src/ctl/File.js +28 -0
- package/src/centaline/loader/src/ctl/Form.js +8 -3
- package/src/centaline/templateControls/src/dynamicTableCurrency.vue +1 -1
- package/src/main.js +1 -1
- package/wwwroot/static/centaline/centaline-data-driven.js +64 -30
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
package/package.json
CHANGED
package/release-log.md
CHANGED
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
<span v-if="model.sufLabel" style="width:auto" class="spanMessage">{{model.sufLabel}}</span> -->
|
|
14
14
|
<div class="el-input el-input--mini el-input-group el-input-group--prepend el-input--suffix showLabel lableinput text-justify">
|
|
15
15
|
<div v-if="model.showLabel && model.label" class="el-input-group__prepend">
|
|
16
|
-
<div slot="prepend" class="" :class="[model.labelClass]">
|
|
16
|
+
<div slot="prepend" class="label-ellipsis" :class="[model.labelClass]" :title="model.label">
|
|
17
17
|
{{model.label}}
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
<span class="el-select__tags-text">{{item}}</span>
|
|
23
23
|
</span>
|
|
24
24
|
</span>
|
|
25
|
-
<div v-else style="display:flex">
|
|
25
|
+
<div v-else style="display:inline-flex">
|
|
26
26
|
<!-- --计算占用宽度-- -->
|
|
27
27
|
<div style="position: relative" v-if="isShowComput">
|
|
28
28
|
<label class="ct-lable" style="position: absolute; left: -10000px">
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
</label>
|
|
31
31
|
</div>
|
|
32
32
|
<!-- 展示 -->
|
|
33
|
-
<label class="ct-lable" :style="{ display: (model.labelValue ? 'flex' : '') }">
|
|
33
|
+
<label class="ct-lable" :style="{ display: (model.labelValue ? 'inline-flex' : '') }">
|
|
34
34
|
<el-tooltip placement="top" effect="light" :disabled="isShowTooltip">
|
|
35
35
|
<div slot="content" :style="{ 'width': (model.labelValue.length > 66 ? '400px' : 'auto') }">{{
|
|
36
36
|
model.labelValue
|
|
@@ -106,4 +106,8 @@
|
|
|
106
106
|
display: flex;
|
|
107
107
|
align-items: center;
|
|
108
108
|
}
|
|
109
|
+
.label-ellipsis{
|
|
110
|
+
overflow: hidden;
|
|
111
|
+
text-overflow: ellipsis;
|
|
112
|
+
}
|
|
109
113
|
</style>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div v-if="model.routerKey&&model.visibility!='0'">
|
|
3
3
|
<div v-if="model.rightRouter&&model.value!=''" class="wb" :style="model.styleObject">
|
|
4
|
-
<a href="javascript:void(0);" @click="clickHandler($event)" class="ct-tablecurrencyItem">
|
|
4
|
+
<a href="javascript:void(0);" @click="clickHandler($event)" class="ct-tablecurrencyItem" :class="cuttentColor">
|
|
5
5
|
{{model.value}}
|
|
6
6
|
</a>
|
|
7
7
|
</div>
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
},
|
|
26
26
|
data() {
|
|
27
27
|
return {
|
|
28
|
+
cuttentColor:'',
|
|
28
29
|
}
|
|
29
30
|
},
|
|
30
31
|
created() {
|
|
@@ -34,6 +35,7 @@
|
|
|
34
35
|
methods: {
|
|
35
36
|
clickHandler(ev) {
|
|
36
37
|
this.$emit('click', this.model.routerKey, this.rowindex, this.forname, this.forrowindex);
|
|
38
|
+
this.cuttentColor='centerRed';
|
|
37
39
|
}
|
|
38
40
|
},
|
|
39
41
|
computed: {
|
|
@@ -64,7 +66,7 @@
|
|
|
64
66
|
.wb {
|
|
65
67
|
word-break: break-all;
|
|
66
68
|
}
|
|
67
|
-
.
|
|
68
|
-
color: #cb452f;
|
|
69
|
+
.centerRed {
|
|
70
|
+
color: #cb452f !important;
|
|
69
71
|
}
|
|
70
72
|
</style>
|
|
@@ -48,7 +48,7 @@
|
|
|
48
48
|
</el-input>
|
|
49
49
|
<span v-if="this.minText" class="textarea-tip">{{this.minText}}</span>
|
|
50
50
|
<span v-if="model.showWordLimit" class="textarea-count">{{model.value.length}}/{{ model.max }}</span>
|
|
51
|
-
<span
|
|
51
|
+
<span v-if="!model.forbiddenWords" class="textarea-icon"></span>
|
|
52
52
|
</div>
|
|
53
53
|
<!-- <span v-if="this.minText" :style="{left: minTextLeft+'px'}" style="color: #909399;background: #FFF;position: absolute;font-size: 12px;bottom: 5px;z-index: 3;">{{this.minText}}</span> -->
|
|
54
54
|
<span v-if="model.sufLabel" class="spanMessage ct-flex-div-span">{{model.sufLabel}}</span>
|
|
@@ -112,11 +112,14 @@
|
|
|
112
112
|
this.model.self=this;
|
|
113
113
|
},
|
|
114
114
|
mounted() {
|
|
115
|
-
if(this.model.inputType === 'textarea'
|
|
116
|
-
if(this.model.max && this.model.max>0){
|
|
115
|
+
if(this.model.inputType === 'textarea'){
|
|
116
|
+
if(this.model.max && this.model.max>0 && this.model.min && this.model.min > 0){
|
|
117
117
|
this.minText='需要'+this.model.min+'-'+this.model.max+'个字';
|
|
118
118
|
}
|
|
119
|
-
else{
|
|
119
|
+
else if(this.model.max && this.model.max>0){
|
|
120
|
+
this.minText='至多'+this.model.max+'个字';
|
|
121
|
+
}
|
|
122
|
+
else if(this.model.min && this.model.min > 0){
|
|
120
123
|
this.minText='至少需要'+this.model.min+'个字';
|
|
121
124
|
}
|
|
122
125
|
// this.minTextLeft=this.$refs.inputText.$el.offsetLeft+10;
|
|
@@ -265,7 +268,7 @@
|
|
|
265
268
|
let res=this.forbiddenWordsValue.match(reg1);
|
|
266
269
|
if(res && res.length>0){
|
|
267
270
|
flag=false;
|
|
268
|
-
this.validMessage = (this.validMessage?this.validMessage+" ":"") + "
|
|
271
|
+
this.validMessage = (this.validMessage?this.validMessage+" ":"") + "输入文字中"+res.length+"处包含违禁词"+this.forbiddenWordsReg;
|
|
269
272
|
}
|
|
270
273
|
this.valid = flag;
|
|
271
274
|
}
|
|
@@ -37,24 +37,24 @@
|
|
|
37
37
|
:style="{ height: displayAreaHeight - 78 + 'px' }"
|
|
38
38
|
v-if="resultObject">
|
|
39
39
|
<!--VR-->
|
|
40
|
-
<template v-if="itemFile.mediaTypeID == '1'">
|
|
40
|
+
<template v-if="itemFile.mediaTypeID == '1'||(itemFile.mediaTypeID+'').toLowerCase()=='vr'">
|
|
41
41
|
<iframe :src="resultObject"
|
|
42
42
|
:height="displayAreaHeight - 80 + 'px'"
|
|
43
43
|
:width="displayAreaWidth + 'px'" style="border-width: 0px;">
|
|
44
44
|
</iframe>
|
|
45
45
|
</template>
|
|
46
46
|
<!--Photo-->
|
|
47
|
-
<template v-else-if="itemFile.mediaTypeID == '2'">
|
|
47
|
+
<template v-else-if="itemFile.mediaTypeID == '2'||(itemFile.mediaTypeID+'').toLowerCase()=='photo'">
|
|
48
48
|
<ct-viewerImage ref="viewerImage"
|
|
49
49
|
:imgUrl="resultObject+((!itemFile.flagUrl)?'/'+displayAreaWidth+'/'+displayAreaHeight+'?FlagC=0':'')"
|
|
50
50
|
:rotate="rotate"></ct-viewerImage>
|
|
51
51
|
</template>
|
|
52
52
|
<!--ThreeDimensional-->
|
|
53
|
-
<template v-else-if="itemFile.mediaTypeID == '3'">
|
|
53
|
+
<template v-else-if="itemFile.mediaTypeID == '3'||(itemFile.mediaTypeID+'').toLowerCase()=='threedimensional'">
|
|
54
54
|
暂不支持ThreeDimensional
|
|
55
55
|
</template>
|
|
56
56
|
<!--Video-->
|
|
57
|
-
<template v-else-if="itemFile.mediaTypeID == '4'">
|
|
57
|
+
<template v-else-if="itemFile.mediaTypeID == '4'||(itemFile.mediaTypeID+'').toLowerCase()=='video'">
|
|
58
58
|
<div class="viewerContent">
|
|
59
59
|
<template v-if="itemFile.thumbnailUrl">
|
|
60
60
|
<video preload="none" :poster="itemFile.thumbnailUrl"
|
|
@@ -81,7 +81,7 @@
|
|
|
81
81
|
</div>
|
|
82
82
|
</template>
|
|
83
83
|
<!--Audio-->
|
|
84
|
-
<template v-else-if="itemFile.mediaTypeID == '5'">
|
|
84
|
+
<template v-else-if="itemFile.mediaTypeID == '5'||(itemFile.mediaTypeID+'').toLowerCase()=='audio'">
|
|
85
85
|
<div class="viewerContent">
|
|
86
86
|
<audio preload="none"
|
|
87
87
|
:src="resultObject"
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
</div>
|
|
95
95
|
</template>
|
|
96
96
|
<!--File-->
|
|
97
|
-
<template v-else-if="itemFile.mediaTypeID == '6'">
|
|
97
|
+
<template v-else-if="itemFile.mediaTypeID == '6'||(itemFile.mediaTypeID+'').toLowerCase()=='file'">
|
|
98
98
|
<template v-if="'pdf' .search(itemFile.fileExtension.toLowerCase())>-1 ">
|
|
99
99
|
<ct-viewerPDF :pdfUrl="resultObject"
|
|
100
100
|
:displayAreaHeight="displayAreaHeight"
|
|
@@ -138,7 +138,7 @@
|
|
|
138
138
|
class="magnify-btn el-icon-right"
|
|
139
139
|
title="下一个"
|
|
140
140
|
@click="jump(1)"></a>
|
|
141
|
-
<template v-if="itemFile.mediaTypeID == '2'">
|
|
141
|
+
<template v-if="itemFile.mediaTypeID == '2'||(itemFile.mediaTypeID+'').toLowerCase()=='photo'">
|
|
142
142
|
<a href="javascript:void(0)"
|
|
143
143
|
class="magnify-btn el-icon-refresh-left"
|
|
144
144
|
title="左旋转"
|
|
@@ -168,7 +168,7 @@
|
|
|
168
168
|
:download="(itemFile.mediaLabelName || itemFile.fileName)"
|
|
169
169
|
@click="handDownload(resultObject)"
|
|
170
170
|
></a>-->
|
|
171
|
-
<a href="javascript:void(0)" v-if="itemFile.rightDownload&&itemFile.mediaTypeID !='1'"
|
|
171
|
+
<a href="javascript:void(0)" v-if="itemFile.rightDownload&&(itemFile.mediaTypeID !='1'&&(itemFile.mediaTypeID+'').toLowerCase()=='vr')"
|
|
172
172
|
class="magnify-btn el-icon-download"
|
|
173
173
|
title="下载"
|
|
174
174
|
@click="handDownload(resultObject)"></a>
|
|
@@ -387,6 +387,34 @@ const box = function (source, fileSourceList, router, optionApi,videoPlayIconUrl
|
|
|
387
387
|
}
|
|
388
388
|
rtn.fileList.push(awaitfile);
|
|
389
389
|
},
|
|
390
|
+
jsSetFile(data)
|
|
391
|
+
{
|
|
392
|
+
var photos = JSON.parse(data);
|
|
393
|
+
photos.forEach((v) => {
|
|
394
|
+
if(rtn.fileList.length<parseInt(rtn.max || 999)){
|
|
395
|
+
v.videoCoverFileName=v.videoCoverFileName||null;
|
|
396
|
+
v.thumbnailUrl=v.thumbnailUrl||'';
|
|
397
|
+
v.mediaSourceTypeID=v.mediaSourceTypeID||null;
|
|
398
|
+
v.mediaSourceID=v.mediaSourceID||null;
|
|
399
|
+
v.mediaPrintDesc=v.mediaPrintDesc||null;
|
|
400
|
+
v.mediaID=v.mediaID||null;
|
|
401
|
+
v.mediaFormData=v.mediaFormData||null;
|
|
402
|
+
v.mediaDescEN=v.mediaDescEN||null;
|
|
403
|
+
v.mediaDescCN=v.mediaDescCN||null;
|
|
404
|
+
v.mediaDataBase64=v.mediaDataBase64||null;
|
|
405
|
+
v.mediaCode=v.mediaCode||null;
|
|
406
|
+
v.groupID=v.groupID||null;
|
|
407
|
+
rtn.AddSourceList(v);
|
|
408
|
+
var FileData = rtn.getFileData(v);
|
|
409
|
+
FileData.uid=rtn.self.uploadguid();
|
|
410
|
+
FileData.width=v.width;
|
|
411
|
+
FileData.height=v.height;
|
|
412
|
+
rtn.fileList.push(FileData);
|
|
413
|
+
rtn.self.handleChange();
|
|
414
|
+
|
|
415
|
+
}
|
|
416
|
+
});
|
|
417
|
+
},
|
|
390
418
|
setByPieces(res, Progress, file) {
|
|
391
419
|
if (res.rtnCode === Enum.ReturnCode.Successful) {
|
|
392
420
|
//下面的方式绑定,会有一些问题 todo 不强与页面关联
|
|
@@ -230,12 +230,17 @@ const Form = function (source, callBack, apiParam, failCallBack, isFormList) {
|
|
|
230
230
|
attrKey = this.common.initialsToLowerCase(attrKey);
|
|
231
231
|
var rtn1 = this.fieldsDic[id];
|
|
232
232
|
if (rtn1) {
|
|
233
|
-
if(attrKey=='code1' && rtn1.source.controlType===4
|
|
234
|
-
|
|
235
|
-
if(rtn1.source.decimals1 != undefined && rtn1.source.decimals1 != null && rtn1.source.decimals1
|
|
233
|
+
if (attrKey == 'code1' && rtn1.source.controlType === 4
|
|
234
|
+
&& attrValue != undefined && attrValue != null && attrValue != '') {
|
|
235
|
+
if (rtn1.source.decimals1 != undefined && rtn1.source.decimals1 != null && rtn1.source.decimals1 > -1) {
|
|
236
236
|
attrValue = Number(attrValue).toFixed(rtn1.source.decimals1)
|
|
237
237
|
}
|
|
238
238
|
}
|
|
239
|
+
else if (attrKey == 'code1' && (rtn1.source.controlType === 25 || rtn1.source.controlType === 51)
|
|
240
|
+
&& attrValue != undefined && attrValue != null && attrValue != '') {
|
|
241
|
+
rtn1.jsSetFile(attrValue);
|
|
242
|
+
}
|
|
243
|
+
|
|
239
244
|
rtn1.source[attrKey] = attrValue;
|
|
240
245
|
this.form.hatchHandle(id, attrKey, attrValue, rtn1);
|
|
241
246
|
|
package/src/main.js
CHANGED
|
@@ -58,7 +58,7 @@ Vue.use(centaline, {
|
|
|
58
58
|
return {
|
|
59
59
|
oldToken: 'aed9a1f3-c668-4d9e-aa6d-47ebe2b4eedb',
|
|
60
60
|
token:'aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQRO_iOiv5s1570zn-NBwiIuBIoUIkkUCIuxMEdPRMMRq95s1dzOsgWmHIccikIFr0gKQsMJYCURKxKdKYlHr-BH7UNz26yCFkByg7Aiw2A-tYwLDtEubgUibRiHo9i1aRRy-dtdSIab-8gdNKvcA618uu3v5x7rRMm3YkOZAfR6BtAWp_3LQHBNI8KHbkqlHi8QQAAP__.RrBgBqaFlp478oO3g5k_EEtjPt_o8qpJBkzgSP78Wa4',
|
|
61
|
-
authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.
|
|
61
|
+
authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjEOwjAMRe-SuZYSx46dbk3SLhwCUdqhTIi2Eghxd4qAjZ03_OEt79_NvPamNkUbS7nzkFtkoCIMTScKKavahOIp6T5-gB_zZe8cRXGhhSZKBgrkQV1WyBQydaX1ORVTmfF6NrULkZwPrFiZ6bC8hWXrXmKdx8tuvP3j3GmZtix6GYQ4AqMqENsj9BgQ3FbkQVDGqObxBAAA__8.pCIZhcEs5Bzv-KXdue97bx7d1amTXmJihYo6-h3kcs8"}',
|
|
62
62
|
|
|
63
63
|
originalRequestURL: 'http://10.88.22.67:8080',
|
|
64
64
|
EstateInfo: '{"estateId":"201806071109550C867184E8BCA56EC3","estateName":"C%E5%BE%A1%E6%9E%97%E5%B1%B1%E6%99%AF%E6%A5%BC"}',
|