<template>
	<view class="maintenance-detail">
		<!-- 自定义导航栏开始 -->
		<!-- 	<uni-nav-bar
			:status-bar="true"
			:border="false"
			:background-color="'transparent'"
			:fixed="true"
			@clickLeft="handleClickLeft"
		>
			<block v-slot:left>
				<view class="back-wrap u-f u-f-fdr u-f-aic u-f-jcfs">
					<text class="white-back-icon"></text>
				</view>
			</block>
		</uni-nav-bar> -->
		<!-- 自定义导航栏结束 -->

		<view class="content">
			<!-- 	<view class="top-fixed" :style="{ height: paddingTop }">
				<image style="width: 100%;height: 100%;" :src="firstImage" :mode="'widthFix'"></image>
			</view> -->

			<view class="swiper-wrap">
				<swiper class="swiper" :current="current">
					<swiper-item v-for="(item, index) in goodsDetail.goodsImageList" :key="index">
						<view class="swiper-item">
							<image style="width: 100%;height: 100%;" :src="item" :mode="'widthFix'"></image>
						</view>
					</swiper-item>
				</swiper>
				<view class="shop-car" :style="{ top: paddingTop }" @click="enterShopCar">
					<image src="../.././static/common/shop_car.png" style="width: 100%;height: 100%;"></image>
				</view>
				<view class="swiper-num fw400 fs28" v-if="goodsDetail.goodsImageList">
					{{current}}/{{goodsDetail.goodsImageList.length ? goodsDetail.goodsImageList.length : 0}}
				</view>
			</view>

			<view class="content-detail">
				<view class="shop-desc">
					<view class="common-card mg-bot-20">
						<view class="u-f u-f-jcsb u-f-aic mg-bot-16">
							<view class="main-color">
								<text class="fs38">￥</text>
								<text class="fs44">{{goodsDetail.goodsPrice}}</text>
							</view>
							<view class="u-f u-f-fdc u-f-jcc">
								<text class="share-icon"></text>
								<text class="main-color fs22 fw400">分享</text>
							</view>
						</view>
						<view class="fw700 fs32 light-black two-line-ellipsis mg-bot-16">{{goodsDetail.goodsName}}
						</view>
						<view class="fw400 fs24 light-gray mg-bot-30">总销 {{goodsDetail.totalSales}}</view>
					</view>

					<view class="common-card mg-bot-20">
						<view class="u-f u-f-jcfs u-f-aic">
							<view class="fw400 light-gray fs28 mg-right-14 vertical-text">适用门店</view>
							<view class="right u-f u-f-jcfs">
								<view class="mg-right-12">
									<image style="width: 134rpx;height: 134rpx;" :mode="'widthFix'"
										:src="goodsDetail.storeLogo"></image>
								</view>
								<view>
									<view class="u-f u-f-jcsb u-f-aic mg-bot-10">
										<view class="fs28 fw400 light-black">{{goodsDetail.storeName}}</view>
										<view class="u-f u-f-jcfs u-f-aic">
											<text
												class="fs24 fw400 light-gray mg-right-18">{{goodsDetail.storeNum}}家门店</text>
											<text class="big-gray-right-arrow"></text>
										</view>
									</view>
									<view class="mg-bot-10">
										<text class="fs28 light-gray fw400">{{goodsDetail.distance}}km</text>
									</view>
									<view class="u-f u-f-jcsb u-f-aic">
										<text
											class="fs28 fw400 light-gray one-line-ellipsis">{{goodsDetail.detailedAddress}}</text>
										<text class="send-icon"></text>
									</view>
								</view>
							</view>
						</view>
					</view>

					<view class="user-evlution mg-top-20">
						<view class="ue-title u-f u-f-jcsb u-f-aic"
							@click="goDetail('/pages/evaluation-list/evaluation-list')">
							<common-title :msg="'用户评价'"></common-title>
							<view class="jump-location">
								<image src="../.././static/common/sg_right_arrow.png" style="width: 100%;height: 100%">
								</image>
							</view>
						</view>
						<view v-if="reviewsList.length > 0">
							<view class="ue-user u-f u-f-jcfs u-f-aic mg-top-16">
								<image class="avatar mg-right-10" style="border-radius: 50%;"
									:src="reviewsList[0].avatarUrl"></image>
								<view class="user-desc">
									<view class="fs26 fw400 light-black mg-bot-8">{{reviewsList[0].nickName}}</view>
									<view class="evaluate-wrap u-f u-f-jcfs">
										<view class="fs24 fw400 light-gray mg-right-10">{{reviewsList[0].createTime}}
										</view>
										<view class="evaluate u-f">
											<view class="star-icon" v-for="i in reviewsList[0].score" :key="i"></view>
											<view class="star-num fs24">{{reviewsList[0].score}}分</view>
										</view>
									</view>
								</view>
							</view>
							<view class="ue-content mg-top-24">
								<view class="light-black ellipsis mg-bot-10 fs24 fw400"
									v-if="reviewsList[0].commentContent">
									{{reviewsList[0].commentContent}}
								</view>
								<view class="image-list u-f u-f-jcfs"
									v-if="reviewsList[0].commentImageList && Object.prototype.toString.call(reviewsList[0].commentImageList) !== '[object Null]'">
									<view class="image-item mg-right-12"
										v-for="(innerItm,innerIdx) in reviewsList[0].commentImageList" :key="innerIdx">
										<image class="image-item" :mode="'widthFix'" :src="innerItm"></image>
									</view>
								</view>
							</view>
						</view>
						<view v-else class="fs24 light-gray mg-top-30">暂无评论</view>
					</view>

					<view class="common-card mg-bot-20">
						<view class="good-detail">
							<view class="big-title u-f u-f-aic u-f-jcc mg-bot-20">
								<view class="left mg-right-16"></view>
								<view class="fw700 fs32 main-color mg-right-16">商品详情</view>
								<view class="right"></view>
							</view>
							<view v-html="goodsDetail.serviceIntroduction" class="gantanhao"></view>
						</view>
					</view>

					<view class="common-card" style="padding-bottom: 120rpx;">
						<view class="good-detail">
							<image style="width: 20rpx;height:20rpx;" src="../.././static/common/exclamation_ point.png"
								:mode="'widthFix'"></image>
							<text class="light-gray fs24 fw400">“平台只为用户和商家提供服务，开发票请找服务商家”</text>
						</view>
					</view>

				</view>
			</view>

			<view class="fix-bot u-f u-f-jcsa u-f-aic">
				<view class="left u-f u-f-jcfs u-f-aic">
					<view class="u-f u-f-fdc u-f-jcc mg-right-48">
						<text class="collect mg-bot-10"></text>
						<text class="light-black fs24 fw400">收藏</text>
					</view>
					<view class="u-f u-f-fdc u-f-jcc">
						<text class="serve-person mg-bot-10"></text>
						<text class="light-black fs24 fw400">客服</text>
					</view>
				</view>
				<view class="right u-f u-f-jcfs u-f-aic">
					<view class="default-line-btn mg-right-10" @click="handleShowChoiseSize(1)">加购物车</view>
					<view class="main-btn" @click="handleShowChoiseSize(2)">立即购买</view>
				</view>
			</view>
		</view>

		<uni-popup :position="'bottom'" :show="showChoiseSize" @hidePopup="handleHideChoiseSize">
			<view class="share-modal">
				<view class="gray-close fw70" @click="handleHideChoiseSize">
					<image style="width: 100%;height: 100%;" src="../.././static/common/gray_close.png"></image>
				</view>
				<view>
					<view class="u-f  u-f-aic">
						<image style="width: 146rpx;height: 146rpx;" :mode="'aspectFit' "
							:src="goodsDetail.goodsImageList&&goodsDetail.goodsImageList[current]">
						</image>

						<view class="u-f u-f-fdc u-f-aifs">
							<view class="light-black fs28 ellipsis" style="text-align: left;">{{goodsDetail.goodsName}}
							</view>
							<view class="u-f u-f-jcfs u-f-aic">
								<view class="light-black mg-right-18 main-color">
									<text class="fs38">￥</text>
									<text
										class="fs44">{{(goodsDetail.specificationListList&&goodsDetail.specificationListList[active].specificationsUnitPrice) || goodsDetail.goodsPrice}}</text>
								</view>
							</view>
						</view>

					</view>

					<view class="mg-bot-40">
						<view class="fw700 light-black fs28 mg-bot-24" style="text-align: left;">规格</view>
						<view class="tab-list u-f u-f-jcfs">
							<view :class="['tab-item mg-right-20', active === index ? 'active' : '']"
								v-for="(item, index) in goodsDetail.specificationListList" :key="item.specificationsId"
								@click="handleTabChooseSize(index, item)">
								{{item.specificationsName}}
							</view>
						</view>
					</view>

					<view class="u-f u-f-jcsb u-f-aic mg-bot-56">
						<text>数量</text>
						<view>
							<uni-number :min="1" v-model="goodsNum"></uni-number>
						</view>
					</view>

					<view class="u-f u-f-aic u-f-jcc" style="width: 100%;">
						<view class="line-gradient-btn" style="flex: 1;padding: 22rpx 0;" @click="addToShopCar">
							{{isShowCart == 1?'加入购物车':'立即购买'}}
						</view>
					</view>

				</view>
			</view>
		</uni-popup>
	</view>
