centaline-data-driven 1.1.63 → 1.1.67
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 +12 -2
- package/src/SearchTree.vue +1 -1
- package/src/assets/vertical.png +0 -0
- package/src/centaline/css/common.css +2 -3
- package/src/centaline/css/max.css +18 -2
- 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 +42 -15
- package/src/centaline/dynamicSearchList/src/dynamicTableStats.vue +193 -0
- package/src/centaline/dynamicSearchList/src/dynamicTableToolbar.vue +1 -1
- package/src/centaline/dynamicSeg/src/dynamicSeg.vue +4 -7
- 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 +12 -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,9 +1,18 @@
|
|
|
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>-->
|
|
15
|
+
<ct-searchlist :searchConditionApi="'/PropertyStatusList/getLayoutOfSearch'" :searchDataApi="'/PropertyStatusList/getListOfSearchModel'" :apiParam="para"></ct-searchlist>
|
|
7
16
|
<ct-dialog-list></ct-dialog-list>
|
|
8
17
|
</div>
|
|
9
18
|
</template>
|
|
@@ -15,7 +24,8 @@
|
|
|
15
24
|
data() {
|
|
16
25
|
return {
|
|
17
26
|
//para: { agentId: "1424932685198864386", estateId: "L201402181627000007233", estateName: "271医院宿舍区", pageOnly: "true", pageTitle: "销控房源列表" }
|
|
18
|
-
para: {}
|
|
27
|
+
// para: {}
|
|
28
|
+
para: {paramKey: "PropertyStatusID", code: "002.001", name: "盘源状态", paramName: "盘源状态"}
|
|
19
29
|
}
|
|
20
30
|
},
|
|
21
31
|
mounted() {
|
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 {
|
|
@@ -714,7 +713,7 @@ html {
|
|
|
714
713
|
right: 10px !important;
|
|
715
714
|
}
|
|
716
715
|
.ct-table-content{
|
|
717
|
-
padding: 0
|
|
716
|
+
padding: 0;
|
|
718
717
|
}
|
|
719
718
|
.el-card.is-always-shadow {
|
|
720
719
|
border: none;
|
|
@@ -147,8 +147,8 @@
|
|
|
147
147
|
height:6px;
|
|
148
148
|
}
|
|
149
149
|
.ct-selectOptionVertical::-webkit-scrollbar {
|
|
150
|
-
width:
|
|
151
|
-
height:
|
|
150
|
+
width: 2px!important;
|
|
151
|
+
height:2px!important;
|
|
152
152
|
background-color: #f1f1f1!important;
|
|
153
153
|
display: block!important;
|
|
154
154
|
}
|
|
@@ -212,3 +212,19 @@
|
|
|
212
212
|
color: #666;
|
|
213
213
|
border-color:#cecece;
|
|
214
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
|
+
.lableinput .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
|
}
|
|
@@ -768,10 +781,10 @@
|
|
|
768
781
|
else {
|
|
769
782
|
// let parm={submitData:submitData,field:field}
|
|
770
783
|
// self.$common.excuteFunStr.call(self.model.scripts, field.action,parm);
|
|
771
|
-
let title=field.pageTitle==undefined ?field.label:field.pageTitle;
|
|
772
|
-
submitData.actionType=field.actionType;
|
|
773
|
-
var fun =self.$common.getDataDrivenOpts().handler[action];
|
|
774
|
-
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);
|
|
775
788
|
// var fun = self.model.scripts.formData[action];
|
|
776
789
|
// fun(submitData,field);
|
|
777
790
|
}
|
|
@@ -870,6 +883,16 @@
|
|
|
870
883
|
self.$forceUpdate();
|
|
871
884
|
self.$refs.footer.$forceUpdate();
|
|
872
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);
|
|
873
896
|
}
|
|
874
897
|
},
|
|
875
898
|
}</script>
|
|
@@ -900,17 +923,21 @@
|
|
|
900
923
|
cursor: default;
|
|
901
924
|
background-color: #ffffff;
|
|
902
925
|
}
|
|
903
|
-
|
|
926
|
+
|
|
927
|
+
.ct-searchtable .ct-tr > .ct-td1 {
|
|
904
928
|
border-right: 1px solid #e7e8eb;
|
|
905
929
|
border-left: 1px solid #e7e8eb;
|
|
906
930
|
}
|
|
907
|
-
|
|
931
|
+
|
|
932
|
+
.ct-searchtable .ct-tr:last-child > .ct-td1 {
|
|
908
933
|
border-bottom: 1px solid #e7e8eb;
|
|
909
934
|
}
|
|
935
|
+
|
|
910
936
|
.ct-searchtable .ct-tr > .ct-td2 {
|
|
911
937
|
border-bottom: 1px solid #e7e8eb;
|
|
912
938
|
}
|
|
913
|
-
|
|
939
|
+
|
|
940
|
+
.ct-searchtable .ct-tr > .ct-td3 {
|
|
914
941
|
border: 1px solid #e7e8eb;
|
|
915
942
|
}
|
|
916
943
|
|