guo 3 years ago
parent
commit
5f1951434f
64 changed files with 4283 additions and 644 deletions
  1. 116 63
      pages.json
  2. 282 0
      pages/me/discountCard.vue
  3. 196 0
      pages/me/discountDetail.vue
  4. 263 0
      pages/me/feedBack.vue
  5. 17 9
      pages/me/me.vue
  6. 305 0
      pages/me/myAppraise.vue
  7. 286 0
      pages/me/myAppraiseDetail.vue
  8. 4 2
      pages/order/myorder.vue
  9. 810 0
      pages/shop/ckShop.vue
  10. 268 0
      pages/shop/shopAppraise.vue
  11. 1199 0
      pages/shop/shopDetail.vue
  12. BIN
      static/img/icon_shouhou.png
  13. BIN
      static/img/icon_tihuan.png
  14. BIN
      static/img/icon_tuikuan.png
  15. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  16. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  17. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/chose-city/chose-city.js.map
  18. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/nodata/nodata.js.map
  19. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/tki-qrcode/tki-qrcode.js.map
  20. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/uni-plate-input/uni-plate-input.js.map
  21. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/iPhone/addphone.js.map
  22. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/iPhone/phoneList.js.map
  23. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/addCar.js.map
  24. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/cailist.js.map
  25. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/carModel.js.map
  26. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  27. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/empower.js.map
  28. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/iphoneLogin.js.map
  29. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  30. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/intimity.js.map
  31. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/me.js.map
  32. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/setup.js.map
  33. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/treaty.js.map
  34. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/evaluate.js.map
  35. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/myorder.js.map
  36. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/orderDetail.js.map
  37. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/shop/shopList.js.map
  38. 8 1
      unpackage/dist/dev/mp-weixin/app.json
  39. 43 43
      unpackage/dist/dev/mp-weixin/common/vendor.js
  40. 15 15
      unpackage/dist/dev/mp-weixin/components/chose-city/chose-city.js
  41. 14 14
      unpackage/dist/dev/mp-weixin/components/nodata/nodata.js
  42. 15 15
      unpackage/dist/dev/mp-weixin/components/tki-qrcode/tki-qrcode.js
  43. 14 14
      unpackage/dist/dev/mp-weixin/components/uni-plate-input/uni-plate-input.js
  44. 0 20
      unpackage/dist/dev/mp-weixin/pages/car/cailist.js
  45. 0 5
      unpackage/dist/dev/mp-weixin/pages/car/cailist.json
  46. 0 20
      unpackage/dist/dev/mp-weixin/pages/car/carModel.js
  47. 0 5
      unpackage/dist/dev/mp-weixin/pages/car/carModel.json
  48. 16 16
      unpackage/dist/dev/mp-weixin/pages/iPhone/addphone.js
  49. 127 127
      unpackage/dist/dev/mp-weixin/pages/iPhone/phoneList.js
  50. 17 17
      unpackage/dist/dev/mp-weixin/pages/index/addCar.js
  51. 113 113
      unpackage/dist/dev/mp-weixin/pages/index/cailist.js
  52. 16 16
      unpackage/dist/dev/mp-weixin/pages/index/carModel.js
  53. 2 2
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  54. 16 16
      unpackage/dist/dev/mp-weixin/pages/me/intimity.js
  55. 8 0
      unpackage/dist/dev/mp-weixin/pages/me/me.js
  56. 1 1
      unpackage/dist/dev/mp-weixin/pages/me/me.wxml
  57. 16 16
      unpackage/dist/dev/mp-weixin/pages/me/setup.js
  58. 16 16
      unpackage/dist/dev/mp-weixin/pages/me/treaty.js
  59. 16 16
      unpackage/dist/dev/mp-weixin/pages/order/evaluate.js
  60. 20 18
      unpackage/dist/dev/mp-weixin/pages/order/myorder.js
  61. 1 1
      unpackage/dist/dev/mp-weixin/pages/order/myorder.wxml
  62. 18 18
      unpackage/dist/dev/mp-weixin/pages/order/orderDetail.js
  63. 2 2
      unpackage/dist/dev/mp-weixin/pages/shop/shopList.js
  64. BIN
      unpackage/dist/dev/mp-weixin/static/img/icon_shouhou.png

+ 116 - 63
pages.json

@@ -61,69 +61,122 @@
 			"style": {
 				// "navigationBarTitleText": "自主选车",
 				// "navigationBarBackgroundColor": "#FFFFFF"
-				"navigationStyle": "custom" 
-			}
-		},
-		{
-			"path": "pages/me/setup",
-			"style": {
-				 "navigationBarTitleText": "账号设置",
-				 "navigationBarBackgroundColor":"#FFFFFF"     
-				
-			}
-		},
-		{
-			"path": "pages/iPhone/phoneList",
-			"style": {
-				"navigationBarTitleText": "联系人管理"
-				
-			}
-		},
-		{
-			"path": "pages/iPhone/addphone",
-			"style": {
-				"navigationBarTitleText": "新增联系人"
-				
-			}
-		},
-		{
-		    "path" : "pages/me/treaty",
-		    "style" :                                                                                    
-		    {
-		        "navigationBarTitleText": "服务协议",
-		        "enablePullDownRefresh": false
-		    }
-		    
-		}
-		,{
-		    "path" : "pages/me/intimity",
-		    "style" :                                                                                    
-		    {
-		        "navigationBarTitleText": "隐私政策",
-		        "enablePullDownRefresh": false
-		    }
-		    
-		},
-		{
-			"path": "pages/order/myorder",
-			"style": {
-				"navigationBarTitleText": "我的订单",
-				"navigationBarBackgroundColor":"#FFFFFF",
-				"enablePullDownRefresh": true
-			}
-		},
-		{
-			"path": "pages/order/orderDetail",
-			"style": {
-				 "navigationStyle": "custom",
-				 "enablePullDownRefresh": true
-			}
-		},
-		{
-			"path": "pages/order/evaluate",
-			"style": {
-				"navigationBarTitleText": "评价" 
-			}
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/me/setup",
+			"style": {
+				"navigationBarTitleText": "账号设置",
+				"navigationBarBackgroundColor": "#FFFFFF"
+
+			}
+		},
+		{
+			"path": "pages/iPhone/phoneList",
+			"style": {
+				"navigationBarTitleText": "联系人管理"
+
+			}
+		},
+		{
+			"path": "pages/iPhone/addphone",
+			"style": {
+				"navigationBarTitleText": "新增联系人"
+
+			}
+		},
+		{
+			"path": "pages/me/treaty",
+			"style": {
+				"navigationBarTitleText": "服务协议",
+				"enablePullDownRefresh": false
+			}
+
+		}, {
+			"path": "pages/me/intimity",
+			"style": {
+				"navigationBarTitleText": "隐私政策",
+				"enablePullDownRefresh": false
+			}
+
+		},
+		{
+			"path": "pages/order/myorder",
+			"style": {
+				"navigationBarTitleText": "我的订单",
+				"navigationBarBackgroundColor": "#FFFFFF",
+				"enablePullDownRefresh": true
+			}
+		},
+		{
+			"path": "pages/order/orderDetail",
+			"style": {
+				"navigationStyle": "custom",
+				"enablePullDownRefresh": true
+			}
+		},
+		{
+			"path": "pages/order/evaluate",
+			"style": {
+				"navigationBarTitleText": "评价"
+			}
+		},
+		{
+			"path": "pages/me/discountCard",
+			"style": {
+				"navigationBarTitleText": "优惠券",
+				"enablePullDownRefresh": true,
+				"navigationBarBackgroundColor": "#FFFFFF"
+			}
+
+		}, {
+			"path": "pages/me/discountDetail",
+			"style": {
+				"navigationBarTitleText": "优惠券详情",
+				"navigationBarBackgroundColor": "#BE573F"
+			}
+
+		}, {
+			"path": "pages/me/myAppraise",
+			"style": {
+				"navigationBarTitleText": "我的评价",
+				"navigationBarBackgroundColor": "#FFFFFF",
+				"enablePullDownRefresh": true
+			}
+
+		}, {
+			"path": "pages/me/myAppraiseDetail",
+			"style": {
+				"navigationBarTitleText": "查看评价",
+				"navigationBarBackgroundColor": "#FFFFFF"
+				/* "enablePullDownRefresh": true */
+			}
+
+		}, {
+			"path": "pages/me/feedBack",
+			"style": {
+				"navigationBarTitleText": "意见反馈",
+				"navigationBarBackgroundColor": "#FFFFFF",
+				"enablePullDownRefresh": false
+			}
+
+		},
+		{
+			"path": "pages/shop/ckShop",
+			"style": {
+				"navigationBarTitleText": "选择门店",
+				"navigationBarBackgroundColor": "#FFFFFF",
+				"enablePullDownRefresh": true
+			}
+		},
+
+		{
+			"path": "pages/shop/shopDetail",
+			"style": {
+				"navigationBarTitleText": "门店详情",
+				"navigationBarBackgroundColor": "#FFFFFF"
+			}
 		}
 	],
 	"tabBar": {

+ 282 - 0
pages/me/discountCard.vue

@@ -0,0 +1,282 @@
+<template>
+	<view class="content">
+
+		<view class="teamTop">
+			<view class="sumCount">可使用优惠券</view>
+		</view>
+
+		<!-- 列表 -->
+		<view class="itemContent">
+			<view v-for="(item,index) in itemData" :key="index">
+				<view class="item">
+
+					<!-- 第一块 -->
+					<view class="topView" @click="ckCoupon(item)">
+						<view class="leftView">
+							<view class="moneyView">
+								<view>¥</view>
+								<view class="money">{{item.ActMoney}}</view>
+							</view>
+							<view class="condition" v-if="item.WhereMoney != 0">满{{item.WhereMoney}}元可用</view>
+							<view class="condition" v-else>满任意金额可用</view>
+						</view>
+
+						<view class="rightView">
+							<view class="cardName">{{item.ActName}}</view>
+							<!-- 时间截取 -->
+							<view class="valid">有效期:{{item.StartTime.slice(0,item.StartTime.length-8)}}至 {{item.EndTime.slice(0,item.EndTime.length-8)}}</view>
+						</view>
+					</view>
+
+					<!-- 第二快 -->
+					<view class="bottomView">
+						<view>发放门店:{{item.ShopName}}</view>
+						<view @click="goDiscountDetail(item)">查看详情</view>
+					</view>
+				</view>
+			</view>
+		</view>
+
+		<!-- 上拉 加载更多 -->
+		<view class="noMore" v-if="noMoreShow">没有更多数据</view>
+		<!-- 无数据空白页 -->
+		<nodata v-if="itemData.length==0"></nodata>
+
+	</view>
+</template>
+
+<script>
+	import nodata from '../../components/nodata/nodata.vue'
+	export default {
+		components: {
+			nodata,
+		},
+		data() {
+			return {
+				itemData: [],
+				page: 1,
+				noMoreShow: false,
+				payMoney:'',
+			}
+		},
+		onLoad(opt) {
+			this.page = 1
+			if(opt.payMoney){
+				this.payMoney=opt.payMoney;
+				this.myOrderCoupon()
+			}else{
+				this.getItemData()
+			}
+			
+		},
+		methods: {
+			ckCoupon(item){
+				console.log(item);
+				uni.setStorage({
+					key: 'couponData',
+					data: item,
+					success: function () {
+						uni.navigateBack({
+							delta:1
+						})
+					}
+				}); 
+			},
+			myOrderCoupon(){
+				uni.showLoading({
+					title: '加载中'
+				})
+				this.$http('miniApp/maintainOrder/myOrderCoupon', {
+				  money:this.payMoney,
+				  page:this.page,
+				  limit:10,
+				 },'GET').then(res => {
+					uni.hideLoading();
+					var list = res.data.Items
+					
+					// 处理 undefined和null转为空白字符串
+					list.forEach((item, index) => {
+						for (const key in item) {
+							item[key] = this.$praseStrEmpty(item[key])
+						}
+					})
+					
+					if (this.page == 1) {
+						this.itemData = list
+					} else {
+						this.itemData = this.itemData.concat(list)
+					}
+					
+					if (list.length < 10) {
+						this.noMoreShow = false
+					} else {
+						this.noMoreShow = true
+					}
+				})
+			},
+			goDiscountDetail(item) {
+
+				uni.navigateTo({
+					url: 'discountDetail?couponId=' + item.CouponID,
+				})
+			},
+			getItemData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = 'miniAppMyBMemberCar/listMiniAppCouponPage',
+					params = {
+						page: this.page,
+						limit: 20,
+
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var list = res.data.Items
+
+					// 处理 undefined和null转为空白字符串
+					list.forEach((item, index) => {
+						for (const key in item) {
+							item[key] = this.$praseStrEmpty(item[key])
+						}
+					})
+
+
+					if (this.page == 1) {
+						this.itemData = list
+					} else {
+						this.itemData = this.itemData.concat(list)
+					}
+
+					if (list.length < 10) {
+						this.noMoreShow = false
+					} else {
+						this.noMoreShow = true
+					}
+					
+					
+				})
+			},
+
+		},
+
+		// 下拉刷新 上拉加载更多
+		onPullDownRefresh() {
+			this.page = 1
+			if(opt.payMoney){
+				
+				this.myOrderCoupon()
+			}else{
+				this.getItemData()
+			}
+			//this.getItemData()
+			setTimeout(function() {
+				uni.stopPullDownRefresh();
+			}, 1000);
+		},
+		onReachBottom() {
+			this.page++;
+			if(opt.payMoney){
+				
+				this.myOrderCoupon()
+			}else{
+				this.getItemData()
+			}
+		},
+
+	}
+</script>
+
+<style scoped>
+	.content {
+		background: #F4F5F7;
+		min-height: 100vh;
+
+	}
+
+	.teamTop {
+		position: fixed;
+		top: 0rpx;
+		left: 0rpx;
+		background-color: #F4F5F7;
+		width: 100%;
+		height: 77rpx;
+	}
+
+	.sumCount {
+		padding: 20rpx 24rpx;
+		color: #999999;
+		font-size: 26rpx;
+	}
+
+	.itemContent {
+		padding: 55rpx 20rpx 24rpx;
+	}
+
+	.item {
+		margin: 20rpx 0rpx;
+		background-color: #FFFFFF;
+		border-radius: 10rpx;
+
+	}
+
+	.topView {
+		display: flex;
+		justify-content: flex-start;
+		padding: 22rpx 0rpx;
+		margin-left: 22rpx;
+		margin-right: 22rpx;
+		border-bottom: 1rpx #CCCCCC dashed;
+		align-items: center;
+	}
+
+	.leftView,
+	.rightView {
+		margin-right: 40rpx;
+		
+	}
+
+	.moneyView {
+		display: flex;
+		justify-content: flex-start;
+		color: #FF4F00;
+		align-items: baseline;
+	}
+
+	.money {
+		font-size: 56rpx;
+	}
+
+	.condition {
+		font-size: 22rpx;
+		color: #999999;
+	}
+
+	.cardName {
+		font-size: 30rpx;
+		font-weight: bold;
+		color: #333333;
+		margin-top: 10rpx;
+		margin-bottom: 15rpx;
+	}
+
+	.valid {
+		font-size: 26rpx;
+		color: #999999;
+	}
+
+	.bottomView {
+		display: flex;
+		justify-content: space-between;
+		padding: 20rpx 24rpx;
+		font-size: 24rpx;
+		color: #666666;
+	}
+
+	.noMore {
+		text-align: center;
+		line-height: 50rpx;
+		color: #999999;
+		font-size: 28rpx;
+	}
+</style>

