centaline-data-driven 1.3.39 → 1.3.42

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.
Files changed (32) hide show
  1. package/package.json +1 -1
  2. package/src/Detail.vue +2 -2
  3. package/src/Form.vue +4 -4
  4. package/src/SearchList.vue +2 -2
  5. package/src/centaline/dynamicComboBoxWithTextBox/src/dynamicComboBoxWithTextBox.vue +16 -14
  6. package/src/centaline/dynamicContact/src/dynamicContact.vue +4 -2
  7. package/src/centaline/dynamicDetail/src/dynamicContactList.vue +1 -1
  8. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +179 -38
  9. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +57 -86
  10. package/src/centaline/dynamicForm/src/dynamicForm.vue +3 -2
  11. package/src/centaline/dynamicForm/src/dynamicFormListTable.vue +1 -1
  12. package/src/centaline/dynamicInputNumber/src/dynamicInputNumber.vue +11 -9
  13. package/src/centaline/dynamicIti/src/dynamicIti.vue +4 -4
  14. package/src/centaline/dynamicL/src/dynamicL.vue +11 -7
  15. package/src/centaline/dynamicMo/src/dynamicMo.vue +8 -4
  16. package/src/centaline/dynamicPopupSearchList/src/dynamicPopupSearchList.vue +2 -1
  17. package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +1 -1
  18. package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +5 -3
  19. package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +2 -0
  20. package/src/centaline/dynamicSeg/src/dynamicSeg.vue +11 -0
  21. package/src/centaline/dynamicSo/src/dynamicSo.vue +8 -4
  22. package/src/centaline/dynamicSos/src/dynamicSos.vue +8 -4
  23. package/src/centaline/dynamicSosTt/src/dynamicSosTt.vue +8 -4
  24. package/src/centaline/dynamicT/src/dynamicT.vue +1 -0
  25. package/src/centaline/dynamicTags/src/dynamicTags.vue +8 -4
  26. package/src/centaline/loader/src/ctl/ContactList.js +118 -109
  27. package/src/centaline/loader/src/ctl/Detail.js +19 -0
  28. package/src/centaline/loader/src/ctl/Form.js +43 -33
  29. package/src/centaline/loader/src/ctl/FormList.js +1 -1
  30. package/src/main.js +4 -4
  31. package/wwwroot/static/centaline/centaline-data-driven.js +3 -3
  32. package/wwwroot/static/centaline/centaline-data-driven.js.map +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centaline-data-driven",
3
- "version": "1.3.39",
3
+ "version": "1.3.42",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/src/Detail.vue CHANGED
@@ -1,6 +1,6 @@
1
1
  <template>
2
2
  <div id="appDetail" style="height:100%;">
3
- <ct-Detail :api="'PropertyRET/readDetailForBrowse'" :apiParam="apiParam" :pageType="'PropertyDetailRET'"></ct-Detail>
3
+ <ct-Detail :api="'PropertyOFI/readDetailForBrowse'" :apiParam="apiParam" :pageType="'PropertyDetailOFI'"></ct-Detail>
4
4
  <ct-dialog-list></ct-dialog-list>
5
5
  </div>
6
6
  </template>
@@ -10,7 +10,7 @@
10
10
  name: 'DataDrivendetail',
11
11
  data() {
12
12
  return {
13
- apiParam: {actionType: 1,chanceID: "1524555083688316928"} ,
13
+ apiParam: {actionType: 1,chanceID: "1524955049590132736"} ,
14
14
  }
15
15
  },
