hwq 1 yıl önce
ebeveyn
işleme
5a80042a58
92 değiştirilmiş dosya ile 3101 ekleme ve 4377 silme
  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;
-}
+}