+ 196 - 0
pages/me/discountDetail.vue

@@ -0,0 +1,196 @@
+<template>
+	<view class="content">
+		<view style="background: #BE573F; height: 56rpx; width: 100%;"></view>
+
+		<view class="whiteBg">
+
+			<!-- firstView -->
+			<view class="firstView">
+				<view class="money">{{detailData.actName}}</view>
+				<view class="condition" v-if="detailData.whereMoney != 0">满{{detailData.whereMoney}}元可用</view>
+				<view class="condition" v-else>满任意金额可用</view>
+			</view>
+			<view class="point leftP"></view>
+			<view class="point rightP"></view>
+
+			<!-- secondView -->
+			<view class="secondView">
+				
+				<view  v-if="detailData.endOffsetDays===null||detailData.endOffsetDays==='null'||detailData.endOffsetDays===''">
+					
+					<view class="valid same" >有效期:{{detailData.startTime.slice(0,detailData.startTime.length-8)}}至 {{detailData.endTime.slice(0,detailData.endTime.length-8)}}</view>
+				</view>
+				<view v-else>
+				
+					<view class="valid same" v-if="detailData.endOffsetDays>-1">有效期:自领取后,{{detailData.endOffsetDays}}天有效</view>
+				     <view class="valid same" v-if="detailData.endOffsetDays==-1||detailData.endOffsetDays==null||detailData.endOffsetDays=='null'">有效期:{{detailData.startTime.slice(0,detailData.startTime.length-8)}}至 {{detailData.endTime.slice(0,detailData.endTime.length-8)}}</view>
+				</view>
+				
+				
+				<view class="same">可用次数:{{detailData.avaQty}}</view>
+			</view>
+
+			<!-- thirdView -->
+			<view class="thirdView">
+				<view class="thirdTitle">使用说明</view>
+				<view class="store">
+					<view class="grayPoint"></view>
+					<view class="same">适用门店:{{detailData.shopNames}}</view>
+				</view>
+			</view>
+			
+			<!-- 列表 -->
+			<view class="itemContent">
+				<view class="thirdTitle">注意事项</view>
+				<rich-text :nodes="couContent" style="color: #666666; font-size: 26rpx;"></rich-text>
+				<!-- <view v-for="(item,index) in itemData" :key="index">
+					<view class="store">
+						<view class="grayPoint"></view>
+						<view class="same">{{item}}</view>
+					</view>
+				</view> -->
+			</view>
+
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				detailData:{},
+				couponId:'',
+				couContent:'',
+			}
+		},
+		onLoad(opt) {
+			this.couponId = opt.couponId,
+			this.page = 1
+			this.getDetailData()
+		},
+		methods: {
+			getDetailData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = 'miniAppMyBMemberCar/queryMiniAppCouponDetail',
+					params = {
+						couponId: this.couponId,
+						
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var data = res.data
+					
+					if(res.data.couContent){
+						 this.couContent=res.data.couContent.replace(/\<p/gi, '<p style="display: inline-block"');
+					}
+					// 处理 undefined和null转为空白字符串
+					
+						for (const key in data) {
+							data[key] = this.$praseStrEmpty(data[key])
+						}
+					
+					this.detailData = data
+			
+					
+					
+				})
+			},
+		}
+	}
+</script>
+
+<style scoped>
+	.content {
+		background: #BE573F;
+		min-height: 100vh;
+	}
+
+	.whiteBg {
+		margin: 0rpx 24rpx;
+		background-color: #FFFFFF;
+		border-radius: 10rpx;
+		min-height: 60vh;
+	}
+
+	.firstView {
+		border-bottom: 1rpx #EEEEEE dashed;
+		text-align: center;
+		padding: 50rpx 20rpx;
+		padding-bottom: 30rpx;
+	}
+
+	.money {
+		font-size: 44rpx;
+		color: #333333;
+		font-weight: bold;
+		margin-bottom: 10rpx;
+	}
+
+	.condition {
+		font-size: 28rpx;
+		color: #999999;
+	}
+
+	.point {
+		width: 30rpx;
+		height: 30rpx;
+		background-color: #BE573F;
+		border-radius: 15rpx;
+	}
+
+	.leftP {
+		float: left;
+		margin-left: -15rpx;
+		margin-top: -15rpx;
+	}
+
+	.rightP {
+		float: right;
+		margin-right: -15rpx;
+		margin-top: -15rpx;
+	}
+
+	.secondView {
+		padding: 30rpx 40rpx;
+	}
+
+	.valid {
+		margin-bottom: 20rpx;
+	}
+
+	.same {
+		font-size: 28rpx;
+		color: #666666;
+	}
+
+	.thirdView {
+		padding: 30rpx 40rpx;
+		border: 1rpx #EEEEEE solid;
+	}
+
+	.thirdTitle {
+		font-size: 32rpx;
+		color: #333333;
+		margin-bottom: 20rpx;
+	}
+
+	.store {
+		display: flex;
+		align-items: center;
+		margin-bottom: 20rpx;
+	}
+
+	.grayPoint {
+		width: 12rpx;
+		height: 12rpx;
+		border-radius: 6rpx;
+		background-color: #DDDDDD;
+		margin-right: 15rpx;
+	}
+	.itemContent{
+		padding: 30rpx 40rpx;
+	}
+</style>

+ 263 - 0
pages/me/feedBack.vue

