|
|
@ -1,13 +1,13 @@ |
|
|
<template> |
|
|
<template> |
|
|
<Dialog @close="close"> |
|
|
<Dialog @close="close"> |
|
|
|
|
|
<div class="bar"> |
|
|
|
|
|
<div class="icon" :style="{ backgroundImage: `url(${theme.images.searchIcon})` }"></div> |
|
|
|
|
|
<div class="stick"></div> |
|
|
|
|
|
<div v-if="!keywords" class="placeholder">请输入中英文<span class="meta">首字母</span>查询,例如 XBK (星巴克)</div> |
|
|
|
|
|
<input v-else @click="setSearch" v-model="keywords" type="text" readonly class="input" /> |
|
|
|
|
|
<img :src="theme.images.searchClear" class="clear" v-if="keywords" @click="clear" /> |
|
|
|
|
|
</div> |
|
|
<div class="search-content"> |
|
|
<div class="search-content"> |
|
|
<div class="bar"> |
|
|
|
|
|
<div class="icon" :style="{ backgroundImage: `url(${theme.images.searchIcon})` }"></div> |
|
|
|
|
|
<div class="stick"></div> |
|
|
|
|
|
<div v-if="!keywords" class="placeholder">请输入中英文<span class="meta">首字母</span>查询,例如 XBK (星巴克)</div> |
|
|
|
|
|
<input v-else @click="setSearch" v-model="keywords" type="text" readonly class="input" /> |
|
|
|
|
|
<img :src="theme.images.searchClear" class="clear" v-if="keywords" @click="clear" /> |
|
|
|
|
|
</div> |
|
|
|
|
|
<div class="top" v-if="!showVoice"> |
|
|
<div class="top" v-if="!showVoice"> |
|
|
<div class="facs"> |
|
|
<div class="facs"> |
|
|
<h1 class="title">公共设施</h1> |
|
|
<h1 class="title">公共设施</h1> |
|
|
@ -126,7 +126,61 @@ onBeforeUnmount(() => { |
|
|
position: relative; |
|
|
position: relative; |
|
|
z-index: 50; |
|
|
z-index: 50; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.bar { |
|
|
|
|
|
position: fixed; |
|
|
|
|
|
top: 260px; |
|
|
|
|
|
left: 68px; |
|
|
|
|
|
right: 68px; |
|
|
|
|
|
background: var(--search-barBackground); |
|
|
|
|
|
border: var(--searchBar-border); |
|
|
|
|
|
box-shadow: 0px 15px 24px rgba(0, 0, 0, 0.05); |
|
|
|
|
|
border-radius: var(--searchBar-borderRadius); |
|
|
|
|
|
display: flex; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
padding-right: 10px; |
|
|
|
|
|
padding-left: 40px; |
|
|
|
|
|
height: 100px; |
|
|
|
|
|
z-index: 52; |
|
|
|
|
|
.icon { |
|
|
|
|
|
width: 56px; |
|
|
|
|
|
height: 56px; |
|
|
|
|
|
background: center / cover no-repeat; |
|
|
|
|
|
} |
|
|
|
|
|
.stick { |
|
|
|
|
|
width: 4px; |
|
|
|
|
|
height: 38px; |
|
|
|
|
|
background: var(--searchBar-stickBg); |
|
|
|
|
|
margin: 0 32px; |
|
|
|
|
|
} |
|
|
|
|
|
.placeholder { |
|
|
|
|
|
font-weight: 700; |
|
|
|
|
|
font-size: 20px; |
|
|
|
|
|
line-height: 23px; |
|
|
|
|
|
color: var(--searchBar-placeholderColor); |
|
|
|
|
|
.meta { |
|
|
|
|
|
color: var(--search-placeholderMetaColor); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
.input { |
|
|
|
|
|
flex: 1; |
|
|
|
|
|
border: none; |
|
|
|
|
|
outline: none; |
|
|
|
|
|
width: 262px; |
|
|
|
|
|
background: transparent; |
|
|
|
|
|
font-weight: 700; |
|
|
|
|
|
font-size: 48px; |
|
|
|
|
|
line-height: 59px; |
|
|
|
|
|
color: var(--searchBar-color); |
|
|
|
|
|
} |
|
|
|
|
|
.clear { |
|
|
|
|
|
display: flex; |
|
|
|
|
|
width: 80px; |
|
|
|
|
|
height: 80px; |
|
|
|
|
|
} |
|
|
|
|
|
.voice-icon { |
|
|
|
|
|
width: 190px; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
.search-content { |
|
|
.search-content { |
|
|
position: absolute; |
|
|
position: absolute; |
|
|
top: 315px; |
|
|
top: 315px; |
|
|
@ -136,70 +190,15 @@ onBeforeUnmount(() => { |
|
|
background: var(--search-background); |
|
|
background: var(--search-background); |
|
|
backdrop-filter: blur(10px); |
|
|
backdrop-filter: blur(10px); |
|
|
border-radius: var(--searchBar-borderRadius); |
|
|
border-radius: var(--searchBar-borderRadius); |
|
|
display: flex; |
|
|
|
|
|
flex-direction: column; |
|
|
|
|
|
align-items: stretch; |
|
|
|
|
|
z-index: 2; |
|
|
z-index: 2; |
|
|
|
|
|
overflow: hidden; |
|
|
.title { |
|
|
.title { |
|
|
font-weight: 900; |
|
|
font-weight: 900; |
|
|
font-size: 24px; |
|
|
font-size: 24px; |
|
|
line-height: 28px; |
|
|
line-height: 28px; |
|
|
color: rgba(0, 0, 0, 0.8); |
|
|
color: rgba(0, 0, 0, 0.8); |
|
|
} |
|
|
} |
|
|
.bar { |
|
|
|
|
|
position: absolute; |
|
|
|
|
|
top: -55px; |
|
|
|
|
|
left: 28px; |
|
|
|
|
|
right: 28px; |
|
|
|
|
|
background: var(--search-barBackground); |
|
|
|
|
|
border: var(--searchBar-border); |
|
|
|
|
|
box-shadow: 0px 15px 24px rgba(0, 0, 0, 0.05); |
|
|
|
|
|
border-radius: var(--searchBar-borderRadius); |
|
|
|
|
|
display: flex; |
|
|
|
|
|
align-items: center; |
|
|
|
|
|
padding-right: 10px; |
|
|
|
|
|
padding-left: 40px; |
|
|
|
|
|
height: 100px; |
|
|
|
|
|
.icon { |
|
|
|
|
|
width: 56px; |
|
|
|
|
|
height: 56px; |
|
|
|
|
|
background: center / cover no-repeat; |
|
|
|
|
|
} |
|
|
|
|
|
.stick { |
|
|
|
|
|
width: 4px; |
|
|
|
|
|
height: 38px; |
|
|
|
|
|
background: var(--searchBar-stickBg); |
|
|
|
|
|
margin: 0 32px; |
|
|
|
|
|
} |
|
|
|
|
|
.placeholder { |
|
|
|
|
|
font-weight: 700; |
|
|
|
|
|
font-size: 20px; |
|
|
|
|
|
line-height: 23px; |
|
|
|
|
|
color: var(--searchBar-placeholderColor); |
|
|
|
|
|
.meta { |
|
|
|
|
|
color: var(--search-placeholderMetaColor); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
.input { |
|
|
|
|
|
flex: 1; |
|
|
|
|
|
border: none; |
|
|
|
|
|
outline: none; |
|
|
|
|
|
width: 262px; |
|
|
|
|
|
background: transparent; |
|
|
|
|
|
font-weight: 700; |
|
|
|
|
|
font-size: 48px; |
|
|
|
|
|
line-height: 59px; |
|
|
|
|
|
color: var(--searchBar-color); |
|
|
|
|
|
} |
|
|
|
|
|
.clear { |
|
|
|
|
|
display: flex; |
|
|
|
|
|
width: 80px; |
|
|
|
|
|
height: 80px; |
|
|
|
|
|
} |
|
|
|
|
|
.voice-icon { |
|
|
|
|
|
width: 190px; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.top { |
|
|
.top { |
|
|
height: 460px; |
|
|
height: 460px; |
|
|
background: rgba(255, 255, 255, 0.6); |
|
|
background: rgba(255, 255, 255, 0.6); |
|
|
|