centaline-data-driven 1.3.98 → 1.4.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/package.json +1 -1
- package/src/Detail.vue +2 -2
- package/src/Form.vue +1 -1
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +6 -4
- package/src/centaline/dynamicDragSort/src/dynamicDragSort.vue +0 -2
- package/src/centaline/dynamicForm/src/dynamicForm.vue +14 -5
- package/src/centaline/dynamicIti/src/dynamicIti.vue +0 -1
- package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchListTable.vue +0 -1
- package/src/centaline/dynamicSearchList/src/dynamicTableTip.vue +45 -36
- package/src/centaline/dynamicT/src/dynamicT.vue +28 -33
- package/src/centaline/loader/src/ctl/Base.js +3 -3
- package/src/centaline/loader/src/ctl/Detail.js +0 -1
- package/src/centaline/loader/src/ctl/File.js +1 -1
- package/src/centaline/loader/src/ctl/PhotoSelectList.js +0 -1
- package/src/centaline/loader/src/ctl/Repeat.js +0 -1
- package/src/centaline/loader/src/ctl/SearchStats.js +0 -1
- package/src/centaline/loader/src/ctl/SearchTable.js +28 -15
- package/src/centaline/loader/src/ctl/Tree.js +0 -1
- package/src/centaline/loader/src/ctl/lib/LibFunction.js +2 -2
- package/src/centaline/validate/index.js +23 -0
- 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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="appDetail" style="height:100%;">
|
|
3
|
-
<ct-Detail :api="'
|
|
3
|
+
<ct-Detail :api="'PropertyOFI/readDetailForBrowse'" :apiParam="apiParam" :pageType="'PropertyDetailOFI'"></ct-Detail>
|
|
4
4
|
<ct-dialog-list></ct-dialog-list>
|
|
5
5
|
</div>
|
|
6
6
|
</template>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
name: 'DataDrivendetail',
|
|
11
11
|
data() {
|
|
12
12
|
return {
|
|
13
|
-
apiParam: {actionType: 1,chanceID: "
|
|
13
|
+
apiParam: {actionType: 1,chanceID: "1583031531402825728"} ,
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
16
|
mounted() {
|
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="'/externalincomemanage/externalincomeimport/readDetail'" :apiParam="apiParam" :topHeight="topHeight"></ct-form>
|
|
5
5
|
<ct-dialog-list></ct-dialog-list>
|
|
6
6
|
</div>
|
|
7
7
|
</template>
|
|
@@ -345,8 +345,9 @@
|
|
|
345
345
|
</el-tab-pane>
|
|
346
346
|
</el-tabs>
|
|
347
347
|
</div>
|
|
348
|
-
<div class="customer">
|
|
349
|
-
<
|
|
348
|
+
<div ref="MatchCustomer" v-if="model.matchCustomerApiRouter !== null" class="customer">
|
|
349
|
+
<ct-MatchCustomer :apiRouter="model.matchCustomerApiRouter"></ct-MatchCustomer>
|
|
350
|
+
<!-- <div class="customer-title">匹配客户</div>
|
|
350
351
|
<div class="mt10 clearfix">
|
|
351
352
|
<div class="customre-line"></div>
|
|
352
353
|
<div class="match-customre rel">
|
|
@@ -397,7 +398,6 @@
|
|
|
397
398
|
</div>
|
|
398
399
|
</div>
|
|
399
400
|
</div>
|
|
400
|
-
|
|
401
401
|
<div class="clearfix">
|
|
402
402
|
<div class="customre-line"></div>
|
|
403
403
|
<div class="match-customre rel">
|
|
@@ -447,7 +447,7 @@
|
|
|
447
447
|
</div>
|
|
448
448
|
</div>
|
|
449
449
|
</div>
|
|
450
|
-
</div>
|
|
450
|
+
</div> -->
|
|
451
451
|
</div>
|
|
452
452
|
</div>
|
|
453
453
|
</div>
|
|
@@ -460,6 +460,7 @@ import dynamicElement from "../../mixins/dynamicElement";
|
|
|
460
460
|
import dynamicSearchList from "../../dynamicSearchList/src/dynamicSearchList.vue";
|
|
461
461
|
import dynamicContactList from "./dynamicContactList.vue";
|
|
462
462
|
import dynamicAlbums from "./dynamicAlbums.vue";
|
|
463
|
+
import dynamicMatchCustomer from "./dynamicMatchCustomer.vue";
|
|
463
464
|
export default {
|
|
464
465
|
name: "ct-PropertyDetailOFI",
|
|
465
466
|
mixins: [dynamicElement],
|
|
@@ -467,6 +468,7 @@ export default {
|
|
|
467
468
|
"ct-searchlist": dynamicSearchList,
|
|
468
469
|
"ct-contactList": dynamicContactList,
|
|
469
470
|
"ct-albums": dynamicAlbums,
|
|
471
|
+
"ct-MatchCustomer": dynamicMatchCustomer,
|
|
470
472
|
},
|
|
471
473
|
props: {
|
|
472
474
|
vmodel: Object,
|
|
@@ -90,7 +90,6 @@ export default {
|
|
|
90
90
|
else {
|
|
91
91
|
this.model = this.vmodel;
|
|
92
92
|
this.testList = this.vmodel.dragList;
|
|
93
|
-
// console.log('this.testList', this.testList);
|
|
94
93
|
}
|
|
95
94
|
});
|
|
96
95
|
|
|
@@ -130,7 +129,6 @@ export default {
|
|
|
130
129
|
|
|
131
130
|
// 更新位置
|
|
132
131
|
handleListChange(event) {
|
|
133
|
-
console.log(event);
|
|
134
132
|
this.testList = event;
|
|
135
133
|
|
|
136
134
|
this.testList.forEach((item, i) => {
|
|
@@ -486,11 +486,20 @@
|
|
|
486
486
|
});
|
|
487
487
|
}
|
|
488
488
|
else{
|
|
489
|
-
field.
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
489
|
+
if (field.action.indexOf("http://") === 0 || field.action.indexOf("https://") === 0) {
|
|
490
|
+
window.open(field.action, "_blank");
|
|
491
|
+
}
|
|
492
|
+
else {
|
|
493
|
+
field.doAction(submitData, (data) => {
|
|
494
|
+
if(data.content){
|
|
495
|
+
if (data.content.indexOf("http://") === 0 || data.content.indexOf("https://") === 0) {
|
|
496
|
+
window.open(data.content, "_blank");
|
|
497
|
+
}
|
|
498
|
+
else {
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
});
|
|
502
|
+
}
|
|
494
503
|
}
|
|
495
504
|
}
|
|
496
505
|
else {
|
|
@@ -1,46 +1,55 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="ct-table-tip ct-table-tip-mini" v-html="tip"></div>
|
|
2
|
+
<div class="ct-table-tip ct-table-tip-mini ct-table-tip-tag" v-html="tip"></div>
|
|
3
3
|
</template>
|
|
4
4
|
<script>
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
5
|
+
export default {
|
|
6
|
+
name: 'ct-tabletip',
|
|
7
|
+
props: {
|
|
8
|
+
tip: String,
|
|
9
|
+
size: String
|
|
10
|
+
},
|
|
11
|
+
data() {
|
|
12
|
+
return {}
|
|
14
13
|
}
|
|
14
|
+
}
|
|
15
15
|
</script>
|
|
16
16
|
<style>
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
17
|
+
.ct-table-tip {
|
|
18
|
+
color: #606266;
|
|
19
|
+
font-size: 18px;
|
|
20
|
+
line-height: 40px;
|
|
21
|
+
min-height: 40px;
|
|
22
|
+
padding-left: 15px;
|
|
23
|
+
display: table
|
|
24
|
+
}
|
|
25
25
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
.ct-table-tip-mini {
|
|
30
|
-
font-size: 12px;
|
|
31
|
-
line-height: 26px;
|
|
32
|
-
min-height: 0px;
|
|
33
|
-
}
|
|
26
|
+
.ct-table-tip img {
|
|
27
|
+
vertical-align: middle;
|
|
28
|
+
}
|
|
34
29
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
30
|
+
.ct-table-tip-mini {
|
|
31
|
+
font-size: 12px;
|
|
32
|
+
line-height: 26px;
|
|
33
|
+
min-height: 0px;
|
|
34
|
+
}
|
|
40
35
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
36
|
+
.ct-table-tip-small {
|
|
37
|
+
font-size: 14px;
|
|
38
|
+
line-height: 32px;
|
|
39
|
+
min-height: 32px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.ct-table-tip-medium {
|
|
43
|
+
font-size: 16px;
|
|
44
|
+
line-height: 36px;
|
|
45
|
+
min-height: 36px;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.ct-table-tip-tag {
|
|
49
|
+
margin-bottom: 10px;
|
|
50
|
+
background-color: #fdf6ec;
|
|
51
|
+
border-color: #faecd8;
|
|
52
|
+
width: 100%;
|
|
53
|
+
box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%);
|
|
54
|
+
}
|
|
46
55
|
</style>
|
|
@@ -7,12 +7,12 @@
|
|
|
7
7
|
<div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div max-input-group" :class="[model.labelClass]">
|
|
8
8
|
<span>{{model.label}}</span>
|
|
9
9
|
</div>
|
|
10
|
-
<div ref="highlights" v-if="model.
|
|
11
|
-
<div class="highlights" v-html="
|
|
10
|
+
<div ref="highlights" v-if="model.forbiddenWords" class="backdrop" :style="{width:forbiddenWordsWidth+'px',height:forbiddenWordsHeight+'px',left:forbiddenWordsLeft+'px',top:forbiddenWordsTop+'px'}">
|
|
11
|
+
<div class="highlights" v-html="forbiddenWordsValue"></div>
|
|
12
12
|
</div>
|
|
13
13
|
<el-input ref="input" :title="model.lock?model.value:''" :type="model.inputType" v-model="model.value" v-bind="model.attrs" @input="inputHandler($event);isShowClear();applyHighlights()" @change="changeHandler($event)"
|
|
14
|
-
class="ct-flex-div-input max-input" :class="[model.showLabel?'showLabel':'',!valid?'inputError':'',model.
|
|
15
|
-
:disabled="model.lock" :rows="model.rows"
|
|
14
|
+
class="ct-flex-div-input max-input" :class="[model.showLabel?'showLabel':'',!valid?'inputError':'',model.forbiddenWords?'inputHighlights':'']"
|
|
15
|
+
:disabled="model.lock" :rows="model.rows" :resize="model.forbiddenWords?'none':'vertical'"
|
|
16
16
|
:readonly="model.readonly" :show-password="model.isPassword" autocomplete="on" :maxlength="model.max" :show-word-limit="model.showWordLimit"
|
|
17
17
|
@keyup.enter.native="search()" style="z-index: 3;background-color: transparent;">
|
|
18
18
|
<span slot="suffix" v-if="model.unitName" class="ct-unitname" :class="showClear?'unitName-20':'unitName-0'">{{model.unitName}}</span>
|
|
@@ -60,11 +60,11 @@
|
|
|
60
60
|
showClear: false,
|
|
61
61
|
minText:'',
|
|
62
62
|
minTextLeft:0,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
63
|
+
forbiddenWordsValue:'',
|
|
64
|
+
forbiddenWordsWidth:0,
|
|
65
|
+
forbiddenWordsHeight:0,
|
|
66
|
+
forbiddenWordsLeft:0,
|
|
67
|
+
forbiddenWordsTop:0,
|
|
68
68
|
}
|
|
69
69
|
},
|
|
70
70
|
created() {
|
|
@@ -86,11 +86,11 @@
|
|
|
86
86
|
}
|
|
87
87
|
this.minTextLeft=this.$refs.input.$el.offsetLeft+10;
|
|
88
88
|
}
|
|
89
|
-
if(this.model.
|
|
90
|
-
this.
|
|
91
|
-
this.
|
|
92
|
-
this.
|
|
93
|
-
this.
|
|
89
|
+
if(this.model.forbiddenWords){
|
|
90
|
+
this.forbiddenWordsWidth=this.$refs.input.$el.offsetWidth;
|
|
91
|
+
this.forbiddenWordsHeight=this.$refs.input.$el.offsetHeight;
|
|
92
|
+
this.forbiddenWordsLeft=this.$refs.input.$el.offsetLeft;
|
|
93
|
+
this.forbiddenWordsTop=this.$refs.input.$el.offsetTop;
|
|
94
94
|
this.$refs.input.$el.addEventListener('scroll',this.scrollHandler,true);
|
|
95
95
|
}
|
|
96
96
|
},
|
|
@@ -155,25 +155,27 @@
|
|
|
155
155
|
},
|
|
156
156
|
scrollHandler() {
|
|
157
157
|
var scrollTop = this.$refs.input.$el.children[0].scrollTop;
|
|
158
|
-
var scrollHeight = this.$refs.input.$el.children[0].scrollHeight;
|
|
159
|
-
var offsetHeight = this.$refs.input.$el.children[0].offsetHeight;
|
|
160
|
-
// console.log(scrollTop)
|
|
161
|
-
// console.log(scrollHeight)
|
|
162
|
-
// console.log(offsetHeight)
|
|
163
|
-
// if(scrollTop+offsetHeight>=scrollHeight){
|
|
164
|
-
// scrollTop=scrollTop-32;
|
|
165
|
-
// }
|
|
166
158
|
this.$refs.highlights.scrollTop=scrollTop;
|
|
167
159
|
},
|
|
168
160
|
applyHighlights() {
|
|
169
161
|
var self=this;
|
|
170
|
-
if(self.model.
|
|
171
|
-
self.
|
|
162
|
+
if(self.model.forbiddenWords){
|
|
163
|
+
self.forbiddenWordsValue=self.model.value;
|
|
172
164
|
let joinChar=self.model.joinChar || ',';
|
|
173
|
-
self.model.
|
|
165
|
+
self.model.forbiddenWords.split(joinChar).forEach(w => {
|
|
174
166
|
let reg1=new RegExp(w,'g');
|
|
175
|
-
self.
|
|
167
|
+
self.forbiddenWordsValue=self.forbiddenWordsValue.replace(reg1,'<span style="background-color: #ffff00;color: transparent;">'+w+'</span>');
|
|
176
168
|
});
|
|
169
|
+
// let h=this.$refs.input.$el.children[0].offsetHeight;
|
|
170
|
+
// let hs=this.$refs.input.$el.children[0].scrollHeight;
|
|
171
|
+
// let ht=this.$refs.input.$el.children[0].scrollTop;
|
|
172
|
+
// console.log(ht+','+h+','+hs)
|
|
173
|
+
let appoint='\n';
|
|
174
|
+
let strat=self.forbiddenWordsValue.length-appoint.length;
|
|
175
|
+
let char=self.forbiddenWordsValue.substr(strat,appoint.length);
|
|
176
|
+
if(char===appoint){
|
|
177
|
+
self.forbiddenWordsValue=self.forbiddenWordsValue+' ';
|
|
178
|
+
}
|
|
177
179
|
}
|
|
178
180
|
},
|
|
179
181
|
},
|
|
@@ -211,12 +213,5 @@
|
|
|
211
213
|
color: transparent;
|
|
212
214
|
padding: 5px 15px 5px 15px;
|
|
213
215
|
line-height: 1.5;
|
|
214
|
-
/* overflow-y: auto;
|
|
215
|
-
width: 100%;
|
|
216
|
-
height: 100%;
|
|
217
|
-
border-radius: 4px;
|
|
218
|
-
resize: vertical;
|
|
219
|
-
box-sizing: border-box;
|
|
220
|
-
transition: border-color .2s cubic-bezier(.645,.045,.355,1); */
|
|
221
216
|
}
|
|
222
217
|
</style>
|
|
@@ -301,9 +301,9 @@ const Base = function (source) {
|
|
|
301
301
|
get description() {
|
|
302
302
|
return source.description;
|
|
303
303
|
},
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
304
|
+
get forbiddenWords() {
|
|
305
|
+
return source.forbiddenWords;
|
|
306
|
+
},
|
|
307
307
|
get joinChar() {
|
|
308
308
|
return source.joinChar;
|
|
309
309
|
},
|
|
@@ -10,7 +10,7 @@ const box = function (source, fileSourceList, router, optionApi) {
|
|
|
10
10
|
var init = function (data) {
|
|
11
11
|
var rtn = {
|
|
12
12
|
get action() {
|
|
13
|
-
return router.action ? router.action : "";//上传完整地址
|
|
13
|
+
return router && router.action ? router.action : "";//上传完整地址
|
|
14
14
|
},
|
|
15
15
|
get sourceList() {
|
|
16
16
|
return fileSourceList;
|
|
@@ -571,7 +571,6 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
|
|
|
571
571
|
if (self.searchModel) {
|
|
572
572
|
// self.searchModel.setBtnLoading(false);
|
|
573
573
|
}
|
|
574
|
-
console.error(error);
|
|
575
574
|
});
|
|
576
575
|
},
|
|
577
576
|
getSearchData(){
|
|
@@ -806,7 +805,6 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
|
|
|
806
805
|
}
|
|
807
806
|
})
|
|
808
807
|
.catch((error) => {
|
|
809
|
-
console.error(error);
|
|
810
808
|
if (typeof callback !== 'undefined') {
|
|
811
809
|
callback();
|
|
812
810
|
}
|
|
@@ -835,37 +833,52 @@ const SearchTable = function (data, callBack, searchModel, flagSearch, defaultSe
|
|
|
835
833
|
rtn.$vue.$delete(rtn.listData, rtn.selectIndex);
|
|
836
834
|
}
|
|
837
835
|
break;
|
|
836
|
+
|
|
838
837
|
case Enum.ActionType.New: //新增
|
|
839
838
|
case Enum.ActionType.CloseTabThenNew: //新增
|
|
839
|
+
if(response.content && Array.isArray(response.content)){
|
|
840
|
+
rtn.setStyleRow(response.content);
|
|
841
|
+
response.content.forEach((nr) => {
|
|
842
|
+
rtn.listData.unshift(nr);
|
|
843
|
+
});
|
|
844
|
+
rtn.dataDictionary = response.content;
|
|
840
845
|
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
source.page.rows = source.page.rows + response.content.length;
|
|
848
|
-
rtn.$vue.calculatingRowHeight()
|
|
846
|
+
source.page.rows = source.page.rows + response.content.length;
|
|
847
|
+
rtn.$vue.calculatingRowHeight()
|
|
848
|
+
}
|
|
849
|
+
else{
|
|
850
|
+
rtn.$vue.updateCurrentRow({flagAddRowAfterAction:true},{responseData:response});
|
|
851
|
+
}
|
|
849
852
|
break;
|
|
853
|
+
|
|
850
854
|
case Enum.ActionType.Update: //修改
|
|
851
855
|
case Enum.ActionType.CloseTabThenUpdate: //修改
|
|
852
|
-
response.content.
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
856
|
+
if(response.content && Array.isArray(response.content)){
|
|
857
|
+
response.content.forEach((row) => {
|
|
858
|
+
for (var vkey in row) {
|
|
859
|
+
rtn.dataDictionary[row[rtn.primaryKey]][vkey] = row[vkey];
|
|
860
|
+
}
|
|
861
|
+
});
|
|
862
|
+
}
|
|
863
|
+
else{
|
|
864
|
+
rtn.$vue.updateCurrentRow({flagFreshCurrentRow:true},{responseData:response});
|
|
865
|
+
}
|
|
857
866
|
break;
|
|
867
|
+
|
|
858
868
|
case Enum.ActionType.Export: //导出
|
|
859
869
|
var fileName = response.content.fieldName1;
|
|
860
870
|
var fileContent = window.atob(response.content.code1);
|
|
861
871
|
common.saveFile(fileName, fileContent);
|
|
862
872
|
break;
|
|
873
|
+
|
|
863
874
|
case Enum.ActionType.Refersh: //刷新
|
|
864
875
|
rtn.$vue.getPage(1);
|
|
865
876
|
break;
|
|
877
|
+
|
|
866
878
|
case Enum.ActionType.RefreshParent: //刷新父页面
|
|
867
879
|
rtn.$vue.$emit('refreshParent');
|
|
868
880
|
break;
|
|
881
|
+
|
|
869
882
|
default:
|
|
870
883
|
break;
|
|
871
884
|
}
|
|
@@ -295,8 +295,8 @@ const LibFunction = {
|
|
|
295
295
|
var files = [];
|
|
296
296
|
if(source.medias && source.medias.length>0){
|
|
297
297
|
source.medias.forEach((v, index) => {
|
|
298
|
-
if (v.GroupID) {
|
|
299
|
-
if (v.GroupID == field.fieldName1) {
|
|
298
|
+
if (v.groupID || v.GroupID) {
|
|
299
|
+
if (v.groupID == field.fieldName1 || v.GroupID == field.fieldName1) {
|
|
300
300
|
files.push(v);
|
|
301
301
|
}
|
|
302
302
|
} else {
|
|
@@ -157,6 +157,20 @@ const actions = {
|
|
|
157
157
|
return true;
|
|
158
158
|
}
|
|
159
159
|
},
|
|
160
|
+
forbiddenWords(model) {
|
|
161
|
+
var flag=true;
|
|
162
|
+
if (model.value) {
|
|
163
|
+
let joinChar= model.joinChar || ',';
|
|
164
|
+
model.forbiddenWords.split(joinChar).forEach(w => {
|
|
165
|
+
let reg1=new RegExp(w,'g');
|
|
166
|
+
if(reg1.test(model.value)){
|
|
167
|
+
flag=false;
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
return flag;
|
|
173
|
+
},
|
|
160
174
|
};
|
|
161
175
|
|
|
162
176
|
const valid = {
|
|
@@ -229,6 +243,12 @@ const valid = {
|
|
|
229
243
|
type: 'validateLenMin',
|
|
230
244
|
ticker: 'input'
|
|
231
245
|
},
|
|
246
|
+
forbiddenWords: {
|
|
247
|
+
action: actions.forbiddenWords,
|
|
248
|
+
message: '输入文字中包含违禁词',
|
|
249
|
+
type: 'forbiddenWords',
|
|
250
|
+
ticker: 'input'
|
|
251
|
+
},
|
|
232
252
|
Init(model) {
|
|
233
253
|
return {
|
|
234
254
|
//废弃 todo 删除
|
|
@@ -303,6 +323,9 @@ const valid = {
|
|
|
303
323
|
if(model.min && model.min>0){
|
|
304
324
|
rtnValidate.push(valid.validateLenMin);
|
|
305
325
|
}
|
|
326
|
+
if(model.forbiddenWords){
|
|
327
|
+
rtnValidate.push(valid.forbiddenWords);
|
|
328
|
+
}
|
|
306
329
|
break;
|
|
307
330
|
default:
|
|
308
331
|
break;
|
package/src/main.js
CHANGED
|
@@ -43,19 +43,19 @@ Vue.use(centaline, {
|
|
|
43
43
|
getRequestHeaders: function () {
|
|
44
44
|
return {
|
|
45
45
|
oldToken: '854e91e2-3a5e-42af-a522-c51a0f5c09bc',
|
|
46
|
-
token:'aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.
|
|
46
|
+
token:'aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjEOgkAQRe8yNZPssMPMDp0u2HgIsuqaYGUEEo3x7mqEjt5XvOI1_z9hmA5Qg87gihY6m8EVLXREbErS4sY0Igt7DBQDRpbIu6b1cdtAAfl-hZpEtPIlGRXQp_EXmCv9hmnIt31-_OPcZew_s2cV59QlrMokyGyC4UiM5imcUmavOcHrDQAA__8.UYFAmH-EyzlQ5Z7PVk1zwypPlLjm84H3Benfnmna9WU',
|
|
47
47
|
|
|
48
48
|
originalRequestURL: 'http://10.88.22.67:8080',
|
|
49
49
|
EstateInfo: '{"estateId":"FAF029E8-EC28-4297-83CF-B8FFD826DB91","estateName":"AABBCC"}',
|
|
50
50
|
estateId: '20210729104021C49F04B55C50F6AF58',
|
|
51
51
|
|
|
52
|
-
authObject: '{"currentEstate":{
|
|
53
|
-
Authorization:'Bearer eyJhbGciOiJIUzUxMiJ9.
|
|
52
|
+
authObject: '{"currentEstate":{},"platform":1,"OSVersion":"","clientVersion":"","machineCode":""}',
|
|
53
|
+
Authorization:'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6IjcyYzkxMzRlLTc5ODItNDFiYi04NDZjLWRhNmE0YTAwNGUzZSJ9.Dqw228vC10bapkK7Rnz_REvV_1x3igpsmFVHfeSIMFPHkMSpeh6py61NJ7HtkYnTTrSeRr2IjXvH9EoHLH3T3Q',
|
|
54
54
|
};
|
|
55
55
|
},
|
|
56
56
|
// 请求完成事件,可判断是否登录过期执行响应操作
|
|
57
57
|
requestComplete: function (response) {
|
|
58
|
-
|
|
58
|
+
|
|
59
59
|
}
|
|
60
60
|
}});
|
|
61
61
|
|