暖心小太阳 пре 1 дан
родитељ
комит
12f035dc57

+ 573 - 0
components/time-select.vue

@@ -0,0 +1,573 @@
+<template>
+	<view>
+		<view class="popup-wrapper popup-wrapper-special">
+			<!-- 标题 -->
+			<view class="popup-title popup-title-special popup-title-new">
+				<view>请选择服务开始时间</view>
+				<view v-if="selectTimeValue >= 17" class="fee-tips">您选的时间段可能会加收夜间服务费,具体以与商家的沟通为准</view>
+				<!-- 选择服务者上门时段(具体服务时长以实际服务为准) -->
+			</view>
+
+			<block>
+				<view class="popup-content popup-content-special">
+					<view class="time-select-top" style="display: flex;">
+						<scroll-view class="scroll-view_H" scroll-x="true" scroll-left="0">
+							<view class="time-select-left-item" @tap="dateCheck" :data-index="index"
+								:data-week="item.week" :data-date="item.date" :data-isbook="item.isBook"
+								v-for="(item, index) in dateList" :key="index" style="display: inline-block;">
+								<view class="date-line-wrapper">
+									<view :class="[
+		'date-msg',
+		   dateIndex == index ? 'current-date' : '',
+		   item.dateMsg == '不可约' ? 'avail-date' : ''
+		 ]">
+										{{item.weekOfDay}}
+									</view>
+									<view :class="[
+		'date-msg1',
+		   dateIndex == index ? 'current-date' : '',
+		   item.dateMsg == '不可约' ? 'avail-date' : ''
+		 ]"> {{ item.bookdate | formatDate }}</view>
+									<view :class="[
+		    dateIndex == index ? 'current-line' : '',
+		    item.dateMsg == '不可约' ? 'current-line0' : ''
+		  ]"></view>
+
+								</view>
+							</view>
+						</scroll-view>
+					</view>
+					<view class="time-select-middle">
+						<view class="noon-select">
+							<view :class="'noon-item' + (noonType == '1' ? 'active-noon' : '')" data-noon="1"
+								@tap="noonTab">上午</view>
+							<view class="divider"></view>
+							<view :class="'noon-item' + (noonType == '2' ? 'active-noon' : '')" data-noon="2"
+								@tap="noonTab">下午</view>
+						</view>
+
+						<view class="time-item-wrapper">
+							<view @tap="timeCheck" :data-stock="item.stock" :data-index="index" :data-msg="item.timeMsg" :data-toastmsg="item.toastMsg"
+								:class="[
+									'time-msg',
+									   timeIndex == index ? 'current-time' : '',
+									   item.timeMsg == '不可约' ? 'avail-time' : ''
+									 ]" v-for="(item, index) in timeList" :key="index">
+								<view :class="timeIndex === index ? 'current-time' : ''">{{ item.begin }}</view>
+
+
+
+							</view>
+						</view>
+						<view class="appointment-tips">
+							<view> <span></span>
+								<text>可预约</text>
+							</view>
+							<view> <span class="selected"></span>
+								<text>已选择</text>
+							</view>
+							<view> <span class="no-appointment"></span>
+								<text>不可约</text>
+							</view>
+						</view>
+
+						<view class="time-select-bottom" v-if="date!==''&week!==''&time!==''">
+							<span>当前选择:</span>{{date}}({{week}}){{time}}
+						</view>
+					</view>
+				</view>
+			</block>
+
+			<!-- 确认按钮 -->
+			<view class="popup-btn-wrapper">
+				<view @tap="confirmTime" class="confirm-btn" >确定</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	var util = require('@/utils/util.js');
+	var api = require('@/config/api.js');
+	var check = require('@/utils/check.js');
+	export default {
+		name: "time-select",
+		props: {
+			timeParams: Object
+		},
+		created() {
+			console.log("传过来的参数", this.timeParams);
+			this.getDayTime(this.timeParams)
+		},
+		onShow() {
+			
+		},
+		filters: {
+			formatDate: function(value, format) {
+				// 这里可以根据format来格式化日期
+				if (value) {
+					return value.substring(0, 10).split('-').slice(1).join('-');
+				}
+			}
+		},
+		data() {
+			return {
+
+				noonType: 1,
+				selectTimeValue: '',
+				timeList: [],
+				dateList: [],
+				timeIndex: '',
+
+				//选中的时间段
+				dateIndex: 0,
+
+				//选中的日期
+				appointDate: '',
+				futureDays: '',
+				time: '',
+				week: '',
+				date: ''
+			};
+		},
+
+		methods: {
+			getDayTime(params) {
+				uni.showLoading({
+					title: '加载中'
+				});
+				util.request(api.everyDayTime, params, 'GET')
+					.then((res) => {
+						uni.hideLoading();
+						if (res.errno == 0) {
+							console.log("时间", res.data);
+							this.setData({
+								dateList: res.data,
+								dateIndex: 0,
+								timeIndex: -1,
+								noonType: 1
+							});
+							let period = res.data[0].period;
+							let list = period.filter((item) => {
+								return item.ofTime == '上午';
+							});
+							this.setData({
+								timeList: list
+							});
+						} else {
+							uni.showToast({
+								title: res.errmsg,
+								icon: 'none',
+								duration: 2000
+							});
+							this.setData({
+								timeList: [],
+								timeIndex: ''
+							});
+						}
+					})
+					.catch((err) => {
+						console.log(err);
+						uni.hideLoading();
+						uni.showToast({
+							title: err.errMsg,
+							icon: 'none'
+						});
+						this.setData({
+							timeList: [],
+							timeIndex: ''
+						});
+					});
+			},
+
+			noonTab(e) {
+				let noon = e.currentTarget.dataset.noon;
+				console.log("noon", noon);
+				this.setData({
+					timeIndex: -1,
+					noonType: noon,
+					selectTimeValue: ''
+				});
+				console.log("noon1", noon);
+				let period = this.dateList[this.dateIndex].period;
+				let current = this.noonType == 1 ? '上午' : '下午';
+				let list = period.filter((item) => {
+					return item.ofTime == current;
+				});
+				this.setData({
+					timeList: list
+				});
+			},
+			dateCheck(e) {
+				let index = e.currentTarget.dataset.index;
+				let date = e.currentTarget.dataset.date;
+				let week = e.currentTarget.dataset.week;
+				let isbook = e.currentTarget.dataset.isbook;
+				this.setData({
+					dateIndex: index
+				});
+				let period = this.dateList[this.dateIndex].period;
+				let current = this.noonType == 1 ? '上午' : '下午';
+				let list = period.filter((item) => {
+					return item.ofTime == current;
+				});
+				let bookdate = this.dateList[this.dateIndex].bookdate
+				let weekOfDay = this.dateList[this.dateIndex].weekOfDay
+				this.setData({
+					timeList: list,
+					date: bookdate,
+					week: weekOfDay
+				});
+				let isNoTime = list.every((item) => {
+					return item.timeMsg && item.timeMsg != null;
+				});
+				if (isNoTime) {
+					this.setData({
+						timeIndex: -1,
+						selectTimeValue: ''
+					});
+				}
+			},
+
+			timeCheck(e) {
+				console.log( e.currentTarget);
+				let index = e.currentTarget.dataset.index;
+				let msg = e.currentTarget.dataset.msg;
+				let toastMsg= e.currentTarget.dataset.toastmsg;
+				if (msg == null || msg == '') {
+					let time = this.timeList[index].begin.split(':')[0];
+					let bookTime = this.timeList[index].begin + '-' + this.timeList[index].end
+					this.setData({
+						timeIndex: index,
+						selectTimeValue: Number(time),
+						time: bookTime
+					});
+				}else{
+					uni.showToast({
+						title:toastMsg,
+						icon:'none'
+					})
+				}
+			},
+			confirmTime() {
+				if (this.timeIndex === '' || this.timeIndex < 0) {
+					util.showErrorToast('请选择服务时间');
+					return false;
+				}
+				let date = this.dateList[this.dateIndex].bookdate;
+				let week = this.dateList[this.dateIndex].weekOfDay;
+				let time = this.timeList[this.timeIndex].begin + '-' + this.timeList[this.timeIndex].end;
+				let futureDays = (((new Date(date)).getTime() - (new Date()).getTime()) / (1000 * 24 * 3600));
+
+				futureDays = Math.ceil(futureDays);
+				this.setData({
+					choosePopup: false,
+					appointDate: date + ' ' + week + ' ' + time,
+					futureDays: futureDays,
+
+				});
+				
+				this.$emit('timeShow', {
+					appointDate: this.appointDate,
+					futureDays: this.futureDays,
+					Time: {
+						date,
+						week,
+						time
+					}
+				});
+			},
+			getDayTime(params) {
+				uni.showLoading({
+					title: '加载中'
+				});
+				util.request(api.everyDayTime, params, 'GET')
+					.then((res) => {
+						uni.hideLoading();
+						if (res.errno == 0) {
+							console.log("时间", res.data);
+							this.setData({
+								dateList: res.data,
+								dateIndex: 0,
+								timeIndex: -1,
+								noonType: 1
+							});
+							let period = res.data[0].period;
+							let list = period.filter((item) => {
+								return item.ofTime == '上午';
+							});
+							this.setData({
+								timeList: list
+							});
+						} else {
+							uni.showToast({
+								title: res.errmsg,
+								icon: 'none',
+								duration: 2000
+							});
+							this.setData({
+								timeList: [],
+								timeIndex: ''
+							});
+						}
+					})
+					.catch((err) => {
+						console.log(err);
+						uni.hideLoading();
+						uni.showToast({
+							title: err.errMsg,
+							icon: 'none'
+						});
+						this.setData({
+							timeList: [],
+							timeIndex: ''
+						});
+					});
+			},
+		},
+
+	}
+</script>
+
+<style>
+	.popup-wrapper view {
+		color: #888;
+		font-size: 30rpx;
+	}
+
+	.popup-content {
+		flex: 1;
+	}
+
+
+	.appointment-tips {
+		display: flex;
+		justify-content: space-between;
+		width: 178px;
+		/* margin: 170px auto 10px; */
+		position: absolute;
+		bottom: 72rpx;
+		left: calc(50% - 89px);
+	}
+
+	.appointment-tips view span {
+		width: 20rpx;
+		height: 20rpx;
+		border-radius: 20rpx;
+		background-color: #feebd7;
+		display: inline-block;
+		margin-right: 10rpx;
+	}
+
+	.appointment-tips view .selected {
+		background-color: #d77958;
+	}
+
+	.appointment-tips view .no-appointment {
+		background-color: #ccc;
+	}
+
+	.appointment-tips view text {
+		color: #d77958;
+		font-size: 24rpx;
+	}
+
+	.time-select-bottom {
+		width: 100vw;
+		background-color: #feebd7;
+		height: 54rpx;
+		font-size: 22rpx !important;
+		/* color: #00b4fe !important; */
+		line-height: 54rpx;
+		padding-left: 30rpx;
+		position: absolute;
+		bottom: 0;
+	}
+
+	.time-select-left {
+		/* flex: 2; */
+		border-right: 1rpx solid #ddd;
+		padding: 0 8rpx 0 20rpx;
+		width: 370rpx;
+	}
+
+	.time-select-right {
+		flex: 1;
+		/* padding: 0 8rpx; */
+		height: 900rpx;
+		overflow-y: hidden;
+	}
+
+	.scroll-view_H {
+		white-space: nowrap;
+		/* 确保子元素在同一行内显示 */
+		overflow-x: scroll;
+		/* 允许横向滚动 */
+	}
+
+	.time-select-left-item {
+		height: 108rpx;
+		display: flex;
+		flex-direction: column;
+		padding: 4rpx 0;
+		width: 20vw;
+	}
+
+	.date-line-wrapper {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+	}
+
+	.time-select-left-item .date-msg {
+		height: 36rpx;
+		line-height: 36rpx;
+		color: #292929;
+		font-size: 36rpx;
+		font-weight: bold;
+	}
+
+	.time-select-left-item .date-msg1 {
+		height: 36rpx;
+		line-height: 36rpx;
+		color: #292929;
+		font-size: 22rpx;
+		margin-top: 10rpx;
+
+	}
+
+	.time-select-left-item .date-msg.avail-date {
+		color: #999 !important;
+		font-weight: bold;
+	}
+
+	.time-select-left-item .date-msg1.avail-date {
+		color: #999 !important;
+		font-weight: bold;
+	}
+
+	.popup-wrapper .popup-content .current-date {
+		color: #d77958;
+		font-weight: bold;
+	}
+	view.popup-btn-wrapper {
+	    margin: 10rpx auto;
+	    padding: 24rpx;
+	    background-color: #d77958;
+	    text-align: center;
+	    width: 682rpx;
+	    border-radius: 16rpx;
+	}
+
+	view.popup-btn-wrapper view {
+		color: #fff;
+	}
+
+	.time-select-middle {
+		background-color: #FCFCFC;
+		padding: 10rpx 0rpx;
+		height: 800rpx;
+		position: relative;
+	}
+
+	.noon-select {
+		width: 100%;
+		display: flex;
+		justify-content: center;
+		margin: 30rpx auto;
+	}
+
+	.noon-select .divider {
+		height: 40rpx;
+		width: 2rpx;
+		background-color: #e5e5e5;
+	}
+
+	.noon-select .noon-item {
+		text-align: center;
+		color: #979797;
+		font-size: 36rpx;
+		width: 49%;
+	}
+
+	.noon-itemactive-noon {
+		text-align: center;
+		color: #d77958!important;
+		font-size: 36rpx !important;
+		width: 49%;
+	}
+	.popup-title-new.popup-title {
+		display: flex;
+		flex-direction: column;
+		font-size: 20px;
+		font-weight: bold;
+		text-align: left;
+		padding: 30rpx;
+		
+	}
+	.popup-title-new view {
+		color: #000;
+		font-size: 40rpx;
+		font-weight: bold;
+	}
+	.popup-title-new view.fee-tips {
+		color: #d77958;
+		font-size: 22rpx;
+	}
+
+
+	.current-line {
+		width: 38rpx;
+		height: 6rpx;
+		background: #d77958;
+		border-radius: 3rpx;
+		margin: auto;
+		opacity: 1;
+	}
+
+	.current-line0 {
+		opacity: 0;
+	}
+
+	.current-time {
+		color: #fff !important;
+		font-family: AlibabaPuHuiTi_2_65_Medium;
+		line-height: 70rpx;
+		height: 70rpx;
+		background-color: #d77958;
+		border-radius: 8px;
+		font-size: 36rpx;
+	}
+	
+	
+		.time-item-wrapper {
+		display: flex;
+		width: 90vw;
+		justify-content: flex-start;
+		flex-wrap: wrap;
+		text-align: center;
+		gap: 20px;
+		margin: 10px auto;
+	}
+	
+	
+		.time-item-wrapper .time-msg {
+		width: 20%;
+		line-height: 70rpx;
+		height: 70rpx;
+		background-color: #feebd7;
+		border-radius: 8px;
+		font-size: 36rpx;
+		font-weight: bold;
+	}
+	.time-item-wrapper .avail-time {
+		width: 20%;
+		line-height: 70rpx;
+		height: 70rpx;
+		background-color: #CCCCCC;
+		border-radius: 8px;
+		font-size: 36rpx;
+		font-weight: bold;
+	}
+	
+</style>