</template>

<script>
	import commonTitle from "../.././components/common-title/common-title.vue"
	import uniNumber from "../.././components/uni-number-box/uni-number-box.vue"
	import {
		getCusNavBarInfo
	} from "../.././common/customizeNavBarInfo.js"
	export default {
		components: {
			commonTitle,
			uniNumber
		},
		data() {
			return {
				active: 0,
				storeId: 0,
				goodsId: 0,
				paddingTop: 0,
				goodsDetail: {},
				current: 0,
				reviewPageNum: 1,
				reviewPageSize: 1,
				reviewsList: [],
				showChoiseSize: false,
				goodsNum: 1,
				goodsSpecificationId: 0,
				goodsSpecification: '',
				isShowCart: 1

			}
		},
		mounted() {
			let {
				customizeNavBarHeight
			} = getCusNavBarInfo()
			this.paddingTop = customizeNavBarHeight + 'px'
		},
		computed: {
			firstImage() {
				return this.goodsDetail.goodsImageList && this.goodsDetail.goodsImageList[this.current]
			}
		},
		onLoad(option) {
			this.storeId = option.storeId
			this.goodsId = option.goodsId
			this.getStoreGoodDetail()
			this.getReviewsList()
		},
		methods: {
			async getStoreGoodDetail() {
				let data = {
					"lon": this.User.curcity.lng,
					"lat": this.User.curcity.lat,
					"goodsId": this.goodsId,
					"storeId": this.storeId
				}

				let res = await this.$http.post('/api/client/store/storeGoodsDetails', data)
				let goodsDetail = res.data.data
				this.goodsDetail = goodsDetail
				console.log("this.goodsDetail.specificationListList", this.goodsDetail.specificationListList)
				this.goodsSpecificationId = this.goodsDetail.specificationListList.length > 0 ? this.goodsDetail
					.specificationListList[
						this.active].specificationsId : 0
				this.goodsSpecification = this.goodsDetail.specificationListList ? this.goodsDetail
					.specificationListList[
						this.active].specificationsName : ''

				console.log("this.goodsSpecificationId", this.goodsSpecificationId)
				console.log("this.goodsSpecification", this.goodsSpecification)

			},
			async getReviewsList() {
				let data = {
					"pageNum": this.reviewPageNum,
					"pageSize": this.reviewPageSize,
					"goodsId": this.goodsId,
					"storeId": this.storeId
				}

				let res = await this.$http.post('/api/client/store/reviewsList', data)
				let reviewsList = res.data.data.rows
				this.reviewsList = reviewsList
			},
			async addToShopCar() {

				if (this.isShowCart == 1) {
					let data = {
						"goodsSpecificationId": this.goodsSpecificationId,
						"goodsSpecification": this.goodsSpecification,
						"goodsId": this.goodsId,
						"storeId": this.storeId,
						"goodsNum": this.goodsNum
					}
					this.handleHideChoiseSize()
					let res = await this.$http.post('/api/client/shopping/add', data, {
						token: true,
						checkToken: true
					})
					let resData = res.data
					console.log("resData", resData)

					uni.showToast({
						title: resData.msg,
						duration: 500
					})

				} else {
					this.createBill()
				}

			},
			async createBill() {
				let data = {
					"storeId": this.storeId,
					"type": 1,
					// "userCarId": 0,
					"goodsId": this.goodsId,
					"specificationsId": this.goodsSpecificationId,
					"goodsNum": this.goodsNum,
					"lon": this.User.curcity.lng,
					"lat": this.User.curcity.lat
				}

				console.log("createBill", data)
				let res = await this.$http.post('/api/client/order/createOrder', data)
				console.log(res);
				if (res.data.code == 200) {
					let goodsInfo = res.data.data
					// app.data = goodsInfo
					this.User.navigate({
						url: "/pages/good-product-buy/good-product-buy?data=" + encodeURIComponent(JSON
							.stringify(goodsInfo))
					})
				} else {
					uni.showToast({
						icon: 'none',
						title: res.data.msg
					})
				}
			},
			enterShopCar() {
				uni.navigateTo({
					url: '/pages/shop-car/shop-car'
				})
			},
			handleClickLeft() {
				uni.navigateBack({
					delta: 1
				});
			},
			handleShowChoiseSize(type) {
				this.showChoiseSize = true;
				this.isShowCart = type
			},
			handleHideChoiseSize() {
				this.showChoiseSize = false;
			},
			reSetChooose() {
				this.goodsNum = 1
				this.active = 0
				this.goodsSpecificationId = this.goodsDetail.specificationListList ? this.goodsDetail
					.specificationListList[
						this.active].specificationsId : 0
				this.goodsSpecification = this.goodsDetail.specificationListList ? this.goodsDetail.specificationListList[
					this.active].specificationsName : ''
			},
			handleTabChooseSize(index, item) {
				this.active = index;
				this.specificationsId = item.specificationsId
				this.goodsSpecification = item.specificationsName
			},
			jumpToEvaluationList() {
				this.User.navigate({
					url: '/pages/evaluation-list/evaluation-list?storeId=' + this.storeId
				})
			}
		}
	}
</script>

<style>
	page {
		background-color: #F9F9F9;
	}
</style>

<style lang="scss" scoped>
	.maintenance-detail {
		.back-wrap {
			.white-back-icon {
				width: 30rpx;
				height: 30rpx;
				background: url(../.././static/common/white_left_arrrow.png) no-repeat center center;
				background-size: 50%;
			}
		}

		.content {
			position: relative;

			.top-fixed {
				position: fixed;
				top: 0;
				left: 0;
				width: 100%;
				z-index: 3;
				overflow: hidden;
			}

			.swiper-wrap {
				position: relative;

				.swiper {
					height: 750rpx;

					.swiper-item {
						display: block;
						width: 100%;
						height: 750rpx;
					}
				}

				.shop-car {
					padding-top: 10rpx;
					position: absolute;
					right: 28rpx;
					width: 62rpx;
					height: 62rpx;
					z-index: 1000;
				}

				.swiper-num {
					color: #ffffff;
					padding: 10rpx 24rpx;
					position: absolute;
					bottom: 58rpx;
					right: 24rpx;
					background-color: rgba(0, 0, 0, 0.25);
					border-radius: 28rpx 28rpx 28rpx 28rpx;
					z-index: 2;
				}
			}

			.avatar {
				width: 78rpx;
				height: 78rpx;
			}

			.content-detail {
				position: relative;
				margin-top: -50rpx;
				padding: 26rpx 24rpx 24rpx 34rpx;
				background-color: #F9F9F9;
				border-radius: 40rpx 40rpx 0 0;

				.common-card {
					padding: 20rpx;
					border-radius: 18rpx;
					background-color: #ffffff;

					.ue-user {
						.avatar {
							width: 78rpx;
							height: 78rpx;
						}

						.user-desc {
							.evaluate-wrap {
								.evaluate {
									.star-icon {
										width: 32rpx;
										height: 32rpx;
										// background: url(../.././static/star.png) no-repeat center center;
										background-size: 100%;
									}

									.star-num {
										color: #F2CB51;
									}
								}
							}
						}
					}

					.ue-content {
						.image-list {
							.image-item {
								width: calc(25% - 12rpx);

								image {
									width: 100%;
								}
							}
						}
					}

					.good-detail {
						.big-title {
							.left {
								width: 165rpx;
								height: 4rpx;
								background: url(../.././static/common/l_recom.png) no-repeat center center;
								background-size: 100%;
							}

							.right {
								width: 165rpx;
								height: 4rpx;
								background: url(../.././static/common/r_recom.png) no-repeat center center;
								background-size: 100%;
							}
						}
					}
				}
			}
		}

		.fix-bot {
			width: 100%;
			position: fixed;
			bottom: 0;
			left: 0;
			padding: 10rpx 24rpx;
			background-color: #ffffff;
		}
	}

	.big-gray-right-arrow {
		width: 26rpx;
		height: 26rpx;
		background: url(../.././static/common/big_gray_right_arrow.png) no-repeat center center;
		background-size: 100%;
	}

	.send-icon {
		width: 56rpx;
		height: 56rpx;
		background: url(../.././static/common/send.png) no-repeat center center;
		background-size: 100%;
	}

	.collect {
		width: 40rpx;
		height: 40rpx;
		background: url(../.././static/common/collect.png) no-repeat center center;
		background-size: 100%;
	}

	.default-line-btn {
		color: #333333;
		font-size: 22rpx;
		border-radius: 40rpx;
		padding: 30rpx 46rpx;
		text-align: center;
		background-color: transparent;
		border: 1rpx solid #707070;
	}

	.main-btn {
		color: #ffffff;
		font-size: 22rpx;
		background: linear-gradient(90deg, #FF4502 0%, #FF8903 100%);
		border-radius: 41rpx 41rpx 41rpx 41rpx;
		padding: 30rpx 100rpx;
	}

	.jump-location {
		width: 16rpx;
		height: 16rpx;
	}

	.serve-person {
		width: 40rpx;
		height: 40rpx;
		background: url(../.././static/common/say.png) no-repeat center center;
		background-size: 100%;
	}

	.share-icon {
		width: 30rpx;
		height: 30rpx;
		background: url(../.././static/common/share.png) no-repeat center center;
		background-size: 100%;
	}

	.share-modal {
		position: relative;
		padding: 44rpx;

		.gray-close {
			position: absolute;
			right: 28rpx;
			top: 28rpx;
			width: 42rpx;
			height: 42rpx;
			background: url(../.././static/common/gray_close.png) no-repeat center center;
			background-size: 100%;
		}

		.content-wrap {
			width: 100%;

			.inner {
				width: 420rpx;
				padding: 12rpx;
				border-radius: 10rpx;
				background-color: #ffffff;
				border: 10rpx solid #FF4502;
			}
		}
	}


	.tab-list {
		.tab-item {
			padding: 12rpx 30rpx;
			font-size: 22rpx;
			border-radius: 28rpx;
			background-color: transparent;
			border: 1rpx solid transparent;
			background-color: #F9F9F9;
			color: #333333;

			&.active {
				color: #FF4502;
				background-color: #FFEFE9;
				border-color: #FF4502;
			}
		}
	}

	.image-item {
		width: 156rpx;
		height: 156rpx;
	}
</style>