lhl 2 years ago
parent
commit
30077f9f73

+ 1 - 2
api/order.js

@@ -142,5 +142,4 @@ export function computedOrderkey(data) {
 		method: 'post',
 		method: 'post',
 		data
 		data
 	});
 	});
-}
+}
-

+ 19 - 98
api/user.js

@@ -188,15 +188,6 @@ export function cashtransfer(data) {
 	})
 	})
 }
 }
 
 
-// 我的分红积分
-export function share(data) {
-	return request({
-		url: '/api/game',
-		method: 'get',
-		data
-	})
-}
-
 //用户修改信息
 //用户修改信息
 export function edit(data) {
 export function edit(data) {
 	return request({
 	return request({
@@ -215,68 +206,7 @@ export function ssrz(data) {
 	});
 	});
 }
 }
 
 
-// 绿卡记录
-export function greenList(data) {
-	return request({
-		url: '/api/green/list',
-		method: 'get',
-		data
-	});
-}
-
-//白积分记录
-export function getWhiteJf(data) {
-	return request({
-		url: '/api/white_integral/list',
-		method: 'get',
-		data
-	})
-}
-
-//绿积分记录
-export function getGreenJf(data) {
-	return request({
-		url: '/api/green_integral/list',
-		method: 'get',
-		data
-	})
-}
-
-//紫积分记录
-export function getPurpleJf(data) {
-	return request({
-		url: '/api/purple_integral/list',
-		method: 'get',
-		data
-	})
-}
-
-//商城积分
-export function GetIntegral(data) {
-	return request({
-		url: '/api/integral/list',
-		method: 'get',
-		data
-	})
-}
-
-//绿卡列表
-export function getGreenCardList(data) {
-	return request({
-		url: '/api/green/list',
-		method: 'get',
-		data
-	})
-}
 
 
-//文票记录
-export function getWenpiao(data) {
-	return request({
-		url: '/api/paper_ticket/list',
-		method: 'get',
-		data
-	})
-}
 
 
 //商家记录
 //商家记录
 export function getShopIntegral(data) {
 export function getShopIntegral(data) {
@@ -286,34 +216,6 @@ export function getShopIntegral(data) {
 		data
 		data
 	})
 	})
 }
 }
