centaline-data-driven 1.3.13 → 1.3.16

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.
@@ -1,609 +1,394 @@
1
1
  <template>
2
- <div class="main">
2
+ <div ref="main" class="main" v-if="model !== null">
3
3
  <div class="details-content">
4
- <div class="details-head base-box mb10">
5
- <div class="head-type">售</div>
4
+ <div ref="header" class="details-head base-box mb10">
5
+ <div class="head-type">{{ model.fields1Dic.Trade.value }}</div>
6
6
  <div class="head-info">
7
7
  <div class="title">
8
- <span>有效</span>
8
+ <span>{{ model.fields1Dic.StatusName.value }}</span>
9
9
  <span class="head-line"></span>
10
- <span>珠江丽景花园 红帆阁1122</span>
11
- <img
12
- src="../../../assets/collection.png"
13
- alt=""
14
- class="collection"
15
- />
16
- </div>
17
-
18
- <div class="title-other">
19
- <span>产证名:{{ "珠江丽景A-BB珠江08" }}</span>
20
- <span>房源编号:{{ "F20210909103029394160" }}</span>
21
- <span class="mr10">楼盘地址:{{ "宝安区新安街道新安二路" }}</span>
22
- <img src="../../../assets/location.png" alt="" class="location" />
10
+ <span>{{ model.fields1Dic.EstateName.value }}</span>
11
+ <span> {{ model.fields1Dic.BuildingName.value }}</span>
12
+ <span>{{ model.fields1Dic.RoomNo.value }}</span>
13
+ <img :src="model.fields1Dic.FavoriteUrl.value" alt="" class="collection"/>
23
14
  </div>
24
15
  <div class="title-other">
25
- <span>产证名:{{ "珠江丽景A-BB珠江08" }}</span>
26
- <span>房源编号:{{ "F20210909103029394160" }}</span>
27
- <span class="mr10">楼盘地址:{{ "宝安区新安街道新安二路" }}</span>
28
- <img src="../../../assets/location.png" alt="" class="location" />
16
+ <span>{{ model.fields1Dic.PropertyNo.label }}{{ model.fields1Dic.PropertyNo.value }}</span>
17
+ <span>{{ model.fields1Dic.GovNo.label }}{{ model.fields1Dic.GovNo.value }}</span>
18
+ <span class="mr10">{{model.fields1Dic["DistrictName"].value + model.fields1Dic.AreaName.value}}</span>
19
+ <img :src="model.fields1Dic.LocationUrl.value" alt="" class="location"/>
29
20
  </div>
30
21
  <div class="title-tags">
31
- <div class="t-tag">联卖</div>
32
- <div class="t-tag">无抵押</div>
33
- <div class="t-tag">满五</div>
34
- <div class="t-tag">满二</div>
22
+ <div class="t-tag" v-for="(tag, index) in model.actionRouterLabel" :key="index"
23
+ :style="{color: tag.textColor,backgroundColor: tag.bgColor,borderColor: tag.borderColor,}">
24
+ {{ tag.label }}
25
+ </div>
35
26
  </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>
36
41
  </div>
37
-
38
42
  <div class="head-but">
39
- <button
40
- type="button"
41
- class="
42
- el-button
43
- f-wb
44
- el-button--default el-button--mini
45
- max-default
46
- "
47
- >
48
- 去出租 &gt;&gt;
49
- </button>
50
- <button
51
- type="button"
52
- class="el-button el-button--info el-button--mini max-report rel"
53
- >
54
- <img src="../../../assets/dian.png" alt="" class="report" />
55
- <ul class="report-cont">
56
- <li>举报房源</li>
57
- <li>操作日志</li>
58
- <li>裁判记录</li>
59
- </ul>
60
- </button>
43
+ <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
+ <component class="max-report w93"
54
+ v-if="model.actionRouters !== null && model.actionRouters[0] !== null"
55
+ :is="model.actionRouters[0].is" :vmodel="model.actionRouters[0]" :api="model.optionApi"
56
+ @click="fieldClickHandler(model.actionRouters[0], $event)"
57
+ ></component>
58
+ <component class="max-report w93"
59
+ v-if="model.actionRouters !== null && model.actionRouters[1] !== null"
60
+ :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">
65
+ <button type="button" class="el-button el-button--info el-button--mini max-report rel w93"
66
+ v-if="model.actionRoutersMoreList !== null && model.actionRoutersMoreList.length > 0">
67
+ <img src="../../../assets/dian.png" alt="" class="report" />
68
+ <ul class="report-cont">
69
+ <li v-for="(col, index) in model.actionRoutersMoreList" :key="index" v-if="col.show !== false">
70
+ <component class="max-report w93" :is="col.is" :vmodel="col" :api="model.optionApi"
71
+ @click="fieldClickHandler(col, $event)"></component>
72
+ </li>
73
+ </ul>
74
+ </button>
75
+ <component v-else-if="model.actionRouters !== null && model.actionRouters.length === 3" class="max-report w93"
76
+ :is="model.actionRouters[2].is" :vmodel="model.actionRouters[2]" :api="model.optionApi"
77
+ @click="fieldClickHandler(model.actionRouters[2], $event)">
78
+ </component>
79
+ </div>
61
80
  </div>
62
81
  </div>
63
-
64
- <div class="details-mid y-auto" style="height: 570px">
65
- <div class="mid-l">
82
+ <div ref="detail" class="details-mid y-auto" @scroll="scrollHandle($event)" :style="{height: model.detailHeight ? model.detailHeight + 'px' : '780px',}">
83
+ <div ref="midl" class="mid-l" :style="{width: model.midlWidth ? model.midlWidth + 'px' : '1200px',}">
66
84
  <!-- 图片内容部分 -->
67
85
  <div class="hous-info base-box">
68
86
  <div class="info-conten">
69
87
  <div class="hous-t">
70
88
  <ct-albums
71
89
  :mediaAlbums="model.mediaAlbums"
72
- :title="model.title"
73
90
  :noMediaUrl="model.noMediaUrl"
74
91
  @addMedia="addMedia"
92
+ :title="model.title"
75
93
  >
76
94
  </ct-albums>
77
95
  </div>
78
96
  <div class="hous-b">
79
- <img src="../../../assets/ewm.png" alt="" class="code-ewm" />
97
+ <img
98
+ :src="model.fields1Dic.ewmUrl.value"
99
+ alt=""
100
+ class="code-ewm"
101
+ />
80
102
  <div class="info-row mb20 mt5">
81
103
  <div class="row-i">
82
- <span>售总价:</span
83
- ><span class="base-clolr expand-f">1400.00</span
84
- ><span class="base-clolr">万</span>
85
- <img src="" alt="" />
104
+ <span>{{ model.fields1Dic.Price.label }}</span
105
+ ><span
106
+ class="base-clolr expand-f"
107
+ v-html="model.fields1Dic.Price.value"
108
+ ></span
109
+ ><span class="base-clolr">{{
110
+ model.fields1Dic.Price.unitName
111
+ }}</span>
112
+ <img src="../../../assets/jsq.png" class="img-jsq" alt="" />
86
113
  </div>
