|
@ -1,40 +1,38 @@ |
|
|
<template> |
|
|
<template> |
|
|
<view class="inspection-page"> |
|
|
<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 class="fixed-header"> |
|
|
|
|
|
<!-- 顶部渐变导航栏 --> |
|
|
|
|
|
<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> |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
<!-- 打钩标签区及说明 --> |
|
|
|
|
|
<view class="feature-area" :style="{marginTop: navBarTotalHeight+statusBarHeight + 'px'}"> |
|
|
|
|
|
<view class="feature-desc">该报告由「{{ applet_title }}」质检查验出具</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 class="feature-area"> |
|
|
|
|
|
<view class="feature-desc">该报告由「{{ applet_title }}」质检查验出具</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> |
|
|
</view> |
|
|
</view> |
|
|
</view> |
|
|
|
|
|
|
|
|
<!-- <view class=""> |
|
|
|
|
|
<image src="https://oss.budingxiaoshuo.com/upload/质检报告_1748937704910.png" |
|
|
|
|
|
style="width: 100%;" |
|
|
|
|
|
mode="widthFix"></image> |
|
|
|
|
|
</view> --> |
|
|
|
|
|
|
|
|
|
|
|
<!-- 主内容区(卡片悬浮覆盖打钩区) --> |
|
|
<!-- 主内容区(卡片悬浮覆盖打钩区) --> |
|
|
<scroll-view |
|
|
<scroll-view |
|
|
scroll-y |
|
|
scroll-y |
|
|
class="main-content" |
|
|
class="main-content" |
|
|
enhanced |
|
|
enhanced |
|
|
:show-scrollbar="false" |
|
|
:show-scrollbar="false" |
|
|
|
|
|
|
|
|
> |
|
|
> |
|
|
<view class="content-wrapper"> |
|
|
<view class="content-wrapper"> |
|
|
<view v-if="showQualified && goodsList.length" class="inspection-card"> |
|
|
<view v-if="showQualified && goodsList.length" class="inspection-card"> |
|
@ -113,6 +111,7 @@ export default { |
|
|
showQualified: false, |
|
|
showQualified: false, |
|
|
showProblem: false, |
|
|
showProblem: false, |
|
|
orderId : 0, |
|
|
orderId : 0, |
|
|
|
|
|
fixedHeaderHeight: 0, // 固定头部的高度 |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
computed: { |
|
|
computed: { |
|
@ -131,6 +130,10 @@ export default { |
|
|
}, |
|
|
}, |
|
|
problemAmount() { |
|
|
problemAmount() { |
|
|
return this.problemList.reduce((sum, item) => sum + item.total, 0).toFixed(1) |
|
|
return this.problemList.reduce((sum, item) => sum + item.total, 0).toFixed(1) |
|
|
|
|
|
}, |
|
|
|
|
|
fixedHeaderHeight() { |
|
|
|
|
|
// 导航栏高度 + 状态栏高度 + 特性区域高度 (约140rpx转px) |
|
|
|
|
|
return this.statusBarHeight + this.navBarHeight + 70 |
|
|
} |
|
|
} |
|
|
}, |
|
|
}, |
|
|
onLoad(options) { |
|
|
onLoad(options) { |
|
@ -252,12 +255,16 @@ export default { |
|
|
position: relative; |
|
|
position: relative; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.nav-bar { |
|
|
|
|
|
|
|
|
.fixed-header { |
|
|
position: fixed; |
|
|
position: fixed; |
|
|
top: 0; |
|
|
top: 0; |
|
|
left: 0; |
|
|
left: 0; |
|
|
right: 0; |
|
|
right: 0; |
|
|
z-index: 1000; |
|
|
z-index: 1000; |
|
|
|
|
|
background: #422525; |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
.nav-bar { |
|
|
width: 100vw; |
|
|
width: 100vw; |
|
|
background: #422525; |
|
|
background: #422525; |
|
|
box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.03); |
|
|
box-shadow: 0 2rpx 12rpx rgba(0,0,0,0.03); |
|
@ -301,11 +308,8 @@ export default { |
|
|
|
|
|
|
|
|
.feature-area { |
|
|
.feature-area { |
|
|
margin: 0 32rpx; |
|
|
margin: 0 32rpx; |
|
|
margin-top: 0; |
|
|
|
|
|
margin-bottom: 0; |
|
|
|
|
|
background:#422525; |
|
|
background:#422525; |
|
|
border-radius: 32rpx; |
|
|
border-radius: 32rpx; |
|
|
// box-shadow: 0 4rpx 24rpx rgba(60, 167, 250, 0.08); |
|
|
|
|
|
padding: 18rpx 24rpx 18rpx 24rpx; |
|
|
padding: 18rpx 24rpx 18rpx 24rpx; |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
@ -364,22 +368,22 @@ export default { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.main-content { |
|
|
.main-content { |
|
|
margin-top: 20rpx; |
|
|
|
|
|
background: linear-gradient(180deg, #fef7e6 0%, #fff 50%); |
|
|
background: linear-gradient(180deg, #fef7e6 0%, #fff 50%); |
|
|
height: calc(100vh - 200rpx); |
|
|
|
|
|
width: 100vw; |
|
|
|
|
|
box-sizing: border-box; |
|
|
|
|
|
position: relative; |
|
|
|
|
|
z-index: 11; |
|
|
|
|
|
|
|
|
position: absolute; |
|
|
|
|
|
top: 220rpx; |
|
|
|
|
|
left: 0; |
|
|
|
|
|
right: 0; |
|
|
|
|
|
bottom: 0; |
|
|
border-radius: 40rpx 40rpx 0 0; |
|
|
border-radius: 40rpx 40rpx 0 0; |
|
|
|
|
|
z-index: 11; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.content-wrapper { |
|
|
.content-wrapper { |
|
|
display: flex; |
|
|
display: flex; |
|
|
flex-direction: column; |
|
|
flex-direction: column; |
|
|
align-items: center; |
|
|
align-items: center; |
|
|
|
|
|
padding: 30rpx 0; |
|
|
padding-bottom: calc(env(safe-area-inset-bottom) + 60rpx); |
|
|
padding-bottom: calc(env(safe-area-inset-bottom) + 60rpx); |
|
|
min-height: 100%; |
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
.inspection-card { |
|
|
.inspection-card { |
|
@ -387,7 +391,7 @@ export default { |
|
|
border-radius: 32rpx; |
|
|
border-radius: 32rpx; |
|
|
box-shadow: 0 8rpx 32rpx rgba(60, 167, 250, 0.08); |
|
|
box-shadow: 0 8rpx 32rpx rgba(60, 167, 250, 0.08); |
|
|
padding: 40rpx 32rpx 32rpx 32rpx; |
|
|
padding: 40rpx 32rpx 32rpx 32rpx; |
|
|
margin: 24rpx auto 0 auto; |
|
|
|
|
|
|
|
|
margin: 150rpx auto 0 auto; |
|
|
width: calc(100vw - 64rpx); |
|
|
width: calc(100vw - 64rpx); |
|
|
max-width: 700rpx; |
|
|
max-width: 700rpx; |
|
|
display: flex; |
|
|
display: flex; |
|
|