Browse Source

fix: 🧩 相关优化

pull/7/head
liyongle 3 years ago
parent
commit
52aa37b214
  1. 352
      public/static/offline/JSON/getFacilityList.json
  2. 4
      src/components/CarSearch/CarSearch.vue
  3. 12
      src/components/Map/Map.vue
  4. 13
      src/components/PictureText/PictureText.vue
  5. 6
      src/components/PublicComponent/PublicComponent.vue
  6. 8
      src/composables/useInitMap.ts
  7. 1
      src/views/Art/ArtItem.vue
  8. 6
      src/views/Guide/FloorPicList.vue
  9. 2
      src/views/Guide/Guide.vue
  10. 3
      src/views/Nav/Nav.vue

352
public/static/offline/JSON/getFacilityList.json

@ -1,123 +1,231 @@
{ {
"code": 200,
"msg": "操作成功",
"data": [
{
"name": "扶梯",
"nameEn": "escalator",
"code": "wvbKjHPqqnbjxsXTlSfc1",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "ft",
"filePath": "/iotFile/2022/11/15/f3u4NjtZtlVfhoW-p3lqM.png"
},
{
"name": "上扶梯",
"nameEn": "",
"code": "NtFDFfDiTIQIWQ5UFqcbv",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "upft",
"filePath": "/iotFile/2022/11/15/RbX3fMJtHD12cie3ZWbhl.png"
},
{
"name": "下扶梯",
"nameEn": "xiafuti",
"code": "UPAo4Rr1B0SUonvpSW8kC",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "downft",
"filePath": "/iotFile/2022/11/15/KVRDjyi__OiTBK0wvTiab.png"
},
{
"name": "母婴室",
"nameEn": "",
"code": "D3i4vTd1k7NYlaC4kmeVP",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "mys",
"filePath": "/iotFile/2022/11/15/ASyeOlY20rCM0Y204kOXf.png"
},
{
"name": "洗手间",
"nameEn": "toilet",
"code": "ACgMk2fBoaIn268yyLnFG",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "xsj",
"filePath": "/iotFile/2022/11/15/R7GJWgwODBsGiM4A6ARzu.png"
},
{
"name": "直梯",
"nameEn": "",
"code": "DaNPxh6ilIIhd4gkri38j",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "dt",
"filePath": "/iotFile/2022/11/15/xOyk8yctB_D0KaD4jw6D-.png"
},
{
"name": "吸烟室",
"nameEn": "",
"code": "5Gp5PNrRVu7RBsrqGiJOi",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "xys",
"filePath": "/iotFile/2022/11/15/l-wKNIKm4SbRdalfC0adv.png"
},
{
"name": "人行通道",
"nameEn": "",
"code": "eOfA_xJ0yJ8BghGyuc3kw",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "td",
"filePath": "/iotFile/2022/11/15/-ZCv-lT1vGnozNj-hnYjW.png"
},
{
"name": "男洗手间",
"nameEn": "",
"code": "OMoEcFmqQCTTGPTPCRGzp",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "xsjn",
"filePath": "/iotFile/2022/11/15/RPLs01DqaHy-HUcOWFunN.png"
},
{
"name": "女洗手间",
"nameEn": "",
"code": "J9xwLN-PXnxcf5cxlVM5d",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "xsjv",
"filePath": "/iotFile/2022/11/15/7gt7rdAoCvH-Mz6afk7yu.png"
},
{
"name": "活动",
"nameEn": "",
"code": "Me3ww760_AGXnA49PefKm",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "hd",
"filePath": "/iotFile/2023/03/29/xiNzv4wixeghR6OIKWjad.png"
},
{
"name": "服务台",
"nameEn": "",
"code": "9_BitsfWpJbShoy74lu-5",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "fwt",
"filePath": "/iotFile/saas/20230602/mnj4iHDnTbxx7SaYu9naD.png"
},
{
"name": "停车场",
"nameEn": "",
"code": "5-dKYo0_dOe9AtuDESAH1",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "tcc",
"filePath": "/iotFile/saas/20230602/5YOnznceV6MoLMbjysHdG.png"
}
]
}
"code": 200,
"msg": "操作成功",
"data": [
{
"name": "直梯",
"nameEn": "",
"code": "_Lw1JgBlHcHmHIhDffWDX",
"customFacilityName": "电梯",
"customFacilityNameEn": "",
"abbreviation": "dt",
"filePath": "/convert/Files/86b0e9ab-57bd-40b9-97c0-f1b6f1d0efd4/dt.png"
},
{
"name": "女洗手间",
"nameEn": "",
"code": "ncGrnPQ0R1wCrZGXgg6UT",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "xsjv",
"filePath": "/convert/Files/58017bc7-4d0d-41eb-80ff-f7f1d664d1ef/xsjv.png"
},
{
"name": "男洗手间",
"nameEn": "",
"code": "gl9qD0UXBY991EpItqldQ",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "xsjn",
"filePath": "/convert/Files/b972ebe1-90ec-41a4-98ff-bd762bddec13/xsjn.png"
},
{
"name": "楼梯",
"nameEn": "",
"code": "XGgII8bTWzH2Lwy_iKtd1",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "lt",
"filePath": "/convert/Files/0c783f8d-0efb-4916-9835-d7dd244f8126/lt.png"
},
{
"name": "扶梯",
"nameEn": "扶梯",
"code": "SWjFvak82y9lXc0rBXn2g",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "ft",
"filePath": "/convert/Files/ff5514af-a743-4823-a246-43de4b8d362f/ft.png"
},
{
"name": "无障碍卫生间",
"nameEn": "无障碍卫生间",
"code": "CFfRtlLbYE9d38bv3VZy0",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "cjr",
"filePath": "/convert/Files/abc22b61-3d10-42c2-a5c1-182c21da9147/cjr.png"
},
{
"name": "停车场",
"nameEn": "",
"code": "WeKtI9-Wig4BldTI4o7J8",
"customFacilityName": "小汽车停车场",
"customFacilityNameEn": "GUEST PARKING",
"abbreviation": "tcc",
"filePath": "/convert/Files/f4fe843e-63d9-460c-8cb0-c8fdf5c06c71/tcc.png"
},
{
"name": "母婴室",
"nameEn": "",
"code": "MW_Iy4G6ggBTGADTUZzMD",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "mys",
"filePath": "/convert/Files/e42ea976-1acc-45fa-b00e-203213f5f5b6/mys.png"
},
{
"name": "服务台",
"nameEn": "",
"code": "Q06WweVcR09F-fPHEmfPg",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "fwt",
"filePath": "/convert/Files/293e3458-9588-46be-954b-f081b669dc52/fwt.png"
},
{
"name": "公交",
"nameEn": "",
"code": "NSqr2QyYFOTrv7sw8iD10",
"customFacilityName": "公交车站",
"customFacilityNameEn": "BUS STOP",
"abbreviation": "ksgj",
"filePath": "/convert/Files/f833d3d4-278a-4a44-b468-27dbe095c7d6/ksgj.png"
},
{
"name": "停车缴费",
"nameEn": "",
"code": "_T9olY_vY3fO7y2AZzmeB",
"customFacilityName": "货车消防车停车场",
"customFacilityNameEn": "TRUCK/FIRE TRUCK PARKING",
"abbreviation": "tcjf",
"filePath": "/convert/Files/54166ee6-01a1-4581-98ef-d4aee35bda03/tcjf.png"
},
{
"name": "泊车",
"nameEn": "",
"code": "Jl-NdW9ISljgJ1N9BW1l6",
"customFacilityName": "落客区",
"customFacilityNameEn": "DROP-OFF AREA",
"abbreviation": "bc",
"filePath": "/convert/Files/db17b7bd-1634-41ca-9f0b-403641c854ce/bc.png"
},
{
"name": "寄存服务",
"nameEn": "",
"code": "JaYd2lAUD4FHfMAubmIVe",
"customFacilityName": "非机动车停放处",
"customFacilityNameEn": "NON-MOTOR VEHICLE PARKING",
"abbreviation": "jcfw",
"filePath": "/convert/Files/11b18ede-5ae5-4553-ab30-db56d8f0fd9e/jcfw.png"
},
{
"name": "医保窗口",
"nameEn": "医保窗口",
"code": "pArJlI5bJwXhaJUVPOhtI",
"customFacilityName": "医务室",
"customFacilityNameEn": "",
"abbreviation": "ybck",
"filePath": "/convert/Files/eae1e601-fe13-4cc9-87c2-ac5ef518e353/医保窗口03x.png"
},
{
"name": "便民服务中心",
"nameEn": "便民服务中心",
"code": "Xszzl-Rok1dyZ2ieEycfJ",
"customFacilityName": "会员服务台",
"customFacilityNameEn": "",
"abbreviation": "ykzx",
"filePath": "/convert/Files/8efbc3a5-5da5-4254-a1d0-a71e8fdc36bc/便民服务中心03x.png"
},
{
"name": "洗手间",
"nameEn": "",
"code": "f2q9rFi3OST5rx-8ZYa1T",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "xsj",
"filePath": "/convert/Files/8c564bba-04d5-4768-9cfa-a12a5d4a2f99/xsj.png"
},
{
"name": "手机充电",
"nameEn": "",
"code": "DHj6sOL_zYMI9FineH6H9",
"customFacilityName": "腕表服务中心",
"customFacilityNameEn": "",
"abbreviation": "sjcd",
"filePath": "/convert/Files/b7494658-ad4c-41f5-894a-35f3f69f9f45/sjcd.png"
},
{
"name": "裁剪处",
"nameEn": "",
"code": "ruV4mByIZio3GJGZsLI00",
"customFacilityName": "改衣室",
"customFacilityNameEn": "",
"abbreviation": "cjc",
"filePath": "/convert/Files/4fa4d5f6-7c16-44a0-bf05-d256d1a15e0d/cjc.png"
},
{
"name": "VIP",
"nameEn": "",
"code": "FIxHV5LAux76IeXPUgfIX",
"customFacilityName": "会员服务中心",
"customFacilityNameEn": "",
"abbreviation": "vip",
"filePath": "/convert/Files/9bd282ae-5bc5-4ceb-83bf-b8745a7ef170/vip.png"
},
{
"name": "VIP",
"nameEn": "",
"code": "fF3AmgmfkTmAuGQlvTILj",
"customFacilityName": "会员服务中心",
"customFacilityNameEn": "",
"abbreviation": "vip",
"filePath": "/convert/Files/9bd282ae-5bc5-4ceb-83bf-b8745a7ef170/vip.png"
},
{
"name": "医保窗口",
"nameEn": "医保窗口",
"code": "Va6rgALQ3RRrTYb_zLloF",
"customFacilityName": "医务室",
"customFacilityNameEn": "",
"abbreviation": "ybck",
"filePath": "/convert/Files/eae1e601-fe13-4cc9-87c2-ac5ef518e353/医保窗口03x.png"
},
{
"name": "裁剪处",
"nameEn": "",
"code": "lmmFAZnYWC393qlysEdKZ",
"customFacilityName": "改衣室",
"customFacilityNameEn": "",
"abbreviation": "cjc",
"filePath": "/convert/Files/4fa4d5f6-7c16-44a0-bf05-d256d1a15e0d/cjc.png"
},
{
"name": "便民服务中心",
"nameEn": "便民服务中心",
"code": "AjGqv9q8eZE2oi9qoYyVj",
"customFacilityName": "会员服务台",
"customFacilityNameEn": "",
"abbreviation": "ykzx",
"filePath": "/convert/Files/8efbc3a5-5da5-4254-a1d0-a71e8fdc36bc/便民服务中心03x.png"
},
{
"name": "地铁",
"nameEn": "",
"code": "D1S0dHs4jwg9KQm14ecNK",
"customFacilityName": "",
"customFacilityNameEn": "",
"abbreviation": "dit",
"filePath": "/convert/Files/1d97cca7-0506-4244-802f-945061e8ee9e/dit.png"
},
{
"name": "上扶梯",
"nameEn": "",
"code": "uhWgxXEP2Sjun2EHMIl4J",
"customFacilityName": "无障碍电梯",
"customFacilityNameEn": "",
"abbreviation": "upft",
"filePath": "/convert/Files/1e6b78b0-12e9-468c-afea-a645b268838e/upft.png"
}
]
}