87
114
  <div class="row-i">
88
- <span>售单价:</span><span class="base-clolr">3621</span
89
- ><span class="base-clolr">元/平</span>
115
+ <span>{{ model.fields1Dic.PriceUnit.label }}</span
116
+ ><span
117
+ class="base-clolr expand-f"
118
+ v-html="model.fields1Dic.PriceUnit.value"
119
+ ></span
120
+ ><span class="base-clolr">{{
121
+ model.fields1Dic.PriceUnit.unitName
122
+ }}</span>
90
123
  </div>
91
- <div class="row-i">
92
- <span>售底价:</span>
93
- <div>2732.99元/平</div>
124
+ <div v-if="model.fields1Dic.PriceLine" class="row-i">
125
+ <span>{{ model.fields1Dic.PriceLine.label }}</span>
126
+ <div>
127
+ {{ model.fields1Dic.PriceLine.value
128
+ }}{{ model.fields1Dic.PriceLine.unitName }}
129
+ </div>
94
130
  </div>
95
131
  </div>
96
132
  <div class="info-row">
97
- <div class="row-i">
98
- <span>评估价:</span><span>318.4 </span><span>万</span>
133
+ <div v-if="model.fields1Dic.PriceLine" class="row-i">
134
+ <span>{{ model.fields1Dic.MarketRateOfReturn.label }}</span
135
+ ><span
136
+ >{{ model.fields1Dic.MarketRateOfReturn.value }} </span
137
+ ><span>{{
138
+ model.fields1Dic.MarketRateOfReturn.unitName
139
+ }}</span>
99
140
  </div>
100
-
101
- <div class="row-i">
102
- <span>预估租总价:</span>
103
- <div>4621 <span>万</span></div>
141
+ <div v-if="model.fields1Dic.EstimatePriceRent" class="row-i">
142
+ <span>{{ model.fields1Dic.EstimatePriceRent.label }}</span>
143
+ <div>
144
+ {{ model.fields1Dic.EstimatePriceRent.value
145
+ }}<span>{{
146
+ model.fields1Dic.EstimatePriceRent.unitName
147
+ }}</span>
148
+ </div>
104
149
  </div>
105
- <div class="row-i">
106
- <span>预估租单价:</span><span>11.00</span
107
- ><span>元/平</span>
150
+ <div
151
+ v-if="model.fields1Dic.EstimatePriceRentUnit"
152
+ class="row-i"
153
+ >
154
+ <span>{{
155
+ model.fields1Dic.EstimatePriceRentUnit.label
156
+ }}</span
157
+ ><span>{{
158
+ model.fields1Dic.EstimatePriceRentUnit.value
159
+ }}</span
160
+ ><span>{{
161
+ model.fields1Dic.EstimatePriceRentUnit.unitName
162
+ }}</span>
108
163
  </div>
109
164
  </div>
110
165
 
111
166
  <div class="info-mid">
112
167
  <div class="mid-i">
113
- <div>建筑面积</div>
114
- <div>2000.00平</div>
168
+ <div>{{ model.fields1Dic.Area.label }}</div>
169
+ <div>
170
+ {{ model.fields1Dic.Area.value
171
+ }}{{ model.fields1Dic.Area.unitName }}
172
+ </div>
115
173
  </div>
116
174
  <div class="mid-i">
117
- <div>实用面积</div>
118
- <div>2000.00平</div>
175
+ <div>{{ model.fields1Dic.AreaNet.label }}</div>
176
+ <div>
177
+ {{ model.fields1Dic.AreaNet.value
178
+ }}{{ model.fields1Dic.AreaNet.unitName }}
179
+ </div>
119
180
  </div>
120
181
  <div class="mid-i">
121
- <div>楼层</div>
122
- <div>中楼层(16/33)</div>
182
+ <div>{{ model.fields1Dic.FloorName.label }}</div>
183
+ <div>{{ model.fields1Dic.FloorName.value }}</div>
123
184
  </div>
124
185
  <div class="mid-i">
125
- <div>朝向</div>
126
- <div>南北</div>
186
+ <div>{{ model.fields1Dic.PropertyDirectionID.label }}</div>
187
+ <div>{{ model.fields1Dic.PropertyDirectionID.value }}</div>
127
188
  </div>
128
189
  </div>
129
190
  </div>
130
191
  </div>
131
- <div class="info-conten-b" v-show="allInfo">
132
- <div class="info-row mb20">
133
- <div class="row-i">
134
- <span>建筑用途:</span><span>写字楼</span>
135
- </div>
136
- <div class="row-i"><span>产权:</span><span>公司</span></div>
137
- <div class="row-i">
138
- <span>产权状况:</span><span>拍卖</span>
139
- </div>
140
- <div class="row-i"><span>现状:</span><span>空房</span></div>
141
- <div class="row-i">
142
- <span>付费:</span><span>各付各税</span>
143
- </div>
144
- <div class="row-i"><span>佣金:</span><span>600元</span></div>
145
- </div>
146
- </div>
147
- <div class="info-conten-b" v-show="allInfo">
148
- <div class="info-row mb20">
149
- <div class="row-i"><span>可以分割:</span><span>是</span></div>
150
- <div class="row-i">
151
- <span>看楼方式:</span><span>提前预约</span>
152
- </div>
153
- <div class="row-i"><span>装修:</span><span>豪装</span></div>
154
- <div class="row-i"><span>租赁期:</span><span>半年</span></div>
155
- <div class="row-i">
156
- <span>付款方式:</span><span>一次性全款</span>
157
- </div>
158
- <div class="row-i">
159
- <span>可否注册公司:</span><span>是</span>
160
- </div>
161
- </div>
162
- </div>
163
- <div class="info-conten-b" v-show="allInfo">
192
+ <div
193
+ v-for="(col, index) in collapse"
194
+ :key="index"
195
+ class="info-conten-b"
196
+ v-show="allInfo"
197
+ >
164
198
  <div class="info-row mb20">
165
- <div class="row-i">
166
- <span>按揭银行:</span><span>中国农行</span>
167
- </div>
168
- <div class="row-i">
169
- <span>欠款额度:</span><span>0.00万</span>
199
+ <div
200
+ v-for="(c, i) in col"
201
+ :key="i"
202
+ :class="c.singleLine === true ? 'row-i100' : 'row-i'"
203
+ >
204
+ <span>{{ c.label }}</span
205
+ ><span>{{ c.value }}</span>
170
206
  </div>
171
- <div class="row-i"><span>管理费:</span><span></span></div>
172
- <div class="row-i"><span>使用年限:</span><span>3年</span></div>
173
- <div class="row-i"><span>来源:</span><span></span></div>
174
- <div class="row-i"><span> </span><span> </span></div>
175
- </div>
176
- </div>
177
- <div class="info-conten-b" v-show="allInfo">
178
- <div class="info-row mb20">
179
- <div class="row-i"><span>房源描述:</span><span></span></div>
180
207
  </div>
181
208
  </div>
182
209
  <div class="open-mero" @click="allInfo = !allInfo">
183
210
  {{ allInfo ? "收起全部" : "查看全部" }}