@@ -0,0 +1,263 @@
+<template>
+	<view class="content">
+		<view class="main">
+			<!-- 建议 -->
+			<view class="firstView">
+				<view class="title">您的问题或建议</view>
+				<view>
+					<textarea placeholder-style="color:#999999" placeholder="输入个人意见反馈" v-model="exeContent"
+						class="textareaCont" maxlength="-1" auto-height="true" @confirm="feedDone" />
+				</view>
+			</view>
+
+			<!-- 图片 -->
+			<view class="secondView">
+				<view class="title">上传图片</view>
+				<view class="imgBox">
+					<view class="imgLine" v-for="(img,imgindex) in imgArr">
+						<image :class="{img4:(imgindex+1)%4==0}" :src="img" mode="" class="itemImg"></image>
+						<image src="../../static/img/icon_delpic@2x.png" mode="" class="delImg"
+							@click="delimg(imgindex)"></image>
+					</view>
+					<view class="imgLine" @click="uploadImg">
+						<image src="../../static/img/icon_addpic@2x.png" mode="" class="itemImg"></image>
+					</view>
+				</view>
+			</view>
+
+
+		</view>
+
+		<view class="bottom">
+			<view class="shoreDz" @click="submit">提交</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import nodata from '@/components/nodata/nodata.vue'
+	export default {
+		components: {
+			nodata
+		},
+		data() {
+			return {
+				imgArr: [],
+				exeContent: '',
+				
+			}
+		},
+		
+		methods: {
+			feedDone(e) {
+				this.exeContent = e.target.value
+				
+			},
+			uploadImg() {
+
+				var that = this;
+				var length=this.imgArr.length;
+				var num=9;
+				if(length>8){
+					uni.showToast({
+						title: '最多上传9张',
+						icon: 'none',
+						duration: 2000,
+					});
+					return false;
+				}
+				uni.chooseImage({
+					sourceType: ['album','camera'],
+					count:num-length, 
+					success: (chooseImageRes) => {
+						const tempFilePaths = chooseImageRes.tempFilePaths;
+						/* uni.uploadFile({
+				            url: that.$request.baseUrl+'accompany/SuperCheckSheet/uploadFile', //仅为示例,非真实的接口地址
+				            filePath: tempFilePaths[0],
+				            name: 'file',
+				            formData: {
+				                'user': 'test'
+				            },
+				            success: (uploadFileRes) => {
+				                console.log(JSON.parse(uploadFileRes.data).data );
+								that.imgArr=that.imgArr.concat(JSON.parse(uploadFileRes.data).data) ;
+								
+				            }
+				        }); */
+						tempFilePaths.forEach(v => {
+							console.log(that.$request.baseUrl + 'tuhuUploadFile');
+							uni.uploadFile({
+								url: that.$request.baseUrl + 'tuhuUploadFile',
+								filePath: v,
+								name: 'file',
+								formData: {
+									'user': 'test'
+								},
+								
+								success: (uploadFileRes) => {
+
+									console.log(JSON.parse(uploadFileRes.data).data);
+									that.imgArr = that.imgArr.concat(JSON.parse(
+										uploadFileRes.data).data);
+								}
+							});
+						})
+						/* that.$http('accompany/SuperCheckSheet/uploadFile', tempFilePaths[0], 'POST').then(res => {
+							
+						}) */
+					}
+				});
+			},
+			delimg(index) {
+				this.imgArr.splice(index, 1)
+			},
+			submit() {
+				if (!this.exeContent) {
+					uni.showToast({
+						title: '请输入个人意见反馈',
+						icon: 'none',
+						duration: 2000,
+					});
+					return ;
+				}
+				// if (this.imgArr.length == 0) {
+				// 	uni.showToast({
+				// 		title: '请上传图片',
+				// 		icon: 'none',
+				// 		duration: 2000,
+				// 	});
+				// 	return ;
+				// }
+				uni.showLoading({});
+				var exeImg = this.imgArr.join(',')
+				this.$http('miniAppMyBMemberCar/addBMemberSuggest', {
+					
+					contents: this.exeContent,
+					img: exeImg
+				}, 'POST').then(res => {
+					//this.submitSuperCheckSheet()
+					if(res.code==0){
+						uni.showToast({
+							title: '提交成功',
+							icon: 'none',
+							duration: 2000,
+						});
+						setTimeout(function() {
+							uni.navigateBack({
+								
+							})
+						}, 2000); 	
+					}else{
+						uni.showToast({
+							title: '提交失败',
+							icon: 'none',
+							duration: 2000,
+						});
+					}
+					
+					
+
+				})
+			}
+
+		}
+	}
+</script>
+
+<style scoped>
+	.content {
+		background: #F4F5F7;
+		min-height: 100vh;
+
+	}
+
+	/* #ifdef H5 */
+	.content {
+		background: #F4F5F7;
+		min-height: calc(100vh - 44px);
+
+	}
+
+	/* #endif */
+	.main {
+		background: #F4F5F7;
+		padding: 20rpx 24rpx;
+	}
+
+	.firstView,
+	.secondView {
+		background-color: #FFFFFF;
+		border-radius: 10rpx;
+	}
+
+	.firstView {
+		margin-bottom: 20rpx;
+	}
+
+	.title {
+		font-size: 30rpx;
+		color: #3C3C3C;
+		padding: 20rpx;
+	}
+
+	.textareaCont {
+		padding: 20rpx;
+		min-height: 150rpx;
+		width: 95%;
+	}
+
+
+	.imgBox {
+		display: flex;
+		flex-wrap: wrap;
+		padding: 20rpx;
+
+	}
+	.imgLine{
+		position: relative;
+		margin-right: 10rpx;
+	}
+	.itemImg {
+		width: 150rpx;
+		height: 150rpx;
+		margin-right: 5rpx;
+	}
+
+	/* .img4 {
+		margin-right: 20rpx;
+		
+	} */
+
+	.delImg {
+		width: 32rpx;
+		height: 32rpx;
+		position: absolute;
+		right: 0rpx;
+		top: 0rpx;
+	}
+
+
+	.bottom {
+		width: 750rpx;
+		height: 120rpx;
+		background: #FFFFFF;
+		box-shadow: 0px -4px 8px 0px rgba(153, 153, 153, 0.08);
+		position: fixed;
+		left: 0;
+		bottom: 0;
+		display: flex;
+		justify-content: space-around;
+	}
+
+	.shoreDz {
+		width: 702rpx;
+		height: 74rpx;
+		background: linear-gradient(124deg, #FF8700 0%, #FF4F00 100%);
+		border-radius: 37rpx;
+		text-align: center;
+		line-height: 74rpx;
+		color: #FFFFFF;
+		font-size: 30rpx;
+		margin-top: 24rpx;
+	}
+</style>

+ 17 - 9
pages/me/me.vue

@@ -46,7 +46,7 @@
 						<view class="orderNum" v-show="numList.sheetThree>0">{{numList.sheetThree}}</view>
 						<image src="../../static/img/icon_daiyuyue.png" mode="" class="orderLineImg"></image>
 					</view>
-					<view class="orderLineTxt">待预约</view>
+					<view class="orderLineTxt">待收货</view>
 				</view>
 
 				<view class="orderLine" @click="goorder(4)">
@@ -56,7 +56,7 @@
 					</view>
 					<view class="orderLineTxt">待服务</view>
 				</view>
-				<view class="orderLine" @click="goorder(3)">
+				<view class="orderLine" @click="goorder(5)">
 					<view class="orderImgBox">
 						<view class="orderNum" v-show="numList.sheetFive>0">{{numList.sheetFive}}</view>
 						<image src="../../static/img/icon_daipingjia.png" mode="" class="orderLineImg"></image>
@@ -70,16 +70,24 @@
 		<view class="rowBoxBg">
 			<view class="rowBox">
 				<view class="leftView">
-					<image src="../../static/img/icon_shouhou.png" mode="" class="liftIcon"></image>
-					<view class="rowTitle">售后订单</view>
+					<image src="../../static/img/icon_tuikuan.png" mode="" class="liftIcon"></image>
+					<view class="rowTitle">退款申请记录</view>
 				</view>
 				<image src="../../static/img/rightArrow.png" mode="" class="rightArrow"></image>
+			</view>
+			
+			<view class="rowBox">
+				<view class="leftView">
+					<image src="../../static/img/icon_tihuan.png" mode="" class="liftIcon"></image>
+					<view class="rowTitle">更换门店申请记录</view>
+				</view>
+				<image src="../../static/img/rightArrow.png" mode="" class="rightArrow"></image>
 			</view>
 		</view>
 
 		<!-- 我的 相关 -->
 		<view class="rowBoxBg">
-			<view class="rowBox">
+			<view class="rowBox" @click="gonavigateTo('../index/cailist')">
 				<view class="leftView">
 					<image src="../../static/img/icon_car.png" mode="" class="liftIcon"></image>
 					<view class="rowTitle">我的车库</view>
@@ -88,7 +96,7 @@
 			</view>
 			<view class="grayline"></view>
 				
-			<view class="rowBox">
+			<view class="rowBox" @click="gonavigateTo('discountCard')">
 				<view class="leftView">
 					<image src="../../static/img/icon_youhuiquan.png" mode="" class="liftIcon"></image>
 					<view class="rowTitle">我的优惠券</view>
@@ -97,7 +105,7 @@
 			</view>
 			<view class="grayline"></view>
 			
-			<view class="rowBox">
+			<view class="rowBox" @click="gonavigateTo('myAppraise')">
 				<view class="leftView">
 					<image src="../../static/img/icon_pingjia.png" mode="" class="liftIcon"></image>
 					<view class="rowTitle">我的评价</view>
@@ -130,7 +138,7 @@
 			</view>
 			<view class="grayline"></view>
 				
-			<view class="rowBox">
+			<view class="rowBox" @click="gonavigateTo('feedBack')">
 				<view class="leftView">
 					<image src="../../static/img/icon_fankui.png" mode="" class="liftIcon"></image>
 					<view class="rowTitle">意见反馈</view>
@@ -139,7 +147,7 @@
 			</view>
 			<view class="grayline"></view>
 			
-			<view class="rowBox">
+			<view class="rowBox" @click="gonavigateTo('')">
 				<view class="leftView">
 					<image src="../../static/img/icon_guanyu.png" mode="" class="liftIcon"></image>
 					<view class="rowTitle">关于我们</view>

+ 305 - 0
pages/me/myAppraise.vue

@@ -0,0 +1,305 @@
+<template>
+	<view class="content">
+
+		<!-- 列表 -->
+		<view class="itemContent">
+			<view v-for="(item,index) in itemData" :key="index" @click="goDetail(item)">
+				<view class="item">
+
+					<view class="leftView">
+						<image :src='item.PhotoPath' v-if="item.PhotoPath" class="storeImg"></image>
+						<image src="../../static/img/pic_def_ava.png"  mode="" class="storeImg" v-else></image>
+					</view>
+
+					<view class="rightView">
+						<!-- 第一行 -->
+						<view class="firstView">
+							<view class="shopName">{{item.ShopName}}</view>
+							<!-- 时间截取 -->
+							<!-- <view class="time">2021-9-05</view> -->
+							<view class="time">{{item.CreateTime.slice(0,item.CreateTime.length-8)}}</view>
+						</view>
+
+						<!-- 第2行 -->
+						<view class="secondView">
+							<!-- 星星 -->
+							<uni-rate :value="item.Overallevaluation" :max="5" color="#EEEEEE" active-color="#FF4F00"
+								:size="16" :margin="4" :readonly="true" />
+							<image src="../../static/img/review_icon_del@2x.png" class="deleteBtn"
+								@click.stop="deleteItem(item, index)"></image>
+						</view>
+
+						<view class="contentMes">{{item.EContent}}</view>
+
+						<!-- 照片 -->
+						<view class="imgBg">
+							<view v-for="(itemImg,indexImg) in item.imgs" :key="indexImg">
+
+								<image :src="itemImg.imageUrl" class="img"
+									@click.stop="previewImage(itemImg.imageUrl,item.imgs)"></image>
+							</view>
+						</view>
+
+						<!-- 商家回复 -->
+
+						<view class="writeBack" v-if="item.ReplyContent">商家回复:{{item.ReplyContent}}</view>
+					</view>
+
+
+
+				</view>
+			</view>
+		</view>
+
+		<!-- 上拉 加载更多 -->
+		<view class="noMore" v-if="noMoreShow">没有更多数据</view>
+		<!-- 无数据空白页 -->
+		<nodata v-if="itemData.length==0"></nodata>
+
+	</view>
+</template>
+
+<script>
+	import nodata from '../../components/nodata/nodata.vue'
+	export default {
+		components: {
+			nodata,
+		},
+		data() {
+			return {
+				itemData: [],
+				page: 1,
+				noMoreShow: false,
+				imgArr: [],
+			}
+		},
+		onLoad(opt) {
+			
+		},
+		onShow() {
+			this.itemData=[]
+			this.page = 1
+			this.getItemData()
+		},
+		methods: {
+			goDetail(item){
+				uni.navigateTo({
+					url:'myAppraiseDetail?id='+item.SheetID
+				})
+			},
+			previewImage(img, arrDic) {
+				var arr = [];
+
+				arrDic.forEach(item => {
+					arr.push(item.imageUrl)
+				})
+
+				// 预览图片
+				uni.previewImage({
+					urls: arr,
+					current: img,
+					longPressActions: {
+						itemList: ['发送给朋友', '保存图片', '收藏'],
+						success: function(data) {
+							console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
+						},
+						fail: function(err) {
+							console.log(err.errMsg);
+						}
+					}
+				});
+			},
+			deleteItem(item, index) {
+				var that=this;
+				uni.showModal({
+				    title: '提示',
+				    content: '确定删除该条评价吗?',
+				    success: function (res) {
+						 if (res.confirm) {
+							 that.itemData.splice(index, 1);
+							 uni.showLoading({
+							 	title: '删除中'
+							 })
+							 
+							 let url = 'miniAppMyBMemberCar/deleteMyBMEvaluate',
+							 	params = {
+							 		id: item.ID,
+							 
+							 	}
+							 that.$http(url, params, 'POST').then(res => {
+							 	uni.hideLoading();
+							 
+							 	that.page = 1
+							 	that.getItemData()
+							 
+							 })
+						 }
+				       
+				    }
+				});
+				
+			},
+			getItemData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = 'miniAppMyBMemberCar/listBMEvaluatePage',
+					params = {
+						page: this.page,
+						limit: 20,
+
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var list = res.data.Items
+
+					// 处理 undefined和null转为空白字符串
+					list.forEach((item, index) => {
+						for (const key in item) {
+							item[key] = this.$praseStrEmpty(item[key])
+						}
+					})
+
+
+					if (this.page == 1) {
+						this.itemData = list
+					} else {
+						this.itemData = this.itemData.concat(list)
+					}
+
+					if (list.length < 10) {
+						this.noMoreShow = false
+					} else {
+						this.noMoreShow = true
+					}
+
+
+				})
+			},
+
+		},
+
+		// 下拉刷新 上拉加载更多
+		onPullDownRefresh() {
+			this.page = 1
+			this.getItemData()
+			setTimeout(function() {
+				uni.stopPullDownRefresh();
+			}, 1000);
+		},
+		onReachBottom() {
+			this.page++;
+			this.getItemData()
+		},
+
+	}
+</script>
+
+<style scoped>
+	.content {
+		background: #FFFFFF;
+		min-height: 100vh;
+
+	}
+
+
+
+	.item {
+		display: flex;
+		justify-content: flex-start;
+		padding: 0 24rpx;
+		background-color: #FFFFFF;
+
+	}
+
+	.leftView {
+		width: 117rpx;
+		padding-right: 20rpx;
+	}
+
+	.storeImg {
+		width: 72rpx;
+		height: 72rpx;
+		border-radius: 8rpx;
+		margin-top: 30rpx;
+	}
+
+	.rightView {
+		border-bottom: 1rpx #EEEEEE solid;
+		width: 100vw;
+	}
+
+	.firstView,
+	.secondView {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+
+	}
+
+	.firstView {
+		padding-top: 30rpx;
+	}
+
+	.secondView {
+		padding-top: 12rpx;
+		padding-bottom: 20rpx;
+	}
+
+	.shopName {
+		/* padding-top: 30rpx;
+		padding-bottom: 10rpx; */
+		font-size: 26rpx;
+		font-weight: bold;
+		color: #333333;
+	}
+
+	.time {
+		font-size: 26rpx;
+		color: #999999;
+	}
+
+	.deleteBtn {
+		width: 36rpx;
+		height: 36rpx;
+	}
+
+	.contentMes {
+		font-size: 26rpx;
+		color: #666666;
+		line-height: 37rpx;
+		/* padding-top: 20rpx; */
+
+	}
+
+	.imgBg {
+		display: flex;
+		justify-content: flex-start;
+		padding: 30rpx 0rpx;
+		flex-wrap: wrap;
+	}
+
+	.img {
+		width: 140rpx;
+		height: 140rpx;
+		margin-right: 5rpx;
+		border-radius: 8rpx;
+	}
+
+	.writeBack {
+		font-size: 26rpx;
+		color: #666666;
+		line-height: 37rpx;
+		padding: 20rpx;
+		background-color: #F4F5F7;
+		
+		padding-bottom: 20rpx;
+	}
+
+	.noMore {
+		text-align: center;
+		line-height: 50rpx;
+		color: #999999;
+		font-size: 28rpx;
+	}
+</style>

