<template>
  <view class="container">
    <!-- 顶部导航 -->
    <view class="nav-bar">
      <view class="back" @tap="goBack">
        <uni-icons type="left" size="20"></uni-icons>
      </view>
      <text class="title">查看品牌</text>
    </view>

    <!-- 品牌标题 -->
    <view class="brand-title">
      <text>品牌羽绒服</text>
    </view>

    <!-- 品牌列表 -->
    <view class="brand-grid">
      <view 
        class="brand-item" 
        v-for="(item, index) in brandItems" 
        :key="index"
        :class="{ active: item.selected }"
        @tap="selectItem(index)"
      >
        <image :src="item.image" mode="aspectFit"></image>
        <text class="name">{{ item.name }}</text>
        <text class="price">¥ {{ item.price }} /{{item.unit}}</text>
      </view>
    </view>

    <!-- 底部按钮 -->
    <view class="bottom-bar">
      <button class="submit-btn" @tap="goToPickup">去预约上门取件</button>
    </view>
  </view>
</template>

<script>
import pullRefreshMixin from '@/pages/mixins/pullRefreshMixin.js'

export default {
  mixins: [pullRefreshMixin],
  data() {
    return {
      brandItems: [
        {
          name: 'MONCLER GENIUS Maya 70 By Palm A',
          image: '/static/brand/moncler.png',
          price: '3-10',
          selected: false
        },
        {
          name: '加拿大鹅 Wyndham系列羽绒服 冬季 男装',
          image: '/static/brand/canada-goose.png',
          price: '3-10',
          selected: false
        },
        {
          name: 'THE NORTH FACE 1992 Nupse 填充夹克',
          image: '/static/brand/tnf-1992.png',
          price: '3-10',
          selected: false
        },
        {
          name: 'THE NORTH FACE M\'S 1996 Novelty',
          image: '/static/brand/tnf-1996.png',
          price: '3-10',
          selected: false
        },
        {
          name: 'THE NORTH FACE 1996 系列 FW23',
          image: '/static/brand/tnf-fw23.png',
          price: '3-10',
          selected: false
        },
        {
          name: 'THE NORTH FACE 城市户外系列羽绒服',
          image: '/static/brand/tnf-urban.png',
          price: '3-10',
          selected: false
        },
        {
          name: 'THE NORTH FACE 城市户外系列羽绒服 红色',
          image: '/static/brand/tnf-red.png',
          price: '3-10',
          selected: false
        },
        {
          name: 'THE NORTH FACE 韩国男款 1996 Nov',
          image: '/static/brand/tnf-korea.png',
          price: '3-10',
          selected: false
        }
      ],
      selectedFromRecycle: []
    }
  },
  onLoad(options) {
    // 接收从recycle页面传来的已选中衣物数据
    if (options.selectedItems) {
      try {
        this.selectedFromRecycle = JSON.parse(decodeURIComponent(options.selectedItems))
        // 根据recycle页面选中的衣物，设置对应品牌衣物的选中状态
        this.syncSelectionWithRecycle()
      } catch (e) {
        console.error('解析选中衣物数据失败:', e)
      }
    }
  },
  methods: {
    async onRefresh() {
      // 模拟刷新数据
      await new Promise(resolve => setTimeout(resolve, 1000))
      uni.stopPullRefresh()
    },
    goBack() {
      uni.navigateBack()
    },
    // 同步recycle页面选中的衣物到品牌页面
    syncSelectionWithRecycle() {
      const brandSelected = this.selectedFromRecycle.find(item => item.showBrandCheck)
      if (brandSelected) {
        // 如果recycle页面选中了品牌衣物，这里默认选中第一个品牌衣物
        this.brandItems[0].selected = true
      }
    },
    selectItem(index) {
      this.brandItems[index].selected = !this.brandItems[index].selected
    },
    goToPickup() {
      // 获取所有选中的品牌衣物
      const selectedBrandItems = this.brandItems
        .filter(item => item.selected)
        .map(item => ({
          name: item.name,
          icon: item.image,
          quantity: 1,
          unitPrice: item.price.split('-')[0],
          desc: '品牌羽绒服，状态良好'
        }))

      // 将选中的衣物信息转换为字符串
      const itemsStr = encodeURIComponent(JSON.stringify([
        ...this.selectedFromRecycle,
        ...selectedBrandItems
      ]))
      
      // 跳转到预约页面
      uni.navigateTo({
        url: `/pages/component/pickup?fromRecycle=true&items=${itemsStr}`
      })
    }
  }
}
</script>

<style lang="scss" scoped>
.container {
  min-height: 100vh;
  background: #fff;
  padding-bottom: calc(120rpx + env(safe-area-inset-bottom));
}

.nav-bar {
  display: flex;
  align-items: center;
  height: 88rpx;
  padding: 0 30rpx;
  background: #fff;

  .back {
    padding: 20rpx;
    margin-left: -20rpx;
  }

  .title {
    flex: 1;
    text-align: center;
    font-size: 34rpx;
    font-weight: 500;
  }
}

.brand-title {
  padding: 30rpx;
  font-size: 40rpx;
  font-weight: bold;
  color: #333;
}

.brand-grid {
  padding: 0 20rpx;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20rpx;
}

.brand-item {
  background: #FFF9F2;
  border-radius: 16rpx;
  padding: 30rpx;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: all 0.3s;

  &.active {
    background: #FFE4CC;
  }

  image {
    width: 240rpx;
    height: 240rpx;
    margin-bottom: 20rpx;
  }

  .name {
    font-size: 28rpx;
    color: #333;
    text-align: center;
    margin-bottom: 10rpx;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .price {
    font-size: 26rpx;
    color: #FF9500;
  }
}

.bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 20rpx 30rpx calc(20rpx + env(safe-area-inset-bottom));
  background: #fff;
  box-shadow: 0 -2rpx 10rpx rgba(0, 0, 0, 0.05);

  .submit-btn {
    width: 100%;
    height: 80rpx;
    background: #FFB74D;
    color: #fff;
    font-size: 28rpx;
    border-radius: 40rpx;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;

    &::after {
      border: none;
    }

    &:active {
      opacity: 0.9;
    }
  }
}
</style> 