<template>
	<view class="addGoodsStyle" :style="{'height':contentHeight}">
		<view style="width: 100%;height: 100%;">
			<view style="padding: 5px 10px;background: #FFFFFF;">
				<u-search
				  action-text="搜索"
				  :focus="true"
				  :clearabled="true"
				  :show-action="true"
				  radius="40"
				  v-model="searchKey"
				  @search="searchHandler"
				  @custom="searchHandler"
				  
				></u-search>
			</view>
			
			<u-empty v-if="g.length==0" text="暂无数据" mode="data"></u-empty>
			<template v-if="g.length > 0">
				<view  
				  style="
						height: calc(100vh - 50px);
						width: calc(100vw);
						overflow: hidden;
						padding: 10px 0;
				  ">
					<scroll-view
						:scroll-y="true"
						:enable-back-to-top="true"
						:enable-flex="true"
						@scrolltolower="lower"
						:style="{ height: '100%' }">
						<view style="display: flex;flex-direction: column;align-items: center;">
							<view v-for="(item, index) in g" :key="index" class="listbox">
								<view class="box_c" >
									<image :src="item.CoverImage" style="width: 65px;height: 65px;border-radius: 6px;"></image>	
									<view style="width: calc(100vw - 30px - 65px - 15px);display: flex;flex-direction: column;margin-left: 15px;">
										<view class="box_c_name">{{item.Name}}</view>
										<view style="width:100%;height: 20px;display: flex;align-items: center;justify-content: flex-end;margin-top: 10px;">
											<view class="allEdit" @click="addGoods(item)">
												添加
											</view>
										</view>
									</view>
								</view>
								<view class="SupplierListstyle">
									<view class="Sitem" v-for="(x, index2) in item.SpecificationList" :key="index2" v-if='item.showdetail == true || index2==0' @click=" isdetail(index,index2) ">
										<view class="Sitem_gg" >
											<text v-for="(j, index3) in x.AttrList" :key="index3">{{j.attr_group_name}}:{{j.attr_name}}{{x.attr_list.length==index3+1?'':','}}</text>
										</view>
										<u-icon name="arrow" v-if='item.showdetail==false && index2==0 &&  item.SpecificationList.length>1' ></u-icon>
										<u-icon name="arrow-down" v-if='item.showdetail==true && index2==0&&  item.SpecificationList.length>1'></u-icon>
									</view>
								</view>
							</view>
						</view>
							<u-loadmore
							  :status="status"
							  :load-text="loadText"
							  :font-size="24"
							  :margin-top="20"
							  :margin-bottom="20"
							  bg-color="#f3f4f6"
							/>
					</scroll-view>
					
				</view>
			</template>
		</view>
		
		
	</view>
</template>

<script>
	export default {
		data() {
			return {
				pageTitle: "添加商品",
				contentHeight:0,
				mainColor:'',
				secondary:'',
				g:[],
			
				msg:{
					pageIndex: 1,
					pageSize:10,
					Id:0,
					GoodsName:'',
				},
				page_count:1,
				status: "loadmore",
				loadText: {
				  loadmore: "轻轻上拉，加载更多",
				  loading: "努力加载中",
				  nomore: "没有更多了",
				},
			}
		},
	
		created(){
			
			 this.contentHeight = this.$utils.calcContentHeight(-40)+'px';
			 this.mainColor = this.$uiConfig.mainColor;
			 this.secondary = this.$uiConfig.secondary;
			 this.init()
		},
		mounted() {
			let currentPages = getCurrentPages();
			 let u = "/" + currentPages[currentPages.length-1].route;
			 let pages = wx.getStorageSync("basedata")
			   ? wx.getStorageSync("basedata").bar_title
			   : [];
			 pages.forEach((x) => {
			   if (x.value == u) {
			     this.pageTitle = x.new_name ? x.new_name : x.name;
			   }
			 });
			 uni.setNavigationBarTitle({
			   title: this.pageTitle,
			 });
		},
		methods: {
			init(){
				
				uni.showLoading({
					title: '加载中'
				});
				this.request2(
				  {
				  	url: '/api/AppletSmallShops/GetSmallShopsChooseGoodsPageList',
				  	data: this.msg
				  },
							
				  (res) => {
					uni.hideLoading();
					let list = res.data.pageData;
					list.forEach((x)=>{
						x.showdetail = false
					})
					this.g = this.g.concat(list);
					this.page_count = res.data.pageCount;
					if (this.page_count == 1) {
					  this.status = "nomore";
					}
				  }
			);
			},
		
			isdetail(index){
				this.g[index].showdetail = !this.g[index].showdetail
			},	
			lower(e) {
			  if (this.msg.pageIndex < this.page_count) {
				this.msg.pageIndex++;
				this.status = "loading";
				this.init();
			  } else {
				this.status = "nomore";
			  }
			},
			searchHandler(val){
				this.msg.GoodsName = val;
				this.g= [];
				this.msg.pageIndex = 1;
				this.init()
			},
			addGoods(data){
				data.SpecificationList.forEach(x=>{
					x.UpPrice = 0;
					x.PriceType = 0;
				})
				let obj = encodeURIComponent(JSON.stringify(data))
				uni.navigateTo({
						url:'/pages/microShop/storeManagement/goodsEdit?data='+obj+'&type=2'
				});
			}
		}
	}
