|
@@ -3,15 +3,20 @@
|
|
<div class="search-box">
|
|
<div class="search-box">
|
|
<input v-model="searchState.searchText" class="input" @input="changeSearchText" @keyup.enter="changeSearchText" />
|
|
<input v-model="searchState.searchText" class="input" @input="changeSearchText" @keyup.enter="changeSearchText" />
|
|
<div v-show="searchState.showList" class="search-list">
|
|
<div v-show="searchState.showList" class="search-list">
|
|
- <div v-for="(item, index) in searchState.resultList" :key="index" class="list-item" @click="selectSearchMarker(item)">{{ item.name + '(' + item.company + ')' }}</div>
|
|
|
|
- <div v-show="searchState.showList && searchState.resultList.length === 0" style="text-align: center">无数据</div>
|
|
|
|
|
|
+ <div v-for="(item, index) in searchState.resultList" :key="index" class="list-item"
|
|
|
|
+ @click="selectSearchMarker(item)">{{ item.name + '(' + item.company + ')' }}
|
|
|
|
+ </div>
|
|
|
|
+ <div v-show="searchState.showList && searchState.resultList.length === 0" style="text-align: center">无数据
|
|
|
|
+ </div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div class="menu-box">
|
|
<div class="menu-box">
|
|
- <div class="gradient-text menu-btn" @click="changExpand">{{ menuState.isExpand ? '收起' : '展开' }}</div>
|
|
|
|
|
|
+ <div class="menu-btn" @click="changExpand">
|
|
|
|
+ <div class="gradient-text">{{ menuState.isExpand ? '收起' : '展开' }}</div>
|
|
|
|
+ </div>
|
|
<Transition>
|
|
<Transition>
|
|
- <div v-show="menuState.isExpand">
|
|
|
|
|
|
+ <div v-show="menuState.isExpand" class="menu-box2">
|
|
<div class="menu-header">
|
|
<div class="menu-header">
|
|
<div
|
|
<div
|
|
v-for="(item, index) in menuData"
|
|
v-for="(item, index) in menuData"
|
|
@@ -26,9 +31,11 @@
|
|
<div v-for="(item, index) in menuData[menuState.activeIndex]?.children" :key="index" class="content-box">
|
|
<div v-for="(item, index) in menuData[menuState.activeIndex]?.children" :key="index" class="content-box">
|
|
<div class="box-header">
|
|
<div class="box-header">
|
|
<div v-if="item.name === '防风防汛'" class="icon1" style="width: 79px; height: 87px"></div>
|
|
<div v-if="item.name === '防风防汛'" class="icon1" style="width: 79px; height: 87px"></div>
|
|
- <div v-if="item.name === '危化品安全监测' || item.name === '危险化工品'" class="icon2" style="width: 71px; height: 80px"></div>
|
|
|
|
|
|
+ <div v-if="item.name === '危化品安全监测' || item.name === '危险化工品'" class="icon2"
|
|
|
|
+ style="width: 71px; height: 80px"></div>
|
|
<div>{{ item.name }}</div>
|
|
<div>{{ item.name }}</div>
|
|
- <div :class="item.show ? 'expand-icon down-icon' : 'expand-icon up-icon'" @click="changeBoxShow(item)"></div>
|
|
|
|
|
|
+ <div :class="item.show ? 'expand-icon down-icon' : 'expand-icon up-icon'"
|
|
|
|
+ @click="changeBoxShow(item)"></div>
|
|
</div>
|
|
</div>
|
|
<Transition>
|
|
<Transition>
|
|
<div v-show="item.show" class="box-content">
|
|
<div v-show="item.show" class="box-content">
|
|
@@ -153,6 +160,7 @@ onMounted(() => {
|
|
padding: 0 10px;
|
|
padding: 0 10px;
|
|
background: url('@/assets/images/menu/search.png');
|
|
background: url('@/assets/images/menu/search.png');
|
|
position: relative;
|
|
position: relative;
|
|
|
|
+
|
|
.input {
|
|
.input {
|
|
border: none;
|
|
border: none;
|
|
outline: none;
|
|
outline: none;
|
|
@@ -163,6 +171,7 @@ onMounted(() => {
|
|
font-size: 46px;
|
|
font-size: 46px;
|
|
background-color: transparent;
|
|
background-color: transparent;
|
|
}
|
|
}
|
|
|
|
+
|
|
.search-list {
|
|
.search-list {
|
|
position: absolute;
|
|
position: absolute;
|
|
top: 100px;
|
|
top: 100px;
|
|
@@ -173,26 +182,35 @@ onMounted(() => {
|
|
color: #000;
|
|
color: #000;
|
|
font-size: 46px;
|
|
font-size: 46px;
|
|
z-index: 9;
|
|
z-index: 9;
|
|
|
|
+
|
|
.list-item {
|
|
.list-item {
|
|
display: block;
|
|
display: block;
|
|
font-size: 16px;
|
|
font-size: 16px;
|
|
line-height: 40px;
|
|
line-height: 40px;
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
padding: 0 10px;
|
|
padding: 0 10px;
|
|
|
|
+
|
|
&:hover {
|
|
&:hover {
|
|
background-color: #0a6ebd;
|
|
background-color: #0a6ebd;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
.menu-box {
|
|
.menu-box {
|
|
width: 871px;
|
|
width: 871px;
|
|
- height: 1746px;
|
|
|
|
- background: url('@/assets/images/menu/menu.png') no-repeat;
|
|
|
|
|
|
+ height: 1732px;
|
|
margin-top: 10px;
|
|
margin-top: 10px;
|
|
color: #fff;
|
|
color: #fff;
|
|
- padding: 10px 20px;
|
|
|
|
position: relative;
|
|
position: relative;
|
|
|
|
+
|
|
|
|
+ .menu-box2 {
|
|
|
|
+ width: 871px;
|
|
|
|
+ height: 1732px;
|
|
|
|
+ background: url('@/assets/images/menu/menu.png') no-repeat;
|
|
|
|
+ padding: 10px 20px;
|
|
|
|
+ }
|
|
|
|
+
|
|
.menu-btn {
|
|
.menu-btn {
|
|
position: absolute;
|
|
position: absolute;
|
|
top: -5px;
|
|
top: -5px;
|
|
@@ -201,11 +219,19 @@ onMounted(() => {
|
|
letter-spacing: 5px;
|
|
letter-spacing: 5px;
|
|
font-size: 48px;
|
|
font-size: 48px;
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
|
|
+ width: 379px;
|
|
|
|
+ height: 60px;
|
|
|
|
+ display: flex;
|
|
|
|
+ justify-content: center;
|
|
|
|
+ align-items: center;
|
|
|
|
+ background: url('@/assets/images/menu/btn.png') no-repeat;
|
|
}
|
|
}
|
|
|
|
+
|
|
.menu-header {
|
|
.menu-header {
|
|
display: flex;
|
|
display: flex;
|
|
margin-top: 65px;
|
|
margin-top: 65px;
|
|
height: 78px;
|
|
height: 78px;
|
|
|
|
+
|
|
.menu-item {
|
|
.menu-item {
|
|
flex: 1;
|
|
flex: 1;
|
|
height: 78px;
|
|
height: 78px;
|
|
@@ -215,8 +241,10 @@ onMounted(() => {
|
|
font-size: 46px;
|
|
font-size: 46px;
|
|
letter-spacing: 5px;
|
|
letter-spacing: 5px;
|
|
font-family: 'YouSheBiaoTiHei';
|
|
font-family: 'YouSheBiaoTiHei';
|
|
|
|
+
|
|
&:hover {
|
|
&:hover {
|
|
position: relative;
|
|
position: relative;
|
|
|
|
+
|
|
&::before {
|
|
&::before {
|
|
content: '';
|
|
content: '';
|
|
position: absolute;
|
|
position: absolute;
|
|
@@ -229,8 +257,10 @@ onMounted(() => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
.active {
|
|
.active {
|
|
position: relative;
|
|
position: relative;
|
|
|
|
+
|
|
&::before {
|
|
&::before {
|
|
content: '';
|
|
content: '';
|
|
position: absolute;
|
|
position: absolute;
|
|
@@ -243,14 +273,17 @@ onMounted(() => {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
.menu-content {
|
|
.menu-content {
|
|
padding: 0 35px 0 28px;
|
|
padding: 0 35px 0 28px;
|
|
|
|
+
|
|
.content-box {
|
|
.content-box {
|
|
padding: 0 10px;
|
|
padding: 0 10px;
|
|
margin-top: 10px;
|
|
margin-top: 10px;
|
|
width: 779px;
|
|
width: 779px;
|
|
background: url('@/assets/images/menu/menuContent.png') no-repeat;
|
|
background: url('@/assets/images/menu/menuContent.png') no-repeat;
|
|
background-size: cover;
|
|
background-size: cover;
|
|
|
|
+
|
|
.box-header {
|
|
.box-header {
|
|
height: 103px;
|
|
height: 103px;
|
|
display: flex;
|
|
display: flex;
|
|
@@ -263,9 +296,11 @@ onMounted(() => {
|
|
.icon1 {
|
|
.icon1 {
|
|
background-image: url('@/assets/images/menu/icon1.png');
|
|
background-image: url('@/assets/images/menu/icon1.png');
|
|
}
|
|
}
|
|
|
|
+
|
|
.icon2 {
|
|
.icon2 {
|
|
background-image: url('@/assets/images/menu/icon2.png');
|
|
background-image: url('@/assets/images/menu/icon2.png');
|
|
}
|
|
}
|
|
|
|
+
|
|
.expand-icon {
|
|
.expand-icon {
|
|
position: absolute;
|
|
position: absolute;
|
|
top: 50%;
|
|
top: 50%;
|
|
@@ -275,13 +310,16 @@ onMounted(() => {
|
|
width: 33px;
|
|
width: 33px;
|
|
height: 18px;
|
|
height: 18px;
|
|
}
|
|
}
|
|
|
|
+
|
|
.down-icon {
|
|
.down-icon {
|
|
background: url('@/assets/images/menu/down.png') no-repeat;
|
|
background: url('@/assets/images/menu/down.png') no-repeat;
|
|
}
|
|
}
|
|
|
|
+
|
|
.up-icon {
|
|
.up-icon {
|
|
background: url('@/assets/images/menu/up.png') no-repeat;
|
|
background: url('@/assets/images/menu/up.png') no-repeat;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
.box-content {
|
|
.box-content {
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
@@ -289,9 +327,11 @@ onMounted(() => {
|
|
margin-top: 5px;
|
|
margin-top: 5px;
|
|
padding: 19px 15px;
|
|
padding: 19px 15px;
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
|
|
+
|
|
.box-item-active {
|
|
.box-item-active {
|
|
text-shadow: 0px 0px 8px #0766d6;
|
|
text-shadow: 0px 0px 8px #0766d6;
|
|
}
|
|
}
|
|
|
|
+
|
|
.box-item {
|
|
.box-item {
|
|
padding: 20px 15px;
|
|
padding: 20px 15px;
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
@@ -299,15 +339,18 @@ onMounted(() => {
|
|
font-family: 'PingFang SC', sans-serif;
|
|
font-family: 'PingFang SC', sans-serif;
|
|
display: flex;
|
|
display: flex;
|
|
align-items: center;
|
|
align-items: center;
|
|
|
|
+
|
|
&:hover {
|
|
&:hover {
|
|
text-shadow: 0px 0px 8px #0766d6;
|
|
text-shadow: 0px 0px 8px #0766d6;
|
|
}
|
|
}
|
|
|
|
+
|
|
.checked-box {
|
|
.checked-box {
|
|
width: 32px;
|
|
width: 32px;
|
|
height: 32px;
|
|
height: 32px;
|
|
background: url('@/assets/images/menu/checked-box.png') no-repeat;
|
|
background: url('@/assets/images/menu/checked-box.png') no-repeat;
|
|
margin-right: 12px;
|
|
margin-right: 12px;
|
|
}
|
|
}
|
|
|
|
+
|
|
.checked {
|
|
.checked {
|
|
background: url('@/assets/images/menu/checked-box2.png') no-repeat;
|
|
background: url('@/assets/images/menu/checked-box2.png') no-repeat;
|
|
}
|
|
}
|