+ 41 - 36
pages/ucenter/addressAdd/addressAdd.vue

@@ -16,20 +16,19 @@
                 </view>
                 <!-- bindtap="chooseRegion" -->
                 <view class="form-item" @tap="goMap">
-                    <view class="label">省市区</view>
+                    <view class="label">服务地址</view>
                     <view class="content">
-                        <image src="/static/images/address/dingwei.png" style="width: 28rpx; height: 35rpx; margin-right: 10rpx"></image>
-                        <input class="input" :value="address.province + address.city + address.county" :disabled="true" placeholder="省份、城市、区县" />
-
-                        <image src="/static/images/arrow.png" style="width: 12rpx; height: 20rpx; margin-right: 10rpx"></image>
-                    </view>
-                </view>
-                <view class="form-item">
-                    <view class="label">地址</view>
-                    <view class="content">
-                        <input class="input" :value="address.address" placeholder="请选择地址" disabled />
+					   <view style="flex: 1;">
+						   <view class="address-name" v-if="address.addressName" style="height: 36rpx;line-height: 36rpx;font-weight: bold;">
+						   	{{address.addressName}}
+						   </view>
+						<input class="input input1" :value="address.province + address.city + address.county+address.address" :disabled="true" placeholder="请选择服务地址" placeholder-class="custom-placeholder"/>
+					   </view>
+                        
+                        <image src="/static/images/arrow.png" style="width: 12rpx; height: 20rpx; margin-right: 10rpx;margin-top: 10rpx;"></image>
                     </view>
                 </view>