4
src/components/CarSearch/CarSearch.vue

@ -6,13 +6,13 @@
</div> </div>
<div class="car-search-content"> <div class="car-search-content">
<div class="title">{{ $t('searchCar') }}</div> <div class="title">{{ $t('searchCar') }}</div>
<div class="point">已为您搜索到以下车位号选择车位号进行导航</div>
<div class="point">{{ searchList.length ? '已为您搜索到以下车位号,选择车位号进行导航' : '未找到车位号,请您重新搜索' }}</div>
<ScrollView v-if="searchList.length" :list="searchList" class="myScroll" scrollbar> <ScrollView v-if="searchList.length" :list="searchList" class="myScroll" scrollbar>
<div class="list"> <div class="list">
<div v-for="item in searchList" :key="item" class="item" @click="search(item)">{{ item }}</div> <div v-for="item in searchList" :key="item" class="item" @click="search(item)">{{ item }}</div>
</div> </div>
</ScrollView> </ScrollView>
<img v-else class="empty" src="@/assets/images/stay_tuned.svg" alt="" />
<img v-else class="empty" src="@/assets/images/nodata.svg" alt="" />
</div> </div>
</div> </div>
</template> </template>

12
src/components/Map/Map.vue

@ -6,8 +6,8 @@
<!-- 地图店铺弹框 --> <!-- 地图店铺弹框 -->
<div id="shopInfo" class="boxShop boxShop2"> <div id="shopInfo" class="boxShop boxShop2">
<div id="shopNum"> <div id="shopNum">
<Marquees :content="shopName">
<div class="shop-name">{{ shopName }}</div>
<Marquees :content="shopName" class="shop-name">
<div>{{ shopName }}</div>
</Marquees> </Marquees>
</div> </div>
<div class="map-flex"> <div class="map-flex">
@ -116,6 +116,9 @@ function handleDetail() {
font-family: 'font_bold'; font-family: 'font_bold';
color: #fff; color: #fff;
font-weight: 700; font-weight: 700;
.shop-name {
width: 130px;
}
} }
.go-button { .go-button {
width: 125px; width: 125px;
@ -180,13 +183,15 @@ function handleDetail() {
position: absolute; position: absolute;
z-index: 500; z-index: 500;
width: 200px; width: 200px;
height: 110px;
visibility: hidden; visibility: hidden;
.circle { .circle {
@include fl(center); @include fl(center);
position: absolute; position: absolute;
bottom: 0; bottom: 0;
left: 50%;
left: 45%;
z-index: -1;
width: 20px; width: 20px;
height: 20px; height: 20px;
font-size: 10px; font-size: 10px;
@ -264,6 +269,7 @@ function handleDetail() {
} }
} }
.triangle { .triangle {
margin-top: -2px;
text-align: center; text-align: center;
img { img {
width: 12px; width: 12px;

13
src/components/PictureText/PictureText.vue

@ -23,7 +23,7 @@
<div v-if="qrList.length && qrList[0].content?.name" class="qr-container"> <div v-if="qrList.length && qrList[0].content?.name" class="qr-container">
<div class="item"> <div class="item">
<img :src="qrList[0].content.file_code[0]" alt="" /> <img :src="qrList[0].content.file_code[0]" alt="" />
<div class="name">{{ switchLanguage(qrList[0].content, 'name') }}</div>
<div class="names">{{ switchLanguage(qrList[0].content, 'name') }}</div>
</div> </div>
</div> </div>
</div> </div>
@ -37,6 +37,7 @@ import { Swiper, SwiperSlide } from 'swiper/vue'
import { Autoplay } from 'swiper' import { Autoplay } from 'swiper'
import 'swiper/css' import 'swiper/css'
import ScrollView from '@/base/ScrollView/ScrollView.vue' import ScrollView from '@/base/ScrollView/ScrollView.vue'
const { switchLanguage } = useSwitchLanguage() const { switchLanguage } = useSwitchLanguage()
interface Props { interface Props {
acList: PicText[] acList: PicText[]
@ -121,7 +122,7 @@ defineProps<Props>()
overflow: hidden; overflow: hidden;
width: 708px; width: 708px;
.item { .item {
width: 80px;
max-width: 180px;
height: 102px; height: 102px;
margin-right: 24px; margin-right: 24px;
text-align: center; text-align: center;
@ -130,8 +131,10 @@ defineProps<Props>()
height: 80px; height: 80px;
margin-bottom: 8px; margin-bottom: 8px;
} }
.name {
width: 72px;
.names {
@include no-wrap;
max-width: 180px;
padding-right: 0; padding-right: 0;
font-size: 12px; font-size: 12px;
font-family: 'font_regular'; font-family: 'font_regular';
@ -139,8 +142,6 @@ defineProps<Props>()
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;
line-height: 14px; line-height: 14px;
@include no-wrap();
} }
} }
} }

6
src/components/PublicComponent/PublicComponent.vue

@ -79,6 +79,12 @@ watch(route, to => {
window?.Map_QM?.startRender() window?.Map_QM?.startRender()
if (to.fullPath === '/') { if (to.fullPath === '/') {
window?.Map_QM?.showFloor(6) window?.Map_QM?.showFloor(6)
const art: any = document.getElementById('mapContainer')
art.style.width = '2244px'
art.style.height = '1352px'
art.style.right = '690px'
art.style.top = '304px'
window.Map_QM.changeWindowResize(2244, 1352)
} }
} else { } else {
window?.Map_QM?.cancelRender() window?.Map_QM?.cancelRender()

8
src/composables/useInitMap.ts

@ -28,10 +28,11 @@ export const useInitMap = async function () {
}) })
}) })
store.SET_MAP_PARK_LIST(arr) store.SET_MAP_PARK_LIST(arr)
window.Map_QM.showFloor(6)
}, },
{ {
build: device.value?.buildingOrder ?? 0, build: device.value?.buildingOrder ?? 0,
floor: 6,
floor: device.value.floorOrder,
navPoint: device.value.location, navPoint: device.value.location,
angle: device.value.angle, angle: device.value.angle,
iconUrl: delPrefixOfFacilityList, iconUrl: delPrefixOfFacilityList,
@ -78,8 +79,9 @@ function onClickArt(event: any) {
shopNameEn: event.data.artData.content.nameEn, shopNameEn: event.data.artData.content.nameEn,
floorOrder: floors[0].floorOrder, floorOrder: floors[0].floorOrder,
floor: floors[0].floor, floor: floors[0].floor,
logoUrl: '',
yaxis: Number(poi[2])
logoUrl: event.data.artData.content.icon[0],
yaxis: Number(poi[2]),
doorMaterialList: event.data.artData.content.file_code
} }
store.SET_CURRENT_ART_NAME(event.data.artData.content.name) store.SET_CURRENT_ART_NAME(event.data.artData.content.name)
store.SET_SHOP(shop) store.SET_SHOP(shop)

1
src/views/Art/ArtItem.vue

@ -116,6 +116,7 @@ function go(item: ArtPlace) {
width: 274px; width: 274px;
font-size: 12px; font-size: 12px;
font-family: 'font_regular'; font-family: 'font_regular';
white-space: pre-wrap;
color: #8e9090; color: #8e9090;
font-style: normal; font-style: normal;
font-weight: 400; font-weight: 400;

6
src/views/Guide/FloorPicList.vue

@ -5,6 +5,7 @@
:key="item.id" :key="item.id"
class="floor animate__animated animate__fadeIn" class="floor animate__animated animate__fadeIn"
:style="{ animationDelay: index / 5 + 's' }" :style="{ animationDelay: index / 5 + 's' }"
@click="changeFloor(item.content.floorOrder)"
> >
<img :src="item.content.file_code[0]" alt="" /> <img :src="item.content.file_code[0]" alt="" />
</div> </div>
@ -18,6 +19,11 @@ import { getFloorPicList } from '@/http/api/base'
const store = useRootStore() const store = useRootStore()
const { currentBuildingFloorsList } = toRefs(store) const { currentBuildingFloorsList } = toRefs(store)
const emit = defineEmits(['changeFloor'])
function changeFloor(floorOrder: string) {
emit('changeFloor', Number(floorOrder))
}
// //
const picList = ref<FloorPic[]>([]) const picList = ref<FloorPic[]>([])
getFloorPicList().then(({ data }) => { getFloorPicList().then(({ data }) => {

2
src/views/Guide/Guide.vue

@ -83,7 +83,7 @@
<ArtList v-if="floorIdx === 6" /> <ArtList v-if="floorIdx === 6" />
<!-- 楼层缩略图 --> <!-- 楼层缩略图 -->
<FloorPicList v-if="floorIdx === 6" />
<FloorPicList v-if="floorIdx === 6" @change-floor="changeFloors" />
</div> </div>
</template> </template>

3
src/views/Nav/Nav.vue

@ -214,6 +214,9 @@ if (showSearch.value) {
watch(shop, newVal => { watch(shop, newVal => {
startNavi({ ...newVal }) startNavi({ ...newVal })
if (showColumnList.value) {
showColumnList.value = false
}
}) })
onUnmounted(() => { onUnmounted(() => {

Loading…
Cancel
Save