hwq 2 gadi atpakaļ
vecāks
revīzija
09befd8238
100 mainītis faili ar 2797 papildinājumiem un 2152 dzēšanām
  1. 22 11
      api/order.js
  2. 17 18
      api/product.js
  3. 19 0
      api/set.js
  4. 7 0
      components/uni-countdown/uni-countdowns.vue
  5. 8 20
      manifest.json
  6. 455 456
      pages.json
  7. 7 5
      pages/category/category.vue
  8. 28 17
      pages/collection/bank.vue
  9. 37 34
      pages/hall/gsell.vue
  10. 24 20
      pages/hall/hall.vue
  11. 134 26
      pages/hall/hallinfo.vue
  12. 98 30
      pages/hall/halllist.vue
  13. 57 28
      pages/hall/hallpay.vue
  14. 108 36
      pages/hall/porducthall.vue
  15. 96 105
      pages/index/index.vue
  16. 23 16
      pages/index/message.vue
  17. 18 6
      pages/money/money.vue
  18. 157 0
      pages/money/moneyPwd.vue
  19. 411 434
      pages/money/recharge.vue
  20. 23 9
      pages/money/wallet.vue
  21. 62 41
      pages/order/hallorderDetail.vue
  22. 116 114
      pages/order/order.vue
  23. 19 12
      pages/order/order1.vue
  24. 223 226
      pages/product/classify.vue
  25. 10 10
      pages/product/list.vue
  26. 141 147
      pages/product/new.vue
  27. 89 52
      pages/redirect/redirect.vue
  28. 78 80
      pages/set/set.vue
  29. 48 70
      pages/store/store.vue
  30. 172 60
      pages/store/storeInfo.vue
  31. 1 2
      pages/user/approve.vue
  32. 8 27
      pages/user/myAppointment.vue
  33. 3 6
      pages/user/mygs.vue
  34. 17 13
      pages/user/myproduct.vue
  35. 54 14
      pages/user/user.vue
  36. BIN
      static/img/real.png
  37. BIN
      static/img/sOut.png
  38. BIN
      static/img/sOut1.png
  39. 6 6
      store/index.js
  40. BIN
      unpackage/dist/build/h5/6-21-2.rar
  41. 1 1
      unpackage/dist/build/h5/index.html
  42. BIN
      unpackage/dist/build/h5/static/img/hallbanner.b57a0360.png
  43. BIN
      unpackage/dist/build/h5/static/img/index-inco2.8e82eedb.png
  44. BIN
      unpackage/dist/build/h5/static/img/index-inco4.8be0772c.png
  45. BIN
      unpackage/dist/build/h5/static/img/real.png
  46. BIN
      unpackage/dist/build/h5/static/img/sOut.png
  47. BIN
      unpackage/dist/build/h5/static/img/sOut1.b15336ad.png
  48. BIN
      unpackage/dist/build/h5/static/img/sOut1.png
  49. 0 0
      unpackage/dist/build/h5/static/index.2772579d.css
  50. 0 0
      unpackage/dist/build/h5/static/index.a5c69d49.css
  51. 0 0
      unpackage/dist/build/h5/static/js/chunk-vendors.516abe5d.js
  52. 0 0
      unpackage/dist/build/h5/static/js/chunk-vendors.d618d095.js
  53. 0 0
      unpackage/dist/build/h5/static/js/index.430725b5.js
  54. 0 0
      unpackage/dist/build/h5/static/js/index.d89810cc.js
  55. 0 0
      unpackage/dist/build/h5/static/js/pages-cart-cart~pages-category-category~pages-hall-hall~pages-index-index~pages-money-money~pages-or~7b745277.a54346c4.js
  56. 0 0
      unpackage/dist/build/h5/static/js/pages-category-category.9422e484.js
  57. 0 0
      unpackage/dist/build/h5/static/js/pages-category-category.cca33fce.js
  58. 0 0
      unpackage/dist/build/h5/static/js/pages-collection-bank.4cf92fd4.js
  59. 0 0
      unpackage/dist/build/h5/static/js/pages-collection-bank.b44007ab.js
  60. 0 0
      unpackage/dist/build/h5/static/js/pages-collection-wx.658a7575.js
  61. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-gsell.0b4ac9d7.js
  62. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-gsell.c97910a8.js
  63. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-hall.6d5927b4.js
  64. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-hall.e78d1d76.js
  65. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-hallinfo.39169c39.js
  66. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-hallinfo.dff0187e.js
  67. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-halllist.57573c3d.js
  68. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-halllist.dcb29f33.js
  69. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-halllist~pages-hall-hallpay~pages-hall-porducthall~pages-set-addressManage~pages-set-userinfo.e33a5def.js
  70. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-halllist~pages-hall-hallpay~pages-hall-porducthall~pages-set-addressManage~pages-set-user~4ab5ce4c.1dad1f05.js
  71. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-halllist~pages-index-index.27da4b69.js
  72. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-halllist~pages-index-index.bb6319d8.js
  73. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-hallpay.1a25a4d6.js
  74. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-hallpay.eb3be9a0.js
  75. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-porducthall.4db72882.js
  76. 0 0
      unpackage/dist/build/h5/static/js/pages-hall-porducthall.95a6f4e8.js
  77. 0 0
      unpackage/dist/build/h5/static/js/pages-index-index.591b88af.js
  78. 0 0
      unpackage/dist/build/h5/static/js/pages-index-index.ba435827.js
  79. 0 0
      unpackage/dist/build/h5/static/js/pages-index-message.1342faa2.js
  80. 0 0
      unpackage/dist/build/h5/static/js/pages-index-message.e0d98bd3.js
  81. 0 0
      unpackage/dist/build/h5/static/js/pages-index-messageInfo.5b8207d7.js
  82. 0 0
      unpackage/dist/build/h5/static/js/pages-index-messageInfo.ac3d24e5.js
  83. 0 0
      unpackage/dist/build/h5/static/js/pages-money-money.a765a8dd.js
  84. 0 0
      unpackage/dist/build/h5/static/js/pages-money-money.d8993b44.js
  85. 0 0
      unpackage/dist/build/h5/static/js/pages-money-moneyPwd.6bd501b9.js
  86. 0 0
      unpackage/dist/build/h5/static/js/pages-money-pay.6f995cab.js
  87. 0 0
      unpackage/dist/build/h5/static/js/pages-money-qudou~pages-user-award~pages-user-myAppointment~pages-user-mygs~pages-user-myyue.227d03d9.js
  88. 0 0
      unpackage/dist/build/h5/static/js/pages-money-recharge.c5877cd0.js
  89. 0 0
      unpackage/dist/build/h5/static/js/pages-money-recharge.f1714799.js
  90. 0 0
      unpackage/dist/build/h5/static/js/pages-money-wallet.8cedefc5.js
  91. 0 0
      unpackage/dist/build/h5/static/js/pages-money-wallet.927e18fa.js
  92. 0 0
      unpackage/dist/build/h5/static/js/pages-money-withdrawal.9d3c91ee.js
  93. 0 0
      unpackage/dist/build/h5/static/js/pages-order-createOrder.80d18202.js
  94. 0 0
      unpackage/dist/build/h5/static/js/pages-order-createOrder.c536ab8f.js
  95. 0 0
      unpackage/dist/build/h5/static/js/pages-order-evaluate.386f6aab.js
  96. 0 0
      unpackage/dist/build/h5/static/js/pages-order-expressInfo.9a211d08.js
  97. 0 0
      unpackage/dist/build/h5/static/js/pages-order-hallorderDetail.8d65d8f7.js
  98. 0 0
      unpackage/dist/build/h5/static/js/pages-order-hallorderDetail.b55f651f.js
  99. 0 0
      unpackage/dist/build/h5/static/js/pages-order-order.358e708a.js
  100. 0 0
      unpackage/dist/build/h5/static/js/pages-order-order.38a75e9d.js

+ 22 - 11
api/order.js

@@ -1,5 +1,7 @@
 import request from '@/utils/request'
