<template>
  <view class="inspection-page">
    <!-- 顶部渐变导航栏 -->
    <view class="nav-bar" :style="{height: navBarTotalHeight + 'px', paddingTop: statusBarHeight + 'px'}">
      <view class="nav-bar-inner">
        <view class="back-icon" @tap="navigateBack">
          <uni-icons type="left" size="22" color="#fff" />
        </view>
        <view class="nav-bar-title">质检报告</view>
        <view class="nav-bar-right">
          <uni-icons type="more-filled" size="22" color="#fff" />
        </view>
      </view>
    </view>
    <!-- 打钩标签区及说明 -->
    <view class="feature-area" :style="{marginTop: navBarTotalHeight+statusBarHeight + 'px'}">
      <view class="feature-desc">该报告由「瀚海回收」质检查验出具</view>
      <view class="feature-tags">
        <view class="tag" v-for="(t, i) in featureTags" :key="i">
          <text class="check">✓</text>
          <text class="text">{{t}}</text>
        </view>
      </view>
    </view>
    <!-- 主内容区（卡片悬浮覆盖打钩区） -->
    <view class="main-content">
      <view class="inspection-card">
        <view class="report-title">质检合格</view>
        <view class="goods-list">
          <view class="goods-item" v-for="(item, i) in goodsList" :key="i">
            <image class="goods-img" :src="item.img" mode="aspectFit" />
            <view class="goods-info">
              <view class="goods-row">
                <view class="goods-name">{{item.name}}</view>
                <view v-if="item.detail" class="detail-link">查看详情 <uni-icons type="right" size="16" color="#bbb" /></view>
              </view>
              <view class="goods-desc">{{item.desc}}</view>
              <view class="goods-bottom-row">
                <view class="goods-price-row">
                  <text class="goods-price">￥{{item.price}}</text>
                  <text class="goods-unit">/件</text>
                  <text class="goods-count">x{{item.count}}</text>
                </view>
                <view class="goods-total">￥{{item.total}}</view>
              </view>
            </view>
          </view>
        </view>
        <view class="summary-row">
          <text>件数：<text class="highlight">{{totalCount}}</text> 件</text>
          <text>结算金额：<text class="highlight">￥{{totalAmount}}</text></text>
        </view>
      </view>
    </view>
  </view>
</template>

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

export default {
  mixins: [pullRefreshMixin],
  data() {
    return {
      statusBarHeight: 0,
      navBarHeight: 14,
      navBarTotalHeight: 14,
      featureTags: ['透明检', '专业验', '公正评', '逐件验'],
      goodsList: [
        {
          img: '/static/goods1.png',
          name: '羽绒服',
          desc: '允许脏破烂，160码以上',
          price: 8,
          count: 8,
          total: 64
        },
        {
          img: '/static/goods2.png',
          name: '品牌羽绒服',
          desc: '允许脏破烂，160码以上',
          price: 10,
          count: 1,
          total: 8,
          detail: true
        }
      ]
    }
  },
  computed: {
    totalCount() {
      return this.goodsList.reduce((sum, item) => sum + item.count, 0)
    },
    totalAmount() {
      return this.goodsList.reduce((sum, item) => sum + item.total, 0).toFixed(1)
    }
  },
  onLoad() {
    const sysInfo = uni.getSystemInfoSync()
    this.statusBarHeight = sysInfo.statusBarHeight
    this.navBarHeight = 14
    this.navBarTotalHeight = this.statusBarHeight + this.navBarHeight
  },
  methods: {
    async onRefresh() {
      // 模拟刷新数据
      await new Promise(resolve => setTimeout(resolve, 1000))
      this.stopPullRefresh()
    },
    navigateBack() {
      uni.navigateBack()
    }
  }
}
</script>

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

.nav-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  width: 100vw;
  background: #422525;
  box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.03);
  .nav-bar-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
    width: 100vw;
    position: relative;
  }
  .back-icon, .nav-bar-right {
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 0;
  }
  .back-icon { left: 0; }
  .nav-bar-right { right: 0; }
  .nav-bar-title {
    flex: 1;
    text-align: center;
    font-size: 36rpx;
    font-weight: bold;
    color: #fff;
    letter-spacing: 2rpx;
    line-height: 44px;
    font-family: DingTalk JinBuTi;
    font-weight: 400;
    font-style: italic;
    font-size: 28px;
    line-height: 100%;
    letter-spacing: 0%;
    text-align: center;
    // vertical-align: bottom;
  }
}