+ 286 - 0
pages/me/myAppraiseDetail.vue

@@ -0,0 +1,286 @@
+<template>
+	<view class="content">
+
+		<!-- 列表 -->
+		<view class="itemContent">
+			
+				<view class="item">
+
+					<view class="leftView">
+						<image :src='detail.PhotoPath' v-if="detail.PhotoPath" class="storeImg"></image>
+						<image src="../../static/img/pic_def_ava.png"  mode="" class="storeImg" v-else></image>
+					</view>
+
+					<view class="rightView">
+						<!-- 第一行 -->
+						<view class="firstView">
+							<view class="shopName">{{detail.Evaluator}}</view>
+							<!-- 时间截取 -->
+							<!-- <view class="time">2021-9-05</view> -->
+							<view class="time">{{detail.CreateTime.slice(0,detail.CreateTime.length-8)}}</view>
+						</view>
+
+						<!-- 第2行 -->
+						<view class="secondView">
+							<!-- 星星 -->
+							<uni-rate :value="detail.Overallevaluation" :max="5" color="#EEEEEE" active-color="#FF4F00"
+								:size="16" :margin="4" :readonly="true" />
+							<image src="../../static/img/review_icon_del@2x.png" class="deleteBtn"
+								@click="deleteItem(detail, index)"></image>
+						</view>
+
+						<view class="contentMes">{{detail.EContent}}</view>
+
+						<!-- 照片 -->
+						<view class="imgBg">
+							<view v-for="(itemImg,indexImg) in detail.imgs" :key="indexImg">
+
+								<image :src="itemImg.imageUrl" class="img"
+									@click="previewImage(itemImg.imageUrl,detail.imgs)"></image>
+							</view>
+						</view>
+
+						<!-- 商家回复 -->
+
+						<view class="writeBack" v-if="detail.ReplyContent">商家回复:{{detail.ReplyContent}}</view>
+					</view>
+
+
+
+				</view>
+			</view>
+	
+
+	
+
+	</view>
+</template>
+
+<script>
+	import nodata from '../../components/nodata/nodata.vue'
+	export default {
+		components: {
+			nodata,
+		},
+		data() {
+			return {
+				itemData: [],
+				page: 1,
+				noMoreShow: false,
+				imgArr: [],
+				sheetId:'',
+				detail:"",
+			}
+		},
+		onLoad(opt) {
+			this.sheetId=opt.id
+			this.getItemData()
+		},
+		methods: {
+			previewImage(img, arrDic) {
+				var arr = [];
+
+				arrDic.forEach(item => {
+					arr.push(item.imageUrl)
+				})
+
+				// 预览图片
+				uni.previewImage({
+					urls: arr,
+					current: img,
+					longPressActions: {
+						itemList: ['发送给朋友', '保存图片', '收藏'],
+						success: function(data) {
+							console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
+						},
+						fail: function(err) {
+							console.log(err.errMsg);
+						}
+					}
+				});
+			},
+			deleteItem(item, index) {
+				var that=this;
+				uni.showModal({
+				    title: '提示',
+				    content: '确定删除该条评价吗?',
+				    success: function (res) {
+						 if (res.confirm) {
+							 that.itemData.splice(index, 1);
+							 uni.showLoading({
+							 	title: '删除中'
+							 })
+							 
+							 let url = 'miniAppMyBMemberCar/deleteMyBMEvaluate',
+							 	params = {
+							 		id: item.ID,
+							 
+							 	}
+							 that.$http(url, params, 'POST').then(res => {
+							 	uni.hideLoading();
+							 
+							 	that.page = 1
+							 	uni.navigateBack({
+							 		delta:1
+							 	})
+							 
+							 })
+						 }
+				       
+				    }
+				});
+				
+			},
+			getItemData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = 'miniAppMyBMemberCar/queryBMEvaluateDetail',
+					params = {
+						sheetId:this.sheetId
+
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					this.detail = res.data
+
+					// 处理 undefined和null转为空白字符串
+					/* list.forEach((item, index) => {
+						for (const key in item) {
+							item[key] = this.$praseStrEmpty(item[key])
+						}
+					}) */
+
+
+				
+
+
+				})
+			},
+
+		},
+
+		// 下拉刷新 上拉加载更多
+		onPullDownRefresh() {
+			this.page = 1
+			this.getItemData()
+			setTimeout(function() {
+				uni.stopPullDownRefresh();
+			}, 1000);
+		},
+		onReachBottom() {
+			this.page++;
+			this.getItemData()
+		},
+
+	}
+</script>
+
+<style scoped>
+	.content {
+		background: #FFFFFF;
+		min-height: 100vh;
+
+	}
+
+
+
+	.item {
+		display: flex;
+		justify-content: flex-start;
+		padding: 0 24rpx;
+		background-color: #FFFFFF;
+
+	}
+
+	.leftView {
+		width: 117rpx;
+		padding-right: 20rpx;
+	}
+
+	.storeImg {
+		width: 72rpx;
+		height: 72rpx;
+		border-radius: 8rpx;
+		margin-top: 30rpx;
+	}
+
+	.rightView {
+		border-bottom: 1rpx #EEEEEE solid;
+		width: 100vw;
+	}
+
+	.firstView,
+	.secondView {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+
+	}
+
+	.firstView {
+		padding-top: 30rpx;
+	}
+
+	.secondView {
+		padding-top: 12rpx;
+		padding-bottom: 20rpx;
+	}
+
+	.shopName {
+		/* padding-top: 30rpx;
+		padding-bottom: 10rpx; */
+		font-size: 26rpx;
+		font-weight: bold;
+		color: #333333;
+	}
+
+	.time {
+		font-size: 26rpx;
+		color: #999999;
+	}
+
+	.deleteBtn {
+		width: 36rpx;
+		height: 36rpx;
+	}
+
+	.contentMes {
+		font-size: 26rpx;
+		color: #666666;
+		line-height: 37rpx;
+		/* padding-top: 20rpx; */
+
+	}
+
+	.imgBg {
+		display: flex;
+		justify-content: flex-start;
+		padding: 30rpx 0rpx;
+		flex-wrap: wrap;
+	}
+
+	.img {
+		width: 140rpx;
+		height: 140rpx;
+		margin-right: 5rpx;
+		border-radius: 8rpx;
+	}
+
+	.writeBack {
+		font-size: 26rpx;
+		color: #666666;
+		line-height: 37rpx;
+		padding: 20rpx;
+		background-color: #F4F5F7;
+		
+		padding-bottom: 20rpx;
+	}
+
+	.noMore {
+		text-align: center;
+		line-height: 50rpx;
+		color: #999999;
+		font-size: 28rpx;
+	}
+</style>

