centaline-data-driven 1.4.14 → 1.4.16
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 +2 -28
- package/src/centaline/dynamicCheckbox/src/dynamicCheckbox.vue +1 -0
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +3 -1
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +3 -1
- package/src/centaline/dynamicFile/src/dynamicFile.vue +10 -4
- package/src/centaline/dynamicForm/src/dynamicForm.vue +4 -1
- package/src/centaline/dynamicPhotoSelect/src/dynamicPhotoSelect.vue +8 -10
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +6 -2
- package/src/centaline/dynamicViewerFile/src/dynamicViewerFile.vue +4 -2
- package/src/centaline/loader/src/ctl/Checkbox.js +78 -15
- package/src/centaline/progress/src/progress.vue +4 -1
- package/src/main.js +4 -4
- 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="'/third-dept-tran/transaction/edit'" :apiParam="apiParam" :topHeight="topHeight"></ct-form>
|
|
5
5
|
<ct-dialog-list></ct-dialog-list>
|
|
6
6
|
</div>
|
|
7
7
|
</template>
|
|
@@ -12,33 +12,7 @@
|
|
|
12
12
|
data() {
|
|
13
13
|
return {
|
|
14
14
|
apiParam:{
|
|
15
|
-
actionType
|
|
16
|
-
:
|
|
17
|
-
2,
|
|
18
|
-
buildingID
|
|
19
|
-
:
|
|
20
|
-
"1",
|
|
21
|
-
estateID
|
|
22
|
-
:
|
|
23
|
-
"1",
|
|
24
|
-
floorID
|
|
25
|
-
:
|
|
26
|
-
"1",
|
|
27
|
-
pageOnly
|
|
28
|
-
:
|
|
29
|
-
true,
|
|
30
|
-
pageTitle
|
|
31
|
-
:
|
|
32
|
-
"开盘",
|
|
33
|
-
propertyID
|
|
34
|
-
:
|
|
35
|
-
"",
|
|
36
|
-
roomNo
|
|
37
|
-
:
|
|
38
|
-
"1527",
|
|
39
|
-
tradeID
|
|
40
|
-
:
|
|
41
|
-
"200",
|
|
15
|
+
"originalTraId":"1594610564600369153","actionType":3,"pageStyle":2,"pageTitle":"修改成交单","pageOnly":true
|
|
42
16
|
},
|
|
43
17
|
topHeight:10,
|
|
44
18
|
}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
<div ref="main" class="main" v-if="model !== null">
|
|
3
3
|
<div class="details-content">
|
|
4
4
|
<div ref="header" class="details-head base-box mb10">
|
|
5
|
-
<div class="head-type"
|
|
5
|
+
<div class="head-type" :style="{background:model.fields1Dic.flagActive.value=='0'?'rgba(153, 153, 153, 1)':'#ee6b6b'}">
|
|
6
|
+
{{ model.fields1Dic.Trade.value }}
|
|
7
|
+
</div>
|
|
6
8
|
<div class="head-info">
|
|
7
9
|
<div class="title">
|
|
8
10
|
<span>{{ model.fields1Dic.StatusName.value }}</span>
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
<div ref="main" class="main" v-if="model !== null">
|
|
3
3
|
<div class="details-content">
|
|
4
4
|
<div ref="header" class="details-head base-box mb10">
|
|
5
|
-
<div class="head-type"
|
|
5
|
+
<div class="head-type" :style="{background:model.fields1Dic.flagActive.value=='0'?'rgba(153, 153, 153, 1)':'#ee6b6b'}">
|
|
6
|
+
{{ model.fields1Dic.Trade.value }}
|
|
7
|
+
</div>
|
|
6
8
|
<div class="head-info">
|
|
7
9
|
<div class="title">
|
|
8
10
|
<span>{{ model.fields1Dic.StatusName.value }}</span>
|
|
@@ -30,9 +30,9 @@
|
|
|
30
30
|
<div class="cover-list-item">
|
|
31
31
|
<el-image fit="fill" :src="file.url?file.url:file.mediaUrl?file.mediaUrl+'/100/100':require('../../../assets/blank.png')" style="width: 100px; height: 100px" :z-index="previewZIndex" @click="viewerfile(file)">
|
|
32
32
|
</el-image>
|
|
33
|
-
<span class="cover-list-item-span-Default" v-if="model.rightDefault&&model.rightDefault==1&&file.mediaTypeID==2">
|
|
33
|
+
<span class="cover-list-item-span-Default" v-if="(model.lock&&file.flagDefault)||(model.rightDefault&&model.rightDefault==1&&file.mediaTypeID==2)">
|
|
34
34
|
<i>
|
|
35
|
-
<el-radio v-model="file.flagDefault" :label="true" @change="handleDefault($event,file)" :disabled="model.lock" title="设为封面"> </el-radio>
|
|
35
|
+
<el-radio v-model="file.flagDefault" :label="true" :class="{'browseDefault':model.lock}" @change="handleDefault($event,file)" :disabled="model.lock" title="设为封面"> </el-radio>
|
|
36
36
|
</i>
|
|
37
37
|
</span>
|
|
38
38
|
<span class="cover-list-item-span-delete" v-if="!model.lock && file.rightDel">
|
|
@@ -103,9 +103,9 @@
|
|
|
103
103
|
<div class="cover-list-item">
|
|
104
104
|
<el-image fit="fill" :src="file.fileName?file.url:require('../../../assets/blank.png')" style="width: 100px; height: 100px" :z-index="previewZIndex" @click="viewerfile(file)">
|
|
105
105
|
</el-image>
|
|
106
|
-
<span class="cover-list-item-span-Default" v-if="model.rightDefault&&model.rightDefault==1&&file.mediaTypeID==2">
|
|
106
|
+
<span class="cover-list-item-span-Default" v-if="(model.lock&&file.flagDefault)||(model.rightDefault&&model.rightDefault==1&&file.mediaTypeID==2)">
|
|
107
107
|
<i>
|
|
108
|
-
<el-radio v-model="file.flagDefault" :label="true" @change="handleDefault($event,file)" :disabled="model.lock" title="设为封面"> </el-radio>
|
|
108
|
+
<el-radio v-model="file.flagDefault" :label="true" :class="{'browseDefault':model.lock}" @change="handleDefault($event,file)" :disabled="model.lock" title="设为封面"> </el-radio>
|
|
109
109
|
</i>
|
|
110
110
|
</span>
|
|
111
111
|
<span class="cover-list-item-span-delete" v-if="!model.lock && file.rightDel">
|
|
@@ -600,4 +600,10 @@
|
|
|
600
600
|
top: 38px;
|
|
601
601
|
left: 32px;
|
|
602
602
|
}
|
|
603
|
+
|
|
604
|
+
.browseDefault .el-radio__input.is-checked .el-radio__inner {
|
|
605
|
+
border-color: #409eff ;
|
|
606
|
+
background: #409eff ;
|
|
607
|
+
}
|
|
608
|
+
|
|
603
609
|
</style>
|
|
@@ -82,7 +82,7 @@
|
|
|
82
82
|
</component>
|
|
83
83
|
</div>
|
|
84
84
|
<div style="min-height:200px" v-if="loading"></div>
|
|
85
|
-
<iframe :src="downloadUrl" style="height:0px;width:0px;border-width: 0px;"> </iframe>
|
|
85
|
+
<iframe :src="downloadUrl" style="height:0px;width:0px;border-width: 0px;display: none;"> </iframe>
|
|
86
86
|
</div>
|
|
87
87
|
</template>
|
|
88
88
|
<script>
|
|
@@ -134,6 +134,9 @@
|
|
|
134
134
|
downloadUrl:"",
|
|
135
135
|
};
|
|
136
136
|
},
|
|
137
|
+
deactivated(){
|
|
138
|
+
this.downloadUrl="";
|
|
139
|
+
},
|
|
137
140
|
mounted() {
|
|
138
141
|
this.init();
|
|
139
142
|
this.setCss();
|
|
@@ -31,16 +31,14 @@
|
|
|
31
31
|
<span style="width: 80px; height: 26px; display: inline-flex;">
|
|
32
32
|
{{ item.mediaLabelName }} </span>
|
|
33
33
|
</span>
|
|
34
|
-
<
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
@click="radiochecked(photoList, item)"
|
|
43
|
-
>
|
|
34
|
+
<template v-if="modelPhotoselect.lock">
|
|
35
|
+
<span v-if="item.flagDefault &&(item.flagDefault == true || item.flagDefault == 'true')"
|
|
36
|
+
class="checked isradio">
|
|
37
|
+
</span>
|
|
38
|
+
</template>
|
|
39
|
+
<span v-else-if="item.rightDefault==true||item.rightDefault=='true'"
|
|
40
|
+
:class="[item.flagDefault &&(item.flagDefault == true || item.flagDefault == 'true')? 'checked': 'Unchecked','isradio',]"
|
|
41
|
+
@click="radiochecked(photoList, item)">
|
|
44
42
|
</span>
|
|
45
43
|
</span>
|
|
46
44
|
</div>
|
|
@@ -168,8 +168,9 @@
|
|
|
168
168
|
确认
|
|
169
169
|
</el-button>
|
|
170
170
|
</div>
|
|
171
|
+
|
|
171
172
|
<div v-if="isLoading && searchLoading" v-loading="isLoading" style="top: 30px"></div>
|
|
172
|
-
<iframe :src="downloadUrl" style="height:0px;width:0px;border-width: 0px;">
|
|
173
|
+
<iframe :src="downloadUrl" style="height:0px;width:0px;border-width: 0px;position: absolute;bottom: 0px;display: none;">
|
|
173
174
|
</iframe>
|
|
174
175
|
</div>
|
|
175
176
|
</template>
|
|
@@ -253,6 +254,9 @@ export default {
|
|
|
253
254
|
|
|
254
255
|
};
|
|
255
256
|
},
|
|
257
|
+
deactivated(){
|
|
258
|
+
this.downloadUrl="";
|
|
259
|
+
},
|
|
256
260
|
activated() {
|
|
257
261
|
this.$nextTick(() => {
|
|
258
262
|
this.setTableHeight();
|
|
@@ -659,7 +663,7 @@ export default {
|
|
|
659
663
|
h7 = this.$refs.listHeader.$el.offsetHeight | 0;
|
|
660
664
|
}
|
|
661
665
|
var h8 = this.$refs.tableStats ? (this.$refs.tableStats.$el.offsetHeight + 7) | 0 : 0;
|
|
662
|
-
let tableHeight = h1 - h2 - h3 - h4 - h5 - h6 - h7 - h8 - 290;
|
|
666
|
+
let tableHeight = h1 - h2 - h3 - h4 - h5 - h6 - h7 - h8 - 290 -7;
|
|
663
667
|
if (h2 == 0) {
|
|
664
668
|
tableHeight = tableHeight + 15;
|
|
665
669
|
}
|
|
@@ -160,7 +160,7 @@
|
|
|
160
160
|
</div>
|
|
161
161
|
</el-main>
|
|
162
162
|
</el-container>
|
|
163
|
-
<iframe :src="downloadUrl" style="height:0px;width:0px;border-width: 0px;">
|
|
163
|
+
<iframe :src="downloadUrl" style="height:0px;width:0px;border-width: 0px;display: none;">
|
|
164
164
|
</iframe>
|
|
165
165
|
</div>
|
|
166
166
|
</template>
|
|
@@ -212,7 +212,9 @@
|
|
|
212
212
|
});
|
|
213
213
|
});
|
|
214
214
|
},
|
|
215
|
-
|
|
215
|
+
deactivated(){
|
|
216
|
+
this.downloadUrl="";
|
|
217
|
+
},
|
|
216
218
|
mounted() {
|
|
217
219
|
var self = this;
|
|
218
220
|
self.displayAreaWidth = this.DomWidth();
|
|
@@ -7,10 +7,27 @@ const box = function (source, callBack) {
|
|
|
7
7
|
var self = this;
|
|
8
8
|
var init = function (data) {
|
|
9
9
|
var rtn = {
|
|
10
|
+
checkedAllCode:'-99999',
|
|
11
|
+
_flagCheckedAll:null,
|
|
12
|
+
get flagCheckedAll() {
|
|
13
|
+
if (this._flagCheckedAll !== null) {
|
|
14
|
+
return this._flagCheckedAll;
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
this._checkedItemArr=false;
|
|
18
|
+
source.selectItems1.forEach((v) => {
|
|
19
|
+
if (v[this.optionAttrs.value]===this.checkedAllCode) {
|
|
20
|
+
this._checkedItemArr=true;
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
return this._checkedItemArr;
|
|
25
|
+
}
|
|
26
|
+
},
|
|
10
27
|
get options() {
|
|
11
28
|
return source.selectItems1;
|
|
12
29
|
},
|
|
13
|
-
|
|
30
|
+
get width1() {
|
|
14
31
|
return source.width1;
|
|
15
32
|
},
|
|
16
33
|
checkedIsInit: false,
|
|
@@ -20,7 +37,6 @@ const box = function (source, callBack) {
|
|
|
20
37
|
}
|
|
21
38
|
else {
|
|
22
39
|
this._checkedItemArr = this.getCheckedItemArr();
|
|
23
|
-
//return this._checkedItemArr;
|
|
24
40
|
return this._checkedItemArr;
|
|
25
41
|
}
|
|
26
42
|
},
|
|
@@ -34,9 +50,24 @@ const box = function (source, callBack) {
|
|
|
34
50
|
}
|
|
35
51
|
}
|
|
36
52
|
});
|
|
53
|
+
if(this.flagCheckedAll){
|
|
54
|
+
let ic=itemArr.findIndex((op) => { return op === this.checkedAllCode });
|
|
55
|
+
let opl=ic>-1?this.options.length: this.options.length-1;
|
|
56
|
+
if(ic>-1 || itemArr.length===opl){
|
|
57
|
+
itemArr.splice(0, itemArr.length);
|
|
58
|
+
source.code1=JSON.stringify(this.options);
|
|
59
|
+
this.options.forEach((v) => {
|
|
60
|
+
if (v[this.optionAttrs.value]) {
|
|
61
|
+
itemArr.push(v[this.optionAttrs.value]);
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
else if(itemArr.length<opl){
|
|
66
|
+
if(ic>-1) itemArr.splice(ic, 1);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
37
69
|
return itemArr;
|
|
38
70
|
},
|
|
39
|
-
//checkedItemArr1:[],
|
|
40
71
|
//手动维护code1值
|
|
41
72
|
updateCode1() {
|
|
42
73
|
let self = this;
|
|
@@ -46,19 +77,33 @@ const box = function (source, callBack) {
|
|
|
46
77
|
|
|
47
78
|
if (source.code1 !== '') {
|
|
48
79
|
var checked = source.code1 === '' ? [] : [].concat(JSON.parse(source.code1));
|
|
49
|
-
checked.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
80
|
+
let icOld=checked.findIndex((op) => { return op[rtn.optionAttrs.value] === self.checkedAllCode && op[rtn.optionAttrs.flagDeleted] === false });
|
|
81
|
+
let icNew=self.checkedItemArr.findIndex((op) => { return op === self.checkedAllCode });
|
|
82
|
+
let opl=icNew>-1?self.options.length: self.options.length-1;
|
|
83
|
+
if(self.flagCheckedAll && icOld>-1 && icNew===-1){
|
|
84
|
+
source.code1 = '';
|
|
85
|
+
}
|
|
86
|
+
else{
|
|
87
|
+
if(self.flagCheckedAll && self.checkedItemArr.length<opl && icNew>-1 && icOld>-1){
|
|
88
|
+
self.checkedItemArr.splice(icNew, 1);
|
|
89
|
+
let ic1=currentOptions.findIndex((op) => { return op[rtn.optionAttrs.value] === self.checkedAllCode });
|
|
90
|
+
if(ic1>-1) currentOptions.splice(ic1, 1);
|
|
57
91
|
}
|
|
58
|
-
});
|
|
59
92
|
|
|
60
|
-
|
|
61
|
-
|
|
93
|
+
checked.forEach((v) => {
|
|
94
|
+
if (self.checkedItemArr.indexOf(v[this.optionAttrs.value]) > -1) {
|
|
95
|
+
v[this.optionAttrs.flagDeleted] = false;
|
|
96
|
+
let ic=currentOptions.findIndex((op) => { return op[rtn.optionAttrs.value] === v[rtn.optionAttrs.value] });
|
|
97
|
+
if(ic>-1) currentOptions.splice(ic, 1);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
v[this.optionAttrs.flagDeleted] = true;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
|
|
104
|
+
checked = checked.concat(currentOptions);
|
|
105
|
+
source.code1 = JSON.stringify(checked);
|
|
106
|
+
}
|
|
62
107
|
}
|
|
63
108
|
else {
|
|
64
109
|
if (self.checkedItemArr.length === 0) {
|
|
@@ -68,6 +113,7 @@ const box = function (source, callBack) {
|
|
|
68
113
|
source.code1 = JSON.stringify(currentOptions);
|
|
69
114
|
}
|
|
70
115
|
}
|
|
116
|
+
this.forceUpdate();
|
|
71
117
|
},
|
|
72
118
|
reset() {
|
|
73
119
|
this.value = this.defaultValue;
|
|
@@ -87,7 +133,24 @@ const box = function (source, callBack) {
|
|
|
87
133
|
if (this.self.$forceUpdate) {
|
|
88
134
|
this.self.$forceUpdate();
|
|
89
135
|
}
|
|
90
|
-
}
|
|
136
|
+
},
|
|
137
|
+
getFormObj() {
|
|
138
|
+
var rtnFormObj = {};
|
|
139
|
+
Object.defineProperty(rtnFormObj, source.fieldName1, {
|
|
140
|
+
get: function () {
|
|
141
|
+
if(rtn.flagCheckedAll && source.code1){
|
|
142
|
+
let v=JSON.parse(source.code1);
|
|
143
|
+
let ic=v.findIndex((op) => { return op[rtn.optionAttrs.value] === rtn.checkedAllCode });
|
|
144
|
+
if(ic>-1) v.splice(ic,1);
|
|
145
|
+
return JSON.stringify(v);
|
|
146
|
+
}
|
|
147
|
+
return source.code1;
|
|
148
|
+
},
|
|
149
|
+
enumerable: true,
|
|
150
|
+
configurable: true
|
|
151
|
+
});
|
|
152
|
+
return rtnFormObj;
|
|
153
|
+
},
|
|
91
154
|
};
|
|
92
155
|
rtn = base.copy(Base(data), rtn);
|
|
93
156
|
rtn = base.copy(rtn, valid.Init(rtn));
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
</div>
|
|
13
13
|
<span class="progressMsg">{{ message }}</span>
|
|
14
14
|
</div>
|
|
15
|
-
<iframe :src="downloadUrl" style="height:0px;width:0px;border-width: 0px;">
|
|
15
|
+
<iframe :src="downloadUrl" style="height:0px;width:0px;border-width: 0px;display: none;">
|
|
16
16
|
</iframe>
|
|
17
17
|
</div>
|
|
18
18
|
</template>
|
|
@@ -37,6 +37,9 @@ export default {
|
|
|
37
37
|
progressFlag: false,
|
|
38
38
|
};
|
|
39
39
|
},
|
|
40
|
+
deactivated(){
|
|
41
|
+
this.downloadUrl="";
|
|
42
|
+
},
|
|
40
43
|
methods: {
|
|
41
44
|
load() {
|
|
42
45
|
},
|
package/src/main.js
CHANGED
|
@@ -12,10 +12,10 @@ Vue.use(ElementUI, { size: 'mini'});
|
|
|
12
12
|
// 关闭生产模式下给出的提示
|
|
13
13
|
Vue.config.productionTip = false;
|
|
14
14
|
Vue.use(centaline, {
|
|
15
|
-
baseUrl: "http://10.88.22.46:7070/v1/form/router",
|
|
15
|
+
baseUrl: "http://10.88.22.46:7070/max-uplink-api/v1/form/router",
|
|
16
16
|
// baseUrl: "http://10.25.10.63:9999/v1/form/router",
|
|
17
17
|
// baseUrl: "http://10.88.22.42:9999/v1/form/router",
|
|
18
|
-
// baseUrl: "http://10.88.22.
|
|
18
|
+
// baseUrl: "http://10.88.22.69:8080/api/",
|
|
19
19
|
// baseUrl: "http://tjcptest.centaline.com.cn/",
|
|
20
20
|
// flagRouterSelf: true,
|
|
21
21
|
zindex: 999,
|
|
@@ -42,8 +42,8 @@ Vue.use(centaline, {
|
|
|
42
42
|
// 获取请求头
|
|
43
43
|
getRequestHeaders: function () {
|
|
44
44
|
return {
|
|
45
|
-
oldToken: '
|
|
46
|
-
token:'aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.
|
|
45
|
+
oldToken: '3f518e5b-85c3-4a3e-9aa2-d476c6e43b75',
|
|
46
|
+
token:'aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjrsOgkAQRf9laiZx3GFnh04XbPwIsg9IsDICicb472qEjt5TnOI09z5hnCNUIAu4oZVWF3BDKy0Rq5Bt8KDikS0bdOQderaeT3Vj_LGGArr7FSqyVo01qlTAEKZf2IuU3zCP3e3cPf5x7jINn9nsovSZMnIfBDn1CWOiEnmnmiNLDNHB6w0AAP__.S8GpMp0QsAvU3rUclegNyD0VCgVWxpMFKmKQNFPcn-4',
|
|
47
47
|
|
|
48
48
|
originalRequestURL: 'http://10.88.22.67:8080',
|
|
49
49
|
EstateInfo: '{"estateId":"FAF029E8-EC28-4297-83CF-B8FFD826DB91","estateName":"AABBCC"}',
|