index.vue 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <template>
  2. <view class="fee-statistics-page">
  3. <!-- 总览卡片 -->
  4. <view class="summary-card">
  5. <view class="summary-item">
  6. <text class="sum-value">¥12,580</text>
  7. <text class="sum-label">本月服务费</text>
  8. </view>
  9. <view class="divider"></view>
  10. <view class="summary-item">
  11. <text class="sum-value">¥86,320</text>
  12. <text class="sum-label">累计服务费</text>
  13. </view>
  14. </view>
  15. <!-- 月度明细 -->
  16. <view class="section-title">
  17. <text>月度明细</text>
  18. </view>
  19. <view class="detail-list">
  20. <view class="detail-card" v-for="item in monthList" :key="item.month">
  21. <view class="detail-left">
  22. <text class="month-text">{{ item.month }}</text>
  23. <text class="count-text">{{ item.orderCount }} 单</text>
  24. </view>
  25. <view class="detail-right">
  26. <text class="amount-text">¥{{ item.amount }}</text>
  27. </view>
  28. </view>
  29. </view>
  30. </view>
  31. </template>
  32. <script setup>
  33. import { ref } from 'vue'
  34. const monthList = ref([
  35. { month: '2024年02月', orderCount: 45, amount: '12,580' },
  36. { month: '2024年01月', orderCount: 62, amount: '18,420' },
  37. { month: '2023年12月', orderCount: 38, amount: '10,350' },
  38. { month: '2023年11月', orderCount: 55, amount: '15,800' },
  39. { month: '2023年10月', orderCount: 41, amount: '11,200' },
  40. { month: '2023年09月', orderCount: 52, amount: '17,970' }
  41. ])
  42. </script>
  43. <style lang="scss" scoped>
  44. .fee-statistics-page { min-height: 100vh; background: #f7f8fa; }
  45. .summary-card { display: flex; background: linear-gradient(135deg, #ffd53f, #ff9500); margin: 24rpx; border-radius: 24rpx; padding: 48rpx 32rpx; }
  46. .summary-item { flex: 1; text-align: center; }
  47. .sum-value { display: block; font-size: 44rpx; font-weight: 900; color: #fff; }
  48. .sum-label { display: block; font-size: 24rpx; color: rgba(255,255,255,0.8); margin-top: 8rpx; }
  49. .divider { width: 2rpx; background: rgba(255,255,255,0.3); margin: 0 24rpx; }
  50. .section-title { padding: 32rpx 32rpx 16rpx; font-size: 30rpx; font-weight: bold; color: #333; }
  51. .detail-list { padding: 0 24rpx; }
  52. .detail-card { display: flex; justify-content: space-between; align-items: center; background: #fff; border-radius: 20rpx; padding: 28rpx 32rpx; margin-bottom: 16rpx; }
  53. .month-text { display: block; font-size: 28rpx; color: #333; font-weight: 600; }
  54. .count-text { display: block; font-size: 24rpx; color: #999; margin-top: 8rpx; }
  55. .amount-text { font-size: 32rpx; font-weight: 800; color: #ff9500; }
  56. </style>