184
- <!--<img src="../../../assets/mero.png" alt="" class="mero" > :class="allInfo?'more-colose':'more-open'" -->
211
+ <i :class="allInfo ? 'more-colose' : 'mero-open'"></i>
185
212
  </div>
186
213
  </div>
187
214
  <div class="contacts-info base-box">
188
- <!-- 联系人 -->
189
- <div class="contacts-head">
190
- <div class="title-l">联系人信息</div>
191
- <button
192
- type="button"
193
- v-if="!codeOwner"
194
- @click="lookOwner"
195
- class="
196
- el-button
197
- contacts-but
198
- el-button--info el-button--mini
199
- max-info
200
- "
201
- >
202
- 查看业主
203
- </button>
204
- <div class="contacts-tips" v-else>
205
- <button
206
- class="
207
- el-button el-button--primary el-button--mini
208
- max-btn-add
209
- "
210
- >
211
- 新增联系人
212
- </button>
213
- <button
214
- class="
215
- el-button el-button--primary el-button--mini
216
- max-btn-add
217
- "
218
- >
219
- 通话记录
220
- </button>
221
- <button
222
- class="
223
- el-button el-button--primary el-button--mini
224
- max-btn-add
225
- "
226
- >
227
- 查看历史号码
228
- </button>
229
- </div>
230
- </div>
231
- <!-- 表格 -->
232
- <div class="contacts-table" v-show="codeOwner">
233
- <el-table
234
- :data="tableData"
235
- stripe
236
- fit
237
- style="width: 100%"
238
- :header-cell-style="{ background: '#f3f3f3', color: '#333333' }"
239
- >
240
- <el-table-column
241
- v-for="(item, index) in columnList"
242
- :key="index"
243
- :property="item.prop"
244
- :label="item.label"
245
- :min-width="item.width"
246
- >
247
- <template slot-scope="scope">
248
- <span v-if="scope.column.property == 'phone'"
249
- >{{ scope.row.phone }}
250
- </span>
251
- <span v-else-if="scope.column.property == 'tel'">
252
- {{ scope.row.tel }}
253
- </span>
254
- <span v-else>
255
- {{ scope.row[scope.column.property] }}
256
- </span>
257
- </template>
258
- </el-table-column>
259
- </el-table>
260
- </div>
215
+ <ct-contactList
216
+ v-if="model.contactApiRouter !== null"
217
+ :apiRouter="model.contactApiRouter"
218
+ :key="'contact' + refershKey"
219
+ ></ct-contactList>
261
220
  </div>
262
221
  <div class="tablist-info base-box">
263
222
  <div class="details-tabs-box">
264
- <el-tabs v-model="follow">
265
- <el-tab-pane label="跟进" name="first">
266
- <el-form class="follow-search-bar">
267
- <el-select
268
- v-model="value"
269
- placeholder="跟进类型"
270
- class="mr10"
271
- >
272
- <el-option
273
- v-for="item in options"
274
- :key="item.value"
275
- :label="item.label"
276
- :value="item.value"
277
- >
278
- </el-option>
279
- </el-select>
280
- <el-input
281
- class="w300 mr10"
282
- placeholder="请输入"
283
- maxlength="500"
284
- ></el-input>
285
- <el-button type="primary" @click="onSearch">保存</el-button>
286
- <button
287
- class="
288
- el-button el-button--primary el-button--mini
289
- max-btn-add
290
- "
291
- >
292
- 新增跟进
293
- </button>
294
- </el-form>
295
-
296
- <el-table
297
- :data="followData"
298
- stripe
299
- style="
300
- width: 100%;
301
- margin-top: 20px;
302
- height: 200px;
303
- overflow: auto;
304
- "
305
- :header-cell-style="{
306
- background: '#f3f3f3',
307
- color: '#333333',
308
- }"
309
- >
310
- <el-table-column prop="date" label="日期" width="180">
311
- </el-table-column>
312
- <el-table-column prop="name" label="状态" width="180">
313
- </el-table-column>
314
- <el-table-column prop="address" label="跟进人">
315
- </el-table-column>
316
- <el-table-column prop="address" label="跟进人部门">
317
- </el-table-column>
318
- <el-table-column prop="address" label="跟进时间">
319
- </el-table-column>
320
- </el-table>
223
+ <el-tabs :value="model.activeIndex1" @tab-click="handleSelect">
224
+ <el-tab-pane v-for="(col, index) in model.tags1" :key="col.appID" :index="index.toString()" :name="index.toString()">
225
+ <div slot="label" v-html="col.appName"></div>
321
226
  </el-tab-pane>
322
- <el-tab-pane label="委托" name="second">委托</el-tab-pane>
323
- <el-tab-pane label="钥匙" name="third">钥匙</el-tab-pane>
324
- <el-tab-pane label="交易变更" name="fourth"
325
- >交易变更</el-tab-pane
326
- >
327
- <el-tab-pane label="多媒体记录" name="">多媒体记录</el-tab-pane>
328
- <el-tab-pane label="业绩分配" name="">业绩分配</el-tab-pane>
329
- <el-tab-pane label="楼主历史" name="">楼主历史</el-tab-pane>
330
- <el-tab-pane label="租户信息" name="">租户信息</el-tab-pane>
331
- <el-tab-pane label="合并盘" name="">合并盘</el-tab-pane>
332
- <el-tab-pane label="佐证" name="">佐证</el-tab-pane>
333
- <el-tab-pane label="销控表" name="">销控表</el-tab-pane>
334
227
  </el-tabs>
228
+ <ct-searchlist v-if="model.searchConditionApiTags1" :key="'list' + listKey.toString() + refershKey" style="min-height: 420px;"
229
+ :apiParam="model.paramDataTags1" :flagFocus="false" :searchConditionApi="model.searchConditionApiTags1" :searchDataApi="model.searchDataApiTags1">
230
+ </ct-searchlist>
335
231
  </div>
336
232
  </div>
337
- <div class="contribute-info base-box">
233
+ <div class="contribute-info base-box" v-if="model._commissionList !== null">
338
234
  <div class="title-l">贡献人信息</div>
339
235
  <div class="contribute-list">
340
- <div class="contribute-i">
341
- <img src="" alt="图片" />
342
- <div>
343
- <div class="user-title">柳晓青(离职)</div>
344
- <div class="user-but w56">收钥人</div>
345
- </div>
346
- </div>
347
- <div class="contribute-i">
348
- <img src="" alt="图片" />
349
- <div>
350
- <div class="user-title">柳晓青(离职)</div>
351
- <div class="user-but w56">收钥人</div>
352
- </div>
353
- </div>
354
- <div class="contribute-i">
355
- <img src="" alt="图片" />
356
- <div>
357
- <div class="user-title">柳晓青(离职)</div>
358
- <div class="user-but w56">收钥人</div>
359
- </div>
360
- </div>
361
- <div class="contribute-i">
362
- <img src="" alt="图片" />
363
- <div>
364
- <div class="user-title">柳晓青(离职)</div>
365
- <div class="user-but w56">收钥人</div>
366
- </div>
367
- </div>
368
- <div class="contribute-i">
369
- <img src="" alt="图片" />
370
- <div>
371
- <div class="user-title">柳晓青(离职)</div>
372
- <div class="user-but w56">收钥人</div>
373
- </div>
374
- </div>
375
- <div class="contribute-i">
376
- <img src="" alt="图片" />
236
+ <div
237
+ class="contribute-i"
238
+ v-for="(m, index) in model._commissionList"
239
+ :key="index"
240
+ >
241
+ <img :src="m.regEmpImgUrl" alt="图片" />
377
242
  <div>
