centaline-data-driven 1.1.22 → 1.1.26
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/build/centaline/centaline.path.js +2 -0
- package/build/centaline/webpack.centaline.conf.js +5 -3
- package/build/utils.js +2 -1
- package/config/dev.env.js +5 -2
- package/package.json +7 -5
- package/src/Detail.vue +28 -0
- package/src/Form.vue +4 -3
- package/src/SearchList.vue +5 -3
- package/src/SearchTree.vue +55 -0
- package/src/assets/Mvr.png +0 -0
- package/src/assets/VR.png +0 -0
- package/src/assets/collection.png +0 -0
- package/src/assets/dian.png +0 -0
- package/src/assets/ewm.png +0 -0
- package/src/assets/image.png +0 -0
- package/src/assets/location.png +0 -0
- package/src/assets/max-fold.png +0 -0
- package/src/assets/max-open.png +0 -0
- package/src/assets/mero.png +0 -0
- package/src/assets/node-collapse.png +0 -0
- package/src/assets/node-expand.png +0 -0
- package/src/assets/video.png +0 -0
- package/src/assets//350/256/241/347/256/227/345/231/250.png +0 -0
- package/src/centaline/comfirm/src/comfirm.vue +2 -2
- package/src/centaline/css/common.css +34 -33
- package/src/centaline/css/max.css +145 -0
- package/src/centaline/dynamicBtn/src/dynamicBtn.vue +35 -4
- package/src/centaline/dynamicCheckbox/src/dynamicCheckbox.vue +1 -1
- package/src/centaline/dynamicDetail/index.js +11 -0
- package/src/centaline/dynamicDetail/src/dynamicDetail.vue +39 -0
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +1283 -0
- package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +29 -0
- package/src/centaline/dynamicForm/src/dynamicForm.vue +25 -9
- package/src/centaline/dynamicForm/src/dynamicFormList.vue +2 -2
- package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +27 -6
- package/src/centaline/dynamicInputNumber/src/dynamicInputNumber.vue +4 -0
- package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +27 -6
- package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +10 -1
- package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +59 -33
- package/src/centaline/dynamicSearchList/src/dynamicTableStatistics.vue +41 -0
- package/src/centaline/dynamicSearchList/src/dynamicTableToolbar.vue +7 -4
- package/src/centaline/dynamicSos/src/dynamicSos.vue +0 -1
- package/src/centaline/dynamicT/src/dynamicT.vue +18 -23
- package/src/centaline/dynamicTimeSelect/src/dynamicTimeSelect.vue +37 -3
- package/src/centaline/dynamicTree/index.js +11 -0
- package/src/centaline/dynamicTree/src/dynamicSearchTree.vue +66 -0
- package/src/centaline/dynamicTree/src/dynamicTree.vue +213 -0
- package/src/centaline/dynamicTree/src/dynamicTreeList.vue +65 -0
- package/src/centaline/loader/index.js +5 -6
- package/src/centaline/loader/src/ctl/Base.js +31 -2
- package/src/centaline/loader/src/ctl/Button.js +18 -1
- package/src/centaline/loader/src/ctl/ComboBoxWithTextBox.js +0 -8
- package/src/centaline/loader/src/ctl/Form.js +51 -7
- package/src/centaline/loader/src/ctl/FormList.js +7 -0
- package/src/centaline/loader/src/ctl/Mo.js +1 -9
- package/src/centaline/loader/src/ctl/Router.js +58 -1
- package/src/centaline/loader/src/ctl/SearchScreen.js +42 -2
- package/src/centaline/loader/src/ctl/SearchTable.js +28 -13
- package/src/centaline/loader/src/ctl/So.js +1 -9
- package/src/centaline/loader/src/ctl/Sos.js +2 -11
- package/src/centaline/loader/src/ctl/Tags.js +1 -9
- package/src/centaline/loader/src/ctl/TimeSelect.js +40 -13
- package/src/centaline/loader/src/ctl/Tree.js +154 -0
- package/src/centaline/loader/src/ctl/lib/Enum.js +12 -2
- package/src/centaline/loader/src/ctl/lib/LibFunction.js +13 -5
- package/src/centaline/loader/src/ctl.js +5 -1
- package/src/centaline/templateControls/src/dynamicTableCurrency.vue +14 -9
- package/src/main.js +1 -1
- package/src/router/index.js +11 -0
- package/wwwroot/static/centaline/centaline-data-driven.js +1 -7
- package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
package/src/SearchList.vue
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div id="app-search" style="height:100%;position: fixed;">
|
|
3
|
-
<ct-searchlist :searchConditionApi="'api/
|
|
4
|
-
|
|
3
|
+
<ct-searchlist :searchConditionApi="'/api/third-dept-tran/tran-list/layout'" :searchDataApi="'/api/third-dept-tran/tran-list'"></ct-searchlist>
|
|
4
|
+
<!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'" :searchDataApi="'/PropertyRETList/getList'"></ct-searchlist> -->
|
|
5
|
+
<!--<ct-searchlist :searchConditionApi="'/api/invoice-info/search-condition'" :searchDataApi="'/api/invoice-info/list'" :searchDataStatisticsApi="'api/ContractList/GetLayoutOfStatisticsTool'" :apiParam="para"></ct-searchlist>-->
|
|
5
6
|
<ct-dialog-list></ct-dialog-list>
|
|
6
7
|
</div>
|
|
7
8
|
</template>
|
|
@@ -12,7 +13,8 @@
|
|
|
12
13
|
name: 'App',
|
|
13
14
|
data() {
|
|
14
15
|
return {
|
|
15
|
-
para: { agentId: "1424932685198864386", estateId: "L201402181627000007233", estateName: "271医院宿舍区", pageOnly: "true", pageTitle: "销控房源列表" }
|
|
16
|
+
//para: { agentId: "1424932685198864386", estateId: "L201402181627000007233", estateName: "271医院宿舍区", pageOnly: "true", pageTitle: "销控房源列表" }
|
|
17
|
+
para: {}
|
|
16
18
|
}
|
|
17
19
|
},
|
|
18
20
|
mounted() {
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div id="app-Tree" style="height:100%;position: fixed;">
|
|
3
|
+
<el-container style="height: 100vh;width:100vw; border: 1px solid #eee">
|
|
4
|
+
<el-aside width="200px" style="background-color: rgb(238, 241, 246)">
|
|
5
|
+
<ct-tree :flagsearch="true" :searchConditionApi="'/SystemParameterCatalogList/getLayoutOfSearch'" :searchDataApi="'/SystemParameterCatalogList/getList'" @loaded="loaded"></ct-tree>
|
|
6
|
+
</el-aside>
|
|
7
|
+
<el-main v-if="isShowSearchlist">
|
|
8
|
+
<ct-searchlist :searchConditionApi="'/SystemParameterCatalogList/getLayoutOfSearch'" :searchDataApi="'/SystemParameterCatalogList/getList'" :api-param="apiParam"></ct-searchlist>
|
|
9
|
+
</el-main>
|
|
10
|
+
</el-container>
|
|
11
|
+
</div>
|
|
12
|
+
</template>
|
|
13
|
+
|
|
14
|
+
<script>
|
|
15
|
+
import Vue from 'vue'
|
|
16
|
+
export default {
|
|
17
|
+
name: 'Tree',
|
|
18
|
+
data() {
|
|
19
|
+
return {
|
|
20
|
+
isShowSearchlist: false,
|
|
21
|
+
apiParam: {}
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
methods: {
|
|
25
|
+
loaded(data) {
|
|
26
|
+
var self = this;
|
|
27
|
+
self.isShowSearchlist = false;
|
|
28
|
+
self.apiParam = data;
|
|
29
|
+
self.$nextTick(() => {
|
|
30
|
+
self.isShowSearchlist = true;
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
mounted() {
|
|
35
|
+
},
|
|
36
|
+
created() {
|
|
37
|
+
//模拟客户端自定义方法
|
|
38
|
+
Vue.prototype.$clientScript = {
|
|
39
|
+
open: function (data) {
|
|
40
|
+
window.open("http://wwww.baidu.com?test1=" + data.vContractID + "&test2=" + data.vReportNo, "_blank");
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
}
|
|
45
|
+
</script>
|
|
46
|
+
<style>
|
|
47
|
+
body {
|
|
48
|
+
height: 100%;
|
|
49
|
+
overflow: hidden;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
html {
|
|
53
|
+
height: 100%;
|
|
54
|
+
}
|
|
55
|
+
</style>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="ct-comfirm-content">
|
|
2
|
+
<div class="ct-comfirm-content max-comfirm-content">
|
|
3
3
|
<div style="margin-top: 15px;margin-bottom: 15px;min-width: 150px;text-align: center;">
|
|
4
4
|
<span>{{text}}</span>
|
|
5
5
|
</div>
|
|
6
6
|
<div style="text-align:center;width:100%">
|
|
7
7
|
<el-button @click="clickHandler($event,true)" type="primary" size="mini">{{options.confirmButtonText||'确定'}}</el-button>
|
|
8
|
-
<el-button v-if="options.flagShowcCancelButton===
|
|
8
|
+
<el-button v-if="options.flagShowcCancelButton===undefined || options.flagShowcCancelButton==='1'" @click="clickHandler($event,false)" size="mini">{{options.cancelButtonText||'取消'}}</el-button>
|
|
9
9
|
</div>
|
|
10
10
|
</div>
|
|
11
11
|
</template>
|
|
@@ -340,8 +340,8 @@ html {
|
|
|
340
340
|
*display: inline;
|
|
341
341
|
zoom: 1;
|
|
342
342
|
height: 24px;
|
|
343
|
+
line-height: 24px;
|
|
343
344
|
float: left;
|
|
344
|
-
margin-top: 4px;
|
|
345
345
|
}
|
|
346
346
|
|
|
347
347
|
.ct-table table {
|
|
@@ -417,12 +417,10 @@ html {
|
|
|
417
417
|
|
|
418
418
|
|
|
419
419
|
/*主要按钮*/
|
|
420
|
-
|
|
421
|
-
color: #fff;
|
|
422
|
-
background-color: #b3caf5;
|
|
420
|
+
.el-button{
|
|
423
421
|
border: none;
|
|
424
422
|
}
|
|
425
|
-
|
|
423
|
+
/*.el-button:active {
|
|
426
424
|
background-color: #b3caf5;
|
|
427
425
|
border: none;
|
|
428
426
|
color: #fff;
|
|
@@ -434,49 +432,49 @@ html {
|
|
|
434
432
|
|
|
435
433
|
} */
|
|
436
434
|
.el-button--primary {
|
|
437
|
-
background-color: #
|
|
438
|
-
border-color: #
|
|
435
|
+
background-color: #EE6B6B ;
|
|
436
|
+
/* border-color: #EE6B6B ; */
|
|
439
437
|
}
|
|
440
438
|
.el-button--primary:hover ,.el-button--warning:hover{
|
|
441
439
|
background: #f1706b;
|
|
442
|
-
border-color: #f1706b;
|
|
440
|
+
/* border-color: #f1706b; */
|
|
443
441
|
color: #FFF;
|
|
444
442
|
}
|
|
445
443
|
.el-button--primary:focus {
|
|
446
444
|
background: #de534d;
|
|
447
|
-
border-color: #de534d;
|
|
445
|
+
/* border-color: #de534d; */
|
|
448
446
|
color: #FFF;
|
|
449
447
|
}
|
|
450
448
|
.el-button--success {
|
|
451
|
-
background-color: #
|
|
452
|
-
border-color: #
|
|
449
|
+
background-color: #EE6B6B ;
|
|
450
|
+
/* border-color: #EE6B6B ; */
|
|
453
451
|
}
|
|
454
452
|
|
|
455
453
|
.el-button--success:focus {
|
|
456
454
|
background: #de534d;
|
|
457
|
-
border-color: #de534d;
|
|
455
|
+
/* border-color: #de534d; */
|
|
458
456
|
color: #FFF;
|
|
459
457
|
}
|
|
460
458
|
.el-button--success:hover {
|
|
461
459
|
background: #f1706b;
|
|
462
|
-
border-color: #f1706b;
|
|
460
|
+
/* border-color: #f1706b; */
|
|
463
461
|
color: #FFF;
|
|
464
462
|
}
|
|
465
463
|
/* 工具栏按钮置灰 */
|
|
466
|
-
.ct-tableToolbar
|
|
467
|
-
border: 1px solid #ced0d9
|
|
468
|
-
background:
|
|
469
|
-
color: #333
|
|
470
|
-
}
|
|
471
|
-
.ct-tableToolbar
|
|
472
|
-
color: #666
|
|
473
|
-
border: 1px solid #ced0d9
|
|
474
|
-
background: linear-gradient(#F4F4F5,#DFE3F1)
|
|
475
|
-
}
|
|
476
|
-
.ct-tableToolbar
|
|
477
|
-
border: 1px solid #ced0d9
|
|
478
|
-
background: -webkit-linear-gradient(top, #fff, #f2f4f7)
|
|
479
|
-
color: #333
|
|
464
|
+
.ct-tableToolbar button {
|
|
465
|
+
border: 1px solid #ced0d9;
|
|
466
|
+
background-color: #f2f4f7;
|
|
467
|
+
color: #333;
|
|
468
|
+
}
|
|
469
|
+
.ct-tableToolbar button:hover{
|
|
470
|
+
color: #666;
|
|
471
|
+
border: 1px solid #ced0d9;
|
|
472
|
+
background: linear-gradient(#F4F4F5,#DFE3F1);
|
|
473
|
+
}
|
|
474
|
+
.ct-tableToolbar button:focus{
|
|
475
|
+
border: 1px solid #ced0d9;
|
|
476
|
+
background: -webkit-linear-gradient(top, #fff, #f2f4f7);
|
|
477
|
+
color: #333;
|
|
480
478
|
}
|
|
481
479
|
.ct-option.el-tag.el-tag--danger {
|
|
482
480
|
background-color: #fff;
|
|
@@ -554,23 +552,23 @@ html {
|
|
|
554
552
|
width: 100%;
|
|
555
553
|
height: 100%;
|
|
556
554
|
position: inherit;
|
|
557
|
-
background: #
|
|
558
|
-
padding:
|
|
555
|
+
background: #eceff2;
|
|
556
|
+
padding: 0px;
|
|
559
557
|
}
|
|
560
558
|
|
|
561
559
|
.st-serach-screen {
|
|
562
560
|
background: #fff;
|
|
563
561
|
width: 100%;
|
|
564
562
|
position: relative;
|
|
565
|
-
border-radius:
|
|
563
|
+
border-radius:6px;
|
|
566
564
|
}
|
|
567
565
|
|
|
568
566
|
.ct-searchtable{
|
|
569
567
|
margin-top: 10px;
|
|
570
|
-
padding:
|
|
568
|
+
padding: 20px 0px 0 0px;
|
|
571
569
|
background: #fff;
|
|
572
570
|
-webkit-box-sizing: border-box;
|
|
573
|
-
border-radius:
|
|
571
|
+
border-radius:6px;
|
|
574
572
|
|
|
575
573
|
}
|
|
576
574
|
|
|
@@ -648,7 +646,7 @@ html {
|
|
|
648
646
|
min-width: initial!important;
|
|
649
647
|
}
|
|
650
648
|
.ct-ptb5{
|
|
651
|
-
padding:
|
|
649
|
+
padding: 10px;
|
|
652
650
|
}
|
|
653
651
|
/* 导航栏经过选中时 */
|
|
654
652
|
.el-col .ct-search-list{
|
|
@@ -712,4 +710,7 @@ html {
|
|
|
712
710
|
.ct-right-10{
|
|
713
711
|
right: 10px !important;
|
|
714
712
|
}
|
|
713
|
+
.ct-table-content{
|
|
714
|
+
padding: 0 15px;
|
|
715
|
+
}
|
|
715
716
|
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
|
|
2
|
+
/* 查询搜索 */
|
|
3
|
+
.max-search-btn{
|
|
4
|
+
height: 26px;
|
|
5
|
+
background: #EE6B6B;
|
|
6
|
+
box-shadow: 0px 2px 4px 0px rgba(238,107,107,0.25);
|
|
7
|
+
border-color: #EE6B6B;
|
|
8
|
+
border-radius: 6px;
|
|
9
|
+
|
|
10
|
+
}
|
|
11
|
+
.max-search-btn:hover{
|
|
12
|
+
background-color:#FF9393;
|
|
13
|
+
border-color: #FF9393;
|
|
14
|
+
}
|
|
15
|
+
.max-search-btn:active,.max-search-btn:focus{
|
|
16
|
+
background-color: #B33136;
|
|
17
|
+
border-color: #B33136;
|
|
18
|
+
}
|
|
19
|
+
/* 重置按钮 */
|
|
20
|
+
.max-reset-btn{
|
|
21
|
+
height: 26px;
|
|
22
|
+
background: #519DA6;
|
|
23
|
+
border-color: #519DA6;
|
|
24
|
+
box-shadow: 0px 2px 4px 0px rgba(82,157,166,0.25);
|
|
25
|
+
border-radius: 6px;
|
|
26
|
+
}
|
|
27
|
+
.max-reset-btn:hover{
|
|
28
|
+
background-color:#85CAD2;
|
|
29
|
+
border-color: #85CAD2;
|
|
30
|
+
}
|
|
31
|
+
.max-reset-btn:active.max-reset-btn:focus{
|
|
32
|
+
background-color: #35838C;
|
|
33
|
+
border-color: #35838C;
|
|
34
|
+
}
|
|
35
|
+
/* 工具栏按钮 */
|
|
36
|
+
.max-ToolbarButton{
|
|
37
|
+
margin-right: 10px!important;
|
|
38
|
+
}
|
|
39
|
+
.max-ToolbarButton .max-btn-gray{
|
|
40
|
+
height: 26px;
|
|
41
|
+
background: #FFFFFF;
|
|
42
|
+
border: 1px solid #CCCCCC;
|
|
43
|
+
border-radius: 6px;
|
|
44
|
+
}
|
|
45
|
+
/* 弹层新增按钮 */
|
|
46
|
+
.max-btn-add button{ /*list-button*/
|
|
47
|
+
height: 26px;
|
|
48
|
+
background: #EE6B6B;
|
|
49
|
+
box-shadow: 0px 2px 4px 0px rgba(238,107,107,0.25);
|
|
50
|
+
border-radius: 6px;
|
|
51
|
+
}
|
|
52
|
+
.max-btn-add button:hover{
|
|
53
|
+
background-color:#FF9393;
|
|
54
|
+
border-color: #FF9393;
|
|
55
|
+
}
|
|
56
|
+
.max-btn-add button:focus,.max-btn-add button:active{
|
|
57
|
+
background-color: #B33136;
|
|
58
|
+
border-color: #B33136;
|
|
59
|
+
}
|
|
60
|
+
.max-comfirm-content button{
|
|
61
|
+
height: 26px;
|
|
62
|
+
border-radius: 6px;
|
|
63
|
+
}
|
|
64
|
+
/* 弹层内属性、输入框 */
|
|
65
|
+
.max-input-group{/*elinput-group*/
|
|
66
|
+
border-top-left-radius: 6px;
|
|
67
|
+
border-bottom-left-radius: 6px;
|
|
68
|
+
line-height: 24px;
|
|
69
|
+
}
|
|
70
|
+
.max-flex-div{
|
|
71
|
+
display: flex;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.max-input input{ /*el-input__inner*/
|
|
75
|
+
height: 26px!important;
|
|
76
|
+
line-height: 26px!important;
|
|
77
|
+
border-radius: 6px!important;
|
|
78
|
+
background: #FFFFFF;
|
|
79
|
+
border: 1px solid #E0E0E0;
|
|
80
|
+
padding: 0 15px 0 5px;
|
|
81
|
+
}
|
|
82
|
+
.inputError .el-input-group__prepend{
|
|
83
|
+
color: #ff5b5b!important;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/* 弹层表格样式 */
|
|
87
|
+
.max-table--border{
|
|
88
|
+
border-left: 1px solid #F0F0F0;
|
|
89
|
+
border-right: none!important;
|
|
90
|
+
border-bottom: none!important;
|
|
91
|
+
}
|
|
92
|
+
/* 高级查询样式 */
|
|
93
|
+
.max-seachpopper .el-popper{ /*SeachScreenPop*/
|
|
94
|
+
padding: 5px 10px 10px 10px!important;
|
|
95
|
+
background-color: #fff !important;
|
|
96
|
+
margin-top: -5px;
|
|
97
|
+
border-bottom-left-radius: 6px !important;
|
|
98
|
+
border-bottom-right-radius: 6px !important;
|
|
99
|
+
-webkit-box-shadow: #cfcece 0px 7px 9px 0px!important;
|
|
100
|
+
|
|
101
|
+
}
|
|
102
|
+
.ct-checkbox .ct-checkbox-mian{
|
|
103
|
+
padding-left: 0!important;
|
|
104
|
+
}
|
|
105
|
+
.cover-list-item .el-checkbox{
|
|
106
|
+
margin-right: 10px!important;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.max-open{
|
|
110
|
+
background: url(../../assets/max-open.png)no-repeat;
|
|
111
|
+
background-size: 100% 100%;
|
|
112
|
+
height: 12px;
|
|
113
|
+
width: 14px;
|
|
114
|
+
display: inline-block;
|
|
115
|
+
float: left;
|
|
116
|
+
margin-right: 2px;
|
|
117
|
+
}
|
|
118
|
+
.max-fold{
|
|
119
|
+
background: url(../../assets/max-fold.png)no-repeat;
|
|
120
|
+
background-size: 100% 100%;
|
|
121
|
+
height: 12px;
|
|
122
|
+
width: 14px;
|
|
123
|
+
display: inline-block;
|
|
124
|
+
float: left;
|
|
125
|
+
margin-right: 2px;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.ct-tableParent::-webkit-scrollbar-thumb{
|
|
129
|
+
display: block;
|
|
130
|
+
background-color:#bebebe;
|
|
131
|
+
height:5px;
|
|
132
|
+
border-radius:4px
|
|
133
|
+
}
|
|
134
|
+
.ct-tableParent::-webkit-scrollbar{
|
|
135
|
+
display: block;
|
|
136
|
+
width:6px;
|
|
137
|
+
height:6px;
|
|
138
|
+
background-color:#f1f1f1
|
|
139
|
+
}
|
|
140
|
+
.ct-table .cell:last-child{
|
|
141
|
+
white-space: nowrap;
|
|
142
|
+
}
|
|
143
|
+
.max-cover-list-item .el-input__icon{
|
|
144
|
+
line-height: 40px!important;
|
|
145
|
+
}
|
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<el-
|
|
2
|
+
<el-dropdown v-if="model.isDropdown"
|
|
3
|
+
trigger="click"
|
|
4
|
+
v-bind="model.attrs"
|
|
5
|
+
placement="bottom"
|
|
6
|
+
@click.native="dropClick"
|
|
7
|
+
@command="commandClick"
|
|
8
|
+
:disabled="model.disabled">
|
|
9
|
+
<el-button type="primary">
|
|
10
|
+
{{model.label}}<i class="el-icon-arrow-down el-icon--right"></i>
|
|
11
|
+
</el-button>
|
|
12
|
+
<el-dropdown-menu slot="dropdown">
|
|
13
|
+
<el-dropdown-item v-for="item in model.elementOptions" :key="item.code" :command="item.code">{{item.name}}</el-dropdown-item>
|
|
14
|
+
</el-dropdown-menu>
|
|
15
|
+
</el-dropdown>
|
|
16
|
+
<el-button v-else-if="!model.isImport"
|
|
3
17
|
:type="model.isHyperLink ? 'text' : 'primary'"
|
|
4
18
|
v-bind="model.attrs" @click="$emit('click',model)"
|
|
5
|
-
:
|
|
19
|
+
:style="{color:model.textColor,backgroundColor:model.bgColor,borderColor:model.borderColor}"
|
|
20
|
+
:icon="model.icon"
|
|
21
|
+
:disabled="model.disabled">
|
|
22
|
+
<!-- <i v-if="model.isShowIocn" :class="model.iconClass"></i> -->
|
|
23
|
+
{{model.label}}</el-button>
|
|
6
24
|
<el-upload v-else
|
|
7
25
|
:action="model.action"
|
|
8
26
|
v-bind="model.attrs"
|
|
@@ -22,7 +40,8 @@
|
|
|
22
40
|
name: 'ct-btn',
|
|
23
41
|
props: {
|
|
24
42
|
vmodel: Object,
|
|
25
|
-
fileData: Object
|
|
43
|
+
fileData: Object,
|
|
44
|
+
optionApi:String,
|
|
26
45
|
},
|
|
27
46
|
mixins: [dynamicElement],
|
|
28
47
|
data: function () {
|
|
@@ -63,7 +82,19 @@
|
|
|
63
82
|
},
|
|
64
83
|
handleAvatarError(info) {
|
|
65
84
|
this.$message.warning("失败,请重试");
|
|
66
|
-
}
|
|
85
|
+
},
|
|
86
|
+
dropClick(event) {
|
|
87
|
+
var self = this;
|
|
88
|
+
this.$nextTick(function () {
|
|
89
|
+
if (self.optionApi) {
|
|
90
|
+
self.model.getOptions(self.optionApi);
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
},
|
|
94
|
+
commandClick(code){
|
|
95
|
+
this.model.selectOptionCode=code;
|
|
96
|
+
this.$emit('click', this.model);
|
|
97
|
+
},
|
|
67
98
|
}
|
|
68
99
|
}
|
|
69
100
|
</script>
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
</el-checkbox-group>
|
|
13
13
|
</span>
|
|
14
14
|
|
|
15
|
-
<span v-if="!model.lock" class="cover-list-item-span">
|
|
15
|
+
<span v-if="!model.lock" class="cover-list-item-span max-cover-list-item">
|
|
16
16
|
<i class="el-input__icon el-icon-circle-close" @click="clearClickHandle"></i>
|
|
17
17
|
</span>
|
|
18
18
|
</div>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import dynamicDetail from './src/dynamicDetail'
|
|
2
|
+
|
|
3
|
+
dynamicDetail.install = function (Vue) {
|
|
4
|
+
Vue.component(dynamicDetail.name, dynamicDetail);
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
if (typeof window !== 'undefined' && window.Vue) {
|
|
8
|
+
window.Vue.use(dynamicDetail);
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
export default dynamicDetail;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<ct-PropertyDetailOFI class="ct-PropertyDetailOFI" v-if="pageType=='PropertyDetailOFI'"></ct-PropertyDetailOFI>
|
|
4
|
+
<ct-PropertyDetailRET class="ct-PropertyDetailRET" v-if="pageType=='PropertyDetailRET'"></ct-PropertyDetailRET>
|
|
5
|
+
</div>
|
|
6
|
+
</template>
|
|
7
|
+
|
|
8
|
+
<script>
|
|
9
|
+
import dynamicPropertyDetailOFI from './dynamicPropertyDetailOFI'
|
|
10
|
+
import dynamicPropertyDetailRET from './dynamicPropertyDetailRET'
|
|
11
|
+
export default {
|
|
12
|
+
name: 'ct-Detail',
|
|
13
|
+
components: {
|
|
14
|
+
'ct-PropertyDetailOFI': dynamicPropertyDetailOFI,
|
|
15
|
+
'ct-PropertyDetailRET': dynamicPropertyDetailRET,
|
|
16
|
+
},
|
|
17
|
+
props: {
|
|
18
|
+
vmodel: Object,
|
|
19
|
+
api: String,
|
|
20
|
+
pageType: String,
|
|
21
|
+
},
|
|
22
|
+
data() {
|
|
23
|
+
return {
|
|
24
|
+
model:null,
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
created() {
|
|
28
|
+
this.model = this.vmodel;
|
|
29
|
+
},
|
|
30
|
+
methods: {
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
</script>
|
|
34
|
+
<style>
|
|
35
|
+
|
|
36
|
+
</style>
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|