feat: 城市列表页搜索功能增加防抖And商家管理退款静态页面开发
This commit is contained in:
parent
6db9b3becf
commit
702d3ffcec
@ -3,7 +3,7 @@ page {
|
|||||||
}
|
}
|
||||||
.container {
|
.container {
|
||||||
.container_body {
|
.container_body {
|
||||||
background: url("http://127.0.0.1:5500/assets/community_providentFund_Group_1523.png") no-repeat;
|
background: url("http://192.168.0.152:5500/assets/community_providentFund_Group_1523.png") no-repeat;
|
||||||
background-size: 100% 100%;
|
background-size: 100% 100%;
|
||||||
}
|
}
|
||||||
.title {
|
.title {
|
||||||
|
|||||||
@ -59,13 +59,13 @@
|
|||||||
<image
|
<image
|
||||||
v-if="item.checked"
|
v-if="item.checked"
|
||||||
class="pic"
|
class="pic"
|
||||||
src="http://127.0.0.1:5500/assets/community_providentFund_Group_1444.png"
|
src="http://192.168.0.152:5500/assets/community_providentFund_Group_1444.png"
|
||||||
mode="scaleToFill"
|
mode="scaleToFill"
|
||||||
/>
|
/>
|
||||||
<image
|
<image
|
||||||
v-else
|
v-else
|
||||||
class="pic"
|
class="pic"
|
||||||
src="http://127.0.0.1:5500/assets/community_providentFund_Ellipse_160.png"
|
src="http://192.168.0.152:5500/assets/community_providentFund_Ellipse_160.png"
|
||||||
mode="scaleToFill"
|
mode="scaleToFill"
|
||||||
/>
|
/>
|
||||||
</view>
|
</view>
|
||||||
@ -90,7 +90,7 @@ export default {
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
top: '',
|
top: '',
|
||||||
moeny: 0.00,
|
moeny: '0.00',
|
||||||
show: false,
|
show: false,
|
||||||
ownerDesc: '本房产的物业公积金为该房产的所有成员物业公积金总和。无需经过成员同意便可用于本房产的物业费抵扣,一旦成功抵扣,成员所拥有的物业公积金将自动进行扣除。',
|
ownerDesc: '本房产的物业公积金为该房产的所有成员物业公积金总和。无需经过成员同意便可用于本房产的物业费抵扣,一旦成功抵扣,成员所拥有的物业公积金将自动进行扣除。',
|
||||||
desc: '物业公积金可通用至您加入的所有房产,任一房产的物业相关费用均可用该物业公积金抵扣。',
|
desc: '物业公积金可通用至您加入的所有房产,任一房产的物业相关费用均可用该物业公积金抵扣。',
|
||||||
|
|||||||
@ -89,11 +89,11 @@
|
|||||||
<view>导航</view>
|
<view>导航</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="left_label" @click="handlePhoneClick">
|
<view class="left_label" @click="handlePhoneClick">
|
||||||
<image src="http://127.0.0.1:5500/assets/localLife_detail_Frame.png" mode="" />
|
<image src="http://192.168.0.152:5500/assets/localLife_detail_Frame.png" mode="" />
|
||||||
<view>电话</view>
|
<view>电话</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="left_label" @click="handleDiscussClick">
|
<view class="left_label" @click="handleDiscussClick">
|
||||||
<image src="http://127.0.0.1:5500/assets/localLife_shopList_Group_1334.png" mode="" />
|
<image src="http://192.168.0.152:5500/assets/localLife_shopList_Group_1334.png" mode="" />
|
||||||
<view>点评</view>
|
<view>点评</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<view class="discuss">
|
<view class="discuss">
|
||||||
<image
|
<image
|
||||||
class="discuss_pic"
|
class="discuss_pic"
|
||||||
src="http://127.0.0.1:5500/assets/localLife_shopList_Group_1334.png"
|
src="http://192.168.0.152:5500/assets/localLife_shopList_Group_1334.png"
|
||||||
/>
|
/>
|
||||||
<text>点评</text>
|
<text>点评</text>
|
||||||
</view>
|
</view>
|
||||||
@ -49,7 +49,7 @@ export default {
|
|||||||
list: [
|
list: [
|
||||||
{
|
{
|
||||||
title: "李氏济世堂",
|
title: "李氏济世堂",
|
||||||
pic: "http://127.0.0.1:5500/assets/index_Mask_group.png",
|
pic: "http://192.168.0.152:5500/assets/index_Mask_group.png",
|
||||||
desc: ["到家服务", "买单返物业费", "买单返物业费"],
|
desc: ["到家服务", "买单返物业费", "买单返物业费"],
|
||||||
address: "苏州市太仓市城厢镇桃园三村11幢105市",
|
address: "苏州市太仓市城厢镇桃园三村11幢105市",
|
||||||
distance: "898km",
|
distance: "898km",
|
||||||
@ -57,7 +57,7 @@ export default {
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: "美容美发",
|
title: "美容美发",
|
||||||
pic: "http://127.0.0.1:5500/assets/index_Mask_group.png",
|
pic: "http://192.168.0.152:5500/assets/index_Mask_group.png",
|
||||||
desc: [ "买单返物业费"],
|
desc: [ "买单返物业费"],
|
||||||
address: "苏州市太仓市城厢镇桃园三村11幢105市",
|
address: "苏州市太仓市城厢镇桃园三村11幢105市",
|
||||||
distance: "898km",
|
distance: "898km",
|
||||||
|
|||||||
133
packages/user/orderDetail/index.scss
Normal file
133
packages/user/orderDetail/index.scss
Normal file
@ -0,0 +1,133 @@
|
|||||||
|
page {
|
||||||
|
background: #F6F7FB;
|
||||||
|
// background: red;
|
||||||
|
}
|
||||||
|
.container {
|
||||||
|
margin: 0 20px;
|
||||||
|
.header {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
.title {
|
||||||
|
padding-left: 20rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
color: #222222;
|
||||||
|
height: 85rpx;
|
||||||
|
line-height: 85rpx;
|
||||||
|
border-radius: 20rpx 20rpx 0 0;
|
||||||
|
background: linear-gradient( 304deg, #FFFFFF 0%, #FEE7C3 100%);
|
||||||
|
}
|
||||||
|
.list {
|
||||||
|
padding: 20rpx;
|
||||||
|
.item {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
&:first-child{
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
.label {
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
.desc {
|
||||||
|
font-weight: 400;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #222222;
|
||||||
|
text-align: right;
|
||||||
|
.price {
|
||||||
|
font-size: 36rpx;
|
||||||
|
}
|
||||||
|
.time {
|
||||||
|
font-size: 24rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
.payLogo {
|
||||||
|
width: 36rpx;
|
||||||
|
height: 31rpx;
|
||||||
|
margin-right: 10rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.pay {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.line {
|
||||||
|
height: 0;
|
||||||
|
margin: 30rpx 0 10rpx;
|
||||||
|
border-bottom: 1px solid #EBEBEB;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.main {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
padding: 58rpx 20rpx;
|
||||||
|
.title {
|
||||||
|
font-size: 32rpx;
|
||||||
|
color: #222222;
|
||||||
|
font-weight: 600;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.price {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 60rpx;
|
||||||
|
color: #FF370B;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
font-weight: 800;
|
||||||
|
}
|
||||||
|
.desc {
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #999999;
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
.remark {
|
||||||
|
margin-top: 58rpx;
|
||||||
|
font-size: 26rpx;
|
||||||
|
color: #999999;
|
||||||
|
margin-bottom: 25rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.btn {
|
||||||
|
margin: 60rpx auto 0;
|
||||||
|
width: 600rpx;
|
||||||
|
height: 90rpx;
|
||||||
|
line-height: 90rpx;
|
||||||
|
background: linear-gradient( 91deg, #FF7658 0%, #FF370B 100%);
|
||||||
|
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.popup_container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
.popup_pic {
|
||||||
|
margin-top: 51rpx;
|
||||||
|
width: 169rpx;
|
||||||
|
height: 148rpx;
|
||||||
|
}
|
||||||
|
.title {
|
||||||
|
margin-top: 28rpx;
|
||||||
|
font-size: 36rpx;
|
||||||
|
color: #222222;
|
||||||
|
font-weight: 500;
|
||||||
|
margin-bottom: 56rpx;
|
||||||
|
}
|
||||||
|
.btn {
|
||||||
|
width: 170rpx;
|
||||||
|
height: 52rpx;
|
||||||
|
line-height: 52rpx;
|
||||||
|
background: #FF370B;
|
||||||
|
border-radius: 100rpx 100rpx 100rpx 100rpx;
|
||||||
|
font-size: 28rpx;
|
||||||
|
color: #FFFFFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
109
packages/user/orderDetail/index.vue
Normal file
109
packages/user/orderDetail/index.vue
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
<template>
|
||||||
|
<view class="container">
|
||||||
|
<view class="header">
|
||||||
|
<view class="title">订单编号:12345678941</view>
|
||||||
|
<view class="list">
|
||||||
|
<view class="item">
|
||||||
|
<view class="label">收益金额</view>
|
||||||
|
<view class="desc">
|
||||||
|
<view class="price">¥65.1</view>
|
||||||
|
<view class="time">刚刚</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="line" />
|
||||||
|
<view class="item">
|
||||||
|
<view class="label">消费门店</view>
|
||||||
|
<view class="desc">真彩图文</view>
|
||||||
|
</view>
|
||||||
|
<view class="item">
|
||||||
|
<view class="label">支付状态</view>
|
||||||
|
<view class="desc">已支付</view>
|
||||||
|
</view>
|
||||||
|
<view class="item">
|
||||||
|
<view class="label">支付方式</view>
|
||||||
|
<view class="desc pay">
|
||||||
|
<image
|
||||||
|
class="payLogo"
|
||||||
|
src="http://192.168.0.152:5500/assets/orderDetail_Vector17.png"
|
||||||
|
mode="scaleToFill"
|
||||||
|
/>
|
||||||
|
微信支付</view>
|
||||||
|
</view>
|
||||||
|
<view class="item">
|
||||||
|
<view class="label">创建时间</view>
|
||||||
|
<view class="desc">2025-06-25 18:10:08</view>
|
||||||
|
</view>
|
||||||
|
<view class="item">
|
||||||
|
<view class="label">收款单号</view>
|
||||||
|
<view class="desc">103481365813181</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="main">
|
||||||
|
<view class="title">退款</view>
|
||||||
|
<view class="price">¥64.1</view>
|
||||||
|
<view class="desc">确认退款后款项将自动原路返回消费者</view>
|
||||||
|
<view class="remark">退款备注</view>
|
||||||
|
<input type="text" :value="desc"placeholder="请输入备注内容" @input="headerInputClick" />
|
||||||
|
</view>
|
||||||
|
<view class="btn" @click="headerSubmitClick">确定</view>
|
||||||
|
|
||||||
|
<u-popup :show="show" mode="center" customStyle="width: 550rpx; heigt: 456rpx" :round="20" @close="close">
|
||||||
|
<view class="popup_container">
|
||||||
|
<image
|
||||||
|
class="popup_pic"
|
||||||
|
src="http://192.168.0.152:5500/assets/orderDetail_Group_1600.png"
|
||||||
|
mode="scaleToFill"
|
||||||
|
/>
|
||||||
|
<view class="title">提交成功</view>
|
||||||
|
<view class="btn" @click="close">确定</view>
|
||||||
|
</view>
|
||||||
|
</u-popup>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import {
|
||||||
|
request,
|
||||||
|
picUrl,
|
||||||
|
menuButtonInfo,
|
||||||
|
} from '../../../utils';
|
||||||
|
|
||||||
|
import { apiArr } from '../../../api/v2Community';
|
||||||
|
|
||||||
|
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
top: '',
|
||||||
|
moeny: '0.00',
|
||||||
|
desc: '',
|
||||||
|
show: false,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onLoad(options) {
|
||||||
|
const meun = menuButtonInfo();
|
||||||
|
this.top = meun.height + meun.top;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
headerSubmitClick() {
|
||||||
|
this.show = true;
|
||||||
|
},
|
||||||
|
|
||||||
|
headerInputClick(e) {
|
||||||
|
this.desc = e.detail.value;
|
||||||
|
},
|
||||||
|
|
||||||
|
close() {
|
||||||
|
this.show = false;
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss">
|
||||||
|
@import './index.scss';
|
||||||
|
|
||||||
|
</style>
|
||||||
@ -313,6 +313,13 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"path": "orderDetail/index",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "退款操作",
|
||||||
|
"navigationBarBackgroundColor": "#F9F9F9"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"path": "resetPwd/index",
|
"path": "resetPwd/index",
|
||||||
"style": {
|
"style": {
|
||||||
|
|||||||
@ -2,9 +2,12 @@ page {
|
|||||||
height: 100vh;
|
height: 100vh;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
}
|
}
|
||||||
|
.search_popup {
|
||||||
|
max-height: 1000rpx;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
.city-select-page {
|
.city-select-page {
|
||||||
background-color: #f9f9f9;
|
background-color: #f9f9f9;
|
||||||
/* background-color: red; */
|
|
||||||
}
|
}
|
||||||
.white_container {
|
.white_container {
|
||||||
background: #FFFFFF;
|
background: #FFFFFF;
|
||||||
@ -24,6 +27,7 @@ page {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.hot-cities {
|
.hot-cities {
|
||||||
|
padding-right: 36rpx;
|
||||||
margin-top: 40rpx;
|
margin-top: 40rpx;
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
||||||
}
|
}
|
||||||
@ -37,10 +41,11 @@ page {
|
|||||||
.city-list {
|
.city-list {
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
padding-left: 4rpx;
|
||||||
}
|
}
|
||||||
.city_name {
|
.city_name {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
padding: 13rpx 52rpx 18rpx;
|
padding: 13rpx 38rpx 18rpx;
|
||||||
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
border-radius: 8rpx 8rpx 8rpx 8rpx;
|
||||||
border: 1rpx solid #EBEBEB;
|
border: 1rpx solid #EBEBEB;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<template>
|
<template>
|
||||||
<view class="city-select-page">
|
<view class="city-select-page" v-if="loading">
|
||||||
<view class="white_container padding_bottom40">
|
<view class="white_container padding_bottom40">
|
||||||
<!-- 搜索框 -->
|
<!-- 搜索框 -->
|
||||||
<u-search
|
<u-search
|
||||||
@ -13,7 +13,9 @@
|
|||||||
shape="round"
|
shape="round"
|
||||||
></u-search>
|
></u-search>
|
||||||
<view v-if="searchValue" class="search_popup">
|
<view v-if="searchValue" class="search_popup">
|
||||||
|
<view v-if="searchRes.length === 0" class="list-item">暂无搜索结果</view>
|
||||||
<view
|
<view
|
||||||
|
v-else
|
||||||
v-for="(item, index) in searchRes"
|
v-for="(item, index) in searchRes"
|
||||||
:key="index"
|
:key="index"
|
||||||
:class="['list-item', index === searchRes.length - 1 && 'no_border']"
|
:class="['list-item', index === searchRes.length - 1 && 'no_border']"
|
||||||
@ -37,11 +39,11 @@
|
|||||||
<text class="title">国内热门城市</text>
|
<text class="title">国内热门城市</text>
|
||||||
<view class="city-list">
|
<view class="city-list">
|
||||||
<view
|
<view
|
||||||
v-for="(item, index) in hotCities"
|
v-for="(item, index) in hotCityList"
|
||||||
class="city_name"
|
class="city_name"
|
||||||
:key="index"
|
:key="index"
|
||||||
@click="headerSelectMapClick(item)"
|
@click="headerSelectMapClick(item)"
|
||||||
>{{ item }}</view
|
>{{ item.name }}</view
|
||||||
>
|
>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -93,7 +95,7 @@
|
|||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { apiArr } from "../../api/area.js";
|
import { apiArr } from "../../api/area.js";
|
||||||
import { request } from "../../utils/index.js";
|
import { request, debounce } from "../../utils/index.js";
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
@ -149,29 +151,10 @@ export default {
|
|||||||
],
|
],
|
||||||
activeId: "", // 当前高亮的字母区域 ID
|
activeId: "", // 当前高亮的字母区域 ID
|
||||||
activeLetter: "", // 当前高亮的字母
|
activeLetter: "", // 当前高亮的字母
|
||||||
searchRes: [
|
searchRes: [],
|
||||||
{
|
loading: false,
|
||||||
name: "河北,石家庄",
|
hotCityList: [], // 接口请求返回参数信息
|
||||||
},
|
groupedData: [], // 实际展示数据
|
||||||
{
|
|
||||||
name: "河北,廊坊",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "河北,保定",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "河北,衡水",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "河北,沧州",
|
|
||||||
},
|
|
||||||
{
|
|
||||||
name: "河北,唐山",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
|
|
||||||
cityList: [], // 接口请求返回参数信息
|
|
||||||
groupedData: [], // 分组后的数据
|
|
||||||
|
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
@ -217,13 +200,28 @@ export default {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleSearch(e) {
|
handleSearch: debounce(function(keyword) {
|
||||||
// 搜索逻辑,可以在这里根据 searchValue 过滤城市数据
|
if(keyword === '') {
|
||||||
this.searchValue = e;
|
this.searchValue = '';
|
||||||
console.log("搜ee索:", e);
|
this.searchRes = [];
|
||||||
},
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
groupData() {
|
uni.showLoading({
|
||||||
|
title: '加载中',
|
||||||
|
mask: true
|
||||||
|
})
|
||||||
|
request(apiArr.getRegionList, 'POST', {
|
||||||
|
short_name: keyword
|
||||||
|
}, { silent: false }).then((res) => {
|
||||||
|
console.log('搜索结果', res);
|
||||||
|
this.searchValue = keyword;
|
||||||
|
this.searchRes = res.rows || [];
|
||||||
|
uni.hideLoading();
|
||||||
|
})
|
||||||
|
}, 500),
|
||||||
|
|
||||||
|
groupData(item) {
|
||||||
const map = {};
|
const map = {};
|
||||||
this.letters.forEach((letter) => {
|
this.letters.forEach((letter) => {
|
||||||
map[letter] = {
|
map[letter] = {
|
||||||
@ -232,9 +230,9 @@ export default {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
|
|
||||||
this.cityList.forEach((item) => {
|
item.forEach((items) => {
|
||||||
if (map[item.letters]) {
|
if (map[items.letters]) {
|
||||||
map[item.letters].list.push(item);
|
map[items.letters].list.push(items);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -242,6 +240,8 @@ export default {
|
|||||||
this.groupedData = Object.values(map).filter(
|
this.groupedData = Object.values(map).filter(
|
||||||
(group) => group.list.length > 0
|
(group) => group.list.length > 0
|
||||||
);
|
);
|
||||||
|
uni.hideLoading();
|
||||||
|
this.loading = true;
|
||||||
},
|
},
|
||||||
|
|
||||||
// 点击字母滚动到对应区域
|
// 点击字母滚动到对应区域
|
||||||
@ -254,16 +254,32 @@ export default {
|
|||||||
|
|
||||||
|
|
||||||
async init() {
|
async init() {
|
||||||
const res = await request(apiArr.getRegionList, 'POST', {
|
uni.showLoading({
|
||||||
page_num: 1,
|
title: '加载中',
|
||||||
page_size: 100,
|
mask: true
|
||||||
});
|
})
|
||||||
console.log('111111', res);
|
const res = await request(apiArr.getRegionList, 'POST', {}, { silent: false });
|
||||||
this.cityList = res.rows;
|
// TODO: 数据量返回过于庞大,只获取所需信息,其他内容舍弃
|
||||||
const hotsList = res.rows.filter((item) => item.hot === 2);
|
const newRes = res.rows.map((item) => {
|
||||||
|
return {
|
||||||
|
lat: item.lat,
|
||||||
|
letters: item.letters,
|
||||||
|
long: item.long,
|
||||||
|
name: item.name,
|
||||||
|
}
|
||||||
|
})
|
||||||
|
console.log('111', newRes)
|
||||||
|
// this.cityList = newRes;
|
||||||
|
const hotsList = res.rows.filter((item) => item.hot === 2).map((item) => {
|
||||||
|
return {
|
||||||
|
lat: item.lat,
|
||||||
|
long: item.long,
|
||||||
|
name: item.name,
|
||||||
|
};
|
||||||
|
});
|
||||||
console.log('热门城市信息', hotsList);
|
console.log('热门城市信息', hotsList);
|
||||||
|
this.hotCityList = hotsList;
|
||||||
await this.groupData();
|
await this.groupData(newRes);
|
||||||
},
|
},
|
||||||
|
|
||||||
// 滚动时监听当前位置
|
// 滚动时监听当前位置
|
||||||
|
|||||||
@ -6,7 +6,7 @@ page {
|
|||||||
/* height: 578rpx; */
|
/* height: 578rpx; */
|
||||||
/* background: linear-gradient(to bottom, #FFE7E1, #FFFFFF); */
|
/* background: linear-gradient(to bottom, #FFE7E1, #FFFFFF); */
|
||||||
/* background: linear-gradient( 359deg, rgba(255,255,255,0) 0%, #FDD9CA 100%); */
|
/* background: linear-gradient( 359deg, rgba(255,255,255,0) 0%, #FDD9CA 100%); */
|
||||||
background: url('http://127.0.0.1:5500/assets/page_user_Group_1584.png');
|
background: url('http://192.168.0.152:5500/assets/page_user_Group_1584.png');
|
||||||
background-size: contain;
|
background-size: contain;
|
||||||
background-repeat: no-repeat;
|
background-repeat: no-repeat;
|
||||||
background-attachment: fixed;
|
background-attachment: fixed;
|
||||||
|
|||||||
@ -10,7 +10,7 @@
|
|||||||
<view class="avatar_title">
|
<view class="avatar_title">
|
||||||
<view class="login-btn">{{userInfo.nick_name ? userInfo.nick_name : '登录/注册'}}</view>
|
<view class="login-btn">{{userInfo.nick_name ? userInfo.nick_name : '登录/注册'}}</view>
|
||||||
<view class="avatar_setting">
|
<view class="avatar_setting">
|
||||||
<image src="http://127.0.0.1:5500/assets/page_user_Vector13.png" mode="" @click.stop="headerRefreshClick"/>
|
<image src="http://192.168.0.152:5500/assets/page_user_Vector13.png" mode="" @click.stop="headerRefreshClick"/>
|
||||||
<button
|
<button
|
||||||
class="login-btn"
|
class="login-btn"
|
||||||
open-type="getPhoneNumber"
|
open-type="getPhoneNumber"
|
||||||
@ -19,7 +19,7 @@
|
|||||||
@getphonenumber="getPhoneNumber"
|
@getphonenumber="getPhoneNumber"
|
||||||
id="hiddenLoginBtn"
|
id="hiddenLoginBtn"
|
||||||
></button>
|
></button>
|
||||||
<image src="http://127.0.0.1:5500/assets/page_user_Vector14.png" mode="" @click.stop="headerSettingsClick"/>
|
<image src="http://192.168.0.152:5500/assets/page_user_Vector14.png" mode="" @click.stop="headerSettingsClick"/>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="avater_mobile">{{ userInfo.mobile }}</view>
|
<view class="avater_mobile">{{ userInfo.mobile }}</view>
|
||||||
@ -49,26 +49,26 @@
|
|||||||
<view class="gold_title">
|
<view class="gold_title">
|
||||||
<span class="gold">金币</span> <span class="monenyt">0</span> | <span class="price">价值0.00元</span> <u-icon size="30" name="arrow-right" />
|
<span class="gold">金币</span> <span class="monenyt">0</span> | <span class="price">价值0.00元</span> <u-icon size="30" name="arrow-right" />
|
||||||
</view>
|
</view>
|
||||||
<image class="gold_pic" src="http://127.0.0.1:5500/assets/page_user_Group_1556.png" />
|
<image class="gold_pic" src="http://192.168.0.152:5500/assets/page_user_Group_1556.png" />
|
||||||
</view>
|
</view>
|
||||||
<view class="main main1">
|
<view class="main main1">
|
||||||
<view class="main_title">物业服务</view>
|
<view class="main_title">物业服务</view>
|
||||||
<view class="item1">
|
<view class="item1">
|
||||||
<view class="item_device" @click="handleCommunityClick">
|
<view class="item_device" @click="handleCommunityClick">
|
||||||
<image class="icon-community icon-img"
|
<image class="icon-community icon-img"
|
||||||
src="http://127.0.0.1:5500/assets/page_user_Group_1382.png"></image>
|
src="http://192.168.0.152:5500/assets/page_user_Group_1382.png"></image>
|
||||||
<text class="community-title title-item">我的房产</text>
|
<text class="community-title title-item">我的房产</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="item_device" @click="handleApplyOwnerClick">
|
<view class="item_device" @click="handleApplyOwnerClick">
|
||||||
<image class="icon-img" src="http://127.0.0.1:5500/assets/page_user_Group_1559.png" />
|
<image class="icon-img" src="http://192.168.0.152:5500/assets/page_user_Group_1559.png" />
|
||||||
<text class="owner-title title-item">物业账单</text>
|
<text class="owner-title title-item">物业账单</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="item_device" @click="handleFacilityClick">
|
<view class="item_device" @click="handleFacilityClick">
|
||||||
<image class="icon-img" src="http://127.0.0.1:5500/assets/page_user_Group_1557.png"/>
|
<image class="icon-img" src="http://192.168.0.152:5500/assets/page_user_Group_1557.png"/>
|
||||||
<text class="device-title title-item">我的工单</text>
|
<text class="device-title title-item">我的工单</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="item_device" @click="handleMeApplyClick">
|
<view class="item_device" @click="handleMeApplyClick">
|
||||||
<image class="icon-img" src="http://127.0.0.1:5500/assets/page_user_Group_1558.png"/>
|
<image class="icon-img" src="http://192.168.0.152:5500/assets/page_user_Group_1558.png"/>
|
||||||
<text class="device-title title-item">我的管家</text>
|
<text class="device-title title-item">我的管家</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -109,8 +109,19 @@
|
|||||||
</u-grid>
|
</u-grid>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
<view class="main margin20" v-if="isShop">
|
||||||
|
<view class="main_title">商家端</view>
|
||||||
|
<view class="item1 padding_bottom0">
|
||||||
|
<u-grid col="4" :border="false" >
|
||||||
|
<u-grid-item @click="headerOrderClick(item)" v-for="(item, index) in shopManagementList" :key="index">
|
||||||
|
<image class="nav_icon" :src="item.image" mode=""></image>
|
||||||
|
<text class="grid-text">{{item.name}}</text>
|
||||||
|
</u-grid-item>
|
||||||
|
</u-grid>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<view class="customer" @click="headerCustomerClick">
|
<view class="customer" @click="headerCustomerClick">
|
||||||
<image src="http://127.0.0.1:5500/assets/page_user_Vector16.png" mode=""/>
|
<image src="http://192.168.0.152:5500/assets/page_user_Vector16.png" mode=""/>
|
||||||
<view>客服</view>
|
<view>客服</view>
|
||||||
</view>
|
</view>
|
||||||
<view style="padding-top: 174rpx;"></view>
|
<view style="padding-top: 174rpx;"></view>
|
||||||
@ -127,70 +138,75 @@
|
|||||||
return {
|
return {
|
||||||
top: 0,
|
top: 0,
|
||||||
networkList: [{
|
networkList: [{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1568.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1568.png",
|
||||||
name: "我的订单",
|
name: "我的订单",
|
||||||
url: "",
|
url: "",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1567.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1567.png",
|
||||||
name: "我的拼团",
|
name: "我的拼团",
|
||||||
url: "",
|
url: "",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1565.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1565.png",
|
||||||
name: "我的收藏",
|
name: "我的收藏",
|
||||||
url: "",
|
url: "",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1566.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1566.png",
|
||||||
name: "售后服务",
|
name: "售后服务",
|
||||||
url: "",
|
url: "",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1563.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1563.png",
|
||||||
name: "收货地址",
|
name: "收货地址",
|
||||||
url: "",
|
url: "",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1564.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1564.png",
|
||||||
name: "购物车",
|
name: "购物车",
|
||||||
url: "",
|
url: "",
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
visitList: [{
|
visitList: [{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1572.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1572.png",
|
||||||
name: "服务工单",
|
name: "服务工单",
|
||||||
url: "",
|
url: "",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1573.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1573.png",
|
||||||
name: "服务地址",
|
name: "服务地址",
|
||||||
url: "",
|
url: "",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1574.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1574.png",
|
||||||
name: "服务卡",
|
name: "服务卡",
|
||||||
url: "",
|
url: "",
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
shopList: [{
|
shopList: [{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1580.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1580.png",
|
||||||
name: "附近门店",
|
name: "附近门店",
|
||||||
url: "",
|
url: "",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1581.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1581.png",
|
||||||
name: "服务券",
|
name: "服务券",
|
||||||
url: "",
|
url: "",
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
image: "http://127.0.0.1:5500/assets/page_user_Group_1582.png",
|
image: "http://192.168.0.152:5500/assets/page_user_Group_1582.png",
|
||||||
name: "支付记录",
|
name: "支付记录",
|
||||||
url: "",
|
url: "",
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
shopManagementList:[{
|
||||||
|
image: "http://192.168.0.152:5500/assets/user_page_Group_1782.png",
|
||||||
|
name: "店铺管理",
|
||||||
|
url: "",
|
||||||
|
}],
|
||||||
userInfo: {},
|
userInfo: {},
|
||||||
isShop: false,
|
isShop: uni.getStorageSync('is_shop'),
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
1
unpackage/dist/dev/mp-weixin/app.json
vendored
1
unpackage/dist/dev/mp-weixin/app.json
vendored
@ -73,6 +73,7 @@
|
|||||||
"index/index",
|
"index/index",
|
||||||
"replenishInfo/index",
|
"replenishInfo/index",
|
||||||
"uploadAvatar/index",
|
"uploadAvatar/index",
|
||||||
|
"orderDetail/index",
|
||||||
"resetPwd/index",
|
"resetPwd/index",
|
||||||
"points/index",
|
"points/index",
|
||||||
"pointsSign/index",
|
"pointsSign/index",
|
||||||
|
|||||||
32
unpackage/dist/dev/mp-weixin/common/vendor.js
vendored
32
unpackage/dist/dev/mp-weixin/common/vendor.js
vendored
@ -2841,7 +2841,7 @@ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/inte
|
|||||||
Object.defineProperty(exports, "__esModule", {
|
Object.defineProperty(exports, "__esModule", {
|
||||||
value: true
|
value: true
|
||||||
});
|
});
|
||||||
exports.validateEmail = exports.uploadVideo = exports.upload = exports.uniqueByField = exports.request = exports.picUrl = exports.menuButtonInfo = exports.isPhone = exports.getProviderPromise = exports.floatCalculate = exports.calculateDistance = exports.NavgateTo = void 0;
|
exports.validateEmail = exports.uploadVideo = exports.upload = exports.uniqueByField = exports.request = exports.picUrl = exports.menuButtonInfo = exports.isPhone = exports.getProviderPromise = exports.floatCalculate = exports.debounce = exports.calculateDistance = exports.NavgateTo = void 0;
|
||||||
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11));
|
var _defineProperty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/defineProperty */ 11));
|
||||||
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
||||||
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
||||||
@ -3223,7 +3223,37 @@ var validateEmail = function validateEmail(email) {
|
|||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 防抖函数
|
||||||
|
* @param {Function} fn 需要防抖的函数
|
||||||
|
* @param {number} delay 延迟时间(毫秒)
|
||||||
|
* @param {boolean} immediate 是否立即执行
|
||||||
|
* @return {Function} 返回防抖处理后的函数
|
||||||
|
*/
|
||||||
exports.validateEmail = validateEmail;
|
exports.validateEmail = validateEmail;
|
||||||
|
var debounce = function debounce(fn) {
|
||||||
|
var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 300;
|
||||||
|
var immediate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
||||||
|
var timer = null;
|
||||||
|
return function () {
|
||||||
|
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
||||||
|
args[_key] = arguments[_key];
|
||||||
|
}
|
||||||
|
var context = this;
|
||||||
|
if (timer) clearTimeout(timer);
|
||||||
|
if (immediate && !timer) {
|
||||||
|
fn.apply(context, args);
|
||||||
|
}
|
||||||
|
timer = setTimeout(function () {
|
||||||
|
if (!immediate) {
|
||||||
|
fn.apply(context, args);
|
||||||
|
}
|
||||||
|
timer = null;
|
||||||
|
}, delay);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
exports.debounce = debounce;
|
||||||
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
|
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"]))
|
||||||
|
|
||||||
/***/ }),
|
/***/ }),
|
||||||
|
|||||||
@ -3,5 +3,46 @@
|
|||||||
"projectname": "uniapp-ZHSQ",
|
"projectname": "uniapp-ZHSQ",
|
||||||
"setting": {
|
"setting": {
|
||||||
"compileHotReLoad": true
|
"compileHotReLoad": true
|
||||||
|
},
|
||||||
|
"condition": {
|
||||||
|
"miniprogram": {
|
||||||
|
"list": [
|
||||||
|
{
|
||||||
|
"name": "packages/user/orderDetail/index",
|
||||||
|
"pathName": "packages/user/orderDetail/index",
|
||||||
|
"query": "",
|
||||||
|
"scene": null,
|
||||||
|
"launchMode": "default"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pages/user/index",
|
||||||
|
"pathName": "pages/user/index",
|
||||||
|
"query": "",
|
||||||
|
"launchMode": "default",
|
||||||
|
"scene": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "packages/community/index/index",
|
||||||
|
"pathName": "packages/community/index/index",
|
||||||
|
"query": "",
|
||||||
|
"launchMode": "default",
|
||||||
|
"scene": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "pages/shopcity/shopcity",
|
||||||
|
"pathName": "pages/shopcity/shopcity",
|
||||||
|
"query": "",
|
||||||
|
"launchMode": "default",
|
||||||
|
"scene": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "packages/community/providentFund/index",
|
||||||
|
"pathName": "packages/community/providentFund/index",
|
||||||
|
"query": "",
|
||||||
|
"launchMode": "default",
|
||||||
|
"scene": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -369,4 +369,32 @@ export const validateEmail = (email) => {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 防抖函数
|
||||||
|
* @param {Function} fn 需要防抖的函数
|
||||||
|
* @param {number} delay 延迟时间(毫秒)
|
||||||
|
* @param {boolean} immediate 是否立即执行
|
||||||
|
* @return {Function} 返回防抖处理后的函数
|
||||||
|
*/
|
||||||
|
export const debounce = (fn, delay = 300, immediate = false) => {
|
||||||
|
let timer = null;
|
||||||
|
|
||||||
|
return function(...args) {
|
||||||
|
const context = this;
|
||||||
|
|
||||||
|
if (timer) clearTimeout(timer);
|
||||||
|
|
||||||
|
if (immediate && !timer) {
|
||||||
|
fn.apply(context, args);
|
||||||
|
}
|
||||||
|
|
||||||
|
timer = setTimeout(() => {
|
||||||
|
if (!immediate) {
|
||||||
|
fn.apply(context, args);
|
||||||
|
}
|
||||||
|
timer = null;
|
||||||
|
}, delay);
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user