소스 검색

Merge branch 'f2c'

# Conflicts:
#	pages/shop/wp.vue
twt 1 년 전
부모
커밋
7b69985620

+ 8 - 2
components/timeSelect/timeSelect.vue

@@ -38,7 +38,7 @@
 
 <script>
 export default {
-	props:['timedata','themeColor'],
+	props:['timedata','themeColor','stationID'],
 	data() {
 		return {
 			show: false,
@@ -89,6 +89,7 @@ export default {
 			var yyshopInfo = uni.getStorageSync("yyshopInfo");
 			this.$http('opendetail/getOrderTimes', {
 				shopId:yyshopInfo.id,
+				stationID:this.stationID
 			}, 'GET').then(res => {
 				uni.hideLoading();
 				this.timeList = res.data || []
@@ -146,8 +147,13 @@ export default {
 		display: flex;
 		background: #fff;
 	}
+	.time-select-popup-body-left{
+		height: calc(50vh - 120rpx);
+		    overflow-y: auto;
+			width: 200rpx;
+	}
 	.time-select-popup-body-left-item{
-	  width: 172rpx;
+	  width: 168rpx;
 	  height: 94rpx;
 	  display: block;
 	  font-size:26rpx;

+ 3 - 3
manifest.json

@@ -61,9 +61,9 @@
             }
         },
         "requiredPrivateInfos" : [ "getLocation", "chooseLocation" ],
-		"optimization":{"subPackages":true}
-
-
+        "optimization" : {
+            "subPackages" : true
+        }
     },
     "mp-alipay" : {
         "usingComponents" : true

+ 22 - 3
pages.json

@@ -30,9 +30,8 @@
 			"style": {
 				"navigationBarTitleText": "我的",
 				"navigationBarBackgroundColor": "#D53533",
-				"navigationBarTextStyle": "white"
-
-
+				"navigationBarTextStyle": "white",
+				"enablePullDownRefresh": true
 			}
 		}, {
 			"path": "pages/user/historySpend",
@@ -547,7 +546,27 @@
 								"navigationStyle": "custom",
 								"enablePullDownRefresh": true
 							}
+						},{
+							"path": "depositList", 
+							"style": {
+								"navigationStyle": "custom",
+								"enablePullDownRefresh": true
+							}
+					},
+					{
+							"path": "depositDetail", 
+							"style": {
+								"navigationStyle": "custom",
+								"enablePullDownRefresh": true
+							}
+					},{
+						"path": "chooseCity",
+						"style": {
+							"navigationBarTitleText": "选择城市",
+							"enablePullDownRefresh": false
 						}
+
+					}
 				]
 				
 		}],

+ 25 - 2
pages/index/aboutUS.vue

