feat: 引入uView Plus组件库,新增部分静态页面
This commit is contained in:
@@ -28,39 +28,41 @@
|
||||
<!-- 订单列表 -->
|
||||
<scroll-view class="order-list" scroll-y="true" :style="{ height: listHeight + 'px' }">
|
||||
<view v-for="order in filteredOrders" :key="order.id" class="order-card">
|
||||
<!-- 头部编号 -->
|
||||
<view class="order-header">
|
||||
<view class="order-badge">{{ order.type === 'pickup' ? '取' : '送' }}</view>
|
||||
<view class="order-title">
|
||||
<text class="shop-name">{{ order.shopName }}</text>
|
||||
<text class="order-id">#{{ order.id }}</text>
|
||||
</view>
|
||||
<view class="order-status">{{ order.statusText }}</view>
|
||||
</view>
|
||||
|
||||
<!-- 地址信息 -->
|
||||
<view class="order-info">
|
||||
<view class="address-row">
|
||||
<view class="icon pickup">取</view>
|
||||
<view class="address-content">
|
||||
<text class="address-title">{{ order.pickupAddress }}</text>
|
||||
<text class="address-sub">商家已出餐 · {{ order.pickupNote || '' }}</text>
|
||||
<view @click="toDetail(order.id)">
|
||||
<!-- 头部编号 -->
|
||||
<view class="order-header">
|
||||
<view class="order-badge">{{ order.type === 'pickup' ? '取' : '送' }}</view>
|
||||
<view class="order-title">
|
||||
<text class="shop-name">{{ order.shopName }}</text>
|
||||
<text class="order-id">#{{ order.id }}</text>
|
||||
</view>
|
||||
<view class="nav-icon" @click="openMap(order.pickupLat, order.pickupLng, order.pickupAddress)">导航</view>
|
||||
<view class="order-status">{{ order.statusText }}</view>
|
||||
</view>
|
||||
<view class="address-row">
|
||||
<view class="icon deliver">送</view>
|
||||
<view class="address-content">
|
||||
<text class="address-title">{{ order.deliveryAddress }}</text>
|
||||
<text class="address-sub">收货人:{{ order.receiverName }} {{ order.receiverPhone ? ('尾号' + (order.receiverPhone + '').slice(-4)) : ''}}</text>
|
||||
|
||||
<!-- 地址信息 -->
|
||||
<view class="order-info">
|
||||
<view class="address-row">
|
||||
<view class="icon pickup">取</view>
|
||||
<view class="address-content">
|
||||
<text class="address-title">{{ order.pickupAddress }}</text>
|
||||
<text class="address-sub">商家已出餐 · {{ order.pickupNote || '' }}</text>
|
||||
</view>
|
||||
<view class="nav-icon" @click="openMap(order.pickupLat, order.pickupLng, order.pickupAddress)">导航</view>
|
||||
</view>
|
||||
<view class="address-row">
|
||||
<view class="icon deliver">送</view>
|
||||
<view class="address-content">
|
||||
<text class="address-title">{{ order.deliveryAddress }}</text>
|
||||
<text class="address-sub">收货人:{{ order.receiverName }} {{ order.receiverPhone ? ('尾号' + (order.receiverPhone + '').slice(-4)) : ''}}</text>
|
||||
</view>
|
||||
<view class="nav-icon" @click="openMap(order.deliveryLat, order.deliveryLng, order.deliveryAddress)">导航</view>
|
||||
</view>
|
||||
<view class="nav-icon" @click="openMap(order.deliveryLat, order.deliveryLng, order.deliveryAddress)">导航</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 备注 -->
|
||||
<view class="order-note" v-if="order.note">
|
||||
<text>顾客:{{ order.note }}</text>
|
||||
|
||||
<!-- 备注 -->
|
||||
<view class="order-note" v-if="order.note">
|
||||
<text>顾客:{{ order.note }}</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- 操作区 -->
|
||||
@@ -86,6 +88,7 @@
|
||||
<script setup>
|
||||
import { ref, computed, onMounted } from 'vue';
|
||||
import sheep from '@/sheep';
|
||||
import { onShow } from '@dcloudio/uni-app';
|
||||
|
||||
// 驿站/骑手信息(从 store 获取或 mock)
|
||||
const driverInfo = ref({
|
||||
@@ -214,20 +217,6 @@ function openManualInput() {
|
||||
});
|
||||
}
|
||||
|
||||
// 入口:计算列表高度适配底部栏
|
||||
onMounted(() => {
|
||||
try {
|
||||
const sys = uni.getSystemInfoSync();
|
||||
const windowHeight = sys.windowHeight || 667;
|
||||
// 留出顶部和底部空间
|
||||
listHeight.value = windowHeight - 200;
|
||||
} catch (e) {
|
||||
// ignore
|
||||
}
|
||||
});
|
||||
// 顶部安全区处理:参考 pages/index/user.vue 的实现
|
||||
import { onShow } from '@dcloudio/uni-app';
|
||||
|
||||
const headerStyle = ref({});
|
||||
|
||||
function setHeaderSafeArea() {
|
||||
@@ -246,17 +235,15 @@ function setHeaderSafeArea() {
|
||||
}
|
||||
}
|
||||
|
||||
//跳转订单详情
|
||||
function toDetail(id) {
|
||||
uni.navigateTo({
|
||||
url: `/pages/order/detail?orderId=${id}`
|
||||
})
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
setHeaderSafeArea();
|
||||
// 计算列表高度适配底部栏
|
||||
try {
|
||||
const sys = uni.getSystemInfoSync();
|
||||
const windowHeight = sys.windowHeight || 667;
|
||||
// 留出顶部和底部空间
|
||||
listHeight.value = windowHeight - 200;
|
||||
} catch (e) {
|
||||
// ignore
|
||||
}
|
||||
// setHeaderSafeArea();
|
||||
});
|
||||
|
||||
onShow(() => {
|
||||
|
||||
Reference in New Issue
Block a user