<template>
  <div>
    <u-navbar>
      <u-search placeholder="请输入店铺名称" @search="search" @clear="search" @custom="search" v-model="params.storeName">
      </u-search>
    </u-navbar>
    <div class="wrapper" v-if="storeList.length!=0">
      <div class="store-item" @click="handleClickStore(item)" v-for="(item,index) in storeList" :key="index">
        <div>
          <u-image shape="circle" width="100" height="100" :src="item.storeLogo">
          </u-image>
        </div>
        <div class="store-msg">
          <div class="store-name">
            {{item.storeName}}
          </div>
          <div class="goods-num">
            商品 {{item.goodsNum}}
          </div>
          <div class="flex store-distance">
            <div>
              <span class="store-score">{{item.serviceScore | unitPrice}}</span>
              <span class="line">|</span>
              <span class="store-collection">收藏 {{item.collectionNum}}</span>
            </div>
          </div>
        </div>
        <!-- 
          #TODO 后续将和后端补充从此处
          <div class="flex store-goods">
            <div class="store-goods-item" v-for="i in 3" :key="i">
              <div>
                <u-image src="https://picsum.photos/id/341/200/200" border-radius="20" width="215rpx" height="215rpx">
                </u-image>
              </div>
              <div class="price">
                <span>
                  ¥
                  <span class=" goods-price-bigshow">{{ formatPrice(16)[0] }}</span>
                  .{{ formatPrice(16)[1] }}
                </span>

              </div>
              <div class="wes">test</div>
            </div>
           </div> 
        -->
      </div>
    </div>
    <u-empty style="margin-top:20%;" text="暂无店铺信息" v-else></u-empty>
  </div>
</template>

<script>
import { getStoreList } from "@/api/store";
export default {
  data() {
    return {
      keyword: "",
      params: {
        pageNumber: 1,
        pageSize: 10,
        storeName: "",
      },
      storeList: [], // 店铺列表
    };
  },
  onReachBottom() {
    this.params.pageNumber++;
    this.init();
  },
  mounted() {
    this.init();
  },
  methods: {
    handleClickStore(val){
      uni.navigateTo({
         url: `/pages/product/shopPage?id=${val.id}`
      });
    },
    search() {
      this.storeList = [];
      this.init();
    },
   
    async init() {
      let res = await getStoreList(this.params);
      if (res.data.success) {
        let data = res.data.result;
        
        this.storeList.push(...data.records);
      }
    },
  },
};
</script>

<style lang="scss" scoped>
.wrapper {
  padding: 0 16rpx;
}
.store-item {
  display: flex;
  background: #fff;
  border-radius: 20rpx;
  margin: 20rpx 0;
  padding: 24rpx;
}
.store-msg {
  margin-left: 20rpx;
}
.store-name {
  font-weight: bold;
  font-size: 30rpx;
}
.goods-num,
.store-collection {
  color: #999;
  font-size: 24rpx;
  line-height: 1.5;
}
.store-goods {
  margin: 20rpx 0;
}
.store-goods-item {
  flex: 1;
  overflow: hidden;
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  margin: 0 5rpx;
}
.wes {
  margin: 10rpx 0;
  width: 100%;
}
.store-score {
  color: $light-color;
  font-size: 24rpx;
  font-weight: bold;
}
.line {
  margin: 0 6rpx;
  color: #999;
}
.store-distance {
  justify-content: space-between;
}
.price {
  margin-top: 10rpx;
  color: $main-color;
}
.goods-price-bigshow {
  font-size: 34rpx;
  font-weight: bold;
}
</style>