瀏覽代碼

协议优化

DaMowang 2 年之前
父節點
當前提交
60e00e2fce

+ 6 - 1
src/app.scss

@@ -182,10 +182,11 @@ div {
 
 // 底部提示
 .fz_w_text {
+    width: 100%;
     color: #bcbcbc;
     font-size: 24rpx;
     text-align: center;
-    width: 100%;
+    padding: 30rpx 0 40rpx;
 }
 
 .no_data {
@@ -233,4 +234,8 @@ uni-input {
     margin-top: 16rpx;
     font-size: 28rpx;
     color: #888;
+}
+
+.hover_a{
+    color: #17bb87;
 }

+ 2 - 2
src/components/authorize-module/index.vue

@@ -19,9 +19,9 @@
 							<checkbox class='checkboxCom' value="agree" checked />
 							<view>我同意</view>
 						</label>
-						<navigator url="" hover-class="li_hover"><text>《用户服务协议》</text></navigator>
+						<span @click="goto('/pages/agreement/index',{tit:'隐私协议',type:26})" class="hover_a">《用户服务协议》</span>
                         <text>和</text>
-						<navigator url="/pages/agreement/privacy" hover-class="li_hover"><text>《隐私协议》</text></navigator>
+						<span @click="goto('/pages/agreement/index',{tit:'隐私协议',type:27})" class="hover_a">《隐私协议》</span>
 					</checkbox-group>
 				</div>
 				

+ 2 - 38
src/pages.json

@@ -132,24 +132,6 @@
 				"navigationBarTitleText": "积分明细"
 			}
 		},
-		{
-			"path": "pages/notice/index",
-			"style": {
-				"navigationBarTitleText": "用户须知"
-			}
-		},
-		{
-			"path": "pages/about/index",
-			"style": {
-				"navigationBarTitleText": "关于我们"
-			}
-		},
-		{
-			"path": "pages/course/index",
-			"style": {
-				"navigationBarTitleText": "新手教程"
-			}
-		},
 		{
 			"path": "pages/szw-order-list/index",
 			"style": {
@@ -216,12 +198,6 @@
 				"navigationBarTitleText": "我的茶友"
 			}
 		},
