|
|
@ -19,6 +19,7 @@ |
|
|
|
<view class="goods-name-section"> |
|
|
|
<text class="goods-name">{{ getGoodsName(item.shopId) }}</text> |
|
|
|
<text class="goods-brand">{{ getBrandStyleInfo(item) }}</text> |
|
|
|
<text class="goods-style-price" v-if="getStylePriceInfo(item)">{{ getStylePriceInfo(item) }}</text> |
|
|
|
</view> |
|
|
|
<text class="row-count">x{{ item.count }}</text> |
|
|
|
</view> |
|
|
@ -264,6 +265,12 @@ export default { |
|
|
|
styleId: item.styleId || '', |
|
|
|
uniqueKey: uniqueKey, |
|
|
|
qualityLevel: item.qualityLevel || '', // 质检级别 |
|
|
|
// 添加款式价格信息 |
|
|
|
styleMinPrice: item.styleMinPrice || 0, |
|
|
|
styleMaxPrice: item.styleMaxPrice || 0, |
|
|
|
// 添加商品本身的价格信息 |
|
|
|
productMinPrice: item.productMinPrice || 0, |
|
|
|
productMaxPrice: item.productMaxPrice || 0, |
|
|
|
originalItem: item, // 保存原始数据引用 |
|
|
|
items: item.commonOrderList ? [...item.commonOrderList] : [{ |
|
|
|
testingInstructions: '', |
|
|
@ -331,19 +338,19 @@ export default { |
|
|
|
} |
|
|
|
} |
|
|
|
// 检查不合格产品金额 |
|
|
|
for (const group of this.unqualifiedGroups) { |
|
|
|
if (!group.total || group.total === '' || parseFloat(group.total) <= 0) { |
|
|
|
uni.showToast({ title: '请填写不合格产品金额', icon: 'none' }) |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
// 检查不可回收产品金额 |
|
|
|
for (const item of this.unrecyclableList) { |
|
|
|
if (!item.total || item.total === '' || parseFloat(item.total) <= 0) { |
|
|
|
uni.showToast({ title: '请填写不可回收产品金额', icon: 'none' }) |
|
|
|
return |
|
|
|
} |
|
|
|
} |
|
|
|
// for (const group of this.unqualifiedGroups) { |
|
|
|
// if (!group.total || group.total === '' || parseFloat(group.total) <= 0) { |
|
|
|
// uni.showToast({ title: '请填写不合格产品金额', icon: 'none' }) |
|
|
|
// return |
|
|
|
// } |
|
|
|
// } |
|
|
|
// // 检查不可回收产品金额 |
|
|
|
// for (const item of this.unrecyclableList) { |
|
|
|
// if (!item.total || item.total === '' || parseFloat(item.total) <= 0) { |
|
|
|
// uni.showToast({ title: '请填写不可回收产品金额', icon: 'none' }) |
|
|
|
// return |
|
|
|
// } |
|
|
|
// } |
|
|
|
|
|
|
|
// 校验理由必填性 |
|
|
|
// 1. 合格产品理由可选填 |
|
|
@ -687,6 +694,34 @@ export default { |
|
|
|
} |
|
|
|
}, |
|
|
|
|
|
|
|
getStylePriceInfo(item) { |
|
|
|
// 优先显示款式价格信息 |
|
|
|
if (item.styleMinPrice && item.styleMaxPrice) { |
|
|
|
const minPrice = parseFloat(item.styleMinPrice) |
|
|
|
const maxPrice = parseFloat(item.styleMaxPrice) |
|
|
|
|
|
|
|
if (minPrice === maxPrice) { |
|
|
|
return `款式价格:¥${minPrice}` |
|
|
|
} else { |
|
|
|
return `款式价格:¥${minPrice}-${maxPrice}` |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
// 如果没有款式价格,显示商品本身的价格 |
|
|
|
if (item.productMinPrice && item.productMaxPrice) { |
|
|
|
const minPrice = parseFloat(item.productMinPrice) |
|
|
|
const maxPrice = parseFloat(item.productMaxPrice) |
|
|
|
|
|
|
|
if (minPrice === maxPrice) { |
|
|
|
return `商品价格:¥${minPrice}` |
|
|
|
} else { |
|
|
|
return `商品价格:¥${minPrice}-${maxPrice}` |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
return '' |
|
|
|
}, |
|
|
|
|
|
|
|
selectQualityLevel(level) { |
|
|
|
// 设置当前选择的质检级别 |
|
|
|
this.currentQualityLevel = level |
|
|
@ -807,46 +842,46 @@ export default { |
|
|
|
display: flex; |
|
|
|
flex-direction: column; |
|
|
|
background: none; |
|
|
|
padding-bottom: 120px; |
|
|
|
padding-bottom: 240rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.result-card { |
|
|
|
background: #fff; |
|
|
|
border-radius: 24px; |
|
|
|
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06); |
|
|
|
margin: 0 24px 24px 24px; |
|
|
|
padding: 24px 24px 0 24px; |
|
|
|
border-radius: 48rpx; |
|
|
|
box-shadow: 0 8rpx 48rpx rgba(0, 0, 0, 0.06); |
|
|
|
margin: 0 24rpx 24rpx 24rpx; |
|
|
|
padding: 48rpx 48rpx 0 48rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.card-title { |
|
|
|
font-size: 16px; |
|
|
|
font-size: 32rpx; |
|
|
|
font-weight: bold; |
|
|
|
color: #222; |
|
|
|
margin-bottom: 18px; |
|
|
|
margin-bottom: 36rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.card-title-row { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: space-between; |
|
|
|
margin-bottom: 18px; |
|
|
|
margin-bottom: 36rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.status-tag { |
|
|
|
background: #fff7e6; |
|
|
|
color: #ffb400; |
|
|
|
font-size: 12px; |
|
|
|
border-radius: 12px; |
|
|
|
padding: 2px 26rpx; |
|
|
|
font-size: 24rpx; |
|
|
|
border-radius: 24rpx; |
|
|
|
padding: 4rpx 26rpx; |
|
|
|
font-weight: 400; |
|
|
|
height: 22px; |
|
|
|
height: 44rpx; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
} |
|
|
|
|
|
|
|
.result-row, |
|
|
|
.result-group { |
|
|
|
margin-bottom: 18px; |
|
|
|
margin-bottom: 36rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.row-main { |
|
|
@ -859,18 +894,26 @@ export default { |
|
|
|
margin-right: 8px; |
|
|
|
|
|
|
|
.goods-name { |
|
|
|
font-size: 26rpx; |
|
|
|
font-size: 32rpx; |
|
|
|
font-weight: bold; |
|
|
|
color: #222; |
|
|
|
line-height: 1.2; |
|
|
|
color: #333; |
|
|
|
line-height: 1.3; |
|
|
|
} |
|
|
|
|
|
|
|
.goods-brand { |
|
|
|
font-size: 22rpx; |
|
|
|
color: #999; |
|
|
|
font-size: 26rpx; |
|
|
|
color: #666; |
|
|
|
font-weight: normal; |
|
|
|
line-height: 1.2; |
|
|
|
margin-top: 2px; |
|
|
|
line-height: 1.3; |
|
|
|
margin-top: 4rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.goods-style-price { |
|
|
|
font-size: 26rpx; |
|
|
|
color: #ff6b35; |
|
|
|
font-weight: 600; |
|
|
|
line-height: 1.3; |
|
|
|
margin-top: 4rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -898,26 +941,26 @@ export default { |
|
|
|
.price-input-row { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
margin-top: 12px; |
|
|
|
margin-bottom: 8px; |
|
|
|
margin-top: 24rpx; |
|
|
|
margin-bottom: 16rpx; |
|
|
|
|
|
|
|
.price-label { |
|
|
|
font-size: 26rpx; |
|
|
|
color: #888; |
|
|
|
min-width: 80px; |
|
|
|
min-width: 160rpx; |
|
|
|
flex-shrink: 0; |
|
|
|
} |
|
|
|
|
|
|
|
.price-input { |
|
|
|
flex: 1; |
|
|
|
height: 40px; |
|
|
|
border-radius: 12px; |
|
|
|
height: 80rpx; |
|
|
|
border-radius: 24rpx; |
|
|
|
background: #f6f6f6; |
|
|
|
border: none; |
|
|
|
font-size: 16px; |
|
|
|
font-size: 32rpx; |
|
|
|
color: #222; |
|
|
|
padding: 0 16px; |
|
|
|
margin-left: 12px; |
|
|
|
padding: 0 32rpx; |
|
|
|
margin-left: 24rpx; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
@ -927,37 +970,41 @@ export default { |
|
|
|
.row-reason { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
margin-top: 8px; |
|
|
|
margin-top: 16rpx; |
|
|
|
|
|
|
|
.reason-label { |
|
|
|
font-size: 13px; |
|
|
|
font-size: 26rpx; |
|
|
|
color: #bbb; |
|
|
|
min-width: 80px; |
|
|
|
min-width: 160rpx; |
|
|
|
max-width: 240rpx; |
|
|
|
overflow: hidden; |
|
|
|
text-overflow: ellipsis; |
|
|
|
white-space: nowrap; |
|
|
|
} |
|
|
|
|
|
|
|
.reason-input { |
|
|
|
flex: 1; |
|
|
|
height: 36px; |
|
|
|
border-radius: 12px; |
|
|
|
height: 72rpx; |
|
|
|
border-radius: 24rpx; |
|
|
|
background: #f6f6f6; |
|
|
|
border: none; |
|
|
|
font-size: 26rpx; |
|
|
|
color: #222; |
|
|
|
padding-left: 12px; |
|
|
|
margin-left: 8px; |
|
|
|
padding-left: 24rpx; |
|
|
|
margin-left: 16rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.reason-select { |
|
|
|
flex: 1; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
height: 36px; |
|
|
|
border-radius: 12px; |
|
|
|
height: 72rpx; |
|
|
|
border-radius: 24rpx; |
|
|
|
background: #f6f6f6; |
|
|
|
font-size: 26rpx; |
|
|
|
color: #bbb; |
|
|
|
padding-left: 12px; |
|
|
|
margin-left: 8px; |
|
|
|
padding-left: 24rpx; |
|
|
|
margin-left: 16rpx; |
|
|
|
justify-content: flex-end; |
|
|
|
} |
|
|
|
|
|
|
@ -974,32 +1021,30 @@ export default { |
|
|
|
|
|
|
|
.info-card { |
|
|
|
background: #fff; |
|
|
|
border-radius: 24px; |
|
|
|
box-shadow: 0 4px 24px rgba(0, 0, 0, 0.06); |
|
|
|
margin: 0 24px 24px 24px; |
|
|
|
padding: 24px 24px 0 24px; |
|
|
|
border-radius: 48rpx; |
|
|
|
box-shadow: 0 8rpx 48rpx rgba(0, 0, 0, 0.06); |
|
|
|
} |
|
|
|
|
|
|
|
.info-row { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
margin-bottom: 16px; |
|
|
|
margin-bottom: 32rpx; |
|
|
|
|
|
|
|
.info-label { |
|
|
|
font-size: 13px; |
|
|
|
font-size: 26rpx; |
|
|
|
color: #bbb; |
|
|
|
min-width: 80px; |
|
|
|
min-width: 160rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.info-value { |
|
|
|
font-size: 13px; |
|
|
|
font-size: 26rpx; |
|
|
|
color: #222; |
|
|
|
margin-left: 8px; |
|
|
|
margin-left: 16rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.copy-btn { |
|
|
|
color: #ffb400; |
|
|
|
margin-left: 8px; |
|
|
|
margin-left: 16rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -1010,34 +1055,34 @@ export default { |
|
|
|
bottom: 0; |
|
|
|
background: #fff; |
|
|
|
display: flex; |
|
|
|
gap: 16px; |
|
|
|
padding: 12px 16px 24px 16px; |
|
|
|
gap: 32rpx; |
|
|
|
padding: 24rpx 32rpx 48rpx 32rpx; |
|
|
|
z-index: 101; |
|
|
|
|
|
|
|
.btn-outline { |
|
|
|
flex: 1; |
|
|
|
height: 40px; |
|
|
|
border-radius: 16px; |
|
|
|
border: 1px solid #ffe09a; |
|
|
|
height: 80rpx; |
|
|
|
border-radius: 32rpx; |
|
|
|
border: 2rpx solid #ffe09a; |
|
|
|
color: #ffb400; |
|
|
|
background: #fff0d2; |
|
|
|
font-size: 15px; |
|
|
|
font-size: 30rpx; |
|
|
|
font-weight: 500; |
|
|
|
box-shadow: none; |
|
|
|
padding: 0 18px; |
|
|
|
padding: 0 36rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.btn-main { |
|
|
|
flex: 1; |
|
|
|
height: 40px; |
|
|
|
border-radius: 16px; |
|
|
|
height: 80rpx; |
|
|
|
border-radius: 32rpx; |
|
|
|
background: linear-gradient(90deg, #ffd01e 0%, #ffac04 100%); |
|
|
|
color: #fff; |
|
|
|
border: none; |
|
|
|
font-size: 15px; |
|
|
|
font-size: 30rpx; |
|
|
|
font-weight: 500; |
|
|
|
box-shadow: none; |
|
|
|
padding: 0 18px; |
|
|
|
padding: 0 36rpx; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
@ -1051,7 +1096,7 @@ export default { |
|
|
|
|
|
|
|
.reason-popup { |
|
|
|
background: #fff; |
|
|
|
border-radius: 24px 24px 0 0; |
|
|
|
border-radius: 48rpx 48rpx 0 0; |
|
|
|
padding: 0; |
|
|
|
height: 75vh; |
|
|
|
position: relative; |
|
|
@ -1061,54 +1106,54 @@ export default { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
height: 60px; |
|
|
|
border-bottom: 1px solid #f0f0f0; |
|
|
|
height: 120rpx; |
|
|
|
border-bottom: 2rpx solid #f0f0f0; |
|
|
|
position: relative; |
|
|
|
|
|
|
|
.popup-close { |
|
|
|
position: absolute; |
|
|
|
left: 20px; |
|
|
|
left: 40rpx; |
|
|
|
color: #666; |
|
|
|
font-size: 16px; |
|
|
|
font-size: 32rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.popup-title { |
|
|
|
font-size: 18px; |
|
|
|
font-size: 36rpx; |
|
|
|
font-weight: 600; |
|
|
|
color: #222; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.popup-content { |
|
|
|
height: calc(75vh - 60px - 82px); |
|
|
|
height: calc(75vh - 120rpx - 164rpx); |
|
|
|
overflow-y: auto; |
|
|
|
} |
|
|
|
|
|
|
|
.popup-section { |
|
|
|
padding: 0 20px 24px 20px; |
|
|
|
padding: 0 40rpx 48rpx 40rpx; |
|
|
|
|
|
|
|
&:first-child { |
|
|
|
padding-top: 24px; |
|
|
|
padding-top: 48rpx; |
|
|
|
} |
|
|
|
|
|
|
|
.section-label { |
|
|
|
font-size: 16px; |
|
|
|
font-size: 32rpx; |
|
|
|
color: #222; |
|
|
|
margin-bottom: 16px; |
|
|
|
margin-bottom: 32rpx; |
|
|
|
display: block; |
|
|
|
font-weight: 500; |
|
|
|
} |
|
|
|
|
|
|
|
.level-options { |
|
|
|
display: flex; |
|
|
|
gap: 12px; |
|
|
|
margin-bottom: 16px; |
|
|
|
gap: 24rpx; |
|
|
|
margin-bottom: 32rpx; |
|
|
|
|
|
|
|
.level-option { |
|
|
|
width: 40px; |
|
|
|
height: 40px; |
|
|
|
border-radius: 8px; |
|
|
|
border: 2px solid #ddd; |
|
|
|
width: 80rpx; |
|
|
|
height: 80rpx; |
|
|
|
border-radius: 16rpx; |
|
|
|
border: 4rpx solid #ddd; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
@ -1127,7 +1172,7 @@ export default { |
|
|
|
} |
|
|
|
|
|
|
|
.level-text { |
|
|
|
font-size: 16px; |
|
|
|
font-size: 32rpx; |
|
|
|
color: #666; |
|
|
|
font-weight: 500; |
|
|
|
} |
|
|
@ -1136,11 +1181,11 @@ export default { |
|
|
|
|
|
|
|
.custom-reason-input { |
|
|
|
width: 100%; |
|
|
|
min-height: 80px; |
|
|
|
padding: 12px; |
|
|
|
border: 1px solid #e0e0e0; |
|
|
|
border-radius: 8px; |
|
|
|
font-size: 14px; |
|
|
|
min-height: 160rpx; |
|
|
|
padding: 24rpx; |
|
|
|
border: 2rpx solid #e0e0e0; |
|
|
|
border-radius: 16rpx; |
|
|
|
font-size: 28rpx; |
|
|
|
color: #222; |
|
|
|
background: #fff; |
|
|
|
resize: none; |
|
|
@ -1160,12 +1205,12 @@ export default { |
|
|
|
display: flex; |
|
|
|
flex-wrap: wrap; |
|
|
|
gap: 20rpx; |
|
|
|
margin-bottom: 32px; |
|
|
|
margin-bottom: 64rpx; |
|
|
|
|
|
|
|
.img-item { |
|
|
|
width: 150rpx; |
|
|
|
height: 150rpx; |
|
|
|
border-radius: 12px; |
|
|
|
border-radius: 24rpx; |
|
|
|
background: #f8f8f8; |
|
|
|
position: relative; |
|
|
|
|
|
|
@ -1178,8 +1223,8 @@ export default { |
|
|
|
|
|
|
|
.img-del { |
|
|
|
position: absolute; |
|
|
|
top: -6px; |
|
|
|
right: -6px; |
|
|
|
top: -12rpx; |
|
|
|
right: -12rpx; |
|
|
|
width: 48rpx; |
|
|
|
height: 48rpx; |
|
|
|
background: rgba(0, 0, 0, 0.6); |
|
|
@ -1187,7 +1232,7 @@ export default { |
|
|
|
border-radius: 50%; |
|
|
|
text-align: center; |
|
|
|
line-height: 48rpx; |
|
|
|
font-size: 16px; |
|
|
|
font-size: 32rpx; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
|
|
|
@ -1196,7 +1241,7 @@ export default { |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
background: #f8f8f8; |
|
|
|
border: 2px dashed #ddd; |
|
|
|
border: 4rpx dashed #ddd; |
|
|
|
color: #bbb; |
|
|
|
} |
|
|
|
} |
|
|
@ -1205,19 +1250,19 @@ export default { |
|
|
|
.reason-row { |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
padding: 16px 0; |
|
|
|
border-bottom: 1px solid #f0f0f0; |
|
|
|
padding: 32rpx 0; |
|
|
|
border-bottom: 2rpx solid #f0f0f0; |
|
|
|
|
|
|
|
&:last-child { |
|
|
|
border-bottom: none; |
|
|
|
} |
|
|
|
|
|
|
|
.checkbox { |
|
|
|
width: 20px; |
|
|
|
height: 20px; |
|
|
|
border-radius: 4px; |
|
|
|
border: 2px solid #ddd; |
|
|
|
margin-right: 12px; |
|
|
|
width: 40rpx; |
|
|
|
height: 40rpx; |
|
|
|
border-radius: 8rpx; |
|
|
|
border: 4rpx solid #ddd; |
|
|
|
margin-right: 24rpx; |
|
|
|
background: #fff; |
|
|
|
position: relative; |
|
|
|
|
|
|
@ -1232,14 +1277,14 @@ export default { |
|
|
|
left: 50%; |
|
|
|
transform: translate(-50%, -50%); |
|
|
|
color: #fff; |
|
|
|
font-size: 12px; |
|
|
|
font-size: 24rpx; |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
.reason-text { |
|
|
|
font-size: 16px; |
|
|
|
font-size: 32rpx; |
|
|
|
color: #222; |
|
|
|
line-height: 1.4; |
|
|
|
} |
|
|
@ -1248,20 +1293,20 @@ export default { |
|
|
|
|
|
|
|
.popup-save-btn { |
|
|
|
position: fixed; |
|
|
|
bottom: 34px; |
|
|
|
left: 20px; |
|
|
|
right: 20px; |
|
|
|
height: 48px; |
|
|
|
border-radius: 24px; |
|
|
|
bottom: 68rpx; |
|
|
|
left: 40rpx; |
|
|
|
right: 40rpx; |
|
|
|
height: 96rpx; |
|
|
|
border-radius: 48rpx; |
|
|
|
background: linear-gradient(90deg, #ffd01e 0%, #ffac04 100%); |
|
|
|
color: #fff; |
|
|
|
font-size: 18px; |
|
|
|
font-size: 36rpx; |
|
|
|
font-weight: 600; |
|
|
|
border: none; |
|
|
|
display: flex; |
|
|
|
align-items: center; |
|
|
|
justify-content: center; |
|
|
|
box-shadow: 0 4px 12px rgba(255, 172, 4, 0.3); |
|
|
|
box-shadow: 0 8rpx 24rpx rgba(255, 172, 4, 0.3); |
|
|
|
} |
|
|
|
} |
|
|
|
</style> |