-
-// 绿卡赠送
-export function giveGreen(data) {
-	return request({
-		url: '/api/green/give',
-		method: 'post',
-		data
-	})
-}
-
-// 绿积分-->绿卡兑换比例
-export function getGreenBl(data) {
-	return request({
-		url: '/api/green/ratio',
-		method: 'get',
-		data
-	})
-}
-
-// 绿积分兑换绿卡
-export function exchangeGreen(data) {
-	return request({
-		url: '/api/green/exchange',
-		method: 'post',
-		data
-	})
-}
-
 //文章列表
 //文章列表
 export function article(data, id) {
 export function article(data, id) {
 	return request({
 	return request({
@@ -339,4 +241,23 @@ export function getJl(data) {
 		method: 'GET',
 		method: 'GET',
 		data
 		data
 	});
 	});
+}
+
+// 我的nft
+export function getMyNft(data) {
+	return request({
+		url: '/api/nft/my',
+		method: 'GET',
+		data
+	})
+}
+
+//我的卖出
+export function myGdList(data) {
+	return request({
+		url: '/api/nft/hang/my',
+		method: 'get',
+		data
+	});
 }
 }
+

+ 3 - 4
pages.json

@@ -322,7 +322,6 @@
 			"path": "pages/set/set",
 			"path": "pages/set/set",
 			"style": {
 			"style": {
 				"navigationBarTitleText": "设置",
 				"navigationBarTitleText": "设置",
-				
 				"navigationBarBackgroundColor": "#111111",
 				"navigationBarBackgroundColor": "#111111",
 				"navigationBarTextStyle": "white"
 				"navigationBarTextStyle": "white"
 			}
 			}
@@ -769,8 +768,8 @@
 		"backgroundColor": "#f8f8f8"
 		"backgroundColor": "#f8f8f8"
 	},
 	},
 	"tabBar": {
 	"tabBar": {
-		"color": "#666666",
+		"color": "#fff",
-		"selectedColor": "#333333",
+		"selectedColor": "#A581FF",
 		"borderStyle": "black",
 		"borderStyle": "black",
 		"backgroundColor": "#222222",
 		"backgroundColor": "#222222",
 		"list": [{
 		"list": [{
@@ -802,7 +801,7 @@
 				"pagePath": "pages/user/user",
 				"pagePath": "pages/user/user",
 				"iconPath": "static/tabBar/tab03.png",
 				"iconPath": "static/tabBar/tab03.png",
 				"selectedIconPath": "static/tabBar/tab04.png",
 				"selectedIconPath": "static/tabBar/tab04.png",
-				"text": "首页"
+				"text": "我的"
 			}
 			}
 
 
 		]
 		]

+ 329 - 191
pages/money/wallet.vue

@@ -1,192 +1,330 @@
-<template>
+<template>
-	<view class="content">
+	<view class="content">
-		<view class="title-box">
+		<view class="" style="height: 100rpx;"></view>
-			<view class="yue-box">
+		<view class="title-box">
-				<view class="yue-top">
+			<view class="yue-box">
-					我的余额(元)
+				<view class="yue-top">
-				</view>
+					我的余额(元)
-				<view class="yue-bottom">
+				</view>
-					40876.50
+				<view class="yue-bottom">
-				</view>
+					{{money || 0}}
-			</view>
+				</view>
-			<view class="box">
+			</view>
-				<view class="cz" @click="navTo('/pages/money/recharge')">
+			<view class="box">
-					充值
+				<view class="cz" @click="navTo('/pages/money/recharge')">
-				</view>
+					充值
-				<view class="cz" @click="navTo('/pages/money/withdrawal')">
+				</view>
-					提现
+				<view class="cz" @click="navTo('/pages/money/withdrawal')">
-				</view>
+					提现
-			</view>
+				</view>
-		</view>
+			</view>
-		<view class="center-box">
+		</view>
-			<view class="centet-left">
+		<view class="center-box">
-				<view class="top">
+			<view class="centet-left">
-					56.00
+				<view class="top">
-				</view>
+					{{cz || 0}}
-				<view class="bottom">
+				</view>
-					历史充值(元)
+				<view class="bottom">
-				</view>
+					历史充值(元)
-			</view>
+				</view>
-			<view class="" style="width: 2rpx;height: 54rpx;background: #EEEEEE;"></view>
+			</view>
-			<view class="centet-left">
+			<view class="" style="width: 2rpx;height: 54rpx;background: #EEEEEE;"></view>
-				<view class="top">
+			<view class="centet-left">
-					1256.00
+				<view class="top">
-				</view>
+					{{tx || 0}}
-				<view class="bottom">
+				</view>
-					历史提现(元)
+				<view class="bottom">
-				</view>
+					历史提现(元)
-			</view>
+				</view>
-		</view>
+			</view>
-		<view class="detail">
+		</view>
-			<view class="det-left">
+		<scroll-view class="good-content" scroll-y @scrolltolower="loadData" :style="{'height': height}">
-				<view class="det-top">
+			<!-- 空白页 -->
-					提现
+			<!-- <empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty> -->
-				</view>
+		
-				<view class="det-bottom">
+			<!-- 订单列表 -->
-					2021-11-11
+			<view class="detail" v-for="item in orderList">
-				</view>
+				<view class="det-left">
-			</view>
+					<view class="det-top">
-			<view class="det-right">
+						{{ item.title }}
-				+1000
+					</view>
-			</view>
+					<view class="det-bottom">
-		</view>
+						{{ item.add_time }}
-	</view>
+					</view>
-</template>
+				</view>
-
+				<view class="det-right">
-<script>
+					{{ (item.pm == 0 ? '-' : '+') + item.number }}
-	export default {
+				</view>
-		data() {
+			</view>
-			return {
+			<uni-load-more :status="loadingType"></uni-load-more>
-
+		</scroll-view>
-			};
+	</view>
-
+</template>
-		},
+
-		methods: {
+<script>
-			navTo(url) {
+	import {
-				uni.navigateTo({
+		getUserInfo
-					url
+	} from '@/api/user.js';
-				})
+	import {
-			}
+		spreadCommission,
-		}
+		userBalance
-	}
+	} from '@/api/wallet.js';
-</script>
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-
+	import empty from '@/components/empty';
-<style lang="scss">
+	export default {
-	page,
+		components: {
-	.content {
+			empty,
-		height: 100%;
+			uniLoadMore
-		width: 750rpx;
+		},
-		background: #111111;
+		data() {
-
+			return {
-		.title-box {
+				tabCurrentIndex: 0,
-			padding-left: 30rpx;
+				height: '',
-			margin-top: 100rpx;
+				state: 0,
-			display: flex;
+				loadingType: 'more',
-			justify-content: space-between;
+				orderList: [],
-			align-items: center;
+				page: 1, //当前页数
-
+				limit: 10 ,//每次信息条数
-			.yue-box {
+				money: '',
-				display: flex;
+				cz: '',//历史充值
-				flex-direction: column;
+				tx: '',//历史提现
-
+			};
-				.yue-top {
+
-					font-size: 26rpx;
+		},
-					font-family: PingFang SC;
+		onReady(res) {
-					font-weight: 400;
+			var obj = this;
-					color: #999999;
+			uni.getSystemInfo({
-				}
+				success: resu => {
-
+					const query = uni.createSelectorQuery();
-				.yue-bottom {
+					query.select('.good-content').boundingClientRect();
-					font-size: 60rpx;
+					query.exec(function(res) {
-					font-family: PingFang SC;
+						obj.height = resu.windowHeight - res[0].top + 'px';
-					font-weight: bold;
+						console.log(obj.height)
-					color: #A581FF;
+					});
-				}
+				},
-			}
+				fail: res => {}
-
+			});
-			.box {
+		},
-
+		onLoad() {
-				.cz {
+			this.loadData()
-					margin: 20rpx 0;
+			this.getUserInfo()
-					text-align: center;
+		},
-					font-size: 30rpx;
+		methods: {
-					font-weight: bold;
+			getUserInfo() {
-					color: #FFFFFF;
+				getUserInfo().then(res => {
-					width: 140rpx;
+					this.money = res.data.now_money*1
-					height: 64rpx;
+				})
-					border: 2rpx solid #FFFFFF;
+			},
-					border-radius: 32rpx 0px 0px 32rpx;
+			navTo(url) {
-					line-height: 64rpx;
+				uni.navigateTo({
-				}
+					url
-			}
+				})
-		}
+			},
-
+			//获取收入支出信息
-		.center-box {
+			async loadData(source) {
-			display: flex;
+				let obj = this
-			justify-content: space-around;
+
-			align-items: center;
+				if (obj.loadingType === 'loading' || obj.loadingType === 'noMore') {
-			margin: 30rpx 25rpx;
+					//防止重复加载
-			height: 120rpx;
+					return;
-			background: #181818;
+				}
-			border-radius: 10rpx;
+				// 修改当前对象状态为加载中
-
+				obj.loadingType = 'loading';
-			.centet-left {
+
-				display: flex;
+				spreadCommission({
-				flex-direction: column;
+							page: obj.page,
-				align-items: center;
+							limit: obj.limit
-			}
+						},
-
+						obj.state
-			.top {
+					)
-				font-size: 32rpx;
+					.then(({
-				font-weight: 400;
+						data
-				color: #FFFFFF;
+					}) => {
-				line-height: 48rpx;
+						if (data.length > 0) {
-			}
+							obj.orderList = obj.orderList.concat(data[0].list);
-
+							console.log(obj.orderList);
-			.bottom {
+							obj.page++;
-				font-size: 26rpx;
+						}
-				font-family: PingFang SC;
+						if (obj.limit == data.length) {
-				font-weight: 400;
+							//判断是否还有数据, 有改为 more, 没有改为noMore
-				color: #666666;
+							obj.loadingType = 'more';
-				line-height: 48rpx;
+							return;
-			}
+						} else {
-		}
+							//判断是否还有数据, 有改为 more, 没有改为noMore
-	}
+							obj.loadingType = 'noMore';
-
+						}
-	.detail {
+						uni.hideLoading();
-		display: flex;
+						this.$set(obj, 'loaded', true);
-		height: 120rpx;
+					})
-		justify-content: space-between;
+					.catch(e => {
-		align-items: center;
+						console.log(e);
-		border-bottom: 1rpx solid #F0F0F0;
+					});
-		margin: 0 25rpx;
+			},
-
+			//swiper 切换
-		.det-left {
+			changeTab(e) {
-			display: flex;
+				this.tabCurrentIndex = e.target.current;
-			flex-direction: column;
+				this.loadData('tabChange');
-
+			},
-			.det-top {
+			//顶部tab点击
-				line-height: 40rpx;
+			tabClick(index) {
-				font-size: 28rpx;
+				this.tabCurrentIndex = index;
-				font-family: PingFang SC;
+			}
-				font-weight: 500;
+		}
-				color: #FFFFFF;
+	}
-			}
+</script>
-
+
-			.det-bottom {
+<style lang="scss">
-				line-height: 40rpx;
+	page,
-				font-size: 22rpx;
+	.content {
-				font-family: PingFang SC;
+		height: 100%;
-				font-weight: 400;
+		width: 750rpx;
-				color: #999999;
+		background: #111111;
-			}
+
-		}
+		.title-box {
-
+			padding-left: 30rpx;
-		.det-right {
+			// margin-top: 100rpx;
-			font-size: 30rpx;
+			display: flex;
-			font-family: PingFang SC;
+			justify-content: space-between;
-			font-weight: bold;
+			align-items: center;
-			color: #A581FF;
+
-		}
+			.yue-box {
-	}
+				display: flex;
+				flex-direction: column;
+
+				.yue-top {
+					font-size: 26rpx;
+					font-family: PingFang SC;
+					font-weight: 400;
+					color: #999999;
+				}
+
+				.yue-bottom {
+					font-size: 60rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #A581FF;
+				}
+			}
+
+			.box {
+
+				.cz {
+					margin: 20rpx 0;
+					text-align: center;
+					font-size: 30rpx;
+					font-weight: bold;
+					color: #FFFFFF;
+					width: 140rpx;
+					height: 64rpx;
+					border: 2rpx solid #FFFFFF;
+					border-radius: 32rpx 0px 0px 32rpx;
+					line-height: 64rpx;
+				}
+			}
+		}
+
+		.center-box {
+			display: flex;
+			justify-content: space-around;
+			align-items: center;
+			margin: 30rpx 25rpx;
+			height: 120rpx;
+			background: #181818;
+			border-radius: 10rpx;
+
+			.centet-left {
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+			}
+
+			.top {
+				font-size: 32rpx;
+				font-weight: 400;
+				color: #FFFFFF;
+				line-height: 48rpx;
+			}
+
+			.bottom {
+				font-size: 26rpx;
+				font-family: PingFang SC;
+				font-weight: 400;
+				color: #666666;
+				line-height: 48rpx;
+			}
+		}
+	}
+
+	.detail {
+		display: flex;
+		height: 120rpx;
+		justify-content: space-between;
+		align-items: center;
+		border-bottom: 1rpx solid #F0F0F0;
+		margin: 0 25rpx;
+
+		.det-left {
+			display: flex;
+			flex-direction: column;
+
+			.det-top {
+				line-height: 40rpx;
+				font-size: 28rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #FFFFFF;
+			}
+
+			.det-bottom {
+				line-height: 40rpx;
+				font-size: 22rpx;
+				font-family: PingFang SC;
+				font-weight: 400;
+				color: #999999;
+			}
+		}
+
+		.det-right {
+			font-size: 30rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #A581FF;
+		}
+	}
+
+	.navbar {
+		display: flex;
+		height: 40px;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		position: relative;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: $font-color-dark;
+			position: relative;
+
+			&.current {
+				color: $base-color;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid $base-color;
+				}
+			}
+		}
+	}
 </style>
 </style>

+ 12 - 9
pages/order/order.vue

@@ -8,7 +8,7 @@
 			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
 			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
 				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
 				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
 					<!-- 空白页 -->
 					<!-- 空白页 -->