.feature-area {
  margin: 0 32rpx;
  margin-top: 0;
  margin-bottom: 0;
  background:#422525;
  border-radius: 32rpx;
//   box-shadow: 0 4rpx 24rpx rgba(60, 167, 250, 0.08);
  padding: 18rpx 24rpx 18rpx 24rpx;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.feature-desc {
  text-align: center;
  font-size: 22rpx;
  color: #fff;
  font-weight: 500;
  margin-bottom: 10rpx;
  margin-top: 18rpx;
  letter-spacing: 1rpx;
}

.feature-tags {
  margin: 0 32rpx;
  background: #533030;
  border-radius: 12rpx;
  box-shadow: 0 4rpx 24rpx rgba(60, 167, 250, 0.08);
//   padding: 0 24rpx;
  width: 100%;
  height: 80rpx;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;

  .tag {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    .check {
      width: 36rpx;
      height: 36rpx;
      background: #fff;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 28rpx;
      color: #422525;
      font-weight: bold;
      margin-right: 10rpx;
      box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.08);
    }
    .text {
      color: #fff;
      font-size: 28rpx;
      font-weight: bold;
    }
  }
}

.main-content {
  margin-top: 20rpx;
  padding-top: 88rpx;
  background: linear-gradient(180deg, #fef7e6 0%, #fff 50%);
  min-height: 100vh;
  width: 100vw;
  box-sizing: border-box;
  position: relative;
  z-index: 11;
  border-radius: 40rpx 40rpx 0 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.inspection-card {
  background: #fff;
  border-radius: 32rpx;
  box-shadow: 0 8rpx 32rpx rgba(60, 167, 250, 0.08);
  padding: 40rpx 32rpx 32rpx 32rpx;
  margin: -60rpx auto 0 auto;
  width: calc(100vw - 64rpx);
  max-width: 700rpx;
  display: flex;
  flex-direction: column;
  .report-title {
    font-size: 32rpx;
    font-weight: bold;
    color: #222;
    text-align: center;
    margin-bottom: 12rpx;
  }
  .goods-list {
    .goods-item {
      display: flex;
      align-items: center;
      background: #fff;
      border-radius: 20rpx;
      box-shadow: 0 2rpx 8rpx rgba(60, 167, 250, 0.04);
      padding: 24rpx 20rpx;
      margin-bottom: 20rpx;
      .goods-img {
        width: 80rpx;
        height: 80rpx;
        border-radius: 16rpx;
        margin-right: 20rpx;
        background: #f5f5f5;
      }
      .goods-info {
        flex: 1;
        display: flex;
        flex-direction: column;
        .goods-row {
          display: flex;
          justify-content: space-between;
          align-items: center;
          .goods-name {
            font-size: 28rpx;
            color: #222;
            font-weight: bold;
          }
          .detail-link {
            font-size: 24rpx;
            color: #bbb;
            display: flex;
            align-items: center;
          }
        }
        .goods-desc {
          font-size: 24rpx;
          color: #bbb;
          margin-bottom: 8rpx;
        }
        .goods-bottom-row {
          display: flex;
          justify-content: space-between;
          align-items: flex-end;
          margin-top: 8rpx;
          .goods-price-row {
            display: flex;
            align-items: baseline;
            .goods-price {
              font-size: 26rpx;
              color: #f79400;
              font-weight: bold;
            }
            .goods-unit {
              font-size: 24rpx;
              color: #f79400;
              margin-left: 2rpx;
            }
            .goods-count {
              font-size: 22rpx;
              color: #bbb;
              margin-left: 8rpx;
              font-weight: normal;
            }
          }
          .goods-total {
            font-size: 28rpx;
            color: #222;
            font-weight: bold;
            margin-left: 24rpx;
          }
        }
      }
    }
    .goods-item:last-child { margin-bottom: 0; }
  }
  .summary-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 24rpx;
    font-size: 28rpx;
    color: #222;
    .highlight {
      color: #f79400;
      font-weight: bold;
      font-size: 30rpx;
    }
  }
}

.check {
  width: 36rpx;
  height: 36rpx;
  background: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28rpx;
  color: #13ac47;
  font-weight: bold;
  margin-right: 10rpx;
  box-shadow: 0 2rpx 8rpx rgba(0,0,0,0.08);
}
</style> 