<template>
	<view class="app">
		<view class="myorder titles" @tap="expertOrder">
			<view class="title">
				<image src="../../static/pagesB/updata.png" mode=""></image>
				我的评价
			</view>
			<view class="righttitle">
				<image src="../../static/huijiantou.png" mode=""></image>
			</view>

		</view>

		<view class="" v-if="total >0">
			<view class="orderitem" v-for="(item,index) in evaluatedata">
				<view class="tiemitem">
				</view>
				<view class="details">
					<image src="../../static/headsculpture.png" mode="" v-if="item.orderType== 'FAMILY_DOCTOR' ">
					</image>
					<image :src="baseurl+item.pictureUrl" mode="" v-else></image>
					<view class="ppointment">
						<view class="doctorname">
							<span>{{item.orderName}}</span>
						</view>
						<view class="reservation">
							<span>{{item.createTime}}</span>
						</view>

					</view>
				</view>
				<view class="bottom">
					<span @tap="healthratenurse(item)">未评价</span>
				</view>
			</view>
		</view>
		<view class="noorder" v-else>
			<u-empty mode="order" icon-size='220' text="暂无数据"></u-empty>
		</view>
		<!-- 家医模块 评价 -->

		<u-popup v-model="evaluateshow" mode="bottom" length="45%" border-radius="30" :closeable='true'>
			<view class="evaluateserver">
				立即评价
			</view>
			<view class="star">
				<view class="evaluatstar">
					<span>评分</span>
					<u-rate size="50" active-color="#FFA115" inactive-color="#b2b2b2" gutter="20"
						v-model="list.compositeScore"></u-rate>
				</view>
			</view>
			<view class="star">
				<view class="evaluatstar">
					<span>评价</span>
					<u-input v-model="list.evaluateContent" type="textarea" placeholder="请输入" />
				</view>
			</view>
			<view class="submits">
				<span @tap="cancel()">取消</span>
				<span @tap="submit()">提交</span>
			</view>
		</u-popup>
		<u-popup v-model="evaluatenurse" mode="bottom" length="50%" border-radius="20" :closeable='true' class='masks'>
			<view class="title">
				综合评价
			</view>
			<view class="mask">
				<u-rate :count="5" v-model="rateval" :size='70' active-color='#F4EA2A'></u-rate>
			</view>
			<view class="rateitem">
				{{rateval==5?'非常满意':''}}
				{{rateval==4?'满意':''}}
				{{rateval==3?'一般':''}}
				{{rateval==2?'差':''}}
				{{rateval==1?'非常差':''}}
			</view>
			<view class="btn" @tap="submit()">
				确认
			</view>
		</u-popup>
		<u-toast ref="uToast" />
	</view>
</template>

