|
|
@@ -1,10 +1,13 @@
|
|
|
<template lang="pug">
|
|
|
.toolbar
|
|
|
.container.is-content
|
|
|
- .level
|
|
|
+ .level.is-mobile
|
|
|
.level-left
|
|
|
.level-item
|
|
|
- b-dropdown(:triggers="['hover']")
|
|
|
+ b-dropdown(
|
|
|
+ :triggers="[isMobile ? 'click' : 'hover']"
|
|
|
+ :append-to-body="isMobile"
|
|
|
+ )
|
|
|
.field.trigger(slot="trigger")
|
|
|
span {{sortType === 1 ? '最新发布' : '综合排序'}}
|
|
|
i.progico.progico-arrow
|
|
|
@@ -18,10 +21,12 @@
|
|
|
) 最新发布
|
|
|
|
|
|
.level-item
|
|
|
- b-dropdown(
|
|
|
- :triggers="['hover']"
|
|
|
- custom
|
|
|
+ b-dropdown.city-dropdown(
|
|
|
+ ref="city-dropdown"
|
|
|
+ :triggers="[isMobile ? 'click' : 'hover']"
|
|
|
:class="{'is-force-hide': forceHideCityMenu}"
|
|
|
+ :append-to-body="isMobile"
|
|
|
+ custom
|
|
|
)
|
|
|
.field.trigger(
|
|
|
slot="trigger"
|
|
|
@@ -87,7 +92,9 @@ export default Vue.extend({
|
|
|
data() {
|
|
|
return {
|
|
|
isChoiceCache: false,
|
|
|
- forceHideCityMenu: false
|
|
|
+ forceHideCityMenu: false,
|
|
|
+ // @ts-ignore
|
|
|
+ isMobile: this.$deviceType.isMobile()
|
|
|
}
|
|
|
},
|
|
|
|
|
|
@@ -118,6 +125,11 @@ export default Vue.extend({
|
|
|
this.$emit('update:cityId', id)
|
|
|
}
|
|
|
|
|
|
+ if (this.isMobile) {
|
|
|
+ // @ts-ignore
|
|
|
+ this.$refs['city-dropdown'].toggle()
|
|
|
+ }
|
|
|
+
|
|
|
this.forceHideCityMenu = true
|
|
|
},
|
|
|
|
|
|
@@ -135,82 +147,106 @@ export default Vue.extend({
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss">
|
|
|
-.kaifain-view .toolbar {
|
|
|
- background: #f6f6f7;
|
|
|
- height: 36px;
|
|
|
+.kaifain-view {
|
|
|
+ .toolbar {
|
|
|
+ background: #f6f6f7;
|
|
|
+ height: 36px;
|
|
|
|
|
|
- .level {
|
|
|
- margin: 0 -0.75rem;
|
|
|
- }
|
|
|
+ .level {
|
|
|
+ margin: 0 -0.75rem;
|
|
|
+ }
|
|
|
+
|
|
|
+ .level-item {
|
|
|
+ font-size: 0.75rem;
|
|
|
+ color: #777;
|
|
|
+ user-select: none;
|
|
|
+
|
|
|
+ .field {
|
|
|
+ height: 36px;
|
|
|
+ min-width: 86px;
|
|
|
+ padding: 0 0.75rem;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+
|
|
|
+ &.trigger:hover {
|
|
|
+ background: #fbfbfc;
|
|
|
+ color: #555;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- .level-item {
|
|
|
- font-size: 0.75rem;
|
|
|
- color: #777;
|
|
|
- user-select: none;
|
|
|
-
|
|
|
- .field {
|
|
|
- height: 36px;
|
|
|
- min-width: 86px;
|
|
|
- padding: 0 0.75rem;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
-
|
|
|
- &.trigger:hover {
|
|
|
- background: #fbfbfc;
|
|
|
- color: #555;
|
|
|
+ .progico-arrow {
|
|
|
+ transform: rotate(90deg);
|
|
|
+ font-size: 10px;
|
|
|
+ margin: 2px 0 0 4px;
|
|
|
+ opacity: 0.86;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .progico-arrow {
|
|
|
- transform: rotate(90deg);
|
|
|
- font-size: 10px;
|
|
|
- margin: 2px 0 0 4px;
|
|
|
- opacity: 0.86;
|
|
|
+ .dropdown-menu {
|
|
|
+ padding: 0;
|
|
|
+ margin-top: -4px;
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- .dropdown-menu {
|
|
|
- padding: 0;
|
|
|
- margin-top: -4px;
|
|
|
- }
|
|
|
+ .dropdown-content {
|
|
|
+ box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1);
|
|
|
+ border-radius: 0;
|
|
|
+ }
|
|
|
|
|
|
- .dropdown-content {
|
|
|
- box-shadow: 0 0.5em 1em -0.125em rgba(10, 10, 10, 0.1);
|
|
|
- border-radius: 0;
|
|
|
- }
|
|
|
+ .dropdown-item {
|
|
|
+ font-size: 0.75rem;
|
|
|
+ }
|
|
|
|
|
|
- .dropdown-item {
|
|
|
- font-size: 0.75rem;
|
|
|
- }
|
|
|
+ @media screen and (max-width: 767px) {
|
|
|
+ .level {
|
|
|
+ margin: 0;
|
|
|
+ }
|
|
|
|
|
|
- .city-menu {
|
|
|
- width: 392px;
|
|
|
- padding: 0.5rem 0 0.5rem 1rem;
|
|
|
+ .level-left {
|
|
|
+ flex: 1;
|
|
|
+ }
|
|
|
|
|
|
- .split {
|
|
|
- height: 1px;
|
|
|
- background: #eee;
|
|
|
- margin: 0.75rem 1rem 0.75rem 0;
|
|
|
+ .level-right {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
}
|
|
|
+ }
|
|
|
+
|
|
|
+ .city-dropdown {
|
|
|
+ .city-menu {
|
|
|
+ width: 392px;
|
|
|
+ padding: 0.5rem 0 0.5rem 1rem;
|
|
|
|
|
|
- .tag {
|
|
|
- min-width: 68px;
|
|
|
- background: transparent;
|
|
|
- cursor: pointer;
|
|
|
+ .split {
|
|
|
+ height: 1px;
|
|
|
+ background: #eee;
|
|
|
+ margin: 0.75rem 1rem 0.75rem 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ .tag {
|
|
|
+ min-width: 68px;
|
|
|
+ background: transparent;
|
|
|
+ cursor: pointer;
|
|
|
+
|
|
|
+ &:not(.is-primary):hover {
|
|
|
+ background: #f2f3f3;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
- &:not(.is-primary):hover {
|
|
|
- background: #f2f3f3;
|
|
|
+ .tags > .tag {
|
|
|
+ margin: 0 0.25rem 0.3125rem 0;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .tags > .tag {
|
|
|
- margin: 0 0.25rem 0.3125rem 0;
|
|
|
+ &.is-mobile-modal {
|
|
|
+ .city-menu {
|
|
|
+ width: auto;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-}
|
|
|
|
|
|
-.kaifain-view .dropdown.is-hoverable.is-force-hide .dropdown-menu {
|
|
|
- display: none;
|
|
|
+ .dropdown.is-hoverable.is-force-hide .dropdown-menu {
|
|
|
+ display: none;
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|