<template>

	<view
		style="display: flex;flex-direction: column;height: 100vh;background: -webkit-linear-gradient(left,#FEA65F,#FB9440);">

		<view class="top">
			<NavBar ref="nav" navTitle=" " :showIcon="false" :start-change-height="page.startHeight"
				:end-change-height="page.endHeight">
			</NavBar>
			
		<!-- 	<view style="background: #F7F7F7; opacity: 0.5;  border-radius: 20px;display: flex;flex-direction: row;align-items: center;
			padding-left: 10px; margin-left: 20px;width: 40vw; margin-top: 5vh;">
				<image src="../../static/search_icon.png" mode="aspectFill" style="width: 25px;height: 25px;">
				</image>
				<input placeholder="搜索"
					style="font-size: 25rpx;flex: 1;height: 35px;line-height: 35px;padding-left: 10px;padding-right: 10px;"
					:value="searchInfo.name" @input="onKeyInput" />
			</view> -->

			<view style="display: flex;flex-direction: row;align-items: center;justify-content: center;;
			padding-left: 10vw;padding-right: 10vw; margin-top: 40vw;">

				<view style="display: flex;flex-direction: column; flex: 1;justify-content: center;align-items: center;"
					@click.stop="brandClick('0')">

					<image src="https://supervise.yxtsoft.com/lpk/image/family_icon.png" mode="aspectFill"
						:class="brandType=='0'?'top_img1':'top_img2'"
						style="width: 60px;height:60px;border-radius: 50%;padding:5px;"></image>

					<text :class="brandType=='0'?'top_text1':'top_text2'">百姓菜窖</text>

				</view>

				<view style="display: flex;flex-direction: column;flex: 1;justify-content: center;align-items: center;"
					@click.stop="brandClick('1')">

					<image src="https://supervise.yxtsoft.com/lpk/image/love_icon.png" mode="aspectFill"
						:class="brandType=='1'?'top_img1':'top_img2'"
						style="width: 60px;height: 60px;border-radius: 50%;padding: 5px;"></image>

					<text :class="brandType=='1'?'top_text1':'top_text2'">精品菜窖</text>

				</view>

				<view style="display: flex;flex-direction: column;flex: 1;justify-content: center;align-items: center;"
					@click.stop="brandClick('2')">

					<image src="https://supervise.yxtsoft.com/lpk/image/enterprise_icon.png" mode="aspectFill"
						:class="brandType=='2'?'top_img1':'top_img2'"
						style="width: 60px;height: 60px;border-radius: 50%;padding: 5px;"></image>

					<text :class="brandType=='2'?'top_text1':'top_text2'">企业菜窖</text>

				</view>

			</view>

		</view>


		<view style="background: #fff;flex-flow: 1; height: calc(100vh - 65vw - 50px); 
			width: 100%; margin-top: -13vw;
			border-radius: 25px;display: flex;flex-direction: column; box-sizing: border-box;">

			<view style="display: flex;flex-direction: row;height: 25px; width: 100%; flex-shrink: 0;">

				<view style="width: 20%;background: #F7F7F7;border-top-left-radius: 25px;"></view>
				<view style="width: 80%;background: #fff; border-top-right-radius: 25px;"></view>
			</view>

			<view style="display: flex;flex-direction: row;min-height: calc(100% - 115px);  ">
				<scroll-view scroll-y="true" style="height: 100%; width: 21%;border-bottom-left-radius: 25px;"
					:scroll-top="scrollLeftTop" bindscrolltoupper="upper" bindscrolltolower="lower"
					:show-scrollbar="false" :enhanced="true" bindscroll="scroll">

					<view
						style="width: 100%;; display: flex;flex-direction: column; background: #F7F7F7;border-bottom-left-radius: 25px;">
						<view v-for="(item,index) in data" @click="labelClick(index,item)"
							style="display: flex;flex-direction: column;justify-content: center; margin-top: 15px; ">
							<text class="label" :class="{ label2: selectIndex==index }">{{item.name}}</text>
						</view>

					</view>
				</scroll-view>

				<view
					style="width: 80%;min-height: calc(100% - 115px); display: flex;flex-direction: column; margin-left: 10px; margin-right: 10px;">

					<view style=" border: 1px #bbb solid; border-radius: 8px;display: flex;flex-direction: row;align-items: center;
					padding-left: 10px; margin-left: 20px;margin-right: 20px;">
						<image src="../../static/search_icon.png" mode="aspectFill" style="width: 25px;height: 25px;">
						</image>
						<input placeholder="请输入"
							style="font-size: 25rpx;flex: 1;height: 35px;line-height: 35px;padding-left: 10px;padding-right: 10px;"
							:value="searchInfo.name" @input="onKeyInput" />
					</view>

					<scroll-view scroll-y="true" style="min-height: calc(100% - 150px);  width: 100%; margin-top: 10px;"
						bindscrolltoupper="upper" bindscrolltolower="lower" bindscroll="scroll" :show-scrollbar="false"
						:scroll-top="scrollRightTop" :enhanced="true">

						<view style="width: 100%; display: flex;flex-direction: column;">
							<view v-for="(item,index) in goods" @click="itemClick(item.goodsSid)"
								style="display: flex;flex-direction: column;justify-content: center;width: 100%; margin-top: 15px; ">

								<view style="display: flex;flex-direction: row;align-items: center;width: 100%;  ">

									<image :src="item.iconUrl" style="width: 90px;height: 90px; border-radius: 10px; "
										mode="aspectFill"></image>

									<view
										style="display: flex;flex-direction: column;flex: 1;  padding-bottom: 15px; margin-left: 10px;"
										:style="{'border-bottom':(index == goods.length-1 ? 'none' : '1px #EFEFEF solid')}">

										<text style="font-size: 13px;color: #000;">{{item.name}}</text>

										<text
											style="font-size: 10px;color: #999;margin-top: 5px;">{{item.remark}}</text>

										<view
											style="display: flex;flex-direction: row;align-items: center;margin-top: 8px;">
											<text style="border: 1px #EE752F solid; border-radius: 5px;	padding: 0px 8px;
											font-size: 10px;color: #EE752F;">{{item.jprice}}元/{{item.specificationUnit}}</text>
											<text
												style="border: 1px #EE752F solid; border-radius: 5px;	padding: 0px 8px;
											font-size: 10px;color: #EE752F; margin-left: 10px; margin-right: 10px; ">{{item.weight}}{{item.specificationUnit}}/{{item.unitName}}</text>
											<!-- <text
												style="background: #FF9900; color: #fff; font-size: 10px;padding: 0px 8px; border-radius: 5px;">￥{{item.mefenPrice}}</text> -->
										</view>

										<view style="display: flex;flex-direction: row;align-items: center;justify-content: space-between; margin-top: 15px;
										margin-right: 15px;">
											<text style="font-size: 14px;color: #FF5006;">￥{{item.mefenPrice}}</text>
											<!-- 
											<image src="../../static/inCart.png" mode="aspectFill"
												style="width: 25px;height: 25px;" @click.stop="itemShow(item)"
												v-if="!item.showCart"></image> -->

											<view style="display: flex;flex-direction: row;align-items: center;">

												<image src="../../static/jian_icon.png" mode="aspectFill"
													style="width: 20px;height: 20px;" @click.stop="jian(item)"></image>

												<text
													style="font-size: 14px;margin-left: 8px;margin-right: 8px;">{{item.goodsNumber}}</text>
												<image src="../../static/jia_icon.png" mode="aspectFill"
													style="width: 20px;height: 20px;" @click.stop="jia(item)"></image>

												<!-- 	<text
													style="margin-left: 10px;color: #fff; font-size: 12px; border: 1px #EE752F solid; border-radius: 5px;	padding: 0px 5px; background: #FF9900;"
													@click.stop="itemShow2(item)">确定</text> -->
											</view>

										</view>

									</view>

								</view>

							</view>

						</view>
					</scroll-view>

				</view>

			</view>

			<view style="display: flex;flex-direction: column;border-top: 1px solid #F8F8F8; border-bottom-left-radius: 25px;border-bottom-right-radius: 25px;
			padding-top: 5px; flex-shrink: 0;">

				<view style="display: flex;flex-direction: row;align-items: center; padding-left: 30px;">
					<view style="width: 35px;height: 35px;position: relative; visibility: hidden; ">

						<image style="width: 25px;height: 25px;margin-left: 5px; margin-top: 5px; "
							src="../../static/basket_icon.png" mode="aspectFill"></image>

						<view style="border-radius: 50%;text-align: center;background: #f00;color: #fff;font-size: 8px;
						position: absolute;
						  top: 2px;
						  right: 0px;
						  padding: 2px 5px;
						  width: auto;">{{page.count}}</view>

					</view>

					<view id="bomView"
						style="display: flex;flex-direction: row;align-items: center; margin-left: 15px;">
						<view style="color: #888;font-size: 10px;">温馨提示：已定制了</view>
						<view style="color: #FF5006;font-size: 15px;">{{page.weight}}斤</view>
						<!-- <view style="color: #FF5006;font-size: 15px;" v-if="brandType=='1'">{{page.weight2}}斤</view> -->
						<!-- <view style="color: #FF5006;font-size: 15px;" v-if="brandType=='2'">{{page.weight3}}斤</view> -->
						<view style="color: #888;font-size: 10px;">，满200斤可定制云菜窖</view>
					</view>
				</view>

				<view
					style="display: flex;flex-direction: row; justify-content: center;align-items: center;padding-bottom: 10px;margin-top: 5px;">

					<text style="background: #FF9900; color: #fff;font-size: 13px; padding: 8px 15px;
					border: 1px #FF5006 solid; border-top-left-radius: 25px; border-bottom-left-radius: 25px;">分享新人有礼</text>

					<view style="border: 1px #FF5006 solid;margin-left: 5px;margin-right: 5px;padding: 5px 10px;
					display: flex;flex-direction: row;align-items: center;" @click="gotoCart()">
						<image src="../../static/shoppCart_icon.png" mode="aspectFill"
							style="height: 20px;width: 25px;"></image>
						<text style="font-size: 15px;color: #FF5006;margin-left: 10px; ">￥{{page.price}}</text>
						<text style="font-size: 10px;color: #666;margin-left: 10px; ">共减：￥{{page.reduce}}</text>
					</view>
					<!-- <view style="border: 1px #FF5006 solid;margin-left: 5px;margin-right: 5px;padding: 5px 10px;
					display: flex;flex-direction: row;align-items: center;" v-if="brandType=='1'">
						<image src="../../static/shoppCart_icon.png" mode="aspectFill"
							style="height: 20px;width: 25px;"></image>
						<text style="font-size: 15px;color: #FF5006;margin-left: 10px; ">￥{{page.price2}}</text>
						<text style="font-size: 10px;color: #666;margin-left: 10px; ">共减：￥{{page.reduce2}}</text>
					</view>
					<view style="border: 1px #FF5006 solid;margin-left: 5px;margin-right: 5px;padding: 5px 10px;
					display: flex;flex-direction: row;align-items: center;" v-if="brandType=='2'">
						<image src="../../static/shoppCart_icon.png" mode="aspectFill"
							style="height: 20px;width: 25px;"></image>
						<text style="font-size: 15px;color: #FF5006;margin-left: 10px; ">￥{{page.price3}}</text>
						<text style="font-size: 10px;color: #666;margin-left: 10px; ">共减：￥{{page.reduce3}}</text>
					</view> -->
					<text style="background: #FF9900; color: #fff;font-size: 13px; padding: 8px 15px;
					border: 1px #FF5006 solid; border-top-right-radius: 25px; border-bottom-right-radius: 25px;"
						@click="settlement()">结算</text>

				</view>

			</view>


		</view>


		<uni-popup ref="inputDialog" type="dialog">
			<uni-popup-dialog ref="inputClose" mode="base" title="订购协议" :showConfirm="true"
				:beforeClose="dialogBeforeClose" @confirm="dialogInputConfirm" :content="dialogContent"
				:confirm-text="confirmText"></uni-popup-dialog>
		</uni-popup>


	</view>

</template>

<script>
	export default {
		data() {
			return {
				dialogContent: "这里是协议内容，这里是协议内容,这里是协议内容，这里是协议内容,这里是协议内容，这里是协议内容,这里是协议内容，这里是协议内容这里是协议内容，这里是协议内容",
				confirmText: "我知道了（5s）",
				dialogBeforeClose: false,
				countdown: 5,
				scrollHeight: "",
				scrollLeftTop: "0",
				scrollRightTop: "0",
				searchInfo: {
					sid: "0",
					name: "",
					affiliation: "",
					customerSid: ""
				},
				brandType: "0",
				styleObject: {
					// 'position': 'fixed',
					// 'top':'80vw',
					'margin-top': '62vw',
					'border-top-left-radius': '25px',
					'border-top-right-radius': '25px',
					'border-bottom-left-radius': '25px',
					'border-bottom-right-radius': '25px',
					'background': '#fff',
					'padding-top': '10px',
					'margin-bottom': "60px"

				},
				page: {
					price: '0',
					reduce: "0",
					weight: "0",
					// price2: '0',
					// reduce2: "0",
					// weight2: "0",
					// price3: '0',
					// reduce3: "0",
					// weight3: "0",
					count: "0",
					startHeight: 0,
					endHeight: 0
				},
				data: [],
				goods: [],
				selectIndex: 0,
				initPrice: '0',
				initReduce: "0",
				initWeight: "0",

			}
		},
		onShow() {
			if (typeof this.$mp.page.getTabBar === 'function' && this.$mp.page.getTabBar()) {
				this.$mp.page.getTabBar().setData({
					selected: 0
				})

			}
			this.getAllPriceOrWeight()
			this.getgoods()
		},

		onLoad() {

			let info = uni.getSystemInfoSync();

			this.page.startHeight = info.windowWidth * 0.6
			this.page.endHeight = info.windowWidth * 0.8

			this.request()

			// this.getallPrice()
			// this.getweight()
			// this.getcount()

		},
		methods: {
			// searchBtn() {
			// 	 this.setData({
			// 	      scrollLeftTop: 0,
			// 		  scrollRightTop:0
			// 	    })
			// 	// this.scrollLeftTop =1 //可以在每次搜索的时候先初始一下
			// 	// this.scrollRightTop = 1 //然后每次加0.01  别问为啥要加0.01 反正直接给0就是没效果 无解  也可能是本人代码有误  但是亲测有效
			// },
			labelClick(index, item) {
				this.selectIndex = index

				this.searchInfo.sid = item.sid
				this.getgoods()

			},
			onKeyInput(event) {
				this.searchInfo.name = event.target.value
				this.getgoods()
			},

			brandClick(val) {

				this.brandType = val
				this.request()

			},
			request() {
				let _this = this
				_this.$api.getAllGoodsType(_this.brandType).then((resp) => {
					_this.data = resp
					_this.searchInfo.sid = _this.data[0].sid
					_this.selectIndex = 0
					_this.getgoods()
					_this.getAllPriceOrWeight()
					_this.scrollLeftTop = _this.scrollLeftTop == 0 ? -1 : 0
					_this.scrollRightTop = _this.scrollRightTop == 0 ? -1 : 0
				}).catch(e => {})
			},
			getAllPriceOrWeight() {
				let _this = this

				var params = {
					customerSid: getApp().globalData.sid,
					affiliation: this.brandType,
				}

				_this.$api.getGoodsWeight(params).then((resp) => {
					console.log("getGoodsWeight", resp);

					_this.page.price = resp.totalPrice
					_this.page.weight = resp.totalWeight

					_this.initPrice = resp.totalPrice
					_this.initWeight = resp.totalWeight

				}).catch(e => {})
			},
			getgoods() {
				let _this = this

				_this.searchInfo.customerSid = getApp().globalData.sid
				_this.searchInfo.affiliation = this.brandType

				_this.$api.getGoodsByType(_this.searchInfo).then((resp) => {
					_this.goods = resp
				}).catch(e => {})
			},
			itemShow(item) {
				item.showCart = true
				console.log("item", item.showCart);
			},
			itemShow2(item) {


				if (item.goodsNumber == 0) {
					this.shortToast('请添加商品。')
					return
				}

				var good = {
					goodsSid: item.goodsSid,
					goodsName: item.name,
					goodsNumber: item.goodsNumber,
					affiliation: this.brandType,
					price: item.mefenPrice,
					weight: item.weight,
					customerSid: getApp().globalData.sid
				}
				console.log("itemShow2", good);

				let _this = this
				_this.$api.addShoppingCart(good).then((resp) => {
					item.showCart = false
					console.log("item2", item.showCart);
				}).catch(e => {})
			},
			jian(item) {
				const that = this
				console.log("item》》》》", item)
				if (Number(item.goodsNumber) == 1) {

					wx.showModal({
						content: '确定不要了吗',
						cancelText: "再想想",
						confirmText: "删除",
						confirmColor: "#FF9900",
						success(res) {
							if (res.confirm) {
								console.log('用户点击确定')
								item.goodsNumber = 0
								item.subtotal = 0
								that.getallPrice()
								that.getweight()
								that.upDateShoppCart(item)
							} else if (res.cancel) {

							}
						}
					})

				} else {
					if (Number(item.goodsNumber) > 0) {
						item.goodsNumber = Number(item.goodsNumber) - 1
					}

					item.subtotal = Number(item.goodsNumber) * Number(item.mefenPrice)
					that.getallPrice()
					that.getweight()
					that.upDateShoppCart(item)
				}
			},
			jia(item) {

				item.goodsNumber = Number(item.goodsNumber) + 1
				item.subtotal = Number(item.goodsNumber) * Number(item.mefenPrice)

				this.getallPrice()
				this.getweight()
				this.upDateShoppCart(item)
			},

			getallPrice() {

				let num = 0;
				for (var i = 0; i < this.goods.length; i++) {
					num += Number(this.goods[i].subtotal);
				}

				this.page.price = num
				// if (this.brandType == '0')
				// 	this.page.price1 = num

				// if (this.brandType == '1')
				// 	this.page.price2 = num

				// if (this.brandType == '2')
				// 	this.page.price3 = num
			},

			getweight() {

				let num = 0;
				for (var i = 0; i < this.goods.length; i++) {
					num += Number(this.goods[i].weight) * Number(this.goods[i].goodsNumber);

				}

				this.page.weight = num

				// if (this.brandType == '0')
				// 	this.page.weight1 = num

				// if (this.brandType == '1')
				// 	this.page.weight2 = num

				// if (this.brandType == '2')
				// 	this.page.weight3 = num
			},

			// getcount() {

			// 	let num = 0;
			// 	for (var i = 0; i < this.goods.length; i++) {
			// 		num += Number(this.goods[i].goodsNumber);
			// 	}

			// 	this.page.goodsNumber = num
			// },

			upDateShoppCart(item) {
				var good = {
					goodsSid: item.goodsSid,
					goodsName: item.name,
					goodsNumber: item.goodsNumber,
					affiliation: this.brandType,
					price: item.mefenPrice,
					weight: item.weight,
					customerSid: getApp().globalData.sid
				}

				let _this = this
				_this.$api.addShoppingCart(good).then((resp) => {

				}).catch(e => {})
			},


			detail(item) {
				// 详情
				uni.navigateTo({
					url: '/pages/cloud/detail_cloudCard?sid=' + item.sid + "&name=" + item.name
				})
			},
			settlement() {
				// 支付

				if (this.page.weight < 20) {
					this.shortToast('满200斤才可定制云菜窖哦，请继续选菜吧。')
					return
				}


				let list = []

				for (var i = 0; i < this.goods.length; i++) {
					var item = this.goods[i]
					if (item.goodsNumber > 0)
						list.push({
							goodsSid: item.goodsSid,
							goodsName: item.name,
							partNumber: item.goodsNumber,
							numofPart: item.weight,
							priceUnit: item.jprice, // 斤单价
							pricePart: item.mefenPrice, //  份单价
						})
				}
				// console.log("ddd", list);

				if (list.length == 0) {
					this.shortToast('请添加商品')
					return
				}

				this.showPop()

				// console.log("params", params);

				// let _this = this
				// _this.$api.createOrder(params).then((resp) => {

				// 	// console.log("resp", resp);
				// 	this.$pay(resp)
				// }).catch(e => {})

			},
			showPop() {

				this.$refs.inputDialog.open()

				let timeOut = setInterval(() => {

					if (this.countdown == 1) {
						this.confirmText = "确定"
						this.countdown = 5
						this.dialogBeforeClose = false
						clearInterval(timeOut)

					} else {
						this.dialogBeforeClose = true
						this.countdown = this.countdown - 1;
						this.confirmText = "我知道了" + "（" + this.countdown + "s）"
					}
				}, 1000)
			},

			dialogInputConfirm(val) {
				if (this.confirmText == "确定") {
					this.confirmText = "我知道了（5s）",
						this.dialogBeforeClose = true,
						this.countdown = 5
					this.saveGoods()
				}

			},

			saveGoods() {

				let list = []

				for (var i = 0; i < this.goods.length; i++) {
					var item = this.goods[i]
					if (item.goodsNumber > 0)
						list.push({
							goodsSid: item.goodsSid,
							goodsNumber: item.goodsNumber,
						})
				}
				// console.log("ddd", list);

				if (list.length == 0) {
					this.shortToast('请添加商品')
					return
				}

				var params = {
					customerSid: getApp().globalData.sid,
					affiliation: this.brandType,
					vos: list
				}
				// console.log("params", params);

				let _this = this
				_this.$api.saveGoods(params).then((resp) => {

					_this.request()
				}).catch(e => {})

			},
			itemClick(goodsSid) {
				uni.navigateTo({
					url: '/pages/good/goodsDetail?sid=' + goodsSid
				})
			},
			gotoCart() {
				uni.navigateTo({
					url: '/pages/good/shoppCart?affiliation=' + this.brandType
				})
			}
		}
	}
