修改到家服务的搜索显示内容
This commit is contained in:
parent
01aa983ec7
commit
1307aa9a7f
@ -78,6 +78,43 @@
|
||||
}
|
||||
}
|
||||
|
||||
.tabs {
|
||||
align-items: center;
|
||||
background: #ffffff;
|
||||
height: 100rpx;
|
||||
padding: 0 20rpx;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
width: 600rpx;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.tabItem {
|
||||
font-size: 25rpx;
|
||||
color: #222222;
|
||||
margin-right: 60rpx;
|
||||
height: 42rpx;
|
||||
}
|
||||
|
||||
.active2 {
|
||||
font-size: 25rpx;
|
||||
font-weight: 700;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.active2::after {
|
||||
content: '';
|
||||
background: url(https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_active.png) no-repeat;
|
||||
background-size: 100% 100%;
|
||||
width: 52rpx;
|
||||
height: 22rpx;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: -16rpx;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
/* 搜索指定内容 */
|
||||
.specifiedContent {
|
||||
min-height: 30rpx;
|
||||
@ -153,6 +190,10 @@
|
||||
.hot-services {
|
||||
margin: 20rpx;
|
||||
border: 1rpx solid #e8e8e8;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 80vh;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
|
||||
@ -18,7 +18,7 @@
|
||||
<input
|
||||
type="text"
|
||||
class="search-input"
|
||||
placeholder="请选择搜索指定内容"
|
||||
placeholder="请输入内容"
|
||||
v-model="searchText"
|
||||
@confirm="handleSearch"
|
||||
/>
|
||||
@ -26,7 +26,7 @@
|
||||
</view>
|
||||
|
||||
<!-- 搜索指定内容 -->
|
||||
<view
|
||||
<!-- <view
|
||||
class="specifiedContent"
|
||||
v-if="!isLoading && specifiedContent.length > 0 && !hasResult"
|
||||
>
|
||||
@ -42,7 +42,7 @@
|
||||
<view>{{ item.name }}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view> -->
|
||||
|
||||
<!-- 搜索历史 -->
|
||||
<view
|
||||
@ -73,7 +73,25 @@
|
||||
|
||||
<!-- 搜索结果 -->
|
||||
<view class="search-result" v-if="!isLoading && hasResult">
|
||||
<view class="hot-services">
|
||||
<view class="tabs">
|
||||
<view
|
||||
v-for="(item, index) in categoryList"
|
||||
:key="index"
|
||||
:class="['tabItem', selectedTab === index ? 'active2' : '']"
|
||||
@click="selectTab(index, item)"
|
||||
>
|
||||
{{ item.category_name }}
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 全部 -->
|
||||
<searchAll v-if="selectedTab === 0" class="searchAll" />
|
||||
|
||||
<!-- 店铺 -->
|
||||
<searchShop v-if="selectedTab === 1" class="searchShop" />
|
||||
|
||||
<!-- 服务 -->
|
||||
<view class="hot-services" v-if="selectedTab === 2">
|
||||
<view class="service-list">
|
||||
<view
|
||||
class="service-card"
|
||||
@ -121,9 +139,10 @@
|
||||
</view>
|
||||
|
||||
<!-- 回到顶部 -->
|
||||
<div
|
||||
<u-back-top :scroll-top="scrollTop"></u-back-top>
|
||||
<!-- <div
|
||||
class="toUp"
|
||||
v-show="searchHistory.length > 0 && isShowToTop"
|
||||
v-show="isShowToTop"
|
||||
@click="scrollToTop"
|
||||
>
|
||||
<u-badge
|
||||
@ -132,15 +151,23 @@
|
||||
max="99"
|
||||
:value="value"
|
||||
></u-badge>
|
||||
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/toUp.png"></image>
|
||||
</div>
|
||||
<image
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/toUp.png"
|
||||
></image>
|
||||
</div> -->
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { request, NavgateTo } from "../../../utils/index";
|
||||
import SearchAll from "./searchAll.vue";
|
||||
import SearchShop from "./searchShop.vue";
|
||||
|
||||
export default {
|
||||
components: {
|
||||
SearchAll,
|
||||
SearchShop,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
isShowToTop: false,
|
||||
@ -172,10 +199,58 @@ export default {
|
||||
description: "专业保洁团队,全屋深度清洁,去除顽固污渍,还您清新居所",
|
||||
count: "已预约100+",
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: "空调清洗",
|
||||
image: "",
|
||||
badge: "推荐",
|
||||
tag: "平台保障",
|
||||
description: "专业保洁团队,全屋深度清洁,去除顽固污渍,还您清新居所",
|
||||
count: "已预约100+",
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: "空调清洗",
|
||||
image: "",
|
||||
badge: "推荐",
|
||||
tag: "平台保障",
|
||||
description: "专业保洁团队,全屋深度清洁,去除顽固污渍,还您清新居所",
|
||||
count: "已预约100+",
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: "空调清洗",
|
||||
image: "",
|
||||
badge: "推荐",
|
||||
tag: "平台保障",
|
||||
description: "专业保洁团队,全屋深度清洁,去除顽固污渍,还您清新居所",
|
||||
count: "已预约100+",
|
||||
},
|
||||
{
|
||||
id: 1,
|
||||
name: "空调清洗",
|
||||
image: "",
|
||||
badge: "推荐",
|
||||
tag: "平台保障",
|
||||
description: "专业保洁团队,全屋深度清洁,去除顽固污渍,还您清新居所",
|
||||
count: "已预约100+",
|
||||
},
|
||||
],
|
||||
|
||||
categoryList: [
|
||||
{ category_name: "全部" },
|
||||
{ category_name: "店铺" },
|
||||
{ category_name: "服务" },
|
||||
],
|
||||
selectedTab: 0,
|
||||
scrollTop: 0
|
||||
};
|
||||
},
|
||||
|
||||
onPageScroll(e) {
|
||||
this.scrollTop = e.scrollTop;
|
||||
},
|
||||
|
||||
created() {
|
||||
const history = uni.getStorageSync("searchHistory") || [];
|
||||
this.searchHistory = history;
|
||||
@ -186,8 +261,8 @@ export default {
|
||||
window.removeEventListener("scroll", this.handleScroll);
|
||||
},
|
||||
methods: {
|
||||
handleScroll() {
|
||||
this.isShowToTop = window.pageYOffset > 200;
|
||||
handleScroll(e) {
|
||||
this.isShowToTop = e.detail.scrollTop > 0;
|
||||
},
|
||||
scrollToTop() {
|
||||
uni.pageScrollTo({
|
||||
@ -198,6 +273,9 @@ export default {
|
||||
back() {
|
||||
NavgateTo("1");
|
||||
},
|
||||
selectTab(index, item) {
|
||||
this.selectedTab = index;
|
||||
},
|
||||
// 处理搜索
|
||||
handleSearch() {
|
||||
const keyword = this.searchText.trim();
|
||||
@ -262,4 +340,4 @@ export default {
|
||||
|
||||
<style>
|
||||
@import url("./index.css");
|
||||
</style>
|
||||
</style>
|
||||
|
||||
415
packages/homeServer/search/searchAll.css
Normal file
415
packages/homeServer/search/searchAll.css
Normal file
@ -0,0 +1,415 @@
|
||||
page {
|
||||
padding: 0 !important;
|
||||
}
|
||||
|
||||
.container2 {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 83vh;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.main {
|
||||
flex: 1;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
overflow-y: auto;
|
||||
position: relative;
|
||||
padding-bottom: 160rpx;
|
||||
}
|
||||
|
||||
.searchBox {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background-color: #fff;
|
||||
}
|
||||
|
||||
.Filter {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background-color: #fff;
|
||||
margin-top: -20rpx;
|
||||
}
|
||||
|
||||
.Filter_right {
|
||||
width: 133rpx;
|
||||
height: 110rpx;
|
||||
background: #FFFFFF;
|
||||
border-radius: 0rpx 0rpx 0rpx 0rpx;
|
||||
font-size: 30rpx;
|
||||
color: #FF370B;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.Filter_right image {
|
||||
width: 26rpx;
|
||||
height: 30rpx;
|
||||
margin-left: 7rpx;
|
||||
}
|
||||
|
||||
.iptBox {
|
||||
width: 431rpx;
|
||||
height: 70rpx;
|
||||
background: #F6F7FB;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
margin-left: 40rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-left: 30rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.iptBox image {
|
||||
width: 30rpx;
|
||||
height: 30rpx;
|
||||
margin-right: 16rpx;
|
||||
}
|
||||
|
||||
.iptBox .u-input {
|
||||
padding: 0 !important;
|
||||
background-color: transparent !important;
|
||||
|
||||
}
|
||||
|
||||
.Filter_left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
overflow-x: auto;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.FilterItem {
|
||||
font-size: 28rpx;
|
||||
color: #222222;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 0 20rpx;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
|
||||
.FilterItem image {
|
||||
width: 24rpx;
|
||||
height: 15rpx;
|
||||
margin-left: 10rpx;
|
||||
}
|
||||
|
||||
.MasterList {
|
||||
margin-top: 30rpx;
|
||||
background-color: #fff;
|
||||
padding: 12rpx 20rpx 20rpx 20rpx;
|
||||
}
|
||||
|
||||
.MasterItem {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 20rpx;
|
||||
border-bottom: 1rpx solid #EBEBEB;
|
||||
box-sizing: border-box;
|
||||
padding-bottom: 30rpx;
|
||||
padding-top: 20rpx;
|
||||
}
|
||||
.MasterItem:last-child{
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.MasterItem_right {
|
||||
flex: 1;
|
||||
background: #FFFFFF;
|
||||
border-radius: 20rpx 20rpx 20rpx 20rpx;
|
||||
}
|
||||
|
||||
.MasterItem_info {
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
|
||||
.MasterItem_Info_left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
width: 130rpx;
|
||||
margin-right: 40rpx;
|
||||
}
|
||||
|
||||
.MasterItem_Info_left image {
|
||||
width: 130rpx;
|
||||
height: 130rpx;
|
||||
}
|
||||
|
||||
.state {
|
||||
width: 110rpx;
|
||||
height: 40rpx;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 26rpx;
|
||||
color: #FFFFFF;
|
||||
margin: 0 auto;
|
||||
margin-top: -20rpx;
|
||||
z-index: 2;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.state1 {
|
||||
background: #AECE2B;
|
||||
|
||||
}
|
||||
|
||||
.state2 {
|
||||
background: #CECECE;
|
||||
}
|
||||
|
||||
.state3 {
|
||||
background: #FF370B;
|
||||
}
|
||||
|
||||
.MasterItem_Info_right {
|
||||
flex: 1;
|
||||
|
||||
}
|
||||
|
||||
.MasterItem_Info_right_1 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 36rpx;
|
||||
color: #222222;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.Medal {
|
||||
width: 35rpx;
|
||||
height: 40rpx;
|
||||
margin-left: 6rpx;
|
||||
margin-right: 28rpx;
|
||||
}
|
||||
|
||||
.star {
|
||||
width: 22rpx;
|
||||
height: 22rpx;
|
||||
margin-right: 6rpx;
|
||||
}
|
||||
|
||||
.MasterItem_Info_right_1 span {
|
||||
font-size: 26rpx;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.MasterItem_Info_right_2 {
|
||||
font-size: 26rpx;
|
||||
color: #999999;
|
||||
margin-top: 8rpx;
|
||||
}
|
||||
|
||||
.MasterItem_Info_right_3 {
|
||||
font-size: 26rpx;
|
||||
display: flex;
|
||||
color: #999999;
|
||||
align-items: center;
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
|
||||
.MasterItem_Info_right_3 span {
|
||||
color: #FF370B;
|
||||
|
||||
}
|
||||
|
||||
.MasterItem_Info_right_4 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
|
||||
.tagItem {
|
||||
width: 130rpx;
|
||||
height: 40rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
font-size: 22rpx;
|
||||
color: #555555;
|
||||
margin-right: 10rpx;
|
||||
}
|
||||
|
||||
.tag1 {
|
||||
background: rgba(255, 178, 23, 0.1);
|
||||
}
|
||||
|
||||
.tag2 {
|
||||
background: rgba(255, 81, 42, 0.1);
|
||||
}
|
||||
|
||||
.tag3 {
|
||||
background: rgba(175, 175, 175, 0.1);
|
||||
}
|
||||
|
||||
.MasterItem_Info_right_5 {
|
||||
font-size: 28rpx;
|
||||
color: #999999;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 16rpx;
|
||||
}
|
||||
|
||||
.MasterItem_Info_right_5 span {
|
||||
color: #FF370B;
|
||||
}
|
||||
|
||||
.MasterItem_Info_right_6 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.MasterItem_Info_right_6 image {
|
||||
width: 110rpx;
|
||||
height: 110rpx;
|
||||
margin-right: 20rpx;
|
||||
border-radius: 20rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.Btn {
|
||||
font-size: 36rpx;
|
||||
color: #FFFFFF;
|
||||
width: 600rpx;
|
||||
height: 90rpx;
|
||||
background: linear-gradient(91deg, #FF7658 0%, #FF370B 100%);
|
||||
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
bottom: 60rpx;
|
||||
transform: translateX(-50%);
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.local {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.local span {
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.filterMore1 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
overflow: hidden;
|
||||
overflow-x: auto;
|
||||
white-space: nowrap;
|
||||
margin-top: 20rpx;
|
||||
}
|
||||
|
||||
.filterMoreItem {
|
||||
font-size: 28rpx;
|
||||
color: #222222;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background-color: #f6f6fa;
|
||||
padding: 0 20rpx;
|
||||
margin-right: 10rpx;
|
||||
margin-right: 20rpx;
|
||||
border-radius: 20rpx;
|
||||
padding: 10rpx 20rpx;
|
||||
}
|
||||
|
||||
.filterMore2_item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 20rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.filterMore2_item_left {}
|
||||
|
||||
.active2 {
|
||||
color: #ff702c !important;
|
||||
}
|
||||
|
||||
.filterMore2_item_left2 {
|
||||
color: #000;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
.filterMore3Item {
|
||||
font-size: 26rpx;
|
||||
color: #555555;
|
||||
width: 130rpx;
|
||||
height: 50rpx;
|
||||
background: #F6F7FB;
|
||||
border-radius: 10rpx 10rpx 10rpx 10rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 40rpx;
|
||||
margin-bottom: 18rpx;
|
||||
}
|
||||
|
||||
.filterMore3Item:nth-child(4n) {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.fullscreen-black-bg {
|
||||
/* position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
background-color: rgba(0, 0, 0, .4);
|
||||
box-sizing: border-box;
|
||||
z-index: 9;
|
||||
overflow: hidden; */
|
||||
}
|
||||
|
||||
.FilterMore3 {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
padding: 20rpx;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.FilterMore {
|
||||
width: 100%;
|
||||
background-color: #fff;
|
||||
padding: 20rpx;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.dialogBox {
|
||||
position: absolute;
|
||||
background-color: rgba(0, 0, 0, .4);
|
||||
z-index: 8;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
|
||||
.master_info_right_left{
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.master_info_right_right {
|
||||
font-size: 28rpx;
|
||||
color: #FF370B;
|
||||
}
|
||||
265
packages/homeServer/search/searchAll.vue
Normal file
265
packages/homeServer/search/searchAll.vue
Normal file
@ -0,0 +1,265 @@
|
||||
<template>
|
||||
<view class="container2">
|
||||
<div class="header">
|
||||
<div class="Filter">
|
||||
<div class="Filter_left">
|
||||
<div class="FilterItem" @click="showDialog(1)">
|
||||
附近
|
||||
<image
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
|
||||
></image>
|
||||
</div>
|
||||
|
||||
<div class="FilterItem" @click="showDialog(2)">
|
||||
综合
|
||||
<image
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
|
||||
></image>
|
||||
</div>
|
||||
|
||||
<div class="FilterItem" @click="showDialog(3)">
|
||||
排序
|
||||
<image
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
|
||||
></image>
|
||||
</div>
|
||||
|
||||
<div class="FilterItem" @click="showDialog(4)">
|
||||
分类
|
||||
<image
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
|
||||
></image>
|
||||
</div>
|
||||
|
||||
<div class="FilterItem" @click="showDialog(5)">
|
||||
性别
|
||||
<image
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
|
||||
></image>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="Filter_right">
|
||||
筛选
|
||||
<image
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filter.png"
|
||||
></image>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 位置筛选 -->
|
||||
<div class="FilterMore" v-if="show1">
|
||||
<div class="local">距离 <span>上海公馆</span></div>
|
||||
<div class="filterMore1">
|
||||
<div class="filterMoreItem">附近</div>
|
||||
<div class="filterMoreItem">500m</div>
|
||||
<div class="filterMoreItem">1km</div>
|
||||
<div class="filterMoreItem">3km</div>
|
||||
<div class="filterMoreItem">5km</div>
|
||||
<div class="filterMoreItem">10km</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 综合筛选 -->
|
||||
<div class="FilterMore" v-if="show2">
|
||||
<div class="filterMore2_item">
|
||||
<div class="filterMore2_item_left">综合</div>
|
||||
<div class="filterMore2_item_right">
|
||||
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="filterMore2_item">
|
||||
<div class="filterMore2_item_left active2">从高到低</div>
|
||||
<div class="filterMore2_item_right">
|
||||
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="filterMore2_item">
|
||||
<div class="filterMore2_item_left">从低到高</div>
|
||||
<div class="filterMore2_item_right">
|
||||
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 排序筛选 -->
|
||||
<div class="FilterMore" v-if="show3">
|
||||
<div class="filterMore2_item">
|
||||
<div class="filterMore2_item_left2">智能排序</div>
|
||||
<div class="filterMore2_item_right">
|
||||
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="filterMore2_item">
|
||||
<div class="filterMore2_item_left2 active2">距离优先</div>
|
||||
<div class="filterMore2_item_right">
|
||||
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="filterMore2_item">
|
||||
<div class="filterMore2_item_left2">好评优先</div>
|
||||
<div class="filterMore2_item_right">
|
||||
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
|
||||
</div>
|
||||
</div>
|
||||
<div class="filterMore2_item">
|
||||
<div class="filterMore2_item_left2">销量优先</div>
|
||||
<div class="filterMore2_item_right">
|
||||
<u-icon name="checkmark-circle-fill" color="#ff702c"></u-icon>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 分类筛选 -->
|
||||
<div class="FilterMore3" v-if="show4">
|
||||
<div class="filterMore3Item" v-for="(item, index) in 9" :key="index">
|
||||
家电维修
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 性别筛选 -->
|
||||
<div class="FilterMore3" v-if="show5">
|
||||
<div class="filterMore3Item">男</div>
|
||||
<div class="filterMore3Item">女</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="main">
|
||||
<!-- 遮罩 -->
|
||||
<div class="dialogBox" v-if="isShowDia"></div>
|
||||
|
||||
<div class="MasterList">
|
||||
<div class="MasterItem" v-for="(item, index) in 5" :key="index">
|
||||
<div class="MasterItem_right">
|
||||
<div class="MasterItem_info">
|
||||
<div class="MasterItem_Info_left">
|
||||
<image
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/home_icon12.png"
|
||||
></image>
|
||||
<div class="state state1">待服务</div>
|
||||
<div class="state state2" v-if="false">休息中</div>
|
||||
<div class="state state3" v-if="false">服务中</div>
|
||||
</div>
|
||||
<div class="MasterItem_Info_right">
|
||||
<div class="MasterItem_Info_right_1">
|
||||
<div class="master_info_right_left">
|
||||
林师傅
|
||||
<image
|
||||
class="Medal"
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png"
|
||||
>
|
||||
</image>
|
||||
<image
|
||||
class="Medal"
|
||||
v-if="false"
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png"
|
||||
>
|
||||
</image>
|
||||
<image
|
||||
class="star"
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.png"
|
||||
></image>
|
||||
<span>4.8</span>
|
||||
</div>
|
||||
|
||||
<div class="master_info_right_right" @click="masterInfo">
|
||||
查看资料
|
||||
</div>
|
||||
</div>
|
||||
<div class="MasterItem_Info_right_2">
|
||||
52岁 广东梅州人 5-10年
|
||||
</div>
|
||||
<div class="MasterItem_Info_right_3">
|
||||
<span>500+</span>预定 <span>100+</span>评价
|
||||
</div>
|
||||
<div class="MasterItem_Info_right_4">
|
||||
<div class="tagItem tag1">积极主动</div>
|
||||
<div class="tagItem tag2">技术精湛</div>
|
||||
<div class="tagItem tag3">技术精湛</div>
|
||||
</div>
|
||||
|
||||
<div class="MasterItem_Info_right_5">
|
||||
价格范围: <span>¥500-¥800</span>
|
||||
</div>
|
||||
|
||||
<div class="MasterItem_Info_right_6">
|
||||
<image
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
|
||||
></image>
|
||||
<image
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
|
||||
></image>
|
||||
<image
|
||||
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
|
||||
></image>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
request,
|
||||
picUrl,
|
||||
NavgateTo,
|
||||
menuButtonInfo,
|
||||
} from "../../../utils/index";
|
||||
import { apiArr } from "../../../api/reservation";
|
||||
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
top: "",
|
||||
localHeight: "",
|
||||
show1: false,
|
||||
show2: false,
|
||||
show3: false,
|
||||
show4: false,
|
||||
show5: false,
|
||||
isShowDia: false,
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
masterInfo() {
|
||||
NavgateTo("../masterInfo/index");
|
||||
},
|
||||
back() {
|
||||
NavgateTo("1");
|
||||
},
|
||||
|
||||
showDialog(index) {
|
||||
this[`show${index}`] = !this[`show${index}`];
|
||||
this.logOtherButtons(index);
|
||||
this.isShowDia = this[`show${index}`]
|
||||
},
|
||||
logOtherButtons(excludeIndex) {
|
||||
for (let i = 1; i <= 5; i++) {
|
||||
if (i !== excludeIndex) {
|
||||
this[`show${i}`] = false
|
||||
}
|
||||
}
|
||||
},
|
||||
},
|
||||
onReady() {},
|
||||
|
||||
onLoad(options) {
|
||||
const meun = menuButtonInfo();
|
||||
this.top = meun.top;
|
||||
// this.top = meun.height + meun.top;
|
||||
this.localHeight = meun.height;
|
||||
},
|
||||
onShow() {},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {},
|
||||
};
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./searchAll.css");
|
||||
</style>
|
||||
73
packages/homeServer/search/searchShop.css
Normal file
73
packages/homeServer/search/searchShop.css
Normal file
@ -0,0 +1,73 @@
|
||||
.shop-list {
|
||||
padding: 20rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
height: 80vh;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
.shop-card {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 20rpx;
|
||||
border-bottom: 1rpx solid #f5f5f5;
|
||||
}
|
||||
|
||||
.shop-img {
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
border-radius: 10rpx;
|
||||
margin-right: 20rpx;
|
||||
}
|
||||
|
||||
.shop-info {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.shop-title {
|
||||
font-size: 32rpx;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
margin-bottom: 10rpx;
|
||||
}
|
||||
|
||||
.shop-rating {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 24rpx;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.rating-count {
|
||||
margin-right: 15rpx;
|
||||
align-items: center;
|
||||
font-size: 24rpx;
|
||||
color: #999;
|
||||
margin: 20rpx 0;
|
||||
}
|
||||
|
||||
.rating-stars {
|
||||
color: #FFC107;
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
.distance {
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
.fans {
|
||||
margin-right: 15rpx;
|
||||
}
|
||||
|
||||
.enter-shop-btn {
|
||||
width: 120rpx;
|
||||
height: 60rpx;
|
||||
background-color: #FF370B;
|
||||
color: white;
|
||||
border-radius: 30rpx;
|
||||
border: none;
|
||||
font-size: 28rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
201
packages/homeServer/search/searchShop.vue
Normal file
201
packages/homeServer/search/searchShop.vue
Normal file
@ -0,0 +1,201 @@
|
||||
<template>
|
||||
<view class="shop-list">
|
||||
<view class="shop-card" v-for="shop in shops" :key="shop.id">
|
||||
<image :src="shop.image" class="shop-img"></image>
|
||||
<view class="shop-info">
|
||||
<view class="shop-title">{{ shop.title }}</view>
|
||||
<view class="rating-count">{{ shop.ratingCount }}条评价</view>
|
||||
<view class="shop-rating">
|
||||
<view class="rating-stars">
|
||||
<text class="star">★</text>
|
||||
<text class="rating-score">{{ shop.rating }}</text>
|
||||
</view>
|
||||
<view class="distance">
|
||||
<text class="distance-value">{{ shop.distance }}km</text>
|
||||
</view>
|
||||
<view class="fans">
|
||||
<text class="fans-count">{{ shop.fans }}个粉丝</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<button class="enter-shop-btn">进店</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
shops: [
|
||||
{
|
||||
id: 1,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 2,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 3,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 4,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 5,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 6,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
},
|
||||
{
|
||||
id: 7,
|
||||
image: 'http://localhost:8080/test.png',
|
||||
title: '专业到家服务',
|
||||
ratingCount: 5,
|
||||
rating: 4.8,
|
||||
distance: 3.0,
|
||||
fans: 120
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
@import url("./searchShop.css");
|
||||
</style>
|
||||
@ -12,10 +12,10 @@
|
||||
</view>
|
||||
|
||||
<view class="content">
|
||||
<view v-if="selectedTab === 5">
|
||||
<view v-if="selectedTab === 6">
|
||||
<awaitRated />
|
||||
</view>
|
||||
<view v-if="selectedTab === 6">
|
||||
<view v-if="selectedTab === 7">
|
||||
<rated />
|
||||
</view>
|
||||
<view v-else>
|
||||
@ -114,11 +114,13 @@ export default {
|
||||
categoryList: [
|
||||
{ category_name: "全部" },
|
||||
{ category_name: "待付款" },
|
||||
{ category_name: "已取消" },
|
||||
{ category_name: "待发货" },
|
||||
{ category_name: "配送中" },
|
||||
{ category_name: "已完成" },
|
||||
{ category_name: "待评价" },
|
||||
{ category_name: "已评价" },
|
||||
{ category_name: "售后" },
|
||||
],
|
||||
selectedTab: 0,
|
||||
orderData: [],
|
||||
@ -144,7 +146,6 @@ export default {
|
||||
});
|
||||
},
|
||||
goToPay() {
|
||||
console.log("🚀 ~ goToPay ~ goToPay:", "去支付...");
|
||||
},
|
||||
toDetails(order_status) {
|
||||
NavgateTo(
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user