centaline-data-driven 1.5.41 → 1.5.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 (25) hide show
  1. package/package.json +1 -1
  2. package/release-log.md +23 -0
  3. package/src/Detail.vue +3 -3
  4. package/src/SearchList.vue +6 -5
  5. package/src/centaline/dialogList/src/dialog.vue +17 -2
  6. package/src/centaline/dynamicDetail/src/dynamicCustomerSimpleDetail.vue +278 -49
  7. package/src/centaline/dynamicDetail/src/dynamicEstateBuildingDetail.vue +11 -11
  8. package/src/centaline/dynamicDetail/src/dynamicEstateSimpleDetail.vue +1 -1
  9. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailOFI.vue +10 -11
  10. package/src/centaline/dynamicDetail/src/dynamicPropertyDetailRET.vue +12 -11
  11. package/src/centaline/dynamicDetail/src/dynamicPropertySimpleDetailRET.vue +1 -1
  12. package/src/centaline/dynamicForm/src/dynamicForm.vue +1 -1
  13. package/src/centaline/dynamicPhotoSelect/src/dynamicPhotoSelect.vue +31 -0
  14. package/src/centaline/dynamicPhotoSelectList/src/dynamicPhotoSelectList.vue +31 -0
  15. package/src/centaline/dynamicRepeat/src/dynamicRepeat.vue +21 -14
  16. package/src/centaline/dynamicSearchList/src/dynamicSearchList.vue +10 -1
  17. package/src/centaline/dynamicSearchList/src/dynamicSearchScreen.vue +1 -1
  18. package/src/centaline/dynamicSearchList/src/dynamicSearchTable.vue +8 -2
  19. package/src/centaline/dynamicSearchListTab/src/dynamicSearchListOne.vue +10 -1
  20. package/src/centaline/loader/src/ctl/Detail.js +13 -0
  21. package/src/centaline/loader/src/ctl/Repeat.js +1 -1
  22. package/src/centaline/loader/src/ctl/SearchScreen.js +6 -6
  23. package/src/main.js +3 -3
  24. package/wwwroot/static/centaline/centaline-data-driven.js +361 -164
  25. 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.5.41",
3
+ "version": "1.5.42",
4
4
  "description": "ccai",
5
5
  "author": "hjc <3226136347@qq.com>",
6
6
  "private": false,
package/release-log.md CHANGED
@@ -1,3 +1,26 @@
1
+ ## v1.5.42
2
+ 2023-07-31
3
+
4
+ 优化
5
+
6
+ 客户列表右侧边栏字母和有效标签样式优化
7
+
8
+ 图片选择控件增加文件类型缩略图显示 videoPlayIconUrl
9
+
10
+ 页面变动,右侧联系人会一直加载处理
11
+
12
+ 弹层记录滚动条位置,切换tab后,回到记录位置
13
+
14
+ 更新表格列后,多选按钮失效处理
15
+
16
+ 房源详情页头像大小比例修改
17
+
18
+ 房源详情页跟进列表高度加高
19
+
20
+ 列表重置要清除排序字段
21
+
22
+ 客户列表右侧边栏tabs功能优化
23
+
1
24
  ## v1.5.41
2
25
  2023-07-25
3
26
 
package/src/Detail.vue CHANGED
@@ -1,9 +1,9 @@
1
1
  <template>
2
2
  <div id="appDetail" style="height:100%;">
3
- <!-- <ct-Detail :api="'PropertyOFI/readDetailForBrowse'" :apiParam="apiParam" :pageType="'PropertyDetailOFI'"></ct-Detail> -->
3
+ <ct-Detail :api="'PropertyOFI/readDetailForBrowse'" :apiParam="apiParam" :pageType="'PropertyDetailOFI'"></ct-Detail>
4
4
  <!-- <ct-Detail :api="'PropertyRET/readDetailForBrowse'" :apiParam="apiParam" :pageType="'PropertyDetailRET'"></ct-Detail> -->
5
5
  <!-- <ct-Detail :api="'Estate/readDetailForBrowse'" :apiParam="apiParam" :pageType="'EstateDetail'"></ct-Detail> -->
6
- <ct-Detail :api="'EstateBuilding/readDetailForBrowse'" :apiParam="apiParam" :pageType="'EstateBuildingDetail'"></ct-Detail>
6
+ <!-- <ct-Detail :api="'EstateBuilding/readDetailForBrowse'" :apiParam="apiParam" :pageType="'EstateBuildingDetail'"></ct-Detail> -->
7
7
  <ct-dialog-list></ct-dialog-list>
