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 | 13 | { |
14 | 14 | path: '/', |
15 | 15 | redirect: { |
16 | - name: 'service' | |
16 | + name: 'peripheralService' | |
17 | 17 | } |
18 | 18 | }, |
19 | 19 | // // { |
... | ... | @@ -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 | 272 | path: '/service', |
262 | 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> | ... | ... |