hwq 2 년 전
부모
커밋
468167d99b
100개의 변경된 파일3582개의 추가작업 그리고 3123개의 파일을 삭제
  1. 4 0
      .hbuilderx/launch.json
  2. 20 10
      api/order.js
  3. 30 12
      api/user.js
  4. 5 81
      pages.json
  5. 0 267
      pages/activity/bargain/index.vue
  6. 0 172
      pages/activity/goods_bargain/index.vue
  7. 0 726
      pages/activity/goods_bargain_details/index.vue
  8. 618 635
      pages/order/order.vue
  9. 171 142
      pages/shop/djqQm.vue
  10. 87 81
      pages/user/hxjl.vue
  11. 0 407
      pages/user/mygx.vue
  12. 688 590
      pages/user/user.vue
  13. BIN
      static/icon/close.png
  14. BIN
      static/img/hxbg.png
  15. BIN
      static/img/ygq.png
  16. BIN
      static/img/ysy.png
  17. 0 0
      unpackage/dist/dev/.automator/app-plus/.automator.json
  18. 0 0
      unpackage/dist/dev/app-plus/__uniappchooselocation.js
  19. BIN
      unpackage/dist/dev/app-plus/__uniapperror.png
  20. 0 0
      unpackage/dist/dev/app-plus/__uniappes6.js
  21. 0 0
      unpackage/dist/dev/app-plus/__uniappopenlocation.js
  22. 0 0
      unpackage/dist/dev/app-plus/__uniapppicker.js
  23. 6 0
      unpackage/dist/dev/app-plus/__uniappquill.js
  24. 0 0
      unpackage/dist/dev/app-plus/__uniappquillimageresize.js
  25. 0 0
      unpackage/dist/dev/app-plus/__uniappscan.js
  26. BIN
      unpackage/dist/dev/app-plus/__uniappsuccess.png
  27. 25 0
      unpackage/dist/dev/app-plus/__uniappview.html
  28. 3 0
      unpackage/dist/dev/app-plus/app-config-service.js
  29. 154 0
      unpackage/dist/dev/app-plus/app-config.js
  30. 9 0
      unpackage/dist/dev/app-plus/app-service.js
  31. 1117 0
      unpackage/dist/dev/app-plus/app-view.js
  32. 0 0
      unpackage/dist/dev/app-plus/manifest.json
  33. 556 0
      unpackage/dist/dev/app-plus/static/css/cmy.css
  34. 53 0
      unpackage/dist/dev/app-plus/static/css/flex.css
  35. 36 0
      unpackage/dist/dev/app-plus/static/css/padding.css
  36. BIN
      unpackage/dist/dev/app-plus/static/error/emptyCart.png
  37. BIN
      unpackage/dist/dev/app-plus/static/error/errorImage.jpg
  38. BIN
      unpackage/dist/dev/app-plus/static/error/missing-face.png
  39. BIN
      unpackage/dist/dev/app-plus/static/icon/add.png
  40. BIN
      unpackage/dist/dev/app-plus/static/icon/appleIcon.png
  41. BIN
      unpackage/dist/dev/app-plus/static/icon/bdsj.png
  42. BIN
      unpackage/dist/dev/app-plus/static/icon/c3.png
  43. BIN
      unpackage/dist/dev/app-plus/static/icon/c5.png
  44. BIN
      unpackage/dist/dev/app-plus/static/icon/c6.png
  45. BIN
      unpackage/dist/dev/app-plus/static/icon/c7.png
  46. BIN
      unpackage/dist/dev/app-plus/static/icon/c8.png
  47. BIN
      unpackage/dist/dev/app-plus/static/icon/call.png
  48. BIN
      unpackage/dist/dev/app-plus/static/icon/close.png
  49. BIN
      unpackage/dist/dev/app-plus/static/icon/colse.png
  50. BIN
      unpackage/dist/dev/app-plus/static/icon/dh.png
  51. BIN
      unpackage/dist/dev/app-plus/static/icon/dsjh.png
  52. BIN
      unpackage/dist/dev/app-plus/static/icon/dw.png
  53. BIN
      unpackage/dist/dev/app-plus/static/icon/fanhui.png
  54. BIN
      unpackage/dist/dev/app-plus/static/icon/g-l.png
  55. BIN
      unpackage/dist/dev/app-plus/static/icon/goto.png
  56. BIN
      unpackage/dist/dev/app-plus/static/icon/i1.png
  57. BIN
      unpackage/dist/dev/app-plus/static/icon/i2.png
  58. BIN
      unpackage/dist/dev/app-plus/static/icon/i3.png
  59. BIN
      unpackage/dist/dev/app-plus/static/icon/i4.png
  60. BIN
      unpackage/dist/dev/app-plus/static/icon/i5.png
  61. BIN
      unpackage/dist/dev/app-plus/static/icon/i6.png
  62. BIN
      unpackage/dist/dev/app-plus/static/icon/i7.png
  63. BIN
      unpackage/dist/dev/app-plus/static/icon/i8.png
  64. BIN
      unpackage/dist/dev/app-plus/static/icon/img01.png
  65. BIN
      unpackage/dist/dev/app-plus/static/icon/img02.png
  66. BIN
      unpackage/dist/dev/app-plus/static/icon/img03.png
  67. BIN
      unpackage/dist/dev/app-plus/static/icon/img04.png
  68. BIN
      unpackage/dist/dev/app-plus/static/icon/img05.png
  69. BIN
      unpackage/dist/dev/app-plus/static/icon/img06.png
  70. BIN
      unpackage/dist/dev/app-plus/static/icon/img07.png
  71. BIN
      unpackage/dist/dev/app-plus/static/icon/img08.png
  72. BIN
      unpackage/dist/dev/app-plus/static/icon/img09.png
  73. BIN
      unpackage/dist/dev/app-plus/static/icon/img10.png
  74. BIN
      unpackage/dist/dev/app-plus/static/icon/img11.png
  75. BIN
      unpackage/dist/dev/app-plus/static/icon/img12.png
  76. BIN
      unpackage/dist/dev/app-plus/static/icon/kf.png
  77. BIN
      unpackage/dist/dev/app-plus/static/icon/mygx.png
  78. BIN
      unpackage/dist/dev/app-plus/static/icon/myjd.png
  79. BIN
      unpackage/dist/dev/app-plus/static/icon/myqb.png
  80. BIN
      unpackage/dist/dev/app-plus/static/icon/mytg.png
  81. BIN
      unpackage/dist/dev/app-plus/static/icon/myyj.png
  82. BIN
      unpackage/dist/dev/app-plus/static/icon/reduce.png
  83. BIN
      unpackage/dist/dev/app-plus/static/icon/sc01.png
  84. BIN
      unpackage/dist/dev/app-plus/static/icon/sc010.png
  85. BIN
      unpackage/dist/dev/app-plus/static/icon/sc02.png
  86. BIN
      unpackage/dist/dev/app-plus/static/icon/sc03.png
  87. BIN
      unpackage/dist/dev/app-plus/static/icon/sc04.png
  88. BIN
      unpackage/dist/dev/app-plus/static/icon/sc05.png
  89. BIN
      unpackage/dist/dev/app-plus/static/icon/sc06.png
  90. BIN
      unpackage/dist/dev/app-plus/static/icon/sc07.png
  91. BIN
      unpackage/dist/dev/app-plus/static/icon/sc08.png
  92. BIN
      unpackage/dist/dev/app-plus/static/icon/sc09.png
  93. BIN
      unpackage/dist/dev/app-plus/static/icon/search-h.png
  94. BIN
      unpackage/dist/dev/app-plus/static/icon/select.png
  95. BIN
      unpackage/dist/dev/app-plus/static/icon/selected.png
  96. BIN
      unpackage/dist/dev/app-plus/static/icon/shdz.png
  97. BIN
      unpackage/dist/dev/app-plus/static/icon/shop-logo.png
  98. BIN
      unpackage/dist/dev/app-plus/static/icon/shoucang.png
  99. BIN
      unpackage/dist/dev/app-plus/static/icon/tghb.png
  100. BIN
      unpackage/dist/dev/app-plus/static/icon/u-v.png

+ 4 - 0
.hbuilderx/launch.json