378
- <div class="user-title">柳晓青(离职)</div>
379
- <div class="user-but w56">收钥人</div>
243
+ <div style="display: flex">
244
+ <div class="user-title" v-html="m.empNameCN"></div>
245
+ <div
246
+ class="user-title"
247
+ style="margin-left: 10px"
248
+ v-html="m.commissionPercentDesc"
249
+ ></div>
250
+ </div>
251
+ <div class="user-but w56" v-html="m.commissionRoleName"></div>
380
252
  </div>
381
253
  </div>
382
254
  </div>
383
255
  </div>
384
256
  </div>
385
257
  <!-- 右侧委托信息 -->
386
- <div class="mid-r">
258
+ <div ref="midr" class="mid-r" style="width: 420px">
387
259
  <div class="take-info base-box">
388
- <div>该房源共<span class="red-text">2</span>位客户看房</div>
389
260
  <div>
390
- 最近7天带看<span class="red-text">22</span>次,总带看<span
391
- class="red-text"
392
- >33</span
261
+ 该房源共<span class="red-text">{{
262
+ model.fields1Dic.LookCustomerCount.value
263
+ }}</span
264
+ >位客户看房
265
+ </div>
266
+ <div>
267
+ 最近7天带看<span class="red-text">{{
268
+ model.fields1Dic.CustomerLookCount7.value
269
+ }}</span
270
+ >次,总带看<span class="red-text">{{
271
+ model.fields1Dic.CustomerLookCountAll.value
272
+ }}</span
393
273
  >次。
394
274
  </div>
395
275
  </div>
276
+ <div
277
+ v-if="model.operationList !== null"
278
+ :key="model.operationKey"
279
+ class="operation-table base-box"
280
+ >
281
+ <div
282
+ v-for="(col, index) in model.operationList"
283
+ :key="index"
284
+ class="table-box"
285
+ >
286
+ <div class="t-item">
287
+ <span class="i" v-html="col.operationName"></span>
288
+ </div>
289
+ <div class="t-item">
290
+ <span
291
+ class="i"
292
+ :class="'operation' + col.flagKey"
293
+ :style="{ color: col.descColor }"
294
+ >{{ col.desc }}</span
295
+ >
296
+ </div>
297
+ <div class="t-item" style="min-height: 50px">
298
+ <component
299
+ v-for="(router, routerIndex) in col.routers"
300
+ :key="routerIndex"
301
+ :is="router.is"
302
+ :vmodel="router"
303
+ :api="model.optionApi"
304
+ @click="fieldClickHandler(router, $event)"
305
+ class="el-button t-but el-button--info max-info"
306
+ ></component>
307
+ </div>
308
+ </div>
309
+ </div>
396
310
  <div class="staff-info base-box">
397
- <el-tabs v-model="opening" @tab-click="handleClick">
398
- <el-tab-pane label="开盘人" name="first">
399
- <div class="el-tabs__content">
311
+ <el-tabs :value="model.activeIndex2" @tab-click="handleClick">
312
+ <el-tab-pane
313
+ v-for="(col, index) in model.tags2"
314
+ :key="col.appID"
315
+ :index="index.toString()"
316
+ :name="index.toString()"
317
+ :label="col.appName"
318
+ >
319
+ <div v-if="col.appID === 'Maintain'" class="el-tabs__content">
400
320
  <div
321
+ v-if="col.list"
401
322
  role="tabpanel"
402
- id="pane-first"
403
323
  aria-labelledby="tab-first"
404
324
  class="el-tab-pane"
405
325
  >
406
326
  <div class="tab-conten">
407
- <img src="/static/img/user-head.d2916812.png" />
408
- <div>
409
- <div class="user-name">
410
- <div class="text">柳晓青</div>
411
- <span class="user-but">系统管理组</span>
327
+ <img
328
+ :src="col.list[0].maintainEmpUrl"
329
+ alt=""
330
+ class="location"
331
+ />
332
+ <div class="user-name">
333
+ <div class="text">
334
+ {{ col.list[0].maintainEmpName }}
412
335
  </div>
413
- <div class="text">13736376666</div>
414
- <div v-show="allIn">
415
- <div class="user-other">其它信息</div>
336
+ <span class="user-but">{{
337
+ col.list[0].maintainDeptName
338
+ }}</span>
339
+ </div>
340
+ <div class="text">{{ col.list[0].mobileNo }}</div>
341
+ </div>
342
+ <div
343
+ v-show="allIn"
344
+ v-for="(info, i) in col.list.slice(1, col.list.legth)"
345
+ :key="i"
346
+ class="tab-conten"
347
+ >
348
+ <img :src="info.maintainEmpUrl" />
349
+ <div class="user-name">
350
+ <div class="text">{{ info.maintainEmpName }}</div>
351
+ <span class="user-but">{{
352
+ info.maintainDeptName
353
+ }}</span>
354
+ </div>
355
+ <div class="text">{{ info.mobileNo }}</div>
356
+ </div>
357
+ <div class="open-mero" @click="allIn = !allIn">
358
+ {{ allIn ? "收起全部" : "查看全部" }}
359
+ <!-- <img src="../../../assets/mero.png" alt="" class="mero" > :class="allIn?'more-colose':'more-open'" -->
360
+ <i :class="allIn ? 'more-colose' : 'mero-open'"></i>
361
+ </div>
362
+ </div>
363
+ </div>
364
+ <div v-else class="el-tabs__content" :key="model.tags2Key">
365
+ <div
366
+ v-if="col.list"
367
+ role="tabpanel"
368
+ aria-labelledby="tab-first"
369
+ class="el-tab-pane"
370
+ >
371
+ <div
372
+ v-for="(info, i) in col.list"
373
+ :key="i"
374
+ class="tab-conten"
375
+ >
376
+ <img :src="info.dutyEmpUrl" />
377
+ <div
378
+ class="user-name"
379
+ style="display: block; padding-top: 5px"
380
+ >
381
+ <div style="display: flex">
382
+ <div class="text">{{ info.dutyEmpName }}</div>
383
+ <span class="user-but">{{ info.dutyDeptName }}</span>
416
384
  </div>
385
+ <div class="text">{{ info.mobileNo }}</div>
417
386
  </div>
418
387
  </div>
419
388
  </div>
420
389
  </div>
421
390
  </el-tab-pane>
422
- <el-tab-pane label="楼主" name="second">楼主</el-tab-pane>
423
391
  </el-tabs>