@@ -20,17 +20,40 @@
 			return {
 				detail:'',
 			    unionID:'',
+				memberTitle:'',
 			}
 		},
 		onLoad(opt) {
 			this.unionID=opt.unionID
-			this.getExplain();
+			this.memberTitle=opt.memberTitle
+			if(this.memberTitle){
+				this.getAboutMember();
+				uni.setNavigationBarTitle({
+					title: this.memberTitle,
+				});
+			}else{
+				this.getExplain();
+			}
+			
 		},
 		onShow() {
 			
 		},
 		methods: {
-			
+			getAboutMember(){
+				uni.showLoading({
+					title: '加载中'
+				})
+				this.$http('miniApp2/sys/getAboutMember', {
+				    unionID:this.unionID
+				}, 'GET').then(res => {
+					uni.hideLoading();
+					this.detail = res.data;
+					this.detail = this.detail.replace(/\<img/gi, '<img style="max-width:100%;height:auto" ');
+					//console.log('list+=', this.queryShopList);
+				
+				})
+			},
 			getExplain(){
 				uni.showLoading({
 					title: '加载中'

+ 17 - 7
pages/index/confirmRescue.vue

@@ -44,7 +44,7 @@
 		  <view class="kklineLeft">
 			<span>救援项目</span>
 		  </view>
-		  <view class="kklineRight" v-if="opt.type==1">电</view>
+		  <view class="kklineRight" v-if="opt.type==1">电</view>
 		  <view class="kklineRight" v-if="opt.type==2">拖车</view>
 		  <view class="kklineRight" v-if="opt.type==3">换胎</view>
 		  <view class="kklineRight" v-if="opt.type==4">未知原因</view>
@@ -129,7 +129,8 @@
 				jykkNum:1,
 				customerName:'',
 				mobilePhone:'',
-				isGoing:false,
+				isGoing:false,
+				orderId:'',
 			}
 		},
 		onLoad(opt) {
@@ -194,7 +195,7 @@
 				  carModel:this.carInfo.carModel,
 				  hEndAddress:this.opt.endAddress,
 				  hStartAddress:this.opt.currentAddress,
-				  orderType:1,
+				  orderType:this.opt.orderType,
 				  hTime:this.opt.time,
 				  hscene:this.jykkNum,
 				  startLng:this.opt.lng,
@@ -202,7 +203,9 @@
 				  endLng:this.opt.endLng,
 				  endLat:this.opt.endLat,
 				 },'POST').then(res => {
-					 this.isGoing=false;
+					console.log(res)
+					var id=res.data
+					console.log(id)
 					 if(res.code==0){
 						 uni.showModal({
 						     title: '提示',
@@ -210,6 +213,8 @@
 						 	confirmText:'返回首页',
 						 	cancelText:'查看订单',
 						     success: function (res) {
+								  this.isGoing=false;
+								
 						         if (res.confirm) {
 						            // console.log('用户点击确定');
 						 		   uni.switchTab({
@@ -224,10 +229,13 @@
 						         }
 						     }
 						 });
+					 }else{
+						 this.isGoing=false;
 					 }
 				 })
 			},
-			yuyue(){
+			yuyue(){
+				var that=this;
 				if(!this.billDate){
 					uni.showToast({
 						title: '请选择预约时间',
@@ -248,7 +256,9 @@
 				  shopId: this.yyshopInfo.id,
 				  unionId: this.userInfo.unionId
 				 },'POST').then(res => {
-					    var id=res.data;
+					    console.log(res)
+						console.log(res.data)
+					    that.orderId=res.data
 						this.isGoing=false;
 						if(res.code==0){
 							uni.showModal({
@@ -268,7 +278,7 @@
 										  //  url:'../user/bespeakDetail?id='+id
 									   // })
 									   uni.redirectTo({
-									   		url:'../subPack/rescueOrderOrderDetail?id='+id
+									   		url:'../subPack/rescueOrderOrderDetail?id='+that.orderId
 									   })
 									   
 							        }

+ 10 - 6
pages/index/confirmYuyue.vue

@@ -38,7 +38,7 @@
 			</view>
 			<view class="kkline2" v-for="(item,index) in yuyueData">
 			  <view class="kklineLeft3">{{item.ItemName}}</view>
-			  <view class="kklineRight3">¥{{item.Price}}</view>
+			  <view class="kklineRight3" v-if="item.Price">¥{{item.Price}}</view>
 			</view>
 		</view>
 		<view class="contkk" style="margin-top: 20rpx;">
@@ -54,12 +54,12 @@
 	<view style="height: 120rpx;"></view>
 	<view class="bottom-container">
 		<view>
-			<view class="bottom-container-price"><span class="qianhaospan" >¥</span> {{totalPrice}} <span></span></view>
+			<view class="bottom-container-price"><span class="qianhaospan" v-if="totalPrice" >¥</span> {{totalPrice}} <span></span></view>
 			<view class="ckj">参考价格(到店支付)</view>
 		</view>
 	  <view  class="newyyBotbutton" :style="{background:'#'+themeColor}" @click="yuyue">立即预约</view>
 	</view>
-	<timeSelect ref="timeSelect" :timedata="timedata" :themeColor="themeColor" @changeTime="changeTime"></timeSelect>
+	<timeSelect ref="timeSelect" :stationID="stationID" :timedata="timedata" :themeColor="themeColor" @changeTime="changeTime"></timeSelect>
 </view>
 </template>
 
@@ -73,7 +73,7 @@
 		data() {
 			return {
 				comment:'',
-				totalPrice:99,
+				totalPrice:'',
 				userInfo:'',
 				timedata:'',
 				billDate:'',
@@ -82,12 +82,15 @@
 				yyshopInfo:'',
 				themeColor:'',
 				isgo:true,
+				stationID:'',
 			}
 		},
-		onLoad() {
+		onLoad(opt) {
 			this.themeColor = uni.getStorageSync("themeColor");
 			console.log(this.$store.state.yuyueData)
 			this.yuyueData=this.$store.state.yuyueData;
+			this.stationID=this.yuyueData[0].StationID
+			this.totalPrice=opt.totalPrice
 			//this.carInfo=this.$store.state.carInfo
 			this.userInfo = uni.getStorageSync("userInfo");
 			this.yyshopInfo=uni.getStorageSync("yyshopInfo")
@@ -139,7 +142,8 @@
 				  carID: this.carInfo.id,
 				  orderItem: this.yuyueData.map(item => item.ID).join(),
 				  shopId: this.yyshopInfo.id,
-				  unionId: this.userInfo.unionId
+				  unionId: this.userInfo.unionId,
+				  stationID:this.stationID
 				 },'POST').then(res => {
 					    this.isgo=true;
 					    var id=res.data

+ 104 - 12
pages/index/couponShare.vue

@@ -4,15 +4,23 @@
 
 		<view class="detailBg">
 			<view class="detailTop">
-				<view class="leftB">
+				<view class="leftB" v-if="detail.discountType==1">
 					<view class="use">¥<span class="use2">{{detail.actMoney}}</span></view>
-					<!-- <view class="used" v-else>¥<span class="used2">{{detail.actMoney}}</span></view> -->
 					<view class="tiaojian">{{detail.whereMoney!==0?'满'+detail.whereMoney+'元可用':'满任意金额可用'}}</view>
 				</view>
+				<view v-if="detail.discountType!=1" class="leftB" style="display: flex;align-items: center;justify-content: center;">
+					<image src="http://dmsphoto.66km.com.cn/thFiles/5340A784-FEE2-43FA-8ED1-C509FADFDBED.png"
+					 mode="" style="width: 77rpx;height:48rpx;"></image>
+				</view>
 				<view class="centerB">
-					<view class="name">{{detail.actName}}</view>
+					<view class="name">
+						<span class="djq" v-if="detail.discountType==1">代金券</span>
+						<span class="djq" v-if="detail.discountType==2">商品券</span>
+						<span class="djq" v-if="detail.discountType==3">服务券</span>
+						<span>{{detail.actName}}</span>
+					</view>
 					<view class="time" v-if="detail.startTime">
-						有效期:{{detail.startTime.slice(0,10)}}-{{detail.endTime.slice(0,10)}}</view>
+						有效期:{{detail.startTime.slice(0,10)}}{{detail.endTime.slice(0,10)}}</view>
 					<view class="time" v-else>有效期:领取后{{detail.endOffsetDays}}天有效</view>
 				</view>
 
@@ -31,15 +39,16 @@
 
 			</view>
 			<view style="margin-bottom: 30rpx;">
-				<view class="titleBox">
-					<image src="../../static/img/icon_youhui_red.png" mode="" class="redPoint"></image>
-					<view class="title">适用门店</view>
+				<view style="display: flex;justify-content: space-between;">
+					<view class="titleBox">
+							<image src="../../static/img/icon_youhui_red.png" mode="" class="redPoint"></image>
+							<view class="title">适用门店</view>
 					</view>
-
-					<view v-for="(v,index) in detail.shopNames.split(',')">
-						<view class="content">{{v}}</view>
-					</view>
-
+						<view @click="spShopS" style="color: #666666;font-size: 24rpx;line-height: 24rpx;display: flex;">
+						{{detail.shopNames.split(',').length}}家门店通用
+						<image src="../../static/img/little_rightArrow.png" mode="" style="width: 24rpx;height: 24rpx;"></image>
+					    </view>
+				</view> 
 				
 			</view>
 
@@ -69,6 +78,20 @@
 			</view>
 		</view>
 		
+		<!-- 适用门店 -->
+		<view class="authorizBox" v-if="spShopShow" @click="spShopHide">
+			<view class="syShopBox"  @click.stop="">
+				<view class="chBox2">
+					<view class="syShopTitle">适用门店</view>
+					<img src="../../static/timg/chahao.png" alt="" class="chahaoImg" @click="spShopHide"/>
+				</view>
+				<view class="spShopLineBox">
+					<view class="spShopLine" v-for="(item,index) in detail.shopNames.split(',')">{{item}}</view>
+				</view>
+			</view>
+			
+		</view>
+		
 	</view>
 </template>
 
@@ -85,6 +108,7 @@
 				ext:'',
 				wxOpenData:'',
 				scene:'',
+				spShopShow:false,
 			}
 		},
 		onLoad(opt) {
@@ -121,6 +145,12 @@
 			
 		},
 		methods: {
+			spShopHide(){
+				this.spShopShow=false;
+			},
+			spShopS(){
+				this.spShopShow=true;
+			},
 			hideSq(){
 				this.authorizShow=false;
 			},
@@ -153,6 +183,13 @@
 							 icon:'none',
 							 duration: 3000
 						});
+						setTimeout(function() {
+							uni.switchTab({
+								url:'../index/index'
+							})
+						}, 2000);
+						
+						
 					}
 					//this.getData();
 					
@@ -177,6 +214,11 @@
 				}
 				this.$http(url, params, 'GET').then(res => {
 					uni.hideLoading();
+					if(res.data.couContent){
+						res.data.couContent=res.data.couContent.replaceAll('font-size:15px', 'font-size:12px');
+						res.data.couContent=res.data.couContent.replaceAll('font-size: 15px', 'font-size:12px');
+						res.data.couContent=res.data.couContent.replaceAll('font-size:14px', 'font-size:12px');
+					}
 					this.detail = res.data;
 
 
@@ -211,6 +253,56 @@
 </script>
 
 <style scoped>
+	.djq{
+		background: linear-gradient(128deg, #FFE4C5 0%, #FDC692 100%);
+		border-radius: 4rpx;
+		height: 34rpx;
+		width: 76rpx;
+		line-height: 34rpx;
+		text-align: center;
+		color: #2B2219;
+		font-size: 20rpx;
+		margin-top: 4rpx;
+		margin-right: 10rpx;
+	}
+	.centerB{
+		padding-top: 10rpx;
+	}
+	.chahaoImg{
+		width: 36rpx;height: 36rpx;
+	}
+	.titleBox span{
+		font-size: 12px;
+	}
+	.syShopBox{
+		background: #FFFFFF;
+		border-radius: 32rpx 32rpx 0rpx 0rpx;
+		width: 750rpx;
+		height: 80vh;
+		margin-top: 20vh;
+	}
+	.spShopLineBox{
+		height: calc(80vh - 90rpx);
+		overflow-y: scroll;
+	}
+	.spShopLine{
+		color: #333333;font-size: 26rpx;
+		padding: 26rpx 30rpx;
+		border-bottom: 1px solid #EEEEEE;
+	}
+	.chBox2{
+		display: flex;justify-content: space-between;
+		padding-left: 30rpx;
+		padding-top: 30rpx;
+		padding-right: 24rpx;
+		padding-bottom: 10rpx;
+	}
+	.syShopTitle{
+		font-weight: 500;
+		color: #333333;
+		font-size: 30rpx;
+		line-height: 42rpx;
+	}
 	.bottomBtn{
 		width:704rpx;
 		line-height: 88rpx;

+ 176 - 25
pages/index/discountCard.vue

@@ -15,51 +15,98 @@
 			</view>
 			
 			<view style="height: 92rpx;"></view>
-			<view class="itemBg" v-for="(item,index) in currentList">
-				<view class="itemTop">
-					<view class="leftB">
+			<view class="itemBg" v-for="(item,index) in currentList" @click="goDetail(item.id)">
+				<view class="leftB" v-if="item.discountType==1 " style="display: flex;align-items: center;justify-content: center;">
+					<view>
 						<view class="use" v-if="item.state==0">¥<span class="use2">{{item.actMoney}}</span></view>
 						<view class="used" v-else>¥<span class="used2">{{item.actMoney}}</span></view>
 						<view class="tiaojian">{{item.whereMoney!==0?'满'+item.whereMoney+'元可用':'满任意金额可用'}}</view>
 					</view>
+					
+				</view>
+				
+				<view class="leftB" v-if="item.discountType!=1" style="display: flex;align-items: center;justify-content: center;">
+					<image src="http://dmsphoto.66km.com.cn/thFiles/5340A784-FEE2-43FA-8ED1-C509FADFDBED.png"
+					 mode="" style="width: 77rpx;height:48rpx;"></image>
+				</view>
+				<view style="width: 460rpx;">
+					
+				<view class="itemTop">
+					
+					
 					<view class="centerB">
-						<view class="name">{{item.actName}}</view>
-						<view class="time" v-if="item.startTime">有效期:{{item.startTime.slice(0,10)}}-{{item.endTime.slice(0,10)}}</view>
-						<view class="time" v-else>有效期:</view>
+						<view class="name" >
+						 <span class="djq" v-if="item.discountType==1">代金券</span>
+						 <span class="djq" v-if="item.discountType==2">商品券</span>
+						 <span class="djq" v-if="item.discountType==3">服务券</span>
+						 <span>{{item.actName}}</span>
+						</view>
+						<view class="plateNumer" v-if="item.plateNumer">限鲁{{item.plateNumer}}使用</view>
+						<view class="time" v-if="item.startTime">有效期:{{item.startTime.slice(0,10)}}至{{item.endTime.slice(0,10)}}</view>
+						<view class="time" v-else>有效期:领取后{{item.endOffsetDays}}天</view>
 					</view>
 					<view class="rightB">
 						<image src="../../static/img/icon_yishiyong.png" mode="" v-if="item.state==2&&tabIndex==1"  class="couponlineTopImg"></image>
 						<image src="../../static/img/icon_guoqi.png" mode="" v-if="item.state==1&&tabIndex==1"  class="couponlineTopImg"></image>
 						
-						<view class="shareB"  v-if="item.shareQty>0&&tabIndex==2" @click.stop="">
+						<!-- <view class="shareB"  v-if="item.shareQty>0&&tabIndex==2" @click.stop="">
 						  <image  src="../../static/img/icon_share.png" alt="" class="couponlineshareImg"></image>
 						  <view class="keshare">赠送给好友</view>
-						</view>
+						</view> -->
 					</view>
 				</view>
+				<view class="itemBottom" @click.stop="">
+					<view  class="rightJian">使用规则
+					  <image src="../../static/img/little_rightArrow.png" mode="" style="width: 24rpx;height: 24rpx;"></image>
+					</view>
+					<view class="gouse" v-if="item.state==0" @click="goUseFn(item)">去使用</view>
+				</view>
+				</view>
 
-				<view class="itemBottom">
-					<!-- <view v-if="tabIndex==1">可用次数:{{item.avaQty}}</view>  v-else -->
-					<!-- <view >可分享次数:{{item.shareQty}}</view> -->
+				<!-- <view class="itemBottom">
 					<view></view>
 					<view @click="goDetail(item.id)" class="rightJian">查看详情 
 					<image src="../../static/img/little_rightArrow.png" mode="" style="width: 24rpx;height: 24rpx;"></image>
 					</view>
 					
-				</view>
+				</view> -->
 			</view>
 
 			<!-- 无数据空白页 -->
 			<nodata v-if="items.length==0"></nodata>
 		</view>
+		
+		<!-- 核销码 -->
+		<view class="authorizBox" v-if="hxShow" @click="hxclose">
+			<view class="hxBox" @click.stop="">
+				<view class="chBox">
+					<img src="../../static/timg/chahao.png" alt="" class="chahaoImg" @click="hxclose"/>
+				</view>
+				<view class="hxName">{{detail.actName}}</view>
+				<view class="hxTime" v-if="detail.startTime">
+					有效期:{{detail.startTime.slice(0,10)}}至{{detail.endTime.slice(0,10)}}</view>
+				<view class="hxTime" v-else>有效期:领取后{{detail.endOffsetDays}}天</view>
+				<view style="display: flex;justify-content: center;padding-top:50rpx;">
+					<tki-qrcode cid="qrcode1" ref="qrcode" :val="detail.couponCode" :size="400" :unit="unit"
+						:pdground="pdground" :icon="icon" :iconSize="iconsize" :lv="lv" :onval="onval"
+						:loadMake="loadMake" :usingComponents="true" @result="qrR" />
+					
+				</view>
+				<view class="couponCode">{{detail.couponCode}}</view>
+				<view class="couponCodeTs">请到店出示券码即可开始服务</view>
+				
+			</view>
+		</view>
+		
 	</view>
 </template>
 
 <script>
 	import nodata from '@/components/nodata/nodata.vue'
+	import tkiQrcode from "@/components/tki-qrcode/tki-qrcode.vue"
 	export default {
 		components: {
-			nodata
+			nodata,tkiQrcode
 		},
 		computed: {
 		  currentList () {
@@ -72,10 +119,22 @@
 		},
 		data() {
 			return {
-
 				tabIndex: 1,
 				tabIndex2: 0,
 				items: [],
+				onval: true, // val值变化时自动重新生成二维码
+				loadMake: true, // 组件加载完成后自动生成二维码
+				val: '二维码', // 要生成的二维码值
+				unit: 'upx', // 单位
+				background: '#b4e9e2', // 背景色
+				foreground: '#309286', // 前景色
+				pdground: '#262637', // 角标色
+				icon: '', // 二维码图标
+				iconsize: 40, // 二维码图标大小
+				lv: 3, // 二维码容错级别 , 一般不用设置,默认就行
+				src: '', // 二维码生成后的图片地址或base64
+				hxShow:false,
+				detail:'',
 
 			}
 		},
@@ -98,7 +157,13 @@
 					url: 'discountCardDetail?id=' + id
 				})
 			},
-
+             hxclose(){
+             	this.hxShow=false;
+             },
+			 goUseFn(item){
+				 this.detail=item;
+				 this.hxShow=true;
+			 },
 			tabClick(num) {
 				this.tabIndex = num;
 
@@ -148,7 +213,38 @@
 		min-height: 100vh;
 		background: #F4F5F7;
 	}
-
+.djq{
+	background: linear-gradient(128deg, #FFE4C5 0%, #FDC692 100%);
+	border-radius: 4rpx;
+	height: 34rpx;
+	width: 76rpx;
+	line-height: 34rpx;
+	text-align: center;
+	color: #2B2219;
+	font-size: 20rpx;
+	margin-top: 4rpx;
+	margin-right: 10rpx;
+}
+.plateNumer{
+	color: #FF0000;
+	line-height: 30rpx;
+	font-size: 22rpx;
+	padding: 3rpx 0rpx;
+	width: 193rpx;
+	text-align: center;
+	background: rgba(255,0,0,0.06);
+	border-radius: 4rpx;
+	margin-top: 10rpx;
+}
+.gouse{
+	width: 99rpx;
+	height: 44rpx;
+	border-radius: 22rpx;
+	border: 1px solid #FF0000;
+	text-align: center;
+	line-height: 42rpx;
+	color: #FF0000;
+}
 	.tab {
 		background: #FFFFFF;
 		display: flex;
@@ -231,23 +327,27 @@
 		margin: 20rpx 24rpx 0rpx;
 		background-color: #FFFFFF;
 		border-radius: 10rpx;
-		padding: 40rpx 20rpx 20rpx;
+		padding: 24rpx 20rpx 20rpx;
+		    display: flex;
+	}
+	.leftB{
+		width: 200rpx;
 	}
 
 	.itemTop {
 		display: flex;
 		justify-content: space-between;
-		margin-bottom: 40rpx;
+		margin-bottom: 12rpx;
 	}
 
 	.use {
-
+            text-align: center;
 		font-size: 26rpx;
 		color: #FF0000;
 	}
 
 	.use2 {
-
+        padding-right: 8rpx;
 		font-size: 40rpx;
 		font-weight: 500;
 		color: #FF0000;
@@ -280,7 +380,7 @@
 	.name{
 		
 		font-size: 30rpx;
-		
+		display: flex;
 		font-weight: 500;
 		color: #333333;
 		line-height: 42rpx;
@@ -289,13 +389,11 @@
 		font-size: 24rpx;
 		
 		color: #666666;
-		margin-top: 15rpx;
+		margin-top: 10rpx;
 	}
 	.itemBottom {
 		display: flex;
 		justify-content: space-between;
-		padding-top: 20rpx;
-		border-top: 1rpx solid #EEEEEE;
 		font-size: 24rpx;
 		color: #999999;
 		line-height: 33rpx;
@@ -305,7 +403,7 @@
 		width: 118rpx;
 		height: 100rpx;
 		position: absolute;
-		top: -38rpx;
+		top: -24rpx;
 		right: 0;
 	}
 	.shareB{
@@ -327,4 +425,57 @@
 		display: flex;
 		align-items: center;
 	}
+	.authorizBox{
+			width: 100vw;
+			height: 100vh;
+			background: rgba(0, 0, 0, 0.5);
+			position: fixed;
+			top: 0;
+			left: 0;
+			z-index: 11;
+		}
+		.hxBox{
+			width: 750rpx;
+			height: 75vh;
+			margin-top: 25vh;
+			background: #FFFFFF;
+			border-radius: 32rpx 32rpx 0rpx 0rpx;
+			z-index: 222;
+		}
+		.couponCode{
+			font-weight: 500;
+			color: #333333;
+			font-size: 30rpx;
+			padding-top: 40rpx;
+			text-align: center;
+		}
+		.couponCodeTs{
+			color: #666666;font-size: 24rpx;
+			text-align: center;padding-top: 10rpx;
+		}
+		.hxName{
+			font-weight: 500;
+			color: #333333;
+			line-height: 42rpx;
+			font-size: 30rpx;
+			text-align: center;
+			padding-top: 26rpx;
+		}
+		.hxTime{
+			color: #3C3C3C;font-size: 24rpx;	text-align: center;padding-top: 16rpx;
+			padding-bottom: 50rpx;
+			border-bottom: 1px dashed #C3C3C3;
+		}
+		.chahaoImg{
+			width: 36rpx;height: 36rpx;
+		}
+		.chBox{
+			text-align: right;
+			padding-top: 33rpx;
+			padding-right: 24rpx;
+		}
+		.couponCodeBox{
+			display: flex;
+			padding-top: 15rpx;
+		}
 </style>

+ 397 - 30
pages/index/discountCardDetail.vue

@@ -4,16 +4,24 @@
 
 		<view class="detailBg">
 			<view class="detailTop">
-				<view class="leftB">
+				<view class="leftB" v-if="detail.discountType==1">
 					<view class="use">¥<span class="use2">{{detail.actMoney}}</span></view>
-					<!-- <view class="used" v-else>¥<span class="used2">{{detail.actMoney}}</span></view> -->
 					<view class="tiaojian">{{detail.whereMoney!==0?'满'+detail.whereMoney+'元可用':'满任意金额可用'}}</view>
 				</view>
+				<view v-if="detail.discountType!=1" class="leftB" style="display: flex;align-items: center;justify-content: center;">
+					<image src="http://dmsphoto.66km.com.cn/thFiles/5340A784-FEE2-43FA-8ED1-C509FADFDBED.png"
+					 mode="" style="width: 77rpx;height:48rpx;"></image>
+				</view>
 				<view class="centerB">
-					<view class="name">{{detail.actName}}</view>
-					<view class="time" v-if="detail.startTime">
-						有效期:{{detail.startTime.slice(0,10)}}-{{detail.endTime.slice(0,10)}}</view>
-					<view class="time" v-else>有效期:</view>
+					<view class="name">
+						<span class="djq" v-if="detail.discountType==1">代金券</span>
+						<span class="djq" v-if="detail.discountType==2">商品券</span>
+						<span class="djq" v-if="detail.discountType==3">服务券</span>
+						<span>{{detail.actName}}</span>
+					</view>
+				    <view class="time" v-if="detail.startTime">
+						有效期:{{detail.startTime.slice(0,10)}}至{{detail.endTime.slice(0,10)}}</view>
+					<view class="time" v-else>有效期:领取后{{detail.endOffsetDays}}天</view> 
 				</view>
 
 			</view>
@@ -21,24 +29,22 @@
 
 
 		<view class="comtentBox">
+			
 			<view style="margin-bottom: 30rpx;">
-				<!-- <view class="titleBox">
-					
-					<image src="../../static/img/icon_youhui_red.png" mode="" class="redPoint"></image>
-					<view class="title">可用次数</view>
-				</view>
-				<view class="content">{{detail.avaQty}}次</view> -->
-
-			</view>
-			<view style="margin-bottom: 30rpx;">
-				<view class="titleBox">
-					<image src="../../static/img/icon_youhui_red.png" mode="" class="redPoint"></image>
-					<view class="title">适用门店</view>
-					</view>
-
-					<view v-for="(v,index) in detail.shopNames.split(',')">
+					<view style="display: flex;justify-content: space-between;">
+						<view class="titleBox">
+								<image src="../../static/img/icon_youhui_red.png" mode="" class="redPoint"></image>
+								<view class="title">适用门店</view>
+						</view>
+							<view v-if="detail.shopNames" @click="spShopS" style="color: #666666;font-size: 24rpx;line-height: 24rpx;display: flex;">
+							{{detail.shopNames.split(',').length}}家门店通用
+							<image src="../../static/img/little_rightArrow.png" mode="" style="width: 24rpx;height: 24rpx;"></image>
+						    </view>
+					</view> 
+				    
+					 <view v-for="(v,index) in detail.shopNames.split(',')" v-if="index<5">
 						<view class="content">{{v}}</view>
-					</view>
+					</view> 
 
 				
 			</view>
@@ -48,34 +54,160 @@
 					<image src="../../static/img/icon_youhui_red.png" mode="" class="redPoint"></image>
 					<view class="title">使用说明</view>
 					</view>
-					<view v-if="detail.couContent" v-html="detail.couContent"></view>
+					<view style="font-size: 20rpx;" v-if="detail.couContent" v-html="detail.couContent"></view>
 					<view v-else class="content">暂无</view>
 				</view>
 
 
 			</view>
-
+			<view class="comtentBox" v-if="detail.usedState==1">
+				<view class="titleBox">
+					<image src="../../static/img/icon_youhui_red.png" mode="" class="redPoint"></image>
+					<view class="title">使用记录</view>
+				</view>
+				<view class="couponCodeBox">
+					<view class="couponCodeYd"></view>
+					<view class="ouponCode">{{detail.couponCode}}</view>
+					<view class="couponCodeUse">已使用</view>
+				</view>
+				<view class="couponCodeLine">
+					<view class="couponCodeLeft">核销时间:</view>
+					<view class="couponCodeLineRight">{{detail.usedTime}}</view>
+				</view>
+				<view class="couponCodeLine">
+					<view class="couponCodeLeft">核销门店:</view>
+					<view class="couponCodeLineRight">{{detail.usedShopName}}</view>
+				</view>
+				
+			</view>
+			
+			<view style="height: 120rpx;"></view>
+			<view class="useBox" v-if="detail.usedState==0">
+				<view class="useBtn" @click="hxHide">去使用</view>
+			</view>
+				
+	<!-- 核销码 -->
+	<view class="authorizBox" v-if="hxShow" @click="hxclose">
+		<view class="hxBox" @click.stop="">
+			<view class="chBox">
+				<img src="../../static/timg/chahao.png" alt="" class="chahaoImg" @click="hxclose"/>
+			</view>
+			<view class="hxName">{{detail.actName}}</view>
+			<view class="hxTime" v-if="detail.startTime">
+				有效期:{{detail.startTime.slice(0,10)}}至{{detail.endTime.slice(0,10)}}</view>
+			<view class="hxTime" v-else>有效期:领取后{{detail.endOffsetDays}}天</view>
+			<view style="display: flex;justify-content: center;padding-top:50rpx;">
+				<tki-qrcode cid="qrcode1" ref="qrcode" :val="detail.couponCode" :size="400" :unit="unit"
+					:pdground="pdground" :icon="icon" :iconSize="iconsize" :lv="lv" :onval="onval"
+					:loadMake="loadMake" :usingComponents="true" @result="qrR" />
+				
+			</view>
+			<view class="couponCode">{{detail.couponCode}}</view>
+			<view class="couponCodeTs">请到店出示券码即可开始服务</view>
+			
+		</view>
+	</view>
+	
+	<!-- 适用门店 -->
+	<view class="authorizBox" v-if="spShopShow" @click="spShopHide">
+		<view class="syShopBox"  @click.stop="">
+			<view class="chBox2">
+				<view class="syShopTitle">适用门店</view>
+				<img src="../../static/timg/chahao.png" alt="" class="chahaoImg" @click="spShopHide"/>
+			</view>
+			<view class="spShopLineBox">
+				<view class="spShopLine" v-for="(item,index) in detail.shopNames.split(',')">{{item}}</view>
+			</view>
+		</view>
+		
+	</view>
+	
+<!-- 手机号授权 -->
+	<view class="authorizBox" v-if="authorizShow" @click="authorizShow=false">
+		<view class="authorizCont" @click.stop="">
+			<view class="authorizName">{{wxOpenData.miniAppName}}</view>
+			<view class="authorizMs">您好,欢迎访问本店,授权手机号登录能获取我们最新的促销活动哦~</view>
+			<button class="authorizContbutton" type="default" open-type="getPhoneNumber" @getphonenumber="decryptPhoneNumber">授权</button>
+		</view>
+		<view style="text-align: center;padding-top: 56rpx;">
+			<image src="../../../static/timg/icon_guanbi@2x.png" mode="" class="authorizCloseImg"></image>
+		</view>
+	</view>
 		
 	</view>
 </template>
 
 <script>
+	import tkiQrcode from "@/components/tki-qrcode/tki-qrcode.vue"
 	export default {
+		components: {
+			tkiQrcode,
+		},
 		data() {
 			return {
 				id: '',
 				detail: {},
 				themeColor:'',
 				type:'',
+				userInfo:'',
+				ext:'',
+				wxOpenData:'',
+				authorizShow:false,
+				onval: true, // val值变化时自动重新生成二维码
+				loadMake: true, // 组件加载完成后自动生成二维码
+				val: '二维码', // 要生成的二维码值
+				unit: 'upx', // 单位
+				background: '#b4e9e2', // 背景色
+				foreground: '#309286', // 前景色
+				pdground: '#262637', // 角标色
+				icon: '', // 二维码图标
+				iconsize: 40, // 二维码图标大小
+				lv: 3, // 二维码容错级别 , 一般不用设置,默认就行
+				src: '', // 二维码生成后的图片地址或base64
+				hxShow:false,
+				spShopShow:false,
 			}
 		},
 		onLoad(opt) {
 			this.themeColor = uni.getStorageSync("themeColor");
 			this.id = opt.id;
-			this.type=opt.type
-			this.getData();
+			this.type=opt.type;
+			this.userInfo=this.$store.state.userInfo;
+			this.ext=this.$common.getExtStoreId();
+			if(this.userInfo){
+				if (this.id) {
+					this.getData();
+
+				}
+			}else{
+				this.$common.automaticlogin().then(val => {
+					this.userInfo=this.$store.state.userInfo;
+					this.wxOpenData=this.$store.state.wxOpenData;
+					this.themeColor = uni.getStorageSync("themeColor");
+					if (this.id) {
+						this.getData();
+						
+					}
+					if(!this.userInfo){
+						this.authorizShow=true
+					}
+				})
+			}
+			//this.getData();
 		},
 		methods: {
+			spShopHide(){
+				this.spShopShow=false;
+			},
+			spShopS(){
+				this.spShopShow=true;
+			},
+			hxHide(){
+				this.hxShow=true;
+			},
+			hxclose(){
+				this.hxShow=false;
+			},
 			getData() {
 				uni.showLoading({
 					title: '加载中'
@@ -94,6 +226,12 @@
 				}
 				this.$http(url, params, 'GET').then(res => {
 					uni.hideLoading();
+					if(res.data.couContent){
+						res.data.couContent=res.data.couContent.replaceAll('font-size:15px', 'font-size:12px');
+						res.data.couContent=res.data.couContent.replaceAll('font-size: 15px', 'font-size:12px');
+						res.data.couContent=res.data.couContent.replaceAll('font-size:14px', 'font-size:12px');
+					}
+					
 					this.detail = res.data;
 
 
@@ -104,6 +242,149 @@
 </script>
 
 <style scoped>
+	.djq{
+		background: linear-gradient(128deg, #FFE4C5 0%, #FDC692 100%);
+		border-radius: 4rpx;
+		height: 34rpx;
+		width: 76rpx;
+		line-height: 34rpx;
+		text-align: center;
+		color: #2B2219;
+		font-size: 20rpx;
+		margin-top: 4rpx;
+		margin-right: 10rpx;
+	}
+	.titleBox span{
+		font-size: 12px;
+	}
+.centerB{
+	padding-top: 10rpx;
+}
+.syShopBox{
+	background: #FFFFFF;
+	border-radius: 32rpx 32rpx 0rpx 0rpx;
+	width: 750rpx;
+	height: 80vh;
+	margin-top: 20vh;
+}
+.spShopLineBox{
+	height: calc(80vh - 90rpx);
+	overflow-y: scroll;
+}
+.spShopLine{
+	color: #333333;font-size: 26rpx;
+	padding: 26rpx 30rpx;
+	border-bottom: 1px solid #EEEEEE;
+}
+.chBox2{
+	display: flex;justify-content: space-between;
+	padding-left: 30rpx;
+	padding-top: 30rpx;
+	padding-right: 24rpx;
+	padding-bottom: 10rpx;
+}
+.syShopTitle{
+	font-weight: 500;
+	color: #333333;
+	font-size: 30rpx;
+	line-height: 42rpx;
+}
+.hxBox{
+	width: 750rpx;
+	height: 70vh;
+	margin-top: 30vh;
+	background: #FFFFFF;
+	border-radius: 32rpx 32rpx 0rpx 0rpx;
+}
+.couponCode{
+	font-weight: 500;
+	color: #333333;
+	font-size: 30rpx;
+	padding-top: 40rpx;
+	text-align: center;
+}
+.couponCodeTs{
+	color: #666666;font-size: 24rpx;
+	text-align: center;padding-top: 10rpx;
+}
+.hxName{
+	font-weight: 500;
+	color: #333333;
+	line-height: 42rpx;
+	font-size: 30rpx;
+	text-align: center;
+	padding-top: 26rpx;
+}
+.hxTime{
+	color: #3C3C3C;font-size: 24rpx;	text-align: center;padding-top: 16rpx;
+	padding-bottom: 50rpx;
+	border-bottom: 1px dashed #C3C3C3;
+}
+.chahaoImg{
+	width: 36rpx;height: 36rpx;
+}
+.chBox{
+	text-align: right;
+	padding-top: 33rpx;
+	padding-right: 24rpx;
+}
+.couponCodeBox{
+	display: flex;
+	padding-top: 15rpx;
+}
+.useBox{
+	height: 120rpx;
+	width: 750rpx;
+	position: fixed;
+	left: 0;
+	bottom: 0;
+	background: #FFFFFF;
+	box-shadow: 0rpx -2rpx 10rpx 0rpx rgba(153,153,153,0.2);
+}
+.useBtn{
+	width: 690rpx;
+	height: 74rpx;
+	background: #D53533;
+	border-radius: 37rpx;
+	font-weight: 500;
+	color: #FFFFFF;
+	font-size: 30rpx;
+	text-align: center;
+	line-height: 74rpx;
+	margin-top: 23rpx;
+	margin-left: 30rpx;
+}
+.couponCodeYd{
+	width: 10rpx;
+	height: 10rpx;
+	background: #FF0000;
+	border-radius: 50%;
+	margin-top: 10rpx;
+	margin-right: 12rpx;
+	
+}
+.ouponCode{
+	color: #666666;
+	line-height: 33rpx;
+	font-size: 24rpx;
+	text-decoration: line-through;
+}
+.couponCodeUse{
+	width: 86rpx;
+	height: 32rpx;
+	border-radius: 4rpx;
+	border: 1rpx solid #DDDDDD;
+	color: #999999;
+	line-height: 32rpx;
+	text-align: center;
+	font-size: 22rpx;
+	margin-left: 12rpx;
+}
+.couponCodeLine{
+	padding-left: 20rpx;display: flex;
+	color: #999999;font-size: 24rpx;
+	line-height: 33rpx;padding-top: 8rpx;
+}
 	.boxtop{
 		background: #FF0000;
 	}
@@ -126,7 +407,7 @@
 	}
 
 	.use {
-
+        text-align: center;
 		font-size: 26rpx;
 		color: #FF0000;
 	}
@@ -162,12 +443,11 @@
 	}
 
 	.name {
-
+line-height: 42rpx;
 		font-size: 30rpx;
-
+display: flex;
 		font-weight: 500;
 		color: #333333;
-		line-height: 56rpx;
 	}
 
 	.time {
@@ -211,4 +491,91 @@
 		margin-top: 16rpx;
 		margin-left: 28rpx;
 	}
+	.authorizBox{
+			width: 100vw;
+			height: 100vh;
+			background: rgba(0, 0, 0, 0.5);
+			position: fixed;
+			top: 0;
+			left: 0;
+		}
+		.authorizCont{
+			margin-top: 30vh;
+			width: 564rpx;
+			height: 408rpx;
+			background: #FFFFFF;
+			border-radius: 24rpx;
+			margin-left: 93rpx;
+			position: relative;
+		}
+		.authorizCloseImg{
+			width: 62rpx;
+			height: 62rpx;
+		}
+		.sqLogoBox{
+			width: 180rpx;
+			height: 180rpx;
+			background: #FFFFFF;
+			border-radius: 90rpx;
+			text-align: center;
+			position: absolute;
+			top: -50rpx;
+			left: 192rpx;
+		}
+		.authorizName{
+			color: #333333;
+			line-height: 42rpx;
+			font-size: 30rpx;
+			text-align: center;
+			padding-top: 58rpx;
+		}
+		.authorizMs{
+			color: #999999;
+			line-height: 36rpx;
+			font-size: 26rpx;
+			width: 452rpx;
+			padding-top: 24rpx;
+			text-align: center;
+			margin-left: 56rpx;
+		}
+		.authorizContbutton{
+			width: 422rpx;
+			height: 88rpx;
+			background: #D53533;
+			border-radius: 44rpx;
+			line-height: 88rpx;
+			text-align: center;
+			font-size:30rpx;
+			color: #FFFFFF;
+			margin-top: 62rpx;
+			margin-left:71rpx;
+		}
+		.shopBoxpt{
+			margin-top: 20rpx;
+		}
+		button::after{
+		 	border: none;
+		}
+		button{
+			position: relative;
+			display: block;
+			margin-left: 0;
+			margin-right: 0;
+			padding-left: 0px;
+			padding-right: 0px;
+			box-sizing: border-box;
+			// font-size: 18px;
+			text-align: center;
+			text-decoration: none;
+			// line-height: 1;
+			line-height: 1.35;
+			// border-radius: 5px;
+			-webkit-tap-highlight-color: transparent;
+			overflow: hidden;
+			color: #000000;
+			background-color: #fff;
+			
+			height: 100%;
+			}
+			
 </style>

+ 5 - 5
pages/index/index.vue

@@ -510,14 +510,14 @@
 							});
 						}
 					}else if(item.bizType==1){ //紧急救援
-						// uni.navigateTo({
-						// 	url:'rescue'
-						// })
-						uni.showToast({
+						 uni.navigateTo({
+						 	url:'rescue'
+						 })
+						/* uni.showToast({
 							 title: '敬请期待',
 							 icon:'none',
 							 duration: 3000
-						});
+						}); */
 						
 					}else if(item.bizType==2){ //钣金喷漆
 						 uni.navigateTo({

+ 17 - 4
pages/index/onlineBooking.vue

@@ -97,7 +97,7 @@
 					<view class="itemSm">
 						{{item.Comment}}
 					</view>
-					<view class="Price">
+					<view class="Price" v-if="item.Price">
 						<view class="yuyue-price"> <span class="qianhaospan">¥</span> {{item.Price||'--'}} </view>
 					</view>
 				</view>
@@ -140,7 +140,7 @@
 				<view class="yydetailContLine" v-for="(item,index) in  selectedItems">
 					<view class="yydlineName">{{item.ItemName}}</view>
 					<view class="yydlineCommnt" v-if="true">{{item.Comment}}</view>
-					<view class="yydPrice">¥{{item.Price}}</view>
+					<view class="yydPrice" v-if="item.Price">¥{{item.Price||'--'}}</view>
 				</view>
 			</view>
 
@@ -353,12 +353,25 @@
 				})
 			},
 			checkItem(item) {
+				item.bizTagId=this.bizTagId;
+				var bizTagId=this.bizTagId;
+				console.log(item)
 				let index = this.selectedItems.findIndex(i => i.ID === item.ID)
 				if (index !== -1) {
 					this.selectedItems.splice(index, 1)
 				} else {
-					this.selectedItems.push(item)
+					this.selectedItems.push(item);
+					this.selectedItems = this.selectedItems.filter(function(i) {
+					  return i.bizTagId==bizTagId
+					})
+					/* this.selectedItems.forEach(i=>{
+						if(i.bizTagId!=this.bizTagId){
+						 
+						}
+					}) */
+					
 				}
+				console.log(this.selectedItems)
 			},
 			goLocation() {
 				var that = this;
@@ -419,7 +432,7 @@
 					} else {
 						this.$store.commit('mutationsyuyueData', this.selectedItems)
 						uni.navigateTo({
-							url: 'confirmYuyue'
+							url: 'confirmYuyue?totalPrice='+this.totalPrice
 						})
 					}
 				}

+ 76 - 16
pages/index/rescue.vue

@@ -18,19 +18,19 @@
 
 
 			<view class="typeBox">
-				<view class="box2" @click="typeClick(1)" :class="{typeActive:typeIndex==1}">
+				<view class="box2" v-if="setting.indexOf(1)!=-1" @click="typeClick(1)" :class="{typeActive:typeIndex==1}">
 					<image src="../../static/img/icon_dadian_N.png" mode="" class="typeImg"></image>
 					<view class="title">搭电</view>
 				</view>
-				<view class="box2" @click="typeClick(2)" :class="{typeActive:typeIndex==2}">
+				<view class="box2" v-if="setting.indexOf(2)!=-1" @click="typeClick(2)" :class="{typeActive:typeIndex==2}">
 					<image src="../../static/img/icon_tuoche_N.png" mode="" class="typeImg"></image>
 					<view class="title">拖车</view>
 				</view>
-				<view class="box2"  @click="typeClick(3)" :class="{typeActive:typeIndex==3}">
+				<view class="box2" v-if="setting.indexOf(3)!=-1"  @click="typeClick(3)" :class="{typeActive:typeIndex==3}">
 					<image src="../../static/img/icon_luntai_N.png" mode="" class="typeImg"></image>
 					<view class="title">换胎</view>
 				</view>
-				<view class="box2"  @click="typeClick(4)" :class="{typeActive:typeIndex==4}">
+				<view class="box2" v-if="setting.indexOf(4)!=-1" @click="typeClick(4)" :class="{typeActive:typeIndex==4}">
 					<image src="../../static/timg/icon_luntai_def.png" mode="" class="typeImg"></image>
 					<view class="title">未知原因</view>
 				</view>
@@ -148,6 +148,8 @@
 				shopid:'',
 				msg:'',
 				helpPrice:'',
+				helptime:'',
+				setting:'',
 			}
 		},
 		onLoad() {
@@ -155,7 +157,7 @@
 			this.userInfo=this.$store.state.userInfo;
 			this.ext=this.$common.getExtStoreId();
 			if(this.userInfo){
-				
+				this.getsetting()
 			}else{
 				this.$common.automaticlogin().then(val => {
 					this.userInfo=this.$store.state.userInfo;
@@ -184,7 +186,7 @@
 					console.log('当前位置的纬度:' + res.latitude);
 					that.latitude=res.latitude;
 					that.longitude=res.longitude;
-					that.getShopInfo()
+					//that.getShopInfo()
 					var obj={
 						 latitude: that.latitude,
 						 longitude: that.longitude,
@@ -218,6 +220,35 @@
 		},
 		
 		methods: {
+			getsetting(){
+				this.$http('openShopHelpSheetOrder/help-type-setting', {
+				 
+				 },'POST').then(res => {
+					this.setting=res.data
+					if(!this.setting){
+						uni.showModal({
+						    title: '提示',
+						    content: '门店不支持救援服务',
+							confirmText:'我知道了',
+							showCancel:false,
+						    success: function (res) {
+																	
+						        if (res.confirm) {
+								   uni.switchTab({
+								   	url:'index'
+								   })
+						        } /* else if (res.cancel) {
+															// uni.hideLoading();
+						          uni.redirectTo({
+						          		url:'../subPack/rescueOrderOrderDetail?id='+id
+						          }) 
+								   
+						        } */
+						    }
+						});
+					}
+				 })
+			},
 			decryptPhoneNumber: function(e) {
 			  console.log(e);
 			  this.code=e.detail.code
@@ -255,6 +286,7 @@
 			onConfirm(e){
 				console.log(e)
 				this.yytime=e.result
+				this.helptime=e.obj.hour+':'+e.obj.minute
 			},
 			openDatetimePicker() {
 			     this.$refs.picker.show()
@@ -284,14 +316,6 @@
 				})
 			},
 			sure(){
-				 if(!this.shopInfo){
-					uni.showToast({
-						 title: this.msg||'暂未找到救援门店',
-						 icon:'none',
-						 duration: 3000
-					});
-					return false
-				} 
 				if(this.tabIndex==0){
 					const yy = new Date().getFullYear()
 					  const MM = (new Date().getMonth() + 1) < 10 ? '0' + (new Date().getMonth() + 1) : (new Date().getMonth() + 1)
@@ -301,6 +325,7 @@
 					  //const ss = new Date().getSeconds() < 10 ? '0' + new Date().getSeconds() : new Date().getSeconds()
 					  var time= yy + '-' + MM + '-' + dd + ' ' + HH + ':' + mm //+ ':' + ss
 					  console.log(time) 
+					  this.helptime=HH + ':' + mm
 					  //return false;
 					
 				}else{
@@ -325,9 +350,43 @@
 						return false;
 					}
 				}
+				//console.log(time)
+				
+				this.$http('openShopHelpSheetOrder/getShopInfo', {
+					lat:this.latitude,
+					lng:this.longitude,
+					type:this.typeIndex,
+					helptime:this.helptime
+				}, 'GET').then(res => {
+					if(res.code==0){
+						this.shopInfo=res.data.shopInfo;
+						this.helpPrice=res.data.shopHelpSetting.helpPrice;
+						this.msg=res.msg
+					}else{
+						this.shopInfo=''
+					}
+					
+				
+				/* uni.redirectTo({
+						url:'../subPack/rescueOrderOrderDetail?id='
+				}) */
+				 if(!this.shopInfo){
+					uni.showToast({
+						 title: '暂未找到救援门店',
+						 icon:'none',
+						 duration: 3000
+					});
+					return false
+				} 
+			     var orderType=1;
+				 if(this.tabIndex==1){
+					 orderType=2
+				 }
 				
 				uni.navigateTo({
-					url:'confirmRescue?lat='+this.latitude+"&lng="+this.longitude+"&shopId="+this.shopInfo.ID+'&shopName='+this.shopInfo.ShopName+'&type='+this.typeIndex+'&time='+time+'&currentAddress='+this.currentAddress+'&endAddress='+this.endAddress+'&endLat='+this.endLat+'&endLng='+this.endLng
+					url:'confirmRescue?lat='+this.latitude+"&lng="+this.longitude+"&shopId="+this.shopInfo.ID+'&shopName='+this.shopInfo.ShopName+'&type='+this.typeIndex+'&time='+time+'&currentAddress='+this.currentAddress+'&endAddress='+this.endAddress+'&endLat='+this.endLat+'&endLng='+this.endLng+'&orderType='+orderType
+				})
+				
 				})
 			},
 			startBtn(){
@@ -341,7 +400,7 @@
 						// console.log('纬度:' + res.latitude);
 						// console.log('经度:' + res.longitude);
 						that.longitude=res.longitude
-						that.latitude=res.latitude
+						that.latitude=res.latitude//.toFixed(5)
 						var obj={
 							 latitude: that.latitude,
 							 longitude: that.longitude,
@@ -355,6 +414,7 @@
 						}
 						that.covers[0]=obj;
 						that.points[0]=obj2;
+						//that.getShopInfo()
 						//that.calculateDistance()
 						console.log(that.covers)
 					},

+ 252 - 23
pages/index/shopList.vue

@@ -1,20 +1,42 @@
 <template>
 	<view class="box">
-
+        <view class="regionBox">
+			<view class="regionLine" @click="gocity">
+				<view class="regionTxt">{{cityName}}</view>
+				<image src="../../static/timg/icon_arrow_def@2x.png" mode="" class="jtbelow"></image>
+			</view>
+			<view class="regionSx"></view>
+			<view class="regionLine" @click="quCilck">
+				<!-- <picker @change="bindPickerChange" :value="index" :range="areaList" range-key='area' @cancel="cancelHandling">
+					
+				</picker> -->
+				<view class="regionTxt">{{areaName}}</view>
+				<image src="../../static/timg/icon_arrow_def@2x.png" mode="" class="jtbelow"></image>
+			</view>
+		</view>
+		<view style="height: 90rpx;"></view>
 		<view class="shopline" v-for="(item,index) in queryShopList" @click="goDetail(item)">
 			<view class="shoplineLeft">
 				<image :src="item.photoPath" mode="" class="shopImg" v-if="item.photoPath"></image>
 				<image src="../../static/timg/noimg.png" mode="" class="shopImg" v-else></image>
 			</view>
 			<view class="shopright">
-				<view class="shopTop">
-					<view class="shopName">{{item.shopName}}</view>
-				</view>
-
-				<view class="brandsBg" v-if="item.brands">
-
-					<view class="brands" v-for="(v,index2) in item.brands.split(',')">{{v}}</view>
-				</view>
+				<view style="display: flex;justify-content: space-between;">
+					<view style="width: 410rpx;">
+						<view class="shopTop">
+							<view class="shopName">{{item.shopName}}</view>
+						</view>
+						<view class="brandsBg" v-if="item.brands">
+							<view class="brands" v-for="(v,index2) in item.brands.split(',')">{{v}}</view>
+						</view>
+					</view>
+					<view class="yuyuBtnBox" >
+						<view>预约</view>
+						<image style="width: 21rpx;height: 21rpx;margin-top: 4rpx;margin-left: 5rpx;" src="http://dmsphoto.66km.com.cn/thFiles/1D60717A-DC1D-43BC-BBFE-EE0FAFD1A470.png" mode=""></image>
+					</view>
+				</view>	
+				
+				
 
 				<view class="shopTime"><span v-if="item.startTime">{{item.startTime}}</span> - <span
 						v-if="item.endTime">{{item.endTime}}</span> </view>
@@ -22,9 +44,19 @@
 				<view class="shopBottomLeft">
 
 					<span class="shopaddress"
-						v-if="item.address">{{item.provinceName}}{{item.cityName}}{{item.areaName}}{{item.address}}</span>
+						v-if="item.address">{{item.address}}</span>
 					<span v-if="item.distance&&item.distance!= '0.00'">{{item.distance}}km</span>
 				</view>
+				<view class="shopdhBox">
+				  <view class="shopcall" @click.stop="makePhoneCall(item.mobilePhone)">
+					  <image class="shopcallIcon" src="http://dmsphoto.66km.com.cn/thFiles/AB063613-7B7A-4BD4-AF43-9ECC082FF5C6.png" mode=""></image>
+				      <view class="shopcallTxt">联系电话</view>
+				  </view>
+				  <view class="shopcall" style="padding-left: 65rpx;" @click.stop="goMap(item)">
+				  	  <image class="shopcallIcon" src="http://dmsphoto.66km.com.cn/thFiles/5479ED98-61D3-41CB-8080-889E851FF6C0.png" mode=""></image>
+				      <view class="shopcallTxt">一键导航</view>
+				  </view>
+				</view>
 
 			</view>
 
@@ -37,7 +69,20 @@
 		<view class="noMore" v-if="noMoreShow && (queryShopList.length!=0)">没有更多数据</view>
 		<!-- 无数据空白页 -->
 		<nodata v-if="queryShopList.length==0"></nodata>
-
+        <uni-popup ref="popup" type="right" :mask-click="true">
+			<view class="popup-content">
+				<scroll-view class="brandList" scroll-y="true">
+					<!-- :class="{areaActvie:item.area==areaName}" -->
+					<view v-for="item in areaList" class="areaListLine"
+					 
+					 @click="checkarea(item)">
+					  <span >{{item.area}}</span>
+					  <image v-if="item.code==area" class="areaCkIcon" src="http://dmsphoto.66km.com.cn/thFiles/0A1DADEA-1807-4ABC-B391-ECC8B1882DA4.png" mode=""></image>
+					</view>
+				</scroll-view>
+			</view>
+			
+		</uni-popup>
 	</view>
 </template>
 
@@ -56,32 +101,149 @@
 				},
 				queryShopList: '',
 				noMoreShow: false,
-
-
-
+                regionName:'',
+                twoRegionName:'',
+                cityName:'',
+				area:'',
+				cityCode:'',
+				areaList:'',
+				index:'',
+				areaName:'区域',
 			}
 		},
 
 		onLoad() {
 			var that = this;
+			uni.removeStorageSync('selectCity');
 			uni.getLocation({
 				type: 'gcj02',
 				success: function(res) {
 					console.log(res)
 					that.location.lat = res.latitude
 					that.location.lng = res.longitude
-
-					that.getqueryShopList() //获取全部门店列表
+                    that.getAdress();
+					//that.getqueryShopList() //获取全部门店列表
 
 				},
 				fail(err) {
 
 				}
 			});
+			
+		},
+		onShow() {
+			const selectCity = uni.getStorageSync('selectCity');
+			if(selectCity){
+				this.cityName=selectCity.city
+				this.cityCode=selectCity.code
+				this.areaName='区域'
+				this.area=''
+				this.getAreaList()
+				this.getqueryShopList() //获取门店列表
+			}
 		},
 		methods: {
-
-
+			quCilck(){
+				this.$refs.popup.open("right")
+				this.popupShow=true;
+			},
+			gocity(){
+				uni.navigateTo({
+					url:'/pages/subPack/chooseCity'
+				})
+			},
+			checkarea(item){
+				if(this.area==item.code){
+					this.areaName='区域'
+					this.area=''
+					this.getqueryShopList() //获取门店列表
+				}else{
+					this.areaName=item.area
+					this.area=item.code
+					this.getqueryShopList() //获取门店列表
+				}
+				this.$refs.popup.close()
+			},
+			bindPickerChange(e){
+				//console.log(e)
+				this.areaName=this.areaList[e.detail.value].area
+				this.area=this.areaList[e.detail.value].code
+				this.getqueryShopList() //获取门店列表
+			},
+			cancelHandling(){
+				this.areaName='区域'
+				this.area=''
+				this.getqueryShopList() //获取门店列表
+			},
+            makePhoneCall(num){
+				uni.makePhoneCall({
+					phoneNumber:num
+				});
+			},
+            goMap(item){
+				var that = this;
+				if (!item.lat || !item.lng) {
+					uni.showToast({
+						title: '该店铺未设置定位',
+						icon: 'none',
+						duration: 3000
+					});
+				} else {
+					uni.openLocation({
+						latitude: Number(item.lat),
+						longitude: Number(item.lng),
+						name: item.shopName,
+						address: item.provinceName + item.cityName + item.areaName +
+							item.address,
+						success: function() {
+							console.log('success');
+						},
+						fail(err) {
+							console.log(err)
+						}
+					});
+				}
+			},
+			getAdress(){
+				var that=this;
+				var location = this.location.lng + ',' + this.location.lat
+				uni.request({
+					url: 'https://restapi.amap.com/v3/geocode/regeo',
+					data: {
+						key: '389a059efa3f499d9145eb84b1c3248d',
+						location: location,
+					},
+					dataType: "json",
+					success: (res) => {
+						console.log('定位城市', res);
+						if(res.data.regeocode){
+							console.log("城市名称")
+							 console.log(res.data.regeocode.addressComponent.city)
+							// console.log(res.data.pois[0].cityname)
+							let cityname = res.data.regeocode.addressComponent.city;
+							var cityCode = res.data.regeocode.addressComponent.adcode
+							cityCode = cityCode.slice(0, -2)
+							cityCode = cityCode + '00'
+							this.cityName = cityname
+							this.cityCode = cityCode
+							that.getqueryShopList() //获取全部门店列表
+							that.getAreaList()
+							
+						}else{
+							console.log("接口获取失败")
+						}
+						
+					}
+				});
+			},
+			getAreaList(){
+				this.$http('opencarOwnerHome/shop-area-list', {
+				    city:this.cityCode
+				}, 'GET').then(res => {
+				    this.areaList=res.data
+				
+				})
+			},
 			getqueryShopList() {
 				uni.showLoading({
 					title: '加载中'
@@ -90,11 +252,11 @@
 
 					lat: this.location.lat ? this.location.lat : '',
 					lng: this.location.lng ? this.location.lng : '',
-
-
+                    city:this.cityCode,
+                    area:this.area
 				}, 'GET').then(res => {
 					uni.hideLoading();
-					this.queryShopList = res.data
+					this.queryShopList = res.data.shop
 					console.log('list+=', this.queryShopList);
 
 				})
@@ -123,12 +285,79 @@
 </script>
 
 <style scoped>
+.areaCkIcon{
+	width: 38rpx;height: 28rpx;
+}
+	.popup-content{
+		width: 590rpx;
+		background: #FFFFFF;
+		height: 100vh;
+	}
+	.brandList{
+		height:99vh;
+	}
+	.areaListLine{
+		padding:30rpx 24rpx;
+		color: #666666;
+		font-size: 28rpx;
+		border-bottom: 1px solid #eaeaea;
+		display: flex;
+		justify-content: space-between;
+		line-height: 28rpx;
+	}
+	.areaActvie{
+		background: #F19D01;
+		color: #FFFFFF;
+	}
+	
+.jtbelow{
+	width: 14rpx;height: 7rpx;
+	margin-left: 10rpx;margin-top: 10rpx;
+}
+.regionSx{
+	width: 2rpx;height: 33rpx;background:#EEEEEE;
+}
+.regionLine{
+	display: flex;justify-content: center;font-size: 26rpx;
+	width: 370rpx;line-height: 33rpx;color: #3C3C3C;
+}
+.regionBox{
+	display: flex;
+	justify-content: center;
+	background: #FFFFFF;
+	padding: 20rpx 0;
+	margin-bottom: 20rpx;
+	position: fixed;
+	width: 100vw;
+	top: 0;left: 0;
+}
 	.box {
 		min-height: 100vh;
-		background-color: #F4F5F7;
-		padding-top: 20rpx;
+		background-color: #F4F5F7;
 		padding-bottom: 60rpx;
 	}
+	.shopdhBox{
+		display: flex;padding-top: 16rpx;
+	}
+	.shopcall{
+		display: flex;
+	}
+	.shopcallIcon{
+		width: 23rpx;height: 23rpx;margin-top: 5rpx;
+	}
+	.shopcallTxt{
+		color: #3C3C3C;font-size: 24rpx;
+		line-height: 33rpx;padding-left: 8rpx;
+	}
+	.yuyuBtnBox{
+		    display: flex;
+		    font-size: 24rpx;
+		    color: #FF8113;
+		    align-items: center;
+		    justify-items: center;
+		/* border-left: 1px solid #EEEEEE;
+		 padding-left: 20rpx; */
+	}
 
 	.shopline {
 		margin: 0rpx 24rpx 20rpx;

+ 225 - 58
pages/index/vipCard.vue

@@ -1,8 +1,8 @@
 <template>
 	<view class="box">
 
-		<view class="headerBox">
-			<view class="vip">
+		<!-- <view class="headerBox">
+			 <view class="vip">
 				<view class="headerTop">
 					<image src="http://dmsphoto.66km.com.cn/thFiles/785A657B-2FA6-4B22-A356-D555BFE2E18D.png" mode="" style="width: 80rpx;height: 80rpx;"></image>
 					<view class="headerRight">
@@ -22,7 +22,7 @@
 					<view class="kahao">卡号 {{vipData.cardCode}}</view>
 
 				</view>
-			</view>
+			</view> 
 
 			<view class="tab">
 				<view>
@@ -34,23 +34,103 @@
 					<view :class="{line:tabIndex==2}"></view>
 				</viw>
 			</view>
-		</view>
-
+		</view> -->
+
+       <view class="newTop">
+		   <view class="newTopCont" v-if="vipData.cardCode">
+			   <image src="../../static/timg/icon_vip.png" mode="" class="topVipIcon"></image>
+			   <span style="padding-right: 10rpx;padding-left: 10rpx;">卡号</span>
+			   <span>{{vipData.cardCode}}</span>
+		   </view>
+	   </view>
+	   <view class="btnBox" @click="dis=!dis">
+	   	<image v-if="dis" src="../../static/img/icon_selectY.png" mode="" style="width: 36rpx;height: 36rpx;">
+	   	</image>
+	   	<image v-else src="../../static/img/icon_selectN.png" mode="" style="width: 36rpx;height: 36rpx;">
+	   	</image>
+	   	<view style="margin-left: 10rpx;color: #3C3C3C;font-size: 24rpx;">不展示剩余为0项</view>
+	   </view>
+	   
 
 		<!-- 计次 -->
-		<view class="mainBox" v-if="tabIndex==1">
-			<view class="btnBox" @click="dis=!dis">
-				<image v-if="dis" src="../../static/img/icon_selectY.png" mode="" style="width: 36rpx;height: 36rpx;">
-				</image>
-				<image v-else src="../../static/img/icon_selectN.png" mode="" style="width: 36rpx;height: 36rpx;">
-				</image>
-				<view style="margin-left: 10rpx;color: #3C3C3C;font-size: 24rpx;">不展示剩余为0项</view>
+		<view class="mainBox" ><!-- v-if="tabIndex==1" -->
+		
+		<!-- 卡制度 -->
+		<view v-for="(item,index) in vipData.f2ccard" class="ftwoccard">
+			<view class="itemBox" v-if="AmountQtyJsFcard(item.detail)">
+			<view class="itemTop">
+				<view class="itemName">
+					<span class="titleType2" >卡</span>
+				{{item.card.cardName}}
+				</view>
+				<view class="fcardJt" v-if="item.detail.length>0" :class="{active:item.open}" @click="changeState(item)">
+					<image  v-if="item.open==false" src="../../static/img/icon_arrow_down.png"
+						mode="" style="width: 34rpx;height: 22rpx;"></image>
+					<image  v-if="item.open==true" src="../../static/img/icon_arrow_up.png"
+						mode="" style="width: 34rpx;height: 22rpx;"></image>
+				</view>
 			</view>
-
+			<view class="fcardBottom" :class="{fcardBottomactive:item.open}">
+				<view class="fcardCardCode">{{item.card.cardCode}}</view>
+				<view class="fcardCardCode">{{item.card.expireTime.slice(0,10)}}</view>
+			</view>
+			
+		
+			<view v-if="item.open">
+				<!-- 不展示剩余为0项 -->
+				<view class="itemBg " v-if="dis&&v.lastCount!=0" v-for="(v,index2) in item.detail" :key="index2">
+					<view class="nameTop" v-if="v.type==2"><span class="type">项目</span> {{v.bizName}}</view>
+					<view class="nameTop" v-if="v.type==1"><span class="type">商品</span> {{v.bizName}}</view>
+					<view class="itemBgFcard">
+						<view class="discountTypeBox">
+							<view class="fcardType" v-if="v.discountType==2">会员价</view>
+							<view class="fcardType" v-if="v.discountType==1">折扣</view>
+							<view class="discountNum" v-if="v.discountType==2">{{v.discountNum}}</view>
+							<view class="discountNum" v-if="v.discountType==1">{{v.discountNum}}折</view>
+						</view>
+						<view class="timeBottom">
+							<view>剩余/总:<span
+									style="color: #FF3B30;">{{v.lastCount}}</span>/{{v.useCount}}
+							</view>
+						</view>
+					</view>
+					
+				</view>
+				
+				<!-- 展示所有 -->
+				<view class="itemBg " v-if="!dis" v-for="(v,index2) in item.detail" :key="index2">
+					<view class="nameTop" v-if="v.type==2"><span class="type">项目</span> {{v.bizName}}</view>
+					<view class="nameTop" v-if="v.type==1"><span class="type">商品</span> {{v.bizName}}</view>
+					<view class="itemBgFcard">
+						<view class="discountTypeBox">
+							<view class="fcardType" v-if="v.discountType==2">会员价</view>
+							<view class="fcardType" v-if="v.discountType==1">折扣</view>
+							<view class="discountNum" v-if="v.discountType==2">{{v.discountNum}}</view>
+							<view class="discountNum" v-if="v.discountType==1">{{v.discountNum}}折</view>
+						</view>
+						<view class="timeBottom">
+							<view>剩余/总:<span
+									style="color: #FF3B30;">{{v.lastCount}}</span>/{{v.useCount}}
+							</view>
+						</view>
+					</view>
+					
+				</view>
+				
+				
+			</view>
+		
+			</view>
+			</view>
+		
+			
 			<view v-for="(item,index) in vipData.cardTimeList">
 				<view v-if="AmountQtyJs(item.list)" class="itemBox">
 				<view class="itemTop">
-					<view class="itemName">{{item.PackName}}</view>
+					<view class="itemName">
+						<span class="titleType">计次</span>
+					{{item.PackName}}
+					</view>
 					<view class="tiaokuan" @click="useCl(item.useComment)">使用条款</view>
 				</view>
 				<view class="itemBottom" :class="{active:item.open}" @click="changeState(item)">
@@ -103,7 +183,7 @@
 			</view>
 
 			<!-- 无数据空白页 -->
-			<nodata v-if="vipData.cardTimeList.length==0"></nodata>
+			<!-- nodata v-if="vipData.cardTimeList.length==0"></nodata> -->
 			
 			<!-- 使用条款-->
 			<view class="shiyongBox" v-if="shiyongShow" @click="shiyongShow=false">
@@ -118,51 +198,43 @@
 						<view v-else class="shiyongno">使用条款暂无内容</view>
 					</view>
 				</view>
-			</view>
-			
-		</view>
-
-		<!-- 储值 -->
-		<view class="mainBox" v-if="tabIndex==2">
-			<view class="btnBox" @click="disCz=!disCz">
-				<image v-if="disCz" src="../../static/img/icon_selectY.png" mode="" style="width: 36rpx;height: 36rpx;">
-				</image>
-				<image v-else src="../../static/img/icon_selectN.png" mode="" style="width: 36rpx;height: 36rpx;">
-				</image>
-				<view style="margin-left: 10rpx;color: #3C3C3C;font-size: 24rpx;">不展示剩余为0项</view>
 			</view>
-
+			
+			<!-- 储值 -->
 			<view v-for="(item,index) in vipData.carMoneyList">
 				<!-- 不展示剩余为0项 -->
 				<view v-if="disCz&&item.Money!=0" class="itemBox">
 				<view class="itemTop">
-					<view class="itemName">{{item.PacKName}}</view>
+					<view class="itemName">
+						<span class="titleType">储值</span>
+					{{item.PacKName}}
+					</view>
 					<view class="tiaokuan" @click="useCl(item.useComment)">使用条款</view>
 				</view>
 				<view class="moneyBox"><span style="font-size: 24rpx; color: #FF3B30; padding-top: 2rpx;">¥</span><span class="money">{{item.Money}}</span> <span
-						style="color: #999999;font-size: 24rpx;">( 充{{item.ChargeMoney}}送{{item.GiftMoney}} )</span>
+						style="color: #3C3C3C;font-size: 24rpx;">(充{{item.ChargeMoney}}送{{item.GiftMoney}})</span>
 				</view>
 				<view class="itemBottom" :class="{active:item.open}" @click="changeState(item)">
 					<view class="shopName">{{item.ShopName}}</view>
-
+			
 					
 					<image  v-if="item.open==false" src="../../static/img/icon_arrow_down.png"
 						mode="" style="width: 34rpx;height: 22rpx;"></image>
 					<image  v-if="item.open==true" src="../../static/img/icon_arrow_up.png"
 						mode="" style="width: 34rpx;height: 22rpx;"></image>
 				</view>
-
+			
 				<view class="itemBg" v-if="item.open" v-for="(v,index2) in item.payList" :key="index2">
-
+			
 					<view class="timeBottom">
-						<view class="time" v-if="v.CreateTime">{{v.CreateTime}}</view>
-
-
-						<view v-if="v.Type==2">-{{v.Money}}</view>
-						<view class="count" v-else>+{{v.Money}}</view>
+						<view class="time" style="color: #666666;" v-if="v.CreateTime">{{v.CreateTime}}</view>
+			
+			
+						<view style="color: #3C3C3C;font-weight: 500;" v-if="v.Type==2">-{{v.Money}}</view>
+						<view class="count" style="font-weight: 500;" v-else>+{{v.Money}}</view>
 					</view>
 				</view>
-
+			
 				</view>
 				
 				<!-- 展示所有 -->
@@ -172,7 +244,7 @@
 					<view class="tiaokuan" @click="useCl(item.useComment)">使用条款</view>
 				</view>
 				<view class="moneyBox"><span style="font-size: 24rpx; color: #FF3B30; padding-top: 2rpx;">¥</span><span class="money">{{item.Money}}</span> <span
-						style="color: #999999;font-size: 24rpx;">( 充{{item.ChargeMoney}}送{{item.GiftMoney}} )</span>
+						style="color: #3C3C3C;font-size: 24rpx;">(充{{item.ChargeMoney}}送{{item.GiftMoney}})</span>
 				</view>
 				<view class="itemBottom" :class="{active:item.open}" @click="changeState(item)">
 					<view class="shopName">{{item.ShopName}}</view>
@@ -187,22 +259,40 @@
 				<view class="itemBg" v-if="item.open" v-for="(v,index2) in item.payList" :key="index2">
 				
 					<view class="timeBottom">
-						<view class="time" v-if="v.CreateTime">{{v.CreateTime}}</view>
+						<view class="time" style="color: #666666;" v-if="v.CreateTime">{{v.CreateTime}}</view>
 				
 				
-						<view v-if="v.Type==2">-{{v.Money}}</view>
-						<view class="count" v-else>+{{v.Money}}</view>
+						<view v-if="v.Type==2" style="font-weight: 500;color: #3C3C3C;">-{{v.Money}}</view>
+						<view class="count" style="font-weight: 500;" v-else>+{{v.Money}}</view>
 					</view>
 				</view>
 				
 				</view>
 				
 				
+			
+			</view>
+			
+			
+			
+		</view>
+		
+		
+		
 
+		<!-- 储值 -->
+		<view class="mainBox"  v-if="tabIndex==2"><!-- -->
+			<view class="btnBox" @click="disCz=!disCz">
+				<image v-if="disCz" src="../../static/img/icon_selectY.png" mode="" style="width: 36rpx;height: 36rpx;">
+				</image>
+				<image v-else src="../../static/img/icon_selectN.png" mode="" style="width: 36rpx;height: 36rpx;">
+				</image>
+				<view style="margin-left: 10rpx;color: #3C3C3C;font-size: 24rpx;">不展示剩余为0项</view>
 			</view>
 
+
 			<!-- 无数据空白页 -->
-			<nodata v-if="vipData.carMoneyList.length==0"></nodata>
+			<!-- <nodata v-if="vipData.carMoneyList.length==0"></nodata> -->
 			
 			<!-- 使用条款-->
 			<view class="shiyongBox" v-if="shiyongShow" @click="shiyongShow=false">
@@ -297,6 +387,20 @@
 			
 			  return state
 			},
+			AmountQtyJsFcard (item) {
+			  var state = false
+			  if (this.dis) {
+			    item.forEach(v => {
+			      if (v.lastCount != 0) {
+			        state = true
+			      }
+			    })
+			  } else {
+			    state = true
+			  }
+			
+			  return state
+			},
 			useCl(useComment) {
 				this.useComment = useComment;
 				this.shiyongShow = true;
@@ -324,6 +428,11 @@
 							item['open'] = false
 						}
 					})
+					list.f2ccard.forEach((item, index) => {
+						for (const key in item) {
+							item['open'] = false
+						}
+					})
 
 					this.vipData = list
 
@@ -387,6 +496,58 @@
 </script>
 
 <style scoped>
+.ftwoccard .active{
+	margin-bottom: 0rpx;
+}
+.fcardBottomactive{
+	padding-bottom: 20rpx;
+}
+.titleType2{
+	width: 32rpx;height: 32rpx;	color: #FFFFFF;font-size: 24rpx;background: #FF8113;
+border-radius: 4rpx;margin-right: 8rpx;text-align: center;line-height: 32rpx;
+display: inline-block;font-weight: 400;
+}
+.titleType{
+	color: #FFFFFF;font-size: 24rpx;font-weight: 400;height: 32rpx;
+	padding:0px 4rpx;background: #FF8113;line-height: 32rpx;
+border-radius: 4rpx;margin-right: 8rpx;
+}
+.discountTypeBox{
+	display: flex;line-height: 30rpx;
+}
+.fcardType{
+	background: #fff1ea;color: #FF4F00;
+	border-radius: 5rpx;
+	line-height: 32rpx;
+	padding: 0 6rpx;
+	font-size: 22rpx;
+	height: 30rpx;
+	    display: block;
+}
+.discountNum{
+	font-weight: 500;
+	color: #FF4F00;
+	font-size: 26rpx;
+	padding-left: 10rpx;
+}
+.fcardBottom{
+	display: flex;justify-content: space-between;color: #999999;font-size: 24rpx;
+	padding-top: 12rpx;
+}
+	.topVipIcon{
+		width: 41rpx;height: 40rpx;
+	}
+	.newTopCont{
+		border-radius: 16rpx;line-height: 40rpx;
+		border: 1px solid #EAC799;font-size: 28rpx;
+		padding: 19rpx 26rpx;color: #F7D4B5;
+		display: flex;
+	}
+	.newTop{
+		background-color: #171723;
+		padding: 10rpx 24rpx;
+		padding-bottom: 50rpx;
+	}
 	.box {
 		min-height: 100vh;
 		padding-bottom: 60rpx;
@@ -504,17 +665,21 @@
 		background-color: #F4F5F7;
 		padding: 24rpx;
 		min-height: 100vh;
+		padding-top: 1rpx;
 	}
 
 	.btnBox {
-		display: flex;
+		display: flex;background: #FFFFFF;
+		border-radius: 24rpx 24rpx 0rpx 0rpx;
+		padding: 26rpx 24rpx;
+		margin-top: -24rpx;
 	}
 
 
 	.itemBox {
 		background-color: #FFFFFF;
 		border-radius: 10rpx;
-		padding: 30rpx 20rpx;
+		padding: 24rpx 20rpx;
 		margin-top: 20rpx;
 	}
 
@@ -537,8 +702,7 @@
 	}
 
 	.itemName {
-
-		font-size: 30rpx;
+		font-size: 28rpx;
 		font-weight: bold;
 		color: #333333;
 		line-height: 42rpx;
@@ -550,7 +714,7 @@
 		background: #FFFFFF;
 		border-radius: 28rpx;
 		border: 1rpx solid #DDDDDD;
-		color: #666666;
+		color: #3C3C3C;
 		font-size: 24rpx;
 		text-align: center;
 		line-height: 52rpx;
@@ -558,10 +722,11 @@
 
 	.shopName {
 		border-radius: 5rpx;
-		border: 1rpx solid #DDDDDD;
+		/* border: 1rpx solid #DDDDDD; */
 		color: #999999;
 		font-size: 24rpx;
 		padding: 2rpx 12rpx;
+		padding-left: 0rpx;
        /* max-width: 300rpx;
            overflow: hidden;
            white-space: nowrap;
@@ -573,31 +738,33 @@
 		padding: 30rpx 0rpx;
 		border-top: 1rpx solid #EEEEEE;
 	}
+	.itemBgFcard{
+		    display: flex;
+		    justify-content: space-between;
+	}
     .itemBg:last-child{
 		padding-bottom: 0;
 	}
 	.nameTop {
-
+        display: flex;
 		font-size: 28rpx;
 		font-weight: 400;
 		color: #333333;
-		line-height: 40rpx;
+		line-height: 34rpx;
 		margin-bottom: 20rpx;
 	}
 
 	.type {
-		width: 72rpx;
-		height: 36rpx;
+		height: 26rpx;
 		border-radius: 5rpx;
 		border: 1rpx solid #F19D01;
-
 		margin-right: 10rpx;
-
 		font-size: 24rpx;
 		color: #F19D01;
-		line-height: 36rpx;
-		padding: 2rpx 12rpx;
+		line-height: 30rpx;
+		padding: 2rpx 0;
 		text-align: center;
+		width: 60rpx;
 	}
 
 	.timeBottom {

+ 381 - 0
pages/subPack/chooseCity.vue

@@ -0,0 +1,381 @@
+<template>
+	<view class="content">
+		
+
+		<!-- 城市列表 -->
+		<scroll-view class="scroll-view" scroll-y scroll-with-animation="true" enable-back-to-top="true"
+			:scroll-into-view="toIndex" >
+
+			<view class="listContent">
+				<view class="city-list">
+					<!-- 城市列表  -->
+					<view v-for="(item, index) in cityData">
+						<view class="c-title"  :id="item['首字母']">{{item['首字母']}}</view>
+						<view class="item" v-for="(city,index2) in item['城市列表']" @click="selectCity(city)">
+							{{city.city}}
+						</view>
+					</view>
+				</view>
+
+				<!-- 字母列表 -->
+				<view class="zhimubox">
+					<view v-for="(item, index) in alphabet">
+						<view class="alphabet" :class="{select:toIndex == item}" @click="tap(item)">
+							{{item}}
+						</view>
+					</view>
+				</view>
+			</view>
+
+
+
+		</scroll-view>
+		
+		
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				searchValue: '',
+				cityData: [],
+				alphabet: [],
+				toIndex: '', //跳转的索引的字母
+				searchData:[],
+				locationCity: {
+					cityName: '',
+					cityCode: '',
+					lng: '',
+					lat: '',
+				},
+				
+
+			}
+		},
+		onLoad() {
+			this.getData();
+		},
+		onShow() {
+			/* var nowCity = uni.getStorageSync("locationCity");
+			if (nowCity) {
+				this.locationCity = nowCity
+			} else {
+
+				this.getLocation()
+			} */
+			this.getData();
+		},
+		methods: {
+			tap(item) {
+				console.log('字母点击', item);
+				this.toIndex = item
+			},
+			againDingWei() {
+				console.log('重新定位');
+				this.getLocation();
+			},
+			getLocation() {
+
+				const that = this
+				uni.getLocation({
+					type: 'wgs84',
+					success: function(res) {
+						console.log('定位', res)
+						that.locationCity.lng = res.longitude
+						that.locationCity.lat = res.latitude
+
+						
+						that.getAdress();
+
+					},
+					fail(err) {
+						console.log(err)
+
+					}
+				});
+			},
+			getAdress() {
+				// 根据经纬度 逆城市地理编码 获取城市信息
+				var location = this.locationCity.lng + ',' + this.locationCity.lat
+				uni.request({
+					url: 'https://restapi.amap.com/v3/geocode/regeo',
+					data: {
+						key: '389a059efa3f499d9145eb84b1c3248d',
+						location: location,
+						//location: '117.06533,36.68013',
+						//types: "190000",
+						//extensions: "all",
+						//radius: 100
+					},
+					dataType: "json",
+					success: (res) => {
+						console.log('定位城市', res);
+						if(res.data.regeocode){
+							console.log("城市名称")
+							 console.log(res.data.regeocode.addressComponent.city)
+							// console.log(res.data.pois[0].cityname)
+							let cityname = res.data.regeocode.addressComponent.city;
+							var cityCode = res.data.regeocode.addressComponent.adcode
+							cityCode = cityCode.slice(0, -2)
+							cityCode = cityCode + '00'
+							this.locationCity.cityName = cityname
+							this.locationCity.cityCode = cityCode
+							uni.setStorage({
+								key: 'locationCity',
+								data: this.locationCity,
+								success: function() {
+									console.log('定位城市,保存成功');
+								}
+							})
+						}else{
+							console.log("接口获取失败")
+						}
+						
+					}
+				});
+			},
+			search(val) {
+				// console.log(val);
+				this.searchValue = val
+
+				this.getData()
+			},
+			getData() {
+				uni.showLoading({
+					title: '加载中'
+				})
+
+				let url = 'opencarOwnerHome/shop-city-list',
+					params = {
+						
+					}
+				this.$http(url, params, 'GET').then(res => {
+					uni.hideLoading()
+
+					if (res.code == 0) {
+						this.cityData = res.data
+						var arr = []
+						this.cityData.forEach((item, index) => {
+							arr.push(item.首字母)
+						});
+					}
+					this.alphabet = arr
+					
+
+
+				})
+			},
+			selectDingCity(locationCity){
+				console.log('选择了定位城市:', locationCity);
+				var city={}
+				city.city = locationCity.cityName
+				city.code = locationCity.cityCode
+				uni.setStorage({
+					key: 'selectCity',
+					data: city,
+					success: function() {
+						console.log('选择了定位城市,保存成功');
+					}
+				})
+				
+				uni.navigateBack({
+				
+				})
+			},
+			selectCity(city) {
+
+				console.log('选择的城市:', city);
+
+				uni.setStorage({
+					key: 'selectCity',
+					data: city,
+					success: function() {
+						console.log('选择的城市,保存成功');
+					}
+				})
+
+				uni.navigateBack({
+
+				})
+
+			},
+
+		},
+
+
+		onPullDownRefresh() {
+
+			this.getData()
+			setTimeout(function() {
+				uni.stopPullDownRefresh();
+			}, 1000);
+		},
+
+	}
+</script>
+
+<style scoped>
+	.zhimubox{
+		position: fixed;
+		right: 30rpx;
+		top: 200rpx;
+		height: 80vh;
+		    overflow-y: scroll;
+	}
+	.content {
+		
+		background: #FFFFFF;
+		min-height: 100vh;
+	}
+
+	.topView {
+		background: #FFFFFF;
+		position: fixed;
+		width: 100%;
+		height: 120rpx;
+		z-index: 99;
+	}
+
+	.searchBoxBg {
+
+		width: 100%;
+		background-color: #FFFFFF;
+		border-top: 1rpx solid #EEEEEE;
+	}
+
+	.searchBox {
+		display: flex;
+		height: 72rpx;
+		margin: 24rpx;
+		background-color: #F4F5F7;
+		border-radius: 36rpx;
+	}
+
+	.scroll-view {
+		width: 100%;
+		/* height: calc(100vh - 80rpx); */
+		height: 100vh;
+		box-sizing: border-box;
+		padding: 20rpx 24rpx 20rpx;
+
+	}
+
+	.nowArea {
+		width: 100%;
+		height: 147rpx;
+	}
+
+	.area {
+		color: #999999;
+		font-size: 24rpx;
+		margin-bottom: 20rpx;
+	}
+
+	.dingwBox {
+		display: flex;
+		justify-content: space-between;
+	}
+
+	.dingweiCity {
+		background-color: #F4F5F7;
+		border-radius: 49rpx;
+		width: 140rpx;
+		height: 64rpx;
+		text-align: center;
+		line-height: 64rpx;
+		font-size: 26rpx;
+	}
+
+	.dingBg {
+		display: flex;
+		align-items: center;
+		color: #3F90F7;
+		font-size: 26rpx;
+
+	}
+
+	.icon {
+		width: 33rpx;
+		height: 33rpx;
+		margin-right: 5rpx;
+	}
+
+	.listContent {
+		display: flex;
+		justify-content: space-between;
+	}
+
+	.city-list {
+		display: flex;
+		flex-direction: column;
+		width: 95%;
+	}
+
+
+	.c-title {
+		color: #999999;
+		font-size: 24rpx;
+		height: 33rpx;
+		line-height: 33rpx;
+		padding-top: 30rpx;
+	}
+
+	.item {
+		width: 100%;
+		height: 46rpx;
+		padding: 30rpx 13rpx;
+		color: #3C3C3C;
+		font-size: 28rpx;
+		border-bottom: 1rpx solid #EEEEEE;
+	}
+
+	.alphabet {
+		font-size: 22rpx;
+		font-weight: bold;
+		color: #999999;
+		width: 4%;
+		margin: 20rpx 0;
+		text-align: center;
+	}
+
+	.select {
+		color: #FF4F00;
+	}
+
+	
+	.reach-content{
+		width: 100%;
+		height: calc(100vh - 120rpx);
+		box-sizing: border-box;
+		padding: 120rpx 24rpx 20rpx;
+	}
+
+
+
+
+
+
+
+
+
+
+
+	/* 空白页css */
+	.nodataBox {
+		text-align: center;
+	}
+
+	.nodataImg {
+		width: 400rpx;
+		padding-top: 300rpx;
+	}
+
+	.noTxt {
+		font-size: 30rpx;
+		color: #999999;
+		padding-top: 50rpx;
+	}
+</style>

+ 272 - 0
pages/subPack/depositDetail.vue

@@ -0,0 +1,272 @@
+<template>
+	<view class="box">
+		<homenav :iStatusBarHeight="iStatusBarHeight" :title="'寄存详情'" :cj="4"></homenav>
+	    <view class="top" :style="{background:'#'+themeColor}">
+			<view class="orderState">
+				<image src="../../static/img/icon_order_def.png" mode="" style="width: 44rpx;height: 44rpx;"></image>
+				<view class="SheetState" v-if="data.sheetState==-1">待寄存</view>
+				<view class="SheetState" v-if="data.sheetState==0">寄存中</view>
+				<view class="SheetState" v-if="data.sheetState==1">已领取</view>
+				<view class="SheetState" v-if="data.sheetState==2">已作废</view>
+			</view>
+		</view>
+		<!-- 店铺信息 -->
+		<view class="shopBox" ><!-- :class="{shopBoxpt:orderData.data.sheetState == 5}" -->
+			<image src="../../static/timg/icon_che.png" mode="" class="shopBoximg"></image>
+			<view class="shopCont">
+				<view class="shopName">
+				 <span style="font-weight: 500;padding-left: 20rpx;">{{data.plateNumber}}</span>
+				 <span style="color: #3C3C3C;font-size: 24rpx;padding-left: 20rpx;">{{data.customerName}}</span>
+				</view>
+				<view class="Address">
+					{{data.carModel}}
+				</view>
+		
+			</view>
+		</view>
+		<!-- 基本信息 -->
+		<view class="information">
+			<view class="detailedTitle">基本信息</view>
+			<view class="informationLine">
+				<view class="informationTxt">寄存时间:</view>
+				<view class="informationNum">{{data.billDate}}</view>
+			</view>
+			<view class="informationLine">
+				<view class="informationTxt">寄存类型:</view>
+				<view class="informationNum" >轮胎</view>
+			</view>
+			<view class="informationLine">
+				<view class="informationTxt">数量:</view>
+				<view class="informationNum">{{data.goodsQty}}</view>
+			</view>
+		</view>
+		
+		<view class="information" v-for="(item,index) in data.detailList">
+			<view class="detailedTitle" style="display: flex;justify-content: space-between;">
+				<view>
+					<span v-if="item.locationType==1">左前</span>
+					<span v-if="item.locationType==2">右前</span>
+					<span v-if="item.locationType==3">左后</span>
+					<span v-if="item.locationType==4">右后</span>
+					<span v-if="item.locationType==5">备胎</span>
+					<span >轮胎</span>
+				</view>
+				<view class="seeImg" @click="seeImg(item.imgList)" v-if="item.imgList" style="font-size: 24rpx;font-weight: 400;color: #666;">查看图片</view>
+				
+			</view>
+			<view class="informationLine">
+				<view class="informationTxt">品牌:</view>
+				<view class="informationNum">{{item.brand}}</view>
+			</view>
+			<view class="informationLine">
+				<view class="informationTxt">尺寸:</view>
+				<view class="informationNum" >{{item.size}}</view>
+			</view>
+			<view class="informationLine">
+				<view class="informationTxt">生产时间:</view>
+				<view class="informationNum">{{item.productDate}}</view>
+			</view>
+			<view class="informationLine">
+				<view class="informationTxt">外伤检测:</view>
+				<view class="informationNum">{{item.tireState}}</view>
+			</view>
+		</view>
+		
+		<view style="height: 110rpx;background-color: #F4F5F7;padding-bottom: constant(safe-area-inset-bottom);
+		padding-bottom: env(safe-area-inset-bottom);"></view>
+		
+		<view class="bottom">
+		 	<view class="defer" :style="{border:'1rpx solid #'+themeColor,color:'#'+themeColor}" @click="seeBy" >查看保养单</view>
+
+		</view>
+		
+	</view>
+</template>
+
+<script>
+	import nodata from '@/components/nodata/nodata.vue'
+	import homenav from "@/components/homenav/nav.vue"
+	export default {
+		components: {
+			nodata,homenav
+		},
+		data() {
+			return {
+		        data:'',
+				isload: false,
+                iStatusBarHeight:'',
+				themeColor:'',
+				id:'',
+				
+			}
+		},
+		onLoad(opt) {
+            this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight;
+			this.themeColor = uni.getStorageSync("themeColor");
+			this.id=opt.id
+			//this.id='34435FE8-F160-4CCF-8D91-CEDF897FDC04'
+			this.getData()
+		},
+		onShow() {
+			
+		},
+		methods: {
+			seeBy() {
+				uni.navigateTo({
+					url: '../user/historyDetail?id=' + this.data.billSheetID
+				})
+			},
+			seeImg(imgList){
+				uni.previewImage({
+					urls: imgList.split(','),
+					longPressActions: {
+						itemList: ['发送给朋友', '保存图片', '收藏'],
+						success: function(data) {
+							console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
+						},
+						fail: function(err) {
+							console.log(err.errMsg);
+						}
+					}
+				});
+			},
+			goDetail(item) {
+				//SheetType 1 商品2项目3套餐4救援5钣喷6集客
+					uni.navigateTo({
+						url: "rescueOrderOrderDetail?id=" + item.ID
+					})
+				
+			},
+			getData() {
+				uni.showLoading({
+					title: '加载中'
+				});
+				this.isload = false;
+				var padata = {
+					id:this.id
+				}
+
+				this.$http('applet/tire-deposit-sheet/detail/'+this.id, {}, 'GET').then(res => {
+					uni.hideLoading();
+					this.isload = true;
+                    this.data = res.data
+
+				})
+			},
+
+		},
+		onReachBottom() {
+			this.page++;
+
+			this.getData()
+		},
+		onPullDownRefresh() {
+			this.page = 1;
+			this.getData()
+			setTimeout(function() {
+				uni.stopPullDownRefresh();
+			}, 1000);
+		}
+	}
+</script>
+
+<style scoped>
+	.box {
+		min-height: 100vh;
+		background: #F4F5F7;
+	}
+.top {
+		height: 190rpx;
+		background: #FF0000;
+
+	}
+	.orderState {
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		padding-top: 40rpx;
+	}
+	.SheetState {
+		display: flex;
+		justify-content: center;
+		font-size: 36rpx;
+		font-weight: 500;
+		color: #FFFFFF;
+		margin-left: 15rpx;
+	}
+	.shopBoximg {
+		width: 40rpx;
+		height: 40rpx;
+	}
+	.shopBox {
+		display: flex;
+		padding: 30rpx 20rpx;
+		margin: 0rpx 24rpx;
+		margin-top: -60rpx;
+		background-color: #FFFFFF;
+		border-radius: 10rpx;
+	}
+	.shopName{
+		
+		color: #3C3C3C;
+		line-height: 42rpx;
+		font-size: 30rpx;
+	}
+	.Address{
+		color: #999999;font-size: 24rpx;padding-top: 10rpx;
+	}
+.information {
+		background: #FFFFFF;
+		border-radius: 10rpx;
+		margin: 20rpx 24rpx;
+		padding-bottom: 15rpx;
+	}
+	.informationLine {
+		display: flex;
+		padding: 15rpx 20rpx;
+	}
+	.informationTxt {
+		width: 190rpx;
+		font-size: 26rpx;
+		color: #999999;
+	}
+.informationNum {
+		color: #333333;
+		font-size: 26rpx;
+		width: 500rpx;
+	}
+.detailedTitle{
+	padding: 23rpx 20rpx;
+	display: flex;
+	text-align: center;
+	align-content: flex-start;
+	border-bottom: 1rpx solid #EEEEEE;
+	
+	font-size: 30rpx;
+	font-weight: bold;
+	color: #3C3C3C;
+}
+.bottom {
+		display: flex;
+		justify-content: flex-end;
+		background-color: #FFFFFF;
+		align-items: center;
+		height: 98rpx;
+		width: 100vw;
+		position: fixed;
+		bottom: 0rpx;
+		padding-bottom: constant(safe-area-inset-bottom);
+		padding-bottom: env(safe-area-inset-bottom);
+	}
+	.defer {
+		color: #D53533;
+		font-size: 28rpx;
+		width: 180rpx;
+		height: 56rpx;
+		border-radius: 36rpx;
+		border: 1rpx solid #D53533;
+		text-align: center;
+		line-height: 56rpx;
+		margin-right: 40rpx;
+	}
+</style>

+ 131 - 0
pages/subPack/depositList.vue

@@ -0,0 +1,131 @@
+<template>
+	<view class="box">
+		<homenav :iStatusBarHeight="iStatusBarHeight" :title="'寄存订单'" :cj="4"></homenav>
+		<view class="cont">
+			<view class="line" @click="goDetail(item)" v-for="(item,index) in items">
+				<view class="lineLeft">
+					<view class="plateNumber">{{item.plateNumber}}</view>
+					<view class="tire" v-if="item.goodsQty">{{item.goodsQty}}条轮胎</view>
+				</view>
+				<view class="state1" v-if="item.sheetState==0">寄存中</view>
+				<view class="state2" v-if="item.sheetState==-1">待寄存</view>
+				<view class="state2" v-if="item.sheetState==1">已领取</view>
+				<view class="state2" v-if="item.sheetState==2">已作废</view>
+			</view>
+			
+		</view>
+
+		<nodata v-show="items==''&&isload"></nodata>
+		
+	</view>
+</template>
+
+<script>
+	import nodata from '@/components/nodata/nodata.vue'
+	import homenav from "@/components/homenav/nav.vue"
+	export default {
+		components: {
+			nodata,homenav
+		},
+		data() {
+			return {
+				page: 1,
+				tabIndex: -1,
+				items: [],
+				isload: false,
+                iStatusBarHeight:'',
+			}
+		},
+		onLoad(opt) {
+            this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight;
+			this.getData()
+		},
+		onShow() {
+			
+		},
+		methods: {
+			
+			goDetail(item) {
+					uni.navigateTo({
+						url: "depositDetail?id="+item.id
+					})
+				
+			},
+			getData() {
+				uni.showLoading({
+					title: '加载中'
+				});
+				this.isload = false;
+				var padata = {
+					page: this.page,
+					limit: 10,
+				}
+
+				this.$http('/applet/tire-deposit-sheet/list', padata, 'GET').then(res => {
+					uni.hideLoading();
+					this.isload = true;
+
+					var list = res.data.Items;
+
+					if (this.page == 1) {
+						this.items = list
+					} else {
+						this.items = this.items.concat(list)
+					}
+
+				})
+			},
+
+		},
+		onReachBottom() {
+			this.page++;
+
+			this.getData()
+		},
+		onPullDownRefresh() {
+			this.page = 1;
+			this.getData()
+			setTimeout(function() {
+				uni.stopPullDownRefresh();
+			}, 1000);
+		}
+	}
+</script>
+
+<style scoped>
+	.box {
+		min-height: 100vh;
+		background: #F4F5F7;
+	}
+.cont{
+	padding:0 24rpx;
+}
+.line{
+	display: flex;
+	justify-content: space-between;
+	line-height: 42rpx;
+	padding: 29rpx 20rpx;
+	margin-top: 20rpx;
+	background: #ffffff;
+	border-radius: 10rpx;
+}
+.lineLeft{
+	display: flex;
+}
+.plateNumber{
+	font-weight: 500;
+	color: #3C3C3C;
+	font-size: 30rpx;
+}
+.tire{
+	color: #666666;
+	font-size: 24rpx;
+	padding-left: 24rpx;
+}
+.state1{
+	color: #FF0000;font-size: 24rpx;
+}
+.state2{
+	color: #00A040;font-size: 24rpx;
+}
+</style>

+ 3 - 2
pages/subPack/rescueOrder.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="box">
-		<homenav :iStatusBarHeight="iStatusBarHeight" :title="'我的订单'" :cj="4"></homenav>
+		<homenav :iStatusBarHeight="iStatusBarHeight" :title="'救援订单'" :cj="4"></homenav>
 		<view class="tab">
 			<view class="tabLine" :class="{tabActive:tabIndex==-1}" @click="tabClick(-1)">全部</view>
 			<view class="tabLine" :class="{tabActive:tabIndex==0}" @click="tabClick(0)">待确认</view>
@@ -39,7 +39,8 @@
 					<view class="renMobilePhone">{{item.MobilePhone}}</view>
 					<view class="renNickName">{{item.NickName?item.NickName:''}}</view>
 				 </view> -->
-				<view class="itemName">{{item.HTime}}</view>
+				<view class="itemName" v-if="item.orderType==1">立刻</view>
+				<view class="itemName" v-else>{{item.HTime}}</view>
                 <view class="itemName" style="padding-top: 2rpx;padding-bottom: 0;">{{item.ShopName}}</view>
 				
 			</view>

+ 39 - 18
pages/subPack/rescueOrderOrderDetail.vue

@@ -69,12 +69,21 @@
 				<view class="informationNum">{{orderData.openShopHelpSheet.code}}<span class="codeCopy"
 						@click="copy(orderData.openShopHelpSheet.code)">复制</span></view>
 			</view>
+			<view class="informationLine">
+				<view class="informationTxt">救援时间:</view>
+				<view class="informationNum" v-if="orderData.openShopHelpSheet.orderType==1">立刻</view>
+				<view class="informationNum" v-else>{{orderData.openShopHelpSheet.hTime}}</view>
+			</view>
 			<view class="informationLine">
 				<view class="informationTxt">救援类型:</view>
-				<view class="informationNum" v-if="orderData.openShopHelpSheet.helpType==1">搭电</view>
-				<view class="informationNum" v-if="orderData.openShopHelpSheet.helpType==2">拖车</view>
-				<view class="informationNum" v-if="orderData.openShopHelpSheet.helpType==3">换胎</view>
-				<view class="informationNum" v-if="orderData.openShopHelpSheet.helpType==4">未知原因</view>
+				<view class="informationNum2" v-if="orderData.openShopHelpSheet.helpType==1">搭电</view>
+				<view class="informationNum2" v-if="orderData.openShopHelpSheet.helpType==2">拖车</view>
+				<view class="informationNum2" v-if="orderData.openShopHelpSheet.helpType==3">换胎</view>
+				<view class="informationNum2" v-if="orderData.openShopHelpSheet.helpType==4">未知原因</view>
+				<view class="informationNum2">-</view>
+				<view class="informationNum2" v-if="orderData.openShopHelpSheet.hscene==1">地面</view>
+				<view class="informationNum2" v-if="orderData.openShopHelpSheet.hscene==2">车库</view>
+				<view class="informationNum2" v-if="orderData.openShopHelpSheet.hscene==3">其他</view>
 			</view>
 			<view class="informationLine" v-if="orderData.openShopHelpSheet.plateNumber">
 				<view class="informationTxt">车牌号:</view>
@@ -86,12 +95,9 @@
 			</view>
 			<view class="informationLine">
 				<view class="informationTxt">救援联系人:</view>
-				<view class="informationNum">{{orderData.openShopHelpSheet.customerName}}</view>
-			</view>
-			<view class="informationLine" v-if="orderData.openShopHelpSheet.mobilePhone">
-				<view class="informationTxt">手机号:</view>
-				<view class="informationNum">{{orderData.openShopHelpSheet.mobilePhone}}</view>
+				<view class="informationNum">{{orderData.openShopHelpSheet.customerName}}/{{orderData.openShopHelpSheet.mobilePhone}}</view>
 			</view>
+			
 			<view class="informationLine" >
 				<view class="informationTxt">起点:</view>
 				<view class="informationNum">{{orderData.openShopHelpSheet.hStartAddress}}</view>
@@ -107,14 +113,16 @@
 		<!-- 支付信息 -->
 		<view class="information">
 			<view class="detailedTitle">订单信息</view>
+			
 			<view class="informationLine">
 				<view class="informationTxt">下单时间:</view>
 				<view class="informationNum" >{{orderData.openShopHelpSheet.createTime}}</view>
 			</view>
 			<view class="informationLine">
 				<view class="informationTxt">下单人:</view>
-				<view class="informationNum" >{{orderData.openUser.nickName|| '未知'}}</view>
+				<view class="informationNum" >{{orderData.openUser.nickName|| '未知'}}/{{orderData.openUser.mobilePhone}}</view>
 			</view>
+			
 			<view class="informationLine" v-if="orderData.openShopHelpSheet.confirmTime">
 				<view class="informationTxt">确认时间:</view>
 				<view class="informationNum" >{{orderData.openShopHelpSheet.confirmTime}}</view>
@@ -123,10 +131,12 @@
 				<view class="informationTxt">确认人:</view>
 				<view class="informationNum" >{{orderData.openShopHelpSheet.confirmOperator}}</view>
 			</view>
-			<view class="informationLine" v-if="orderData.openShopHelpSheet.goingTime">
-				<view class="informationTxt">出发时间:</view>
-				<view class="informationNum" >{{orderData.openShopHelpSheet.goingTime}}</view>
+			<view class="informationLine" v-if="orderData.openShopHelpSheet.evaluateTime">
+				<view class="informationTxt">评价时间:</view>
+				<view class="informationNum">{{orderData.openShopHelpSheet.evaluateTime}}</view>
 			</view>
+				
+			
 			<view class="informationLine" v-if="orderData.openShopHelpSheet.goingOperator">
 				<view class="informationTxt">出发人:</view>
 				<view class="informationNum" >{{orderData.openShopHelpSheet.goingOperator}}</view>
@@ -143,6 +153,14 @@
 				<view class="informationTxt">完成备注:</view>
 				<view class="informationNum" >{{orderData.openShopHelpSheet.finishComment}}</view>
 			</view>
+		<view class="informationLine" v-if="orderData.openShopHelpSheet.evaluateComment">
+			<view class="informationTxt">评价内容:</view>
+			<view class="informationNum">{{orderData.openShopHelpSheet.evaluateComment}}</view>
+		</view>
+		<view class="informationLine" v-if="orderData.openShopHelpSheet.goingTime">
+			<view class="informationTxt">出发时间:</view>
+			<view class="informationNum" >{{orderData.openShopHelpSheet.goingTime}}</view>
+		</view>
 			<view class="informationLine" v-if="orderData.openShopHelpSheet.cancelTime">
 				<view class="informationTxt">取消时间:</view>
 				<view class="informationNum">{{orderData.openShopHelpSheet.cancelTime}}</view>
@@ -162,11 +180,11 @@
 
 		<view style="height: 50rpx;background-color: #F4F5F7;"></view>
 
-		<view class="bottom">
+		<view class="bottom"  v-if="orderData.openShopHelpSheet.sheetState != 5">
            <!-- <view class="cancel" @click="cancelBespeak" v-if="orderData.data.groupType==1">取消订单</view> -->
 			<view class="cancel" v-if="orderData.openShopHelpSheet.sheetState == 0" @click="cancelBespeak" >取消订单</view>
-		<!--  -->	<view class="defer" v-if="orderData.openShopHelpSheet.sheetState == 3"  :style="{border:'1rpx solid #'+themeColor,color:'#'+themeColor}" @click="orderevaluate">评价</view>
-			<view class="defer"  v-if="orderData.openShopHelpSheet.sheetState == 5" :style="{border:'1rpx solid #'+themeColor,color:'#'+themeColor}" @click="seeevaluate">查看评价</view>
+		<!--  -->	<view class="defer" v-if="orderData.openShopHelpSheet.sheetState == 3||orderData.openShopHelpSheet.sheetState == 1||orderData.openShopHelpSheet.sheetState == 2"  :style="{border:'1rpx solid #'+themeColor,color:'#'+themeColor}" @click="orderevaluate">评价</view>
+			<!-- <view class="defer"  v-if="orderData.openShopHelpSheet.sheetState == 5" :style="{border:'1rpx solid #'+themeColor,color:'#'+themeColor}" @click="seeevaluate">查看评价</view> -->
 		</view>
 		
 
@@ -613,7 +631,7 @@
 							}
 						})
 					}
-					this.clock()
+					//this.clock()
 					console.log('可用券码--',this.quanMaList);
 					
 				})
@@ -1179,7 +1197,10 @@ color: #764D49;font-size: 26rpx;padding-top:20rpx;
 		font-size: 26rpx;
 		width: 500rpx;
 	}
-
+.informationNum2{
+	color: #333333;
+	font-size: 26rpx;
+}
 	.codeCopy {
 		width: 77rpx;
 		height: 36rpx;

+ 11 - 2
pages/user/bespeakDetail.vue

@@ -71,7 +71,7 @@
 			<view class="detailedLineBox">
 				<view class="detailedLine" v-for="(v,index) in orderData.orderDetails">
 						<view class="detailedName">{{v.itemName}}</view>
-						<span>¥{{v.amountMoney}}</span>
+						<span v-if="v.amountMoney">¥{{v.amountMoney}}</span>
 				</view>
 				<view class="detailedLine" v-if=" orderData.orderDetails.length!=0">
 						<view class="detailedName">预估总价</view>
@@ -89,7 +89,7 @@
 		</view>
 		
 		<!-- 预约时间 -->
-		<timeSelect ref="timeSelect" :timedata="timedata" @changeTime="changeTime"></timeSelect>	
+		<timeSelect ref="timeSelect" :stationID="stationID" :timedata="timedata" @changeTime="changeTime"></timeSelect>	
 
 	</view>
 </template>
@@ -111,6 +111,7 @@
 				billDate:'',
 				 themeColor:'',
                 iStatusBarHeight:'',
+				stationID:'',
 			}
 		},
 		onLoad(opt) {
@@ -229,6 +230,14 @@
 				}, 'GET').then(res => {
 					uni.hideLoading();
 					this.orderData = res.data;
+					this.stationID=res.data.orderSheet.stationID;
+					uni.setStorage({
+						key: 'yyshopInfo',
+						data: this.orderData.shopInfo,
+						success: function() {
+					
+						}
+					});
 
 					
 					

+ 51 - 2
pages/user/checkReport.vue

@@ -1,6 +1,16 @@
 <template>
 	<view class="box">
 	   <homenav :iStatusBarHeight="iStatusBarHeight" :title="'车检报告'" ></homenav>
+	  <view class="screenBox">
+	  	<view class="status_bar" :style="{height: iStatusBarHeight + 'px'}"></view>
+	  	<view style="height: 44px;"></view>
+	     <picker @change="bindPickerChange" :value="index" :range="array">
+	  		<view class="screenName"> <span>车牌号:{{array[index]}}</span> 
+	  		  <image src="../../static/timg/icon_arrow_right.png" mode="" class="jtImg"></image>
+	  		</view>
+	  	</picker>
+	  </view>
+	  <view style="height: 90rpx;"></view>
 		<view class="itemHistory" v-for="(item,index) in itemData" :key="index" @click="goDetail(item.id)">
 			<view class="time">{{item.CreateTime}}</view>
 			<view class="carPlate">
@@ -35,6 +45,10 @@
 				noMoreShow: false,
 				urlStr:'',
 				iStatusBarHeight:'',
+				array: [],
+				index: 0,
+				wxOpenData: '',
+				plateNumber:'',
 			}
 		},
 		onLoad() {
@@ -44,9 +58,29 @@
 			this.iStatusBarHeight = uni.getSystemInfoSync().statusBarHeight;
 			this.page = 1;
 			this.myOrderCoupon();
+			this.getplateNumber()
 			//this.urlStr = this.$request.webUrl+'#/carOwner/index'
 		},
 		methods: {
+			bindPickerChange: function(e) {
+					console.log('picker发送选择改变,携带值为', e.detail)
+					this.index = e.detail.value
+					this.plateNumber=this.array[this.index]
+					if(this.index==0){
+						this.plateNumber=''
+					}
+					this.myOrderCoupon()
+			},
+			getplateNumber(){
+				console.log("444")
+				this.wxOpenData= this.$store.state.wxOpenData;
+				this.$http('openweiXinCardInfoController/plateNumber-by-customerId', {
+				    customerId:this.wxOpenData.loginInfo.uid
+				}, 'GET').then(res => {
+					this.array=res.data.split(',')
+					this.array.unshift('全部')
+				})
+			},
 			goDetail(id) {
 				//  uni.navigateTo({
 				// 	url: 'reportDetail?id=' + id
@@ -60,7 +94,7 @@
 					title: '加载中'
 				})
 				this.$http('opencheckSheet/getTestList', {
-
+                    plateNumber:this.plateNumber
 					// page: this.page,
 					// limit: 10,
 				}, 'GET').then(res => {
@@ -118,7 +152,22 @@
 		background-color: #F4F5F7;
 		padding-top: 20rpx;
 	}
-
+	.jtImg{
+		width: 12rpx;height: 20rpx;
+		margin-top: 10rpx;
+	}
+	.screenBox{
+		background: #FFFFFF;
+		margin-bottom: 20rpx;
+		position: fixed;
+		width: 100vw;
+		top: 0;left: 0;
+	}
+     .screenName{
+		 padding: 24rpx;font-size: 28rpx;
+		 display: flex;
+		 justify-content: space-between;
+	 }
 	.itemHistory {
 		margin: 0rpx 24rpx 20rpx;
 		padding: 20rpx;

+ 3 - 3
pages/user/historyDetail.vue

@@ -125,7 +125,7 @@
 				<view class="detailedLineBox">
 					<view class="detailedLine" v-for="(item,index) in orderData.listItems">
 
-						<view class="detailedName"><span :class="{kaColor:item.CardDetailID}">卡</span>{{item.ItemName}}
+						<view class="detailedName"><span v-if="item.CardDetailID" class="kaColor">卡</span>{{item.ItemName}}
 						</view>
 						<view class="secondBox" :class="{noLine:index == orderData.listItems.length-1}">
 							<view class="comment" v-if="ItemComment">{{item.Comment}}</view>
@@ -151,8 +151,8 @@
 
 
 						<view class="goodTop">
-							<view class="detailedName"><span
-									:class="{kaColor:item.CardDetailID}">卡</span>{{item.GoodsName}}</view>
+							<view class="detailedName"><span v-if="item.CardDetailID"
+									class="kaColor">卡</span>{{item.GoodsName}}</view>
 							<view class="qty">x{{item.SaleQty}}</view>
 						</view>
 						<view class="secondBox" :class="{noLine:index == orderData.listParts.length-1}">

+ 52 - 4
pages/user/historySpend.vue

@@ -1,6 +1,16 @@
 <template>
 	<view class="box">
 		<homenav :iStatusBarHeight="iStatusBarHeight" :title="'历史消费'" ></homenav>
+		<view class="screenBox">
+			<view class="status_bar" :style="{height: iStatusBarHeight + 'px'}"></view>
+			<view style="height: 44px;"></view>
+		   <picker @change="bindPickerChange" :value="index" :range="array">
+				<view class="screenName"> <span>车牌号:{{array[index]}}</span> 
+				  <image src="../../static/timg/icon_arrow_right.png" mode="" class="jtImg"></image>
+				</view>
+			</picker>
+		</view>
+		<view style="height: 90rpx;"></view>
 		<view class="itemHistory" v-for="(item,index) in itemData" :key="index" @click="goDetail(item)">
 			<view class="topBox">
 				<view class="dan">{{item.code}}</view>
@@ -90,6 +100,10 @@
 				appraise:false,
 				ReceiptsMoney:false,//支付金额
 				iStatusBarHeight:'',
+				array: [],
+				index: 0,
+				wxOpenData: '',
+				plateNumber:'',
 			}
 		},
 		onLoad() {
@@ -98,8 +112,28 @@
 			this.myOrderCoupon()
 			this.myPower()
 			this.showPower()
+			this.getplateNumber()
 		},
-		methods: {
+		methods: {
+			bindPickerChange: function(e) {
+					console.log('picker发送选择改变,携带值为', e.detail)
+					this.index = e.detail.value
+					this.plateNumber=this.array[this.index]
+					if(this.index==0){
+						this.plateNumber=''
+					}
+					this.myOrderCoupon()
+			},
+			getplateNumber(){
+				console.log("444")
+				this.wxOpenData= this.$store.state.wxOpenData;
+				this.$http('openweiXinCardInfoController/plateNumber-by-customerId', {
+				    customerId:this.wxOpenData.loginInfo.uid
+				}, 'GET').then(res => {
+					this.array=res.data.split(',')
+					this.array.unshift('全部')
+				})
+			},
 			//显示权限
 			showPower() {
 				this.$http('openweiXinCardInfoController/getShowSetting', {
@@ -150,7 +184,7 @@
 					title: '加载中'
 				})
 				this.$http('openweiXinCardInfoController/queryConsumptionList', {
-
+                     plateNumber:this.plateNumber
 					// page: this.page,
 					// limit: 10,
 				}, 'POST').then(res => {
@@ -260,13 +294,27 @@
 		padding-top: 20rpx;
 		
 	}
-
+.jtImg{
+	width: 12rpx;height: 20rpx;
+	margin-top: 10rpx;
+}
+.screenBox{
+		background: #FFFFFF;
+		margin-bottom: 20rpx;
+		position: fixed;
+		width: 100vw;
+		top: 0;left: 0;
+	}
+     .screenName{
+		 padding: 24rpx;font-size: 28rpx;
+		     display: flex;
+		     justify-content: space-between;
+	 }
 	.itemHistory {
 		margin: 0rpx 24rpx 20rpx;
 		padding: 20rpx;
 		background-color: #FFFFFF;
 		border-radius: 10rpx;
-
 	}
 	.topBox{
 		display: flex;

+ 301 - 61
pages/user/user.vue

@@ -5,38 +5,96 @@
 			<view class="customerMes">
 				<image @click="updateUserInfo" v-if="headImg" :src="headImg" mode=""
 					style="width: 88rpx;height: 88rpx;border-radius: 44rpx;"></image>
-				<image @click="updateUserInfo" v-else src="../../static/img/icon_me.png" mode=""
+				<image @click="updateUserInfo" v-else src="http://dmsphoto.66km.com.cn/thFiles/64CD12A3-588E-4201-90F6-5428F6ACD9F9.png" mode=""
 					style="width: 88rpx;height: 88rpx;border-radius: 44rpx;"></image>
 				<view class="mes">
 					<view class="nick">
 						<view class="nickName" v-if="nickName">{{nickName}}</view>
-						<view class="grade" v-if="numList.levelName">{{numList.levelName}}</view>
+						<!-- <view class="grade" @click="gonavigateTo('../index/vipCard')" v-if="numList.levelName&&showSetting.isShowLevel">{{numList.levelName}} ></view>-->
+					   <view class="cardNameBOx" v-if="numList.levelName&&showSetting.isShowLevel" @click="gonavigateTo('../subPack/vipCard')"> 
+						  <image class="cardNameIcon" src="http://dmsphoto.66km.com.cn/thFiles/E3F78C8A-CF4F-40DD-B050-689CFCEA2F4C.png" mode=""></image>
+						   <view class="cardNameTb">{{numList.levelName}}</view>
+						   <image src="../../static/timg/icon_arrow.png" mode="" class="cardNameIcon2"></image>
+					   </view>
+						<view class="cardNameBOx" v-if="numList.f2ccard.cardName">
+							<image class="cardNameIcon" src="http://dmsphoto.66km.com.cn/thFiles/E3F78C8A-CF4F-40DD-B050-689CFCEA2F4C.png" mode=""></image>
+						    <view class="cardNameTb">{{numList.f2ccard.cardName}}</view>
+						</view>
 					</view>
 					<view class="phone">{{phone}}  <span @click="seeQr">{{numList.customerInfo.wxMiniV2OpenID?' / 已绑定微信>':' / 未绑定微信>'}}</span> </view>
 				</view>
 			</view>
 
-			<view class="headerBox">
-				<view class="quan" @click="gonavigateTo('../index/discountCard')">
-					<view class="numStr">{{numList.count?numList.count:0}}</view>
-					<view class="nameStr">优惠券</view>
-				</view>
-				<view class="quan" @click="gonavigateTo('../integral/integral?totalIntegral='+numList.totalIntegral)">
-					<view class="numStr">{{numList.totalIntegral?numList.totalIntegral:0}}</view>
-					<view class="nameStr">积分</view>
-				</view>
-				<view class="quan" @click="gonavigateTo('../index/vipCard')">
-					<view class="numStr">{{numList.cardNum?numList.cardNum:0}}</view>
-					<view class="nameStr">会员卡</view>
-				</view>
-				<view class="quan" @click="gonavigateTo('../subPack/vipCard')">
-					<view class="numStr2">{{numList.currentLevel.levelName}}</view>
-					<view class="nameStr">{{numList.currentLevel.endTime?numList.currentLevel.endTime.slice(0,10):'永久'}}</view>
-				</view>
+			
 
+		</view>
+		<!-- <view v-if="numList.remindType==0" class="marginTop2"></view>v-if="numList.remindType!=0" -->
+		<view class="marginTop" ></view>
+		<view class="headerBox">
+			<view class="quan" @click="gonavigateTo('../index/discountCard')" v-if="showSetting.isShowCoupon">
+				<view class="numStr">{{numList.count?numList.count:0}}</view>
+				<view class="nameStr">优惠券</view>
 			</view>
-
+			<view class="quan" v-if="showSetting.isShowIntergral" @click="gonavigateTo('../integral/integral?totalIntegral='+numList.totalIntegral)">
+				<view class="numStr">{{numList.totalIntegral?numList.totalIntegral:0}}</view>
+				<view class="nameStr">积分</view>
+			</view>
+			<view class="quan" v-if="showSetting.isShowCard" @click="gonavigateTo('../index/vipCard')">
+				<view class="numStr">{{numList.cardNum?numList.cardNum:0}}</view>
+				<view class="nameStr">会员卡</view>
+			</view>
+		
 		</view>
+		<view class="remindBox" v-if="numList.remindType!=0">
+		  <view class="remindLeft" style="display: flex;">
+			  <image style="width: 24rpx;height: 24rpx;margin-top: 2rpx;" src="http://dmsphoto.66km.com.cn/thFiles/BA87B937-90F3-420C-A21C-A5B7BE7E8B07.png" mode=""></image>
+			  <span style="padding-left: 10rpx;">您有</span>
+			  <span style="color: #FFFD00;font-weight: 500;">{{numList.remindIntegral}}</span>
+			  <span v-if="numList.remindType==1">积分将于本月过期</span>
+			  <span v-if="numList.remindType==2">积分将于30天内过期</span>
+		  </view>
+		  <view class="useremind" @click="useremind">去使用></view>
+		</view>
+		
+        <!-- 卡制度-->
+		<view v-if="showSetting.isShowCardSystem">
+				<view >
+				<swiper class="swiper2"  :autoplay="false" :interval="interval"
+								:duration="duration" :indicator-dots="true" indicator-color="#CCCCCC" :indicator-active-color="'#'+themeColor">
+				
+					<swiper-item v-for="(item,index) in f2csystemlist">
+						<view class="cardBox">
+						  <view class="cardTOp" :style="{background:'url('+item.Banner+') 100% 100%'}" style="background-size: 100% 100% !important;">
+							  <img class="vipBsIcon" v-if="item.growthState==1"  src="http://dmsphoto.66km.com.cn/thFiles/91FCABC6-775C-47CA-B7D4-3579A4DE8497.png" alt="">
+						      <view class="cardName">{{item.system.name}}</view>
+							  <!-- 当前卡制度-->
+							  <view class="cardtimeBox" v-if="item.growthState==1">
+								  <view class="cardtimeLeft">成长值 {{numList.f2ccard.growthValue}}/{{item.system.growthValueUp}}</view>
+								  <view class="cartimeRight">有效期 {{numList.f2ccard.expireTime.slice(0,10)}}</view>
+							  </view>
+							  <view class="cardtimeBox" v-if="item.growthState==2">
+								  <view class="cardtimeLeft">高于该等级</view>
+							  </view>
+							  <view class="cardtimeBox" v-if="item.growthState==3">
+							  	 <view class="cardtimeLeft">还需{{item.addGrowth}}成长值可升级</view>
+							  </view>
+						  </view>
+						  <view class="cardCont">
+							  <view class="cardLine" v-for="(c,cindex) in item.contents" v-if="cindex<8">
+								  <view class="cardLineImgBox">
+									  <image :src="c.icon" mode="" class="cardLineImg"></image>
+								  </view>
+								  <view class="cardlineTitle" v-if="c.state==1">{{c.title}}</view>
+								   <view class="cardlineTitle2" v-if="c.state==0">{{c.title}}</view>
+							  </view>
+						  </view>
+						</view>
+					</swiper-item>
+				</swiper>
+			</view>
+			
+		</view>
+      
 
 		<!-- 我的订单 -->
 		<view class="orderBox">
@@ -95,7 +153,7 @@
 		</view>
 
 		<!-- 店铺信息 -->
-		<view class="shopBox" v-if="userInfo">
+		<view class="shopBox" v-if="userInfo&&showSetting.isShowCardShop">
 
 			<view class="shopCont">
 				<view class="shopName">{{numList.shopInfo.shopName}}</view>
@@ -147,13 +205,6 @@
 
 		<!-- 我的 相关 -->
 		<view class="rowBoxBg">
-			<!-- <view class="rowBox" @click="gonavigateTo('../subPack/rescueOrder')">
-				<view class="leftView">
-					<image src="../../static/img/icon_me1.png" mode="" class="liftIcon"></image>
-					<view class="rowTitle">救援订单</view>
-				</view>
-				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
-			</view> -->
 			<view class="rowBox" @click="gonavigateTo('../user/expertServices')">
 				<view class="leftView">
 					<image src="../../static/img/icon_me1.png" mode="" class="liftIcon"></image>
@@ -161,8 +212,6 @@
 				</view>
 				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
 			</view>
-
-
 			<view class="rowBox" @click="gonavigateTo('./addCar/cailist?type=3')">
 				<view class="leftView">
 					<image src="../../static/img/icon_me2.png" mode="" class="liftIcon"></image>
@@ -170,8 +219,6 @@
 				</view>
 				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
 			</view>
-
-
 			<view class="rowBox" @click="gonavigateTo('myBespeak')">
 				<view class="leftView">
 					<image src="../../static/img/icon_me3.png" mode="" class="liftIcon"></image>
@@ -179,8 +226,6 @@
 				</view>
 				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
 			</view>
-
-
 			<view class="rowBox" @click="gonavigateTo('historySpend')">
 				<view class="leftView">
 					<image src="../../static/img/icon_me4.png" mode="" class="liftIcon"></image>
@@ -188,7 +233,6 @@
 				</view>
 				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
 			</view>
-
 			<view class="rowBox" @click="gonavigateTo('checkReport')">
 				<view class="leftView">
 					<image src="../../static/img/icon_me5.png" mode="" class="liftIcon"></image>
@@ -196,28 +240,32 @@
 				</view>
 				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
 			</view>
-
-			<view class="rowBox" @click="gonavigateTo('myAppraise')">
+		    <view class="rowBox" @click="gonavigateTo('../subPack/depositList')">
 				<view class="leftView">
-					<image src="../../static/img/icon_pingjia.png" mode="" class="liftIcon"></image>
-					<view class="rowTitle">我的评价</view>
+					<image src="../../static/timg/icon_jydd.png" mode="" class="liftIcon"></image>
+					<view class="rowTitle">我的寄存</view>
 				</view>
 				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
-			</view>
-			<button open-type="share" class="rowBox">
+			</view> 
+			 <view class="rowBox" @click="gonavigateTo('../subPack/rescueOrder')">
 				<view class="leftView">
-					<image src="../../static/img/icon_me6.png" mode="" class="liftIcon"></image>
-					<view class="rowTitle">分享给好友</view>
+					<image src="../../static/timg/sos.png" mode="" class="liftIcon"></image>
+					<view class="rowTitle">救援订单</view>
 				</view>
 				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
-			</button>
-			<view class="rowBox" @click="gonavigateTo('feedBack')">
+			</view> 
+			
+		</view>
+		<view class="rowBoxBg">
+			<view class="rowBox" @click="gonavigateTo('myAppraise')">
 				<view class="leftView">
-					<image src="../../static/img/icon_me7.png" mode="" class="liftIcon"></image>
-					<view class="rowTitle">意见反馈</view>
+					<image src="../../static/img/icon_pingjia.png" mode="" class="liftIcon"></image>
+					<view class="rowTitle">我的评价</view>
 				</view>
 				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
 			</view>
+		</view>
+		<view class="rowBoxBg" v-if="kkshow">
 			<view class="rowBox" @click="gonavigateTo('../partner/partner')"
 				v-if="numList.customerInfo.pState==1&&numList.shopSettings.partnerDisabled">
 				<view class="leftView">
@@ -234,6 +282,49 @@
 				</view>
 				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
 			</view>
+		</view>
+		<view class="rowBoxBg">
+			<view class="rowBox" v-if="showSetting.isShowTel">
+				<view class="leftView">
+					<image src="../../static/timg/icon_qingchu.png" mode="" class="liftIcon"></image>
+					<view class="rowTitle">{{showSetting.telTitle}}</view>
+				</view>
+				<view class="rowRight" style="color:#666666;" @click="makePhoneCall(showSetting.tel)">{{showSetting.tel}}</view>
+			</view>
+			<view class="rowBox" v-if="showSetting.isShowMember" @click="gomember(showSetting.memberTitle)">
+				<view class="leftView">
+					<image src="../../static/timg/icon_yijian.png" mode="" class="liftIcon"></image>
+					<view class="rowTitle">{{showSetting.memberTitle}}</view>
+				</view>
+				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
+			</view> 
+			<view class="rowBox" v-if="showSetting.isShowAbout" @click="gonavigateaboutUS">
+				<view class="leftView">
+					<image src="../../static/timg/icon_fenxiang.png" mode="" class="liftIcon"></image>
+					<view class="rowTitle">{{showSetting.aboutTitle}}</view>
+				</view>
+				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
+			</view> 
+			
+		</view>
+		<view class="rowBoxBg">
+		
+			<button open-type="share" class="rowBox">
+				<view class="leftView">
+					<image src="../../static/img/icon_me6.png" mode="" class="liftIcon"></image>
+					<view class="rowTitle">分享给好友</view>
+				</view>
+				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
+			</button>
+			<view class="rowBox" @click="gonavigateTo('feedBack')">
+				<view class="leftView">
+					<image src="../../static/img/icon_me7.png" mode="" class="liftIcon"></image>
+					<view class="rowTitle">意见反馈</view>
+				</view>
+				<image src="../../static/img/big_rightArrow.png" mode="" class="big_rightArrow"></image>
+			</view>
+			
+			
 			<!-- <view class="rowBox" @click="gonavigateTo('../report/working?id=56D5F8C1-9F11-40BA-8937-B4AABD4666B5')">
 				<view class="leftView">
 					<image src="../../static/img/icon_kehuzhuanjieshao.png" mode="" class="liftIcon"></image>
@@ -263,7 +354,7 @@
 
 		<!-- <view class="signOut" @click="signOut">退出登录</view> -->
 		<!-- 手机号授权 -->
-		<view class="authorizBox" v-if="authorizShow" @click="authorizShow=false">
+		<view class="authorizBox" v-if="authorizShow" @click="authorizShowHide">
 			<view class="authorizCont" @click.stop="">
 				<view class="authorizName">{{wxOpenData.miniAppName}}</view>
 				<view class="authorizMs">您好,欢迎访问本店,授权手机号登录能获取我们最新的促销活动哦~</view>
@@ -315,6 +406,11 @@
 				release_version: '',
 				qrimg:'',
 				qrSHow:false,
+				kkshow:false,
+				duration:500,
+				interval:3000,
+				showSetting:'',
+				f2csystemlist:'',
 			}
 		},
 		onLoad(opt) {
@@ -375,6 +471,11 @@
 
 		},
 		methods: {
+			makePhoneCall(tel){
+				uni.makePhoneCall({
+				  phoneNumber: tel,
+				});
+			},
 			seeQr(){
 				// this.authorizShow = true;
 				// return false;
@@ -408,6 +509,22 @@
 					url: 'ShopAppraiseList?shopID=' + this.numList.shopInfo.id
 				})
 			},
+			useremind(){
+				uni.navigateTo({
+					url: '../integral/integral'
+				})
+			},
+			gonavigateaboutUS(){
+				uni.navigateTo({
+					url: '../index/aboutUS?unionID='+this.numList.customerInfo.unionID
+				})
+				
+			},
+			gomember(memberTitle){
+				uni.navigateTo({
+					url: '../index/aboutUS?unionID='+this.numList.customerInfo.unionID+'&memberTitle='+memberTitle
+				})
+			},
 			getVersionInfo() {
 				this.$http('miniApp2/sys/getVersionInfo', {
 					appId: this.ext.appId,
@@ -473,6 +590,13 @@
                         }, 1000); */
 						that.queryMyDetail()
 						
+						if(this.numList.customerInfo.pState==1&&this.numList.shopSettings.partnerDisabled){
+							this.kkshow=true
+						}
+						if(this.numList.customerInfo.rebateState==1&&this.numList.shopSettings.introductionDisabled){
+							this.kkshow=true
+						}
+						
 					}
 				})
 			},
