|
@@ -1,109 +1,93 @@
|
|
|
<template>
|
|
<template>
|
|
|
- <view>
|
|
|
|
|
- <view class="goods-section">
|
|
|
|
|
- <view class="g-item" style="padding-top: 10px;">
|
|
|
|
|
- <view class="right">
|
|
|
|
|
- <view class="price-box">
|
|
|
|
|
- <text class="font12">¥</text>
|
|
|
|
|
- <text class="price">{{ ((state.detail.amount) / 100).toFixed(2) }}</text>
|
|
|
|
|
- <text class="font12">元</text>
|
|
|
|
|
- </view>
|
|
|
|
|
- <block class="price-dsc">洗车消费</block>
|
|
|
|
|
|
|
+ <view class="container">
|
|
|
|
|
+ <!-- 订单总览 -->
|
|
|
|
|
+ <view class="order-overview">
|
|
|
|
|
+ <view class="order-overview_content">
|
|
|
|
|
+ <view class="order-overview_amount">
|
|
|
|
|
+ <text class="order-overview_currency">¥</text>
|
|
|
|
|
+ <text class="order-overview_price">{{ ((state.detail.amount) / 100).toFixed(2) }}</text>
|
|
|
|
|
+ <text class="order-overview_unit">元</text>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
+ <text class="order-overview_type">洗车消费</text>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
- <view class="yt-list">
|
|
|
|
|
- <view class="yt-list-cell b-b">
|
|
|
|
|
- <text class="cell-tit clamp">订单编号</text>
|
|
|
|
|
- <text class="cell-tip copy" @click="handleCopy">{{ state.detail.orderId }}
|
|
|
|
|
- <uv-icon name="info-circle"></uv-icon>
|
|
|
|
|
|
|
+ <!-- 订单信息 -->
|
|
|
|
|
+ <view class="order-info">
|
|
|
|
|
+ <view class="order-info_item">
|
|
|
|
|
+ <text class="order-info_label">订单编号</text>
|
|
|
|
|
+ <text class="order-info_value">
|
|
|
|
|
+ {{ state.detail.orderId }}
|
|
|
|
|
+ <text class="copy-icon" @click.stop="handleCopy">复制</text>
|
|
|
</text>
|
|
</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="yt-list-cell b-b">
|
|
|
|
|
- <text class="cell-tit clamp">总消费金额</text>
|
|
|
|
|
- <text class="cell-tip red">-¥{{ ((state.detail.amount) / 100).toFixed(2) }}元</text>
|
|
|
|
|
|
|
+ <view class="order-info_item">
|
|
|
|
|
+ <text class="order-info_label">总消费金额</text>
|
|
|
|
|
+ <text class="order-info_value red">-¥{{ ((state.detail.amount) / 100).toFixed(2) }}元</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="yt-list-cell b-b">
|
|
|
|
|
- <text class="cell-tit clamp">充值款支付金额</text>
|
|
|
|
|
- <text class="cell-tip red">-¥{{ ((state.detail.rechargePayment) / 100).toFixed(2) }}元</text>
|
|
|
|
|
|
|
+ <view class="order-info_item">
|
|
|
|
|
+ <text class="order-info_label">充值款支付</text>
|
|
|
|
|
+ <text class="order-info_value red">-¥{{ ((state.detail.rechargePayment) / 100).toFixed(2) }}元</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="yt-list-cell b-b">
|
|
|
|
|
- <text class="cell-tit clamp">赠款支付金额</text>
|
|
|
|
|
- <text class="cell-tip red">-¥{{ ((state.detail.grantsPayment) / 100).toFixed(2) }}元</text>
|
|
|
|
|
|
|
+ <view class="order-info_item">
|
|
|
|
|
+ <text class="order-info_label">赠款支付</text>
|
|
|
|
|
+ <text class="order-info_value red">-¥{{ ((state.detail.grantsPayment) / 100).toFixed(2) }}元</text>
|
|
|
</view>
|
|
</view>
|
|
|
-
|
|
|
|
|
- <view class="yt-list-cell b-b">
|
|
|
|
|
- <text class="cell-tit clamp">优惠金额</text>
|
|
|
|
|
- <text class="cell-tip red">-¥{{ ((state.detail.discountMoney) / 100).toFixed(2) }}元</text>
|
|
|
|
|
|
|
+ <view class="order-info_item">
|
|
|
|
|
+ <text class="order-info_label">优惠金额</text>
|
|
|
|
|
+ <text class="order-info_value red">-¥{{ ((state.detail.discountMoney) / 100).toFixed(2) }}元</text>
|
|
|
</view>
|
|
</view>
|
|
|
-
|
|
|
|
|
- <view class="yt-list-cell b-b">
|
|
|
|
|
- <text class="cell-tit clamp">订单状态</text>
|
|
|
|
|
- <text class="cell-tip" :class="state.detail.orderStatus==0?'primary':(state.detail.orderStatus==1?'success':'error')">
|
|
|
|
|
|
|
+ <view class="order-info_item">
|
|
|
|
|
+ <text class="order-info_label">订单状态</text>
|
|
|
|
|
+ <text class="order-info_value" :class="state.detail.orderStatus==0?'primary':(state.detail.orderStatus==1?'success':'error')">
|
|
|
{{ fmtDictName('Order.status', state.detail.orderStatus) }}
|
|
{{ fmtDictName('Order.status', state.detail.orderStatus) }}
|
|
|
</text>
|
|
</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="yt-list-cell b-b">
|
|
|
|
|
- <text class="cell-tit clamp">支付状态</text>
|
|
|
|
|
- <text class="cell-tip" :class="state.detail.payStatus==0?'primary':(state.detail.payStatus==1?'success':'error')">
|
|
|
|
|
|
|
+ <view class="order-info_item">
|
|
|
|
|
+ <text class="order-info_label">支付状态</text>
|
|
|
|
|
+ <text class="order-info_value" :class="state.detail.payStatus==0?'primary':(state.detail.payStatus==1?'success':'error')">
|
|
|
{{ fmtDictName('Order.pay', state.detail.payStatus) }}
|
|
{{ fmtDictName('Order.pay', state.detail.payStatus) }}
|
|
|
</text>
|
|
</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="yt-list-cell b-b">
|
|
|
|
|
- <text class="cell-tit clamp">开始时间</text>
|
|
|
|
|
- <text class="cell-tip">{{ fmtDateTime(state.detail.startTime) }}</text>
|
|
|
|
|
|
|
+ <view class="order-info_item">
|
|
|
|
|
+ <text class="order-info_label">开始时间</text>
|
|
|
|
|
+ <text class="order-info_value">{{ fmtDateTime(state.detail.startTime) }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="yt-list-cell b-b">
|
|
|
|
|
- <text class="cell-tit clamp">结束时间</text>
|
|
|
|
|
- <text class="cell-tip">{{ fmtDateTime(state.detail.endTime) }}</text>
|
|
|
|
|
|
|
+ <view class="order-info_item">
|
|
|
|
|
+ <text class="order-info_label">结束时间</text>
|
|
|
|
|
+ <text class="order-info_value">{{ fmtDateTime(state.detail.endTime) }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="yt-list-cell desc-cell">
|
|
|
|
|
- <text class="cell-tit clamp">备注</text>
|
|
|
|
|
- {{ state.detail.remark }}
|
|
|
|
|
|
|
+ <view class="order-info_item">
|
|
|
|
|
+ <text class="order-info_label">备注</text>
|
|
|
|
|
+ <text class="order-info_value">{{ state.detail.remark || '无' }}</text>
|
|
|
</view>
|
|
</view>
|
|
|
- <!-- <view class="yt-list-cell b-b">
|
|
|
|
|
- <text class="cell-tit clamp">交易时间</text>
|
|
|
|
|
- <text class="cell-tip">{{ fmtDateTime(state.detail.transactionTime) }}</text>
|
|
|
|
|
- </view>-->
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="btn">
|
|
|
|
|
- <!-- <view class="btn_2" @click="jump_torefund(my_order.order_id)">退款</view>-->
|
|
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
|
- <view class="w100 gap"></view>
|
|
|
|
|
<!-- 金额明细 -->
|
|
<!-- 金额明细 -->
|
|
|
- <view class="order-item ml5 font14 color-info">费用明细</view>
|
|
|
|
|
- <!-- <view class="yt-list">
|
|
|
|
|
- <view class="yt-list-cell b-b">
|
|
|
|
|
- <text class="cell-tit clamp">订单编号</text>
|
|
|
|
|
- <text class="cell-tip copy" @click="handleCopy">{{ state.detail.orderNo }}
|
|
|
|
|
- <uv-icon name="info-circle"></uv-icon>
|
|
|
|
|
- </text>
|
|
|
|
|
- </view>
|
|
|
|
|
- </view>-->
|
|
|
|
|
- <view class="order-item_header">
|
|
|
|
|
- <view class="order-item_header_left">
|
|
|
|
|
- <text class="order-item_header_left_title">项目</text>
|
|
|
|
|
- <text class="order-item_header_left_price">时长</text>
|
|
|
|
|
- <text class="order-item_header_left_num">单价</text>
|
|
|
|
|
- <text class="order-item_header_left_total">小计</text>
|
|
|
|
|
|
|
+ <view class="fee-detail">
|
|
|
|
|
+ <view class="fee-detail_header">
|
|
|
|
|
+ <text class="fee-detail_title">费用明细</text>
|
|
|
</view>
|
|
</view>
|
|
|
- </view>
|
|
|
|
|
- <view class="order-item_body">
|
|
|
|
|
- <view class="order-item_body_item" v-for="item in state.detail.orderItems" :key="item.id">
|
|
|
|
|
- <view class="order-item_body_item_left">
|
|
|
|
|
- <text class="order-item_body_item_left_name clamp">{{ item.name }}</text>
|
|
|
|
|
- <text class="order-item_body_item_left_num">{{ item.seconds }}</text>
|
|
|
|
|
- <text class="order-item_body_item_left_price">{{ item.price }}</text>
|
|
|
|
|
- <text class="order-item_body_item_left_total">¥{{ item.amount }}元</text>
|
|
|
|
|
|
|
+ <view class="fee-detail_table">
|
|
|
|
|
+ <view class="fee-detail_header-row">
|
|
|
|
|
+ <text class="fee-detail_header-cell">项目</text>
|
|
|
|
|
+ <text class="fee-detail_header-cell">时长</text>
|
|
|
|
|
+ <text class="fee-detail_header-cell">单价</text>
|
|
|
|
|
+ <text class="fee-detail_header-cell">小计</text>
|
|
|
|
|
+ </view>
|
|
|
|
|
+ <view class="fee-detail_body">
|
|
|
|
|
+ <view class="fee-detail_row" v-for="item in state.detail.orderItems" :key="item.id">
|
|
|
|
|
+ <text class="fee-detail_cell">{{ item.name }}</text>
|
|
|
|
|
+ <text class="fee-detail_cell">{{ item.seconds }}</text>
|
|
|
|
|
+ <text class="fee-detail_cell">{{ item.price }}</text>
|
|
|
|
|
+ <text class="fee-detail_cell fee-detail_total">¥{{ item.amount }}元</text>
|
|
|
|
|
+ </view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
-
|
|
|
|
|
-
|
|
|
|
|
</template>
|
|
</template>
|
|
|
|
|
+
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
|
|
|
|
|
import {onHide, onShow, onLoad} from "@dcloudio/uni-app";
|
|
import {onHide, onShow, onLoad} from "@dcloudio/uni-app";
|
|
@@ -114,7 +98,8 @@ import {fmtDictName, fmtDateTime, fmtDuration, fmtMoney} from "@/utils/common";
|
|
|
|
|
|
|
|
const initState = () => ({
|
|
const initState = () => ({
|
|
|
detail: {
|
|
detail: {
|
|
|
- orderItems:[] as any[]
|
|
|
|
|
|
|
+ orderItems:[] as any[],
|
|
|
|
|
+ orderId: ''
|
|
|
} as any
|
|
} as any
|
|
|
})
|
|
})
|
|
|
|
|
|
|
@@ -134,8 +119,27 @@ onLoad((options: any) => {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
let {orderNo, id, type} = options;
|
|
let {orderNo, id, type} = options;
|
|
|
|
|
+
|
|
|
|
|
+ // 先保存URL中的订单编号,确保复制功能可用
|
|
|
|
|
+ if (orderNo) {
|
|
|
|
|
+ state.detail.orderId = orderNo;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
get(`/wash-order/detailWashOrder?userId=${user.id}&orderId=${orderNo}`).then((res: any) => {
|
|
get(`/wash-order/detailWashOrder?userId=${user.id}&orderId=${orderNo}`).then((res: any) => {
|
|
|
- state.detail = res;
|
|
|
|
|
|
|
+ // 合并API返回的数据,保留已保存的orderId
|
|
|
|
|
+ state.detail = {
|
|
|
|
|
+ ...state.detail,
|
|
|
|
|
+ ...res
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ // 检查API返回的数据结构,尝试获取订单编号
|
|
|
|
|
+ if (res.orderId) {
|
|
|
|
|
+ state.detail.orderId = res.orderId;
|
|
|
|
|
+ } else if (res.id) {
|
|
|
|
|
+ state.detail.orderId = res.id;
|
|
|
|
|
+ } else if (res.orderNo) {
|
|
|
|
|
+ state.detail.orderId = res.orderNo;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
state.detail.orderItems = res.detail?.filter((k: any) => k.amount > 0 || k.seconds > 0).map((s: any) => {
|
|
state.detail.orderItems = res.detail?.filter((k: any) => k.amount > 0 || k.seconds > 0).map((s: any) => {
|
|
|
return {
|
|
return {
|
|
@@ -156,273 +160,225 @@ onHide(() => {
|
|
|
|
|
|
|
|
|
|
|
|
|
const handleCopy = () => {
|
|
const handleCopy = () => {
|
|
|
- if (!state.detail.orderId) return;
|
|
|
|
|
- uni.setClipboardData({
|
|
|
|
|
- data: state.detail.orderId,
|
|
|
|
|
- success: function () {
|
|
|
|
|
- uni.showToast({
|
|
|
|
|
|
|
+ // 确保orderId存在且为字符串
|
|
|
|
|
+ let orderId = state.detail.orderId;
|
|
|
|
|
+
|
|
|
|
|
+ // 使用微信小程序原生API复制文本
|
|
|
|
|
+ wx.setClipboardData({
|
|
|
|
|
+ data: orderId,
|
|
|
|
|
+ success: function() {
|
|
|
|
|
+ wx.showToast({
|
|
|
title: '复制成功',
|
|
title: '复制成功',
|
|
|
icon: 'success',
|
|
icon: 'success',
|
|
|
- })
|
|
|
|
|
|
|
+ duration: 2000
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ fail: function(error) {
|
|
|
|
|
+ console.error('复制到剪贴板失败:', error);
|
|
|
|
|
+
|
|
|
|
|
+ // 尝试使用uni-app API作为备选方案
|
|
|
|
|
+ uni.setClipboardData({
|
|
|
|
|
+ data: orderId,
|
|
|
|
|
+ success: function() {
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: '复制成功',
|
|
|
|
|
+ icon: 'success',
|
|
|
|
|
+ duration: 2000
|
|
|
|
|
+ });
|
|
|
|
|
+ },
|
|
|
|
|
+ fail: function() {
|
|
|
|
|
+ uni.showToast({
|
|
|
|
|
+ title: '复制失败',
|
|
|
|
|
+ icon: 'none'
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
- })
|
|
|
|
|
|
|
+ });
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
-
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
|
-page {
|
|
|
|
|
|
|
+.container {
|
|
|
background: #f8f8f8;
|
|
background: #f8f8f8;
|
|
|
- padding-bottom: 100rpx;
|
|
|
|
|
|
|
+ padding-bottom: 30rpx;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-.copy {
|
|
|
|
|
- color: $uni-color-primary !important;
|
|
|
|
|
|
|
+/* 订单总览 */
|
|
|
|
|
+.order-overview {
|
|
|
|
|
+ margin-top: 20rpx;
|
|
|
|
|
+ background: #ffffff;
|
|
|
|
|
+ border-radius: 12rpx;
|
|
|
|
|
+ box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05);
|
|
|
|
|
+ padding: 40rpx 30rpx;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+.order-overview_content {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ flex-direction: column;
|
|
|
|
|
+ align-items: center;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
-.goods-section {
|
|
|
|
|
- margin-top: 16rpx;
|
|
|
|
|
- background: #fff;
|
|
|
|
|
- padding-bottom: 1px;
|
|
|
|
|
-
|
|
|
|
|
- .g-header {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- align-items: center;
|
|
|
|
|
- height: 84rpx;
|
|
|
|
|
- padding: 0 30rpx;
|
|
|
|
|
- position: relative;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .logo {
|
|
|
|
|
- display: block;
|
|
|
|
|
- width: 50rpx;
|
|
|
|
|
- height: 50rpx;
|
|
|
|
|
- border-radius: 100px;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .name {
|
|
|
|
|
- font-size: 30rpx;
|
|
|
|
|
- color: #606266;
|
|
|
|
|
- margin-left: 24rpx;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .g-item {
|
|
|
|
|
- display: flex;
|
|
|
|
|
- margin: 20rpx 30rpx;
|
|
|
|
|
-
|
|
|
|
|
- image {
|
|
|
|
|
- flex-shrink: 0;
|
|
|
|
|
- display: block;
|
|
|
|
|
- width: 140rpx;
|
|
|
|
|
- height: 140rpx;
|
|
|
|
|
- border-radius: 4rpx;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .right {
|
|
|
|
|
- flex: 1;
|
|
|
|
|
- padding-left: 24rpx;
|
|
|
|
|
- overflow: hidden;
|
|
|
|
|
- text-align: center;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .title {
|
|
|
|
|
- font-size: 30rpx;
|
|
|
|
|
- color: #303133;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .spec {
|
|
|
|
|
- font-size: 26rpx;
|
|
|
|
|
- color: #909399;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- .price-box {
|
|
|
|
|
- /* display: flex; */
|
|
|
|
|
- /* align-items: center; */
|
|
|
|
|
- color: #303133;
|
|
|
|
|
- padding-top: 10rpx;
|
|
|
|
|
|
|
+.order-overview_amount {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ align-items: baseline;
|
|
|
|
|
+ margin-bottom: 10rpx;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .price {
|
|
|
|
|
- margin-bottom: 4rpx;
|
|
|
|
|
- font-size: 48rpx;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.order-overview_currency {
|
|
|
|
|
+ font-size: 32rpx;
|
|
|
|
|
+ color: #fa436a;
|
|
|
|
|
+ margin-right: 4rpx;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .number {
|
|
|
|
|
- font-size: 26rpx;
|
|
|
|
|
- color: #606266;
|
|
|
|
|
- margin-left: 20rpx;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.order-overview_price {
|
|
|
|
|
+ font-size: 64rpx;
|
|
|
|
|
+ font-weight: 600;
|
|
|
|
|
+ color: #fa436a;
|
|
|
|
|
+ line-height: 1;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .price-dsc {
|
|
|
|
|
- font-size: 26rpx;
|
|
|
|
|
- color: $uni-text-color-tertiary;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.order-overview_unit {
|
|
|
|
|
+ font-size: 32rpx;
|
|
|
|
|
+ color: #fa436a;
|
|
|
|
|
+ margin-left: 4rpx;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .step-box {
|
|
|
|
|
- position: relative;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.order-overview_type {
|
|
|
|
|
+ font-size: 28rpx;
|
|
|
|
|
+ color: #606266;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-.yt-list {
|
|
|
|
|
- margin-top: 16rpx;
|
|
|
|
|
- background: #fff;
|
|
|
|
|
|
|
+/* 订单信息 */
|
|
|
|
|
+.order-info {
|
|
|
|
|
+ margin-top: 20rpx;
|
|
|
|
|
+ background: #ffffff;
|
|
|
|
|
+ border-radius: 12rpx;
|
|
|
|
|
+ box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05);
|
|
|
|
|
+ overflow: hidden;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-.yt-list-cell {
|
|
|
|
|
|
|
+.order-info_item {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
|
|
+ justify-content: space-between;
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
- padding: 10rpx 30rpx 10rpx 40rpx;
|
|
|
|
|
- line-height: 50rpx;
|
|
|
|
|
- position: relative;
|
|
|
|
|
|
|
+ padding: 24rpx 30rpx;
|
|
|
|
|
+ border-bottom: 1rpx solid #f0f0f0;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- &.cell-hover {
|
|
|
|
|
- background: #fafafa;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.order-info_item:last-child {
|
|
|
|
|
+ border-bottom: none;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- &.b-b:after {
|
|
|
|
|
- left: 30rpx;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.order-info_label {
|
|
|
|
|
+ font-size: 28rpx;
|
|
|
|
|
+ color: #606266;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .cell-icon {
|
|
|
|
|
- height: 32rpx;
|
|
|
|
|
- width: 32rpx;
|
|
|
|
|
- font-size: 22rpx;
|
|
|
|
|
- color: #fff;
|
|
|
|
|
- text-align: center;
|
|
|
|
|
- line-height: 32rpx;
|
|
|
|
|
- background: #f85e52;
|
|
|
|
|
- border-radius: 4rpx;
|
|
|
|
|
- margin-right: 12rpx;
|
|
|
|
|
-
|
|
|
|
|
- &.hb {
|
|
|
|
|
- background: #ffaa0e;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.order-info_value {
|
|
|
|
|
+ font-size: 28rpx;
|
|
|
|
|
+ color: #303133;
|
|
|
|
|
+ text-align: right;
|
|
|
|
|
+ flex-shrink: 0;
|
|
|
|
|
+ margin-left: 40rpx;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- &.lpk {
|
|
|
|
|
- background: #3ab54a;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.copy-icon {
|
|
|
|
|
+ background-color: $uni-color-primary;
|
|
|
|
|
+ color: white;
|
|
|
|
|
+ padding: 6rpx 16rpx;
|
|
|
|
|
+ border-radius: 16rpx;
|
|
|
|
|
+ font-size: 22rpx;
|
|
|
|
|
+ margin-left: 10rpx;
|
|
|
|
|
+ transition: all 0.3s ease;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+ display: inline-block;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.copy-icon:active {
|
|
|
|
|
+ opacity: 0.8;
|
|
|
|
|
+ transform: scale(0.95);
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .cell-more {
|
|
|
|
|
- align-self: center;
|
|
|
|
|
- font-size: 24rpx;
|
|
|
|
|
- color: #909399;
|
|
|
|
|
- margin-left: 8rpx;
|
|
|
|
|
- margin-right: -10upx;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.order-info_value.red {
|
|
|
|
|
+ color: #fa436a;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .cell-tit {
|
|
|
|
|
- flex: 1;
|
|
|
|
|
- font-size: 26rpx;
|
|
|
|
|
- //color: #909399;
|
|
|
|
|
- margin-right: 10rpx;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+/* 费用明细 */
|
|
|
|
|
+.fee-detail {
|
|
|
|
|
+ margin-top: 20rpx;
|
|
|
|
|
+ background: #ffffff;
|
|
|
|
|
+ border-radius: 12rpx;
|
|
|
|
|
+ box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05);
|
|
|
|
|
+ overflow: hidden;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .cell-tip {
|
|
|
|
|
- font-size: 28rpx;
|
|
|
|
|
- color: #303133;
|
|
|
|
|
|
|
+.fee-detail_header {
|
|
|
|
|
+ padding: 24rpx 30rpx;
|
|
|
|
|
+ border-bottom: 1rpx solid #f0f0f0;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- &.disabled {
|
|
|
|
|
- color: #909399;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.fee-detail_title {
|
|
|
|
|
+ font-size: 32rpx;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ color: #303133;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- &.active {
|
|
|
|
|
- color: #fa436a;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.fee-detail_table {
|
|
|
|
|
+ width: 100%;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- &.red {
|
|
|
|
|
- color: #fa436a;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.fee-detail_header-row {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ background-color: #fafafa;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- &.desc-cell {
|
|
|
|
|
- .cell-tit {
|
|
|
|
|
- max-width: 90rpx;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.fee-detail_header-cell {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ padding: 20rpx;
|
|
|
|
|
+ font-size: 26rpx;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+ color: #606266;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
- .desc {
|
|
|
|
|
- flex: 1;
|
|
|
|
|
- font-size: 28rpx;
|
|
|
|
|
- color: #303133;
|
|
|
|
|
- }
|
|
|
|
|
|
|
+.fee-detail_body {
|
|
|
|
|
+ background-color: #ffffff;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+.fee-detail_row {
|
|
|
|
|
+ display: flex;
|
|
|
|
|
+ border-bottom: 1rpx solid #f0f0f0;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
|
|
+.fee-detail_row:last-child {
|
|
|
|
|
+ border-bottom: none;
|
|
|
|
|
+}
|
|
|
|
|
|
|
|
|
|
+.fee-detail_cell {
|
|
|
|
|
+ flex: 1;
|
|
|
|
|
+ padding: 24rpx 20rpx;
|
|
|
|
|
+ font-size: 26rpx;
|
|
|
|
|
+ color: #303133;
|
|
|
|
|
+ text-align: center;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+.fee-detail_total {
|
|
|
|
|
+ color: #fa436a;
|
|
|
|
|
+ font-weight: 500;
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+/* 状态颜色 */
|
|
|
.primary {
|
|
.primary {
|
|
|
color: $uni-color-primary !important;
|
|
color: $uni-color-primary !important;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
.success {
|
|
.success {
|
|
|
color: $uni-color-success !important;
|
|
color: $uni-color-success !important;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
-
|
|
|
|
|
.error {
|
|
.error {
|
|
|
color: $uni-color-error !important;
|
|
color: $uni-color-error !important;
|
|
|
}
|
|
}
|
|
|
-
|
|
|
|
|
-.gap {
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- height: 36rpx;
|
|
|
|
|
- background-color: #f5f3f3;
|
|
|
|
|
- margin-top: 15rpx;
|
|
|
|
|
- margin-bottom: 10rpx;
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-.order-item{
|
|
|
|
|
- &_header{
|
|
|
|
|
- width: 100%;
|
|
|
|
|
-
|
|
|
|
|
- &_left{
|
|
|
|
|
- padding:5px;
|
|
|
|
|
- width: 100%;
|
|
|
|
|
- background-color: #eeefff;
|
|
|
|
|
- font-size: 24rpx;
|
|
|
|
|
- //color: #909399;
|
|
|
|
|
- //color: #2c405a;
|
|
|
|
|
- //font-size: 16px;
|
|
|
|
|
- display: inline-flex;
|
|
|
|
|
- justify-content: space-around;
|
|
|
|
|
-
|
|
|
|
|
- &_title,&_price,&_total,&_num{
|
|
|
|
|
- width: 25%;
|
|
|
|
|
- text-align: center;
|
|
|
|
|
- //border: 1px solid #ccc;
|
|
|
|
|
- padding: 5px 0;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- &_body{
|
|
|
|
|
- width: 100%;
|
|
|
|
|
-
|
|
|
|
|
- &_item{
|
|
|
|
|
- font-size: 14px;
|
|
|
|
|
-
|
|
|
|
|
- &_left{
|
|
|
|
|
- display: inline-flex;
|
|
|
|
|
- justify-content: space-around;
|
|
|
|
|
- width: 100%;
|
|
|
|
|
-
|
|
|
|
|
- &_left,&_price,&_total,&_num,&_name{
|
|
|
|
|
- width: 25%;
|
|
|
|
|
- text-align: center;
|
|
|
|
|
- border: 1px solid #ccc;
|
|
|
|
|
- border-right: none;
|
|
|
|
|
- border-top: none;
|
|
|
|
|
- font-size: 24rpx;
|
|
|
|
|
- padding: 5px 0;
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
</style>
|
|
</style>
|