| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423 | <template>	<view class="">		<view v-if="orderList.length">			<view class="flex align-center margin-bottom-sm bg padding-sm radius margin-sm"				v-for="(item,index) in orderList" :key='index' @click="goOrder(item)"				style="box-shadow: 6rpx 10rpx 4px #F5F5F5;position: relative;">				<view style="position: absolute;z-index: 99;top: 0rpx;left: 0;" v-if="item.isGoods == 1">					<image						src="/static/image/text_you.png"						style="width: 42rpx;height: 36rpx;"></image>				</view>				<view style="width:130upx;height:190upx;border-radius: 10rpx;">					<image :src="item.artificerImg?item.artificerImg: '../../static/logo.png'"						@click.stop="saveImgs(item.artificerImg)"						style="width: 130upx;height: 130upx;border-radius: 50%;" mode="aspectFill"></image>					<image v-if="item.isHot == 1"						src="/static/image/icon_fire.png"						style="width: 30rpx;height: 36rpx;position: absolute;z-index: 99;top: 40rpx;left: 110rpx;">					</image>					<!-- <view class="kyy_view" v-if="item.status == 1">可预约</view>					<view class="byy_view" v-else>休息中</view> -->				</view>				<view class="margin-left  flex flex-direction" style="width: 85%;">					<view class="flex align-center justify-between">						<view class="flex align-center">							<view class="text-bold text-30 margin-right-xs">{{item.artificerName}}</view>							<image								src="/static/image/icon_pao.png"								style="width: 40rpx;height:40rpx;">							</image>						</view>					</view>					<view class="flex justify-between " style="margin:15rpx 0rpx 20rpx">						<view class="flex align-center">							<view v-if="item.ordersScore" class="margin-right-sm">								<image src="../../static/images/start.png" style="width: 24upx;height: 22upx;">								</image>								<text class="margin-left-xs" style="color: #FF1200;">{{item.ordersScore}}</text>							</view>							<view style="color: #999999;">已服务:{{item.ordersCount}}单</view>						</view>					</view>					<view style="width: 100%;display: flex;justify-content: space-between;align-items: center;"						v-if="XCXIsSelect !='否'">						<view class="flex flex-wrap align-center" style="margin-top: 10rpx;">							<image								src="/static/image/icon_shang.png"								style="width: 34rpx;height: 36rpx;"></image>							<view style="margin-left: 10rpx;color: #999;font-size: 26rpx;">商家</view>							<image								src="/static/image/icon_ping.png"								style="width: 40rpx;height: 32rpx;margin-left: 20rpx;"></image>							<view style="margin-left: 10rpx;color: #999;font-size: 26rpx;">								{{item.commentCount ? item.commentCount : 0}}							</view>							<image								src="/static/image/icon_cang.png"								style="width: 40rpx;height: 36rpx;margin-left: 20rpx;"></image>							<view style="margin-left: 10rpx;color: #999;font-size: 26rpx;">								{{item.collectCount ? item.collectCount : 0}}							</view>						</view>						<view class="text-center text-sm"							style="color: #2FB57A;font-size: 28rpx;"							@click.stop="goOrder(item)">							¥{{item.money}}						</view>					</view>				</view>			</view>		</view>		<empty v-if="orderList.length == 0"></empty>	</view></template><script>	import empty from '@/components/empty.vue'	export default {		components: {			empty		},		data() {			return {				consortiaId: '',				loading: true, // 是否显示骨架屏组件				orderList: [],				page: 1,				limit: 10,				token: '',				XCXIsSelect: '否',				isVip: false,				myId: uni.getStorageSync('userId') ? uni.getStorageSync('userId') : '',			}		},		onLoad(e) {			this.consortiaId = e.consortiaId;			let that = this			that.page = 1			that.getlist()		},		onShow() {			let that = this			that.XCXIsSelect = this.$queue.getData("XCXIsSelect");			that.token = uni.getStorageSync('token')			that.myId = uni.getStorageSync('userId')		},		methods: {			saveImgss(imgs, index) {				console.log(imgs, index)				let imgArr = imgs				// //预览图片				uni.previewImage({					urls: imgArr,					current: imgArr[index]				});			},			saveImgs(imgs) {				let imgArr = [];				imgArr.push(imgs);				// //预览图片				uni.previewImage({					urls: imgArr,					current: 0				});			},			getIsVip() {				this.$Request.get("/app/UserVip/isUserVip").then(res => {					if (res.code == 0) {						this.isVip = res.data						uni.setStorageSync('isVIP', res.data)					}				});			},			getlist() {				let userId = this.$queue.getData('userId');				let index = 2				let data = {					page: this.page,					limit: this.limit,					consortiaId: this.consortiaId,					shopId: userId				}				this.$Request.get("/app/consortia/selectUserListByConsortiaId", data).then(res => {					this.loading = false;					if (res.code == 0) {						if (this.page == 1) {							this.orderList = res.data.list						} else {							this.orderList = [...this.orderList, ...res.data.list]						}					}					uni.stopPullDownRefresh();				})			},			// 跳转游戏列表			goNav(url) {				if (uni.getStorageSync('sendMsg')) {					console.log('授权+1')					wx.requestSubscribeMessage({						tmplIds: this.arr,						success(re) {							console.log(JSON.stringify(re), 111111111111)							var datas = JSON.stringify(re);							if (datas.indexOf("accept") != -1) {								console.log(re)							}						},						fail: (res) => {							console.log(res)						}					})				}				if (url.indexOf('/pages/') !== -1) {					uni.navigateTo({						url					});				} else {					//#ifndef H5					uni.navigateTo({						url: '/pages/index/webView?url=' + url					});					//#endif					//#ifdef H5					window.location.href = url;					//#endif				}			},			// 跳转订单			goOrder(e) {				console.log('授权', uni.getStorageSync('sendMsg'))				if (uni.getStorageSync('sendMsg')) {					console.log('授权+1')					wx.requestSubscribeMessage({						tmplIds: this.arr,						success(re) {							console.log(JSON.stringify(re), 111111111111)							var datas = JSON.stringify(re);							if (datas.indexOf("accept") != -1) {								console.log(re)							}						},						fail: (res) => {							console.log(res)						}					})				}				if (this.token) {					uni.navigateTo({						url: '/pages/therapist/orderDetail?artificerId=' + e.artificerId					});				} else {					uni.navigateTo({						url: '/pages/public/login'					});				}			},		},		onReachBottom: function() {			this.page = this.page + 1;			this.getlist()		},		onPullDownRefresh: function() {			this.page = 1;			this.getlist()		},	}</script><style lang="scss">	page {		background-color: #F7F7F7;	}	.zz_view {		// width: 220upx;		background: #e8fdf6;		color: #73c2a2;		font-size: 24rpx;		padding: 6rpx 10rpx;		border-radius: 10rpx;	}	.zpmore_view {		background: #2FB57A;		width: 120upx;		text-align: center;		border-radius: 10rpx;		height: 42rpx;		line-height: 42rpx;		font-size: 24rpx;		color: #FFFFFF;		margin-left: 10rpx;	}	.byy_view {		// background: #2FB57A;		width: 120upx;		text-align: center;		border-radius: 50rpx;		height: 46rpx;		line-height: 46rpx;		font-size: 24rpx;		color: #999999;		border: 3upx solid #999999;		margin-top: 6rpx;	}	.kyy_view {		background: #2FB57A;		width: 120upx;		text-align: center;		border-radius: 50rpx;		height: 46rpx;		line-height: 46rpx;		font-size: 24rpx;		color: #FFFFFF;		margin-top: 6rpx;	}	.bg {		background: #FFFFFF;	}	.ytp_view {		background: #e3e3e3;		width: 400rpx;		border-radius: 10rpx;		font-size: 28rpx;		text-align: center;		height: 80rpx;		line-height: 80rpx;		color: #848484;		margin-top: 40rpx;	}	.tp_view {		background: #ee6c54;		width: 400rpx;		border-radius: 10rpx;		font-size: 28rpx;		text-align: center;		height: 80rpx;		line-height: 80rpx;		color: #FFFFFF;		margin-top: 40rpx;	}	.sticky-tabs {		z-index: 990;		position: sticky;		top: var(--window-top);		// background-color: #fff;	}	/* // 使用mescroll-uni,则top为0 */	.mescroll-uni,	/deep/.mescroll-uni {		.sticky-tabs {			top: 0;		}	}	.demo-tip {		padding: 18upx;		font-size: 24upx;		text-align: center;	}	.line_s {		display: inline-flex;		width: 10rpx;		height: 10rpx;		background: #1AD566;		border-radius: 50%;		margin-right: 10rpx;	}	.line_x {		display: inline-flex;		width: 10rpx;		height: 10rpx;		background: #000000;		border-radius: 50%;		margin-right: 10rpx;	}	.box {		// border: 3rpx solid #005dff;		background: #E8FAE1;		color: #2FB57A;		padding: 5rpx 15rpx;		font-size: 26rpx;		letter-spacing: 2rpx;		border-radius: 8rpx;		// margin-top: 10rpx;		margin-right: 8upx;	}	.actve {		font-size: 30rpx;		font-family: PingFang SC;		font-weight: 800;		color: #20C675;	}	.tabview1 {		padding: 20rpx 20rpx;		// width: 686upx;		// height: 100upx;		background: #FFFFFF;		margin-top: 60upx;		// z-index: 99;		// display: flex;		// line-height: 100upx;		.tabview {			// width: 686upx;			// // height: 100upx;			background: #F2FFF9;			border-radius: 24rpx 24rpx 0 0;			// margin-top: -50upx;			// z-index: 99;			display: flex;			line-height: 100upx;			.tabItem_sel {				font-size: 30upx;				font-family: PingFang SC;				font-weight: 800;				color: #20C675;				flex: 1;				text-align: center;			}			.tabItem {				font-size: 26upx;				font-family: PingFang SC;				font-weight: 500;				color: #333333;				flex: 1;				text-align: center;			}		}		.tabsx {			width: 686upx;			border-radius: 24rpx;			padding-bottom: 10rpx;			display: flex;			align-items: center;			justify-content: space-between;			padding: 20rpx 30rpx;			font-size: 26rpx;			.active {				color: #20C675;				font-size: 30rpx;				font-weight: bold;			}		}	}</style>
 |