centaline-data-driven 1.5.60 → 1.5.62
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/.vs/Centaline.Front_End.DataDriven/DesignTimeBuild/.dtbcache +0 -0
- package/.vs/Centaline.Front_End.DataDriven/v16/Server/sqlite3/db.lock +0 -0
- package/.vs/Centaline.Front_End.DataDriven/v16/Server/sqlite3/storage.ide +0 -0
- package/obj/Centaline.Front_End.DataDriven.csproj.nuget.dgspec.json +11 -10
- package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.props +11 -14
- package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.targets +7 -7
- package/obj/project.assets.json +11 -52
- package/package.json +1 -1
- package/release-log.md +23 -0
- package/src/Detail.vue +3 -3
- package/src/Form.vue +2 -3
- package/src/SearchList.vue +29 -23
- package/src/SearchTree.vue +2 -2
- package/src/centaline/dynamicHyperLink/index.js +1 -1
- package/src/centaline/dynamicLayout/src/dynamicLayoutChildren.vue +17 -17
- package/src/centaline/dynamicMo/src/dynamicMo.vue +6 -5
- package/src/centaline/dynamicPlaceHolder/index.js +1 -1
- package/src/centaline/dynamicRepeat/src/dynamicRepeat.vue +6 -9
- package/src/centaline/dynamicSos/src/dynamicSos.vue +8 -8
- package/src/centaline/dynamicT/src/dynamicT.vue +38 -25
- package/src/centaline/loader/src/ctl/Button.js +16 -16
- package/src/centaline/loader/src/ctl/PlaceHolder.js +2 -2
- package/src/centaline/loader/src/ctl/Sos.js +2 -2
- package/src/centaline/templateControls/src/dynamicTableCurrency.vue +5 -5
- package/src/main.js +10 -7
- package/wwwroot/static/centaline/centaline-data-driven.js +52 -42
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
- package/.vs/Centaline.Front_End.DataDriven/DesignTimeBuild/.dtbcache.v2 +0 -0
- package/.vs/Centaline.Front_End.DataDriven/config/applicationhost.config +0 -1034
- package/obj/Debug/netcoreapp2.1/Centaline.Front_End.DataDriven.csproj.FileListAbsolute.txt +0 -6
package/src/SearchList.vue
CHANGED
|
@@ -1,13 +1,21 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="app-search" style="width:100%;height:100%;position: fixed;">
|
|
3
|
+
|
|
3
4
|
<!-- <ct-searchlist :searchConditionApi="'/api/third-dept-tran/transaction-workflow/getLayoutOfSearch'" :searchDataApi="'/api/third-dept-tran/transaction-workflow/list'"></ct-searchlist> -->
|
|
4
5
|
|
|
5
|
-
|
|
6
|
+
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/third-dept-tran/tran-list/layout'" :searchDataApi="'/api/third-dept-tran/tran-list'"></ct-searchlist> -->
|
|
6
7
|
|
|
7
|
-
<!-- <ct-searchlist :apiParam="para"
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/third-dept-tran/profit-return/layout'" :searchDataApi="'/api/third-dept-tran/profit-return'"></ct-searchlist> -->
|
|
9
|
+
|
|
10
|
+
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/third-dept-tran/tran-list/tran-emp-achievement-layout'" :searchDataApi="'/api/third-dept-tran/tran-list/tran-emp-achievement-list'"></ct-searchlist> -->
|
|
11
|
+
|
|
12
|
+
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/finance/tran-commission-allocate/process-layout'" :searchDataApi="'/api/finance/tran-commission-allocate/process-list'"></ct-searchlist> -->
|
|
13
|
+
|
|
14
|
+
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/shift-approver/layout'" :searchDataApi="'/api/shift-approver/list'"></ct-searchlist> -->
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/filemanage/batchdownlist/getLayoutOfSearch'" :searchDataApi="'/filemanage/batchdownlist/getList'"></ct-searchlist> -->
|
|
18
|
+
|
|
11
19
|
|
|
12
20
|
<!-- <ct-searchlist :apiParam="para"
|
|
13
21
|
:searchConditionApi="'/api/transaction/adjustRecord/getLayoutOfSearch'"
|
|
@@ -37,16 +45,12 @@
|
|
|
37
45
|
:searchStatsApi="'/ProfileWorklistList/getListStats'">
|
|
38
46
|
</ct-searchlist> -->
|
|
39
47
|
|
|
40
|
-
|
|
41
|
-
:searchConditionApi="'/
|
|
42
|
-
:searchDataApi="'/
|
|
43
|
-
</ct-searchlist
|
|
48
|
+
<!-- <ct-searchlist :apiParam="para"
|
|
49
|
+
:searchConditionApi="'/RightValueList/getLayoutOfSearch'"
|
|
50
|
+
:searchDataApi="'/RightValueList/getListOfSearchModel'">
|
|
51
|
+
</ct-searchlist> -->
|
|
44
52
|
|
|
45
|
-
|
|
46
|
-
:searchCategoryApi="'/PropertyPublishList/getLayoutOfSearchCategory'"
|
|
47
|
-
:searchConditionApi="'/PropertyPublishList/getLayoutOfSearchForRET'" :searchStatsApi="'/PropertyPublishList/getListStatsForRET'"
|
|
48
|
-
:searchDataApi="'/PropertyPublishList/getListOfSearchModelForRET'">
|
|
49
|
-
</ct-searchlist>-->
|
|
53
|
+
<ct-searchlist :searchCategoryApi="'/PropertyPublishList/getLayoutOfSearchCategory'" :searchConditionApi="'/PropertyPublishList/getLayoutOfSearchForRET'" :searchStatsApi="'/PropertyPublishList/getListStatsForRET'" :searchDataApi="'/PropertyPublishList/getListOfSearchModelForRET'"></ct-searchlist>
|
|
50
54
|
|
|
51
55
|
<!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
|
|
52
56
|
:searchDataApi="'/PropertyRETList/getListOfSearchModel'"
|
|
@@ -60,19 +64,21 @@
|
|
|
60
64
|
:searchStatsApi="'/PropertyOFIList/getListStats'">
|
|
61
65
|
</ct-searchlist> -->
|
|
62
66
|
|
|
63
|
-
<!-- <ct-searchlist :searchConditionApi="'/EstateList/getLayoutOfSearch'"
|
|
64
|
-
:searchDataApi="'/EstateList/getListOfSearchModel'">
|
|
65
|
-
</ct-searchlist> -->
|
|
67
|
+
<!-- <ct-searchlist :searchConditionApi="'/EstateList/getLayoutOfSearch'" :searchDataApi="'/EstateList/getListOfSearchModel'"></ct-searchlist> -->
|
|
66
68
|
|
|
67
|
-
<!-- <ct-searchlist :searchConditionApi="'/EstateBuildingList/getLayoutOfSearch'"
|
|
68
|
-
:searchDataApi="'/EstateBuildingList/getListOfSearchModel'">
|
|
69
|
-
</ct-searchlist> -->
|
|
69
|
+
<!-- <ct-searchlist :searchConditionApi="'/EstateBuildingList/getLayoutOfSearch'" :searchDataApi="'/EstateBuildingList/getListOfSearchModel'"></ct-searchlist> -->
|
|
70
70
|
|
|
71
|
-
<!-- <ct-searchlist :searchConditionApi="'/DistrictList/getLayoutOfSearch'"
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
<!-- <ct-searchlist :searchConditionApi="'/DistrictList/getLayoutOfSearch'" :searchDataApi="'/DistrictList/getListOfSearchModel'"></ct-searchlist> -->
|
|
72
|
+
|
|
73
|
+
<!-- <ct-searchlist :searchConditionApi="'/CustomerImportList/getLayoutOfSearch'" :searchDataApi="'/CustomerImportList/getListOfSearchModel'"></ct-searchlist> -->
|
|
74
|
+
|
|
75
|
+
<!-- <ct-searchlist :searchConditionApi="'/CustomerList/getLayoutOfSearch'" :searchStatsApi="'/CustomerList/getListStats'" :searchDataApi="'/CustomerList/getListOfSearchModel'"></ct-searchlist> -->
|
|
76
|
+
|
|
77
|
+
<!-- <ct-searchlist :searchConditionApi="'/CallTaskList/getLayoutOfSearch'" :searchDataApi="'/CallTaskList/getListOfSearchModel'"></ct-searchlist> -->
|
|
74
78
|
|
|
75
79
|
<!-- <ct-searchlist :searchConditionApi="'/RoleList/getLayoutOfSearch'" :searchStatsApi="'/RoleList/getListStats'" :searchDataApi="'/RoleList/getListOfSearchModel'"></ct-searchlist> -->
|
|
80
|
+
|
|
81
|
+
<!-- <ct-searchlist :searchConditionApi="'/TaskList/getLayoutOfSearch'" :searchStatsApi="'/TaskList/getListStats'" :searchDataApi="'/TaskList/getListOfSearchModel'"></ct-searchlist> -->
|
|
76
82
|
|
|
77
83
|
<ct-dialog-list></ct-dialog-list>
|
|
78
84
|
</div>
|
package/src/SearchTree.vue
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="app-Tree" style="height:100%;position: fixed;width:100%">
|
|
3
3
|
<ct-treelist :flagsearch="true" :apiParam="apiParam" :leftWidth="'280'"
|
|
4
|
-
:searchConditionApi="'/
|
|
5
|
-
:searchDataApi="'/
|
|
4
|
+
:searchConditionApi="'/SystemParameterCatalogList/getLayoutOfSearch'"
|
|
5
|
+
:searchDataApi="'/SystemParameterCatalogList/getListOfSearchModel'" @loaded="loaded"></ct-treelist>
|
|
6
6
|
<ct-dialog-list></ct-dialog-list>
|
|
7
7
|
</div>
|
|
8
8
|
</template>
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<el-container v-if="model.routerKey&&model.visibility!='0'&&model.rightRouter&&model.value!=''" :direction="model.orientation" :style="model.styleObject" ref="layoutchildren">
|
|
3
|
-
<div @click="clickHandlerLayout($event)">
|
|
4
|
-
<component v-for="(item, index) in model.fields" :actionRouter="actionRouter" :rowdata="rowdata" :key="index" :is="item.is" :vmodel="item" :rowindex="rowindex" :forname="forname" :forrowindex="forrowindex" @click="clickHandler"></component>
|
|
5
|
-
</div>
|
|
6
|
-
</el-container>
|
|
7
|
-
<el-container v-else-if="model.value!=''&&model.visibility!='0'" :direction="model.orientation" :style="model.styleObject" ref="layoutchildren">
|
|
8
|
-
<component v-for="(item, index) in model.fields" :actionRouter="actionRouter" :rowdata="rowdata" :key="index" :is="item.is" :vmodel="item" :rowindex="rowindex" :forname="forname" :forrowindex="forrowindex" @click="clickHandler"></component>
|
|
9
|
-
</el-container>
|
|
1
|
+
<template>
|
|
2
|
+
<el-container v-if="model.routerKey&&model.visibility!='0'&&model.rightRouter&&model.value!=''" :direction="model.orientation" :style="model.styleObject" ref="layoutchildren">
|
|
3
|
+
<div @click="clickHandlerLayout($event)">
|
|
4
|
+
<component v-for="(item, index) in model.fields" :actionRouter="actionRouter" :rowdata="rowdata" :key="index" :is="item.is" :vmodel="item" :rowindex="rowindex" :forname="forname" :forrowindex="forrowindex" @click="clickHandler"></component>
|
|
5
|
+
</div>
|
|
6
|
+
</el-container>
|
|
7
|
+
<el-container v-else-if="model.value!=''&&model.visibility!='0'" :direction="model.orientation" :style="model.styleObject" ref="layoutchildren">
|
|
8
|
+
<component v-for="(item, index) in model.fields" :actionRouter="actionRouter" :rowdata="rowdata" :key="index" :is="item.is" :vmodel="item" :rowindex="rowindex" :forname="forname" :forrowindex="forrowindex" @click="clickHandler"></component>
|
|
9
|
+
</el-container>
|
|
10
10
|
</template>
|
|
11
11
|
<script>
|
|
12
12
|
import dynamicElement from '../../mixins/dynamicElement'
|
|
@@ -37,13 +37,13 @@
|
|
|
37
37
|
};
|
|
38
38
|
},
|
|
39
39
|
created() {
|
|
40
|
-
this.model = this.loaderObj.CellLayout(this.vmodel);
|
|
40
|
+
this.model = this.loaderObj.CellLayout(this.vmodel);
|
|
41
41
|
},
|
|
42
42
|
methods: {
|
|
43
43
|
clickHandler(routerKey, rowindex, forname, forrowindex,flagHaveAlert) {
|
|
44
44
|
this.$emit('click', routerKey, rowindex, forname, forrowindex,flagHaveAlert);
|
|
45
|
-
},
|
|
46
|
-
clickHandlerLayout(ev) {
|
|
45
|
+
},
|
|
46
|
+
clickHandlerLayout(ev) {
|
|
47
47
|
this.$emit(
|
|
48
48
|
"click",
|
|
49
49
|
this.model.routerKey,
|
|
@@ -64,16 +64,16 @@
|
|
|
64
64
|
for (const vn of vnodes) {
|
|
65
65
|
destroyDeep(vn)
|
|
66
66
|
}
|
|
67
|
-
}
|
|
68
|
-
if (typeof vnode.componentInstance !== 'undefined') {
|
|
69
|
-
vnode.componentInstance.$destroy()
|
|
67
|
+
}
|
|
68
|
+
if (typeof vnode.componentInstance !== 'undefined') {
|
|
69
|
+
vnode.componentInstance.$destroy()
|
|
70
70
|
}
|
|
71
71
|
setTimeout(() => {
|
|
72
72
|
vnode.componentInstance = undefined
|
|
73
73
|
vnode.elm.innerHTML = ''
|
|
74
74
|
}, 0)
|
|
75
75
|
}
|
|
76
|
-
destroyDeep(this._vnode)
|
|
76
|
+
destroyDeep(this._vnode)
|
|
77
77
|
},
|
|
78
78
|
}
|
|
79
|
-
</script>
|
|
79
|
+
</script>
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
</div>
|
|
10
10
|
<div ref="cttags" class="el-select__tags" :style="{'max-width':tagsWidth + 'px'}" @click="clickHandle">
|
|
11
11
|
<span>
|
|
12
|
-
<span class="ct-mo-value-label">{{model.valueLabel}}</span>
|
|
12
|
+
<span class="ct-mo-value-label" v-if="model.valueLabel">{{model.valueLabel}}</span>
|
|
13
13
|
<span class="el-tag el-tag--info" :class="[model.attrs.size?'el-tag--'+model.attrs.size:'']" v-for="item in model.value">
|
|
14
|
-
<span class="el-select__tags-text">{{getOptionText(item)}}</span>
|
|
14
|
+
<span class="el-select__tags-text" style="margin-left: -6px;">{{getOptionText(item)}}</span>
|
|
15
15
|
<i v-if="!model.lock" class="el-tag__close el-icon-close" @click="deleteOption(item,$event)"></i>
|
|
16
16
|
</span>
|
|
17
17
|
</span>
|
|
@@ -361,7 +361,6 @@
|
|
|
361
361
|
cursor: pointer;
|
|
362
362
|
z-index: 2000;
|
|
363
363
|
}
|
|
364
|
-
|
|
365
364
|
.ct-mo .ct-input_inner::-webkit-input-placeholder {
|
|
366
365
|
color: var(--bagGray);
|
|
367
366
|
}
|
|
@@ -373,9 +372,11 @@
|
|
|
373
372
|
.ct-mo .ct-input_inner:-ms-input-placeholder {
|
|
374
373
|
color: var(--bagGray);
|
|
375
374
|
}
|
|
376
|
-
|
|
375
|
+
.ct-mo:hover .ct-input_inner{
|
|
376
|
+
border-color: var(--centalineBlue);
|
|
377
|
+
}
|
|
377
378
|
.ct-mo .ct-input_inner:hover {
|
|
378
|
-
border-color: var(--
|
|
379
|
+
border-color: var(--centalineBlue); /*border-color:#c0c4cc*/
|
|
379
380
|
}
|
|
380
381
|
|
|
381
382
|
.ct-mo.isfocus .ct-input_inner:hover {
|
|
@@ -184,21 +184,18 @@ export default {
|
|
|
184
184
|
fieldsValidExcute() {
|
|
185
185
|
var self = this;
|
|
186
186
|
var rtnBool = true;
|
|
187
|
-
self.validMessage='';
|
|
188
187
|
if (typeof self.$refs.Fields !== "undefined") {
|
|
189
188
|
self.$refs.Fields.forEach((f) => {
|
|
190
189
|
if (typeof f.validExcute !== "undefined") {
|
|
191
190
|
if (!f.validExcute()) {
|
|
192
|
-
if(
|
|
193
|
-
if (f.validMessage) {
|
|
194
|
-
|
|
195
|
-
self.validMessage= "【"+self.model.label+"-" + f.model.label + "】" + f.validMessage;
|
|
196
|
-
} else {
|
|
197
|
-
self.validMessage= f.validMessage;
|
|
198
|
-
}
|
|
191
|
+
if (f.validMessage) {
|
|
192
|
+
if (f.validMessage == "必填") {
|
|
193
|
+
self.validMessage= "【"+self.model.label+"-" + f.model.label + "】" + f.validMessage;
|
|
199
194
|
} else {
|
|
200
|
-
|
|
195
|
+
self.validMessage= f.validMessage;
|
|
201
196
|
}
|
|
197
|
+
} else {
|
|
198
|
+
self.validMessage="【"+self.model.label+"-" + f.model.label + "】不能为空!";
|
|
202
199
|
}
|
|
203
200
|
rtnBool = false;
|
|
204
201
|
}
|
|
@@ -78,12 +78,12 @@
|
|
|
78
78
|
else {
|
|
79
79
|
this.model = this.vmodel;
|
|
80
80
|
}
|
|
81
|
-
this.$watch('model.value', (n, o) => {
|
|
82
|
-
if (typeof this.model.child !== 'undefined' && this.model.enableRelationFields) {
|
|
83
|
-
for (var item of this.model.child) {
|
|
81
|
+
this.$watch('model.value', (n, o) => {
|
|
82
|
+
if (typeof this.model.child !== 'undefined' && this.model.enableRelationFields) {
|
|
83
|
+
for (var item of this.model.child) {
|
|
84
84
|
item.value = item.defaultValue || '';
|
|
85
|
-
item.text = item.defaultText || '';
|
|
86
|
-
item.enableRelationFields = this.model.enableRelationFields;
|
|
85
|
+
item.text = item.defaultText || '';
|
|
86
|
+
item.enableRelationFields = this.model.enableRelationFields;
|
|
87
87
|
}
|
|
88
88
|
}
|
|
89
89
|
});
|
|
@@ -147,11 +147,11 @@
|
|
|
147
147
|
var self = this;
|
|
148
148
|
this.model.getOptions(this.api, self.searchText);
|
|
149
149
|
},
|
|
150
|
-
soChange: function () {
|
|
151
|
-
var self = this;
|
|
150
|
+
soChange: function () {
|
|
151
|
+
var self = this;
|
|
152
152
|
this.model.enableRelationFields = true;
|
|
153
153
|
if (typeof this.model.child !== 'undefined') {
|
|
154
|
-
for (var item of this.model.child) {
|
|
154
|
+
for (var item of this.model.child) {
|
|
155
155
|
item.value = item.defaultValue || '';
|
|
156
156
|
item.text = item.defaultText || '';
|
|
157
157
|
}
|
|
@@ -8,9 +8,6 @@
|
|
|
8
8
|
<span>{{model.label}}</span>
|
|
9
9
|
</div>
|
|
10
10
|
|
|
11
|
-
<div ref="highlights" v-if="model.forbiddenWords" class="backdrop" :style="{width:forbiddenWordsWidth+'px',height:forbiddenWordsHeight+'px',left:forbiddenWordsLeft+'px',top:forbiddenWordsTop+'px'}">
|
|
12
|
-
<div class="highlights" v-html="forbiddenWordsValue"></div>
|
|
13
|
-
</div>
|
|
14
11
|
|
|
15
12
|
<el-popover v-if="model.autoFill && model.paramName" placement="bottom-start" v-model="showDrop" :trigger="'manual'" class="autoFill">
|
|
16
13
|
<div>
|
|
@@ -32,23 +29,26 @@
|
|
|
32
29
|
</el-input>
|
|
33
30
|
</el-popover>
|
|
34
31
|
|
|
35
|
-
<div v-else class="textarea-box" ref="input">
|
|
36
|
-
<
|
|
32
|
+
<div v-else class="textarea-box" ref="input">
|
|
33
|
+
<div ref="highlights" v-if="model.forbiddenWords" class="backdrop hoverColor" :style="{width:forbiddenWordsWidth+'px',height:forbiddenWordsHeight+'px',left:forbiddenWordsLeft+'px',top:forbiddenWordsTop+'px'}">
|
|
34
|
+
<div class="highlights" v-html="forbiddenWordsValue"></div>
|
|
35
|
+
</div>
|
|
36
|
+
<el-input ref="inputText" :title="model.lock?model.value:''" :type="model.rows==1 ? '':model.inputType" v-model="model.value" v-bind="model.attrs" @input="inputHandler($event);isShowClear();applyHighlights()" @change="changeHandler($event)"
|
|
37
37
|
class="ct-flex-div-input max-input" :class="[model.showLabel?'showLabel':'',!valid?'inputError':'',model.forbiddenWords?'inputHighlights':'']"
|
|
38
38
|
:disabled="model.lock" :rows="model.rows"
|
|
39
39
|
:readonly="model.readonly" :show-password="model.isPassword" autocomplete="on" :maxlength="model.max"
|
|
40
40
|
@keyup.enter.native="search()" style="z-index: 3;background-color: transparent;">
|
|
41
|
-
|
|
41
|
+
<span slot="suffix" v-if="model.unitName" class="ct-unitname" :class="showClear?'unitName-20':'unitName-0'">{{model.unitName}}</span>
|
|
42
42
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
<span slot="suffix" class="el-input__suffix el-input--mini is-show-Span" v-if="!model.isPassword&&showClear" :class="model.unitName?'ct-right-10':'ct-right-0'">
|
|
44
|
+
<span class="el-input__suffix-inner ct-close">
|
|
45
|
+
<i class="el-select__caret el-input__icon el-icon-circle-close is-show-close" @click="clearClickHandle($event)"></i>
|
|
46
|
+
</span>
|
|
46
47
|
</span>
|
|
47
|
-
</
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
<span v-if="!model.forbiddenWords" class="textarea-icon"></span>
|
|
48
|
+
</el-input>
|
|
49
|
+
<span v-if="this.minText" class="textarea-tip">{{this.minText}}</span>
|
|
50
|
+
<span v-if="model.showWordLimit" class="textarea-count">{{model.value.length}}/{{ model.max }}</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>
|
|
@@ -97,6 +97,7 @@
|
|
|
97
97
|
forbiddenWordsHeight:0,
|
|
98
98
|
forbiddenWordsLeft:0,
|
|
99
99
|
forbiddenWordsTop:0,
|
|
100
|
+
forbiddenWordsReg:'',
|
|
100
101
|
showDrop:false,
|
|
101
102
|
searchText:'',
|
|
102
103
|
}
|
|
@@ -118,14 +119,14 @@
|
|
|
118
119
|
else{
|
|
119
120
|
this.minText='至少需要'+this.model.min+'个字';
|
|
120
121
|
}
|
|
121
|
-
this.minTextLeft=this.$refs.
|
|
122
|
+
// this.minTextLeft=this.$refs.inputText.$el.offsetLeft+10;
|
|
122
123
|
}
|
|
123
124
|
if(this.model.forbiddenWords){
|
|
124
|
-
this.forbiddenWordsWidth=this.$refs.
|
|
125
|
-
this.forbiddenWordsHeight=this.$refs.
|
|
126
|
-
this.forbiddenWordsLeft=this.$refs.
|
|
127
|
-
this.forbiddenWordsTop=this.$refs.
|
|
128
|
-
this.$refs.
|
|
125
|
+
this.forbiddenWordsWidth=this.$refs.inputText.$el.offsetWidth;
|
|
126
|
+
this.forbiddenWordsHeight=this.$refs.inputText.$el.offsetHeight;
|
|
127
|
+
this.forbiddenWordsLeft=this.$refs.inputText.$el.offsetLeft;
|
|
128
|
+
this.forbiddenWordsTop=this.$refs.inputText.$el.offsetTop;
|
|
129
|
+
this.$refs.inputText.$el.addEventListener('scroll',this.scrollHandler,true);
|
|
129
130
|
}
|
|
130
131
|
},
|
|
131
132
|
methods: {
|
|
@@ -221,7 +222,7 @@
|
|
|
221
222
|
});
|
|
222
223
|
},
|
|
223
224
|
scrollHandler() {
|
|
224
|
-
var scrollTop = this.$refs.
|
|
225
|
+
var scrollTop = this.$refs.inputText.$el.children[0].scrollTop;
|
|
225
226
|
this.$refs.highlights.scrollTop=scrollTop;
|
|
226
227
|
},
|
|
227
228
|
applyHighlights() {
|
|
@@ -229,10 +230,21 @@
|
|
|
229
230
|
if(self.model.forbiddenWords){
|
|
230
231
|
self.forbiddenWordsValue=self.model.value;
|
|
231
232
|
let joinChar=self.model.joinChar || ',';
|
|
233
|
+
this.forbiddenWordsReg='';
|
|
232
234
|
self.model.forbiddenWords.split(joinChar).forEach(w => {
|
|
235
|
+
if(self.forbiddenWordsValue.indexOf(w)>-1){
|
|
236
|
+
if(this.forbiddenWordsReg==''){
|
|
237
|
+
this.forbiddenWordsReg+='(';
|
|
238
|
+
this.forbiddenWordsReg+=w;
|
|
239
|
+
}
|
|
240
|
+
else{
|
|
241
|
+
this.forbiddenWordsReg+=','+w;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
233
244
|
let reg1=new RegExp(w,'g');
|
|
234
245
|
self.forbiddenWordsValue=self.forbiddenWordsValue.replace(reg1,'<span style="background-color: #ffff00;color: transparent;">'+w+'</span>');
|
|
235
246
|
});
|
|
247
|
+
if(this.forbiddenWordsReg)this.forbiddenWordsReg+=')';
|
|
236
248
|
// let h=this.$refs.input.$el.children[0].offsetHeight;
|
|
237
249
|
// let hs=this.$refs.input.$el.children[0].scrollHeight;
|
|
238
250
|
// let ht=this.$refs.input.$el.children[0].scrollTop;
|
|
@@ -250,10 +262,10 @@
|
|
|
250
262
|
let flag=true;
|
|
251
263
|
if(this.model.forbiddenWords && this.model.value){
|
|
252
264
|
let reg1=new RegExp('#ffff00','g');
|
|
253
|
-
let res=this.forbiddenWordsValue.match(reg1)
|
|
265
|
+
let res=this.forbiddenWordsValue.match(reg1);
|
|
254
266
|
if(res && res.length>0){
|
|
255
267
|
flag=false;
|
|
256
|
-
this.validMessage = (this.validMessage?this.validMessage+" ":"") + "输入文字中包含"+res.length+"个违禁词";
|
|
268
|
+
this.validMessage = (this.validMessage?this.validMessage+" ":"") + "输入文字中包含"+res.length+"个违禁词"+this.forbiddenWordsReg;
|
|
257
269
|
}
|
|
258
270
|
this.valid = flag;
|
|
259
271
|
}
|
|
@@ -278,7 +290,8 @@
|
|
|
278
290
|
.backdrop {
|
|
279
291
|
position: absolute;
|
|
280
292
|
z-index: 1;
|
|
281
|
-
border: 1px solid var(--bagGray);
|
|
293
|
+
/* border: 1px solid var(--bagGray); */
|
|
294
|
+
border: none;
|
|
282
295
|
background-color: #fff;
|
|
283
296
|
pointer-events: none;
|
|
284
297
|
overflow-y: auto;
|
|
@@ -292,7 +305,7 @@
|
|
|
292
305
|
white-space: pre-wrap;
|
|
293
306
|
word-wrap: break-word;
|
|
294
307
|
color: transparent;
|
|
295
|
-
padding: 5px 15px 5px
|
|
308
|
+
padding: 5px 15px 5px 5px;
|
|
296
309
|
line-height: 1.5;
|
|
297
310
|
font-family: monospace;
|
|
298
311
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import base from '../../index';
|
|
2
|
-
import Base from './Base';
|
|
3
|
-
import common from '../../../common';
|
|
4
|
-
import Router from './Router';
|
|
2
|
+
import Base from './Base';
|
|
3
|
+
import common from '../../../common';
|
|
4
|
+
import Router from './Router';
|
|
5
5
|
import Vue from 'vue';
|
|
6
6
|
const Button = function (source, router) {
|
|
7
7
|
var rtn = {
|
|
@@ -15,7 +15,7 @@ const Button = function (source, router) {
|
|
|
15
15
|
},
|
|
16
16
|
set label(v) {
|
|
17
17
|
source.controlLabel = v;
|
|
18
|
-
},
|
|
18
|
+
},
|
|
19
19
|
get routerKey() {
|
|
20
20
|
return source.routerKey;
|
|
21
21
|
},
|
|
@@ -24,8 +24,8 @@ const Button = function (source, router) {
|
|
|
24
24
|
return router.isHyperLink;
|
|
25
25
|
}
|
|
26
26
|
return false;
|
|
27
|
-
},
|
|
28
|
-
get isSearchRouterKey() {
|
|
27
|
+
},
|
|
28
|
+
get isSearchRouterKey() {
|
|
29
29
|
if (source.controlType == 16 && source.routerKey) {
|
|
30
30
|
return true;
|
|
31
31
|
}
|
|
@@ -48,10 +48,10 @@ const Button = function (source, router) {
|
|
|
48
48
|
get borderColor() {
|
|
49
49
|
return source.borderColor ? source.borderColor + '' : (source.bgColor ? source.bgColor + '' : '');
|
|
50
50
|
},
|
|
51
|
-
icon: '',
|
|
52
|
-
getApiData(callback, field) {
|
|
51
|
+
icon: '',
|
|
52
|
+
getApiData(callback, field) {
|
|
53
53
|
var params = {
|
|
54
|
-
action: field.actionForSearch,
|
|
54
|
+
action: field.actionForSearch,
|
|
55
55
|
para: {
|
|
56
56
|
searchFields: field.getSearchPara(),
|
|
57
57
|
pageAttribute: {
|
|
@@ -59,11 +59,11 @@ const Button = function (source, router) {
|
|
|
59
59
|
},
|
|
60
60
|
flagSearch: true
|
|
61
61
|
}
|
|
62
|
-
};
|
|
62
|
+
};
|
|
63
63
|
Vue.prototype.$api.postHandler(common.globalUri(), params).then((response) => {
|
|
64
|
-
if (response.rtnCode === 200) {
|
|
65
|
-
var Buttons = [];
|
|
66
|
-
if (response.content.toolButtons) {
|
|
64
|
+
if (response.rtnCode === 200) {
|
|
65
|
+
var Buttons = [];
|
|
66
|
+
if (response.content.toolButtons) {
|
|
67
67
|
response.content.toolButtons.forEach((v) => {
|
|
68
68
|
var button = Router(v);
|
|
69
69
|
button.is = "ct-btn";
|
|
@@ -72,11 +72,11 @@ const Button = function (source, router) {
|
|
|
72
72
|
class: 'max-btn-gray'
|
|
73
73
|
}
|
|
74
74
|
Buttons.push(button);
|
|
75
|
-
});
|
|
76
|
-
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
77
|
callback(response.content, Buttons);
|
|
78
78
|
}
|
|
79
|
-
});
|
|
79
|
+
});
|
|
80
80
|
},
|
|
81
81
|
};
|
|
82
82
|
if(router){
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import base from '../../index';
|
|
2
|
-
import Base from './Base';
|
|
2
|
+
import Base from './Base';
|
|
3
3
|
|
|
4
4
|
const PlaceHolder = function (source) {
|
|
5
5
|
var rtn = {
|
|
@@ -14,4 +14,4 @@ const PlaceHolder = function (source) {
|
|
|
14
14
|
return rtn;
|
|
15
15
|
};
|
|
16
16
|
|
|
17
|
-
export default PlaceHolder;
|
|
17
|
+
export default PlaceHolder;
|
|
@@ -6,7 +6,7 @@ import common from '../../../common';
|
|
|
6
6
|
import Vue from 'vue';
|
|
7
7
|
const Sos = function (source, moreActionRouter) {
|
|
8
8
|
var rtn = {
|
|
9
|
-
options: [{ code: source.code1, name: source.name1 }],
|
|
9
|
+
options: [{ code: source.code1, name: source.name1 }],
|
|
10
10
|
enableRelationFields: true,
|
|
11
11
|
get text() {
|
|
12
12
|
if (source.isList && source.name1 && rtn.attrs.placeholder && rtn.displayLabelAfterSelected) {
|
|
@@ -31,7 +31,7 @@ const Sos = function (source, moreActionRouter) {
|
|
|
31
31
|
},
|
|
32
32
|
get parentName() {
|
|
33
33
|
return source.parentField;
|
|
34
|
-
},
|
|
34
|
+
},
|
|
35
35
|
reset() {
|
|
36
36
|
this.value = this.defaultValue;
|
|
37
37
|
this.text = this.defaultText;
|
|
@@ -34,7 +34,7 @@
|
|
|
34
34
|
</div>
|
|
35
35
|
</template>
|
|
36
36
|
|
|
37
|
-
<script>
|
|
37
|
+
<script>
|
|
38
38
|
import Cookies from 'js-cookie';
|
|
39
39
|
export default {
|
|
40
40
|
name: 'ct-tablecurrency',
|
|
@@ -67,8 +67,8 @@
|
|
|
67
67
|
return false;
|
|
68
68
|
},
|
|
69
69
|
},
|
|
70
|
-
created() {
|
|
71
|
-
this.isVisited();
|
|
70
|
+
created() {
|
|
71
|
+
this.isVisited();
|
|
72
72
|
},
|
|
73
73
|
data() {
|
|
74
74
|
return {
|
|
@@ -98,8 +98,8 @@
|
|
|
98
98
|
}
|
|
99
99
|
this.labelColor='mazarine'
|
|
100
100
|
|
|
101
|
-
},
|
|
102
|
-
isVisited() {
|
|
101
|
+
},
|
|
102
|
+
isVisited() {
|
|
103
103
|
var key = this.router.action + this.rowData.chanceID;
|
|
104
104
|
if (typeof Cookies.get(key) !== "undefined") {
|
|
105
105
|
this.labelColor = 'mazarine'
|
package/src/main.js
CHANGED
|
@@ -14,14 +14,14 @@ Vue.use(ElementUI, { size: 'mini'});
|
|
|
14
14
|
// 关闭生产模式下给出的提示
|
|
15
15
|
Vue.config.productionTip = false;
|
|
16
16
|
Vue.use(centaline, {
|
|
17
|
-
baseUrl: "http://10.88.22.
|
|
17
|
+
baseUrl: "http://10.88.22.46:17070/max-uplink-api/",
|
|
18
18
|
// baseUrl: "http://10.88.22.13:17070/max-uplink-api/",
|
|
19
19
|
// baseUrl: "http://10.6.1.163:9000/max-uplink-api/v1/form/router",
|
|
20
|
-
// baseUrl: "http://10.25.10.
|
|
20
|
+
// baseUrl: "http://10.25.10.63:9999/service-api/v1/form/router",
|
|
21
21
|
// baseUrl: "http://10.25.10.67:8080/",
|
|
22
22
|
// baseUrl: "http://10.88.22.42:9999/service-api/v1/form/router",
|
|
23
23
|
// baseUrl: "http://10.88.22.69:8080/api/",
|
|
24
|
-
// baseUrl: "http://10.88.22.
|
|
24
|
+
// baseUrl: "http://10.88.22.16:8080/",
|
|
25
25
|
// baseUrl: "http://10.58.2.108:8080/",
|
|
26
26
|
// baseUrl: "http://tjcptest.centaline.com.cn/",
|
|
27
27
|
// baseUrl: "http://tjcpuat.centaline.com.cn:9090/",
|
|
@@ -37,6 +37,9 @@ Vue.use(centaline, {
|
|
|
37
37
|
openTabSearch: function (field, submitData) {
|
|
38
38
|
alert("打开tab页Search:" + field.action)
|
|
39
39
|
},
|
|
40
|
+
openTabSearchRouter: function (action) {
|
|
41
|
+
alert("打开tab页:" + action)
|
|
42
|
+
},
|
|
40
43
|
openDetail: function (action) {
|
|
41
44
|
alert("打开tab页:" + action)
|
|
42
45
|
},
|
|
@@ -53,16 +56,16 @@ Vue.use(centaline, {
|
|
|
53
56
|
// 获取请求头
|
|
54
57
|
getRequestHeaders: function () {
|
|
55
58
|
return {
|
|
56
|
-
oldToken: '
|
|
59
|
+
oldToken: 'aed9a1f3-c668-4d9e-aa6d-47ebe2b4eedb',
|
|
57
60
|
token:'aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjsOwjAQRO_iOiv5s1570zn-NBwiIuBIoUIkkUCIuxMEdPRMMRq95s1dzOsgWmHIccikIFr0gKQsMJYCURKxKdKYlHr-BH7UNz26yCFkByg7Aiw2A-tYwLDtEubgUibRiHo9i1aRRy-dtdSIab-8gdNKvcA618uu3v5x7rRMm3YkOZAfR6BtAWp_3LQHBNI8KHbkqlHi8QQAAP__.RrBgBqaFlp478oO3g5k_EEtjPt_o8qpJBkzgSP78Wa4',
|
|
58
|
-
authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.
|
|
61
|
+
authObject: '{token:"aplus eyJhbGciOiJIUzI1NiIsInppcCI6IkRFRiJ9.eNrEjjEOwjAQBP_iOifl7PP5nC62k4ZHRAk2ElSIJBII8XeCgI6eKaaYZveu5nVSjUrS1hR7A7HTFig5C23vBEIUqYN2hoIM_gP80JcBkbxD7qD1LgIxGRCMApE4Up86E0NSlSrXs2qQvRHHtdWVOo7LOzjx_ArrXC67cvvHudNy3GZZ70eTyYI7TAYIfYZJMgJKJi5c6s3q8QQAAP__.ufrQpM9yM_OKbLBN3IOjInFco7uijiTIijl57f2jdYE"}',
|
|
59
62
|
|
|
60
63
|
originalRequestURL: 'http://10.88.22.67:8080',
|
|
61
64
|
EstateInfo: '{"estateId":"201806071109550C867184E8BCA56EC3","estateName":"C%E5%BE%A1%E6%9E%97%E5%B1%B1%E6%99%AF%E6%A5%BC"}',
|
|
62
65
|
estateId: '201806071109550C867184E8BCA56EC3',
|
|
63
66
|
|
|
64
|
-
// authObject: '{"currentEstate":{
|
|
65
|
-
AuthorizationCode:'Bearer eyJhbGciOiJIUzUxMiJ9.
|
|
67
|
+
// authObject: '{"currentEstate":{},"platform":1,"osVersion":"","clientVersion":"","machineCode":"470cac848b892484b949c6135dff97d6","token":"","random":"IVMfRJ","time":1689822719042,"sign":"19a04c54292bd44dfa5187983e27c530"}',
|
|
68
|
+
AuthorizationCode:'Bearer eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijc5OTlkYWY4LTAzN2ItNDMyMi1iMTRmLTA1OGU4OTgxMzk3OCJ9.6ltiN_svSpuTIi45IHktKTVZLpP2Y1w3oJsjPGFKaNaZ51XDvhhqkEe_0GhnNsJWLxQc4FX4Lpfhgne0SmJjHA',
|
|
66
69
|
};
|
|
67
70
|
},
|
|
68
71
|
// 请求完成事件,可判断是否登录过期执行响应操作
|