+ 4 - 2
pages/order/myorder.vue

@@ -3,8 +3,10 @@
 		<view class="tab">
 			<view class="tabLine" :class="{tabActive:tabIndex==5}" @click="tabClick(5)">全部</view>
 			<view class="tabLine" :class="{tabActive:tabIndex==1}"  @click="tabClick(1)">待付款</view>
-			<view class="tabLine" :class="{tabActive:tabIndex==2}"  @click="tabClick(2)">待服务</view>
-			<view class="tabLine" :class="{tabActive:tabIndex==4}"  @click="tabClick(4)">待评价</view>
+			<view class="tabLine" :class="{tabActive:tabIndex==2}"  @click="tabClick(2)">待确认</view>
+			<view class="tabLine" :class="{tabActive:tabIndex==4}"  @click="tabClick(3)">待收货</view>
+			<view class="tabLine" :class="{tabActive:tabIndex==2}"  @click="tabClick(4)">待服务</view>
+			<view class="tabLine" :class="{tabActive:tabIndex==4}"  @click="tabClick(5)">待评价</view>
 		</view>
 		<view class="main">
 		  <view class="itemLine" v-for="(item,index) in items" @click="goDetail(item.ID)">

+ 810 - 0
pages/shop/ckShop.vue

@@ -0,0 +1,810 @@
+<template>
+	<view class="content">
+		<view class="top">
+
+			<!-- 			<view class="shopMr" v-show="shopDefault">
+				<view class="shopMrMs">默认门店</view>
+				<view class="shopBox">
+					    <view class="">
+						 <image :src="shopDefault.photoPath" mode="" class="shopImg"></image>
+						</view>
+						<view class="shopCont">
+							<view class="shopName">{{shopDefault.shopName}}</view>
+							<view class="flex shopRight">
+								<view>
+								<span class="span2" >暂无评分</span>
+									<span class="span3">服务次数 </span>
+								</view>
+								<view class="shopBq">{{shopDefault.levelName}}</view>
+							</view>
+							<view class="shopTime"><span v-show="shopDefault.startTime">{{shopDefault.startTime}}</span> - <span v-show="shopDefault.endTime">{{shopDefault.endTime}}</span> </view>
+							<view class="flex addressBox">
+								<view class="address" > <span v-show="shopDefault.address"> {{shopDefault.address}}</span></view>
+								<view class="shopKm" v-show="shopDefault.distance">{{shopDefault.distance}}km</view>
+							</view>
+						</view>
+					
+				</view>
+			</view> -->
+			<!-- tab -->
+			<view class="topView">
+
+				<view class="tab">
+					<!-- 93rpx -->
+					<view class="tabLine" :class="{tabActive:tabindex==1}" @click="tabindexClick(1)">全部</view>
+					<view class="tabLine" :class="{tabActive:tabindex==2}" @click="tabindexClick(2)">关注</view>
+					<view class="tabLine" :class="{tabActive:tabindex==3}" @click="tabindexClick(3)">足迹</view>
+				</view>
+			</view>
+
+
+
+			<!-- 全部门店页 -->
+			<view class="allShop" v-show="tabindex==1">
+				<view class="firstTop">
+
+					<view class="search">
+						<!-- 120rpx -->
+						<view class="searchVIew">
+							<image src="../../static/img/icon_search.png" mode="" class="searchIMg"></image>
+							<input type="text" value="" placeholder="请输入门店名称" class="searchInput" v-model="shopName"
+								@confirm="searchList" />
+							<image src="../../static/img/icon_search_del.png" v-show="shopName" mode="" class="ssScImg"
+								@click="searchSc"></image>
+						</view>
+					</view>
+					<view class="screen">
+						<view class="screenLine">
+							<view class="screenLineTxt" @click="showCity=true,comprehensiveShow=false,levelShow=false">
+								{{cityname}}
+							</view>
+							<image src="../../static/img/icon_arrow_gray.png" mode="" v-show="!showCity"
+								class="screenJt">
+							</image>
+							<image src="../../static/img/icon_arrow_cheng.png" mode="" v-show="showCity"
+								class="screenJt">
+							</image>
+						</view>
+						<view class="screenLine" @click="mdlx">
+							<view class="screenLineTxt " :class="{colorCS:levelShow}">门店类型</view>
+							<image src="../../static/img/icon_arrow_gray.png" mode="" class="screenJt"
+								v-show="!levelShow">
+							</image>
+							<image src="../../static/img/icon_arrow_cheng.png" mode="" v-show="levelShow"
+								class="screenJt">
+							</image>
+						</view>
+						<view class="screenLine" @click="juli" :class="{colorCS:comprehensiveShow}">
+							<view class="screenLineTxt" v-if="comprehensive==0">综合排序</view>
+							<view class="screenLineTxt" v-if="comprehensive==1">距离最近</view>
+							<view class="screenLineTxt" v-if="comprehensive==2">评分最高</view>
+							<image src="../../static/img/icon_arrow_gray.png" mode="" v-show="!comprehensiveShow"
+								class="screenJt"></image>
+							<image src="../../static/img/icon_arrow_cheng.png" mode="" v-show="comprehensiveShow"
+								class="screenJt"></image>
+						</view>
+
+					</view>
+
+					<!-- 门店类型弹框 -->
+					<view class="shoplevelBox" v-show="levelShow" @click="levelShow=false">
+						<view class="shoplevelCont">
+							<view class="shoplevelLine" v-for="(item,index) in shopLevel" @click.stop="levelClick(item)"
+								:class="{shoplevalActive:item.ckeck}">{{item.name}}</view>
+						</view>
+						<view class="shoplevelBottom">
+							<view class="shoplevelReset" @click.stop="shoplevelReset">重置</view>
+							<view class="shoplevelsbu" @click.shop="shoplevelsbu">确定</view>
+						</view>
+					</view>
+					<!-- 门店类型弹框 -->
+					<!-- 综合排序 -->
+					<view class="shoplevelBox " v-show="comprehensiveShow" @click="comprehensiveShow=false">
+						<view class="shoplevelCont ">
+							<view class="comprehensivebox">
+								<view class="comprehensiveLine" :class="{comprehensiveACtive:comprehensive==0}"
+									@click.stop="comprehensiveClick(0)">综合排序</view>
+								<view class="comprehensiveLine" :class="{comprehensiveACtive:comprehensive==1}"
+									@click.stop="comprehensiveClick(1)">距离最近</view>
+								<view class="comprehensiveLine" :class="{comprehensiveACtive:comprehensive==2}"
+									@click.stop="comprehensiveClick(2)">评分最高</view>
+							</view>
+
+						</view>
+
+					</view>
+					<!-- 综合排序 -->
+				</view>
+				<view class="shopLineBoxFirst">
+					<view class="shopBox shopBox2" v-for="(item,index) in queryShopList"
+						@click="addBMemberShopIsDefault(item)">
+						<view class="">
+							<image :src="item.photoPath" mode="" class="shopImg" v-if="item.photoPath"></image>
+							<image src="../../static/img/noimg.png" mode="" class="shopImg" v-else></image>
+						</view>
+						<view class="shopCont">
+							<view class="shopName">{{item.shopName}}</view>
+							<view class="flex shopRight">
+								<view>
+									<span class="span1" v-if="item.shopScore">{{item.shopScore}}</span>
+									<span class="span2" v-if="item.shopScore">分</span>
+									<span class="span2" v-if="!item.shopScore">暂无评分</span>
+									<span class="span3">服务次数  {{item.sheetSum}}</span>
+								</view>
+								<view class="shopBq" v-show="item.levelName">{{item.levelName}}</view>
+							</view>
+							<view class="shopTime"><span v-show="item.startTime">{{item.startTime}}</span> - <span
+									v-show="item.endTime">{{item.endTime}}</span> </view>
+							<view class="flex addressBox">
+								<view class="address"> <span v-show="item.address"> {{item.address}}</span></view>
+								<view class="shopKm" v-show="item.distance">{{item.distance}}km</view>
+							</view>
+
+						</view>
+
+					</view>
+					<view v-if="queryShopList==''" class="nodataBox">
+						<image src="../../static/img/nodata.png" mode="widthFix" class="nodataImg"></image>
+						<view class="noTxt">暂无数据</view>
+					</view>
+				</view>
+
+			</view>
+			<!-- 关注的门店页-->
+			<view class="allShop" v-show="tabindex==2">
+				<view class="shopLineBox">
+					<view class="shopBox shopBox2" v-for="(item,index) in bMemberShopList"
+						@click="addBMemberShopIsDefault(item)">
+						<view class="">
+							<image :src="item.photoPath" mode="" class="shopImg" v-if="item.photoPath"></image>
+							<image src="../../static/img/noimg.png" mode="" class="shopImg" v-else></image>
+						</view>
+						<view class="shopCont">
+							<view class="shopName">{{item.shopName}}</view>
+							<view class="flex shopRight">
+								<view>
+									<span class="span1" v-if="item.shopScore">{{item.shopScore}}</span>
+									<span class="span2" v-if="item.shopScore">分</span>
+									<span class="span2" v-if="!item.shopScore">暂无评分</span>
+									<span class="span3">服务次数 {{item.sheetSum}} </span>
+								</view>
+								<view class="shopBq" v-show="item.levelName">{{item.levelName}}</view>
+							</view>
+							<view class="shopTime"><span v-show="item.startTime">{{item.startTime}}</span> - <span
+									v-show="item.endTime">{{item.endTime}}</span> </view>
+							<view class="flex addressBox">
+								<view class="address"> <span v-show="item.address"> {{item.address}}</span></view>
+								<view class="shopKm" v-show="item.distance">{{item.distance}}km</view>
+							</view>
+						</view>
+
+					</view>
+					<view v-if="bMemberShopList==''" class="nodataBox">
+						<image src="../../static/img/nodata.png" mode="widthFix" class="nodataImg"></image>
+						<view class="noTxt">暂无数据</view>
+					</view>
+				</view>
+
+			</view>
+
+			<!-- 足迹页 -->
+			<view class="allShop" v-show="tabindex==3">
+				<view class="footLine">
+					<view v-for="(v,i) in shopFootprintList">
+						<view class="timeDate">
+							{{v.date}}
+						</view>
+						<view class="shopBox shopBox2" v-for="(item,index) in v.list"
+							@click="addBMemberShopIsDefault(item)">
+							<view class="">
+								<image :src="item.photoPath" mode="" class="shopImg" v-if="item.photoPath"></image>
+								<image src="../../static/img/noimg.png" mode="" class="shopImg" v-else></image>
+							</view>
+							<view class="shopCont">
+								<view class="shopName">{{item.shopName}}</view>
+								<view class="flex shopRight">
+									<view>
+										<span class="span1" v-if="item.shopScore">{{item.shopScore}}</span>
+										<span class="span2" v-if="item.shopScore">分</span>
+										<span class="span2" v-if="!item.shopScore">暂无评分</span>
+										<span class="span3">服务次数 {{item.sheetSum}} </span>
+									</view>
+									<view class="shopBq" v-show="item.levelName">{{item.levelName}}</view>
+								</view>
+								<view class="shopTime">{{item.startTime}}-{{item.endTime}}</view>
+								<view class="flex addressBox">
+									<view class="address">{{item.address}}</view>
+									<view class="shopKm">{{item.distance}}km</view>
+								</view>
+							</view>
+
+						</view>
+					</view>
+
+				</view>
+				<view v-if="shopFootprintList==''" class="nodataBox">
+					<image src="../../static/img/nodata.png" mode="widthFix" class="nodataImg"></image>
+					<view class="noTxt">暂无数据</view>
+				</view>
+			</view>
+			<!-- 足迹 -->
+		</view>
+		<chose-city @selectCity="selectCity" v-if="showCity" @closeModal="closeModal"></chose-city>
+	</view>
+</template>
+
+<script>
+	import choseCity from "@/components/chose-city/chose-city"
+	export default {
+		components: {
+			choseCity
+		},
+		data() {
+			return {
+				tabindex: 1,
+				location: '',
+				cityname: '上海市',
+				queryShopList: '',
+				shopName: '',
+				level: '',
+				comprehensive: 0,
+				shopLevel: '',
+				levelShow: false,
+				comprehensiveShow: false,
+				shopDefault: '',
+				bMemberShopList: [],
+				shopFootprintList: [],
+				showCity: false,
+				page: 1,
+			}
+		},
+		onLoad() {
+			this.location = uni.getStorageSync("location");
+			if (this.location) {
+				this.cityname = this.location.cityname
+			} else {
+				//初始化数据
+				this.location = {
+					cityname: '',
+					cityCode: ''
+				}
+			}
+			this.getqueryShopList() //获取全部门店列表
+			this.getqueryBShopLevel() //查询门店等级
+			this.getbMemberShopList() //关注门店
+			this.getShopFootprint()
+			this.shopDefault = uni.getStorageSync("shopData");
+			console.log(this.shopDefault)
+		},
+		methods: {
+			mdlx() {
+				this.levelShow = !this.levelShow;
+				this.comprehensiveShow = false;
+				this.showCity = false
+			},
+			juli() {
+				this.comprehensiveShow = !this.comprehensiveShow;
+				this.levelShow = false;
+				this.showCity = false
+			},
+			selectCity(item) {
+				console.log('-您选择的城市-', item)
+				this.location.cityname = item.name;
+				this.location.cityCode = item.citycode;
+				this.cityname = item.name;
+				console.log(this.location)
+				uni.setStorage({
+					key: 'location',
+					data: this.location,
+					success: function() {}
+				});
+				this.showCity = false;
+				this.getqueryShopList()
+
+
+			},
+			closeModal() {
+				this.showCity = false
+			},
+			addBMemberShopIsDefault(item) {
+				uni.showLoading({});
+				this.$http('miniAppShopInfoController/addBMemberShopIsDefault', {
+					shopId: item.shopId
+				}, 'POST').then(res => {
+					uni.hideLoading();
+					var token = res.data.token;
+					var logodata = uni.getStorageSync("logodata");
+					logodata.token = token;
+					uni.setStorage({
+						key: 'logodata',
+						data: logodata,
+						success: function() {
+							uni.setStorage({
+								key: 'shopData',
+								data: item,
+								success: function() {
+
+									if (res.code == 0) {
+										uni.navigateBack({
+											delta: 1
+										})
+									} else {
+										uni.showToast({
+											title: res.msg,
+											icon: 'none',
+											duration: 3000
+										});
+									}
+								}
+							});
+
+						}
+					});
+
+
+
+
+				})
+			},
+			getqueryShopList() {
+				uni.showLoading({});
+				this.$http('miniAppShopInfoController/queryShopList', {
+					shopName: this.shopName,
+					lat: this.location.lat,
+					lng: this.location.lng,
+					cityCode: this.location.cityCode,
+					comprehensive: this.comprehensive,
+					level: this.level,
+				}, 'GET').then(res => {
+					uni.hideLoading();
+					this.queryShopList = res.data
+				})
+			},
+			getbMemberShopList() { //门店
+				uni.showLoading({});
+				this.$http('miniAppMyBMemberCar/listBMemberShopPage', {
+					lat: this.location.lat,
+					lng: this.location.lng,
+					page: this.page,
+					limit: 10
+				}, 'GET').then(res => {
+					uni.hideLoading();
+					var a = res.data.Items
+					this.bMemberShopList = this.bMemberShopList.concat(a)
+				})
+			},
+			getShopFootprint() { //足迹
+				this.$http('miniAppMyBMemberCar/listBMemberShopFootprintPage', {
+					lat: this.location.lat,
+					lng: this.location.lng,
+					page: this.page,
+					limit: 10
+				}, 'GET').then(res => {
+					var a = res.data.Items;
+					//this.shopFootprintList=this.shopFootprintList.concat(a)
+					if (this.shopFootprintList.length == 0) {
+						this.shopFootprintList = this.shopFootprintList.concat(a);
+					} else {
+						console.log(a[0].date)
+						console.log(this.shopFootprintList[this.shopFootprintList.length - 1].date)
+						if (a[0].date == this.shopFootprintList[this.shopFootprintList.length - 1].date) {
+							this.shopFootprintList[this.shopFootprintList.length - 1].list.concat(a[0].list);
+							a.splice(0, 1);
+							this.shopFootprintList = this.shopFootprintList.concat(a);
+						} else {
+							this.shopFootprintList = this.shopFootprintList.concat(a);
+						}
+					}
+				})
+			},
+			searchList() {
+				this.getqueryShopList()
+			},
+			searchSc(){
+				
+				this.shopName = ''
+				this.getqueryShopList()
+			},
+			getqueryBShopLevel() {
+				this.$http('miniAppShopInfoController/queryBShopLevel', {
+
+				}, 'GET').then(res => {
+					res.data.forEach(item => {
+						item.ckeck = false;
+					})
+					this.shopLevel = res.data
+				})
+			},
+			levelClick(item) {
+				item.ckeck = !item.ckeck
+			},
+			shoplevelReset() {
+				this.shopLevel.forEach(item => {
+					item.ckeck = false;
+				})
+				// this.getqueryShopList()
+				// this.levelShow=false;
+			},
+			shoplevelsbu() {
+				var arr = []
+				this.shopLevel.forEach(item => {
+					if (item.ckeck) {
+						arr.push(item.id)
+					}
+				})
+				this.level = arr.join(',')
+				console.log(this.level)
+				this.levelShow = false;
+				this.getqueryShopList()
+			},
+			comprehensiveClick(num) {
+				this.comprehensive = num;
+				this.comprehensiveShow = false;
+				this.getqueryShopList()
+			},
+			tabindexClick(num) {
+				this.tabindex = num;
+				if (num == 2) {
+					this.page = 1;
+					this.bMemberShopList = [];
+					this.getbMemberShopList()
+				} else if (num == 3) {
+					this.page = 1;
+					this.shopFootprintList = [];
+					this.getShopFootprint()
+				}
+			}
+		},
+		onReachBottom() {
+			this.page++;
+			if (this.tabindex == 2) {
+				this.getbMemberShopList()
+			} else if (this.tabindex == 3) {
+				this.getShopFootprint()
+			}
+			//this.getData()
+		},
+		onPullDownRefresh() {
+			/* this.page=1;
+			  this.data=[];
+		      this.getData() */
+			setTimeout(function() {
+				uni.stopPullDownRefresh();
+			}, 1000);
+		}
+	}
+</script>
+
+<style scoped>
+	.nodataImg {
+		width: 400rpx;
+		padding-top: 100rpx;
+	}
+
+	.noTxt {
+		font-size: 36rpx;
+		color: #999999;
+		padding-top: 50rpx;
+	}
+
+	.nodataBox {
+		text-align: center;
+	}
+
+	.content {
+		min-height: 100vh;
+		background: #F4F5F7;
+	}
+
+	.shopMr {
+		padding: 34rpx 24rpx;
+		background: #FFFFFF;
+	}
+
+	.shopMrMs {
+		color: #999999;
+		font-size: 24rpx;
+	}
+
+	.shopImg {
+		width: 146rpx;
+		height: 146rpx;
+		border-radius: 6rpx;
+	}
+
+	.shopBox {
+		padding-top: 30rpx;
+		display: flex;
+	}
+
+	.flex {
+		display: flex;
+		justify-content: space-between;
+	}
+
+	.shopCont {
+		padding-left: 22rpx;
+		width: 520rpx;
+	}
+
+	.shopName {
+		color: #333333;
+		font-size: 26rpx;
+		font-weight: 600;
+	}
+
+	.span1 {
+		color: #FF4F00;
+		font-size: 36rpx;
+	}
+
+	.span2 {
+		color: #FF4F00;
+		font-size: 22rpx;
+	}
+
+	.span3 {
+		color: #333333;
+		font-size: 22rpx;
+		padding-left: 22rpx;
+	}
+
+	.shopBq {
+		color: #FF4F00;
+		font-size: 22rpx;
+		border-radius: 4rpx;
+		border: 1px solid #FF4F00;
+		line-height: 30rpx;
+		height: 30rpx;
+		padding: 0rpx 5rpx;
+		margin-top: 10rpx;
+	}
+
+	.shopTime {
+		color: #666666;
+		font-size: 22rpx;
+	}
+
+	.addressBox {
+		color: #666666;
+		font-size: 22rpx;
+	}
+
+	.topView {
+
+		width: 100%;
+		height: 93rpx;
+		background-color: #FFFFFF;
+		left: 0rpx;
+		top: 0rpx;
+		position: fixed;
+		z-index: 99;
+
+	}
+
+	.tab {
+		display: flex;
+		padding: 0 18rpx;
+		border-bottom: 1px solid #F4F5F7;
+		background: #FFFFFF;
+		margin-top: 20rpx;
+		justify-content: space-between;
+
+	}
+
+	.tabLine {
+		line-height: 88rpx;
+		color: #3C3C3C;
+		text-align: center;
+		width: 210rpx;
+		font-size: 30rpx;
+	}
+
+	.tabActive {
+		color: #FF4F00;
+		border-bottom: 4rpx solid #FF4F00;
+	}
+
+	.allShop {
+		background-color: #FFFFFF;
+		padding-top: 111rpx;
+	}
+	.firstTop{
+		width: 100%;
+		height: 175rpx;
+		background-color: #FFFFFF;
+		position: fixed;
+		top: 111rpx;
+		 z-index: 99;
+	}
+
+	.searchIMg {
+		width: 40rpx;
+		height: 40rpx;
+		margin-top: 16rpx;
+		margin-left: 20rpx;
+	}
+
+	.search {
+		padding: 24rpx;
+	}
+
+	.searchVIew {
+		display: flex;
+		background: #F4F5F7;
+		border-radius: 36rpx;
+		height: 72rpx;
+	}
+
+	.searchInput {
+		color: #999999;
+		font-size: 28rpx;
+		padding-left: 16rpx;
+		height: 72rpx;
+		line-height: 72rpx;
+		width: 550rpx;
+	}
+
+	.screenJt {
+		width: 40rpx;
+		height: 40rpx;
+	}
+
+	.screen {
+		display: flex;
+		justify-content: space-between;
+		padding: 0 24rpx 16rpx 24rpx;
+		border-bottom: 2rpx solid #EEEEEE;
+		position: relative;
+	}
+
+	.screenLine {
+		display: flex;
+		color: #333333;
+		font-size: 28rpx;
+
+	}
+	.shopLineBoxFirst{
+		padding: 0 25rpx;
+		padding-top: 175rpx;
+	}
+	.shopLineBox {
+		padding: 0 25rpx;
+		
+	}
+
+	.shopBox2 {
+		border-bottom: 2rpx solid #EEEEEE;
+		padding-bottom: 30rpx;
+	}
+
+	.shoplevelBox {
+		position: fixed;
+		left: 0;
+		width: 750rpx;
+		top: 288rpx;
+		background: rgba(0, 0, 0, 0.4);
+
+		z-index: 11;
+		border-top: 1px solid #EEEEEE;
+		border-bottom: 1px solid #EEEEEE;
+		height: calc(100vh - 288rpx);
+	}
+
+	/* #ifdef H5 */
+	.shoplevelBox {
+
+		top: calc(288rpx + 44px);
+
+	}
+
+	/* #endif */
+	.shoplevelCont {
+		display: flex;
+		flex-wrap: wrap;
+		background: #FFFFFF;
+		padding: 24rpx;
+	}
+
+	.shoplevelLine {
+		color: #333333;
+		line-height: 64rpx;
+		padding: 0 40rpx;
+		height: 64rpx;
+		background: #F4F5F7;
+		border-radius: 32rpx;
+		margin-right: 20rpx;
+		margin-bottom: 30rpx;
+	}
+
+	.shoplevelBottom {
+		display: flex;
+		justify-content: space-between;
+		padding-top: 60rpx;
+		padding-right: 24rpx;
+		background: #FFFFFF;
+		padding: 24rpx;
+	}
+
+	.shoplevelReset {
+		width: 320rpx;
+		height: 74rpx;
+		border-radius: 37rpx;
+		border: 2rpx solid #FF4F00;
+		text-align: center;
+		line-height: 74rpx;
+		font-size: 30rpx;
+		font-family: PingFangSC-Medium, PingFang SC;
+		font-weight: 500;
+		color: #FF4F00;
+	}
+
+	.shoplevelsbu {
+		width: 320rpx;
+		height: 74rpx;
+		background: #FF4F00;
+		border-radius: 37rpx;
+		font-size: 30rpx;
+		font-family: PingFangSC-Medium, PingFang SC;
+		font-weight: 500;
+		color: #FFFFFF;
+		text-align: center;
+		line-height: 74rpx;
+		border: 2rpx solid #FF4F00;
+	}
+
+	.shoplevalActive {
+		color: #FF4F00;
+		background: rgba(255, 79, 0, 0.08);
+
+	}
+
+	.comprehensiveLine {
+		/* 	width: 200rpx;
+		height: 60rpx;
+		line-height: 60rpx;
+		text-align: center;
+		border: 1px solid rgb(228, 228, 228);
+		border-radius: 10rpx; */
+		font-size: 26rpx;
+		font-family: PingFangSC-Regular, PingFang SC;
+		font-weight: 400;
+		color: #333333;
+		padding: 25rpx 0;
+
+	}
+
+	.comprehensivebox {
+		/* display: flex;justify-content: space-around; */
+	}
+
+	.comprehensiveACtive {
+		color: #FF4F00;
+	}
+
+	.footLine {
+		padding: 24rpx;
+	}
+
+	.timeDate {
+		font-size: 24rpx;
+		color: #999999;
+	}
+
+	.screenJt {
+		width: 24rpx;
+		height: 24rpx;
+		margin-top: 7rpx;
+		margin-left: 5rpx;
+	}
+
+	.ssScImg {
+		width: 40rpx;
+		height: 40rpx;
+		margin-top: 16rpx;
+	}
+
+	.colorCS {
+		color: #FF4F00;
+	}
+</style>