8
8
  </div>
9
9
  </template>
@@ -15,7 +15,7 @@
15
15
  return {
16
16
  apiParam: {
17
17
  actionType: 1,
18
- chanceID: "1604775272433979392",
18
+ chanceID: "20154400",
19
19
  estateID:'',
20
20
  buildingID:'9717',
21
21
  } ,
@@ -1,9 +1,8 @@
1
1
  <template>
2
2
  <div id="app-search" style="width:100%;height:100%;position: fixed;">
3
+
3
4
  <!-- <ct-searchlist :searchConditionApi="'/api/third-dept-tran/transaction-workflow/getLayoutOfSearch'" :searchDataApi="'/api/third-dept-tran/transaction-workflow/list'"></ct-searchlist> -->
4
5
 
5
- <!-- <ct-searchlist :searchConditionApi="'/PropertyRETList/getLayoutOfSearch'" :searchDataApi="'/PropertyRETList/getListOfSearchModel'" :searchCategoryApi="'/PropertyRETList/getLayoutOfSearchCategory'"></ct-searchlist> -->
6
-
7
6
  <!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/third-dept-tran/tran-list/layout'" :searchDataApi="'/api/third-dept-tran/tran-list'"></ct-searchlist> -->
8
7
 
9
8
  <!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/third-dept-tran/profit-return/layout'" :searchDataApi="'/api/third-dept-tran/profit-return'"></ct-searchlist> -->
@@ -12,6 +11,8 @@
12
11
 
13
12
  <!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/finance/tran-commission-allocate/process-layout'" :searchDataApi="'/api/finance/tran-commission-allocate/process-list'"></ct-searchlist> -->
14
13
 
14
+ <!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/api/shift-approver/layout'" :searchDataApi="'/api/shift-approver/list'"></ct-searchlist> -->
15
+
15
16
 
16
17
  <!-- <ct-searchlist :apiParam="para" :searchConditionApi="'/filemanage/batchdownlist/getLayoutOfSearch'" :searchDataApi="'/filemanage/batchdownlist/getList'"></ct-searchlist> -->
17
18
 
@@ -61,11 +62,11 @@
61
62
  :searchStatsApi="'/PropertyRETList/getListStats'">
62
63
  </ct-searchlist> -->
63
64
 
64
- <!-- <ct-searchlist :searchConditionApi="'/PropertyOFIList/getLayoutOfSearch'"
65
+ <ct-searchlist :searchConditionApi="'/PropertyOFIList/getLayoutOfSearch'"
65
66
  :searchDataApi="'/PropertyOFIList/getListOfSearchModel'"
66
67
  :searchCategoryApi="'/PropertyOFIList/getLayoutOfSearchCategory'"
67
68
  :searchStatsApi="'/PropertyOFIList/getListStats'">
68
- </ct-searchlist> -->
69
+ </ct-searchlist>
69
70
 
70
71
  <!-- <ct-searchlist :searchConditionApi="'/EstateList/getLayoutOfSearch'" :searchDataApi="'/EstateList/getListOfSearchModel'"></ct-searchlist> -->
71
72
 
@@ -73,7 +74,7 @@
73
74
 
74
75
  <!-- <ct-searchlist :searchConditionApi="'/DistrictList/getLayoutOfSearch'" :searchDataApi="'/DistrictList/getListOfSearchModel'"></ct-searchlist> -->
75
76
 
76
- <ct-searchlist :searchConditionApi="'/CustomerImportList/getLayoutOfSearch'" :searchDataApi="'/CustomerImportList/getListOfSearchModel'"></ct-searchlist>
77
+ <!-- <ct-searchlist :searchConditionApi="'/CustomerImportList/getLayoutOfSearch'" :searchDataApi="'/CustomerImportList/getListOfSearchModel'"></ct-searchlist> -->
77
78
 
78
79
  <!-- <ct-searchlist :searchConditionApi="'/CustomerList/getLayoutOfSearch'" :searchStatsApi="'/CustomerList/getListStats'" :searchDataApi="'/CustomerList/getListOfSearchModel'"></ct-searchlist> -->
79
80
 
@@ -13,6 +13,11 @@
13
13
  pane:null
14
14
  };
15
15
  },
16
+ activated(){
17
+ if (this.contentTop && this.$refs.content) {
18
+ this.$refs.content.scrollTop=this.contentTop;
19
+ }
20
+ },
16
21
  methods: {
17
22
  close() {
18
23
  this.$emit('close', this);
@@ -25,6 +30,11 @@
25
30
  //ev.stopPropagation();
26
31
  //ev.preventDefault();
27
32
  },
33
+ scrollHandle(ev) {
34
+ this.contentTop=this.$refs.content.scrollTop;
35
+ ev.cancelBubble = true;
36
+ ev.stopPropagation();
37
+ },
28
38
  },