-					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
+					<u-empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></u-empty>
 
 
 					<!-- 订单列表 -->
 					<!-- 订单列表 -->
 					<view @click="goToOrderDetail(item)" v-for="(item, index) in tabItem.orderList" :key="index" class="order-item">
 					<view @click="goToOrderDetail(item)" v-for="(item, index) in tabItem.orderList" :key="index" class="order-item">
@@ -71,12 +71,14 @@
 
 
 <script>
 <script>
 import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import empty from '@/components/empty';
+import empty from '@/components/empty';
+import uEmpty from '@/uview-ui/components/u-empty/u-empty.vue'
 import { orderList, orderCancel, orderDel, orderTake } from '@/api/order.js';
 import { orderList, orderCancel, orderDel, orderTake } from '@/api/order.js';
 export default {
 export default {
 	components: {
 	components: {
 		uniLoadMore,
 		uniLoadMore,
-		empty
+		empty,
+		uEmpty
 	},
 	},
 	filters: {
 	filters: {
 		moneyNum(value){
 		moneyNum(value){
@@ -343,7 +345,8 @@ page,
 }
 }
 
 
 .swiper-box {
 .swiper-box {
-	height: calc(100% - 40px);
+	height: calc(100% - 40px);
+	background-color: #111111;
 }
 }
 .list-scroll-content {
 .list-scroll-content {
 	height: 100%;
 	height: 100%;
@@ -353,7 +356,7 @@ page,
 	display: flex;
 	display: flex;
 	height: 40px;
 	height: 40px;
 	padding: 0 5px;
 	padding: 0 5px;
-	background: #fff;
+	background: #111111;
 	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
 	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
 	position: relative;
 	position: relative;
 	z-index: 10;
 	z-index: 10;
@@ -364,10 +367,10 @@ page,
 		align-items: center;
 		align-items: center;
 		height: 100%;
 		height: 100%;
 		font-size: 15px;
 		font-size: 15px;
-		color: $font-color-dark;
+		color: #fff;
 		position: relative;
 		position: relative;
 		&.current {
 		&.current {
-			color: $base-color;
+			color:#5C5EE5;
 			&:after {
 			&:after {
 				content: '';
 				content: '';
 				position: absolute;
 				position: absolute;
@@ -376,7 +379,7 @@ page,
 				transform: translateX(-50%);
 				transform: translateX(-50%);
 				width: 44px;
 				width: 44px;
 				height: 0;
 				height: 0;
-				border-bottom: 2px solid $base-color;
+				border-bottom: 2px solid #5C5EE5;
 			}
 			}
 		}
 		}
 	}
 	}
@@ -389,7 +392,7 @@ page,
 	display: flex;
 	display: flex;
 	flex-direction: column;
 	flex-direction: column;
 	padding-left: 30rpx;
 	padding-left: 30rpx;
-	background: #fff;
+	background:#111111;
 	margin-top: 16rpx;
 	margin-top: 16rpx;
 	.i-top {
 	.i-top {
 		display: flex;
 		display: flex;

+ 1 - 1
pages/user/feedback.vue

@@ -38,7 +38,7 @@
 
 
 					success(res) {
 					success(res) {
 						console.log(res);
 						console.log(res);
-						if (res.tempFilePaths.length != 0) {
+						if (res.tempFilePaths.length != 0 ) {
 							obj.imgList.push(res.tempFilePaths[0]);
 							obj.imgList.push(res.tempFilePaths[0]);
 						}
 						}
 						console.log(JSON.stringify(res.tempFilePaths));
 						console.log(JSON.stringify(res.tempFilePaths));

+ 29 - 12
pages/user/personal.vue

@@ -15,16 +15,14 @@
 		<view class="box">
 		<view class="box">
 			<view class="left">
 			<view class="left">
 				昵称
 				昵称
-			</view>
+			</view>
-			<view class="right">
+			<input class="right" type="text" v-model="name" placeholder="修改昵称" placeholder-class="placeholder" />
-				{{name}}
-			</view>
 		</view>
 		</view>
 		<view class="box">
 		<view class="box">
 			<view class="left">
 			<view class="left">
 				手机号
 				手机号
 			</view>
 			</view>
-			<view class="right">
+			<view class="right" style="color: #999;">
 				{{phone}}
 				{{phone}}
 			</view>
 			</view>
 		</view>
 		</view>
@@ -37,11 +35,12 @@
 			</view>
 			</view>
 
 
 		</view>
 		</view>
-		<button class="button">提交</button>
+		<button class="button" @click="confirm">提交</button>
 	</view>
 	</view>
 </template>
 </template>
 
 
-<script>
+<script>
+	import { userEdit } from '@/api/set.js';
 	import {
 	import {
 		mapState,
 		mapState,
 		mapMutations
 		mapMutations
@@ -52,13 +51,18 @@
 	export default {
 	export default {
 		data() {
 		data() {
 			return {
 			return {
-				name: '姓名',
+				name: '',
-				phone: '18252757278',
+				phone: '',
 				img: '',
 				img: '',
 			};
 			};
 		},
 		},
 		computed: {
 		computed: {
 			...mapState('user', ['userInfo'])
 			...mapState('user', ['userInfo'])
+		},
+		onLoad() {
+			this.name = this.userInfo.nickname
+			this.phone = this.userInfo.phone
+			// console.log(this.userInfo)
 		},
 		},
 		methods: {
 		methods: {
 			chooseImg() {
 			chooseImg() {
@@ -67,8 +71,6 @@
 					count: 1,
 					count: 1,
 					sourceType: ['album'], //从相册选择
 					sourceType: ['album'], //从相册选择
 					success: (e) => {
 					success: (e) => {
-						console.log(e, 'eeee');
-						console.log(obj.userInfo, 'userinfo');
 						obj.img = e.tempFilePaths[0]
 						obj.img = e.tempFilePaths[0]
 						// upload({
 						// upload({
 						//  	filename: ''
 						//  	filename: ''
@@ -83,6 +85,21 @@
 				uni.navigateTo({
 				uni.navigateTo({
 					url
 					url
 				})
 				})
+			},
+			confirm() {
+				userEdit({ nickname: this.name, avatar: this.img})
+					.then(e => {
+						this.$api.msg('修改成功');
+						setTimeout(()=> {
+							uni.switchTab({
+								url:'/pages/user/user'
+							});
+						}, 1000);
+						console.log(e);
+					})
+					.catch(e => {
+						console.log(e);
+					});
 			}
 			}
 		}
 		}
 	}
 	}
@@ -113,7 +130,7 @@
 				font-size: 26rpx;
 				font-size: 26rpx;
 				font-weight: 400;
 				font-weight: 400;
 				color: #FFFFFF;
 				color: #FFFFFF;
-
+text-align: right;
 				.img {
 				.img {
 					width: 80rpx;
 					width: 80rpx;
 					height: 80rpx;
 					height: 80rpx;

+ 91 - 86
pages/user/realName.vue

@@ -1,87 +1,92 @@
-<template>
+<template>
-	<view class="content">
+	<view class="content">
-		<view class="box" style="margin-top: 70rpx;">
+		<view class="box" style="margin-top: 70rpx;">
-			<view class="left">昵称</view>
+			<view class="left">姓名</view>
-			<view class="right"><input type="text" placeholder="请输入真实姓名"></view>
+			<view class="right"><input type="text" placeholder="请输入真实姓名" v-model="name"></view>
-		</view>
+		</view>
-		<view class="box">
+		<view class="box">
-			<view class="left">身份证号</view>
+			<view class="left">身份证号</view>
-			<view class="right"><input type="number" placeholder="请输入身份证号"></view>
+			<view class="right"><input type="idcard" placeholder="请输入身份证号" v-model="idcard"></view>
-		</view>
+		</view>
-		<view class="box">
+		<view class="box">
-			<view class="left">手机号</view>
+			<view class="left">手机号</view>
-			<view class="right"><input type="number" placeholder="请输入手机号"></view>
+			<view class="right"><input type="number" placeholder="请输入手机号" v-model="phone"></view>
-		</view>
+		</view>
-		<view class="box">
+		<view class="box">
-			<view class="left">银行卡号</view>
+			<view class="left">银行卡号</view>
-			<view class="right"><input type="number" placeholder="请输入银行卡号"></view>
+			<view class="right"><input type="number" placeholder="请输入银行卡号" v-model="card"></view>
-		</view>
+		</view>
-		<button @click="navTo('/pages/money/success')" class="button">提交认证</button>
+		<button @click="navTo('/pages/money/success')" class="button">提交认证</button>
-	</view>
+	</view>
-</template>
+</template>
-
+
-<script>
+<script>
-	export default {
+	export default {
-		data() {
+		data() {
-			return {
+			return {
-
+				idcard: '',
-			};
+				name: '',
-		},
+				phone: '',
-		methods:{
+				card:''
-			navTo(url){
+
-				uni.navigateTo({
+			};
-				url
+		},
-				})
+		methods: {
-			}
+			navTo(url) {
-		}
+				uni.navigateTo({
-	}
+					url
-</script>
+				})
-
+			}
-<style lang="scss">
+		}
-	page,
+	}
-	.content {
+</script>
-		background: #111111;
+
-		height: 100%;
+<style lang="scss">
-		width: 750rpx;
+	page,
-
+	.content {
-		.box {
+		background: #111111;
-			display: flex;
+		height: 100%;
-			justify-content: space-between;
+		width: 750rpx;
-			align-items: center;
+
-			margin: 0 30rpx;
+		.box {
-			border-bottom: 2rpx solid #AEAEAE;
+			display: flex;
-			padding: 30rpx 40rpx;
+			justify-content: space-between;
-
+			align-items: center;
-			.left {
+			margin: 0 30rpx;
-				font-size: 26rpx;
+			border-bottom: 2rpx solid #AEAEAE;
-				font-weight: 500;
+			padding: 30rpx 40rpx;
-				color: #FFFFFF;
+
-			}
+			.left {
-
+				font-size: 26rpx;
-			.right {
+				font-weight: 500;
-				font-size: 26rpx;
+				color: #FFFFFF;
-				font-weight: 400;
+			}
-				color: #FFFFFF;
+
-
+			.right {
-				.img {
+				font-size: 26rpx;
-					width: 80rpx;
+				font-weight: 400;
-					height: 80rpx;
+				color: #FFFFFF;
-					border-radius: 50%;
+
-					overflow: hidden;
+				.img {
-				}
+					width: 80rpx;
-			}
+					height: 80rpx;
-		}
+					border-radius: 50%;
-
+					overflow: hidden;
-		.button {margin-top: 100rpx;
+				}
-			width: 690rpx;
+			}
-			height: 80rpx;
+		}
-			background: linear-gradient(270deg, #6E8DF7, #9977F6);
+
-			border-radius: 10rpx;
+		.button {
-			font-size: 30rpx;
+			margin-top: 100rpx;
-			font-family: PingFang SC;
+			width: 690rpx;
-			font-weight: 500;
+			height: 80rpx;
-			color: #FFFFFF;
+			background: linear-gradient(270deg, #6E8DF7, #9977F6);
-			line-height: 80rpx;
+			border-radius: 10rpx;
-		}
+			font-size: 30rpx;
-	}
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #FFFFFF;
+			line-height: 80rpx;
+		}
+	}
 </style>
 </style>

+ 889 - 647
pages/user/user.vue

@@ -1,648 +1,890 @@
-<template>
+<template>
-	<view class="container">
+	<view class="container">
-		<view class="title-box">
+		<view class="title-box">
-			<view class="title-img">
+			<view class="title-img">
-				<image :src="userInfo.avatar" mode=""></image>
+				<image :src="userInfo.avatar" mode=""></image>
-			</view>
+			</view>
-			<view class="title-tit">
+			<view class="title-tit">
-				<view class="title-top">
+				<view class="title-top">
-					{{userInfo.nickname || '游客'}}
+					{{userInfo.nickname || '游客'}}
-				</view>
+				</view>
-				<view class="title-bottom">
+				<view class="title-bottom">
-					{{userInfo.phone}}
+					{{userInfo.phone}}
-				</view>
+				</view>
-			</view>
+			</view>
-		</view>
+		</view>
-		<view class="address-box">
+		<!-- <view class="address-box">
-			<view class="address-text">
+			<view class="address-text">
-				区块链地址:{{name}}
+				区块链地址:{{name}}
-			</view>
+			</view>
-			<view class="fuzhi" @click="cope(name)">
+			<view class="fuzhi" @click="cope(name)">
-				复制
+				复制
-			</view>
+			</view>
-		</view>
+		</view> -->
-		<view class="btm" style="height: 44px;"></view>
+		<!-- <view class="btm" style="height: 44px;"></view> -->
-		<view class="manage-box">
+		<view class="main-box">
-			<view class="manage" @click="navTo('/pages/money/wallet')">
+			<view class="title flex" @click="navTo('/pages/order/order?state=0')">
-				<image src="../../static/user/user06.png" mode=""></image>
+				<view class="title-left">
-				<view class="manage-title">
+					<!-- <image class="title-icon" src="../../static/user/user5.png" mode=""></image> -->
-					钱包
+					<view class="title-font">我的订单</view>
-				</view>
+				</view>
-			</view>
+				<image class="title-right" src="../../static/user/back.png" mode=""></image>
-			<view class="manage" @click="navTo('/pages/user/personal')">
+			</view>
-				<image src="../../static/user/user08.png" mode=""></image>
+			<view class="main flex">
-				<view class="manage-title">
+				<view class="oitem" @click="navTo('/pages/order/order?state=0')">
-					实名认证
+					<image class="oitem-image" src="../../static/user/dfk.png" mode=""></image>
-				</view>
+					<view class="oitem-font">待付款</view>
-			</view>
+				</view>
-			<view class="manage" @click="kfOpen()" >
+				<view class="oitem" @click="navTo('/pages/order/order?state=1')">
-				<image src="../../static/user/user05.png" mode=""></image>
+					<image class="oitem-image" src="../../static/user/dfh.png" mode=""></image>
-				<view class="manage-title">
+					<view class="oitem-font">待发货</view>
-					邀请好友
+				</view>
-				</view>
+				<view class="oitem" @click="navTo('/pages/order/order?state=2')">
-			</view>
+					<image class="oitem-image" src="../../static/user/dsh.png" mode=""></image>
-			<view class="manage">
+					<view class="oitem-font">待收货</view>
-				<image src="../../static/user/user09.png" mode=""></image>
+				</view>
-				<view class="manage-title">
+				<view class="oitem" @click="navTo('/pages/order/order?state=3')">
-					提交意见
+					<image class="oitem-image" src="../../static/user/dfk.png" mode=""></image>
-				</view>
+					<view class="oitem-font">已完成</view>
-			</view>
+				</view>
-			<view class="manage" @click="navTo('/pages/set/set')">
+			</view>
-				<image src="../../static/user/user07.png" mode=""></image>
+		</view>
-				<view class="manage-title" @click="navTo('/pages/user/feedback')">
+		<view class="manage-box">
-					设置
+			<view class="manage" @click="navTo('/pages/money/wallet')">
-				</view>
+				<image src="../../static/user/user06.png" mode=""></image>
-			</view>
+				<view class="manage-title">
-		</view>
+					钱包
-		<view class="navbar">
+				</view>
-			<view class="nav-item" v-for="(item,index) in navList" :class="{current:tabCurrentIndex===index}"
+			</view>
-				@click="navGet(index)">
+			<view class="manage" @click="navTo('/pages/user/personal')">
-				{{item.text}}
+				<image src="../../static/user/user08.png" mode=""></image>
-			</view>
+				<view class="manage-title">
-		</view>
+					实名认证
-		<swiper :current="tabCurrentIndex" duration="300" class="swiper-box" :style="{ height: height }" @change="changeTab">
+				</view>
-			<swiper-item>
+			</view>
-				<scroll-view scroll-y="true" class="uni-scroll-view-content">
+			<view class="manage" @click="navTo('/pages/user/shareQrCode')">
-					<view class="box-content">
+				<image src="../../static/user/user05.png" mode=""></image>
-						<view class="img">
+				<view class="manage-title">
-							<image src="../../static/index/nvwang.png" mode=""></image>
+					邀请好友
-						</view>
+				</view>
-						<view class="content-title">
+			</view>
-							<view class="title">
+			<view class="manage" @click="kfOpen()">
-								<view class="text">
+				<image src="../../static/user/kf.png" mode=""></image>
-									黑道女王
+				<view class="manage-title">
-								</view>
+					联系客服
-								<view class="zm">
+				</view>
-									转卖中
+			</view>
-								</view>
+			<view class="manage" @click="navTo('/pages/user/feedback')">
-							</view>
+				<image src="../../static/user/user09.png" mode=""></image>
-							<view class="content-price">
+				<view class="manage-title">
-								<view class="price">
+					提交意见
-									¥66.60
+				</view>
-								</view>
+			</view>
-								<view class="button" @click="navPop()">
+			<view class="manage" @click="navTo('/pages/set/set')">
-									卖出
+				<image src="../../static/user/user07.png" mode=""></image>
-								</view>
+				<view class="manage-title">
-							</view>
+					设置
-						</view>
+				</view>
-					</view>
+			</view>
-				</scroll-view>
+		</view>
-			</swiper-item>
+		<view class="navbar">
-		</swiper>
+			<view class="nav-item" v-for="(item,index) in navList" :class="{current:tabCurrentIndex===index}"
-		<!-- 客服 -->
+				@click="navGet(index)">
-		<uni-popup ref="popupkf" type="center">
+				{{item.text}}
-			<view class="popup-box">
+			</view>
-				<view class="img">
+		</view>
-					<image src="../../static/img/img009.png" mode=""></image>
+		<swiper :current="tabCurrentIndex" duration="300" class="swiper-box" :style="{ height: height }"
-				</view>
+			@change="changeTab">
-				<view class="mian">
+			<swiper-item v-for="navitem in navList">
-					<view class="delivery">
+				<scroll-view scroll-y="true" class="uni-scroll-view-content ">
-						<view class="title">已经为您定制专属客服</view>
+					<u-empty v-if="navitem.orderList && navitem.orderList.length == 0 && navitem.loaded"></u-empty>
-						<image src="../../static/img/img010.png" mode=""></image>
+					<view class="flex dy-list">
-					</view>
+						<view class="box-content" v-for="item in navitem.orderList">
-					<view class="nocancel">客服VX:{{ text }}</view>
+							<view class="img">
-					<view class="comfirm-box">
+								<image src="../../static/index/nvwang.png" mode=""></image>
-						<view class="cancel" @click="kfClose()">取消</view>
+							</view>
-						<view class="comfirm" @click="comfirm(text)">复制微信</view>
+							<view class="content-title">
-					</view>
+								<view class="title">
-				</view>
+									<view class="text clamp">
-			</view>
+										{{item.class_info.name}}
-		</uni-popup>
+									</view>
-		<uni-popup ref="maipop" type="center">
+									<view class="zm">
-			<view class="mai-box">
+										转卖中
-				<view class="mai-title">
+									</view>
-					卖出价格
+								</view>
-				</view>
+								<view class="content-price">
-				<input type="number">
+									<view class="price">
-				<view class="mai-button">
+										¥66.60
-					<view class="button-left" @click="maiClose()">
+									</view>
-						取消
+									<view class="button" @click="navPop(item)">
-					</view>
+										卖出
-					<view class="button-right">
+									</view>
-						确定
+								</view>
-					</view>
+							</view>
-				</view>
+						</view>
-			</view>
+					</view>
-		</uni-popup>
+					<uni-load-more :status="navitem.loadingType" v-if="!(navitem.orderList.length == 0 && navitem.loaded)"></uni-load-more>
-	</view>
+				</scroll-view>
-</template>
+			</swiper-item>
-<script>
+		</swiper>
-	import {
+		<!-- 客服 -->
-		mapState,
+		<uni-popup ref="popupkf" type="center">
-		mapMutations
+			<view class="popup-box">
-	} from 'vuex';
+				<view class="img">
-	import uniList from '@/components/uni-list/uni-list.vue';
+					<image src="../../static/img/img009.png" mode=""></image>
-	import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
+				</view>
-	import {
+				<view class="mian">
-		orderData,
+					<view class="delivery">
-		userinfo,
+						<view class="title">已经为您定制专属客服</view>
-		greenList
+						<image src="../../static/img/img010.png" mode=""></image>
-	} from '@/api/user.js';
+					</view>
-	import {
+					<view class="nocancel">客服VX:{{ text }}</view>
-		saveUrl,
+					<view class="comfirm-box">
-		interceptor
+						<view class="cancel" @click="kfClose()">取消</view>
-	} from '@/utils/loginUtils.js';
+						<view class="comfirm" @click="comfirm(text)">复制微信</view>
-	import uniCopy from '@/js_sdk/xb-copy/uni-copy.js';
+					</view>
-	let startY = 0,
+				</view>
-		moveY = 0,
+			</view>
-		pageAtTop = true;
+		</uni-popup>
-	export default {
+		<uni-popup ref="maipop" type="center">
-		components: {
+			<view class="mai-box">
-			uniList,
+				<view class="mai-title">
-			uniListItem
+					卖出价格
-		},
+				</view>
-		data() {
+				<input type="number">
-			return {
+				<view class="mai-button">
-				height: '',
+					<view class="button-left" @click="maiClose()">
-				// 头部图高度
+						取消
-				maxheight: '',
+					</view>
-				tabCurrentIndex: 0,
+					<view class="button-right">
-				greenNum: 0,
+						确定
-				text: 'weilegou1',
+					</view>
-				coverTransform: 'translateY(0px)',
+				</view>
-				coverTransition: '0s',
+			</view>
-				moving: false,
+		</uni-popup>
-				userDowm: 0, //卡片升级专属高度
+	</view>
-				userMaxDowm: 0, //卡片最高高度
+</template>
-				name: 'zyjshiwoshanver',
+<script>
-				navList: [{
+	import uEmpty from '@/uview-ui/components/u-empty/u-empty.vue'
-					state: 0,
+	import {
-					text: '我拥有的',
+		mapState,
-					loadingType: 'more',
+		mapMutations
-					orderList: [],
+	} from 'vuex';
-					page: 1,
+	import uniList from '@/components/uni-list/uni-list.vue';
-					limit: 10
+	import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
-				}, {
+	import {
-					state: 1,
+		userinfo,
-					text: '我卖出的',
+		orderData,
-					loadingType: 'more',
+		getUserInfo,
-					page: 1,
+		getMyNft,
-					limit: 10
+		myGdList
-				}]
+	} from '@/api/user.js';
-			};
+	import {
-		},
+		saveUrl,
-		filters: {
+		interceptor
-
+	} from '@/utils/loginUtils.js';
-		},
+	import uniCopy from '@/js_sdk/xb-copy/uni-copy.js';
-		onShow() {
+	let startY = 0,
-			// if(this.hasLogin){
+		moveY = 0,
-			// 	console.log(this.hasLogin,this.userInfo,'我已登录');
+		pageAtTop = true;
-			// }
+	export default {
-		},
+		components: {
-		onReady() {
+			uniList,
-			if(this.hasLogin){
+			uniListItem,
-				console.log(this.hasLogin,this.userInfo,'我已登录');
+			uEmpty
-			}
+		},
-			var _this = this;
+		data() {
-			
+			return {
-			// 初始化获取页面宽度
+				height: '',
-			uni.getSystemInfo({
+				// 头部图高度
-				success: resu => {
+				maxheight: '',
-					const query = uni.createSelectorQuery();
+				tabCurrentIndex: 0,
-					console.log(resu, 'query');
+				greenNum: 0,
-					query.select('.swiper-box').boundingClientRect();
+				text: 'weilegou1',
-					query.exec(function(res) {
+				coverTransform: 'translateY(0px)',
-						_this.height = resu.windowHeight - res[0].top + 'px';
+				coverTransition: '0s',
-						console.log('打印页面的剩余高度', _this.height);
+				moving: false,
-					});
+				userDowm: 0, //卡片升级专属高度
-				},
+				userMaxDowm: 0, //卡片最高高度
-				fail: res => {}
+				name: 'zyjshiwoshanver',
-			});
+				navList: [{
-		},
+					state: 0,
-		computed: {
+					text: '我拥有的',
-			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+					loadingType: 'more',
-		},
+					orderList: [],
-		methods: {
+					page: 1,
-			navPop(){
+					limit: 10,
-				this.$refs.maipop.open()
+					loaded: false
-			},
+				}, {
-			...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
+					state: 1,
-			navGet(index) {
+					text: '我卖出的',
-				this.tabCurrentIndex = index
+					loadingType: 'more',
-			},
+					orderList: [],
-			//swiper切换
+					page: 1,
-			changeTab(e){
+					limit: 10,
-				this.tabCurrentIndex= e.target.current
+					loaded: false
-				this.loadData('tabChange')
+				}],
-			},
+				maiId: '',//当前卖出id
-			async loadData(sourse){},
+			};
-			//复制
+		},
-			cope(name) {
+		filters: {
-				uni.setClipboardData({
+
-					data: this.name,
+		},
-					success() {
+		onShow() {
-						uni.showToast({
+			if (this.hasLogin) {
-							title: '复制成功'
+				this.loadBaseData();
-						})
+				// 返回页面刷新我的挂单数据
-					}
+				this.navList =  [{
-				})
+					state: 0,
-			},
+					text: '我拥有的',
-			navTo(url) {
+					loadingType: 'more',
-				
+					orderList: [],
-				
+					page: 1,
-				if (url == '') {
+					limit: 10,
-					this.$api.msg('敬请期待');
+					loaded: false
-				}
+				}, {
-				//判断是否登录了,没有等去,请去登录
+					state: 1,
-				if (!this.hasLogin) {
+					text: '我卖出的',
-					//保存地址
+					loadingType: 'more',
-					saveUrl();
+					orderList: [],
-					// 登录拦截
+					page: 1,
-					interceptor();
+					limit: 10,
-					// uni.showModal({
+					loaded: false
-					// 	title:'去登录'
+				}]
-					// })
+				// 获取我的挂单
-					// uni.navigateTo({
+				this.getMyNft()
-					// 	url,
+			}else {
-					// 	fail() {
+				this.loadBaseData();
-					// 		uni.switchTab({
+			}
-					// 			url
+		},
-					// 		});
+		onReady() {
-					// 	}
+			// 初始化获取页面宽度
-					// });
+			let _this = this
-				} else {
+			uni.getSystemInfo({
-					uni.navigateTo({
+				success: resu => {
-						url,
+					const query = uni.createSelectorQuery();
-						fail() {
+					console.log(resu, 'query');
-							uni.switchTab({
+					query.select('.swiper-box').boundingClientRect();
-								url
+					query.exec(function(res) {
-							});
+						_this.height = resu.windowHeight - res[0].top + 'px';
-						}
+						console.log('打印页面的剩余高度', _this.height);
-					});
+					});
-				}
+				},
-			},
+				fail: res => {}
-			kfOpen() {
+			});
-				this.$refs.popupkf.open();
+		},
-			},
+		computed: {
-			kfClose() {
+			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
-				this.$refs.popupkf.close();
+		},
-			},
+		methods: {
-			maiClose(){
+			loadBaseData() {
-				this.$refs.maipop.close();
+				getUserInfo({})
-			}
+					.then(({
-
+						data
-		}
+					}) => {
-	};
+						this.setUserInfo(data);
-</script>
+						// 获取用户数据完毕后在获取订单数据防止多次跳转到登录页
-<style lang="scss">
+						orderData({})
-	page {
+							.then(({
-		height: 100%;
+								data
-		background: #111111;
+							}) => {
-		padding: 30rpx;
+								this.setOrderInfo(data);
-	}
+							})
-	
+							.catch(e => {
-	.mai-box{
+								this.setOrderInfo({
-		display: flex;
+									complete_count: 0, //完成
-		flex-direction: column;
+									received_count: 0, //待收货
-		align-items: center;
+									unshipped_count: 0, //待发货
-		justify-content: space-around;
+									order_count: 0, //订单总数
-		width: 582rpx;
+									unpaid_count: 0 //待付款
-		height: 377rpx;
+								});
-		background: #FFFFFF;
+							});
-		border-radius: 20rpx;
+					})
-		.mai-title{
+					.catch(e => {
-			font-size: 42rpx;
+						console.log(e);
-			font-weight: 500;
+					});
-			color: #0C1732;
+			},
-			line-height: 56rpx;
+			navPop(item) {
-		}
+				
-		input{
+				this.$refs.maipop.open()
-			width: 494rpx;
+			},
-			height: 90rpx;
+			...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
-			font-size: 40rpx;
+			navGet(index) {
-			background: rgba(199,212,255,0.3500);
+				this.tabCurrentIndex = index
-			border-radius: 10rpx;
+				this.getMyNft('tab')
-			text-align: center;
+			},
-		}
+			//swiper切换
-		.mai-button{
+			changeTab(e) {
-			display: flex;
+				this.tabCurrentIndex = e.target.current
-			width: 90%;
+				this.getMyNft('tab')
-			justify-content: space-between;
+			},
-			.button-left{
+			async loadData(sourse) {},
-				text-align: center;
+			//复制
-				width: 248rpx;
+			cope(name) {
-				height: 78rpx;
+				uni.setClipboardData({
-				border: 2rpx solid #A581FF;
+					data: this.name,
-				border-radius: 10rpx;
+					success() {
-				font-size: 34rpx;
+						uni.showToast({
-				font-weight: 500;
+							title: '复制成功'
-				color: #A581FF;
+						})
-				line-height: 78rpx;
+					}
-			}
+				})
-			.button-right{
+			},
-				text-align: center;
+			navTo(url) {
-				width: 248rpx;
+
-				height: 78rpx;
+
-				background: linear-gradient(270deg, #6E8DF7, #9977F6);
+				if (url == '') {
-				border-radius: 10rpx;
+					this.$api.msg('敬请期待');
-				font-size: 34rpx;
+				}
-				font-weight: 500;
+				//判断是否登录了,没有等去,请去登录
-				color: #FFFFFF;
+				if (!this.hasLogin) {
-				line-height: 78rpx;
+					//保存地址
-			}
+					saveUrl();
-		}
+					// 登录拦截
-	}
+					interceptor();
-
+					// uni.showModal({
-	.title-box {
+					// 	title:'去登录'
-		margin: 40rpx 0;
+					// })
-		display: flex;
+					// uni.navigateTo({
-		align-items: center;
+					// 	url,
-
+					// 	fail() {
-		.title-img {
+					// 		uni.switchTab({
-			width: 100rpx;
+					// 			url
-			height: 100rpx;
+					// 		});
-			border-radius: 50%;
+					// 	}
-			overflow: hidden;
+					// });
-
+				} else {
-			image {
+					uni.navigateTo({
-				width: 100%;
+						url,
-				height: 100%;
+						fail() {
-			}
+							uni.switchTab({
-		}
+								url
-
+							});
-		.title-tit {
+						}
-			margin-left: 30rpx;
+					});
-
+				}
-			.title-top {
+			},
-				font-size: 36rpx;
+			kfOpen() {
-				font-weight: 500;
+				this.$refs.popupkf.open();
-				color: #FFFFFF;
+			},
-				line-height: 50rpx;
+			kfClose() {
-			}
+				this.$refs.popupkf.close();
-
+			},
-			.title-bottom {
+			maiClose() {
-				font-size: 22rpx;
+				this.$refs.maipop.close();
-				font-weight: 500;
+			},
-				color: #FFFFFF;
+			getMyNft(type) {
-				line-height: 40rpx;
+				let obj = this
-			}
+				let index = obj.tabCurrentIndex
-		}
+				let navitem = obj.navList[index]
-	}
+				if(type == 'tab' && navitem.loaded) {
-	
+					return
-
+				}
-	.address-box {
+				if(navitem.loadingType == 'loading' || navitem.loadingType == 'noMore' ) {
-		display: flex;
+					return
-		justify-content: space-between;
+				}
-		align-items: center;
+				navitem.loadingType = 'loading'
-		margin: 0 30rpx;
+				if(index == 0) {
-		height: 60rpx;
+					getMyNft({
-		background: #181818;
+						page: navitem.page,
-		border: 2rpx solid #7D5FA4;
+						limit: navitem.limit
-		border-radius: 8rpx;
+					}).then(res => {
-		font-size: 20rpx;
+						navitem.orderList = navitem.orderList.concat(res.data.list)
-		font-weight: 500;
+						navitem.page++
-		line-height: 61rpx;
+						if(res.data.list.length == navitem.limit ) {
-		color: #5C5EE5;
+							navitem.loadingType = 'more'
-
+						}else {
-		.address-text {
+							navitem.loadingType = 'noMore'
-			margin: 0 25rpx;
+						}
-			width: 520rpx;
+						obj.$set(navitem,'loaded',true)
-			white-space: nowrap;
+					})
-			text-overflow: ellipsis;
+				}
-			overflow: hidden;
+				if(index == 1) {
-		}
+					console.log('get22')
-
+					myGdList({
-		.fuzhi {
+						page: navitem.page,
-			width: 86rpx;
+						limit: navitem.limit,
-			height: 40rpx;
+						status: 2,
-			border-radius: 10rpx;
+					}).then(res => {
-			border: 2px solid #7D5FA4;
+						navitem.orderList = navitem.orderList.concat(res.data.list)
-			text-align: center;
+						navitem.page++
-			line-height: 32rpx;
+						if(res.data.list.length == navitem.limit ) {
-			margin-right: 40rpx;
+							navitem.loadingType = 'more'
-
+						}else {
-		}
+							navitem.loadingType = 'noMore'
-	}
+						}
-
+						obj.$set(navitem,'loaded',true)
-	.manage-box {
+					})
-		display: flex;
+				}
-		justify-content: left;
+			}
-		background: #181818;
+
-		border-radius: 30rpx;
+		}
-		flex-wrap: wrap;
+	};
-
+</script>
-		.manage {
+<style lang="scss">
-			display: flex;
+	page {
-			flex-direction: column;
+		height: 100%;
-			align-items: center;
+		background: #111111;
-			margin: 30rpx 0 20rpx;
+		padding: 30rpx;
-			width: 25%;
+	}
-
+
-			image {
+	.mai-box {
-				width: 42rpx;
+		display: flex;
-				height: 42rpx;
+		flex-direction: column;
-				margin-bottom: 15rpx;
+		align-items: center;
-			}
+		justify-content: space-around;
-
+		width: 582rpx;
-			.manage-title {
+		height: 377rpx;
-				font-size: 24rpx;
+		background: #FFFFFF;
-				font-weight: 500;
+		border-radius: 20rpx;
-				color: #FFFFFF;
+
-				line-height: 42rpx;
+		.mai-title {
-			}
+			font-size: 42rpx;
-		}
+			font-weight: 500;
-	}
+			color: #0C1732;
-
+			line-height: 56rpx;
-	.vheigh {
+		}
-		height: var(--status-bar-height);
+
-	}
+		input {
-
+			width: 494rpx;
-	.navbar {
+			height: 90rpx;
-		margin-top: 30rpx;
+			font-size: 40rpx;
-		display: flex;
+			background: rgba(199, 212, 255, 0.3500);
-
+			border-radius: 10rpx;
-		justify-content: space-around;
+			text-align: center;
-		font-size: 24rpx;
+		}
-		font-family: PingFang SC;
+
-		font-weight: 500;
+		.mai-button {
-		color: #999999;
+			display: flex;
-		line-height: 42rpx;
+			width: 90%;
-
+			justify-content: space-between;
-		.current {
+
-			color: #5C5EE5;
+			.button-left {
-		}
+				text-align: center;
-
+				width: 248rpx;
-	}
+				height: 78rpx;
-
+				border: 2rpx solid #A581FF;
-	.uni-scroll-view-content {
+				border-radius: 10rpx;
-		height: 100%;
+				font-size: 34rpx;
-	}
+				font-weight: 500;
-
+				color: #A581FF;
-	.box {
+				line-height: 78rpx;
-		display: flex;
+			}
-		// justify-content: space-around;
+
-		flex-wrap: wrap;
+			.button-right {
-		width: 750rpx
+				text-align: center;
-	}
+				width: 248rpx;
-
+				height: 78rpx;
-	.box-content {
+				background: linear-gradient(270deg, #6E8DF7, #9977F6);
-
+				border-radius: 10rpx;
-		width: 330rpx;
+				font-size: 34rpx;
-		height: 415rpx;
+				font-weight: 500;
-		margin: 50rpx 15rpx;
+				color: #FFFFFF;
-
+				line-height: 78rpx;
-		.img {
+			}
-			width: 330rpx;
+		}
-			height: 280rpx;
+	}
-
+
-			image {
+	.title-box {
-				width: 100%;
+		margin: 40rpx 0;
-				height: 100%;
+		display: flex;
-			}
+		align-items: center;
-		}
+
-
+		.title-img {
-		.content-title {
+			width: 100rpx;
-			z-index: 99;
+			height: 100rpx;
-			display: flex;
+			border-radius: 50%;
-
+			overflow: hidden;
-			margin-top: -10rpx;
+
-			padding: 20rpx;
+			image {
-			flex-direction: column;
+				width: 100%;
-			border-bottom-left-radius: 10rpx;
+				height: 100%;
-			border-bottom-right-radius: 10rpx;
+			}
-			border: 2rpx solid #533A6A;
+		}
-			// box-shadow: 0px 0px 20rpx 0px rgba(79,59,103,0.0600);
+
-
+		.title-tit {
-			.title {
+			margin-left: 30rpx;
-				display: flex;
+
-				// font-size: 39rpx;
+			.title-top {
-				// font-weight: bold;
+				font-size: 36rpx;
-				// color: #FFFFFF;
+				font-weight: 500;
-				// margin-bottom: 20rpx;
+				color: #FFFFFF;
-
+				line-height: 50rpx;
-			}
+			}
-
+
-			.zm {
+			.title-bottom {
-				margin: 10rpx;
+				font-size: 22rpx;
-				width: 63rpx;
+				font-weight: 500;
-				height: 30rpx;
+				color: #FFFFFF;
-				border: 1rpx solid #5C5EE5;
+				line-height: 40rpx;
-				border-radius: 5rpx;
+			}
-				font-size: 16rpx;
+		}
-				font-weight: 500;
+	}
-				color: #5C5EE5;
+
-				line-height: 30rpx;
+
-				text-align: center;
+	.address-box {
-			}
+		display: flex;
-
+		justify-content: space-between;
-			.text {
+		align-items: center;
-				color: #FFFFFF;
+		margin: 0 30rpx;
-				font-size: 24rpx;
+		height: 60rpx;
-				margin: 10rpx 0;
+		background: #181818;
-			}
+		border: 2rpx solid #7D5FA4;
-		}
+		border-radius: 8rpx;
-
+		font-size: 20rpx;
-		.content-price {
+		font-weight: 500;
-			display: flex;
+		line-height: 61rpx;
-			justify-content: space-between;
+		color: #5C5EE5;
-
+
-			.price {
+		.address-text {
-				font-size: 30rpx;
+			margin: 0 25rpx;
-				font-family: PingFang SC;
+			width: 520rpx;
-				font-weight: 500;
+			white-space: nowrap;
-				color: #FFFFFF;
+			text-overflow: ellipsis;
-			}
+			overflow: hidden;
-
+		}
-			.button {
+
-				width: 104rpx;
+		.fuzhi {
-				height: 35rpx;
+			width: 86rpx;
-				background: linear-gradient(270deg, #6E8DF7, #9977F6);
+			height: 40rpx;
-				border-radius: 18rpx;
+			border-radius: 10rpx;
-				font-size: 20rpx;
+			border: 2px solid #7D5FA4;
-				font-weight: 500;
+			text-align: center;
-				color: #FFFFFF;
+			line-height: 32rpx;
-				line-height: 35rpx;
+			margin-right: 40rpx;
-				text-align: center;
+
-			}
+		}
-		}
+	}
-	}
+
-	.popup-box {
+	.manage-box {
-		width: 522rpx;
+		display: flex;
-		height: 605rpx;
+		justify-content: left;
-		background-color: #ffffff;
+		background: #181818;
-		border-radius: 20rpx;
+		border-radius: 30rpx;
-		position: relative;
+		flex-wrap: wrap;
-	
+
-		.img {
+		.manage {
-			position: relative;
+			display: flex;
-			top: -56rpx;
+			flex-direction: column;
-			left: 0;
+			align-items: center;
-			width: 522rpx;
+			margin: 30rpx 0 20rpx;
-			height: 132rpx;
+			width: 25%;
-			display: flex;
+
-			justify-content: center;
+			image {
-	
+				width: 42rpx;
-			image {
+				height: 42rpx;
-				border-radius: 20rpx 20rpx 0 0;
+				margin-bottom: 15rpx;
-				width: 450rpx;
+			}
-				height: 132rpx;
+
-			}
+			.manage-title {
-		}
+				font-size: 24rpx;
-	
+				font-weight: 500;
-		.mian {
+				color: #FFFFFF;
-			margin-top: -44rpx;
+				line-height: 42rpx;
-			display: flex;
+			}
-			flex-direction: column;
+		}
-			align-items: center;
+	}
-			// padding: 32rpx 32rpx;
+
-			background-color: #ffffff;
+	.vheigh {
-			border-radius: 0 0 20rpx 20rpx;
+		height: var(--status-bar-height);
-			text-align: center;
+	}
-	
+
-			.delivery {
+	.navbar {
-				font-size: 40rpx;
+		margin-top: 30rpx;
-				color: #333333;
+		display: flex;
-				display: flex;
+
-				align-items: center;
+		justify-content: space-around;
-				flex-direction: column;
+		font-size: 24rpx;
-	
+		font-family: PingFang SC;
-				.title {}
+		font-weight: 500;
-	
+		color: #999999;
-				image {
+		line-height: 42rpx;
-					margin-top: 48rpx;
+
-					width: 172rpx;
+		.current {
-					height: 160rpx;
+			color: #5C5EE5;
-				}
+		}
-			}
+
-	
+	}
-			.nocancel {
+
-				font-size: 32rpx;
+	.uni-scroll-view-content {
-				color: #333333;
+		height: 100%;
-				margin-top: 14rpx;
+		flex-wrap: wrap;
-			}
+	}
-	
+
-			.comfirm-box {
+	.box {
-				margin-top: 52rpx;
+		display: flex;
-				display: flex;
+		// justify-content: space-around;
-				// margin-bottom: 32rpx;
+		flex-wrap: wrap;
-	
+		width: 750rpx
-				// justify-content: space-around;
+	}
-				.cancel {
+
-					display: flex;
+	.box-content {
-					align-items: center;
+
-					justify-content: center;
+		width: 330rpx;
-					width: 197rpx;
+		height: 415rpx;
-					height: 74rpx;
+		// margin:0 15rpx 50rpx ;
-					border: 1px solid #dcc786;
+
-					border-radius: 38rpx;
+		.img {
-	
+			width: 330rpx;
-					font-size: 32rpx;
+			height: 280rpx;
-					color: #605128;
+
-				}
+			image {
-	
+				width: 100%;
-				.comfirm {
+				height: 100%;
-					margin-left: 32rpx;
+			}
-					display: flex;
+		}
-					align-items: center;
+
-					justify-content: center;
+		.content-title {
-					width: 197rpx;
+			z-index: 99;
-					height: 74rpx;
+			display: flex;
-					background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
+
-					border-radius: 38px;
+			margin-top: -10rpx;
-					font-size: 32rpx;
+			padding: 20rpx;
-					color: #605128;
+			flex-direction: column;
-				}
+			border-bottom-left-radius: 10rpx;
-			}
+			border-bottom-right-radius: 10rpx;
-		}
+			border: 2rpx solid #533A6A;
-	}
+			// box-shadow: 0px 0px 20rpx 0px rgba(79,59,103,0.0600);
+
+			.title {
+				display: flex;
+				// font-size: 39rpx;
+				// font-weight: bold;
+				// color: #FFFFFF;
+				// margin-bottom: 20rpx;
+
+			}
+
+			.zm {
+				flex-shrink: 0;
+				// margin: 10rpx;
+				// width: 63rpx;
+				display: inline-block;
+				// padding: 2rpx;
+				// height: 30rpx;
+				// border: 1rpx solid #5C5EE5;
+				margin-left: 10rpx;
+				border-radius: 5rpx;
+				font-size: 16rpx;
+				font-weight: 500;
+				color: #5C5EE5;
+				// line-height: 30rpx;
+				text-align: center;
+			}
+
+			.text {
+				color: #FFFFFF;
+				font-size: 24rpx;
+				margin: 10rpx 0;
+			}
+		}
+
+		.content-price {
+			display: flex;
+			justify-content: space-between;
+
+			.price {
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #FFFFFF;
+			}
+
+			.button {
+				width: 104rpx;
+				height: 35rpx;
+				background: linear-gradient(270deg, #6E8DF7, #9977F6);
+				border-radius: 18rpx;
+				font-size: 20rpx;
+				font-weight: 500;
+				color: #FFFFFF;
+				line-height: 35rpx;
+				text-align: center;
+			}
+		}
+	}
+
+	.popup-box {
+		width: 522rpx;
+		height: 605rpx;
+		background-color: #ffffff;
+		border-radius: 20rpx;
+		position: relative;
+
+		.img {
+			position: relative;
+			top: -56rpx;
+			left: 0;
+			width: 522rpx;
+			height: 132rpx;
+			display: flex;
+			justify-content: center;
+
+			image {
+				border-radius: 20rpx 20rpx 0 0;
+				width: 450rpx;
+				height: 132rpx;
+			}
+		}
+
+		.mian {
+			margin-top: -44rpx;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			// padding: 32rpx 32rpx;
+			background-color: #ffffff;
+			border-radius: 0 0 20rpx 20rpx;
+			text-align: center;
+
+			.delivery {
+				font-size: 40rpx;
+				color: #333333;
+				display: flex;
+				align-items: center;
+				flex-direction: column;
+
+				.title {}
+
+				image {
+					margin-top: 48rpx;
+					width: 172rpx;
+					height: 160rpx;
+				}
+			}
+
+			.nocancel {
+				font-size: 32rpx;
+				color: #333333;
+				margin-top: 14rpx;
+			}
+
+			.comfirm-box {
+				margin-top: 52rpx;
+				display: flex;
+				// margin-bottom: 32rpx;
+
+				// justify-content: space-around;
+				.cancel {
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					width: 197rpx;
+					height: 74rpx;
+					border: 1px solid #dcc786;
+					border-radius: 38rpx;
+
+					font-size: 32rpx;
+					color: #605128;
+				}
+
+				.comfirm {
+					margin-left: 32rpx;
+					display: flex;
+					align-items: center;
+					justify-content: center;
+					width: 197rpx;
+					height: 74rpx;
+					background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
+					border-radius: 38px;
+					font-size: 32rpx;
+					color: #605128;
+				}
+			}
+		}
+	}
+	.main-box {
+		margin: 20rpx auto 20rpx;
+		width: 710rpx;
+		background:#181818 ;
+		// box-shadow: 0px 4rpx 14rpx 0px rgba(229, 229, 229, 0.46);
+		border-radius: 20rpx;
+	
+		.title {
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			padding: 24rpx;
+			border-bottom: 1px solid #2f2f2f;
+	
+			.title-left {
+				display: flex;
+				align-items: center;
+	
+				.title-icon {
+					width: 32rpx;
+					height: 32rpx;
+				}
+	
+				.title-font {
+					margin-left: 20rpx;
+					font-size: 28rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #fff;
+				}
+			}
+	
+			.title-right {
+				width: 14rpx;
+				height: 24rpx;
+			}
+		}
+	
+		.main {
+			padding: 50rpx 0 30rpx;
+			.jg {
+				width: 1px;
+				height: 100rpx;
+				background: #EEEEEE;
+			}
+			.item {
+				padding-bottom: 20rpx;
+				width: 25%;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+	
+				.item-num {
+					font-size: 36rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #333333;
+				}
+	
+				.item-font {
+					margin-top: 18rpx;
+					font-size: 22rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #666666;
+				}
+			}
+	
+			.oitem {
+				width: 25%;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+	
+				.oitem-image {
+					height: 50rpx;
+					width: 48rpx;
+				}
+	
+				.oitem-font {
+					margin-top: 20rpx;
+					font-size: 24rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #fff;
+				}
+			}
+		}
+	}
+	.dy-list {
+		flex-wrap: wrap;
+		padding-top: 20rpx;
+		justify-content: space-between;
+	}
 </style>
 </style>

BIN
static/user/back.png


BIN
static/user/dfh.png


BIN
static/user/dfk.png


BIN
static/user/dsh.png


BIN
static/user/kf.png


BIN
static/user/ywc.png