feat(cabinet): 发货卡片展示收货地址并切到本地联调

在发货列表卡片中增加收货地址展示,接入 shipments 接口返回的 address 字段,并在前端做地址字段归一化处理,兼容不同命名格式。
同时将请求基址切换为本地 127.0.0.1 便于联调,方便直接验证发货申请后卡片是否正确展示本次选择的收货地址。
This commit is contained in:
Zuncle 2026-04-17 20:42:47 +08:00
parent 49027862b3
commit 21a174329c
2 changed files with 58 additions and 3 deletions

View File

@ -136,6 +136,15 @@
<text class="express-copy" v-if="item.express_no" @tap="copyExpressNo(item.express_no)">复制</text> <text class="express-copy" v-if="item.express_no" @tap="copyExpressNo(item.express_no)">复制</text>
</view> </view>
<!-- 收货地址 -->
<view class="shipment-address" v-if="item.address">
<view class="address-top">
<text class="address-name">{{ item.address.name }}</text>
<text class="address-phone">{{ item.address.phone }}</text>
</view>
<text class="address-detail">{{ item.address.province }} {{ item.address.city }} {{ item.address.district }} {{ item.address.detail }}</text>
</view>
<!-- 时间信息 --> <!-- 时间信息 -->
<view class="shipment-time"> <view class="shipment-time">
<text class="time-item" v-if="item.created_at">申请时间{{ formatDate(item.created_at) }}</text> <text class="time-item" v-if="item.created_at">申请时间{{ formatDate(item.created_at) }}</text>
@ -581,6 +590,20 @@ async function loadShipments(uid) {
// 48 // 48
const canCancel = checkCanCancel(s.status, s.created_at) const canCancel = checkCanCancel(s.status, s.created_at)
const address = s.address
const normalizedAddress = address
? {
id: address.id,
name: address.name || address.realname || '',
phone: address.phone || address.mobile || '',
province: address.province || '',
city: address.city || '',
district: address.district || '',
detail: address.detail || address.address || '',
is_default: !!address.is_default
}
: null
return { return {
batch_no: s.batch_no || '', batch_no: s.batch_no || '',
count: s.count ?? (Array.isArray(s.inventory_ids) ? s.inventory_ids.length : 0), count: s.count ?? (Array.isArray(s.inventory_ids) ? s.inventory_ids.length : 0),
@ -593,7 +616,8 @@ async function loadShipments(uid) {
shipped_at: s.shipped_at || '', shipped_at: s.shipped_at || '',
received_at: s.received_at || '', received_at: s.received_at || '',
status: s.status || 1, status: s.status || 1,
can_cancel: canCancel can_cancel: canCancel,
address: normalizedAddress
} }
}) })
@ -1555,6 +1579,37 @@ function onCopyShareLink() {
&:active { background: rgba($brand-primary, 0.05); } &:active { background: rgba($brand-primary, 0.05); }
} }
.shipment-address {
background: $bg-page;
border-radius: $radius-md;
padding: 16rpx 20rpx;
margin-bottom: 20rpx;
}
.address-top {
display: flex;
align-items: center;
gap: 16rpx;
margin-bottom: 8rpx;
}
.address-name {
font-size: 26rpx;
font-weight: 600;
color: $text-main;
}
.address-phone {
font-size: 22rpx;
color: $text-sub;
}
.address-detail {
font-size: 24rpx;
line-height: 1.5;
color: $text-sub;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.shipment-time { .shipment-time {
display: flex; display: flex;
flex-direction: column; flex-direction: column;

View File

@ -1,5 +1,5 @@
//const BASE_URL = 'http://127.0.0.1:9991' const BASE_URL = 'http://127.0.0.1:9991'
const BASE_URL = 'https://kdy.1024tool.vip' // const BASE_URL = 'https://kdy.1024tool.vip'
let authModalShown = false let authModalShown = false
function handleAuthExpired() { function handleAuthExpired() {