16 changed files with 391 additions and 27 deletions
|
After Width: | Height: | Size: 578 B |
|
After Width: | Height: | Size: 76 KiB |
@ -0,0 +1,108 @@ |
|||||
|
<template> |
||||
|
<div class="result-container"> |
||||
|
<ScrollView class="myScoll" :list="list" :pull-up="false"> |
||||
|
<div class="shop_list"> |
||||
|
<div v-for="item in list" :key="item.shopCode" class="shop_item" @click="show(item)"> |
||||
|
<div class="left"> |
||||
|
<img v-lazy="item.logoUrl" alt="" /> |
||||
|
</div> |
||||
|
<div class="info"> |
||||
|
<div class="name">{{ switchLanguage(item, 'shopName') }}</div> |
||||
|
<div class="right"> |
||||
|
<img src="@/assets/images/search/position.png" alt="" /> |
||||
|
<div class="hose_num">{{ item.houseNumber }}</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</ScrollView> |
||||
|
</div> |
||||
|
</template> |
||||
|
|
||||
|
<script setup lang="ts"> |
||||
|
import { useRootStore } from '@/store/root' |
||||
|
import ScrollView from '@/base/ScrollView/ScrollView.vue' |
||||
|
type ShopList = { |
||||
|
list: Shop[] |
||||
|
} |
||||
|
defineProps<ShopList>() |
||||
|
const store = useRootStore() |
||||
|
function show(item: Shop) { |
||||
|
store.SET_SHOP(item) |
||||
|
store.SET_SHOW_DETAIL(true) |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.result-container { |
||||
|
width: 714px; |
||||
|
height: 694px; |
||||
|
padding-top: 64px; |
||||
|
padding-left: 65px; |
||||
|
background: #fff; |
||||
|
border-radius: 12px; |
||||
|
.myScoll { |
||||
|
overflow: hidden; |
||||
|
height: 630px; |
||||
|
} |
||||
|
.shop_list { |
||||
|
display: grid; |
||||
|
gap: 32px 180px; |
||||
|
grid-template-columns: 1fr 1fr; |
||||
|
padding-bottom: 10px; |
||||
|
.shop_item { |
||||
|
@include fl(); |
||||
|
|
||||
|
width: 192px; |
||||
|
height: 80px; |
||||
|
.left { |
||||
|
@include fl(center); |
||||
|
|
||||
|
width: 80px; |
||||
|
height: 80px; |
||||
|
margin-right: 16px; |
||||
|
background: #fff; |
||||
|
border: 1px solid rgb(155 140 133 / 50%); |
||||
|
border-radius: 4px; |
||||
|
img { |
||||
|
width: 64px; |
||||
|
height: 64px; |
||||
|
} |
||||
|
} |
||||
|
.info { |
||||
|
width: 96px; |
||||
|
height: 60px; |
||||
|
.name { |
||||
|
@include no-wrap; |
||||
|
|
||||
|
width: 96px; |
||||
|
height: 32px; |
||||
|
margin-bottom: 6px; |
||||
|
font-size: 24px; |
||||
|
font-family: 'font_bold'; |
||||
|
color: #736661; |
||||
|
font-style: normal; |
||||
|
font-weight: 700; |
||||
|
line-height: 32px; |
||||
|
} |
||||
|
.right { |
||||
|
@include fl(); |
||||
|
img { |
||||
|
width: 18px; |
||||
|
height: 18px; |
||||
|
margin-right: 4px; |
||||
|
} |
||||
|
.hose_num { |
||||
|
font-size: 14px; |
||||
|
font-family: 'font_bold'; |
||||
|
color: #9b8c85; |
||||
|
font-style: normal; |
||||
|
font-weight: 700; |
||||
|
line-height: 22px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
@ -0,0 +1,135 @@ |
|||||
|
<template> |
||||
|
<transition appear enter-active-class="animate__animated animate__fadeIn" leave-active-class="animate__animated animate__zoomOut"> |
||||
|
<div class="traffic-container"> |
||||
|
<div class="left"> |
||||
|
<img class="bg" src="@/assets/images/traffic.png" alt="" /> |
||||
|
</div> |
||||
|
<div class="right"> |
||||
|
<div class="title">{{ $t('road') + ':' }}</div> |
||||
|
<div class="road-list"> |
||||
|
<div v-for="item in list" :key="item.name" class="road"> |
||||
|
<div class="w" :style="'background:' + item.color"></div> |
||||
|
<div class="type">{{ switchLanguage(item, 'name') }}</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
<div class="info-container"> |
||||
|
<div class="item"> |
||||
|
<div class="name">博览路:</div> |
||||
|
<div class="road" style="margin-right: 24px"> |
||||
|
<div class="w" style="background: #68b753"></div> |
||||
|
<div>{{ switchLanguage(item, 'name') }}</div> |
||||
|
</div> |
||||
|
<div class="road"> |
||||
|
<div class="w" style="background: #f5bd44"></div> |
||||
|
<div>{{ switchLanguage(item, 'name') }}</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</div> |
||||
|
</transition> |
||||
|
</template> |
||||
|
|
||||
|
<script setup lang="ts"> |
||||
|
import { switchLanguage } from '@/plugins/switchLanguage' |
||||
|
|
||||
|
const list = [ |
||||
|
{ |
||||
|
name: '畅通', |
||||
|
nameEn: 'Clear', |
||||
|
color: '#68B753' |
||||
|
}, |
||||
|
{ |
||||
|
name: '缓行', |
||||
|
nameEn: 'Slow', |
||||
|
color: '#F5BD44' |
||||
|
}, |
||||
|
{ |
||||
|
name: '拥堵', |
||||
|
nameEn: 'Jam', |
||||
|
color: '#E53F3B' |
||||
|
}, |
||||
|
{ |
||||
|
name: '非常拥堵', |
||||
|
nameEn: 'Very Congested', |
||||
|
color: '#A91A1F' |
||||
|
} |
||||
|
] |
||||
|
</script> |
||||
|
|
||||
|
<style lang="scss" scoped> |
||||
|
.traffic-container { |
||||
|
@include fl(flex-start, flex-start); |
||||
|
|
||||
|
position: fixed; |
||||
|
top: 306px; |
||||
|
left: 112px; |
||||
|
.left { |
||||
|
position: relative; |
||||
|
width: 1218px; |
||||
|
height: 600px; |
||||
|
.bg { |
||||
|
position: absolute; |
||||
|
top: 0; |
||||
|
left: 236px; |
||||
|
z-index: 10; |
||||
|
width: 693px; |
||||
|
height: 420px; |
||||
|
} |
||||
|
} |
||||
|
.right { |
||||
|
margin-left: 59px; |
||||
|
.title { |
||||
|
margin-bottom: 24px; |
||||
|
font-size: 28px; |
||||
|
font-family: 'font_bold'; |
||||
|
color: #736661; |
||||
|
font-style: normal; |
||||
|
font-weight: 700; |
||||
|
line-height: 36px; |
||||
|
} |
||||
|
.road-list { |
||||
|
@include fl(); |
||||
|
|
||||
|
margin-bottom: 48px; |
||||
|
} |
||||
|
.road { |
||||
|
@include fl(); |
||||
|
|
||||
|
margin-right: 40px; |
||||
|
.w { |
||||
|
width: 20px; |
||||
|
height: 20px; |
||||
|
margin-right: 8px; |
||||
|
} |
||||
|
.type { |
||||
|
font-size: 20px; |
||||
|
font-family: 'font_regular'; |
||||
|
color: #9b8c85; |
||||
|
font-style: normal; |
||||
|
font-weight: 400; |
||||
|
line-height: 28px; |
||||
|
} |
||||
|
} |
||||
|
.info-container { |
||||
|
width: 452px; |
||||
|
height: 356px; |
||||
|
padding: 40px 48px 12px; |
||||
|
background: #fff; |
||||
|
border-radius: 16px; |
||||
|
.item { |
||||
|
margin-bottom: 48px; |
||||
|
.name { |
||||
|
margin-right: 40px; |
||||
|
font-size: 20px; |
||||
|
font-family: 'font_bold'; |
||||
|
color: #736661; |
||||
|
font-style: normal; |
||||
|
font-weight: 700; |
||||
|
line-height: 28px; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</style> |
||||
Loading…
Reference in new issue