@@ -541,8 +665,8 @@
 					this.headImg = res.data.openUser.headImg;
 					this.nickName = res.data.openUser.nickName;
 					this.phone = res.data.openUser.mobilePhone;
-
-
+                    this.showSetting=res.data.showSetting
+                    this.f2csystemlist=res.data.f2csystemlist
 				})
 			},
 			gonavigateTo(url) {
@@ -564,6 +688,9 @@
 				// 	url: '../login/login'
 				// })
 			},
+			authorizShowHide(){
+				this.authorizShow=false
+			}
 
 		},
 		onShareAppMessage(res) {
@@ -598,6 +725,120 @@
 </script>
 
 <style scoped>
+.cardNameIcon{
+	width: 30rpx;height: 30rpx;
+}
+.cardNameIcon2{
+	width: 7rpx;height: 13rpx;
+	margin-left: 3rpx;margin-top: 9rpx;
+}
+.cardNameTb{
+	padding-left: 4rpx;
+}
+.cardNameBOx{
+	background: linear-gradient(327deg, #FEA917 0%, #FFC635 100%);
+	border-radius: 16rpx;display: flex;
+	line-height: 30rpx;font-weight: 500;
+color: #764700;font-size: 22rpx;
+margin-left: 15rpx;
+padding-right: 10rpx;
+
+    height: 30rpx;
+
+}
+.remindBox{
+	width: 596rpx;
+	box-shadow: 0rpx 0rpx 8rpx 0rpx rgba(153,153,153,0.1);
+	background: rgba(255,255,255,0.1);
+	display: flex;justify-content: space-between;
+	    margin: 0 auto;font-size: 22rpx;
+		padding: 9rpx 20rpx;
+		color: #FFFFFF;
+		line-height: 30rpx;
+		border-radius: 8rpx;
+		margin-bottom: 20rpx;
+}
+.useremind{
+	font-weight: 500;
+	color: #FFFD00;
+}
+.swiper2{
+		min-height: 510rpx;
+	/* 	margin-top: -100rpx; */
+}
+.marginTop{
+	margin-top: -270rpx;
+}
+.marginTop2{
+	margin-top: -120rpx;
+}
+.cardBox{
+	width: 702rpx;
+	min-height: 510rpx;
+	background: #FFFFFF;
+	border-radius: 22rpx;
+	margin-left:24rpx ;
+	
+	    overflow: hidden;
+}
+.cardCont{
+	display: flex;
+	flex-wrap: wrap;
+}
+.cardLineImgBox{
+	width: 84rpx;
+	height: 84rpx;
+	/* background: linear-gradient(150deg, #222439 0%, #1A2027 100%); */
+	border-radius: 50%;
+	margin: 0 auto;
+	margin-top: 30rpx;
+}
+.cardLineImg{
+	width: 84rpx;
+	height: 84rpx;
+	border-radius: 50%;
+}
+.cardlineTitle{
+	color: #3C3C3C;font-size: 24rpx;
+	line-height: 33rpx;padding-top: 10rpx;
+	overflow:hidden;
+	  white-space: nowrap;
+	  text-overflow: ellipsis;
+	  -o-text-overflow:ellipsis;
+}
+.cardlineTitle2{
+	color: #999999;font-size: 24rpx;
+	line-height: 33rpx;padding-top: 10rpx;
+	overflow:hidden;
+	  white-space: nowrap;
+	  text-overflow: ellipsis;
+	  -o-text-overflow:ellipsis;
+}
+.cardLine{
+	width: 25%;
+	text-align: center;
+}
+.rowRight{
+	color: #666666;font-size: 28rpx;padding-right: 32rpx;
+}
+.cardTOp{
+	height: 155rpx;
+	background-size: 100% 100%;
+	position: relative;
+	
+}
+.vipBsIcon{
+	position: absolute;width: 112rpx;height: 33rpx;top: 0;right: 0;
+}
+.cardName{
+	font-weight: 500;font-size: 30rpx;padding-top: 30rpx;padding-left: 30rpx;
+	color: #50402A;
+}
+.cardtimeBox{
+	display: flex;justify-content: space-between;
+	color: #786140;font-size: 24rpx;
+	padding-top: 20rpx;padding-left: 30rpx;padding-right: 20rpx;
+}
 	.qrBox{
 		position: fixed;
 		width: 100vw;
@@ -740,7 +981,6 @@
 		font-weight: bold;
 		line-height: 48rpx;
 		height: 48rpx;
-		width: 430rpx;   
 		overflow: hidden;        /*内容会被修剪,并且其余内容是不可见的*/
 		text-overflow:ellipsis;  /*显示省略符号来代表被修剪的文本。*/
 		 white-space: nowrap;     /*文本不换行*/
@@ -749,12 +989,13 @@
 
 	.grade {
 		margin-left: 15rpx;
-		font-size: 24rpx;
+		font-size: 22rpx;
 		color: #FFFFFF;
 		padding: 0rpx 10rpx;
-		border: 1rpx solid #FFFFFF;
-		border-radius: 4rpx;
-		height: 36rpx;
+		border: 1px solid #FFFFFF;
+		border-radius: 18rpx;
+		height: 26rpx;
+		line-height: 28rpx;
 	}
 
 
@@ -765,8 +1006,7 @@
 
 
 	.headerBox {
-		padding: 30rpx 24rpx;
-
+		padding: 16rpx 24rpx;
 		display: flex;
 		justify-content: space-around;
 	}
@@ -775,14 +1015,13 @@
 		display: flex;
 		flex-direction: column;
 		align-items: center;
-		height: 120rpx;
 	}
 
 	.numStr {
-		font-size: 40rpx;
+		font-size: 32rpx;
 		font-weight: bold;
 		color: #FFFFFF;
-		line-height: 56rpx;
+		line-height: 45rpx;
 	}
     .numStr2{
 		font-size: 40rpx;
@@ -801,7 +1040,7 @@
 		background: #FFFFFF;
 		padding: 30rpx 20rpx;
 		border-radius: 10rpx;
-		margin-top: -100rpx;
+		margin-top: 20rpx;
 	}
 
 
@@ -1034,6 +1273,7 @@
 		position: fixed;
 		top: 0;
 		left: 0;
+		z-index: 11;
 	}
 
 	.authorizCont {

BIN
static/timg/icon_arrow.png


BIN
static/timg/icon_fenxiang.png


BIN
static/timg/icon_jydd.png


BIN
static/timg/icon_qingchu.png


BIN
static/timg/icon_vip.png


BIN
static/timg/icon_yijian.png


BIN
static/timg/sos.png


+ 4 - 4
utils/common.js

@@ -73,11 +73,11 @@ function noMultipleClicks(methods, info) {
 function getExtStoreId(type){
 	try{
 	 var extConfig = uni.getExtConfigSync ? uni.getExtConfigSync() : {shopId:'默认的门店id'};
-		 	/* extConfig={
-		  	"shopId": "1F12DB68-D8E8-4B76-9E20-287ACB72889F",
+	/* 	 extConfig={
+		  	"shopId": "935D2FA9-1DA3-4C8B-944C-DB40D5C6F132",
 		  	"url":"https://apidms.66km.com",
-		  	"unionId":"EF7981B9-2D1D-4006-9C0A-66CE7177134D",
-		  	"appId":"wx2c6f04c0dcd15984"
+		  	"unionId":"1933D569-A2A4-4090-87C3-8E84B33FF15A",
+		  	"appId":"wx09ff516cd194a04d"
 	      } */
 		console.log(extConfig,'extJson对象');
 		//return extConfig[type];

+ 4 - 3
utils/request.js

@@ -9,10 +9,11 @@ import $store from '../store'
 const extConfig = uni.getExtConfigSync();		
 console.log(extConfig)
 const baseUrl=extConfig.url+'/'
-//const baseUrl='http://192.168.0.126:20187/'
-//const baseUrl='http://dmss.66km.com.cn/'
+//const baseUrl='http://192.168.0.127:20189/'
+//const baseUrl='http://192.168.0.174:20187/'
+//const baseUrl='http://dms.66km.com.cn/'
 
-//wx2c6f04c0dcd15984正式  wx33053a645546ec31
+//wx2c6f04c0dcd15984正式  wx33053a645546ec31 E37BB296-5A08-4534-859D-B351BA611AF9 EEADACCD-8A19-499D-8AD7-6975D2C93243 
 //测试地址
 //const webUrl = 'http://dms.32che.cn/'
 //正式