hwq 1 năm trước cách đây
mục cha
commit
5a80042a58
92 tập tin đã thay đổi với 3101 bổ sung4377 xóa
  1. 85 85
      manifest.json
  2. 17 55
      pages.json
  3. 311 89
      pages/index/index.vue
  4. 391 202
      pages/money/recharge.vue
  5. 0 317
      pages/money/wallet.vue
  6. 185 161
      pages/product/classify.vue
  7. 1064 940
      pages/product/product.vue
  8. 185 178
      pages/set/addressManage.vue
  9. 389 340
      pages/user/award.vue
  10. 0 423
      pages/user/jf.vue
  11. 0 248
      pages/user/sqdl.vue
  12. 39 29
      pages/user/team.vue
  13. 36 76
      pages/user/user.vue
  14. 19 18
      pages/user/withdrawal.vue
  15. 0 161
      pages/user/xzdl.vue
  16. 0 354
      pages/user/yjzye.vue
  17. 0 354
      pages/user/yjzz.vue
  18. 355 322
      pages/user/yue.vue
  19. BIN
      static/icon/appleIcon.png
  20. BIN
      static/icon/bdq.png
  21. BIN
      static/icon/bkq.png
  22. BIN
      static/icon/c3.png
  23. BIN
      static/icon/c5.png
  24. BIN
      static/icon/c6.png
  25. BIN
      static/icon/c7.png
  26. BIN
      static/icon/c8.png
  27. BIN
      static/icon/down.png
  28. BIN
      static/icon/fgq.png
  29. BIN
      static/icon/hhh.png
  30. BIN
      static/icon/i8.png
  31. BIN
      static/icon/img01.png
  32. BIN
      static/icon/img02.png
  33. BIN
      static/icon/img03.png
  34. BIN
      static/icon/img04.png
  35. BIN
      static/icon/img05.png
  36. BIN
      static/icon/img06.png
  37. BIN
      static/icon/img07.png
  38. BIN
      static/icon/img08.png
  39. BIN
      static/icon/img09.png
  40. BIN
      static/icon/img10.png
  41. BIN
      static/icon/img11.png
  42. BIN
      static/icon/img12.png
  43. BIN
      static/icon/in1.png
  44. BIN
      static/icon/in2.png
  45. BIN
      static/icon/in3.png
  46. BIN
      static/icon/in4.png
  47. BIN
      static/icon/o1.png
  48. BIN
      static/icon/o2.png
  49. BIN
      static/icon/o3.png
  50. BIN
      static/icon/o4.png
  51. BIN
      static/icon/search-h.png
  52. BIN
      static/icon/sharejt.png
  53. BIN
      static/icon/title.png
  54. BIN
      static/icon/u-sc.png
  55. BIN
      static/icon/u-set.png
  56. BIN
      static/icon/u0.png
  57. BIN
      static/icon/u1.png
  58. BIN
      static/icon/u2.png
  59. BIN
      static/icon/u3.png
  60. BIN
      static/icon/u4.png
  61. BIN
      static/icon/user-top.png
  62. BIN
      static/icon/userleve.png
  63. BIN
      static/icon/wenhao.png
  64. BIN
      static/icon/》.png
  65. BIN
      static/img/arc.png
  66. BIN
      static/img/bo.png
  67. BIN
      static/img/delete.png
  68. BIN
      static/img/deletes.png
  69. BIN
      static/img/goog-bg.png
  70. BIN
      static/img/home-top.png
  71. BIN
      static/img/img01.png
  72. BIN
      static/img/img02.png
  73. BIN
      static/img/img03.png
  74. BIN
      static/img/img04.png
  75. BIN
      static/img/img05.png
  76. BIN
      static/img/img06.png
  77. BIN
      static/img/img07.png
  78. BIN
      static/img/img08.png
  79. BIN
      static/img/img09.png
  80. BIN
      static/img/img11.png
  81. BIN
      static/img/img13.png
  82. BIN
      static/img/img15.png
  83. BIN
      static/img/img16.png
  84. BIN
      static/img/img43.png
  85. BIN
      static/img/img57.png
  86. BIN
      static/img/index-bg.png
  87. BIN
      static/img/left.png
  88. BIN
      static/img/share.png
  89. BIN
      static/img/team-bg.png
  90. BIN
      static/img/tg-bg.png
  91. 7 7
      store/index.js
  92. 18 18
      uni.scss

+ 85 - 85
manifest.json

@@ -1,86 +1,86 @@
 {
-    "name" : "博晟美业",
-    "appid" : "__UNI__E0158B1",
-    "description" : "",
-    "versionName" : "1.0.0",
-    "versionCode" : "100",
-    "transformPx" : false,
-    "app-plus" : {
-        /* 5+App特有相关 */
-        "usingComponents" : true,
-        "splashscreen" : {
-            "alwaysShowBeforeRender" : true,
-            "waiting" : true,
-            "autoclose" : true,
-            "delay" : 0
-        },
-        "modules" : {},
-        /* 模块配置 */
-        "distribute" : {
-            /* 应用发布信息 */
-            "android" : {
-                /* android打包配置 */
-                "permissions" : [
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-                    "<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
-                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
-                    "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>"
-                ],
-                "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ]
-            },
-            "ios" : {
-                "idfa" : false
-            },
-            /* ios打包配置 */
-            "sdkConfigs" : {
-                "maps" : {},
-                "oauth" : {
-                    "weixin" : {
-                        "appid" : "",
-                        "appsecret" : "",
-                        "UniversalLinks" : ""
-                    }
-                }
-            }
-        }
-    },
-    /* SDK配置 */
-    "quickapp" : {},
-    /* 快应用特有相关 */
-    "mp-weixin" : {
-        /* 小程序特有相关 */
-        "usingComponents" : true,
-        "appid" : "",
-        "setting" : {
-            "urlCheck" : true,
-            "minified" : true
-        }
-    },
-    "h5" : {
-        "title" : "博晟美业",
-        "domain" : "",
-        "router" : {
-            "base" : "/index/",
-            "mode" : "hash"
-        },
-        "devServer" : {
-            "proxy" : {
-                "/api" : {
-                    "target" : "http://bsmy.liuniukj.com/api",
-                    // "changeOrigin": true,
-                    "pathRewrite" : {
-                        "/api" : "" // rewrite path
-                    }
-                }
-            }
-        }
-    }
-}
+	"name": "华中康新堂",
+	"appid": "__UNI__E0158B1",
+	"description": "",
+	"versionName": "1.0.0",
+	"versionCode": "100",
+	"transformPx": false,
+	"app-plus": {
+		/* 5+App特有相关 */
+		"usingComponents": true,
+		"splashscreen": {
+			"alwaysShowBeforeRender": true,
+			"waiting": true,
+			"autoclose": true,
+			"delay": 0
+		},
+		"modules": {},
+		/* 模块配置 */
+		"distribute": {
+			/* 应用发布信息 */
+			"android": {
+				/* android打包配置 */
+				"permissions": [
+					"<uses-feature android:name=\"android.hardware.camera\"/>",
+					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+					"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
+					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
+					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
+					"<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
+					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>"
+				],
+				"abiFilters": ["armeabi-v7a", "arm64-v8a", "x86"]
+			},
+			"ios": {
+				"idfa": false
+			},
+			/* ios打包配置 */
+			"sdkConfigs": {
+				"maps": {},
+				"oauth": {
+					"weixin": {
+						"appid": "",
+						"appsecret": "",
+						"UniversalLinks": ""
+					}
+				}
+			}
+		}
+	},
+	/* SDK配置 */
+	"quickapp": {},
+	/* 快应用特有相关 */
+	"mp-weixin": {
+		/* 小程序特有相关 */
+		"usingComponents": true,
+		"appid": "",
+		"setting": {
+			"urlCheck": true,
+			"minified": true
+		}
+	},
+	"h5": {
+		"title": "华中康新堂",
+		"domain": "",
+		"router": {
+			"base": "/index/",
+			"mode": "hash"
+		},
+		"devServer": {
+			"proxy": {
+				"/api": {
+					"target": "http://kxt.liuniukj.com/api",
+					// "changeOrigin": true,
+					"pathRewrite": {
+						"/api": "" // rewrite path
+					}
+				}
+			}
+		}
+	}
+}

+ 17 - 55
pages.json

@@ -2,17 +2,17 @@
 	"pages": [{
 			"path": "pages/index/index",
 			"style": {
-				"navigationBarTitleText": "博晟美业",
+				"navigationBarTitleText": "华中康新堂",
 				"navigationStyle": "custom"
 			}
 		},
 		{
-				"path": "pages/index/artDetail",
-				"style": {
-					"navigationBarTitleText": "",
-					"navigationStyle": "custom"
-				}
-			},
+			"path": "pages/index/artDetail",
+			"style": {
+				"navigationBarTitleText": "",
+				"navigationStyle": "custom"
+			}
+		},
 		{
 			"path": "pages/public/register",
 			"style": {
@@ -85,6 +85,12 @@
 				"navigationBarTitleText": "商品列表"
 			}
 		},
+		{
+			"path": "pages/product/classify",
+			"style": {
+				"navigationBarTitleText": "商品列表"
+			}
+		},
 		{
 			"path": "pages/product/search",
 			"style": {
@@ -157,7 +163,7 @@
 				"navigationBarTitleText": "购物车"
 			}
 		},
-		
+
 		{
 			"path": "pages/user/user",
 			"style": {
@@ -167,15 +173,6 @@
 				"navigationBarTitleText": "个人中心"
 			}
 		},
-		{
-			"path": "pages/user/jf",
-			"style": {
-				// #ifndef MP-WEIXIN
-				"navigationStyle": "custom",
-				// #endif
-				"navigationBarTitleText": "我的积分"
-			}
-		},
 		{
 			"path": "pages/user/award",
 			"style": {
@@ -200,18 +197,6 @@
 				"navigationBarTitleText": "收藏夹"
 			}
 		},
-		{
-			"path": "pages/user/yjzye",
-			"style": {
-				"navigationBarTitleText": "佣金转余额"
-			}
-		},
-		{
-			"path": "pages/user/sqdl",
-			"style": {
-				"navigationBarTitleText": "申请代理"
-			}
-		},
 		{
 			"path": "pages/order/order",
 			"style": {
@@ -253,7 +238,7 @@
 			"style": {
 				"navigationBarTitleText": "创建订单"
 			}
-		},  {
+		}, {
 			"path": "pages/money/pay",
 			"style": {
 				"navigationBarTitleText": "支付"
@@ -265,17 +250,6 @@
 				"navigationBarTitleText": "支付成功"
 			}
 		},
-		{
-			"path": "pages/money/wallet",
-			"style": {
-				"navigationBarTitleText": "我的钱包",
-				"app-plus": {
-					"titleNView": {
-						"type": "transparent"
-					}
-				}
-			}
-		},
 		{
 			"path": "pages/money/account",
 			"style": {
@@ -340,29 +314,17 @@
 				"navigationStyle": "custom"
 			}
 		},
-		{
-			"path": "pages/user/xzdl",
-			"style": {
-				"navigationBarTitleText": "选择代理"
-			}
-		},
 		{
 			"path": "pages/user/yue",
 			"style": {
 				"navigationBarTitleText": "我的余额",
 				"navigationStyle": "custom"
 			}
-		},
-		{
-			"path": "pages/user/yjzz",
-			"style": {
-				"navigationBarTitleText": "佣金转账"
-			}
 		}
 	],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
-		"navigationBarTitleText": "博晟美业",
+		"navigationBarTitleText": "华中康新堂",
 		"navigationBarBackgroundColor": "#FFFFFF",
 		"backgroundColor": "#f8f8f8"
 	},
@@ -397,4 +359,4 @@
 			}
 		]
 	}
-}
+}

+ 311 - 89
pages/index/index.vue

@@ -2,6 +2,9 @@
 	<view class="container">
 		<!-- 顶部logo and 搜索 start-->
 		<view class="status_bar"></view>
+		<view class="top-bg">
+			<image src="../../static/img/index-bg.png" mode=""></image>
+		</view>
 		<view class="top-search flex">
 			<view class="search-box flex" @click="clickSearch()">
 				<image class="search" src="../../static/icon/search-h.png" mode=""></image>
@@ -20,17 +23,17 @@
 		<!-- 轮播图 end -->
 		<!-- 分类 start -->
 		<view class="cate-section flex">
-			<view class="cate-item flex" @click="navto('/pages/category/category')" >
+			<view class="cate-item flex" @click="navto('/pages/category/category')">
 				<view class="img-wrapper flex">
 					<image src="../../static/icon/in1.png" mode=""></image>
 				</view>
 				<view class="item-title">全部商品</view>
 			</view>
-			<view class="cate-item flex" @click="navto('/pages/user/team')">
+			<view class="cate-item flex" @click="navto('/pages/index/artDetail')">
 				<view class="img-wrapper flex">
 					<image src="../../static/icon/in2.png" mode=""></image>
 				</view>
-				<view class="item-title">我的团队</view>
+				<view class="item-title">公司介绍</view>
 			</view>
 			<view class="cate-item flex" @click="openKf">
 				<view class="img-wrapper flex">
@@ -42,39 +45,104 @@
 				<view class="img-wrapper flex">
 					<image src="../../static/icon/in4.png" mode=""></image>
 				</view>
-				<view class="item-title">邀请好友</view>
+				<view class="item-title">邀请有礼</view>
 			</view>
 		</view>
 		<!-- 分类 ed -->
 		<view class="jg">
 
 		</view>
-		<!-- 商品列表 start -->
+		<!-- 爆款商品列表 start -->
+		<view class="hot-wrap">
+			<view class="hot-top-box flex">
+				<view class="hot-top flex">
+					<image src="../../static/icon/bkq.png" mode=""></image>
+					<view class="">
+						爆款区
+					</view>
+				</view>
+				<view class="hot-right" @click="navTo('/pages/product/classify?type=1')">
+					<view class="">
+						更多
+					</view>
+					<image src="../../static/icon/back.png" mode=""></image>
+				</view>
+			</view>
+			<view class="commodity flex">
+				<view class="commodity-item" v-for="(item, index) in firstList" :key="item.id"
+					@click="navTo('/pages/product/product?id=' + item.id+'&isvip=1')">
+					<image class="commodity-image" :src="item.image" mode=""></image>
+					<view class="commodity-title clamp">{{ item.store_name }}</view>
+					<view class="vip-price">
+						¥{{ item.price*1 }}<text class="price">¥200</text>
+					</view>
+				</view>
+			</view>
+		</view>
+		<!-- 爆款商品列表 ed-->
+		<view class="jg"></view>
+		<!-- 进货商品列表 start -->
 		<view class="hot-wrap">
-			<view class="hot-top flex">
-				<image src="../../static/icon/hhh.png" mode=""></image>
-				<view class="">
-					热销推荐
+			<view class="hot-top-box flex">
+				<view class="hot-top flex">
+					<image src="../../static/icon/hhh.png" mode=""></image>
+					<view class="">
+						进货区
+					</view>
+				</view>
+				<view class="hot-right" @click="navTo('/pages/product/classify?type=2')">
+					<view class="">
+						更多
+					</view>
+					<image src="../../static/icon/back.png" mode=""></image>
 				</view>
 			</view>
-			<view class="hot-list">
-				<view class="good" v-for="item in firstList" @click="navTo('/pages/product/product?id=' + item.id)">
-					<image :src="item.image" mode="" class="good-img"></image>
-					<view class="good-tit">
-						{{item.store_name}}
+			<view class="commodity flex">
+				<view class="commodity-item" v-for="(item, index) in firstList" :key="item.id"
+					@click="navTo('/pages/product/product?id=' + item.id+'&isvip=1')">
+					<image class="commodity-image" :src="item.image" mode=""></image>
+					<view class="commodity-title clamp">{{ item.store_name }}</view>
+					<view class="vip-price">
+						¥{{ item.price*1 }}<text class="price">¥200</text>
 					</view>
-					<view class="good-cz flex">
-						<view class="price">
-							<text class="xy">¥</text> <text>{{item.price}}</text><text class="old-price">¥{{item.ot_price}}</text>
+				</view>
+			</view>
+		</view>
+		<!-- 进货商品列表 ed-->
+		<view class="jg"></view>
+		<!-- 普通商品列表start -->
+		<view class="goodsList">
+			<view class="goodsList-title">
+				<image src="../../static/icon/title.png" mode=""></image>
+			</view>
+			<view class="goodsList-box">
+				<view class="goodsList-item flex" :key="ind" v-for="(ls, ind) in firstList"
+					@click="navTo('/pages/product/product?id=' + ls.id)">
+					<image :src="ls.image" mode=" scaleToFill"></image>
+					<view class="goodsList-content">
+						<view class="title clamp2">
+							<text>{{ ls.store_name }}</text>
 						</view>
-						<view class="cz-btn">
-							立即抢购
+						<view class="goods-money flex">
+							<view class="money-box">
+								<view class="old-price" v-if="ls.ot_price * 1 > ls.price * 1">
+									<text class="old-left">¥{{ ls.ot_price }}</text>
+									<image src="../../static/icon/down.png" mode="widthFix"></image>
+									<text class="old-right">直降{{ ls.ot_price * 1 - ls.price * 1 }}元</text>
+								</view>
+								<view class="otMoney-box flex">
+									<view class="otMoney">¥{{ ls.price }}</view>
+									<view class="goodsList-btn">
+										立即购买
+									</view>
+								</view>
+							</view>
 						</view>
 					</view>
 				</view>
 			</view>
 		</view>
-		<!-- 商品列表 ed-->
+		<!-- 普通商品列表end -->
 		<uni-popup ref="popupkf" type="center">
 			<view class="popup-box">
 				<view class="img">
@@ -148,7 +216,7 @@
 				shopList: [],
 				period: 1,
 				shareImage: '',
-				fgList: '',//复购商品
+				fgList: '', //复购商品
 			};
 		},
 		computed: {
@@ -163,7 +231,7 @@
 			let shareObj = {}
 			if (this.userInfo.uid) {
 				shareObj = {
-					title: this.userInfo.nickname + '邀请您加入博晟美业', // 默认是小程序的名称(可以写slogan等)
+					title: this.userInfo.nickname + '邀请您加入华中康新堂', // 默认是小程序的名称(可以写slogan等)
 					path: url + '?scene=' + this.userInfo.uid, // 默认是当前页面,必须是以‘/’开头的完整路径
 					imageUrl: '',
 					success: function(res) {
@@ -181,7 +249,7 @@
 				};
 			} else {
 				shareObj = {
-					title: '博晟美业', // 默认是小程序的名称(可以写slogan等)
+					title: '华中康新堂', // 默认是小程序的名称(可以写slogan等)
 					path: url, // 默认是当前页面,必须是以‘/’开头的完整路径
 					imageUrl: '',
 					success: function(res) {
@@ -398,13 +466,30 @@
 	page {
 		min-height: 100%;
 		height: auto;
+		background: #ffffff;
+	}
+
+	.top-bg {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		width: 750rpx;
+		height: 346rpx;
+
+		image {
+			width: 100%;
+			height: 100%;
+		}
 	}
 
 	// 顶部搜索
 	.top-search {
+		position: relative;
+		z-index: 2;
 		height: 80rpx;
 		padding: 0 20rpx;
-		background-color: #fff;
+		// background-color: #fff;
 
 		.top-logo {
 			width: 50rpx;
@@ -421,8 +506,8 @@
 			justify-content: center;
 			width: 698rpx;
 			height: 60rpx;
-			background: #EEEEEE;
-			// box-shadow: 0px 10rpx 20rpx 0px rgba(4, 114, 69, 0.22);
+			background: rgba(#ffffff, 0.47);
+			box-shadow: 0rpx 9rpx 21rpx 0rpx rgba(4, 114, 69, 0.22);
 			border-radius: 30rpx;
 
 			.search {
@@ -435,20 +520,20 @@
 				font-size: 28rpx;
 				font-family: PingFang SC;
 				font-weight: 500;
-				color: #CBCBCB;
+				color: #FFFFFF;
 			}
 		}
 	}
 
 	// 顶部轮播图
 	.top-swiper {
-		width: 750rpx;
-		height: 360rpx;
+		margin: 20rpx auto 0;
+		width: 700rpx;
+		border-radius: 14rpx;
 
-		// margin: 20rpx 0 0;
 		image {
-			width: 750rpx;
-			height: 360rpx;
+			width: 700rpx;
+			height: 300rpx;
 		}
 	}
 
@@ -483,6 +568,7 @@
 		justify-content: space-around;
 		background-color: #fff;
 		padding: 30rpx 0 30rpx;
+
 		.cate-item {
 			flex-grow: 0;
 			width: 20%;
@@ -492,7 +578,7 @@
 			justify-content: center;
 
 			.img-wrapper {
-				width:123rpx;
+				width: 123rpx;
 				height: 123rpx;
 				border-radius: 20rpx;
 				position: relative;
@@ -515,72 +601,100 @@
 			}
 		}
 	}
-.hot-wrap {
-	.hot-top {
-		width: 750rpx;
-		height: 174rpx;
-		background: linear-gradient(#FFFFFF, rgba(255,255,255,0));
-		padding: 0rpx 22rpx 75rpx;
-		justify-content: flex-start;
-		font-size: 32rpx;
-		font-weight: 800;
-		color: #000000;
-		image {
-			width: 36rpx;
-			height: 36rpx;
-			margin-right: 12rpx;
+
+	.hot-wrap {
+		.hot-top-box {
+			width: 750rpx;
+			padding: 40rpx 22rpx 0rpx;
+			background: linear-gradient(#FFFFFF, rgba(255, 255, 255, 0));
 		}
-	}
-	.hot-list {
-		margin-top: -70rpx;
-		.good {
-			width: 704rpx;
-			background: #FFFFFF;
-			border-radius: 20rpx;
-			margin:0 auto 30rpx;
-			.good-img {
-				width: 704rpx;
-				height: 330rpx;
-				background: #D4D4E1;
-				border-radius: 20rpx 20rpx 0rpx 0rpx;
+
+		.hot-top {
+			justify-content: flex-start;
+			font-size: 32rpx;
+			font-weight: 800;
+			color: #000000;
+
+			image {
+				width: 36rpx;
+				height: 36rpx;
+				margin-right: 12rpx;
 			}
-			.good-tit {
-				padding:10rpx 20rpx;
-				font-size: 30rpx;
-				font-weight: bold;
-				color: #000000;
+		}
+
+		.hot-right {
+			display: flex;
+			align-items: center;
+			justify-content: flex-end;
+			font-size: 24rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #9A9A9A;
+
+			image {
+				width: 12rpx;
+				height: 21rpx;
+				margin-left: 12rpx;
 			}
-			.good-cz {
-				padding: 0 20rpx 23rpx 23rpx;
-				.price {
-					font-size: 42rpx;
+		}
+
+		.commodity {
+			background: #ffffff;
+			border-radius: 8rpx;
+			margin: 20rpx 0 0;
+			flex-wrap: wrap;
+			justify-content: flex-start;
+
+			.commodity-item {
+				width: 33%;
+				display: flex;
+				flex-direction: column;
+				align-items: center;
+
+				.commodity-image {
+					width: 208rpx;
+					height: 208rpx;
+					border-radius: 10rpx;
+					background: #E7E2E2;
+				}
+
+				.commodity-title {
+					margin-top: 14rpx;
+					width: 208rpx;
+					font-size: 24rpx;
+					font-family: PingFang SC;
 					font-weight: bold;
-					color: #FF4C4C;
-					.xy {
-						font-size: 24rpx;
-					}
-					.old-price {
-						font-size: 26rpx;
+					color: #3f3f3f;
+				}
+
+				.price {
+					width: 208rpx;
+					font-size: 24rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #999999;
+				}
+
+				.vip-price {
+					width: 208rpx;
+					font-size: 24rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #9C0B18;
+
+					.price {
+						font-size: 20rpx;
+						font-family: PingFang SC;
 						font-weight: 500;
 						text-decoration: line-through;
-						color: #999999;
-						margin-left: 18rpx;
+						color: #9A9A9A;
 					}
 				}
-				.cz-btn {
-					width: 172rpx;
-					line-height: 60rpx;
-					background: linear-gradient(180deg, #3C82E6, #5395F5);
-					border-radius: 10rpx;
-					font-size: 26rpx;
-					font-weight: 500;
-					color: #FFFFFF;
-					text-align: center;
-				}
 			}
 		}
+
 	}
-}
+
 	.popup-box {
 		width: 522rpx;
 		height: 605rpx;
@@ -668,4 +782,112 @@
 			}
 		}
 	}
-</style>
+
+	.goodsList {
+		background: #FFFFFF;
+		padding-top: 41rpx;
+
+		.goodsList-title {
+			margin: 0 auto 32rpx;
+			width: 376rpx;
+			height: 34rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
+		}
+	}
+
+	.goodsList-box {
+		background: #FFFFFF;
+
+		.goodsList-item {
+			margin: 0 auto 20rpx;
+			width: 690rpx;
+			background: #FFFFFF;
+			box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(50, 50, 52, 0.06);
+			border-radius: 10rpx;
+			background-color: #ffffff;
+			padding: 20rpx;
+
+			image {
+				flex-shrink: 0;
+				border-radius: $border-radius-sm;
+				height: 180rpx;
+				width: 180rpx;
+			}
+
+			.goodsList-content {
+				margin-left: 20rpx;
+				flex-grow: 1;
+				height: 180rpx;
+				position: relative;
+
+				.title {
+					font-size: $font-base;
+					color: $font-color-dark;
+					font-weight: 500;
+				}
+
+				.goods-money {
+					position: absolute;
+					left: 0;
+					bottom: 0;
+					width: 100%;
+
+					.money-box {
+						image {
+							width: 14rpx;
+							margin: 0 6rpx 0 10rpx;
+						}
+
+						.old-price {
+							.old-left {
+								font-size: 26rpx;
+								font-weight: 500;
+								text-decoration: line-through;
+								color: #999999;
+							}
+
+							.old-right {
+								font-size: 24rpx;
+								font-weight: bold;
+								color: #b59467;
+							}
+						}
+
+					}
+
+					.otMoney-box {
+
+						.otMoney {
+							font-size: 36rpx;
+							color: #9C0B18;
+							padding-right: 20rpx;
+						}
+
+					}
+
+				}
+
+				.goodsList-btn {
+					position: absolute;
+					bottom: 0;
+					right: 0;
+					width: 137rpx;
+					height: 52rpx;
+					background: #9c0b18;
+					border-radius: 26rpx;
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					font-size: 26rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #FFFFFF;
+				}
+			}
+		}
+	}
+</style>

+ 391 - 202
pages/money/recharge.vue

@@ -1,17 +1,27 @@
 <template>
 	<view class="content">
+		<view class="yue">
+			<view class="font">当前余额</view>
+			<view class="money">¥{{ userInfo.now_money | getMoneyStyle }}</view>
+		</view>
 		<view class="row-box">
 			<view class="title">充值金额</view>
 			<view class="row">
 				<text class="tit">¥</text>
-				<input class="input" type="number" v-model="money" placeholder="请输入充值金额" placeholder-class="placeholder" />
+				<input class="input" type="number" v-model="money" placeholder="请选择充值金额" placeholder-class="placeholder"
+					disabled />
+			</view>
+			<view class="xian"></view>
+			<view class="moneyBtn-box">
+				<view class="moneyBtn" v-for="(item, index) in moneyList" :class="{ current: choose == index }"
+					:key="index" @click="changemoney(item.price, index,item.id)">{{ item.price }}元</view>
 			</view>
 		</view>
 
-		<view class="list">
+		<view class="list" v-if="!weichatBsrowser">
 			<radio-group @change="tabRadio">
 				<!-- #ifdef APP-PLUS -->
-				<label>
+				<!-- <label>
 					<view class="box">
 						<view class="icon iconfont iconzhifubao"></view>
 						<view class="title-box">
@@ -19,246 +29,425 @@
 						</view>
 						<view class="right"><radio value="alipay" color="#5dbc7c" :checked="type == 'alipay'" /></view>
 					</view>
-				</label>
+				</label> -->
+				<!-- #endif -->
 				<label>
 					<view class="box">
 						<view class="icon iconfont iconweixin1"></view>
 						<view class="title-box">
 							<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 { getMoneyStyle } from '@/utils/rocessor.js';
-// #ifdef H5
-import { rechargeWechat } from '@/api/wallet.js';
-// #endif
-// #ifdef MP
-import { rechargeRoutine } from '@/api/wallet.js';
-// #endif
-import { mapState } from 'vuex';
-export default {
-	filters: {
+	import uniPopup from '@/components/uni-popup/uni-popup.vue';
+	import {
 		getMoneyStyle
-	},
-	data() {
-		return {
-			type: 'weixin',
-			money: '', //充值金额
-			payLoding: false //是否加载中
-		};
-	},
-	onLoad(options) {},
-	computed: {
-		// #ifdef H5
-		...mapState(['weichatObj'])
-		// #endif
-	},
-	methods: {
-		// 跳转
-		navTo(url) {
-			uni.navigateTo({
-				url: url
-			});
+	} from '@/utils/rocessor.js';
+	import {
+		rechargeWechat,
+	} from '@/api/wallet.js';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import {
+		getUserInfo
+	} from '@/api/login.js';
+	export default {
+		components: {
+			uniPopup
+		},
+		filters: {
+			getMoneyStyle
 		},
-		// 切换选中对象
-		tabRadio(e) {
-			this.type = e;
+		data() {
+			return {
+				moneyList: [{
+					price: '300'
+				}, {
+					price: '200'
+				}, {
+					price: '150'
+				}, {
+					price: '100'
+				}, {
+					price: '50'
+				}],
+				choose: -1,
+				// #ifdef APP-PLUS
+				type: 'weixinapp',
+				// #endif
+				// #ifdef H5
+				type: 'weixin',
+				// #endif
+				money: '', //充值金额
+				payLoding: false, //是否加载中
+				// #ifdef H5
+				weichatBsrowser: false,
+				// #endif
+				// #ifdef APP-PLUS
+				weichatBsrowser: true,
+				// #endif
+				nowmoney: 0,
+				card: '',
+				pwd: '',
+				chooseId: '',
+
+			};
 		},
-		// 提交
-		confirm() {
-			let obj = this;
-			obj.payLoding = true;
+		onLoad(options) {
 			// #ifdef H5
-			rechargeWechat({ price: this.money, from: this.type })
-				.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);
-				});
+			this.weichatBsrowser = uni.getStorageSync('weichatBrowser');
 			// #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'
-									});
-								},
-								
-							})
-					
-					obj.payLoding = false;
-				})
-				.catch(e => {
-					obj.payLoding = false;
-					console.log(e);
-				});
+		},
+		computed: {
+
+			// #ifdef H5
+			...mapState(['weichatObj']),
 			// #endif
+			...mapState('user', ['userInfo'])
 		},
-		//获取订单列表
-		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);
+		methods: {
+			...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
+			// 跳转
+			navTo(url) {
+				uni.navigateTo({
+					url: url
 				});
-				//loaded新字段用于表示数据加载完毕,如果为空可以显示空白页
-				this.$set(navItem, 'loaded', true);
-				//判断是否还有数据, 有改为 more, 没有改为noMore
-				navItem.loadingType = 'more';
-			}, 600);
+			},
+			// 切换选中对象
+			tabRadio(e) {
+				this.type = e;
+			},
+			// 提交
+			confirm() {
+				let obj = this;
+				obj.payLoding = true;
+				if (this.money <= 0) {
+					uni.showToast({
+						title: '请输入金额',
+						duration: 2000,
+						icon: 'none'
+					});
+					return
+				}
+				rechargeWechat({
+						price: this.money,
+						from: this.type,
+						rechar_id: this.chooseId
+					})
+					.then(e => {
+						console.log(e);
+						// #ifdef H5
+						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'
+								});
+								getUserInfo()
+									.then(({
+										data
+									}) => {
+										obj.setUserInfo(data);
+									})
+									.catch(e => {
+										console.log(e);
+									});
+							}
+						});
+						// #endif
+						// #ifdef APP-PLUS
+						uni.requestPayment({
+							provider: 'wxpay',
+							orderInfo: e.data.data,
+							success: function() {
+								uni.showToast({
+									title: '充值成功',
+									duration: 2000,
+									position: 'top'
+								});
+								getUserInfo()
+									.then(({
+										data
+									}) => {
+										obj.setUserInfo(data);
+									})
+									.catch(e => {
+										console.log(e);
+									});
+							},
+							fail(e) {
+								console.log(e);
+							}
+						});
+						// #endif
+						obj.payLoding = false;
+					})
+					.catch(e => {
+						obj.payLoding = false;
+						console.log(e);
+					});
+			},
+			comfirm() {
+				let obj = this
+				verification({
+					card_number: this.card,
+					card_password: this.pwd,
+					is_confirm: 1,
+					type: 1,
+				}).then(e => {
+					console.log(e)
+					this.card = '';
+					this.pwd = '';
+					getUserInfo()
+						.then(({
+							data
+						}) => {
+							obj.setUserInfo(data);
+						})
+						.catch(e => {
+							console.log(e);
+						});
+				}).catch(e => {
+					console.log(e)
+				})
+				this.$refs.popup.close();
+			},
+			//获取订单列表
+			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);
+			},
+			changemoney(item, index, id) {
+				this.choose = index;
+				this.money = item;
+				this.chooseId = id
+			}
 		}