16
16
  mounted() {
package/src/Form.vue CHANGED
@@ -2,7 +2,7 @@
2
2
  <div id="form-app" class="data-driven" style="width:100%;height:100%;overflow:auto">
3
3
  <!-- <ct-form :api="'/PropertyRET/getLayoutOfNew'" :apiParam="apiParam"></ct-form> -->
4
4
  <!-- <ct-form :source="formdata.content" :apiParam="apiParam"></ct-form> -->
5
- <ct-form :api="'/api/third-dept-tran/tran-comm-adjust/create'" :apiParam="apiParam" :topHeight="topHeight"></ct-form>
5
+ <ct-form :api="'/api/third-dept-tran/transaction/detail'" :apiParam="apiParam" :topHeight="topHeight"></ct-form>
6
6
  <!-- <ct-form :api="'/api/third-dept-tran/transaction/detail'" :apiParam="apiParam"></ct-form> -->
7
7
  <ct-dialog-list></ct-dialog-list>
8
8
  </div>
@@ -14,11 +14,11 @@
14
14
  data() {
15
15
  return {
16
16
  apiParam:{
17
- actionType: 2,
18
- commAdjustCategory: "CC01020020",
19
- originalTraId: "1552533586416844802",
17
+ actionType: 3,
18
+ originalTraId: "1554357607799558146",
20
19
  pageOnly: true,
21
20
  pageStyle: 2,
21
+ pageTitle: "成交报告",
22
22
  },
23
23
  topHeight:10,
24
24
  }
@@ -8,8 +8,8 @@
8
8
  :searchCategoryApi="'/ProfileWorklistList/getLayoutOfSearchCategory'"
9
9
  :searchDataApi="'/ProfileWorklistList/getListOfSearchModel'" :apiParam="para"></ct-searchlist> -->
10
10
 
11
- <ct-searchlist :searchConditionApi="'/PropertyContactImportList/getLayoutOfSearch'"
12
- :searchDataApi="'/PropertyContactImportList/getListOfSearchModel'">
11
+ <ct-searchlist :searchConditionApi="'/api/third-dept-tran/tran-list/layout'"
12
+ :searchDataApi="'/api/third-dept-tran/tran-list'">
13
13
  </ct-searchlist>
14
14
 
15
15
  <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'"
@@ -92,8 +92,10 @@
92
92
  }
93
93
  this.$watch('model.value', (n, o) => {
94
94
  if (typeof this.model.child !== 'undefined') {
95
- this.model.child.value = this.model.child.defaultValue || '';
96
- this.model.child.text = this.model.child.defaultText || '';
95
+ for (var item of this.model.child) {
96
+ item.value = item.defaultValue || '';
97
+ item.text = item.defaultText || '';
98
+ }
97
99
  }
98
100
  });
99
101
  },
@@ -111,13 +113,11 @@
111
113
 
112
114
  }
113
115
  },
114
- maxlength4()
115
- {
116
- if(this.model.max4)
117
- {
118
- return parseInt(this.model.max4)
119
- }
120
- return 99999
116
+ maxlength4() {
117
+ if (this.model.max4) {
118
+ return parseInt(this.model.max4)
119
+ }
120
+ return 99999
121
121
 
122
122
  }
123
123
  },
@@ -136,8 +136,10 @@
136
136
  soChange: function () {
137
137
  var self = this;
138
138
  if (typeof this.model.child !== 'undefined') {
139
- this.model.child.value = this.model.child.defaultValue || '';
140
- this.model.child.text = this.model.child.defaultText || '';
139
+ for (var item of this.model.child) {
140
+ item.value = item.defaultValue || '';
141
+ item.text = item.defaultText || '';
142
+ }
141
143
  }
142
144
  this.inputHandler(self.model.value);
143
145
  this.changeHandler(self.model.value);
@@ -243,7 +245,7 @@
243
245
  position: relative;
244
246
  }
245
247
 
246
- .ct-combobox-with-textbox .el-input.is-focus .el-input__inner {
247
- border: 1px solid #409EFF !important;
248
- }
248
+ .ct-combobox-with-textbox .el-input.is-focus .el-input__inner {
249
+ border: 1px solid #409EFF !important;
250
+ }
249
251
  </style>