</script>

<style>
.addGoodsStyle{
	background: #f3f4f6;
	
}

	.addGoodsStyle .listbox{
		width: 100%;
		background: #fff;
		padding: 0 15px;
		margin-bottom: 15px;
		display: flex;
		flex-direction: column;
		align-items: center;
		
	}
	.addGoodsStyle .listbox .box_top{
		width: 100%;
		height: 45px;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		border-bottom: 1px solid #f5f5f5;
	}
	.addGoodsStyle .listbox .box_center{
		width: 100%;
		height: 45px;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		font-size: 13px;
	}
	.addGoodsStyle .center_l{
		display: flex;flex-direction: row;align-items: center;
	}
	.addGoodsStyle .listbox .box_ltext{
		width: 90px;
		margin-left: 5px;
	}
	.addGoodsStyle .listbox .l_name{
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 1;
		-webkit-box-orient: vertical;
	}
	.addGoodsStyle .listbox .box_bottom{
		width: 100%;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: 15px 0 0;
		border-top: 1px solid #f5f5f5;
		font-size: 13px;
	}
	.box_bottom .b_r{
		width: calc(100vw - 30px - 50px - 20px);
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		
	}
	.addGoodsStyle .search{
		width: 100%;
		height: 50px;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: 0 15px;
		background: #FFFFFF;
	}
	.addGoodsStyle .listbox{
		width: 100%;
		margin-bottom: 10px;
		padding: 15px;
		background: #fff;
		display: flex;
		flex-direction: column;
		align-items: center
		
	}
	.addGoodsStyle .box_c{
		display: flex;
		flex-direction: row;
		width: 100%;
		overflow: hidden;
		margin-top: 15px;
	}
	.addGoodsStyle .box_c_name{
		text-overflow: -o-ellipsis-lastline;
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		-webkit-box-orient: vertical;
		font-size: 13px;
		color: #111111;
	}
	.addGoodsStyle .SupplierListstyle{
		width: 100%;
		background: #F8F6F5;
		display: flex;
		flex-direction: column;
		align-items: center;
		margin-top: 10px;
	}
	.addGoodsStyle .Sitem{
		width: 96%;
		display: flex;
		flex-direction: row;
		align-items: center;
		font-size: 13px;
		color: #888888;
		height: 35px;
		margin-left: 2%;
		
	}
	.addGoodsStyle .Sitem_gg{
		width: 90%;
		text-overflow: -o-ellipsis-lastline;
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 1;
		line-clamp: 1;
		-webkit-box-orient: vertical;
	}
	
	.addGoodsStyle .allEdit{
		width: 60px;
		height: 20px;
		border-radius: 10px;
		background: #FF4048;
		display: flex;
		align-items: center;
		justify-content: center;
		color: #FFFFFF;
		font-size: 12px;
	}
	
</style>