-import {upFilse} from '@/utils/request'
+import {
+	upFilse
+} from '@/utils/request'
 // 订单确认
 export function confirm(data) {
 	return request({
@@ -9,18 +11,18 @@ export function confirm(data) {
 	});
 }
 //获取可使用优惠券
-export function couponsOrder(data,price) {
+export function couponsOrder(data, price) {
 	return request({
-		url: '/api/coupons/order/'+price,
+		url: '/api/coupons/order/' + price,
 		method: 'get',
 		data
 	});
 }
 //获取优惠券列表
-export function getCouponsList(data,types) {
+export function getCouponsList(data, types) {
 	//优惠券状态 0全部 1未使用 2已使用
 	return request({
-		url: '/api/coupons/user/'+types,
+		url: '/api/coupons/user/' + types,
 		method: 'get',
 		data
 	});
@@ -66,9 +68,9 @@ export function orderList(data) {
 	});
 }
 // 订单详细
-export function orderDetail(data,orderid) {
+export function orderDetail(data, orderid) {
 	return request({
-		url: '/api/order/detail/'+orderid,
+		url: '/api/order/detail/' + orderid,
 		method: 'get',
 		data
 	});
@@ -127,9 +129,9 @@ export function orderPay(data) {
 }
 
 // 创建订单
-export function createOrderkey(data,key) {
+export function createOrderkey(data, key) {
 	return request({
-		url: '/api/order/create/'+key,
+		url: '/api/order/create/' + key,
 		method: 'post',
 		data
 	});
@@ -138,7 +140,7 @@ export function createOrderkey(data,key) {
 // 统计订单金额
 export function computedOrderkey(data) {
 	return request({
-		url: '/api/order/computed/'+data.orderkey,
+		url: '/api/order/computed/' + data.orderkey,
 		method: 'post',
 		data
 	});
@@ -171,7 +173,7 @@ export function seller(data) {
 	});
 }
 
-// 上传成功
+// 上传凭证
 export function up_image(data) {
 	return request({
 		url: '/api/auction/up_image',
@@ -180,6 +182,15 @@ export function up_image(data) {
 	});
 }
 
+// 修改凭证
+export function edit_voucher(data) {
+	return request({
+		url: '/api/edit_voucher',
+		method: 'post',
+		data
+	});
+}
+
 // 取消挂售
 export function cancel(data) {
 	return request({

+ 17 - 18
api/product.js

@@ -73,10 +73,10 @@ export function searchKeyword(data) {
 }
 
 // 获取热门分类信息
-export function groomList(data,type) {
-	// 获取产品类型 1 精品推荐 2 热门榜单 3首发新品 4促销单品
+export function groomList(data, type) {
+	// 获取产品类型 1 医斯佳专区 2 新品 3 CBB专区 4随意嗨购 5置换
 	return request({
-		url: '/api/groom/list/'+type,
+		url: '/api/groom/list/' + type,
 		method: 'get',
 		data
 	});
@@ -84,18 +84,18 @@ export function groomList(data,type) {
 
 
 // 获取秒杀商品详细
-export function seckillGoods(data,id) {
+export function seckillGoods(data, id) {
 	return request({
-		url: '/api/seckill/detail/'+id,
+		url: '/api/seckill/detail/' + id,
 		method: 'get',
 		data
 	});
 }
 
 // 获取拼团商品详细
-export function groupGoods(data,id) {
+export function groupGoods(data, id) {
 	return request({
-		url: '/api/combination/detail/'+id,
+		url: '/api/combination/detail/' + id,
 		method: 'get',
 		data
 	});
@@ -122,18 +122,18 @@ export function getCombinationList(data) {
 }
 
 //取消拼团
-export function getCombinationLisRemove(data,id) {
+export function getCombinationLisRemove(data, id) {
 	return request({
-		url: '/api/combination/remove'+id,
+		url: '/api/combination/remove' + id,
 		method: 'get',
 		data
 	});
 }
 
 //拼团开团页面数据
-export function getCombinationLisPink(data,id) {
+export function getCombinationLisPink(data, id) {
 	return request({
-		url: '/api/combination/pink/'+id,
+		url: '/api/combination/pink/' + id,
 		method: 'get',
 		data
 	});
@@ -158,9 +158,9 @@ export function getSeckillClass(data) {
 	});
 }
 // 获取秒杀列表
-export function getSeckillList(data,id) {
+export function getSeckillList(data, id) {
 	return request({
-		url: '/api/seckill/list/'+id,
+		url: '/api/seckill/list/' + id,
 		method: 'get',
 		data
 	});
@@ -168,19 +168,18 @@ export function getSeckillList(data,id) {
 
 
 // 产品评价数量和好评度
-export function reply_config(data,id) {
+export function reply_config(data, id) {
 	return request({
-		url: '/api/reply/config/'+id,
+		url: '/api/reply/config/' + id,
 		method: 'get',
 		data
 	});
 }
 // 获取产品评论
-export function reply_list(data,id) {
+export function reply_list(data, id) {
 	return request({
-		url: '/api/reply/list/'+id,
+		url: '/api/reply/list/' + id,
 		method: 'get',
 		data
 	});
 }
-

+ 19 - 0
api/set.js

@@ -51,3 +51,22 @@ export function realName(data) {
 		data
 	});
 }
+
+//是否设置过交易密码
+export function is_pas(data) {
+	return request({
+		url: '/api/is_pas',
+		method: 'get',
+		data
+	});
+}
+
+
+//修改交易密码
+export function transaction(data) {
+	return request({
+		url: '/api/set_payment',
+		method: 'post',
+		data
+	});
+}

+ 7 - 0
components/uni-countdown/uni-countdowns.vue

@@ -53,6 +53,10 @@ export default {
 		second: {
 			type: Number,
 			default: 0
+		},
+		index: {
+			type: Number,
+			default: 0
 		}
 	},
 	data() {
@@ -136,6 +140,9 @@ export default {
 					return;
 				}
 				this.countDown();
+				if (this.d === '00' && this.h === '00' && this.i === '00' && this.s === '00') {
+					this.$emit('timeover', this.index);
+				}
 			}, 1000);
 		},
 		changeFlag() {

+ 8 - 20
manifest.json

@@ -63,25 +63,6 @@
             "urlCheck" : true
         }
     },
-    // "h5" : {
-    //     "title" : "商城",
-    //     "domain" : "",
-    //     "router" : {
-    //         "base" : "/index/",
-    //         "mode" : "hash"
-    //     },
-    //     "devServer" : {
-    //         "proxy" : {
-    //             "/api" : {
-    //                 "target" : "http://192.168.0.101/api",
-    //                 // "changeOrigin": true,
-    //                 "pathRewrite" : {
-    //                     "/api" : "" // rewrite path
-    //                 }
-    //             }
-    //         }
-    //     }
-    // }
     "h5" : {
         "title" : "商城",
         "domain" : "",
@@ -92,12 +73,19 @@
         "devServer" : {
             "proxy" : {
                 "/api" : {
-                    "target" : "http://qudou.frp.liuniu946.com/api", //请求的目标域名
+                    "target" : "http://shop.yiqushangshi.com", //请求的目标域名
                     "changeOrigin" : true,
                     // "secure": false,
                     "pathRewrite" : {}
                 }
             }
+        },
+        "sdkConfigs" : {
+            "maps" : {
+                "qqmap" : {
+                    "key" : "VYZBZ-P2TRG-RMIQ3-ITAIN-2DKBK-CKFQQ"
+                }
+            }
         }
     }
 }

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 455 - 456
pages.json


+ 7 - 5
pages/category/category.vue

@@ -19,7 +19,7 @@
 </template>
 
 <script>
-	import { tabbar1 } from '@/utils/tabbar.js';
+import { tabbar1 } from '@/utils/tabbar.js';
 import { getCategoryList } from '@/api/product.js';
 export default {
 	data() {
@@ -29,7 +29,7 @@ export default {
 			sizeCalcState: false,
 			tabScrollTop: 0,
 			currentId: 9,
-			flist: [],
+			flist: []
 		};
 	},
 	onLoad() {
@@ -93,7 +93,7 @@ export default {
 				}
 			).exec();
 			// 获取所有距离顶部大于滚轮距离页面高度的所有分类
-			let tabs = this.flist.filter(item =>( item.top-10) <= scrollTop).reverse();
+			let tabs = this.flist.filter(item => item.top - 10 <= scrollTop).reverse();
 			if (tabs.length > 0) {
 				// 判断是否已经到达滚轮底部
 				if (box + scrollTop + bottom >= e.detail.scrollHeight) {
@@ -124,7 +124,7 @@ export default {
 		navToList(sid, tid) {
 			// 点击导航跳转到详细页面
 			uni.navigateTo({
-				url: '/pages/product/list?fid='+this.currentId+'&sid='+sid+'&tid='+tid
+				url: '/pages/product/list?fid=' + this.currentId + '&sid=' + sid + '&tid=' + tid
 			});
 		}
 	}
@@ -134,7 +134,8 @@ export default {
 <style lang="scss">
 page,
 .content {
-	height: 100%;
+	height: auto;
+	min-height: 100%;
 	background-color: #f8f8f8;
 }
 
@@ -179,6 +180,7 @@ page,
 	overflow: hidden;
 	padding-left: 20rpx;
 	padding-right: 20rpx;
+	padding-bottom: 44px;
 }
 .s-item {
 	display: flex;

+ 28 - 17
pages/collection/bank.vue

@@ -13,6 +13,10 @@
 				<text>所属银行</text>
 				<input type="text" v-model="idName" value="" placeholder="请输入银行" />
 			</view>
+			<view class="item">
+				<text>所属支行</text>
+				<input type="text" v-model="bankname" value="" placeholder="请输入所属支行" />
+			</view>
 			<view class="item">
 				<text>手机号</text>
 				<input type="text" v-model="phone" value="" placeholder="请输入手机号" />
@@ -23,30 +27,32 @@
 </template>
 
 <script>
-import { auction,pay_list } from '@/api/wallet.js';
-import { orderData,getUserInfo } from '@/api/user.js';
+import { auction, pay_list } from '@/api/wallet.js';
+import { orderData, getUserInfo } from '@/api/user.js';
 import { mapState, mapMutations } from 'vuex';
 export default {
 	computed: {
-		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin']),
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
 	},
 	data() {
 		return {
-			name:'',
-			id:'',
-			idName:'',
-			phone:''
+			name: '',
+			id: '',
+			idName: '',
+			phone: '',
+			bankname: ''
 		};
 	},
 	onLoad() {
-		pay_list().then(({data}) =>{
-			if(data.bank != ''){
-				this.name = data.bank.name
-				this.id = data.bank.payment
-				this.phone = data.bank.phone
-				this.idName = data.bank.bank
+		pay_list().then(({ data }) => {
+			if (data.bank != '') {
+				this.name = data.bank.name;
+				this.id = data.bank.payment;
+				this.phone = data.bank.phone;
+				this.idName = data.bank.bank;
+				this.bankname = data.bank.bank_name;
 			}
-		})
+		});
 	},
 	methods: {
 		...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
@@ -64,16 +70,20 @@ export default {
 			if (!obj.phone) {
 				return this.$api.msg('请输入手机号码');
 			}
+			if (!obj.bankname) {
+				return this.$api.msg('请输入所属支行');
+			}
 			auction({
-				type:3,
+				type: 3,
 				name: obj.name,
 				bank: obj.idName,
 				payment: obj.id,
 				phone: obj.phone,
+				bank_name: obj.bankname
 			}).then(e => {
 				obj.$api.msg('修改成功');
 			});
-		},
+		}
 	}
 };
 </script>
@@ -105,6 +115,7 @@ page,
 			line-height: 100rpx;
 		}
 		input {
+			width: 500rpx;
 			height: 100rpx;
 			display: inline-block;
 			font-size: 28rpx;
@@ -119,7 +130,7 @@ page,
 	text-align: center;
 	width: 560rpx;
 	height: 80rpx;
-	background: #FD3B39;
+	background: #fd3b39;
 	border-radius: 40rpx;
 	font-size: 30rpx;
 	font-family: PingFangSC;

+ 37 - 34
pages/hall/gsell.vue

@@ -1,26 +1,26 @@
 <template>
 	<view class="center">
+		<view class="main">
+			<view class="main-font">购买价格(元)</view>
+			<view class="main-input">{{ (buy * 1).toFixed(2) * 1 }}</view>
+		</view>
 		<view class="center"><calendar class="sign-date-box" :checks="signList" checksClass="" :checkTextShow="true" :nextMounth="next"></calendar></view>
-		<view class="title">今日最高限价{{ price }}</view>
+		<view class="title">今日最高限价{{ (price * 1).toFixed(2) * 1 }}</view>
 		<view class="main">
 			<view class="main-font">挂售日期</view>
 			<view class="main-input">{{ deta }}</view>
 		</view>
 		<view class="main">
 			<view class="main-font">挂售价格(元)</view>
-			<view class="main-input">{{ price }}</view>
-		</view>
-		<view class="money">
-			服务费{{ fwprice }}预约券
-		</view>
-		<view class="btn" @click="sall()">
-			确定
+			<view class="main-input">{{ (price * 1).toFixed(2) * 1 }}</view>
 		</view>
+		<view class="money">服务费{{ (fwprice * 1).toFixed(2) * 1 }}易趣卷</view>
+		<view class="btn" @click="sall()">确定</view>
 	</view>
 </template>
 
 <script>
-import { gsxq,hanging_sale } from '@/api/hall.js';
+import { gsxq, hanging_sale } from '@/api/hall.js';
 import calendar from '../../components/ss-calendar/ss-calendar.vue';
 export default {
 	components: {
@@ -29,11 +29,12 @@ export default {
 	data() {
 		return {
 			signList: [],
-			id:'',
-			price:'',//挂售价格
-			deta:'',//挂售日期
-			fwprice:'',//服务费
-			next: false,
+			id: '',
+			price: '', //挂售价格
+			buy: '', //购买价格
+			deta: '', //挂售日期
+			fwprice: '', //服务费
+			next: false
 		};
 	},
 	onLoad(option) {
@@ -42,39 +43,41 @@ export default {
 	},
 	methods: {
 		loadData() {
-			gsxq({id:this.id}).then(e =>{
+			gsxq({ id: this.id }).then(e => {
 				console.log(e);
+				this.buy = e.data.price;
 				this.price = e.data.hanging_price;
 				this.fwprice = e.data.anticipate;
-				let arr = e.data.gs_time.split(" ")
-				let brr = arr[0].split('-')
+				let arr = e.data.gs_time.split(' ');
+				let brr = arr[0].split('-');
 				// this.signList.push(brr[2] * 1)
-				this.signList.push(brr[2] * 1)
+				this.signList.push(brr[2] * 1);
 				let month = new Date().getMonth() + 1;
-				console.log(month,"1234568797321896");
-				if(brr[1]*1 == month) {
-					this.next = false
-				}else {
-					this.next = true
+				console.log(month, '1234568797321896');
+				if (brr[1] * 1 == month) {
+					this.next = false;
+				} else {
+					this.next = true;
 				}
 				console.log(this.signList);
-				this.deta = brr[1] + '月' + brr[2] + '日'
+				this.deta = brr[1] + '月' + brr[2] + '日';
 				console.log(brr);
-			})
+			});
 		},
 		sall() {
-			hanging_sale({id: this.id}).then(e =>{
+			hanging_sale({ id: this.id }).then(e => {
 				uni.navigateTo({
-					url:'/pages/money/success?type=2'
-				})
-			})
+					url: '/pages/money/success?type=2'
+				});
+			});
 		}
 	}
 };
 </script>
 
 <style lang="scss">
-.center,page {
+.center,
+page {
 	height: auto;
 	background: #ffffff;
 	min-height: 100%;
@@ -103,7 +106,7 @@ export default {
 	.main-input {
 		width: 404rpx;
 		height: 88rpx;
-		background: #F4F4F4;
+		background: #f4f4f4;
 		border-radius: 10rpx;
 		font-size: 32rpx;
 		font-family: PingFang SC;
@@ -119,18 +122,18 @@ export default {
 	font-size: 32rpx;
 	font-family: PingFang SC;
 	font-weight: bold;
-	color: #FD3B39;
+	color: #fd3b39;
 }
 .btn {
 	width: 560rpx;
 	height: 80rpx;
-	background: #FC5B62;
+	background: #fc5b62;
 	border-radius: 40rpx;
 	margin: 96rpx auto 0;
 	font-size: 30rpx;
 	font-family: PingFangSC;
 	font-weight: 500;
-	color: #FFFFFF;
+	color: #ffffff;
 	line-height: 80rpx;
 	text-align: center;
 }

+ 24 - 20
pages/hall/hall.vue

@@ -2,11 +2,11 @@
 	<view class="center">
 		<view class="top">
 			<image class="top-bg" src="../../static/img/hall-bg.png" mode=""></image>
-			<view class="title">趣会馆</view>
+			<view class="title">趣会馆</view>
 		</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,index) in list" :key="index" @click="nav(item)">
+			<view class="shingle-main" v-for="(item, index) in list" :key="index" @click="nav(item)">
 				<view class="shingle-bg"><image :src="item.image" mode=""></image></view>
 				<view class="shinglem-title flex">
 					<image class="tbg" src="../../static/img/tbg-left.png" mode=""></image>
@@ -23,7 +23,7 @@
 					</view>
 					<view class="shu"></view>
 					<view class="smmain-item">
-						<view class="smitem-top">{{item.nickname}}</view>
+						<view class="smitem-top clamp">{{ item.nickname }}</view>
 						<view class="smitem-bottom clamp">馆长</view>
 					</view>
 					<view class="shu"></view>
@@ -50,10 +50,10 @@ export default {
 		return {
 			tabbar: tabbar,
 			current: 2,
-			list:[],
-			page:1,
-			limit:10,
-			loadingType: 'more',
+			list: [],
+			page: 1,
+			limit: 10,
+			loadingType: 'more'
 		};
 	},
 	onShow() {
@@ -61,22 +61,24 @@ export default {
 	},
 	methods: {
 		loadData() {
-			const obj = this
-			if(obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
-				return ;
+			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);
-			})
+			auction_gu({ pages: obj.page, limit: obj.limit })
+				.then(({ data }) => {
+					console.log(data);
+					this.list = data;
+				})
+				.catch(e => {
+					console.log(e);
+				});
 		},
-		nav(item){
+		nav(item) {
 			uni.navigateTo({
-				url: "/pages/hall/halllist?id=" + item.id + '&name=' + item.name + '&peoplename=' + item.nickname
-			})
+				url: '/pages/hall/halllist?id=' + item.id + '&name=' + item.name + '&peoplename=' + item.nickname
+			});
 		}
 	}
 };
@@ -153,7 +155,7 @@ page {
 		.shinglemt-center {
 			display: flex;
 			align-items: center;
-			background: rgba(220,38,43,0.66);
+			background: rgba(220, 38, 43, 0.66);
 		}
 		.address {
 			width: 28rpx;
@@ -178,6 +180,8 @@ page {
 			flex-direction: column;
 			align-items: center;
 			.smitem-top {
+				text-align: center;
+				width: 90%;
 				font-size: 30rpx;
 				font-family: PingFang SC;
 				font-weight: bold;

+ 134 - 26
pages/hall/hallinfo.vue

@@ -24,18 +24,26 @@
 			<view class="djs-font">客官请稍后,请{{ time }}入场</view>
 			<view class="djs-main">入场倒计时:{{ countdown_time }}</view>
 		</view>
-		<view class="hotgoods" v-if="firstList.length != 0 && isbuy">
-			<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.name }}</view>
-				<view class="hot-price">
-					<view class="price">
-						<text class="font-size-sm">¥</text>
-						{{ item.hanging_price }}
+		<view v-if="firstList.length != 0 && isbuy">
+			<view class="hotgoods">
+				<view class="hotgoods-item" v-for="item in firstList" :key="item.id" @click="navToDetailPage(item)">
+					<image class="sell-out" v-if="item.status == 2" src="../../static/img/sOut1.png" mode=""></image>
+					<view class="image-wrapper"><image :src="item.image" mode="scaleToFill"></image></view>
+					<view class="title clamp margin-c-20">{{ item.name }}</view>
+					<view class="hot-price">
+						<view class="price">
+							<text class="font-size-sm">¥</text>
+							{{ item.hanging_price }}
+						</view>
+						<view class="over" v-if="item.status == 2">已售罄</view>
 					</view>
-					<view class="over" v-if="item.status == 2">已售罄</view>
 				</view>
 			</view>
+			<view class="nav flex" v-show="page != 1 || isLast">
+				<view class="next" @click="last">上一页</view>
+
+				<view class="next" @click="next">下一页</view>
+			</view>
 		</view>
 	</view>
 </template>
@@ -52,28 +60,52 @@ export default {
 			firstList: [],
 			id: '', //场次id
 			page: 1,
-			limit: 10,
+			limit: 20,
 			loadingType: 'more',
 			countdown_time: '',
 			canbuy: 0, //结束时间
 			isbuy: false,
-			time: '' //进场时间
+			time: '', //进场时间
+			timers: '', //延时器id
+			isLast: true
 		};
 	},
 	onLoad(option) {
 		this.name = option.name;
 		this.peoplename = option.peoplename;
 		this.id = option.id;
-		this.isDjs();
-		this.loadData();
 	},
 	onShow() {
 		this.isDjs();
 		this.loadData();
+		this.loadDataNext();
+	},
+	onReachBottom() {
+		console.log('123456');
+		if (this.isbuy) {
+			this.loadData();
+		}
+	},
+	onHide() {
+		clearTimeout(this.timers);
+	},
+	// 监听页面卸载
+	onUnload() {
+		// 关闭倒计时
+		clearTimeout(this.timers);
+	},
+	// 监听页面后退
+	onBackPress() {
+		// 关闭倒计时
+		clearTimeout(this.timers);
 	},
 	methods: {
 		isDjs() {
+			uni.showLoading({
+				title: '加载中'
+			});
 			count_down({ id: this.id }).then(({ data }) => {
+				uni.hideLoading();
 				this.canbuy = data.time;
 				let day = getTime(this.canbuy * 1000).split(' ');
 				this.time = day[1];
@@ -107,15 +139,15 @@ export default {
 				console.log(m, s);
 				//倒计时赋值view
 				this.countdown_time = `${m}:${s}`;
-				let timers = setTimeout(this.counTime, 1000);
+				this.timers = setTimeout(this.counTime, 1000);
 				//显示动态时间效果
 				if (s < 10) {
 					return (this.countdown_time = `${m}:0${s}`);
-					let timers = setTimeout(this.counTime, 1000);
+					this.timers = setTimeout(this.counTime, 1000);
 				}
 				if (m < 10) {
 					return (this.countdown_time = `0${m}:${s}`);
-					let timers = setTimeout(this.counTime, 1000);
+					this.timers = setTimeout(this.counTime, 1000);
 				}
 			}
 		},
@@ -128,10 +160,10 @@ export default {
 		},
 		loadData() {
 			const obj = this;
-			if (obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
-				return;
-			}
-			obj.loadingType = 'loading';
+			// if (obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
+			// 	return;
+			// }
+			// obj.loadingType = 'loading';
 			auction_product({
 				page: obj.page,
 				limit: obj.limit,
@@ -139,13 +171,47 @@ export default {
 				name: obj.productname
 			})
 				.then(({ data }) => {
-					obj.firstList = obj.firstList.concat(data);
-					if (data.length != obj.limit) {
-						obj.loadingType = 'more';
-						obj.page++;
+					// obj.firstList = obj.firstList.concat(data);
+					obj.firstList = data;
+					console.log(obj.firstList, '123456789');
+					// if (data.length == obj.limit) {
+					// 	obj.loadingType = 'more';
+					// 	obj.page++;
+					// } else {
+					// 	obj.loadingType = 'nomore';
+					// }
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
+		loadDataNext() {
+			const obj = this;
+			// if (obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
+			// 	return;
+			// }
+			// obj.loadingType = 'loading';
+			auction_product({
+				page: obj.page + 1,
+				limit: obj.limit,
+				id: obj.id,
+				name: obj.productname
+			})
+				.then(({ data }) => {
+					// obj.firstList = obj.firstList.concat(data);
+					// obj.firstList = data;
+					// if (data.length == obj.limit) {
+					// 	obj.loadingType = 'more';
+					// 	obj.page++;
+					// } else {
+					// 	obj.loadingType = 'nomore';
+					// }
+					if (data.length === 0) {
+						obj.isLast = false;
 					} else {
-						obj.loadingType = 'nomore';
+						obj.isLast = true;
 					}
+					console.log(obj.isLast);
 				})
 				.catch(e => {
 					console.log(e);
@@ -159,6 +225,27 @@ export default {
 				url
 			});
 		},
+		last() {
+			let that = this;
+			if (this.page != 1) {
+				this.page = this.page - 1;
+				this.loadData();
+				this.loadDataNext();
+			} else {
+				that.$api.msg('已经是第一页了');
+			}
+		},
+		next() {
+			let that = this;
+			this.page = this.page + 1;
+			if (this.isLast) {
+				this.loadData();
+				this.loadDataNext();
+			} else {
+				this.page = this.page - 1;
+				that.$api.msg('已经是最后一页了');
+			}
+		},
 		navToDetailPage(item) {
 			if (item.status == '2') {
 				return this.$api.msg('已售罄');
@@ -265,9 +352,10 @@ page {
 	width: 100%;
 	display: flex;
 	flex-wrap: wrap;
-	padding: 0 32rpx 108rpx;
+	padding: 0 32rpx 20rpx;
 
 	.hotgoods-item {
+		position: relative;
 		width: 48%;
 		background-color: #ffffff;
 		border-radius: 12rpx;
@@ -275,6 +363,15 @@ page {
 		&:nth-child(2n + 1) {
 			margin-right: 24rpx;
 		}
+		.sell-out {
+			position: absolute;
+			top: 0;
+			left: 0;
+			right: 0;
+			width: 150rpx;
+			height: 130rpx;
+			z-index: 2;
+		}
 		.image-wrapper {
 			width: 100%;
 			height: 330rpx;
@@ -335,4 +432,15 @@ page {
 		color: #fd3b39;
 	}
 }
+.nav {
+	.next {
+		margin: 40rpx;
+		width: 50%;
+		background-color: #fd3b39;
+		color: #ffffff;
+		text-align: center;
+		padding: 10rpx 0rpx;
+		border-radius: 50rpx;
+	}
+}
 </style>

+ 98 - 30
pages/hall/halllist.vue

@@ -4,11 +4,13 @@
 			<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">CBB利润前置抢货区</view>
 				<image class="money_bg" src="../../static/img/hinfo-bg.png"></image>
 			</view>
 		</view>
-		<view class="hallist-bg"><image src="../../static/img/hallbanner.png" mode=""></image></view>
+		<swiper class="hallist-bg" autoplay="true" duration="400" interval="5000">
+			<swiper-item v-for="(item, index) in images" :key="index" class="carousel-item"><image :src="item" /></swiper-item>
+		</swiper>
 		<view class="message flex">
 			<image class="message-left" src="../../static/img/hinco.png" mode=""></image>
 			<u-notice-bar
@@ -19,7 +21,7 @@
 				:more-icon="true"
 				:list="text"
 				@click="goDetails"
-				@getMore="navTo('/pages/index/message')"
+				@getMore="navTo('/pages/index/message?type = 1')"
 			></u-notice-bar>
 		</view>
 		<view class="navbar">
@@ -32,17 +34,17 @@
 			</view>
 			<view class="vvv"></view>
 			<view class="navbar-item">
-				<view class="navbar-font" @click="navTo('/pages/user/award')">
+				<view class="navbar-font" @click="navTo('/pages/user/mygs')">
 					<image class="navbar-image" src="../../static/money/m03.png" mode=""></image>
-					<view class="font">佣金</view>
+					<view class="font">我的收益</view>
 				</view>
-				<view class="navbar-num">{{ userInfo.brokerage_price }}</view>
+				<view class="navbar-num">{{ userInfo.profit > 0 ? userInfo.profit : '0' }}</view>
 			</view>
 			<view class="vvv"></view>
 			<view class="navbar-item">
 				<view class="navbar-font" @click="navTo('/pages/user/myAppointment')">
 					<image class="navbar-image" src="../../static/money/m04.png" mode=""></image>
-					<view class="font">预约券</view>
+					<view class="font">易趣卷</view>
 				</view>
 				<view class="navbar-num">{{ userInfo.anticipate }}</view>
 			</view>
@@ -61,7 +63,7 @@
 					<view class="mmain-time flex">
 						<view class="mmain-font">距预约结束:</view>
 
-						<view class="lyy-b-jz flex" v-if="item.hours < 0 || item.minutes < 0 || item.minutes < 0" style="font-size: 30rpx; color: #d13737;">已结束</view>
+						<view class="lyy-b-jz flex" v-if="item.daotime == 1" style="font-size: 30rpx; color: #d13737;">已结束</view>
 						<view class="lyy-b-jz flex" v-else>
 							<uni-countdowns
 								color="#FFFFFF"
@@ -72,6 +74,8 @@
 								:hour="item.hours"
 								:minute="item.minutes"
 								:second="item.seconds"
+								:index="index"
+								@timeover="isTime"
 							></uni-countdowns>
 						</view>
 					</view>
@@ -79,13 +83,14 @@
 				<view class="mmain-image"><image :src="item.image" mode=""></image></view>
 			</view>
 			<view class="bottom" @click="open(item)">
-				<view class="bottom-font">立即{{ item.str }}</view>
+				<view class="bottom-font" v-if="item.str == '预约'">立即{{ item.str }}</view>
+				<view class="bottom-font" v-else>{{ item.daotime == 1 ? '立即进入' : '您已预约' }}</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">预约需要{{ price }}预约券是否立即预约?</view>
+				<view class="popup-title">预约需要{{ price }}易趣卷是否立即预约?</view>
 				<view class="btn-box">
 					<view class="btn-left" @click="close()">取消</view>
 					<view class="btn-right" @click="appointment()">确定</view>
@@ -99,7 +104,7 @@
 import uniCountdowns from '@/components/uni-countdown/uni-countdowns.vue';
 import { pay_list } from '../../api/wallet.js';
 import { article } from '@/api/user.js';
-import { getUserInfo } from '@/api/user.js';
+import { getUserInfo, rate } from '@/api/user.js';
 import { mapState, mapMutations } from 'vuex';
 import { auction_list, subscribe, advance } from '@/api/hall.js';
 import { timeComputed } from '@/utils/rocessor.js';
@@ -109,11 +114,12 @@ export default {
 	},
 	data() {
 		return {
+			images: [], //轮播图
 			name: '', //馆名字
 			peoplename: '', //馆长名字
 			price: '', //预约的价格
 			id: '', //预约会场id
-			oid:'',//馆id
+			oid: '', //馆id
 			page: 1,
 			limit: 10,
 			loadingType: 'more',
@@ -122,45 +128,62 @@ export default {
 			list: [],
 			aliData: {},
 			bankData: {},
-			wx: {}
+			wx: {},
+			sm: 0,
+			sbly: ''
 		};
 	},
 	filters: {
 		ahead(provider) {
-			let time = provider.split(":")
+			let time = provider.split(':');
 			console.log(time);
-			if(time[1]*1 - 5 < 0){
-				time[1] = time[1]*1 + 55
-				if(time[0]*1 == 0) {
-					time[0] = '23'
-				}else {
-					time[0] = time[0]*1 - 1
+			if (time[1] * 1 - 6 < 0) {
+				time[1] = time[1] * 1 + 54;
+				if (time[0] * 1 == 0) {
+					time[0] = '23';
+				} else {
+					time[0] = time[0] * 1 - 1;
+				}
+			} else {
+				time[1] = time[1] * 1 - 6;
+				if (time[1] < 10) {
+					time[1] = '0' + time[1];
 				}
-			}else {
-				time[1] = time[1] *1 - 5
- 			}
-			return time[0] + ':' + time[1] + ':' +time[2]
+			}
+			return time[0] + ':' + time[1] + ':' + time[2];
 		}
 	},
 	onLoad(option) {
 		this.oid = option.id;
 		this.name = option.name;
 		this.peoplename = option.peoplename;
-		this.loadData();
 	},
 	onShow() {
+		this.list = [];
+		this.page = 1;
+		this.limit = 10;
+		this.loadingType = 'more';
 		pay_list({}).then(({ data }) => {
 			this.wx = data.wx;
 			this.aliData = data.zfb;
 			this.bankData = data.bank;
 		});
 		this.loadData();
+		this.isSm();
 	},
 	computed: {
 		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
 	},
 	methods: {
 		...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
+		isSm() {
+			rate({}).then(e => {
+				this.sm = e.data.is_auth;
+				if (e.data.is_auth == 3) {
+					this.sbly = e.data.off;
+				}
+			});
+		},
 		loadData() {
 			const obj = this;
 			if (obj.loadingType == 'nomore' || obj.loadingType == 'loading') {
@@ -172,13 +195,19 @@ export default {
 				limit: obj.limit,
 				auction_gu_id: obj.oid
 			}).then(({ data }) => {
-				console.log(data, '123456');
-				data.forEach(e => {
+				obj.images = data.slider_image;
+				console.log(data);
+				data.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;
+					if (now_time.hours < 0 || now_time.minutes < 0 || now_time.seconds < 0) {
+						e.daotime = 1;
+					} else {
+						e.daotime = 0;
+					}
 					let jcsj = e.radd_time.split(':');
 					if (jcsj[0] * 1 >= 8 && jcsj[0] * 1 < 12) {
 						e.time_image = '../../static/img/morningicon.png';
@@ -191,8 +220,8 @@ export default {
 						e.show = 'EVENING SHOWS';
 					}
 				});
-				obj.list = obj.list.concat(data);
-				if (data.length != obj.limit) {
+				obj.list = obj.list.concat(data.data);
+				if (data.data.length == obj.limit) {
 					obj.loadingType = 'more';
 					obj.page++;
 				} else {
@@ -201,6 +230,41 @@ export default {
 			});
 		},
 		open(item) {
+			if (this.sm == 0) {
+				uni.showModal({
+					title: '提示',
+					content: '您未实名认证无法参与,是否前去实名认证?',
+					success: function(res) {
+						if (res.confirm) {
+							uni.navigateTo({
+								url: '/pages/user/approve'
+							});
+						} else if (res.cancel) {
+							console.log('用户点击取消');
+						}
+					}
+				});
+				return;
+			}
+			if (this.sm == 1) {
+				return this.$api.msg('实名认证正在审核中请耐心等待');
+			}
+			if (this.sm == 3) {
+				uni.showModal({
+					title: '提示',
+					content: '申请失败,原因' + this.sbly + '是否重新申请',
+					success: function(res) {
+						if (res.confirm) {
+							uni.navigateTo({
+								url: '/pages/user/approve'
+							});
+						} else if (res.cancel) {
+							console.log('用户点击取消');
+						}
+					}
+				});
+				return;
+			}
 			if (this.wx == '' && this.aliData == '' && this.bankData == '') {
 				uni.showModal({
 					title: '提示',
@@ -285,6 +349,10 @@ export default {
 				.catch(e => {
 					console.log(e);
 				});
+		},
+		isTime(index) {
+			console.log(index, '123');
+			this.list[index].daotime = 1;
 		}
 	}
 };
@@ -536,7 +604,7 @@ page,
 .hallist-bg {
 	position: relative;
 	z-index: 10;
-	margin: -240rpx auto 0;
+	margin: -280rpx auto 0;
 	width: 702rpx;
 	height: 300rpx;
 	border-radius: 14rpx;

+ 57 - 28
pages/hall/hallpay.vue

@@ -2,24 +2,32 @@
 	<view class="center">
 		<view class="top">
 			<view class="top-main">
+				<view class="num" style="color: #888888;">挂售价格¥{{ info.price }}</view>
+
+				<!-- <image class="top-image" src="../../static/img/copy.png" mode=""></image> -->
+			</view>
+			<view class="top-main" style="margin-top: 30rpx;">
 				<view class="num">
-					¥
-					<text>{{ info.price }}</text>
+					<text>实际支付¥ {{ info.actual_price }}</text>
 				</view>
+
 				<!-- <image class="top-image" src="../../static/img/copy.png" mode=""></image> -->
 			</view>
-			<view class="downtime" v-if="stopTime.stopTimeH < 0 || stopTime.stopTimeM < 0 || stopTime.stopTimeS < 0">订单已过期</view>
-			<view class="downtime" v-else>
-				<uni-countdowns
-					color="#FFFFFF"
-					splitor-color="#FD3B39"
-					background-color="#FD3B39"
-					border-color="#FD3B39"
-					:show-day="false"
-					:hour="stopTime.stopTimeH"
-					:minute="stopTime.stopTimeM"
-					:second="stopTime.stopTimeS"
-				></uni-countdowns>
+
+			<view>
+				<view class="downtime" v-if="stopTime.stopTimeH < 0 || stopTime.stopTimeM < 0 || stopTime.stopTimeS < 0">订单已过期</view>
+				<view class="downtime" v-else>
+					<uni-countdowns
+						color="#FFFFFF"
+						splitor-color="#FD3B39"
+						background-color="#FD3B39"
+						border-color="#FD3B39"
+						:show-day="false"
+						:hour="stopTime.stopTimeH"
+						:minute="stopTime.stopTimeM"
+						:second="stopTime.stopTimeS"
+					></uni-countdowns>
+				</view>
 			</view>
 		</view>
 		<view class="product flex">
@@ -62,7 +70,14 @@
 					</view>
 				</view>
 			</view>
-			<swiper class="swiper-box" :duration="500" @change="changeTab" :style="{ height: tabCurrentIndex == 2 ? '450rpx' : '280rpx' }" :current="tabCurrentIndex" disable-touch>
+			<swiper
+				class="swiper-box"
+				:duration="500"
+				@change="changeTab"
+				:style="{ height: tabCurrentIndex == 2 ? '450rpx' : tabCurrentIndex == 1 ? '340rpx' : '280rpx' }"
+				:current="tabCurrentIndex"
+				disable-touch
+			>
 				<swiper-item class="tab-content" v-if="zfb != ''">
 					<view class="tc-item flex">
 						<view class="tcitem-name">账号</view>
@@ -87,11 +102,11 @@
 						<view class="ali-name">{{ bank.bank }}</view>
 						<image class="tcitem-image" src="../../static/img/copy.png" mode="" @click="copy(bank.bank)"></image>
 					</view>
-					<!-- <view class="tc-item flex">
-						<view class="tcitem-name">开户行</view>
-						<view class="ali-name">椒江支行</view>
-						<image class="tcitem-image" src="../../static/img/copy.png" mode=""></image>
-					</view> -->
+					<view class="tc-item flex">
+						<view class="tcitem-name">行</view>
+						<view class="ali-name">{{ bank.bank_name }}</view>
+						<image @click="copy(bank.bank_name)" class="tcitem-image" src="../../static/img/copy.png" mode=""></image>
+					</view>
 					<view class="tc-item flex">
 						<view class="tcitem-name">账号</view>
 						<view class="ali-name">{{ bank.payment }}</view>
@@ -121,8 +136,8 @@
 		<view class="upload">
 			<view class="upload-title">上传支付截图</view>
 			<view class="upload-main">
-				<image class="upload-image" src="../../static/img/add.png" mode="" v-if="image == ''" @click="uploads()"></image>
-				<image class="upload-image" :src="image" mode="" @click="uploads()" v-else></image>
+				<image class="upload-image" src="../../static/img/add.png" mode="" v-if="!image" @click="uploads()"></image>
+				<image class="upload-image" :src="image" mode="" @click="uploads()" v-if="image"></image>
 				<view class="upload-font">点击上传支付截图</view>
 			</view>
 		</view>
@@ -137,7 +152,7 @@
 				<image class="bi-image" src="../../static/img/kf.png" mode=""></image>
 				<view class="bottom-font">联系客服</view>
 			</view>
-			<view class="btn" @click.stop="buy()">立即购买</view>
+			<view class="btn" @click.stop="buy()">完成上传</view>
 		</view>
 		<uni-popup ref="popupkf" type="center">
 			<view class="popup-box">
@@ -161,7 +176,7 @@
 <script>
 import uniCountdowns from '@/components/uni-countdown/uni-countdowns.vue';
 import uniCopy from '@/components/js_sdk/xb-copy/uni-copy.js';
-import { user_auction_order, upload, up_image } from '@/api/order.js';
+import { user_auction_order, upload, up_image, edit_voucher } from '@/api/order.js';
 import { timeComputed } from '@/utils/rocessor.js';
 export default {
 	components: {
@@ -169,6 +184,7 @@ export default {
 	},
 	data() {
 		return {
+			type: 1,
 			// 倒计时
 			stopTime: {
 				stopTimeH: 0,
@@ -188,6 +204,9 @@ export default {
 	onLoad(option) {
 		this.id = option.ordid;
 		this.loadData();
+		if (option.type) {
+			this.type = option.type;
+		}
 	},
 	methods: {
 		uploads() {
@@ -195,6 +214,7 @@ export default {
 				filename: ''
 			}).then(data => {
 				this.image = data[0].url;
+				console.log(this.image);
 			});
 		},
 		loadData() {
@@ -278,11 +298,20 @@ export default {
 			if (this.image == '') {
 				return this.$api.msg('请上传支付凭证');
 			}
-			up_image({ id: this.info.id, image: this.image }).then(({ data }) => {
-				uni.navigateTo({
-					url: '/pages/money/success'
+			if (this.type == 1) {
+				up_image({ id: this.info.id, image: this.image }).then(({ data }) => {
+					uni.navigateTo({
+						url: '/pages/money/success'
+					});
 				});
-			});
+			}
+			if (this.type == 2) {
+				edit_voucher({ order_id: this.id, image: this.image }).then(({ data }) => {
+					uni.navigateTo({
+						url: '/pages/money/success'
+					});
+				});
+			}
 		}
 	}
 };

+ 108 - 36
pages/hall/porducthall.vue

@@ -19,22 +19,22 @@
 				<view class="tm-title clamp">{{ info.name }}</view>
 				<view class="tm-people flex">
 					<image class="people-image" src="../../static/img/people.png" mode=""></image>
-					<view class="people-name">归属人:{{info.user_nickname}}</view>
+					<view class="people-name">归属人:{{ info.user_nickname }}</view>
 				</view>
 			</view>
 			<view class="tm-right flex">
-				<!-- <view class="tmr-item">
+				<!-- <view class="tmr-item" @click="isDjs()">
 					<image class="tmr-image" src="../../static/img/shua.png" mode=""></image>
 					<view class="tmr-font">刷新倒计时</view>
 				</view> -->
-				<view class="tmr-item" @click="nav('/pages/hall/history?id='+id)">
+				<view class="tmr-item" @click="nav('/pages/hall/history?id=' + id)">
 					<image class="tmr-image1" src="../../static/img/yuan.png" mode=""></image>
 					<view class="tmr-font">溯源</view>
 				</view>
 			</view>
 		</view>
 		<view class="dz"></view>
-		<view class="introduce">
+		<!-- <view class="introduce">
 			<view class="introduct-title">
 				<image class="introduce-image" src="../../static/img/productIcon.png" mode=""></image>
 				<view class="introduce-font">艺术品挂售交易平台</view>
@@ -53,7 +53,7 @@
 					<view class="im-font">自由交易</view>
 				</view>
 			</view>
-		</view>
+		</view> -->
 		<view class="dz"></view>
 		<view class="explain">
 			<view class="explain-title">商品挂售说明</view>
@@ -83,7 +83,7 @@
 		<view class="bottom flex">
 			<view class="bottom-item">
 				<image class="bi-image" src="../../static/img/quan.png" mode=""></image>
-				<view class="bottom-font">预约券</view>
+				<view class="bottom-font">易趣卷</view>
 				<!-- <view class="bottom-num">200</view> -->
 			</view>
 			<view class="shu"></view>
@@ -92,7 +92,7 @@
 				<view class="bottom-font">联系</view>
 				<view class="bottom-num">客服</view>
 			</view>
-			<view class="btn" @click="buy()">立即购买</view>
+			<view class="btn" @click="buy()">{{ isbuy ? '立即购买' : countdown_time }}</view>
 		</view>
 		<uni-popup ref="popupkf" type="center">
 			<view class="popup-box">
@@ -114,38 +114,105 @@
 </template>
 
 <script>
-import { details,purchase } from '@/api/hall.js'
+import { details, purchase, count_down } from '@/api/hall.js';
+import { getTime } from '@/utils/rocessor.js';
 export default {
 	data() {
 		return {
-			text:'123456',
-			id:'',
-			uid:'',
-			name:'',
-			peoplename:'',
-			info:'',
-			imageList:[],
+			text: '123456',
+			id: '',
+			uid: '',
+			name: '',
+			peoplename: '',
+			info: '',
+			imageList: [],
+			countdown_time: '',
+			canbuy: 0, //结束时间
+			isbuy: false,
+			time: '', //进场时间
+			timers: '' //延时器id
 		};
 	},
 	onLoad(option) {
 		this.id = option.id;
-		this.uid = option.uid
-		this.name = option.name
-		this.peoplename = option.peoplename
+		this.uid = option.uid;
+		this.name = option.name;
+		this.peoplename = option.peoplename;
+	},
+	onShow() {
 		this.loadData();
+		this.isDjs();
+	},
+	onHide() {
+		clearTimeout(this.timers);
+	},
+	// 监听页面卸载
+	onUnload() {
+		// 关闭倒计时
+		clearTimeout(this.timers);
+	},
+	// 监听页面后退
+	onBackPress() {
+		// 关闭倒计时
+		clearTimeout(this.timers);
 	},
 	methods: {
+		isDjs() {
+			clearTimeout(this.timers);
+			count_down({ id: this.uid }).then(({ data }) => {
+				this.canbuy = data.times;
+				let day = getTime(this.canbuy * 1000).split(' ');
+				this.time = day[1];
+				this.counTime();
+			});
+		},
+		counTime() {
+			//获取当前时间
+			let data = new Date();
+			let newTime = data.getTime();
+			//结束时间
+			let end = this.canbuy;
+			//时间差
+			let leftTime = end * 1000 - newTime;
+			console.log(leftTime);
+			console.log(this.la, '2222222');
+			if (leftTime <= 0) {
+				console.log('已结束');
+				this.isbuy = true;
+				return;
+			}
+			//定义保存倒计时时间
+			let m, s;
+			if (leftTime >= 0) {
+				m = Math.floor((leftTime / 1000 / 60) % 60);
+				s = Math.floor((leftTime / 1000) % 60);
+				this.second = s;
+				this.la = m + s;
+				//倒计时赋值view
+				this.countdown_time = `${m}:${s}`;
+				this.timers = setTimeout(this.counTime, 1000);
+				//显示动态时间效果
+				if (s < 10) {
+					return (this.countdown_time = `${m}:0${s}`);
+					this.timers = setTimeout(this.counTime, 1000);
+				}
+				if (m < 10) {
+					return (this.countdown_time = `0${m}:${s}`);
+					this.timers = setTimeout(this.counTime, 1000);
+				}
+			}
+		},
 		loadData() {
-			details({product_id: this.id}).then(({data}) =>{
-				console.log(data);
-				this.imageList = data.slider_image
-				if (data.description != '') {
-					data.description = data.description.replace(/\<img/gi, '<img class="rich-img"');
-				} 
-				this.info = data
-			}).catch(e =>{
-				
-			})
+			details({ product_id: this.id })
+				.then(({ data }) => {
+					console.log(data);
+					this.imageList = data.slider_image;
+					if (data.description != '') {
+						data.description = data.description.replace(/\<img/gi, '<img class="rich-img"');
+					}
+					this.info = data;
+				})
+				.catch(e => {});
 		},
 		// 打开客服
 		openKf() {
@@ -158,17 +225,22 @@ export default {
 		nav(url) {
 			uni.navigateTo({
 				url
-			})
+			});
 		},
 		buy() {
-			purchase({product_id: this.id}).then(({ data }) =>{
-				uni.navigateTo({
-					url:'/pages/money/paySuccess?type=1&uid=' + this.uid +  + '&name='+ this.name + '&peoplename=' + this.peoplename
+			if (!this.isbuy) {
+				return this.$api.msg('还未到购买时间');
+			}
+			purchase({ product_id: this.id })
+				.then(({ data }) => {
+					uni.navigateTo({
+						url: '/pages/money/paySuccess?type=1&uid=' + this.uid + +'&name=' + this.name + '&peoplename=' + this.peoplename
+					});
+					console.log(data);
 				})
-				console.log(data);
-			}).catch(e =>{
-				console.log(e);
-			})
+				.catch(e => {
+					console.log(e);
+				});
 		}
 	}
 };

+ 96 - 105
pages/index/index.vue

@@ -25,7 +25,7 @@
 						:more-icon="true"
 						:list="text"
 						@click="goDetails"
-						@getMore="nav('/pages/index/message')"
+						@getMore="nav('/pages/index/message?type=1')"
 					></u-notice-bar>
 				</view>
 			</view>
@@ -35,41 +35,41 @@
 				<image class="nitem-image" src="../../static/img/index-inco1.png" mode=""></image>
 				<view class="nitem-font">随意嗨购</view>
 			</view>
-			<!-- <view class="navbar-item" @click="nav('/pages/product/classify')">
-				<image class="nitem-image" src="../../static/img/index-inco2.png" mode=""></image>
-				<view class="nitem-font">赠艺金券</view>
-			</view> -->
-			<view class="navbar-item" @click="nav('/pages/product/classify?type=1')">
+
+			<view class="navbar-item" @click="nav('/pages/product/classify?type=5')">
 				<image class="nitem-image" src="../../static/img/index-inco3.png" mode=""></image>
 				<view class="nitem-font">置换</view>
 			</view>
-			<!-- <view class="navbar-item" @click="nav('/pages/product/classify')">
-				<image class="nitem-image" src="../../static/img/index-inco4.png" mode=""></image>
-				<view class="nitem-font">趣豆购</view>
-			</view> -->
 			<view class="navbar-item" @click="nav('/pages/product/seckill')">
 				<image class="nitem-image" src="../../static/img/index-inco5.png" mode=""></image>
 				<view class="nitem-font">秒杀</view>
 			</view>
-			<!-- <view class="navbar-item" @click="nav('/pages/product/zero')">
-				<image class="nitem-image" src="../../static/img/index-inco6.png" mode=""></image>
-				<view class="nitem-font">0元购</view>
-			</view> -->
 			<view class="navbar-item" @click="nav('/pages/store/store')">
 				<image class="nitem-image" src="../../static/img/index-inco7.png" mode=""></image>
-				<view class="nitem-font">服务专区</view>
+				<view class="nitem-font">合作专区</view>
 			</view>
-			<view class="navbar-item" @click="nav('/pages/product/classify?type=3')">
+			<view class="navbar-item" @click="nav('/pages/category/category')">
 				<image class="nitem-image" src="../../static/img/index-inco8.png" mode=""></image>
 				<view class="nitem-font">大品牌区</view>
 			</view>
+			<!-- <view class="navbar-item" @click="nav('/pages/index/message?type=2')">
+				<image class="nitem-image" src="../../static/img/index-inco6.png" mode=""></image>
+				<view class="nitem-font">拍卖品</view>
+			</view> -->
+			<view class="navbar-item" @click="nav('/pages/product/classify?type=1')">
+				<image class="nitem-image" src="../../static/img/index-inco2.png" mode=""></image>
+				<view class="nitem-font">医斯佳专区</view>
+			</view>
+			<view class="navbar-item" @click="nav('/pages/product/classify?type=3')">
+				<image class="nitem-image" src="../../static/img/index-inco4.png" mode=""></image>
+				<view class="nitem-font">CBB专区</view>
+			</view>
 		</view>
-		<!-- <view class="product"><image class="product-image" src="../../static/img/index-product.png" mode=""></image></view> -->
 		<view class="shingle" v-if="list">
 			<view class="shingle-top flex">
-				<view class="shingle-title">易趣竞拍游戏区</view>
+				<view class="shingle-title">CBB潮贝抢货通道</view>
 				<view class="shingle-btn" @click="nav('/pages/hall/hall')">
-					查看更多易趣会馆
+					更多CBB代理团队
 					<text>></text>
 				</view>
 			</view>
@@ -90,8 +90,8 @@
 					</view>
 					<view class="shu"></view>
 					<view class="smmain-item">
-						<view class="smitem-top">{{ list.nickname }}</view>
-						<view class="smitem-bottom">馆长</view>
+						<view class="smitem-top clamp">{{ list.nickname }}</view>
+						<view class="smitem-bottom">CBB潮倍贝</view>
 					</view>
 					<view class="shu"></view>
 					<view class="smmain-item">
@@ -107,8 +107,8 @@
 		</view>
 		<!-- 秒杀楼层 -->
 		<seckill></seckill>
-		<view class="ge"></view>
-		<view class="serve">
+		<view class="ge" v-if="stop.length != 0"></view>
+		<view class="serve" v-if="stop.length != 0">
 			<view class="seckill-title flex">
 				<view class="seckill-left flex">
 					<image class="seckill-inco" src="../../static/img/serve.png" mode=""></image>
@@ -125,7 +125,7 @@
 					<view class="clamp serve-title">{{ item.name }}</view>
 					<view class="serve-address flex" v-if="item.jl">
 						<image class="saddress-inco" src="../../static/img/address.png" mode=""></image>
-						<view class="saddress-font">距离{{item.jl}}</view>
+						<view class="saddress-font">距离{{ item.jl }}KM</view>
 					</view>
 				</view>
 			</view>
@@ -137,8 +137,8 @@
 <script>
 import { tabbar1 } from '@/utils/tabbar.js';
 import seckill from '../../components/seckill/seckill.vue';
-import { article } from '@/api/user.js'
-import { loadIndexs,store_list } from '@/api/index.js';
+import { article } from '@/api/user.js';
+import { loadIndexs, store_list } from '@/api/index.js';
 import uniCountdowns from '@/components/uni-countdown/uni-countdowns.vue';
 import { openMap } from '@/utils/rocessor.js';
 import { auction_gu } from '@/api/hall.js';
@@ -159,28 +159,38 @@ export default {
 			dataList: '',
 			carouselList: [], //轮播图列表
 			text: [],
-			article:[],
-			list:{},
-			stop:[],
+			article: [],
+			list: {},
+			stop: []
 		};
 	},
+	onPullDownRefresh() {
+		console.log('111');
+		this.loadData();
+		this.getaddress();
+		setTimeout(function() {
+			uni.stopPullDownRefresh();
+		}, 1000);
+	},
 	onShow() {
 		this.loadData();
 		this.getaddress();
 	},
 	methods: {
 		loadData() {
-			article({},1).then(({data}) =>{
-				data.forEach(e =>{
-					this.text.push(e.synopsis)
+			article({}, 1).then(({ data }) => {
+				data.forEach(e => {
+					this.text.push(e.synopsis);
+				});
+				this.article = data;
+			});
+			auction_gu({ pages: 1, limit: 1 })
+				.then(({ data }) => {
+					this.list = data[0];
 				})
-				this.article = data
-			})
-			auction_gu({pages:1,limit:1}).then(({data}) =>{
-				this.list = data[0]
-			}).catch(e =>{
-				console.log(e);
-			})
+				.catch(e => {
+					console.log(e);
+				});
 			loadIndexs({})
 				.then(({ data }) => {
 					let goods = data.info;
@@ -190,67 +200,46 @@ export default {
 				.catch(e => {});
 		},
 		//根据经纬度计算距离
-		getFlatternDistance(lat1, lng1, lat2, lng2){
-			let f = getRad((lat1 + lat2)/2);
-			let g = getRad((lat1 - lat2)/2);
-			let l = getRad((lat1 - lng2)/2);
-			let sg = Math.sin(g);
-			let sl = Math.sin(1);
-			let	sf = Math.sin(f);
-			let s,C,W,r ,d,h1,h2;
-			let a =	EARTH_RADIUS ;
-			let fl = 1/298.257;
-			sg = sg*sg;
-			s1 = s1*sl;
-			sf = sf*sf;
-			g*(1-s1) + (1-sf)*s1;
-			C = (1-sg)*(1-s1) + sf*sl;
-			N = Math.atan(Math.sqrt(s/c));
-			r = Math.sqrt(s*c)/w;
-			d = 2*w*a;
-			h1 = (3*r -1)/2/c;
-			h2 = (3*r +1)/2/s;
-			return d*(1 + fl*(h1*sf*(1-sg) - h2*(1-sf)*sg));
+		getFlatternDistance(lat1, lng1, lat2, lng2) {
+			let radLat1 = (lat1 * Math.PI) / 180.0;
+			let radLat2 = (lat2 * Math.PI) / 180.0;
+			let a = radLat1 - radLat2;
+			let b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
+			let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
+			s = s * 6378.137;
+			s = Math.round(s * 10000) / 10000;
+			return s;
 		},
 		getaddress() {
 			let obj = this;
-			store_list({
-				page:1,
-				limit:3,
-				// latitude:res.latitude,
-				// longitude: res.longitude,
-			}).then(e =>{
-				obj.stop = e.data.list
-				console.log(e);
-			})
-			// uni.getLocation({
-			// 	type: 'gcj02',
-			// 	success: res => {
-			// 		console.log('dizhi+++++++++++');
-			// 		this.longitude = res.longitude //经度
-			// 		this.latitude = res.latitude //纬度
-			// 		store_list({
-			// 			page:1,
-			// 			limit:3,
-			// 			latitude:res.latitude,
-			// 			longitude: res.longitude,
-			// 		}).then(e =>{
-				// if(e.data.length != 0){
-				// 	e.data.list.forEach(e =>{
-				// 		e.jl = this.getFlatternDistance(this.latitude,this.longitude,e.latitude,e.longitude)
-				// 	})
-				// }
-			// 			obj.stop = e.data.list
-			// 			console.log(e);
-			// 		})
-			// 	},
-			// 	fail: err => {
-			// 		console.log(err);
-			// 		openMap().then(e => {
-			// 			this.getaddress();
-			// 		});
-			// 	}
-			// });
+			uni.getLocation({
+				type: 'gcj02',
+				success: res => {
+					console.log('dizhi+++++++++++');
+					this.longitude = res.longitude; //经度
+					this.latitude = res.latitude; //纬度
+					store_list({
+						page: 1,
+						limit: 3,
+						latitude: res.latitude,
+						longitude: res.longitude
+					}).then(e => {
+						if (e.data.length != 0) {
+							e.data.list.forEach(e => {
+								e.jl = this.getFlatternDistance(this.latitude, this.longitude, e.latitude, e.longitude);
+							});
+						}
+						obj.stop = e.data.list;
+						console.log(e);
+					});
+				},
+				fail: err => {
+					console.log(err, '123456789');
+					openMap().then(e => {
+						this.getaddress();
+					});
+				}
+			});
 		},
 		goDetails(e) {
 			uni.navigateTo({
@@ -279,10 +268,10 @@ export default {
 				url: '/pages/product/search'
 			});
 		},
-		navTo(item){
+		navTo(item) {
 			uni.navigateTo({
-				url: "/pages/hall/halllist?id=" + item.id + '&name=' + item.name + '&peoplename=' + item.nickname
-			})
+				url: '/pages/hall/halllist?id=' + item.id + '&name=' + item.name + '&peoplename=' + item.nickname
+			});
 		},
 		//详情页
 		navToDetailPage(item) {
@@ -305,7 +294,7 @@ page,
 .top {
 	position: relative;
 	width: 100%;
-	height: 400rpx;
+	height: 360rpx;
 	.top-bg {
 		position: absolute;
 		top: 0;
@@ -341,11 +330,11 @@ page,
 }
 .carousel {
 	width: 700rpx;
-	height: 300rpx;
-	margin: -260rpx auto 0;
+	height: 276rpx;
+	margin: -240rpx auto 0;
 	image {
 		width: 700rpx;
-		height: 300rpx;
+		height: 276rpx;
 	}
 }
 .tongz {
@@ -508,6 +497,8 @@ page,
 				flex-direction: column;
 				align-items: center;
 				.smitem-top {
+					text-align: center;
+					width: 90%;
 					font-size: 30rpx;
 					font-family: PingFang SC;
 					font-weight: bold;
@@ -517,7 +508,7 @@ page,
 					margin-top: 10rpx;
 					font-size: 30rpx;
 					font-family: PingFang SC;
-					font-weight: 500;
+					font-weight: bold;
 					color: #ffffff;
 				}
 				.people {

+ 23 - 16
pages/index/message.vue

@@ -1,8 +1,8 @@
 <template>
 	<view class="center">
-		<view class="massage" v-for="(item, index) in list" :key="index" @click="nav('/pages/index/messageInfo?id='+item.id)">
-			<view class="title">{{item.title}}</view>
-			<view class="time">{{item.add_time}}</view>
+		<view class="massage" v-for="(item, index) in list" :key="index" @click="nav('/pages/index/messageInfo?id=' + item.id)">
+			<view class="title">{{ item.title }}</view>
+			<view class="time">{{ item.add_time }}</view>
 		</view>
 	</view>
 </template>
@@ -12,23 +12,30 @@ import { article } from '@/api/user.js';
 export default {
 	data() {
 		return {
-			list:[]
-		}
+			list: [],
+			type: ''
+		};
 	},
-	onLoad() {
+	onLoad(opt) {
+		if (opt.type) {
+			this.type = opt.type;
+			uni.setNavigationBarTitle({
+				title: opt.type == 1 ? '官方公告' : '拍品介绍'
+			});
+		}
 		let obj = this;
-		article({page:1,limit:1000},1).then(({data}) =>{
-			this.list = data
-		})
+		article({ page: 1, limit: 1000 }, this.type).then(({ data }) => {
+			this.list = data;
+		});
 	},
-	methods:{
-		nav(url){
+	methods: {
+		nav(url) {
 			uni.navigateTo({
 				url
-			})
+			});
 		}
 	}
-}
+};
 </script>
 
 <style lang="less">
@@ -36,16 +43,16 @@ export default {
 	background: #f3f3f3;
 }
 .massage {
-	background: #FFFFFF;
+	background: #ffffff;
 	padding: 30rpx;
-	border-bottom: 1px solid #E9E9E9;
+	border-bottom: 1px solid #e9e9e9;
 	.title {
 		font-size: 28rpx;
 		font-family: PingFang SC;
 		font-weight: 500;
 		color: #333333;
 	}
-	.time{
+	.time {
 		margin-top: 18rpx;
 		font-size: 20rpx;
 		font-family: PingFang SC;

+ 18 - 6
pages/money/money.vue

@@ -15,17 +15,17 @@
 			</view>
 			<view class="vvv"></view>
 			<view class="navbar-item">
-				<view class="navbar-font" @click="navTo('/pages/user/award')">
+				<view class="navbar-font" @click="navTo('/pages/user/mygs')">
 					<image class="navbar-image" src="../../static/money/m03.png" mode=""></image>
-					<view class="font">佣金</view>
+					<view class="font">我的收益</view>
 				</view>
-				<view class="navbar-num">{{ userInfo.brokerage_price }}</view>
+				<view class="navbar-num">{{ userInfo.profit > 0 ? userInfo.profit : '0' }}</view>
 			</view>
 			<view class="vvv"></view>
 			<view class="navbar-item">
 				<view class="navbar-font" @click="navTo('/pages/user/myAppointment')">
 					<image class="navbar-image" src="../../static/money/m04.png" mode=""></image>
-					<view class="font">预约券</view>
+					<view class="font">易趣卷</view>
 				</view>
 				<view class="navbar-num">{{ userInfo.anticipate }}</view>
 			</view>
@@ -42,7 +42,7 @@
 					<image src="../../static/money/m01.png" mode=""></image>
 				</view>
 			</view>
-			<scroll-view scroll-y="true" class="scroll-list" :style="{'height' : height}" @scrolltolower="loadData()">
+			<scroll-view scroll-y="true" class="scroll-list" :style="{ height: height }" @scrolltolower="loadData()">
 				<view class="list" v-for="(item, index) in list" :style="{ background: index % 2 == 0 ? '#F9F9F9' : '#fff' }">
 					<view class="list-box">
 						<view class="list-left">
@@ -59,6 +59,7 @@
 </template>
 
 <script>
+import { getUserInfo } from '@/api/user.js';
 import { tabbar } from '@/utils/tabbar.js';
 import { mapState, mapMutations } from 'vuex';
 import LbPicker from '@/components/lb-picker';
@@ -84,7 +85,7 @@ export default {
 	},
 	data() {
 		return {
-			height:'',
+			height: '',
 			current: 3,
 			tabbar: tabbar,
 			list: [],
@@ -101,12 +102,23 @@ export default {
 		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
 	},
 	onLoad() {
+		this.upData();
 		this.loadData();
 	},
 	onReachBottom() {
 		this.loadData();
 	},
 	methods: {
+		...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
+		upData() {
+			getUserInfo({})
+				.then(({ data }) => {
+					this.setUserInfo(data);
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
 		loadData() {
 			const obj = this;
 			if (obj.loadingType == 'nomore' || obj.loadingType == 'loading') {

+ 157 - 0
pages/money/moneyPwd.vue

@@ -0,0 +1,157 @@
+<template>
+	<view class="container">
+		<view class="row b-b" v-if="type == 2">
+			<text class="tit">原密码</text>
+			<input class="input" v-model="oldPassword" type="text" placeholder="请填写原密码" placeholder-class="placeholder" />
+		</view>
+		<view class="row b-b">
+			<text class="tit">新密码</text>
+			<input class="input" v-model="password" type="password" placeholder="请填写6位新密码" placeholder-class="placeholder" />
+		</view>
+		<view class="row b-b">
+			<text class="tit">再次输入</text>
+			<input class="input" v-model="yzpassword" type="password" placeholder="请重新填写6位新密码" placeholder-class="placeholder" />
+		</view>
+		<button class="add-btn" :class="{ 'bg-gray': loding }" @click="loding ? '' : confirm()">提交</button>
+	</view>
+</template>
+
+<script>
+import { verify } from '@/api/login.js';
+import { mapState } from 'vuex';
+import { is_pas, transaction } from '@/api/set.js';
+export default {
+	data() {
+		return {
+			type: 1,
+			oldPassword: '', //老密码
+			password: '', //新密码
+			yzpassword: '', //重复输入
+			loding: false //是否载入中
+		};
+	},
+	computed: {
+		...mapState('user', ['userInfo'])
+	},
+	onLoad() {
+		is_pas().then(({ data }) => {
+			console.log();
+			if (data.status != 0) {
+				this.type = 2;
+			}
+		});
+	},
+	watch: {
+		// 监听倒计时
+		countDown(i) {
+			if (i == 0) {
+				clearInterval(this.time);
+			}
+		}
+	},
+	methods: {
+		confirm(e) {
+			const reg = /^[0-9]{6}$/;
+			console.log(this.yzpassword);
+			if (!reg.test(this.yzpassword)) {
+				uni.showModal({
+					title: '错误',
+					content: '请输入6位数字支付密码',
+					showCancel: false
+				});
+				return false;
+			}
+			if (this.yzpassword != this.password) {
+				uni.showModal({
+					title: '错误',
+					content: '密码不一致请重新输入',
+					showCancel: false
+				});
+				return false;
+			}
+			this.loding = true;
+			transaction({
+				type: this.type,
+				payment: this.password,
+				old_payment: this.oldPassword
+			})
+				.then(({ data }) => {
+					this.loding = false;
+					uni.showModal({
+						title: '提示',
+						content: '修改成功',
+						showCancel: false,
+						confirmText: '返回个人中心',
+						success: res => {
+							uni.switchTab({
+								url: '/pages/user/user'
+							});
+						}
+					});
+				})
+				.catch(err => {
+					this.loding = false;
+					console.log(err);
+				});
+		}
+	}
+};
+</script>
+
+<style lang="scss">
+page {
+	background: $page-color-base;
+}
+.container {
+	padding-top: 30rpx;
+}
+.row {
+	display: flex;
+	align-items: center;
+	position: relative;
+	padding: 0 30rpx;
+	height: 110rpx;
+	background: #fff;
+
+	.tit {
+		flex-shrink: 0;
+		width: 120rpx;
+		font-size: 30rpx;
+		color: $font-color-dark;
+	}
+	.input {
+		flex: 1;
+		font-size: 30rpx;
+		color: $font-color-dark;
+	}
+	.iconlocation {
+		font-size: 36rpx;
+		color: $font-color-light;
+	}
+}
+.add-btn {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	width: 690rpx;
+	height: 80rpx;
+	margin: 60rpx auto;
+	font-size: $font-lg;
+	color: #fff;
+	background: #dc262b;
+	border-radius: 10rpx;
+	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
+}
+
+.bg-gray {
+	background-color: $color-gray;
+}
+.code {
+	color: #5dbc7c;
+	font-size: 23rpx;
+	border-left: 1px solid #eeeeee;
+	width: 150rpx;
+	flex-shrink: 0;
+	text-align: center;
+}
+</style>

+ 411 - 434
pages/money/recharge.vue

@@ -2,23 +2,21 @@
 	<view class="content">
 		<view class="now" v-if="status == 0">
 			<view>当前余额:</view>
-			<view class="now-money">¥{{new_money}}</view>
+			<view class="now-money">¥{{ new_money }}</view>
 		</view>
 		<view class="now" v-if="status == 2">
-			<view>当前预约券:</view>
-			<view class="now-money">¥{{userInfo.anticipate}}</view>
+			<view>当前易趣卷:</view>
+			<view class="now-money">¥{{ userInfo.anticipate }}</view>
 		</view>
 		<view class="main-jg"></view>
 		<view class="add-wrapper">
 			<view class="add-box">
 				<view class="add-log">¥</view>
-				<input type="text" v-model="money" placeholder="请输入充值金额" placeholder-class="place"
-					@keyup="clearNoNum()" />
+				<input type="text" v-model="money" placeholder="请输入充值金额" placeholder-class="place" @keyup="clearNoNum()" />
 			</view>
 			<view class="jg" style="height: 1px; background-color: #E6E6E6;"></view>
 			<view class="add-tags">
-				<view class="tag" v-for="(item, index) in addTags" :key="item" @click="tagClick(index)"
-					:class="{ action: currentIndex === index && money == addTags[index] }">
+				<view class="tag" v-for="(item, index) in addTags" :key="item" @click="tagClick(index)" :class="{ action: currentIndex === index && money == addTags[index] }">
 					<text>{{ item }}</text>
 				</view>
@@ -26,12 +24,8 @@
 		</view>
 		<view class="main-jg"></view>
 		<view class="btn-wrapper">
-			<view class="icon iconfont iconweixin1">
-				<view>微信充值</view>
-			</view>
-			<view class="btn" @click="btnClick" :class="{'actiont': isSect}">
-				<image src="../../static/icon/btncz.png" mode="" :class="{'action':!isSect}"></image>
-			</view>
+			<view class="icon iconfont iconweixin1"><view>微信充值</view></view>
+			<view class="btn" @click="btnClick" :class="{ actiont: isSect }"><image src="../../static/icon/btncz.png" mode="" :class="{ action: !isSect }"></image></view>
 		</view>
 		<!-- <view class="row-box">
 			<view class="title">充值金额</view>
@@ -59,505 +53,488 @@
 							<view class="title"><text>微信充值</text></view>
 							<view class="node"><text>真实姓名(代勇明)</text></view>
 						</view>
-						<view class="right">
-							<radio value="weixin" color=" #5dbc7c" :checked="type == 'weixin'" />
-						</view>
+						<view class="right"><radio value="weixin" color=" #5dbc7c" :checked="type == 'weixin'" /></view>
 					</view>
 				</label>
 				<!-- #endif -->
 			</radio-group>
 		</view>
-		<button class="add-btn up" :class="{ 'active-bg': payLoding }"
-			@click="!payLoding ? confirm() : ''">立即充值</button>
-
+		<button class="add-btn up" :class="{ 'active-bg': payLoding }" @click="!payLoding ? confirm() : ''">立即充值</button>
 	</view>
 </template>
 
 <script>
-	import {
+import { getMoneyStyle } from '@/utils/rocessor.js';
+// #ifdef H5
+import { rechargeWechat, userBalance } from '@/api/wallet.js';
+// #endif
+// #ifdef MP
+import { rechargeRoutine, userBalance } from '@/api/wallet.js';
+// #endif
+import { mapState } from 'vuex';
+import { orderData, getUserInfo } from '@/api/user.js';
+export default {
+	filters: {
 		getMoneyStyle
-	} from '@/utils/rocessor.js';
-	// #ifdef H5
-	import {
-		rechargeWechat,
-		userBalance
-	} from '@/api/wallet.js';
-	// #endif
-	// #ifdef MP
-	import {
-		rechargeRoutine,
-		userBalance
-	} from '@/api/wallet.js';
-	// #endif
-	import {
-		mapState
-	} from 'vuex';
-	import {
-		orderData,
-		getUserInfo
-	} from '@/api/user.js';
-	export default {
-		filters: {
-			getMoneyStyle
+	},
+	data() {
+		return {
+			type: 'weixin',
+			money: '', //充值金额
+			payLoding: false, //是否加载中
+			addTags: [300, 200, 150, 100, 50],
+			currentIndex: 0,
+			addMoney: 0,
+			isSect: false, //是否选择微信充值
+			new_money: 0,
+			status: 0 //0->余额 2->兑换券
+		};
+	},
+	onLoad(options) {
+		this.userBalance();
+		if (options.status) {
+			this.status = options.status;
+		}
+	},
+	computed: {
+		// #ifdef H5
+		...mapState(['weichatObj']),
+		// #endif
+		...mapState('user', ['userInfo'])
+	},
+	methods: {
+		// 跳转
+		navTo(url) {
+			uni.navigateTo({
+				url: url
+			});
+		},
+		// 更新数据
+		dataUp() {
+			let obj = this;
+			getUserInfo({})
+				.then(e => {
+					obj.login();
+					// 保存返回用户数据
+					obj.setUserInfo(e.data);
+				})
+				.catch(e => {
+					console.log(e);
+				});
 		},
-		data() {
-			return {
-				type: 'weixin',
-				money: '', //充值金额
-				payLoding: false, //是否加载中
-				addTags: [300, 200, 150, 100, 50],
-				currentIndex: 0,
-				addMoney: 0,
-				isSect: false, //是否选择微信充值
-				new_money: 0,
-				status: 0, //0->余额 2->兑换券
-			};
+		// 切换选中对象
+		tabRadio(e) {
+			this.type = e;
 		},
-		onLoad(options) {
-			this.userBalance()
-			if (options.status) {
-				this.status = options.status
+		// 提交
+		confirm() {
+			let obj = this;
+			if (obj.money == 0) {
+				return obj.$api.msg('请输入充值金额');
 			}
-		},
-		computed: {
+			if (!obj.isSect) {
+				return obj.$api.msg('请选择支付方式');
+			}
+
+			obj.payLoding = true;
 			// #ifdef H5
-			...mapState(['weichatObj']),
-			// #endif
-			...mapState('user', ['userInfo'])
-		},
-		methods: {
-			// 跳转
-			navTo(url) {
-				uni.navigateTo({
-					url: url
-				});
-			},
-			// 更新数据
-			dataUp() {
-				let obj = this;
-				getUserInfo({})
-					.then(e => {
-						obj.login();
-						// 保存返回用户数据
-						obj.setUserInfo(e.data);
-					})
-					.catch(e => {
-						console.log(e);
-					});
-			},
-			// 切换选中对象
-			tabRadio(e) {
-				this.type = e;
-			},
-			// 提交
-			confirm() {
-				let obj = this;
-				if (obj.money == 0) {
-					return obj.$api.msg('请输入充值金额');
-				}
-				if (!obj.isSect) {
-					return obj.$api.msg('请选择支付方式');
-				}
-
-
-				obj.payLoding = true;
-				// #ifdef H5
-				let datao = {}
-				if (obj.status == 0) {
-					datao = {
-						price: obj.money,
-						from: obj.type,
-					}
-				}
-				if (obj.status == 2) {
-					datao = {
-						price: obj.money,
-						from: obj.type,
-						type: 2
-					}
-				}
-				rechargeWechat(datao)
-					.then(e => {
-						let da = e.data.data;
-						obj.weichatObj.chooseWXPay({
-							timestamp: da.timestamp,
-							nonceStr: da.nonceStr,
-							package: da.package,
-							signType: da.signType,
-							paySign: da.paySign,
-							success: function(res) {
-								uni.showToast({
-									title: '充值成功',
-									duration: 2000,
-									position: 'top'
-			 				});
-							}
-						});
-						
-						obj.payLoding = false;
-					})
-					.catch(e => {
-						obj.payLoding = false;
-						console.log(e);
-					});
-				// #endif
-				// #ifdef MP
-				rechargeRoutine({
-						price: this.money
-					})
-					.then(e => {
-						let da = e.data;
-						wx.requestPayment({
-							timeStamp: da.timestamp,
-							nonceStr: da.nonceStr,
-							package: da.package,
-							signType: da.signType,
-							paySign: da.paySign,
-							success: function(res) {
-								uni.redirectTo({
-									url: '/pages/money/paySuccess?isshow=false'
-								});
-							}
-						});
-
-						obj.payLoding = false;
-					})
-					.catch(e => {
-						obj.payLoding = false;
-						console.log(e);
+			let datao = {};
+			if (obj.status == 0) {
+				datao = {
+					price: obj.money,
+					from: obj.type
+				};
+			}
+			if (obj.status == 2) {
+				datao = {
+					price: obj.money,
+					from: obj.type,
+					type: 2
+				};
+			}
+			rechargeWechat(datao)
+				.then(e => {
+					let da = e.data.data;
+					obj.weichatObj.chooseWXPay({
+						timestamp: da.timestamp,
+						nonceStr: da.nonceStr,
+						package: da.package,
+						signType: da.signType,
+						paySign: da.paySign,
+						success: function(res) {
+							this.dataUp();
+							uni.showToast({
+								title: '充值成功',
+								duration: 2000,
+								position: 'top'
+							});
+						}
 					});
-				// #endif
-			},
-			//获取订单列表
-			loadData(source) {
-				console.log(source);
-				//这里是将订单挂载到tab列表下
-				let index = this.tabCurrentIndex;
-				let navItem = this.navList[index];
-				let state = navItem.state;
-				if (source === 'tabChange' && navItem.loaded === true) {
-					//tab切换只有第一次需要加载数据
-					return;
-				}
-				if (navItem.loadingType === 'loading') {
-					//防止重复加载
-					return;
-				}
-				navItem.loadingType = 'loading';
-				setTimeout(() => {
-					let orderList = [];
-					orderList.forEach(item => {
-						navItem.orderList.push(item);
+
+					obj.payLoding = false;
+				})
+				.catch(e => {
+					obj.payLoding = false;
+					console.log(e);
+				});
+			// #endif
+			// #ifdef MP
+			rechargeRoutine({
+				price: this.money
+			})
+				.then(e => {
+					let da = e.data;
+					wx.requestPayment({
+						timeStamp: da.timestamp,
+						nonceStr: da.nonceStr,
+						package: da.package,
+						signType: da.signType,
+						paySign: da.paySign,
+						success: function(res) {
+							uni.redirectTo({
+								url: '/pages/money/paySuccess?isshow=false'
+							});
+						}
 					});
-					//loaded新字段用于表示数据加载完毕,如果为空可以显示空白页
-					this.$set(navItem, 'loaded', true);
-					//判断是否还有数据, 有改为 more, 没有改为noMore
-					navItem.loadingType = 'more';
-				}, 600);
-			},
-			tagClick(index) {
-				this.currentIndex = index;
-				this.money = this.addTags[index];
-			},
-			clearNoNum() {
-				this.money = this.money.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
-				switch (this.money) {
-					case '300':
-						this.currentIndex = 0;
-						break;
-					case '200':
-						this.currentIndex = 1;
-						break;
-					case '150':
-						this.currentIndex = 2;
-						break;
-					case '100':
-						this.currentIndex = 3;
-						break;
-					case '50':
-						this.currentIndex = 4;
-						break;
-				}
-			},
-			btnClick() {
-				this.isSect = !this.isSect
-			},
-			userBalance() {
-				userBalance().then(res => {
-					this.new_money = res.data.now_money
-					console.log(res)
+
+					obj.payLoding = false;
 				})
+				.catch(e => {
+					obj.payLoding = false;
+					console.log(e);
+				});
+			// #endif
+		},
+		//获取订单列表
+		loadData(source) {
+			console.log(source);
+			//这里是将订单挂载到tab列表下
+			let index = this.tabCurrentIndex;
+			let navItem = this.navList[index];
+			let state = navItem.state;
+			if (source === 'tabChange' && navItem.loaded === true) {
+				//tab切换只有第一次需要加载数据
+				return;
+			}
+			if (navItem.loadingType === 'loading') {
+				//防止重复加载
+				return;
 			}
+			navItem.loadingType = 'loading';
+			setTimeout(() => {
+				let orderList = [];
+				orderList.forEach(item => {
+					navItem.orderList.push(item);
+				});
+				//loaded新字段用于表示数据加载完毕,如果为空可以显示空白页
+				this.$set(navItem, 'loaded', true);
+				//判断是否还有数据, 有改为 more, 没有改为noMore
+				navItem.loadingType = 'more';
+			}, 600);
+		},
+		tagClick(index) {
+			this.currentIndex = index;
+			this.money = this.addTags[index];
+		},
+		clearNoNum() {
+			this.money = this.money.replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3');
+			switch (this.money) {
+				case '300':
+					this.currentIndex = 0;
+					break;
+				case '200':
+					this.currentIndex = 1;
+					break;
+				case '150':
+					this.currentIndex = 2;
+					break;
+				case '100':
+					this.currentIndex = 3;
+					break;
+				case '50':
+					this.currentIndex = 4;
+					break;
+			}
+		},
+		btnClick() {
+			this.isSect = !this.isSect;
+		},
+		userBalance() {
+			userBalance().then(res => {
+				this.new_money = res.data.now_money;
+				console.log(res);
+			});
 		}
-	};
+	}
+};
 </script>
 
 <style lang="scss">
-	page {
-		height: 100%;
-		background-color: #fff;
+page {
+	height: 100%;
+	background-color: #fff;
+}
+
+.add-btn {
+	&.modified {
+		color: $base-color;
 	}
 
-	.add-btn {
-		&.modified {
-			color: $base-color;
-		}
+	&.up {
+		background-color: $base-color;
+		color: #fff;
+	}
 
-		&.up {
-			background-color: $base-color;
-			color: #fff;
-		}
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	width: 604rpx;
+	height: 90rpx;
+	margin: 0 auto;
+	margin-top: 30rpx;
+	font-size: $font-lg;
+	border-radius: 10rpx;
+	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
+}
+
+.row-box {
+	margin-top: 30rpx;
+	padding: 20rpx 30rpx;
+	background: #fff;
+
+	.title {
+		font-size: $font-base + 2rpx;
+		color: $font-color-dark;
+	}
 
+	.row {
 		display: flex;
 		align-items: center;
-		justify-content: center;
-		width: 604rpx;
-		height: 90rpx;
-		margin: 0 auto;
-		margin-top: 30rpx;
-		font-size: $font-lg;
-		border-radius: 10rpx;
-		// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
-	}
+		position: relative;
+		height: 80rpx;
 
-	.row-box {
-		margin-top: 30rpx;
-		padding: 20rpx 30rpx;
-		background: #fff;
-
-		.title {
-			font-size: $font-base + 2rpx;
+		.tit {
+			flex-shrink: 0;
+			width: 40rpx;
+			font-size: 30rpx;
 			color: $font-color-dark;
 		}
 
-		.row {
-			display: flex;
-			align-items: center;
-			position: relative;
-			height: 80rpx;
-
-			.tit {
-				flex-shrink: 0;
-				width: 40rpx;
-				font-size: 30rpx;
-				color: $font-color-dark;
-			}
-
-			.input {
-				flex: 1;
-				font-size: 30rpx;
-				color: $font-color-dark;
-			}
+		.input {
+			flex: 1;
+			font-size: 30rpx;
+			color: $font-color-dark;
+		}
 
-			.iconlocation {
-				font-size: 36rpx;
-				color: $font-color-light;
-			}
+		.iconlocation {
+			font-size: 36rpx;
+			color: $font-color-light;
+		}
 
-			.buttom {
-				color: $font-color;
-				font-size: $font-base;
-			}
+		.buttom {
+			color: $font-color;
+			font-size: $font-base;
 		}
 	}
+}
 
-	.list {
-		padding-left: 30rpx;
-		margin-top: 30rpx;
-		background-color: #ffffff;
+.list {
+	padding-left: 30rpx;
+	margin-top: 30rpx;
+	background-color: #ffffff;
 
-		.box {
-			display: flex;
-			align-items: center;
-			width: 100%;
-			height: 120rpx;
-			border-bottom: 1px solid $border-color-light;
+	.box {
+		display: flex;
+		align-items: center;
+		width: 100%;
+		height: 120rpx;
+		border-bottom: 1px solid $border-color-light;
 
-			.icon {
-				font-size: 48rpx;
-				padding-right: 20rpx;
-			}
+		.icon {
+			font-size: 48rpx;
+			padding-right: 20rpx;
+		}
 
-			.iconweixin1 {
-				color: #18bf16;
-			}
+		.iconweixin1 {
+			color: #18bf16;
+		}
 
-			.iconzhifubao {
-				color: #08aaec;
-			}
+		.iconzhifubao {
+			color: #08aaec;
+		}
 
-			.title-box {
-				flex-grow: 1;
-				text-align: left;
+		.title-box {
+			flex-grow: 1;
+			text-align: left;
 
-				.title {
-					font-size: $font-base + 2rpx;
-					color: $font-color-base;
-				}
+			.title {
+				font-size: $font-base + 2rpx;
+				color: $font-color-base;
+			}
 
-				.node {
-					font-size: $font-sm;
-					color: $font-color-light;
-				}
+			.node {
+				font-size: $font-sm;
+				color: $font-color-light;
 			}
 		}
 	}
-
-	/deep/ .uni-radio-input {
-		width: 45rpx;
-		height: 45rpx;
+}
+
+/deep/ .uni-radio-input {
+	width: 45rpx;
+	height: 45rpx;
+}
+
+.active-bg {
+	background-color: $color-gray !important;
+}
+
+.now {
+	width: 100%;
+	height: 86rpx;
+	padding: 0 26rpx 0 47rpx;
+	display: flex;
+	justify-content: space-between;
+	line-height: 86rpx;
+	background-color: #fff;
+	// margin-bottom: 21rpx;
+
+	view {
+		font-size: 28rpx;
+		font-weight: 500;
+		color: #333333;
 	}
 
-	.active-bg {
-		background-color: $color-gray !important;
+	.now-money {
+		font-size: 32rpx;
+		font-weight: bold;
+		color: #e1262b;
 	}
+}
+
+.add-wrapper {
+	width: 750rpx;
+	height: 338rpx;
+	padding-left: 30rpx;
+	background: #ffffff;
+	display: flex;
+	flex-direction: column;
+	align-items: center;
 
-	.now {
+	// margin-bottom: 22rpx;
+	.add-box {
 		width: 100%;
-		height: 86rpx;
-		padding: 0 26rpx 0 47rpx;
+		height: 103rpx;
 		display: flex;
+		flex-direction: row;
 		justify-content: space-between;
-		line-height: 86rpx;
-		background-color: #fff;
-		// margin-bottom: 21rpx;
+		padding: 0 39rpx 0 10rpx;
+		align-items: center;
 
-		view {
-			font-size: 28rpx;
-			font-weight: 500;
-			color: #333333;
+		.add-log {
+			font-size: 37rpx;
+			font-weight: bold;
 		}
 
-		.now-money {
+		input {
+			width: 218rpx;
+			height: 30rpx;
 			font-size: 32rpx;
-			font-weight: bold;
-			color: #e1262b;
+			font-weight: 500;
+			color: #000;
+			line-height: 40px;
+			text-align: right;
+
+			.place {
+				color: #bfbfbf;
+			}
 		}
 	}
 
-	.add-wrapper {
-		width: 750rpx;
-		height: 338rpx;
-		padding-left: 30rpx;
-		background: #ffffff;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-	
-	// margin-bottom: 22rpx;
-		.add-box {
-			width: 100%;
-			height: 103rpx;
-			display: flex;
-			flex-direction: row;
-			justify-content: space-between;
-			padding: 0 39rpx 0 10rpx;
-			align-items: center;
-
-			.add-log {
-				font-size: 37rpx;
-				font-weight: bold;
-			}
+	.jg {
+		width: 100%;
+	}
 
-			input {
-				width: 218rpx;
-				height: 30rpx;
+	.add-tags {
+		height: 234rpx;
+		padding-top: 47rpx;
+		padding-bottom: 17rpx;
+		display: flex;
+		flex-direction: row;
+		flex-wrap: wrap;
+
+		// justify-content: space-between;
+		.tag {
+			width: 210rpx;
+			height: 70rpx;
+			background-color: #f0f0f0;
+			border-radius: 4rpx;
+			margin: 0 30rpx 30rpx 0;
+			text-align: center;
+			line-height: 70rpx;
+			font-size: 22rpx;
+
+			text {
 				font-size: 32rpx;
 				font-weight: 500;
-				color: #000;
-				line-height: 40px;
-				text-align: right;
-
-				.place {
-					color: #bfbfbf;
-				}
 			}
 		}
 
-		.jg {
-			width: 100%;
-		}
-
-		.add-tags {
-			height: 234rpx;
-			padding-top: 47rpx;
-			padding-bottom: 17rpx;
-			display: flex;
-			flex-direction: row;
-			flex-wrap: wrap;
-
-			// justify-content: space-between;
-			.tag {
-				width: 210rpx;
-				height: 70rpx;
-				background-color: #f0f0f0;
-				border-radius: 4rpx;
-				margin: 0 30rpx 30rpx 0;
-				text-align: center;
-				line-height: 70rpx;
-				font-size: 22rpx;
-
-				text {
-					font-size: 32rpx;
-					font-weight: 500;
-				}
-			}
-
-			.action {
-				color: #fff;
-				background-color: #e1262b;
-			}
+		.action {
+			color: #fff;
+			background-color: #e1262b;
 		}
 	}
-
-	.btn-wrapper {
-		padding: 49rpx 32rpx 0 40rpx;
-		height: 183rpx;
+}
+
+.btn-wrapper {
+	padding: 49rpx 32rpx 0 40rpx;
+	height: 183rpx;
+	display: flex;
+	justify-content: space-between;
+	background-color: #fff;
+
+	.iconweixin1 {
+		color: #18bf16;
+		font-size: 48rpx;
 		display: flex;
-		justify-content: space-between;
-		background-color: #fff;
 
-		.iconweixin1 {
-			color: #18bf16;
-			font-size: 48rpx;
-			display: flex;
-
-			view {
-				// display: inline-block;
-				height: 48rpx;
-				text-align: 48rpx;
-				padding-left: 20rpx;
-				// padding-top: 10rpx;
-				color: #000000;
-				font-size: 30rpx;
-			}
+		view {
+			// display: inline-block;
+			height: 48rpx;
+			text-align: 48rpx;
+			padding-left: 20rpx;
+			// padding-top: 10rpx;
+			color: #000000;
+			font-size: 30rpx;
 		}
+	}
 
-		.btn {
-			width: 36rpx;
-			height: 36rpx;
-			border: 4rpx #e1262b solid;
-			border-radius: 8rpx 8rpx;
-
-			image {
-				// display: none;
-				width: 100%;
-				height: 100%;
-			}
+	.btn {
+		width: 36rpx;
+		height: 36rpx;
+		border: 4rpx #e1262b solid;
+		border-radius: 8rpx 8rpx;
 
-			.action {
-				display: none;
-			}
+		image {
+			// display: none;
+			width: 100%;
+			height: 100%;
 		}
 
-		.actiont {
-			border: none;
+		.action {
+			display: none;
 		}
 	}
 
-	.main-jg {
-		width: 100%;
-		height: 21rpx;
-		background-color: #f8f6f6;
+	.actiont {
+		border: none;
 	}
+}
+
+.main-jg {
+	width: 100%;
+	height: 21rpx;
+	background-color: #f8f6f6;
+}
 </style>

+ 23 - 9
pages/money/wallet.vue

@@ -4,7 +4,7 @@
 			<view class="flex">
 				<view class="buttom">
 					<view class="icon">{{ userInfo.anticipate | getMoneyStyle }}</view>
-					<text class="text">可用预约券</text>
+					<text class="text">可用易趣卷</text>
 				</view>
 			</view>
 		</view>
@@ -12,6 +12,10 @@
 			<view class="title">收款人id</view>
 			<view class="row"><input class="input" type="number" v-model="card" placeholder="请输入收款人id" placeholder-class="placeholder" /></view>
 		</view>
+		<view class="row-box">
+			<view class="title">交易密码</view>
+			<view class="row"><input class="input" type="password" v-model="password" placeholder="请输入交易密码" placeholder-class="placeholder" /></view>
+		</view>
 		<view class="row-box">
 			<view class="title">转账金额</view>
 			<view class="row">
@@ -21,13 +25,13 @@
 			</view>
 		</view>
 
-		<button class="add-btn up" :class="{ action: loding }" @click="!loding ? confirm() : ''">提交申请</button>
+		<button class="add-btn up" :class="{ action: loding }" @click="!loding ? confirm() : ''">提交</button>
 	</view>
 </template>
 
 <script>
 import { getMoneyStyle } from '@/utils/rocessor.js';
-import { getUserInfo,transfer_accounts  } from '@/api/user.js';
+import { getUserInfo, transfer_accounts } from '@/api/user.js';
 import { mapMutations, mapState } from 'vuex';
 export default {
 	filters: {
@@ -83,24 +87,34 @@ export default {
 		confirm() {
 			let obj = this;
 			obj.loding = true;
-			if (obj.withdrawal == 0) {
+			if (obj.withdrawal < 10) {
 				obj.loding = false;
 				uni.showModal({
 					title: '提示',
-					content: '转账金额不要为0'
+					content: '转账金额最低为10'
 				});
 				return;
 			}
-			if (obj.card == obj.userInfo.phone) {
+			if (obj.password == '') {
 				obj.loding = false;
 				uni.showModal({
 					title: '提示',
-					content: '不要输入自己的用户账号'
+					content: '请输入交易密码'
 				});
+				return;
+			}
+			if (obj.withdrawal % 10 != 0) {
+				obj.loding = false;
+				uni.showModal({
+					title: '提示',
+					content: '转账金额请输入10的倍数'
+				});
+				return;
 			} else {
 				let data = {
 					uid: obj.card, //编号
-					anticipate: obj.withdrawal //金额
+					anticipate: obj.withdrawal, //金额
+					payment: obj.password
 				};
 				transfer_accounts(data)
 					.then(e => {
@@ -109,7 +123,7 @@ export default {
 						// 初始化提现金额
 						obj.withdrawal = '';
 						uni.showToast({
-							title: '提交成功',
+							title: '转账成功',
 							duration: 2000,
 							position: 'top'
 						});

+ 62 - 41
pages/order/hallorderDetail.vue

@@ -17,7 +17,7 @@
 			<text class="tit">订单总价</text>
 			<view class="input">¥{{ item.price }}</view>
 		</view>
-	
+
 		<view class="orderDetialBox">
 			<view class="f-header m-t">
 				<view class="f-left-icon"></view>
@@ -76,7 +76,14 @@
 						</view>
 					</view>
 				</view>
-				<swiper class="swiper-box" :duration="500" @change="changeTab" :style="{ height: tabCurrentIndex == 2 ? '450rpx' : '280rpx' }" :current="tabCurrentIndex" disable-touch>
+				<swiper
+					class="swiper-box"
+					:duration="500"
+					@change="changeTab"
+					:style="{ height: tabCurrentIndex == 2 ? '450rpx' : tabCurrentIndex == 1 ? '340rpx' : '280rpx' }"
+					:current="tabCurrentIndex"
+					disable-touch
+				>
 					<swiper-item class="tab-content" v-if="zfb != ''">
 						<view class="tc-item flex">
 							<view class="tcitem-name">账号</view>
@@ -101,11 +108,11 @@
 							<view class="ali-name">{{ bank.bank }}</view>
 							<image class="tcitem-image" src="../../static/img/copy.png" mode="" @click="copy(bank.bank)"></image>
 						</view>
-						<!-- <view class="tc-item flex">
-							<view class="tcitem-name">开户行</view>
-							<view class="ali-name">椒江支行</view>
-							<image class="tcitem-image" src="../../static/img/copy.png" mode=""></image>
-						</view> -->
+						<view class="tc-item flex">
+							<view class="tcitem-name">行</view>
+							<view class="ali-name">{{ bank.bank_name }}</view>
+							<image @click="copy(bank.bank_name)" class="tcitem-image" src="../../static/img/copy.png" mode=""></image>
+						</view>
 						<view class="tc-item flex">
 							<view class="tcitem-name">账号</view>
 							<view class="ali-name">{{ bank.payment }}</view>
@@ -133,46 +140,47 @@
 				</swiper>
 			</view>
 			<view class="zf flex">
-				<view class="title-left">
-					<text class="title">支付凭证(点击右边图片查看大图):</text>
-				</view>
+				<view class="title-left"><text class="title">支付凭证(点击右边图片查看大图):</text></view>
 				<image class="zfpz" @click="lookimg(item.upload_image)" :src="item.upload_image" mode=""></image>
 			</view>
 		</view>
-	
-		<view class="btHeight">
-			
-		</view>
+
+		<view class="btHeight"></view>
 	</view>
 </template>
 
 <script>
 import { user_auction_order } from '@/api/order.js';
+import uniCopy from '@/components/js_sdk/xb-copy/uni-copy.js';
 export default {
 	data() {
 		return {
-			id:'',
+			id: '',
 			item: '',
 			tabCurrentIndex: 0,
 			info: '',
 			bank: '',
 			wx: '',
-			zfb: '',
-		}
+			zfb: ''
+		};
 	},
 	onLoad(opt) {
-		this.id = opt.id
-		this.loadData()
+		this.id = opt.id;
+		this.loadData();
 	},
 	methods: {
 		loadData() {
-			user_auction_order({order_id: this.id}).then(({data}) =>{
+			uni.showLoading({
+				title: '加载中'
+			});
+			user_auction_order({ order_id: this.id }).then(({ data }) => {
 				console.log(data);
 				this.item = data;
 				this.bank = data.bank;
 				this.wx = data.wx;
 				this.zfb = data.zfb;
-			})
+				uni.hideLoading();
+			});
 		},
 		// 查看大图
 		lookimg(src) {
@@ -183,6 +191,23 @@ export default {
 				urls: arr
 			});
 		},
+		copy(value) {
+			let obj = this;
+			let content = value; //需要复制的内容
+			console.log('复制的内容:', content);
+			// content = typeof content === 'string' ? content : content.toString(); // 复制内容,必须字符串,数字需要转换为字符串
+			const result = uniCopy(content);
+			if (result === false) {
+				uni.showToast({
+					title: '不支持'
+				});
+			} else {
+				uni.showToast({
+					title: '复制成功',
+					icon: 'none'
+				});
+			}
+		},
 		//swiper 切换
 		changeTab(e) {
 			this.tabCurrentIndex = e.target.current;
@@ -230,7 +255,7 @@ export default {
 			// #endif
 		}
 	}
-}
+};
 </script>
 
 <style lang="scss">
@@ -356,26 +381,24 @@ page {
 				font-size: $font-sm + 2rpx;
 				color: $font-color-light;
 			}
-			.evaluate{
-					color:#FFFFFF;
-					font-size: 24rpx;
-					display: inline-block;
-					text-align: right;
-					text{
-						background:#FA2740;
-						padding: 5rpx 15rpx;
-						
-					}
+			.evaluate {
+				color: #ffffff;
+				font-size: 24rpx;
+				display: inline-block;
+				text-align: right;
+				text {
+					background: #fa2740;
+					padding: 5rpx 15rpx;
+				}
 			}
-			.yesevaluate{
-				color:#333333;
+			.yesevaluate {
+				color: #333333;
 				font-size: 24rpx;
 				display: inline-block;
 				text-align: right;
-				text{
+				text {
 					border: 2rpx solid #333333;
 					padding: 5rpx 15rpx;
-					
 				}
 			}
 			.price {
@@ -406,8 +429,8 @@ page {
 	}
 }
 // 共有底部高度
-$btHeight:100rpx;
-.btHeight{
+$btHeight: 100rpx;
+.btHeight {
 	height: $btHeight;
 }
 // 拼团按钮
@@ -415,7 +438,7 @@ $btHeight:100rpx;
 	position: fixed;
 	bottom: 0;
 	left: 0;
-	height:$btHeight;
+	height: $btHeight;
 	width: 100%;
 	justify-content: flex-end;
 	padding-right: 30rpx;
@@ -500,6 +523,4 @@ $btHeight:100rpx;
 		}
 	}
 }
-
 </style>
-

+ 116 - 114
pages/order/order.vue

@@ -53,13 +53,16 @@
 							<text class="price">{{ moneyNum(item.price) }}</text>
 						</view>
 						<view class="action-box b-t" v-if="item.stateTip == '待支付'"><button @click.stop="pay(item)" class="action-btn recom">立即支付</button></view>
-						<view class="action-box b-t" v-if="item.stateTip == '待挂售'"><button @click.stop="gsell(item)" class="action-btn recom">{{item.frozen == 0? "立即挂售" : "冻结中"}}</button></view>
+						<view class="action-box b-t" v-if="item.stateTip == '待审核'"><button @click.stop="pay(item)" class="action-btn recom">修改凭证</button></view>
+						<view class="action-box b-t" v-if="item.stateTip == '待挂售' && tabItem.state != 0">
+							<button @click.stop="gsell(item)" class="action-btn recom">{{ item.frozen == 0 ? '立即挂售' : '冻结中' }}</button>
+						</view>
 					</view>
 
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
 				</scroll-view>
 			</swiper-item>
-			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList1" :key="tabIndex" v-if="currentIndex == 1">
+			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList1" :key="tabIndex" v-if="currentIndex == 1" @click="goToOrderDetail(item)">
 				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
 					<!-- 空白页 -->
 					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
@@ -77,12 +80,18 @@
 									<text class="title clamp">{{ item.name }}</text>
 									<text class="price">{{ item.price | moneyNum }}</text>
 								</view>
-								<view class="row flex"><text class="attr-box">x1</text></view>
+								<view class="row flex" v-if="!item.status && item.status != 0">
+									<text class="attr-box">售卖时间:{{ item.gs_time }}</text>
+								</view>
+								<view class="row flex" v-if="!item.status && item.status != 0">
+									<text class="attr-box">来源:{{ item.nickname }}</text>
+								</view>
+								<view class="row flex" v-else><text class="attr-box">x1</text></view>
 							</view>
 						</view>
 
 						<view class="buy-box">
-							<view class="buy-info" v-if="item.status != 0 && item.status">
+							<view class="buy-info" v-if="item.tabItem != 0 && item.status">
 								<view class="font">买家:</view>
 								<image class="avter" :src="item.avatar" mode=""></image>
 								<view class="buy-name">{{ item.nickname }}</view>
@@ -102,18 +111,15 @@
 							<view class="img-wrap" v-if="item.upload_image" @click="lookimg(item.upload_image)"><image :src="item.upload_image" mode=""></image></view>
 							<view class="" style="color: #0F253A;font-weight: bold;font-size: 26rpx;" v-else>买家未上传支付凭证</view>
 						</view>
-						<view class="action-box b-t" v-if="item.status == 1"><button @click.stop="orderPay(item)" class="action-btn recom">联系买家</button></view>
+						<view class="action-box b-t" v-if="item.status == 1"><button @click.stop="call(item)" class="action-btn recom">联系买家</button></view>
 						<view class="action-box b-t" v-if="item.status == 2">
-							<!-- <button @click.stop="orderPay(item)" class="refuse recom">拒绝</button> -->
+							<button @click.stop="appeal(item)" class="action-btn recom">{{ item.appeal == 0 ? '申诉' : '取消申诉' }}</button>
 							<button @click.stop="orderPay(item)" class="action-btn recom">通过</button>
 						</view>
-						<view class="action-box b-t" v-if="!item.status && item.status !=0">
+						<view class="action-box b-t" v-if="!item.status && item.status != 0">
 							<!-- <button @click.stop="orderPay(item)" class="refuse recom">拒绝</button> -->
 							<button @click.stop="cancel(item)" class="action-btn recom">取消挂售</button>
 						</view>
-						<view class="action-box b-t" v-if="item.status == 3">
-							<button @click.stop="appeal(item)" class="action-btn recom">{{ item.appeal == 0 ? '申诉' : '取消申诉'}}</button>
-						</view>
 					</view>
 
 					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
@@ -136,7 +142,7 @@ export default {
 	},
 	data() {
 		return {
-			loading: false,//判断是否在点击
+			loading: false, //判断是否在点击
 			height: '', //第一层swiper高度
 			tabbar: tabbar,
 			current: 1, //底部tabar选中的icon对象
@@ -154,7 +160,7 @@ export default {
 			navList: [
 				{
 					state: 0,
-					text: '已过期',
+					text: '全部',
 					loadingType: 'more',
 					orderList: [],
 					isnew: 1, //判断是否有新的订单
@@ -187,21 +193,12 @@ export default {
 					isnew: 1, //判断是否有新的订单
 					page: 1, //当前页数
 					limit: 10 //每次信息条数
-				},
-				{
-					state: 3,
-					text: '已完成',
-					loadingType: 'more',
-					orderList: [],
-					isnew: 1, //判断是否有新的订单
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
 				}
 			],
 			navList1: [
 				{
 					state: 0,
-					text: '已过期',
+					text: '全部',
 					loadingType: 'more',
 					orderList: [],
 					isnew: 1, //判断是否有新的订单
@@ -234,15 +231,6 @@ export default {
 					isnew: 1, //判断是否有新的订单
 					page: 1, //当前页数
 					limit: 10 //每次信息条数
-				},
-				{
-					state: 3,
-					text: '已完成',
-					loadingType: 'more',
-					orderList: [],
-					isnew: 1, //判断是否有新的订单
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
 				}
 			]
 		};
@@ -315,7 +303,7 @@ export default {
 		navGo(index) {
 			this.currentIndex = index;
 			console.log(this.currentIndex, '点击');
-			this.upData()
+			this.upData();
 			this.loadData('reload');
 		},
 		// 转换金额为数字
@@ -325,7 +313,7 @@ export default {
 		// 订单支付
 		pay(item) {
 			uni.navigateTo({
-				url: '/pages/hall/hallpay?ordid=' + item.order_id
+				url: '/pages/hall/hallpay?ordid=' + item.order_id + '&type=2'
 			});
 		},
 		// 更新
@@ -344,6 +332,12 @@ export default {
 				if (data.user.paid == 0) {
 					this.navList[1].isnew = 1;
 				}
+				if (data.user.reviewed != 0) {
+					this.navList[2].isnew = 2;
+				}
+				if (data.user.reviewed == 0) {
+					this.navList[2].isnew = 1;
+				}
 				if (data.seller.reviewed != 0) {
 					this.navList1[3].isnew = 2;
 				}
@@ -363,81 +357,109 @@ export default {
 		},
 		//申诉和取消申诉
 		appeal(item) {
-			if(this.loading) {
-				return
+			const obj = this;
+			if (this.loading) {
+				return;
 			}
-			this.loading = true
-			if(item.appeal == 0) {
-				uni.showLoading({
-					title: '申诉中'
+			this.loading = true;
+			if (item.appeal == 0) {
+				uni.showModal({
+					title: '提示',
+					content: '提交申诉后会导致画被冻结,是否继续提交申诉',
+					success: function(res) {
+						if (res.confirm) {
+							uni.showLoading({
+								title: '申诉中'
+							});
+							plead({ order_id: item.order_id }).then(e => {
+								uni.hideLoading();
+								obj.$api.msg('申诉成功');
+								obj.loadData('reload');
+								obj.loading = false;
+							});
+						} else if (res.cancel) {
+							console.log('用户点击取消');
+						}
+					}
 				});
-				plead({order_id:item.order_id }).then(e =>{
-					uni.hideLoading()
-					this.$api.msg('申诉成功')
-					this.loadData('reload');
-					this.loading = false
-				})
-			}else {
-				uni.showLoading({
-					title: '取消申诉中'
+			} else {
+				uni.showModal({
+					title: '提示',
+					content: '提交撤销申诉后会导致画被解冻,是否继续提交取消申诉',
+					success: function(res) {
+						if (res.confirm) {
+							uni.showLoading({
+								title: '取消申诉中'
+							});
+							revoke({ order_id: item.order_id }).then(e => {
+								uni.hideLoading();
+								obj.$api.msg('取消申诉成功');
+								obj.loadData('reload');
+								obj.loading = false;
+							});
+						} else if (res.cancel) {
+							console.log('用户点击取消');
+						}
+					}
 				});
-				revoke({order_id:item.order_id }).then(e =>{
-					uni.hideLoading()
-					this.$api.msg('取消申诉成功')
-					this.loadData('reload');
-					this.loading = false
-				})
 			}
 		},
 		//跳转到订单详情
 		goToOrderDetail(e) {
-			if (e.stateTip != '已完成') {
-				return;
-			}
 			console.log(11);
 			uni.navigateTo({
 				url: '/pages/order/hallorderDetail?id=' + e.order_id
 			});
 		},
 		gsell(item) {
-			if(item.frozen){
-				return this.$api.msg('已冻结,请联系客服或与卖家协商')
-			}else {
+			if (item.frozen) {
+				return this.$api.msg('已冻结,请联系客服或与卖家协商');
+			} else {
 				uni.navigateTo({
 					url: '/pages/hall/gsell?id=' + item.product_id
 				});
 			}
-			
 		},
 		//卖家确认订单
 		orderPay(e) {
-			if(this.loading) {
-				return
+			const obj = this;
+			if (this.loading) {
+				return;
 			}
-			uni.showLoading({
-				title: '确认订单中'
-			});
-			this.loading = true
-			adopt({ order_id: e.order_id }).then(({ data }) => {
-				console.log('1111');
-				uni.hideLoading()
-				this.loading = false
-				this.loadData('reload');
-				this.upData();
+			uni.showModal({
+				title: '提示',
+				content: '通过后画将进入买家账户,是否核实完成后继续通过',
+				success: function(res) {
+					if (res.confirm) {
+						uni.showLoading({
+							title: '确认订单中'
+						});
+						this.loading = true;
+						adopt({ order_id: e.order_id }).then(({ data }) => {
+							console.log('1111');
+							uni.hideLoading();
+							obj.loading = false;
+							obj.loadData('reload');
+							obj.upData();
+						});
+					} else if (res.cancel) {
+						console.log('用户点击取消');
+					}
+				}
 			});
 		},
 		//取消挂售
 		cancel(e) {
-			if(this.loading) {
-				return
+			if (this.loading) {
+				return;
 			}
-			this.loading = true
+			this.loading = true;
 			uni.showLoading({
 				title: '取消挂售中'
 			});
 			cancel({ id: e.id }).then(({ data }) => {
-				uni.hideLoading()
-				this.loading = false
+				uni.hideLoading();
+				this.loading = false;
 				this.loadData('reload');
 				this.upData();
 			});
@@ -484,14 +506,19 @@ export default {
 				})
 					.then(({ data }) => {
 						let arr = data.map(e => {
-							console.log(state == 4);
+							console.log(e);
 							if (state == 4) {
 								e.stateTip = '待挂售';
 								e.stateTipColor = '#fa436a';
 							} else {
-								let b = this.orderStateExp(e.status);
-								e.stateTip = b.stateTip;
-								e.stateTipColor = b.stateTipColor;
+								if (e.status == 3 && e.is_gs == 0) {
+									e.stateTip = '待挂售';
+									e.stateTipColor = '#fa436a';
+								} else {
+									let b = this.orderStateExp(e.status);
+									e.stateTip = b.stateTip;
+									e.stateTipColor = b.stateTipColor;
+								}
 							}
 							return e;
 						});
@@ -576,35 +603,10 @@ export default {
 			}, 600);
 		},
 		//取消订单
-		cancelOrder(item) {
-			uni.showModal({
-				title: '订单取消',
-				content: '是否取消订单?',
-				success: e => {
-					if (e.confirm) {
-						uni.showLoading({
-							title: '请稍后'
-						});
-						orderCancel({
-							id: item.order_id
-						})
-							.then(e => {
-								uni.showToast({
-									title: '取消成功',
-									duration: 2000,
-									position: 'top'
-								});
-							})
-							.catch(e => {
-								console.log(e);
-							});
-						//取消订单后删除待付款中该项
-						let list = this.navList[this.tabCurrentIndex].orderList;
-						let index = list.findIndex(val => val.id === item.id);
-						index !== -1 && list.splice(index, 1);
-						uni.hideLoading();
-					}
-				}
+		call(item) {
+			console.log(item.phone);
+			uni.makePhoneCall({
+				phoneNumber: item.phone //仅为示例
 			});
 		},
 
@@ -625,7 +627,7 @@ export default {
 				case 3:
 					stateTip = '已完成';
 					break;
-				case 4:
+				case undefined:
 					stateTip = '待挂售';
 					break;
 				case 9:
@@ -766,8 +768,8 @@ page,
 			position: absolute;
 			top: 20rpx;
 			right: 10rpx;
-			width: 8rpx;
-			height: 8rpx;
+			width: 12rpx;
+			height: 12rpx;
 			border-radius: 50%;
 			background-color: $base-color;
 		}

+ 19 - 12
pages/order/order1.vue

@@ -40,7 +40,7 @@
 								</view>
 								<view class="row flex">
 									<text class="row_title">{{ goodsItem.productInfo.attrInfo ? goodsItem.productInfo.attrInfo.suk : '' }}</text>
-									<text class="attr-box"> x {{ goodsItem.cart_num }}</text>
+									<text class="attr-box">x {{ goodsItem.cart_num }}</text>
 								</view>
 							</view>
 						</view>
@@ -49,10 +49,10 @@
 							<text class="num">{{ item.cartInfo.length }}</text>
 							件商品 邮费
-							<text class="price">{{ moneyNum(item.pay_postage)}}</text>
+							<text class="price">{{ moneyNum(item.pay_postage) }}</text>
 							实付款
-							<text class="price" v-if="item.use_integral != 0">{{ moneyNum(item.pay_price)}}+{{item.use_integral}}趣豆</text>
-							<text class="price" v-if="item.use_integral == 0">{{ moneyNum(item.pay_price)}}</text>
+							<text class="price" v-if="item.use_integral != 0">{{ moneyNum(item.pay_price) }}+{{ item.use_integral }}趣豆</text>
+							<text class="price" v-if="item.use_integral == 0">{{ moneyNum(item.pay_price) }}</text>
 						</view>
 						<view class="action-box b-t" v-if="item.status != 5">
 							<button v-if="item._status._title == '未支付'" class="action-btn" @click.stop="cancelOrder(item)">取消订单</button>
@@ -122,6 +122,14 @@ export default {
 					orderList: [],
 					page: 1, //当前页数
 					limit: 10 //每次信息条数
+				},
+				{
+					state: -3,
+					text: '售后',
+					loadingType: 'more',
+					orderList: [],
+					page: 1, //当前页数
+					limit: 10 //每次信息条数
 				}
 			]
 		};
@@ -143,17 +151,17 @@ export default {
 		// #endif
 	},
 	// #ifdef APP-PLUS || H5
-	onBackPress(e){
+	onBackPress(e) {
 		uni.switchTab({
-			url: '/pages/user/user',
+			url: '/pages/user/user'
 		});
 		return true;
 	},
 	// #endif
 	methods: {
 		// 转换金额为数字
-		moneyNum(value){
-				return +value;
+		moneyNum(value) {
+			return +value;
 		},
 		// 确认收货
 		orderTake(item, index) {
@@ -449,11 +457,11 @@ page,
 			flex-direction: column;
 			padding: 0 30rpx 0 24rpx;
 			overflow: hidden;
-			.row{
+			.row {
 				margin-top: 10rpx;
 			}
-			.row_title{
-				padding:5rpx 10rpx;
+			.row_title {
+				padding: 5rpx 10rpx;
 				background-color: #dddddd;
 				border-radius: 10rpx;
 				font-size: 22rpx;
@@ -478,7 +486,6 @@ page,
 				&:before {
 					content: '¥';
 					font-size: $font-sm;
-					
 				}
 			}
 		}

+ 223 - 226
pages/product/classify.vue

@@ -3,9 +3,7 @@
 		<empty v-if="loaded === true && list.length === 0"></empty>
 		<view class="hotgoods">
 			<view class="hotgoods-item" v-for="item in list" :key="item.id" @click="navToDetailPage(item)">
-				<view class="image-wrapper">
-					<image :src="item.image" mode="scaleToFill"></image>
-				</view>
+				<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="hot-price">
 					<view class="price">
@@ -20,281 +18,280 @@
 </template>
 
 <script>
-	import empty from '@/components/empty';
-	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-	import {
-		groomList
-	} from '@/api/product.js';
-	export default {
-		data() {
-			return {
-				list: [],
-				bannerImg: [],
-				type: 1, //1->置换
-				loadingType: 'more',
-				loaded:false,
-				page: 1,
-				limit:20
-			};
-		},
-		components: {
-			uniLoadMore,
-			empty
-		},
-		onReachBottom() {
-			this.loadData();
+import empty from '@/components/empty';
+import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+import { groomList } from '@/api/product.js';
+export default {
+	data() {
+		return {
+			list: [],
+			bannerImg: [],
+			type: 1, //1->置换
+			loadingType: 'more',
+			loaded: false,
+			page: 1,
+			limit: 20
+		};
+	},
+	components: {
+		uniLoadMore,
+		empty
+	},
+	onReachBottom() {
+		this.loadData();
+	},
+	onLoad(option) {
+		// 获取查询对象
+		if (option.type) {
+			this.type = option.type;
+			uni.setNavigationBarTitle({
+				title: option.type == 1 ? '医斯佳专区' : option.type == 4 ? '随意嗨购' : option.type == 3 ? 'CBB专区' : '置换'
+			});
+		}
+		// 加载基础数据
+		this.loadData();
+	},
+	methods: {
+		navTo: function(ls) {
+			uni.navigateTo({
+				url: '/pages/product/product?id=' + ls.id
+			});
 		},
-		onLoad(option) {
-			// 获取查询对象
-			if (option.type) {
-				this.type = option.type;
-				uni.setNavigationBarTitle({
-					title: option.type == 1? '置换': (option.type == 4? '随意嗨购':(option.type == 3? '大牌专区': ''))
-				})
+		// 请求载入数据
+		async loadData() {
+			let obj = this;
+			if (obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
+				return;
 			}
-			// 加载基础数据
-			this.loadData();
+			obj.loadingType = 'loading';
+			groomList(
+				{
+					page: obj.page,
+					limit: obj.limit
+				},
+				this.type
+			)
+				.then(({ data }) => {
+					// 保存轮播图
+					obj.bannerImg = data.banner;
+					// 保存商品信息
+					obj.list = this.list.concat(data.list);
+					obj.loaded = true;
+					obj.page++;
+					if (obj.limit == data.list.length) {
+						obj.loadingType = 'more';
+					} else {
+						obj.loadingType = 'noMore';
+					}
+				})
+				.catch(e => {
+					console.log(e);
+				});
 		},
-		methods: {
-			navTo: function(ls) {
+		// 轮播图跳转
+		bannerNavToUrl(item) {
+			// #ifdef H5
+			if (item.wap_link.indexOf('http') > 0) {
+				window.location.href = item.wap_link;
+			}
+			// #endif
+			if (item.wap_link) {
 				uni.navigateTo({
-					url: '/pages/product/product?id=' + ls.id
+					url: item.wap_link
 				});
-			},
-			// 请求载入数据
-			async loadData() {
-				let obj = this
-				if(obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
-					return
-				}
-				obj.loadingType = 'loading'
-				groomList({
-					page: obj.page,
-					limit:obj.limit
-				}, this.type)
-					.then(({
-						data
-					}) => {
-						// 保存轮播图
-						obj.bannerImg = data.banner;
-						// 保存商品信息
-						obj.list = this.list.concat(data.list)
-						obj.loaded = true
-						obj.page++
-						if(obj.limit == data.list.length) {
-							obj.loadingType = 'more'
-						}else {
-							obj.loadingType = 'noMore'
-						}
-					})
-					.catch(e => {
-						console.log(e);
-					});
-			},
-			// 轮播图跳转
-			bannerNavToUrl(item) {
-				// #ifdef H5
-				if (item.wap_link.indexOf('http') > 0) {
-					window.location.href = item.wap_link;
-				}
-				// #endif
-				if (item.wap_link) {
-					uni.navigateTo({
-						url: item.wap_link
-					});
-				}
-			},
-			navToDetailPage(e) {
-				uni.navigateTo({
-					url: '/pages/product/product?id=' + e.id
-				})
 			}
+		},
+		navToDetailPage(e) {
+			uni.navigateTo({
+				url: '/pages/product/product?id=' + e.id
+			});
 		}
-	};
+	}
+};
 </script>
 
 <style lang="scss">
-	page {
-		background: $page-color-base;
+page {
+	background: $page-color-base;
+}
+
+.carousel-section {
+	padding: 0;
+
+	.titleNview-placing {
+		padding-top: 0;
+		height: 0;
 	}
 
-	.carousel-section {
-		padding: 0;
+	.swiper-dots {
+		left: 45rpx;
+		bottom: 40rpx;
+	}
 
-		.titleNview-placing {
-			padding-top: 0;
-			height: 0;
-		}
+	.carousel {
+		width: 100%;
+		height: 360rpx;
 
-		.swiper-dots {
-			left: 45rpx;
-			bottom: 40rpx;
+		.carousel-item {
+			width: 100%;
+			height: 100%;
+			overflow: hidden;
 		}
 
-		.carousel {
+		image {
 			width: 100%;
-			height: 360rpx;
+			height: 100%;
+		}
+	}
+}
 
-			.carousel-item {
-				width: 100%;
-				height: 100%;
-				overflow: hidden;
-			}
+// 中间标题样式
+.type-title-box {
+	padding: 40rpx;
 
-			image {
-				width: 100%;
-				height: 100%;
-			}
-		}
+	.title-content {
+		height: 100%;
+		width: 200rpx;
+		text-align: center;
+		font-size: $font-lg;
+		font-weight: 500;
+		color: $font-color-dark;
 	}
 
-	// 中间标题样式
-	.type-title-box {
-		padding: 40rpx;
+	.title-border {
+		width: 250rpx;
+		height: 2rpx;
+		background-color: #e9e9e9;
+	}
+}
 
-		.title-content {
-			height: 100%;
-			width: 200rpx;
-			text-align: center;
-			font-size: $font-lg;
-			font-weight: 500;
-			color: $font-color-dark;
-		}
+// 商品列表
+.goodsList-box {
+	.goodsList-item {
+		margin-bottom: 40rpx;
+		background-color: #ffffff;
+		padding: 30rpx;
 
-		.title-border {
-			width: 250rpx;
-			height: 2rpx;
-			background-color: #e9e9e9;
+		image {
+			flex-shrink: 0;
+			border-radius: $border-radius-sm;
+			height: 180rpx;
+			width: 180rpx;
 		}
-	}
 
-	// 商品列表
-	.goodsList-box {
-		.goodsList-item {
-			margin-bottom: 40rpx;
-			background-color: #ffffff;
-			padding: 30rpx;
+		.goodsList-content {
+			margin-left: 20rpx;
+			flex-grow: 1;
+			height: 180rpx;
+			position: relative;
 
-			image {
-				flex-shrink: 0;
-				border-radius: $border-radius-sm;
-				height: 180rpx;
-				width: 180rpx;
+			.title {
+				font-size: $font-base;
+				color: $font-color-dark;
+				font-weight: 500;
 			}
 
-			.goodsList-content {
-				margin-left: 20rpx;
-				flex-grow: 1;
-				height: 180rpx;
-				position: relative;
+			.goods-money {
+				position: absolute;
+				left: 0;
+				bottom: 0;
+				width: 100%;
 
-				.title {
-					font-size: $font-base;
-					color: $font-color-dark;
-					font-weight: 500;
-				}
+				.money-box {
+					.money {
+						font-size: $font-lg;
+						color: $color-red;
+						font-weight: bold;
+					}
 
-				.goods-money {
-					position: absolute;
-					left: 0;
-					bottom: 0;
-					width: 100%;
+					.otMoney-box {
+						font-size: $font-sm;
 
-					.money-box {
-						.money {
-							font-size: $font-lg;
-							color: $color-red;
-							font-weight: bold;
+						.otMoney {
+							color: $font-color-dark;
+							padding-right: 20rpx;
 						}
 
-						.otMoney-box {
-							font-size: $font-sm;
-
-							.otMoney {
-								color: $font-color-dark;
-								padding-right: 20rpx;
-							}
-
-							.sales {
-								color: $font-color-light;
-							}
+						.sales {
+							color: $font-color-light;
 						}
 					}
+				}
 
-					.cart {
-						border: 1px solid $color-red;
-						color: $color-red;
-						font-size: $font-base;
-						font-weight: bold;
-						border-radius: 99px;
-						width: 55rpx;
-						height: 55rpx;
-						display: flex;
-						justify-content: center;
-						align-items: center;
-					}
+				.cart {
+					border: 1px solid $color-red;
+					color: $color-red;
+					font-size: $font-base;
+					font-weight: bold;
+					border-radius: 99px;
+					width: 55rpx;
+					height: 55rpx;
+					display: flex;
+					justify-content: center;
+					align-items: center;
 				}
 			}
 		}
 	}
+}
 
-	.hotgoods {
-		margin-top: 38rpx;
-		width: 100%;
-		display: flex;
-		flex-wrap: wrap;
-		padding: 0 32rpx;
+.hotgoods {
+	margin-top: 38rpx;
+	width: 100%;
+	display: flex;
+	flex-wrap: wrap;
+	padding: 0 32rpx;
 
-		.hotgoods-item {
-			width: 48%;
-			background-color: #ffffff;
-			border-radius: 12rpx;
-			margin-bottom: 24rpx;
+	.hotgoods-item {
+		width: 48%;
+		background-color: #ffffff;
+		border-radius: 12rpx;
+		margin-bottom: 24rpx;
 
-			&:nth-child(2n + 1) {
-				margin-right: 24rpx;
-			}
+		&:nth-child(2n + 1) {
+			margin-right: 24rpx;
+		}
 
-			.image-wrapper {
-				width: 100%;
-				height: 330rpx;
-				// background: red;
-				border-radius: 3px;
-				overflow: hidden;
+		.image-wrapper {
+			width: 100%;
+			height: 330rpx;
+			// background: red;
+			border-radius: 3px;
+			overflow: hidden;
 
-				image {
-					width: 100%;
-					height: 100%;
-					opacity: 1;
-					border-radius: 12rpx 12rpx 0 0;
-				}
+			image {
+				width: 100%;
+				height: 100%;
+				opacity: 1;
+				border-radius: 12rpx 12rpx 0 0;
 			}
+		}
 
-			.title {
-				font-size: $font-base;
-				color: $font-color-dark;
-				font-weight: bold;
-				line-height: 80rpx;
-			}
+		.title {
+			font-size: $font-base;
+			color: $font-color-dark;
+			font-weight: bold;
+			line-height: 80rpx;
+		}
 
-			.hot-price {
-				display: flex;
-				justify-content: space-between;
-				padding: 0 16rpx 12rpx;
+		.hot-price {
+			display: flex;
+			justify-content: space-between;
+			padding: 0 16rpx 12rpx;
 
-				.price {
-					font-size: 36rpx;
-					font-weight: bold;
-					color: #FD3B39;
-				}
+			.price {
+				font-size: 36rpx;
+				font-weight: bold;
+				color: #fd3b39;
+			}
 
-				.cart-icon {
-					image {
-						width: 44rpx;
-						height: 44rpx;
-					}
+			.cart-icon {
+				image {
+					width: 44rpx;
+					height: 44rpx;
 				}
 			}
 		}
 	}
+}
 </style>

+ 10 - 10
pages/product/list.vue

@@ -62,7 +62,7 @@ export default {
 			filterIndex: 0, //查询类型
 			numberOrder: 0, //1 销量从低到高 2销量从高到低
 			limit: 6, //每次加载数据条数
-			page: 0, //当前页数
+			page: 1, //当前页数
 			cateId: 0, //已选三级分类id
 			priceOrder: 0, //1 价格从低到高 2价格从高到低
 			cateList: [], //分类列表
@@ -129,25 +129,25 @@ export default {
 			if (type === 'refresh') {
 				// 清空数组
 				obj.goodsList = [];
-				obj.page = 1
+				obj.page = 1;
 			}
 			if (this.filterIndex == 1) {
-				console.log( obj.salesOrder);
+				console.log(obj.salesOrder);
 				data.salesOrder = obj.numberOrder == 1 ? 'asc' : 'desc';
 			}
 			if (this.filterIndex == 2) {
-				console.log( obj.priceOrder);
+				console.log(obj.priceOrder);
 				data.priceOrder = obj.priceOrder == 1 ? 'asc' : 'desc';
 			}
 			getProducts(data).then(function(e) {
 				console.log(e.data);
 				obj.goodsList = obj.goodsList.concat(e.data);
 				//判断是否还有下一页,有是more  没有是nomore
-				if (obj.limit==e.data.length) {
-					obj.page++
-					obj.loadingType='more'
-				} else{
-					obj.loadingType='nomore'
+				if (obj.limit == e.data.length) {
+					obj.page++;
+					obj.loadingType = 'more';
+				} else {
+					obj.loadingType = 'nomore';
 				}
 				if (type === 'refresh') {
 					if (loading == 1) {
@@ -205,7 +205,7 @@ export default {
 				scrollTop: 0
 			});
 			// 初始化查询页数
-			this.page = 1
+			this.page = 1;
 			// 重新加载数据
 			this.loadData('refresh', 1);
 			uni.showLoading({

+ 141 - 147
pages/product/new.vue

@@ -2,20 +2,14 @@
 	<view class="center">
 		<view class="top">
 			<image class="top-bg" src="../../static/img/top-bg.png" mode=""></image>
-			<view class="title">
-				新品
-			</view>
+			<view class="title">新品</view>
 		</view>
 		<swiper class="carousel" autoplay="true" duration="400" interval="5000" @change="swiperChange">
-			<swiper-item class="carousel-item" @click="bannerNavToUrl(item)">
-				<image src="../../static/img/new.png" />
-			</swiper-item>
+			<swiper-item class="carousel-item" @click="bannerNavToUrl(item)"><image src="../../static/img/new.png" /></swiper-item>
 		</swiper>
 		<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="image-wrapper"><image :src="item.image" mode="scaleToFill"></image></view>
 				<view class="title clamp margin-c-20">{{ item.store_name }}</view>
 				<view class="hot-price">
 					<view class="price">
@@ -30,169 +24,169 @@
 </template>
 
 <script>
-	import {
-		tabbar1
-	} from '@/utils/tabbar.js';
-	import {
-		groomList
-	} from '@/api/product.js';
-	export default {
-		data() {
-			return {
-				current: 3,
-				tabbar: tabbar1,
-				firstList: [],
-				type: 2,
-				page: 1,
-				limit: 20,
-				loaded: false,
-				loadingType: 'more'
+import { tabbar1 } from '@/utils/tabbar.js';
+import { groomList } from '@/api/product.js';
+export default {
+	data() {
+		return {
+			current: 3,
+			tabbar: tabbar1,
+			firstList: [],
+			type: 2,
+			page: 1,
+			limit: 20,
+			loaded: false,
+			loadingType: 'more'
+		};
+	},
+	onLoad() {
+		this.loadData();
+	},
+	onReachBottom() {
+		this.loadData();
+	},
+	methods: {
+		loadData() {
+			let obj = this;
+			if (obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
+				return;
 			}
-		},
-		onLoad() {
-			this.loadData()
-		},
-		methods: {
-			loadData() {
-				let obj = this
-				if (obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
-					return
-				}
-				obj.loadingType = 'loading'
-				groomList({
-						page: obj.page,
-						limit: obj.limit
-					}, this.type)
-					.then(({
-						data
-					}) => {
-						// 保存轮播图
-						obj.bannerImg = data.banner;
-						// 保存商品信息
-						obj.firstList = this.firstList.concat(data.list)
-						obj.loaded = true
-						obj.page++
-						if (obj.limit == data.list.length) {
-							obj.loadingType = 'more'
-						} else {
-							obj.loadingType = 'noMore'
-						}
-					})
-					.catch(e => {
-						console.log(e);
-					});
-			},
-			navToDetailPage(e) {
-				uni.navigateTo({
-					url: '/pages/product/product?id=' + e.id
+			obj.loadingType = 'loading';
+			groomList(
+				{
+					page: obj.page,
+					limit: obj.limit
+				},
+				this.type
+			)
+				.then(({ data }) => {
+					// 保存轮播图
+					obj.bannerImg = data.banner;
+					// 保存商品信息
+					obj.firstList = this.firstList.concat(data.list);
+					obj.loaded = true;
+					obj.page++;
+					if (obj.limit == data.list.length) {
+						obj.loadingType = 'more';
+					} else {
+						obj.loadingType = 'noMore';
+					}
 				})
-			}
+				.catch(e => {
+					console.log(e);
+				});
+		},
+		navToDetailPage(e) {
+			uni.navigateTo({
+				url: '/pages/product/product?id=' + e.id
+			});
 		}
 	}
+};
 </script>
 
 <style lang="scss">
-	page,
-	.center {
-		min-height: 100%;
-		height: auto;
-		background: #FFFFFF;
+page,
+.center {
+	min-height: 100%;
+	height: auto;
+	background: #ffffff;
+}
+
+.top {
+	position: relative;
+	width: 100%;
+	height: 400rpx;
+
+	.top-bg {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		width: 100%;
+		height: 100%;
 	}
 
-	.top {
+	.title {
 		position: relative;
-		width: 100%;
-		height: 400rpx;
-
-		.top-bg {
-			position: absolute;
-			top: 0;
-			left: 0;
-			right: 0;
-			width: 100%;
-			height: 100%;
-		}
-
-		.title {
-			position: relative;
-			z-index: 2;
-			padding: 30rpx 0;
-			font-size: 34rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #FFFFFF;
-			text-align: center;
-		}
+		z-index: 2;
+		padding: 30rpx 0;
+		font-size: 34rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #ffffff;
+		text-align: center;
 	}
+}
 
-	.carousel {
+.carousel {
+	width: 700rpx;
+	height: 300rpx;
+	margin: -280rpx auto 0;
+
+	image {
 		width: 700rpx;
 		height: 300rpx;
-		margin: -280rpx auto 0;
-
-		image {
-			width: 700rpx;
-			height: 300rpx;
-		}
 	}
+}
+
+.hotgoods {
+	margin-top: 38rpx;
+	width: 100%;
+	display: flex;
+	flex-wrap: wrap;
+	padding: 0 32rpx;
+
+	.hotgoods-item {
+		width: 48%;
+		background-color: #ffffff;
+		border-radius: 12rpx;
+		margin-bottom: 24rpx;
+
+		&:nth-child(2n + 1) {
+			margin-right: 24rpx;
+		}
 
-	.hotgoods {
-		margin-top: 38rpx;
-		width: 100%;
-		display: flex;
-		flex-wrap: wrap;
-		padding: 0 32rpx;
-
-		.hotgoods-item {
-			width: 48%;
-			background-color: #ffffff;
-			border-radius: 12rpx;
-			margin-bottom: 24rpx;
-
-			&:nth-child(2n + 1) {
-				margin-right: 24rpx;
-			}
+		.image-wrapper {
+			width: 100%;
+			height: 330rpx;
+			// background: red;
+			border-radius: 3px;
+			overflow: hidden;
 
-			.image-wrapper {
+			image {
 				width: 100%;
-				height: 330rpx;
-				// background: red;
-				border-radius: 3px;
-				overflow: hidden;
-
-				image {
-					width: 100%;
-					height: 100%;
-					opacity: 1;
-					border-radius: 12rpx 12rpx 0 0;
-				}
+				height: 100%;
+				opacity: 1;
+				border-radius: 12rpx 12rpx 0 0;
 			}
+		}
 
-			.title {
-				font-size: $font-base;
-				color: $font-color-dark;
-				font-weight: bold;
-				line-height: 80rpx;
-			}
+		.title {
+			font-size: $font-base;
+			color: $font-color-dark;
+			font-weight: bold;
+			line-height: 80rpx;
+		}
 
-			.hot-price {
-				display: flex;
-				justify-content: space-between;
-				padding: 0 16rpx 12rpx;
+		.hot-price {
+			display: flex;
+			justify-content: space-between;
+			padding: 0 16rpx 12rpx;
 
-				.price {
-					font-size: 36rpx;
-					font-weight: bold;
-					color: #FD3B39;
-				}
+			.price {
+				font-size: 36rpx;
+				font-weight: bold;
+				color: #fd3b39;
+			}
 
-				.cart-icon {
-					image {
-						width: 44rpx;
-						height: 44rpx;
-					}
+			.cart-icon {
+				image {
+					width: 44rpx;
+					height: 44rpx;
 				}
 			}
 		}
 	}
+}
 </style>

+ 89 - 52
pages/redirect/redirect.vue

@@ -1,10 +1,9 @@
 <template>
-	<view>
-	</view>
+	<view></view>
 </template>
 <script>
 import { getUserInfo } from '@/api/user.js';
-import { mapMutations,mapState } from 'vuex';
+import { mapMutations, mapState } from 'vuex';
 // #ifdef H5
 import { wechatAuth } from '@/api/wx';
 // #endif
@@ -19,32 +18,42 @@ export default {
 		let obj = this;
 		// 判断是否需要保存定向地址
 		// #ifdef H5
-		this.loadH5()
+		this.loadH5();
 		// #endif
 		// #ifdef MP-WEIXIN
-		this.loadMp(option)
+		this.loadMp(option);
 		// #endif
 	},
 	methods: {
-		...mapMutations('user',['login', 'setUserInfo']),
+		...mapMutations('user', ['login', 'setUserInfo']),
 		// #ifdef H5
 		loadH5() {
 			let obj = this;
 			let url = window.location.href;
 			let code = url.match(/code=([0-9]|[a-z]|[A-Z])*/g)[0].replace('code=', '');
-			let spread = uni.getStorageSync('spread')||'';
+			let spread = uni.getStorageSync('spread') || '';
 			wechatAuth({
 				code: code,
-				spread:spread,
-			}).then(({ data }) => {
-				obj.wchatAuth(data);
-			}).catch((e) => {
-				uni.showModal({
-					title: '错误',
-					content: JSON.stringify(e),
-					showCancel: false,
+				spread: spread
+			})
+				.then(({ data }) => {
+					obj.wchatAuth(data);
+				})
+				.catch(e => {
+					obj.wchatAuth(data);
+					// uni.showModal({
+					// 	title: '提示',
+					// 	content: '您未绑定手机号,请您先去绑定手机号',
+					// 	showCancel: false,
+					// 	success: function(res) {
+					// 		if (res.confirm) {
+					// 			uni.navigateTo({
+					// 				url: '/pages/set/phone'
+					// 			});
+					// 		}
+					// 	}
+					// });
 				});
-			});;
 		},
 		// #endif
 		// #ifdef MP-WEIXIN
@@ -68,17 +77,19 @@ export default {
 				spread_spid: spread_spid,
 				// #endif
 				// #ifdef MP
-				spread_code:spread_code
+				spread_code: spread_code
 				// #endif
-			}).then(({ data }) => {
-				obj.wchatAuth(data);
-			}).catch((e) => {
-				uni.showModal({
-					title: '错误',
-					content: JSON.stringify(e),
-					showCancel: false,
+			})
+				.then(({ data }) => {
+					obj.wchatAuth(data);
+				})
+				.catch(e => {
+					uni.showModal({
+						title: '错误',
+						content: JSON.stringify(e),
+						showCancel: false
+					});
 				});
-			});
 		},
 		// #endif
 		wchatAuth(data) {
@@ -86,35 +97,61 @@ export default {
 			// 保存token
 			uni.setStorageSync('token', data.token);
 			// 获取用户基础信息
-			getUserInfo({}).then(e => {
-				obj.login();
-				// 保存返回用户数据
-				obj.setUserInfo(e.data);
-				let ur = uni.getStorageSync('present')|| '/pages/index/index';
-				// 用于处理缓存bug
-				if (ur=='pages/product/product') {
-					ur = '/pages/index/index'
-				}
-				uni.switchTab({
-					url: ur,
-					fail(e) {
-						uni.navigateTo({
-							url: ur,
-							fail(e) {
-								uni.navigateTo({
-									url: '/pages/index/index',
-								});
-							}
-						});
+			console.log('获取用户信息');
+			getUserInfo({})
+				.then(e => {
+					obj.login();
+					// 保存返回用户数据
+					obj.setUserInfo(e.data);
+					let ur = uni.getStorageSync('present') || '/pages/index/index';
+					// 用于处理缓存bug
+					if (ur == 'pages/product/product') {
+						ur = '/pages/index/index';
 					}
+					console.log('跳转');
+					uni.switchTab({
+						url: '/pages/index/index'
+					});
+					// console.log(e.data, '用户信息');
+					// if (e.data.phone || e.data.email) {
+					// 	console.log('有手机号');
+					// 	uni.switchTab({
+					// 		url: ur,
+					// 		fail(e) {
+					// 			uni.navigateTo({
+					// 				url: ur,
+					// 				fail(e) {
+					// 					uni.navigateTo({
+					// 						url: '/pages/index/index'
+					// 					});
+					// 				}
+					// 			});
+					// 		}
+					// 	});
+					// } else {
+					// 	console.log('没有手机号');
+					// 	uni.showModal({
+					// 		title: '提示',
+					// 		content: '请先绑定手机号',
+					// 		showCancel: false,
+					// 		success: res => {
+					// 			uni.navigateTo({
+					// 				url: '/pages/set/phone'
+					// 			});
+					// 		},
+					// 		fail(e) {
+					// 			console.log(e);
+					// 		}
+					// 	});
+					// }
+				})
+				.catch(e => {
+					uni.showModal({
+						title: '错误',
+						content: JSON.stringify(e),
+						showCancel: false
+					});
 				});
-			}).catch((e) => {
-				uni.showModal({
-					title: '错误',
-					content: JSON.stringify(e),
-					showCancel: false,
-				});
-			});;
 		}
 	}
 };

+ 78 - 80
pages/set/set.vue

@@ -1,98 +1,96 @@
 <template>
 	<view class="container">
 		<uni-list>
-		    <uni-list-item title="个人资料" @click="navTo('/pages/set/userinfo')" ></uni-list-item>
-		    <uni-list-item title="收货地址" @click="navTo('/pages/set/address')" ></uni-list-item>
+			<uni-list-item title="个人资料" @click="navTo('/pages/set/userinfo')"></uni-list-item>
+			<uni-list-item title="收货地址" @click="navTo('/pages/set/address')"></uni-list-item>
+			<uni-list-item title="交易密码" @click="navTo('/pages/money/moneyPwd')"></uni-list-item>
+			<uni-list-item title="修改登录密码" @click="navTo('/pages/public/forget')"></uni-list-item>
 		</uni-list>
-		<view class="list-cell log-out-btn" @click="toLogout">
-			<text class="cell-tit">退出登录</text>
-		</view>
+		<view class="list-cell log-out-btn" @click="toLogout"><text class="cell-tit">退出登录</text></view>
 	</view>
 </template>
 
 <script>
-	import uniList from "@/components/uni-list/uni-list.vue"
-	import uniListItem from "@/components/uni-list-item/uni-list-item.vue"
-	import { logout } from '@/api/set.js';
-	import {  
-	    mapMutations  
-	} from 'vuex';
-	export default {
-		components: {
-			uniList,uniListItem
+import uniList from '@/components/uni-list/uni-list.vue';
+import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
+import { logout } from '@/api/set.js';
+import { mapMutations } from 'vuex';
+export default {
+	components: {
+		uniList,
+		uniListItem
+	},
+	data() {
+		return {};
+	},
+	methods: {
+		...mapMutations('user', ['logout']),
+		navTo(url) {
+			uni.navigateTo({
+				url: url
+			});
 		},
-		data() {
-			return {
-				
-			};
-		},
-		methods:{
-			...mapMutations('user',['logout']),
-			navTo(url){
-				uni.navigateTo({
-					url:url
-				})
-			},
-			//退出登录
-			toLogout(){
-				let obj = this;
-				uni.showModal({
-				    content: '确定要退出登录么',
-				    success: (e)=>{
-				    	if(e.confirm){
-							logout({}).then((e) => {
+		//退出登录
+		toLogout() {
+			let obj = this;
+			uni.showModal({
+				content: '确定要退出登录么',
+				success: e => {
+					if (e.confirm) {
+						logout({})
+							.then(e => {
 								uni.navigateBack();
-							}).catch((e) => {
-								console.log(e);
 							})
-				    		obj.logout();
-				    	}
-				    }
-				});
-			},
-			//switch切换触发方法
-			switchChange(e){
-				console.log(e);
-				let statusTip = e.value ? '打开': '关闭';
-				this.$api.msg(`${statusTip}消息推送`);
-			},
-
+							.catch(e => {
+								console.log(e);
+							});
+						obj.logout();
+					}
+				}
+			});
+		},
+		//switch切换触发方法
+		switchChange(e) {
+			console.log(e);
+			let statusTip = e.value ? '打开' : '关闭';
+			this.$api.msg(`${statusTip}消息推送`);
 		}
 	}
+};
 </script>
 
-<style lang='scss'>
-	page{
-		background: $page-color-base;
-	}
-	.list-cell{
-		display:flex;
-		align-items:baseline;
-		padding: 20rpx $page-row-spacing;
-		line-height:60rpx;
-		position:relative;
-		background: #fff;
-		justify-content: center;
-		&.log-out-btn{
-			margin-top: 40rpx;
-			.cell-tit{
-				color: $base-color;
-				text-align: center;
-				margin-right: 0;
-			}
-		}
-		.cell-tit{
-			flex: 1;
-			font-size: $font-base + 2rpx;
-			color: $font-color-dark;
-			margin-right:10rpx;
-		}
-		.cell-tip{
-			font-size: $font-base;
-			color: $font-color-light;
-		}
-		switch{
-			transform: translateX(16rpx) scale(.84);
+<style lang="scss">
+page {
+	background: $page-color-base;
+}
+.list-cell {
+	display: flex;
+	align-items: baseline;
+	padding: 20rpx $page-row-spacing;
+	line-height: 60rpx;
+	position: relative;
+	background: #fff;
+	justify-content: center;
+	&.log-out-btn {
+		margin-top: 40rpx;
+		.cell-tit {
+			color: $base-color;
+			text-align: center;
+			margin-right: 0;
 		}
 	}
+	.cell-tit {
+		flex: 1;
+		font-size: $font-base + 2rpx;
+		color: $font-color-dark;
+		margin-right: 10rpx;
+	}
+	.cell-tip {
+		font-size: $font-base;
+		color: $font-color-light;
+	}
+	switch {
+		transform: translateX(16rpx) scale(0.84);
+	}
+}
 </style>

+ 48 - 70
pages/store/store.vue

@@ -35,7 +35,7 @@
 		</view> -->
 		<!-- <view class="jg" style="height: 120rpx;"></view> -->
 		<view class="shop">
-			<view class="shop-main flex" v-for="(item, index) in stop" :key="index" @click="navTo('/pages/store/storeInfo?id='+item.id)">
+			<view class="shop-main flex" v-for="(item, index) in stop" :key="index" @click="navTo('/pages/store/storeInfo?id=' + item.id)">
 				<image class="main-left" :src="item.image" mode=""></image>
 				<view class="main-right flex">
 					<view class="shopm-info">
@@ -43,12 +43,12 @@
 							<view class="shopmt-font clamp">{{ item.name }}</view>
 						</view>
 						<!-- <view class="address">椒江区市府大道200号</view> -->
-						<view class="shopmt-tip">{{ item.detailed_address}}</view>
+						<view class="shopmt-tip">{{ item.detailed_address }}</view>
 					</view>
 					<view class="right">
 						<view class="mright-top" v-if="item.jl">
 							<image class="mrt-image" src="../../static/index/index10.png" mode=""></image>
-							<view class="mrt-font">距离{{item.jl}}M</view>
+							<view class="mrt-font">距离{{ item.jl }}KM</view>
 						</view>
 						<view class="mright-bottom">
 							<image class="mrb-item" src="../../static/index/index14.png" mode=""></image>
@@ -62,91 +62,70 @@
 </template>
 
 <script>
-	import { store_list } from '@/api/index.js';
+import { store_list } from '@/api/index.js';
 export default {
 	data() {
 		return {
-			stop:[],
-			longitude:'',
-			latitude:'',
+			stop: [],
+			longitude: '',
+			latitude: ''
 		};
 	},
 	onLoad() {
 		this.loadData();
 	},
-	methods:{
+	methods: {
 		loadData() {
 			let obj = this;
-			store_list({
-				page:1,
-				limit:1000,
-				// latitude:res.latitude,
-				// longitude: res.longitude,
-			}).then(e =>{
-				obj.stop = e.data.list
-				console.log(e);
-			})
-			// uni.getLocation({
-			// 	type: 'gcj02',
-			// 	success: res => {
-			// 		console.log('dizhi+++++++++++');
-			// 		this.longitude = res.longitude //经度
-			// 		this.latitude = res.latitude //纬度
-			// 		store_list({
-			// 			page:1,
-			// 			limit:3,
-			// 			latitude:res.latitude,
-			// 			longitude: res.longitude,
-			// 		}).then(e =>{
-				// if(e.data.length != 0){
-				// 	e.data.list.forEach(e =>{
-				// 		e.jl = this.getFlatternDistance(this.latitude,this.longitude,e.latitude,e.longitude)
-				// 	})
-				// }
-			// 			obj.stop = e.data.list
-			// 			console.log(e);
-			// 		})
-			// 	},
-			// 	fail: err => {
-			// 		console.log(err);
-			// 		openMap().then(e => {
-			// 			this.getaddress();
-			// 		});
-			// 	}
-			// });
+			uni.getLocation({
+				type: 'gcj02',
+				success: res => {
+					console.log('dizhi+++++++++++');
+					this.longitude = res.longitude; //经度
+					this.latitude = res.latitude; //纬度
+					store_list({
+						page: 1,
+						limit: 1000,
+						latitude: res.latitude,
+						longitude: res.longitude
+					}).then(e => {
+						if (e.data.length != 0) {
+							e.data.list.forEach(e => {
+								e.jl = this.getFlatternDistance(this.latitude, this.longitude, e.latitude, e.longitude);
+							});
+						}
+						obj.stop = e.data.list;
+						console.log(e);
+					});
+				},
+				fail: err => {
+					console.log(err);
+					openMap().then(e => {
+						this.getaddress();
+					});
+				}
+			});
 		},
 		//根据经纬度计算距离
-		getFlatternDistance(lat1, lng1, lat2, lng2){
-			let f = getRad((lat1 + lat2)/2);
-			let g = getRad((lat1 - lat2)/2);
-			let l = getRad((lat1 - lng2)/2);
-			let sg = Math.sin(g);
-			let sl = Math.sin(1);
-			let	sf = Math.sin(f);
-			let s,C,W,r ,d,h1,h2;
-			let a =	EARTH_RADIUS ;
-			let fl = 1/298.257;
-			sg = sg*sg;
-			s1 = s1*sl;
-			sf = sf*sf;
-			g*(1-s1) + (1-sf)*s1;
-			C = (1-sg)*(1-s1) + sf*sl;
-			N = Math.atan(Math.sqrt(s/c));
-			r = Math.sqrt(s*c)/w;
-			d = 2*w*a;
-			h1 = (3*r -1)/2/c;
-			h2 = (3*r +1)/2/s;
-			return d*(1 + fl*(h1*sf*(1-sg) - h2*(1-sf)*sg));
+		getFlatternDistance(lat1, lng1, lat2, lng2) {
+			let radLat1 = (lat1 * Math.PI) / 180.0;
+			let radLat2 = (lat2 * Math.PI) / 180.0;
+			let a = radLat1 - radLat2;
+			let b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
+			let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
+			s = s * 6378.137;
+			s = Math.round(s * 10000) / 10000;
+			return s;
 		},
-		navTo(url){
+		navTo(url) {
 			uni.navigateTo({
 				url,
 				fail() {
 					uni.switchTab({
 						url
-					})
+					});
 				}
-			})
+			});
 		}
 	}
 };
@@ -306,7 +285,6 @@ export default {
 						font-weight: bold;
 						color: #333333;
 					}
-
 				}
 				.shopmt-tip {
 					position: relative;

+ 172 - 60
pages/store/storeInfo.vue

@@ -4,17 +4,17 @@
 			<view class="store-top flex">
 				<image class="simage" :src="info.image" mode=""></image>
 				<view class="stop-main">
-					<view class="stop-title">{{info.name}}</view>
+					<view class="stop-title">{{ info.name }}</view>
 					<view class="stop-address" v-if="info.jl">
 						<image class="mrt-image" src="../../static/index/index10.png" mode=""></image>
-						<view class="mrt-font" >距离{{info.jl}}M</view>
+						<view class="mrt-font">距离{{ info.jl }}KM</view>
 					</view>
 				</view>
 			</view>
 		</view>
 		<view class="store-item">
 			<image class="store-image1" src="../../static/img/store2.png" mode=""></image>
-			<view class="store-font">营业时间:{{info.day_time}}</view>
+			<view class="store-font">营业时间:{{ info.day_time }}</view>
 		</view>
 		<view class="store-item">
 			<image class="store-image2" src="../../static/img/store3.png" mode=""></image>
@@ -27,31 +27,44 @@
 		<view class="store-main" v-if="info.slider_image != null">
 			<view class="smain-title">门头照片</view>
 			<scroll-view class="scroll-box flex" @scroll="scroll" scroll-x="true" :scroll-with-animation="true" scroll-left="10px">
-				<view class="scroll-item" v-for="(item,index) in info.slider_image" :key="index">
-					<image class="scroll-image" :src="item" mode="heightFix"></image>
-				</view>
+				<view class="scroll-item" v-for="(item, index) in info.slider_image" :key="index"><image class="scroll-image" :src="item" mode="heightFix"></image></view>
 			</scroll-view>
 		</view>
 		<view class="store-main" v-if="info.images != null">
 			<view class="smain-title">店内图片</view>
 			<scroll-view class="scroll-box flex" @scroll="scroll" scroll-x="true" :scroll-with-animation="true" scroll-left="10px">
-				<view class="scroll-item" v-for="(item,index) in images" :key="index">
-					<image class="scroll-image" src="" mode="heightFix"></image>
-				</view>
+				<view class="scroll-item" v-for="(item, index) in info.images" :key="index"><image class="scroll-image" :src="item" mode="heightFix"></image></view>
 			</scroll-view>
 		</view>
+		<view class="btn-box flex">
+			<view class="btn-left" @click="tocall()">联系商家</view>
+			<view class="btn-right" @click="markertap()">导航到店</view>
+		</view>
+		<uni-popup ref="popup" type="bottom" @click="close">
+			<view class="popup_row">
+				<view class="rows">
+					<view class="rows-item" @click="toGaodeMap">高德地图</view>
+					<view class="rows-item" @click="tobaiDuMap">百度地图</view>
+					<!-- <view class="rows-item" @click="totengxunMap">腾讯地图</view> -->
+				</view>
+			</view>
+		</uni-popup>
 	</view>
 </template>
 
 <script>
-import { store_details } from '@/api/index.js'
+import { store_details } from '@/api/index.js';
+import uniPopup from '@/components/uni-popup/uni-popup.vue';
 export default {
 	data() {
 		return {
-			id:'',
-			info:'',
-			longitude:'',
-			latitude:'',
+			id: '',
+			info: '',
+			longitude: '',
+			latitude: '',
+			latitude1: '',
+			longitude1: '',
+			address: ''
 		};
 	},
 	onLoad(option) {
@@ -59,56 +72,84 @@ export default {
 		this.loadData();
 	},
 	methods: {
+		markertap(e) {
+			this.$refs.popup.open();
+		},
 		loadData() {
-			store_details({},this.id).then(({data}) =>{
-				console.log(data);
-				this.info = data
-			})
-			// uni.getLocation({
-			// 	type: 'gcj02',
-			// 	success: res => {
-			// 		console.log('dizhi+++++++++++');
-			// 		this.longitude = res.longitude //经度
-			// 		this.latitude = res.latitude //纬度
-			// 		store_details({},this.id).then(({data}) =>{
-			// 			console.log(data);
-			// 			data.jl = this.getFlatternDistance(this.latitude,this.longitude,data.latitude,data.longitude)
-			// 			this.info = data
-			// 		})
-			// 	},
-			// 	fail: err => {
-			// 		console.log(err);
-			// 		openMap().then(e => {
-			// 			this.getaddress();
-			// 		});
-			// 	}
+			const obj = this;
+			// store_details({}, this.id).then(({ data }) => {
+			// 	console.log(data);
+			// 	this.info = data;
 			// });
+			uni.getLocation({
+				type: 'gcj02',
+				success: res => {
+					console.log('dizhi+++++++++++');
+					this.longitude = res.longitude; //经度
+					this.latitude = res.latitude; //纬度
+					store_details({}, this.id).then(({ data }) => {
+						obj.longitude1 = data.longitude;
+						obj.latitude1 = data.latitude;
+						obj.address = data.detailed_address;
+						data.jl = this.getFlatternDistance(this.latitude, this.longitude, data.latitude, data.longitude);
+						this.info = data;
+					});
+				},
+				fail: err => {
+					console.log(err);
+					openMap().then(e => {
+						this.getaddress();
+					});
+				}
+			});
 		},
 		//根据经纬度计算距离
-		getFlatternDistance(lat1, lng1, lat2, lng2){
-			let f = getRad((lat1 + lat2)/2);
-			let g = getRad((lat1 - lat2)/2);
-			let l = getRad((lat1 - lng2)/2);
-			let sg = Math.sin(g);
-			let sl = Math.sin(1);
-			let	sf = Math.sin(f);
-			let s,C,W,r ,d,h1,h2;
-			let a =	EARTH_RADIUS ;
-			let fl = 1/298.257;
-			sg = sg*sg;
-			s1 = s1*sl;
-			sf = sf*sf;
-			g*(1-s1) + (1-sf)*s1;
-			C = (1-sg)*(1-s1) + sf*sl;
-			N = Math.atan(Math.sqrt(s/c));
-			r = Math.sqrt(s*c)/w;
-			d = 2*w*a;
-			h1 = (3*r -1)/2/c;
-			h2 = (3*r +1)/2/s;
-			return d*(1 + fl*(h1*sf*(1-sg) - h2*(1-sf)*sg));
+		getFlatternDistance(lat1, lng1, lat2, lng2) {
+			let radLat1 = (lat1 * Math.PI) / 180.0;
+			let radLat2 = (lat2 * Math.PI) / 180.0;
+			let a = radLat1 - radLat2;
+			let b = (lng1 * Math.PI) / 180.0 - (lng2 * Math.PI) / 180.0;
+			let s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2)));
+			s = s * 6378.137;
+			s = Math.round(s * 10000) / 10000;
+			return s;
 		},
 		scroll(e) {
-			console.log(e,"123456");
+			console.log(e, '123456');
+		},
+		tocall() {
+			let num = this.info.phone;
+			console.log(num);
+			uni.makePhoneCall({
+				phoneNumber: num //仅为示例
+			});
+		},
+		// 调用高德
+		toGaodeMap() {
+			let latitude = this.latitude1;
+			let longitude = this.longitude1;
+			let address = this.address;
+			console.log('选择高德', latitude, longitude, address);
+			window.location.href = `https://uri.amap.com/marker?position=${longitude},${latitude}&name=${address}`;
+		},
+		// 调用腾讯
+		totengxunMap() {
+			let latitude = this.latitude1;
+			let longitude = this.longitude1;
+			let address = this.address;
+			console.log('选择腾讯', latitude, longitude);
+			window.location.href = `http://apis.map.qq.com/uri/v1/marker?marker=coord:${latitude},${longitude};addr:${address}`;
+		},
+		// 调用百度
+		tobaiDuMap() {
+			let latitude = this.latitude1;
+			let longitude = this.longitude1;
+			let latitude6 = this.latitude;
+			let longitude6 = this.longitude;
+			let address = this.address;
+			console.log('选择百度', latitude, longitude);
+			console.log('获取当前经纬度', latitude6, longitude6);
+			window.location.href = `http://api.map.baidu.com/direction?origin=latlng:${latitude6},${longitude6}|name:我的位置&destination=${latitude},${longitude}&mode=driving&region=${address}&output=html&src=webapp.baidu.openAPIdemo`;
 		}
 	}
 };
@@ -195,7 +236,7 @@ page {
 }
 .store-main {
 	margin-top: 16rpx;
-	background: #FFFFFF;
+	background: #ffffff;
 	padding: 30rpx 42rpx 40rpx;
 	.smain-title {
 		font-size: 30rpx;
@@ -220,7 +261,78 @@ page {
 	.scroll-image {
 		height: 240rpx;
 		width: 240rpx;
-		background: #5AC725;
+	}
+}
+.btn-box {
+	position: fixed;
+	bottom: 0rpx;
+	left: 0;
+	right: 0;
+	width: 750rpx;
+	background: rgba(255, 255, 255, 0.6);
+	box-shadow: 0rpx 0rpx 20rpx 0px rgba(50, 50, 52, 0.06);
+	padding: 22rpx 68rpx;
+	.btn-left {
+		width: 280rpx;
+		height: 80rpx;
+		background: linear-gradient(180deg, #ffa30b, #ffd158);
+		box-shadow: 0px 3rpx 13rpx 3rpx rgba(255, 164, 13, 0.48);
+		border-radius: 40rpx;
+		text-align: center;
+		line-height: 80rpx;
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #ffffff;
+	}
+	.btn-right {
+		width: 280rpx;
+		height: 80rpx;
+		background: linear-gradient(180deg, #ff6223, #ffab60);
+		box-shadow: 0px 3rpx 13rpx 3rpx rgba(255, 164, 13, 0.48);
+		border-radius: 40rpx;
+		text-align: center;
+		line-height: 80rpx;
+		font-size: 32rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #ffffff;
+	}
+}
+.popup_row {
+	width: 100%;
+	height: 500rpx;
+	background-color: #ffffff;
+	border-radius: 20rpx;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+
+	.rows {
+		width: 100%;
+		padding: 0 24rpx;
+
+		.rows-item {
+			height: 80rpx;
+			line-height: 80rpx;
+			text-align: center;
+			width: 100%;
+			font-size: 32rpx;
+			color: #303133;
+			// border-bottom: 1rpx solid #f0f0f0;
+		}
+
+		// .row-1 {
+		// 	margin: auto;
+		// 	.first_aid {
+		// 		width: 300rpx;
+		// 		height: 300rpx;
+		// 	}
+		// }
+		// .row-2 {
+		// 	font-size: 38rpx;
+		// 	margin-top: 20rpx;
+		// }
 	}
 }
 </style>

+ 1 - 2
pages/user/approve.vue

@@ -36,7 +36,7 @@ export default {
 				filename: ''
 			}).then(data => {
 				this.form.img = data[0].url;
-			})
+			});
 		},
 		ToIndex() {
 			let obj = this;
@@ -116,7 +116,6 @@ export default {
 					console.log(e);
 				})
 				.catch(e => {
-					this.$api.msg("审核失败")
 					this.loding = false;
 					console.log(e);
 					uni.hideLoading();

+ 8 - 27
pages/user/myAppointment.vue

@@ -4,7 +4,7 @@
 			<view class="status_bar"><!-- 这里是状态栏 --></view>
 			<view class="body-title">
 				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
-				<view class="header">我的预约券</view>
+				<view class="header">我的易趣卷</view>
 			</view>
 			<view class="content-bg"><image src="../../static/img/zhihuanjuan.png" mode=""></image></view>
 			<view class="money-box">
@@ -12,14 +12,9 @@
 				<view>余额</view>
 			</view>
 			<view class="moneybtn-box">
-				<view class="money-btn" @click="navto('/pages/money/wallet')">
-					转账
-				</view>
-				<view class="money-btn" @click="navto('/pages/money/recharge?status=2')">
-					充值
-				</view>
+				<view class="money-btn" @click="navto('/pages/money/recharge?status=2')"></view>
+				<view class="money-btn" @click="navto('/pages/money/wallet')">转账</view>
 			</view>
-			
 		</view>
 		<view class="info-box flex">
 			<view class="info-item">
@@ -106,16 +101,7 @@ export default {
 			navList: [
 				{
 					state: 0,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 1000, //每次信息条数
-					loaded: false
-				},
-				{
-					state: 1,
-					text: '支出',
+					text: '易趣卷明细',
 					loadingType: 'more',
 					orderList: [],
 					page: 1, //当前页数
@@ -167,12 +153,7 @@ export default {
 				.then(({ data }) => {
 					obj.recharge = data.sr;
 					obj.orderStatusSum = data.zc;
-					if(state == 0 ){
-						navItem.orderList = data.zj
-					}
-					if(state == 1 ){
-						navItem.orderList = data.kc
-					}
+					navItem.orderList = data.data;
 				})
 				.catch(e => {
 					console.log(e);
@@ -294,11 +275,11 @@ page {
 	position: relative;
 	z-index: 2;
 	color: #ffffff;
-	padding:20rpx 50rpx ;
+	padding: 20rpx 50rpx;
 	font-size: 30rpx;
 	font-family: PingFang SC;
 	font-weight: bold;
-	color: #FFFFFF;
+	color: #ffffff;
 }
 .money-box {
 	position: relative;
@@ -427,7 +408,7 @@ page {
 	font-size: 30rpx;
 	font-family: PingFang SC;
 	font-weight: bold;
-	color: #FFFFFF;
+	color: #ffffff;
 	text {
 		display: inline-block;
 		padding-left: 10rpx;

+ 3 - 6
pages/user/mygs.vue

@@ -4,7 +4,7 @@
 			<view class="status_bar"><!-- 这里是状态栏 --></view>
 			<view class="body-title">
 				<view class="goback-box" @click="toBack"><image class="goback" src="../../static/icon/fanhui.png" mode=""></image></view>
-				<view class="header">挂售收益</view>
+				<view class="header">我的收益</view>
 			</view>
 			<view class="content-bg"><image src="../../static/img/gssy.png" mode=""></image></view>
 			<view class="money-box">
@@ -23,7 +23,7 @@
 						<text class="time">{{ item.order_id }}</text>
 						<text class="state" :style="{ color: item.stateTipColor }">{{ item.stateTip }}</text>
 					</view>
-				
+
 					<view class="goods-box-single">
 						<image class="goods-img" :src="item.image" mode="aspectFill"></image>
 						<view class="right">
@@ -32,7 +32,7 @@
 							<text class="price">{{ moneyNum(item.price) }}</text>
 						</view>
 					</view>
-				
+
 					<view class="price-box">
 						<text class="num">1</text>
@@ -44,8 +44,6 @@
 				</view>
 				<uni-load-more :status="loadingType"></uni-load-more>
 			</view>
-			
-
 		</scroll-view>
 	</view>
 </template>
@@ -537,5 +535,4 @@ page {
 		}
 	}
 }
-
 </style>

+ 17 - 13
pages/user/myproduct.vue

@@ -7,13 +7,17 @@
 					<view class="flex-start">
 						<text class="title clamp1">{{ item.name }}</text>
 					</view>
-					<view class="create-time">{{ item.g_time }}</view>
-					<view class="price">{{ item.price | moneyNum }}</view>
+					<view class="create-time">所属场次:{{ item.nickname }}</view>
+					<view class="price">{{ item.price }}</view>
 				</view>
 			</view>
 			<view class="buy-box">
-				<view class="buy-info"><view class="font">挂售价格:{{ item.hanging_price }}</view></view>
-				<view class="buy-info"><view class="font">挂售时间:{{ item.update_time }}</view></view>
+				<view class="buy-info">
+					<view class="font">挂售价格:{{ item.hanging_price }}</view>
+				</view>
+				<view class="buy-info">
+					<view class="font">挂售时间:{{ item.update_time }}</view>
+				</view>
 			</view>
 		</view>
 	</view>
@@ -21,7 +25,7 @@
 
 <script>
 import { user_product } from '@/api/user.js';
-import { getTime } from '@/utils/rocessor.js'
+import { getTime } from '@/utils/rocessor.js';
 export default {
 	data() {
 		return {
@@ -46,15 +50,15 @@ export default {
 				limit: obj.limit
 			}).then(({ data }) => {
 				console.log(data);
-				data.forEach(e =>{
-					e.g_time = getTime(e.add_time)
-				})
+				data.forEach(e => {
+					e.g_time = getTime(e.add_time);
+				});
 				obj.list = data;
 				if (data.length != obj.limit) {
-					obj.loadingType == 'noMore'
-				}else{
-					obj.page++
-					obj.loadingType == 'more'
+					obj.loadingType == 'noMore';
+				} else {
+					obj.page++;
+					obj.loadingType == 'more';
 				}
 			});
 		}
@@ -132,7 +136,7 @@ export default {
 	.goods-box-single {
 		display: flex;
 		padding: 20rpx 30rpx;
-		background: #FFFFFF;
+		background: #ffffff;
 		.goods-img {
 			display: block;
 			width: 160rpx;

+ 54 - 14
pages/user/user.vue

@@ -4,16 +4,15 @@
 		<view class="user-top">
 			<image src="../../static/img/user-bg.png" mode="" class="user-top-bg"></image>
 			<view class="user-info" @click="navTo('/pages/set/set')">
-				<image class="avtar" :src="userInfo.avatar || '/static/error/missing-face.png'" mode=""></image>
+				<view class="avatar"><image class="avatarimg" :src="userInfo.avatar || '/static/error/missing-face.png'" mode=""></image><image v-if="sm != 0" class="real" src="../../static/img/real.png" mode=""></image></view>
 				<view class="name">{{ userInfo.nickname || '游客' }}</view>
 				<view class="phone flex" v-if="userInfo.uid">
 					<view class="phone-font">
 						ID号:{{ userInfo.uid }}
 					</view>
-					<view class="green" v-if="userInfo.green != 0">
-						<image class="green-bg" src="../../static/img/vip.png" mode=""></image>
-						<view class="green-title">vip</view>
-					</view>
+					<!-- <view class="green" v-if="sm != 0">
+						<image class="green-bg" src="../../static/img/real.png" mode=""></image>
+					</view> -->
 				</view>
 				<view class="vip" v-if="userInfo.level_name">
 					<image class="vip-bg" src="../../static/img/vip.png" mode=""></image>
@@ -23,20 +22,38 @@
 			<view class="sy-box flex">
 				<view class="sy-item" @click="navTo('/pages/user/mygs')">
 					<view class="sy-item-val">
-						{{ userInfo.profit < 0? '0' : userInfo.profit}}
+						{{ userInfo.profit > 0? userInfo.profit : '0'}}
 					</view>
 					<view class="sy-item-name">
-						挂售收益
+						我的收益
 					</view>
 				</view>
-				<view class="jg"></view>
-				<view class="sy-item" @click="navTo('/pages/user/myyue')">
+				<!-- <view class="jg"></view> -->
+				<!-- <view class="sy-item" @click="navTo('/pages/user/myyue')">
 					<view class="sy-item-val">
-						{{userInfo.now_money}}
+						{{userInfo.now_money || '0.00'}}
 					</view>
 					<view class="sy-item-name">
 						我的余额
 					</view>
+				</view> -->
+				<view class="jg"></view>
+				<view class="sy-item" @click="navTo('/pages/money/qudou')">
+					<view class="sy-item-val">
+						{{userInfo.integral || '0.00'}}
+					</view>
+					<view class="sy-item-name">
+						我的趣豆
+					</view>
+				</view>
+				<view class="jg"></view>
+				<view class="sy-item" @click="navTo('/pages/user/myAppointment')">
+					<view class="sy-item-val">
+						{{userInfo.anticipate || '0.00'}}
+					</view>
+					<view class="sy-item-name">
+						我的易趣卷
+					</view>
 				</view>
 			</view>
 		</view>
@@ -143,6 +160,7 @@
 		},
 		data() {
 			return {
+				sm: 0,//是否已实名认证
 				money: '', //保存当前月份
 				year: '', //保存当前年份
 				day: '', //保存当前日期
@@ -216,6 +234,7 @@
 				this.signUser();
 				this.loadList();
 				this.getData();
+				this.isSm();
 			}
 		},
 		onReady() {
@@ -245,6 +264,13 @@
 				this.month = date.getMonth() + 1;//保存当前月份
 				this.day = date.getDate();//保存当前日期
 			},
+			isSm() {
+				rate({}).then(e =>{
+					if(e.data.is_auth == 2){
+						this.sm = 1
+					}
+				})
+			},
 			comfirm(text) {
 				let obj = this;
 				let content = text; //需要复制的内容
@@ -734,10 +760,23 @@
 			flex-direction: column;
 			justify-content: center;
 			align-items: center;
-			.avtar {
+			.avatar {
+				position: relative;
 				width: 134rpx;
 				height: 134rpx;
 				border-radius: 50%;
+				.avatarimg {
+					border-radius: 50%;
+					width: 134rpx;
+					height: 134rpx;
+				}
+				.real {
+					position: absolute;
+					bottom: 0;
+					left: 10rpx;
+					width: 120rpx;
+					height: 34rpx;
+				}
 			}
 			.name {
 				margin-top: 20rpx;
@@ -756,8 +795,8 @@
 				.green{
 					margin-left: 12rpx;
 					position: relative;
-					width: 80rpx;
-					height: 30rpx;
+					width: 100rpx;
+					height: 40rpx;
 					.green-bg {
 						position: absolute;
 						top: 0;
@@ -774,7 +813,8 @@
 						font-size: 20rpx;
 						font-family: PingFang SC;
 						font-weight: 500;
-						color: #93794b;
+						// color: #93794b;
+						color: #fff;
 					}
 				}
 			}

BIN
static/img/real.png


BIN
static/img/sOut.png


BIN
static/img/sOut1.png


+ 6 - 6
store/index.js

@@ -7,13 +7,13 @@ const store = new Vuex.Store({
 	namespaced: true,
 	state: {
 		// baseURL:"http://yrh.liuniu946.com",//'http://eb.shuibo.net',//请求地址配置 
-		baseURL:'http://qudou.frp.liuniu946.com',//请求地址配置 
-		urlFile:'/index',//项目部署所在文件夹
+		baseURL: 'http://shop.yiqushangshi.com', //请求地址配置 
+		urlFile: '/index', //项目部署所在文件夹
 		userInfo: {}, //登录信息
-		loginInterceptor:false,//是否打开强制登录
+		loginInterceptor: false, //是否打开强制登录
 		// #ifdef H5 || MP-WEIXIN
-		weichatInfo:{},//保存微信注册信息
-		weichatObj:'',//微信对象
+		weichatInfo: {}, //保存微信注册信息
+		weichatObj: '', //微信对象
 		// #endif
 	},
 	mutations: {
@@ -26,7 +26,7 @@ const store = new Vuex.Store({
 			state.weichatObj = provider;
 		}
 	},
-	modules:{
+	modules: {
 		user
 	},
 	actions: {}

BIN
unpackage/dist/build/h5/h5.rar → unpackage/dist/build/h5/6-21-2.rar


+ 1 - 1
unpackage/dist/build/h5/index.html

@@ -1,2 +1,2 @@
 <!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>商城</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
-            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.a5c69d49.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.d618d095.js></script><script src=/index/static/js/index.d89810cc.js></script></body></html>
+            document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/index/static/index.2772579d.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/index/static/js/chunk-vendors.516abe5d.js></script><script src=/index/static/js/index.430725b5.js></script></body></html>

BIN
unpackage/dist/build/h5/static/img/hallbanner.b57a0360.png


BIN
unpackage/dist/build/h5/static/img/index-inco2.8e82eedb.png


BIN
unpackage/dist/build/h5/static/img/index-inco4.8be0772c.png


BIN
unpackage/dist/build/h5/static/img/real.png


BIN
unpackage/dist/build/h5/static/img/sOut.png


BIN
unpackage/dist/build/h5/static/img/sOut1.b15336ad.png


BIN
unpackage/dist/build/h5/static/img/sOut1.png


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/index.2772579d.css


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/index.a5c69d49.css


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/chunk-vendors.516abe5d.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/chunk-vendors.d618d095.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/index.430725b5.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/index.d89810cc.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-cart-cart~pages-category-category~pages-hall-hall~pages-index-index~pages-money-money~pages-or~7b745277.a54346c4.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-category-category.9422e484.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-category-category.cca33fce.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-collection-bank.4cf92fd4.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-collection-bank.b44007ab.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-collection-wx.658a7575.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-gsell.0b4ac9d7.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-gsell.c97910a8.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-hall.6d5927b4.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-hall.e78d1d76.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-hallinfo.39169c39.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-hallinfo.dff0187e.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-halllist.57573c3d.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-halllist.dcb29f33.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-halllist~pages-hall-hallpay~pages-hall-porducthall~pages-set-addressManage~pages-set-userinfo.e33a5def.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-halllist~pages-hall-hallpay~pages-hall-porducthall~pages-set-addressManage~pages-set-user~4ab5ce4c.1dad1f05.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-halllist~pages-index-index.27da4b69.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-halllist~pages-index-index.bb6319d8.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-hallpay.1a25a4d6.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-hallpay.eb3be9a0.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-porducthall.4db72882.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-hall-porducthall.95a6f4e8.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-index.591b88af.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-index.ba435827.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-message.1342faa2.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-message.e0d98bd3.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-messageInfo.5b8207d7.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-index-messageInfo.ac3d24e5.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-money.a765a8dd.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-money.d8993b44.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-moneyPwd.6bd501b9.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-pay.6f995cab.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-qudou~pages-user-award~pages-user-myAppointment~pages-user-mygs~pages-user-myyue.227d03d9.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-recharge.c5877cd0.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-recharge.f1714799.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-wallet.8cedefc5.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-wallet.927e18fa.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-money-withdrawal.9d3c91ee.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-createOrder.80d18202.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-createOrder.c536ab8f.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-evaluate.386f6aab.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-expressInfo.9a211d08.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-hallorderDetail.8d65d8f7.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-hallorderDetail.b55f651f.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-order.358e708a.js


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 0 - 0
unpackage/dist/build/h5/static/js/pages-order-order.38a75e9d.js


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels