|
|
@@ -0,0 +1,214 @@
|
|
|
+<template>
|
|
|
+ <view class="settle">
|
|
|
+ <view class="fix">
|
|
|
+ <view class="top"></view>
|
|
|
+ <view class="head">
|
|
|
+ <span class="cuIcon-back" @click="back"></span>
|
|
|
+ <view class="case"> 结算详情-团餐 </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="settle-card">
|
|
|
+ <view class="settle-header">
|
|
|
+ <view class="amount">¥{{ settlementInfo.amountPayable }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="settle-info">
|
|
|
+ <view class="info">
|
|
|
+ <view class="label">订单编号</view>
|
|
|
+ <view class="value">{{ settlementInfo.statementNumber }}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="info">
|
|
|
+ <view class="label">下单时间</view>
|
|
|
+ <view class="value">{{ settlementInfo.createTime }}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="info">
|
|
|
+ <view class="label">成团时间</view>
|
|
|
+ <view class="value">{{ settlementInfo.groupMealTime }}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="info">
|
|
|
+ <view class="label">成团价</view>
|
|
|
+ <view class="value">{{ settlementInfo.groupMealPrice }}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="info">
|
|
|
+ <view class="label">应收金额</view>
|
|
|
+ <view class="value">{{ settlementInfo.amountPayable }}</view>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <view class="info">
|
|
|
+ <view class="label">拉新分佣成本</view>
|
|
|
+ <view class="value">{{ settlementInfo.newUserCommission }}</view>
|
|
|
+ </view>
|
|
|
+ <view class="remark"> 注:应收金额=成团价*商家分佣占比-拉新分佣成本</view>
|
|
|
+ </view>
|
|
|
+ <!-- 订单列表 -->
|
|
|
+ <view class="settle-list">
|
|
|
+ <GroupMealList :list="orderList"></GroupMealList>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import api from '@/api/account';
|
|
|
+import GroupMealList from './components/group-meal-list.vue';
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: 'SettlementDetails',
|
|
|
+ components: {
|
|
|
+ GroupMealList,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ bizId: '',
|
|
|
+ settlementInfo: {},
|
|
|
+ // 订单列表
|
|
|
+ orderList: [],
|
|
|
+ };
|
|
|
+ },
|
|
|
+ onLoad(options) {
|
|
|
+ if (options.id) {
|
|
|
+ this.bizId = options.id;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+ this.getDetails(this.bizId);
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getDetails(id) {
|
|
|
+ api
|
|
|
+ .settlementDetail(id)
|
|
|
+ .then((res) => {
|
|
|
+ if (res.data.code === 200) {
|
|
|
+ this.settlementInfo = res.data.result;
|
|
|
+ this.orderList = res.data.result.orderList || [];
|
|
|
+
|
|
|
+ } else {
|
|
|
+ uni.showToast({
|
|
|
+ title: res.data.msg || '获取结算详情失败',
|
|
|
+ icon: 'none',
|
|
|
+ });
|
|
|
+ }
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ uni.showToast({
|
|
|
+ title: '获取结算详情失败',
|
|
|
+ icon: 'none',
|
|
|
+ });
|
|
|
+ });
|
|
|
+ },
|
|
|
+ back() {
|
|
|
+ uni.navigateBack({
|
|
|
+ delta: 1,
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+.settle {
|
|
|
+ background: #f7f8fc;
|
|
|
+ min-height: 100vh;
|
|
|
+ font-family: Source Han Sans SC;
|
|
|
+ padding-bottom: 100rpx;
|
|
|
+
|
|
|
+ .fix {
|
|
|
+ position: sticky;
|
|
|
+ top: 0;
|
|
|
+ /*#ifdef APP-PLUS*/
|
|
|
+ .top {
|
|
|
+ width: 100%;
|
|
|
+ height: var(--status-bar-height);
|
|
|
+ background: #fff;
|
|
|
+ }
|
|
|
+
|
|
|
+ /*#endif*/
|
|
|
+
|
|
|
+ .head {
|
|
|
+ width: 100%;
|
|
|
+ height: 112rpx;
|
|
|
+ padding: 20rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ background: #fff;
|
|
|
+ position: relative;
|
|
|
+ border-bottom: 1rpx solid #eeeeee;
|
|
|
+
|
|
|
+ .cuIcon-back {
|
|
|
+ font-size: 40rpx;
|
|
|
+ margin-right: 40rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .case {
|
|
|
+ position: absolute;
|
|
|
+ left: 50%;
|
|
|
+ transform: translateX(-50%);
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 38rpx;
|
|
|
+ color: #333333;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .settle-card {
|
|
|
+ background-color: #fff;
|
|
|
+ padding: 30rpx 31rpx 10rpx;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.settle-header {
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ font-weight: 500;
|
|
|
+
|
|
|
+ .amount {
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 63rpx;
|
|
|
+ color: #1f1f1f;
|
|
|
+ margin-bottom: 41rpx;
|
|
|
+ }
|
|
|
+}
|
|
|
+.settle-info {
|
|
|
+ background-color: #fff;
|
|
|
+ margin-bottom: 20rpx;
|
|
|
+}
|
|
|
+
|
|
|
+.info {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+ padding-bottom: 21rpx;
|
|
|
+
|
|
|
+ &:last-child {
|
|
|
+ border-bottom: none;
|
|
|
+ }
|
|
|
+
|
|
|
+ .label {
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 31rpx;
|
|
|
+ color: #666666;
|
|
|
+ }
|
|
|
+
|
|
|
+ .value {
|
|
|
+ font-weight: 500;
|
|
|
+ font-size: 31rpx;
|
|
|
+ color: #333333;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+.settle-list {
|
|
|
+ margin-top: 42rpx;
|
|
|
+}
|
|
|
+.remark {
|
|
|
+ font-weight: 400;
|
|
|
+ font-size: 25rpx;
|
|
|
+ color: #666666;
|
|
|
+ margin-top: 10rpx;
|
|
|
+}
|
|
|
+</style>
|