-		{
-			"path": "pages/tea-rule/index",
-			"style": {
-				"navigationBarTitleText": "用户身份及权益"
-			}
-		},
 		{
 			"path": "pages/my-credites/index",
 			"style": {
@@ -242,21 +218,9 @@
 			}
 		},
 		{
-			"path": "pages/agreement/privacy",
-			"style": {
-				"navigationBarTitleText": "隐私协议"
-			}
-		},
-		{
-			"path": "pages/agreement/recharge",
-			"style": {
-				"navigationBarTitleText": "充值协议"
-			}
-		},
-		{
-			"path": "pages/serviceAgreement/index",
+			"path": "pages/agreement/index",
 			"style": {
-				"navigationBarTitleText": "用户服务协议"
+				"navigationBarTitleText": "协议"
 			}
 		},
 		{

+ 0 - 46
src/pages/about/index.vue

@@ -1,46 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 用户须知 -->
-		<jyf-parser :html="content" class="mar_t50"></jyf-parser>
-		<!-- 用户须知-end -->
-	</view>
-</template>
-
-<script>
-let app=getApp();
-var appEv = app.$vm.$options;
-import { post } from "@/request/api.js";
-import jyfParser from '@/components/jyf-parser/jyf-parser.vue'
-	export default {
-		data() {
-			return {
-				content:''
-			};
-		},
-		onLoad(){
-			this.loadData()
-		},
-		methods:{
-			loadData(){
-				let data = {
-					type:7
-				}
-				post("/my/article",data).then(res => {
-				  if (res.code == 0) {
-				    this.content = res.data.data.content
-				    // this.BannerImg = res.list;
-				  }
-				}); 
-			}
-		},
-		components:{
-					jyfParser
-		},
-	}
-</script>
-
-<style lang="scss" scoped>
-// 用户须知
-.container{border-top: 20rpx solid #f5f5f5;padding: 0 20rpx;box-sizing: border-box;}
-// 用户须知-end
-</style>

+ 43 - 0
src/pages/agreement/index.vue

@@ -0,0 +1,43 @@
+<template>
+  <view class="container">
+    <jyf-parser :html="content" class="mar_t50"></jyf-parser>
+  </view>
+</template>
+
+<script>
+import { post } from "@/request/api.js";
+import jyfParser from "@/components/jyf-parser/jyf-parser.vue";
+export default {
+  data() {
+    return {
+      content: "",
+    };
+  },
+  onLoad(da) {
+    this.loadData(da.type);
+	uni.setNavigationBarTitle({ title: decodeURI(da.tit) });
+  },
+  methods: {
+    loadData(type) {
+      post("/my/article", {type}).then((res) => {
+        if (res.code == 0) {
+          this.content = res.data.data.content;
+        }
+      });
+    },
+  },
+  components: {
+    jyfParser,
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+// 用户须知
+.container {
+  border-top: 20rpx solid #f5f5f5;
+  padding: 0 20rpx;
+  box-sizing: border-box;
+}
+// 用户须知-end
+</style>

+ 0 - 46
src/pages/agreement/privacy.vue

@@ -1,46 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 用户须知 -->
-		<jyf-parser :html="content" class="mar_t50"></jyf-parser>
-		<!-- 用户须知-end -->
-	</view>
-</template>
-
-<script>
-let app=getApp();
-var appEv = app.$vm.$options;
-import { post } from "@/request/api.js";
-import jyfParser from '@/components/jyf-parser/jyf-parser.vue'
-	export default {
-		data() {
-			return {
-				content:''
-			};
-		},
-		onLoad(){
-			this.loadData()
-		},
-		methods:{
-			loadData(){
-				let data = {
-					type:27
-				}
-				post("/my/article",data).then(res => {
-				  if (res.code == 0) {
-				    this.content = res.data.data.content
-				    // this.BannerImg = res.list;
-				  }
-				}); 
-			}
-		},
-		components:{
-					jyfParser
-		},
-	}
-</script>
-
-<style lang="scss" scoped>
-// 用户须知
-.container{border-top: 20rpx solid #f5f5f5;padding: 0 20rpx;box-sizing: border-box;}
-// 用户须知-end
-</style>

+ 0 - 46
src/pages/agreement/recharge.vue

@@ -1,46 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 用户须知 -->
-		<jyf-parser :html="content" class="mar_t50"></jyf-parser>
-		<!-- 用户须知-end -->
-	</view>
-</template>
-
-<script>
-let app=getApp();
-var appEv = app.$vm.$options;
-import { post } from "@/request/api.js";
-import jyfParser from '@/components/jyf-parser/jyf-parser.vue'
-	export default {
-		data() {
-			return {
-				content:''
-			};
-		},
-		onLoad(){
-			this.loadData()
-		},
-		methods:{
-			loadData(){
-				let data = {
-					type:28
-				}
-				post("/my/article",data).then(res => {
-				  if (res.code == 0) {
-				    this.content = res.data.data.content
-				    // this.BannerImg = res.list;
-				  }
-				}); 
-			}
-		},
-		components:{
-					jyfParser
-		},
-	}
-</script>
-
-<style lang="scss" scoped>
-// 用户须知
-.container{border-top: 20rpx solid #f5f5f5;padding: 0 20rpx;box-sizing: border-box;}
-// 用户须知-end
-</style>

+ 2 - 5
src/pages/autonym-submit/index.vue

@@ -20,14 +20,11 @@
 							<checkbox class='checkboxCom' value="agree" />
 							<view>我同意</view>
 						</label>
-						<navigator url="/pages/serviceAgreement/index" hover-class="li_hover"><text>《用户服务协议》</text></navigator>
+						<span @click="goto('/pages/agreement/index',{tit:'隐私协议',type:26})" class="hover_a">《用户服务协议》</span>
                         <text>和</text>
-						<navigator url="/pages/agreement/privacy" hover-class="li_hover"><text>《隐私协议》</text></navigator>
+						<span @click="goto('/pages/agreement/index',{tit:'隐私协议',type:27})" class="hover_a">《隐私协议》</span>
 					</checkbox-group>
 				</div>
-			<!-- <view class="privacy">
-				<navigator url="/pages/agreement/privacy" hover-class="li_hover"><text>查看《隐私协议》</text></navigator>
-			</view> -->
 			
 			<view class="btn flex_r flex_ac flex_jc" @tap="submit">提交审核</view>
 		</view>

+ 0 - 46
src/pages/course/index.vue

@@ -1,46 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 用户须知 -->
-		<jyf-parser :html="content" class="mar_t50"></jyf-parser>
-		<!-- 用户须知-end -->
-	</view>
-</template>
-
-<script>
-let app=getApp();
-var appEv = app.$vm.$options;
-import { post } from "@/request/api.js";
-import jyfParser from '@/components/jyf-parser/jyf-parser.vue'
-	export default {
-		data() {
-			return {
-				content:''
-			};
-		},
-		onLoad(){
-			this.loadData()
-		},
-		methods:{
-			loadData(){
-				let data = {
-					type:1
-				}
-				post("/my/article",data).then(res => {
-				  if (res.code == 0) {
-				    this.content = res.data.data.content
-				    // this.BannerImg = res.list;
-				  }
-				}); 
-			}
-		},
-		components:{
-					jyfParser
-		},
-	}
-</script>
-
-<style lang="scss" scoped>
-// 用户须知
-.container{border-top: 20rpx solid #f5f5f5;padding: 0 20rpx;box-sizing: border-box;}
-// 用户须知-end
-</style>

+ 34 - 30
src/pages/index/index.vue

@@ -33,11 +33,11 @@
             </view>
             <!-- 金刚区-end -->
             <!-- 活动 -->
-            <view class="activity" v-if="spc_list.length > 0">
-                <image class="act_one_img" :src="spc_list[0].url" @click="setPageUrl({ type: 4 })" mode=""></image>
+            <view class="activity" v-if="spc_list.length">
+                <image class="act_img act_one_img" :src="spc_list[0].url" @click="setPageUrl({ type: 4 })" mode=""></image>
                 <view class="act_other">
-                    <image class="act_two_img" :src="spc_list[1].url" @click="setPageUrl({ type: 6 })" mode=""></image>
-                    <image class="act_two_img" :src="spc_list[2].url" mode="" @click="goNoticeList"></image>
+                    <image class="act_img act_two_img" :src="spc_list[1].url" @click="setPageUrl({ type: 6 })" mode=""></image>
+                    <image class="act_img act_two_img" :src="spc_list[2].url" mode="" @click="goNoticeList"></image>
                 </view>
             </view>
             <!-- 活动-end -->
@@ -60,15 +60,15 @@
                         <view class="product-txt" v-if="i.type == 1">赠送{{ i.give_integral + "批发券" }}</view>
                         <!-- <view class="product-txt">赠送{{ i.give_integral ? i.give_integral + "批发券" : i.give_cha_bao + "茶宝" }}</view> -->
                         <view class="product-txt" v-if="[3,4].includes(i.type)">限时赠送<text class="corFE2C15">{{ i.teac }}</text>TeaC</view>
-                        <view class="product-txt fenxiang" v-if="[3,4].includes(i.type)"> 
+                        <view class="product-txt fenxiang" v-if="[3,4].includes(i.type)">
                             <text class="iconfont">&#xe604;</text>
                             <text class="red">分享约获得 {{ i.first_teac }} TeaC</text>
                         </view>
                     </view>
                 </view>
             </view>
-            <view class="fz_w_text mar_t20 mar_b20">让数字经济赋能美好生活!</view>
         </view>
+        <view class="fz_w_text">让数字经济赋能美好生活!</view>
     </div>
 </template>
 <script>
@@ -309,6 +309,10 @@ export default {
         width: 100%;
         height: 185rpx;
     }
+
+    .act_img {
+        border-radius: 10rpx;
+    }
 }
 
 // 活动-end
@@ -325,24 +329,18 @@ export default {
 }
 
 .product-list {
-    padding: 0 20rpx;
-    display: flex;
     width: 100%;
+    display: flex;
     flex-wrap: wrap;
     flex-direction: row;
+    padding: 0 30rpx;
 
     .product {
-        // width: 50%;
-        // padding: 20rpx 10rpx;
-        display: flex;
-        flex-direction: column;
-
-        margin-bottom: 20rpx;
         width: 48.5%;
-        padding-bottom: 6px;
-        // border: 1px solid #eee;
-        border-radius: 5px;
-        box-shadow: 4rpx 4rpx 26rpx 2rpx rgba(17, 18, 29, 0.08);
+        margin-bottom: 20rpx;
+        padding-bottom: 12rpx;
+        border-radius: 10rpx;
+        box-shadow: 4rpx 4rpx 26rpx 2rpx rgba(17, 18, 29, 0.1);
 
         &:nth-child(2n) {
             margin-left: 3%;
@@ -356,7 +354,7 @@ export default {
         object-fit: cover;
     }
 
-    .content-view{
+    .content-view {
         padding: 0 16rpx;
     }
 
@@ -378,8 +376,9 @@ export default {
         color: #18bb88;
         font-size: 32rpx;
         font-weight: bold;
-        &:before{
-            content:"¥";
+
+        &:before {
+            content: "¥";
             font-size: 20rpx;
         }
     }
@@ -387,16 +386,16 @@ export default {
     .product-price-favour {
         color: #888888;
         text-decoration: line-through;
-        margin-left: 10upx;
+        margin-left: 20rpx;
     }
 
     .product-tip {
         position: absolute;
-        right: 10upx;
+        right: 20rpx;
         background-color: #ff3333;
         color: #ffffff;
-        padding: 0 10upx;
-        border-radius: 5upx;
+        padding: 0 20rpx;
+        border-radius: 10rpx;
     }
 
     .product-unit {
@@ -404,22 +403,27 @@ export default {
         color: #18bb88;
     }
 
-    .product-txt,.product-text {
+    .product-txt,
+    .product-text {
         font-size: 22rpx;
         color: #787878;
-        .iconfont{
+
+        .iconfont {
             margin-right: 6rpx;
         }
     }
+
     .product-text {
         margin-left: 16rpx;
     }
-    .red{
+
+    .red {
         color: #FA2E18;
     }
-    .fenxiang{
+
+    .fenxiang {
         font-size: 20rpx;
-        background: rgba(250,46,24, 0.08);
+        background: rgba(250, 46, 24, 0.08);
         display: inline-block;
         border-radius: 6rpx;
         padding: 0 16rpx;

+ 9 - 8
src/pages/my/index.vue

@@ -165,15 +165,15 @@
       <view class="fun mar_t30">
         <view class="fun_title">我的服务</view>
         <view class="fun_con mar_t50 flex_r flex_ac flex_jb">
-          <navigator class="fun_list flex_c flex_ac" url="/pages/about/index" hover-class="none">
+          <navigator class="fun_list flex_c flex_ac" @click="goto('/pages/agreement/index',{tit:'关于我们',type:7})" hover-class="none">
             <image class="fun_img" src="/static/my/about.png" mode=""></image>
             <view class="fun_text">关于我们</view>
           </navigator>
-          <navigator class="fun_list flex_c flex_ac" url="/pages/notice/index" hover-class="none">
+          <navigator class="fun_list flex_c flex_ac" @click="goto('/pages/agreement/index',{tit:'用户须知',type:8})" hover-class="none">
             <image class="fun_img" src="/static/my/feedback.png" mode=""></image>
             <view class="fun_text">用户须知</view>
           </navigator>
-          <navigator class="fun_list flex_c flex_ac" url="/pages/course/index" hover-class="none">
+          <navigator class="fun_list flex_c flex_ac" @click="goto('/pages/agreement/index',{tit:'新手教程',type:1})" hover-class="none">
             <image class="fun_img" src="/static/my/green.png" mode=""></image>
             <view class="fun_text">新手教程</view>
           </navigator>
@@ -190,7 +190,7 @@
         </view>
       </view>
     </view>
-    <view class="fz_w_text mar_t20 mar_b20">让数字经济赋能美好生活!</view>
+    <view class="fz_w_text">让数字经济赋能美好生活!</view>
     <!-- 功能列表-end -->
     <!-- 授权 -->
     <authorize-module v-if="showAuth" :shopInfo="shopInfo" @authGetTelSuccess="onauthGetTelSuccess" />
@@ -334,9 +334,10 @@ export default {
     },
     // 未开放提示信息
     SetHint() {
-      uni.navigateTo({
-        url: "/pages/tea-rule/index",
-      });
+      this.goto('/pages/agreement/index',{tit:'用户身份及权益',type:24})
+      // uni.navigateTo({
+      //   url: "/pages/tea-rule/index",
+      // });
     },
     // 跳转到分享页面
     getImgPage() {
@@ -435,7 +436,7 @@ page {
 }
 
 .container {
-  padding: 0 0 30rpx;
+  // padding: 0 0 30rpx;
   box-sizing: border-box;
 }
 

+ 0 - 47
src/pages/notice/index.vue

@@ -1,47 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 用户须知 -->
-		<jyf-parser :html="content" class="mar_t50"></jyf-parser>
-		<!-- 用户须知-end -->
-	</view>
-</template>
-
-<script>
-let app=getApp();
-var appEv = app.$vm.$options;
-import { post } from "@/request/api.js";
-import jyfParser from '@/components/jyf-parser/jyf-parser.vue'
-	export default {
-		data() {
-			return {
-				content:''
-			};
-		},
-		onLoad(){
-			this.loadData()
-		},
-		methods:{
-			loadData(){
-				let data = {
-					type:8
-				}
-				post("/my/article",data).then(res => {
-				  if (res.code == 0) {
-				    this.content = res.data.data.content
-					console.log(this.content)
-				    // this.BannerImg = res.list;
-				  }
-				}); 
-			}
-		},
-		components:{
-					jyfParser
-		},
-	}
-</script>
-
-<style lang="scss" scoped>
-// 用户须知
-.container{border-top: 20rpx solid #f5f5f5;padding: 0 20rpx;box-sizing: border-box;}
-// 用户须知-end
-</style>

+ 0 - 2
src/pages/pay-agreement/index.vue

@@ -46,8 +46,6 @@ export default {
       post("/my/article", data).then((res) => {
         if (res.code == 0) {
           this.content = res.data.data.content;
-          console.log(this.content);
-          // this.BannerImg = res.list;
         }
       });
     },

+ 33 - 42
src/pages/product/productRetail.vue

@@ -1,6 +1,5 @@
 <template>
     <view class="container">
-        
         <view class="product-list">
             <view class="product" v-for="(i, s) in goods" :key="s" @click="NavToGoodsDetail(i.id)">
                 <view class="image-view">
@@ -12,7 +11,7 @@
                         <text class="product-price-favour" v-if="type==6">{{(i.cost_price)}}</text>
                         <text class="product-price-original">{{ (i.price) }}</text>
                         <!-- <text class="product-tip">{{i.tip}}</text> -->
-                            <text class="product-text" v-if="['3','4'].includes(type)">赠<text class="corFE2C15">{{ i.give_cha_bao }}</text>茶宝</text>
+                        <text class="product-text" v-if="['3','4'].includes(type)">赠<text class="corFE2C15">{{ i.give_cha_bao }}</text>茶宝</text>
                     </view>
                     <view class="product-txt" v-if="type == 1">赠送{{ i.give_integral + "批发券" }}</view>
                     <!-- <view class="product-txt" v-if="type != 6">赠送{{ i.give_integral ? i.give_integral + "批发券" : i.give_cha_bao + "茶宝" }}</view> -->
@@ -25,9 +24,7 @@
                 </view>
             </view>
         </view>
-
-        <!-- 商品列表-end -->
-      <not-goods v-if="haveGoods" textStr="暂无商品信息"></not-goods>
+        <not-goods v-if="haveGoods" textStr="暂无商品信息"></not-goods>
     </view>
 </template>
 <script>
@@ -78,7 +75,7 @@ export default {
                         page = -1;
                         appEv.errTips('暂无更多')
                     }
-                    if(page == 1 && !obj.length) this.haveGoods = true
+                    if (page == 1 && !obj.length) this.haveGoods = true
                     else this.haveGoods = false
                 } else {
                     page = -1;
@@ -128,34 +125,25 @@ export default {
 page {
     background: #F4F4F4;
 }
-
-.container {
-    padding: 22rpx 0rpx;
-    box-sizing: border-box;
+.container{
+    padding: 30rpx 0;
 }
-
 // 页面配置-end
 
 // 商品列表
 .product-list {
-    padding: 0 20rpx;
-    display: flex;
     width: 100%;
+    display: flex;
     flex-wrap: wrap;
     flex-direction: row;
+    padding: 0 30rpx;
 
     .product {
-        // width: 50%;
-        // padding: 20rpx 10rpx;
-        display: flex;
-        flex-direction: column;
-
-        margin-bottom: 20rpx;
         width: 48.5%;
-        padding-bottom: 6px;
-        // border: 1px solid #eee;
-        border-radius: 5px;
-        box-shadow: 4rpx 4rpx 26rpx 2rpx rgba(17, 18, 29, 0.08);
+        margin-bottom: 20rpx;
+        padding-bottom: 12rpx;
+        border-radius: 10rpx;
+        box-shadow: 4rpx 4rpx 26rpx 2rpx rgba(17, 18, 29, 0.1);
 
         &:nth-child(2n) {
             margin-left: 3%;
@@ -165,12 +153,11 @@ page {
     .product-image {
         border-radius: 10rpx 10rpx 0 0;
         width: 100%;
-        height: 42.5vw;
+        height: 42.3vw;
         object-fit: cover;
-        // background-color: rgba(24,187,136, 0.6);
     }
 
-    .content-view{
+    .content-view {
         padding: 0 16rpx;
     }
 
@@ -192,8 +179,9 @@ page {
         color: #18bb88;
         font-size: 32rpx;
         font-weight: bold;
-        &:before{
-            content:"¥";
+
+        &:before {
+            content: "¥";
             font-size: 20rpx;
         }
     }
@@ -202,48 +190,51 @@ page {
         color: #888;
         text-decoration: line-through;
         font-size: 22rpx;
-        // margin-left: 10rpx;
         margin-right: 10rpx;
-        &:before{
-            content:"¥";
-            // font-size: 20rpx;
+
+        &:before {
+            content: "¥";
         }
     }
 
     .product-tip {
         position: absolute;
-        right: 10upx;
+        right: 20rpx;
         background-color: #ff3333;
         color: #ffffff;
-        padding: 0 10upx;
-        border-radius: 5upx;
+        padding: 0 20rpx;
+        border-radius: 10rpx;
     }
 
     .product-unit {
         font-size: 24rpx;
-        // color: #18bb88;
     }
 
-    .green{
+    .green {
         color: #18bb88;
     }
 
-    .product-txt,.product-text {
+    .product-txt,
+    .product-text {
         font-size: 22rpx;
         color: #787878;
-        .iconfont{
+
+        .iconfont {
             margin-right: 6rpx;
         }
     }
+
     .product-text {
         margin-left: 16rpx;
     }
-    .red{
+
+    .red {
         color: #FA2E18;
     }
-    .fenxiang{
+
+    .fenxiang {
         font-size: 20rpx;
-        background: rgba(250,46,24, 0.08);
+        background: rgba(250, 46, 24, 0.08);
         display: inline-block;
         border-radius: 6rpx;
         padding: 0 16rpx;

+ 0 - 46
src/pages/serviceAgreement/index.vue

@@ -1,46 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 用户须知 -->
-		<jyf-parser :html="content" class="mar_t50"></jyf-parser>
-		<!-- 用户须知-end -->
-	</view>
-</template>
-
-<script>
-let app=getApp();
-var appEv = app.$vm.$options;
-import { post } from "@/request/api.js";
-import jyfParser from '@/components/jyf-parser/jyf-parser.vue'
-	export default {
-		data() {
-			return {
-				content:''
-			};
-		},
-		onLoad(){
-			this.loadData()
-		},
-		methods:{
-			loadData(){
-				let data = {
-					type:26
-				}
-				post("/my/article",data).then(res => {
-				  if (res.code == 0) {
-				    this.content = res.data.data.content
-				    // this.BannerImg = res.list;
-				  }
-				}); 
-			}
-		},
-		components:{
-					jyfParser
-		},
-	}
-</script>
-
-<style lang="scss" scoped>
-// 用户须知
-.container{border-top: 20rpx solid #f5f5f5;padding: 0 20rpx;box-sizing: border-box;}
-// 用户须知-end
-</style>

+ 403 - 473
src/pages/sign/index.vue

@@ -1,71 +1,73 @@
 <template>
-  <view class="container">
-    <!-- 用户信息 -->
-    <view class="userinfo flex_r flex_ac">
-      <image class="user_img" :src="userinfo.head_pic" mode=""></image>
-      <view class="user_info flex_c flex_jc">
-        <view class="user_name">{{ userinfo.nickname }}</view>
-        <view class="level_con flex_r flex_ac">
-          <view class="level">{{ userinfo.level_name }}</view>
-        </view>
-      </view>
-      <!-- <view class="record flex_r flex_ac flex_jc" @tap="NavToSignList">积分记录</view> -->
-    </view>
-    <!-- 用户信息-end -->
-    <!-- 签到信息 -->
-    <view class="sign_info flex_c">
-      <view class="info flex_r flex_ac flex_jb">
-        <view class="info_today flex_c flex_ac">
-          <view class="today_text g_color">{{ todaySign }}</view>
-          <view class="info_text">今日签到</view>
-        </view>
-        <view class="info_today flex_c flex_ac">
-          <view class="today_text">{{ totalSign }}</view>
-          <view class="info_text">累计签到({{ totalSign || 0 }}次)</view>
-        </view>
-        <view class="info_con">
-          <image class="info_img" :src="nextSign > 0 ? '/static/sgin/p_back2.png' : '/static/sgin/p_back.png'" mode="" />
-          <view class="info_texts flex_r flex_ac flex_jc" v-if="nextSign > 0">{{ timer }}</view>
-          <view class="info_texts flex_r flex_ac flex_jc" @tap="setSignIn" v-else>立即签到</view>
+    <div class="container">
+        <view class="head">
+            <!-- 用户信息 -->
+            <view class="userinfo flex_r flex_ac">
+                <image class="user_img" :src="userinfo.head_pic" mode=""></image>
+                <view class="user_info flex_c flex_jc">
+                    <view class="user_name">{{ userinfo.nickname }}</view>
+                    <view class="level_con flex_r flex_ac">
+                        <view class="level">{{ userinfo.level_name }}</view>
+                    </view>
+                </view>
+                <!-- <view class="record flex_r flex_ac flex_jc" @tap="NavToSignList">积分记录</view> -->
+            </view>
+            <!-- 用户信息-end -->
+            <!-- 签到信息 -->
+            <view class="sign_info flex_c">
+                <view class="info flex_r flex_ac flex_jb">
+                    <view class="info_today flex_c flex_ac">
+                        <view class="today_text g_color">{{ todaySign }}</view>
+                        <view class="info_text">今日签到</view>
+                    </view>
+                    <view class="info_today flex_c flex_ac">
+                        <view class="today_text">{{ totalSign }}</view>
+                        <view class="info_text">累计签到({{ totalSign || 0 }}次)</view>
+                    </view>
+                    <view class="info_con">
+                        <image class="info_img" :src="nextSign > 0 ? '/static/sgin/p_back2.png' : '/static/sgin/p_back.png'" mode="" />
+                        <view class="info_texts flex_r flex_ac flex_jc" v-if="nextSign > 0">{{ timer }}</view>
+                        <view class="info_texts flex_r flex_ac flex_jc" @tap="setSignIn" v-else>立即签到</view>
+                    </view>
+                </view>
+                <view class="sign_time flex_r flex_ac flex_je mar_t20">
+                    <text></text>
+                </view>
+            </view>
+            <!-- 签到信息-end -->
         </view>
-      </view>
-      <view class="sign_time flex_r flex_ac flex_je mar_t20">
-        <text></text>
-      </view>
-    </view>
-    <!-- 签到信息-end -->
-    <!-- 精品推荐 -->
-    <view class="bou_head flex_r flex_ac flex_jc">
-      <image class="bou_img" src="/static/sgin/left.png" mode=""></image>
-      <view class="bou_title">精品推荐</view>
-      <image class="bou_img" src="/static/sgin/right.png" mode=""></image>
-    </view>
-    <view class="product-list">
-      <view class="product" v-for="(i, s) in goods" :key="s" @click="NavToGoodsDetail(i.id, i.type)">
-        <view class="image-view">
-          <image class="product-image" :src="i.original_img"></image>
+        <!-- 精品推荐 -->
+        <view class="bou_head flex_r flex_ac flex_jc">
+            <image class="bou_img" src="/static/sgin/left.png" mode=""></image>
+            <view class="bou_title">精品推荐</view>
+            <image class="bou_img" src="/static/sgin/right.png" mode=""></image>
         </view>
-        <view class="content-view">
-            <view :class="['product-title', 'ellipsis1']">{{ i.goods_name }}</view>
-            <view class="product-price">
-                <text class="product-price-original">{{ i.price }}</text>
-                <!-- <text class="product-price-favour">¥{{i.originalPrice}}</text> -->
-                <!-- <text class="product-tip">{{i.tip}}</text> -->
-                <text class="product-text" v-if="['3','4'].includes(i.type)">赠<text class="corFE2C15">{{ i.give_cha_bao }}</text>茶宝</text>
-            </view>
-            <view class="product-txt" v-if="i.type == 1">赠送{{ i.give_integral + "批发券" }}</view>
-            <!-- <view class="product-txt">赠送{{ i.give_integral ? i.give_integral + "批发券" : i.give_cha_bao + "茶宝" }}</view> -->
-            <view class="product-txt" v-if="['3','4'].includes(i.type)">限时赠送<text class="corFE2C15">{{ i.teac }}</text>TeaC</view>
-            <view class="product-txt fenxiang" v-if="['3','4'].includes(i.type)"> 
-                <text class="iconfont">&#xe604;</text>
-                <text class="red">分享约获得 {{ i.first_teac }} TeaC</text>
+        <view class="product-list">
+            <view class="product" v-for="(i, s) in goods" :key="s" @click="NavToGoodsDetail(i.id, i.type)">
+                <view class="image-view">
+                    <image class="product-image" :src="i.original_img"></image>
+                </view>
+                <view class="content-view">
+                    <view :class="['product-title', 'ellipsis1']">{{ i.goods_name }}</view>
+                    <view class="product-price">
+                        <text class="product-price-original">{{ i.price }}</text>
+                        <!-- <text class="product-price-favour">¥{{i.originalPrice}}</text> -->
+                        <!-- <text class="product-tip">{{i.tip}}</text> -->
+                        <text class="product-text" v-if="['3','4'].includes(i.type)">赠<text class="corFE2C15">{{ i.give_cha_bao }}</text>茶宝</text>
+                    </view>
+                    <view class="product-txt" v-if="i.type == 1">赠送{{ i.give_integral + "批发券" }}</view>
+                    <!-- <view class="product-txt">赠送{{ i.give_integral ? i.give_integral + "批发券" : i.give_cha_bao + "茶宝" }}</view> -->
+                    <view class="product-txt" v-if="['3','4'].includes(i.type)">限时赠送<text class="corFE2C15">{{ i.teac }}</text>TeaC</view>
+                    <view class="product-txt fenxiang" v-if="['3','4'].includes(i.type)">
+                        <text class="iconfont">&#xe604;</text>
+                        <text class="red">分享约获得 {{ i.first_teac }} TeaC</text>
+                    </view>
+                </view>
             </view>
         </view>
-      </view>
-      <view class="fz_w_text mar_t20 mar_b20">让数字经济赋能美好生活!</view>
-    </view>
-    <!-- 精品推荐-end -->
-  </view>
+        <!-- 精品推荐-end -->
+        <view class="fz_w_text">让数字经济赋能美好生活!</view>
+    </div>
 </template>
 <script>
 var tim;
@@ -75,524 +77,452 @@ var appEv = app.$vm.$options;
 import uniPopup from "@/components/uni-popup/uni-popup";
 import { post } from "@/request/api.js";
 export default {
-  components: { uniPopup },
-  data() {
-    return {
-      integerInfo: {}, // 积分详情
-      userInof: {}, // 用户详情
-      timer: "00:00:00", // 倒计时
-      goods: [], // 精品推荐
-      haveGoods: false, // 是否有商品
-      way_list: [], //兑换方式
-      checked: false, //是否选中协议
-      currrent: 0, // 选中的兑换方式
-      pay_way: 0, //选中的支付方式
-      isShow: false, // 是否显示现金支付
-      goodsId: "", // 选中的商品Id
-      shopInfo: {}, // 商户信息
-      userinfo: undefined, //用户信息
-      todaySign: 0, //今日签到数
-      totalSign: 0, //累计签到数
-      nextSign: 0, //剩余签到时间 秒
-      canClick: true,
-    };
-  },
-  onShow() {
-    // this.timer = '00:00:00'
-    this.userinfo = uni.getStorageSync("userinfo");
-    this.loadData();
-    this.goodsDay();
-  },
-  onHide() {
-    clearInterval(tim);
-  },
-  methods: {
-    loadData() {
-      let data = {
-        time: (new Date().getTime() / 1000).toFixed(0)
-      }
-      post("/user/sign", data).then((res) => {
-        if (res.code == 0) {
-          this.todaySign = res.data.today_sign;
-          this.totalSign = res.data.total_sign;
-          this.nextSign = res.data.next_sign;
-          this.setTime();
-        }
-      });
+    components: { uniPopup },
+    data() {
+        return {
+            integerInfo: {}, // 积分详情
+            userInof: {}, // 用户详情
+            timer: "00:00:00", // 倒计时
+            goods: [], // 精品推荐
+            haveGoods: false, // 是否有商品
+            way_list: [], //兑换方式
+            checked: false, //是否选中协议
+            currrent: 0, // 选中的兑换方式
+            pay_way: 0, //选中的支付方式
+            isShow: false, // 是否显示现金支付
+            goodsId: "", // 选中的商品Id
+            shopInfo: {}, // 商户信息
+            userinfo: undefined, //用户信息
+            todaySign: 0, //今日签到数
+            totalSign: 0, //累计签到数
+            nextSign: 0, //剩余签到时间 秒
+            canClick: true,
+        };
     },
-    // 距可以签到倒计时
-    setTime() {
-      var date;
-      let timer = this.nextSign;
-      tim = setInterval(() => {
-        if (timer >= 1) {
-          timer--;
-        } else {
-          clearInterval(tim);
-          this.nextSign = 0;
-        }
-
-        let hour =
-          parseInt(timer / 3600) > 9 ?
-          parseInt(timer / 3600) :
-          "0" + parseInt(timer / 3600);
-        let min =
-          parseInt((timer / 60) % 60) > 9 ?
-          parseInt((timer / 60) % 60) :
-          "0" + parseInt((timer / 60) % 60);
-        let sec =
-          parseInt(timer % 60) > 9 ?
-          parseInt(timer % 60) :
-          "0" + parseInt(timer % 60);
-
-        date = hour + ":" + min + ":" + sec;
-        // console.log(date);
-        this.timer = date;
-      }, 999);
+    onShow() {
+        // this.timer = '00:00:00'
+        this.userinfo = uni.getStorageSync("userinfo");
+        this.loadData();
+        this.goodsDay();
     },
-    // 签到
-    setSignIn() {
-      if (this.canClick) {
-        this.canClick = false;
-        let data = {
-          time: (new Date().getTime() / 1000).toFixed(0)
-        }
-        post("user/doSign", data).then((res) => {
-          if (res.code === 0) {
-            // this.nextSign = res.data.next_sign
-            this.$set(this, "nextSign", res.data.next_sign)
-            this.loadData();
-          } else {
-            appEv.errTips(res.msg);
-          }
-        });
-        setTimeout(() => {
-          this.canClick = true
-        }, 2000);
-      }
+    onHide() {
+        clearInterval(tim);
     },
-
-    // 获取甄选好物
-    goodsDay() {
-      let that = this;
-      let data = {
-        page: page,
-        type: 4,
-      };
-      post("goods/goodsList", data).then((res) => {
-        if (res.code === 0) {
-          let obj = res.data.data;
-          if (page <= 1) that.goods = [];
-          if (obj.length > 0) {
-            obj.forEach((e) => {
-              that.goods.push(e);
+    methods: {
+        loadData() {
+            let data = {
+                time: (new Date().getTime() / 1000).toFixed(0)
+            }
+            post("/user/sign", data).then((res) => {
+                if (res.code == 0) {
+                    this.todaySign = res.data.today_sign;
+                    this.totalSign = res.data.total_sign;
+                    this.nextSign = res.data.next_sign;
+                    this.setTime();
+                }
             });
-          } else {
-            if (page == 1) {
-              that.haveGoods = true;
-              page = -1;
-            } else {
-              page = -1;
-              appEv.errTips("暂无更多");
+        },
+        // 距可以签到倒计时
+        setTime() {
+            var date;
+            let timer = this.nextSign;
+            tim = setInterval(() => {
+                if (timer >= 1) {
+                    timer--;
+                } else {
+                    clearInterval(tim);
+                    this.nextSign = 0;
+                }
+
+                let hour =
+                    parseInt(timer / 3600) > 9 ?
+                    parseInt(timer / 3600) :
+                    "0" + parseInt(timer / 3600);
+                let min =
+                    parseInt((timer / 60) % 60) > 9 ?
+                    parseInt((timer / 60) % 60) :
+                    "0" + parseInt((timer / 60) % 60);
+                let sec =
+                    parseInt(timer % 60) > 9 ?
+                    parseInt(timer % 60) :
+                    "0" + parseInt(timer % 60);
+
+                date = hour + ":" + min + ":" + sec;
+                this.timer = date;
+            }, 999);
+        },
+        // 签到
+        setSignIn() {
+            if (this.canClick) {
+                this.canClick = false;
+                let data = {
+                    time: (new Date().getTime() / 1000).toFixed(0)
+                }
+                post("user/doSign", data).then((res) => {
+                    if (res.code === 0) {
+                        // this.nextSign = res.data.next_sign
+                        this.$set(this, "nextSign", res.data.next_sign)
+                        this.loadData();
+                    } else {
+                        appEv.errTips(res.msg);
+                    }
+                });
+                setTimeout(() => {
+                    this.canClick = true
+                }, 2000);
             }
-          }
-        } else {
-          if (page == 1) {
-            that.haveGoods = true;
-            page = -1;
-          } else {
-            page = -1;
-            appEv.errTips("暂无更多");
-          }
-        }
-      });
+        },
+
+        // 获取甄选好物
+        goodsDay() {
+            let that = this;
+            let data = {
+                page: page,
+                type: 4,
+            };
+            post("goods/goodsList", data).then((res) => {
+                if (res.code === 0) {
+                    let obj = res.data.data;
+                    if (page <= 1) that.goods = [];
+                    if (obj.length > 0) {
+                        obj.forEach((e) => {
+                            that.goods.push(e);
+                        });
+                    } else {
+                        if (page == 1) {
+                            that.haveGoods = true;
+                            page = -1;
+                        } else {
+                            page = -1;
+                            appEv.errTips("暂无更多");
+                        }
+                    }
+                } else {
+                    if (page == 1) {
+                        that.haveGoods = true;
+                        page = -1;
+                    } else {
+                        page = -1;
+                        appEv.errTips("暂无更多");
+                    }
+                }
+            });
+        },
+        // 跳转到商品详情页
+        NavToGoodsDetail(id, type) {
+            this.goto("/pages/product/p_details", { id, type });
+        },
     },
-    // 跳转到商品详情页
-    NavToGoodsDetail(id, type) {
-      this.goto("/pages/product/p_details", { id, type });
+    //页面上拉触底事件的处理函数
+    onReachBottom() {
+        if (page != -1) {
+            setTimeout(() => {
+                ++page;
+                this.goodsDay();
+            }, 500);
+        }
     },
-  },
-  //页面上拉触底事件的处理函数
-  onReachBottom() {
-    if (page != -1) {
-      setTimeout(() => {
-        ++page;
-        this.goodsDay();
-      }, 500);
-    }
-  },
 };
 </script>
 <style lang="scss" scoped>
 // 页面配置
 page {
-  background: #f5f5f5;
+    background: #f5f5f5;
 }
 
-.container {
-  padding: 30rpx 30rpx;
-  box-sizing: border-box;
-  background: url("https://tea.soowin.com/mnt/image/sign_back.png");
-  background-repeat: no-repeat;
-  background-size: 100% 427rpx;
+.head {
+    padding: 30rpx;
 }
 
 // 页面配置-end
 
 // 用户信息
 .userinfo {
-  width: 100%;
-  // margin-top: 24rpx;
-  position: relative;
+    width: 100%;
+    position: relative;
 }
 
 .user_img {
-  width: 101.5rpx;
-  height: 101.5rpx;
-  margin-right: 20rpx;
-  border-radius: 50%;
+    width: 101.5rpx;
+    height: 101.5rpx;
+    margin-right: 20rpx;
+    border-radius: 50%;
 }
 
 .level {
-  background: rgba(0, 0, 0, 0.18);
-  padding: 6rpx 24rpx;
-  font-size: 24rpx;
-  color: #fff;
-  border-radius: 100rpx;
+    background: rgba(0, 0, 0, 0.18);
+    padding: 6rpx 24rpx;
+    font-size: 24rpx;
+    color: #fff;
+    border-radius: 100rpx;
 }
 
 .user_name {
-  font-size: 30rpx;
-  color: #333;
-  font-family: "SourceHanSansSC-Medium";
-  font-weight: 500;
-  margin-bottom: 18rpx;
-  line-height: 1;
+    font-size: 30rpx;
+    color: #333;
+    font-family: "SourceHanSansSC-Medium";
+    font-weight: 500;
+    margin-bottom: 18rpx;
+    line-height: 1;
 }
 
 .record {
-  width: 136rpx;
-  height: 54rpx;
-  background: rgba(0, 0, 0, 0.18);
-  color: #fff;
-  font-size: 24rpx;
-  border-radius: 27rpx 0 0 27rpx;
-  position: absolute;
-  bottom: calc(50% - 27rpx);
-  right: -30rpx;
+    width: 136rpx;
+    height: 54rpx;
+    background: rgba(0, 0, 0, 0.18);
+    color: #fff;
+    font-size: 24rpx;
+    border-radius: 27rpx 0 0 27rpx;
+    position: absolute;
+    bottom: calc(50% - 27rpx);
+    right: -30rpx;
 }
 
 // 用户信息-end
 
 // 签到信息
 .info {
-  width: 100%;
-  overflow: hidden;
+    width: 100%;
+    overflow: hidden;
 }
 
 .info_text {
-  font-size: 24rpx;
-  color: #404040;
+    font-size: 24rpx;
+    color: #404040;
 }
 
 .info_con {
-  width: 185rpx;
-  height: 185rpx;
-  position: relative;
+    width: 185rpx;
+    height: 185rpx;
+    position: relative;
 }
 
 .info_img {
-  width: 100%;
-  height: 185rpx;
-  animation: myfirst 1s infinite;
+    width: 100%;
+    height: 185rpx;
+    animation: myfirst 1s infinite;
 }
 
 .info_texts {
-  width: 100%;
-  height: 100%;
-  position: absolute;
-  top: 0;
-  left: 0;
+    width: 100%;
+    height: 100%;
+    position: absolute;
+    top: 0;
+    left: 0;
 }
 
 .today_text {
-  font-family: "SourceHanSansCN-Medium";
-  font-size: 53rpx;
-  color: #373737;
+    font-family: "SourceHanSansCN-Medium";
+    font-size: 53rpx;
+    color: #373737;
 }
 
 .info_texts text {
-  width: 56rpx;
-  text-align: justify;
-  font-size: 28rpx;
-  color: #12b381;
+    width: 56rpx;
+    text-align: justify;
+    font-size: 28rpx;
+    color: #12b381;
 }
 
 .sign_time text {
-  width: 185rpx;
-  overflow: hidden;
-  font-size: 36rpx;
-  color: #353535;
-  font-family: "SourceHanSansCN-Bold";
-  font-weight: bold;
+    width: 185rpx;
+    overflow: hidden;
+    font-size: 36rpx;
+    color: #353535;
+    font-family: "SourceHanSansCN-Bold";
+    font-weight: bold;
 }
 
 .sign_info {
-  width: 100%;
-  overflow: hidden;
-  background: #fff;
-  border-radius: 16rpx;
-  box-shadow: 2px 3px 0px 0px rgba(16, 178, 127, 0.36), 0px 4px 15px 10px rgba(17, 179, 129, 0.2);
-  padding: 24rpx 40rpx;
-  box-sizing: border-box;
-  margin-top: 44rpx;
+    width: 100%;
+    overflow: hidden;
+    background: #fff;
+    border-radius: 16rpx;
+    box-shadow: 2px 3px 0px 0px rgba(16, 178, 127, 0.36), 0px 4px 15px 10px rgba(17, 179, 129, 0.2);
+    padding: 24rpx 40rpx;
+    box-sizing: border-box;
+    margin-top: 44rpx;
 }
 
 .g_color {
-  color: #12b381;
+    color: #12b381;
 }
 
 .gr_color {
-  color: #999 !important;
+    color: #999 !important;
 }
 
 // 签到信息-end
 
 // 动画效果
 @keyframes myfirst {
-  0% {
-    transform: rotate(0);
-  }
+    0% {
+        transform: rotate(0);
+    }
 
-  10% {
-    transform: rotate(-36deg);
-  }
+    10% {
+        transform: rotate(-36deg);
+    }
 
-  20% {
-    transform: rotate(-72deg);
-  }
+    20% {
+        transform: rotate(-72deg);
+    }
 
-  30% {
-    transform: rotate(-108deg);
-  }
+    30% {
+        transform: rotate(-108deg);
+    }
 
-  40% {
-    transform: rotate(-144deg);
-  }
+    40% {
+        transform: rotate(-144deg);
+    }
 
-  50% {
-    transform: rotate(-180deg);
-  }
+    50% {
+        transform: rotate(-180deg);
+    }
 
-  60% {
-    transform: rotate(-216deg);
-  }
+    60% {
+        transform: rotate(-216deg);
+    }
 
-  70% {
-    transform: rotate(-252deg);
-  }
+    70% {
+        transform: rotate(-252deg);
+    }
 
-  80% {
-    transform: rotate(-288deg);
-  }
+    80% {
+        transform: rotate(-288deg);
+    }
 
-  90% {
-    transform: rotate(-324deg);
-  }
+    90% {
+        transform: rotate(-324deg);
+    }
 
-  100% {
-    transform: rotate(-360deg);
-  }
+    100% {
+        transform: rotate(-360deg);
+    }
 }
 
 // 动画效果-end
 
-// 积分兑好礼
-.more {
-  font-size: 24rpx;
-  color: #313131;
-}
-
-.inte_con {
-  width: 100%;
-  overflow: hidden;
-}
-
-.goods_price {
-  font-size: 30rpx;
-  color: #f15c21;
-}
-
-.inte_goods:nth-last-child(1) {
-  margin-right: 0;
-}
+// 精彩推荐
+.bou_head {
+    width: 100%;
+    height: 114rpx;
+    margin-top: 50rpx;
 
-.goods_price text {
-  font-size: 18rpx;
-  color: #f15c21;
-}
+    .bou_img {
+        width: 92rpx;
+        height: 30rpx;
+    }
 
-.more_img {
-  width: 9rpx;
-  height: 16rpx;
-  margin-left: 10rpx;
+    .bou_title {
+        height: 30rpx;
+        line-height: 30rpx;
+        font-size: 36rpx;
+        color: #121212;
+        font-weight: bold;
+        margin: 0 36rpx;
+    }
 }
 
-.goods_img {
-  width: 100%;
-  height: 141rpx;
-  margin-bottom: 16rpx;
-}
+.product-list {
+    width: 100%;
+    display: flex;
+    flex-wrap: wrap;
+    flex-direction: row;
+    padding: 0 30rpx;
+
+    .product {
+        width: 48.5%;
+        margin-bottom: 20rpx;
+        padding-bottom: 12rpx;
+        border-radius: 10rpx;
+        box-shadow: 4rpx 4rpx 26rpx 2rpx rgba(17, 18, 29, 0.1);
+
+        &:nth-child(2n) {
+            margin-left: 3%;
+        }
+    }
 
-.goods_name {
-  width: 100%;
-  overflow: hidden;
-  color: #1d1d1d;
-  font-size: 24rpx;
-}
+    .product-image {
+        border-radius: 10rpx 10rpx 0 0;
+        width: 100%;
+        height: 42.3vw;
+        object-fit: cover;
+    }
 
-.inte_goods {
-  width: calc((100% - 28rpx) / 3);
-  margin-right: 14rpx;
-  overflow: hidden;
-}
+    .content-view {
+        padding: 0 16rpx;
+    }
 
-.inte_title {
-  font-size: 36rpx;
-  color: #2a2a2a;
-  font-family: "SourceHanSansSC-Bold";
-  font-weight: bold;
-}
+    .product-title {
+        width: 100%;
+        overflow: hidden;
+        line-height: 1.5;
+        font-size: 28rpx;
+        color: #121212;
+    }
 
-.integral {
-  width: 100%;
-  overflow: hidden;
-  background: #fff;
-  padding: 30rpx;
-  box-sizing: border-box;
-  border-radius: 20rpx;
-}
+    .product-price {
+        color: #121212;
+        font-size: 28rpx;
+        position: relative;
+    }
 
-// 积分兑好礼-end
+    .product-price-original {
+        color: #18bb88;
+        font-size: 32rpx;
+        font-weight: bold;
 
-// 精彩推荐
-.bou_head {
-  width: 100%;
-  height: 114rpx;
-  margin-top: 50rpx;
+        &:before {
+            content: "¥";
+            font-size: 20rpx;
+        }
+    }
 
-  .bou_img {
-    width: 89rpx;
-    height: 30rpx;
-  }
+    .product-price-favour {
+        color: #888888;
+        text-decoration: line-through;
+        margin-left: 20rpx;
+    }
 
-  .bou_title {
-    font-size: 36rpx;
-    color: #121212;
-    font-family: "SourceHanSansSC-Bold";
-    font-weight: bold;
-    margin: 0 36rpx;
-  }
-}
+    .product-tip {
+        position: absolute;
+        right: 20rpx;
+        background-color: #ff3333;
+        color: #ffffff;
+        padding: 0 20rpx;
+        border-radius: 10rpx;
+    }
 
-.product-list {
-  //   padding: 0 20rpx;
-  display: flex;
-  width: 100%;
-  flex-wrap: wrap;
-  flex-direction: row;
-
-  .product {
-    // width: 50%;
-    // padding: 20rpx 10rpx;
-    // display: flex;
-    // flex-direction: column;
-
-    margin-bottom: 20rpx;
-    width: 48.5%;
-    padding-bottom: 6px;
-    // border: 1px solid #eee;
-    border-radius: 5px;
-    box-shadow: 4rpx 4rpx 26rpx 2rpx rgba(17, 18, 29, 0.08);
-
-    &:nth-child(2n) {
-      margin-left: 3%;
+    .product-unit {
+        font-size: 24rpx;
+        color: #18bb88;
     }
-  }
 
-  .product-image {
-    border-radius: 10rpx 10rpx 0 0;
-    width: 100%;
-    height: 41vw;
-    object-fit: cover;
-  }
+    .product-txt,
+    .product-text {
+        font-size: 22rpx;
+        color: #787878;
 
-  .content-view {
-    padding: 0 16rpx;
-  }
+        .iconfont {
+            margin-right: 6rpx;
+        }
+    }
 
-  .product-title {
-    width: 100%;
-    overflow: hidden;
-    line-height: 1.5;
-    font-size: 28rpx;
-    color: #121212;
-  }
+    .product-text {
+        margin-left: 16rpx;
+    }
 
-  .product-price {
-    color: #121212;
-    font-size: 28rpx;
-    position: relative;
-  }
+    .red {
+        color: #FA2E18;
+    }
 
-  .product-price-original {
-    color: #18bb88;
-    font-size: 32rpx;
-    font-weight: bold;
-    &:before{
-        content:"¥";
+    .fenxiang {
         font-size: 20rpx;
+        background: rgba(250, 46, 24, 0.08);
+        display: inline-block;
+        border-radius: 6rpx;
+        padding: 0 16rpx;
     }
-  }
-
-  .product-price-favour {
-    color: #888888;
-    text-decoration: line-through;
-    margin-left: 10upx;
-  }
-
-  .product-tip {
-    position: absolute;
-    right: 10upx;
-    background-color: #ff3333;
-    color: #ffffff;
-    padding: 0 10upx;
-    border-radius: 5upx;
-  }
-
-  .product-unit {
-    font-size: 24rpx;
-    color: #18bb88;
-  }
-  .product-txt, .product-text {
-      font-size: 22rpx;
-      color: #787878;
-      .iconfont{
-          margin-right: 6rpx;
-      }
-  }
-  .product-text {
-      margin-left: 16rpx;
-  }
-  .red{
-      color: #FA2E18;
-  }
-  .fenxiang{
-      font-size: 20rpx;
-      background: rgba(250,46,24, 0.08);
-      display: inline-block;
-      border-radius: 6rpx;
-      padding: 0 16rpx;
-  }
 }
 </style>

+ 0 - 47
src/pages/tea-rule/index.vue

@@ -1,47 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 用户须知 -->
-		<jyf-parser :html="content" class="mar_t50"></jyf-parser>
-		<!-- 用户须知-end -->
-	</view>
-</template>
-
-<script>
-let app=getApp();
-var appEv = app.$vm.$options;
-import { post } from "@/request/api.js";
-import jyfParser from '@/components/jyf-parser/jyf-parser.vue'
-	export default {
-		data() {
-			return {
-				content:''
-			};
-		},
-		onLoad(){
-			this.loadData()
-		},
-		methods:{
-			loadData(){
-				let data = {
-					type:24
-				}
-				post("/my/article",data).then(res => {
-				  if (res.code == 0) {
-				    this.content = res.data.data.content
-					console.log(this.content)
-				    // this.BannerImg = res.list;
-				  }
-				}); 
-			}
-		},
-		components:{
-					jyfParser
-		},
-	}
-</script>
-
-<style lang="scss" scoped>
-// 用户须知
-.container{border-top: 20rpx solid #f5f5f5;padding: 0 20rpx;box-sizing: border-box;}
-// 用户须知-end
-</style>

+ 6 - 5
src/pages/to-pay-list/index.vue

@@ -194,13 +194,14 @@ export default {
 
             // 计算待支付
             let p = this.Data.type == 2 ? this.goodsInfo.trade_price : this.goodsInfo.cost_price; //商品单价
-            let y = (this.Data.is_sell == 1 || this.prom_type == 1) ? 0 : this.freight; // 运费   寄卖、自提 运费为0
-            let a1 = this.$h.Mul(p,this.Data.num); //商品总价
-            let a = this.$h.Add(this.$h.Mul(p,this.Data.num), this.$h.Mul(y,this.Data.num)); //商品总价加运费
-            let b1 = this.$h.Sub(a1,this.userinfo.user_money); //待支付金额 零售&批发   运费必须现金支付
+            let y = (this.Data.is_sell == 1 || this.prom_type == 1) ? 0 : this.freight; // 运费单价   寄卖、自提 运费为0
+            let ps = this.$h.Mul(p,this.Data.num); //商品总价
+            let ys = this.$h.Mul(y,this.Data.num) //运费总价
+            let a = this.$h.Add(ps, ys); //商品总价加运费
             let b = this.$h.Sub(a,this.userinfo.user_money); //待支付金额
+            let b1 = this.$h.Sub(ps,this.userinfo.user_money); //待支付金额 零售&批发   运费必须现金支付
             if (["4", "5", "6"].includes(this.Data.type)) this.obligation = a;
-            else if (["1", "2"].includes(this.Data.type)) this.obligation = b1 > 0 ? this.$h.Add(b1, y) : y;
+            else if (["1", "2"].includes(this.Data.type)) this.obligation = b1 > 0 ? this.$h.Add(b1, ys) : ys;
             else this.obligation = b > 0 ? b : 0;
           });
         }

+ 165 - 245
src/pages/top-up/index.vue

@@ -1,120 +1,39 @@
 <template>
-  <view class="container">
-    <!-- <view class="list flex_r flex_ac flex_jb mar_t16">
-      <view class="list_name">充值类型:</view>
-      <view class="title_select">
-        <picker @change="bindPickerChange" :value="index" :range="array">
-          <view class="flex_r flex_ac flex_je" style="width: 300rpx">
-            <view class="select_name">{{ array[index] }}</view>
-            <image
-              style="width: 25rpx; height: 25rpx; margin-left: 15rpx"
-              src="/static/down.png"
-              mode=""
-            >
-            </image>
-          </view>
-        </picker>
-      </view>
-    </view> -->
-    <view class="con">
-      <view class="list flex_r flex_ac">
-        <view class="list_name">当前余额:</view>
-        <input
-          class="list_input flex_grow"
-          type="text"
-          v-model="userinfo.user_money"
-          readonly
-          placeholder="当前余额"
-        />
-      </view>
-      <view class="list flex_r flex_ac">
-        <view class="list_name">充值金额:</view>
-        <input
-          class="list_input flex_grow"
-          type="text"
-          v-model="price"
-          placeholder="请输入充值金额"
-        />
-      </view>
-      <view class="list flex_r flex_ac">
-        <view class="list_name">支付方式:</view>
-        <view class="flex_r flex_ac">
-          <!-- <view class="way_radio select_way"></view> -->
-          <view class="way_con flex_r flex_ac">
-            <image
-              class="way_img"
-              src="/static/weixin_icon.png"
-              mode=""
-            ></image>
-            <view class="way_text">微信支付</view>
-          </view>
+    <view class="container">
+        <view class="con">
+            <view class="list flex_r flex_ac">
+                <view class="list_name">当前余额:</view>
+                <input class="list_input flex_grow" type="text" v-model="userinfo.user_money" readonly placeholder="当前余额" />
+            </view>
+            <view class="list flex_r flex_ac">
+                <view class="list_name">充值金额:</view>
+                <input class="list_input flex_grow" type="text" v-model="price" placeholder="请输入充值金额" />
+            </view>
+            <view class="list flex_r flex_ac">
+                <view class="list_name">支付方式:</view>
+                <view class="flex_r flex_ac">
+                    <view class="way_con flex_r flex_ac">
+                        <image class="way_img" src="/static/weixin_icon.png" mode=""></image>
+                        <view class="way_text">微信支付</view>
+                    </view>
+                </view>
+            </view>
+            <div class="checkbox-box flex_r flex_ac">
+                <checkbox-group @change="checkboxChange" class="flex_r flex_ac">
+                    <label class="checkbox flex_r flex_ac">
+                        <checkbox class="checkboxCom" value="agree" />
+                        <view>我同意</view>
+                    </label>
+                    <span @click="goto('/pages/agreement/index',{tit:'充值协议',type:28})" class="hover_a">《充值协议》</span>
+                </checkbox-group>
+            </div>
+            <view class="btn flex_r flex_ac flex_jc" @tap="confimTopUp">立即充值</view>
+            <view>
+                <image class="adv_img" :src="advertisingImg"></image>
+            </view>
         </view>
-        <!-- <input
-          class="list_input flex_grow"
-          type="text"
-          v-model="price"
-          placeholder="请输入充值金额"
-        /> -->
-      </view>
-      <div class="checkbox-box flex_r flex_ac">
-        <checkbox-group @change="checkboxChange" class="flex_r flex_ac">
-          <label class="checkbox flex_r flex_ac">
-            <checkbox class="checkboxCom" value="agree" />
-            <view>我同意</view>
-          </label>
-          <navigator url="/pages/agreement/privacy" hover-class="li_hover"
-            ><text>《充值协议》</text></navigator
-          >
-        </checkbox-group>
-      </div>
-      <!-- <view class="privacy">
-				<navigator url="/pages/agreement/privacy" hover-class="li_hover"><text>查看《隐私协议》</text></navigator>
-			</view> -->
-
-      <view class="btn flex_r flex_ac flex_jc" @tap="confimTopUp"
-        >立即充值</view
-      >
-      <view>
-        <image class="adv_img" :src="advertisingImg" ></image>
-      </view>
-    </view>
-
-    <!-- <view class="list flex_r flex_ac flex_jb mar_t16" v-if="index == 0">
-      <view class="list_name">当前余额:</view>
-      <view class="list_text flex_r flex_ac flex_je"
-        ><text>¥</text>{{ userinfo.user_money }}</view
-      >
-    </view>
-    <view class="list flex_r flex_ac flex_jb mar_t16">
-      <view class="list_name">充值金额:</view>
-      <view class="list_text flex_r flex_ac">
-        <input
-          type="text"
-          v-model="price"
-          placeholder="自定义金额"
-          placeholder-style="color:#ddd;"
-        />
-      </view>
-    </view>
-
-    <view class="option flex_c mar_t16">
-      <view class="list_name">充值方式</view>
-      <view class="option_con flex_r flex_ac flex_jb mar_t16">
-        <view class="way_con flex_r flex_ac">
-          <image class="way_img" src="/static/weixin_icon.png" mode=""></image>
-          <view class="way_text">微信支付</view>
-        </view>
-        <view
-          class="way_radio"
-          :class="isSelect == 1 ? 'select_way' : ''"
-        ></view>
-      </view>
     </view>
-
-    <view class="btn flex_r flex_ac flex_jc" @tap="confimTopUp">立即充值</view> -->
-  </view>
 </template>
-
 <script>
 let app = getApp();
 var appEv = app.$vm.$options;
@@ -122,189 +41,190 @@ import { ToPayOpre } from "@/utils/reqTools.js";
 var toPayOpre = new ToPayOpre();
 import { post } from "@/request/api.js";
 export default {
-  data() {
-    return {
-      price: "",
-      isSelect: 1,
-      detail: {},
-      array: ["余额充值"],
-      index: 0,
-      userinfo: undefined, // 获取用户信息
-      isDisabled: false, //是否选中协议
-      advertisingImg: "", //广告图片
-    };
-  },
-  onLoad: function () {
-    this.userinfo = uni.getStorageSync("userinfo");
-    this.getAdvImg();
-  },
-  methods: {
-    confimTopUp() {
-		console.log(this.isDisabled,"qqqq")
-      if (this.price == 0 || this.prioce == "") {
-        appEv.errTips("充值不能为0");
-        return;
-      } else if (!this.isDisabled) {
-        appEv.errTips("请阅读并同意相关协议");
-        return;
-      } else {
-        let type = "H5";
-        // #ifdef  H5
-        type = "H5";
-        // #endif
-        // #ifdef  APP
-        type = "app";
-        // #endif
-        // #ifdef  MP-WEIXIN
-        type = "jsapi";
-        // #endif
-        let data = {
-          trade_type: type,
-          amount: this.price,
+    data() {
+        return {
+            price: "",
+            isSelect: 1,
+            detail: {},
+            array: ["余额充值"],
+            index: 0,
+            userinfo: undefined, // 获取用户信息
+            isDisabled: false, //是否选中协议
+            advertisingImg: "", //广告图片
         };
-
-        post("user/recharge", data).then((res) => {
-          toPayOpre.toPay(res.data.data, (rea) => {
-            if (!rea) {
-              // 支付成功
-              appEv.errTips("支付成功");
-              this.price = 0;
-              this.getuserInfo();
-            } else {
-              // 支付失败
-              appEv.errTips("支付已取消");
-            }
-          });
-        });
-      }
-    },
-    getAdvImg() {
-      post("/adImgages").then((res) => {
-        if (res.code === 0) {
-          console.log(res.data.data);
-          this.advertisingImg = res.data.data;
-        }
-      });
     },
-    getuserInfo() {
-      post("/user/userinfo").then((res) => {
-        if (res.code === 0) {
-          uni.setStorageSync("userinfo", res.data.data);
-          this.userinfo = res.data.data;
-        }
-      });
+    onLoad: function() {
+        this.userinfo = uni.getStorageSync("userinfo");
+        this.getAdvImg();
     },
-    checkboxChange(e) {
-      var value = e.detail.value;
-	  if(value.length == 0){
-		  this.isDisabled = false
-	  }else{
-		  this.isDisabled = true
-	  }
+    methods: {
+        confimTopUp() {
+            console.log(this.isDisabled, "qqqq")
+            if (this.price == 0 || this.prioce == "") {
+                appEv.errTips("充值不能为0");
+                return;
+            } else if (!this.isDisabled) {
+                appEv.errTips("请阅读并同意相关协议");
+                return;
+            } else {
+                let type = "H5";
+                // #ifdef  H5
+                type = "H5";
+                // #endif
+                // #ifdef  APP
+                type = "app";
+                // #endif
+                // #ifdef  MP-WEIXIN
+                type = "jsapi";
+                // #endif
+                let data = {
+                    trade_type: type,
+                    amount: this.price,
+                };
+
+                post("user/recharge", data).then((res) => {
+                    toPayOpre.toPay(res.data.data, (rea) => {
+                        if (!rea) {
+                            // 支付成功
+                            appEv.errTips("支付成功");
+                            this.price = 0;
+                            this.getuserInfo();
+                        } else {
+                            // 支付失败
+                            appEv.errTips("支付已取消");
+                        }
+                    });
+                });
+            }
+        },
+        getAdvImg() {
+            post("/adImgages").then((res) => {
+                if (res.code === 0) {
+                    console.log(res.data.data);
+                    this.advertisingImg = res.data.data;
+                }
+            });
+        },
+        getuserInfo() {
+            post("/user/userinfo").then((res) => {
+                if (res.code === 0) {
+                    uni.setStorageSync("userinfo", res.data.data);
+                    this.userinfo = res.data.data;
+                }
+            });
+        },
+        checkboxChange(e) {
+            var value = e.detail.value;
+            if (value.length == 0) {
+                this.isDisabled = false
+            } else {
+                this.isDisabled = true
+            }
+        },
     },
-  },
 };
 </script>
-
 <style lang="scss" scoped>
 // 页面配置
 page {
-  background: #f4f4f4;
+    background: #f4f4f4;
 }
 
 // 页面配置-end
 
 // 页面内容
 .con {
-  width: 1005;
-  overflow: hidden;
-  padding: 30rpx;
-  box-sizing: border-box;
+    width: 1005;
+    overflow: hidden;
+    padding: 30rpx;
+    box-sizing: border-box;
 }
 
 .adv_img {
-  margin-top: 20px;
-  width: 690rpx;
-  // height: 100%;
-  height: 345rpx;
+    margin-top: 20px;
+    width: 690rpx;
+    // height: 100%;
+    height: 345rpx;
 }
 
 .list {
-  width: 100%;
-  height: 100rpx;
-  border-bottom: 3rpx solid rgba(0, 0, 0, 0.12);
+    width: 100%;
+    height: 100rpx;
+    border-bottom: 3rpx solid rgba(0, 0, 0, 0.12);
 }
 
 .list_name {
-  font-size: 28rpx;
-  color: #333333;
-  font-weight: "SourceHanSansCN-Medium";
-  width: 130rpx;
+    font-size: 28rpx;
+    color: #333333;
+    font-weight: "SourceHanSansCN-Medium";
+    width: 130rpx;
 }
 
 .list_input {
-  width: calc(100% - 140rpx);
-  margin-left: 10rpx;
-  height: 100%;
-  font-size: 28rpx;
-  color: #333;
+    width: calc(100% - 140rpx);
+    margin-left: 10rpx;
+    height: 100%;
+    font-size: 28rpx;
+    color: #333;
 }
 
 .btn {
-  width: 395rpx;
-  height: 95rpx;
-  border-radius: 10rpx;
-  background: #17bb87;
-  color: #fff;
-  font-size: 34rpx;
-  font-family: "SourceHanSansCN-Medium";
-  margin: 100rpx auto 0;
+    width: 395rpx;
+    height: 95rpx;
+    border-radius: 10rpx;
+    background: #17bb87;
+    color: #fff;
+    font-size: 34rpx;
+    font-family: "SourceHanSansCN-Medium";
+    margin: 100rpx auto 0;
 }
 
 // 提交内容-end
 
 .checkbox-box {
-  margin-top: 60rpx;
-  margin-bottom: -20px;
-  font-size: 28rpx;
+    margin-top: 60rpx;
+    margin-bottom: -20px;
+    font-size: 28rpx;
 }
+
 .checkbox-box text {
-  /* color: #07d; */
-  /* color: #44A92F; */
-  color: #44a92f;
+    /* color: #07d; */
+    /* color: #44A92F; */
+    color: #44a92f;
 }
+
 .checkbox-box .checkbox .checkboxCom {
-  transform: scale(0.84);
-  -webkit-transform: scale(0.84);
+    transform: scale(0.84);
+    -webkit-transform: scale(0.84);
 }
 
 .way_radio {
-  width: 39rpx;
-  height: 35rpx;
-  background: url("~@/static/sgin/weixuanzhong_icon.png");
-  background-repeat: no-repeat;
-  background-size: 35rpx 35rpx;
-  background-position: center center;
+    width: 39rpx;
+    height: 35rpx;
+    background: url("~@/static/sgin/weixuanzhong_icon.png");
+    background-repeat: no-repeat;
+    background-size: 35rpx 35rpx;
+    background-position: center center;
 }
 
 .select_way {
-  background: url("~@/static/sgin/xuanzhong_icon.png");
-  background-repeat: no-repeat;
-  background-size: 39rpx 35rpx;
-  background-position: center center;
+    background: url("~@/static/sgin/xuanzhong_icon.png");
+    background-repeat: no-repeat;
+    background-size: 39rpx 35rpx;
+    background-position: center center;
 }
 
 .way_img {
-  width: 52rpx;
-  height: 52rpx;
-  margin-right: 8rpx;
+    width: 52rpx;
+    height: 52rpx;
+    margin-right: 8rpx;
 }
 
 .way_text {
-  font-size: 22rpx;
-  color: #333333;
-  font-family: "SourceHanSansCN-Medium";
+    font-size: 22rpx;
+    color: #333333;
+    font-family: "SourceHanSansCN-Medium";
 }
 
 // 页面内容-end
-</style>
+</style>