centaline-data-driven 1.1.62 → 1.1.66
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/build/centaline/centaline.path.js +1 -0
- package/package.json +1 -1
- package/src/Form.vue +1 -1
- package/src/SearchList.vue +8 -0
- package/src/SearchTree.vue +1 -1
- package/src/assets/vertical.png +0 -0
- package/src/centaline/css/common.css +6 -5
- package/src/centaline/css/max.css +22 -0
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +25 -9
- package/src/centaline/dynamicForm/src/dynamicForm.vue +12 -4
- package/src/centaline/dynamicHyperLinkList/index.js +11 -0
- package/src/centaline/dynamicHyperLinkList/src/dynamicHyperLinkList.vue +58 -0
- package/src/centaline/dynamicL/src/dynamicL.vue +1 -1
- package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +5 -2
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +46 -16
- package/src/centaline/dynamicSearchList/src/dynamicTableStats.vue +193 -0
- package/src/centaline/dynamicSearchList/src/dynamicTableToolbar.vue +1 -1
- package/src/centaline/dynamicT/src/dynamicT.vue +1 -1
- package/src/centaline/dynamicTree/src/dynamicTreeList.vue +4 -3
- package/src/centaline/loader/src/ctl/Detail.js +19 -40
- package/src/centaline/loader/src/ctl/HyperLinkList.js +69 -0
- package/src/centaline/loader/src/ctl/SearchScreen.js +80 -2
- package/src/centaline/loader/src/ctl/SearchStats.js +133 -0
- package/src/centaline/loader/src/ctl/SearchTable.js +28 -19
- package/src/centaline/loader/src/ctl/lib/Enum.js +2 -0
- package/src/centaline/loader/src/ctl/lib/LibFunction.js +5 -0
- package/src/centaline/loader/src/ctl.js +2 -0
- package/wwwroot/static/centaline/centaline-data-driven.js +1 -1
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
- package/src/centaline/dynamicSearchList/src/dynamicTableStatistics.vue +0 -41
|
@@ -31,6 +31,7 @@ const paths = {
|
|
|
31
31
|
"dynamicRichText": "./src/centaline/dynamicRichText/index.js",//纯文本
|
|
32
32
|
"dynamicComboBoxWithTextBox": "./src/centaline/dynamicComboBoxWithTextBox/index.js",//下拉框+文本
|
|
33
33
|
"dynamicHyperLink": "./src/centaline/dynamicHyperLink/index.js",//带标签的超链接
|
|
34
|
+
"dynamicHyperLinkList": "./src/centaline/dynamicHyperLinkList/index.js",//带标签的超链接List
|
|
34
35
|
"dynamicPlaceHolder": "./src/centaline/dynamicPlaceHolder/index.js",//占位控件
|
|
35
36
|
"dynamicDetail": "./src/centaline/dynamicDetail/index.js",//详情页控件
|
|
36
37
|
"dynamicTree": "./src/centaline/dynamicTree/index.js",//树组件
|
package/package.json
CHANGED
package/src/Form.vue
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
// apiParam: {SN: "13557_132", UserID: "wuhan3"},
|
|
25
25
|
// apiParam: {actionType: 3,formId: "2c12649f-09c5-4aa9-8011-b6d1c7b56a41"} ,
|
|
26
26
|
// apiParam: {chanceID: "1", actionType: 2} ,
|
|
27
|
-
apiParam: {worklistID: "
|
|
27
|
+
apiParam: {worklistID: "1494206747714392064", actionType: 2}
|
|
28
28
|
// apiParam: {
|
|
29
29
|
// actionType: 2,
|
|
30
30
|
// agentId: "1450283160825425922",
|
package/src/SearchList.vue
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="app-search" style="height:100%;position: fixed;">
|
|
3
3
|
<!-- <ct-searchlist :searchConditionApi="'/api/third-dept-tran/tran-list/layout'" :searchDataApi="'/api/third-dept-tran/tran-list'"></ct-searchlist> -->
|
|
4
|
+
|
|
4
5
|
<ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'" :searchDataApi="'/PropertyRETList/getListOfSearchModel'" :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"></ct-searchlist>
|
|
5
6
|
<!-- <ct-searchlist :searchConditionApi="'/WorklistList/getLayoutOfSearch'" :searchDataApi="'/WorklistList/getListOfSearchModel'" :searchCategoryApi="'/WorklistList/getLayoutOfSearchCategory'"></ct-searchlist> -->
|
|
7
|
+
|
|
8
|
+
<!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
|
|
9
|
+
:searchDataApi="'/PropertyRETList/getListOfSearchModel'"
|
|
10
|
+
:searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"
|
|
11
|
+
:searchStatsApi="'/exampleList/getListStats'"
|
|
12
|
+
></ct-searchlist> -->
|
|
13
|
+
|
|
6
14
|
<!--<ct-searchlist :searchConditionApi="'/api/invoice-info/search-condition'" :searchDataApi="'/api/invoice-info/list'" :searchDataStatisticsApi="'api/ContractList/GetLayoutOfStatisticsTool'" :apiParam="para"></ct-searchlist>-->
|
|
7
15
|
<ct-dialog-list></ct-dialog-list>
|
|
8
16
|
</div>
|
package/src/SearchTree.vue
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="app-Tree" style="height:100%;position: fixed;width:100%">
|
|
3
|
-
<ct-treelist :flagsearch="true" :apiParam="apiParam"
|
|
3
|
+
<ct-treelist :flagsearch="true" :apiParam="apiParam" :leftWidth="'180'"
|
|
4
4
|
:searchConditionApi="'/SystemParameterCatalogList/getLayoutOfSearch'"
|
|
5
5
|
:searchDataApi="'/SystemParameterCatalogList/getListOfSearchModel'" @loaded="loaded"></ct-treelist>
|
|
6
6
|
<ct-dialog-list></ct-dialog-list>
|
|
Binary file
|
|
@@ -566,11 +566,10 @@ html {
|
|
|
566
566
|
|
|
567
567
|
.ct-searchtable{
|
|
568
568
|
margin-top: 10px;
|
|
569
|
-
padding: 20px 10px 0
|
|
569
|
+
padding: 20px 10px 0 15px;
|
|
570
570
|
background: #fff;
|
|
571
571
|
-webkit-box-sizing: border-box;
|
|
572
572
|
border-radius:6px;
|
|
573
|
-
|
|
574
573
|
}
|
|
575
574
|
|
|
576
575
|
.ct-unitname {
|
|
@@ -589,11 +588,13 @@ html {
|
|
|
589
588
|
background-color: #bebebe;
|
|
590
589
|
height: 5px;
|
|
591
590
|
border-radius: 4px;
|
|
591
|
+
display: block;
|
|
592
592
|
}
|
|
593
|
-
|
|
593
|
+
::-webkit-scrollbar {
|
|
594
594
|
width: 6px;
|
|
595
595
|
height:6px;
|
|
596
|
-
background-color: #f1f1f1
|
|
596
|
+
background-color: #f1f1f1;
|
|
597
|
+
display: block;
|
|
597
598
|
}
|
|
598
599
|
|
|
599
600
|
.el-input-group__append, .el-input-group__prepend {
|
|
@@ -712,7 +713,7 @@ html {
|
|
|
712
713
|
right: 10px !important;
|
|
713
714
|
}
|
|
714
715
|
.ct-table-content{
|
|
715
|
-
padding: 0
|
|
716
|
+
padding: 0;
|
|
716
717
|
}
|
|
717
718
|
.el-card.is-always-shadow {
|
|
718
719
|
border: none;
|
|
@@ -146,6 +146,12 @@
|
|
|
146
146
|
width:4px;
|
|
147
147
|
height:6px;
|
|
148
148
|
}
|
|
149
|
+
.ct-selectOptionVertical::-webkit-scrollbar {
|
|
150
|
+
width: 6px!important;
|
|
151
|
+
height:6px!important;
|
|
152
|
+
background-color: #f1f1f1!important;
|
|
153
|
+
display: block!important;
|
|
154
|
+
}
|
|
149
155
|
.ct-table-auto{
|
|
150
156
|
white-space: nowrap;
|
|
151
157
|
}
|
|
@@ -206,3 +212,19 @@
|
|
|
206
212
|
color: #666;
|
|
207
213
|
border-color:#cecece;
|
|
208
214
|
}
|
|
215
|
+
.details-content .ct-search-list .ct-ptb5{
|
|
216
|
+
padding: 0 0 10px 0;
|
|
217
|
+
}
|
|
218
|
+
.details-content .ct-search-list .ct-searchtable{
|
|
219
|
+
margin-top: 0;
|
|
220
|
+
padding: 0px;
|
|
221
|
+
}
|
|
222
|
+
.details-content .ct-search-list .ct-searchtable .ct-table-content{
|
|
223
|
+
padding: 0;
|
|
224
|
+
}
|
|
225
|
+
.ct-unitname {
|
|
226
|
+
display: contents;
|
|
227
|
+
}
|
|
228
|
+
.hyperLinkList .el-button + .el-button{
|
|
229
|
+
margin-left: 0!important;
|
|
230
|
+
}
|
|
@@ -235,14 +235,14 @@
|
|
|
235
235
|
<el-tabs :value="model.activeIndex2" @tab-click="handleClick">
|
|
236
236
|
<el-tab-pane v-for="(col, index) in model.tags2" :key="col.appID"
|
|
237
237
|
:index="index.toString()" :name="index.toString()" :label="col.appName">
|
|
238
|
-
<div class="el-tabs__content">
|
|
239
|
-
<div v-if="col.
|
|
238
|
+
<div v-if="col.appID==='Maintain'" class="el-tabs__content">
|
|
239
|
+
<div v-if="col.list" role="tabpanel" aria-labelledby="tab-first" class="el-tab-pane">
|
|
240
240
|
<div class="tab-conten">
|
|
241
|
-
<img src="
|
|
241
|
+
<img :src="col.list[0].maintainEmpUrl">
|
|
242
242
|
<div class="user-name">
|
|
243
|
-
<div class="text"
|
|
243
|
+
<div class="text">{{col.list[0].maintainEmpName}}</div><span class="user-but">{{col.list[0].maintainDeptName}}</span>
|
|
244
244
|
</div>
|
|
245
|
-
<div class="text">
|
|
245
|
+
<div class="text">{{col.list[0].mobileNo}}</div>
|
|
246
246
|
</div>
|
|
247
247
|
<div v-show="allIn" class="tab-conten">
|
|
248
248
|
<img src="/static/img/user-head.d2916812.png">
|
|
@@ -255,9 +255,9 @@
|
|
|
255
255
|
<img src="../../../assets/mero.png" alt="" class="mero" > <!--:class="allIn?'more-colose':'more-open'" -->
|
|
256
256
|
</div>
|
|
257
257
|
</div>
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
258
|
+
</div>
|
|
259
|
+
<div v-else class="el-tabs__content">
|
|
260
|
+
<div v-for="(m, i) in col.list" class="text" :key="i">{{m.dutyEmpName}}</div>
|
|
261
261
|
</div>
|
|
262
262
|
</el-tab-pane>
|
|
263
263
|
</el-tabs>
|
|
@@ -524,6 +524,9 @@
|
|
|
524
524
|
var self = this;
|
|
525
525
|
this.model = data;
|
|
526
526
|
this.loadFields();
|
|
527
|
+
if(this.model.tags2 && this.model.tags2[0]){
|
|
528
|
+
this.model.getTags2List(0);
|
|
529
|
+
}
|
|
527
530
|
this.setDetailHeight();
|
|
528
531
|
this.$nextTick(() => {
|
|
529
532
|
window.addEventListener("resize", (ev) => {
|
|
@@ -579,7 +582,10 @@
|
|
|
579
582
|
console.log('submit!');
|
|
580
583
|
},
|
|
581
584
|
handleClick(tab, event) {
|
|
582
|
-
|
|
585
|
+
let i=tab.index;
|
|
586
|
+
if(this.model.tags2 && this.model.tags2[i]){
|
|
587
|
+
this.model.getTags2List(i);
|
|
588
|
+
}
|
|
583
589
|
},
|
|
584
590
|
setDetailHeight() {
|
|
585
591
|
this.$nextTick(() => {
|
|
@@ -948,7 +954,16 @@
|
|
|
948
954
|
}
|
|
949
955
|
}
|
|
950
956
|
}
|
|
957
|
+
|
|
951
958
|
.tablist-info {
|
|
959
|
+
.details-tabs-box{
|
|
960
|
+
|
|
961
|
+
.el-menu--horizontal > .el-menu-item{
|
|
962
|
+
height: 30px;
|
|
963
|
+
line-height: 30px;
|
|
964
|
+
border-radius: none;
|
|
965
|
+
}
|
|
966
|
+
}
|
|
952
967
|
}
|
|
953
968
|
|
|
954
969
|
.contribute-info {
|
|
@@ -1266,6 +1281,7 @@
|
|
|
1266
1281
|
.r{
|
|
1267
1282
|
float: right;
|
|
1268
1283
|
}
|
|
1284
|
+
|
|
1269
1285
|
</style>
|
|
1270
1286
|
|
|
1271
1287
|
|
|
@@ -214,6 +214,7 @@
|
|
|
214
214
|
});
|
|
215
215
|
},
|
|
216
216
|
fieldClickHandler(field) {
|
|
217
|
+
let submitData=null;
|
|
217
218
|
var router = this.model.buttons.find((v) => {
|
|
218
219
|
return v.id === field.id;
|
|
219
220
|
});
|
|
@@ -223,11 +224,17 @@
|
|
|
223
224
|
});
|
|
224
225
|
}
|
|
225
226
|
if(router==undefined){
|
|
226
|
-
|
|
227
|
+
router = this.model.actionRouters.find((v) => {
|
|
227
228
|
return v.id === field.id;
|
|
228
229
|
});
|
|
229
230
|
}
|
|
230
|
-
|
|
231
|
+
if(router && field.isSubmitDataFromSelf){
|
|
232
|
+
submitData={};
|
|
233
|
+
router.submitFormField.forEach((v) => {
|
|
234
|
+
submitData[v] = field.list[field.listIndex].code;
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
this.clickHandler(router,submitData);
|
|
231
238
|
},
|
|
232
239
|
clickHandler(field, submitData) {
|
|
233
240
|
var self = this;
|
|
@@ -367,6 +374,7 @@
|
|
|
367
374
|
}
|
|
368
375
|
//执行客户端脚本
|
|
369
376
|
else {
|
|
377
|
+
debugger
|
|
370
378
|
if (!submitData) {
|
|
371
379
|
submitData = {};
|
|
372
380
|
var tempFormData = self.model.getFormObj();
|
|
@@ -393,12 +401,12 @@
|
|
|
393
401
|
//type: 'warning'
|
|
394
402
|
center: field.alertCenter
|
|
395
403
|
}).then(() => {
|
|
396
|
-
clickAcion(field);
|
|
404
|
+
clickAcion(field,submitData);
|
|
397
405
|
}).catch(() => {
|
|
398
406
|
});
|
|
399
407
|
}
|
|
400
408
|
else {
|
|
401
|
-
clickAcion(field);
|
|
409
|
+
clickAcion(field,submitData);
|
|
402
410
|
}
|
|
403
411
|
},
|
|
404
412
|
changeHandler(field) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import dynamicHyperLinkList from './src/dynamicHyperLinkList'
|
|
2
|
+
|
|
3
|
+
dynamicHyperLinkList.install = function (Vue) {
|
|
4
|
+
Vue.component(dynamicHyperLinkList.name, dynamicHyperLinkList);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
if (typeof window !== 'undefined' && window.Vue) {
|
|
8
|
+
window.Vue.use(dynamicHyperLinkList);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default dynamicHyperLinkList
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="field-top">
|
|
3
|
+
<div v-if="model !== null" class="ct-text ct-flex-div hyperLinkList" :class="[model.showLabel?'el-input-group el-input-group--prepend':'',!valid?'inputError':'',model.attrs.size?'ct-font-size-'+model.attrs.size:'']">
|
|
4
|
+
<div v-if="model.showLabel && model.label" class="el-input-group__prepend field-label-div" :class="[model.labelClass]">
|
|
5
|
+
<span>{{model.label}}</span>
|
|
6
|
+
</div>
|
|
7
|
+
<el-button v-for="(r, i) in model.list" style="padding-left: 15px;"
|
|
8
|
+
:key="i"
|
|
9
|
+
:type="r.isHyperLink ? 'text' : 'primary'"
|
|
10
|
+
v-bind="r.attrs" @click="clickHandler(i)">
|
|
11
|
+
{{r.name}}
|
|
12
|
+
</el-button>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
</template>
|
|
17
|
+
<script>
|
|
18
|
+
import dynamicElement from '../../mixins/dynamicElement'
|
|
19
|
+
export default {
|
|
20
|
+
name: 'ct-hyperLinkList',
|
|
21
|
+
props: {
|
|
22
|
+
vmodel: Object,
|
|
23
|
+
fileData: Object
|
|
24
|
+
},
|
|
25
|
+
mixins: [dynamicElement],
|
|
26
|
+
data: function () {
|
|
27
|
+
return {};
|
|
28
|
+
},
|
|
29
|
+
created() {
|
|
30
|
+
if (typeof this.vmodel === 'undefined') {
|
|
31
|
+
this.model = this.loaderObj.HyperLink(this.source);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
this.model = this.vmodel;
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
computed: {
|
|
38
|
+
headers() {
|
|
39
|
+
return this.$common.getDataDrivenOpts().handler.getRequestHeaders();
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
methods: {
|
|
43
|
+
handleAvatarSuccess(res) {
|
|
44
|
+
let self = this;
|
|
45
|
+
this.$api.postThenHandler({ data: res}).then(function () {
|
|
46
|
+
self.$emit('importComplete', res);
|
|
47
|
+
});
|
|
48
|
+
},
|
|
49
|
+
handleAvatarError(info) {
|
|
50
|
+
this.$message.warning("失败,请重试");
|
|
51
|
+
},
|
|
52
|
+
clickHandler(i) {
|
|
53
|
+
this.model.listIndex=i;
|
|
54
|
+
this.$emit('click');
|
|
55
|
+
},
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
</script>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<el-input v-model="model.labelValue" v-bind="model.attrs"
|
|
5
5
|
:class="[model.showLabel?'showLabel':'',!valid?'inputError':'','lableinput']"
|
|
6
6
|
:type="model.showLabel? 'text':'textarea'"
|
|
7
|
-
style="flex:1" autosize :readonly="true"
|
|
7
|
+
style="flex:1" autosize :readonly="true" autocomplete="on">
|
|
8
8
|
<div v-if="model.showLabel && model.label" slot="prepend" class="" :class="[model.labelClass]">
|
|
9
9
|
{{model.label}}
|
|
10
10
|
</div>
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
:categoryLoaded="loaded.categoryLoaded" @search="search()"
|
|
12
12
|
@showTitle="showTitleScreenHandler"></ct-searchscreen>
|
|
13
13
|
|
|
14
|
-
<ct-searchtable ref="table" :api="searchDataApi" :
|
|
14
|
+
<ct-searchtable ref="table" :api="searchDataApi" :searchStatsApi="searchStatsApi"
|
|
15
15
|
@toolbarClick="toolbarClickHandler" @refreshParent="refreshParentHandler" :key="reloadKeyTable" @searchComplate="searchComplate()"
|
|
16
16
|
@showTitle="showTitleHandler"></ct-searchtable>
|
|
17
17
|
</div>
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
searchCategoryApi: String,
|
|
37
37
|
searchConditionApi: String,
|
|
38
38
|
searchDataApi: String,
|
|
39
|
-
|
|
39
|
+
searchStatsApi: String,
|
|
40
40
|
pageHeight: String,
|
|
41
41
|
apiParam: {
|
|
42
42
|
type: Object,
|
|
@@ -79,6 +79,7 @@
|
|
|
79
79
|
screenLoaded(defaultSearch) {
|
|
80
80
|
this.loaded.screenLoaded = true;
|
|
81
81
|
this.$refs.table.searchComplate(this.$refs.screen.model, defaultSearch);
|
|
82
|
+
|
|
82
83
|
this.$emit('loaded', this.$refs.screen.model);
|
|
83
84
|
},
|
|
84
85
|
categoryLoaded(param) {
|
|
@@ -100,6 +101,8 @@
|
|
|
100
101
|
else {
|
|
101
102
|
this.$refs.table.searchComplate(this.$refs.screen.model);
|
|
102
103
|
}
|
|
104
|
+
|
|
105
|
+
this.$refs.table.loadStats();
|
|
103
106
|
},
|
|
104
107
|
searchComplate() {
|
|
105
108
|
this.pageDisabled=false;
|
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div style="width:100%;" class="ct-searchtable" ref="searchTable">
|
|
3
|
-
|
|
3
|
+
|
|
4
|
+
<ct-tableStats ref="tableStats" class="ct-search-table-list-header"
|
|
5
|
+
v-if="!isLoading&&searchStatsApi"
|
|
6
|
+
:api="searchStatsApi"
|
|
7
|
+
@searchStats="searchStats"
|
|
8
|
+
:searchModel="model.searchModel"></ct-tableStats>
|
|
4
9
|
<ct-tabletoolbar ref="toolbar" v-if="!isLoading" :buttons="model.buttons"
|
|
5
10
|
@click="toolbarClickHandler($event)"
|
|
6
11
|
@importComplete="importComplete"
|
|
@@ -109,6 +114,8 @@
|
|
|
109
114
|
</td>
|
|
110
115
|
</tr>
|
|
111
116
|
|
|
117
|
+
|
|
118
|
+
|
|
112
119
|
<!--适配滚动条-->
|
|
113
120
|
<tr v-else v-bind:style="{ height: row.$heigth + 'px' }"></tr>
|
|
114
121
|
</tbody>
|
|
@@ -126,19 +133,19 @@
|
|
|
126
133
|
import dynamicElement from '../../mixins/dynamicElement';
|
|
127
134
|
import dynamicTableTip from './dynamicTableTip.vue';
|
|
128
135
|
import dynamicTableToolbar from './dynamicTableToolbar.vue';
|
|
129
|
-
import
|
|
136
|
+
import dynamicTableStats from './dynamicTableStats.vue';
|
|
130
137
|
export default {
|
|
131
138
|
name: 'ct-searchtable',
|
|
132
139
|
mixins: [dynamicElement],
|
|
133
140
|
components: {
|
|
134
141
|
'ct-tabletip': dynamicTableTip,
|
|
135
142
|
'ct-tabletoolbar': dynamicTableToolbar,
|
|
136
|
-
'ct-
|
|
143
|
+
'ct-tableStats': dynamicTableStats
|
|
137
144
|
},
|
|
138
145
|
props: {
|
|
139
146
|
vmodel: Object,
|
|
140
147
|
api: String,
|
|
141
|
-
|
|
148
|
+
searchStatsApi: String
|
|
142
149
|
},
|
|
143
150
|
computed: {
|
|
144
151
|
},
|
|
@@ -191,7 +198,7 @@
|
|
|
191
198
|
self.colHasWidth[vi] = 'nowidth';
|
|
192
199
|
}
|
|
193
200
|
});
|
|
194
|
-
|
|
201
|
+
|
|
195
202
|
self.isLoading = false;
|
|
196
203
|
self.$forceUpdate();
|
|
197
204
|
this.model.scripts.formData = this.model.formData;
|
|
@@ -208,7 +215,10 @@
|
|
|
208
215
|
}
|
|
209
216
|
self.tableComplate = true;
|
|
210
217
|
this.setTableHeight();
|
|
218
|
+
|
|
219
|
+
|
|
211
220
|
this.$nextTick(() => {
|
|
221
|
+
self.loadStats();
|
|
212
222
|
window.addEventListener("resize", (ev) => {
|
|
213
223
|
self.setTableHeight();
|
|
214
224
|
});
|
|
@@ -335,8 +345,10 @@
|
|
|
335
345
|
self.rowColorChange();
|
|
336
346
|
}
|
|
337
347
|
self.$emit('searchComplate');
|
|
348
|
+
|
|
338
349
|
}
|
|
339
350
|
self.tableLoading = true;
|
|
351
|
+
|
|
340
352
|
this.model.getPage(index, next);
|
|
341
353
|
},
|
|
342
354
|
toSort(ev, col, action) {
|
|
@@ -529,13 +541,12 @@
|
|
|
529
541
|
this.currentRow.children[i].classList.remove('select');
|
|
530
542
|
}
|
|
531
543
|
}
|
|
532
|
-
if(this.$refs['rows.' + index][0])
|
|
533
|
-
{
|
|
544
|
+
if (this.$refs['rows.' + index][0]) {
|
|
534
545
|
for (var j = 0; j < this.$refs['rows.' + index][0].children.length; j++) {
|
|
535
546
|
this.$refs['rows.' + index][0].children[j].classList.add('select');
|
|
536
547
|
}
|
|
537
548
|
}
|
|
538
|
-
this.currentRow = this.$refs['rows.' + index][0]||null;
|
|
549
|
+
this.currentRow = this.$refs['rows.' + index][0] || null;
|
|
539
550
|
}
|
|
540
551
|
},
|
|
541
552
|
resetScroll: function () {
|
|
@@ -581,7 +592,9 @@
|
|
|
581
592
|
},
|
|
582
593
|
searchComplate(m, defaultSearch) {
|
|
583
594
|
var self = this;
|
|
595
|
+
|
|
584
596
|
this.$nextTick(function () {
|
|
597
|
+
|
|
585
598
|
if (typeof this.api !== 'undefined') {
|
|
586
599
|
self.loaderObj.SearchTable(self.api, self.load, m, defaultSearch);
|
|
587
600
|
}
|
|
@@ -754,9 +767,12 @@
|
|
|
754
767
|
self.operationLoading = true;
|
|
755
768
|
field.doAction(submitData, (data) => {
|
|
756
769
|
self.operationLoading = false;
|
|
757
|
-
|
|
770
|
+
if (!field.flagFreshCurrentRow) {
|
|
771
|
+
self.model.doAction({ responseData: data });
|
|
772
|
+
}
|
|
758
773
|
self.$forceUpdate();
|
|
759
774
|
self.$refs.footer.$forceUpdate();
|
|
775
|
+
self.updateCurrentRow(field);
|
|
760
776
|
})
|
|
761
777
|
}
|
|
762
778
|
}
|
|
@@ -765,10 +781,10 @@
|
|
|
765
781
|
else {
|
|
766
782
|
// let parm={submitData:submitData,field:field}
|
|
767
783
|
// self.$common.excuteFunStr.call(self.model.scripts, field.action,parm);
|
|
768
|
-
let title=field.pageTitle==undefined ?field.label:field.pageTitle;
|
|
769
|
-
submitData.actionType=field.actionType;
|
|
770
|
-
var fun =self.$common.getDataDrivenOpts().handler[action];
|
|
771
|
-
fun(submitData,title,self.model);
|
|
784
|
+
let title = field.pageTitle == undefined ? field.label : field.pageTitle;
|
|
785
|
+
submitData.actionType = field.actionType;
|
|
786
|
+
var fun = self.$common.getDataDrivenOpts().handler[action];
|
|
787
|
+
fun(submitData, title, self.model);
|
|
772
788
|
// var fun = self.model.scripts.formData[action];
|
|
773
789
|
// fun(submitData,field);
|
|
774
790
|
}
|
|
@@ -867,6 +883,16 @@
|
|
|
867
883
|
self.$forceUpdate();
|
|
868
884
|
self.$refs.footer.$forceUpdate();
|
|
869
885
|
}
|
|
886
|
+
},
|
|
887
|
+
loadStats() {
|
|
888
|
+
if (this.searchStatsApi) {
|
|
889
|
+
this.$refs.tableStats.searchStatsComplate();
|
|
890
|
+
}
|
|
891
|
+
},
|
|
892
|
+
searchStats(m) {
|
|
893
|
+
let self = this;
|
|
894
|
+
self.model.searchStats = m;
|
|
895
|
+
self.getPage(1);
|
|
870
896
|
}
|
|
871
897
|
},
|
|
872
898
|
}</script>
|
|
@@ -897,17 +923,21 @@
|
|
|
897
923
|
cursor: default;
|
|
898
924
|
background-color: #ffffff;
|
|
899
925
|
}
|
|
900
|
-
|
|
926
|
+
|
|
927
|
+
.ct-searchtable .ct-tr > .ct-td1 {
|
|
901
928
|
border-right: 1px solid #e7e8eb;
|
|
902
929
|
border-left: 1px solid #e7e8eb;
|
|
903
930
|
}
|
|
904
|
-
|
|
931
|
+
|
|
932
|
+
.ct-searchtable .ct-tr:last-child > .ct-td1 {
|
|
905
933
|
border-bottom: 1px solid #e7e8eb;
|
|
906
934
|
}
|
|
935
|
+
|
|
907
936
|
.ct-searchtable .ct-tr > .ct-td2 {
|
|
908
937
|
border-bottom: 1px solid #e7e8eb;
|
|
909
938
|
}
|
|
910
|
-
|
|
939
|
+
|
|
940
|
+
.ct-searchtable .ct-tr > .ct-td3 {
|
|
911
941
|
border: 1px solid #e7e8eb;
|
|
912
942
|
}
|
|
913
943
|
|