29
39
  mounted() {
30
40
  //this.$el.parentNode.removeChild(this.$el);
@@ -91,7 +101,7 @@
91
101
  on: {
92
102
  click: (event) => {
93
103
  this.bodyClickHandler(event);
94
- }
104
+ },
95
105
  }
96
106
  },
97
107
  [
@@ -192,7 +202,12 @@
192
202
  'height': item.attrs.height,
193
203
  'overflow': 'auto',
194
204
  },
195
- ref:'content'
205
+ ref:'content',
206
+ on: {
207
+ scroll: (event) => {
208
+ self.scrollHandle(event);
209
+ },
210
+ }
196
211
  }, [
197
212
  h(item.component, {
198
213
  props: item.attrs,
@@ -1,15 +1,20 @@
1
1
  <template>
2
2
  <div ref="main" class="main" style="position: relative;overflow: hidden;">
3
- <div v-if="model !== null" style="height:36px;margin-top: 10px;display: flex;border-bottom: solid 2px var(--chinaRed);">
4
- <el-popover v-if="model.routerForQRCode !== null" placement="left-start" trigger="hover" @show="fieldClickHandler(model.routerForQRCode, $event)">
3
+ <div v-if="model !== null"
4
+ style="height:36px;margin-top: 10px;display: flex;border-bottom: solid 2px var(--chinaRed);">
5
+ <el-popover v-if="model.routerForQRCode !== null" placement="left-start" trigger="hover"
6
+ @show="fieldClickHandler(model.routerForQRCode, $event)">
5
7
  <div style="border-bottom:none">
6
8
  <div style="text-align: center;margin-bottom:10px;">APP扫码</div>
7
- <div style="width:200px; height:200px;"><img :src="model.QRCode" @click="fieldClickHandler(model.routerForQRCode, $event)" /></div>
9
+ <div style="width:200px; height:200px;"><img :src="model.QRCode"
10
+ @click="fieldClickHandler(model.routerForQRCode, $event)" /></div>
8
11
  <div style="text-align: center;margin-top:10px;">点击二维码刷新</div>
9
12
  </div>
10
- <img class="code-ewm" slot="reference" :src="model.fields1Dic.ewmUrl.value" style="width: 26px;height: 26px;vertical-align: bottom;margin-left:22px;" />
13
+ <img class="code-ewm" slot="reference" :src="model.fields1Dic.ewmUrl.value"
14
+ style="width: 26px;height: 26px;vertical-align: bottom;margin-left:22px;" />
11
15
  </el-popover>
12
- <div :style="{ 'width': topWidth + 'px' }" style="font-size: 14px;color: var(--centalineBlack);padding-left: 10px;line-height: 26px;">
16
+ <div :style="{ 'width': topWidth + 'px' }"
17
+ style="font-size: 14px;color: var(--centalineBlack);padding-left: 10px;line-height: 26px;">
13
18
  <span>{{ model.fields1Dic.CustNo.label }}</span>
14
19
  <span>{{ model.fields1Dic.CustNo.value }}</span>
15
20
  </div>
@@ -17,10 +22,13 @@
17
22
  style="width: 26px;height: 26px;vertical-align: bottom;margin-right:11px;cursor: pointer">
18
23
  <img :class="{ 'domDisabled': selectIndex === rowCount - 1 }" @click="clickNextHandler" src="../../../assets/B1.png"
19
24
  alt="" style="width: 26px;height: 26px;vertical-align: bottom;margin-right:8px;cursor: pointer">
20
- <div v-if="!model.flagAppMode && showIndex < 4" class="el-icon-close cursor" style="padding-top: 5px;" @click="closeSideHandler">
25
+ <div v-if="!model.flagAppMode && showIndex < 4" class="el-icon-close cursor" style="padding-top: 5px;"
26
+ @click="closeSideHandler">
21
27
  </div>
22
- <span v-if="model.flagAppMode ||showIndex > 3 " :slot="showIndex > 0 ? 'reference' : ''" class="more" style="margin-right: 10px;" @click="drawer = true"></span>
23
- <el-drawer title="更多操作" :visible.sync="drawer" direction="ttb" :modal="false" class="drawerMore" size="30%" style="position: absolute;">
28
+ <span v-if="model.flagAppMode || showIndex > 3" :slot="showIndex > 0 ? 'reference' : ''" class="more"
29
+ style="margin-right: 10px;" @click="drawer = true"></span>
30
+ <el-drawer title="更多操作" :visible.sync="drawer" direction="ttb" :modal="false" class="drawerMore" size="30%"
31
+ style="position: absolute;">
24
32
  <div style="display: flex;flex-flow:row wrap ">
25
33
  <component v-for="(router, index) in model.actionRoutersSimple.slice(showIndex)" :key="index"
26
34
  class="drawerButton"
@@ -34,11 +42,13 @@
34
42
  <div v-if="model !== null" style="padding-left: 20px;padding-right: 20px;">
35
43
  <div ref="title" style="margin-top: 18px;">
36
44
  <div style="font-weight: Bold;font-size: 16px;color: #333333;display: flex;">
37
- <img v-if="model.actionRouterFavorite" :src="model.actionRouterFavorite.imgUrl" alt="" @click="fieldClickHandler(model.actionRouterFavorite, $event)" class="Simplecollection" />
38
- <span>{{ model.fields1Dic.CustName.value }}</span>
39
- <div style="border: 1px solid #E0E0E0;font-size: 12px;color: #333333;padding-top: 3px; width: 68px;height: 26px;border-radius: 6px;text-align: center;margin-left: auto;">
45
+ <div class="OwnerShipNamesty"
46
+ :class="[{ 'bg-gray': model.fields1Dic.OwnerShipName.value == 'M', 'bg-red': model.fields1Dic.OwnerShipName.value == 'P', 'bg-blue': model.fields1Dic.OwnerShipName.value == 'R' },]">
40
47
  {{ model.fields1Dic.OwnerShipName.value }}
41
48
  </div>
49
+ <img v-if="model.actionRouterFavorite" :src="model.actionRouterFavorite.imgUrl" alt=""
50
+ @click="fieldClickHandler(model.actionRouterFavorite, $event)" class="Simplecollection" />
51
+ <span>{{ model.fields1Dic.CustName.value }}</span>
42
52
  </div>
43
53
  <div v-if="model.fields1Dic.DistrictName" style="font-size: 12px;color: #999999;margin-top: 7px;">
44
54
  <span>{{ model.fields1Dic.DistrictName.value }}</span>
@@ -55,10 +65,12 @@
55
65
  style="font-weight: bold;font-size: 13px; margin-top: 10px;background: rgb(236, 249, 255); flex: 1;align-items: center;padding: 5px;border-radius: 5px; word-break: break-all;">
56
66
  </div>
57
67
  </div>
58
- <div v-if="model.flagHiddenSensitiveInfo" style="display: flex;align-items: center;justify-content: center;margin-top: 50%;height: 0px;">
68
+ <div v-if="model.flagHiddenSensitiveInfo"
69
+ style="display: flex;align-items: center;justify-content: center;margin-top: 50%;height: 0px;">
59
70
  <div v-html="model.hiddenSensitiveInfoReason"></div>
60
71
  </div>
61
- <div ref="sensitiveInfo" v-if="!model.flagHiddenSensitiveInfo" class="areaValue">
72
+ <div ref="sensitiveInfo" v-if="!model.flagHiddenSensitiveInfo" class="areaValue"
73
+ :class="[{ 'border-green': model.fields1Dic.StatusName.value == '有效', 'border-red': model.fields1Dic.StatusName.value == '关闭' }]">
62
74
  <div style="width: 33.33%;">
63
75
  <div class="areaValuetile">{{ model.fields1Dic.BusinessUnit.label.replace(':', '') }}</div>
64
76
  <div class="areaValueRed">{{ model.fields1Dic.BusinessUnit.value }}</div>
@@ -69,7 +81,8 @@
69
81
  </div>
70
82
  <div style="width: 33.33%;">
71
83
  <div class="areaValuetile">{{ model.fields1Dic.Price.label.replace(':', '') }}</div>
72
- <div class="areaValueRed"><span v-html="model.fields1Dic.Price.value"></span><span>{{ model.fields1Dic.Price.unitName }}</span></div>
84
+ <div class="areaValueRed"><span v-html="model.fields1Dic.Price.value"></span><span>{{
85
+ model.fields1Dic.Price.unitName }}</span></div>
73
86
  </div>
74
87
  </div>
75
88
  <div ref="contact" id="contact" style="margin-top: 16px;"
@@ -92,22 +105,62 @@
92
105
  <ct-form :source="model.shortcutFollowForm" @submit="saveShortcutFollow" :openType="'detail'"></ct-form>
93
106
  </div>
94
107
  <div v-if="!model.flagHiddenSensitiveInfo" class="tablist-info base-box">
95
- <div class="details-tabs-box">
96
- <el-tabs :value="model.activeIndex1" @tab-click="handleSelect">
97
- <el-tab-pane v-for="(col, index) in model.tags1" :key="col.appID" :index="index.toString()" :name="index.toString()">
98
- <div slot="label" v-html="col.appName"></div>
99
- </el-tab-pane>
100
- </el-tabs>
101
- <ct-searchlist ref="searchlist" v-if="model.searchConditionApiTags1" :from="'simpleDetail'"
102
- :key="'list' + listKey.toString() + refershKey" :apiParam="model.paramDataTags1" :flagFocus="false"
103
- :searchConditionApi="model.searchConditionApiTags1" :searchDataApi="model.searchDataApiTags1"
104
- :flagAppMode="model.flagAppMode"></ct-searchlist>
108
+ <div class="details-tabs-box" ref="tabsbox">
109
+ <!--计算占用宽度-->
110
+ <div style="position: relative">
111
+ <div style="position: absolute; left: -10000px">
112
+ <el-tabs>
113
+ <el-tab-pane v-for="(col, index) in model.tags1" :key="col.appID" :index="index.toString()" :name="index.toString()">
114
+ <div slot="label" v-html="col.appName" :ref="'StatisticsItem' + index"></div>
115
+ </el-tab-pane>
116
+ </el-tabs>
117
+ </div>
118
+ </div>
119
+ <div>
120
+ <div v-if="showData.length === 1">
121
+ <el-tabs :value="model.activeIndex1" @tab-click="handleSelect">
122
+ <el-tab-pane v-for="(col, index) in showData[0]" :key="col.appID" :index="index.toString()"
123
+ :name="index.toString()">
124
+ <div slot="label" v-html="col.appName"></div>
125
+ </el-tab-pane>
126
+ </el-tabs>
127
+ </div>
128
+ <div v-if="showData.length > 1" style="position: relative">
129
+ <el-tabs :value="model.activeIndex1" @tab-click="handleSelect">
130
+ <el-tab-pane v-for="(col, index) in showData[0]" :key="col.appID" :index="index.toString()"
131
+ :name="index.toString()" :style="{ 'width': (index == showData[0].length - 1 ? lastWidth + 'px' : ''), }">
132
+ <div slot="label" v-html="col.appName"></div>
133
+ </el-tab-pane>
134
+ </el-tabs>
135
+ <div class="more-icon">
136
+ <el-dropdown trigger="click" placement="bottom">
137
+ <span class="el-dropdown-link svgIcon">
138
+ <img :src="iconSort" alt="" width="100%" />
139
+ </span>
140
+ <el-dropdown-menu slot="dropdown" class="tabsMore">
141
+ <el-dropdown-item v-for="(col, index) in showData[1]" :key="col.appID" :index="index.toString()"
142
+ :name="index.toString()" :class="{ 'is-active': showData[0].length + index == model.activeIndex1, }">
143
+ <div @click="handleDropDown(col, index)" :value="model.activeIndex1">
144
+ <div slot="label" v-html="col.appName"></div>
145
+ </div>
146
+ </el-dropdown-item>
147
+ </el-dropdown-menu>
148
+ </el-dropdown>
149
+ </div>
150
+ </div>
151
+ <ct-searchlist ref="searchlist" v-if="model.searchConditionApiTags1" :from="'simpleDetail'"
152
+ :key="'list' + listKey.toString() + refershKey" :apiParam="model.paramDataTags1" :flagFocus="false"
153
+ :searchConditionApi="model.searchConditionApiTags1" :searchDataApi="model.searchDataApiTags1"
154
+ :flagAppMode="model.flagAppMode"></ct-searchlist>
155
+ </div>
105
156
  </div>
106
157
  </div>
107
158
  </div>
108
- <div v-if="isLoading" v-loading="isLoading" :style="{'height': loadingHeight+'px',}"></div>
109
- <div v-if="model !== null && model.fields1Dic.StatusName" v-html="model.fields1Dic.StatusName.value"
110
- :style="{'position': 'absolute','font-size': '12px','top':statusTop+'px','right':statusRight+'px'}"></div>
159
+ <div v-if="isLoading" v-loading="isLoading" :style="{ 'height': loadingHeight + 'px', }"></div>
160
+ <div v-if="model !== null && model.fields1Dic.StatusName" v-html="model.fields1Dic.StatusName.value"
161
+ :style="{ 'top': statusTop + 'px', 'left': statusLeft + 'px' }" class="statusNamesty"
162
+ :class="[{ 'bg-green': model.fields1Dic.StatusName.value == '有效', 'bg-red': model.fields1Dic.StatusName.value == '关闭' }]">
163
+ </div>
111
164
  </div>
112
165
  </template>
113
166
 
@@ -146,10 +199,13 @@ export default {
146
199
  placement: 'left-start',//方向,传值可查看Popper UI组件placement属性
147
200
  },
148
201
  drawer: false,
149
- isLoading:true,
150
- loadingHeight:0,
151
- statusTop:0,
152
- statusRight:0,
202
+ isLoading: true,
203
+ loadingHeight: 0,
204
+ statusTop: 0,
205
+ statusLeft: 0,
206
+ showData: [],
207
+ lastWidth: 0,
208
+ iconSort: require("../../../assets/sort.png"),
153
209
  }
154
210
  },
155
211
  watch: {
@@ -162,7 +218,7 @@ export default {
162
218
  mounted() {
163
219
  var self = this;
164
220
  this.$nextTick(function () {
165
- this.loadingHeight=this.$refs.main.parentElement.parentElement.offsetHeight;
221
+ this.loadingHeight = this.$refs.main.parentElement.parentElement.offsetHeight;
166
222
  if (self.vmodel) {
167
223
  self.load(self.vmodel);
168
224
  }
@@ -181,7 +237,7 @@ export default {
181
237
  },
182
238
  methods: {
183
239
  load(data) {
184
- this.isLoading=false;
240
+ this.isLoading = false;
185
241
  var self = this;
186
242
  this.refershKey = this.refershKey + 1;
187
243
  this.model = data;
@@ -203,8 +259,54 @@ export default {
203
259
  self.model.paramDataTags1 = self.model.tags1[i].paramData || '';
204
260
  }
205
261
  }
262
+
206
263
  }
207
264
  }
265
+ this.$nextTick(function () {
266
+ if (self.model.tags1.length > 0) {
267
+ var tagShowIndex = 0;
268
+ var sumWidth = 0;
269
+ var tagsMoreWidth = 22;
270
+ var nextWidth = 0;
271
+ for (var i = 0; i < self.model.tags1.length; i++) {
272
+ if (self.$refs["StatisticsItem" + i][0] && self.$refs["StatisticsItem" + i][0].offsetParent) {
273
+ sumWidth = sumWidth + self.$refs["StatisticsItem" + i][0].offsetParent.offsetWidth;
274
+ console.log('sumWidth',sumWidth);
275
+ }
276
+ if (i + 1 < self.model.tags1.length) {
277
+ try {
278
+ nextWidth = nextWidth + self.$refs["StatisticsItem" + (i + 1)][0].offsetParent.offsetWidth;
279
+ console.log('nextWidth',nextWidth);
280
+ } catch (e) { }
281
+ }
282
+ else {
283
+ tagsMoreWidth = 0;
284
+ }
285
+ if (self.$refs.tabsbox.offsetWidth < sumWidth + tagsMoreWidth) {
286
+
287
+ tagShowIndex = i;
288
+ break;
289
+ }
290
+ else if (self.$refs.tabsbox.offsetWidth < nextWidth + tagsMoreWidth) {
291
+ tagShowIndex = i + 1;
292
+ break;
293
+ }
294
+ }
295
+ if (tagShowIndex > 0) {
296
+ const ExceptShowIndexWidth = self.$refs["StatisticsItem" + (tagShowIndex)][0].offsetLeft;
297
+ const preShowIndexWidth = self.$refs["StatisticsItem" + (tagShowIndex - 1)][0].getBoundingClientRect().width;
298
+ self.lastWidth = self.showWidth - ExceptShowIndexWidth + preShowIndexWidth - 20;
299
+
300
+ self.showData = [
301
+ self.model.tags1.slice(0, tagShowIndex),
302
+ self.model.tags1.slice(tagShowIndex),
303
+ ];
304
+ }
305
+ else {
306
+ self.showData = self.model.tags1;
307
+ }
308
+ }
309
+ });
208
310
  }
209
311
  this.setDetailStyle();
210
312
  this.$nextTick(() => {
@@ -217,17 +319,17 @@ export default {
217
319
  let self = this;
218
320
  this.$nextTick(() => {
219
321
  if (this.$refs.main) {
220
- if(this.model.routerForQRCode){
322
+ if (this.model.routerForQRCode) {
221
323
  this.topWidth = this.$refs.main.clientWidth - 140;
222
324
  }
223
- else{
325
+ else {
224
326
  this.topWidth = this.$refs.main.clientWidth - 100;
225
327
  }
226
328
  }
227
329
 
228
- if(this.$refs.sensitiveInfo){
229
- this.statusTop=this.$refs.sensitiveInfo.offsetTop;
230
- this.statusRight=23;
330
+ if (this.$refs.sensitiveInfo) {
331
+ this.statusTop = this.$refs.sensitiveInfo.offsetTop;
332
+ this.statusLeft = 20;
231
333
  }
232
334
 
233
335
  let totalWidth = 0;
@@ -240,9 +342,9 @@ export default {
240
342
  self.model.actionRoutersSimple.forEach((v, i) => {
241
343
  if (!v.rightField || (self.model.fields1Dic[v.rightField] && self.model.fields1Dic[v.rightField].value == 1)) {
242
344
  if (self.$refs['routers' + i] && self.$refs['routers' + i].length > 0 && self.$refs['routers' + i][0] && self.$refs['routers' + i][0].$el) {
243
- if (sumWidth + self.$refs['routers' + i][0].$el.offsetWidth -8 > totalWidth && self.showIndex === 0) {
345
+ if (sumWidth + self.$refs['routers' + i][0].$el.offsetWidth - 8 > totalWidth && self.showIndex === 0) {
244
346
  self.showIndex = i;
245
- }
347
+ }
246
348
  else {
247
349
  sumWidth = sumWidth + self.$refs['routers' + i][0].$el.offsetWidth + (i > 0 ? 10 : 0);
248
350
  }
@@ -253,7 +355,7 @@ export default {
253
355
  });
254
356
  },
255
357
  refreshPage() {
256
- this.refreshKey = this.refreshKey + 1;
358
+ // this.refreshKey = this.refreshKey + 1;
257
359
  this.showIndex = 0;
258
360
  this.setDetailStyle();
259
361
  },
@@ -325,6 +427,31 @@ export default {
325
427
  window.localStorage.setItem("simpletagkey", this.model.tags1[i].appID);//存储
326
428
  }
327
429
  },
430
+ handleDropDown(col, index) {
431
+ let i = index;
432
+ // this.model.activeIndex1 = (this.showData[0].length + i).toString();
433
+ let dropDownData = this.showData[1];
434
+
435
+ this.dropDownSelected = true;
436
+ if (dropDownData && dropDownData[i]) {
437
+ this.listKey = this.listKey + 1;
438
+ this.model.searchConditionApiTags1 = dropDownData[i].searchConditionAction || "";
439
+ this.model.searchDataApiTags1 = dropDownData[i].searchDataAction || "";
440
+ this.model.paramDataTags1 = dropDownData[i].paramData || "";
441
+ this.model.appIDTags1 = dropDownData[i].appID || "";
442
+
443
+ //交换位置
444
+ let lastItemIndex = this.showData[0].length - 1;
445
+ let lastItem = this.showData[0][lastItemIndex];
446
+ this.showData[0][lastItemIndex]=col;
447
+ this.showData[1][index]=lastItem;
448
+ this.model.activeIndex1 = lastItemIndex.toString();
449
+ this.model.tags1[lastItemIndex]=col;
450
+ this.model.tags1[lastItemIndex +1 +index]=lastItem;
451
+
452
+ window.localStorage.setItem("detailtagkey", dropDownData[i].appID); //存储
453
+ }
454
+ },
328
455
  fieldClickHandler(field) {
329
456
  if (this.$refs['popover0']) {
330
457
  this.$refs['popover0'].doClose();
@@ -387,7 +514,7 @@ export default {
387
514
  submitData[v] = self.model.fields1Dic[v].value;
388
515
  });
389
516
  }
390
- if (router.id == "PropertyEdit") {
517
+ if (router.id == "Edit") {
391
518
  callBack = "loadBaseInfo"
392
519
  }
393
520
  else if (router.id == "Favorite") {
@@ -589,11 +716,9 @@ export default {
589
716
  fun(submitData, title, self.model);
590
717
  }
591
718
  }
592
-
593
719
  if (field.isSubmit && !self.validExcute()) {
594
720
  return;
595
721
  }
596
-
597
722
  if (field.alert) {
598
723
  self.$common.confirm(field.alertMsg, field.alertCaption, {
599
724
  confirmButtonText: field.alertOKButtonText,
@@ -697,8 +822,8 @@ export default {
697
822
  .drawerMore .el-drawer__header i.el-dialog__close.el-icon.el-icon-close {
698
823
  color: #fff;
699
824
  font-size: 20px;
700
- margin-right: -8px;
701
- margin-top: 3px;
825
+ margin-right: -8px;
826
+ margin-top: 3px;
702
827
  }
703
828
 
704
829
  .drawerButton {
@@ -722,19 +847,22 @@ export default {
722
847
  .drawerMore .el-icon-close:before {
723
848
  content: "\E6DB";
724
849
  }
850
+
725
851
  .crossButton {
726
852
  margin-bottom: 10px !important;
727
853
  background-color: #777 !important;
728
854
  border-color: #777 !important;
729
855
  width: 86px !important;
730
856
  height: 56px !important;
731
- display: flex;
732
- justify-content: center;
733
- align-items: center;
857
+ display: flex;
858
+ justify-content: center;
859
+ align-items: center;
734
860
  }
861
+
735
862
  .crossButton:not(:first-child) {
736
863
  margin-left: 5px !important;
737
864
  }
865
+
738
866
  .Simplecollection {
739
867
  font-size: 18px;
740
868
  margin-right: 10px;
@@ -767,6 +895,107 @@ export default {
767
895
  font-weight: Bold;
768
896
  color: var(--chinaRed);
769
897
  }
898
+
899
+ .OwnerShipNamesty {
900
+ font-size: 12px;
901
+ padding-top: 4px;
902
+ width: 26px;
903
+ height: 26px;
904
+ border-radius: 6px;
905
+ text-align: center;
906
+ margin-right: 10px;
907
+ color: #fff;
908
+ font-weight: Bold;
909
+ margin-top: -2px;
910
+ }
911
+
912
+ .statusNamesty {
913
+ position: absolute;
914
+ font-size: 12px;
915
+ width: 36px;
916
+ height: 19px;
917
+ border-radius: 4px 0px 4px 0px;
918
+ text-align: center;
919
+ color: #fff;
920
+ }
921
+
922
+ .bg-gray {
923
+ background-color: #777;
924
+ border: 1px solid #777;
925
+ }
926
+
927
+ .bg-red {
928
+ background-color: var(--chinaRed);
929
+ border: 1px solid var(--chinaRed);
930
+ }
931
+
932
+ .bg-blue {
933
+ background-color: var(--centalineBlue);
934
+ border: 1px solid var(--centalineBlue);
935
+ }
936
+
937
+ .bg-green {
938
+ background-color: #67C23A;
939
+ border: 1px solid #67C23A;
940
+ }
941
+
942
+ .border-green {
943
+ border: 1px solid #67C23A;
944
+ }
945
+
946
+ .border-red {
947
+ border: 1px solid var(--chinaRed);
948
+ }
949
+
950
+ .el-tabs__nav-prev {
951
+ display: none;
952
+ }
953
+
954
+ .el-tabs__nav-next {
955
+ display: none;
956
+ }
957
+
958
+ .more-icon {
959
+ position: absolute;
960
+ width: 16px;
961
+ height: 20px;
962
+ text-align: left;
963
+ bottom: 22px;
964
+ right: -1px;
965
+ }
966
+
967
+ .el-dropdown-menu--mini .el-dropdown-menu__item {
968
+ font-size: 14px;
969
+ font-weight: 700;
970
+ color: #303133;
971
+ }
972
+ .el-dropdown-menu__item:focus,
973
+ .el-dropdown-menu__item:not(.is-disabled):hover {
974
+ background-color: #fff;
975
+ color: var(--chinaRed);
976
+ border-bottom: 3px solid var(--chinaRed);
977
+ }
978
+ .tabsMore .is-active {
979
+ cursor: pointer;
980
+ background-color: #fff;
981
+ color: var(--chinaRed);
982
+ border-bottom: 3px solid var(--chinaRed);
983
+ }
984
+ .el-tabs__item {
985
+ padding: 0 15px;
986
+ }
987
+ .el-tabs--bottom .el-tabs__item.is-bottom:last-child,
988
+ .el-tabs--bottom .el-tabs__item.is-top:last-child,
989
+ .el-tabs--top .el-tabs__item.is-bottom:last-child,
990
+ .el-tabs--top .el-tabs__item.is-top:last-child {
991
+ padding-right: 15px;
992
+ }
993
+ .svgIcon {
994
+ width: 16px;
995
+ text-align: center;
996
+ cursor: pointer;
997
+ }
998
+
770
999
  </style>
771
1000
 
772
1001