centaline-data-driven 1.1.20 → 1.1.25
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/README.md +7 -7
- package/build/centaline/centaline.path.js +2 -0
- package/build/centaline/webpack.centaline.conf.js +5 -3
- package/build/utils.js +2 -1
- package/build/webpack.dev.conf.js +1 -1
- package/config/dev.env.js +6 -3
- package/obj/Centaline.Front_End.DataDriven.csproj.nuget.dgspec.json +9 -11
- package/obj/Centaline.Front_End.DataDriven.csproj.nuget.g.props +3 -7
- package/obj/project.assets.json +9 -16
- package/package.json +7 -5
- package/src/Detail.vue +28 -0
- package/src/Form.vue +3 -2
- 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/api/index.js +15 -5
- 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/dialogList/src/dialog.vue +2 -2
- package/src/centaline/dialogList/src/dialogNew.vue +16 -16
- package/src/centaline/dynamicBtn/src/dynamicBtn.vue +50 -19
- 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 +39 -18
- package/src/centaline/dynamicHyperLink/index.js +1 -1
- package/src/centaline/dynamicInputNumber/src/dynamicInputNumber.vue +4 -0
- package/src/centaline/dynamicPlaceHolder/index.js +1 -1
- package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchList.vue +1 -1
- package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchListTable.vue +6 -6
- package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +41 -20
- package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +14 -5
- 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/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/imgPreview/index.js +6 -6
- package/src/centaline/imgPreview/src/imgPreview.vue +3 -3
- package/src/centaline/index.js +14 -14
- package/src/centaline/loader/index.js +1 -2
- package/src/centaline/loader/src/ctl/Base.js +31 -2
- package/src/centaline/loader/src/ctl/Button.js +21 -4
- package/src/centaline/loader/src/ctl/ComboBoxWithTextBox.js +6 -14
- package/src/centaline/loader/src/ctl/D.js +2 -2
- package/src/centaline/loader/src/ctl/Dtd.js +18 -18
- package/src/centaline/loader/src/ctl/DtdOld.js +8 -8
- package/src/centaline/loader/src/ctl/File.js +1 -1
- package/src/centaline/loader/src/ctl/Form.js +51 -14
- package/src/centaline/loader/src/ctl/FormList.js +7 -0
- package/src/centaline/loader/src/ctl/HyperLink.js +1 -1
- package/src/centaline/loader/src/ctl/Mo.js +1 -9
- package/src/centaline/loader/src/ctl/PlaceHolder.js +2 -2
- package/src/centaline/loader/src/ctl/Router.js +58 -1
- package/src/centaline/loader/src/ctl/SearchScreen.js +37 -7
- package/src/centaline/loader/src/ctl/SearchTable.js +25 -10
- 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 +34 -7
- package/src/centaline/loader/src/ctl/Tree.js +154 -0
- package/src/centaline/loader/src/ctl/lib/Enum.js +21 -3
- package/src/centaline/loader/src/ctl/lib/LibFunction.js +8 -0
- package/src/centaline/loader/src/ctl.js +5 -1
- package/src/centaline/mixins/dynamicElement.js +34 -34
- package/src/centaline/progress/src/progress.vue +37 -37
- package/src/centaline/templateControls/src/dynamicTableCurrency.vue +14 -9
- package/src/centaline/templates/src/ContractSearch.js +4 -4
- package/src/main.js +3 -3
- 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/.vs/Centaline.Front_End.DataDriven/DesignTimeBuild/.dtbcache.v2 +0 -0
- package/.vs/Centaline.Front_End.DataDriven/config/applicationhost.config +0 -1015
- package/obj/Debug/netcoreapp2.1/.NETCoreApp,Version=v2.1.AssemblyAttributes.cs +0 -4
|
@@ -172,10 +172,15 @@ const api = {
|
|
|
172
172
|
|
|
173
173
|
if (data.rtnCode === Enum.ReturnCode.Successful) {
|
|
174
174
|
if (data.rtnMsg) {
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
175
|
+
if (data.MsgAlertStyle && data.MsgAlertStyle == Enum.MessageAlertStyle.Dialog) {
|
|
176
|
+
common.confirm(data.rtnMsg, '信息', { confirmButtonText: '确定', flagShowcCancelButton: '0' });
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
Vue.prototype.$message({
|
|
180
|
+
message: response.data.rtnMsg,
|
|
181
|
+
type: 'success'
|
|
182
|
+
});
|
|
183
|
+
}
|
|
179
184
|
}
|
|
180
185
|
|
|
181
186
|
if (data.notification === Enum.ActionType.Export && data.content) {//导出
|
|
@@ -204,7 +209,12 @@ const api = {
|
|
|
204
209
|
}
|
|
205
210
|
else {
|
|
206
211
|
if (response.data.rtnMsg && common.getDataDrivenOpts().showRequestErrorMessage) {
|
|
207
|
-
|
|
212
|
+
if (data.MsgAlertStyle && data.MsgAlertStyle == Enum.MessageAlertStyle.Dialog) {
|
|
213
|
+
common.confirm(data.rtnMsg, '信息', { confirmButtonText: '确定', flagShowcCancelButton: '0' });
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
Vue.prototype.$message.error(response.data.rtnMsg);
|
|
217
|
+
}
|
|
208
218
|
}
|
|
209
219
|
return Promise.reject(response);
|
|
210
220
|
}
|
|
@@ -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 @click="clickHandler($event,false)" size="mini">{{options.cancelButtonText||'取消'}}</el-button>
|
|
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
|
+
}
|
|
@@ -97,7 +97,7 @@
|
|
|
97
97
|
class: ['ct-dialog_header'],
|
|
98
98
|
style: {
|
|
99
99
|
'position': 'relative',
|
|
100
|
-
'padding': '10px 20px 10px 20px',
|
|
100
|
+
'padding': '10px 20px 10px 20px',
|
|
101
101
|
'height': '44px'
|
|
102
102
|
},
|
|
103
103
|
}, [
|
|
@@ -132,7 +132,7 @@
|
|
|
132
132
|
item.on.loaded = (model) => {
|
|
133
133
|
mySelf.vmodel.title = (model && model.title) ? model.title : mySelf.vmodel.title
|
|
134
134
|
}
|
|
135
|
-
}
|
|
135
|
+
}
|
|
136
136
|
|
|
137
137
|
//加载失败关闭弹框
|
|
138
138
|
if (typeof item.on.failLoad === "undefined") {
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div class="ct-dialog">
|
|
3
|
-
<el-dialog :top="topHeigth"
|
|
3
|
+
<el-dialog :top="topHeigth"
|
|
4
4
|
:title="vmodel.title" :close-on-click-modal="false"
|
|
5
5
|
:visible.sync="dialogVisible"
|
|
6
6
|
:width="vmodel.content[0].attrs.width"
|
|
7
|
-
:before-close="handleClose">
|
|
7
|
+
:before-close="handleClose">
|
|
8
8
|
<div :style="v.style" v-for="(v,index) in vmodel.content" :key="index">
|
|
9
9
|
<component v-bind="v.attrs" :is="v.component" v-on="v.on"></component>
|
|
10
10
|
</div>
|
|
@@ -26,10 +26,10 @@
|
|
|
26
26
|
},
|
|
27
27
|
mounted() {
|
|
28
28
|
for (var index in this.vmodel.content) {
|
|
29
|
-
const v = this.vmodel.content[index];
|
|
30
|
-
if (v.component === 'ct-searchlist' && parseInt(v.attrs.height) < 300) {
|
|
31
|
-
v.attrs.height = '450px';
|
|
32
|
-
}
|
|
29
|
+
const v = this.vmodel.content[index];
|
|
30
|
+
if (v.component === 'ct-searchlist' && parseInt(v.attrs.height) < 300) {
|
|
31
|
+
v.attrs.height = '450px';
|
|
32
|
+
}
|
|
33
33
|
|
|
34
34
|
this.$set(v, 'style', {
|
|
35
35
|
width: '100%',
|
|
@@ -49,23 +49,23 @@
|
|
|
49
49
|
computed: {
|
|
50
50
|
topHeigth: function () {
|
|
51
51
|
let height;
|
|
52
|
-
let vh = 0;
|
|
52
|
+
let vh = 0;
|
|
53
53
|
this.vmodel.content[0].attrs.height = '50px';
|
|
54
54
|
if (this.vmodel.content[0].attrs.height) {
|
|
55
55
|
height = parseInt(this.vmodel.content[0].attrs.height) + 20;
|
|
56
56
|
}
|
|
57
57
|
if (document.documentElement.clientHeight > height) {
|
|
58
|
-
height = document.documentElement.clientHeight - height;
|
|
58
|
+
height = document.documentElement.clientHeight - height;
|
|
59
59
|
height = parseInt(height/2);
|
|
60
|
-
vh = height * 100 / document.documentElement.clientHeight;
|
|
60
|
+
vh = height * 100 / document.documentElement.clientHeight;
|
|
61
61
|
vh = parseInt(vh);
|
|
62
|
-
}
|
|
63
|
-
if (vh < 3) {
|
|
64
|
-
vh = 3;
|
|
65
|
-
}
|
|
66
|
-
if (vh > 13) {
|
|
67
|
-
vh = 13;
|
|
68
|
-
}
|
|
62
|
+
}
|
|
63
|
+
if (vh < 3) {
|
|
64
|
+
vh = 3;
|
|
65
|
+
}
|
|
66
|
+
if (vh > 13) {
|
|
67
|
+
vh = 13;
|
|
68
|
+
}
|
|
69
69
|
return vh + 'vh';
|
|
70
70
|
},
|
|
71
71
|
},
|
|
@@ -1,8 +1,26 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<el-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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"
|
|
17
|
+
:type="model.isHyperLink ? 'text' : 'primary'"
|
|
18
|
+
v-bind="model.attrs" @click="$emit('click',model)"
|
|
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 () {
|
|
@@ -36,26 +55,26 @@
|
|
|
36
55
|
this.model = this.vmodel;
|
|
37
56
|
}
|
|
38
57
|
},
|
|
39
|
-
computed: {
|
|
40
|
-
uploadData() {
|
|
41
|
-
//因传输方式是FormData,故需要对Value是object的进行转化
|
|
42
|
-
let data = {};
|
|
43
|
-
for (var key in this.fileData) {
|
|
44
|
-
if (typeof this.fileData[key] === "object") {
|
|
45
|
-
data[key] = JSON.stringify(this.fileData[key]);
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
data[key] = this.fileData[key];
|
|
58
|
+
computed: {
|
|
59
|
+
uploadData() {
|
|
60
|
+
//因传输方式是FormData,故需要对Value是object的进行转化
|
|
61
|
+
let data = {};
|
|
62
|
+
for (var key in this.fileData) {
|
|
63
|
+
if (typeof this.fileData[key] === "object") {
|
|
64
|
+
data[key] = JSON.stringify(this.fileData[key]);
|
|
49
65
|
}
|
|
50
|
-
|
|
51
|
-
|
|
66
|
+
else {
|
|
67
|
+
data[key] = this.fileData[key];
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return data;
|
|
52
71
|
},
|
|
53
72
|
headers() {
|
|
54
73
|
return this.$common.getDataDrivenOpts().handler.getRequestHeaders();
|
|
55
74
|
}
|
|
56
75
|
},
|
|
57
76
|
methods: {
|
|
58
|
-
handleAvatarSuccess(res) {
|
|
77
|
+
handleAvatarSuccess(res) {
|
|
59
78
|
let self = this;
|
|
60
79
|
this.$api.postThenHandler({ data: res}).then(function () {
|
|
61
80
|
self.$emit('importComplete', res);
|
|
@@ -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
|
+
|