lhl 2 år sedan
förälder
incheckning
8bcd09952a

+ 9 - 0
api/index.js

@@ -67,4 +67,13 @@ export function getAddList(data) {
 		method: 'get',
 		data
 	});
+}
+
+//
+export function getStoreList(data) {
+	return request({
+		url: '/api/store_list',
+		method: 'get',
+		data
+	})
 }

+ 8 - 0
api/user.js

@@ -152,4 +152,12 @@ export function getUser(data) {
 		method:'get',
 		data
 	})
+}
+// 获取下级消费记录
+export function getPushList(data) {
+	return request({
+		url:'/api/partake/user_push_list',
+		method:'get',
+		data
+	})
 }

+ 1 - 1
manifest.json

@@ -99,7 +99,7 @@
         }
     },
     "h5" : {
-        "title" : "康轻体",
+        "title" : "宏根蒂",
         "domain" : "",
         "router" : {
             "base" : "/index/",

+ 15 - 0
pages.json

@@ -32,6 +32,12 @@
 				"navigationBarTitleText": "参与记录"
 			}
 		},
+		{
+			"path": "pages/index/storeList",
+			"style": {
+				"navigationBarTitleText": "门店列表"
+			}
+		},
 		{
 			"path": "pages/public/register",
 			"style": {
@@ -195,6 +201,15 @@
 				"navigationBarTitleText": "我的积分"
 			}
 		},