+ 268 - 0
pages/shop/shopAppraise.vue

@@ -0,0 +1,268 @@
+<template>
+	<view class="content">
+
+		<!-- 列表 -->
+		<view class="itemContent">
+			<view v-for="(item,index) in itemData" :key="index">
+				<view class="item">
+
+					<view class="leftView">
+						<image :src='item.HeadUrl' v-if="item.HeadUrl" class="storeImg"></image>
+						<image src="../../static/img/pic_def_ava.png" mode="" class="storeImg" v-else></image>
+					</view>
+
+					<view class="rightView">
+						<!-- 第一行 -->
+						<view class="firstView">
+							<view class="shopName">{{item.Evaluator}}</view>
+							<!-- 时间截取 -->
+							<!-- <view class="time">2021-9-05</view> -->
+							<view class="time">{{item.CreateTime.slice(0,item.CreateTime.length-8)}}</view>
+						</view>
+
+						<!-- 第2行 -->
+						<view class="secondView">
+							<!-- 星星 -->
+							<uni-rate :value="item.Overallevaluation" :max="5" color="#EEEEEE" active-color="#FF4F00"
+								:size="16" :margin="4" :readonly="true" />
+							
+						</view>
+
+						<view class="contentMes">{{item.EContent}}</view>
+
+						<!-- 照片 -->
+						<view class="imgBg">
+							<view v-for="(itemImg,indexImg) in item.imgs" :key="indexImg">
+
+								<image :src="itemImg.imageUrl" class="img"
+									@click="previewImage(itemImg.imageUrl,item.imgs)"></image>
+							</view>
+						</view>
+
+						<!-- 商家回复 -->
+
+						<view class="writeBack" v-if="item.ReplyContent">商家回复:{{item.ReplyContent}}</view>
+					</view>
+
+
+
+				</view>
+			</view>
+		</view>
+
+		<!-- 上拉 加载更多 -->
+		<view class="noMore" v-if="noMoreShow">没有更多数据</view>
+		<!-- 无数据空白页 -->
+		<nodata v-if="itemData.length==0"></nodata>
+
+	</view>
+</template>
+
+<script>
+	import nodata from '../../components/nodata/nodata.vue'
+	export default {
+		components: {
+			nodata,
+		},
+		data() {
+			return {
+				itemData: [],
+				page: 1,
+				noMoreShow: false,
+				imgArr: [],
+				shopId:'',
+			}
+		},
+		onLoad(opt) {
+			this.page = 1
+			this.shopId = opt.shopId
+			this.getItemData()
+		},
+		methods: {
+			previewImage(img, arrDic) {
+				var arr = [];
+
+				arrDic.forEach(item => {
+					arr.push(item.imageUrl)
+				})
+
+				// 预览图片
+				uni.previewImage({
+					urls: arr,
+					current: img,
+					longPressActions: {
+						itemList: ['发送给朋友', '保存图片', '收藏'],
+						success: function(data) {
+							console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
+						},
+						fail: function(err) {
+							console.log(err.errMsg);
+						}
+					}
+				});
+			},
+			
+			getItemData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+				let url = 'miniAppShopInfoController/listShopBMEvaluatePage',
+					params = {
+						page: this.page,
+						limit: 20,
+						shopId:this.shopId,
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading();
+					var list = res.data.Items
+
+					// 处理 undefined和null转为空白字符串
+					list.forEach((item, index) => {
+						for (const key in item) {
+							item[key] = this.$praseStrEmpty(item[key])
+						}
+					})
+
+
+					if (this.page == 1) {
+						this.itemData = list
+					} else {
+						this.itemData = this.itemData.concat(list)
+					}
+
+					if (list.length < 10) {
+						this.noMoreShow = false
+					} else {
+						this.noMoreShow = true
+					}
+
+
+				})
+			},
+
+		},
+
+		// 下拉刷新 上拉加载更多
+		onPullDownRefresh() {
+			this.page = 1
+			this.getItemData()
+			setTimeout(function() {
+				uni.stopPullDownRefresh();
+			}, 1000);
+		},
+		onReachBottom() {
+			this.page++;
+			this.getItemData()
+		},
+
+	}
+</script>
+
+<style scoped>
+	.content {
+		background: #FFFFFF;
+		min-height: 100vh;
+
+	}
+
+
+
+	.item {
+		display: flex;
+		justify-content: flex-start;
+		padding: 0 24rpx;
+		background-color: #FFFFFF;
+
+	}
+
+	.leftView {
+		width: 117rpx;
+		padding-right: 20rpx;
+	}
+
+	.storeImg {
+		width: 72rpx;
+		height: 72rpx;
+		border-radius: 8rpx;
+		margin-top: 30rpx;
+	}
+
+	.rightView {
+		border-bottom: 1rpx #EEEEEE solid;
+		width: 100vw;
+	}
+
+	.firstView,
+	.secondView {
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+
+	}
+
+	.firstView {
+		padding-top: 30rpx;
+	}
+
+	.secondView {
+		padding-top: 12rpx;
+		padding-bottom: 20rpx;
+	}
+
+	.shopName {
+		/* padding-top: 30rpx;
+		padding-bottom: 10rpx; */
+		font-size: 26rpx;
+		font-weight: bold;
+		color: #333333;
+	}
+
+	.time {
+		font-size: 26rpx;
+		color: #999999;
+	}
+
+	.deleteBtn {
+		width: 36rpx;
+		height: 36rpx;
+	}
+
+	.contentMes {
+		font-size: 26rpx;
+		color: #666666;
+		line-height: 37rpx;
+		/* padding-top: 20rpx; */
+
+	}
+
+	.imgBg {
+		display: flex;
+		justify-content: flex-start;
+		padding: 30rpx 0rpx;
+		flex-wrap: wrap;
+	}
+
+	.img {
+		width: 140rpx;
+		height: 140rpx;
+		margin-right: 5rpx;
+		border-radius: 8rpx;
+	}
+
+	.writeBack {
+		font-size: 26rpx;
+		color: #666666;
+		line-height: 37rpx;
+		padding: 20rpx;
+		background-color: #F4F5F7;
+		
+		padding-bottom: 20rpx;
+	}
+
+	.noMore {
+		text-align: center;
+		line-height: 50rpx;
+		color: #999999;
+		font-size: 28rpx;
+	}
+</style>