<script>
	import {
		getAppletOrderList,
		addAppointmentEvaluate,
		insertGoodsEvaluate,
	} from '@/api/pagesB/Serviceevaluation/Serviceevaluation.js'
	import {

		add
	} from '@/api/pagesC/servicerecord/servicerecord.js'
	import baseurl from '@/api/baseurl.js'
	export default {
		data() {
			return {
				evaluateshow: false, //家医评价
				evaluatenurse: false, //护理站评价
				parentId: '',
				orderStatus: 'NOT_EVALUATED', //状态
				evaluatedata: {}, //列表
				total: '',
				cardNo: '', //身份证号
				region: '', //地区
				pageNum: 1,
				pageSize: 20,
				userinfo: '',
				rateval: 0, //评价星棵树
				list: {
					compositeScore: '',
					evaluateContent: '',
					patientId: '',
					openId: '',
					orderNo: '',
					evaluateSatisfaction: '',
					evaluateChannel: 'WE_CHAT_APPLET',
				},
				openId: '',
				orderType: '',


			}
		},
		onShow() {
			this.userinfo = uni.getStorageSync('userinfo');
			this.cardNo = this.userinfo.cardNo;
			this.parentId = this.userinfo.id;
			this.region = this.userinfo.cityCode;
			this.openId = uni.getStorageSync('openid');
			// console.log(this.openId, '999')

			// this.cardNo = '371402199404167019';
			// this.cardNo = '372926199812187720';
			// this.parentId = '83';


			this.getlist();

		},
		onLoad(options) {
			// this.list.patientId = uni.getStorageSync('patientId');

			this.baseurl = baseurl;

		},
		onReachBottom() { //下滑加载

			if (this.evaluatedata.length >= this.total) {

			} else {
				this.pageNum++
				getAppletOrderList(this.parentId, this.orderStatus, this.cardNo, this.region, this.pageNum, this
					.pageSize).then(res => {
					if (res.rows) {
						res.rows.forEach(e => {
							// e.leadThumbnailUrl = baseurl + e.leadThumbnailUrl
							this.evaluatedata.push(e)
						})

					}


				})

			}
		},
		watch: { //监听
			rateval() {
				if (this.rateval == 5) {
					this.evaluateSatisfaction = 'VERYSATISFIED'
				} else if (this.rateval == 4) {
					this.evaluateSatisfaction = 'SATISFIED'
				} else if (this.rateval == 3) {
					this.evaluateSatisfaction = 'COMMONLY'
				} else if (this.rateval == 2) {
					this.evaluateSatisfaction = 'DISSATISFIED'
				} else if (this.rateval == 1) {
					this.evaluateSatisfaction = 'VERYDISSATISFIED'
				}
			},
		},
		methods: {
			//商城评价
			rate(item) {
				uni.navigateTo({
					url: `/pagesB/evaluate/evaluate?item=${JSON.stringify(item)}&delta=${1}`
				})
			},
			// 护理站评价
			ratenurse() {
				this.evaluatenurse = true;


			},
			// 未评价
			healthratenurse(item) {
				console.log(item, '58')
				if (item.orderSource == 'FAMILY_DOCTOR') {
					this.list.orderSource = 'FAMILY_DOCTOR'
				} else if (item.orderSource == 'SPRING_DOCTOR') {
					this.list.orderSource = 'SPRING_DOCTOR'
				}
				// 家医模块立即评价
				if (item.orderType == "FAMILY_DOCTOR") {
					this.evaluateshow = true;

				}
				// 健康咨询、护理服务满意度
				if (item.orderType == "HEALTH_CONSULTATION" || item.orderType == "APPOINTMENT_ORDER") {
					this.evaluatenurse = true;

				}
				// 商品积分兑换、直接购买
				if (item.orderType == "INTEGRAL_EXCHANGE" || item.orderType == "DIRECT_BUY") {
					uni.navigateTo({
						url: `/pagesB/evaluate/evaluate?item=${JSON.stringify(item)}&delta=${1}`
						// url: `/pagesB/goodsorderRate/goodsorderRate?item=${JSON.stringify(item)}&delta=${1}`
					})

				}
				this.orderType = item.orderType
				this.list.orderNo = item.orderNo


				// this.list.evaluateChanne = 'WE_CHAT_APPLET'

			},
			// 提交评价
			submit() {
				this.list.patientId = this.parentId
				this.list.openId = this.openId
				console.log(this.list, '45')

				if (this.orderType == "FAMILY_DOCTOR" || this.orderType == "INTEGRAL_EXCHANGE" || this.orderType ==
					"DIRECT_BUY") {
					insertGoodsEvaluate(this.list).then(res => {
						if (res.code == 200) {
							this.$refs.uToast.show({
								title: '评价成功',
								type: 'success',
								duration: '1500'
							})
							this.cancel();
							this.getlist();
						} else if (res.code == 500) {
							this.$refs.uToast.show({
								title: res.msg,
								type: 'error',
								duration: '1500'
							})
						}
					})
					// 满意度
				} else if (this.orderType == "HEALTH_CONSULTATION" || this.orderType == "APPOINTMENT_ORDER") {
					var obj = {
						"patientId": this.list.patientId,
						"openid": this.list.openId,
						"orderNo": this.list.orderNo,
						"evaluateChannel": "WE_CHAT_APPLET",
						"evaluateSatisfaction": this.evaluateSatisfaction,
						"compositeScore": this.rateval,
						"orderSource": this.list.orderSource,
					}
					addAppointmentEvaluate(obj).then(res => {
						if (res.code == 200) {

							this.$refs.uToast.show({
								title: '评价成功',
								type: 'success',
								duration: '1500'
							})
							this.cancel();
							// this.evaluatenurse =false;
							this.getlist();
						} else if (res.code == 500) {
							this.$refs.uToast.show({
								title: res.msg,
								type: 'error',
								duration: '1500'
							})
						}
					})

				}

			},
			// 取消
			cancel() {
				this.evaluateshow = false;
				this.evaluatenurse = false;

			},
			// 列表
			getlist() {
				getAppletOrderList(this.parentId, this.orderStatus, this.cardNo, this.region, this.pageNum, this
					.pageSize).then(res => {
					this.evaluatedata = res.rows
					console.log(this.evaluatedata, '000')
					this.total = res.total
					console.log(this.total, '10')
					// console.log(this.baseurl+this.evaluatedata[0].pictureUrl,'000')

				})

			},

			// 跳转我的评价
			expertOrder() {
				uni.navigateTo({
					url: '/pagesB/myevaluation/myevaluation'
				})


			},

		},

	}
