|
@@ -14,99 +14,19 @@
|
|
|
<view class="title">应收金额</view>
|
|
<view class="title">应收金额</view>
|
|
|
</view>
|
|
</view>
|
|
|
<view class="order-info">
|
|
<view class="order-info">
|
|
|
- <view class="info">
|
|
|
|
|
- <view class="label">订单编号</view>
|
|
|
|
|
- <view class="value">{{ orderInfo.orderId }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="info">
|
|
|
|
|
- <view class="label">商品名称</view>
|
|
|
|
|
- <view class="value">{{ orderInfo.productName }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="info">
|
|
|
|
|
- <view class="label">下单时间</view>
|
|
|
|
|
- <view class="value">{{ orderInfo.buyTime }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="info">
|
|
|
|
|
- <view class="label">核销时间</view>
|
|
|
|
|
- <view class="value">{{ orderInfo.writeOffTime }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="info">
|
|
|
|
|
- <view class="label">订单金额</view>
|
|
|
|
|
- <view class="value">{{ orderInfo.orderPrice }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="info">
|
|
|
|
|
- <view class="label">实付金额</view>
|
|
|
|
|
- <view class="value">{{ orderInfo.actualPayAmount }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="info">
|
|
|
|
|
- <view class="label">应收金额 </view>
|
|
|
|
|
- <view class="value">{{ orderInfo.payableToMerchant }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="info">
|
|
|
|
|
- <view class="label">
|
|
|
|
|
- 邀新分佣成本
|
|
|
|
|
- <image
|
|
|
|
|
- src="/static/finance/status/icon-remind.png"
|
|
|
|
|
- mode="aspectFit"
|
|
|
|
|
- style="width: 33rpx; height: 33rpx; margin-left: 8rpx"
|
|
|
|
|
- @click.stop="toggleTooltip('showTooltip')"
|
|
|
|
|
- ></image>
|
|
|
|
|
- <view class="tooltip" v-show="showTooltip">商户占比{{orderInfo.inviteNewUserCommissionMerchantRate}}%</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="value">{{ orderInfo.inviteNewUserCommissionMerchantCost }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="info">
|
|
|
|
|
- <view class="label">
|
|
|
|
|
- 优惠券成本
|
|
|
|
|
- <image
|
|
|
|
|
- class="tip-img"
|
|
|
|
|
- src="/static/finance/status/icon-remind.png"
|
|
|
|
|
- mode="aspectFit"
|
|
|
|
|
- style="width: 33rpx; height: 33rpx; margin-left: 8rpx"
|
|
|
|
|
- @click.stop="toggleTooltip('showTooltip1')"
|
|
|
|
|
- ></image>
|
|
|
|
|
- <view class="tooltip" v-show="showTooltip1">商户占比{{orderInfo.couponMerchantRate}}%</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="value">{{ orderInfo.couponMerchantCost }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="info">
|
|
|
|
|
|
|
+ <view v-for="(item, index) in orderFields" :key="index" class="info">
|
|
|
<view class="label">
|
|
<view class="label">
|
|
|
- 会员折扣成本
|
|
|
|
|
|
|
+ {{ item.title }}
|
|
|
<image
|
|
<image
|
|
|
|
|
+ v-if="item.isShowTip"
|
|
|
src="/static/finance/status/icon-remind.png"
|
|
src="/static/finance/status/icon-remind.png"
|
|
|
mode="aspectFit"
|
|
mode="aspectFit"
|
|
|
style="width: 33rpx; height: 33rpx; margin-left: 8rpx"
|
|
style="width: 33rpx; height: 33rpx; margin-left: 8rpx"
|
|
|
- @click.stop="toggleTooltip('showTooltip2')"
|
|
|
|
|
|
|
+ @click.stop="toggleTooltip(item.key)"
|
|
|
></image>
|
|
></image>
|
|
|
- <view class="tooltip" v-show="showTooltip2">商户占比{{orderInfo.memberDiscountMerchantRate}}%</view>
|
|
|
|
|
|
|
+ <view class="tooltip" v-show="showTooltip === item.key"> 商户占比{{ orderInfo[item.rateField] }}% </view>
|
|
|
</view>
|
|
</view>
|
|
|
- <view class="value">{{ orderInfo.memberDiscountMerchantCost }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="info">
|
|
|
|
|
- <view class="label">
|
|
|
|
|
- 金豆抵扣成本
|
|
|
|
|
- <image
|
|
|
|
|
- src="/static/finance/status/icon-remind.png"
|
|
|
|
|
- mode="aspectFit"
|
|
|
|
|
- style="width: 33rpx; height: 33rpx; margin-left: 8rpx"
|
|
|
|
|
- @click.stop="toggleTooltip('showTooltip3')"
|
|
|
|
|
- ></image>
|
|
|
|
|
- <view class="tooltip" v-show="showTooltip3">商户占比{{orderInfo.jinbiMerchantRate}}%</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="value">{{ orderInfo.jinbiMerchantCost }}</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="info">
|
|
|
|
|
- <view class="label">
|
|
|
|
|
- 推广分佣成本
|
|
|
|
|
- <image
|
|
|
|
|
- src="/static/finance/status/icon-remind.png"
|
|
|
|
|
- mode="aspectFit"
|
|
|
|
|
- style="width: 33rpx; height: 33rpx; margin-left: 8rpx"
|
|
|
|
|
- @click.stop="toggleTooltip('showTooltip4')"
|
|
|
|
|
- ></image>
|
|
|
|
|
- <view class="tooltip" v-show="showTooltip4">商户占比{{orderInfo.distributorCommissionMerchantRate}}%</view>
|
|
|
|
|
- </view>
|
|
|
|
|
- <view class="value">{{ orderInfo.distributorCommissionMerchantCost }}</view>
|
|
|
|
|
|
|
+ <view class="value">{{ orderInfo[item.valueField] }}</view>
|
|
|
</view>
|
|
</view>
|
|
|
</view>
|
|
</view>
|
|
|
|
|
|
|
@@ -120,19 +40,17 @@
|
|
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
import api from '@/api/account';
|
|
import api from '@/api/account';
|
|
|
|
|
+import {orderFields} from './dictionary';
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
name: 'OrderDetails',
|
|
name: 'OrderDetails',
|
|
|
data() {
|
|
data() {
|
|
|
return {
|
|
return {
|
|
|
orderId: '',
|
|
orderId: '',
|
|
|
- showTooltip: false,
|
|
|
|
|
- showTooltip1: false,
|
|
|
|
|
- showTooltip2: false,
|
|
|
|
|
- showTooltip3: false,
|
|
|
|
|
- showTooltip4: false,
|
|
|
|
|
orderInfo: {},
|
|
orderInfo: {},
|
|
|
- tooltipTimer: null
|
|
|
|
|
|
|
+ showTooltip: null,
|
|
|
|
|
+ tooltipTimer: null,
|
|
|
|
|
+ orderFields,
|
|
|
};
|
|
};
|
|
|
},
|
|
},
|
|
|
mounted() {
|
|
mounted() {
|
|
@@ -148,8 +66,8 @@ export default {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
onLoad(options) {
|
|
onLoad(options) {
|
|
|
- if (options.id) {
|
|
|
|
|
- this.orderId = options.id;
|
|
|
|
|
|
|
+ if (options.orderId) {
|
|
|
|
|
+ this.orderId = options.orderId;
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
onShow() {
|
|
onShow() {
|
|
@@ -169,44 +87,36 @@ export default {
|
|
|
});
|
|
});
|
|
|
},
|
|
},
|
|
|
// 处理点击事件,显示提示并设置10秒自动隐藏
|
|
// 处理点击事件,显示提示并设置10秒自动隐藏
|
|
|
- toggleTooltip(tooltipName) {
|
|
|
|
|
|
|
+ toggleTooltip(key) {
|
|
|
// 清除之前的定时器
|
|
// 清除之前的定时器
|
|
|
if (this.tooltipTimer) {
|
|
if (this.tooltipTimer) {
|
|
|
clearTimeout(this.tooltipTimer);
|
|
clearTimeout(this.tooltipTimer);
|
|
|
}
|
|
}
|
|
|
// 显示当前提示,隐藏其他提示
|
|
// 显示当前提示,隐藏其他提示
|
|
|
- this.showTooltip = tooltipName === 'showTooltip';
|
|
|
|
|
- this.showTooltip1 = tooltipName === 'showTooltip1';
|
|
|
|
|
- this.showTooltip2 = tooltipName === 'showTooltip2';
|
|
|
|
|
- this.showTooltip3 = tooltipName === 'showTooltip3';
|
|
|
|
|
- this.showTooltip4 = tooltipName === 'showTooltip4';
|
|
|
|
|
-
|
|
|
|
|
|
|
+ this.showTooltip = this.showTooltip === key ? null : key;
|
|
|
|
|
+
|
|
|
// 如果是显示状态,设置10秒后自动隐藏
|
|
// 如果是显示状态,设置10秒后自动隐藏
|
|
|
- if (this[tooltipName]) {
|
|
|
|
|
|
|
+ if (this.showTooltip) {
|
|
|
this.tooltipTimer = setTimeout(() => {
|
|
this.tooltipTimer = setTimeout(() => {
|
|
|
- this[tooltipName] = false;
|
|
|
|
|
|
|
+ this.showTooltip = null;
|
|
|
}, 10000); // 10秒自动隐藏
|
|
}, 10000); // 10秒自动隐藏
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
// 点击其他区域隐藏提示
|
|
// 点击其他区域隐藏提示
|
|
|
handleClickOutside(event) {
|
|
handleClickOutside(event) {
|
|
|
// 检查点击目标是否在提示或图片上
|
|
// 检查点击目标是否在提示或图片上
|
|
|
- const tooltipElements = document.querySelectorAll('.tooltip, .tip-img, image[src*="icon-remind.png"]');
|
|
|
|
|
|
|
+ const tooltipElements = document.querySelectorAll('.tooltip, image[src*="icon-remind.png"]');
|
|
|
let isClickOnTooltip = false;
|
|
let isClickOnTooltip = false;
|
|
|
-
|
|
|
|
|
- tooltipElements.forEach(element => {
|
|
|
|
|
|
|
+
|
|
|
|
|
+ tooltipElements.forEach((element) => {
|
|
|
if (element.contains(event.target)) {
|
|
if (element.contains(event.target)) {
|
|
|
isClickOnTooltip = true;
|
|
isClickOnTooltip = true;
|
|
|
}
|
|
}
|
|
|
});
|
|
});
|
|
|
-
|
|
|
|
|
|
|
+
|
|
|
// 如果点击的不是提示或图片,隐藏所有提示
|
|
// 如果点击的不是提示或图片,隐藏所有提示
|
|
|
if (!isClickOnTooltip) {
|
|
if (!isClickOnTooltip) {
|
|
|
- this.showTooltip = false;
|
|
|
|
|
- this.showTooltip1 = false;
|
|
|
|
|
- this.showTooltip2 = false;
|
|
|
|
|
- this.showTooltip3 = false;
|
|
|
|
|
- this.showTooltip4 = false;
|
|
|
|
|
|
|
+ this.showTooltip = null;
|
|
|
// 清除定时器
|
|
// 清除定时器
|
|
|
if (this.tooltipTimer) {
|
|
if (this.tooltipTimer) {
|
|
|
clearTimeout(this.tooltipTimer);
|
|
clearTimeout(this.tooltipTimer);
|
|
@@ -344,4 +254,4 @@ export default {
|
|
|
color: #666666;
|
|
color: #666666;
|
|
|
margin-top: 10rpx;
|
|
margin-top: 10rpx;
|
|
|
}
|
|
}
|
|
|
-</style>
|
|
|
|
|
|
|
+</style>
|