424
- <div class="open-mero" @click="allIn = !allIn">
425
- {{ allIn ? "收起全部" : "查看全部" }}
426
- <!--<img src="../../../assets/mero.png" alt="" class="mero" > :class="allIn?'more-colose':'more-open'" -->
427
- </div>
428
- </div>
429
- <div class="operation-list p0">
430
- <button
431
- data-v-6fe32525=""
432
- type="button"
433
- class="el-button list-item base-box el-button--default"
434
- >
435
- 编辑房源
436
- </button>
437
- <button
438
- data-v-6fe32525=""
439
- type="button"
440
- class="el-button list-item base-box el-button--default"
441
- >
442
- 转潜盘
443
- </button>
444
- <button
445
- data-v-6fe32525=""
446
- type="button"
447
- class="el-button list-item base-box el-button--default"
448
- >
449
- 激活房源
450
- </button>
451
- </div>
452
- <div class="operation-table base-box">
453
- <div class="table-box">
454
- <div class="t-item">
455
- <span class="i">住建委卖委托</span>
456
- </div>
457
- <div class="t-item"><span class="i">无委托</span></div>
458
- <div class="t-item">
459
- <button
460
- type="button"
461
- class="el-button t-but el-button--info max-info"
462
- >
463
- <span>新增委托</span>
464
- </button>
465
- </div>
466
- </div>
467
- <div class="table-box">
468
- <div class="t-item">
469
- <span class="i">独家委托</span>
470
- </div>
471
- <div class="t-item"><span class="i">无委托</span></div>
472
- <div class="t-item">
473
- <button
474
- type="button"
475
- class="el-button t-but el-button--info max-info"
476
- >
477
- <span>新增委托</span>
478
- </button>
479
- </div>
480
- </div>
481
- <div class="table-box">
482
- <div class="t-item">
483
- <span class="i">普通委托</span>
484
- </div>
485
- <div class="t-item"><span class="i">无委托</span></div>
486
- <div class="t-item">
487
- <button
488
- type="button"
489
- class="el-button t-but el-button--info max-info"
490
- >
491
- <span>新增委托</span>
492
- </button>
493
- </div>
494
- </div>
495
- <div class="table-box">
496
- <div class="t-item">
497
- <span class="i">踩盘</span>
498
- </div>
499
- <div class="t-item"><span class="i">无委托</span></div>
500
- <div class="t-item">
501
- <button
502
- type="button"
503
- class="el-button t-but el-button--info max-info"
504
- >
505
- <span>踩盘</span>
506
- </button>
507
- </div>
508
- </div>
509
- <div class="table-box">
510
- <div class="t-item">
511
- <span class="i">普通实勘</span>
512
- </div>
513
- <div class="t-item"><span class="i">无委托</span></div>
514
- <div class="t-item">
515
- <button
516
- type="button"
517
- class="el-button t-but el-button--info max-info"
518
- >
519
- <span>新增实勘</span>
520
- </button>
521
- </div>
522
- </div>
523
- <div class="table-box">
524
- <div class="t-item">
525
- <span class="i">VR实勘</span>
526
- </div>
527
- <div class="t-item"><span class="i">无委托</span></div>
528
- <div class="t-item">
529
- <button
530
- type="button"
531
- class="el-button t-but el-button--info max-info"
532
- >
533
- <span>VR预约</span>
534
- </button>
535
- </div>
536
- </div>
537
- <div class="table-box">
538
- <div class="t-item">
539
- <span class="i">钥匙</span>
540
- </div>
541
- <div class="t-item"><span class="i">无委托</span></div>
542
- <div class="t-item">
543
- <button
544
- type="button"
545
- class="el-button t-but el-button--info max-info"
546
- >
547
- <span>新增钥匙</span>
548
- </button>
549
- </div>
550
- </div>
551
- <div class="table-box">
552
- <div class="t-item">
553
- <span class="i">发布房源</span>
554
- </div>
555
- <div class="t-item"><span class="i">无委托</span></div>
556
- <div class="t-item">
557
- <button
558
- type="button"
559
- class="el-button t-but el-button--info max-info"
560
- >
561
- <span>发布</span>
562
- </button>
563
- </div>
564
- </div>
565
- <div class="table-box">
566
- <div class="t-item">
567
- <span class="i">经理推荐</span>
568
- </div>
569
- <div class="t-item"><span class="i">无委托</span></div>
570
- <div class="t-item">
571
- <button
572
- type="button"
573
- class="el-button t-but el-button--info max-info"
574
- >
575
- <span>推荐</span>
576
- </button>
577
- </div>
578
- </div>
579
- <div class="table-box">
580
- <div class="t-item">
581
- <span class="i">总房源</span>
582
- </div>
583
- <div class="t-item"><span class="i">无委托</span></div>
584
- <div class="t-item">
585
- <button
586
- type="button"
587
- class="el-button t-but el-button--info max-info"
588
- >
589
- <span>推荐</span>
590
- </button>
591
- </div>
592
- </div>
593
- <div class="table-box">
594
- <div class="t-item">
595
- <span class="i">推广资料</span>
596
- </div>
597
- <div class="t-item"><span class="i">无委托</span></div>
598
- <div class="t-item">
599
- <button
600
- type="button"
601
- class="el-button t-but el-button--info max-info"
602
- >
603
- <span>新增</span>
604
- </button>
605
- </div>
606
- </div>
607
392
  </div>
608
393
  <div class="customer">
609
394
  <div class="customer-title">匹配客户</div>
@@ -715,126 +500,429 @@
715
500
  </div>
716
501
  </template>
717
502
 
718
-
719
503
  <script>
720
- // import max from '../../css/max';
504
+ import dynamicElement from "../../mixins/dynamicElement";
505
+ import dynamicSearchList from "../../dynamicSearchList/src/dynamicSearchList.vue";
506
+ import dynamicContactList from "./dynamicContactList.vue";
721
507
  import dynamicAlbums from "./dynamicAlbums.vue";