File diff suppressed because it is too large
+ 1199 - 0
pages/shop/shopDetail.vue


BIN
static/img/icon_shouhou.png


BIN
static/img/icon_tihuan.png


BIN
static/img/icon_tuikuan.png


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/chose-city/chose-city.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/nodata/nodata.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/tki-qrcode/tki-qrcode.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/uni-plate-input/uni-plate-input.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/iPhone/addphone.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/iPhone/phoneList.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/addCar.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/cailist.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/carModel.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/empower.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/iphoneLogin.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/intimity.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/me.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/setup.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/me/treaty.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/evaluate.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/myorder.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/order/orderDetail.js.map


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/shop/shopList.js.map


+ 8 - 1
unpackage/dist/dev/mp-weixin/app.json

@@ -16,7 +16,14 @@
     "pages/me/intimity",
     "pages/order/myorder",
     "pages/order/orderDetail",
-    "pages/order/evaluate"
+    "pages/order/evaluate",
+    "pages/me/discountCard",
+    "pages/me/discountDetail",
+    "pages/me/myAppraise",
+    "pages/me/myAppraiseDetail",
+    "pages/me/feedBack",
+    "pages/shop/ckShop",
+    "pages/shop/shopDetail"
   ],
   "subPackages": [],
   "window": {

File diff suppressed because it is too large
+ 43 - 43
unpackage/dist/dev/mp-weixin/common/vendor.js


File diff suppressed because it is too large
+ 15 - 15
unpackage/dist/dev/mp-weixin/components/chose-city/chose-city.js


File diff suppressed because it is too large
+ 14 - 14
unpackage/dist/dev/mp-weixin/components/nodata/nodata.js


File diff suppressed because it is too large
+ 15 - 15
unpackage/dist/dev/mp-weixin/components/tki-qrcode/tki-qrcode.js


File diff suppressed because it is too large
+ 14 - 14
unpackage/dist/dev/mp-weixin/components/uni-plate-input/uni-plate-input.js


+ 0 - 20
unpackage/dist/dev/mp-weixin/pages/car/cailist.js

@@ -1,20 +0,0 @@
-(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/car/cailist"],{
-
-/***/ 96:
-/*!*************************************************************************!*\
-  !*** /Users/guo/Desktop/txCar/main.js?{"page":"pages%2Fcar%2Fcailist"} ***!
-  \*************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(createPage) {__webpack_require__(/*! uni-pages */ 5);
-var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 3));
-var _cailist = _interopRequireDefault(__webpack_require__(!(function webpackMissingModule() { var e = new Error("Cannot find module './pages/car/cailist.vue'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
-createPage(_cailist.default);
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["createPage"]))
-
-/***/ })
-
-},[[96,"common/runtime","common/vendor"]]]);
-//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/car/cailist.js.map

