chore: sync release updates
This commit is contained in:
@@ -2,7 +2,7 @@
|
||||
import { computed, ref } from "vue";
|
||||
import { onLoad, onShow } from "@dcloudio/uni-app";
|
||||
import { adminApi, type AdminFileAsset, type AdminOrderDetail } from "../../api/admin";
|
||||
import { showErrorToast } from "../../utils/feedback";
|
||||
import { showErrorToast, showInfoToast } from "../../utils/feedback";
|
||||
|
||||
const loading = ref(false);
|
||||
const pageReady = ref(false);
|
||||
@@ -40,6 +40,16 @@ function openReportDetail() {
|
||||
uni.navigateTo({ url: `/pages/report/detail?id=${reportId}` });
|
||||
}
|
||||
|
||||
function copyOrderNo() {
|
||||
const orderNo = detail.value?.order_info.order_no || "";
|
||||
if (!orderNo) return;
|
||||
uni.setClipboardData({
|
||||
data: orderNo,
|
||||
success: () => showInfoToast("订单号已复制"),
|
||||
fail: () => showInfoToast("复制失败,请重试"),
|
||||
});
|
||||
}
|
||||
|
||||
function formatMoney(value?: number) {
|
||||
const amount = Number(value || 0);
|
||||
return `¥${amount.toFixed(2)}`;
|
||||
@@ -105,7 +115,15 @@ onShow(() => {
|
||||
<template v-else-if="detail">
|
||||
<view class="hero">
|
||||
<view class="eyebrow">订单详情</view>
|
||||
<view class="title">{{ pageTitle }}</view>
|
||||
<view class="order-title-row">
|
||||
<view class="title order-title">{{ pageTitle }}</view>
|
||||
<button class="copy-order-button" aria-label="复制订单号" hover-class="copy-order-button--active" @click.stop="copyOrderNo">
|
||||
<view class="copy-order-button__icon">
|
||||
<view class="copy-order-button__sheet copy-order-button__sheet--back"></view>
|
||||
<view class="copy-order-button__sheet copy-order-button__sheet--front"></view>
|
||||
</view>
|
||||
</button>
|
||||
</view>
|
||||
<view class="subtitle">{{ detail.order_info.appraisal_no }}</view>
|
||||
</view>
|
||||
|
||||
@@ -261,6 +279,65 @@ onShow(() => {
|
||||
</template>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.order-title-row {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 14rpx;
|
||||
margin-top: 18rpx;
|
||||
}
|
||||
|
||||
.order-title {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
margin-top: 0;
|
||||
overflow-wrap: anywhere;
|
||||
word-break: break-all;
|
||||
}
|
||||
|
||||
.copy-order-button {
|
||||
position: relative;
|
||||
flex: 0 0 auto;
|
||||
width: 60rpx;
|
||||
height: 60rpx;
|
||||
margin-top: 2rpx;
|
||||
border: 1px solid var(--work-border);
|
||||
border-radius: var(--work-radius-sm);
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.copy-order-button--active {
|
||||
background: var(--work-card-muted);
|
||||
}
|
||||
|
||||
.copy-order-button__icon {
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
top: 50%;
|
||||
width: 36rpx;
|
||||
height: 40rpx;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
.copy-order-button__sheet {
|
||||
position: absolute;
|
||||
width: 26rpx;
|
||||
height: 30rpx;
|
||||
border: 3rpx solid var(--work-text);
|
||||
border-radius: 5rpx;
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
.copy-order-button__sheet--back {
|
||||
left: 1rpx;
|
||||
top: 1rpx;
|
||||
border-color: var(--work-text-soft);
|
||||
}
|
||||
|
||||
.copy-order-button__sheet--front {
|
||||
right: 1rpx;
|
||||
bottom: 1rpx;
|
||||
}
|
||||
|
||||
.timeline {
|
||||
display: grid;
|
||||
gap: 16rpx;
|
||||
|
||||
Reference in New Issue
Block a user