722
508
  export default {
723
509
  name: "ct-PropertyDetailOFI",
510
+ mixins: [dynamicElement],
724
511
  components: {
512
+ "ct-searchlist": dynamicSearchList,
513
+ "ct-contactList": dynamicContactList,
725
514
  "ct-albums": dynamicAlbums,
726
515
  },
727
516
  props: {
728
517
  vmodel: Object,
729
518
  api: String,
519
+ apiParam: Object,
520
+ parentModel: Object,
521
+ top: {
522
+ type: Number,
523
+ default: 0,
524
+ },
730
525
  },
731
526
  data() {
732
527
  return {
733
- model: null,
734
528
  allInfo: false,
735
529
  allIn: false,
736
- codeOwner: false,
737
- columnList: [
738
- {
739
- prop: "name",
740
- label: "联系人",
741
- width: "80",
742
- },
743
- {
744
- prop: "type",
745
- label: "类型",
746
- width: "60",
747
- },
748
- {
749
- prop: "phone",
750
- label: "手机",
751
- width: "125",
752
- },
753
- {
754
- prop: "tel",
755
- label: "座机",
756
- width: "170",
757
- },
758
- {
759
- prop: "wx",
760
- label: "微信",
761
- width: "150",
762
- },
763
- {
764
- prop: "entTime",
765
- label: "录入时间",
766
- width: "150",
767
- },
768
- {
769
- prop: "entUser",
770
- label: "录入人",
771
- width: "80",
772
- },
773
- {
774
- prop: "remarks",
775
- label: "操作",
776
- // width:'180'
777
- },
778
- ],
779
- tableData: [
780
- {
781
- name: "王建国先生",
782
- type: "业主",
783
- phone: "13866668888",
784
- tel: "0275-55556666-5896",
785
- wx: "555566665896",
786
- entTime: "2021-10-26 29:27:25",
787
- entUser: "王天",
788
- remarks: "删除",
789
- isIcon: true,
790
- },
791
- ],
792
- follow: "first",
793
- followData: [
794
- {
795
- date: "20/12/2020",
796
- name: "出售",
797
- address: "kenly",
798
- },
799
- ],
800
-
801
- options: [
802
- {
803
- value: "选项1",
804
- label: "本盘跟进",
805
- },
806
- {
807
- value: "选项2",
808
- label: "全部跟进",
809
- },
810
- { value: "选项3", label: "合开盘跟进" },
811
- ],
812
- opening: "first",
530
+ refershKey: 0,
531
+ listKey: 0,
532
+ flagDisabledPrev:false,
533
+ flagDisabledNext:false,
813
534
  };
814
535
  },
815
- created() {
816
- this.model = this.vmodel;
536
+ mounted() {
537
+ var self = this;
538
+ this.$nextTick(function () {
539
+ if(self.parentModel && self.parentModel.$refs && self.parentModel.$refs.table){
540
+ if(self.parentModel.$refs.table.model.selectIndex <= 0){
541
+ self.flagDisabledPrev=true;
542
+ }
543
+ if(self.parentModel.$refs.table.model.listData && self.parentModel.$refs.table.model.selectIndex ===self.parentModel.$refs.table.model.listData.length - 1){
544
+ self.flagDisabledNext=true;
545
+ }
546
+ }
547
+ else{
548
+ self.flagDisabledPrev=true;
549
+ self.flagDisabledNext=true;
550
+ }
551
+
552
+ if (self.vmodel) {
553
+ self.load(self.vmodel);
554
+ }
555
+ else if (typeof self.source !== "undefined") {
556
+ self.loaderObj.Detail(self.source, null, self.load);
557
+ }
558
+ else if (typeof self.api !== "undefined") {
559
+ self.loaderObj.Detail(self.api, self.apiParam, self.load);
560
+ }
561
+ });
562
+ },
563
+ activated() {
564
+ this.$nextTick(() => {
565
+ this.setDetailHeight();
566
+ });
817
567
  },
818
568
  methods: {
569
+ load(data) {
570
+ var self = this;
571
+ this.model = data;
572
+ this.model.$vue = self;
573
+ this.refershKey = this.refershKey + 1;
574
+ this.loadFields();
575
+ if (this.model.tags2 && this.model.tags2[0]) {
576
+ this.model.getTags2List(0);
577
+ }
578
+ if (typeof window.localStorage !== "undefined") {
579
+ var tagkey = window.localStorage.getItem("detailtagkey");
580
+ for (var i = 0; i < self.model.tags1.length; i++) {
581
+ if (tagkey == self.model.tags1[i].appID) {
582
+ self.model.activeIndex1 = i.toString();
583
+ if (self.model.tags1 && self.model.tags1[i]) {
584
+ self.listKey = self.listKey + 1;
585
+ self.model.searchConditionApiTags1 =
586
+ self.model.tags1[i].searchConditionApiUrl || "";
587
+ self.model.searchDataApiTags1 =
588
+ self.model.tags1[i].searchDataApiUrl || "";
589
+ self.model.paramDataTags1 = self.model.tags1[i].paramData || "";
590
+ }
591
+ }
592
+ }
593
+ }
594
+ this.loadOperation();
595
+ this.loadCommission();
596
+ this.setDetailHeight();
597
+ this.$nextTick(() => {
598
+ window.addEventListener("resize", (ev) => {
599
+ self.setDetailHeight();
600
+ });
601
+ });
602
+ //通知父组件加载完成
603
+ this.$emit("loaded", this.model);
604
+ },
605
+ loadFields() {
606
+ var self = this;
607
+ self.collapse = [];
608
+ var collapseItemArr = [];
609
+ var col = 0;
610
+ var colCount = 4;
611
+ self.model.fields2Dic.forEach((v, index) => {
612
+ if (v.type === 13) {
613
+ collapseItemArr = [];
614
+ col = 0;
615
+ } else if (v.singleLine) {
616
+ if (collapseItemArr.length > 0) {
617
+ self.collapse.push(collapseItemArr);
618
+ collapseItemArr = [];
619
+ }
620
+ collapseItemArr.push(v);
621
+ self.collapse.push(collapseItemArr);
622
+ collapseItemArr = [];
623
+ col = 0;
624
+ } else if (v.spanCols) {
625
+ collapseItemArr.push(v);
626
+ col = col + v.spanCols;
627
+ if (col === colCount || index === self.model.fields2Dic.length - 1) {
628
+ self.collapse.push(collapseItemArr);
629
+ collapseItemArr = [];
630
+ col = 0;
631
+ }
632
+ } else {
633
+ collapseItemArr.push(v);
634
+ col = col + 1;
635
+ if (col === colCount || index === self.model.fields2Dic.length - 1) {
636
+ self.collapse.push(collapseItemArr);
637
+ collapseItemArr = [];
638
+ col = 0;
639
+ }
640
+ }
641
+ });
642
+ },
643
+ loadOperation() {
644
+ this.model._operationList = null;
645
+ this.model._operationRouters = [];
646
+ this.model.getOperationList();
647
+ },
648
+ loadCommission() {
649
+ this.model.getCommissionList();
650
+ },
651
+ lookOwner() {
652
+ this.codeOwner = true;
653
+ },
654
+ handleClick(tab, event) {
655
+ let i = tab.index;
656
+ if (this.model.tags2 && this.model.tags2[i]) {
657
+ this.model.getTags2List(i);
658
+ }
659
+ },
660
+ setDetailHeight() {
661
+ this.$nextTick(() => {
662
+ if (this.$refs.detail && this.$refs.main) {
663
+ var h1 = document.body.clientHeight | 0;
664
+ var h2 = this.$refs.detail.offsetTop | 0;
665
+ let detailHeight = h1 - h2 - this.top;
666
+ this.model.detailHeight = detailHeight < 40 ? 350 : detailHeight;
667
+
668
+ var w1 = this.$refs.detail.clientWidth | 0;
669
+ var w2 = this.$refs.midr.clientWidth | 0;
670
+ this.model.midlWidth = w1 - w2 - 10;
671
+ }
672
+ });
673
+ },
674
+ handleSelect(key, keyPath) {
675
+ let i = key.index;
676
+ this.model.activeIndex1 = i;
677
+ if (this.model.tags1 && this.model.tags1[i]) {
678
+ this.listKey = this.listKey + 1;
679
+ this.model.searchConditionApiTags1 =
680
+ this.model.tags1[i].searchConditionApiUrl || "";
681
+ this.model.searchDataApiTags1 =
682
+ this.model.tags1[i].searchDataApiUrl || "";
683
+ this.model.paramDataTags1 = this.model.tags1[i].paramData || "";
684
+ window.localStorage.setItem("detailtagkey", this.model.tags1[i].appID); //存储
685
+ }
686
+ },
687
+ fieldClickHandler(field) {
688
+ var self = this;
689
+ var callBack = null;
690
+ let submitData = {};
691
+ var router = this.model.actionRouters.find((v) => {
692
+ return v.id === field.id;
693
+ });
694
+ if (router == undefined && this.model.actionRoutersMoreList) {
695
+ router = this.model.actionRoutersMoreList.find((v) => {
696
+ return v.id === field.id;
697
+ });
698
+ }
699
+ if (router == undefined && this.model.otherTradeActionRouter) {
700
+ if (field.id === this.model.otherTradeActionRouter.id) {
701
+ router = this.model.otherTradeActionRouter;
702
+ }
703
+ }
704
+ if (router == undefined && this.model.operationRouters) {
705
+ router = this.model.operationRouters.find((v) => {
706
+ return v.id === field.id;
707
+ });
708
+ callBack = "loadOperation";
709
+ }
710
+
711
+ if (router) {
712
+ if (field.isSubmitDataFromSelf) {
713
+ router.submitFormField.forEach((v) => {
714
+ submitData[v] = field.list[field.listIndex].code;
715
+ });
716
+ } else {
717
+ router.submitFormField.forEach((v) => {
718
+ submitData[v] = self.model.fields1Dic[v].value;
719
+ });
720
+ }
721
+ }
722
+
723
+ if (callBack && callBack == "loadOperation") {
724
+ this.routerClickHandler(router, submitData, self.loadOperation);
725
+ } else {
726
+ this.routerClickHandler(router, submitData);
727
+ }
728
+ },
819
729
  addMedia() {
820
730
  if (this.model.routerForNoMedia) {
821
731
  this.routerClickHandler(this.model.routerForNoMedia, {});
822
732
  }
823
733
  },
824
- //查看业主
825
- lookOwner() {
826
- this.codeOwner = true;
734
+ routerClickHandler(field, submitData, callBack) {
735
+ var self = this;
736
+ // this.model.scripts.$fd = field.id;
737
+ // this.model.scripts.$result = [];
738
+
739
+ var clickAcion = function (field) {
740
+ //若不是客户端方法,则直接访问接口
741
+ if (!field.isClientFuntion) {
742
+ // if (typeof field.onClick !== 'undefined') {
743
+ // verified = self.$common.excute.call(self.model.scripts, field.onClick);
744
+ // }
745
+
746
+ if (field.isOpenForm) {
747
+ var dialogOption = {
748
+ title: field.pageTitle,
749
+ pane: self.$common.getParentPane(self),
750
+ content: [
751
+ {
752
+ component: "ct-form",
753
+ attrs: {
754
+ api: field.action,
755
+ apiParam: field.getActionPara(submitData).para,
756
+ showTitle: false,
757
+ width: field.dialogWidth + "px",
758
+ height: field.dialogHeight + "px",
759
+ },
760
+ on: {
761
+ submit(ev) {
762
+ self.model.doAction(ev, field);
763
+ if (callBack) {
764
+ callBack();
765
+ }
766
+ self.$common.closeDialog(dialogOption.dialog);
767
+ },
768
+ },
769
+ },
770
+ ],
771
+ };
772
+ self.$common.openDialog(dialogOption);
773
+ }
774
+ else if (field.isOpenList) {
775
+ var dialogOption = {
776
+ title: field.pageTitle,
777
+ pane: self.$common.getParentPane(self),
778
+ content: [
779
+ {
780
+ component: "ct-searchlist",
781
+ attrs: {
782
+ searchConditionApi: field.actionForSearchLayout,
783
+ searchDataApi: field.actionForSearch,
784
+ apiParam: submitData,
785
+ width: field.dialogWidth + "px",
786
+ height: field.dialogHeight + "px",
787
+ },
788
+ on: {
789
+ submit(ev) {
790
+ self.model.updateFields(ev, () => {
791
+ self.$refs.Fields.forEach((fd) => {
792
+ fd.$forceUpdate();
793
+ });
794
+ });
795
+ self.$common.closeDialog(dialogOption.dialog);
796
+ },
797
+ },
798
+ },
799
+ ],
800
+ };
801
+ self.$common.openDialog(dialogOption);
802
+ }
803
+ else if (field.isFormPageInTab) {
804
+ // 外部框架tab页打开
805
+ submitData = field.getActionPara(submitData).para;
806
+ self.$common
807
+ .getDataDrivenOpts()
808
+ .handler.openTab(
809
+ field.action,
810
+ submitData,
811
+ field.pageTitle,
812
+ self.model,
813
+ field.dialogWidth
814
+ );
815
+ }
816
+ else if (field.isSearchPageInTab) {
817
+ // 外部框架tab页打开
818
+ submitData = field.getActionPara(submitData).para;
819
+ self.$common
820
+ .getDataDrivenOpts()
821
+ .handler.openTabSearch(field, submitData);
822
+ }
823
+ else if (field.isBrowserNewTab) {
824
+ // 浏览器打开
825
+ submitData = field.getActionPara(submitData).para;
826
+ let query = self.$common.objectToQueryStr(submitData);
827
+ window.open(field.action + query, "_blank");
828
+ }
829
+ else if (field.isOpenUrlInBrowse) {
830
+ // 浏览器打开
831
+ window.open(submitData[field.submitFormField], "_blank");
832
+ }
833
+ else if (field.isSeeVoice) {
834
+ //看视频
835
+ self.$common.browseVideo(field, submitData);
836
+ }
837
+ else {
838
+ field.doAction(submitData, (data) => {
839
+ self.model.doAction(data, field);
840
+ if (callBack) {
841
+ callBack();
842
+ }
843
+ });
844
+ }
845
+ }
846
+ //执行客户端脚本
847
+ else {
848
+ submitData = field.getActionPara(submitData).para;
849
+ let title = field.pageTitle == undefined ? field.label : field.pageTitle;
850
+ submitData.actionType = field.actionType;
851
+ var fun = self.$common.getDataDrivenOpts().handler[field.action];
852
+ fun(submitData, title, null);
853
+ }
854
+ };
855
+
856
+ if (field.isSubmit && !self.validExcute()) {
857
+ return;
858
+ }
859
+
860
+ if (field.alert) {
861
+ self.$common
862
+ .confirm(field.alertMsg, field.alertCaption, {
863
+ confirmButtonText: field.alertOKButtonText,
864
+ cancelButtonText: field.alertCancelButtonText,
865
+ //type: 'warning'
866
+ center: field.alertCenter,
867
+ })
868
+ .then(() => {
869
+ clickAcion(field, submitData);
870
+ })
871
+ .catch(() => {});
872
+ }
873
+ else {
874
+ clickAcion(field, submitData);
875
+ }
876
+ },
877
+ clickNextHandler() {
878
+ let key = "chanceID";
879
+ if (this.parentModel && this.parentModel.$refs.table) {
880
+ let oldValue = this.parentModel.$refs.table.model.listData[this.parentModel.$refs.table.model.selectIndex][key];
881
+ this.parentModel.$refs.table.rowKeyDownHandle(null, 1);
882
+ let newValue = this.parentModel.$refs.table.model.listData[this.parentModel.$refs.table.model.selectIndex][key];
883
+ if (oldValue !== newValue) {
884
+ let parm = this.$common.cloneObject(this.apiParam);
885
+ parm[key] = newValue;
886
+ // this.loaderObj.Detail(this.api, parm, this.load);
887
+ this.$common.getDataDrivenOpts().handler.refreshPropertyDetail(parm,this.parentModel,"PropertyDetailOFI");
888
+ }
889
+ }
827
890
  },
828
- onSearch() {
829
- console.log("submit!");
891
+ clickPrevHandler() {
892
+ let key = "chanceID";
893
+ if (this.parentModel && this.parentModel.$refs.table) {
894
+ let oldValue = this.parentModel.$refs.table.model.listData[this.parentModel.$refs.table.model.selectIndex][key];
895
+ this.parentModel.$refs.table.rowKeyDownHandle(null, -1);
896
+ let newValue = this.parentModel.$refs.table.model.listData[this.parentModel.$refs.table.model.selectIndex][key];
897
+ if (oldValue !== newValue) {
898
+ let parm = this.$common.cloneObject(this.apiParam);
899
+ parm[key] = newValue;
900
+ // this.loaderObj.Detail(this.api, parm, this.load);
901
+ this.$common.getDataDrivenOpts().handler.refreshPropertyDetail(parm,this.parentModel,"PropertyDetailOFI");
902
+ }
903
+ }
830
904
  },
831
- handleClick(tab, event) {
832
- console.log(tab, event);
905
+ scrollHandle(ev) {
906
+ this.$emit('scrollHandle',this.$refs.detail.scrollTop,this.$refs.detail.scrollLeft)
907
+ ev.cancelBubble = true;
908
+ ev.stopPropagation();
833
909
  },
834
910
  },
835
911
  };
836
912
  </script>
837
913
  <style lang="scss" scoped>
914
+ .operation0,
915
+ .operation20,
916
+ .operation-1000 {
917
+ color: #000000;
918
+ }
919
+ .operation1,
920
+ .operation10 {
921
+ color: #388cd3;
922
+ }
923
+ .operation2 {
924
+ color: #388cd3;
925
+ }
838
926
  .main {
839
927
  background: #eceff2;
840
928
  }
@@ -845,9 +933,18 @@ export default {
845
933
  overflow-y: auto;
846
934
  overflow-x: auto;
847
935
  }
936
+ .w64 {
937
+ width: 64px !important;
938
+ }
939
+ .w93 {
940
+ width: 93px !important;
941
+ }
848
942
  .w300 {
849
943
  width: 300px;
850
944
  }
945
+ .mt5 {
946
+ margin-top: 5px;
947
+ }
851
948
  .mt10 {
852
949
  margin-top: 10px;
853
950
  }
@@ -1006,6 +1103,12 @@ export default {
1006
1103
  float: right;
1007
1104
  }
1008
1105
  }
1106
+ .img-jsq {
1107
+ width: 14px;
1108
+ height: 14px;
1109
+ display: inline-block;
1110
+ margin-left: 10px;
1111
+ }
1009
1112
  .info-conten {
1010
1113
  display: flex;
1011
1114
  .info-row {
@@ -1040,10 +1143,11 @@ export default {
1040
1143
  white-space: nowrap;
1041
1144
  .img-i {
1042
1145
  position: relative;
1043
- width: 80px;
1044
- height: 44px;
1146
+ width: 82px;
1147
+ height: 45px;
1045
1148
  margin-right: 10px;
1046
1149
  display: inline-block;
1150
+ border: 2px #fff solid;
1047
1151
  img {
1048
1152
  width: 100%;
1049
1153
  height: 100%;
@@ -1115,17 +1219,27 @@ export default {
1115
1219
  .row-i {
1116
1220
  width: 25%;
1117
1221
  }
1222
+ .row-i100 {
1223
+ width: 100%;
1224
+ }
1118
1225
  }
1119
1226
  .open-mero {
1120
1227
  text-align: center;
1121
1228
  padding: 3px 0;
1122
1229
  }
1123
- .mero {
1124
- width: 12px;
1125
- height: 6px;
1126
- vertical-align: 2px;
1127
- overflow: hidden;
1128
- margin-left: 5px;
1230
+ .more-colose {
1231
+ background: url("../../../assets/mero-colose.png") no-repeat;
1232
+ background-size: 100% 100%;
1233
+ width: 18px;
1234
+ height: 9px;
1235
+ display: inline-block;
1236
+ }
1237
+ .mero-open {
1238
+ background: url("../../../assets/more-open.png") no-repeat;
1239
+ background-size: 100% 100%;
1240
+ width: 18px;
1241
+ height: 9px;
1242
+ display: inline-block;
1129
1243
  }
1130
1244
  .hous-mero {
1131
1245
  display: flex;
@@ -1173,7 +1287,15 @@ export default {
1173
1287
  }
1174
1288
  }
1175
1289
  }
1290
+
1176
1291
  .tablist-info {
1292
+ .details-tabs-box {
1293
+ .el-menu--horizontal > .el-menu-item {
1294
+ height: 30px;
1295
+ line-height: 30px;
1296
+ border-radius: none;
1297
+ }
1298
+ }
1177
1299
  }
1178
1300
 
1179
1301
  .contribute-info {
@@ -1277,12 +1399,19 @@ export default {
1277
1399
  text-align: center;
1278
1400
  padding: 3px 0;
1279
1401
  }
1280
- .mero {
1281
- width: 12px;
1282
- height: 6px;
1283
- vertical-align: 2px;
1284
- overflow: hidden;
1285
- margin-left: 5px;
1402
+ .more-colose {
1403
+ background: url("../../../assets/mero-colose.png") no-repeat;
1404
+ background-size: 100% 100%;
1405
+ width: 18px;
1406
+ height: 9px;
1407
+ display: inline-block;
1408
+ }
1409
+ .mero-open {
1410
+ background: url("../../../assets/more-open.png") no-repeat;
1411
+ background-size: 100% 100%;
1412
+ width: 18px;
1413
+ height: 9px;
1414
+ display: inline-block;
1286
1415
  }
1287
1416
  .hous-mero {
1288
1417
  display: flex;
@@ -1322,7 +1451,7 @@ export default {
1322
1451
  // align-items: center;
1323
1452
  border-bottom: 1px solid #e0e0e0;
1324
1453
  .t-item {
1325
- padding: 0 16px;
1454
+ padding: 5px 16px;
1326
1455
  font-size: 14px;
1327
1456
  flex: 1;
1328
1457
  position: relative;
@@ -1444,6 +1573,7 @@ export default {
1444
1573
  border: 1px solid #ee6b6b;
1445
1574
  color: #ee6b6b;
1446
1575
  height: 26px;
1576
+
1447
1577
  border-radius: 6px;
1448
1578
  font-size: 12px;
1449
1579
  }