chore: prepare anxinyan release
This commit is contained in:
@@ -57,6 +57,7 @@ const productSpecItems = computed(() => {
|
||||
appendSpecItem(items, "序列号/编码", product.serial_no);
|
||||
|
||||
for (const point of normalizedKeyPoints(result.key_points)) {
|
||||
if (hasSpecItem(items, point.point_name)) continue;
|
||||
appendSpecItem(items, point.point_name, point.point_value, point.point_remark);
|
||||
}
|
||||
|
||||
@@ -92,6 +93,11 @@ function appendSpecItem(
|
||||
});
|
||||
}
|
||||
|
||||
function hasSpecItem(items: Array<{ label: string }>, label: unknown) {
|
||||
const labelText = textValue(label);
|
||||
return Boolean(labelText && items.some((item) => item.label === labelText));
|
||||
}
|
||||
|
||||
function textValue(value: unknown) {
|
||||
return String(value ?? "").trim();
|
||||
}
|
||||
@@ -276,6 +282,7 @@ onShow(() => {
|
||||
</view>
|
||||
|
||||
<view class="report-shell">
|
||||
<view class="report-shell__watermark" aria-hidden="true"></view>
|
||||
<view class="report-cover">
|
||||
<swiper v-if="reportImages.length" class="report-cover__swiper" indicator-dots circular>
|
||||
<swiper-item v-for="item in reportImages" :key="item.file_url || item.file_id">
|
||||
@@ -316,8 +323,6 @@ onShow(() => {
|
||||
</view>
|
||||
|
||||
<view v-if="activeTab === 'product'" class="report-panel">
|
||||
<view class="report-watermark" aria-hidden="true"></view>
|
||||
|
||||
<view class="report-result">
|
||||
<view class="report-result__content">
|
||||
<view class="report-result__label">{{ resultItem.label }}</view>
|
||||
@@ -325,8 +330,8 @@ onShow(() => {
|
||||
<view v-if="resultItem.remark" class="report-result__desc">{{ resultItem.remark }}</view>
|
||||
</view>
|
||||
<view class="report-seal">
|
||||
<text class="report-seal__brand">ANXINYAN</text>
|
||||
<text class="report-seal__main">可信</text>
|
||||
<text class="report-seal__brand">安心验</text>
|
||||
<text class="report-seal__main">鉴定</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@@ -496,6 +501,26 @@ onShow(() => {
|
||||
box-shadow: 0 18rpx 48rpx rgba(31, 36, 48, 0.08);
|
||||
}
|
||||
|
||||
.report-shell__watermark {
|
||||
position: absolute;
|
||||
z-index: 0;
|
||||
top: 374rpx;
|
||||
left: 28rpx;
|
||||
right: 28rpx;
|
||||
height: 560rpx;
|
||||
background: url("../../static/report/report-watermark.svg") center / 100% 100% no-repeat;
|
||||
opacity: 1;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.report-cover,
|
||||
.report-meta,
|
||||
.report-tabs,
|
||||
.report-panel {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.report-cover {
|
||||
height: 356rpx;
|
||||
margin: 28rpx 28rpx 0;
|
||||
@@ -620,28 +645,14 @@ onShow(() => {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.report-watermark {
|
||||
position: absolute;
|
||||
top: -6rpx;
|
||||
left: 50%;
|
||||
width: 520rpx;
|
||||
height: 430rpx;
|
||||
border-radius: 50%;
|
||||
opacity: 0.46;
|
||||
transform: translateX(-50%);
|
||||
background:
|
||||
repeating-radial-gradient(ellipse at center, rgba(230, 195, 79, 0.2) 0, rgba(230, 195, 79, 0.2) 2rpx, transparent 3rpx, transparent 17rpx),
|
||||
repeating-conic-gradient(from 0deg, rgba(230, 195, 79, 0.12) 0deg 8deg, transparent 8deg 16deg);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.report-result {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 24rpx;
|
||||
padding: 10rpx 0 30rpx;
|
||||
min-height: 132rpx;
|
||||
padding: 10rpx 136rpx 30rpx 0;
|
||||
border-bottom: 1px solid #e5e5e5;
|
||||
}
|
||||
|
||||
@@ -674,29 +685,57 @@ onShow(() => {
|
||||
}
|
||||
|
||||
.report-seal {
|
||||
flex: 0 0 auto;
|
||||
position: absolute;
|
||||
right: 2rpx;
|
||||
bottom: 22rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 104rpx;
|
||||
height: 104rpx;
|
||||
margin-top: 2rpx;
|
||||
border: 4rpx solid rgba(56, 164, 73, 0.8);
|
||||
width: 106rpx;
|
||||
height: 106rpx;
|
||||
border: 4rpx solid rgba(40, 151, 73, 0.82);
|
||||
border-radius: 999rpx;
|
||||
color: #39a54b;
|
||||
transform: rotate(-10deg);
|
||||
background: rgba(255, 255, 255, 0.42);
|
||||
color: #239245;
|
||||
box-shadow: inset 0 0 0 4rpx rgba(40, 151, 73, 0.1);
|
||||
transform: rotate(-9deg);
|
||||
}
|
||||
|
||||
.report-seal::before {
|
||||
position: absolute;
|
||||
inset: 10rpx;
|
||||
border: 2rpx solid rgba(40, 151, 73, 0.58);
|
||||
border-radius: inherit;
|
||||
content: "";
|
||||
}
|
||||
|
||||
.report-seal::after {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
bottom: 12rpx;
|
||||
width: 34rpx;
|
||||
height: 5rpx;
|
||||
border-radius: 999rpx;
|
||||
background: currentColor;
|
||||
content: "";
|
||||
opacity: 0.7;
|
||||
transform: translateX(-50%);
|
||||
}
|
||||
|
||||
.report-seal__brand {
|
||||
font-size: 16rpx;
|
||||
font-weight: 800;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
font-size: 18rpx;
|
||||
font-weight: 900;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.report-seal__main {
|
||||
margin-top: 8rpx;
|
||||
font-size: 28rpx;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
margin-top: 9rpx;
|
||||
font-size: 26rpx;
|
||||
font-weight: 900;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user