Commit 1b069aa32d5095f506dc017dfeb3bf5ab97ddf66
1 parent
6a9c5a3d
黄石h5新页面
Showing
16 changed files
with
354 additions
and
1 deletions
src/assets/images/perService/car.png
0 → 100644
17 KB
src/assets/images/perService/carActive.png
0 → 100644
18.4 KB
src/assets/images/perService/distance.png
0 → 100644
1.73 KB
src/assets/images/perService/food.png
0 → 100644
16.9 KB
src/assets/images/perService/foodActive.png
0 → 100644
18.5 KB
src/assets/images/perService/insure.png
0 → 100644
17.2 KB
src/assets/images/perService/insureActive.png
0 → 100644
18.8 KB
src/assets/images/perService/navAddress.png
0 → 100644
519 Bytes
src/assets/images/perService/phone-icon.png
0 → 100644
473 Bytes
src/assets/images/perService/phone.png
0 → 100644
1.21 KB
src/assets/images/perService/search-icon.png
0 → 100644
2.17 KB
src/assets/images/perService/star.png
0 → 100644
936 Bytes
src/assets/images/perService/time.png
0 → 100644
1.01 KB
src/assets/images/perService/编组 15.png
0 → 100644
2.7 KB
src/router/index.js
@@ -13,7 +13,7 @@ export default new Router({ | @@ -13,7 +13,7 @@ export default new Router({ | ||
13 | { | 13 | { |
14 | path: '/', | 14 | path: '/', |
15 | redirect: { | 15 | redirect: { |
16 | - name: 'service' | 16 | + name: 'peripheralService' |
17 | } | 17 | } |
18 | }, | 18 | }, |
19 | // // { | 19 | // // { |
@@ -257,6 +257,17 @@ export default new Router({ | @@ -257,6 +257,17 @@ export default new Router({ | ||
257 | // } | 257 | // } |
258 | // }, | 258 | // }, |
259 | 259 | ||
260 | + | ||
261 | + | ||
262 | + { | ||
263 | + path: '/peripheralService', | ||
264 | + name: 'peripheralService', | ||
265 | + component: () => import("@/views/peripheralService/peripheralService.vue"), | ||
266 | + meta:{ | ||
267 | + title:'周边服务' | ||
268 | + } | ||
269 | + }, | ||
270 | + | ||
260 | { | 271 | { |
261 | path: '/service', | 272 | path: '/service', |
262 | name: 'service', | 273 | name: 'service', |
src/views/peripheralService/peripheralService.vue
0 → 100644
1 | +<template> | ||
2 | + <div> | ||
3 | + <div class="search-wrap"> | ||
4 | + <div class="search-main"> | ||
5 | + <input type="text" placeholder="请输入相关内容" class="search-text"> | ||
6 | + <span class="search-icon"></span> | ||
7 | + </div> | ||
8 | + | ||
9 | + <div class="distance-wrap"> | ||
10 | + <!--<popup-picker :data="list2" v-model="value2" @on-show="onShow" @on-hide="onHide"--> | ||
11 | + <!--@on-change="onChange" placeholder="请选择"></popup-picker>--> | ||
12 | + | ||
13 | + <a href="javascript:void(0);" class="largin-btn primary" @click="handleClick">3KM</a> | ||
14 | + </div> | ||
15 | + | ||
16 | + | ||
17 | + <mt-actionsheet | ||
18 | + :actions="actions" | ||
19 | + v-model="sheetVisible" | ||
20 | + :modal="true" | ||
21 | + ></mt-actionsheet> | ||
22 | + | ||
23 | + </div> | ||
24 | + | ||
25 | + <ul class="tab-wrap"> | ||
26 | + | ||
27 | + <li v-for="(i, index) of 3" :class="{active:currentIndex==index}" :key="index" @click="tabClick(index)"></li> | ||
28 | + | ||
29 | + </ul> | ||
30 | + | ||
31 | + <ul class="container-wrap" > | ||
32 | + <li class="container-main" v-for="(i,index) in dataList" :key="i.id"> | ||
33 | + <div class="container-top"> | ||
34 | + <div class="container-top-left" :style="{backgroundImage:'url('+i.logoUrl+')'}"></div> | ||
35 | + <div class="container-top-right"> | ||
36 | + <p class="container-top-title">{{i.companyName}}</p> | ||
37 | + <p> | ||
38 | + <span class="container-top-button" v-for="i in serviceButtonList">{{i}}</span> | ||
39 | + </p> | ||
40 | + <p class="special-title ellipsis">{{i.mainBusines}}</p> | ||
41 | + </div> | ||
42 | + </div> | ||
43 | + | ||
44 | + <div class="container-bottom"> | ||
45 | + <p class="container-time">营业时间:{{i.workTime}}</p> | ||
46 | + <p class="container-address">位置:{{i.companyAddress}}</p> | ||
47 | + <p class="container-phone">联系电话:{{i.contactTel}} (李美丽)</p> | ||
48 | + <div class="address-phone"> | ||
49 | + <span></span> | ||
50 | + <span></span> | ||
51 | + </div> | ||
52 | + </div> | ||
53 | + </li> | ||
54 | + </ul> | ||
55 | + </div> | ||
56 | + | ||
57 | + | ||
58 | +</template> | ||
59 | + | ||
60 | +<script> | ||
61 | + | ||
62 | +import { queryInsuranceCompanyList } from "@/api/service/service.js"; | ||
63 | +export default { | ||
64 | + name: "peripheralService", | ||
65 | + data() { | ||
66 | + return { | ||
67 | + currentIndex: 0, | ||
68 | + sheetVisible: false, //控制action sheet显隐 | ||
69 | + actions: [ | ||
70 | + { | ||
71 | + name: "3KM", | ||
72 | + method: this.getCamera //调用methods中的事件 | ||
73 | + }, | ||
74 | + { | ||
75 | + name: "10KM", | ||
76 | + method: this.getLibrary //调用methods中的事件 | ||
77 | + } | ||
78 | + ], | ||
79 | + serviceButtonList: [ | ||
80 | + "洗车", "美容", "音响改装" | ||
81 | + ], | ||
82 | + dataList: [] | ||
83 | + }; | ||
84 | + }, | ||
85 | + mounted() { | ||
86 | + window.toLinkApp = this.toLinkApp; | ||
87 | + window.callPhone = this.callPhone; | ||
88 | + }, | ||
89 | + created() { | ||
90 | + this.queryInsuranceCompanyList(this.carNumber); | ||
91 | + }, | ||
92 | + methods: { | ||
93 | + queryInsuranceCompanyList() { // 获取停车记录数据 | ||
94 | + var salt = this.$utils.myCommonSalt(32); | ||
95 | + var jsondata = { | ||
96 | + app_id: this.$utils.myVarAppid, | ||
97 | + deviceInfo: this.$utils.myDeviceInfo, | ||
98 | + salt: salt, | ||
99 | + sign_type: "md5", | ||
100 | + orgId: this.$utils.myOrgId, | ||
101 | + companyName: "", | ||
102 | + companyNo: "", | ||
103 | + id: "", | ||
104 | + latId: "", | ||
105 | + lonId: "", | ||
106 | + raidus: "", | ||
107 | + servicesType: "" | ||
108 | + }; | ||
109 | + jsondata.sign = this.$utils.signObject(jsondata); | ||
110 | + // jsondata.sign = md5sign | ||
111 | + queryInsuranceCompanyList(jsondata).then(response => { | ||
112 | + this.dataList = response.data; | ||
113 | + console.log(this.dataList); | ||
114 | + }); | ||
115 | + }, | ||
116 | + tabClick(index) { | ||
117 | + this.currentIndex = index; | ||
118 | + }, | ||
119 | + handleClick() { | ||
120 | + this.sheetVisible = true; | ||
121 | + }, | ||
122 | + getCamera() { //3KM | ||
123 | + console.log("3KM"); | ||
124 | + }, | ||
125 | + getLibrary() { //10KM | ||
126 | + console.log("10KM"); | ||
127 | + } | ||
128 | + } | ||
129 | +}; | ||
130 | +</script> | ||
131 | + | ||
132 | +<style lang="scss"> | ||
133 | + #app { | ||
134 | + width: 100%; | ||
135 | + height: 100%; | ||
136 | + background: linear-gradient(180deg, rgba(123, 214, 239, 0.3) 0%, rgba(45, 128, 152, 0) 100%); | ||
137 | + } | ||
138 | + | ||
139 | + .search-wrap { | ||
140 | + display: flex; | ||
141 | + padding: 10px 10px 20px; | ||
142 | + } | ||
143 | + | ||
144 | + .search-main { | ||
145 | + flex: 1; | ||
146 | + position: relative; | ||
147 | + padding-right: 20px; | ||
148 | + } | ||
149 | + | ||
150 | + .search-text { | ||
151 | + width: 100%; | ||
152 | + height: 26px; | ||
153 | + line-height: 26px; | ||
154 | + border: 0; | ||
155 | + border-radius: 10px; | ||
156 | + background: #FFFFFF; | ||
157 | + box-shadow: 0px 20px 21px 0px rgba(198, 220, 226, 0.61); | ||
158 | + text-indent: 15px; | ||
159 | + outline: none; | ||
160 | + } | ||
161 | + | ||
162 | + .search-icon { | ||
163 | + width: 24px; | ||
164 | + height: 24px; | ||
165 | + position: absolute; | ||
166 | + right: 30px; | ||
167 | + top: 5px; | ||
168 | + background: url("../../assets/images/perService/search-icon.png") no-repeat; | ||
169 | + background-size: 18px 18px; | ||
170 | + | ||
171 | + } | ||
172 | + | ||
173 | + .distance-wrap { | ||
174 | + width: 92px; | ||
175 | + height: 26px; | ||
176 | + line-height: 26px; | ||
177 | + background: #32859A url("../../assets/images/perService/distance.png") no-repeat 10px center; | ||
178 | + background-size: 12px 16px; | ||
179 | + border-radius: 38px; | ||
180 | + text-align: center; | ||
181 | + } | ||
182 | + | ||
183 | + .tab-wrap { | ||
184 | + display: flex; | ||
185 | + height: 66px; | ||
186 | + > li { | ||
187 | + flex: 1; | ||
188 | + | ||
189 | + } | ||
190 | + :nth-child(1) { | ||
191 | + background: url("../../assets/images/perService/car.png") no-repeat center center; | ||
192 | + background-size: 100% 100%; | ||
193 | + &.active { | ||
194 | + background: url("../../assets/images/perService/carActive.png") no-repeat center center; | ||
195 | + background-size: 100% 100%; | ||
196 | + } | ||
197 | + } | ||
198 | + :nth-child(2) { | ||
199 | + /*margin: 0 5px;*/ | ||
200 | + background: url("../../assets/images/perService/insure.png") no-repeat center center; | ||
201 | + background-size: 100% 100%; | ||
202 | + &.active { | ||
203 | + background: url("../../assets/images/perService/insureActive.png") no-repeat center center; | ||
204 | + background-size: 100% 100%; | ||
205 | + } | ||
206 | + } | ||
207 | + :nth-child(3) { | ||
208 | + background: url("../../assets/images/perService/food.png") no-repeat center center; | ||
209 | + background-size: 100% 100%; | ||
210 | + &.active { | ||
211 | + background: url("../../assets/images/perService/foodActive.png") no-repeat center center; | ||
212 | + background-size: 100% 100%; | ||
213 | + } | ||
214 | + } | ||
215 | + } | ||
216 | + | ||
217 | + .container-wrap { | ||
218 | + padding: 20px 10px; | ||
219 | + } | ||
220 | + | ||
221 | + .container-main { | ||
222 | + width: 100%; | ||
223 | + /*height: 196px;*/ | ||
224 | + background: #FFFFFF; | ||
225 | + box-shadow: 0px 20px 21px 0px rgba(198, 220, 226, 0.61); | ||
226 | + border-radius: 30px; | ||
227 | + margin-bottom: 20px; | ||
228 | + padding: 10px; | ||
229 | + } | ||
230 | + | ||
231 | + .container-top { | ||
232 | + display: flex; | ||
233 | + margin-bottom: 10px; | ||
234 | + } | ||
235 | + | ||
236 | + .container-top-left { | ||
237 | + width: 84px; | ||
238 | + height: 84px; | ||
239 | + background-size: 100% 100%; | ||
240 | + | ||
241 | + border-radius: 25px; | ||
242 | + margin-right: 15px; | ||
243 | + } | ||
244 | + | ||
245 | + .container-top-right { | ||
246 | + flex: 1; | ||
247 | + overflow: hidden; | ||
248 | + .container-top-title { | ||
249 | + font-size: 16px; | ||
250 | + font-family: PingFangSC-Medium, PingFang SC; | ||
251 | + font-weight: 500; | ||
252 | + color: #000000; | ||
253 | + margin-bottom: 10px; | ||
254 | + } | ||
255 | + } | ||
256 | + | ||
257 | + .container-top-button { | ||
258 | + padding: 2px 10px; | ||
259 | + margin-right: 5px; | ||
260 | + text-align: center; | ||
261 | + height: 38px; | ||
262 | + background: rgba(43, 126, 151, .2); | ||
263 | + border-radius: 7px; | ||
264 | + color: #36889C; | ||
265 | + | ||
266 | + } | ||
267 | + | ||
268 | + .special-title { | ||
269 | + line-height: 16px; | ||
270 | + margin-top: 12px; | ||
271 | + padding-left: 20px; | ||
272 | + font-family: PingFangSC-Regular, PingFang SC; | ||
273 | + font-weight: 400; | ||
274 | + color: #000000; | ||
275 | + background: url("../../assets/images/perService/star.png") 0 center no-repeat; | ||
276 | + background-size: 16px 16px; | ||
277 | + } | ||
278 | + | ||
279 | + .ellipsis { | ||
280 | + overflow: hidden; | ||
281 | + white-space: nowrap; | ||
282 | + text-overflow: ellipsis; | ||
283 | + } | ||
284 | + | ||
285 | + .container-bottom { | ||
286 | + position: relative; | ||
287 | + font-size: 14px; | ||
288 | + color: #333333; | ||
289 | + > p { | ||
290 | + padding-left: 20px; | ||
291 | + } | ||
292 | + } | ||
293 | + | ||
294 | + .container-time { | ||
295 | + background: url("../../assets/images/perService/time.png") 0 center no-repeat; | ||
296 | + background-size: 14px 14px; | ||
297 | + } | ||
298 | + | ||
299 | + .container-address { | ||
300 | + padding: 10px 0; | ||
301 | + background: url("../../assets/images/perService/distance.png") 0 center no-repeat; | ||
302 | + background-size: 14px 14px; | ||
303 | + } | ||
304 | + | ||
305 | + .container-phone { | ||
306 | + background: url("../../assets/images/perService/phone.png") 0 center no-repeat; | ||
307 | + background-size: 14px 14px; | ||
308 | + } | ||
309 | + | ||
310 | + .address-phone { | ||
311 | + position: absolute; | ||
312 | + width: 126px; | ||
313 | + height: 40px; | ||
314 | + background: #32859A; | ||
315 | + border-radius: 43px; | ||
316 | + bottom: 0; | ||
317 | + right: 0; | ||
318 | + display: flex; | ||
319 | + span { | ||
320 | + flex: 1; | ||
321 | + display: inline-block; | ||
322 | + } | ||
323 | + :nth-child(1) { | ||
324 | + background: url("../../assets/images/perService/navAddress.png") center center no-repeat; | ||
325 | + background-size: 20px 20px; | ||
326 | + position: relative; | ||
327 | + &:after { | ||
328 | + content: ''; | ||
329 | + width: 1px; | ||
330 | + height: 20px; | ||
331 | + background: #fff; | ||
332 | + position: absolute; | ||
333 | + right: 0; | ||
334 | + top: 10px; | ||
335 | + } | ||
336 | + } | ||
337 | + :nth-child(2) { | ||
338 | + background: url("../../assets/images/perService/phone-icon.png") center center no-repeat; | ||
339 | + background-size: 20px 20px; | ||
340 | + } | ||
341 | + } | ||
342 | +</style> |