@@ -2,6 +2,10 @@
   // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
     "version": "0.0",
     "configurations": [{
+     	"app-plus" : 
+     	{
+     		"launchtype" : "remote"
+     	},
      	"default" : 
      	{
      		"launchtype" : "remote"

+ 20 - 10
api/order.js

@@ -1,5 +1,7 @@
 import request from '@/utils/request'
-import {upFilse} from '@/utils/request'
+import {
+	upFilse
+} from '@/utils/request'
 // 订单确认
 export function confirm(data) {
 	return request({
@@ -9,18 +11,18 @@ export function confirm(data) {
 	});
 }
 //获取可使用优惠券
-export function couponsOrder(data,price,id) {
+export function couponsOrder(data, price, id) {
 	return request({
-		url: '/api/coupons/order/'+price+'/'+id,
+		url: '/api/coupons/order/' + price + '/' + id,
 		method: 'get',
 		data
 	});
 }
 //获取优惠券列表
-export function getCouponsList(data,types) {
+export function getCouponsList(data, types) {
 	//优惠券状态 0全部 1未使用 2已使用
 	return request({
-		url: '/api/coupons/user/'+types,
+		url: '/api/coupons/user/' + types,
 		method: 'get',
 		data
 	});
@@ -66,9 +68,9 @@ export function orderList(data) {
 	});
 }
 // 订单详细
-export function orderDetail(data,orderid) {
+export function orderDetail(data, orderid) {
 	return request({
-		url: '/api/order/detail/'+orderid,
+		url: '/api/order/detail/' + orderid,
 		method: 'get',
 		data
 	});
@@ -127,9 +129,9 @@ export function orderPay(data) {
 }
 
 // 创建订单
-export function createOrderkey(data,key) {
+export function createOrderkey(data, key) {
 	return request({
-		url: '/api/order/create/'+key,
+		url: '/api/order/create/' + key,
 		method: 'post',
 		data
 	});
@@ -138,9 +140,17 @@ export function createOrderkey(data,key) {
 // 统计订单金额
 export function computedOrderkey(data) {
 	return request({
-		url: '/api/order/computed/'+data.orderkey,
+		url: '/api/order/computed/' + data.orderkey,
 		method: 'post',
 		data
 	});
 }
 
+//优惠券详情
+export function view_order(data) {
+	return request({
+		url: '/api/order/view_order',
+		method: 'get',
+		data
+	});
+}

+ 30 - 12
api/user.js

@@ -2,27 +2,27 @@ import request from '@/utils/request'
 
 
 //查看子点位
-export function lookSubpoints(data,id){
+export function lookSubpoints(data, id) {
 	return request({
-		url:'/api/tree/children/'+id,
-		method:'get',
+		url: '/api/tree/children/' + id,
+		method: 'get',
 		data
 	})
 }
 //查看自己的点位
-export function lookOneself(data){
+export function lookOneself(data) {
 	return request({
-		url:'/api/tree/points',
-		method:'get',
+		url: '/api/tree/points',
+		method: 'get',
 		data
-		
+
 	})
 }
 
 //绑定上级
 export function spread(data) {
 	return request({
-		url:'/api/user/spread',
+		url: '/api/user/spread',
 		method: 'post',
 		data
 	})
@@ -149,7 +149,7 @@ export function delcollect(data) {
 //积分转账
 export function transfer(data) {
 	return request({
-		url:'/api/trade',
+		url: '/api/trade',
 		method: 'post',
 		data
 	})
@@ -158,7 +158,7 @@ export function transfer(data) {
 //余额转账
 export function yuetransfer(data) {
 	return request({
-		url:'/api/yue/trade',
+		url: '/api/yue/trade',
 		method: 'post',
 		data
 	})
@@ -167,7 +167,7 @@ export function yuetransfer(data) {
 //现金转账
 export function cashtransfer(data) {
 	return request({
-		url:'/api/cash/trade',
+		url: '/api/cash/trade',
 		method: 'post',
 		data
 	})
@@ -176,7 +176,7 @@ export function cashtransfer(data) {
 // 我的分红积分
 export function share(data) {
 	return request({
-		url:'/api/game',
+		url: '/api/game',
 		method: 'get',
 		data
 	})
@@ -198,3 +198,21 @@ export function edit(data) {
 		data
 	});
 }
+
+//扫码核销
+export function coupon_verific(data) {
+	return request({
+		url: '/api/coupon_verific',
+		method: 'post',
+		data
+	});
+}
+
+//核销记录
+export function write_off(data) {
+	return request({
+		url: '/api/write_off',
+		method: 'get',
+		data
+	});
+}

+ 5 - 81
pages.json

@@ -204,15 +204,6 @@
 				}
 			}
 		},
-		// {
-		// 	"path": "pages/product/groupBooking/groupdetails",
-		// 	"style": {
-		// 		"navigationBarTitleText": "拼团详情",
-		// 		"app-plus": {
-		// 			"titleNView": false
-		// 		}
-		// 	}
-		// },
 		{
 			"path": "pages/product/reply",
 			"style": {
@@ -341,32 +332,7 @@
 		{
 			"path": "pages/user/user",
 			"style": {
-				// #ifndef MP-WEIXIN
 				"navigationStyle": "custom",
-				// "app-plus": {
-				// 	"bounce": "none",
-				// 	"titleNView": {
-				// 		"type": "transparent",
-				// 		"buttons": [{
-				// 				"fontSrc": "/static/yticon.ttf",
-				// 				"text": "\ue60f",
-				// 				"fontSize": "24",
-				// 				"color": "#303133",
-				// 				"width": "46px",
-				// 				"background": "rgba(0,0,0,0)"
-				// 			},
-				// 			{
-				// 				"fontSrc": "/static/yticon.ttf",
-				// 				"text": "\ue744",
-				// 				"fontSize": "28",
-				// 				"color": "#303133",
-				// 				"background": "rgba(0,0,0,0)",
-				// 				"redDot": true
-				// 			}
-				// 		]
-				// 	}
-				// },
-				// #endif
 				"navigationBarTitleText": "个人中心"
 			}
 		},
@@ -410,12 +376,6 @@
 				"navigationBarTitleText": "积分明细"
 			}
 		},
-		{
-			"path": "pages/user/mygx",
-			"style": {
-				"navigationBarTitleText": "我的贡献"
-			}
-		},
 		{
 			"path": "pages/order/order",
 			"style": {
@@ -538,12 +498,6 @@
 				"navigationBarTitleText": "商圈"
 			}
 		},
-		{
-			"path": "pages/game/game",
-			"style": {
-				"navigationBarTitleText": "响亮游戏"
-			}
-		},
 		{
 			"path": "pages/user/shareQrCode",
 			"style": {
@@ -572,45 +526,15 @@
 
 		}
 	],
-	"subPackages": [{
-		"root": "pages/activity",
-		"name": "activity",
-		"pages": [{
-				"path": "goods_bargain/index",
-				"style": {
-					"navigationStyle": "custom"
-						// #ifdef MP
-						,
-					"navigationBarTextStyle": "#fff"
-					// #endif
-				}
-			},
-			{
-				"path": "goods_bargain_details/index",
-				"style": {
-					"navigationStyle": "custom"
-						// #ifdef MP
-						,
-					"navigationBarTextStyle": "#fff"
-					// #endif
-				}
-			},
-			{
-				"path": "bargain/index",
-				"style": {
-					"navigationBarTitleText": "砍价记录"
-				}
-			}
-		]
-	}],
 	"globalStyle": {
+		//#ifdef H5
+		"navigationStyle": "custom",
+		//#endif
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "玲卿+",
 		"navigationBarBackgroundColor": "#FFFFFF",
-		"backgroundColor": "#f8f8f8",
-		//#ifdef H5
-		"navigationStyle": "custom"
-		//#endif
+		"backgroundColor": "#f8f8f8"
+
 	},
 	"tabBar": {
 		"color": "#666666",

+ 0 - 267
pages/activity/bargain/index.vue

@@ -1,267 +0,0 @@
-<template>
-	<view>
-		<block v-if="bargain.length>0">
-			<div class="bargain-record" ref="container">
-				<div class="item" v-for="(item, index) in bargain" :key="index">
-					<div class="picTxt acea-row row-between-wrapper">
-						<div class="pictrue">
-							<image :src="item.image" />
-						</div>
-						<div class="text acea-row row-column-around">
-							<div class="line1" style="width: 100%;">{{ item.title }}</div>
-							<count-down :justify-left="'justify-content:left'" :is-day="true" :tip-text="'倒计时 '" :day-text="' 天 '" :hour-text="' 时 '" :minute-text="' 分 '"
-							 :second-text="' 秒'" :datatime="item.datatime" v-if="item.status === 1"></count-down>
-							<div class="successTxt font-color-red" v-else-if="item.status === 3">砍价成功</div>
-							<div class="endTxt" v-else>活动已结束</div>
-							<div class="money font-color-red">
-								已砍至<span class="symbol">¥</span><span class="num">{{ item.residue_price }}</span>
-							</div>
-						</div>
-					</div>
-					<div class="bottom acea-row row-between-wrapper">
-						<div class="purple" v-if="item.status === 1">活动进行中</div>
-						<div class="success" v-else-if="item.status === 3">砍价成功</div>
-						<div class="end" v-else>活动已结束</div>
-						<div class="acea-row row-middle row-right">
-							<div class="bnt cancel" v-if="item.status === 1" @click="getBargainUserCancel(item.bargain_id)">
-								取消活动
-							</div>
-							<div class="bnt bg-color-red" v-if="item.status === 1" @click="goDetail(item.bargain_id)">
-								继续砍价
-							</div>
-							<!-- <div class="bnt bg-color-red" v-else @click="goList">重开一个</div> -->
-						</div>
-					</div>
-				</div>
-				<Loading :loaded="status" :loading="loadingList"></Loading>
-			</div>
-		</block>
-		<block v-if="bargain.length == 0">
-			<emptyPage title="暂无砍价记录~"></emptyPage>
-		</block>
-	</view>
-</template>
-<script>
-	import CountDown from "@/components/countDown";
-	import emptyPage from '@/components/emptyPage.vue'
-	import {
-		getBargainUserList,
-		getBargainUserCancel
-	} from "@/api/activity";
-	import {
-		userinfos
-	} from '@/api/user.js';
-	import Loading from "@/components/Loading";
-
-	export default {
-		name: "BargainRecord",
-		components: {
-			CountDown,
-			Loading,
-			emptyPage
-		},
-		props: {},
-		data: function() {
-			return {
-				bargain: [],
-				status: false, //砍价列表是否获取完成 false 未完成 true 完成
-				loadingList: false, //当前接口是否请求完成 false 完成 true 未完成
-				page: 1, //页码
-				limit: 20, //数量
-				userInfo: {}
-			};
-		},
-		onLoad: function() {
-			this.getBargainUserList();
-			this.getUserInfo();
-			// this.$scroll(this.$refs.container, () => {
-			//   !this.loadingList && this.getBargainUserList();
-			// });
-		},
-		methods: {
-			goDetail: function(id) {
-				// this.$router.push({
-				// 	path: "/activity/dargain_detail/" + id +'&bargain='+ userInfo.uid
-				// });
-				uni.navigateTo({
-					url: `/pages/activity/goods_bargain_details/index?id=${id}&bargain=${this.userInfo.uid}`
-				})
-			},
-			// 砍价列表
-			goList: function() {
-				uni.navigateTo({
-					url: '/pages/activity/goods_bargain/index'
-				})
-			},
-			getBargainUserList: function() {
-				var that = this;
-				if (that.loadingList) return;
-				if (that.status) return;
-				getBargainUserList({
-						page: that.page,
-						limit: that.limit
-					})
-					.then(res => {
-						that.status = res.data.length < that.limit;
-						that.bargain.push.apply(that.bargain, res.data);
-						that.page++;
-						that.loadingList = false;
-					})
-					.catch(res => {
-						that.$dialog.error(res.msg);
-					});
-			},
-			getBargainUserCancel: function(bargainId) {
-				var that = this;
-				uni.showModal({
-				    title: '提示',
-				    content: '确定取消砍价商品吗',
-				    success: function (res) {
-				        if (res.confirm) {
-				            console.log('用户点击确定');
-							getBargainUserCancel({
-									bargainId: bargainId
-								})
-								.then(res => {
-									that.status = false;
-									that.loadingList = false;
-									that.page = 1;
-									that.bargain = [];
-									that.getBargainUserList();
-									uni.showToast({
-										title:res.msg
-									});
-								})
-								.catch(res => {
-									uni.showToast({
-										title:res
-									});
-								});
-				        } else if (res.cancel) {
-				            console.log('用户点击取消');
-				        }
-				    }
-				});
-			},
-			/**
-			 * 获取个人用户信息
-			 */
-			getUserInfo: function() {
-				let that = this;
-				userinfos().then(res => {
-					that.userInfo = res.data;
-				});
-			},
-		},
-		onReachBottom() {
-			this.getBargainUserList();
-		}
-	};
-</script>
-
-<style lang="scss">
-	page{
-		background-color: #f5f5f5;
-	}
-	/*砍价记录*/
-	.bargain-record .item .picTxt .text .time .styleAll {
-		color: #fc4141;
-		font-size:24rpx;
-	}
-	.bargain-record .item .picTxt .text .time .red {
-		color: #999;
-		font-size:24rpx;
-	}
-	.bargain-record .item {
-		background-color: #fff;
-		margin-bottom: 12upx;
-	}
-
-	.bargain-record .item .picTxt {
-		height: 210upx;
-		border-bottom: 1px solid #f0f0f0;
-		padding: 0 30upx;
-	}
-
-	.bargain-record .item .picTxt .pictrue {
-		width: 150upx;
-		height: 150upx;
-	}
-
-	.bargain-record .item .picTxt .pictrue image {
-		width: 100%;
-		height: 100%;
-		border-radius: 6upx;
-	}
-
-	.bargain-record .item .picTxt .text {
-		width: 515upx;
-		font-size: 30upx;
-		color: #282828;
-		height: 150upx;
-	}
-
-	.bargain-record .item .picTxt .text .time {
-		font-size: 24upx;
-		color: #868686;
-		justify-content: left !important;
-	}
-	
-	.bargain-record .item .picTxt .text .successTxt{
-		font-size:24rpx;
-	}
-	
-	.bargain-record .item .picTxt .text .endTxt{
-		font-size:24rpx;
-		color: #999;
-	}
-	.bargain-record .item .picTxt .text .money {
-		font-size: 24upx;
-	}
-
-	.bargain-record .item .picTxt .text .money .num {
-		font-size: 32upx;
-		font-weight: bold;
-	}
-
-	.bargain-record .item .picTxt .text .money .symbol {
-		font-weight: bold;
-	}
-
-	.bargain-record .item .bottom {
-		height: 100upx;
-		padding: 0 30upx;
-		font-size: 27upx;
-	}
-
-	.bargain-record .item .bottom .purple {
-		color: #f78513;
-	}
-
-	.bargain-record .item .bottom .end {
-		color: #999;
-	}
-
-	.bargain-record .item .bottom .success {
-		color: #e93323;
-	}
-
-	.bargain-record .item .bottom .bnt {
-		font-size: 27upx;
-		color: #fff;
-		width: 176upx;
-		height: 60upx;
-		border-radius: 32upx;
-		text-align: center;
-		line-height: 60upx;
-	}
-
-	.bargain-record .item .bottom .bnt.cancel {
-		color: #aaa;
-		border: 1px solid #ddd;
-	}
-
-	.bargain-record .item .bottom .bnt~.bnt {
-		margin-left: 18upx;
-	}
-</style>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 172
pages/activity/goods_bargain/index.vue


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 726
pages/activity/goods_bargain_details/index.vue


+ 618 - 635
pages/order/order.vue

@@ -1,8 +1,7 @@
 <template>
 	<view class="content">
 		<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" class="swiper-box" duration="300" @change="changeTab">
@@ -12,13 +11,11 @@
 					<empty v-if="tabItem.loaded === true && tabItem.orderList.length === 0"></empty>
 
 					<!-- 订单列表 -->
-					<view @click="goToOrderDetail(item)" v-for="(item, index) in tabItem.orderList" :key="index"
-						class="order-item">
+					<view @click="goToOrderDetail(item)" v-for="(item, index) in tabItem.orderList" :key="index" class="order-item">
 						<view class="i-top b-b">
 							<text class="time">{{ item._add_time }}</text>
 							<text class="state" :style="{ color: item.stateTipColor }">{{ item._status._title }}</text>
-							<text v-if="item.status === 4" class="del-btn iconfont icondelete"
-								@click="deleteOrder(index)"></text>
+							<text v-if="item.status === 4" class="del-btn iconfont icondelete" @click="deleteOrder(index)"></text>
 						</view>
 
 						<scroll-view v-if="item.cartInfo.length > 1" class="goods-box" scroll-x>
@@ -26,26 +23,16 @@
 								<image class="goods-img" :src="goodsItem.productInfo.image" mode="aspectFill"></image>
 							</view>
 						</scroll-view>
-						<!-- <view v-if="item.cartInfo.length === 1" class="goods-box-single" v-for="(goodsItem, goodsIndex) in item.cartInfo" :key="goodsIndex">
-							<image class="goods-img" :src="goodsItem.productInfo.image" mode="aspectFill"></image>
-							<view class="right">
-								<text class="title clamp">{{ goodsItem.productInfo.store_name }}</text>
-								<text class="attr-box">{{ goodsItem.attrInfo ? goodsItem.attrInfo.suk : '' }} x {{ goodsItem.cart_num }}</text>
-								<text class="price">{{ moneyNum(goodsItem.productInfo.price)}}</text>
-							</view>
-						</view> -->
-						<view class="goods-box-single" v-for="(goodsItem, goodsIndex) in item.cartInfo"
-							:key="goodsIndex">
+						<view class="goods-box-single" v-for="(goodsItem, goodsIndex) in item.cartInfo" :key="goodsIndex">
 							<image class="goods-img" :src="goodsItem.productInfo.image" mode="scaleToFill"></image>
 							<view class="right">
 								<view class="flex-start">
 									<text class="title clamp">{{ goodsItem.productInfo.store_name }}</text>
-									<text class="price">{{ goodsItem.productInfo.price|moneyNum }}</text>
+									<text class="price">{{ goodsItem.productInfo.price | moneyNum }}</text>
 								</view>
 								<view class="row flex">
-									<text
-										class="row_title">{{ goodsItem.productInfo.attrInfo ? goodsItem.productInfo.attrInfo.suk : '' }}</text>
-									<text class="attr-box"> x {{ goodsItem.cart_num }}</text>
+									<text class="row_title">{{ goodsItem.productInfo.attrInfo ? goodsItem.productInfo.attrInfo.suk : '' }}</text>
+									<text class="attr-box">x {{ goodsItem.cart_num }}</text>
 								</view>
 							</view>
 						</view>
@@ -54,20 +41,16 @@
 							<text class="num">{{ item.cartInfo.length }}</text>
 							件商品 邮费
-							<text class="price">{{ moneyNum(item.pay_postage)}}</text>
+							<text class="price">{{ moneyNum(item.pay_postage) }}</text>
 							实付款
-							<text class="price">{{ moneyNum(item.pay_price)}}</text>
+							<text class="price">{{ moneyNum(item.pay_price) }}</text>
 						</view>
 						<view class="action-box b-t" v-if="item.status != 5">
-							<button v-if="item._status._title == '未支付'" class="action-btn"
-								@click.stop="cancelOrder(item)">取消订单</button>
-							<button v-if="item._status._title == '未支付'" @click.stop="orderPay(item)"
-								class="action-btn recom">立即支付</button>
-							<button v-if="item._status._title == '待评价'" class="action-btn">评价</button>
-							<button v-if="item._status._title == '待收货'" @click.stop="orderTake(item, index)"
-								class="action-btn">确认收货</button>
-							<button v-if="item._status._title == '未发货' && item.is_gift != 1" class="action-btn"
-								@click.stop="orderRefund(item)">申请退款</button>
+							<button v-if="item._status._title == '未支付'" class="action-btn" @click.stop="cancelOrder(item)">取消订单</button>
+							<button v-if="item._status._title == '未支付'" @click.stop="orderPay(item)" class="action-btn recom">立即支付</button>
+							<button v-if="item._status._title == '待评价'" class="action-btn" @click.stop="sy(item)">使用</button>
+							<button v-if="item._status._title == '待收货'" @click.stop="orderTake(item, index)" class="action-btn">确认收货</button>
+							<button v-if="item._status._title == '未发货' && item.is_gift != 1" class="action-btn" @click.stop="orderRefund(item)">申请退款</button>
 						</view>
 					</view>
 
@@ -79,92 +62,24 @@
 </template>
 
 <script>
-	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
-	import empty from '@/components/empty';
-	import {
-		orderList,
-		orderCancel,
-		orderDel,
-		orderTake
-	} from '@/api/order.js';
-	export default {
-		components: {
-			uniLoadMore,
-			empty
-		},
-		filters: {
-			moneyNum(value) {
-				return +value;
-			},
-		},
-		data() {
-			return {
-				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 //每次信息条数
-					},
-					{
-						state: 3,
-						text: '待评价',
-						loadingType: 'more',
-						orderList: [],
-						page: 1, //当前页数
-						limit: 10 //每次信息条数
-					},
-					{
-						state: 4,
-						text: '已完成',
-						loadingType: 'more',
-						orderList: [],
-						page: 1, //当前页数
-						limit: 10 //每次信息条数
-					}
-				]
-			};
-		},
-
-		onLoad(options) {
-			/**
-			 * 修复app端点击除全部订单外的按钮进入时不加载数据的问题
-			 * 替换onLoad下代码即可
-			 */
-			this.tabCurrentIndex = +options.state;
-			// #ifndef MP
-			this.loadData();
-			// #endif
-			// #ifdef MP
-			if (options.state == 0) {
-				this.loadData();
-			}
-			// #endif
-		},
-		onShow() {
-			/**
-			 * 修复app端点击除全部订单外的按钮进入时不加载数据的问题
-			 * 替换onLoad下代码即可
-			 */
-			this.navList = [{
+import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+import empty from '@/components/empty';
+import { orderList, orderCancel, orderDel, orderTake } from '@/api/order.js';
+export default {
+	components: {
+		uniLoadMore,
+		empty
+	},
+	filters: {
+		moneyNum(value) {
+			return +value;
+		}
+	},
+	data() {
+		return {
+			tabCurrentIndex: 0,
+			navList: [
+				{
 					state: 0,
 					text: '待付款',
 					loadingType: 'more',
@@ -172,25 +87,25 @@
 					page: 1, //当前页数
 					limit: 10 //每次信息条数
 				},
-				// {
-				// 	state: 1,
-				// 	text: '待发货',
-				// 	loadingType: 'more',
-				// 	orderList: [],
-				// 	page: 1, //当前页数
-				// 	limit: 10 //每次信息条数
-				// },
-				// {
-				// 	state: 2,
-				// 	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 //每次信息条数
+				},
 				{
 					state: 3,
-					text: '待评价',
+					text: '待使用',
 					loadingType: 'more',
 					orderList: [],
 					page: 1, //当前页数
@@ -205,587 +120,655 @@
 					limit: 10 //每次信息条数
 				}
 			]
-			this.tabCurrentIndex = 0;
-			// #ifndef MP
+		};
+	},
+
+	onLoad(options) {
+		/**
+		 * 修复app端点击除全部订单外的按钮进入时不加载数据的问题
+		 * 替换onLoad下代码即可
+		 */
+		this.tabCurrentIndex = +options.state;
+		// // #ifndef MP
+		// this.loadData();
+		// // #endif
+		// // #ifdef MP
+		// if (options.state == 0) {
+		// 	this.loadData();
+		// }
+		// // #endif
+	},
+	onShow() {
+		/**
+		 * 修复app端点击除全部订单外的按钮进入时不加载数据的问题
+		 * 替换onLoad下代码即可
+		 */
+		this.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 //每次信息条数
+			// },
+			{
+				state: 3,
+				text: '待使用',
+				loadingType: 'more',
+				orderList: [],
+				page: 1, //当前页数
+				limit: 10 //每次信息条数
+			},
+			{
+				state: 4,
+				text: '已完成',
+				loadingType: 'more',
+				orderList: [],
+				page: 1, //当前页数
+				limit: 10 //每次信息条数
+			}
+		];
+		this.tabCurrentIndex = 0;
+		// #ifndef MP
+		this.loadData();
+		// #endif
+		// #ifdef MP
+		if (options.state == 0) {
 			this.loadData();
-			// #endif
-			// #ifdef MP
-			if (options.state == 0) {
-				this.loadData();
+		}
+		// #endif
+	},
+	// #ifdef APP-PLUS || H5
+	onBackPress(e) {
+		uni.switchTab({
+			url: '/pages/user/user'
+		});
+		return true;
+	},
+	// #endif
+	methods: {
+		sy(e) {
+			console.log(e);
+			uni.navigateTo({
+				url: '/pages/shop/djqQm?id=' + e.order_id
+			});
+		},
+		// 转换金额为数字
+		moneyNum(value) {
+			return +value;
+		},
+		// 确认收货
+		orderTake(item, index) {
+			let obj = this;
+			uni.showModal({
+				title: '是否确认收货?',
+				success: () => {
+					orderTake({
+						uni: item.order_id
+					})
+						.then(e => {
+							obj.navList[obj.tabCurrentIndex].orderList.splice(index, 1);
+							uni.showToast({
+								title: '收货成功'
+							});
+						})
+						.catch(e => {
+							console.log(e);
+						});
+				}
+			});
+		},
+		//跳转到订单详情
+		goToOrderDetail(e) {
+			uni.navigateTo({
+				url: '/pages/order/orderDetail?id=' + e.order_id
+			});
+		},
+		// 申请退款
+		orderRefund(e) {
+			uni.navigateTo({
+				url: '/pages/order/orderRefund?id=' + e.order_id
+			});
+		},
+		// 订单支付
+		orderPay(e) {
+			console.log(e);
+			uni.navigateTo({
+				url: '/pages/money/pay?type=1&ordid=' + e.order_id + '&money=' + e.pay_price + '&isP=' + (e.combination_id != 0 ? '1' : '0')
+			});
+		},
+		//获取订单列表
+		loadData(source) {
+			//这里是将订单挂载到tab列表下
+			let index = this.tabCurrentIndex;
+			let navItem = this.navList[index];
+			console.log(index, navItem);
+			let state = navItem.state;
+			if (source === 'tabChange' && navItem.loaded === true) {
+				//tab切换只有第一次需要加载数据
+				return;
+			}
+			if (navItem.loadingType === 'loading') {
+				//防止重复加载
+				return;
 			}
-			// #endif
+			if (navItem.loadingType === 'noMore') {
+				//防止重复加载
+				return;
+			}
+			// 修改当前对象状态为加载中
+			navItem.loadingType = 'loading';
+
+			orderList({
+				type: state,
+				page: navItem.page,
+				limit: navItem.limit
+			})
+				.then(({ data }) => {
+					let arr = data.map(e => {
+						let b = this.orderStateExp(e.status);
+						e.stateTip = b.stateTip;
+						e.stateTipColor = b.stateTipColor;
+						return e;
+					});
+					navItem.orderList = navItem.orderList.concat(arr);
+					// 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');
 		},
-		// #ifdef APP-PLUS || H5
-		onBackPress(e) {
-			uni.switchTab({
-				url: '/pages/user/user',
+		//顶部tab点击
+		tabClick(index) {
+			this.tabCurrentIndex = index;
+		},
+		//删除订单
+		deleteOrder(index) {
+			uni.showLoading({
+				title: '请稍后'
 			});
-			return true;
+			setTimeout(() => {
+				this.navList[this.tabCurrentIndex].orderList.splice(index, 1);
+				uni.hideLoading();
+			}, 600);
 		},
-		// #endif
-		methods: {
-			// 转换金额为数字
-			moneyNum(value) {
-				return +value;
-			},
-			// 确认收货
-			orderTake(item, index) {
-				let obj = this;
-				uni.showModal({
-					title: '是否确认收货?',
-					success: () => {
-						orderTake({
-								uni: item.order_id
-							})
+		//取消订单
+		cancelOrder(item) {
+			uni.showModal({
+				title: '订单取消',
+				content: '是否取消订单?',
+				success: e => {
+					if (e.confirm) {
+						uni.showLoading({
+							title: '请稍后'
+						});
+						orderCancel({
+							id: item.order_id
+						})
 							.then(e => {
-								obj.navList[obj.tabCurrentIndex].orderList.splice(index, 1);
 								uni.showToast({
-									title: '收货成功'
+									title: '取消成功',
+									duration: 2000,
+									position: 'top'
 								});
 							})
 							.catch(e => {
 								console.log(e);
 							});
-					}
-				});
-			},
-			//跳转到订单详情
-			goToOrderDetail(e) {
-				uni.navigateTo({
-					url: '/pages/order/orderDetail?id=' + e.order_id
-				});
-			},
-			// 申请退款
-			orderRefund(e) {
-				uni.navigateTo({
-					url: '/pages/order/orderRefund?id=' + e.order_id
-				});
-			},
-			// 订单支付
-			orderPay(e) {
-				console.log(e)
-				uni.navigateTo({
-					url: '/pages/money/pay?type=1&ordid=' + e.order_id + '&money=' + e.pay_price + '&isP=' + (e
-						.combination_id != 0 ? '1' : '0')
-				});
-			},
-			//获取订单列表
-			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;
-				}
-				if (navItem.loadingType === 'noMore') {
-					//防止重复加载
-					return;
-				}
-				// 修改当前对象状态为加载中
-				navItem.loadingType = 'loading';
-
-				orderList({
-						type: state,
-						page: navItem.page,
-						limit: navItem.limit
-					})
-					.then(({
-						data
-					}) => {
-						let arr = data.map(e => {
-							let b = this.orderStateExp(e.status);
-							e.stateTip = b.stateTip;
-							e.stateTipColor = b.stateTipColor;
-							return e;
-						});
-						navItem.orderList = navItem.orderList.concat(arr);
-						// console.log(navItem.orderList);
-						navItem.page++;
-						if (navItem.limit == data.length) {
-							//判断是否还有数据, 有改为 more, 没有改为noMore
-							navItem.loadingType = 'more';
-							return;
-						} else {
-							//判断是否还有数据, 有改为 more, 没有改为noMore
-							navItem.loadingType = 'noMore';
-						}
+						//取消订单后删除待付款中该项
+						let list = this.navList[this.tabCurrentIndex].orderList;
+						let index = list.findIndex(val => val.id === item.id);
+						index !== -1 && list.splice(index, 1);
 						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;
-			},
-			//删除订单
-			deleteOrder(index) {
-				uni.showLoading({
-					title: '请稍后'
-				});
-				setTimeout(() => {
-					this.navList[this.tabCurrentIndex].orderList.splice(index, 1);
-					uni.hideLoading();
-				}, 600);
-			},
-			//取消订单
-			cancelOrder(item) {
-				uni.showModal({
-					title: '订单取消',
-					content: '是否取消订单?',
-					success: e => {
-						if (e.confirm) {
-							uni.showLoading({
-								title: '请稍后'
-							});
-							orderCancel({
-									id: item.order_id
-								})
-								.then(e => {
-									uni.showToast({
-										title: '取消成功',
-										duration: 2000,
-										position: 'top'
-									});
-								})
-								.catch(e => {
-									console.log(e);
-								});
-							//取消订单后删除待付款中该项
-							let list = this.navList[this.tabCurrentIndex].orderList;
-							let index = list.findIndex(val => val.id === item.id);
-							index !== -1 && list.splice(index, 1);
-							uni.hideLoading();
-						}
 					}
-				});
-			},
-
-			//订单状态文字和颜色
-			orderStateExp(state) {
-				let stateTip = '',
-					stateTipColor = '#fa436a';
-				switch (+state) {
-					case 0:
-						stateTip = '待付款';
-						break;
-					case 1:
-						stateTip = '待发货';
-						break;
-					case 2:
-						stateTip = '待收货';
-						break;
-					case 3:
-						stateTip = '待评价';
-						break;
-					case 4:
-						stateTip = '已完成';
-						stateTipColor = '#5dbc7c';
-						break;
-					case 9:
-						stateTip = '订单已关闭';
-						stateTipColor = '#909399';
-						break;
-
-						//更多自定义
 				}
-				return {
-					stateTip,
-					stateTipColor
-				};
+			});
+		},
+
+		//订单状态文字和颜色
+		orderStateExp(state) {
+			let stateTip = '',
+				stateTipColor = '#fa436a';
+			switch (+state) {
+				case 0:
+					stateTip = '待付款';
+					break;
+				case 1:
+					stateTip = '待发货';
+					break;
+				case 2:
+					stateTip = '待收货';
+					break;
+				case 3:
+					stateTip = '待使用';
+					break;
+				case 4:
+					stateTip = '已完成';
+					stateTipColor = '#5dbc7c';
+					break;
+				case 9:
+					stateTip = '订单已关闭';
+					stateTipColor = '#909399';
+					break;
+
+				//更多自定义
 			}
+			return {
+				stateTip,
+				stateTipColor
+			};
 		}
-	};
+	}
+};
 </script>
 
 <style lang="scss">
-	page,
-	.content {
-		background: $page-color-base;
+page,
+.content {
+	background: $page-color-base;
+	height: 100%;
+}
+
+.swiper-box {
+	height: calc(100% - 40px);
+}
+
+.list-scroll-content {
+	height: 100%;
+}
+
+.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;
 
-	.swiper-box {
-		height: calc(100% - 40px);
-	}
+		&.current {
+			color: $base-color;
 
-	.list-scroll-content {
-		height: 100%;
+			&:after {
+				content: '';
+				position: absolute;
+				left: 50%;
+				bottom: 0;
+				transform: translateX(-50%);
+				width: 44px;
+				height: 0;
+				border-bottom: 2px solid $base-color;
+			}
+		}
 	}
+}
+
+.uni-swiper-item {
+	height: auto;
+}
 
-	.navbar {
+.order-item {
+	display: flex;
+	flex-direction: column;
+	padding-left: 30rpx;
+	background: #fff;
+	margin-top: 16rpx;
+
+	.i-top {
 		display: flex;
-		height: 40px;
-		padding: 0 5px;
-		background: #fff;
-		box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
+		align-items: center;
+		height: 80rpx;
+		padding-right: 30rpx;
+		font-size: $font-base;
+		color: $font-color-dark;
 		position: relative;
-		z-index: 10;
 
-		.nav-item {
+		.time {
 			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;
-				}
-			}
 		}
-	}
-
-	.uni-swiper-item {
-		height: auto;
-	}
 
-	.order-item {
-		display: flex;
-		flex-direction: column;
-		padding-left: 30rpx;
-		background: #fff;
-		margin-top: 16rpx;
+		.state {
+			color: $base-color;
+		}
 
-		.i-top {
-			display: flex;
-			align-items: center;
-			height: 80rpx;
-			padding-right: 30rpx;
-			font-size: $font-base;
-			color: $font-color-dark;
+		.del-btn {
+			padding: 10rpx 0 10rpx 36rpx;
+			font-size: $font-lg;
+			color: $font-color-light;
 			position: relative;
 
-			.time {
-				flex: 1;
+			&:after {
+				content: '';
+				width: 0;
+				height: 30rpx;
+				border-left: 1px solid $border-color-dark;
+				position: absolute;
+				left: 20rpx;
+				top: 50%;
+				transform: translateY(-50%);
 			}
+		}
+	}
 
-			.state {
-				color: $base-color;
-			}
+	/* 多条商品 */
+	.goods-box {
+		height: 160rpx;
+		padding: 20rpx 0;
+		white-space: nowrap;
+
+		.goods-item {
+			width: 120rpx;
+			height: 120rpx;
+			display: inline-block;
+			margin-right: 24rpx;
+		}
 
-			.del-btn {
-				padding: 10rpx 0 10rpx 36rpx;
-				font-size: $font-lg;
-				color: $font-color-light;
-				position: relative;
-
-				&:after {
-					content: '';
-					width: 0;
-					height: 30rpx;
-					border-left: 1px solid $border-color-dark;
-					position: absolute;
-					left: 20rpx;
-					top: 50%;
-					transform: translateY(-50%);
-				}
-			}
+		.goods-img {
+			display: block;
+			width: 100%;
+			height: 100%;
 		}
+	}
 
-		/* 多条商品 */
-		.goods-box {
-			height: 160rpx;
-			padding: 20rpx 0;
-			white-space: nowrap;
-
-			.goods-item {
-				width: 120rpx;
-				height: 120rpx;
-				display: inline-block;
-				margin-right: 24rpx;
-			}
+	/* 单条商品 */
+	.goods-box-single {
+		display: flex;
+		padding: 20rpx 0;
 
-			.goods-img {
-				display: block;
-				width: 100%;
-				height: 100%;
-			}
+		.goods-img {
+			display: block;
+			width: 120rpx;
+			height: 120rpx;
 		}
 
-		/* 单条商品 */
-		.goods-box-single {
+		.right {
+			flex: 1;
 			display: flex;
-			padding: 20rpx 0;
+			flex-direction: column;
+			padding: 0 30rpx 0 24rpx;
+			overflow: hidden;
 
-			.goods-img {
-				display: block;
-				width: 120rpx;
-				height: 120rpx;
+			.row {
+				margin-top: 10rpx;
 			}
 
-			.right {
-				flex: 1;
-				display: flex;
-				flex-direction: column;
-				padding: 0 30rpx 0 24rpx;
-				overflow: hidden;
-
-				.row {
-					margin-top: 10rpx;
-				}
-
-				.row_title {
-					padding: 5rpx 10rpx;
-					background-color: #dddddd;
-					border-radius: 10rpx;
-					font-size: 22rpx;
-					color: #ffffff;
-				}
-
-				.title {
-					font-size: $font-base + 2rpx;
-					color: $font-color-dark;
-					line-height: 1;
-					width: 80%;
-				}
-
-				.attr-box {
-					display: flex;
-					justify-content: flex-end;
-					font-size: $font-sm + 2rpx;
-					color: $font-color-light;
-				}
-
-				.price {
-					display: inline;
-					font-size: $font-base + 2rpx;
-					color: $font-color-dark;
-
-					&:before {
-						content: '¥';
-						font-size: $font-sm;
-
-					}
-				}
+			.row_title {
+				padding: 5rpx 10rpx;
+				background-color: #dddddd;
+				border-radius: 10rpx;
+				font-size: 22rpx;
+				color: #ffffff;
 			}
-		}
 
-		.price-box {
-			display: flex;
-			justify-content: flex-end;
-			align-items: baseline;
-			padding: 20rpx 30rpx;
-			font-size: $font-sm + 2rpx;
-			color: $font-color-light;
-
-			.num {
-				margin: 0 8rpx;
+			.title {
+				font-size: $font-base + 2rpx;
 				color: $font-color-dark;
+				line-height: 1;
+				width: 80%;
+			}
+
+			.attr-box {
+				display: flex;
+				justify-content: flex-end;
+				font-size: $font-sm + 2rpx;
+				color: $font-color-light;
 			}
 
 			.price {
-				font-size: $font-lg;
+				display: inline;
+				font-size: $font-base + 2rpx;
 				color: $font-color-dark;
 
 				&:before {
 					content: '¥';
 					font-size: $font-sm;
-					margin: 0 2rpx 0 8rpx;
 				}
 			}
 		}
+	}
 
-		.action-box {
-			display: flex;
-			justify-content: flex-end;
-			align-items: center;
-			height: 100rpx;
-			position: relative;
-			padding-right: 30rpx;
+	.price-box {
+		display: flex;
+		justify-content: flex-end;
+		align-items: baseline;
+		padding: 20rpx 30rpx;
+		font-size: $font-sm + 2rpx;
+		color: $font-color-light;
+
+		.num {
+			margin: 0 8rpx;
+			color: $font-color-dark;
 		}
 
-		.action-btn {
-			width: 160rpx;
-			height: 60rpx;
-			margin: 0;
-			margin-left: 24rpx;
-			padding: 0;
-			text-align: center;
-			line-height: 60rpx;
-			font-size: $font-sm + 2rpx;
+		.price {
+			font-size: $font-lg;
 			color: $font-color-dark;
-			background: #fff;
-			border-radius: 100px;
-
-			&:after {
-				border-radius: 100px;
-			}
-
-			&.recom {
-				color: $base-color;
-
-				&:after {
-					border-color: $base-color;
-				}
-			}
-
-			&.evaluate {
-				color: $color-yellow;
 
-				&:after {
-					border-color: $color-yellow;
-				}
+			&:before {
+				content: '¥';
+				font-size: $font-sm;
+				margin: 0 2rpx 0 8rpx;
 			}
 		}
 	}
 
-	/* load-more */
-	.uni-load-more {
+	.action-box {
 		display: flex;
-		flex-direction: row;
-		height: 80rpx;
+		justify-content: flex-end;
 		align-items: center;
-		justify-content: center;
-	}
-
-	.uni-load-more__text {
-		font-size: 28rpx;
-		color: #999;
-	}
-
-	.uni-load-more__img {
-		height: 24px;
-		width: 24px;
-		margin-right: 10px;
-	}
-
-	.uni-load-more__img>view {
-		position: absolute;
-	}
-
-	.uni-load-more__img>view view {
-		width: 6px;
-		height: 2px;
-		border-top-left-radius: 1px;
-		border-bottom-left-radius: 1px;
-		background: #999;
-		position: absolute;
-		opacity: 0.2;
-		transform-origin: 50%;
-		animation: load 1.56s ease infinite;
-	}
-
-	.uni-load-more__img>view view:nth-child(1) {
-		transform: rotate(90deg);
-		top: 2px;
-		left: 9px;
-	}
-
-	.uni-load-more__img>view view:nth-child(2) {
-		transform: rotate(180deg);
-		top: 11px;
-		right: 0;
-	}
-
-	.uni-load-more__img>view view:nth-child(3) {
-		transform: rotate(270deg);
-		bottom: 2px;
-		left: 9px;
-	}
-
-	.uni-load-more__img>view view:nth-child(4) {
-		top: 11px;
-		left: 0;
-	}
-
-	.load1,
-	.load2,
-	.load3 {
-		height: 24px;
-		width: 24px;
-	}
-
-	.load2 {
-		transform: rotate(30deg);
-	}
-
-	.load3 {
-		transform: rotate(60deg);
-	}
-
-	.load1 view:nth-child(1) {
-		animation-delay: 0s;
-	}
-
-	.load2 view:nth-child(1) {
-		animation-delay: 0.13s;
-	}
-
-	.load3 view:nth-child(1) {
-		animation-delay: 0.26s;
-	}
-
-	.load1 view:nth-child(2) {
-		animation-delay: 0.39s;
+		height: 100rpx;
+		position: relative;
+		padding-right: 30rpx;
 	}
 
-	.load2 view:nth-child(2) {
-		animation-delay: 0.52s;
-	}
+	.action-btn {
+		width: 160rpx;
+		height: 60rpx;
+		margin: 0;
+		margin-left: 24rpx;
+		padding: 0;
+		text-align: center;
+		line-height: 60rpx;
+		font-size: $font-sm + 2rpx;
+		color: $font-color-dark;
+		background: #fff;
+		border-radius: 100px;
 
-	.load3 view:nth-child(2) {
-		animation-delay: 0.65s;
-	}
+		&:after {
+			border-radius: 100px;
+		}
 
-	.load1 view:nth-child(3) {
-		animation-delay: 0.78s;
-	}
+		&.recom {
+			color: $base-color;
 
-	.load2 view:nth-child(3) {
-		animation-delay: 0.91s;
-	}
-
-	.load3 view:nth-child(3) {
-		animation-delay: 1.04s;
-	}
+			&:after {
+				border-color: $base-color;
+			}
+		}
 
-	.load1 view:nth-child(4) {
-		animation-delay: 1.17s;
-	}
+		&.evaluate {
+			color: $color-yellow;
 
-	.load2 view:nth-child(4) {
-		animation-delay: 1.3s;
+			&:after {
+				border-color: $color-yellow;
+			}
+		}
 	}
-
-	.load3 view:nth-child(4) {
-		animation-delay: 1.43s;
+}
+
+/* load-more */
+.uni-load-more {
+	display: flex;
+	flex-direction: row;
+	height: 80rpx;
+	align-items: center;
+	justify-content: center;
+}
+
+.uni-load-more__text {
+	font-size: 28rpx;
+	color: #999;
+}
+
+.uni-load-more__img {
+	height: 24px;
+	width: 24px;
+	margin-right: 10px;
+}
+
+.uni-load-more__img > view {
+	position: absolute;
+}
+
+.uni-load-more__img > view view {
+	width: 6px;
+	height: 2px;
+	border-top-left-radius: 1px;
+	border-bottom-left-radius: 1px;
+	background: #999;
+	position: absolute;
+	opacity: 0.2;
+	transform-origin: 50%;
+	animation: load 1.56s ease infinite;
+}
+
+.uni-load-more__img > view view:nth-child(1) {
+	transform: rotate(90deg);
+	top: 2px;
+	left: 9px;
+}
+
+.uni-load-more__img > view view:nth-child(2) {
+	transform: rotate(180deg);
+	top: 11px;
+	right: 0;
+}
+
+.uni-load-more__img > view view:nth-child(3) {
+	transform: rotate(270deg);
+	bottom: 2px;
+	left: 9px;
+}
+
+.uni-load-more__img > view view:nth-child(4) {
+	top: 11px;
+	left: 0;
+}
+
+.load1,
+.load2,
+.load3 {
+	height: 24px;
+	width: 24px;
+}
+
+.load2 {
+	transform: rotate(30deg);
+}
+
+.load3 {
+	transform: rotate(60deg);
+}
+
+.load1 view:nth-child(1) {
+	animation-delay: 0s;
+}
+
+.load2 view:nth-child(1) {
+	animation-delay: 0.13s;
+}
+
+.load3 view:nth-child(1) {
+	animation-delay: 0.26s;
+}
+
+.load1 view:nth-child(2) {
+	animation-delay: 0.39s;
+}
+
+.load2 view:nth-child(2) {
+	animation-delay: 0.52s;
+}
+
+.load3 view:nth-child(2) {
+	animation-delay: 0.65s;
+}
+
+.load1 view:nth-child(3) {
+	animation-delay: 0.78s;
+}
+
+.load2 view:nth-child(3) {
+	animation-delay: 0.91s;
+}
+
+.load3 view:nth-child(3) {
+	animation-delay: 1.04s;
+}
+
+.load1 view:nth-child(4) {
+	animation-delay: 1.17s;
+}
+
+.load2 view:nth-child(4) {
+	animation-delay: 1.3s;
+}
+
+.load3 view:nth-child(4) {
+	animation-delay: 1.43s;
+}
+
+@-webkit-keyframes load {
+	0% {
+		opacity: 1;
 	}
 
-	@-webkit-keyframes load {
-		0% {
-			opacity: 1;
-		}
-
-		100% {
-			opacity: 0.2;
-		}
+	100% {
+		opacity: 0.2;
 	}
+}
 </style>

+ 171 - 142
pages/shop/djqQm.vue

@@ -1,169 +1,198 @@
 <template>
 	<view class="content">
-		<view class="" style="height: 87rpx;">
-
-		</view>
-		<view class="djq-wrap">
-			<view class="djq-top flex f-d-c f-j-c">
-				<view class="djq-name">
-					地锅传奇50元代金券
-				</view>
-				<view class="djq-time">
-					有效期至2022-12-30 23:00:00
-				</view>
-			</view>
-			<view class="djq-body">
-				<view class="ewm">
-					<tki-qrcode :cid="cid" ref="qrcode" :val="val" :size="size" :unit="unit" :background="background"
-						:foreground="foreground" :pdground="pdground" :iconSize="iconSize" :lv="lv" :onval="onval"
-						:loadMake="loadMake" :usingComponents="usingComponents" @result="qrR" />
+		<swiper :indicator-dots="true" class="box">
+			<swiper-item class="djq-wrap" v-for="(item, index) in list">
+				<view>
+					<view class="djq-top flex f-d-c f-j-c">
+						<view class="djq-name">{{ item.coupon_title }}</view>
+						<view class="djq-time">{{ item.end_time == 0 ? '永久有效' : '有效期至' + item.end_time }}</view>
+					</view>
+					<view class="djq-body">
+						<view class="used" v-if="item.status == 1"><image src="../../static/img/ysy.png" mode=""></image></view>
+						<view class="used" v-if="item.status == 2"><image src="../../static/img/ygq.png" mode=""></image></view>
+						<view class="ewm">
+							<tki-qrcode
+								:cid="cid"
+								ref="qrcode"
+								:val="item.code"
+								:size="size"
+								:unit="unit"
+								:background="background"
+								:foreground="foreground"
+								:pdground="pdground"
+								:iconSize="iconSize"
+								:lv="lv"
+								:onval="onval"
+								:loadMake="loadMake"
+								:usingComponents="usingComponents"
+								@result="qrR"
+							/>
+						</view>
+						<view class="ewm-code">{{ item.code }}</view>
+					</view>
 				</view>
-				<view class="ewm-code">
-					10250035810
-				</view>
-			</view>
-		</view>
-
+			</swiper-item>
+		</swiper>
 	</view>
 </template>
 
 <script>
-	import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue';
-	export default {
-		components: {
-			tkiQrcode
-		},
-		data() {
-			return {
-				cid: 'tki-qrcode-canvas', //canvasId,页面存在多个二维码组件时需设置不同的ID
-				size: 440, //生成的二维码大小
-				unit: 'upx', //大小单位尺寸
-				show: true, //默认使用组件中的image标签显示二维码
-				val: '要生成的内容', //要生成的内容
-				background: '#ffffff', //二维码背景色
-				foreground: '#333333', //二维码前景色
-				pdground: '#333333', //二维码角标色
-				icon: '', //二维码图标URL(必须是本地图片,网络图需要先下载至本地)
-				iconSize: 40, //二维码图标大小
-				lv: 3, //容错级别
-				onval: true, //监听val值变化自动重新生成二维码
-				loadMake: true, //组件初始化完成后自动生成二维码,val需要有值
-				usingComponents: false, //是否使用了自定义组件模式(主要是为了修复非自定义组件模式时 v-if 无法生成二维码的问题)
-				showLoading: false, //是否显示loading
-				loadingText: '二维码生成中', //loading文字
-				src: '', // 二维码生成后的图片地址或base64
-				ratio: 1, //页面比例用于计算
-				ctxSrc: '', //要显示的图片
-				loading: true, //是否载入图片中
-			}
-		},
-		onLoad() {
-
+import tkiQrcode from '@/components/tki-qrcode/tki-qrcode.vue';
+import { view_order } from '@/api/order.js';
+export default {
+	components: {
+		tkiQrcode
+	},
+	data() {
+		return {
+			list: [],
+			id: '',
+			cid: 'tki-qrcode-canvas', //canvasId,页面存在多个二维码组件时需设置不同的ID
+			size: 440, //生成的二维码大小
+			unit: 'upx', //大小单位尺寸
+			show: true, //默认使用组件中的image标签显示二维码
+			background: '#ffffff', //二维码背景色
+			foreground: '#333333', //二维码前景色
+			pdground: '#333333', //二维码角标色
+			icon: '', //二维码图标URL(必须是本地图片,网络图需要先下载至本地)
+			iconSize: 40, //二维码图标大小
+			lv: 3, //容错级别
+			onval: true, //监听val值变化自动重新生成二维码
+			loadMake: true, //组件初始化完成后自动生成二维码,val需要有值
+			usingComponents: false, //是否使用了自定义组件模式(主要是为了修复非自定义组件模式时 v-if 无法生成二维码的问题)
+			showLoading: false, //是否显示loading
+			loadingText: '二维码生成中', //loading文字
+			src: '', // 二维码生成后的图片地址或base64
+			ratio: 1, //页面比例用于计算
+			ctxSrc: '', //要显示的图片
+			loading: true //是否载入图片中
+		};
+	},
+	onLoad(opt) {
+		this.id = opt.id;
+		this.loadData();
+	},
+	onShow() {},
+	onReachBottom() {},
+	onReady() {},
+	methods: {
+		loadData() {
+			const obj = this;
+			view_order({
+				order_id: this.id
+			}).then(({ data }) => {
+				this.list = data.coupon;
+				console.log(this.list);
+			});
 		},
-		onShow() {
-
-		},
-		onReachBottom() {
-
-		},
-		onReady() {
-
-		},
-		methods: {
-
-		}
+		qrR() {}
 	}
+};
 </script>
 
 <style lang="scss">
-	page {
-		height: 100%;
-		background-color: #f9e24f;
-	}
-
-	.djq-wrap {
-		width: 696rpx;
-
-		background-color: #fff;
-		position: relative;
-		margin: auto;
-
-		.djq-top {
-			height: 185rpx;
-			background: #F5F5F5;
-			overflow: hidden;
-
-			.djq-name {
-				font-size: 44rpx;
-				font-weight: bold;
-				color: #222222;
-			}
-
-			.djq-time {
-				font-size: 24rpx;
-				font-weight: 500;
-				color: #686868;
-			}
-
-			&::after,
-			&::before {
-				content: '';
-				height: 120rpx;
-				width: 120rpx;
-				border-radius: 50%;
-				position: absolute;
-				top: -60rpx;
-				background-color: #f9e24f;
-			}
+page {
+	height: 100%;
+	background-color: #f9e24f;
+}
+.box {
+	width: 696rpx;
+	margin: auto;
+	height: 1060rpx;
+}
+.djq-wrap {
+	width: 696rpx;
+	background-color: #fff;
+	position: relative;
+	margin: auto;
+	margin-top: 100rpx;
+	.djq-top {
+		height: 185rpx;
+		background: #f5f5f5;
+		overflow: hidden;
+
+		.djq-name {
+			font-size: 44rpx;
+			font-weight: bold;
+			color: #222222;
+		}
 
-			&::before {
-				left: -60rpx;
-			}
+		.djq-time {
+			font-size: 24rpx;
+			font-weight: 500;
+			color: #686868;
+		}
 
-			&::after {
-				right: -60rpx;
-			}
+		&::after,
+		&::before {
+			content: '';
+			height: 120rpx;
+			width: 120rpx;
+			border-radius: 50%;
+			position: absolute;
+			top: -60rpx;
+			background-color: #f9e24f;
 		}
 
-		.djq-body {
-			height: 770rpx;
-			position: relative;
-			padding-top: 115rpx;
+		&::before {
+			left: -60rpx;
+		}
 
-			&::after,
-			&::before {
-				content: '';
-				height: 120rpx;
-				width: 120rpx;
-				border-radius: 50%;
-				position: absolute;
-				bottom: -60rpx;
-				background-color: #f9e24f;
-			}
+		&::after {
+			right: -60rpx;
+		}
+	}
 
-			&::before {
-				left: -60rpx;
-			}
+	.djq-body {
+		height: 770rpx;
+		position: relative;
+		padding-top: 115rpx;
+
+		&::after,
+		&::before {
+			content: '';
+			height: 120rpx;
+			width: 120rpx;
+			border-radius: 50%;
+			position: absolute;
+			bottom: -60rpx;
+			background-color: #f9e24f;
+		}
 
-			&::after {
-				right: -60rpx;
-			}
+		&::before {
+			left: -60rpx;
+		}
 
-			.ewm {
-				width: 440rpx;
-				height: 440rpx;
-				margin: auto;
-			}
+		&::after {
+			right: -60rpx;
+		}
 
-			.ewm-code {
-				padding-top: 55rpx;
-				font-size: 44rpx;
-				font-weight: bold;
-				color: #333333;
-				text-align: center;
+		.used {
+			position: absolute;
+			top: 0rpx;
+			right: 0rpx;
+			z-index: 99;
+			height: 440rpx;
+			width: 440rpx;
+			image {
+				width: 100%;
+				height: 100%;
 			}
 		}
 
+		.ewm {
+			width: 440rpx;
+			height: 440rpx;
+			margin: auto;
+		}
 
+		.ewm-code {
+			padding-top: 55rpx;
+			font-size: 44rpx;
+			font-weight: bold;
+			color: #333333;
+			text-align: center;
+		}
 	}
+}
 </style>

+ 87 - 81
pages/user/hxjl.vue

@@ -4,27 +4,15 @@
 		<empty v-if="list.length === 0"></empty>
 		<view class="hx-wrap" v-for="item in list">
 			<view class="hx-tit flex">
-				<view class="hx-time">
-					核销时间:2022-06-09 13:00:00
-				</view>
-				<view class="hx-status">
-					已核销
-				</view>
+				<view class="hx-time">核销时间:{{ item.add_time }}</view>
+				<view class="hx-status">已核销</view>
 			</view>
 			<view class="hx-info flex">
-				<view class="user-logo">
-					<image src="../../static/error/missing-face.png" mode=""></image>
-				</view>
+				<view class="user-logo"><image src="../../static/error/missing-face.png" mode=""></image></view>
 				<view class="user-info">
-					<view class="info-name clamp">
-						叶落思晨叶落思晨叶落思晨叶落思晨叶落思晨叶落思晨叶落思晨
-					</view>
-					<view class="info-phone">
-						137****5213
-					</view>
-					<view class="info-info">
-						实付:¥80 数量:1
-					</view>
+					<view class="info-name clamp">{{ item.nickname }}</view>
+					<!-- <view class="info-phone">137****5213</view> -->
+					<view class="info-info">实付:¥{{ item.coupon_price }} 数量:1</view>
 				</view>
 			</view>
 		</view>
@@ -34,86 +22,104 @@
 </template>
 
 <script>
-	import empty from '@/components/empty';
-	export default {
-		components: {
-			empty
-		},
-		data() {
-			return {
-				loadingType: 'more',
-				list: [],
+import empty from '@/components/empty';
+import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
+import { write_off } from '@/api/user.js';
+export default {
+	components: {
+		empty,
+		uniLoadMore
+	},
+	data() {
+		return {
+			loadingType: 'more',
+			list: [],
+			page: 1,
+			limit: 10
+		};
+	},
+	onShow() {
+		this.getList();
+	},
+	onReachBottom() {
+		this.getList();
+	},
+	methods: {
+		getList() {
+			let obj = this;
+			if (obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
+				return;
 			}
-		},
-		onShow() {
-
-		},
-		onReachBottom() {
-			this.getList()
-		},
-		methods: {
-			getList() {
-				let obj = this
-				if (obj.loadingType == 'loading' || obj.loadingType == 'noMore') {
-					return
+			obj.loadingType = 'loading';
+			write_off({
+				page: obj.page,
+				limit: obj.limit
+			}).then(data => {
+				console.log(data, '123456789');
+				obj.list = obj.list.concat(data.data);
+				if (obj.limit == data.data.length) {
+					obj.page++;
+					obj.loadingType = 'more';
+				} else {
+					obj.loadingType = 'nomore';
 				}
-				obj.loadingType = 'loading'
-			}
+			});
 		}
 	}
+};
 </script>
 
 <style lang="scss">
-	.hx-wrap {
-		width: 702rpx;
-		height: 194rpx;
-		background: #FFFFFF;
-		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-		border-radius: 10rpx;
-		margin: 0 auto 17rpx;
-		padding: 30rpx 30rpx 0;
+.hx-wrap {
+	width: 702rpx;
+	height: 194rpx;
+	background: #ffffff;
+	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+	border-radius: 10rpx;
+	margin: 0 auto 17rpx;
+	padding: 30rpx 30rpx 0;
 
-		.hx-tit {
-			font-size: 26rpx;
-			font-weight: 500;
-			color: #999999;
-		}
+	.hx-tit {
+		font-size: 26rpx;
+		font-weight: 500;
+		color: #999999;
+	}
 
-		.hx-info {
-			justify-content: flex-start;
-			padding-top: 20rpx;
+	.hx-info {
+		justify-content: flex-start;
+		padding-top: 20rpx;
 
-			.user-logo {
-				flex-shrink: 0;
+		.user-logo {
+			flex-shrink: 0;
 
-				image {
-					width: 64rpx;
-					height: 64rpx;
-				}
+			image {
+				width: 64rpx;
+				height: 64rpx;
 			}
+		}
 
-			.user-info {
-				padding-left: 26rpx;
-				max-width: 500rpx;
+		.user-info {
+			padding-left: 26rpx;
+			max-width: 500rpx;
 
-				.info-name {
-					font-size: 30rpx;
-					font-weight: bold;
-					color: #333333;
-				}
+			.info-name {
+				font-size: 30rpx;
+				font-weight: bold;
+				color: #333333;
+			}
 
-				.info-phone {
-					font-size: 30rpx;
-					font-weight: 500;
-					color: #666666;
-				}
+			.info-phone {
+				font-size: 30rpx;
+				font-weight: 500;
+				color: #666666;
+			}
 
-				.info-info {
-					font-size: 22rpx;
-					font-weight: 400;
-					color: #999999;
-				}
+			.info-info {
+				font-size: 22rpx;
+				font-weight: 400;
+				color: #999999;
 			}
 		}
 	}
+}
 </style>

+ 0 - 407
pages/user/mygx.vue

@@ -1,407 +0,0 @@
-<template>
-	<view class="content">
-		<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/mygx.png" mode=""></image></view>
-			<view class="money-box">
-				<view class="money">{{ my_point }}</view>
-				<view>我的分红积分</view>
-				<view>1分红积分价值{{ price * 1}}</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-import { spreadCommission, userBalance } from '@/api/wallet.js';
-import { getMoneyStyle } from '@/utils/rocessor.js';
-import { share } from '@/api/user.js';
-import { mapState, mapMutations } from 'vuex';
-import uniLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue';
-import empty from '@/uview-ui/components/u-empty/u-empty.vue';
-export default {
-	filters: {
-		getMoneyStyle
-	},
-	computed: {
-		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
-	},
-	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.height);
-				});
-			},
-			fail: res => {}
-		});
-	},
-	data() {
-		return {
-			// 头部图高度
-			maxheight: '',
-			tabCurrentIndex: 0,
-			price: 0,
-			my_point: 0,
-			navList: [
-				{
-					state: 0,
-					text: '收入',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10, //每次信息条数
-					loaded: false
-				},
-				{
-					state: 1,
-					text: '支出',
-					loadingType: 'more',
-					orderList: [],
-					page: 1, //当前页数
-					limit: 10, //每次信息条数
-					loaded: false
-				}
-			],
-			money: ''
-		};
-	},
-	onLoad(options) {},
-	onShow() {
-		share().then(({data}) =>{
-			this.price = data.price;
-			this.my_point = data.my_point;
-			console.log(data);
-		})
-		this.loadData();
-	},
-	methods: {
-		// 页面跳转
-		navto(e) {
-			uni.navigateTo({
-				url: e
-			});
-		},
-		// 点击返回 我的页面
-		toBack() {
-			uni.navigateBack({});
-		},
-		//获取收入支出信息
-		async loadData(source) {
-			//这里是将订单挂载到tab列表下
-			let index = this.tabCurrentIndex;
-			let navItem = this.navList[index];
-			let state = navItem.state + 3;
-			if (source == 'tabChange' && navItem.loaded == true) {
-				//tab切换只有第一次需要加载数据
-				return;
-			}
-			if (navItem.loadingType == 'loading' || navItem.loadingType == 'noMore') {
-				//防止重复加载
-				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: #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%;
-		}
-	}
-
-	.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;
-		}
-	}
-
-	.shu {
-		width: 2rpx;
-		height: 74rpx;
-		background: #dcdfe6;
-	}
-}
-
-.money-box {
-	position: relative;
-	z-index: 2;
-	padding-top: 90rpx;
-	color: #ffffff;
-	text-align: center;
-
-	.money {
-		font-size: 72rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #ffffff;
-	}
-
-	.text {
-		font-size: 30rpx;
-	}
-}
-
-.money-btn {
-	position: relative;
-	z-index: 2;
-	color: #ffffff;
-	padding-right: 50rpx;
-	text-align: right;
-	font-size: 30rpx;
-	font-family: PingFang SC;
-	font-weight: bold;
-	color: #ffffff;
-
-	text {
-		display: inline-block;
-		padding-left: 10rpx;
-	}
-}
-
-.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;
-		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;
-			}
-
-			.time {
-				font-size: $font-base;
-				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;
-	}
-}
-
-.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>

+ 688 - 590
pages/user/user.vue

@@ -1,13 +1,9 @@
 <template>
 	<view class="container">
 		<view class="vheigh"></view>
-		<view class="top-image">
-			<image src="../../static/user/user-top.png" mode=""></image>
-		</view>
+		<view class="top-image"><image src="../../static/user/user-top.png" mode=""></image></view>
 		<view class="user-set flex">
-			<view class="set-logo" @click="navTo('/pages/set/userinfo')">
-				<!-- <image src="../../static/user/user1.png" mode=""></image> -->
-			</view>
+			<view class="set-logo" @click="navTo('/pages/set/userinfo')"><!-- <image src="../../static/user/user1.png" mode=""></image> --></view>
 		</view>
 		<view class="user-wrap">
 			<view class="info-left flex">
@@ -22,50 +18,42 @@
 					</view>
 				</view>
 				<view class="kpi" v-if="userInfo.level > 1">
-					<image src="../../static/icon/u-v.png" mode="widthFix"></image>会员VIP
+					<image src="../../static/icon/u-v.png" mode="widthFix"></image>
+					会员VIP
 				</view>
 			</view>
 			<view class="main-box">
 				<view class="main flex">
 					<view class="item" @click="navTo('/pages/money/wallet')">
-						<view class="item-num">{{ userInfo.sp_final || 0}}</view>
+						<view class="item-num">{{ userInfo.sp_final || 0 }}</view>
 						<view class="item-font">我的钱包</view>
 					</view>
 					<view class="" style="width: 1rpx;height: 100rpx;background: #EEEEEE;"></view>
 					<view class="item" @click="navTo('/pages/user/award')">
-						<view class="item-num">{{userInfo.top_ticket || 0}}</view>
+						<view class="item-num">{{ userInfo.top_ticket || 0 }}</view>
 						<view class="item-font">我的佣金</view>
 					</view>
 					<view class="" style="width: 1rpx;height: 100rpx;background: #EEEEEE;"></view>
 					<view class="item" @click="navTo('/pages/user/team')">
-						<view class="item-num">{{userInfo.aid_val || 0}}</view>
+						<view class="item-num">{{ userInfo.aid_val || 0 }}</view>
 						<view class="item-font">我的推广</view>
 					</view>
 				</view>
 			</view>
-			<view class="shenqing" @click="shareLL">
-				<image src="../../static/user/shenqing.png" mode="heightFix"></image>
-			</view>
+			<!-- <view class="shenqing" @click="shareLL"><image src="../../static/user/shenqing.png" mode="heightFix"></image></view> -->
 		</view>
 
 		<uni-list class="tool-list">
-			<!-- <uni-list-item title="卷码核销" @click="navTo('/pages/user/shareQrCode')" thumb="/static/user/user1.png">
-			</uni-list-item>
-			<uni-list-item title="核销历史" @click="navTo('/pages/user/hxjl')" thumb="/static/user/user2.png">
-			</uni-list-item> -->
-			<uni-list-item title="邀请有礼" @click="navTo('/pages/user/shareQrCode')" thumb="/static/user/user3.png">
-			</uni-list-item>
-			<uni-list-item title="我的收藏" @click="navTo('/pages/user/favorites')" thumb="/static/user/user4.png">
-			</uni-list-item>
+			<uni-list-item v-if="userInfo.clerk_type == 1" title="券码核销" @click="shao()" thumb="/static/user/user1.png"></uni-list-item>
+			<uni-list-item v-if="userInfo.clerk_type == 1" title="核销历史" @click="navTo('/pages/user/hxjl')" thumb="/static/user/user2.png"></uni-list-item>
+			<uni-list-item title="邀请有礼" @click="navTo('/pages/user/shareQrCode')" thumb="/static/user/user3.png"></uni-list-item>
+			<uni-list-item title="我的收藏" @click="navTo('/pages/user/favorites')" thumb="/static/user/user4.png"></uni-list-item>
 			<uni-list-item title="客服中心" @click="openKf()" thumb="/static/user/user5.png"></uni-list-item>
-			<uni-list-item title="设置" @click="navTo('/pages/set/userinfo')" thumb="/static/user/user6.png">
-			</uni-list-item>
+			<uni-list-item title="设置" @click="navTo('/pages/set/userinfo')" thumb="/static/user/user6.png"></uni-list-item>
 		</uni-list>
 		<uni-popup ref="popupkf" type="center">
 			<view class="popup-box">
-				<view class="img">
-					<image src="../../static/img/img009.png" mode=""></image>
-				</view>
+				<view class="img"><image src="../../static/img/img009.png" mode=""></image></view>
 				<view class="mian">
 					<view class="delivery">
 						<view class="title">已经为您定制专属客服</view>
@@ -79,677 +67,787 @@
 				</view>
 			</view>
 		</uni-popup>
+		<uni-popup ref="popuphx" class="agree-wrapper">
+			<view class="hx-wrapper">
+				<view class="hx-img"><image src="../../static/img/hxbg.png" mode=""></image></view>
+				<view class="hx-body">
+					<view class="hx-title">输入核销码核销</view>
+					<input type="text" v-model="code" placeholder="请输入核销码" placeholder-class="hx-placeholder" />
+					<view class="hx-btn" @click="qhx">立即核销</view>
+				</view>
+				<view class="hx-close" @click="close"><image src="../../static/icon/close.png" mode=""></image></view>
+			</view>
+		</uni-popup>
 	</view>
 </template>
 <script>
-	import {
-		tabbar1
-	} from '@/utils/tabbar.js';
-	import {
-		mapState,
-		mapMutations
-	} from 'vuex';
-	import uniList from '@/components/uni-list/uni-list.vue';
-	import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
-	import {
-		orderData,
-		getUserInfo
-	} from '@/api/user.js';
-	import {
-		saveUrl,
-		interceptor
-	} from '@/utils/loginUtils.js';
-	let startY = 0,
-		moveY = 0,
-		pageAtTop = true;
-	export default {
-		components: {
-			uniList,
-			uniListItem
-		},
-		data() {
-			return {
-				current: 4,
-				tabbar: tabbar1,
-				qded: false, //是否已签到
-				text: '', //客服微信
-				today_integral: '', //签到获得的数值
-				today_type: '', //签到获得的数值单位
-				tom_integral: '', //明天签到获得的数值
-				tom_type: '', //签到获得的数值单位
-				userDowm: 0, //卡片升级专属高度
-				userMaxDowm: 0, //卡片最高高度
-				toolList: [{
-						id: 't1',
-						name: '新人通道',
-						width: '56rpx',
-						heigt: '54rpx',
-						img: '../../static/icon/tool-1.png',
-						path: '/pages/user/xrtd'
-					},
-					{
-						id: 't2',
-						name: '邀请好友',
-						width: '56rpx',
-						heigt: '57rpx',
-						img: '../../static/icon/tool-2.png',
-						path: '/pages/user/shareQrCode'
-					},
-					{
-						id: 't3',
-						name: '我的粉丝',
-						width: '68rpx',
-						heigt: '53rpx',
-						img: '../../static/icon/tool-3.png',
-						path: '/pages/user/myfans'
-					},
-					{
-						id: 't4',
-						name: '我的订单',
-						width: '55rpx',
-						heigt: '54rpx',
-						img: '../../static/icon/tool-4.png',
-						path: '/pages/order/order'
-					},
-					{
-						id: 't5',
-						name: '我的商品',
-						width: '50rpx',
-						heigt: '58rpx',
-						img: '../../static/icon/tool-5.png',
-						path: '/pages/order/order'
-					},
-					{
-						id: 't6',
-						name: '馆长申请',
-						width: '59rpx',
-						heigt: '56rpx',
-						img: '../../static/icon/tool-6.png',
-						path: '/pages/user/gzsq'
-					}
-				]
-			};
-		},
-		onShow() {
-			// 判断是否已经登录
-			if (this.hasLogin) {
-				this.loadBaseData();
-			}
+import { tabbar1 } from '@/utils/tabbar.js';
+import { mapState, mapMutations } from 'vuex';
+import uniList from '@/components/uni-list/uni-list.vue';
+import uniListItem from '@/components/uni-list-item/uni-list-item.vue';
+import { orderData, getUserInfo, coupon_verific } from '@/api/user.js';
+import { saveUrl, interceptor } from '@/utils/loginUtils.js';
+let startY = 0,
+	moveY = 0,
+	pageAtTop = true;
+export default {
+	components: {
+		uniList,
+		uniListItem
+	},
+	data() {
+		return {
+			code: '',
+			current: 4,
+			tabbar: tabbar1,
+			qded: false, //是否已签到
+			text: '', //客服微信
+			today_integral: '', //签到获得的数值
+			today_type: '', //签到获得的数值单位
+			tom_integral: '', //明天签到获得的数值
+			tom_type: '', //签到获得的数值单位
+			userDowm: 0, //卡片升级专属高度
+			userMaxDowm: 0, //卡片最高高度
+			toolList: [
+				{
+					id: 't1',
+					name: '新人通道',
+					width: '56rpx',
+					heigt: '54rpx',
+					img: '../../static/icon/tool-1.png',
+					path: '/pages/user/xrtd'
+				},
+				{
+					id: 't2',
+					name: '邀请好友',
+					width: '56rpx',
+					heigt: '57rpx',
+					img: '../../static/icon/tool-2.png',
+					path: '/pages/user/shareQrCode'
+				},
+				{
+					id: 't3',
+					name: '我的粉丝',
+					width: '68rpx',
+					heigt: '53rpx',
+					img: '../../static/icon/tool-3.png',
+					path: '/pages/user/myfans'
+				},
+				{
+					id: 't4',
+					name: '我的订单',
+					width: '55rpx',
+					heigt: '54rpx',
+					img: '../../static/icon/tool-4.png',
+					path: '/pages/order/order'
+				},
+				{
+					id: 't5',
+					name: '我的商品',
+					width: '50rpx',
+					heigt: '58rpx',
+					img: '../../static/icon/tool-5.png',
+					path: '/pages/order/order'
+				},
+				{
+					id: 't6',
+					name: '馆长申请',
+					width: '59rpx',
+					heigt: '56rpx',
+					img: '../../static/icon/tool-6.png',
+					path: '/pages/user/gzsq'
+				}
+			]
+		};
+	},
+	onShow() {
+		// 判断是否已经登录
+		if (this.hasLogin) {
 			this.loadBaseData();
+		}
+		this.loadBaseData();
+	},
+	onReady() {
+		// 初始化获取页面宽度
+		uni.createSelectorQuery()
+			.select('.container')
+			.fields(
+				{
+					size: true
+				},
+				data => {
+					// 计算最多下拉的高度
+					this.userDowm = Math.floor((data.width / 750) * 185);
+					// 计算最大触发修改高度事件
+					this.userMaxDowm = Math.floor((data.width / 750) * 250);
+				}
+			)
+			.exec();
+	},
+	// #ifndef MP
+	// onNavigationBarButtonTap(e) {
+	// 	const index = e.index;
+	// 	if (index === 0) {
+	// 		this.navTo('/pages/set/set');
+	// 	} else if (index === 1) {
+	// 		// #ifdef APP-PLUS
+	// 		const pages = getCurrentPages();
+	// 		const page = pages[pages.length - 1];
+	// 		const currentWebview = page.$getAppWebview();
+	// 		currentWebview.hideTitleNViewButtonRedDot({
+	// 			index
+	// 		});
+	// 		// #endif
+	// 		uni.navigateTo({
+	// 			url: '/pages/user/notice'
+	// 		});
+	// 	}
+	// },
+	// #endif
+	computed: {
+		...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+	},
+	methods: {
+		...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
+		shareLL() {
+			this.$api.msg('功能建设中,敬请期待');
 		},
-		onReady() {
-			// 初始化获取页面宽度
-			uni.createSelectorQuery()
-				.select('.container')
-				.fields({
-						size: true
-					},
-					data => {
-						// 计算最多下拉的高度
-						this.userDowm = Math.floor((data.width / 750) * 185);
-						// 计算最大触发修改高度事件
-						this.userMaxDowm = Math.floor((data.width / 750) * 250);
-					}
-				)
-				.exec();
-		},
-		// #ifndef MP
-		// onNavigationBarButtonTap(e) {
-		// 	const index = e.index;
-		// 	if (index === 0) {
-		// 		this.navTo('/pages/set/set');
-		// 	} else if (index === 1) {
-		// 		// #ifdef APP-PLUS
-		// 		const pages = getCurrentPages();
-		// 		const page = pages[pages.length - 1];
-		// 		const currentWebview = page.$getAppWebview();
-		// 		currentWebview.hideTitleNViewButtonRedDot({
-		// 			index
-		// 		});
-		// 		// #endif
-		// 		uni.navigateTo({
-		// 			url: '/pages/user/notice'
-		// 		});
-		// 	}
-		// },
-		// #endif
-		computed: {
-			...mapState('user', ['userInfo', 'orderInfo', 'hasLogin'])
+		comfirm(text) {
+			console.log(text);
+			const result = this.uniCopy(text);
+			if (result === false) {
+				uni.showToast({
+					title: '不支持'
+				});
+			} else {
+				uni.showToast({
+					title: '复制成功',
+					icon: 'none'
+				});
+			}
+			this.$refs.popupkf.close();
 		},
-		methods: {
-			...mapMutations('user', ['setUserInfo', 'setOrderInfo']),
-			shareLL() {
-				this.$api.msg('功能建设中,敬请期待')
-			},
-			comfirm(text) {
-				console.log(text);
-				const result = this.uniCopy(text);
-				if (result === false) {
-					uni.showToast({
-						title: '不支持'
-					});
-				} else {
-					uni.showToast({
-						title: '复制成功',
-						icon: 'none'
-					});
+		shao() {
+			let obj = this;
+			// #ifndef H5
+			uni.scanCode({
+				success(e) {
+					obj.code = e.result;
+					obj.$refs.popuphx.open();
 				}
-				this.$refs.popupkf.close();
-			},
-			uniCopy(content) {
-				/**
-				 * 小程序端 和 app端的复制逻辑
-				 */
-				//#ifndef H5
-				uni.setClipboardData({
-					data: content,
-					success: function() {
-						console.log('success');
-						return true;
-					}
-				});
-				//#endif
-
-				/**
-				 * H5端的复制逻辑
-				 */
-				// #ifdef H5
-				if (!document.queryCommandSupported('copy')) {
-					//为了兼容有些浏览器 queryCommandSupported 的判断
-					// 不支持
-					return false;
+			});
+			// #endif
+			// #ifdef H5
+			this.weichatObj.scanQRCode({
+				needResult: 1, // 默认为0,扫描结果由微信处理,1则直接返回扫描结果,
+				scanType: ['qrCode', 'barCode'], // 可以指定扫二维码还是一维码,默认二者都有
+				success: function(res) {
+					obj.code = res.resultStr; // 当needResult 为 1 时,扫码返回的结果
+					obj.$refs.popuphx.open();
 				}
-				let textarea = document.createElement('textarea');
-				textarea.value = content;
-				textarea.readOnly = 'readOnly';
-				document.body.appendChild(textarea);
-				textarea.select(); // 选择对象
-				textarea.setSelectionRange(0, content.length); //核心
-				let result = document.execCommand('copy'); // 执行浏览器复制命令
-				textarea.remove();
-				return result;
-				// #endif
-			},
-			// 加载初始数据
-			loadBaseData() {
-				getUserInfo({})
-					.then(({
-						data
-					}) => {
-						this.setUserInfo(data);
-						// 获取用户数据完毕后在获取订单数据防止多次跳转到登录页
-						orderData({})
-							.then(({
-								data
-							}) => {
-								this.setOrderInfo(data);
-							})
-							.catch(e => {
-								this.setOrderInfo({
-									complete_count: 0, //完成
-									received_count: 0, //待收货
-									unshipped_count: 0, //待发货
-									order_count: 0, //订单总数
-									unpaid_count: 0 //待付款
-								});
-							});
-					})
-					.catch(e => {
-						console.log(e);
-					});
-			},
+			});
+			// #endif
+		},
+		qhx() {
+			coupon_verific({
+				verify_code: this.code
+			})
+				.then(e => {
+					this.$api.msg('核销成功');
+					console.log(e);
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
+		close() {
+			this.$refs.popuphx.close();
+			this.code = '';
+		},
+		uniCopy(content) {
 			/**
-			 * 统一跳转接口,拦截未登录路由
-			 * navigator标签现在默认没有转场动画,所以用view
+			 * 小程序端 和 app端的复制逻辑
 			 */
-			navTo(url) {
-				console.log(url);
-				if (!this.hasLogin) {
-					// 保存地址
-					saveUrl();
-					// 登录拦截
-					interceptor();
-				} else {
-					uni.navigateTo({
-						url
-					});
+			//#ifndef H5
+			uni.setClipboardData({
+				data: content,
+				success: function() {
+					console.log('success');
+					return true;
 				}
+			});
+			//#endif
 
-				// uni.navigateTo({
-				// 	url
-				// });
-			},
-			useTool(e) {
-				this.navTo(e.path);
-			},
-			// 签到弹窗
-			goQd() {
-				this.$refs.popupqd.open();
-				this.qded = true;
-			},
-			// 关闭签到弹窗
-			closeQd() {
-				this.$refs.popupqd.close();
-			},
-			// 打开客服
-			openKf() {
-				this.$refs.popupkf.open();
-			},
-			// 关闭客服
-			cancel() {
-				this.$refs.popupkf.close();
+			/**
+			 * H5端的复制逻辑
+			 */
+			// #ifdef H5
+			if (!document.queryCommandSupported('copy')) {
+				//为了兼容有些浏览器 queryCommandSupported 的判断
+				// 不支持
+				return false;
 			}
+			let textarea = document.createElement('textarea');
+			textarea.value = content;
+			textarea.readOnly = 'readOnly';
+			document.body.appendChild(textarea);
+			textarea.select(); // 选择对象
+			textarea.setSelectionRange(0, content.length); //核心
+			let result = document.execCommand('copy'); // 执行浏览器复制命令
+			textarea.remove();
+			return result;
+			// #endif
+		},
+		// 加载初始数据
+		loadBaseData() {
+			getUserInfo({})
+				.then(({ data }) => {
+					this.setUserInfo(data);
+					// 获取用户数据完毕后在获取订单数据防止多次跳转到登录页
+					orderData({})
+						.then(({ data }) => {
+							this.setOrderInfo(data);
+						})
+						.catch(e => {
+							this.setOrderInfo({
+								complete_count: 0, //完成
+								received_count: 0, //待收货
+								unshipped_count: 0, //待发货
+								order_count: 0, //订单总数
+								unpaid_count: 0 //待付款
+							});
+						});
+				})
+				.catch(e => {
+					console.log(e);
+				});
+		},
+		/**
+		 * 统一跳转接口,拦截未登录路由
+		 * navigator标签现在默认没有转场动画,所以用view
+		 */
+		navTo(url) {
+			console.log(url);
+			if (!this.hasLogin) {
+				// 保存地址
+				saveUrl();
+				// 登录拦截
+				interceptor();
+			} else {
+				uni.navigateTo({
+					url
+				});
+			}
+
+			// uni.navigateTo({
+			// 	url
+			// });
+		},
+		useTool(e) {
+			this.navTo(e.path);
+		},
+		// 签到弹窗
+		goQd() {
+			this.$refs.popupqd.open();
+			this.qded = true;
+		},
+		// 关闭签到弹窗
+		closeQd() {
+			this.$refs.popupqd.close();
+		},
+		// 打开客服
+		openKf() {
+			this.$refs.popupkf.open();
+		},
+		// 关闭客服
+		cancel() {
+			this.$refs.popupkf.close();
 		}
-	};
+	}
+};
 </script>
 <style lang="scss">
-	%flex-center {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
+%flex-center {
+	display: flex;
+	flex-direction: column;
+	justify-content: center;
+	align-items: center;
+}
+
+%section {
+	display: flex;
+	justify-content: space-around;
+	align-content: center;
+	background: #fff;
+	border-radius: 10rpx;
+}
+
+.container,
+page {
+	min-height: 100%;
+	height: auto;
+	background-color: $page-color-base;
+}
+
+.vheigh {
+	height: var(--status-bar-height);
+	background-color: $base-color;
+}
+
+.top-image {
+	position: absolute;
+	top: 0;
+	left: 0;
+	right: 0;
+	height: 230rpx;
+
+	image {
+		width: 100%;
+		height: 100%;
 	}
-
-	%section {
-		display: flex;
-		justify-content: space-around;
-		align-content: center;
-		background: #fff;
-		border-radius: 10rpx;
-	}
-
-	.container,
-	page {
-		min-height: 100%;
-		height: auto;
-		background-color: $page-color-base;
-	}
-
-	.vheigh {
-		height: var(--status-bar-height);
-		background-color: $base-color;
-	}
-
-	.top-image {
-		position: absolute;
-		top: 0;
+}
+
+.tool-list {
+	width: 690rpx;
+	margin: auto;
+	margin-top: 20rpx;
+	background: #ffffff;
+	box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
+	border-radius: 20rpx;
+}
+
+.popup-box {
+	width: 522rpx;
+	height: 605rpx;
+	background-color: #ffffff;
+	border-radius: 20rpx;
+	position: relative;
+
+	.img {
+		position: relative;
+		top: -56rpx;
 		left: 0;
-		right: 0;
-		height: 230rpx;
+		width: 522rpx;
+		height: 132rpx;
+		display: flex;
+		justify-content: center;
 
 		image {
-			width: 100%;
-			height: 100%;
+			border-radius: 20rpx 20rpx 0 0;
+			width: 450rpx;
+			height: 132rpx;
 		}
 	}
 
-	.tool-list {
-		width: 690rpx;
-		margin: auto;
-		margin-top: 20rpx;
-		background: #ffffff;
-		box-shadow: 0px 0px 20rpx 0px rgba(50, 50, 52, 0.06);
-		border-radius: 20rpx;
-	}
-
-	.popup-box {
-		width: 522rpx;
-		height: 605rpx;
+	.mian {
+		margin-top: -44rpx;
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		// padding: 32rpx 32rpx;
 		background-color: #ffffff;
-		border-radius: 20rpx;
-		position: relative;
+		border-radius: 0 0 20rpx 20rpx;
+		text-align: center;
 
-		.img {
-			position: relative;
-			top: -56rpx;
-			left: 0;
-			width: 522rpx;
-			height: 132rpx;
+		.delivery {
+			font-size: 40rpx;
+			color: #333333;
 			display: flex;
-			justify-content: center;
+			align-items: center;
+			flex-direction: column;
 
 			image {
-				border-radius: 20rpx 20rpx 0 0;
-				width: 450rpx;
-				height: 132rpx;
+				margin-top: 48rpx;
+				width: 172rpx;
+				height: 160rpx;
 			}
 		}
 
-		.mian {
-			margin-top: -44rpx;
+		.nocancel {
+			font-size: 32rpx;
+			color: #333333;
+			margin-top: 14rpx;
+		}
+
+		.comfirm-box {
+			margin-top: 52rpx;
 			display: flex;
-			flex-direction: column;
-			align-items: center;
-			// padding: 32rpx 32rpx;
-			background-color: #ffffff;
-			border-radius: 0 0 20rpx 20rpx;
-			text-align: center;
+			// margin-bottom: 32rpx;
 
-			.delivery {
-				font-size: 40rpx;
-				color: #333333;
+			// justify-content: space-around;
+			.cancel {
 				display: flex;
 				align-items: center;
-				flex-direction: column;
+				justify-content: center;
+				width: 197rpx;
+				height: 74rpx;
+				border: 1px solid #dcc786;
+				border-radius: 38rpx;
 
-				image {
-					margin-top: 48rpx;
-					width: 172rpx;
-					height: 160rpx;
-				}
+				font-size: 32rpx;
+				color: #605128;
 			}
 
-			.nocancel {
+			.comfirm {
+				margin-left: 32rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width: 197rpx;
+				height: 74rpx;
+				background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
+				border-radius: 38px;
 				font-size: 32rpx;
-				color: #333333;
-				margin-top: 14rpx;
+				color: #605128;
 			}
+		}
+	}
+}
 
-			.comfirm-box {
-				margin-top: 52rpx;
-				display: flex;
-				// margin-bottom: 32rpx;
-
-				// justify-content: space-around;
-				.cancel {
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					width: 197rpx;
-					height: 74rpx;
-					border: 1px solid #dcc786;
-					border-radius: 38rpx;
-
-					font-size: 32rpx;
-					color: #605128;
-				}
+.popup {
+	width: 560rpx;
+	padding-bottom: 45rpx;
+	background-color: #ffffff;
+	border-radius: 15rpx;
+	text-align: center;
+	line-height: 1;
 
-				.comfirm {
-					margin-left: 32rpx;
-					display: flex;
-					align-items: center;
-					justify-content: center;
-					width: 197rpx;
-					height: 74rpx;
-					background: linear-gradient(-90deg, #d1ba77 0%, #f7e8ad 100%);
-					border-radius: 38px;
-					font-size: 32rpx;
-					color: #605128;
-				}
-			}
+	.popup-dox {
+		position: relative;
+
+		.popup-logo {
+			margin: -160rpx auto 0;
+			width: 400rpx;
+			height: 200rpx;
 		}
 	}
 
-	.popup {
-		width: 560rpx;
-		padding-bottom: 45rpx;
-		background-color: #ffffff;
-		border-radius: 15rpx;
+	.popup-title {
+		margin-top: 85rpx;
+		font-size: 40rpx;
+		font-family: PingFang SC;
+		font-weight: bold;
+		color: #2a2a2a;
+
+		text {
+			font-size: 56rpx;
+			color: #e83f30;
+		}
+	}
+
+	.popup-tip {
+		margin-top: 20rpx;
+		font-size: 28rpx;
+		font-family: PingFang SC;
+		font-weight: 500;
+		color: #8c8c8c;
+
+		text {
+			color: #e83f30;
+		}
+	}
+
+	.popup-btn {
+		margin: 58rpx auto 0;
+		width: 270rpx;
+		height: 66rpx;
+		background: #f0c838;
+		border-radius: 34rpx;
 		text-align: center;
-		line-height: 1;
+		line-height: 66rpx;
+		font-size: 36rpx;
+		font-family: Source Han Sans CN;
+		font-weight: 500;
+		color: #ffffff;
+	}
+}
+
+.user-wrap {
+	position: relative;
+	z-index: 10;
+	width: 690rpx;
+	// height: 283rpx;
+	background: #ffffff;
+	box-shadow: 0px 4rpx 13rpx 0px rgba(229, 229, 229, 0.46);
+	border-radius: 20rpx;
+	padding: 34rpx 0 0;
+	margin: auto;
+
+	.info-left {
+		padding-left: 34rpx;
+
+		.user-name {
+			display: flex;
+			align-items: center;
 
-		.popup-dox {
-			position: relative;
+			image {
+				width: 120rpx;
+				height: 120rpx;
+				border-radius: 50%;
+			}
+
+			.user-font {
+				padding-left: 34rpx;
+
+				.name {
+					width: 250rpx;
+					font-size: 40rpx;
+					font-family: Source Han Sans CN;
+					font-weight: 400;
+					color: #333333;
+				}
 
-			.popup-logo {
-				margin: -160rpx auto 0;
-				width: 400rpx;
-				height: 200rpx;
+				.phone {
+					margin-top: 10rpx;
+					font-size: 20rpx;
+					font-family: PingFang SC;
+					font-weight: 500;
+					color: #999999;
+				}
 			}
 		}
 
-		.popup-title {
-			margin-top: 85rpx;
-			font-size: 40rpx;
+		.kpi {
+			background: #f5eede;
+			border-radius: 30rpx 0px 0px 30rpx;
+			padding: 18rpx 24rpx;
+			font-size: 26rpx;
 			font-family: PingFang SC;
 			font-weight: bold;
-			color: #2a2a2a;
+			color: #c6914e;
+			display: flex;
 
-			text {
-				font-size: 56rpx;
-				color: #e83f30;
+			image {
+				width: 34rpx;
+				margin-right: 8rpx;
 			}
 		}
+	}
 
-		.popup-tip {
-			margin-top: 20rpx;
-			font-size: 28rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #8c8c8c;
+	.info-right {
+		display: flex;
+		align-items: center;
+		margin-top: 54rpx;
+		padding: 0 34rpx;
 
-			text {
-				color: #e83f30;
-			}
+		.iright-icon {
+			width: 32rpx;
+			height: 32rpx;
 		}
 
-		.popup-btn {
-			margin: 58rpx auto 0;
-			width: 270rpx;
-			height: 66rpx;
-			background: #f0c838;
-			border-radius: 34rpx;
-			text-align: center;
-			line-height: 66rpx;
-			font-size: 36rpx;
-			font-family: Source Han Sans CN;
-			font-weight: 500;
-			color: #ffffff;
+		.iright-font {
+			margin-left: 12rpx;
+			font-size: 28rpx;
+			font-family: PingFang SC;
+			font-weight: bold;
+			color: #333333;
 		}
 	}
+}
 
-	.user-wrap {
-		position: relative;
-		z-index: 10;
-		width: 690rpx;
-		// height: 283rpx;
-		background: #ffffff;
-		box-shadow: 0px 4rpx 13rpx 0px rgba(229, 229, 229, 0.46);
-		border-radius: 20rpx;
-		padding: 34rpx 0 0;
-		margin: auto;
-
-		.info-left {
-			padding-left: 34rpx;
+.user-set {
+	justify-content: flex-end;
+	// height: 40rpx;
+	height: 150rpx;
+	// padding-top: 40rpx;
 
-			.user-name {
-				display: flex;
-				align-items: center;
+	view {
+		flex-shrink: 0;
+	}
 
-				image {
-					width: 120rpx;
-					height: 120rpx;
-					border-radius: 50%;
-				}
+	padding: 30rpx;
 
-				.user-font {
-					padding-left: 34rpx;
-
-					.name {
-						width: 250rpx;
-						font-size: 40rpx;
-						font-family: Source Han Sans CN;
-						font-weight: 400;
-						color: #333333;
-					}
-
-					.phone {
-						margin-top: 10rpx;
-						font-size: 20rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #999999;
-					}
-				}
-			}
+	image {
+		height: 40rpx;
+		width: 40rpx;
+	}
+}
 
-			.kpi {
-				background: #f5eede;
-				border-radius: 30rpx 0px 0px 30rpx;
-				padding: 18rpx 24rpx;
-				font-size: 26rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #c6914e;
-				display: flex;
+.main-box {
+	margin: 20rpx auto 0;
+	width: 690rpx;
+	background: #ffffff;
+	// box-shadow: 0px 4rpx 14rpx 0px rgba(229, 229, 229, 0.46);
+	border-radius: 20rpx;
 
-				image {
-					width: 34rpx;
-					margin-right: 8rpx;
-				}
-			}
-		}
+	.title {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+		padding: 24rpx;
+		border-bottom: 1px solid #eeeeee;
 
-		.info-right {
+		.title-left {
 			display: flex;
 			align-items: center;
-			margin-top: 54rpx;
-			padding: 0 34rpx;
 
-			.iright-icon {
+			.title-icon {
 				width: 32rpx;
 				height: 32rpx;
 			}
 
-			.iright-font {
-				margin-left: 12rpx;
+			.title-font {
+				margin-left: 20rpx;
 				font-size: 28rpx;
 				font-family: PingFang SC;
 				font-weight: bold;
 				color: #333333;
 			}
 		}
-	}
 
-	.user-set {
-		justify-content: flex-end;
-		// height: 40rpx;
-		height: 150rpx;
-		// padding-top: 40rpx;
-
-		view {
-			flex-shrink: 0;
-		}
-
-		padding: 30rpx;
-
-		image {
-			height: 40rpx;
-			width: 40rpx;
+		.title-right {
+			width: 14rpx;
+			height: 24rpx;
 		}
 	}
 
-	.main-box {
-		margin: 20rpx auto 0;
-		width: 690rpx;
-		background: #ffffff;
-		// box-shadow: 0px 4rpx 14rpx 0px rgba(229, 229, 229, 0.46);
-		border-radius: 20rpx;
+	.main {
+		padding: 50rpx 0 30rpx;
 
-		.title {
+		.item {
+			padding-bottom: 20rpx;
+			width: 33%;
 			display: flex;
-			justify-content: space-between;
+			flex-direction: column;
 			align-items: center;
-			padding: 24rpx;
-			border-bottom: 1px solid #EEEEEE;
 
-			.title-left {
-				display: flex;
-				align-items: center;
-
-				.title-icon {
-					width: 32rpx;
-					height: 32rpx;
-				}
-
-				.title-font {
-					margin-left: 20rpx;
-					font-size: 28rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #333333;
-				}
+			.item-num {
+				font-size: 36rpx;
+				font-family: PingFang SC;
+				font-weight: bold;
+				color: #333333;
 			}
 
-			.title-right {
-				width: 14rpx;
-				height: 24rpx;
+			.item-font {
+				margin-top: 18rpx;
+				font-size: 22rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #666666;
 			}
 		}
 
-		.main {
-			padding: 50rpx 0 30rpx;
-
-			.item {
-				padding-bottom: 20rpx;
-				width: 33%;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-
-				.item-num {
-					font-size: 36rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #333333;
-				}
+		.oitem {
+			width: 25%;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
 
-				.item-font {
-					margin-top: 18rpx;
-					font-size: 22rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #666666;
-				}
+			.oitem-image {
+				height: 50rpx;
+				width: 48rpx;
 			}
 
-			.oitem {
-				width: 25%;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
+			.oitem-font {
+				margin-top: 20rpx;
+				font-size: 24rpx;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #333333;
+			}
+		}
+	}
+}
+
+.gpai {
+	width: 100rpx;
+	line-height: 40rpx;
+	border-radius: 25rpx;
+	position: absolute;
+	top: 120rpx;
+	left: 40rpx;
+	font-size: 24rpx;
+	color: #c6914e;
+	text-align: center;
+	background-color: #f2d4ae;
+}
+
+.shenqing {
+	height: 100rpx;
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	background-color: #ffd893;
+	border-radius: 0 0 20rpx 20rpx;
+
+	image {
+		display: inline-block;
+		margin: auto;
+		height: 50rpx;
+	}
+}
+.hx-wrapper {
+	width: 536rpx;
+	height: 630rpx;
+	position: relative;
 
-				.oitem-image {
-					height: 50rpx;
-					width: 48rpx;
-				}
+	// background-color: #fff;
+	.hx-img {
+		width: 536rpx;
+		height: 281rpx;
 
-				.oitem-font {
-					margin-top: 20rpx;
-					font-size: 24rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #333333;
-				}
-			}
+		image {
+			width: 536rpx;
+			height: 281rpx;
 		}
 	}
 
-	.gpai {
-		width: 100rpx;
-		line-height: 40rpx;
-		border-radius: 25rpx;
+	.hx-close {
 		position: absolute;
-		top: 120rpx;
-		left: 40rpx;
-		font-size: 24rpx;
-		color: #c6914e;
-		text-align: center;
-		background-color: #f2d4ae;
+		left: 243rpx;
+		bottom: -80rpx;
+		width: 52rpx;
+		height: 52rpx;
+
+		image {
+			width: 52rpx;
+			height: 52rpx;
+		}
 	}
 
-	.shenqing {
-		height: 100rpx;
-		display: flex;
-		justify-content: center;
-		align-items: center;
-		background-color: #ffd893;
-		border-radius: 0 0 20rpx 20rpx;
+	.hx-body {
+		width: 536rpx;
+		height: 349rpx;
+		background-color: #fff;
+		border-radius: 0 0 10rpx 10rpx;
 
-		image {
-			display: inline-block;
-			margin: auto;
-			height: 50rpx;
+		.hx-title {
+			width: 536rpx;
+			font-size: 36rpx;
+			font-weight: 500;
+			color: #333333;
+			line-height: 1;
+			padding-top: 42rpx;
+			text-align: center;
+		}
+
+		input {
+			width: 439rpx;
+			height: 68rpx;
+			background: #dbf3e9;
+			border-radius: 10rpx;
+			margin: 39rpx auto 0;
+			padding-left: 26rpx;
+
+			.hx-placeholder {
+				font-size: 26rpx;
+				font-weight: 500;
+				color: #52c696;
+			}
+		}
+
+		.hx-btn {
+			margin: 44rpx auto 0;
+			width: 353rpx;
+			height: 71rpx;
+			background: #52c696;
+			border-radius: 34rpx;
+			font-size: 36rpx;
+			font-weight: 500;
+			color: #f8f9f9;
+			line-height: 71rpx;
+			text-align: center;
 		}
 	}
+}
 </style>

BIN
static/icon/close.png


BIN
static/img/hxbg.png


BIN
static/img/ygq.png


BIN
static/img/ysy.png


+ 0 - 0
unpackage/dist/dev/.automator/app-plus/.automator.json


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappchooselocation.js


BIN
unpackage/dist/dev/app-plus/__uniapperror.png


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappes6.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappopenlocation.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
unpackage/dist/dev/app-plus/__uniapppicker.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 6 - 0
unpackage/dist/dev/app-plus/__uniappquill.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappquillimageresize.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
unpackage/dist/dev/app-plus/__uniappscan.js


BIN
unpackage/dist/dev/app-plus/__uniappsuccess.png


+ 25 - 0
unpackage/dist/dev/app-plus/__uniappview.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var __UniViewStartTime__ = Date.now();
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title>View</title>
+    <link rel="stylesheet" href="view.css" />
+  </head>
+
+  <body>
+    <div id="app"></div>
+    <script src="__uniappes6.js"></script>
+    <script src="view.umd.min.js"></script>
+    <script src="app-view.js"></script>
+  </body>
+
+</html>

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 3 - 0
unpackage/dist/dev/app-plus/app-config-service.js


+ 154 - 0
unpackage/dist/dev/app-plus/app-config.js

@@ -0,0 +1,154 @@
+/******/ (function(modules) { // webpackBootstrap
+/******/ 	// install a JSONP callback for chunk loading
+/******/ 	function webpackJsonpCallback(data) {
+/******/ 		var chunkIds = data[0];
+/******/ 		var moreModules = data[1];
+/******/ 		var executeModules = data[2];
+/******/
+/******/ 		// add "moreModules" to the modules object,
+/******/ 		// then flag all "chunkIds" as loaded and fire callback
+/******/ 		var moduleId, chunkId, i = 0, resolves = [];
+/******/ 		for(;i < chunkIds.length; i++) {
+/******/ 			chunkId = chunkIds[i];
+/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
+/******/ 				resolves.push(installedChunks[chunkId][0]);
+/******/ 			}
+/******/ 			installedChunks[chunkId] = 0;
+/******/ 		}
+/******/ 		for(moduleId in moreModules) {
+/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
+/******/ 				modules[moduleId] = moreModules[moduleId];
+/******/ 			}
+/******/ 		}
+/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
+/******/
+/******/ 		while(resolves.length) {
+/******/ 			resolves.shift()();
+/******/ 		}
+/******/
+/******/ 		// add entry modules from loaded chunk to deferred list
+/******/ 		deferredModules.push.apply(deferredModules, executeModules || []);
+/******/
+/******/ 		// run deferred modules when all chunks ready
+/******/ 		return checkDeferredModules();
+/******/ 	};
+/******/ 	function checkDeferredModules() {
+/******/ 		var result;
+/******/ 		for(var i = 0; i < deferredModules.length; i++) {
+/******/ 			var deferredModule = deferredModules[i];
+/******/ 			var fulfilled = true;
+/******/ 			for(var j = 1; j < deferredModule.length; j++) {
+/******/ 				var depId = deferredModule[j];
+/******/ 				if(installedChunks[depId] !== 0) fulfilled = false;
+/******/ 			}
+/******/ 			if(fulfilled) {
+/******/ 				deferredModules.splice(i--, 1);
+/******/ 				result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
+/******/ 			}
+/******/ 		}
+/******/
+/******/ 		return result;
+/******/ 	}
+/******/
+/******/ 	// The module cache
+/******/ 	var installedModules = {};
+/******/
+/******/ 	// object to store loaded and loading chunks
+/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
+/******/ 	// Promise = chunk loading, 0 = chunk loaded
+/******/ 	var installedChunks = {
+/******/ 		"app-config": 0
+/******/ 	};
+/******/
+/******/ 	var deferredModules = [];
+/******/
+/******/ 	// The require function
+/******/ 	function __webpack_require__(moduleId) {
+/******/
+/******/ 		// Check if module is in cache
+/******/ 		if(installedModules[moduleId]) {
+/******/ 			return installedModules[moduleId].exports;
+/******/ 		}
+/******/ 		// Create a new module (and put it into the cache)
+/******/ 		var module = installedModules[moduleId] = {
+/******/ 			i: moduleId,
+/******/ 			l: false,
+/******/ 			exports: {}
+/******/ 		};
+/******/
+/******/ 		// Execute the module function
+/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
+/******/
+/******/ 		// Flag the module as loaded
+/******/ 		module.l = true;
+/******/
+/******/ 		// Return the exports of the module
+/******/ 		return module.exports;
+/******/ 	}
+/******/
+/******/
+/******/ 	// expose the modules object (__webpack_modules__)
+/******/ 	__webpack_require__.m = modules;
+/******/
+/******/ 	// expose the module cache
+/******/ 	__webpack_require__.c = installedModules;
+/******/
+/******/ 	// define getter function for harmony exports
+/******/ 	__webpack_require__.d = function(exports, name, getter) {
+/******/ 		if(!__webpack_require__.o(exports, name)) {
+/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
+/******/ 		}
+/******/ 	};
+/******/
+/******/ 	// define __esModule on exports
+/******/ 	__webpack_require__.r = function(exports) {
+/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
+/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
+/******/ 		}
+/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
+/******/ 	};
+/******/
+/******/ 	// create a fake namespace object
+/******/ 	// mode & 1: value is a module id, require it
+/******/ 	// mode & 2: merge all properties of value into the ns
+/******/ 	// mode & 4: return value when already ns object
+/******/ 	// mode & 8|1: behave like require
+/******/ 	__webpack_require__.t = function(value, mode) {
+/******/ 		if(mode & 1) value = __webpack_require__(value);
+/******/ 		if(mode & 8) return value;
+/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
+/******/ 		var ns = Object.create(null);
+/******/ 		__webpack_require__.r(ns);
+/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
+/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
+/******/ 		return ns;
+/******/ 	};
+/******/
+/******/ 	// getDefaultExport function for compatibility with non-harmony modules
+/******/ 	__webpack_require__.n = function(module) {
+/******/ 		var getter = module && module.__esModule ?
+/******/ 			function getDefault() { return module['default']; } :
+/******/ 			function getModuleExports() { return module; };
+/******/ 		__webpack_require__.d(getter, 'a', getter);
+/******/ 		return getter;
+/******/ 	};
+/******/
+/******/ 	// Object.prototype.hasOwnProperty.call
+/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
+/******/
+/******/ 	// __webpack_public_path__
+/******/ 	__webpack_require__.p = "/";
+/******/
+/******/ 	var jsonpArray = this["webpackJsonp"] = this["webpackJsonp"] || [];
+/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
+/******/ 	jsonpArray.push = webpackJsonpCallback;
+/******/ 	jsonpArray = jsonpArray.slice();
+/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
+/******/ 	var parentJsonpFunction = oldJsonpFunction;
+/******/
+/******/
+/******/ 	// run deferred modules from other chunks
+/******/ 	checkDeferredModules();
+/******/ })
+/************************************************************************/
+/******/ ([]);

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 9 - 0
unpackage/dist/dev/app-plus/app-service.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1117 - 0
unpackage/dist/dev/app-plus/app-view.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 0 - 0
unpackage/dist/dev/app-plus/manifest.json


+ 556 - 0
unpackage/dist/dev/app-plus/static/css/cmy.css

@@ -0,0 +1,556 @@
+/*初始化类*/
+@font-face {
+	font-family: 'iconfont';
+	/* project id 1482221 */
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot');
+	src: url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.eot?#iefix') format('embedded-opentype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff2') format('woff2'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.woff') format('woff'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.ttf') format('truetype'),
+		url('https://at.alicdn.com/t/font_1482221_x9emymthrxs.svg#iconfont') format('svg');
+}
+
+.acea-row {
+	display: -webkit-box;
+	display: -moz-box;
+	display: -webkit-flex;
+	display: -ms-flexbox;
+	display: flex;
+	-webkit-box-lines: multiple;
+	-moz-box-lines: multiple;
+	-o-box-lines: multiple;
+	-webkit-flex-wrap: wrap;
+	-ms-flex-wrap: wrap;
+	flex-wrap: wrap
+}
+
+.acea-row.row-middle {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center
+}
+
+.bg-color-red {
+	background-color: #e93323 !important;
+}
+
+.acea-row.row-right {
+	-webkit-box-pack: end;
+	-moz-box-pack: end;
+	-o-box-pack: end;
+	-ms-flex-pack: end;
+	-webkit-justify-content: flex-end;
+	justify-content: flex-end
+}
+
+.acea-row.row-between-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: justify;
+	-moz-box-pack: justify;
+	-o-box-pack: justify;
+	-ms-flex-pack: justify;
+	-webkit-justify-content: space-between;
+	justify-content: space-between
+}
+
+.acea-row.row-column-around {
+	-webkit-flex-direction: column;
+	-ms-flex-direction: column;
+	flex-direction: column;
+	justify-content: space-around;
+	-webkit-justify-content: space-around
+}
+
+.acea-row.row-center-wrapper {
+	-webkit-box-align: center;
+	-moz-box-align: center;
+	-o-box-align: center;
+	-ms-flex-align: center;
+	-webkit-align-items: center;
+	align-items: center;
+	-webkit-box-pack: center;
+	-moz-box-pack: center;
+	-o-box-pack: center;
+	-ms-flex-pack: center;
+	-webkit-justify-content: center;
+	justify-content: center
+}
+
+.iconfont {
+	font-family: "iconfont" !important;
+	font-size: 34rpx;
+	font-style: normal;
+	-webkit-font-smoothing: antialiased;
+	-webkit-text-stroke-width: 0rpx;
+	-moz-osx-font-smoothing: grayscale;
+}
+
+.iconedit:before {
+	content: "\e649";
+}
+
+.iconfavorfill:before {
+	content: "\e64b";
+}
+
+.iconfavor:before {
+	content: "\e64c";
+}
+
+.iconlocation:before {
+	content: "\e651";
+}
+
+.iconroundcheckfill:before {
+	content: "\e656";
+}
+
+.iconroundcheck:before {
+	content: "\e657";
+}
+
+.iconunfold:before {
+	content: "\e661";
+}
+
+.iconlikefill:before {
+	content: "\e668";
+}
+
+.iconlike:before {
+	content: "\e669";
+}
+
+.iconshop:before {
+	content: "\e676";
+}
+
+.iconcart:before {
+	content: "\e6af";
+}
+
+.icondelete:before {
+	content: "\e6b4";
+}
+
+.iconhome:before {
+	content: "\e6b8";
+}
+
+.iconcartfill:before {
+	content: "\e6b9";
+}
+
+.iconhomefill:before {
+	content: "\e6bb";
+}
+
+.iconlock:before {
+	content: "\e6c0";
+}
+
+.iconfriendadd:before {
+	content: "\e6ca";
+}
+
+.iconfold:before {
+	content: "\e6de";
+}
+
+.iconapps:before {
+	content: "\e729";
+}
+
+.iconadd:before {
+	content: "\e767";
+}
+
+.iconaddred:before {
+	content: "\e767";
+	color: #F35B64;
+}
+
+.iconmove:before {
+	content: "\e768";
+}
+
+.icontriangledownfill:before {
+	content: "\e79b";
+}
+
+.icontriangleupfill:before {
+	content: "\e79c";
+}
+
+.iconshaixuan:before {
+	content: "\e74a";
+}
+
+.iconyanzhengma:before {
+	content: "\e684";
+}
+
+.iconjifen:before {
+	content: "\e60f";
+}
+
+.iconwuliuxinxi:before {
+	content: "\e62b";
+}
+
+.iconmessage:before {
+	content: "\e78a";
+}
+
+.iconsetting:before {
+	content: "\e78e";
+}
+
+.iconaddition:before {
+	content: "\e6e0";
+}
+
+.iconclose:before {
+	content: "\e6e9";
+}
+
+.iconenter:after {
+	content: "\e6f8";
+}
+
+.iconprompt:before {
+	content: "\e71b";
+}
+
+.iconreturn:before {
+	content: "\e720";
+}
+
+.iconsearch:before {
+	content: "\e741";
+}
+
+.iconpengyouquan:before {
+	content: "\e62c";
+}
+
+.iconweixin:before {
+	content: "\e60e";
+}
+
+.iconzhifubao:before {
+	content: "\e673";
+}
+
+.iconyue:before {
+	content: "\e618";
+}
+
+.iconweixin1:before {
+	content: "\e622";
+}
+
+.iconlock1:before {
+	content: "\e64d";
+}
+
+.iconuser:before {
+	content: "\e64e";
+}
+
+.iconchenggongtixianshouyi:before {
+	content: "\e64f";
+}
+
+.iconviptuiguangdingdan:before {
+	content: "\e650";
+}
+
+.icondaifukuan:before {
+	content: "\e652";
+}
+
+.icondaijiesuanshouyi:before {
+	content: "\e653";
+}
+
+.icondaidakuanshouyi:before {
+	content: "\e654";
+}
+
+.icondaifahuo:before {
+	content: "\e655";
+}
+
+.icondaishouhuoshouyi:before {
+	content: "\e658";
+}
+
+.icondaishouhuo:before {
+	content: "\e659";
+}
+
+.iconwuxiaoshouyi:before {
+	content: "\e65a";
+}
+
+.icontixianmingxi:before {
+	content: "\e65b";
+}
+
+.iconshouyi:before {
+	content: "\e65c";
+}
+
+.iconkouchutixianshouxufei:before {
+	content: "\e65d";
+}
+
+.iconyishenqingshouyi:before {
+	content: "\e65e";
+}
+
+.icontuihuanhuo:before {
+	content: "\e65f";
+}
+
+
+/*水平线*/
+.hr {
+	width: 100%;
+	position: relative;
+	border-bottom: 1px solid #dddddd;
+	/* height: 0.5rpx; */
+}
+
+/* 一行显示 */
+.clamp {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	white-space: nowrap;
+	display: block;
+}
+
+/* 二行显示 */
+.clamp2 {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-line-clamp: 2;
+	-webkit-box-orient: vertical;
+}
+
+/* 二行显示 */
+.ellipsis {
+	overflow: hidden;
+	text-overflow: ellipsis;
+	display: -webkit-box;
+	-webkit-box-orient: vertical;
+	-webkit-line-clamp: 2;
+}
+
+.common-hover {
+	background: #f5f5f5;
+}
+
+/* 角标 */
+.corner {
+	background-color: #e51c23;
+	position: absolute;
+	right: -18rpx;
+	top: -18rpx;
+	color: #FFFFFF;
+	text-align: center;
+	border-radius: 999px;
+	font-size: 24rpx !important;
+	min-width: 35rpx;
+	min-height: 35rpx;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	line-height: 1;
+}
+
+.flex_item {
+	display: flex;
+	align-items: center;
+	/* justify-content: space-between; */
+}
+
+/* 左右顶格加上下居中 */
+.flex-between-center {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+}
+
+/* flex布局-整体居中 */
+.flex-center {
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+
+.flex-start {
+	display: flex;
+	align-items: center;
+	justify-content: flex-start;
+}
+
+/*文字对齐*/
+.text-left {
+	text-align: left !important;
+}
+
+.text-center {
+	text-align: center !important;
+}
+
+.text-justify {
+	text-align: justify !important;
+}
+
+.text-right {
+	text-align: right !important;
+}
+
+.text-default {
+	color: #212121 !important;
+}
+
+.text-white {
+	color: #ffffff !important;
+}
+
+.text-primary {
+	color: #00bcd4 !important;
+}
+
+.text-success {
+	color: #009688 !important;
+}
+
+.text-info {
+	color: #03a9f4 !important;
+}
+
+.text-warning {
+	color: #ffc107 !important;
+}
+
+.text-danger {
+	color: #e51c23 !important;
+}
+
+.text-pink {
+	color: #e91e63 !important;
+}
+
+.text-purple {
+	color: #673ab7 !important;
+}
+
+.text-indigo {
+	color: #3f51b5 !important;
+}
+
+.text-gray {
+	color: #999999 !important;
+}
+
+.bg-default {
+	background-color: #f5f5f5 !important;
+}
+
+.bg-primary {
+	background-color: #00bcd4 !important;
+}
+
+.bg-success {
+	background-color: #009688 !important;
+}
+
+.bg-info {
+	background-color: #03a9f4 !important;
+}
+
+.bg-warning {
+	background-color: #FFB238 !important;
+}
+
+.bg-danger {
+	background-color: #DC4D46 !important;
+}
+
+.bg-pink {
+	background-color: #e91e63 !important;
+}
+
+.bg-purple {
+	background-color: #673ab7 !important;
+}
+
+.bg-indigo {
+	background-color: #3f51b5 !important;
+}
+
+.bg-white {
+	background-color: white !important;
+}
+
+.bg-gray {
+	background-color: #e3e3e3 !important;
+}
+
+/* 边框 */
+.border-radius-15 {
+	border-radius: 15rpx;
+}
+
+.border-radius-10 {
+	border-radius: 10rpx;
+}
+
+.border-radius-all {
+	border-radius: 1000rpx;
+}
+
+/* 底部边线 */
+.borde-b {
+	border-bottom: 1px solid #dddddd;
+}
+
+/* 弹性盒子 */
+.flex {
+	display: flex;
+	align-items: center;
+	justify-content: space-between;
+}
+
+.items-left {
+	justify-content: flex-start;
+}
+
+.items-right {
+	justify-content: flex-end;
+}
+
+.flex-shrink-false {
+	flex-shrink: 0;
+}
+
+.flex-grow-true {
+	flex-grow: 1;
+}
+
+.position-relative {
+	position: relative;
+}

+ 53 - 0
unpackage/dist/dev/app-plus/static/css/flex.css

@@ -0,0 +1,53 @@
+/* flex 布局 */
+.f-d-c {
+	flex-direction: column;
+}
+
+.f-j-c {
+	justify-content: center;
+}
+
+.f-j-s {
+	justify-content: flex-start;
+}
+
+.f-j-e {
+	justify-content: flex-end;
+}
+
+.f-j-sa {
+	justify-content: space-around;
+}
+
+.f-j-sb {
+	justify-content: space-between;
+}
+
+.f-ai-c {
+	align-items: center;
+}
+
+.f-ai-s {
+	align-items: flex-start;
+}
+
+.f-ai-e {
+	align-items: flex-end;
+}
+
+.fg1 {
+	flex-grow: 1;
+}
+
+.fs0 {
+	flex-shrink: 0;
+}
+
+/* 相对定位&绝对定位 */
+.p-r {
+	position: relative;
+}
+
+.p-a {
+	position: absolute;
+}

+ 36 - 0
unpackage/dist/dev/app-plus/static/css/padding.css

@@ -0,0 +1,36 @@
+/* padding */
+.pl10 {
+	padding-left: 10rpx;
+}
+
+.pt10 {
+	padding-top: 10rpx;
+}
+
+.pt15 {
+	padding-top: 15rpx;
+}
+
+.pl15 {
+	padding-left: 15rpx;
+}
+
+.pt20 {
+	padding-top: 20rpx;
+}
+
+.pl20 {
+	padding-left: 20rpx;
+}
+
+.pr10 {
+	padding-right: 10rpx;
+}
+
+.pr15 {
+	padding-right: 15rpx;
+}
+
+.pr20 {
+	padding-right: 20rpx;
+}

BIN
unpackage/dist/dev/app-plus/static/error/emptyCart.png


BIN
unpackage/dist/dev/app-plus/static/error/errorImage.jpg


BIN
unpackage/dist/dev/app-plus/static/error/missing-face.png


BIN
unpackage/dist/dev/app-plus/static/icon/add.png


BIN
unpackage/dist/dev/app-plus/static/icon/appleIcon.png


BIN
unpackage/dist/dev/app-plus/static/icon/bdsj.png


BIN
unpackage/dist/dev/app-plus/static/icon/c3.png


BIN
unpackage/dist/dev/app-plus/static/icon/c5.png


BIN
unpackage/dist/dev/app-plus/static/icon/c6.png


BIN
unpackage/dist/dev/app-plus/static/icon/c7.png


BIN
unpackage/dist/dev/app-plus/static/icon/c8.png


BIN
unpackage/dist/dev/app-plus/static/icon/call.png


BIN
unpackage/dist/dev/app-plus/static/icon/close.png


BIN
unpackage/dist/dev/app-plus/static/icon/colse.png


BIN
unpackage/dist/dev/app-plus/static/icon/dh.png


BIN
unpackage/dist/dev/app-plus/static/icon/dsjh.png


BIN
unpackage/dist/dev/app-plus/static/icon/dw.png


BIN
unpackage/dist/dev/app-plus/static/icon/fanhui.png


BIN
unpackage/dist/dev/app-plus/static/icon/g-l.png


BIN
unpackage/dist/dev/app-plus/static/icon/goto.png


BIN
unpackage/dist/dev/app-plus/static/icon/i1.png


BIN
unpackage/dist/dev/app-plus/static/icon/i2.png


BIN
unpackage/dist/dev/app-plus/static/icon/i3.png


BIN
unpackage/dist/dev/app-plus/static/icon/i4.png


BIN
unpackage/dist/dev/app-plus/static/icon/i5.png


BIN
unpackage/dist/dev/app-plus/static/icon/i6.png


BIN
unpackage/dist/dev/app-plus/static/icon/i7.png


BIN
unpackage/dist/dev/app-plus/static/icon/i8.png


BIN
unpackage/dist/dev/app-plus/static/icon/img01.png


BIN
unpackage/dist/dev/app-plus/static/icon/img02.png


BIN
unpackage/dist/dev/app-plus/static/icon/img03.png


BIN
unpackage/dist/dev/app-plus/static/icon/img04.png


BIN
unpackage/dist/dev/app-plus/static/icon/img05.png


BIN
unpackage/dist/dev/app-plus/static/icon/img06.png


BIN
unpackage/dist/dev/app-plus/static/icon/img07.png


BIN
unpackage/dist/dev/app-plus/static/icon/img08.png


BIN
unpackage/dist/dev/app-plus/static/icon/img09.png


BIN
unpackage/dist/dev/app-plus/static/icon/img10.png


BIN
unpackage/dist/dev/app-plus/static/icon/img11.png


BIN
unpackage/dist/dev/app-plus/static/icon/img12.png


BIN
unpackage/dist/dev/app-plus/static/icon/kf.png


BIN
unpackage/dist/dev/app-plus/static/icon/mygx.png


BIN
unpackage/dist/dev/app-plus/static/icon/myjd.png


BIN
unpackage/dist/dev/app-plus/static/icon/myqb.png


BIN
unpackage/dist/dev/app-plus/static/icon/mytg.png


BIN
unpackage/dist/dev/app-plus/static/icon/myyj.png


BIN
unpackage/dist/dev/app-plus/static/icon/reduce.png


BIN
unpackage/dist/dev/app-plus/static/icon/sc01.png


BIN
unpackage/dist/dev/app-plus/static/icon/sc010.png


BIN
unpackage/dist/dev/app-plus/static/icon/sc02.png


BIN
unpackage/dist/dev/app-plus/static/icon/sc03.png


BIN
unpackage/dist/dev/app-plus/static/icon/sc04.png


BIN
unpackage/dist/dev/app-plus/static/icon/sc05.png


BIN
unpackage/dist/dev/app-plus/static/icon/sc06.png


BIN
unpackage/dist/dev/app-plus/static/icon/sc07.png


BIN
unpackage/dist/dev/app-plus/static/icon/sc08.png


BIN
unpackage/dist/dev/app-plus/static/icon/sc09.png


BIN
unpackage/dist/dev/app-plus/static/icon/search-h.png


BIN
unpackage/dist/dev/app-plus/static/icon/select.png


BIN
unpackage/dist/dev/app-plus/static/icon/selected.png


BIN
unpackage/dist/dev/app-plus/static/icon/shdz.png


BIN
unpackage/dist/dev/app-plus/static/icon/shop-logo.png


BIN
unpackage/dist/dev/app-plus/static/icon/shoucang.png


BIN
unpackage/dist/dev/app-plus/static/icon/tghb.png


BIN
unpackage/dist/dev/app-plus/static/icon/u-v.png


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.