+ 0 - 5
unpackage/dist/dev/mp-weixin/pages/car/cailist.json

@@ -1,5 +0,0 @@
-{
-  "navigationBarTitleText": "我的车库",
-  "navigationBarBackgroundColor": "#FFFFFF",
-  "usingComponents": {}
-}

+ 0 - 20
unpackage/dist/dev/mp-weixin/pages/car/carModel.js

@@ -1,20 +0,0 @@
-(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["pages/car/carModel"],{
-
-/***/ 97:
-/*!**************************************************************************!*\
-  !*** /Users/guo/Desktop/txCar/main.js?{"page":"pages%2Fcar%2FcarModel"} ***!
-  \**************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-/* WEBPACK VAR INJECTION */(function(createPage) {__webpack_require__(/*! uni-pages */ 5);
-var _vue = _interopRequireDefault(__webpack_require__(/*! vue */ 3));
-var _carModel = _interopRequireDefault(__webpack_require__(!(function webpackMissingModule() { var e = new Error("Cannot find module './pages/car/carModel.vue'"); e.code = 'MODULE_NOT_FOUND'; throw e; }())));function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { default: obj };}wx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;
-createPage(_carModel.default);
-/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 1)["createPage"]))
-
-/***/ })
-
-},[[97,"common/runtime","common/vendor"]]]);
-//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/car/carModel.js.map

+ 0 - 5
unpackage/dist/dev/mp-weixin/pages/car/carModel.json

@@ -1,5 +0,0 @@
-{
-  "navigationBarTitleText": "自主选车",
-  "navigationBarBackgroundColor": "#FFFFFF",
-  "usingComponents": {}
-}

File diff suppressed because it is too large
+ 16 - 16
unpackage/dist/dev/mp-weixin/pages/iPhone/addphone.js


File diff suppressed because it is too large
+ 127 - 127
unpackage/dist/dev/mp-weixin/pages/iPhone/phoneList.js


File diff suppressed because it is too large
+ 17 - 17
unpackage/dist/dev/mp-weixin/pages/index/addCar.js


File diff suppressed because it is too large
+ 113 - 113
unpackage/dist/dev/mp-weixin/pages/index/cailist.js


File diff suppressed because it is too large
+ 16 - 16
unpackage/dist/dev/mp-weixin/pages/index/carModel.js


File diff suppressed because it is too large
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/index/index.js


File diff suppressed because it is too large
+ 16 - 16
unpackage/dist/dev/mp-weixin/pages/me/intimity.js


+ 8 - 0
unpackage/dist/dev/mp-weixin/pages/me/me.js

@@ -286,6 +286,14 @@ __webpack_require__.r(__webpack_exports__);
 //
 //
 //
+//
+//
+//
+//
+//
+//
+//
+//
 var _default =
 {
   data: function data() {

File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/me/me.wxml


File diff suppressed because it is too large
+ 16 - 16
unpackage/dist/dev/mp-weixin/pages/me/setup.js


File diff suppressed because it is too large
+ 16 - 16
unpackage/dist/dev/mp-weixin/pages/me/treaty.js


File diff suppressed because it is too large
+ 16 - 16
unpackage/dist/dev/mp-weixin/pages/order/evaluate.js


File diff suppressed because it is too large
+ 20 - 18
unpackage/dist/dev/mp-weixin/pages/order/myorder.js


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/order/myorder.wxml


File diff suppressed because it is too large
+ 18 - 18
unpackage/dist/dev/mp-weixin/pages/order/orderDetail.js


File diff suppressed because it is too large
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/shop/shopList.js


BIN
unpackage/dist/dev/mp-weixin/static/img/icon_shouhou.png