+    
                 <view class="form-item">
                     <view class="label">门牌号</view>
                     <view class="content">
@@ -166,6 +165,7 @@ export default {
             address.province = poi.province;
             address.city = poi.city;
             address.county = poi.county;
+			console.log("address",address);
             if (!address.city) {
                 that.getAreaCode(address.lat, address.lng)
                     .then((res) => {
@@ -198,25 +198,25 @@ export default {
                 return;
             } //从已有地址进入
 
-            map.getLocation2().then(() => {
-                that.getAreaCode(app.globalData.lat, app.globalData.lng)
-                    .then((res) => {
-                        res.isDefault = that.address.isDefault;
-                        // console.log('globalData',app.globalData.lat,app.globalData.lng)
-                        // console.log('areaCode',res)
-                        that.setData({
-                            address: res,
-                            selectAddress: res
-                        });
-                    })
-                    .catch((err) => {
-                        uni.showToast({
-                            title: '获取地区码失败',
-                            icon: 'none',
-                            duration: 3000
-                        });
-                    });
-            });
+            // map.getLocation2().then(() => {
+            //     that.getAreaCode(app.globalData.lat, app.globalData.lng)
+            //         .then((res) => {
+            //             res.isDefault = that.address.isDefault;
+            //             // console.log('globalData',app.globalData.lat,app.globalData.lng)
+            //             // console.log('areaCode',res)
+            //             that.setData({
+            //                 address: res,
+            //                 selectAddress: res
+            //             });
+            //         })
+            //         .catch((err) => {
+            //             uni.showToast({
+            //                 title: '获取地区码失败',
+            //                 icon: 'none',
+            //                 duration: 3000
+            //             });
+            //         });
+            // });
         }
     },
     onHide: function () {
@@ -615,7 +615,6 @@ page {
 .add-address .form-item {
     height: 116rpx;
     padding-left: 31.25rpx;
-    /* border-bottom: 1px solid #d9d9d9; */
     display: flex;
     align-items: center;
     padding-right: 31.25rpx;
@@ -626,13 +625,22 @@ page {
     height: 44rpx;
     line-height: 44rpx;
     overflow: hidden;
-    margin-top: 10rpx;
+   margin-top: 10rpx;
+}
+.add-address .input1 {
+   color: #999999;
+}
+.custom-placeholder {
+  font-size: 28rpx;
+  color: #d77958;
+  letter-spacing: 2rpx;
+  font-weight: 500;
 }
 .add-address .label {
     font-size: 32rpx;
     font-weight: bold;
     margin-right: 50rpx;
-    width: 136rpx;
+    width: 170rpx;
     text-align: center;
 }
 .add-address .content {
@@ -640,7 +648,6 @@ page {
     height: 116rpx;
     line-height: 116rpx;
     align-content: center;
-    /* padding: 40rpx 0 0; */
     width: 100%;
     display: flex;
     align-items: center;
@@ -677,8 +684,6 @@ page {
     bottom: 0rpx;
     left: 0;
     overflow: hidden;
-    /* display: flex; */
-    /* height: 100rpx; */
     width: 100%;
     margin-bottom: 25rpx;
 }

+ 93 - 61
pages/ucenter/appointOrder/appointOrder.vue

@@ -112,6 +112,23 @@
 				<text style="display: block;font-size: 29;color: #999;">选择您想选择的服务时间</text>
 			</view>
 		</view>
+		
+		
+		
+		
+		
+		<view class="appoint-server" 
+			>
+			<view class="server-tip" >优先匹配上一单的服务者</view>
+			
+			<!-- <image mode="aspectFit"
+				src="https://mall.zhaijieshi.cc/file/wx-huawang/dian2.png" class="radio-img"  
+				></image> -->
+			
+			<image mode="aspectFit"
+				src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-unselect-popup.png"
+				class="radio-img" ></image>
+		</view>
 		<!-- 预约服务时间 -->
 		<view class="appoint-main-module">
 			<view class="appoint-block" @tap="showAppoint" style="height: 132rpx;line-height: 132rpx;">
@@ -163,12 +180,11 @@
 		</view>
 
 		<view class="appoint-overlay-wrapper" v-if="choosePopup" @tap="onClose"></view>
-		<view class="popup-wrapper popup-wrapper-special" v-if="choosePopup">
-			<!-- 标题 -->
+			<timeSelect v-if="choosePopup" :timeParams='timeParams' @timeShow='setTimeshow'/>
+	<!-- 	<view class="popup-wrapper popup-wrapper-special" v-if="choosePopup">
 			<view class="popup-title popup-title-special popup-title-new">
 				<view>选择服务开始时间</view>
 				<view v-if="selectTimeValue >= 17" class="fee-tips">您选的时间段可能会加收夜间服务费,具体以与商家的沟通为准</view>
-				<!-- 选择服务者上门时段(具体服务时长以实际服务为准) -->
 			</view>
 
 			<block>
@@ -201,11 +217,11 @@
 							<view :class="'time-select-right-item ' + (item.timeMsg ? 'invalid-time' : '')"
 								@tap="timeCheck" :data-stock="item.stock" :data-index="index" :data-msg="item.timeMsg"
 								v-for="(item, index) in timeList" :key="index">
-								<!-- <view class="{{item.stock<=0?'zero-stock':''}}"> -->
+								
 
 								<view class="time-line">
 									<text :class="timeIndex === index ? 'current-date' : ''">{{ item.begin }}</text>
-									<!-- <text class="stock-text">(库存:{{item.stock}})</text> -->
+								
 									<text v-if="selectTimeValue >= 17 && timeIndex == index && !item.timeMsg"
 										class="extra-tips">收夜间服务费</text>
 									<text v-if="timeIndex === index" class="date-tag">已选</text>
@@ -213,19 +229,17 @@
 										{{ item.timeMsg }}
 									</view>
 								</view>
-
-								<!-- <view wx:if="{{timeIndex===index&&item.value>=17}}" style="font-size: 11px;line-height: 12px;">您选的时间段可能会加收夜间服务费,具体以与商家的沟通为准</view> -->
 							</view>
 						</view>
 					</view>
 				</view>
 			</block>
 
-			<!-- 确认按钮 -->
+		
 			<view class="popup-btn-wrapper">
 				<view @tap="confirmTime" class="confirm-btn">确定</view>
 			</view>
-		</view>
+		</view> -->
 
 		<!-- 地址弹框 -->
 		<view class="appoint-overlay-wrapper address-overlay" v-if="addressShow" @tap="onAddressClose">
@@ -260,7 +274,7 @@
 			<view class="wrapper"
 				style="width: 652rpx;height: 627rpx;background-color:#fff;position: absolute;top: 400rpx;left: 49rpx;border-radius: 16rpx;">
 				<view class="title-icon"
-					style="padding: 60rpx 260rpx;   height: 255rpx; background: #d77958; border-radius: 16rpx 16rpx 0 0;     background: url('https://mall.zhaijieshi.cc/file/wx-huawang/bj3.png') no-repeat center center;">
+					style="padding: 60rpx 260rpx;   height: 255rpx; background: #d77958; border-radius: 16rpx 16rpx 0 0;     background: url('https://mall.zhaijieshi.cc/file/wx-huawang/bj3.png') no-repeat ;background-size: cover;">
 					<image src="https://mall.zhaijieshi.cc/file/wx-huawang/cc.png" mode=""
 						style="height:161rpx;width: 161rpx;"></image>
 				</view>
@@ -286,7 +300,7 @@
 						<view class="remark-value">{{ item }}</view>
 
 						<image mode="aspectFit"
-							src="https://jzmall.lifejingzhi.com/file/jzmall-dy/icon-select-popup.png" class="radio-img"
+							src="https://mall.zhaijieshi.cc/file/wx-huawang/dian2.png" class="radio-img"
 							v-if="remarkActive == item"></image>
 
 						<image mode="aspectFit"
@@ -305,10 +319,17 @@
 	var util = require('../../../utils/util.js');
 	var api = require('../../../config/api.js');
 	var check = require('../../../utils/check.js');
+	import timeSelect from '@/components/time-select.vue'
 	var app = getApp();
 	export default {
+		components: {
+		
+			timeSelect
+		},
 		data() {
 			return {
+				appointmentTime:{},
+				timeParams:{},
 				gender: '2',
 
 				address: {
@@ -463,6 +484,15 @@
 			}
 		},
 		methods: {
+			setTimeshow(params){
+				this.setData({
+					choosePopup:false,
+					appointDate:params.appointDate,
+					futureDays:params.futureDays,
+					appointmentTime:params.Time
+				})
+				console.log('params',params);
+			},
 			getOrderDetail: function() {
 				uni.showLoading({
 					title: '加载中'
@@ -591,7 +621,11 @@
 						productId: this.orderInfo.productId,
 						serviceDuration: this.orderInfo.serviceDuration
 					};
-					this.getDayTime(params);
+					this.setData({
+						timeParams:params
+					})
+					console.log('123456',this.timeParams);
+					// this.getDayTime(params);
 				}
 			},
 
@@ -772,16 +806,17 @@
 					return false;
 				}
 
-				let date = this.dateList[this.dateIndex].bookdate;
-				let week = this.dateList[this.dateIndex].weekOfDay;
-				let time = this.timeList[this.timeIndex].begin + '-' + this.timeList[this.timeIndex].end;
-				console.log(date, week, time);
+				// let date = this.dateList[this.dateIndex].bookdate;
+				// let week = this.dateList[this.dateIndex].weekOfDay;
+				// let time = this.timeList[this.timeIndex].begin + '-' + this.timeList[this.timeIndex].end;
+				// console.log(date, week, time);
+				console.log("appointmentTime",this.appointmentTime);
 				let params = {
 					detail_id: this.serviceId == null || this.serviceId == 'undefined' || this.serviceId == '' ? this
 						.orderId : this.serviceId,
-					date: date,
-					startTime: time.split('-')[0],
-					endTime: time.split('-')[1],
+					date: this.appointmentTime.date,
+					startTime: this.appointmentTime.time.split('-')[0],
+					endTime: this.appointmentTime.time.split('-')[1],
 					addressId: this.addressId == 0 || this.addressId == null ? this.addressIdSave : this.checkedAddress
 						.id,
 					// orderId: this.data.orderId,
@@ -1579,28 +1614,9 @@
 		flex: 1;
 	}
 
-	.popup-title {
-		height: 96rpx;
-		line-height: 96rpx;
-		text-align: center;
-		border-bottom: 1rpx solid #ddd;
-		font-size: 15px !important;
-	}
-
-	.popup-content {
-		display: flex;
-	}
-
-	.time-select-left {
-		/* flex: 2; */
-		border-right: 1rpx solid #ddd;
-		padding: 0 8rpx 0 20rpx;
-		width: 370rpx;
-	}
 
 	.time-select-right {
 		flex: 1;
-		/* padding: 0 8rpx; */
 		height: 900rpx;
 		overflow-y: hidden;
 	}
@@ -1615,7 +1631,6 @@
 	.date-line-wrapper {
 		flex: 1;
 		display: flex;
-		/* justify-content: space-between; */
 		align-items: center;
 	}
 
@@ -1642,7 +1657,6 @@
 		border-bottom: 1rpx solid #ddd;
 		display: flex;
 		align-items: flex-start;
-		/*justify-content: space-between; */
 		flex-direction: column;
 		padding: 0 24rpx;
 		justify-content: center;
@@ -1650,7 +1664,6 @@
 
 	.time-select-right-item view {
 		color: #6d7278;
-		/* font-weight: bold; */
 	}
 
 	view.popup-btn-wrapper {
@@ -1744,7 +1757,6 @@
 
 	.popup-content-special {
 		height: 900rpx;
-		/* margin-top: 96rpx; */
 		margin-top: 116rpx;
 	}
 
@@ -1773,14 +1785,14 @@
 		z-index: 999;
 	}
 
-	/* 选择时间 */
+	
 	view.popup-wrapper {
-		/* padding: 0 0 20rpx; */
+		
 		color: #333;
 		display: flex;
 		flex-direction: column;
 		justify-content: space-between;
-		/* height: 80%; */
+	
 		position: fixed;
 		left: 0;
 		right: 0;
@@ -1793,14 +1805,14 @@
 		overflow: hidden;
 	}
 
-	view.popup-wrapper view.confirm-btn {
+	/* view.popup-wrapper view.confirm-btn {
 		background: #d77958;
 		height: 88rpx;
 		line-height: 88rpx;
 		border-radius: 88rpx;
 		text-align: center;
 		color: #fff;
-	}
+	} */
 
 	.go-pay-wrapper {
 		padding-bottom: constant(safe-area-inset-bottom);
@@ -2148,7 +2160,7 @@
 		font-size: 24rpx;
 	}
 
-	.noon-select {
+	/* .noon-select {
 		height: 64rpx;
 		display: flex;
 		border-bottom: 1rpx solid #ddd;
@@ -2165,14 +2177,13 @@
 	.time-select-right view.noon-item.active-noon {
 		color: #fff;
 		background: #d77958;
-	}
+	} */
 
-	view.popup-wrapper .time-select-right-item .date-tag {
+	/* view.popup-wrapper .time-select-right-item .date-tag {
 		width: 80rpx;
 		height: 40rpx;
 		line-height: 38rpx;
 		margin-left: 0;
-		/* margin-left:120rpx; */
 	}
 
 	.popup-title-new.popup-title {
@@ -2196,30 +2207,29 @@
 
 	.time-select-right-item text {
 		color: #888;
-	}
+	} */
 
-	.time-select-right .time-item-wrapper {
+	/* .time-select-right .time-item-wrapper {
 		height: 836rpx;
 		overflow-y: scroll;
-	}
+	} */
 
-	.time-line {
+	/* .time-line {
 		display: flex;
 		align-items: center;
 		justify-content: space-between;
 		width: 100%;
-	}
+	} */
 
-	view.popup-wrapper .time-select-right-item.invalid-time text {
+/* 	view.popup-wrapper .time-select-right-item.invalid-time text {
 		color: #999;
 	}
 
 	view.popup-wrapper .time-select-right-item.invalid-time {
-		/* background: #E1E1E1; */
 		background: #eee;
-	}
+	} */
 
-	.time-select-right-item view.time-msg {
+/* 	.time-select-right-item view.time-msg {
 		height: 40rpx;
 		line-height: 38rpx;
 		border-radius: 40rpx;
@@ -2234,7 +2244,7 @@
 	.time-select-right-item text.extra-tips {
 		color: #ff5735;
 		font-size: 22rpx;
-	}
+	} */
 
 	.notice-block {
 		background: #fff;
@@ -2280,4 +2290,26 @@
 		text-align: center;
 		font-size: 29rpx;
 	}
+	.appoint-server{
+			border-radius: 18rpx;
+			    background-color: #fff;
+			    height: 80rpx;
+			    line-height: 80rpx;
+			    padding: 0 24rpx;
+			    color: #999;
+			    display: flex;
+			    margin-top: 28rpx;
+			    justify-content: space-between;
+				align-items: center;
+		}
+	.appoint-server .server-tip{
+		color: #999;
+			font-size: 26rpx;
+			flex: 1;
+			text-align: left;
+	}
+	.appoint-server .radio-img{
+		width: 26rpx;
+		height: 26rpx;
+	}
 </style>

+ 177 - 0
pages/ucenter/resumeDetail/resumeDetail.vue

@@ -0,0 +1,177 @@
+<template>
+	<view class="resume-container">
+		<view class="server-info">
+			<view class="worker">
+				<view class="name">
+					{{workerInfo.workerName}}
+				</view>
+				<view class="info">
+					<view class="age">
+						{{workerInfo.age}}岁
+					</view>
+					<view class="worker-years">
+						{{workerInfo.workerYears}}年服务经验
+					</view>
+					<view class="address">
+						{{workerInfo.cityName}}
+					</view>
+				</view>
+				<view class="introduce">
+					{{workerInfo.introduce}}
+				</view>
+			</view>
+
+		</view>
+		<view class="zz-info">
+
+		</view>
+		<view class="huawang-info">
+			
+			<view class="img">
+				<image :src="workerInfo.certificateFileUrl" mode=""></image>
+			</view>
+			
+		</view>
+	</view>
+</template>
+
+<script>
+	const api = require('@/config/api.js');
+	var util = require('../../../utils/util.js');
+	export default {
+		data() {
+			return {
+				servantId: '',
+				workerInfo: {
+					workerName: '',
+					workerYears: '',
+					introduce: '',
+					age: '',
+					certificateFileUrl: '',
+					cityName:''
+				}
+			}
+		},
+		onLoad(options) {
+			console.log("options", options);
+			this.setData({
+				servantId: options.servantId
+			})
+			this.getData()
+		},
+		onShow() {
+			// this.getData()
+		},
+		methods: {
+			getData() {
+				uni.showLoading({
+					title: '加载中'
+				});
+				let that = this;
+				util.request(api.getHwAuthInfo, {
+					servantId: this.servantId
+				}, 'GET').then(function(res) {
+					console.log('11', res.data);
+					if (res.errno === 0) {
+						that.setData({
+							workerInfo: res.data
+						});
+
+						uni.hideLoading();
+					}
+				});
+			},
+		}
+	}
+</script>
+
+<style>
+	.resume-container {
+		width: 100vw;
+		height: 100vh;
+		background-color: #f6f6f6;
+		padding: 13rpx 20rpx 0rpx;
+	}
+
+	.server-info {
+		width: 100%;
+		height: 293rpx;
+		background-image: url('https://mall.zhaijieshi.cc/file/wx-huawang/dyg.png');
+		background-repeat: no-repeat;
+		background-size: cover;
+		padding: 96rpx 10rpx 20rpx 150rpx;
+	}
+
+	.server-info .worker {
+		width: 100%;
+		height: 100%;
+		display: flex;
+		flex-direction: column;
+		justify-content: space-between;
+	}
+
+	.worker .name {
+		font-size: 36rpx;
+		font-weight: 400;
+		height: 40rpx;
+		line-height: 40rpx;
+	}
+
+	.worker .info {
+		display: flex;
+		font-size: 30rpx;
+		font-weight: 400;
+		height: 40rpx;
+		line-height: 40rpx;
+	}
+
+	.info .age {
+		width: 110rpx;
+		text-align: left;
+	}
+
+	.info .worker-years {
+		text-align: center;
+		width: 280rpx;
+		border-left: 4rpx solid #000;
+		border-right: 4rpx solid #000;
+	}
+
+	.info .address {
+		flex: 1;
+		text-align: center;
+	}
+
+	.worker .introduce {
+		font-size: 26rpx;
+		font-weight: 400;
+	}
+
+	.zz-info {
+		width: 100%;
+		height: 239rpx;
+		background-image: url('https://mall.zhaijieshi.cc/file/wx-huawang/zz.png');
+		background-size: cover;
+		margin: 30rpx auto;
+		background-repeat: no-repeat;
+	}
+
+	.huawang-info {
+		width: 100%;
+		height: 531rpx;
+		background-image: url('https://mall.zhaijieshi.cc/file/wx-huawang/rz.png');
+		background-size: cover;
+		background-repeat: no-repeat;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+	.huawang-info .img{
+		width: 600rpx;
+		height: 350rpx;
+	}
+	.huawang-info .img image{
+		width: 100%;
+		height: 100%;
+	}
+</style>