@@ -132,8 +132,10 @@ export default {
132
132
  soChange: function () {
133
133
  var self = this;
134
134
  if (typeof this.model.child !== 'undefined') {
135
- this.model.child.value = this.model.child.defaultValue || '';
136
- this.model.child.text = this.model.child.defaultText || '';
135
+ for (var item of this.model.child) {
136
+ item.value = item.defaultValue || '';
137
+ item.text = item.defaultText || '';
138
+ }
137
139
  }
138
140
  var currentOption = this.model.options.find((value) => {
139
141
  return self.model.value === value[self.model.optionAttrs.value];
@@ -9,7 +9,7 @@
9
9
  <div class="contacts-tips" v-else>
10
10
  <component class="el-button el-button--primary el-button--mini max-btn-add"
11
11
  v-if="model && model.buttons!==null && model.buttons.length>0"
12
- v-for="(col, index) in model.buttons" :key="col.key"
12
+ v-for="(col, index) in model.buttons.filter((v, i) => {return v.show==true})" :key="col.key"
13
13
  :is="col.is" :vmodel="col"
14
14
  @click="fieldClickHandler(col,$event)"></component>
15
15
  </div>
@@ -11,6 +11,9 @@
11
11
  <span> {{ model.fields1Dic.BuildingName.value }}</span>
12
12
  <span>{{ model.fields1Dic.RoomNo.value }}</span>
13
13
  <img :src="model.actionRouterFavorite.imgUrl" alt="" @click="fieldClickHandler(model.actionRouterFavorite, $event)" class="collection" />
14
+ <component v-if="model.otherTradeActionRouter !== null" v-bind="model.otherTradeActionRouter" class="max-default w93"
15
+ :is="model.otherTradeActionRouter.is" :vmodel="model.otherTradeActionRouter" :api="model.optionApi" style="margin-left: 10px;"
16
+ @click="fieldClickHandler(model.otherTradeActionRouter, $event)"></component>
14
17
  </div>
15
18
  <div class="title-other">
16
19
  <span>{{ model.fields1Dic.PropertyNo.label }}{{ model.fields1Dic.PropertyNo.value }}</span>
@@ -24,44 +27,23 @@
24
27
  {{ tag.label }}
25
28
  </div>
26
29
  </div>
27
- <div
28
- v-if="model.fields1Dic.PropertyDepict"
29
- v-html="model.fields1Dic.PropertyDepict.value"
30
- style="
31
- font-weight: bold;
32
- font-size: 13px;
33
- margin-top: 10px;
34
- background: rgb(236, 249, 255);
35
- flex: 1;
36
- align-items: center;
37
- padding: 5px;
38
- border-radius: 5px;
39
- "
40
- ></div>
30
+ <div v-if="model.fields1Dic.PropertyDepict" v-html="model.fields1Dic.PropertyDepict.value"
31
+ style=" font-weight: bold; font-size: 13px; margin-top: 10px; background: rgb(236, 249, 255);
32
+ flex: 1; align-items: center; padding: 5px; border-radius: 5px;">
33
+ </div>
41
34
  </div>
42
35
  <div class="head-but">
43
36
  <div>
44
- <component v-if="model.otherTradeActionRouter !== null" v-bind="model.otherTradeActionRouter" class="max-default w93"
45
- :is="model.otherTradeActionRouter.is" :vmodel="model.otherTradeActionRouter" :api="model.optionApi"
46
- @click="fieldClickHandler(model.otherTradeActionRouter, $event)"></component>
47
- <img :class="{domDisabled:flagDisabledPrev,}" @click="clickPrevHandler"
48
- src="../../../assets/T.png" alt="" style="width: 26px;height: 26px;vertical-align: bottom;margin-left: 20px;cursor: pointer;"/>
49
- <img :class="{domDisabled:flagDisabledNext,}" @click="clickNextHandler"
50
- src="../../../assets/B.png" alt="" style="width: 26px;height: 26px;vertical-align: bottom;margin-left: 15px;margin-right: 13px;cursor: pointer;"/>
51
- </div>
52
- <div class="mt5">
53
37
  <component class="max-report w93"
54
38
  v-if="model.actionRouters !== null && model.actionRouters[0] !== null"
55
39
  :is="model.actionRouters[0].is" :vmodel="model.actionRouters[0]" :api="model.optionApi"
56
- @click="fieldClickHandler(model.actionRouters[0], $event)"
57
- ></component>
40
+ @click="fieldClickHandler(model.actionRouters[0], $event)">
41
+ </component>
58
42
  <component class="max-report w93"
59
43
  v-if="model.actionRouters !== null && model.actionRouters[1] !== null"
60
44
  :is="model.actionRouters[1].is" :vmodel="model.actionRouters[1]" :api="model.optionApi"
61
- @click="fieldClickHandler(model.actionRouters[1], $event)"
62
- ></component>
63
- </div>
64
- <div class="mt5">
45
+ @click="fieldClickHandler(model.actionRouters[1], $event)">
46
+ </component>
65
47
  <button type="button" class="el-button el-button--info el-button--mini max-report rel w93"
66
48
  v-if="model.actionRoutersMoreList !== null && model.actionRoutersMoreList.length > 0">
67
49
  <img src="../../../assets/dian.png" alt="" class="report" />
@@ -76,6 +58,10 @@
76
58
  :is="model.actionRouters[2].is" :vmodel="model.actionRouters[2]" :api="model.optionApi"
77
59
  @click="fieldClickHandler(model.actionRouters[2], $event)">
78
60
  </component>
61
+ <img :class="{domDisabled:flagDisabledPrev,}" @click="clickPrevHandler"
62
+ src="../../../assets/T.png" alt="" style="width: 26px;height: 26px;vertical-align: bottom;margin-left: 10px;cursor: pointer;"/>
63
+ <img :class="{domDisabled:flagDisabledNext,}" @click="clickNextHandler"
64
+ src="../../../assets/B.png" alt="" style="width: 26px;height: 26px;vertical-align: bottom;margin-left: 10px;margin-right: 13px;cursor: pointer;"/>
79
65
  </div>
80
66
  </div>
81
67
  </div>
@@ -212,16 +198,56 @@
212
198
  </div>
213
199
  <div class="tablist-info base-box">
214
200
  <div class="details-tabs-box">
215
- <el-tabs :value="model.activeIndex1" @tab-click="handleSelect">
216
- <el-tab-pane v-for="(col, index) in model.tags1" :key="col.appID" :index="index.toString()" :name="index.toString()">
217
- <div slot="label" v-html="col.appName"></div>
218
- </el-tab-pane>
219
- </el-tabs>
220
- <ct-searchlist v-if="model.searchConditionApiTags1" :key="'list' + listKey.toString() + refershKey" style="min-height: 420px;"
221
- :apiParam="model.paramDataTags1" :flagFocus="false" :searchConditionApi="model.searchConditionApiTags1" :searchDataApi="model.searchDataApiTags1">
222
- </ct-searchlist>
201
+ <!--计算占用宽度-->
202
+ <div style="position: relative">
203
+ <div ref="tabsbox" style="position: absolute; left: -10000px">
204
+ <el-tabs>
205
+ <el-tab-pane v-for="(col, index) in model.tags1" :key="col.appID" :index="index.toString()" :name="index.toString()">
206
+ <div slot="label" v-html="col.appName" :ref="'StatisticsItem' + index"></div>
207
+ </el-tab-pane>
208
+ </el-tabs>
209
+ </div>
210
+ </div>
211
+ <!--展示-->
212
+ <div>
213
+ <div v-if="showData.length === 1">
214
+ <el-tabs :value="model.activeIndex1" @tab-click="handleSelect">
215
+ <el-tab-pane v-for="(col, index) in showData[0]" :key="col.appID" :index="index.toString()" :name="index.toString()">
216
+ <div slot="label" v-html="col.appName"></div>
217
+ </el-tab-pane>
218
+ </el-tabs>
219
+ </div>
220
+ <div v-if="showData.length > 1" style="position: relative">
221
+ <el-tabs :value="model.activeIndex1" @tab-click="handleSelect">
222
+ <el-tab-pane v-for="(col, index) in showData[0]" :key="col.appID" :index="index.toString()" :name="index.toString()">
223
+ <div slot="label" v-html="col.appName"></div>
224
+ </el-tab-pane>
225
+ </el-tabs>
226
+ <div class="more-dropdown">
227
+ <el-dropdown trigger="click" placement="bottom">
228
+ <span class="el-dropdown-link svgIcon">
229
+ <!-- <div class="my-icon-more"></div> -->
230
+ <img :src="iconSort" alt="" width="100%" />
231
+ </span>
232
+ <el-dropdown-menu slot="dropdown" class="tabsMore">
233
+ <el-dropdown-item v-for="(col, index) in showData[1]" :key="col.appID" :index="index.toString()"
234
+ :name="index.toString()" :class="{ 'is-active': showData[0].length + index == model.activeIndex1,}">
235
+ <div @click="handleDropDown(col, index)" :value="model.activeIndex1">
236
+ <div slot="label" v-html="col.appName"></div>
237
+ </div>
238
+ </el-dropdown-item>
239
+ </el-dropdown-menu>
240
+ </el-dropdown>
241
+ </div>
242
+ </div>
243
+ <ct-searchlist v-if="model.searchConditionApiTags1" :key="'list' + listKey.toString() + refershKey"
244
+ style="min-height: 420px" :apiParam="model.paramDataTags1" :flagFocus="false"
245
+ :searchConditionApi="model.searchConditionApiTags1" :searchDataApi="model.searchDataApiTags1">
246
+ </ct-searchlist>
247
+ </div>
223
248
  </div>
224
- </div>
249
+ </div>
250
+
225
251
  <div class="contribute-info base-box" v-if="model._commissionList !== null">
226
252
  <div class="title-l">贡献人信息</div>
227
253
  <div class="contribute-list">
@@ -523,6 +549,10 @@ export default {
523
549
  listKey: 0,
524
550
  flagDisabledPrev:false,
525
551
  flagDisabledNext:false,
552
+ showData: [],
553
+ FlagStatistics: false,
554
+ dropDownSelected: false,
555
+ iconSort: require("../../../assets/sort.png"),
526
556
  };
527
557
  },
528
558
  mounted() {
@@ -558,6 +588,44 @@ export default {
558
588
  });
559
589
  },
560
590
  methods: {
591
+ showStats() {
592
+ var self = this;
593
+ this.$nextTick(function () {
594
+ if (self.model.tags1.length > 0) {
595
+ var showIndex = 0;
596
+ var sumWidth = 0;
597
+ for (var i = 0; i < self.model.tags1.length; i++) {
598
+ var moreWidth = 22;
599
+
600
+ sumWidth = sumWidth + self.$refs["StatisticsItem" + i][0].offsetParent.offsetWidth;
601
+ var nextWidth = 0;
602
+ if (i + 1 < self.model.tags1.length) {
603
+ try {
604
+ nextWidth = self.$refs["StatisticsItem" + (i + 1)][0].offsetParent.offsetWidth;
605
+ } catch (e) { }
606
+ } else {
607
+ moreWidth = 0;
608
+ }
609
+ if (self.model.midlWidth - 42 < sumWidth + moreWidth) {
610
+ showIndex = i;
611
+ break;
612
+ } else if (self.model.midlWidth - 42 < nextWidth + moreWidth) {
613
+ showIndex = i + 1;
614
+ break;
615
+ }
616
+ }
617
+ if (showIndex > 0) {
618
+ self.showData = [
619
+ self.model.tags1.slice(0, showIndex),
620
+ self.model.tags1.slice(showIndex),
621
+ ];
622
+ } else {
623
+ self.showData = [self.model.tags1];
624
+ }
625
+ }
626
+ });
627
+ },
628
+
561
629
  load(data) {
562
630
  var self = this;
563
631
  this.model = data;
@@ -666,6 +734,7 @@ export default {
666
734
  var w1 = this.$refs.detail.clientWidth | 0;
667
735
  var w2 = this.$refs.midr.clientWidth | 0;
668
736
  this.model.midlWidth = w1 - w2 - 10;
737
+ this.showStats();
669
738
  }
670
739
  });
671
740
  },
@@ -681,6 +750,19 @@ export default {
681
750
  this.model.paramDataTags1 = this.model.tags1[i].paramData || "";
682
751
  window.localStorage.setItem("detailtagkey", this.model.tags1[i].appID); //存储
683
752
  }
753
+ },
754
+ handleDropDown(key, index) {
755
+ let i = index;
756
+ this.model.activeIndex1 = (this.showData[0].length + i).toString();
757
+ let dropDownData = this.showData[1];
758
+ this.dropDownSelected = true;
759
+ if (dropDownData && dropDownData[i]) {
760
+ this.listKey = this.listKey + 1;
761
+ this.model.searchConditionApiTags1 = dropDownData[i].searchConditionApiUrl || "";
762
+ this.model.searchDataApiTags1 = dropDownData[i].searchDataApiUrl || "";
763
+ this.model.paramDataTags1 = dropDownData[i].paramData || "";
764
+ window.localStorage.setItem("detailtagkey", dropDownData[i].appID); //存储
765
+ }
684
766
  },
