hwq 2 anos atrás
pai
commit
42b0f7f00f

+ 46 - 0
api/hall.js

@@ -0,0 +1,46 @@
+import request from "@/utils/request.js";
+
+//查看会馆列表
+export function auction_gu(data) {
+	return request({
+		url: '/api/auction/auction_gu',
+		method: 'get',
+		data
+	});
+}
+
+//查看场次列表
+export function auction_list(data) {
+	return request({
+		url: '/api/auction_list',
+		method: 'get',
+		data
+	});
+}
+
+//预约场次
+export function subscribe(data) {
+	return request({
+		url: '/api/auction/subscribe',
+		method: 'post',
+		data
+	});
+}
+
+//判断是否能进场
+export function advance(data) {
+	return request({
+		url: '/api/auction/advance',
+		method: 'get',
+		data
+	});
+}
+
+//场次里商品列表
+export function auction_product(data) {
+	return request({
+		url: '/api/auction/auction_product',
+		method: 'get',
+		data
+	});
+}

+ 1 - 1
manifest.json

@@ -92,7 +92,7 @@
         "devServer" : {
             "proxy" : {
                 "/api" : {
-                    "target" : "http://base.liuniu946.com", //请求的目标域名
+                    "target" : "http://qudou.frp.liuniu946.com/", //请求的目标域名
                     "changeOrigin" : true,
                     // "secure": false,
                     "pathRewrite" : {}

+ 18 - 0
pages.json

@@ -607,6 +607,24 @@
 				"iconPath": "static/tabBar/tab-cart.png",
 				"selectedIconPath": "static/tabBar/tab-cart-current.png",
 				"text": "新品"
+			},
+			{
+				"pagePath": "pages/hall/hall",
+				// "iconPath": "static/tabBar/tab-cart.png",
+				// "selectedIconPath": "static/tabBar/tab-cart-current.png",
+				"text": "趣豆会馆"
+			},
+			{
+				"pagePath": "pages/order/order",
+				// "iconPath": "static/tabBar/tab-cart.png",
+				// "selectedIconPath": "static/tabBar/tab-cart-current.png",
+				"text": "订单"
+			},
+			{
+				"pagePath": "pages/money/money",
+				// "iconPath": "static/tabBar/tab-cart.png",
+				// "selectedIconPath": "static/tabBar/tab-cart-current.png",
+				"text": "财务"
 			},
 			{
 				"pagePath": "pages/user/user",

+ 4 - 0
pages/cart/cart.vue

@@ -64,10 +64,12 @@
 				<button type="primary" class="no-border confirm-btn" @click="createOrder">去结算</button>
 			</view>
 		</view>
+		<u-tabbar activeColor="#f42b4e" v-model="current" :list="tabbar" ></u-tabbar>
 	</view>
 </template>
 
 <script>
+	import { tabbar1 } from '@/utils/tabbar.js';
 import { getCartList, getCartNum, cartDel } from '@/api/user.js';
 import { mapState } from 'vuex';
 import uniNumberBox from '@/components/uni-number-box.vue';
@@ -78,6 +80,8 @@ export default {
 	},
 	data() {
 		return {
+			current: 2,
+			tabbar: tabbar1,
 			total: 0, //总价格
 			allChecked: false, //全选状态  true|false
 			empty: false, //空白页现实  true|false

+ 4 - 0
pages/category/category.vue

@@ -14,14 +14,18 @@
 				</view>
 			</view>
 		</scroll-view>
+		<u-tabbar activeColor="#f42b4e" v-model="current" :list="tabbar"></u-tabbar>
 	</view>
 </template>
 
 <script>
+	import { tabbar1 } from '@/utils/tabbar.js';
 import { getCategoryList } from '@/api/product.js';
 export default {
 	data() {
 		return {
+			current: 1,
+			tabbar: tabbar1,
 			sizeCalcState: false,
 			tabScrollTop: 0,
 			currentId: 9,

+ 43 - 9
pages/hall/hall.vue

@@ -6,11 +6,15 @@
 		</view>
 		<view class="hall-main"><image src="../../static/img/hell-main.png" mode=""></image></view>
 		<view class="hall-center">
-			<view class="shingle-main" v-for="item in 10" @click="nav('/pages/hall/halllist')">
-				<view class="shingle-bg"><image src="../../static/img/sim-bg.png" mode=""></image></view>
+			<view class="shingle-main" v-for="(item,index) in list" :key="index" @click="nav(item.id)">
+				<view class="shingle-bg"><image :src="item.image" mode=""></image></view>
 				<view class="shinglem-title flex">
-					<image class="address" src="../../static/img/address.png" mode=""></image>
-					<view class="shingle-font">浙江馆</view>
+					<image class="tbg" src="../../static/img/tbg-left.png" mode=""></image>
+					<view class="shinglemt-center">
+						<image class="address" src="../../static/img/address.png" mode=""></image>
+						<view class="shingle-font">{{ item.name }}</view>
+					</view>
+					<image class="tbg" src="../../static/img/tbg-right.png" mode=""></image>
 				</view>
 				<view class="shingle-mmain flex">
 					<view class="smmain-item">
@@ -20,7 +24,7 @@
 					<view class="shu"></view>
 					<view class="smmain-item">
 						<view class="smitem-top">纯平</view>
-						<view class="smitem-bottom">馆长</view>
+						<view class="smitem-bottom clamp">{{ item.nickname }}1111111111</view>
 					</view>
 					<view class="shu"></view>
 					<view class="smmain-item">
@@ -34,23 +38,44 @@
 				<image class="right-bottom" src="../../static/img/right-bottom.png" mode=""></image>
 			</view>
 		</view>
-		<u-tabbar activeColor="#375AFE" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
+		<u-tabbar activeColor="#f42b4e" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
 	</view>
 </template>
 
 <script>
 import { tabbar } from '@/utils/tabbar.js';
+import { auction_gu } from '@/api/hall.js';
 export default {
 	data() {
 		return {
 			tabbar: tabbar,
-			current: 2
+			current: 2,
+			list:[],
+			page:1,
+			limit:10,
+			loadingType: 'more',
 		};
 	},
+	onShow() {
+		this.loadData();
+	},
 	methods: {
-		nav(url){
+		loadData() {
+			const obj = this
+			if(obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
+				return ;
+			}
+			obj.loadingType = 'loading';
+			auction_gu({pages:obj.page,limit:obj.limit}).then(({data}) =>{
+				console.log(data);
+				this.list = data
+			}).catch(e =>{
+				console.log(e);
+			})
+		},
+		nav(id){
 			uni.navigateTo({
-				url
+				url: "/pages/hall/halllist?id=" + id
 			})
 		}
 	}
@@ -121,6 +146,15 @@ page {
 		z-index: 2;
 		justify-content: center;
 		height: 70rpx;
+		.tbg {
+			height: 70rpx;
+			width: 40rpx;
+		}
+		.shinglemt-center {
+			display: flex;
+			align-items: center;
+			background: rgba(220,38,43,0.66);
+		}
 		.address {
 			width: 28rpx;
 			height: 30rpx;

+ 32 - 1
pages/hall/hallinfo.vue

@@ -22,7 +22,7 @@
 		<view class="hotgoods" v-if="firstList.length != 0">
 			<view class="hotgoods-item" v-for="item in firstList" :key="item.id" @click="navToDetailPage(item)">
 				<view class="image-wrapper"><image :src="item.image" mode="scaleToFill"></image></view>
-				<view class="title clamp margin-c-20">{{ item.store_name }}</view>
+				<view class="title clamp margin-c-20">{{ item.name }}</view>
 				<view class="hot-price">
 					<view class="price">
 						<text class="font-size-sm">¥</text>
@@ -35,13 +35,44 @@
 </template>
 
 <script>
+import { auction_product } from '@/api/hall.js'
 export default {
 	data() {
 		return {
 			firstList: [],
+			id:'',//场次id
+			page: 1,
+			limit: 10,
+			loadingType: 'more',
 		};
 	},
+	onLoad(option) {
+		this.id = option.id
+		this.loadData();
+	},
 	methods: {
+		loadData(){
+			const obj = this;
+			if (obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
+				return;
+			}
+			obj.loadingType = 'loading';
+			auction_product({
+				page: obj.page,
+				limit: obj.limit,
+				id: obj.id
+			}).then(({data}) => {
+				obj.firstList = obj.firstList.concat(data);
+				if (data.length != obj.limit) {
+					obj.loadingType = 'more';
+					obj.page++;
+				} else {
+					obj.loadingType = 'nomore';
+				}
+			}).catch(e =>{
+				console.log(e);
+			})
+		},
 		toBack() {
 			uni.navigateBack({});
 		},

+ 224 - 121
pages/hall/halllist.vue

@@ -4,107 +4,83 @@
 			<view class="status_bar"><!-- 这里是状态栏 --></view>
 			<view class="money-box">
 				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/img/fanhui.png" mode=""></image></view>
-				<view class="header">浙江馆</view>
+				<view class="header">艺术品挂牌交易区</view>
 				<image class="money_bg" src="../../static/img/hinfo-bg.png"></image>
-				<view class="message flex" @click="nav('/pages/index/message')">
-					<image class="message-left" src="../../static/img/hinco.png" mode=""></image>
-					<view class="message-font clamp">全民动员,公告内容信息公告消息显123456789</view>
-					<image class="message-right" src="../../static/img/backb.png" mode=""></image>
-				</view>
 			</view>
 		</view>
-		<view class="shingle-mmain flex">
-			<view class="smmain-item">
-				<view class="smitem-top red">开放中</view>
-				<view class="smitem-bottom">状态</view>
-			</view>
-			<view class="shu"></view>
-			<view class="smmain-item">
-				<view class="smitem-top">纯平</view>
-				<view class="smitem-bottom">馆长</view>
-			</view>
-			<view class="shu"></view>
-			<view class="smmain-item">
-				<view class="people flex">
-					<view class="peopleitem"><image src="../../static/img/busy.png" mode=""></image></view>
+		<view class="hallist-bg">
+			<image src="" mode=""></image>
+		</view>
+		<view class="message flex" @click="nav('/pages/index/message')">
+			<image class="message-left" src="../../static/img/hinco.png" mode=""></image>
+			<view class="message-font clamp">全民动员,公告内容信息公告消息显123456789</view>
+			<image class="message-right" src="../../static/img/backb.png" mode=""></image>
+		</view>
+		<view class="navbar">
+			<view class="navbar-item" @click="navTo('/pages/money/qudou')">
+				<view class="navbar-font">
+					<image class="navbar-image" src="../../static/img/been.png" mode=""></image>
+					<view class="font">趣豆</view>
 				</view>
-				<view class="smitem-bottom">流畅</view>
+				<view class="navbar-num">200</view>
 			</view>
-		</view>
-		<view class="main">
-			<view class="mtitle-english">AFTERNOON SHOWS</view>
-			<view class="mmain flex" @click="nav('/pages/hall/hallinfo')">
-				<view class="mmain-info">
-					<view class="mmain-title">
-						<image class="mmaint-left" src="../../static/img/afternooninco.png" mode=""></image>
-						<view class="mmaint-font">下午场</view>
-						<view class="mmaint-time">13:59开售</view>
-					</view>
-					<view class="mmain-time" style="margin-top: 28rpx;">预约时间:9:30-13:53</view>
-					<view class="mmain-time">入场时间:9:30-13:53</view>
-					<view class="mmain-time flex">
-						<view class="mmain-font">距预约结束:</view>
-						<view class="lyy-b-jz flex">
-							<uni-countdowns
-								color="#FFFFFF"
-								splitor-color="#4166FC"
-								background-color="#4166FC"
-								border-color="#4166FC"
-								:show-day="false"
-								:hour="stopTime.stopTimeH"
-								:minute="stopTime.stopTimeM"
-								:second="stopTime.stopTimeS"
-							></uni-countdowns>
-						</view>
-					</view>
+			<view class="vvv"></view>
+			<view class="navbar-item">
+				<view class="navbar-font" @click="navTo('/pages/user/scoreAccumulate')">
+					<image class="navbar-image" src="../../static/money/m03.png" mode=""></image>
+					<view class="font">积分</view>
 				</view>
-				<view class="mmain-image"><image src="../../static/img/afternoon.png" mode=""></image></view>
+				<view class="navbar-num">200</view>
 			</view>
-			<view class="bottom" @click="open()">
-				<view class="bottom-font">立即预约</view>
-				<image class="bottom-image" src="../../static/img/jt.png" mode=""></image>
+			<view class="vvv"></view>
+			<view class="navbar-item">
+				<view class="navbar-font">
+					<image class="navbar-image" src="../../static/money/m04.png" mode=""></image>
+					<view class="font">置换券</view>
+				</view>
+				<view class="navbar-num">200</view>
 			</view>
 		</view>
-		<view class="main">
-			<view class="mtitle-english">EVENING SHOWS</view>
-			<view class="mmain flex" @click="nav('/pages/hall/hallinfo')">
+		<view class="main" v-for="(item, index) in list" :key="index">
+			<view class="mtitle-english">{{ item.show }}</view>
+			<view class="mmain flex">
 				<view class="mmain-info">
 					<view class="mmain-title">
-						<image class="mmaint-left" src="../../static/img/eveninginco.png" mode=""></image>
-						<view class="mmaint-font">下午场</view>
-						<view class="mmaint-time">13:59开售</view>
+						<image class="mmaint-left" :src="item.time_image" mode=""></image>
+						<view class="mmaint-font">{{ item.nickname }}</view>
+						<view class="mmaint-time">{{ item.radd_time }}开售</view>
 					</view>
-					<view class="mmain-time" style="margin-top: 28rpx;">预约时间:9:30-13:53</view>
-					<view class="mmain-time">入场时间:9:30-13:53</view>
+					<view class="mmain-time" style="margin-top: 28rpx;">预约时间:{{ item.add_time }}-{{ item.end_time }}</view>
+					<view class="mmain-time">入场时间:{{ item.radd_time }}-{{ item.rend_time }}</view>
 					<view class="mmain-time flex">
 						<view class="mmain-font">距预约结束:</view>
 						<view class="lyy-b-jz flex">
 							<uni-countdowns
 								color="#FFFFFF"
-								splitor-color="#4166FC"
-								background-color="#4166FC"
-								border-color="#4166FC"
+								splitor-color="#FECD57"
+								background-color="#FECD57"
+								border-color="#FECD57"
 								:show-day="false"
-								:hour="stopTime.stopTimeH"
-								:minute="stopTime.stopTimeM"
-								:second="stopTime.stopTimeS"
+								:hour="item.hours"
+								:minute="item.minutes"
+								:second="item.seconds"
 							></uni-countdowns>
 						</view>
 					</view>
 				</view>
-				<view class="mmain-image"><image src="../../static/img/evening.png" mode=""></image></view>
+				<view class="mmain-image"><image :src="item.image" mode=""></image></view>
 			</view>
-			<view class="bottom" @click="open()">
-				<view class="bottom-font">立即预约</view>
+			<view class="bottom" @click="open(item)">
+				<view class="bottom-font">立即{{item.str}}</view>
 				<image class="bottom-image" src="../../static/img/jt.png" mode=""></image>
 			</view>
 		</view>
 		<uni-popup ref="popup" type="center">
 			<view class="popup">
-				<view class="popup-title">是否立即预约?</view>
+				<view class="popup-title">预约需要{{price}}艺金券是否立即预约?</view>
 				<view class="btn-box">
 					<view class="btn-left" @click="close()">取消</view>
-					<view class="btn-right" @click="close()">确定</view>
+					<view class="btn-right" @click="appointment()">确定</view>
 				</view>
 			</view>
 		</uni-popup>
@@ -113,35 +89,106 @@
 
 <script>
 import uniCountdowns from '@/components/uni-countdown/uni-countdowns.vue';
+import { auction_list,subscribe,advance } from '@/api/hall.js';
+import { timeComputed } from '@/utils/rocessor.js';
 export default {
 	components: {
 		uniCountdowns
 	},
 	data() {
 		return {
-			// 倒计时
-			stopTime: {
-				stopTimeH: 1,
-				stopTimeM: 1,
-				stopTimeS: 1
-			}
+			price:'',//预约的价格
+			id: '',//预约会场id
+			page: 1,
+			limit: 10,
+			loadingType: 'more',
+			list: []
 		};
 	},
+	onLoad(option) {
+		this.id = option.id;
+		this.loadData();
+	},
 	methods: {
-		open() {
-			this.$refs.popup.open();
+		loadData() {
+			const obj = this;
+			if (obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
+				return;
+			}
+			obj.loadingType = 'loading';
+			auction_list({
+				page: obj.page,
+				limit: obj.limit,
+				auction_gu_id: obj.id
+			}).then(({ data }) => {
+				console.log(data, '123456');
+				data.forEach(e => {
+					let now_time = timeComputed(e.time);
+					console.log(e.time,now_time);
+					e.hours = now_time.hours;
+					e.minutes = now_time.minutes;
+					e.seconds = now_time.seconds;
+					let jcsj = e.radd_time.split(':')
+					if(jcsj[0]*1 >= 8 && jcsj[0]*1 < 12){
+						e.time_image = '../../static/img/morningicon.png'
+						e.show = 'MORNING SHOWS'
+					}else if(jcsj[0]*1 >= 12 && jcsj[0]*1 < 18){
+						e.show = 'AFTERNOON SHOWS'
+						e.time_image = '../../static/img/afternoonicon.png'
+					}else {
+						e.time_image = '../../static/img/eveningicon.png'
+						e.show = 'EVENING SHOWS'
+					}
+				});
+				obj.list = obj.list.concat(data);
+				if (data.length != obj.limit) {
+					obj.loadingType = 'more';
+					obj.page++;
+				} else {
+					obj.loadingType = 'nomore';
+				}
+			});
+		},
+		open(item) {
+			if(item.sta != 1) {
+				this.id = item.id
+				advance({id: item.id}).then(e =>{
+					console.log(e,'success');
+					this.nav()
+				}).then(e =>{
+					console.log(e,'fail');
+				})
+			}else {
+				this.price = item.anticipate
+				this.id = item.id
+				this.$refs.popup.open();
+			}
 		},
 		close() {
+			this.price = ''
+			this.id = ''
 			this.$refs.popup.close();
 		},
-		nav(url) {
+		nav() {
 			uni.navigateTo({
-				url
-			})
+				url:'/pages/hall/hallinfo?id=' + this.id
+			});
 		},
 		toBack() {
-			uni.navigateBack({
-				
+			uni.navigateBack({});
+		},
+		appointment() {
+			subscribe({id: this.id}).then(({data}) =>{
+				this.$api.msg('预约成功')
+				console.log(data);
+				this.price = ''
+				this.id = ''
+				this.$refs.popup.close();
+			}).catch(e =>{
+				this.price = ''
+				this.id = ''
+				this.$refs.popup.close();
+				console.log(e);
 			})
 		}
 	}
@@ -187,38 +234,9 @@ page,
 	}
 	.money_bg {
 		width: 100%;
-		height: 480rpx;
+		height: 382rpx;
 		display: block;
 	}
-	.message {
-		justify-content: space-around;
-		position: absolute;
-		top: 270rpx;
-		left: 0;
-		right: 0;
-		margin: 0 auto;
-		padding: 16rpx 40rpx 16rpx 50rpx;
-		width: 690rpx;
-		background: #ffffff;
-		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-		border-radius: 20rpx;
-		.message-left {
-			width: 52rpx;
-			height: 52rpx;
-			flex-shrink: 0;
-		}
-		.message-font {
-			margin: 0 40rpx;
-			font-size: 28rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #0c1732;
-		}
-		.message-right {
-			width: 18rpx;
-			height: 30rpx;
-		}
-	}
 }
 .shingle-mmain {
 	position: relative;
@@ -333,7 +351,7 @@ page,
 		margin-top: 32rpx;
 		width: 380rpx;
 		height: 64rpx;
-		background: #375afe;
+		background: #d13737;
 		border-radius: 20rpx;
 		display: flex;
 		justify-content: center;
@@ -353,10 +371,9 @@ page,
 }
 .popup {
 	width: 582rpx;
-	height: 378rpx;
 	background: #ffffff;
 	border-radius: 20rpx;
-	padding-top: 118rpx;
+	padding: 118rpx 20rpx 30rpx;
 	.popup-title {
 		text-align: center;
 		font-size: 42rpx;
@@ -365,26 +382,26 @@ page,
 		color: #0c1732;
 	}
 	.btn-box {
-		padding: 90rpx 30rpx 0;
+		padding-top: 90rpx;
 		display: flex;
 		align-items: center;
 		justify-content: space-between;
 		.btn-left {
 			width: 248rpx;
 			height: 78rpx;
-			border: 2rpx solid #4166fc;
+			border: 2rpx solid #DC262B;
 			border-radius: 10rpx;
 			font-size: 34rpx;
 			font-family: PingFang SC;
 			font-weight: 500;
-			color: #4166fc;
+			color: #DC262B;
 			text-align: center;
 			line-height: 78rpx;
 		}
 		.btn-right {
 			width: 248rpx;
 			height: 78rpx;
-			background: linear-gradient(0deg, rgba(60, 237, 237, 0.99), #04b8ff, #375afe);
+			background: #DC262B;
 			border-radius: 10rpx;
 			font-size: 34rpx;
 			font-family: PingFang SC;
@@ -395,4 +412,90 @@ page,
 		}
 	}
 }
+.message {
+	justify-content: space-around;
+	margin: 20rpx auto 0;
+	padding: 16rpx 40rpx 16rpx 50rpx;
+	width: 690rpx;
+	background: #ffffff;
+	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+	border-radius: 20rpx;
+	.message-left {
+		width: 52rpx;
+		height: 52rpx;
+		flex-shrink: 0;
+	}
+	.message-font {
+		margin: 0 40rpx;
+		font-size: 28rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #0c1732;
+	}
+	.message-right {
+		width: 18rpx;
+		height: 30rpx;
+	}
+}
+.hallist-bg {
+	position: relative;
+	z-index: 10;
+	margin: -240rpx auto 0;
+	width: 702rpx;
+	height: 300rpx;
+	border-radius: 14rpx;
+	background-color: #2979FF;
+	image {
+		width: 100%;
+		height: 100%;
+	}
+}
+.navbar {
+	display: flex;
+	align-items: center;
+	justify-content: space-around;
+	width: 700rpx;
+	background: #ffffff;
+	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+	border-radius: 20rpx;
+	margin: 40rpx auto 0;
+	padding: 40rpx 0 50rpx;
+
+	.vvv {
+		width: 2rpx;
+		height: 74rpx;
+		background: #dcdcdc;
+	}
+
+	.navbar-item {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+
+		.navbar-font {
+			margin-bottom: 10rpx;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+
+			image {
+				margin-right: 10rpx;
+				width: 40rpx;
+				height: 40rpx;
+			}
+
+			.font {
+				font-size: 30rpx;
+				font-weight: bold;
+				color: #0c1732;
+			}
+		}
+
+		.navbar-num {
+			font-size: 34rpx;
+			font-weight: bold;
+			color: #0c1732;
+		}
+	}
+}
 </style>

+ 26 - 10
pages/index/index.vue

@@ -76,8 +76,12 @@
 			<view class="shingle-main" @click="nav('/pages/hall/halllist')">
 				<view class="shingle-bg"><image src="../../static/img/sim-bg.png" mode=""></image></view>
 				<view class="shinglem-title flex">
-					<image class="address" src="../../static/img/address.png" mode=""></image>
-					<view class="shingle-font">浙江馆</view>
+					<image class="tbg" src="../../static/img/tbg-left.png" mode=""></image>
+					<view class="shinglemt-center">
+						<image class="address" src="../../static/img/address.png" mode=""></image>
+						<view class="shingle-font">浙江馆</view>
+					</view>
+					<image class="tbg" src="../../static/img/tbg-right.png" mode=""></image>
 				</view>
 				<view class="shingle-mmain flex">
 					<view class="smmain-item">
@@ -137,8 +141,7 @@
 				</view>
 			</view>
 		</view>
-		<view class="ge">
-		</view>
+		<view class="ge"></view>
 		<view class="serve">
 			<view class="seckill-title flex">
 				<view class="seckill-left flex">
@@ -161,10 +164,12 @@
 				</view>
 			</view>
 		</view>
+		<u-tabbar activeColor="#f42b4e" v-model="current" :list="tabbar"></u-tabbar>
 	</view>
 </template>
 
 <script>
+import { tabbar1 } from '@/utils/tabbar.js';
 import { loadIndexs } from '@/api/index.js';
 import uniCountdowns from '@/components/uni-countdown/uni-countdowns.vue';
 export default {
@@ -173,6 +178,8 @@ export default {
 	},
 	data() {
 		return {
+			current: 0,
+			tabbar: tabbar1,
 			titleNViewBackground: '',
 			swiperCurrent: 0,
 			swiperLength: 0,
@@ -200,11 +207,11 @@ export default {
 				})
 				.catch(e => {});
 		},
-		goDetails(e){
-			console.log(e,'123456');
+		goDetails(e) {
+			console.log(e, '123456');
 			uni.navigateTo({
-				url:'/pages/index/messageInfo'
-			})
+				url: '/pages/index/messageInfo'
+			});
 		},
 		nav(url) {
 			uni.navigateTo({
@@ -245,7 +252,7 @@ page,
 .center {
 	min-height: 100%;
 	height: auto;
-	background: #FFFFFF;
+	background: #ffffff;
 }
 .top {
 	position: relative;
@@ -421,6 +428,15 @@ page,
 			z-index: 2;
 			justify-content: center;
 			height: 70rpx;
+			.tbg {
+				height: 70rpx;
+				width: 40rpx;
+			}
+			.shinglemt-center {
+				display: flex;
+				align-items: center;
+				background: rgba(220,38,43,0.66);
+			}
 			.address {
 				width: 28rpx;
 				height: 30rpx;
@@ -581,7 +597,7 @@ page,
 .ge {
 	height: 20rpx;
 	width: 750rpx;
-	background: #F8F8F8;
+	background: #f8f8f8;
 }
 .serve {
 	padding: 32rpx 30rpx;

+ 179 - 198
pages/money/money.vue

@@ -13,9 +13,7 @@
 				</view>
 				<view class="navbar-num">200</view>
 			</view>
-			<view class="vvv">
-
-			</view>
+			<view class="vvv"></view>
 			<view class="navbar-item">
 				<view class="navbar-font" @click="navTo('/pages/user/scoreAccumulate')">
 					<image class="navbar-image" src="../../static/money/m03.png" mode=""></image>
@@ -23,9 +21,7 @@
 				</view>
 				<view class="navbar-num">200</view>
 			</view>
-			<view class="vvv">
-
-			</view>
+			<view class="vvv"></view>
 			<view class="navbar-item">
 				<view class="navbar-font">
 					<image class="navbar-image" src="../../static/money/m04.png" mode=""></image>
@@ -45,250 +41,235 @@
 					<image src="../../static/money/m01.png" mode=""></image>
 				</view>
 			</view>
-			<view class="list" v-for="(item ,index) in list" :style="{background:(index%2==0?'#fff':'#F9F9F9')}">
+			<view class="list" v-for="(item, index) in list" :style="{ background: index % 2 == 0 ? '#fff' : '#F9F9F9' }">
 				<view class="list-box">
 					<view class="list-left">
-						<view class="top1">
-							{{item.title}}
-						</view>
-						<view class="bottom">
-							{{item.time}}
-						</view>
-					</view>
-					<view class="list-right" :style="{color:(index%2==0?'#ff0000':'#000000')}">
-						{{item.money}}
+						<view class="top1">{{ item.title }}</view>
+						<view class="bottom">{{ item.time }}</view>
 					</view>
+					<view class="list-right" :style="{ color: index % 2 == 0 ? '#ff0000' : '#000000' }">{{ item.money }}</view>
 				</view>
 			</view>
 		</view>
-
-
-		<u-tabbar activeColor="#375AFE" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
+		<u-tabbar activeColor="#f42b4e" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
 	</view>
 </template>
 
 <script>
-	import {
-		tabbar
-	} from '@/utils/tabbar.js';
-	export default {
-		data() {
-			return {
-				currentIndex:0,
-				tabbar: tabbar,
-				current: 3,
-				list: [{
-						title: '释放保证金',
-						time: '2022-01-21 14:12',
-						money: "200"
-					},
-					{
-						title: '预约入场',
-						time: '2220-01-21 14:12',
-						money: "-200"
-					},
-					{
-							title: '释放保证金',
-							time: '2022-01-21 14:12',
-							money: "200"
-						},
-						{
-							title: '预约入场',
-							time: '2220-01-21 14:12',
-							money: "-200"
-						}
-				]
-			};
-		},
-		methods:{
-			navTo(url){
-				uni.navigateTo({
-					url
-				})
-			}
+import { tabbar } from '@/utils/tabbar.js';
+export default {
+	data() {
+		return {
+			currentIndex: 0,
+			tabbar: tabbar,
+			current: 3,
+			list: [
+				{
+					title: '释放保证金',
+					time: '2022-01-21 14:12',
+					money: '200'
+				},
+				{
+					title: '预约入场',
+					time: '2220-01-21 14:12',
+					money: '-200'
+				},
+				{
+					title: '释放保证金',
+					time: '2022-01-21 14:12',
+					money: '200'
+				},
+				{
+					title: '预约入场',
+					time: '2220-01-21 14:12',
+					money: '-200'
+				}
+			]
+		};
+	},
+	methods: {
+		navTo(url) {
+			uni.navigateTo({
+				url
+			});
 		}
-	};
+	}
+};
 </script>
 
 <style lang="less">
-	.center {
-		height: 100%;
-		width: 100%;
-		height: auto;
-		min-height: 100%;
-		background: #ffffff;
-	}
-
-	.top {
-		margin: 20rpx auto 0;
-		position: relative;
+.center {
+	height: 100%;
+	width: 100%;
+	height: auto;
+	min-height: 100%;
+	background: #ffffff;
+}
+
+.top {
+	margin: 20rpx auto 0;
+	position: relative;
+	width: 700rpx;
+	height: 200rpx;
+	padding: 54rpx 40rpx;
+
+	.top-bg {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
 		width: 700rpx;
 		height: 200rpx;
-		padding: 54rpx 40rpx;
-
-		.top-bg {
-			position: absolute;
-			top: 0;
-			left: 0;
-			right: 0;
-			width: 700rpx;
-			height: 200rpx;
-			border-radius: 25rpx;
-		}
+		border-radius: 25rpx;
+	}
 
-		.top-font {
-			position: relative;
-			z-index: 2;
-			font-size: 32rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #ffffff;
-			line-height: 1;
-		}
+	.top-font {
+		position: relative;
+		z-index: 2;
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ffffff;
+		line-height: 1;
+	}
 
-		.num {
-			line-height: 1;
-			position: relative;
-			z-index: 2;
-			margin-top: 24rpx;
-			font-size: 48rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #ffffff;
-		}
+	.num {
+		line-height: 1;
+		position: relative;
+		z-index: 2;
+		margin-top: 24rpx;
+		font-size: 48rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ffffff;
+	}
+}
+
+.navbar {
+	display: flex;
+	justify-content: space-around;
+	width: 700rpx;
+	background: #ffffff;
+	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+	border-radius: 20rpx;
+	margin: 40rpx auto 0;
+	padding: 40rpx 0 50rpx;
+
+	.vvv {
+		width: 2rpx;
+		height: 74rpx;
+		background: #dcdcdc;
 	}
 
-	.navbar {
+	.navbar-item {
 		display: flex;
-		justify-content: space-around;
-		width: 700rpx;
-		background: #FFFFFF;
-		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-		border-radius: 20rpx;
-		margin: 40rpx auto 0;
-		padding: 40rpx 0 50rpx;
-
-		.vvv {
-			width: 2rpx;
-			height: 74rpx;
-			background: #DCDCDC;
-		}
+		flex-direction: column;
+		align-items: center;
 
-		.navbar-item {
+		.navbar-font {
+			margin-bottom: 10rpx;
 			display: flex;
-			flex-direction: column;
+			justify-content: center;
 			align-items: center;
 
-			.navbar-font {
-				margin-bottom: 10rpx;
-				display: flex;
-				justify-content: center;
-				align-items: center;
-
-				image {
-					margin-right: 10rpx;
-					width: 40rpx;
-					height: 40rpx;
-
-				}
-
-				.font {
-					font-size: 30rpx;
-					font-weight: bold;
-					color: #0C1732;
-				}
+			image {
+				margin-right: 10rpx;
+				width: 40rpx;
+				height: 40rpx;
 			}
 
-			.navbar-num {
-				font-size: 34rpx;
+			.font {
+				font-size: 30rpx;
 				font-weight: bold;
-				color: #0C1732;
+				color: #0c1732;
 			}
 		}
+
+		.navbar-num {
+			font-size: 34rpx;
+			font-weight: bold;
+			color: #0c1732;
+		}
 	}
+}
 
-	.content-box {
-		margin: 0 30rpx;
+.content-box {
+	margin: 0 30rpx;
 
-		.content-title {
-			margin: 50rpx 0;
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
+	.content-title {
+		margin: 50rpx 0;
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
 
-			.title-left {
-				image {
-					width: 8rpx;
-					height: 30rpx;
-					margin-right: 10rpx;
-				}
+		.title-left {
+			image {
+				width: 8rpx;
+				height: 30rpx;
+				margin-right: 10rpx;
+			}
 
-				text {
-					font-size: 34rpx;
-					font-weight: bold;
-					color: #0C1732;
-				}
+			text {
+				font-size: 34rpx;
+				font-weight: bold;
+				color: #0c1732;
 			}
+		}
 
-			.title-right {
-				font-size: 30rpx;
-				font-weight: 500;
-				color: #0C1732;
+		.title-right {
+			font-size: 30rpx;
+			font-weight: 500;
+			color: #0c1732;
 
-				image {
-					margin-left: 10rpx;
-					width: 17rpx;
-					height: 12rpx;
-				}
+			image {
+				margin-left: 10rpx;
+				width: 17rpx;
+				height: 12rpx;
 			}
 		}
 	}
+}
 
-	.list {
-		
+.list {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+	.list-box {
+		width: 700rpx;
+		height: 143rpx;
+		width: 100%;
 		display: flex;
+
+		border-radius: 10rpx;
 		justify-content: space-between;
 		align-items: center;
-		.list-box {
-			width: 700rpx;
+		margin: 0 30rpx;
+
+		.list-left {
 			height: 143rpx;
-			width: 100%;
 			display: flex;
-			
-			border-radius: 10rpx;
-			justify-content: space-between;
-			align-items: center;
-			margin: 0 30rpx;
-
-
-			.list-left {
-				height: 143rpx;
-				display: flex;
-				flex-direction: column;
-				
-				justify-content: space-around;
-
-
-				.top1 {
-					font-size: 30rpx;
-					font-weight: bold;
-					color: #0C1732;
-					
-				}
+			flex-direction: column;
 
-				.bottom {
-					font-size: 26rpx;
-					font-weight: 500;
-					color: #999999;
-				}
+			justify-content: space-around;
 
+			.top1 {
+				font-size: 30rpx;
+				font-weight: bold;
+				color: #0c1732;
 			}
 
-			.list-right {
-				font-size: 36rpx;
-				font-weight: bold;
-				color: #EA453C;
+			.bottom {
+				font-size: 26rpx;
+				font-weight: 500;
+				color: #999999;
 			}
 		}
+
+		.list-right {
+			font-size: 36rpx;
+			font-weight: bold;
+			color: #ea453c;
+		}
 	}
+}
 </style>

+ 1 - 2
pages/order/order.vue

@@ -162,8 +162,7 @@
 				</scroll-view>
 			</swiper-item>
 		</swiper>
-
-		<u-tabbar activeColor="#375AFE" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
+		<u-tabbar activeColor="#f42b4e" v-model="current" :list="tabbar" :mid-button="true"></u-tabbar>
 	</view>
 </template>
 

+ 4 - 0
pages/product/new.vue

@@ -21,13 +21,17 @@
 				</view>
 			</view>
 		</view>
+		<u-tabbar activeColor="#f42b4e" v-model="current" :list="tabbar" ></u-tabbar>
 	</view>
 </template>
 
 <script>
+import { tabbar1 } from '@/utils/tabbar.js';
 export default {
 	data() {
 		return {
+			current: 3,
+			tabbar: tabbar1,
 			firstList:[],
 		}
 	}

+ 2 - 1
pages/public/login.vue

@@ -195,8 +195,9 @@ export default {
 				password: obj.passward
 			})
 				.then(function(e) {
+					console.log(e.data.token,"123456");
 					uni.setStorageSync('token', e.data.token);
-					obj.$store.commit('hasLogin', true);
+					// obj.$store.commit('hasLogin', true);
 					getUserInfo({}).then(e => {
 						obj.login();
 						// 保存返回用户数据

+ 3 - 3
pages/public/register.vue

@@ -21,13 +21,13 @@
 				<view class="login_img"><image src="/static/icon/img07.png"></image></view>
 				<view class="login_name"><input class="uni-input" type="text" v-model="invitation" focus placeholder="请输入邀请码" /></view>
 			</view>
-			<!-- <view class="login_input flex">
+			<view class="login_input flex">
 				<view class="login_img"><image src="/static/icon/img06.png"></image></view>
 				<view class="login_name flex">
 					<input class="uni-input width" v-model="code" focus placeholder="请输入验证码" />
 					<view class="code" @click="verification">{{ countDown == 0 ? '验证码' : countDown }}</view>
 				</view>
-			</view> -->
+			</view>
 			<view><button type="green" @click="register" class="uni-button uni-button-green">注册账号</button></view>
 			<view><button class="uni-button uni-button-green uni-button-green-plain" type="green" plain="true" hover-class="none" @click="login">返回登录</button></view>
 		</view>
@@ -93,7 +93,7 @@ export default {
 			// }
 			register({
 				account: obj.phone, //账号
-				// captcha: obj.code, //验证码
+				captcha: obj.code, //验证码
 				password: obj.password ,//密码
 				spread:this.invitation//上级推广人
 			}).then(function(e) {

+ 4 - 0
pages/user/user.vue

@@ -107,9 +107,11 @@
 				<image src="../../static/img/Close.png"></image>
 			</view> -->
 		</uni-popup>
+		<u-tabbar activeColor="#f42b4e" v-model="current" :list="tabbar" ></u-tabbar>
 	</view>
 </template>
 <script>
+	import { tabbar1 } from '@/utils/tabbar.js';
 	import {
 		mapState,
 		mapMutations
@@ -134,6 +136,8 @@
 		},
 		data() {
 			return {
+				current: 4,
+				tabbar: tabbar1,
 				qded: false, //是否已签到
 				text:'',//客服微信
 				today_integral:'',//签到获得的数值

BIN
static/img/afternoonicon.png


BIN
static/img/afternooninco.png


BIN
static/img/busy.png


+ 0 - 0
static/img/eveninginco.png → static/img/eveningicon.png


BIN
static/img/hall-bg.png


BIN
static/img/hell-main.png


BIN
static/img/hinco.png


BIN
static/img/hinfo-bg.png


BIN
static/img/morningicon.png


BIN
static/img/right-bottom.png


BIN
static/img/sim-bg.png


BIN
static/img/tbg-left.png


BIN
static/img/tbg-right.png


BIN
static/tabBar/1.png


BIN
static/tabBar/10.png


BIN
static/tabBar/2.png


BIN
static/tabBar/4.png


BIN
static/tabBar/6.png


BIN
static/tabBar/8.png


BIN
static/tabBar/9.png


+ 0 - 0
static/tabBar/5.png → static/tabBar/qd.png


BIN
static/tabBar/tab-money-current.png


+ 0 - 0
static/tabBar/7.png → static/tabBar/tab-money.png


BIN
static/tabBar/tab-order-current.png


+ 0 - 0
static/tabBar/3.png → static/tabBar/tab-order.png


+ 2 - 1
utils/rocessor.js

@@ -40,8 +40,9 @@ export function getMoneyStyle(value = 0) {
 export function timeComputed(time) {
 	// 获取当前时间
 	const actTime = (new Date()).getTime();
+	console.log(actTime);
 	// 获取到期时间
-	let stopTime = time - actTime;
+	let stopTime = time*1000 - actTime;
 	// 判断是否小于0
 	if (stopTime < 0) {
 		stopTime = stopTime * -1

+ 38 - 7
utils/tabbar.js

@@ -1,4 +1,3 @@
-
 export const tabbar = [{
 		pagePath: "/pages/index/index",
 		iconPath: require('@/static/tabBar/tab-home.png'),
@@ -7,21 +6,21 @@ export const tabbar = [{
 	},
 	{
 		pagePath: "/pages/order/order",
-		iconPath: require("@/static/tabBar/tab-cate.png"),
-		selectedIconPath: require("@/static/tabBar/tab-cate-current.png"),
+		iconPath: require("@/static/tabBar/tab-order.png"),
+		selectedIconPath: require("@/static/tabBar/tab-order-current.png"),
 		text: "订单"
 	},
 	{
 		pagePath: "/pages/hall/hall",
-		iconPath: require("@/static/tabBar/tab-pink.png"),
-		selectedIconPath: require("@/static/tabBar/tab-pink-current.png"),
+		iconPath: require("@/static/tabBar/qd.png"),
+		selectedIconPath: require("@/static/tabBar/qd.png"),
 		text: "趣豆会馆",
 		midButton: true,
 	},
 	{
 		pagePath: "/pages/money/money",
-		iconPath: require("@/static/tabBar/tab-cart.png"),
-		selectedIconPath: require("@/static/tabBar/tab-cart-current.png"),
+		iconPath: require("@/static/tabBar/tab-money.png"),
+		selectedIconPath: require("@/static/tabBar/tab-money-current.png"),
 		text: "财务"
 	},
 	{
@@ -30,4 +29,36 @@ export const tabbar = [{
 		selectedIconPath: require("@/static/tabBar/tab-my-current.png"),
 		text: "我的"
 	},
+]
+
+export const tabbar1 = [{
+		pagePath: "/pages/index/index",
+		iconPath: require('@/static/tabBar/tab-home.png'),
+		selectedIconPath: require("@/static/tabBar/tab-home-current.png"),
+		text: "首页"
+	},
+	{
+		pagePath: "/pages/category/category",
+		iconPath: require("@/static/tabBar/tab-cate.png"),
+		selectedIconPath: require("@/static/tabBar/tab-cate-current.png"),
+		text: "分类"
+	},
+	{
+		pagePath: "/pages/cart/cart",
+		iconPath: require("@/static/tabBar/tab-pink.png"),
+		selectedIconPath: require("@/static/tabBar/tab-pink-current.png"),
+		text: "购物车"
+	},
+	{
+		pagePath: "/pages/product/new",
+		iconPath: require("@/static/tabBar/tab-money.png"),
+		selectedIconPath: require("@/static/tabBar/tab-money-current.png"),
+		text: "新品"
+	},
+	{
+		pagePath: "/pages/user/user",
+		iconPath: require("@/static/tabBar/tab-my.png"),
+		selectedIconPath: require("@/static/tabBar/tab-my-current.png"),
+		text: "我的"
+	},
 ]