</script>

<style>
	.top {
		width: 100vw;
		/* height: 126.66vw; */
		height: 75vw;
		/* 加载背景图 */
		background-image: url(https://supervise.yxtsoft.com/lpk/image/clound_bj1.png);
		/* background-image: url(../../static/clound_bj1.png); */
		/* 让背景图基于容器大小伸缩 */
		background-size: 100% 100%;
	}

	.label {
		background: #fff;
		color: #FF9900;
		font-size: 13px;
		padding-top: 15px;
		padding-bottom: 15px;
		text-align: center;
	}

	.label2 {

		background: #FF9900;
		color: #fff;
		font-size: 13px;
		padding-top: 15px;
		padding-bottom: 15px;
		text-align: center;
	}

	.top_img1 {
		border: 1px #FF9900 solid;
	}

	.top_img2 {
		border: none
	}

	.top_text1 {
		border: 1px #FF9900 solid;
		background: #FF5006;
		color: #fff;
		font-weight: 800;
		font-family: sans-serif;
		padding: 2px 5px;
		border-radius: 5px;
		margin-top: -25px;
	}

	.top_text2 {
		border: 1px #FF9900 solid;
		background: #fff;
		color: #F6894B;
		font-weight: 800;
		font-family: sans-serif;
		padding: 2px 5px;
		border-radius: 5px;
		margin-top: -25px;
	}
</style>