+		{
+			"path": "pages/user/pushList",
+			"style": {
+				// #ifndef MP-WEIXIN
+				"navigationStyle": "custom",
+				// #endif
+				"navigationBarTitleText": "下级消费记录"
+			}
+		},
 		{
 			"path": "pages/user/award",
 			"style": {

+ 4 - 25
pages/index/artDetail.vue

@@ -22,31 +22,7 @@ export default {
 		this.id = option.id;
 		this.loadData();
 	},
-	onShareAppMessage(options) {
-		// 设置菜单中的转发按钮触发转发事件时的转发内容
-		let pages = getCurrentPages(); //获取加载的页面
-		let currentPage = pages[pages.length - 1]; //获取当前页面的对象
-		let url = currentPage.route; //当前页面url
-		let item = currentPage.options; //如果要获取url中所带的参数可以查看options
-		let shareObj = {
-			title: '水箱计算', // 默认是小程序的名称(可以写slogan等)
-			path: url + '?id=' + item.id, // 默认是当前页面,必须是以‘/’开头的完整路径
-			imageUrl: '',
-			success: function(res) {
-				// 转发成功之后的回调
-				if (res.errMsg == 'shareAppMessage:ok') {}
-			},
-			fail: function() {
-				// 转发失败之后的回调
-				if (res.errMsg == 'shareAppMessage:fail cancel') {
-					// 用户取消转发
-				} else if (res.errMsg == 'shareAppMessage:fail') {
-					// 转发失败,其中 detail message 为详细失败信息
-				}
-			}
-		};
-		return shareObj;
-	},
+	
 	methods: {
 		loadData() {
 			details({}, this.id).then(({ data }) => {
@@ -54,6 +30,9 @@ export default {
 				data.content = data.content.replace(/<img/g, '<img class="rich-img"').replace(/<p>\s*<img/g, '<p class="pHeight"><img').replace(/<div/g, '<div style="max-width: 50% !important;"');
 				data.content = this.getVideo(data.content);
 				this.item = data;
+				uni.setNavigationBarTitle({
+					title: data.title
+				})
 			});
 		},
 		// 富文本视频解析

+ 16 - 9
pages/index/index.vue

@@ -42,18 +42,24 @@
 				</view>
 				<view class="item-title">联系客服</view>
 			</view>
-			<!-- <view class="cate-item flex" @click="navto('/pages/user/shareQrCode',1)">
+			<view class="cate-item flex" @click="navto('/pages/index/storeList')">
+				<view class="img-wrapper flex">
+					<image src="../../static/index/in6.png" mode=""></image>
+				</view>
+				<view class="item-title">本地门店</view>
+			</view>
+			<view class="cate-item flex" @click="navto('/pages/user/shareQrCode',1)">
 				<view class="img-wrapper flex">
 					<image src="../../static/index/in4.png" mode=""></image>
 				</view>
 				<view class="item-title">邀请好友</view>
-			</view> -->
-			<!-- <view class="cate-item flex" @click="navto('/pages/user/shareQrCode',1)">
+			</view>
+			<view class="cate-item flex" @click="navto('/pages/index/artDetail?id=2')">
 				<view class="img-wrapper flex">
-					<image src="../../static/index/in5.png" mode=""></image>
+					<image src="../../static/index/in7.png" mode=""></image>
 				</view>
-				<view class="item-title">活动专区</view>
-			</view> -->
+				<view class="item-title">升级条件</view>
+			</view>
 		</view>
 		<!-- 分类 ed -->
 		<view class="jg">
@@ -501,16 +507,17 @@
 	.cate-section {
 		justify-content: space-around;
 		background-color: #fff;
-		padding: 0rpx 0 30rpx;
+		padding: 0rpx 0 10rpx;
 		margin-top: 20rpx;
+		flex-wrap: wrap;
 		.cate-item {
 			flex-grow: 0;
-			width: 20%;
+			width: 33.3%;
 			flex-direction: column;
 			text-align: center;
 			align-items: center;
 			justify-content: center;
-
+			padding-bottom: 20rpx;
 			.img-wrapper {
 				width: 90rpx;
 				height: 90rpx;

+ 472 - 0
pages/index/storeList.vue

@@ -0,0 +1,472 @@
+<template>
+	<view class="content">
+		<!-- <view class="search flex">
+			<view class="input-box flex" @click.stop="clickSearch">
+				<view class=" input-content flex">
+					<view class="iconfont iconsearch"></view>
+					<view class="input"><input type="text" placeholder="请输入店铺名称" v-model="name" /></view>
+				</view>
+			</view>
+			<view class="search-btn" @click="search()">
+				搜索
+			</view>
+		</view> -->
+		<scroll-view scroll-y="true" :style="{'height': height}" class="shop-list-wrap" @scrolltolower="getStoreList()">
+			<!-- 空白页 -->
+			<!-- <empty v-if="loaded === true && shopList.length === 0"></empty> -->
+			<view class="djq-wrap flex f-ai-s" v-for="item in shopList"
+				@click="navTo('/pages/shop/shopDetail?id=' + item.id)">
+				<image :src="item.image" mode="" class="djq-img"></image>
+				<view class="djq-right pl20">
+					<view class="djq-tit flex f-j-sb f-ai-s">
+						<view class="djq-name clamp">
+							{{item.name}}
+						</view>
+						<view class="djq-dis">
+							<!-- <image src="../../static/icon/dw.png" mode=""></image> -->
+							<!-- 距离{{item.range*1}}KM -->
+						</view>
+					</view>
+					<view class="flex f-d-c f-j-sb f-ai-s fg1" style="height: 110rpx;">
+						<view class="djq-dz clamp2">
+							{{item.detailed_address}}
+						</view>
+						<view class="djq-hd flex f-j-sb">
+							<view class="buy-info">
+								<!-- {{item.count}}人已购买 -->
+							</view>
+							<view class="hd-btn">
+								<image src="../../static/icon/call.png" mode="" style="margin-right: 15rpx;"
+									@click.stop="makeCall(item.phone)"></image>
+								<!-- <image src="../../static/icon/dh.png" mode=""
+									@click.stop="toGaodeMap(item)"></image> -->
+							</view>
+						</view>
+					</view>
+					<view class="" style="padding: 10rpx 0 0 0;">
+						<view class="left-btm flex f-j-s" v-for="itemt in item.coupon">
+							<view class="j-logo">
+								券
+							</view>
+							<view class="j-price">
+								<text>¥</text>{{itemt.price}}
+							</view>
+							<view class="j-zk">
+								{{(((itemt.price*10)/(itemt.ot_price*1)).toFixed(1))}}折
+							</view>
+							<view class="j-name">
+								{{itemt.store_name}}
+							</view>
+						</view>
+					</view>
+
+				</view>
+			</view>
+			<uni-load-more :status="loadingType"></uni-load-more>
+		</scroll-view>
+	</view>
+</template>
+
+<script>
+	// import empty from '@/uview-ui/components/u-empty/u-empty.vue';
+	// #ifdef H5
+	import {
+		weixindata,
+		shareLoad
+	} from '@/utils/wxAuthorized';
+	// #endif
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import {
+		getStoreList
+	} from '@/api/index.js'
+	import {
+		Cookie
+	} from 'tough-cookie';
+	export default {
+		// components: {
+		// 	empty
+		// },
+		data() {
+			return {
+				page: 1,
+				limit: 10,
+				shopList: [],
+				name: '',
+				height: '',
+				loadingType: 'more',
+				loaded: false,
+				latitude: '',
+				longitude: '',
+				current_address: ''
+			}
+		},
+		computed: {
+			...mapState(['loginInterceptor', 'baseURL']),
+		},
+		onLoad(opt) {
+			let that = this
+			console.log('获取经纬度')
+			uni.getLocation({
+				geocode: true,
+				complete(res) {
+					console.log(res)
+					that.latitude = res.latitude
+					that.longitude = res.longitude
+					that.current_address = res.address.province + res.address.city + res.address.district + res
+						.address.street + res.address.streetNum + res.address.poiName;
+				},
+				fail() {
+
+				}
+			})
+			that.getStoreList()
+
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+
+		},
+		onReady() {
+			var obj = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.shop-list-wrap').boundingClientRect();
+					query.exec(function(res) {
+						obj.height = resu.windowHeight - res[0].top + 'px';
+					});
+				},
+				fail: res => {}
+			});
+		},
+		methods: {
+			navTo(url) {
+				uni.navigateTo({
+					url,
+					fail() {
+						uni.switchTab({
+							url
+						})
+					}
+				})
+			},
+			search() {
+				let obj = this
+				obj.shopList = []
+				obj.loadingType = 'more'
+				obj.page = 1
+				obj.getStoreList()
+
+			},
+			// 拨打电话
+			makeCall(phone) {
+				uni.makePhoneCall({
+					phoneNumber: phone //仅为示例
+				});
+			},
+			// 导航
+			dh(item) {
+				// #ifdef H5
+				weixindata().then(wxOjb => {
+					console.log(wxOjb, '获取微信');
+					wxOjb.openLocation({
+						latitude: item.latitude, // 纬度,浮点数,范围为90 ~ -90
+						longitude: item.longitude, // 经度,浮点数,范围为180 ~ -180。
+						name: item.name, // 位置名
+						address: item.detailed_address, // 地址详情说明
+						scale: 28, // 地图缩放级别,整型值,范围从1~28。默认为最大
+						infoUrl: '' // 在查看位置界面底部显示的超链接,可点击跳转
+					});
+				});
+				// #endif
+			},
+			getStoreList() {
+				let obj = this
+				if (obj.loadingType == 'noMore' || obj.loadingType == 'loading') {
+					return
+				}
+				obj.loadingType = 'loading'
+				console.log('开始')
+				getStoreList({
+					name: obj.name,
+					latitude: obj.latitude,
+					longitude: obj.longitude,
+					page: obj.page,
+					limit: obj.limit
+				}).then(res => {
+					console.log(res)
+					obj.shopList = obj.shopList.concat(res.data.list)
+					obj.page++
+					if (obj.limit == res.data.list.length) {
+						obj.loadingType = 'more'
+					} else {
+						obj.loadingType = 'noMore'
+					}
+					obj.loaded = true
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			// 调用高德
+			toGaodeMap(item) {
+				// #ifdef H5
+				// console.log('选择高德', latitude, longitude, address);
+				window.location.href = `https://uri.amap.com/marker?position=${item.longitude},${item.latitude}&name=${item.address}`;
+				// #endif
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	.search-top {
+		// position: fixed;
+		// top: 0;
+		// z-index: 99;
+	}
+
+	.shop {
+		// margin-top: 20rpx;
+		background: #ffffff;
+		padding: 0 12rpx;
+
+		.shop-title {
+			padding: 30rpx 0 20rpx;
+			display: flex;
+			align-items: center;
+			border-bottom: 1px solid #e3e6e7;
+
+			.shop-item {
+				width: 33%;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				.sitem-font {
+					font-size: 26rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #333333;
+				}
+
+				.jt-down {
+					width: 10rpx;
+					height: 8rpx;
+					margin-left: 12rpx;
+				}
+			}
+		}
+	}
+
+	.shop-list-wrap {
+		// background-color: red;
+		padding-top: 20rpx;
+	}
+
+	.djq-wrap {
+		width: 701rpx;
+		// height: 255rpx;
+		background: #FFFFFF;
+		box-shadow: 0px 0px 27rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: 0 auto 20rpx;
+		padding: 23rpx 22rpx;
+
+		&:last-of-type {
+			margin-bottom: 0;
+		}
+
+		.djq-img {
+			flex-shrink: 0;
+			width: 150rpx;
+			height: 150rpx;
+			border-radius: 10rpx;
+		}
+
+		.djq-right {
+			padding-left: 15rpx;
+			flex-grow: 1;
+
+			.djq-tit {
+				font-size: 34rpx;
+				font-weight: bold;
+				color: #333333;
+				line-height: 52rpx;
+
+				.djq-name {
+					max-width: 300rpx;
+				}
+
+				.djq-dis {
+					flex-shrink: 0;
+
+					image {
+						width: 20rpx;
+						height: 28rpx;
+						margin-right: 10rpx;
+					}
+
+					font-size: 22rpx;
+					font-weight: 500;
+					color: #666666;
+				}
+			}
+
+			.djq-dz {
+				width: 100%;
+				font-size: 24rpx;
+				font-weight: 500;
+				color: #666666;
+			}
+
+			.djq-hd {
+				width: 100%;
+
+				.buy-info {
+					display: inline-block;
+					height: 32rpx;
+					border-radius: 16rpx 16rpx 16rpx 0px;
+					line-height: 32rpx;
+					font-size: 20rpx;
+					font-weight: 500;
+					color: #FF440D;
+					padding: 0 15rpx;
+					background-color: #fff;
+				}
+
+				.hd-btn {
+					image {
+						width: 46rpx;
+						height: 46rpx;
+					}
+				}
+			}
+		}
+	}
+
+	.left-btm {
+		height: 50rpx;
+
+		.j-logo {
+			width: 32rpx;
+			line-height: 33rpx;
+			background: linear-gradient(-48deg, #FFA30B, #FFD158);
+			border-radius: 13rpx;
+			font-size: 21rpx;
+			font-weight: 500;
+			color: #FFFFFF;
+			text-align: center;
+		}
+
+		.j-price {
+			font-size: 27rpx;
+			font-weight: bold;
+			color: #FF4C4C;
+			margin: 0 10rpx 0 5rpx;
+		}
+
+		.j-zk {
+			height: 31rpx;
+			border: 1rpx solid #FF4C4C;
+			border-radius: 7rpx;
+			line-height: 31rpx;
+			padding: 0 8rpx;
+			font-size: 20rpx;
+			font-weight: bold;
+			color: #FF4C4C;
+			margin-right: 5rpx;
+		}
+
+		.j-name {
+			font-size: 23rpx;
+			font-weight: bold;
+			color: #333333;
+		}
+	}
+
+	.search {
+		justify-content: flex-start;
+		padding: 10rpx 32rpx 20rpx;
+		align-items: center;
+		background-color: #fff;
+
+		.search-btn {
+			display: inline-block;
+			// flex-grow: ;
+			flex-shrink: 0;
+			padding: 0 0 0 20rpx;
+			font-size: 32rpx;
+			color: #FF4C4C;
+			z-index: 99;
+		}
+
+		.address {
+			width: 32rpx;
+			height: 38rpx;
+		}
+
+		.shop-name {
+			height: 38rpx;
+			position: relative;
+			top: -4rpx;
+			z-index: 100;
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			padding-left: 10rpx;
+		}
+
+		.shop-jt {
+			margin-left: 8rpx;
+			width: 16rpx;
+			height: 10rpx;
+		}
+
+		.input-box {
+			margin-left: 10rpx;
+			position: relative;
+			z-index: 99;
+			width: 710rpx;
+			height: 60rpx;
+			background: #EEEEEE;
+			border-radius: 30rpx;
+
+			.input-content {
+				position: relative;
+				z-index: 11;
+				border-radius: 99rpx;
+				flex-grow: 1;
+				padding: 5rpx 30rpx;
+				background: #EEEEEE;
+
+				.iconsearch {
+					font-size: 50rpx;
+					color: #CBCBCB;
+				}
+
+				.input {
+					margin-left: 19rpx;
+					flex-grow: 1;
+
+
+					input {
+						font-size: 28rpx;
+
+						color: #000;
+					}
+				}
+			}
+
+			.input-button {
+				padding-left: 20rpx;
+				font-size: $font-base;
+				height: 100%;
+			}
+		}
+	}
+</style>

+ 91 - 0
pages/user/pushList.vue

@@ -0,0 +1,91 @@
+<template>
+	<view class="content">
+		<empty v-if="loaded === true && list.length === 0"></empty>
+		<view class="flex">
+			<view class="">
+				消费人
+			</view>
+			<view class="">
+				消费额度
+			</view>
+			<view class="">
+				是否结算
+			</view>
+		</view>
+		<view class="flex" v-for="item in list">
+			<view class="">
+				{{item.nickname}}
+			</view>
+			<view class="">
+				{{item.pay_price}}
+			</view>
+			<view class="">
+				{{item.is_participate == 0 ? '未结算': '已结算'}}
+			</view>
+		</view>
+		<uni-load-more :status="loadingType"></uni-load-more>
+	</view>
+</template>
+
+<script>
+	import {
+		myspread,
+		myteam,
+		getPushList
+	} from '@/api/user.js';
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+	import empty from '@/components/empty';
+	export default {
+		components: {
+			empty,
+			uniLoadMore
+		},
+		data() {
+			return {
+				list: [],
+				page: 1,
+				limit: 100,
+				loaded: false,
+				loadingType: 'more'
+			}
+		},
+		onLoad() {
+			this.getPushList()
+		},
+		onShow() {
+
+		},
+		onReachBottom() {
+			this.getPushList()
+		},
+		onReady() {
+
+		},
+		methods: {
+			getPushList() {
+				let that = this
+				if (that.loadingType == 'loading' || that.loadingType == 'noMore') {
+					return
+				}
+				that.loadingType = 'loading'
+				getPushList({
+					page: that.page,
+					limit: that.limit
+				}).then(res => {
+					// console.log(res)
+					that.list = that.list.concat(res.data.data)
+					if (that.limit == res.data.data.length) {
+						that.loadingType = 'more'
+					} else {
+						that.loadingType = 'noMore'
+					}
+					this.loaded = true
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+
+</style>

+ 54 - 315
pages/user/shareQrCode.vue

@@ -1,345 +1,84 @@
 <template>
-	<view class="andr-shQ-padL30 andr-shQ-padR30 andr-shQ-Flex andr-shQ-FlexDirC">
-		<view class="andr-shQ-w100B andr-shQ-Flex andr-shQ-JusCC">
-			<swiper class="imgw750h375 matop" :indicator-dots="false" :current="current" @change="currentChange">
-				<!-- #ifdef H5 -->
-				<swiper-item v-for="(item, index) in rwmListArr" :key="index">
-					<image :src="item.wap_poster" mode="aspectFit" class="imgw750h375" />
-				</swiper-item>
-				<!-- #endif -->
-				<!-- #ifdef MP-WEIXIN -->
-				<swiper-item v-for="(item, index) in rwmListArr" :key="index">
-					<image :src="item.poster" mode="aspectFit" class="imgw750h375" />
-				</swiper-item>
-				<!-- #endif -->
-
-			</swiper>
+	<view class="content">
+		<image src="../../static/img/sharebase.png" mode="widthFix" class="baseimg"></image>
+		<view class="erweima">
+			<tki-qrcode
+				:cid="cid"
+				ref="qrcode"
+				:val="val"
+				:size="size"
+				:unit="unit"
+				:background="background"
+				:foreground="foreground"
+				:pdground="pdground"
+				:iconSize="iconSize"
+				:lv="lv"
+				:onval="onval"
+				:loadMake="loadMake"
+				:usingComponents="usingComponents"
+				@result="qrR"
+			/>
 		</view>
-		<!-- <view class="baocun" @click="comfirm(userInfo.uid+'')">复制邀请码</view> -->
-		<!-- #ifdef H5 -->
-		<!-- <view class="baocun">长按二维码保存图片</view> -->
-
-		<!-- #endif -->
-		<!-- #ifdef MP-WEIXIN -->
-		<view class="baocun" @click="seav">保存分享海报</view>
-		<!-- <button open-type="share" class="baocun btn" v-if="scLoading == 2">分享到微信</button> -->
-		<!-- #endif -->
 	</view>
 </template>
 <script>
 	import {
-		mapState
+		mapState,
+		mapMutations
 	} from 'vuex';
-	import {
-		spreadBanner
-	} from '@/api/user.js';
-	import {
-		interceptor,
-		saveUrl
-	} from '@/utils/loginUtils';
-	// #ifdef H5
-	import {
-		weixindata
-	} from '@/utils/wxAuthorized';
-	// #endif
 	export default {
 		data() {
 			return {
-				rwmListArr: [],
-				current: 0,
-				imgSrc: ''
+				val: '',
+				cid: 'cid',
+				size: 150,
+				unit: '150',
+				background: '#FFFFFF',
+				foreground: '#000000',
+				pdground: '#000000',
+				icon: '',
+				iconSize: 40,
+				lv: 3,
+				onval: true,
+				loadMake: true,
+				usingComponents: true,
 			};
 		},
-		onLoad(option) {
-			uni.showLoading({
-				title: '邀请图生成中',
-				mask: true
-			});
-			// 判断是否强制登录
-			this.loadCodeList();
-			// #ifdef MP-WEIXIN
-			uni.authorize({
-				scope: 'scope.writePhotosAlbum',
-				complete() {}
-			});
-			// #endif
+		onLoad() {
+			
 		},
 		onShow() {
-			if (this.loginInterceptor && !this.hasLogin) {
-				saveUrl();
-				// 登录拦截
-				interceptor();
-			}
+			this.val = 'http://hgd.liuniu946.com/appdom/index.html?spread=' + this.userInfo.uid
 		},
 		//下拉刷新
 		onPullDownRefresh() {
-			let obj = this;
-			//监听下拉刷新动作的执行方法,每次手动下拉刷新都会执行一次
-			setTimeout(function() {
-				obj.loadCodeList();
-				uni.stopPullDownRefresh(); //停止下拉刷新动画
-			}, 1000);
+	
 		},
 		computed: {
-			...mapState(['weichatObj', 'baseURL', 'urlFile']),
+			...mapState(['baseURL', 'urlFile']),
 			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
 		},
 		methods: {
-			comfirm(text) {
-				// let text = this.userInfo.uid
-				console.log(text);
-				const result = this.uniCopy(text);
-				if (result === false) {
-					uni.showToast({
-						title: '不支持'
-					});
-				} else {
-					uni.showToast({
-						title: '复制成功',
-						icon: 'none'
-					});
-				}
-				// this.$refs.popup.close();
+			qrR(res) {
+				this.src = res;
 			},
-			uniCopy(content) {
-				/**
-				 * 小程序端 和 app端的复制逻辑
-				 */
-				//#ifndef H5
-				uni.setClipboardData({
-					data: content,
-					success: function() {
-						console.log('success');
-						return true;
-					}
-				});
-				//#endif
 
-				/**
-				 * H5端的复制逻辑
-				 */
-				// #ifdef H5
-				if (!document.queryCommandSupported('copy')) {
-					//为了兼容有些浏览器 queryCommandSupported 的判断
-					// 不支持
-					return false;
-				}
-				let textarea = document.createElement('textarea');
-				textarea.value = content;
-				textarea.readOnly = 'readOnly';
-				document.body.appendChild(textarea);
-				textarea.select(); // 选择对象
-				textarea.setSelectionRange(0, content.length); //核心
-				let result = document.execCommand('copy'); // 执行浏览器复制命令
-				textarea.remove();
-				return result;
-				// #endif
-			},
-			loadCodeList() {
-				let self = this;
-				// 加载二维码信息
-				// let andrUid = uni.getStorageSync('andrUid')||'';
-				spreadBanner({
-					// #ifdef H5
-					type: 2,
-					// #endif
-					// #ifdef MP
-					type: 1,
-					// #endif
-				}).then(e => {
-					if (e.status == 200) {
-						console.log(e.data)
-						self.rwmListArr = e.data;
-						// #ifdef H5
-						self.imgSrc = self.rwmListArr[0].wap_poster;
-						// #endif
-						// #ifdef MP-WEIXIN
-						self.imgSrc = self.rwmListArr[0].poster;
-						// #endif
-					}
-					uni.hideLoading();
-				});
-			},
-			currentChange(e) {
-				this.current = e.detail.current;
-			},
-			// onShareAppMessage(options){
-			// 	console.log(options,'options')
-			// 	let userInfo = uni.getStorageSync('userInfo');
-			// 	console.log(userInfo)
-			//   let obj = this;
-			//   // 设置菜单中的转发按钮触发转发事件时的转发内容
-			//   let shareObj = {
-			//     title: "邀请好友领券",        // 默认是小程序的名称(可以写slogan等)
-			//     path: '/pages/index/index?spread='+userInfo.uid,        // 默认是当前页面,必须是以‘/’开头的完整路径
-			//     imageUrl: obj.imgSrc,
-			//     success: function(res){
-			//       // 转发成功之后的回调
-			//       if(res.errMsg == 'shareAppMessage:ok'){
-			//       }
-			//     },
-			//     fail: function(){
-			//       // 转发失败之后的回调
-			//       if(res.errMsg == 'shareAppMessage:fail cancel'){
-			//         // 用户取消转发
-			//       }else if(res.errMsg == 'shareAppMessage:fail'){
-			//         // 转发失败,其中 detail message 为详细失败信息
-			//       }
-			//     }
-			//   };
-			//   // 来自页面内的按钮的转发
-			//   if( options.from == 'button' ){
-			//     // 此处可以修改 shareObj 中的内容
-			//     shareObj.path = '/pages/index/index?spread='+userInfo.uid;
-			//         console.log(shareObj.path,'shareObj.path')
-			//   }
-			//   // 返回shareObj
-			//   return shareObj;
-			// },
-			// scClick() {
-			// 	let self = this;
-			// 	// #ifdef H5
-			// 	self.imgSrc = self.rwmListArr[self.current].wap_poster;
-			// 	// #endif
-			// 	// #ifdef MP-WEIXIN
-			// 	self.imgSrc = self.rwmListArr[self.current].poster;
-			// 	// #endif
-			// },
-			// #ifdef MP-WEIXIN
-			seav() {
-				uni.getImageInfo({
-					src: this.imgSrc,
-					complete: function(result) {
-						let path = result.path;
-						uni.getSetting({
-							success(res) {
-								console.log(res)
-								if (!res.authSetting['scope.writePhotosAlbum']) {
-									uni.authorize({
-										scope: 'scope.writePhotosAlbum',
-										success(res) {
-											uni.saveImageToPhotosAlbum({
-												filePath: path,
-												complete(result) {}
-											});
-										},
-										complete(result) {
-											uni.showToast({
-												title: '请先授权保存图片',
-												duration: 2000,
-												icon: 'none'
-											});
-											obj.seav();
-										}
-									})
-								} else {
-									uni.saveImageToPhotosAlbum({
-										filePath: path,
-										complete(result) {
-											uni.showToast({
-												title: '保存图片成功!',
-												duration: 2000,
-												icon: 'none'
-											});
-										}
-									});
-								}
-							}
-						});
-					}
-				});
-			}
-			// #endif
 		}
 	};
 </script>
 
 <style lang="scss">
-	page {
-		height: 100%;
-	}
-	.imgw750h375 {
-		width: 100%;
-		height: 958rpx;
-	}
-
-	.matop {
-		// margin-top: 40rpx;
-	}
-
-	.andr-shQ-padL30 {
-		// padding-left: 30rpx;
-	}
-
-	.andr-shQ-padR30 {
-		// padding-right: 30rpx;
-	}
-
-	.andr-shQ-Flex {
-		// display: flex;
-	}
-
-	.andr-shQ-FlexDirC {
-		flex-direction: column;
-	}
-
-	.andr-shQ-w100B {
-		// width: 100%;
-	}
-
-	.andr-shQ-JusCC {
-		justify-content: center;
-	}
-
-	.andr-shQ-marginT30 {
-		// margin-top: 30rpx;
-	}
-
-	.andr-shQ-bgc06B163 {
-		background-color: $base-color;
-	}
-
-	.andr-shQ-cFFF {
-		color: #ffffff;
-	}
-
-	.andr-shQ-bdR50 {
-		border-radius: 50rpx;
-	}
-
-	.andr-shQ-h86 {
-		height: 86rpx;
-	}
-
-	.andr-shQ-AIC {
-		align-items: center;
-	}
-
-	.baocun {
-		color: #ffffff;
-		background: $base-color;
-		text-align: center;
-		width: 80%;
-		margin: 50rpx auto;
-		font-size: 28rpx;
-		padding: 25rpx 0rpx;
-		border-radius: 50rpx;
-	}
-
-	.btn {
-		padding: 0rpx 0rpx !important;
-		margin: 0rpx auto;
-		margin-bottom: 100rpx;
-	}
-
-	/* #ifdef H5 */
-	.cbnagan {
-		width: 80%;
-		background: $base-color;
-		margin: 50rpx auto;
-		font-size: 28rpx;
-		text-align: center;
-	}
-
-	/* #endif */
+.baseimg {
+	width: 100%;
+}
+.erweima {
+	width: 300rpx;
+	position: absolute;
+	top: 923rpx;
+	left: 0;
+	right: 0;
+	margin: auto;
+	display: flex;
+	justify-content: center;
+}
 </style>

+ 10 - 6
pages/user/team.vue

@@ -17,10 +17,10 @@
 				<view class="money">{{ userInfo.spread_count|| '0' }}</view>
 				<view>我的推广人数</view>
 			</view>
-			<!-- <view class="money-box flex" style="padding: 20rpx 40rpx;">
-				<view>团队人数:{{teamcount}}</view>
-				<view>直推人数:{{ztcount}}</view>
-			</view> -->
+			<view class="money-box flex" style="padding: 20rpx 40rpx;" @click="navto('/pages/user/pushList')">
+				<view>下级消费记录</view>
+				<!-- <view>直推人数:{{ztcount}}</view> -->
+			</view>
 		</view>
 		<!-- <view class="time-in">
 			<picker mode="date" @change="bindStartDateChange">
@@ -61,7 +61,7 @@
 									<text>{{item.phone}}</text>
 								</view>
 								<view class="time">
-									<text>订单数:{{item.count}} 消费金额:{{item.price}}</text>
+									<text>订单数:{{item.orderCount || '0'}} 消费金额:{{item.numberCount || '0'}}</text>
 								</view>
 							</view>
 						</view>
@@ -75,7 +75,8 @@
 <script>
 	import {
 		myspread,
-		myteam
+		myteam,
+		getPushList
 	} from '@/api/user.js';
 	import empty from '@/components/empty';
 	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
@@ -145,6 +146,9 @@
 		onLoad(options) {},
 		onShow() {
 			this.loadData();
+			getPushList().then(res => {
+				console.log(res)
+			})
 		},
 		methods: {
 			bindStartDateChange(e) {

+ 7 - 3
pages/user/user.vue

@@ -538,6 +538,7 @@
 		position: relative;
 
 		.u-set {
+			flex-shrink: 0;
 			position: absolute;
 			top: 85rpx;
 			right: 0rpx;
@@ -548,14 +549,17 @@
 			image {
 				width: 178rpx;
 				height: 56rpx;
-				position: absolute;
+				position: relative;
 				text-align: center;
 				top: 0;
 				left: 0;
 			}
 			.u-set-tit {
-				position: relative;
-				padding-left: 60rpx;
+				position: absolute;
+				top: 0;
+				right: 0;
+				width: 125rpx;
+				text-align: center;
 				height: 56rpx;
 				line-height: 56rpx;
 				font-size: 22rpx;

BIN
static/icon/call.png


BIN
static/icon/dh.png


BIN
static/icon/dw.png


BIN
static/img/sharebase.png


BIN
static/index/in6.png


BIN
static/index/in7.png


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/dev/app-plus/app-config-service.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/dev/app-plus/app-service.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 137 - 99
unpackage/dist/dev/app-plus/app-view.js


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/dev/app-plus/manifest.json


+ 1 - 1
unpackage/dist/dev/app-plus/static/css/cmy.css

@@ -502,7 +502,7 @@
 }
 
 .bg-gray {
-	background-color: #e3e3e3 !important;
+	background: #e3e3e3 !important;
 }
 
 /* 边框 */

BIN
unpackage/dist/dev/app-plus/static/img/img01.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/cart-action.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/cart.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/cate-action.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/cate.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/home-action.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/home.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/user-action.png


BIN
unpackage/dist/dev/app-plus/static/tabBar/user.png


Filskillnaden har hållts tillbaka eftersom den är för stor
+ 0 - 0
unpackage/dist/dev/app-plus/view.umd.min.js


Vissa filer visades inte eftersom för många filer har ändrats