685
767
  fieldClickHandler(field) {
686
768
  var self = this;
@@ -1636,6 +1718,65 @@ export default {
1636
1718
  .r {
1637
1719
  float: right;
1638
1720
  }
1721
+ .my-icon-more {
1722
+ width: 14px;
1723
+ height: 15px;
1724
+ border-top: 3px solid rgb(153, 153, 153);
1725
+ border-bottom: 3px solid rgb(153, 153, 153);
1726
+ background-color: rgb(153, 153, 153);
1727
+ padding: 3px 0;
1728
+ background-clip: content-box;
1729
+ cursor: pointer;
1730
+ }
1731
+ >>>.el-tabs__nav-prev {
1732
+ display: none;
1733
+ }
1734
+
1735
+ >>>.el-tabs__nav-next {
1736
+ display: none;
1737
+ }
1738
+
1739
+ .more-dropdown {
1740
+ position: absolute;
1741
+ width: 16px;
1742
+ height: 20px;
1743
+ text-align: left;
1744
+ top: 13px;
1745
+ right: -1px;
1746
+ }
1747
+
1748
+ .el-dropdown-menu--mini .el-dropdown-menu__item {
1749
+ font-size: 14px;
1750
+ font-weight: 700;
1751
+ color: #303133;
1752
+ }
1753
+
1754
+ .el-dropdown-menu__item:focus,
1755
+ .el-dropdown-menu__item:not(.is-disabled):hover {
1756
+ background-color: #fff;
1757
+ color: #ff503f;
1758
+ border-bottom: 3px solid #ff503f;
1759
+ }
1760
+
1761
+ .tabsMore .is-active {
1762
+ cursor: pointer;
1763
+ background-color: #fff;
1764
+ color: #ff503f;
1765
+ border-bottom: 3px solid #ff503f;
1766
+ }
1767
+
1768
+ >>>.el-tabs--bottom .el-tabs__item.is-bottom:last-child,
1769
+ >>>.el-tabs--bottom .el-tabs__item.is-top:last-child,
1770
+ >>>.el-tabs--top .el-tabs__item.is-bottom:last-child,
1771
+ >>>.el-tabs--top .el-tabs__item.is-top:last-child {
1772
+ padding-right: 15px;
1773
+ }
1774
+
1775
+ .svgIcon {
1776
+ width: 16px;
1777
+ text-align: center;
1778
+ cursor: pointer;
1779
+ }
1639
1780
  </style>
1640
1781
 
1641
1782
 
@@ -11,6 +11,10 @@
11
11
  <span> {{ model.fields1Dic.BuildingName.value }}</span>
12
12
  <span>{{ model.fields1Dic.RoomNo.value }}</span>
13
13
  <img :src="model.actionRouterFavorite.imgUrl" alt="" @click="fieldClickHandler(model.actionRouterFavorite, $event)" class="collection" />
14
+ <component v-if="model.otherTradeActionRouter !== null" v-bind="model.otherTradeActionRouter" class="max-default w93"
15
+ :is="model.otherTradeActionRouter.is" :vmodel="model.otherTradeActionRouter" :api="model.optionApi" style="margin-left: 10px;"
16
+ @click="fieldClickHandler(model.otherTradeActionRouter, $event)">
17
+ </component>
14
18
  </div>
15
19
  <div class="title-other">
16
20
  <span>{{ model.fields1Dic.PropertyNo.label }}{{ model.fields1Dic.PropertyNo.value }}</span>
@@ -19,8 +23,7 @@
19
23
  <img :src="model.fields1Dic.LocationUrl.value" alt="" class="location"/>
20
24
  </div>
21
25
  <div class="title-tags">
22
- <div class="t-tag"
23
- v-for="(tag, index) in model.actionRouterLabel" :key="index"
26
+ <div class="t-tag" v-for="(tag, index) in model.actionRouterLabel" :key="index"
24
27
  :style="{ color: tag.textColor, backgroundColor: tag.bgColor,borderColor: tag.borderColor,}">
25
28
  {{ tag.label }}
26
29
  </div>
@@ -31,65 +34,33 @@
31
34
  </div>
32
35
  <div class="head-but">
33
36
  <div>
34
- <component v-if="model.otherTradeActionRouter !== null" v-bind="model.otherTradeActionRouter" class="max-default w93"
35
- :is="model.otherTradeActionRouter.is" :vmodel="model.otherTradeActionRouter" :api="model.optionApi"
36
- @click="fieldClickHandler(model.otherTradeActionRouter, $event)">
37
- </component>
38
- <img :class="{ domDisabled: flagDisabledPrev }" @click="clickPrevHandler"
39
- src="../../../assets/T.png" alt=""
40
- style=" width: 26px; height: 26px;vertical-align: bottom; margin-left: 20px;cursor: pointer;"/>
41
- <img :class="{ domDisabled: flagDisabledNext }" @click="clickNextHandler"
42
- src="../../../assets/B.png" alt=""
43
- style=" width: 26px; height: 26px;vertical-align: bottom; margin-left: 15px; margin-right: 13px; cursor: pointer;"/>
44
- </div>
45
- <div class="mt5">
46
- <component
47
- class="max-report w93"
37
+ <component class="max-report w93"
48
38
  v-if=" model.actionRouters !== null && model.actionRouters[0] !== null"
49
- :is="model.actionRouters[0].is"
50
- :vmodel="model.actionRouters[0]"
51
- :api="model.optionApi"
52
- @click="fieldClickHandler(model.actionRouters[0], $event)"
53
- ></component>
54
- <component
55
- class="max-report w93"
56
- v-if="
57
- model.actionRouters !== null && model.actionRouters[1] !== null
58
- "
59
- :is="model.actionRouters[1].is"
60
- :vmodel="model.actionRouters[1]"
61
- :api="model.optionApi"
62
- @click="fieldClickHandler(model.actionRouters[1], $event)"
63
- ></component>
64
- </div>
65
- <div class="mt5">
66
- <button type="button"
67
- class="el-button el-button--info el-button--mini max-report rel w93"
39
+ :is="model.actionRouters[0].is" :vmodel="model.actionRouters[0]" :api="model.optionApi"
40
+ @click="fieldClickHandler(model.actionRouters[0], $event)"></component>
41
+ <component class="max-report w93"
42
+ v-if="model.actionRouters !== null && model.actionRouters[1] !== null"
43
+ :is="model.actionRouters[1].is" :vmodel="model.actionRouters[1]" :api="model.optionApi"
44
+ @click="fieldClickHandler(model.actionRouters[1], $event)"></component>
45
+ <button type="button" class="el-button el-button--info el-button--mini max-report rel w93"
68
46
  v-if=" model.actionRoutersMoreList !== null && model.actionRoutersMoreList.length > 0">
69
47
  <img src="../../../assets/dian.png" alt="" class="report" />
70
48
  <ul class="report-cont">
71
- <li v-for="(col, index) in model.actionRoutersMoreList"
72
- :key="index"
73
- v-if="col.show !== false">
74
- <component
75
- class="max-report w93"
76
- :is="col.is"
77
- :vmodel="col"
78
- :api="model.optionApi"
79
- @click="fieldClickHandler(col, $event)"
80
- ></component>
49
+ <li v-for="(col, index) in model.actionRoutersMoreList" :key="index" v-if="col.show !== false">
50
+ <component class="max-report w93" :is="col.is" :vmodel="col" :api="model.optionApi" @click="fieldClickHandler(col, $event)"></component>
81
51
  </li>
82
52
  </ul>
83
53
  </button>
84
- <component
85
- v-else-if=" model.actionRouters !== null && model.actionRouters.length === 3 "
86
- class="max-report w93"
87
- :is="model.actionRouters[2].is"
88
- :vmodel="model.actionRouters[2]"
89
- :api="model.optionApi"
90
- @click="fieldClickHandler(model.actionRouters[2], $event)"
91
- >
54
+ <component v-else-if=" model.actionRouters !== null && model.actionRouters.length === 3 " class="max-report w93"
55
+ :is="model.actionRouters[2].is" :vmodel="model.actionRouters[2]" :api="model.optionApi"
56
+ @click="fieldClickHandler(model.actionRouters[2], $event)">
92
57
  </component>
58
+ <img :class="{ domDisabled: flagDisabledPrev }" @click="clickPrevHandler"
59
+ src="../../../assets/T.png" alt=""
60
+ style=" width: 26px; height: 26px;vertical-align: bottom; margin-left: 10px;cursor: pointer;"/>
61
+ <img :class="{ domDisabled: flagDisabledNext }" @click="clickNextHandler"
62
+ src="../../../assets/B.png" alt=""
63
+ style=" width: 26px; height: 26px;vertical-align: bottom; margin-left: 10px; margin-right: 13px; cursor: pointer;"/>
93
64
  </div>
94
65
  </div>
95
66
  </div>
@@ -250,12 +221,10 @@
250
221
  showData[0].length + index == model.activeIndex1,
251
222
  }"
252
223
  >
253
- <span
254
- @click="handleDropDown(col, index)"
255
- :value="model.activeIndex1"
256
- >{{ col.appName }}</span
257
- ></el-dropdown-item
258
- >
224
+ <div @click="handleDropDown(col, index)" :value="model.activeIndex1">
225
+ <div slot="label" v-html="col.appName"></div>
226
+ </div>
227
+ </el-dropdown-item>
259
228
  </el-dropdown-menu>
260
229
  </el-dropdown>
261
230
  </div>
@@ -889,8 +858,29 @@ export default {
889
858
  // if (typeof field.onClick !== 'undefined') {
890
859
  // verified = self.$common.excute.call(self.model.scripts, field.onClick);
891
860
  // }
892
-
893
- if (field.isOpenForm) {
861
+ if (field.isBrowseAttachment) {//浏览附件
862
+ var MediaAlbum = [
863
+ { albumName: self.model.title || "媒体", medias: [] },
864
+ ];
865
+ if (field.action) {
866
+ var callback = function (data) {
867
+ MediaAlbum[0].medias = data;
868
+ self.$common.viewerfile(field, MediaAlbum, 0, 0);
869
+ }
870
+ var vsubmitData = {
871
+ ...field.getActionPara(submitData).para,
872
+ ...submitData
873
+ };
874
+ self.model.getAction(field.action, vsubmitData, callback);
875
+ }
876
+ else {
877
+ submitData.mediaData.forEach((v) => {
878
+ MediaAlbum[0].medias.push(v);
879
+ });
880
+ self.$common.viewerfile(field, MediaAlbum, 0, 0);
881
+ }
882
+ }
883
+ else if (field.isOpenForm) {
894
884
  var dialogOption = {
895
885
  title: field.pageTitle,
896
886
  pane: self.$common.getParentPane(self),
@@ -952,8 +942,7 @@ export default {
952
942
  };
953
943
  self.$common.openDialog(dialogOption);
954
944
  }
955
- else if (field.isFormPageInTab) {
956
- // 外部框架tab页打开
945
+ else if (field.isFormPageInTab) {// 外部框架tab页打开
957
946
  submitData = field.getActionPara(submitData).para;
958
947
  self.$common
959
948
  .getDataDrivenOpts()
@@ -965,23 +954,19 @@ export default {
965
954
  field.dialogWidth
966
955
  );
967
956
  }
968
- else if (field.isSearchPageInTab) {
969
- // 外部框架tab页打开
957
+ else if (field.isSearchPageInTab) {// 外部框架tab页打开
970
958
  submitData = field.getActionPara(submitData).para;
971
959
  self.$common.getDataDrivenOpts().handler.openTabSearch(field, submitData);
972
960
  }
973
- else if (field.isBrowserNewTab) {
974
- // 浏览器打开
961
+ else if (field.isBrowserNewTab) {// 浏览器打开
975
962
  submitData = field.getActionPara(submitData).para;
976
963
  let query = self.$common.objectToQueryStr(submitData);
977
964
  window.open(field.action + query, "_blank");
978
965
  }
979
- else if (field.isOpenUrlInBrowse) {
980
- // 浏览器打开
966
+ else if (field.isOpenUrlInBrowse) {// 浏览器打开
981
967
  window.open(submitData[field.submitFormField], "_blank");
982
968
  }
983
- else if (field.isSeeVoice) {
984
- //看视频
969
+ else if (field.isSeeVoice) {//看视频
985
970
  self.$common.browseVideo(field, submitData);
986
971
  }
987
972
  else {
@@ -1799,21 +1784,7 @@ export default {
1799
1784
  background-clip: content-box;
1800
1785
  cursor: pointer;
1801
1786
  }
1802
- // .popovertablf span {
1803
- // display: inline-block;
1804
- // }
1805
- // .popoverbtnTab {
1806
- // font-size: 14px !important;
1807
- // font-weight: bold;
1808
- // cursor: pointer;
1809
- // float: left;
1810
- // list-style-type: none;
1811
- // padding: 0px 20px 0px 20px;
1812
- // }
1813
- // .popoverbtnTab:hover,
1814
- // .popovertablf:hover {
1815
- // color: #ee5d56;
1816
- // }
1787
+
1817
1788
  >>> .el-tabs__nav-prev {
1818
1789
  display: none;
1819
1790
  }