-	}
-};
+	};
 </script>
 
 <style lang="scss">
-page {
-	height: 100%;
-}
-
-.add-btn {
-	&.modified {
-		color: $base-color;
-	}
-	&.up {
-		background-color: $base-color;
-		color: #fff;
-	}
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	width: 690rpx;
-	height: 80rpx;
-	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;
+	page {
+		height: 100%;
 	}
-	.row {
+
+	.yue {
 		display: flex;
-		align-items: center;
-		position: relative;
-		height: 80rpx;
-		.tit {
-			flex-shrink: 0;
-			width: 40rpx;
-			font-size: 30rpx;
-			color: $font-color-dark;
+		justify-content: space-between;
+		padding: 30rpx 48rpx 30rpx 26rpx;
+		background: #ffffff;
+
+		.font {
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #333333;
 		}
-		.input {
-			flex: 1;
+
+		.money {
 			font-size: 30rpx;
-			color: $font-color-dark;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #ff6f0f;
 		}
-		.iconlocation {
-			font-size: 36rpx;
-			color: $font-color-light;
+	}
+
+	.add-btn {
+		&.modified {
+			color: $base-color;
 		}
 
-		.buttom {
-			color: $font-color;
-			font-size: $font-base;
+		&.up {
+			background-color: $base-color;
+			color: #fff;
 		}
+
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		width: 690rpx;
+		height: 80rpx;
+		margin: 0 auto;
+		margin-top: 30rpx;
+		font-size: $font-lg;
+		border-radius: 10rpx;
+		// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
 	}
-}
-.list {
-	padding-left: 30rpx;
-	margin-top: 30rpx;
-	background-color: #ffffff;
-	.box {
+
+	.card {
+		background: #ffffff;
+		border: 1px solid $base-color;
+		color: $base-color;
 		display: flex;
 		align-items: center;
-		width: 100%;
-		height: 120rpx;
-		border-bottom: 1px solid $border-color-light;
-		.icon {
-			font-size: 48rpx;
-			padding-right: 20rpx;
+		justify-content: center;
+		width: 690rpx;
+		height: 80rpx;
+		margin: 30rpx auto 0;
+		font-size: $font-lg;
+		border-radius: 10rpx;
+	}
+
+	.row-box {
+		margin-top: 30rpx;
+		padding: 20rpx 0rpx 20rpx 30rpx;
+		background: #fff;
+
+		.title {
+			font-size: $font-base + 2rpx;
+			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;
+			}
+
+			.iconlocation {
+				font-size: 36rpx;
+				color: $font-color-light;
+			}
+
+			.buttom {
+				color: $font-color;
+				font-size: $font-base;
+			}
 		}
-		.iconweixin1 {
-			color: #18bf16;
+
+		.xian {
+			width: 700rpx;
+			height: 1rpx;
+			background: #e6e6e6;
+			margin-bottom: 16rpx;
 		}
-		.iconzhifubao {
-			color: #08aaec;
+
+		.moneyBtn-box {
+			display: flex;
+			justify-content: flex-start;
+			flex-wrap: wrap;
+
+			.moneyBtn {
+				margin-right: 30rpx;
+				width: 210rpx;
+				height: 70rpx;
+				background: #f0f0f0;
+				border-radius: 4px;
+				margin-top: 30rpx;
+				text-align: center;
+				line-height: 70rpx;
+			}
 		}
-		.title-box {
-			flex-grow: 1;
-			text-align: left;
-			.title {
-				font-size: $font-base + 2rpx;
-				color: $font-color-base;
+	}
+
+	.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;
+
+			.icon {
+				font-size: 48rpx;
+				padding-right: 20rpx;
 			}
-			.node {
-				font-size: $font-sm;
-				color: $font-color-light;
+
+			.iconweixin1 {
+				color: #18bf16;
+			}
+
+			.iconzhifubao {
+				color: #08aaec;
+			}
+
+			.title-box {
+				flex-grow: 1;
+				text-align: left;
+
+				.title {
+					font-size: $font-base + 2rpx;
+					color: $font-color-base;
+				}
+
+				.node {
+					font-size: $font-sm;
+					color: $font-color-light;
+				}
 			}
 		}
 	}
-}
-/deep/ .uni-radio-input {
-	width: 45rpx;
-	height: 45rpx;
-}
-
-.active-bg {
-	background-color: $color-gray !important;
-}
-</style>
+
+	/deep/ .uni-radio-input {
+		width: 45rpx;
+		height: 45rpx;
+	}
+
+	.active-bg {
+		background-color: $color-gray !important;
+	}
+
+	.current {
+		background: $base-color !important;
+		color: #fff;
+	}
+</style>

+ 0 - 317
pages/money/wallet.vue

@@ -1,317 +0,0 @@
-<template>
-	<view class="content">
-		<view class="content-money">
-			<view class="money-box">
-				<view class="text">可提现金额(元)</view>
-				<view class="money">{{ money | getMoneyStyle }}</view>
-			</view>
-			<view class="moneyTx" @click="navto('/pages/money/recharge')">充值</view>
-			<view class="flex buttom-box">
-				<view class="buttom" @click="navto('/pages/money/recharge')">
-					<view class="icon"><image class="icon-img" src="/static/icon/i5.png" mode="aspectFit"></image></view>
-					<text>充值</text>
-				</view>
-				<view class="interval"></view>
-				<view class="buttom" @click="navto('/pages/money/withdrawal')">
-					<view class="icon"><image class="icon-img" src="/static/icon/i1.png" mode="aspectFit"></image></view>
-					<text>提现</text>
-				</view>
-			</view>
-		</view>
-		<view class="navbar">
-			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
-		</view>
-		<swiper :current="tabCurrentIndex" :style="{'height':maxheight+'px'}" class="swiper-box" duration="300" @change="changeTab">
-			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
-				<scroll-view class="list-scroll-content" scroll-y @scrolltolower="loadData">
-					<!-- 空白页 -->
-					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-
-					<!-- 订单列表 -->
-					<view v-for="(item, index) in tabItem.orderList" :key="index" class="order-item flex">
-						<view class="title-box">
-							<view class="title">
-								<text>{{ item.title }}</text>
-							</view>
-							<view class="time">
-								<text>{{ item.add_time }}</text>
-							</view>
-						</view>
-						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
-						</view>
-					</view>
-					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-import { spreadCommission, userBalance } from '@/api/wallet.js';
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import empty from '@/components/empty';
-export default {
-	filters: {
-		getMoneyStyle
-	},
-	components: {
-		empty,
-		uniLoadMore
-	},
-	onReady() {
-		// 初始化获取页面宽度
-		uni.createSelectorQuery()
-			.select('.content')
-			.fields(
-				{
-					size: true
-				},
-				data => {
-					console.log(data);
-					console.log(Math.floor((data.width / 750) * 300));
-					// 保存头部高度
-					this.maxheight =data.height - Math.floor((data.width / 750) * 570);
-					console.log(this.maxheight);
-				}
-			)
-			.exec();
-	},
-	data() {
-		return {
-			// 头部图高度
-			maxheight:'',
-			tabCurrentIndex: 0,
-			navList: [
-				{
-					state: 0,
-					text: '全部',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 1,
-					text: '支出',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 2,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				}
-			],
-			money: ''
-		};
-	},
-	onLoad(options) {},
-	onShow() {
-		this.loadData();
-		// 获取用户余额
-		userBalance({}).then(({ data }) => {
-			this.money = data.now_money;
-		});
-	},
-	methods: {
-		// 页面跳转
-		navto(e) {
-			uni.navigateTo({
-				url: e
-			});
-		},
-		//获取收入支出信息
-		async loadData(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';
-
-			spreadCommission(
-				{
-					page: navItem.page,
-					limit: navItem.limit
-				},
-				state
-			)
-				.then(({ data }) => {
-					if (data.length > 0) {
-						navItem.orderList = navItem.orderList.concat(data[0].list);
-						console.log(navItem.orderList);
-						navItem.page++;
-					}
-					if (navItem.limit == data.length) {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'more';
-						return;
-					} else {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'noMore';
-					}
-					uni.hideLoading();
-					this.$set(navItem, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
-		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: #ffffff;
-	height: 100%;
-}
-.content-money {
-	padding-bottom: 30rpx;
-	background: $page-color-base;
-	.moneyTx {
-		position: absolute;
-		top: 150rpx;
-		right: 0rpx;
-		width: 150rpx;
-		padding: 10rpx 30rpx;
-		border: 2px solid #ffffff;
-		border-top-left-radius: 99rpx;
-		border-bottom-left-radius: 99rpx;
-		color: #ffffff;
-		line-height: 1;
-		font-size: $font-base;
-	}
-	.buttom-box {
-		background-color: #ffffff;
-		text-align: center;
-		margin: 0 30rpx;
-		padding: 20rpx 0;
-		border-radius: $border-radius-sm;
-		margin-top: -60rpx;
-		.buttom {
-			font-size: $font-lg;
-			flex-grow: 1;
-		}
-		.interval {
-			width: 2px;
-			height: 60rpx;
-			background-color: #eeeeee;
-		}
-		.icon {
-			height: 50rpx;
-			width: 48rpx;
-			margin: 0 auto;
-			.icon-img {
-				width: 100%;
-				height: 100%;
-			}
-		}
-	}
-}
-.money-box {
-	background-color: $base-color;
-	padding-top: var(--status-bar-height);
-	height: 368rpx;
-	color: #ffffff;
-	text-align: center;
-	.text {
-		padding-top: 147rpx;
-		font-size: $font-sm;
-	}
-	.money {
-		font-size: 56rpx;
-	}
-}
-
-.navbar {
-	display: flex;
-	height: 40px;
-	padding: 0 5px;
-	background: #fff;
-	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
-	position: relative;
-	z-index: 10;
-	.nav-item {
-		flex: 1;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 15px;
-		color: $font-color-dark;
-		position: relative;
-		&.current {
-			color: $base-color;
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 44px;
-				height: 0;
-				border-bottom: 2px solid $base-color;
-			}
-		}
-	}
-}
-// 列表
-
-.swiper-box {
-	padding-top: 10rpx;
-	.order-item {
-		padding: 20rpx 30rpx;
-		line-height: 1.5;
-		.title-box {
-			.title {
-				font-size: $font-lg;
-				color: $font-color-base;
-			}
-			.time {
-				font-size: $font-base;
-				color: $font-color-light;
-			}
-		}
-		.money {
-			color: #fd5b23;
-			font-size: $font-lg;
-		}
-	}
-}
-.list-scroll-content {
-	height: 100%;
-}
-.content {
-	height: 100%;
-	.empty-content {
-		background-color: #ffffff;
-	}
-}
-</style>

+ 185 - 161
pages/product/classify.vue

@@ -1,43 +1,26 @@
 <template>
 	<view class="container">
-		<!-- 头部轮播 -->
-		<view class="carousel-section">
-			<swiper class="carousel" autoplay="true" duration="400" interval="5000">
-				<swiper-item v-for="(item, index) in bannerImg" :key="index" class="carousel-item" @click="bannerNavToUrl(item)">
-					<image :src="item.img" mode=" scaleToFill" />
-				</swiper-item>
-			</swiper>
-		</view>
-		<view class="type-title-box flex">
-			<view class="title-border"></view>
-			<view class="title-content">
-				<text v-if="type == 1">精品推荐</text>
-				<text v-if="type == 2">热门榜单</text>
-				<text v-if="type == 3">首发新品</text>
-				<text v-if="type == 4">促销单品</text>
-			</view>
-			<view class="title-border"></view>
-		</view>
-
 		<view class="goodsList-box">
-			<view class="goodsList-item flex" :key="ind" v-for="(ls, ind) in list">
+			<view class="goodsList-item flex" :key="ind" v-for="(ls, ind) in firstList" @click="navTo(ls)">
 				<image :src="ls.image" mode=" scaleToFill"></image>
 				<view class="goodsList-content">
-					<view class="title">
+					<view class="title clamp2">
 						<text>{{ ls.store_name }}</text>
 					</view>
 					<view class="goods-money flex">
 						<view class="money-box">
-							<view class="money">
-								<text class="font-size-sm">¥</text>
-								{{ ls.price }}
+							<view class="old-price" v-if="ls.ot_price * 1 > ls.price * 1">
+								<text class="old-left">¥{{ ls.ot_price }}</text>
+								<image src="../../static/icon/down.png" mode="widthFix"></image>
+								<text class="old-right">直降{{ ls.ot_price * 1 - ls.price * 1 }}元</text>
 							</view>
-							<view class="otMoney-box">
-								<text class="otMoney">¥{{ ls.ot_price }}</text>
-								<text class="sales">已售{{ ls.sales }}件</text>
+							<view class="otMoney-box flex">
+								<view class="otMoney">¥{{ ls.price }}</view>
+								<view class="goodsList-btn">
+									立即购买
+								</view>
 							</view>
 						</view>
-						<view @click="navTo(ls)" class="cart iconfont iconcart"></view>
 					</view>
 				</view>
 			</view>
@@ -46,159 +29,200 @@
 </template>
 
 <script>
-import { groomList } from '@/api/product.js';
-export default {
-	data() {
-		return {
-			list: [],
-			bannerImg: []
-		};
-	},
-	onLoad(option) {
-		// 获取查询对象
-		this.type = option.type;
-		// 加载基础数据
-		this.loadData();
-	},
-	methods: {
-		navTo: function(ls) {
-			uni.navigateTo({
-				url: '/pages/product/product?id=' + ls.id
-			});
+	import {
+		groomList
+	} from '@/api/product.js';
+	export default {
+		data() {
+			return {
+				list: [],
+				bannerImg: []
+			};
 		},
-		// 请求载入数据
-		async loadData() {
-			groomList({}, this.type)
-				.then(({ data }) => {
-					// 保存轮播图
-					this.bannerImg = data.banner;
-					// 保存商品信息
-					this.list = data.list;
-				})
-				.catch(e => {
-					console.log(e);
-				});
+		onLoad(option) {
+			// 获取查询对象
+			this.type = option.type;
+			// 加载基础数据
+			this.loadData();
 		},
-		// 轮播图跳转
-		bannerNavToUrl(item) {
-			// #ifdef H5
-			if (item.wap_link.indexOf('http') > 0) {
-				window.location.href = item.wap_link;
-			}
-			// #endif
-			if (item.wap_link) {
+		methods: {
+			navTo: function(ls) {
 				uni.navigateTo({
-					url: item.wap_link
+					url: '/pages/product/product?id=' + ls.id + '&isvip=1'
 				});
+			},
+			// 请求载入数据
+			async loadData() {
+				groomList({}, this.type)
+					.then(({
+						data
+					}) => {
+						// 保存轮播图
+						this.bannerImg = data.banner;
+						// 保存商品信息
+						this.list = data.list;
+					})
+					.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
+					});
+				}
 			}
 		}
-	}
-};
+	};
 </script>
 
 <style lang="scss">
-page {
-	background: $page-color-base;
-}
-.carousel-section {
-	padding: 0;
-	.titleNview-placing {
-		padding-top: 0;
-		height: 0;
-	}
-	.swiper-dots {
-		left: 45rpx;
-		bottom: 40rpx;
+	page {
+		background: $page-color-base;
 	}
-	.carousel {
-		width: 100%;
-		height: 360rpx;
-		.carousel-item {
-			width: 100%;
-			height: 100%;
-			overflow: hidden;
+
+	.carousel-section {
+		padding: 0;
+
+		.titleNview-placing {
+			padding-top: 0;
+			height: 0;
+		}
+
+		.swiper-dots {
+			left: 45rpx;
+			bottom: 40rpx;
 		}
-		image {
+
+		.carousel {
 			width: 100%;
-			height: 100%;
+			height: 360rpx;
+
+			.carousel-item {
+				width: 100%;
+				height: 100%;
+				overflow: hidden;
+			}
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
 		}
 	}
-}
-// 中间标题样式
-.type-title-box {
-	padding: 40rpx;
-	.title-content {
-		height: 100%;
-		width: 200rpx;
-		text-align: center;
-		font-size: $font-lg;
-		font-weight: 500;
-		color: $font-color-dark;
-	}
-	.title-border {
-		width: 250rpx;
-		height: 2rpx;
-		background-color: #e9e9e9;
-	}
-}
-// 商品列表
-.goodsList-box {
-	.goodsList-item {
-		margin-bottom: 40rpx;
-		background-color: #ffffff;
-		padding: 30rpx;
-		image {
-			flex-shrink: 0;
-			border-radius: $border-radius-sm;
-			height: 180rpx;
-			width: 180rpx;
+
+	// 中间标题样式
+	.type-title-box {
+		padding: 40rpx;
+
+		.title-content {
+			height: 100%;
+			width: 200rpx;
+			text-align: center;
+			font-size: $font-lg;
+			font-weight: 500;
+			color: $font-color-dark;
+		}
+
+		.title-border {
+			width: 250rpx;
+			height: 2rpx;
+			background-color: #e9e9e9;
 		}
-		.goodsList-content {
-			margin-left: 20rpx;
-			flex-grow: 1;
-			height: 180rpx;
-			position: relative;
-			.title {
-				font-size: $font-base;
-				color: $font-color-dark;
-				font-weight: 500;
+	}
+
+	// 商品列表
+	.goodsList-box {
+		.goodsList-item {
+			margin-bottom: 40rpx;
+			background-color: #ffffff;
+			padding: 30rpx;
+
+			image {
+				flex-shrink: 0;
+				border-radius: $border-radius-sm;
+				height: 180rpx;
+				width: 180rpx;
 			}
-			.goods-money {
-				position: absolute;
-				left: 0;
-				bottom: 0;
-				width:100%;
-				.money-box {
-					.money {
-						font-size: $font-lg;
-						color: $color-red;
-						font-weight: bold;
-					}
-					.otMoney-box {
-						font-size: $font-sm;
-						.otMoney {
-							color: $font-color-dark;
-							padding-right: 20rpx;
+
+			.goodsList-content {
+				margin-left: 20rpx;
+				flex-grow: 1;
+				height: 180rpx;
+				position: relative;
+
+				.title {
+					font-size: $font-base;
+					color: $font-color-dark;
+					font-weight: 500;
+				}
+
+				.goods-money {
+					position: absolute;
+					left: 0;
+					bottom: 0;
+					width: 100%;
+
+					.money-box {
+						image {
+							width: 14rpx;
+							margin: 0 6rpx 0 10rpx;
+						}
+
+						.old-price {
+							.old-left {
+								font-size: 26rpx;
+								font-weight: 500;
+								text-decoration: line-through;
+								color: #999999;
+							}
+
+							.old-right {
+								font-size: 24rpx;
+								font-weight: bold;
+								color: #b59467;
+							}
 						}
-						.sales {
-							color: $font-color-light;
+
+						.otMoney-box {
+							display: flex;
+							align-items: center;
+
+							.otMoney {
+								font-size: 36rpx;
+								color: $color-red;
+								padding-right: 20rpx;
+							}
+
+
 						}
 					}
-				}
-				.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;
+
+					.goodsList-btn {
+						position: absolute;
+						bottom: 0;
+						right: 0;
+						width: 137rpx;
+						height: 52rpx;
+						background: #9c0b18;
+						border-radius: 26rpx;
+						display: flex;
+						justify-content: center;
+						align-items: center;
+						font-size: 26rpx;
+						font-family: PingFang SC;
+						font-weight: 500;
+						color: #FFFFFF;
+					}
 				}
 			}
 		}
 	}
-}
-</style>
+</style>

+ 1064 - 940
pages/product/product.vue

@@ -3,7 +3,9 @@
 		<view class="carousel">
 			<swiper indicator-dots :circular="true" duration="400">
 				<swiper-item class="swiper-item" v-for="(item, index) in imgList" :key="index">
-					<view class="image-wrapper"><image :src="item" class="loaded" mode="scaleToFill"></image></view>
+					<view class="image-wrapper">
+						<image :src="item" class="loaded" mode="scaleToFill"></image>
+					</view>
 				</swiper-item>
 			</swiper>
 		</view>
@@ -12,23 +14,20 @@
 			<view class="title flex">
 				<view class="title-box">
 					<text class="price-tip">¥</text>
-					<text class="price" v-if="userInfo && userInfo.level == 1">{{ goodsObjact.vip_repurchase*1 || ''}}</text>
-					<text class="price" v-if="userInfo && userInfo.level == 2">{{ goodsObjact.agent_repurchase*1 || ''}}</text>
+					<text class="price"
+						v-if="userInfo && userInfo.level == 1">{{ goodsObjact.vip_repurchase*1 || ''}}</text>
+					<text class="price"
+						v-if="userInfo && userInfo.level == 2">{{ goodsObjact.agent_repurchase*1 || ''}}</text>
 					<text class="price" v-if="(!hasLogin || userInfo.level == 0)">{{ goodsObjact.price*1 }}</text>
-					<text class="m-price" v-if="goodsObjact.ot_price > goodsObjact.price">¥{{ goodsObjact.ot_price }}</text>
+					<text class="m-price"
+						v-if="goodsObjact.ot_price > goodsObjact.price">¥{{ goodsObjact.ot_price }}</text>
 					<!-- <text class="coupon-tip">7折</text> -->
 				</view>
 				<view class="flex timeStop">
 					<view>距离结束</view>
-					<uni-countdown
-						color="#ffffff"
-						background-color="#D65B3F"
-						splitor-color="#FFFFFF"
-						:show-day="false"
-						:hour="seckillObj.stopTimeH"
-						:minute="seckillObj.stopTimeM"
-						:second="seckillObj.stopTimeS"
-					></uni-countdown>
+					<uni-countdown color="#ffffff" background-color="#D65B3F" splitor-color="#FFFFFF" :show-day="false"
+						:hour="seckillObj.stopTimeH" :minute="seckillObj.stopTimeM"
+						:second="seckillObj.stopTimeS"></uni-countdown>
 				</view>
 			</view>
 		</view>
@@ -65,7 +64,8 @@
 		<view class="detail-desc">
 			<view class="d-header"><text>商品详情</text></view>
 			<rich-text class="detail-centent" :nodes="goodsObjact.description"></rich-text>
-			<view :class="{ contentBottomHeight: goodsType == 1 || goodsType == 2, goodsBottom: goodsType == 0 }"></view>
+			<view :class="{ contentBottomHeight: goodsType == 1 || goodsType == 2, goodsBottom: goodsType == 0 }">
+			</view>
 		</view>
 		<!-- 底部操作菜单 -->
 		<view class="page-bottom" v-if="goodsType == 0">
@@ -77,10 +77,12 @@
 					</view>
 				</view>
 				<view class="buy-now">
-					<button type="primary" class=" action-btn no-border buy-now-btn" @click.stop="toggleSpec(2)" v-if="isfg==0">加入购物车</button>
-					<button type="primary" class=" action-btn no-border  add-cart-btn" @click.stop="toggleSpec(1)">立即购买</button>
+					<button type="primary" class=" action-btn no-border buy-now-btn" @click.stop="toggleSpec(2)"
+						v-if="isvip==0">加入购物车</button>
+					<button type="primary" class=" action-btn no-border  add-cart-btn"
+						@click.stop="toggleSpec(1)">立即购买</button>
 				</view>
-				
+
 			</view>
 		</view>
 		<!-- 规格-模态层弹窗 -->
@@ -104,13 +106,8 @@
 				<view v-for="(item, index) in specList" :key="index" class="attr-list">
 					<text>{{ item.attr_name }}</text>
 					<view class="item-list">
-						<text
-							v-for="(childItem, childIndex) in item.attr_value"
-							:key="childIndex"
-							class="tit"
-							:class="{ selected: childItem.check }"
-							@click="selectSpec(childItem, item, index)"
-						>
+						<text v-for="(childItem, childIndex) in item.attr_value" :key="childIndex" class="tit"
+							:class="{ selected: childItem.check }" @click="selectSpec(childItem, item, index)">
 							{{ childItem.attr }}
 						</text>
 					</view>
@@ -118,7 +115,8 @@
 				<view class="attr-list" style="padding-bottom: 120rpx;">
 					<text>购买数量</text>
 					<view class="item-list">
-						<uni-number-box class="step" :isMin="true" :value="goodsNumber" :min="1" :max="goodsNumberMax" @eventChange="numberChange"></uni-number-box>
+						<uni-number-box class="step" :isMin="true" :value="goodsNumber" :min="1" :max="goodsNumberMax"
+							@eventChange="numberChange"></uni-number-box>
 					</view>
 				</view>
 				<button class="btn" @click.stop="buy">确定</button>
@@ -131,1040 +129,1166 @@
 </template>
 
 <script>
-// import share from '@/components/share';
-import uniNumberBox from '@/components/uni-number-box.vue';
-import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
-import { goodsDetail, cartAdd, collectAdd, collectDel, seckillGoods, groupGoods } from '@/api/product.js';
-// #ifdef H5
-import { weixindata,shareLoad } from '@/utils/wxAuthorized';
-import weixinObj from "@/plugin/jweixin-module/index.js";
-import { userInfo } from 'os';
-// #endif
+	// import share from '@/components/share';
+	import uniNumberBox from '@/components/uni-number-box.vue';
+	import uniCountdown from '@/components/uni-countdown/uni-countdown.vue';
+	import {
+		goodsDetail,
+		cartAdd,
+		collectAdd,
+		collectDel,
+		seckillGoods,
+		groupGoods
+	} from '@/api/product.js';
+	// #ifdef H5
+	import {
+		weixindata,
+		shareLoad
+	} from '@/utils/wxAuthorized';
+	import weixinObj from "@/plugin/jweixin-module/index.js";
+	import {
+		userInfo
+	} from 'os';
+	// #endif
 	import {
 		mapState,
 		mapMutations
 	} from 'vuex';
-export default {
-	components: {
-		uniNumberBox,
-		uniCountdown
-	},
-	filters: {
-		address(val) {
-			let str = '';
-			if (val) {
-				str = val[0] + ' ' + val[1];
-			}
-			return str;
-		}
-	},
-	data() {
-		return {
-			isfg: 0,
-			details: '',
-			reply: '', //评论
-			type: 1, //默认支付方式add为
-			goodsNumber: 1, //购买数量
-			goodsid: '', //商品id
-			specClass: 'none', //显示隐藏弹窗
-			shareList: [], //分享列表
-			goodsObjact: {}, //保存商品数据
-			storeObjact: {}, //保存店铺数据
-			//图片循环
-			imgList: [],
-			specList: [],
-			// 对比对象
-			productValue: [],
-			actionPrice: 0, //默认选中商品价格
-			actionImage: '', //默认选中图片
-			uniqueId: '', //选中的商品分类
-			specSelected: [], //选中的分类
-			specSelectedName: '', //选中分类名称
-			goodsNumberMax: 0, //最大可购买数量
-			shopId: '', //商店id
-			//商店信息
-			shopInfo: {
-				logo: '',
-				title: ''
-			}, //商店信息
-			goodsType: 0, //商品类型1秒杀商品0为普通商品2为拼团商品
-			// 秒杀数据保存
-			seckillObj: {
-				stopTime: 0, //结束时间
-				stop: false, //是否结束
-				stopTimeH: 0, //小时
-				stopTimeM: 0, //分钟
-				stopTimeS: 0 //秒钟
-			},
-			// 拼团数据保存
-			pink: {
-				id: '', //拼团编号
-				uid: '', //用户编号
-				people: '', //拼团人数
-				price: '', //拼团价格
-				stop_time: '', //拼团结束时间
-				nickname: '', //团长昵称
-				avatar: '', //团长头像
-				count: '', //拼团剩余人数
-				h: '', //时
-				i: '', //分
-				s: '' //秒
-			},
-			is_bk: 0,
-			is_xf: 0,
-			goodIntegral: 0,//需要使用的积分
-		};
-	},
-	async onLoad(options) {
-		let obj = this;
-		if(options.isfg) {
-			this.isfg = options.isfg
-		}
-		if(options.is_bk) {
-			obj.is_bk = options.is_bk
-		}
-		if(options.is_xf) {
-			obj.is_xf = options.is_xf
-		}
-		//保存商品id
-		this.goodsid = options.id;
-		// 判断有无人邀请
-		if (options.spread) {
-			// 存储邀请人
-			uni.setStorageSync('spread', options.spread);
-		}
-		// 判断是否为秒杀商品
-		if (options.type == 1) {
-			// 保存商品类型
-			this.goodsType = 1;
-			// 保存结束时间
-			this.seckillObj.stopTime = options.stoptime;
-			// 获取当前时间毫秒数
-			let stoptime = options.stoptime * 1000;
-			// 获取当前时间
-			let acitonTime = new Date();
-			// 判断当前时间是否大于结束时间
-			if (acitonTime.getTime() > stoptime) {
-				// 当前秒杀时间已经结束
-				this.seckillObj.stop = true;
-			} else {
-				// 计算倒计时
-				this.timeComputed(stoptime, this.seckillObj);
-			}
-			this.seckillGoods();
-			return;
-		}
-		if (options.type == 2) {
-			// 保存当前拼团商品类型
-			this.goodsType = 2;
-			// 家在数据
-			this.groupGoods();
-			return;
-		}
-		if (this.goodsType == 0) {
-			// 加载普通商品详情
-			this.goodsDetail();
-		}
-	},
-	computed: {
-		// #ifdef H5
-		...mapState(['weichatObj', 'baseURL', 'urlFile']),
-		
-		// #endif
-		...mapState('user', ['userInfo','hasLogin'])
-	},
-	methods: {
-		navTo(url) {
-			uni.navigateTo({
-				url
-			});
-		},
-		// 转换字符串为数字
-		moneyNum: function(value) {
-			return +value;
-		},
-		navToProductGoods() {
-			uni.redirectTo({
-				url: '/pages/product/product?id=' + this.goodsObjact.product_id
-			});
+	export default {
+		components: {
+			uniNumberBox,
+			uniCountdown
 		},
-		// 获取商品信息
-		goodsDetail() {
-			let obj = this;
-			goodsDetail({}, this.goodsid).then(function({ data }) {
-				obj.details = data;
-				let goods = data.storeInfo;
-				let store_info = data.system_store; // 保存店铺信息
-				console.log(store_info);
-				obj.storeObjact = store_info;
-				obj.goodsObjact = goods;
-				if (obj.goodsObjact.description != null) {
-					obj.goodsObjact.description = obj.goodsObjact.description.replace(/\<img/gi, '<img class="rich-img"');
-				} //小程序商品详情图超出屏幕问题
-				// console.log()
-				obj.reply = data.reply; //保存评论列表
-				obj.imgList = goods.slider_image; //保存轮播图
-				obj.specList = data.productAttr; //保存分类列表
-				console.log(data.productAttr);
-				obj.productValue = data.productValue; //保存分类查询数据
-				 //保存默认选中商品价格
-				obj.actionPrice = goods.price;
-				obj.actionImage = goods.image_base; //保存默认选中商品价格
-				obj.goodsNumberMax = goods.stock; //保存默认选中最大可购买商品数量
-				obj.shopId = data.mer_id; //保存商店id
-			
-				// 保存默认选中的对象
-				obj.specSelected = []; //初始化默认选择对象
-				for (let i = 0; i < obj.specList.length; i++) {
-					// 设置默认数据
-					let attrValue = obj.specList[i].attr_value[0];
-					attrValue.check = true;
-					obj.specSelected.push(attrValue.attr);
-				}
-
-				//保存默认选中的对象字符串名称
-				let str = obj.specSelected.join(',');
-				// 设置默认值
-				obj.actionImage = obj.productValue[str].image;
-				obj.uniqueId = obj.productValue[str].unique;
-				obj.goodIntegral = obj.productValue[str].integral
-				if(obj.is_xf == 1) {
-					obj.goodsNumberMax = 1
+		filters: {
+			address(val) {
+				let str = '';
+				if (val) {
+					str = val[0] + ' ' + val[1];
 				}
-				console.log(obj.goodIntegral,'obj.goodIntegral')
-				// #ifdef H5
-				obj.shareDate();
-				// #endif
-			});
-		},
-		// #ifdef H5
-		// 加载微信html5页面分享方法
-		shareDate() {
-			let obj = this;
-			// 保存分享人id链接
-			let url = window.location.href + '&spread=' + this.userInfo.uid;
-			// 判断是否微信浏览器
-			let bool = uni.getStorageSync('weichatBrowser') || '';
-			if (bool) {
-				// 过滤微信强制添加的链接地址
-				url = url.replace(/[\?,&]from=singlemessage/g, '');
-				let data = {
-					link: url, // 分享链接
-					imgUrl: obj.goodsObjact.image, // 分享图标
-					desc: obj.goodsObjact.store_info,
-					title: obj.goodsObjact.store_name,
-					success: function(e) {
-						console.log(e);
-					}
-				};
-				shareLoad(data);
+				return str;
 			}
 		},
-		// #endif
-		// 购买数量变化
-		numberChange(e) {
-			this.goodsNumber = e.number;
+		data() {
+			return {
+				isvip: 0,
+				details: '',
+				reply: '', //评论
+				type: 1, //默认支付方式add为
+				goodsNumber: 1, //购买数量
+				goodsid: '', //商品id
+				specClass: 'none', //显示隐藏弹窗
+				shareList: [], //分享列表
+				goodsObjact: {}, //保存商品数据
+				storeObjact: {}, //保存店铺数据
+				//图片循环
+				imgList: [],
+				specList: [],
+				// 对比对象
+				productValue: [],
+				actionPrice: 0, //默认选中商品价格
+				actionImage: '', //默认选中图片
+				uniqueId: '', //选中的商品分类
+				specSelected: [], //选中的分类
+				specSelectedName: '', //选中分类名称
+				goodsNumberMax: 0, //最大可购买数量
+				shopId: '', //商店id
+				//商店信息
+				shopInfo: {
+					logo: '',
+					title: ''
+				}, //商店信息
+				goodsType: 0, //商品类型1秒杀商品0为普通商品2为拼团商品
+				// 秒杀数据保存
+				seckillObj: {
+					stopTime: 0, //结束时间
+					stop: false, //是否结束
+					stopTimeH: 0, //小时
+					stopTimeM: 0, //分钟
+					stopTimeS: 0 //秒钟
+				},
+				// 拼团数据保存
+				pink: {
+					id: '', //拼团编号
+					uid: '', //用户编号
+					people: '', //拼团人数
+					price: '', //拼团价格
+					stop_time: '', //拼团结束时间
+					nickname: '', //团长昵称
+					avatar: '', //团长头像
+					count: '', //拼团剩余人数
+					h: '', //时
+					i: '', //分
+					s: '' //秒
+				},
+				is_bk: 0,
+				is_xf: 0,
+				goodIntegral: 0, //需要使用的积分
+			};
 		},
-		//规格弹窗开关
-		toggleSpec(str) {
-			if(this.userInfo && this.userInfo.identity == 0 && this.isfg == 1) {
-				this.$api.msg('复购商品需店员以上才能购买!')
-				return
+		async onLoad(options) {
+			let obj = this;
+			if (options.isvip) {
+				this.isvip = options.isvip
 			}
-			if (this.specClass === 'show') {
-				this.specClass = 'hide';
-				setTimeout(() => {
-					this.specClass = 'none';
-				}, 250);
-			} else if (this.specClass === 'none') {
-				this.specClass = 'show';
+			//保存商品id
+			this.goodsid = options.id;
+			// 判断有无人邀请
+			if (options.spread) {
+				// 存储邀请人
+				uni.setStorageSync('spread', options.spread);
 			}
-			// 保存当前购买类型
-			this.type = str;
-		},
-		//选择规格
-		selectSpec(item, arr, ind) {
-			let obj = this
-			arr.attr_value.forEach(function(e) {
-				e.check = false;
-			});
-			item.check = true;
-			this.specSelected[ind] = item.attr;
-			let str = this.specSelected.join(',');
-			this.specSelectedName = this.specSelected.join(' ');
-			if (this.productValue[str]) {
-				let data = this.productValue[str];
-				this.actionPrice = data.price;
-				this.goodsNumberMax = data.stock;
-				this.actionImage = data.image;
-				this.uniqueId = data.unique;
-				this.goodIntegral = data.integral
-				console.log(this.goodIntegral,'xuanz')
+			// 判断是否为秒杀商品
+			if (options.type == 1) {
+				// 保存商品类型
+				this.goodsType = 1;
+				// 保存结束时间
+				this.seckillObj.stopTime = options.stoptime;
+				// 获取当前时间毫秒数
+				let stoptime = options.stoptime * 1000;
+				// 获取当前时间
+				let acitonTime = new Date();
+				// 判断当前时间是否大于结束时间
+				if (acitonTime.getTime() > stoptime) {
+					// 当前秒杀时间已经结束
+					this.seckillObj.stop = true;
+				} else {
+					// 计算倒计时
+					this.timeComputed(stoptime, this.seckillObj);
+				}
+				this.seckillGoods();
+				return;
 			}
-			if(this.is_xf == 1) {
-				this.goodsNumberMax = 1
+			if (options.type == 2) {
+				// 保存当前拼团商品类型
+				this.goodsType = 2;
+				// 家在数据
+				this.groupGoods();
+				return;
+			}
+			if (this.goodsType == 0) {
+				// 加载普通商品详情
+				this.goodsDetail();
 			}
 		},
-		//分享
-		share() {
-			this.$refs.share.toggleMask();
+		computed: {
+			// #ifdef H5
+			...mapState(['weichatObj', 'baseURL', 'urlFile']),
+
+			// #endif
+			...mapState('user', ['userInfo', 'hasLogin'])
 		},
-		//收藏
-		toFavorite(item) {
-			let obj = this;
-			item.userCollect = !item.userCollect;
-			if (!item.userCollect) {
-				collectDel({ id: obj.goodsid, category: 'product' }).then(function(e) {
-					uni.showToast({
-						title: '成功取消收藏',
-						type: 'top',
-						duration: 1500
-					});
+		methods: {
+			navTo(url) {
+				uni.navigateTo({
+					url
 				});
-			} else {
-				collectAdd({ id: obj.goodsid, category: 'product' }).then(function(e) {
-					uni.showToast({
-						title: '成功加入收藏',
-						type: 'top',
-						duration: 1500
-					});
+			},
+			// 转换字符串为数字
+			moneyNum: function(value) {
+				return +value;
+			},
+			navToProductGoods() {
+				uni.redirectTo({
+					url: '/pages/product/product?id=' + this.goodsObjact.product_id
 				});
-			}
-		},
-		// 立即购买
-		buy() {
-			let obj = this;
-			let data = {
-				cartNum: obj.goodsNumber, //商品数量
-				uniqueId: obj.uniqueId, //商品标签
-				new: '1', //商品是否新增加到购物车1为不加入0为加入
-				mer_id: obj.shopId
-				// type: 0,//0为余额支付  1为消费券支付 2为积分支付
-			};
-			if (obj.type == 2) {
-				data.new = 0;
-			}
-			if (obj.goodsType == 0) {
-				data.productId = obj.goodsid; //商品编号
-			}
-			// 判断是否为秒杀商品
-			if (obj.goodsType == 1) {
-				data.secKillId = obj.goodsid; //秒杀商品编号
-				data.productId = obj.goodsObjact.product_id; //商品编号
-				// 判断是否秒杀已经结束
-				if (obj.seckillObj.stop) {
-					uni.showModal({
-						title: '提示',
-						content: '当前活动已经结束',
-						showCancel: false
-					});
-					return;
+			},
+			// 获取商品信息
+			goodsDetail() {
+				let obj = this;
+				goodsDetail({}, this.goodsid).then(function({
+					data
+				}) {
+					obj.details = data;
+					let goods = data.storeInfo;
+					let store_info = data.system_store; // 保存店铺信息
+					console.log(store_info);
+					obj.storeObjact = store_info;
+					obj.goodsObjact = goods;
+					if (obj.goodsObjact.description != null) {
+						obj.goodsObjact.description = obj.goodsObjact.description.replace(/\<img/gi,
+							'<img class="rich-img"');
+					} //小程序商品详情图超出屏幕问题
+					// console.log()
+					obj.reply = data.reply; //保存评论列表
+					obj.imgList = goods.slider_image; //保存轮播图
+					obj.specList = data.productAttr; //保存分类列表
+					console.log(data.productAttr);
+					obj.productValue = data.productValue; //保存分类查询数据
+					//保存默认选中商品价格
+					obj.actionPrice = goods.price;
+					obj.actionImage = goods.image_base; //保存默认选中商品价格
+					obj.goodsNumberMax = goods.stock; //保存默认选中最大可购买商品数量
+					obj.shopId = data.mer_id; //保存商店id
+
+					// 保存默认选中的对象
+					obj.specSelected = []; //初始化默认选择对象
+					for (let i = 0; i < obj.specList.length; i++) {
+						// 设置默认数据
+						let attrValue = obj.specList[i].attr_value[0];
+						attrValue.check = true;
+						obj.specSelected.push(attrValue.attr);
+					}
+
+					//保存默认选中的对象字符串名称
+					let str = obj.specSelected.join(',');
+					// 设置默认值
+					obj.actionImage = obj.productValue[str].image;
+					obj.uniqueId = obj.productValue[str].unique;
+					obj.goodIntegral = obj.productValue[str].integral
+					if (obj.is_xf == 1) {
+						obj.goodsNumberMax = 1
+					}
+					console.log(obj.goodIntegral, 'obj.goodIntegral')
+					// #ifdef H5
+					obj.shareDate();
+					// #endif
+				});
+			},
+			// #ifdef H5
+			// 加载微信html5页面分享方法
+			shareDate() {
+				let obj = this;
+				// 保存分享人id链接
+				let url = window.location.href + '&spread=' + this.userInfo.uid;
+				// 判断是否微信浏览器
+				let bool = uni.getStorageSync('weichatBrowser') || '';
+				if (bool) {
+					// 过滤微信强制添加的链接地址
+					url = url.replace(/[\?,&]from=singlemessage/g, '');
+					let data = {
+						link: url, // 分享链接
+						imgUrl: obj.goodsObjact.image, // 分享图标
+						desc: obj.goodsObjact.store_info,
+						title: obj.goodsObjact.store_name,
+						success: function(e) {
+							console.log(e);
+						}
+					};
+					shareLoad(data);
 				}
-			}
-			// 判断是否为拼团商品
-			if (obj.goodsType == 2) {
-				data.combinationId = obj.goodsid; //拼团编号
-				data.productId = obj.goodsObjact.product_id; //商品编号
-			}
-			cartAdd(data)
-				.then(function({ data }) {
-					if (obj.type == 1) {
-						// 跳转到支付页
-						uni.navigateTo({
-							url: '/pages/order/createOrder?id=' + data.cartId + '&goodsType=' + obj.goodsType + '&is_xf=' + obj.is_xf + '&is_bk=' + obj.is_bk + '&isfg=' + obj.isfg
+			},
+			// #endif
+			// 购买数量变化
+			numberChange(e) {
+				this.goodsNumber = e.number;
+			},
+			//规格弹窗开关
+			toggleSpec(str) {
+				if (this.userInfo && this.userInfo.identity == 0 && this.isfg == 1) {
+					this.$api.msg('复购商品需店员以上才能购买!')
+					return
+				}
+				if (this.specClass === 'show') {
+					this.specClass = 'hide';
+					setTimeout(() => {
+						this.specClass = 'none';
+					}, 250);
+				} else if (this.specClass === 'none') {
+					this.specClass = 'show';
+				}
+				// 保存当前购买类型
+				this.type = str;
+			},
+			//选择规格
+			selectSpec(item, arr, ind) {
+				let obj = this
+				arr.attr_value.forEach(function(e) {
+					e.check = false;
+				});
+				item.check = true;
+				this.specSelected[ind] = item.attr;
+				let str = this.specSelected.join(',');
+				this.specSelectedName = this.specSelected.join(' ');
+				if (this.productValue[str]) {
+					let data = this.productValue[str];
+					this.actionPrice = data.price;
+					this.goodsNumberMax = data.stock;
+					this.actionImage = data.image;
+					this.uniqueId = data.unique;
+					this.goodIntegral = data.integral
+					console.log(this.goodIntegral, 'xuanz')
+				}
+				if (this.is_xf == 1) {
+					this.goodsNumberMax = 1
+				}
+			},
+			//分享
+			share() {
+				this.$refs.share.toggleMask();
+			},
+			//收藏
+			toFavorite(item) {
+				let obj = this;
+				item.userCollect = !item.userCollect;
+				if (!item.userCollect) {
+					collectDel({
+						id: obj.goodsid,
+						category: 'product'
+					}).then(function(e) {
+						uni.showToast({
+							title: '成功取消收藏',
+							type: 'top',
+							duration: 1500
 						});
-					}
-					if (obj.type == 2) {
+					});
+				} else {
+					collectAdd({
+						id: obj.goodsid,
+						category: 'product'
+					}).then(function(e) {
 						uni.showToast({
-							title: '成功加入购物车',
+							title: '成功加入收藏',
 							type: 'top',
-							duration: 2000
+							duration: 1500
+						});
+					});
+				}
+			},
+			// 立即购买
+			buy() {
+				let obj = this;
+				let data = {
+					cartNum: obj.goodsNumber, //商品数量
+					uniqueId: obj.uniqueId, //商品标签
+					new: '1', //商品是否新增加到购物车1为不加入0为加入
+					mer_id: obj.shopId
+					// type: 0,//0为余额支付  1为消费券支付 2为积分支付
+				};
+				if (obj.type == 2) {
+					data.new = 0;
+				}
+				if (obj.goodsType == 0) {
+					data.productId = obj.goodsid; //商品编号
+				}
+				// 判断是否为秒杀商品
+				if (obj.goodsType == 1) {
+					data.secKillId = obj.goodsid; //秒杀商品编号
+					data.productId = obj.goodsObjact.product_id; //商品编号
+					// 判断是否秒杀已经结束
+					if (obj.seckillObj.stop) {
+						uni.showModal({
+							title: '提示',
+							content: '当前活动已经结束',
+							showCancel: false
 						});
-						obj.toggleSpec();
+						return;
 					}
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		stopPrevent() {}
-	}
-};
+				}
+				// 判断是否为拼团商品
+				if (obj.goodsType == 2) {
+					data.combinationId = obj.goodsid; //拼团编号
+					data.productId = obj.goodsObjact.product_id; //商品编号
+				}
+				cartAdd(data)
+					.then(function({
+						data
+					}) {
+						if (obj.type == 1) {
+							// 跳转到支付页
+							uni.navigateTo({
+								url: '/pages/order/createOrder?id=' + data.cartId + '&goodsType=' + obj
+									.goodsType + '&is_xf=' + obj.is_xf + '&is_bk=' + obj.is_bk + '&isfg=' + obj
+									.isfg
+							});
+						}
+						if (obj.type == 2) {
+							uni.showToast({
+								title: '成功加入购物车',
+								type: 'top',
+								duration: 2000
+							});
+							obj.toggleSpec();
+						}
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+			stopPrevent() {}
+		}
+	};
 </script>
 
 <style lang="scss">
-page {
-	background: $page-color-base;
-}
-//秒杀底部高度
-.seckillBottom {
-	height: 110rpx;
-}
-// 文章页底部高度撑开
-.contentBottomHeight {
-	height: 110rpx;
-}
-//默认商品底部高度
-.goodsBottom {
-	height: 100rpx;
-}
-.iconenter {
-	font-size: $font-base + 2rpx;
-	color: #888;
-}
-.carousel {
-	/* #ifdef APP-PLUS */
-	padding-top: var(--status-bar-height);
-	/* #endif */
-	height: 722rpx;
-	position: relative;
-	swiper {
-		height: 100%;
-	}
-	.image-wrapper {
-		width: 100%;
-		height: 100%;
-	}
-	.swiper-item {
-		display: flex;
-		justify-content: center;
-		align-content: center;
-		// height: 750rpx;
-		height: 710rpx;
-		overflow: hidden;
-		image {
-			width: 100%;
-			height: 100%;
-		}
+	page {
+		background: $page-color-base;
 	}
-}
-// 秒杀
-.seckill-box-title {
-	background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%) !important;
-	.price,
-	.price-tip,
-	.timeStop,
-	.m-price {
-		color: #ffffff !important;
-	}
-	.price-tip {
-		font-size: $font-base;
+
+	//秒杀底部高度
+	.seckillBottom {
+		height: 110rpx;
 	}
-	.price {
-		font-size: 45rpx !important;
-		font-weight: bold;
+
+	// 文章页底部高度撑开
+	.contentBottomHeight {
+		height: 110rpx;
 	}
-	.timeStop {
+
+	//默认商品底部高度
+	.goodsBottom {
+		height: 100rpx;
 	}
-}
-// 底部拼团、秒杀支付按钮
-.goods-pay-box {
-	position: fixed;
-	left: 0;
-	bottom: 0;
-	z-index: 95;
-	width: 750rpx;
-	height: 100rpx;
-	line-height: 1;
-	color: #ffffff;
-	text-align: center;
-	font-size: $font-lg;
-	.bgLine {
-		background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%);
+
+	.iconenter {
+		font-size: $font-base + 2rpx;
+		color: #888;
 	}
-	// 拼团支付按钮
-	.goods-pay {
-		display: flex;
-		align-content: center;
-		flex-wrap: wrap;
-		justify-content: center;
-		.goods-buttom,
-		.goods-buttom-money {
+
+	.carousel {
+		/* #ifdef APP-PLUS */
+		padding-top: var(--status-bar-height);
+		/* #endif */
+		height: 722rpx;
+		position: relative;
+
+		swiper {
+			height: 100%;
+		}
+
+		.image-wrapper {
 			width: 100%;
+			height: 100%;
 		}
-		.goods-buttom-money {
-			font-size: $font-base;
+
+		.swiper-item {
+			display: flex;
+			justify-content: center;
+			align-content: center;
+			// height: 750rpx;
+			height: 710rpx;
+			overflow: hidden;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
 		}
 	}
-	.goods-pay-stop,
-	.goods-pay {
-		padding: 15rpx 0;
-		height: 100%;
-		width: 100%;
-	}
-	.goods-pay-stop {
-		background: $color-gray;
-		line-height: 70rpx;
-	}
-}
-/* 标题简介 */
-.introduce-section {
-	background: #fff;
-	padding: 20rpx 30rpx;
-	.title {
-		font-size: 32rpx;
-		color: $font-color-dark;
-		height: 50rpx;
-		line-height: 50rpx;
-	}
-	.price-box {
-		display: flex;
-		align-items: baseline;
-		height: 64rpx;
-		padding: 10rpx 0;
-		font-size: 26rpx;
-		color: #FD3B39;
-	}
-	.price {
-		font-size: $font-lg + 2rpx;
-	}
-	.m-price {
-		margin: 0 12rpx;
-		color: $font-color-light;
-		text-decoration: line-through;
-	}
-	.pt {
-		text-decoration:none;
+
+	// 秒杀
+	.seckill-box-title {
+		background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%) !important;
+
+		.price,
+		.price-tip,
+		.timeStop,
+		.m-price {
+			color: #ffffff !important;
+		}
+
+		.price-tip {
+			font-size: $font-base;
+		}
+
+		.price {
+			font-size: 45rpx !important;
+			font-weight: bold;
+		}
+
+		.timeStop {}
 	}
-	.coupon-tip {
-		align-items: center;
-		padding: 4rpx 10rpx;
-		background: $uni-color-primary;
-		font-size: $font-sm;
-		color: #fff;
-		border-radius: 6rpx;
+
+	// 底部拼团、秒杀支付按钮
+	.goods-pay-box {
+		position: fixed;
+		left: 0;
+		bottom: 0;
+		z-index: 95;
+		width: 750rpx;
+		height: 100rpx;
 		line-height: 1;
-		transform: translateY(-4rpx);
-	}
-	.bot-row {
-		display: flex;
-		align-items: center;
-		height: 50rpx;
-		font-size: $font-sm;
-		color: $font-color-light;
-		text {
-			flex: 1;
+		color: #ffffff;
+		text-align: center;
+		font-size: $font-lg;
+
+		.bgLine {
+			background: linear-gradient(90deg, rgba(239, 78, 81, 1) 0%, rgba(244, 113, 59, 1) 100%);
+		}
+
+		// 拼团支付按钮
+		.goods-pay {
+			display: flex;
+			align-content: center;
+			flex-wrap: wrap;
+			justify-content: center;
+
+			.goods-buttom,
+			.goods-buttom-money {
+				width: 100%;
+			}
+
+			.goods-buttom-money {
+				font-size: $font-base;
+			}
+		}
+
+		.goods-pay-stop,
+		.goods-pay {
+			padding: 15rpx 0;
+			height: 100%;
+			width: 100%;
+		}
+
+		.goods-pay-stop {
+			background: $color-gray;
+			line-height: 70rpx;
 		}
 	}
-}
-/* 分享 */
-.share-section {
-	display: flex;
-	align-items: center;
-	color: $font-color-base;
-	background: linear-gradient(left, #fdf5f6, #fbebf6);
-	padding: 12rpx 30rpx;
-	.share-icon {
-		display: flex;
-		align-items: center;
-		width: 70rpx;
-		height: 30rpx;
-		line-height: 1;
-		border: 1px solid $uni-color-primary;
-		border-radius: 4rpx;
-		position: relative;
-		overflow: hidden;
-		font-size: 22rpx;
-		color: $uni-color-primary;
-		&:after {
-			content: '';
-			width: 50rpx;
+
+	/* 标题简介 */
+	.introduce-section {
+		background: #fff;
+		padding: 20rpx 30rpx;
+
+		.title {
+			font-size: 32rpx;
+			color: $font-color-dark;
 			height: 50rpx;
-			border-radius: 50%;
-			left: -20rpx;
-			top: -12rpx;
-			position: absolute;
+			line-height: 50rpx;
+		}
+
+		.price-box {
+			display: flex;
+			align-items: baseline;
+			height: 64rpx;
+			padding: 10rpx 0;
+			font-size: 26rpx;
+			color: #FD3B39;
+		}
+
+		.price {
+			font-size: $font-lg + 2rpx;
+		}
+
+		.m-price {
+			margin: 0 12rpx;
+			color: $font-color-light;
+			text-decoration: line-through;
+		}
+
+		.pt {
+			text-decoration: none;
+		}
+
+		.coupon-tip {
+			align-items: center;
+			padding: 4rpx 10rpx;
 			background: $uni-color-primary;
+			font-size: $font-sm;
+			color: #fff;
+			border-radius: 6rpx;
+			line-height: 1;
+			transform: translateY(-4rpx);
+		}
+
+		.bot-row {
+			display: flex;
+			align-items: center;
+			height: 50rpx;
+			font-size: $font-sm;
+			color: $font-color-light;
+
+			text {
+				flex: 1;
+			}
 		}
 	}
-	.iconfavorfill {
-		position: relative;
-		z-index: 1;
-		font-size: 24rpx;
-		margin-left: 2rpx;
-		margin-right: 10rpx;
-		color: #fff;
-		line-height: 1;
-	}
-	.tit {
-		font-size: $font-base;
-		margin-left: 10rpx;
-	}
-	.iconprompt {
-		padding: 10rpx;
-		font-size: 30rpx;
-		line-height: 1;
-	}
-	.share-btn {
-		flex: 1;
-		text-align: right;
-		font-size: $font-sm;
-		color: $uni-color-primary;
-	}
-	.iconenter {
-		font-size: $font-sm;
-		margin-left: 4rpx;
-		color: $uni-color-primary;
-	}
-}
-
-.c-list {
-	margin-top: 20rpx;
-	font-size: $font-sm + 2rpx;
-	color: $font-color-base;
-	background: #fff;
-	.c-row {
+
+	/* 分享 */
+	.share-section {
 		display: flex;
 		align-items: center;
-		padding: 20rpx 30rpx;
-		position: relative;
-	}
-	.tit {
-		width: 140rpx;
-	}
-	.con {
-		flex: 1;
-		color: $font-color-dark;
-		.selected-text {
-			margin-right: 10rpx;
-			.num {
-				color: #FD3B39;
+		color: $font-color-base;
+		background: linear-gradient(left, #fdf5f6, #fbebf6);
+		padding: 12rpx 30rpx;
+
+		.share-icon {
+			display: flex;
+			align-items: center;
+			width: 70rpx;
+			height: 30rpx;
+			line-height: 1;
+			border: 1px solid $uni-color-primary;
+			border-radius: 4rpx;
+			position: relative;
+			overflow: hidden;
+			font-size: 22rpx;
+			color: $uni-color-primary;
+
+			&:after {
+				content: '';
+				width: 50rpx;
+				height: 50rpx;
+				border-radius: 50%;
+				left: -20rpx;
+				top: -12rpx;
+				position: absolute;
+				background: $uni-color-primary;
 			}
 		}
-	}
-	.bz-list {
-		height: 40rpx;
-		font-size: $font-sm + 2rpx;
-		color: $font-color-dark;
-		text {
-			display: inline-block;
-			margin-right: 30rpx;
+
+		.iconfavorfill {
+			position: relative;
+			z-index: 1;
+			font-size: 24rpx;
+			margin-left: 2rpx;
+			margin-right: 10rpx;
+			color: #fff;
+			line-height: 1;
 		}
-	}
-	.con-list {
-		flex: 1;
-		display: flex;
-		flex-direction: column;
-		color: $font-color-dark;
-		line-height: 40rpx;
-	}
-	.red {
-		color: $uni-color-primary;
-	}
-}
-
-/* 评价 */
-.eva-section {
-	display: flex;
-	flex-direction: column;
-	padding: 20rpx 30rpx;
-	background: #fff;
-	margin-top: 16rpx;
-	.e-header {
-		display: flex;
-		align-items: center;
-		height: 70rpx;
-		font-size: $font-sm + 2rpx;
-		color: $font-color-light;
+
 		.tit {
-			font-size: $font-base + 2rpx;
-			color: $font-color-dark;
-			margin-right: 4rpx;
+			font-size: $font-base;
+			margin-left: 10rpx;
+		}
+
+		.iconprompt {
+			padding: 10rpx;
+			font-size: 30rpx;
+			line-height: 1;
 		}
-		.tip {
+
+		.share-btn {
 			flex: 1;
 			text-align: right;
+			font-size: $font-sm;
+			color: $uni-color-primary;
 		}
+
 		.iconenter {
-			margin-left: 10rpx;
+			font-size: $font-sm;
+			margin-left: 4rpx;
+			color: $uni-color-primary;
 		}
 	}
-}
-.eva-box {
-	display: flex;
-	padding: 20rpx 0;
-	.portrait {
-		flex-shrink: 0;
-		width: 80rpx;
-		height: 80rpx;
-		border-radius: 100px;
-	}
-	.right {
-		flex: 1;
-		display: flex;
-		flex-direction: column;
-		font-size: $font-base;
+
+	.c-list {
+		margin-top: 20rpx;
+		font-size: $font-sm + 2rpx;
 		color: $font-color-base;
-		padding-left: 26rpx;
+		background: #fff;
+
+		.c-row {
+			display: flex;
+			align-items: center;
+			padding: 20rpx 30rpx;
+			position: relative;
+		}
+
+		.tit {
+			width: 140rpx;
+		}
+
 		.con {
-			font-size: $font-base;
+			flex: 1;
+			color: $font-color-dark;
+
+			.selected-text {
+				margin-right: 10rpx;
+
+				.num {
+					color: #FD3B39;
+				}
+			}
+		}
+
+		.bz-list {
+			height: 40rpx;
+			font-size: $font-sm + 2rpx;
 			color: $font-color-dark;
-			padding: 20rpx 0;
+
+			text {
+				display: inline-block;
+				margin-right: 30rpx;
+			}
 		}
-		.bot {
+
+		.con-list {
+			flex: 1;
 			display: flex;
-			justify-content: space-between;
-			font-size: $font-sm;
-			color: $font-color-light;
+			flex-direction: column;
+			color: $font-color-dark;
+			line-height: 40rpx;
+		}
+
+		.red {
+			color: $uni-color-primary;
 		}
 	}
-}
-
-.eva-boxs {
-	width: 100%;
-	overflow: hidden;
-	padding: 10px 28rpx;
-	background: #f4f4f4;
-	border-radius: 12rpx;
-	font-size: $font-sm + 2rpx;
-	color: #333;
-	.portrait {
-		flex-shrink: 0;
-		width: 80rpx;
-		height: 80rpx;
-		border-radius: 100px;
-	}
-	.right {
-		flex: 1;
+
+	/* 评价 */
+	.eva-section {
 		display: flex;
 		flex-direction: column;
-		font-size: $font-base;
-		color: $font-color-base;
-		.con {
-			font-size: $font-base;
-			color: $font-color-dark;
-		}
-		.bot {
+		padding: 20rpx 30rpx;
+		background: #fff;
+		margin-top: 16rpx;
+
+		.e-header {
 			display: flex;
-			justify-content: space-between;
-			font-size: $font-sm;
+			align-items: center;
+			height: 70rpx;
+			font-size: $font-sm + 2rpx;
 			color: $font-color-light;
+
+			.tit {
+				font-size: $font-base + 2rpx;
+				color: $font-color-dark;
+				margin-right: 4rpx;
+			}
+
+			.tip {
+				flex: 1;
+				text-align: right;
+			}
+
+			.iconenter {
+				margin-left: 10rpx;
+			}
 		}
 	}
-}
-/*  详情 */
-.detail-desc {
-	background: #fff;
-	margin-top: 16rpx;
-	/deep/ img {
-		max-width: 100% !important;
-		display: inline !important;
-	}
-	/deep/ div {
-		max-width: 100% !important;
-	}
-	.d-header {
+
+	.eva-box {
 		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 80rpx;
-		font-size: $font-base + 2rpx;
-		color: $font-color-dark;
-		position: relative;
+		padding: 20rpx 0;
 
-		text {
-			padding: 0 20rpx;
-			background: #fff;
-			position: relative;
-			z-index: 1;
+		.portrait {
+			flex-shrink: 0;
+			width: 80rpx;
+			height: 80rpx;
+			border-radius: 100px;
 		}
-		&:after {
-			position: absolute;
-			left: 50%;
-			top: 50%;
-			transform: translateX(-50%);
-			width: 300rpx;
-			height: 0;
-			content: '';
-			border-bottom: 1px solid #ccc;
+
+		.right {
+			flex: 1;
+			display: flex;
+			flex-direction: column;
+			font-size: $font-base;
+			color: $font-color-base;
+			padding-left: 26rpx;
+
+			.con {
+				font-size: $font-base;
+				color: $font-color-dark;
+				padding: 20rpx 0;
+			}
+
+			.bot {
+				display: flex;
+				justify-content: space-between;
+				font-size: $font-sm;
+				color: $font-color-light;
+			}
 		}
 	}
-}
 
-/* 规格选择弹窗 */
-.attr-content {
-	padding: 10rpx 0 0;
-	.a-t {
-		padding: 0 30rpx;
-		display: flex;
-		image {
-			width: 170rpx;
-			height: 170rpx;
+	.eva-boxs {
+		width: 100%;
+		overflow: hidden;
+		padding: 10px 28rpx;
+		background: #f4f4f4;
+		border-radius: 12rpx;
+		font-size: $font-sm + 2rpx;
+		color: #333;
+
+		.portrait {
 			flex-shrink: 0;
-			border-radius: 8rpx;
+			width: 80rpx;
+			height: 80rpx;
+			border-radius: 100px;
 		}
+
 		.right {
+			flex: 1;
 			display: flex;
 			flex-direction: column;
-			padding-left: 24rpx;
-			font-size: $font-sm + 2rpx;
+			font-size: $font-base;
 			color: $font-color-base;
-			line-height: 42rpx;
-			.good-name {
-				padding-top: 20rpx;
-				max-width: 320rpx;
-				font-size: 30rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #1d2023;
-				line-height: 42rpx;
-				margin-bottom: 15rpx;
-			}
-			.price {
-				font-size: 60rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #ff6f0f;
-				// font-size: $font-lg;
-				// color: $uni-color-primary;
-				// margin-bottom: 10rpx;
+
+			.con {
+				font-size: $font-base;
+				color: $font-color-dark;
 			}
-			.selected-text {
-				margin-right: 10rpx;
+
+			.bot {
+				display: flex;
+				justify-content: space-between;
+				font-size: $font-sm;
+				color: $font-color-light;
 			}
 		}
 	}
-	.attr-list {
-		display: flex;
-		flex-direction: column;
-		font-size: $font-base + 2rpx;
-		color: $font-color-base;
-		padding-top: 30rpx;
-		padding-left: 40rpx;
-		padding-right: 30rpx;
-	}
-	.item-list {
-		padding: 20rpx 0 0;
-		display: flex;
-		flex-wrap: wrap;
-		.tit {
+
+	/*  详情 */
+	.detail-desc {
+		background: #fff;
+		margin-top: 16rpx;
+
+		/deep/ img {
+			max-width: 100% !important;
+			display: inline !important;
+		}
+
+		/deep/ div {
+			max-width: 100% !important;
+		}
+
+		.d-header {
 			display: flex;
-			align-items: center;
 			justify-content: center;
-			background: #eee;
-			// margin-left: 10rpx;
-			margin-right: 20rpx;
-			margin-bottom: 20rpx;
-			border-radius: 100rpx;
-			min-width: 60rpx;
-			height: 60rpx;
-			padding: 0 20rpx;
-			font-size: $font-base;
+			align-items: center;
+			height: 80rpx;
+			font-size: $font-base + 2rpx;
 			color: $font-color-dark;
-		}
-		.selected {
-			background: #fbebee;
-			color: $uni-color-primary;
+			position: relative;
+
+			text {
+				padding: 0 20rpx;
+				background: #fff;
+				position: relative;
+				z-index: 1;
+			}
+
+			&:after {
+				position: absolute;
+				left: 50%;
+				top: 50%;
+				transform: translateX(-50%);
+				width: 300rpx;
+				height: 0;
+				content: '';
+				border-bottom: 1px solid #ccc;
+			}
 		}
 	}
-}
-
-/*  弹出层 */
-.popup {
-	position: fixed;
-	left: 0;
-	top: 0;
-	right: 0;
-	bottom: 0;
-	z-index: 99;
-
-	&.show {
-		display: block;
-		.mask {
-			animation: showPopup 0.2s linear both;
-		}
-		.layer {
-			animation: showLayer 0.2s linear both;
+
+	/* 规格选择弹窗 */
+	.attr-content {
+		padding: 10rpx 0 0;
+
+		.a-t {
+			padding: 0 30rpx;
+			display: flex;
+
+			image {
+				width: 170rpx;
+				height: 170rpx;
+				flex-shrink: 0;
+				border-radius: 8rpx;
+			}
+
+			.right {
+				display: flex;
+				flex-direction: column;
+				padding-left: 24rpx;
+				font-size: $font-sm + 2rpx;
+				color: $font-color-base;
+				line-height: 42rpx;
+
+				.good-name {
+					padding-top: 20rpx;
+					max-width: 320rpx;
+					font-size: 30rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #1d2023;
+					line-height: 42rpx;
+					margin-bottom: 15rpx;
+				}
+
+				.price {
+					font-size: 60rpx;
+					font-family: PingFang SC;
+					font-weight: bold;
+					color: #ff6f0f;
+					// font-size: $font-lg;
+					// color: $uni-color-primary;
+					// margin-bottom: 10rpx;
+				}
+
+				.selected-text {
+					margin-right: 10rpx;
+				}
+			}
 		}
-	}
-	&.hide {
-		.mask {
-			animation: hidePopup 0.2s linear both;
+
+		.attr-list {
+			display: flex;
+			flex-direction: column;
+			font-size: $font-base + 2rpx;
+			color: $font-color-base;
+			padding-top: 30rpx;
+			padding-left: 40rpx;
+			padding-right: 30rpx;
 		}
-		.layer {
-			animation: hideLayer 0.2s linear both;
+
+		.item-list {
+			padding: 20rpx 0 0;
+			display: flex;
+			flex-wrap: wrap;
+
+			.tit {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				background: #eee;
+				// margin-left: 10rpx;
+				margin-right: 20rpx;
+				margin-bottom: 20rpx;
+				border-radius: 100rpx;
+				min-width: 60rpx;
+				height: 60rpx;
+				padding: 0 20rpx;
+				font-size: $font-base;
+				color: $font-color-dark;
+			}
+
+			.selected {
+				background: #fbebee;
+				color: $uni-color-primary;
+			}
 		}
 	}
-	&.none {
-		display: none;
-	}
-	.mask {
+
+	/*  弹出层 */
+	.popup {
 		position: fixed;
+		left: 0;
 		top: 0;
-		width: 100%;
-		height: 100%;
-		z-index: 1;
-		background-color: rgba(0, 0, 0, 0.4);
-	}
-	.layer {
-		position: fixed;
-		z-index: 99;
+		right: 0;
 		bottom: 0;
-		width: 100%;
-		min-height: 30vh;
-		border-radius: 10rpx 10rpx 0 0;
-		background-color: #fff;
-		.btn {
-			position: absolute;
-			bottom: 0;
-			width: 750rpx;
-			height: 98rpx;
-			background: #FE5B38;
-			line-height: 98rpx;
-			// background: $uni-color-primary;
-			font-size: $font-base + 2rpx;
-			color: #fff;
+		z-index: 99;
+
+		&.show {
+			display: block;
+
+			.mask {
+				animation: showPopup 0.2s linear both;
+			}
+
+			.layer {
+				animation: showLayer 0.2s linear both;
+			}
 		}
-	}
-	@keyframes showPopup {
-		0% {
-			opacity: 0;
+
+		&.hide {
+			.mask {
+				animation: hidePopup 0.2s linear both;
+			}
+
+			.layer {
+				animation: hideLayer 0.2s linear both;
+			}
 		}
-		100% {
-			opacity: 1;
+
+		&.none {
+			display: none;
 		}
-	}
-	@keyframes hidePopup {
-		0% {
-			opacity: 1;
+
+		.mask {
+			position: fixed;
+			top: 0;
+			width: 100%;
+			height: 100%;
+			z-index: 1;
+			background-color: rgba(0, 0, 0, 0.4);
 		}
-		100% {
-			opacity: 0;
+
+		.layer {
+			position: fixed;
+			z-index: 99;
+			bottom: 0;
+			width: 100%;
+			min-height: 30vh;
+			border-radius: 10rpx 10rpx 0 0;
+			background-color: #fff;
+
+			.btn {
+				position: absolute;
+				bottom: 0;
+				width: 750rpx;
+				height: 98rpx;
+				background: #FE5B38;
+				line-height: 98rpx;
+				// background: $uni-color-primary;
+				font-size: $font-base + 2rpx;
+				color: #fff;
+			}
 		}
-	}
-	@keyframes showLayer {
-		0% {
-			transform: translateY(120%);
+
+		@keyframes showPopup {
+			0% {
+				opacity: 0;
+			}
+
+			100% {
+				opacity: 1;
+			}
 		}
-		100% {
-			transform: translateY(0%);
+
+		@keyframes hidePopup {
+			0% {
+				opacity: 1;
+			}
+
+			100% {
+				opacity: 0;
+			}
 		}
-	}
-	@keyframes hideLayer {
-		0% {
-			transform: translateY(0);
+
+		@keyframes showLayer {
+			0% {
+				transform: translateY(120%);
+			}
+
+			100% {
+				transform: translateY(0%);
+			}
 		}
-		100% {
-			transform: translateY(120%);
+
+		@keyframes hideLayer {
+			0% {
+				transform: translateY(0);
+			}
+
+			100% {
+				transform: translateY(120%);
+			}
 		}
 	}
-}
-
-/* 底部操作菜单 */
-.page-bottom {
-	position: fixed;
-	left: 0rpx;
-	bottom: 0rpx;
-	z-index: 95;
-	display: flex;
-	justify-content: center;
-	align-items: center;
-	width: 750rpx;
-	height: 98rpx;
-	background: rgba(255, 255, 255, 0.9);
-	box-shadow: 0 0 20rpx 0 rgba(0, 0, 0, 0.5);
-	// border-radius: 16rpx;
-	.p-b-btn {
+
+	/* 底部操作菜单 */
+	.page-bottom {
+		position: fixed;
+		left: 0rpx;
+		bottom: 0rpx;
+		z-index: 95;
 		display: flex;
-		flex-direction: column;
-		align-items: center;
 		justify-content: center;
-		font-size: $font-sm;
-		color: $font-color-base;
-		width: 100rpx;
-		height: 98rpx;
-		.iconfont {
-			font-size: 40rpx;
-			line-height: 48rpx;
-			color: $font-color-light;
-		}
-		&.active,
-		&.active .iconfont {
-			color: $uni-color-primary;
-		}
-		.icon-fenxiang2 {
-			font-size: 42rpx;
-			transform: translateY(-2rpx);
-		}
-		.iconlikefill {
-			font-size: 46rpx;
-		}
-	}
-	.action-btn-group {
-		display: flex;
+		align-items: center;
+		width: 750rpx;
 		height: 98rpx;
-		overflow: hidden;
-		position: relative;
-		.shoucang {
-			width: 100rpx;
-			height: 100rpx;
-			background: #FFFFFF;
+		background: rgba(255, 255, 255, 0.9);
+		box-shadow: 0 0 20rpx 0 rgba(0, 0, 0, 0.5);
+
+		// border-radius: 16rpx;
+		.p-b-btn {
+			display: flex;
 			flex-direction: column;
+			align-items: center;
 			justify-content: center;
-			font-size: 20rpx;
-			image {
-				width: 36rpx;
-				height: 35rpx;
-				margin-bottom: 10rpx;
+			font-size: $font-sm;
+			color: $font-color-base;
+			width: 100rpx;
+			height: 98rpx;
+
+			.iconfont {
+				font-size: 40rpx;
+				line-height: 48rpx;
+				color: $font-color-light;
+			}
+
+			&.active,
+			&.active .iconfont {
+				color: $uni-color-primary;
+			}
+
+			.icon-fenxiang2 {
+				font-size: 42rpx;
+				transform: translateY(-2rpx);
+			}
+
+			.iconlikefill {
+				font-size: 46rpx;
 			}
 		}
-		.buy-now {
-			flex-grow: 1;
-			width: 650rpx;
-			display: flex;
-		}
-		.action-btn {
-			flex-shrink: 0;
-			flex-grow: 1;
+
+		.action-btn-group {
 			display: flex;
-			align-items: center;
-			justify-content: center;
-			// width: 580rpx;
-			flex-grow: 1;
-			height: 100%;
-			font-size: 34rpx;
-			padding: 0;
-			border-radius: 0;
-			// background: transparent;
-			background: #ffb238;
-			&.buy-now-btn {
-				background-color: #ffb238;
+			height: 98rpx;
+			overflow: hidden;
+			position: relative;
+
+			.shoucang {
+				width: 100rpx;
+				height: 100rpx;
+				background: #FFFFFF;
+				flex-direction: column;
+				justify-content: center;
+				font-size: 20rpx;
+
+				image {
+					width: 36rpx;
+					height: 35rpx;
+					margin-bottom: 10rpx;
+				}
+			}
+
+			.buy-now {
+				flex-grow: 1;
+				width: 650rpx;
+				display: flex;
 			}
-			&.add-cart-btn {
-				background: #FD3B39;
+
+			.action-btn {
+				flex-shrink: 0;
+				flex-grow: 1;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				// width: 580rpx;
+				flex-grow: 1;
+				height: 100%;
+				font-size: 34rpx;
+				padding: 0;
+				border-radius: 0;
+				// background: transparent;
+				background: #ffb238;
+
+				&.buy-now-btn {
+					background-color: #ce878e;
+				}
+
+				&.add-cart-btn {
+					background: #9c0b18;
+				}
 			}
 		}
 	}
-}
-// 商店头
-.shop-box {
-	background-color: #ffffff;
-	margin-top: 20rpx;
-	margin-bottom: 10rpx;
-	padding: 20rpx;
-	.shop-img {
-		border-radius: 300rpx;
-		height: 80rpx;
-		width: 80rpx;
-		margin-right: 20rpx;
+
+	// 商店头
+	.shop-box {
+		background-color: #ffffff;
+		margin-top: 20rpx;
+		margin-bottom: 10rpx;
+		padding: 20rpx;
+
+		.shop-img {
+			border-radius: 300rpx;
+			height: 80rpx;
+			width: 80rpx;
+			margin-right: 20rpx;
+		}
+
+		.shop-button {
+			border-radius: 100rpx;
+			padding: 10rpx 20rpx;
+			color: $color-red;
+			border: 1px solid $color-red;
+			font-size: $font-lg;
+			line-height: 1;
+		}
 	}
-	.shop-button {
-		border-radius: 100rpx;
-		padding: 10rpx 20rpx;
-		color: $color-red;
-		border: 1px solid $color-red;
-		font-size: $font-lg;
-		line-height: 1;
+
+	.detail-centent {
+		img {
+			vertical-align: top;
+		}
 	}
-}
-.detail-centent {
-	img {
-		vertical-align: top;
+
+	/* 商品详情中限制图片大小 */
+	/deep/ .rich-img {
+		width: 100% !important;
+		height: auto;
 	}
-}
-/* 商品详情中限制图片大小 */
-/deep/ .rich-img {
-	width: 100% !important;
-	height: auto;
-}
-</style>
+</style>

+ 185 - 178
pages/set/addressManage.vue

@@ -2,11 +2,13 @@
 	<view class="content">
 		<view class="row b-b">
 			<text class="tit">联系人</text>
-			<input class="input" type="text" v-model="addressData.name" placeholder="收货人姓名" placeholder-class="placeholder" />
+			<input class="input" type="text" v-model="addressData.name" placeholder="收货人姓名"
+				placeholder-class="placeholder" />
 		</view>
 		<view class="row b-b">
 			<text class="tit">手机号</text>
-			<input class="input" type="number" v-model="addressData.mobile" placeholder="收货人手机号码" placeholder-class="placeholder" />
+			<input class="input" type="number" v-model="addressData.mobile" placeholder="收货人手机号码"
+				placeholder-class="placeholder" />
 		</view>
 		<view class="row b-b">
 			<text class="tit">地址</text>
@@ -15,18 +17,13 @@
 		</view>
 		<view class="row b-b">
 			<text class="tit">门牌号</text>
-			<input class="input" type="text" v-model="addressData.area" placeholder="楼号、门牌" placeholder-class="placeholder" />
+			<input class="input" type="text" v-model="addressData.area" placeholder="楼号、门牌"
+				placeholder-class="placeholder" />
 		</view>
 
 		<uni-list class="margin-t-20">
-			<uni-list-item
-				title="设为默认"
-				:switch-checked="addressData.default"
-				:show-switch="true"
-				:show-arrow="false"
-				switch-color="#5dbc7c"
-				@switchChange="switchChange"
-			></uni-list-item>
+			<uni-list-item title="设为默认" :switch-checked="addressData.default" :show-switch="true" :show-arrow="false"
+				switch-color="#902020" @switchChange="switchChange"></uni-list-item>
 		</uni-list>
 
 		<button class="add-btn" @click="confirm">提交</button>
@@ -34,186 +31,196 @@
 </template>
 
 <script>
-import uniList from '@/components/uni-list/uni-list.vue';
-import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
-import uniPopup from '@/components/uni-popup/uni-popup.vue';
-import  pickerAddress from '@/components/wangding-pickerAddress/wangding-pickerAddress.vue';
-import { addressEdit } from '@/api/user.js';
-export default {
-	components: {
-		uniList,
-		uniListItem,
-		pickerAddress,
-		uniPopup
-	},
-	data() {
-		return {
-			addressDetail: '',
-			addressData: {
-				name: '',
-				mobile: '',
-				address: {
-					province: '',
-					city: '',
-					district: ''
-				},
-				area: '',
-				default: false
-			}
-		};
-	},
-	onLoad(option) {
-		let title = '新增收货地址';
-		if (option.type === 'edit') {
-			title = '编辑收货地址';
-			let data = JSON.parse(option.data);
-			console.log(data);
-
-			this.addressData = {
-				name: data.real_name,
-				mobile: data.phone,
-				address: {
-					province: data.province,
-					city: data.city,
-					district: data.district
-				},
-				area: data.detail,
-				default: data.is_default == 1,
-				id: data.id
-			};
-			this.addressDetail = data.province + data.city + data.district;
-		}
-		this.manageType = option.type;
-		uni.setNavigationBarTitle({
-			title
-		});
-	},
-	methods: {
-		// 选中城市切换
-		onCityClick({data}) {
-			let address = this.addressData.address;
-			address.province = data[0];
-			address.city = data[1];
-			address.district = data[2];
-			this.addressDetail = data.join('');
+	import uniList from '@/components/uni-list/uni-list.vue';
+	import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
+	import uniPopup from '@/components/uni-popup/uni-popup.vue';
+	import pickerAddress from '@/components/wangding-pickerAddress/wangding-pickerAddress.vue';
+	import {
+		addressEdit
+	} from '@/api/user.js';
+	export default {
+		components: {
+			uniList,
+			uniListItem,
+			pickerAddress,
+			uniPopup
 		},
-		//地图选择地址
-		chooseLocation() {
-			uni.chooseLocation({
-				success: data => {
-					console.log(data);
-					this.addressData.addressName = data.name;
-					this.addressData.address = data.name;
+		data() {
+			return {
+				addressDetail: '',
+				addressData: {
+					name: '',
+					mobile: '',
+					address: {
+						province: '',
+						city: '',
+						district: ''
+					},
+					area: '',
+					default: false
 				}
-			});
-		},
-		// 设置是否为默认地址
-		switchChange(e) {
-			this.addressData.default = e.value;
+			};
 		},
-		//提交
-		confirm() {
-			let obj = this;
-			let data = this.addressData;
-			if (!data.name) {
-				this.$api.msg('请填写收货人姓名');
-				return;
-			}
-			if (!/(^1[3|4|5|7|8][0-9]{9}$)/.test(data.mobile)) {
-				this.$api.msg('请输入正确的手机号码');
-				return;
-			}
-			if (!data.address) {
-				this.$api.msg('请在地图选择所在位置');
-				return;
-			}
-			if (!data.area) {
-				this.$api.msg('请填写门牌号信息');
-				return;
+		onLoad(option) {
+			let title = '新增收货地址';
+			if (option.type === 'edit') {
+				title = '编辑收货地址';
+				let data = JSON.parse(option.data);
+				console.log(data);
+
+				this.addressData = {
+					name: data.real_name,
+					mobile: data.phone,
+					address: {
+						province: data.province,
+						city: data.city,
+						district: data.district
+					},
+					area: data.detail,
+					default: data.is_default == 1,
+					id: data.id
+				};
+				this.addressDetail = data.province + data.city + data.district;
 			}
+			this.manageType = option.type;
+			uni.setNavigationBarTitle({
+				title
+			});
+		},
+		methods: {
+			// 选中城市切换
+			onCityClick({
+				data
+			}) {
+				let address = this.addressData.address;
+				address.province = data[0];
+				address.city = data[1];
+				address.district = data[2];
+				this.addressDetail = data.join('');
+			},
+			//地图选择地址
+			chooseLocation() {
+				uni.chooseLocation({
+					success: data => {
+						console.log(data);
+						this.addressData.addressName = data.name;
+						this.addressData.address = data.name;
+					}
+				});
+			},
+			// 设置是否为默认地址
+			switchChange(e) {
+				this.addressData.default = e.value;
+			},
+			//提交
+			confirm() {
+				let obj = this;
+				let data = this.addressData;
+				if (!data.name) {
+					this.$api.msg('请填写收货人姓名');
+					return;
+				}
+				if (!/(^1[3|4|5|7|8][0-9]{9}$)/.test(data.mobile)) {
+					this.$api.msg('请输入正确的手机号码');
+					return;
+				}
+				if (!data.address) {
+					this.$api.msg('请在地图选择所在位置');
+					return;
+				}
+				if (!data.area) {
+					this.$api.msg('请填写门牌号信息');
+					return;
+				}
 
-			//this.$api.prePage()获取上一页实例,可直接调用上页所有数据和方法,在App.vue定义
-			addressEdit({
-				real_name: data.name,
-				phone: data.mobile,
-				address: {
-					province: data.address.province,
-					city: data.address.city,
-					district: data.address.district
-				},
-				detail: data.area,
-				is_default: data.default,
-				id: data.id||"",
-				type:1
-			}).then(function(e) {
-				obj.$api.prePage().refreshList();
-				uni.showToast({
-					title:'提交成功',
-					duration:2000
+				//this.$api.prePage()获取上一页实例,可直接调用上页所有数据和方法,在App.vue定义
+				addressEdit({
+					real_name: data.name,
+					phone: data.mobile,
+					address: {
+						province: data.address.province,
+						city: data.address.city,
+						district: data.address.district
+					},
+					detail: data.area,
+					is_default: data.default,
+					id: data.id || "",
+					type: 1
+				}).then(function(e) {
+					obj.$api.prePage().refreshList();
+					uni.showToast({
+						title: '提交成功',
+						duration: 2000
+					});
+					setTimeout(function() {
+						uni.navigateBack();
+					}, 800);
 				});
-				setTimeout(function() {
-					uni.navigateBack();
-				}, 800);
-			});
+			}
 		}
-	}
-};
+	};
 </script>
 
 <style lang="scss">
-page {
-	background: $page-color-base;
-	padding-top: 16rpx;
-}
+	page {
+		background: $page-color-base;
+		padding-top: 16rpx;
+	}
 
-.row {
-	display: flex;
-	align-items: center;
-	position: relative;
-	padding: 0 30rpx;
-	height: 110rpx;
-	background: #fff;
+	.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;
+		.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;
+		}
 	}
-}
-.default-row {
-	margin-top: 16rpx;
-	.tit {
-		flex: 1;
+
+	.default-row {
+		margin-top: 16rpx;
+
+		.tit {
+			flex: 1;
+		}
+
+		switch {
+			transform: translateX(16rpx) scale(0.9);
+		}
 	}
-	switch {
-		transform: translateX(16rpx) scale(0.9);
+
+	.add-btn {
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		width: 690rpx;
+		height: 80rpx;
+		margin: 60rpx auto;
+		font-size: $font-lg;
+		color: #fff;
+		background-color: $base-color;
+		border-radius: 10rpx;
+		// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
 	}
-}
-.add-btn {
-	display: flex;
-	align-items: center;
-	justify-content: center;
-	width: 690rpx;
-	height: 80rpx;
-	margin: 60rpx auto;
-	font-size: $font-lg;
-	color: #fff;
-	background-color: $base-color;
-	border-radius: 10rpx;
-	// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
-}
 
-.alert-box {
-	background-color: #ffffff;
-}
-</style>
+	.alert-box {
+		background-color: #ffffff;
+	}
+</style>

+ 389 - 340
pages/user/award.vue

@@ -3,18 +3,21 @@
 		<view class="content-money">
 			<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="goback-box" @click="toBack">
+					<image class="goback" src="../../static/icon/fanhui.png" mode=""></image>
+				</view>
 				<view class="header">我的佣金</view>
 			</view>
-			<view class="content-bg"><image src="../../static/img/tg-bg.png" mode=""></image></view>
+			<view class="content-bg">
+				<image src="../../static/img/tg-bg.png" mode=""></image>
+			</view>
 			<view class="money-box">
 				<view class="money">{{ yj || 0 }}</view>
 				<view>我的佣金</view>
 			</view>
 			<view class="moneybtn-box">
 				<view class="money-btn"></view>
-				<view class="money-btn" v-if="userInfo.level >= 2" @click="navto('/pages/user/withdrawal')">佣金提现</view>
-				<view class="money-btn" v-else></view>
+				<view class="money-btn" @click="navto('/pages/user/withdrawal')">佣金提现</view>
 			</view>
 		</view>
 		<view class="info-box flex">
@@ -29,9 +32,11 @@
 			</view>
 		</view>
 		<view class="navbar">
-			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+			<view v-for="(item, index) in navList" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
 		</view>
-		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300" @change="changeTab">
+		<swiper :current="tabCurrentIndex" :style="{ height: height }" class="swiper-box" duration="300"
+			@change="changeTab">
 			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
 				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
 					<!-- 空白页 -->
@@ -53,7 +58,8 @@
 							</view>
 						</view>
 					</view>
-					<uni-load-more :status="tabItem.loadingType" v-if="!(tabItem.orderList.length == 0 && tabItem.loaded)"></uni-load-more>
+					<uni-load-more :status="tabItem.loadingType"
+						v-if="!(tabItem.orderList.length == 0 && tabItem.loaded)"></uni-load-more>
 				</scroll-view>
 			</swiper-item>
 		</swiper>
@@ -65,384 +71,427 @@
 		mapState,
 		mapMutations
 	} from 'vuex';
-import { getCommissionInfo,getUser } from '@/api/user.js';
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import { mapGetters } from 'vuex';
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import empty from '@/components/empty';
-import { spreadCommission, userBalance,extractBank } from '@/api/wallet.js';
-export default {
-	filters: {
+	import {
+		getCommissionInfo,
+		getUser
+	} from '@/api/user.js';
+	import {
 		getMoneyStyle
-	},
-	components: {
-		empty,
-		uniLoadMore
-	},
-	onReady(res) {
-		var _this = this;
-		uni.getSystemInfo({
-			success: resu => {
-				const query = uni.createSelectorQuery();
-				query.select('.swiper-box').boundingClientRect();
-				query.exec(function(res) {
-					_this.height = resu.windowHeight - res[0].top + 'px';
-					console.log('打印页面的剩余高度', _this.height);
-				});
-			},
-			fail: res => {}
-		});
-	},
-	data() {
-		return {
-			userInfo: {},
-			yj: '',
-			height: '',
-			// 头部图高度
-			maxheight: '',
-			tabCurrentIndex: 0,
-			orderStatusSum: 0,
-			recharge: 0,
-			navList: [
-				// {
-				// 	state: 0,
-				// 	text: '全部',
-				// 	loadingType: 'more',
-				// 	orderList: [],
-				// 	page: 1, //当前页数
-				// 	limit: 10 //每次信息条数
-				// },
-				{
-					state: 4,
-					text: '支出',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 3,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				}
-			],
-			money: ''
-		};
-	},
-	onLoad(options) {},
-	onShow() {
-		this.extractBank()
-		this.getUserInfo()
-		this.loadData();
-	},
-	methods: {
-		getUserInfo() {
-			getUser({}).then(({ data }) => {
-				this.userInfo = data
-			});
-		},
-		extractBank() {
-			extractBank().then(res => {
-				console.log(res)
-				this.yj = res.data.brokerage_price
-			})
+	} from '@/utils/rocessor.js';
+	import {
+		mapGetters
+	} from 'vuex';
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+	import empty from '@/components/empty';
+	import {
+		spreadCommission,
+		userBalance,
+		extractBank
+	} from '@/api/wallet.js';
+	export default {
+		filters: {
+			getMoneyStyle
 		},
-		toBack() {
-			uni.switchTab({
-				url: '/pages/user/user'
-			});
+		components: {
+			empty,
+			uniLoadMore
 		},
-		// 页面跳转
-		navto(e) {
-			uni.navigateTo({
-				url: e
+		onReady(res) {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.height = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.height);
+					});
+				},
+				fail: res => {}
 			});
 		},
-		//获取收入支出信息
-		async loadData(source) {
-			let obj = this;
-			//这里是将订单挂载到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';
-
-			spreadCommission({
-				page: navItem.page,
-				limit: navItem.limit,
-				
-			},state)
-				.then(({ data }) => {
-					if(data.length > 0) {
-						navItem.orderList = navItem.orderList.concat(data[0].list);
-						console.log(navItem.orderList);
-						navItem.page++;
+		data() {
+			return {
+				userInfo: {},
+				yj: '',
+				height: '',
+				// 头部图高度
+				maxheight: '',
+				tabCurrentIndex: 0,
+				orderStatusSum: 0,
+				recharge: 0,
+				navList: [
+					// {
+					// 	state: 0,
+					// 	text: '全部',
+					// 	loadingType: 'more',
+					// 	orderList: [],
+					// 	page: 1, //当前页数
+					// 	limit: 10 //每次信息条数
+					// },
+					{
+						state: 4,
+						text: '支出',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					},
+					{
+						state: 3,
+						text: '收入',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
 					}
-					//判断是否还有数据, 有改为more, 没有改为noMore
-					if (navItem.limit == data.length) {
-						navItem.loadingType = 'more';
-						return;
-					} else {
-						navItem.loadingType = 'noMore';
-					}
-					uni.hideLoading();
-					this.$set(navItem, 'loaded', true);
+				],
+				money: ''
+			};
+		},
+		onLoad(options) {},
+		onShow() {
+			this.extractBank()
+			this.getUserInfo()
+			this.loadData();
+		},
+		methods: {
+			getUserInfo() {
+				getUser({}).then(({
+					data
+				}) => {
+					this.userInfo = data
+				});
+			},
+			extractBank() {
+				extractBank().then(res => {
+					console.log(res)
+					this.yj = res.data.brokerage_price
 				})
-				.catch(e => {
-					console.log(e);
+			},
+			toBack() {
+				uni.switchTab({
+					url: '/pages/user/user'
 				});
-		},
+			},
+			// 页面跳转
+			navto(e) {
+				uni.navigateTo({
+					url: e
+				});
+			},
+			//获取收入支出信息
+			async loadData(source) {
+				let obj = this;
+				//这里是将订单挂载到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';
 
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
-		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
+				spreadCommission({
+						page: navItem.page,
+						limit: navItem.limit,
+
+					}, state)
+					.then(({
+						data
+					}) => {
+						if (data.length > 0) {
+							navItem.orderList = navItem.orderList.concat(data[0].list);
+							console.log(navItem.orderList);
+							navItem.page++;
+						}
+						//判断是否还有数据, 有改为more, 没有改为noMore
+						if (navItem.limit == data.length) {
+							navItem.loadingType = 'more';
+							return;
+						} else {
+							navItem.loadingType = 'noMore';
+						}
+						uni.hideLoading();
+						this.$set(navItem, 'loaded', true);
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+
+			//swiper 切换
+			changeTab(e) {
+				this.tabCurrentIndex = e.target.current;
+				this.loadData('tabChange');
+			},
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+			}
 		}
-	}
-};
+	};
 </script>
 
 <style lang="scss">
-page {
-	background: #f1f1f1;
-	height: 100%;
-}
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-}
-.content-money {
-	position: relative;
-	height: 480rpx;
-	.content-bg {
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		height: 480rpx;
-		image {
-			width: 100%;
-			height: 100%;
-		}
+	page {
+		background: #f1f1f1;
+		height: 100%;
 	}
-	.body-title {
-		height: 80rpx;
-		text-align: center;
-		font-size: 35rpx;
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+	}
+
+	.content-money {
 		position: relative;
-		.header {
+		height: 480rpx;
+
+		.content-bg {
 			position: absolute;
-			left: 0;
 			top: 0;
-			width: 100%;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fffeff;
-			height: 80rpx;
-			font-size: 36rpx;
-			font-weight: 700;
-			z-index: 9;
-			display: flex;
-			justify-content: center;
-			align-items: center;
+			left: 0;
+			right: 0;
+			width: 750rpx;
+			height: 480rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
 		}
-		.goback-box {
-			position: absolute;
-			left: 18rpx;
-			top: 0;
+
+		.body-title {
 			height: 80rpx;
+			text-align: center;
+			font-size: 35rpx;
+			position: relative;
+
+			.header {
+				position: absolute;
+				left: 0;
+				top: 0;
+				width: 100%;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #fffeff;
+				height: 80rpx;
+				font-size: 36rpx;
+				font-weight: 700;
+				z-index: 9;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
+
+			.goback-box {
+				position: absolute;
+				left: 18rpx;
+				top: 0;
+				height: 80rpx;
+				display: flex;
+				align-items: center;
+			}
+
+			.goback {
+				z-index: 100;
+				width: 34rpx;
+				height: 34rpx;
+			}
+		}
+	}
+
+	.info-box {
+		width: 670rpx;
+		height: 186rpx;
+		background: #ffffff;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: -100rpx auto 0;
+		position: relative;
+		z-index: 2;
+
+		.info-item {
+			width: 50%;
 			display: flex;
+			flex-direction: column;
 			align-items: center;
+			line-height: 1;
+
+			.info-font {
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #999999;
+			}
+
+			.info-num {
+				margin-top: 30rpx;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #181818;
+			}
 		}
 
-		.goback {
-			z-index: 100;
-			width: 34rpx;
-			height: 34rpx;
+		.shu {
+			width: 2rpx;
+			height: 74rpx;
+			background: #dcdfe6;
 		}
 	}
-}
-.info-box {
-	width: 670rpx;
-	height: 186rpx;
-	background: #ffffff;
-	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-	border-radius: 20rpx;
-	margin: -100rpx auto 0;
-	position: relative;
-	z-index: 2;
-	.info-item {
-		width: 50%;
+
+	.money-box {
+		position: relative;
+		z-index: 2;
+		/* #ifdef H5 */
+		padding-top: 90rpx;
+		/* #endif */
+		color: #ffffff;
+		text-align: center;
+		/* #ifdef APP-PLUS */
+		height: 200rpx;
 		display: flex;
 		flex-direction: column;
-		align-items: center;
-		line-height: 1;
-		.info-font {
-			font-size: 30rpx;
+		justify-content: center;
+		/* #endif */
+		/* #ifdef MP-WEIXIN */
+		padding-top: 40rpx;
+		/* #endif */
+
+		.money {
+			font-size: 72rpx;
 			font-family: PingFang SC;
 			font-weight: bold;
-			color: #999999;
+			color: #ffffff;
 		}
-		.info-num {
-			margin-top: 30rpx;
+
+		.text {
 			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #181818;
 		}
 	}
-	.shu {
-		width: 2rpx;
-		height: 74rpx;
-		background: #dcdfe6;
-	}
-}
-.money-box {
-	position: relative;
-	z-index: 2;
-	/* #ifdef H5 */
-	padding-top: 90rpx;
-	/* #endif */
-	color: #ffffff;
-	text-align: center;
-	/* #ifdef APP-PLUS */
-	height: 200rpx;
-	display: flex;
-	flex-direction: column;
-	justify-content: center;
-	/* #endif */
-	/* #ifdef MP-WEIXIN */
-	padding-top: 40rpx;
-	/* #endif */
-
-	.money {
-		font-size: 72rpx;
+
+	.moneybtn-box {
+		display: flex;
+		justify-content: space-between;
+		position: relative;
+		z-index: 2;
+		color: #ffffff;
+		padding: 0rpx 50rpx;
+		font-size: 30rpx;
 		font-family: PingFang SC;
 		font-weight: bold;
 		color: #ffffff;
 	}
-	.text {
-		font-size: 30rpx;
-	}
-}
-.moneybtn-box {
-	display: flex;
-	justify-content: space-between;
-	position: relative;
-	z-index: 2;
-	color: #ffffff;
-	padding: 0rpx 50rpx;
-	font-size: 30rpx;
-	font-family: PingFang SC;
-	font-weight: bold;
-	color: #ffffff;
-}
-
-.navbar {
-	margin-top: 20rpx;
-	display: flex;
-	height: 88rpx;
-	padding: 0 5px;
-	background: #fff;
-	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
-	position: relative;
-	z-index: 10;
-	.nav-item {
-		flex: 1;
+
+	.navbar {
+		margin-top: 20rpx;
 		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 15px;
-		color: #999999;
+		height: 88rpx;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
 		position: relative;
-		&.current {
-			color: #000;
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 44px;
-				height: 0;
-				border-bottom: 2px solid #fe5b38;
+		z-index: 10;
+
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: #999999;
+			position: relative;
+
+			&.current {
+				color: #000;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #fe5b38;
+				}
 			}
 		}
 	}
-}
-//列表
-.swiper-box {
-	.order-item:last-child {
-		margin-bottom: 60rpx;
-	}
-	.order-item {
-		padding: 20rpx 30rpx;
-		line-height: 1.5;
-		.title-box {
-			.title {
-				font-size: $font-lg;
-				color: $font-color-base;
+
+	//列表
+	.swiper-box {
+		.order-item:last-child {
+			margin-bottom: 60rpx;
+		}
+
+		.order-item {
+			padding: 20rpx 30rpx;
+			line-height: 1.5;
+
+			.title-box {
+				.title {
+					font-size: $font-lg;
+					color: $font-color-base;
+				}
+
+				.time {
+					font-size: $font-base;
+					color: $font-color-light;
+				}
 			}
-			.time {
-				font-size: $font-base;
-				color: $font-color-light;
+
+			.money {
+				color: #fd5b23;
+				font-size: $font-lg;
+				text-align: right;
+
+				.status {
+					color: $font-color-light;
+				}
 			}
 		}
-		.money {
-			color: #fd5b23;
-			font-size: $font-lg;
-			text-align: right;
-			.status {
-				color: $font-color-light;
-			}
+	}
+
+	.list-scroll-content {
+		background: #ffffff;
+		height: 100%;
+	}
+
+	.content {
+		height: 100%;
+
+		.empty-content {
+			background-color: #ffffff;
 		}
+
 	}
-}
-.list-scroll-content {
-	background: #ffffff;
-	height: 100%;
-}
-.content {
-	height: 100%;
-	.empty-content {
-		background-color: #ffffff;
+
+	.btn-box {
+		width: 674rpx;
+		height: 88rpx;
+		background: linear-gradient(0deg, #2e58ff, #32c6ff);
+		border-radius: 44rpx;
+		font-size: 36rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #ffffff;
+		text-align: center;
+		line-height: 88rpx;
+		position: fixed;
+		bottom: 48rpx;
+		left: 0;
+		right: 0;
+		margin: 0 auto;
 	}
-	
-}
-.btn-box {
-	width: 674rpx;
-	height: 88rpx;
-	background: linear-gradient(0deg, #2e58ff, #32c6ff);
-	border-radius: 44rpx;
-	font-size: 36rpx;
-	font-family: PingFang SC;
-	font-weight: 500;
-	color: #ffffff;
-	text-align: center;
-	line-height: 88rpx;
-	position: fixed;
-	bottom: 48rpx;
-	left: 0;
-	right: 0;
-	margin: 0 auto;
-}
-</style>
+</style>

+ 0 - 423
pages/user/jf.vue

@@ -1,423 +0,0 @@
-<template>
-	<view class="content">
-		<view class="content-money">
-			<view class="content-money">
-				<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>
-				<view class="content-bg"><image src="../../static/img/tg-bg.png" mode=""></image></view>
-				<view class="money-box">
-					<view class="money">{{ userInfo.integral | getMoneyStyle }}</view>
-					<view>积分</view>
-				</view>
-				<view class="moneybtn-box">
-					<!-- <view class="money-btn" style="text-decoration: underline;" @click="navto('/pages/money/freeze')">冻结记录</view> -->
-					<view class="money-btn" style="text-decoration: underline;"></view>
-					<view class="money-btn" ></view>
-				</view>
-			</view>
-		</view>
-		
-		<view class="navbar">
-			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
-		</view>
-		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300" @change="changeTab">
-			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
-				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
-					<!-- 空白页 -->
-					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
-
-					<!-- 订单列表 -->
-					<view class="order-item flex" v-for="(item, index) in tabItem.orderList" :key="index">
-						<view class="title-box">
-							<view class="title">
-								<text>{{ item.mark }}</text>
-							</view>
-							<view class="time">
-								<text>{{ item.add_time }}</text>
-							</view>
-						</view>
-						<view class="money">
-							<text>{{ (item.pm == 0 ? '-' : '+') + item.number }}</text>
-						</view>
-					</view>
-					<uni-load-more :status="tabItem.loadingType"></uni-load-more>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-import { spreadCommission, userBalance, yue, integral } from '@/api/wallet.js';
-import { mapState, mapMutations } from 'vuex';
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import empty from '@/components/empty';
-import { getUserInfo } from '@/api/user.js';
-export default {
-	filters: {
-		getMoneyStyle
-	},
-	computed: {
-		...mapState('user', ['userInfo'])
-	},
-	components: {
-		empty,
-		uniLoadMore
-	},
-	onReady(res) {
-		var _this = this;
-		uni.getSystemInfo({
-			success: resu => {
-				const query = uni.createSelectorQuery();
-				query.select('.swiper-box').boundingClientRect();
-				query.exec(function(res) {
-					_this.maxheight = resu.windowHeight - res[0].top + 'px';
-					console.log('打印页面的剩余高度', _this.maxheight);
-				});
-			},
-			fail: res => {}
-		});
-	},
-	data() {
-		return {
-			// 头部图高度
-			maxheight: '',
-			tabCurrentIndex: 0,
-			sr: '',
-			zc: '',
-			navList: [
-				{
-					state: 1,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页面
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 0,
-					text: '支出',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页面
-					limit: 10 //每次信息条数
-				}
-			],
-			money: ''
-		};
-	},
-	onLoad(options) {},
-	onShow() {
-		this.getUserInfo();
-		this.loadData();
-		//获取用户余额
-		// userBalance({}).then(({ data }) => {
-		// 	this.money = data.commissionCount;
-		// });
-	},
-	methods: {
-		...mapMutations('user', ['setUserInfo']),
-		navto(e) {
-			uni.navigateTo({
-				url: e
-			});
-		},
-		getUserInfo() {
-			getUserInfo({}).then(({ data }) => {
-				this.setUserInfo(data);
-			});
-		},
-		async loadData(source) {
-			const obj = this;
-			//这里时将订单挂载到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';
-
-			integral(
-				{
-					page: navItem.page,
-					limit: navItem.limit,
-					pm: navItem.state
-				}
-			)
-				.then(({ data }) => {
-					console.log(data, '123456');
-					obj.sr = data.sr;
-					obj.zc = data.zc;
-					if (data.length > 0) {
-						navItem.orderList = navItem.orderList.concat(data);
-						console.log(navItem.orderList);
-						navItem.page++;
-					}
-					//判断是否还有数据, 有改为more, 没有改为noMore
-					if (navItem.limit == data.length) {
-						navItem.loadingType = 'more';
-						return;
-					} else {
-						navItem.loadingType = 'noMore';
-					}
-					uni.hideLoading();
-					this.$set(navItem, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
-		},
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
-		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
-		},
-		toBack() {
-			uni.navigateBack();
-		}
-	}
-};
-</script>
-
-<style lang="scss">
-page {
-	background: #f2f5f4;
-	height: 100%;
-}
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-}
-.content-money {
-	position: relative;
-	height: 480rpx;
-	.content-bg {
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		height: 480rpx;
-		image {
-			width: 100%;
-			height: 100%;
-		}
-	}
-	.body-title {
-		height: 80rpx;
-		text-align: center;
-		font-size: 35rpx;
-		position: relative;
-		.header {
-			position: absolute;
-			left: 0;
-			top: 0;
-			width: 100%;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fffeff;
-			height: 80rpx;
-			font-size: 36rpx;
-			font-weight: 700;
-			z-index: 9;
-			display: flex;
-			justify-content: center;
-			align-items: center;
-		}
-		.goback-box {
-			position: absolute;
-			left: 18rpx;
-			top: 0;
-			height: 80rpx;
-			display: flex;
-			align-items: center;
-		}
-
-		.goback {
-			z-index: 100;
-			width: 34rpx;
-			height: 34rpx;
-		}
-	}
-}
-
-.money-box {
-	position: relative;
-	z-index: 2;
-	padding-top: 100rpx;
-	color: #ffffff;
-	text-align: center;
-	.money {
-		font-size: 72rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #ffffff;
-	}
-	.text {
-		font-size: 30rpx;
-	}
-}
-.moneybtn-box {
-	display: flex;
-	justify-content: space-between;
-	position: relative;
-	z-index: 2;
-	color: #ffffff;
-	padding: 20rpx 50rpx;
-	font-size: 30rpx;
-	font-family: PingFang SC;
-	font-weight: bold;
-	color: #ffffff;
-}
-
-.navbar {
-	margin-top: 25rpx;
-	display: flex;
-	height: 40px;
-	padding: 0 5px;
-	background: #fff;
-	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
-	position: relative;
-	z-index: 10;
-
-	.nav-item {
-		flex: 1;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 15px;
-		color: $font-color-dark;
-		position: relative;
-
-		&.current {
-			color: #000;
-			font-weight: bold;
-
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 44px;
-				height: 0;
-				border-bottom: 2px solid rgba(154, 94, 25, 1);
-			}
-		}
-	}
-}
-
-//列表
-
-.swiper-box {
-	.order-item {
-		padding: 20rpx 30rpx;
-		line-height: 1.5;
-
-		.title-box {
-			.title {
-				font-size: $font-lg;
-				color: $font-color-base;
-			}
-
-			.time {
-				font-size: $font-base;
-				color: $font-color-light;
-			}
-		}
-
-		.money {
-			color: rgba(239, 58, 85, 1);
-			font-size: $font-lg;
-		}
-	}
-}
-.info-box {
-	width: 670rpx;
-	height: 186rpx;
-	background: #ffffff;
-	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-	border-radius: 20rpx;
-	margin: -100rpx auto 0;
-	position: relative;
-	z-index: 2;
-	.info-item {
-		width: 50%;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		line-height: 1;
-		.info-font {
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #999999;
-		}
-		.info-num {
-			margin-top: 30rpx;
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #181818;
-		}
-	}
-	.shu {
-		width: 2rpx;
-		height: 74rpx;
-		background: #dcdfe6;
-	}
-}
-
-.list-scroll-content {
-	background-color: #ffffff;
-	height: 100%;
-}
-
-.content {
-	height: 100%;
-
-	.empty-content {
-		background-color: #ffffff;
-	}
-}
-
-.btm-wrap {
-	height: 140rpx;
-	width: 750rpx;
-	position: fixed;
-	bottom: 0;
-	left: 0;
-	background-color: #fff;
-
-	.btn {
-		width: 674rpx;
-		height: 88rpx;
-		line-height: 88rpx;
-		margin: auto;
-		background: linear-gradient(-22deg, #9a5e19, #9a5e19);
-		border-radius: 44rpx;
-		text-align: center;
-		font-size: 36rpx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #ffffff;
-	}
-}
-</style>

+ 0 - 248
pages/user/sqdl.vue

@@ -1,248 +0,0 @@
-<template>
-	<view class="content">
-		<view class="" style="height: 20rpx;">
-
-		</view>
-		<view class="tab">
-			<view class="bd-wrap flex">
-				<view class="bg-name">
-					姓名:
-				</view>
-				<view class="bg-val">
-					<input type="text" value="" placeholder="请输入您的姓名" class="val-ipt" v-model="name" ref="name" />
-				</view>
-			</view>
-			<view class="bd-wrap flex">
-				<view class="bg-name">
-					联系方式:
-				</view>
-				<view class="bg-val">
-					<input type="text" value="" placeholder="请输入您的联系方式" class="val-ipt" v-model="phone" ref="phone" />
-				</view>
-			</view>
-			<!-- <pickerAddress class="input" @change="onCityClick">{{addressDetail||'请选择地址'}}</pickerAddress> -->
-			<view class="bd-wrap flex">
-				<view class="bg-name">
-					所在地区:
-				</view>
-				<view class="bg-val">
-					<pickerAddress class="input" @change="onCityClick">{{address||'请选择地址'}}</pickerAddress>
-				</view>
-			</view>
-			<view class="bd-wrap flex">
-				<view class="bg-name">
-					详细地址:
-				</view>
-				<view class="bg-val">
-					<input type="text" value="" placeholder="请输入详细地址" class="val-ipt" v-model="addressDetail"
-						ref="address" />
-				</view>
-			</view>
-			<view class="bd-wrap flex">
-				<view class="bg-name">
-					店名或公司名称:
-				</view>
-				<view class="bg-val">
-					<input type="text" value="" placeholder="请输入店名或公司名称" class="val-ipt" v-model="storename"
-						ref="storenamae" />
-				</view>
-			</view>
-			<view class="bd-wrap flex" v-if="!userInfo.spread_uid">
-				<view class="bg-name">
-					推荐人:
-				</view>
-				<view class="bg-val">
-					<input type="text" value="" placeholder="请输入推荐人UID(可选填)" class="val-ipt" v-model="spread"
-						ref="storenamae" />
-				</view>
-			</view>
-			<view class="bd-wrap flex">
-				<view class="bg-name">
-					等级:
-				</view>
-				<view class="bg-val">
-					<picker @change="bindLevelChange" :value="index" :range="levelList" mode="selector"
-						range-key="name">
-						<view class="val-ipt ">{{chooseLevel.name||'请选择等级'}}</view>
-					</picker>
-				</view>
-			</view>
-
-		</view>
-		<view class="btm-btn" @click="enroll">
-			提交申请
-		</view>
-	</view>
-</template>
-<script>
-	import pickerAddress from '@/components/wangding-pickerAddress/wangding-pickerAddress.vue';
-	import {
-		enroll
-	} from '@/api/index.js'
-	import {
-		getLevelList,
-	} from '@/api/user.js'
-	import {
-		mapState,
-		mapMutations
-	} from 'vuex';
-	export default {
-		components: {
-			pickerAddress
-		},
-		data() {
-			return {
-				levelList: [],
-				index: 0,
-				chooseLevel: '',
-				name: '',
-				phone: '',
-				address: '',
-				storename: '',
-				spread: '',
-				addressDetail: '',
-				loading: false,
-			};
-		},
-		onLoad(opt) {
-			this.getLevelList()
-		},
-		onShow() {
-
-		},
-		onReachBottom() {
-
-		},
-		computed: {
-			...mapState('user', ['userInfo'])
-		},
-		methods: {
-			// 选中城市切换
-			onCityClick({
-				data
-			}) {
-				// let address = this.addressData.address;
-				// address.province = data[0];
-				// address.city = data[1];
-				// address.district = data[2];
-				this.address = data.join('-');
-			},
-			getLevelList() {
-				getLevelList().then(res => {
-					this.levelList = res.data
-				})
-			},
-			bindLevelChange(e) {
-				console.log(e)
-				this.chooseLevel = this.levelList[e.detail.value]
-			},
-			enroll() {
-				let that = this
-				console.log('bin');
-				if (that.loading) {
-					return
-				}
-				if (that.name == '') {
-					return that.$api.msg('请输入您的姓名')
-				}
-				if (that.phone == '') {
-					return that.$api.msg('请输入您的联系方式')
-				}
-				console.log(that.chooseLevel, '123456');
-				if (!that.chooseLevel) {
-					return that.$api.msg('请选择你的等级')
-				}
-				that.loading = true
-				enroll({
-					uid: that.userInfo.uid,
-					name: that.name,
-					phone: that.phone,
-					address: that.address,
-					storename: that.storename,
-					spread: that.spread,
-					addressDetail: that.addressDetail,
-					level: that.chooseLevel.id,
-					level_name: that.chooseLevel.name
-				}).then(res => {
-					console.log(res);
-					uni.showToast({
-						title: '提交成功',
-						duration: 2000
-					});
-					setTimeout(() => {
-						uni.switchTab({
-							url: '/pages/user/user'
-						})
-						that.loading = false
-					}, 1500)
-
-				}).catch(err => {
-					console.log('err');
-					that.loading = false
-				})
-			}
-		}
-	};
-</script>
-<style lang="scss" scoped>
-	.tab {
-		width: 690rpx;
-		margin: auto;
-		// height: 606rpx;
-		background: #FFFFFF;
-		border-radius: 10rpx;
-	}
-
-	.bd-wrap {
-		width: 690rpx;
-		// height: 100rpx;
-		padding: 20rpx 0;
-		background-color: #fff;
-		border-bottom: 1px solid #f2f2f2;
-		// line-height: 100rpx;
-		font-size: 32rpx;
-		position: relative;
-
-		.code {
-			position: absolute;
-			width: 100rpx;
-			height: 100rpx;
-			right: 10rpx;
-			color: #f64342;
-			font-size: 23rpx;
-		}
-
-		.bg-name {
-			width: 280rpx;
-			height: 100%;
-			padding-left: 20rpx;
-		}
-
-		.bg-val {
-			width: 430rpx;
-			height: 100%;
-
-			.val-ipt {
-				display: inline-block;
-				width: 100%;
-				height: 100%;
-				// background-color: #009100;
-				padding-left: 10rpx;
-
-			}
-		}
-	}
-
-	.btm-btn {
-		margin: 105rpx auto 0;
-		width: 654rpx;
-		height: 82rpx;
-		background: linear-gradient(180deg, #3C82E6, #5395F5);
-		border-radius: 10rpx;
-		font-size: 34rpx;
-		font-weight: 500;
-		color: #FFFFFF;
-		text-align: center;
-		line-height: 82rpx;
-	}
-</style>

+ 39 - 29
pages/user/team.vue

@@ -11,27 +11,27 @@
 				<view class="header">我的推广</view>
 			</view>
 			<view class="content-bg">
-				<image src="../../static/img/tg-bg.png" mode=""></image>
+				<image src="../../static/img/team-bg.png" mode=""></image>
 			</view>
 			<view class="money-box">
 				<view class="money">{{ all|| '0' }}</view>
 				<view>我的推广人数</view>
 			</view>
-			<view class="money-box" style="padding-top: 20rpx;" v-if="order*1 > 0">
+			<!-- <view class="money-box" style="padding-top: 20rpx;" v-if="order*1 > 0">
 				<view>直推:{{zt_order}}单</view>
 				<view>间推:{{jt_order}}单</view>
-			</view>
+			</view> -->
 		</view>
-		<view class="flex buttom-box">
-			<view class="buttom"  @click="tabClick(0)">
+		<!-- <view class="flex buttom-box">
+			<view class="buttom" @click="tabClick(0)">
 				<view class="money">{{all || 0}}</view>
 				<text class="text" :class="{ current: tabCurrentIndex === 0 }">一级推广</text>
 			</view>
-			<view class="buttom"  @click="tabClick(1)">
+			<view class="buttom" @click="tabClick(1)">
 				<view class="money">{{totalLevel || 0}}</view>
 				<text class="text" :class="{ current: tabCurrentIndex === 1 }">二级推广</text>
 			</view>
-		</view>
+		</view> -->
 		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300"
 			@change="changeTab">
 			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
@@ -95,21 +95,22 @@
 				maxheight: '',
 				tabCurrentIndex: 0,
 				navList: [{
-					state: 0,
-					text: '直接推荐',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 1,
-					text: '间接推荐',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10 //每次信息条数
-				}],
+						state: 0,
+						text: '直接推荐',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页数
+						limit: 10 //每次信息条数
+					},
+					// {
+					// 	state: 1,
+					// 	text: '间接推荐',
+					// 	loadingType: 'more',
+					// 	orderList: [],
+					// 	page: 1, //当前页数
+					// 	limit: 10 //每次信息条数
+					// }
+				],
 				all: '',
 				list: '',
 				totalLevel: '',
@@ -156,7 +157,7 @@
 				myspread({
 						page: navItem.page,
 						limit: navItem.limit,
-						grade:state,
+						grade: state,
 						uid: this.userInfo.uid
 					})
 					.then(({
@@ -302,6 +303,7 @@
 		padding: 20rpx 30rpx;
 		line-height: 1.5;
 		background-color: #fff;
+
 		.title-box {
 			width: 100%;
 
@@ -418,6 +420,7 @@
 			background: #dddddd;
 		}
 	}
+
 	.navbar {
 		margin-top: 20rpx;
 		display: flex;
@@ -427,7 +430,7 @@
 		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
 		position: relative;
 		z-index: 10;
-	
+
 		.nav-item {
 			flex: 1;
 			display: flex;
@@ -437,10 +440,10 @@
 			font-size: 15px;
 			color: #999999;
 			position: relative;
-	
+
 			&.current {
 				color: #000;
-	
+
 				&:after {
 					content: '';
 					position: absolute;
@@ -454,37 +457,44 @@
 			}
 		}
 	}
+
 	.buttom-box {
 		position: relative;
 		background-color: #ffffff;
 		text-align: center;
 		padding: 30rpx 0;
+
 		.buttom {
 			flex-grow: 1;
 		}
-		.money{
-			
+
+		.money {
+
 			font-size: 32rpx;
 			font-weight: bold;
 			color: #ff4173;
 		}
+
 		.text {
 			padding-bottom: 26rpx;
 			font-size: 28rpx;
 			font-weight: 500;
 			color: #666666;
+
 			&.current {
 				border-bottom: 2px solid #ff4173;
 			}
 		}
+
 		.icon {
 			height: 50rpx;
 			width: 48rpx;
 			margin: 0 auto;
+
 			.icon-img {
 				width: 100%;
 				height: 100%;
 			}
 		}
 	}
-</style>
+</style>

+ 36 - 76
pages/user/user.vue

@@ -6,31 +6,18 @@
 		</view>
 		<view class="" style="height: 100rpx;"></view>
 		<view class="user-box">
-			<view class="user-info flex">
-				<image class="avatar" :src="userInfo.avatar" mode="" v-if="userInfo.avatar"
-					@click="navTo('/pages/set/userinfo')"></image>
-				<image class="avatar" src="../../static/error/missing-face.png" mode="" v-else></image>
-				<view class="user-name-id">
-					<view class="user-name clamp2">{{ userInfo.nickname || '游客'}}</view>
-					<view class="user-shop flex" v-if="userInfo.uid">
-						<view class="user-shop-item" v-if="userInfo.level> 0 " style="width: 180rpx;">
-							<image class="user-shop-icon" src="../../static/img/level.png" mode=""
-								style="width: 180rpx;"></image>
-							<view class="user-shopname" style="padding-left: 70rpx;">
-								{{userInfo.level_name}}
-							</view>
+			<image class="avatar" :src="userInfo.avatar" mode="" v-if="userInfo.avatar"
+				@click="navTo('/pages/set/userinfo')"></image>
+			<image class="avatar" src="../../static/error/missing-face.png" mode="" v-else></image>
+			<view class="user-name-id">
+				<view class="user-name clamp1">{{ userInfo.nickname || '游客'}}</view>
+				<view class="user-shop flex" v-if="userInfo.uid">
+					<view class="user-shop-item" v-if="userInfo.level> 0 " style="width: 180rpx;">
+						<image class="user-shop-icon" src="../../static/img/level.png" mode="" style="width: 180rpx;">
+						</image>
+						<view class="user-shopname" style="padding-left: 70rpx;">
+							{{userInfo.level_name}}
 						</view>
-						<!-- <view class="user-shop-item" >
-							<image class="user-shop-icon" src="../../static/img/level.png" mode="" style="width: 140rpx;"></image>
-							<view class="user-shopname">
-								{{userInfo.identity == 0?'粉丝':(userInfo.identity == 1?'店员':userInfo.identity == 2?'店长':'')}}
-							</view>
-						</view> -->
-						<!-- </view> -->
-						<!-- <view class="user-uid">UID:{{ userInfo.uid || ''}}</view> -->
-						<!-- <view class="user-shop" v-if="userInfo.user_rule != 'user'">
-						<view class="user-shopname">{{ userInfo.identity == 2 ? '店长' : userInfo.identity == 1 ? '店员' : '粉丝' }}</view>
-					</view> -->
 					</view>
 				</view>
 			</view>
@@ -42,24 +29,15 @@
 				<view class="user-xian"></view>
 				<view class="user-money-item" @click="navTo('/pages/user/yue')">
 					<view class="user-money-num">{{ userInfo.now_money*1 || 0 }}</view>
-					<view class="user-money-font">我的钱包</view>
+					<view class="user-money-font">我的余额</view>
 				</view>
 				<view class="user-xian"></view>
-				<view class="user-money-item" @click="navTo('/pages/user/jf')">
-					<view class="user-money-num">{{ userInfo.integral*1 || 0 }}</view>
-					<view class="user-money-font">我的积分</view>
-				</view>
-				<!-- <view class="user-money-item" @click="navTo('/pages/user/team')">
+				<view class="user-money-item" @click="navTo('/pages/user/team')">
 					<view class="user-money-num">{{ userInfo.spread_count || 0 }}</view>
 					<view class="user-money-font">我的推广</view>
-				</view> -->
+				</view>
 			</view>
-			<image src="../../static/icon/u-set.png" mode="" class="u-set" @click="navTo('/pages/set/userinfo')">
-			</image>
 		</view>
-		<!--  -->
-		<image src="../../static/img/sqdl.png" mode="widthFix" class="sqdl" @click="sqdl"
-			v-if="userInfo.enroll_status != 2"></image>
 		<view class="main-box">
 			<view class="title flex" @click="navTo('/pages/order/order?state=0')">
 				<view class="title-left">
@@ -86,42 +64,44 @@
 				</view>
 			</view>
 		</view>
-		<view class="user-list flex" @click="navTo('/pages/user/favorites')">
-			<image src="../../static/icon/u-sc.png" mode="" class="left-img"></image>
+		<view class="user-list flex" @click="navTo('/pages/user/shareQrCode')">
+			<image src="../../static/icon/u0.png" mode="" class="left-img"></image>
 			<view class="">
-				我的收藏
+				邀请海报
 			</view>
 			<image src="../../static/icon/back.png" mode="" class="right-img"></image>
 		</view>
-		<view class="user-list flex" @click="navTo('/pages/user/shareQrCode')">
+		<view class="user-list flex" @click="navTo('/pages/user/favorites')">
 			<image src="../../static/icon/u1.png" mode="" class="left-img"></image>
 			<view class="">
-				推广海报
+				我的收藏
 			</view>
 			<image src="../../static/icon/back.png" mode="" class="right-img"></image>
 		</view>
-		<view class="user-list flex" @click="navTo('/pages/user/team')">
-			<image src="../../static/icon/gn1.png" mode="" class="left-img"></image>
+		<view class="user-list flex" @click="openKf()">
+			<image src="../../static/icon/u2.png" mode="" class="left-img"></image>
 			<view class="">
-				我的推广
+				客服中心
 			</view>
 			<image src="../../static/icon/back.png" mode="" class="right-img"></image>
 		</view>
 		<view class="user-list flex" @click="navTo('/pages/set/address')">
-			<image src="../../static/icon/u2.png" mode="" class="left-img"></image>
+			<image src="../../static/icon/u3.png" mode="" class="left-img"></image>
 			<view class="">
 				收货地址
 			</view>
 			<image src="../../static/icon/back.png" mode="" class="right-img"></image>
 		</view>
-		<view class="user-list flex" @click="openKf()">
-			<image src="../../static/icon/u3.png" mode="" class="left-img"></image>
+		<view class="user-list flex" @click="navTo('/pages/set/userinfo')">
+			<image src="../../static/icon/u4.png" mode="" class="left-img"></image>
 			<view class="">
-				客服
+				设置
 			</view>
 			<image src="../../static/icon/back.png" mode="" class="right-img"></image>
 		</view>
 
+
+
 		<view class="" style="height: 20rpx;">
 
 		</view>
@@ -527,38 +507,19 @@
 		line-height: 1;
 		position: relative;
 
-		.u-set {
-			position: absolute;
-			top: 85rpx;
-			right: 40rpx;
-			width: 44rpx;
-			height: 44rpx;
-		}
 
-		.user-info {
-			justify-content: flex-start;
-			width: 100%;
-			padding-left: 40rpx;
-
-			.avatar {
-				border-radius: 50%;
-				width: 132rpx;
-				height: 132rpx;
-				background-color: #eee;
-				margin-right: 18rpx;
-			}
 
-			.user-uid {
-				padding-top: 10rpx;
-				font-size: 24rpx;
-				font-weight: 500;
-				color: #666666;
-			}
+		.avatar {
+			border-radius: 50%;
+			width: 132rpx;
+			height: 132rpx;
+			background-color: #eee;
 		}
 
 
+
 		.user-name {
-			width: 300rpx;
+			text-align: center;
 			margin-top: 14rpx;
 			// font-size: 30rpx;
 			font-size: $ltl-size-big;
@@ -568,14 +529,13 @@
 		}
 
 		.user-shop {
-			margin-top: 10rpx;
 			display: flex;
 			justify-content: flex-start;
 			align-items: center;
 
 			.user-shop-item {
+				margin: 10rpx auto 0;
 				position: relative;
-				margin: 0 10rpx;
 				width: 180rpx;
 				height: 55rpx;
 

+ 19 - 18
pages/user/withdrawal.vue

@@ -51,7 +51,7 @@
 							</view>
 						</view>
 						<view class="right">
-							<radio value="alipay" color="#ff4072" :checked="type == 'alipay'" />
+							<radio value="alipay" color="#9c0b18" :checked="type == 'alipay'" />
 						</view>
 					</view>
 				</label>
@@ -70,7 +70,7 @@
 							</view>
 						</view>
 						<view class="right">
-							<radio value="bank" color="#ff4072" :checked="type == 'bank'" />
+							<radio value="bank" color="#9c0b18" :checked="type == 'bank'" />
 						</view>
 					</view>
 				</label>
@@ -111,9 +111,10 @@
 			<input class="input" type="text" v-model="bank_belonging" placeholder="请输入所属支行"
 				placeholder-class="placeholder" />
 		</view> -->
-		<button class="add-btn modified" @click="navTo('/pages/money/account?type=' + (type=='bank'?'3':'2'))">账号管理</button>
+		<button class="add-btn modified"
+			@click="navTo('/pages/money/account?type=' + (type=='bank'?'3':'2'))">账号管理</button>
 		<button class="add-btn up" @click="confirm">提交申请</button>
-		
+
 	</view>
 </template>
 
@@ -175,26 +176,26 @@
 			// this.loadAli();
 			// this.loadBank();
 			this.dataUp()
-			
+
 		},
 		methods: {
 			...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
 			dataUp() {
 				let obj = this
 				getBank().then(res => {
-					console.log(res.data.zfb,'res')
-					if(res.data.zfb.name) {
+					console.log(res.data.zfb, 'res')
+					if (res.data.zfb.name) {
 						obj.aliData = res.data.zfb
-						console.log(obj.aliData,'obj.aliData')
+						console.log(obj.aliData, 'obj.aliData')
 					}
-					if(res.data.bank.name) {
+					if (res.data.bank.name) {
 						obj.bankData = res.data.bank
 					}
 				})
 			},
 			// 加载余额信息
 			async loadData() {
-				
+
 				extractBank({}).then(({
 					data
 				}) => {
@@ -202,7 +203,7 @@
 					this.minPrice = data.minPrice;
 					this.money = data.brokerage_price
 				});
-				
+
 			},
 			// 跳转
 			navTo(url) {
@@ -252,16 +253,16 @@
 					data.cardnum = this.bankData.payment;
 					// data.bank_belonging = this.bankData.bank_name
 				}
-				if(this.type == 'weixin') {
+				if (this.type == 'weixin') {
 					console.log('weixin');
 					data.weixin = this.weixin_no
-					
+
 				}
 
 				extractCash(data)
 					.then(e => {
 						obj.loadData()
-						
+
 						uni.showToast({
 							title: '提交成功',
 							duration: 2000,
@@ -361,13 +362,13 @@
 	.add-btn {
 		&.modified {
 			// color: #ffffff;
-			border:1px solid #ff4072;
+			border: 1px solid #9c0b18;
 			// background-color: #fff;
-			color: #ff4072;
+			color: #9c0b18;
 		}
 
 		&.up {
-			background: linear-gradient(90deg, #ff4072, #ff4072);
+			background: #9c0b18;
 			color: #fff;
 		}
 
@@ -466,4 +467,4 @@
 		padding: 20rpx;
 		color: #fd3b39;
 	}
-</style>
+</style>

+ 0 - 161
pages/user/xzdl.vue

@@ -1,161 +0,0 @@
-<template>
-	<view class="content">
-		<view class="row b-b">
-			<text class="tit">选择升级身份</text>
-			<picker @change="bindlevel" :range="levelList" range-key="name">
-				<input type="text" placeholder="请选择" class="item-val" v-model="chooseLevel" disabled>
-			</picker>
-		</view>
-		<view class="row b-b">
-			<text class="tit">选择代理区域</text>
-			<pickerAddress class="input" @change="onCityClick">{{addressDetail||'请选择地址'}}</pickerAddress>
-			<!-- <text class="iconfont iconlocation"></text> -->
-		</view>
-		<button class="add-btn" @click="loaded?'':confirm()">提交</button>
-	</view>
-</template>
-
-<script>
-	import  pickerAddress from '@/components/wangding-pickerAddress/wangding-pickerAddress.vue';
-	import {sqdl} from '@/api/user.js'
-	export default {
-		components: {
-			pickerAddress,
-		},
-		data() {
-			return {
-				loaded: false,
-				addressDetail: '',
-				chooseLevel: '请选择',
-				leveleId: '',
-				levelList: [{
-						name: 'vip代理',
-						id: 1
-					},
-					{
-						name: '区域代理',
-						id: 2
-					}
-				],
-				addressData: {
-					name: '',
-					mobile: '',
-					address: {
-						province: '',
-						city: '',
-						district: ''
-					},
-					area: '',
-					default: false
-				}
-			}
-		},
-		onLoad() {
-
-		},
-		onShow() {
-
-		},
-		onReachBottom() {
-
-		},
-		onReady() {
-
-		},
-		methods: {
-			bindlevel(e) {
-				this.chooseLevel = this.levelList[e.detail.value].name
-				this.leveleId = this.levelList[e.detail.value].id
-			},
-			onCityClick({data}) {
-				let address = this.addressData.address;
-				address.province = data[0];
-				address.city = data[1];
-				address.district = data[2];
-				this.addressDetail = data.join('');
-			},
-			confirm() {
-				let obj = this
-				if(obj.chooseLevel == '请选择') {
-					return obj.$api.msg('请选择升级身份')
-				}
-				if(obj.addressDetail == '') {
-					return obj.$api.msg('请选择代理区域')
-				}
-				obj.loaded = true
-				sqdl({
-					type: obj.leveleId,
-					address:obj.addressDetail
-				}).then(res => {
-					uni.showToast({
-						title:'提交成功',
-						duration:2000
-					});
-					setTimeout(()=> {
-						uni.switchTab({
-							url: '/pages/user/user'
-						})
-					},1500)
-					
-				}).catch(err => {
-					console.log(err)
-					obj.loaded = false
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.row {
-		display: flex;
-		align-items: center;
-		position: relative;
-		padding: 0 30rpx;
-		height: 110rpx;
-		background: #fff;
-
-		.tit {
-			flex-shrink: 0;
-			width: 200rpx;
-			font-size: 30rpx;
-			color: $font-color-dark;
-		}
-
-		.input {
-			
-			flex-grow: 1;
-			font-size: 30rpx;
-			color: $font-color-dark;
-			text-align: right;
-			line-height: 110rpx;
-		}
-
-		.item-val {
-			// background-color: red;
-			width: 490rpx;
-			height: 110rpx;
-			line-height: 120rpx;
-			text-align: right;
-			color: #000;
-		}
-
-		.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-color: $base-color;
-		border-radius: 10rpx;
-		// box-shadow: 1px 2px 5px rgba(219, 63, 96, 0.4);
-	}
-</style>

+ 0 - 354
pages/user/yjzye.vue

@@ -1,354 +0,0 @@
-<template>
-	<view class="content">
-		<view class="content-money">
-			<view class="flex">
-				<view class="buttom">
-					<view class="icon" >{{ userInfo.brokerage_price | getMoneyStyle }}</view>
-					<text class="text">可转换余额</text>
-				</view>
-			</view>
-		</view>
-		<!-- <view class="row-box">
-			<view class="title">收款人手机号</view>
-			<view class="row"><input class="input" type="number" v-model="phone" placeholder="请输入收款人手机号"
-					placeholder-class="placeholder" /></view>
-		</view> -->
-		<view class="row-box">
-			<view class="title">转换金额</view>
-			<view class="row">
-				<!-- <text class="tit">¥</text> -->
-				<input class="input" type="number" v-model="withdrawal" placeholder="转换金额"
-					placeholder-class="placeholder" />
-				<view class="buttom" @click="withdrawal = userInfo.brokerage_price*1" >全部转换</view>
-				<!-- <view class="buttom" @click="withdrawal = userInfo.dynamic_integral" v-if="type== 2">全部转账</view> -->
-			</view>
-		</view>
-		<button class="add-btn up" :class="{ action: loding }" @click="!loding ? confirm() : ''">转换</button>
-	</view>
-</template>
-
-<script>
-	import {
-		getMoneyStyle
-	} from '@/utils/rocessor.js';
-	import {
-		getUserInfo,
-		jfzz,
-		yjzye
-	} from '@/api/user.js';
-	import {
-		mapMutations,
-		mapState
-	} from 'vuex';
-	export default {
-		filters: {
-			getMoneyStyle
-		},
-		data() {
-			return {
-				phone: '',
-				money: '0.00', //可提现金额
-				withdrawal: '', //提现金额
-				password: '', //支付密码
-				card: '', //转账卡号
-				name: '',
-				// #ifdef H5
-				weichatBsrowser: false,
-				// #endif
-				loding: false,
-				type: 0
-			};
-		},
-		onLoad(options) {
-			// #ifdef H5
-			this.weichatBsrowser = uni.getStorageSync('weichatBrowser');
-			// #endif
-			this.dataUp();
-			if (options.type) {
-				this.type = options.type;
-				
-			}
-		},
-		computed: {
-			...mapState('user', ['userInfo'])
-		},
-		methods: {
-			...mapMutations('user', ['setUserInfo', 'login']),
-			// 更新数据
-			dataUp() {
-				let obj = this;
-				getUserInfo({})
-					.then(e => {
-						obj.login();
-						// 保存返回用户数据
-						obj.setUserInfo(e.data);
-					})
-					.catch(e => {
-						console.log(e);
-					});
-			},
-			// 切换选中对象
-			tabRadio(e) {
-				this.type = e.detail.value;
-			},
-			// 提交
-			confirm() {
-				let obj = this;
-				obj.loding = true;
-				if (obj.withdrawal == 0) {
-					obj.loding = false;
-					uni.showModal({
-						title: '提示',
-						content: '转换金额不要为0'
-					});
-					return;
-				}
-				
-				let data = {
-					// phone: obj.phone, //编号
-					price: obj.withdrawal ,//金额
-					// type: obj.type
-				};
-				yjzye(data)
-					.then(e => {
-				
-						// 允许按钮点击
-						obj.loding = false;
-						// 初始化提现金额
-						obj.withdrawal = '';
-						uni.showToast({
-							title: '转换成功',
-							duration: 2000,
-							position: 'top'
-						});
-						obj.dataUp();
-						obj.cancel()
-					})
-					.catch(e => {
-						obj.$api.msg(e.msg);
-						obj.loding = false;
-						console.log();
-					});
-			},
-			boblack() {
-				uni.navigateBack({
-					fail() {
-						uni.switchTab({
-							url: '/pages/index/index'
-						})
-					}
-				})
-			},
-		}
-	};
-</script>
-
-<style lang="scss">
-	page {
-		height: 100%;
-	}
-
-	.content-money {
-		padding: 30rpx 0;
-		background: #ffffff;
-	}
-
-	.item {
-		padding: 0 $page-row-spacing;
-		background-color: #ffffff;
-	}
-
-	.flex {
-		background-color: #ffffff;
-		text-align: center;
-		margin: 0 30rpx;
-		border-radius: $border-radius-sm;
-		justify-content: center;
-
-		.buttom {
-			font-size: $font-lg;
-			width: 50%;
-		}
-
-		.interval {
-			width: 2px;
-			height: 60rpx;
-			background-color: #eeeeee;
-		}
-
-		.icon {
-			background-size: 100%;
-			font-size: 42rpx;
-			color: $font-color-dark;
-			font-weight: bold;
-			background-repeat: no-repeat;
-			background-position: center;
-		}
-
-		.text {
-			color: $font-color-light;
-		}
-	}
-
-	.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;
-			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;
-			}
-
-			.iconlocation {
-				font-size: 36rpx;
-				color: $font-color-light;
-			}
-
-			.buttom {
-				color: #f21f5d;
-				font-size: $font-base;
-			}
-		}
-	}
-
-	.add-btn {
-		width: 520rpx;
-		height: 80rpx;
-		border-radius: 20rpx;
-		margin: 140rpx auto 0;
-		font-size: 36rpx;
-		font-weight: bold;
-		color: #F8DABA;
-		background-color: #303030;
-	}
-
-	.back-btn {
-		width: 520rpx;
-		height: 80rpx;
-		border-radius: 20rpx;
-		margin: 40rpx auto;
-		font-size: 36rpx;
-		font-weight: bold;
-		color: #303030;
-		background-color: #F8DABA;
-	}
-
-	.name {
-		background: #fff;
-		padding: 30rpx;
-	}
-
-	.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;
-
-			.icon {
-				font-size: 48rpx;
-				padding-right: 20rpx;
-
-				.icon-img {
-					height: 50rpx;
-					width: 50rpx;
-				}
-			}
-
-			.iconweixin1 {
-				color: #18bf16;
-			}
-
-			.iconzhifubao {
-				color: #08aaec;
-			}
-
-			.title-box {
-				flex-grow: 1;
-				text-align: left;
-
-				.title {
-					font-size: $font-base + 2rpx;
-					color: $font-color-base;
-				}
-
-				.node {
-					font-size: $font-sm;
-					color: $font-color-light;
-				}
-			}
-		}
-	}
-
-	.tip {
-		padding: 20rpx;
-		color: #ff0000;
-	}
-
-	/deep/ .uni-radio-input {
-		width: 45rpx;
-		height: 45rpx;
-	}
-
-	.psw-wrapper {
-		width: 548rpx;
-		height: 344rpx;
-		background-color: #FFFFFF;
-		border-radius: 15rpx 15rpx;
-
-		.psw-title {
-			width: 100%;
-			font-size: 35rpx;
-			padding: 43rpx 0 49rpx;
-			text-align: center;
-			font-weight: 800;
-		}
-
-		.psw-ipt {
-			display: block;
-			background-color: #dce3ed;
-			height: 90rpx;
-			width: 464rpx;
-			padding-left: 30rpx;
-			margin: 0 auto;
-			font-size: 80rpx;
-		}
-
-		.psw-btn text {
-			display: inline-block;
-			text-align: center;
-			width: 50%;
-			padding-top: 29rpx;
-			font-size: 35rpx;
-		}
-
-		.psw-qd {
-			color: #5771DF;
-		}
-	}
-</style>

+ 0 - 354
pages/user/yjzz.vue

@@ -1,354 +0,0 @@
-<template>
-	<view class="content">
-		<view class="content-money">
-			<view class="flex">
-				<view class="buttom">
-					<view class="icon" >{{ userInfo.brokerage_price | getMoneyStyle }}</view>
-					<text class="text">可转账余额</text>
-				</view>
-			</view>
-		</view>
-		<view class="row-box">
-			<view class="title">收款人UID</view>
-			<view class="row"><input class="input" type="number" v-model="phone" placeholder="请输入收款人UID"
-					placeholder-class="placeholder" /></view>
-		</view>
-		<view class="row-box">
-			<view class="title">转账金额</view>
-			<view class="row">
-				<!-- <text class="tit">¥</text> -->
-				<input class="input" type="number" v-model="withdrawal" placeholder="转入金额"
-					placeholder-class="placeholder" />
-				<view class="buttom" @click="withdrawal = userInfo.brokerage_price*1" >全部转账</view>
-				<!-- <view class="buttom" @click="withdrawal = userInfo.dynamic_integral" v-if="type== 2">全部转账</view> -->
-			</view>
-		</view>
-		<button class="add-btn up" :class="{ action: loding }" @click="!loding ? confirm() : ''">转账</button>
-	</view>
-</template>
-
-<script>
-	import {
-		getMoneyStyle
-	} from '@/utils/rocessor.js';
-	import {
-		getUserInfo,
-		jfzz
-	} from '@/api/user.js';
-	import {
-		mapMutations,
-		mapState
-	} from 'vuex';
-	export default {
-		filters: {
-			getMoneyStyle
-		},
-		data() {
-			return {
-				phone: '',
-				money: '0.00', //可提现金额
-				withdrawal: '', //提现金额
-				password: '', //支付密码
-				card: '', //转账卡号
-				name: '',
-				// #ifdef H5
-				weichatBsrowser: false,
-				// #endif
-				loding: false,
-				type: 0
-			};
-		},
-		onLoad(options) {
-			// #ifdef H5
-			this.weichatBsrowser = uni.getStorageSync('weichatBrowser');
-			// #endif
-			this.dataUp();
-			if (options.type) {
-				this.type = options.type;
-			}
-		},
-		computed: {
-			...mapState('user', ['userInfo'])
-		},
-		methods: {
-			...mapMutations('user', ['setUserInfo', 'login']),
-			// 更新数据
-			dataUp() {
-				let obj = this;
-				getUserInfo({})
-					.then(e => {
-						obj.login();
-						// 保存返回用户数据
-						obj.setUserInfo(e.data);
-					})
-					.catch(e => {
-						console.log(e);
-					});
-			},
-			// 切换选中对象
-			tabRadio(e) {
-				this.type = e.detail.value;
-			},
-			// 提交
-			confirm() {
-				let obj = this;
-				obj.loding = true;
-				if (obj.withdrawal == 0) {
-					obj.loding = false;
-					uni.showModal({
-						title: '提示',
-						content: '转账金额不要为0'
-					});
-					return;
-				}
-				if(obj.phone == '') {
-					return obj.$api.msg('请输入用户UID')
-				}
-				let data = {
-					uid: obj.phone, //编号
-					price: obj.withdrawal ,//金额
-					// type: obj.type
-				};
-				jfzz(data)
-					.then(e => {
-				
-						// 允许按钮点击
-						obj.loding = false;
-						// 初始化提现金额
-						obj.withdrawal = '';
-						uni.showToast({
-							title: '转账成功',
-							duration: 2000,
-							position: 'top'
-						});
-						obj.dataUp();
-						obj.cancel()
-					})
-					.catch(e => {
-						obj.$api.msg(e.msg);
-						obj.loding = false;
-						console.log();
-					});
-			},
-			boblack() {
-				uni.navigateBack({
-					fail() {
-						uni.switchTab({
-							url: '/pages/index/index'
-						})
-					}
-				})
-			},
-		}
-	};
-</script>
-
-<style lang="scss">
-	page {
-		height: 100%;
-	}
-
-	.content-money {
-		padding: 30rpx 0;
-		background: #ffffff;
-	}
-
-	.item {
-		padding: 0 $page-row-spacing;
-		background-color: #ffffff;
-	}
-
-	.flex {
-		background-color: #ffffff;
-		text-align: center;
-		margin: 0 30rpx;
-		border-radius: $border-radius-sm;
-		justify-content: center;
-
-		.buttom {
-			font-size: $font-lg;
-			width: 50%;
-		}
-
-		.interval {
-			width: 2px;
-			height: 60rpx;
-			background-color: #eeeeee;
-		}
-
-		.icon {
-			background-size: 100%;
-			font-size: 42rpx;
-			color: $font-color-dark;
-			font-weight: bold;
-			background-repeat: no-repeat;
-			background-position: center;
-		}
-
-		.text {
-			color: $font-color-light;
-		}
-	}
-
-	.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;
-			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;
-			}
-
-			.iconlocation {
-				font-size: 36rpx;
-				color: $font-color-light;
-			}
-
-			.buttom {
-				color: #f21f5d;
-				font-size: $font-base;
-			}
-		}
-	}
-
-	.add-btn {
-		width: 520rpx;
-		height: 80rpx;
-		border-radius: 20rpx;
-		margin: 140rpx auto 0;
-		font-size: 36rpx;
-		font-weight: bold;
-		color: #F8DABA;
-		background-color: #303030;
-	}
-
-	.back-btn {
-		width: 520rpx;
-		height: 80rpx;
-		border-radius: 20rpx;
-		margin: 40rpx auto;
-		font-size: 36rpx;
-		font-weight: bold;
-		color: #303030;
-		background-color: #F8DABA;
-	}
-
-	.name {
-		background: #fff;
-		padding: 30rpx;
-	}
-
-	.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;
-
-			.icon {
-				font-size: 48rpx;
-				padding-right: 20rpx;
-
-				.icon-img {
-					height: 50rpx;
-					width: 50rpx;
-				}
-			}
-
-			.iconweixin1 {
-				color: #18bf16;
-			}
-
-			.iconzhifubao {
-				color: #08aaec;
-			}
-
-			.title-box {
-				flex-grow: 1;
-				text-align: left;
-
-				.title {
-					font-size: $font-base + 2rpx;
-					color: $font-color-base;
-				}
-
-				.node {
-					font-size: $font-sm;
-					color: $font-color-light;
-				}
-			}
-		}
-	}
-
-	.tip {
-		padding: 20rpx;
-		color: #ff0000;
-	}
-
-	/deep/ .uni-radio-input {
-		width: 45rpx;
-		height: 45rpx;
-	}
-
-	.psw-wrapper {
-		width: 548rpx;
-		height: 344rpx;
-		background-color: #FFFFFF;
-		border-radius: 15rpx 15rpx;
-
-		.psw-title {
-			width: 100%;
-			font-size: 35rpx;
-			padding: 43rpx 0 49rpx;
-			text-align: center;
-			font-weight: 800;
-		}
-
-		.psw-ipt {
-			display: block;
-			background-color: #dce3ed;
-			height: 90rpx;
-			width: 464rpx;
-			padding-left: 30rpx;
-			margin: 0 auto;
-			font-size: 80rpx;
-		}
-
-		.psw-btn text {
-			display: inline-block;
-			text-align: center;
-			width: 50%;
-			padding-top: 29rpx;
-			font-size: 35rpx;
-		}
-
-		.psw-qd {
-			color: #5771DF;
-		}
-	}
-</style>

+ 355 - 322
pages/user/yue.vue

@@ -4,10 +4,14 @@
 			<view class="content-money">
 				<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="goback-box" @click="toBack">
+						<image class="goback" src="../../static/icon/fanhui.png" mode=""></image>
+					</view>
 					<view class="header">我的余额</view>
 				</view>
-				<view class="content-bg"><image src="../../static/img/tg-bg.png" mode=""></image></view>
+				<view class="content-bg">
+					<image src="../../static/img/tg-bg.png" mode=""></image>
+				</view>
 				<view class="money-box">
 					<view class="money">{{ userInfo.now_money | getMoneyStyle }}</view>
 					<view>余额</view>
@@ -15,7 +19,7 @@
 				<view class="moneybtn-box">
 					<!-- <view class="money-btn" style="text-decoration: underline;" @click="navto('/pages/money/freeze')">冻结记录</view> -->
 					<view class="money-btn" style="text-decoration: underline;"></view>
-					<view class="money-btn" @click="navto('/pages/user/xfjfzz?type=3')"></view>
+					<view class="money-btn" @click="navto('/pages/money/recharge')">钱包充值</view>
 				</view>
 			</view>
 		</view>
@@ -36,9 +40,11 @@
 			</view>
 		</view>
 		<view class="navbar">
-			<view v-for="(item, index) in navList" :key="index" class="nav-item" :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
+			<view v-for="(item, index) in navList" :key="index" class="nav-item"
+				:class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.text }}</view>
 		</view>
-		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300" @change="changeTab">
+		<swiper :current="tabCurrentIndex" :style="{ height: maxheight }" class="swiper-box" duration="300"
+			@change="changeTab">
 			<swiper-item class="tab-content" v-for="(tabItem, tabIndex) in navList" :key="tabIndex">
 				<scroll-view scroll-y="true" class="list-scroll-content" @scrolltolower="loadData">
 					<!-- 空白页 -->
@@ -66,368 +72,395 @@
 </template>
 
 <script>
-import { spreadCommission, userBalance, yue } from '@/api/wallet.js';
-import { mapState, mapMutations } from 'vuex';
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-import empty from '@/components/empty';
-import { getUser } from '@/api/user.js';
-export default {
-	filters: {
+	import {
+		spreadCommission,
+		userBalance,
+		yue
+	} from '@/api/wallet.js';
+	import {
+		mapState,
+		mapMutations
+	} from 'vuex';
+	import {
 		getMoneyStyle
-	},
-	components: {
-		empty,
-		uniLoadMore
-	},
-	onReady(res) {
-		var _this = this;
-		uni.getSystemInfo({
-			success: resu => {
-				const query = uni.createSelectorQuery();
-				query.select('.swiper-box').boundingClientRect();
-				query.exec(function(res) {
-					_this.maxheight = resu.windowHeight - res[0].top + 'px';
-					console.log('打印页面的剩余高度', _this.maxheight);
-				});
-			},
-			fail: res => {}
-		});
-	},
-	data() {
-		return {
-			userInfo: {},
-			// 头部图高度
-			maxheight: '',
-			tabCurrentIndex: 0,
-			sr: '',
-			zc: '',
-			navList: [
-				{
-					state: 2,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页面
-					limit: 10 //每次信息条数
-				},
-				{
-					state: 1,
-					text: '支出',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页面
-					limit: 10 //每次信息条数
-				}
-			],
-			money: ''
-		};
-	},
-	onLoad(options) {},
-	onShow() {
-		this.getUserInfo();
-		this.loadData();
-		//获取用户余额
-		// userBalance({}).then(({ data }) => {
-		// 	this.money = data.commissionCount;
-		// });
-	},
-	methods: {
-		...mapMutations('user', ['setUserInfo']),
-		navto(e) {
-			uni.navigateTo({
-				url: e
-			});
+	} from '@/utils/rocessor.js';
+	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+	import empty from '@/components/empty';
+	import {
+		getUser
+	} from '@/api/user.js';
+	export default {
+		filters: {
+			getMoneyStyle
 		},
-		getUserInfo() {
-			getUser({}).then(({ data }) => {
-				this.userInfo = data
+		components: {
+			empty,
+			uniLoadMore
+		},
+		onReady(res) {
+			var _this = this;
+			uni.getSystemInfo({
+				success: resu => {
+					const query = uni.createSelectorQuery();
+					query.select('.swiper-box').boundingClientRect();
+					query.exec(function(res) {
+						_this.maxheight = resu.windowHeight - res[0].top + 'px';
+						console.log('打印页面的剩余高度', _this.maxheight);
+					});
+				},
+				fail: res => {}
 			});
 		},
-		async loadData(source) {
-			const obj = this;
-			//这里时将订单挂载到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';
-
-			spreadCommission(
-				{
-					page: navItem.page,
-					limit: navItem.limit,
-				},state
-			)
-				.then(({ data }) => {
-					if (data.length > 0) {
-						navItem.orderList = navItem.orderList.concat(data[0].list);
-						console.log(navItem.orderList);
-						navItem.page++;
+		data() {
+			return {
+				userInfo: {},
+				// 头部图高度
+				maxheight: '',
+				tabCurrentIndex: 0,
+				sr: '',
+				zc: '',
+				navList: [{
+						state: 2,
+						text: '收入',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页面
+						limit: 10 //每次信息条数
+					},
+					{
+						state: 1,
+						text: '支出',
+						loadingType: 'more',
+						orderList: [],
+						page: 1, //当前页面
+						limit: 10 //每次信息条数
 					}
-					if (navItem.limit == data.length) {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'more';
-						return;
-					} else {
-						//判断是否还有数据, 有改为 more, 没有改为noMore
-						navItem.loadingType = 'noMore';
-					}
-					uni.hideLoading();
-					this.$set(navItem, 'loaded', true);
-				})
-				.catch(e => {
-					console.log(e);
-				});
+				],
+				money: ''
+			};
 		},
-		//swiper 切换
-		changeTab(e) {
-			this.tabCurrentIndex = e.target.current;
-			this.loadData('tabChange');
+		onLoad(options) {},
+		onShow() {
+			this.getUserInfo();
+			this.loadData();
+			//获取用户余额
+			// userBalance({}).then(({ data }) => {
+			// 	this.money = data.commissionCount;
+			// });
 		},
-		//顶部tab点击
-		tabClick(index) {
-			this.tabCurrentIndex = index;
-		},
-		toBack() {
-			uni.navigateBack();
+		methods: {
+			...mapMutations('user', ['setUserInfo']),
+			navto(e) {
+				uni.navigateTo({
+					url: e
+				});
+			},
+			getUserInfo() {
+				getUser({}).then(({
+					data
+				}) => {
+					this.userInfo = data
+				});
+			},
+			async loadData(source) {
+				const obj = this;
+				//这里时将订单挂载到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';
+
+				spreadCommission({
+						page: navItem.page,
+						limit: navItem.limit,
+					}, state)
+					.then(({
+						data
+					}) => {
+						if (data.length > 0) {
+							navItem.orderList = navItem.orderList.concat(data[0].list);
+							console.log(navItem.orderList);
+							navItem.page++;
+						}
+						if (navItem.limit == data.length) {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							navItem.loadingType = 'more';
+							return;
+						} else {
+							//判断是否还有数据, 有改为 more, 没有改为noMore
+							navItem.loadingType = 'noMore';
+						}
+						uni.hideLoading();
+						this.$set(navItem, 'loaded', true);
+					})
+					.catch(e => {
+						console.log(e);
+					});
+			},
+			//swiper 切换
+			changeTab(e) {
+				this.tabCurrentIndex = e.target.current;
+				this.loadData('tabChange');
+			},
+			//顶部tab点击
+			tabClick(index) {
+				this.tabCurrentIndex = index;
+			},
+			toBack() {
+				uni.navigateBack();
+			}
 		}
-	}
-};
+	};
 </script>
 
 <style lang="scss">
-page {
-	background: #f2f5f4;
-	height: 100%;
-}
-.status_bar {
-	height: var(--status-bar-height);
-	width: 100%;
-}
-.content-money {
-	position: relative;
-	height: 480rpx;
-	.content-bg {
-		position: absolute;
-		top: 0;
-		left: 0;
-		right: 0;
-		width: 750rpx;
-		height: 480rpx;
-		image {
-			width: 100%;
-			height: 100%;
-		}
+	page {
+		background: #f2f5f4;
+		height: 100%;
 	}
-	.body-title {
-		height: 80rpx;
-		text-align: center;
-		font-size: 35rpx;
+
+	.status_bar {
+		height: var(--status-bar-height);
+		width: 100%;
+	}
+
+	.content-money {
 		position: relative;
-		.header {
+		height: 480rpx;
+
+		.content-bg {
 			position: absolute;
-			left: 0;
 			top: 0;
-			width: 100%;
-			font-size: 36rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #fffeff;
-			height: 80rpx;
-			font-size: 36rpx;
-			font-weight: 700;
-			z-index: 9;
-			display: flex;
-			justify-content: center;
-			align-items: center;
+			left: 0;
+			right: 0;
+			width: 750rpx;
+			height: 480rpx;
+
+			image {
+				width: 100%;
+				height: 100%;
+			}
 		}
-		.goback-box {
-			position: absolute;
-			left: 18rpx;
-			top: 0;
+
+		.body-title {
 			height: 80rpx;
-			display: flex;
-			align-items: center;
+			text-align: center;
+			font-size: 35rpx;
+			position: relative;
+
+			.header {
+				position: absolute;
+				left: 0;
+				top: 0;
+				width: 100%;
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #fffeff;
+				height: 80rpx;
+				font-size: 36rpx;
+				font-weight: 700;
+				z-index: 9;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+			}
+
+			.goback-box {
+				position: absolute;
+				left: 18rpx;
+				top: 0;
+				height: 80rpx;
+				display: flex;
+				align-items: center;
+			}
+
+			.goback {
+				z-index: 100;
+				width: 34rpx;
+				height: 34rpx;
+			}
 		}
+	}
 
-		.goback {
-			z-index: 100;
-			width: 34rpx;
-			height: 34rpx;
+	.money-box {
+		position: relative;
+		z-index: 2;
+		padding-top: 70rpx;
+		color: #ffffff;
+		text-align: center;
+
+		.money {
+			font-size: 72rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #ffffff;
+		}
+
+		.text {
+			font-size: 30rpx;
 		}
 	}
-}
-
-.money-box {
-	position: relative;
-	z-index: 2;
-	padding-top: 70rpx;
-	color: #ffffff;
-	text-align: center;
-	.money {
-		font-size: 72rpx;
+
+	.moneybtn-box {
+		display: flex;
+		justify-content: space-between;
+		position: relative;
+		z-index: 2;
+		color: #ffffff;
+		padding: 20rpx 50rpx;
+		font-size: 30rpx;
 		font-family: PingFang SC;
 		font-weight: bold;
 		color: #ffffff;
 	}
-	.text {
-		font-size: 30rpx;
-	}
-}
-.moneybtn-box {
-	display: flex;
-	justify-content: space-between;
-	position: relative;
-	z-index: 2;
-	color: #ffffff;
-	padding: 20rpx 50rpx;
-	font-size: 30rpx;
-	font-family: PingFang SC;
-	font-weight: bold;
-	color: #ffffff;
-}
-
-.navbar {
-	margin-top: 25rpx;
-	display: flex;
-	height: 40px;
-	padding: 0 5px;
-	background: #fff;
-	box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
-	position: relative;
-	z-index: 10;
-
-	.nav-item {
-		flex: 1;
+
+	.navbar {
+		margin-top: 25rpx;
 		display: flex;
-		justify-content: center;
-		align-items: center;
-		height: 100%;
-		font-size: 15px;
-		color: $font-color-dark;
+		height: 40px;
+		padding: 0 5px;
+		background: #fff;
+		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
 		position: relative;
+		z-index: 10;
 
-		&.current {
-			color: #000;
-			font-weight: bold;
+		.nav-item {
+			flex: 1;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			height: 100%;
+			font-size: 15px;
+			color: $font-color-dark;
+			position: relative;
 
-			&:after {
-				content: '';
-				position: absolute;
-				left: 50%;
-				bottom: 0;
-				transform: translateX(-50%);
-				width: 44px;
-				height: 0;
-				border-bottom: 2px solid #FF4C4C;
+			&.current {
+				color: #000;
+				font-weight: bold;
+
+				&:after {
+					content: '';
+					position: absolute;
+					left: 50%;
+					bottom: 0;
+					transform: translateX(-50%);
+					width: 44px;
+					height: 0;
+					border-bottom: 2px solid #FF4C4C;
+				}
 			}
 		}
 	}
-}
 
-//列表
+	//列表
 
-.swiper-box {
-	.order-item {
-		padding: 20rpx 30rpx;
-		line-height: 1.5;
+	.swiper-box {
+		.order-item {
+			padding: 20rpx 30rpx;
+			line-height: 1.5;
 
-		.title-box {
-			.title {
-				font-size: $font-lg;
-				color: $font-color-base;
-			}
+			.title-box {
+				.title {
+					font-size: $font-lg;
+					color: $font-color-base;
+				}
 
-			.time {
-				font-size: $font-base;
-				color: $font-color-light;
+				.time {
+					font-size: $font-base;
+					color: $font-color-light;
+				}
 			}
-		}
 
-		.money {
-			color: rgba(239, 58, 85, 1);
-			font-size: $font-lg;
+			.money {
+				color: rgba(239, 58, 85, 1);
+				font-size: $font-lg;
+			}
 		}
 	}
-}
-.info-box {
-	width: 670rpx;
-	height: 186rpx;
-	background: #ffffff;
-	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-	border-radius: 20rpx;
-	margin: -100rpx auto 0;
-	position: relative;
-	z-index: 2;
-	.info-item {
-		width: 50%;
-		display: flex;
-		flex-direction: column;
-		align-items: center;
-		line-height: 1;
-		.info-font {
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #999999;
+
+	.info-box {
+		width: 670rpx;
+		height: 186rpx;
+		background: #ffffff;
+		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+		border-radius: 20rpx;
+		margin: -100rpx auto 0;
+		position: relative;
+		z-index: 2;
+
+		.info-item {
+			width: 50%;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			line-height: 1;
+
+			.info-font {
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #999999;
+			}
+
+			.info-num {
+				margin-top: 30rpx;
+				font-size: 30rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #181818;
+			}
 		}
-		.info-num {
-			margin-top: 30rpx;
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			font-weight: bold;
-			color: #181818;
+
+		.shu {
+			width: 2rpx;
+			height: 74rpx;
+			background: #dcdfe6;
 		}
 	}
-	.shu {
-		width: 2rpx;
-		height: 74rpx;
-		background: #dcdfe6;
-	}
-}
 
-.list-scroll-content {
-	background-color: #ffffff;
-	height: 100%;
-}
+	.list-scroll-content {
+		background-color: #ffffff;
+		height: 100%;
+	}
 
-.content {
-	height: 100%;
+	.content {
+		height: 100%;
 
-	.empty-content {
-		background-color: #ffffff;
+		.empty-content {
+			background-color: #ffffff;
+		}
 	}
-}
-
-.btm-wrap {
-	height: 140rpx;
-	width: 750rpx;
-	position: fixed;
-	bottom: 0;
-	left: 0;
-	background-color: #fff;
-
-	.btn {
-		width: 674rpx;
-		height: 88rpx;
-		line-height: 88rpx;
-		margin: auto;
-		background: linear-gradient(-22deg, #9a5e19, #9a5e19);
-		border-radius: 44rpx;
-		text-align: center;
-		font-size: 36rpx;
-		font-family: PingFang SC;
-		font-weight: 500;
-		color: #ffffff;
+
+	.btm-wrap {
+		height: 140rpx;
+		width: 750rpx;
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		background-color: #fff;
+
+		.btn {
+			width: 674rpx;
+			height: 88rpx;
+			line-height: 88rpx;
+			margin: auto;
+			background: linear-gradient(-22deg, #9a5e19, #9a5e19);
+			border-radius: 44rpx;
+			text-align: center;
+			font-size: 36rpx;
+			font-family: PingFang SC;
+			font-weight: 500;
+			color: #ffffff;
+		}
 	}
-}
-</style>
+</style>

BIN
static/icon/appleIcon.png


BIN
static/icon/bdq.png


BIN
static/icon/bkq.png


BIN
static/icon/c3.png


BIN
static/icon/c5.png


BIN
static/icon/c6.png


BIN
static/icon/c7.png


BIN
static/icon/c8.png


BIN
static/icon/down.png


BIN
static/icon/fgq.png


BIN
static/icon/hhh.png


BIN
static/icon/i8.png


BIN
static/icon/img01.png


BIN
static/icon/img02.png


BIN
static/icon/img03.png


BIN
static/icon/img04.png


BIN
static/icon/img05.png


BIN
static/icon/img06.png


BIN
static/icon/img07.png


BIN
static/icon/img08.png


BIN
static/icon/img09.png


BIN
static/icon/img10.png


BIN
static/icon/img11.png


BIN
static/icon/img12.png


BIN
static/icon/in1.png


BIN
static/icon/in2.png


BIN
static/icon/in3.png


BIN
static/icon/in4.png


BIN
static/icon/o1.png


BIN
static/icon/o2.png


BIN
static/icon/o3.png


BIN
static/icon/o4.png


BIN
static/icon/search-h.png


BIN
static/icon/sharejt.png


BIN
static/icon/title.png


BIN
static/icon/u-sc.png


BIN
static/icon/u-set.png


BIN
static/icon/u0.png


BIN
static/icon/u1.png


BIN
static/icon/u2.png


BIN
static/icon/u3.png


BIN
static/icon/u4.png


BIN
static/icon/user-top.png


BIN
static/icon/userleve.png


BIN
static/icon/wenhao.png


BIN
static/icon/》.png


BIN
static/img/arc.png


BIN
static/img/bo.png


BIN
static/img/delete.png


BIN
static/img/deletes.png


BIN
static/img/goog-bg.png


BIN
static/img/home-top.png


BIN
static/img/img01.png


BIN
static/img/img02.png


BIN
static/img/img03.png


BIN
static/img/img04.png


BIN
static/img/img05.png


BIN
static/img/img06.png


BIN
static/img/img07.png


BIN
static/img/img08.png


BIN
static/img/img09.png


BIN
static/img/img11.png


BIN
static/img/img13.png


BIN
static/img/img15.png


BIN
static/img/img16.png


BIN
static/img/img43.png


BIN
static/img/img57.png


BIN
static/img/index-bg.png


BIN
static/img/left.png


BIN
static/img/share.png


BIN
static/img/team-bg.png


BIN
static/img/tg-bg.png


+ 7 - 7
store/index.js

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

+ 18 - 18
uni.scss

@@ -1,35 +1,35 @@
 /* 页面左右间距 */
 $page-row-spacing: 30rpx;
 //页面基础颜色
-$page-color-base: #f8f8f8;//页面背景颜色
+$page-color-base: #f8f8f8; //页面背景颜色
 $page-color-light: #f8f6fc;
 // 主题颜色
-$base-color: #2884f0;//项目颜色
-$box-shadow-color:#5dbc7c;//阴影颜色
-$font-color:#5dbc7c;//字体颜色
-$font-color-spec: #5dbc7c;//可操作文字颜色
-$background-color:#5dbc7c;//按钮背景颜色
+$base-color: #902020; //项目颜色
+$box-shadow-color: #5dbc7c; //阴影颜色
+$font-color: #5dbc7c; //字体颜色
+$font-color-spec: #5dbc7c; //可操作文字颜色
+$background-color: #5dbc7c; //按钮背景颜色
 // 小图标大小
-$uni-img-size-base:36rpx;
+$uni-img-size-base: 36rpx;
 /* 文字尺寸 */
 $font-sm: 24rpx;
 $font-base: 28rpx;
 $font-lg: 32rpx;
 $ltl-size-mid: 32rpx;
-$ltl-size-lg:28rpx;
+$ltl-size-lg: 28rpx;
 $ltl-size-big: 36rpx;
 /*文字颜色*/
-$font-color-dark: #303133;//黑
-$font-color-base: #606266;//基础
-$font-color-white:#ffffff;//白色
-$font-color-light: #909399;//灰色
-$font-color-disabled: #c0c4cc;//禁用
+$font-color-dark: #303133; //黑
+$font-color-base: #606266; //基础
+$font-color-white: #ffffff; //白色
+$font-color-light: #909399; //灰色
+$font-color-disabled: #c0c4cc; //禁用
 /* 边框颜色 */
-$border-color-dark: #dcdfe6;//黑
-$border-color-base: #e4e7ed;//基础灰
-$border-color-light: #ebeef5;//亮灰
+$border-color-dark: #dcdfe6; //黑
+$border-color-base: #e4e7ed; //基础灰
+$border-color-light: #ebeef5; //亮灰
 // uni自带边框颜色
-$uni-border-color:#ebeef5;
+$uni-border-color: #ebeef5;
 /*颜色*/
 $color-yellow: #fd5b23;
 $color-gray: #999999;
@@ -68,4 +68,4 @@ $bg-green-gradual: linear-gradient(#5dbc7c, #71d094);
 	background-image: $bg-green-gradual;
 	margin-right: 10rpx;
 	border-radius: 10rpx;
-}
+}