feat : 完善一下小程序到家服务的筛选

This commit is contained in:
赵毅 2025-07-14 11:49:16 +08:00
parent ec2293bcb0
commit 4a308bc46f
3 changed files with 556 additions and 417 deletions

View File

@ -1,46 +1,74 @@
<template> <template>
<view class="container"> <view class="container">
<div class="header"> <div class="header">
<div class="searchBox" :style="{ height: localHeight + 'px', paddingTop: top + 'px' }"> <div
class="searchBox"
:style="{ height: localHeight + 'px', paddingTop: top + 'px' }"
>
<view class="searchBox_add"> <view class="searchBox_add">
<u-icon bold color="#000" size="40" name="arrow-left" @click="back"></u-icon> <u-icon
bold
color="#000"
size="40"
name="arrow-left"
@click="back"
></u-icon>
</view> </view>
<div class="iptBox"> <div class="iptBox">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"></image> <image
<u--input placeholder="请输入内容" border="none" v-model="value" @change="change"></u--input> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
></image>
<u--input
placeholder="请输入内容"
border="none"
v-model="value"
@change="change"
></u--input>
</div> </div>
</div> </div>
<div class="Filter"> <div class="Filter">
<div class="Filter_left"> <div class="Filter_left">
<div class="FilterItem" @click="show1 = !show1"> <div class="FilterItem" @click="showDialog(1)">
附近 附近
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="showDialog(2)">
综合 综合
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="showDialog(3)">
排序 排序
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="showDialog(4)">
分类 分类
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="showDialog(5)">
地区 性别
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image>
</div> </div>
</div> </div>
<div class="Filter_right"> <div class="Filter_right">
筛选 筛选
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filter.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filter.png"
></image>
</div> </div>
</div> </div>
<!-- 位置筛选 --> <!-- 位置筛选 -->
@ -107,25 +135,40 @@
<!-- 分类筛选 --> <!-- 分类筛选 -->
<div class="FilterMore3" v-if="show4"> <div class="FilterMore3" v-if="show4">
<div class="filterMore3Item" v-for="(item, index) in 9" :key="index">家电维修</div> <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> </div>
<div class="main"> <div class="main">
<!-- 遮罩 --> <!-- 遮罩 -->
<div class="dialogBox" v-if="show1"></div> <div class="dialogBox" v-if="isShowDia"></div>
<div class="MasterList"> <div class="MasterList">
<div class="MasterItem" v-for="(item, index) in 3" :key="index"> <div class="MasterItem" v-for="(item, index) in 3" :key="index">
<div class="MasterItem_left"> <div class="MasterItem_left">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/community_providentFund_Group_1444.png"></image> <image
<image v-if="false" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/community_providentFund_Ellipse_160.png"> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/community_providentFund_Group_1444.png"
></image>
<image
v-if="false"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/community_providentFund_Ellipse_160.png"
>
</image> </image>
</div> </div>
<div class="MasterItem_right"> <div class="MasterItem_right">
<div class="MasterItem_info"> <div class="MasterItem_info">
<div class="MasterItem_Info_left"> <div class="MasterItem_Info_left">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/home_icon12.png"></image> <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 state1">待服务</div>
<div class="state state2" v-if="false">休息中</div> <div class="state state2" v-if="false">休息中</div>
<div class="state state3" v-if="false">服务中</div> <div class="state state3" v-if="false">服务中</div>
@ -133,15 +176,26 @@
<div class="MasterItem_Info_right"> <div class="MasterItem_Info_right">
<div class="MasterItem_Info_right_1"> <div class="MasterItem_Info_right_1">
林师傅 林师傅
<image class="Medal" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png"> <image
class="Medal"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png"
>
</image> </image>
<image class="Medal" v-if="false" <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png"> class="Medal"
v-if="false"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png"
>
</image> </image>
<image class="star" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.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> <span>4.8</span>
</div> </div>
<div class="MasterItem_Info_right_2">52 广东梅州人 5-10</div> <div class="MasterItem_Info_right_2">
52 广东梅州人 5-10
</div>
<div class="MasterItem_Info_right_3"> <div class="MasterItem_Info_right_3">
<span>500+</span>预定 <span>100+</span>评价 <span>500+</span>预定 <span>100+</span>评价
</div> </div>
@ -156,30 +210,36 @@
</div> </div>
<div class="MasterItem_Info_right_6"> <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
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"></image> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"></image> ></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 class="MasterItem_more" @click="masterInfo"> <div class="MasterItem_more" @click="masterInfo">查看资料</div>
查看资料
</div>
</div> </div>
</div> </div>
</div> </div>
<div class="Btn"> <div class="Btn">确定</div>
确定
</div> </div>
</div>
</view> </view>
</template> </template>
<script> <script>
import { request, picUrl, NavgateTo, menuButtonInfo } from '../../../utils/index'; import {
import { apiArr } from '../../../api/reservation'; request,
picUrl,
NavgateTo,
menuButtonInfo,
} from "../../../utils/index";
import { apiArr } from "../../../api/reservation";
export default { export default {
data() { data() {
@ -190,19 +250,31 @@ export default {
show2: false, show2: false,
show3: false, show3: false,
show4: false, show4: false,
} show5: false,
isShowDia: false,
};
}, },
methods: { methods: {
masterInfo() { masterInfo() {
NavgateTo("../masterInfo/index") NavgateTo("../masterInfo/index");
}, },
back() { back() {
NavgateTo("1") 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() { onReady() {},
},
onLoad(options) { onLoad(options) {
const meun = menuButtonInfo(); const meun = menuButtonInfo();
@ -210,18 +282,13 @@ export default {
// this.top = meun.height + meun.top; // this.top = meun.height + meun.top;
this.localHeight = meun.height; this.localHeight = meun.height;
}, },
onShow() { onShow() {},
},
/** /**
* 页面上拉触底事件的处理函数 * 页面上拉触底事件的处理函数
*/ */
onReachBottom() { onReachBottom() {},
};
},
}
</script> </script>
<style> <style>

View File

@ -1,46 +1,74 @@
<template> <template>
<view class="container"> <view class="container">
<div class="header"> <div class="header">
<div class="searchBox" :style="{ height: localHeight + 'px', paddingTop: top + 'px' }"> <div
class="searchBox"
:style="{ height: localHeight + 'px', paddingTop: top + 'px' }"
>
<view class="searchBox_add"> <view class="searchBox_add">
<u-icon bold color="#000" size="40" name="arrow-left" @click="back"></u-icon> <u-icon
bold
color="#000"
size="40"
name="arrow-left"
@click="back"
></u-icon>
</view> </view>
<div class="iptBox"> <div class="iptBox">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"></image> <image
<u--input placeholder="请输入内容" border="none" v-model="value" @change="change"></u--input> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_communitySearchIcon.png"
></image>
<u--input
placeholder="请输入内容"
border="none"
v-model="value"
@change="change"
></u--input>
</div> </div>
</div> </div>
<div class="Filter"> <div class="Filter">
<div class="Filter_left"> <div class="Filter_left">
<div class="FilterItem" @click="show1 = !show1"> <div class="FilterItem" @click="showDialog(1)">
附近 附近
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="showDialog(2)">
综合 综合
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="showDialog(3)">
排序 排序
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="showDialog(4)">
分类 分类
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="showDialog(5)">
地区 性别
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"
></image>
</div> </div>
</div> </div>
<div class="Filter_right"> <div class="Filter_right">
筛选 筛选
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filter.png"></image> <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filter.png"
></image>
</div> </div>
</div> </div>
<!-- 位置筛选 --> <!-- 位置筛选 -->
@ -107,20 +135,30 @@
<!-- 分类筛选 --> <!-- 分类筛选 -->
<div class="FilterMore3" v-if="show4"> <div class="FilterMore3" v-if="show4">
<div class="filterMore3Item" v-for="(item, index) in 9" :key="index">家电维修</div> <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> </div>
<div class="main"> <div class="main">
<!-- 遮罩 --> <!-- 遮罩 -->
<div class="dialogBox" v-if="show1"></div> <div class="dialogBox" v-if="isShowDia"></div>
<div class="MasterList"> <div class="MasterList">
<div class="MasterItem" v-for="(item, index) in 3" :key="index"> <div class="MasterItem" v-for="(item, index) in 3" :key="index">
<div class="MasterItem_right"> <div class="MasterItem_right">
<div class="MasterItem_info"> <div class="MasterItem_info">
<div class="MasterItem_Info_left"> <div class="MasterItem_Info_left">
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/home_icon12.png"></image> <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 state1">待服务</div>
<div class="state state2" v-if="false">休息中</div> <div class="state state2" v-if="false">休息中</div>
<div class="state state3" v-if="false">服务中</div> <div class="state state3" v-if="false">服务中</div>
@ -129,12 +167,21 @@
<div class="MasterItem_Info_right_1"> <div class="MasterItem_Info_right_1">
<div class="master_info_right_left"> <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
class="Medal"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_Champion.png"
>
</image> </image>
<image class="Medal" v-if="false" <image
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png"> class="Medal"
v-if="false"
src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_RunnerUp.png"
>
</image> </image>
<image class="star" src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/local_start1.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> <span>4.8</span>
</div> </div>
@ -142,7 +189,9 @@
查看资料 查看资料
</div> </div>
</div> </div>
<div class="MasterItem_Info_right_2">52 广东梅州人 5-10</div> <div class="MasterItem_Info_right_2">
52 广东梅州人 5-10
</div>
<div class="MasterItem_Info_right_3"> <div class="MasterItem_Info_right_3">
<span>500+</span>预定 <span>100+</span>评价 <span>500+</span>预定 <span>100+</span>评价
</div> </div>
@ -157,9 +206,15 @@
</div> </div>
<div class="MasterItem_Info_right_6"> <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
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"></image> src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/com_MsgImg1.png"></image> ></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>
@ -167,17 +222,19 @@
</div> </div>
</div> </div>
<div class="Btn"> <div class="Btn">确定</div>
确定
</div> </div>
</div>
</view> </view>
</template> </template>
<script> <script>
import { request, picUrl, NavgateTo, menuButtonInfo } from '../../../utils/index'; import {
import { apiArr } from '../../../api/reservation'; request,
picUrl,
NavgateTo,
menuButtonInfo,
} from "../../../utils/index";
import { apiArr } from "../../../api/reservation";
export default { export default {
data() { data() {
@ -188,19 +245,32 @@ export default {
show2: false, show2: false,
show3: false, show3: false,
show4: false, show4: false,
} show5: false,
isShowDia: false,
};
}, },
methods: { methods: {
masterInfo() { masterInfo() {
NavgateTo("../masterInfo/index") NavgateTo("../masterInfo/index");
}, },
back(){ back() {
NavgateTo("1") NavgateTo("1");
}, },
},
onReady() {
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) { onLoad(options) {
const meun = menuButtonInfo(); const meun = menuButtonInfo();
@ -208,18 +278,13 @@ export default {
// this.top = meun.height + meun.top; // this.top = meun.height + meun.top;
this.localHeight = meun.height; this.localHeight = meun.height;
}, },
onShow() { onShow() {},
},
/** /**
* 页面上拉触底事件的处理函数 * 页面上拉触底事件的处理函数
*/ */
onReachBottom() { onReachBottom() {},
};
},
}
</script> </script>
<style> <style>

View File

@ -13,27 +13,27 @@
<div class="Filter"> <div class="Filter">
<div class="Filter_left"> <div class="Filter_left">
<div class="FilterItem" @click="show1 = !show1"> <div class="FilterItem" @click="show1 = !show1">
附近 接单量
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="show2 = !show2">
综合 满意度
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="show3 = !show3">
排序 排序
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="show4 = !show4">
分类 分类
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image>
</div> </div>
<div class="FilterItem"> <div class="FilterItem" @click="show5 = !show5">
地区 性别
<image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image> <image src="https://wechat-img-file.oss-cn-beijing.aliyuncs.com/property-img-file/homeServer_filterMore.png"></image>
</div> </div>
</div> </div>
@ -109,6 +109,12 @@
<div class="FilterMore3" v-if="show4"> <div class="FilterMore3" v-if="show4">
<div class="filterMore3Item" v-for="(item, index) in 9" :key="index">家电维修</div> <div class="filterMore3Item" v-for="(item, index) in 9" :key="index">家电维修</div>
</div> </div>
<!-- 性别筛选 -->
<div class="FilterMore3" v-if="show5">
<div class="filterMore3Item"></div>
<div class="filterMore3Item"></div>
</div>
</div> </div>
<div class="main"> <div class="main">
@ -188,6 +194,7 @@ export default {
show2: false, show2: false,
show3: false, show3: false,
show4: false, show4: false,
show5: false,
} }
}, },
methods: { methods: {