</script>

<style lang="scss">
	.app {
		height: 100vh;
		background-color: #F7F5F5;
		padding: 30rpx 0 0 0;

		.noorder {
			margin-top: 20%;
		}

		.myorder {
			position: relative;
			background: #fff;
			height: 73rpx;
			width: 96%;
			left: 50%;
			transform: translateX(-50%);

			.orderStatus {
				text-align: center;
				margin: 60rpx auto 30rpx;
				width: 90%;
				display: flex;
				justify-content: space-around;
				padding-bottom: 30rpx;

				.item {
					width: 25%;

					.text {
						font-size: 26rpx;
						color: #333333;
						margin-top: 10rpx;
					}

					image {
						width: 70rpx;
						height: 60rpx;
					}
				}
			}

			.righttitle {
				font-size: 26rpx;
				color: #969494;
				position: absolute;
				position: absolute;
				top: 50%;
				transform: translateY(-50%);
				right: 30rpx;

				image {
					vertical-align: middle;
					padding-left: 20rpx;
					width: 13rpx;
					height: 23rpx;
					display: inline-block;
				}
			}

			.title {
				margin-left: 30rpx;
				font-size: 32rpx;
				color: #4B4B4B;
				position: absolute;
				top: 50%;
				transform: translateY(-50%);

				image {
					/* vertical-align: middle; */
					/* padding-left: 20rpx; */
					width: 32rpx;
					height: 32rpx;
					/* display: inline-block; */
					/* margin-top: 11rpx; */
					margin-right: 20rpx;
					position: relative;
					top: 7rpx;

				}
			}
		}

		.orderitem {
			width: 96%;
			height: 383rpx;
			background: #FFFFFF;
			box-shadow: 0rpx 9rpx 31rpx 9rpx rgba(0, 0, 0, 0.03);
			border-radius: 5rpx;
			margin: 20rpx auto;
			position: relative;
			margin-bottom: 20rpx;

			.tiemitem {
				width: 92%;
				font-size: 28rpx;
				font-family: Source Han Sans CN;
				font-weight: 400;
				color: #000000;
				position: absolute;
				// background: red;
				left: 35rpx;
				top: 30rpx;

				span:nth-child(2) {
					margin-left: 20rpx;
				}

				span:nth-child(3) {
					display: inline-block;
					position: absolute;
					right: 0;
					font-weight: 500;
					color: #26A888;
				}
			}

			.details {
				width: 96%;
				height: 200rpx;
				// background-color: #26A888;
				position: absolute;
				top: 97rpx;
				left: 50%;
				transform: translateX(-50%);

				image {
					width: 180rpx;
					height: 180rpx;
					border-radius: 5rpx;
					position: absolute;
				}

				.ppointment {
					// background: red;
					position: absolute;
					width: 71%;
					height: 100%;
					right: 0;
					overflow: auto;

					.doctorname {
						font-family: Source Han Sans CN;
						font-weight: 600;
						color: #333333;
						margin-top: 53rpx;
						height: 74rpx;

						overflow: auto;
						 span:nth-child(1) {
							font-size: 28rpx;
							overflow: hidden;
							text-overflow: ellipsis;
						}

						span:nth-child(2) {
							display: inline-block;
							position: absolute;
							font-size: 28rpx;
							right: 0;
							font-family: Source Han Sans CN;
							font-weight: 500;
							color: #333333;
						}
					}

					.reservation {
						font-size: 28rpx;
						font-family: Source Han Sans CN;
						font-weight: 400;
						color: #959595;
						position: absolute;
						top: 61%;


					}
				}
			}

			.bottom {
				position: absolute;
				width: 96%;
				height: 20%;
				bottom: 4%;
				font-size: 28rpx;
				font-family: Source Han Sans CN;

				span:nth-child(1) {
					line-height: 30px;
					width: 169rpx;
					height: 61rpx;
					background: #26A888;
					border-radius: 5rpx;
					display: inline-block;
					font-size: 28rpx;
					font-weight: 400;
					color: #FFFFFF;
					position: absolute;
					right: 0;
					top: 50%;
					transform: translateY(-50%);
					text-align: center;
				}
			}


		}

		.evaluateserver {
			width: 100%;
			font-size: 38rpx;
			color: #000000;
			line-height: 120rpx;
			font-weight: 400;
			text-align: center;

			::v-deep .u-close {
				top: 8% !important;
			}
		}

		.star {
			position: relative;
			left: 11%;
			height: 80rpx;
			margin-bottom: 40rpx;

			.evaluatstar {
				::v-deep .u-rate {
					position: absolute !important;
					left: 14% !important;
					top: 50%;
					transform: translateY(-50%);
				}

				::v-deep .u-input__textarea {
					background: #F6F6F6;
					height: 200rpx !important;
				}

				::v-deep .u-input {
					width: 66% !important;
					height: 171rpx;
					position: absolute;
					left: 16%;
				}

				font-family: Source Han Sans CN;

				span:nth-child(1) {
					position: absolute;
					display: inline;
					font-size: 36rpx;
					color: #000000;
					font-weight: 400;
					letter-spacing: 0.2em;
					top: 50%;
					transform: translateY(-50%);
				}

				span:nth-child(2) {
					position: absolute;
					display: inline-block;
				}
			}
		}

		.submits {
			font-family: Source Han Sans CN;
			font-size: 31rpx;
			position: relative;
			display: flex;
			justify-content: space-around;
			top: 23%;
			text-align: center;

			span:nth-child(1) {
				display: inline-block;
				width: 290rpx;
				height: 62rpx;
				line-height: 62rpx;
				background: #FFFFFF;
				border: 1px solid #26A888;
				border-radius: 5rpx;
				font-weight: 500;
				color: #26A888;

			}

			span:nth-child(2) {
				width: 290rpx;
				height: 62rpx;
				line-height: 62rpx;
				background: #26A888;
				border-radius: 5rpx;
				font-weight: 500;
				color: #FFFFFF;
				display: inline-block;
			}
		}

		.evaluate {
			width: 100%;
			font-size: 38rpx;
			color: #000000;
			line-height: 120rpx;
			text-align: center;

			::v-deep .u-close {
				top: 8% !important;
			}
		}

		.starnurse {
			position: relative;
			top: 15%;
			left: 11%;

			span {
				display: block;
				font-size: 36rpx;
				font-family: Source Han Sans CN;
				font-weight: 400;
				color: #333333;
				margin-top: 5%;
				letter-spacing: 0.2em;
			}
		}

		.submitsnurse {
			position: relative;
			width: 496rpx;
			height: 61rpx;
			line-height: 61rpx;
			background: #26A888;
			border-radius: 5rpx;
			text-align: center;
			font-size: 31rpx;
			font-family: Source Han Sans CN;
			font-weight: 500;
			color: #FFFFFF;
			top: 35%;
			left: 50%;
			transform: translateX(-50%);

		}

		.masks {
			image {
				position: absolute;
				top: 50rpx;
				left: 50%;
				transform: translateX(-50%);
				z-index: 999;
				width: 250rpx;
				border-radius: 25rpx;
				height: 250rpx;
			}

			.ratetitle {
				font-size: 34rpx;
				position: absolute;
				top: 320rpx;
				left: 50%;
				transform: translateX(-50%);
				z-index: 999;
			}

			.title {
				position: absolute;
				top: 40rpx;
				left: 50%;
				transform: translateX(-50%);
				font-size: 42rpx;
			}

			::v-deep .u-star-wrap {
				padding-right: 10rpx;
			}

			.mask {
				position: absolute;
				top: 200rpx;
				left: 70rpx;
			}

			.btn {
				width: 70%;
				height: 71rpx;
				background: #26A888;
				border-radius: 26rpx;
				position: absolute;
				top: 530rpx;
				left: 15%;
				text-align: center;
				line-height: 71rpx;
				color: #fff;
			}

			.rateitem {
				position: absolute;
				top: 350rpx;
				left: 80rpx;
				font-size: 42rpx;
			}
		}

	}
</style>