panhui hace 3 años
padre
commit
d7d5a56b26

BIN
src/assets/info_icon_time2.png


+ 15 - 0
src/components/PayMethodPick.vue

@@ -29,6 +29,10 @@ export default {
         showBalance: {
             type: Boolean,
             default: true
+        },
+        onlyBalance: {
+            type: Boolean,
+            default: false
         }
     },
     computed: {
@@ -50,6 +54,17 @@ export default {
                 }
             ];
             this.checked = 'BALANCE';
+        } else if (this.onlyBalance) {
+            this.payConfig = [
+                {
+                    name: '余额',
+                    key: 'BALANCE',
+                    icon: 'https://cdn.raex.vip/image/2022-05-18-17-46-19eDglIIAy.png',
+                    show: true,
+                    enabled: true
+                }
+            ];
+            this.checked = 'BALANCE';
         } else {
             this.$http.get('/sysConfig/get/pay_config').then(res => {
                 let configs = JSON.parse(res.value).filter(item => {

+ 3 - 3
src/components/auction/deposit.vue

@@ -20,7 +20,7 @@
                     <img class="choose-icon" :src="payType === item.type ? icons[1] : icons[0]" alt="" />
                 </div> -->
 
-                <pay-method-pick v-model="payType"></pay-method-pick>
+                <pay-method-pick v-model="payType" onlyBalance></pay-method-pick>
             </div>
         </div>
         <div class="bottom">
@@ -440,8 +440,8 @@ export default {
                             forbidClick: true
                         });
                         this.$http
-                            .post('/tradeAuctionOrder/testPay', {
-                                orderId: this.orderId,
+                            .post('/payOrder/v2/tradeAuction/balance', {
+                                id: this.orderId,
                                 tradeCode: this.tradeCode
                             })
                             .then(res => {

+ 11 - 8
src/components/auction/info.vue

@@ -209,14 +209,17 @@ export default {
     &.isDark {
         background-color: #000000;
         color: #fff;
-
-        .time {
-            span {
-                background-color: transparent;
-                border: 1px solid #ffe196;
-                color: #ffe196;
-                .van-count-down {
-                    color: #ffe196;
+        .content {
+            .text2 {
+                .time {
+                    background-color: transparent;
+                    border: 1px solid #ffe196;
+                    span {
+                        color: #ffe196;
+                        .van-count-down {
+                            color: #ffe196;
+                        }
+                    }
                 }
             }
         }

+ 7 - 6
src/components/auction/records.vue

@@ -10,9 +10,9 @@
                 </div>
                 <van-list class="list" v-model:loading="loading" :finished="finished" finished-text="" @load="getData">
                     <div class="record-item" v-for="(item, index) in list" :key="index">
-                        <span>{{ item.user }}</span>
+                        <span>{{ item.nickname }}</span>
                         <span>{{ index === 0 ? '领先' : '出局' }}</span>
-                        <span>¥{{ item.bidderPrice || 0 }}</span>
+                        <span>¥{{ item.currentPrice || 0 }}</span>
                         <span>{{ showTime(item.createdAt) }}</span>
                     </div>
                     <div class="empty" v-if="empty">暂无拍卖纪录</div>
@@ -41,7 +41,7 @@ export default {
     data() {
         return {
             show: false,
-            url: '/auctionRecord/all',
+            url: '/tradeAuctionOrder/all',
             size: 10
         };
     },
@@ -49,9 +49,10 @@ export default {
         beforeData() {
             return {
                 query: {
-                    auctionId: this.auctionId,
-                    type: 'BIDDER',
-                    del: false
+                    tradeAuctionId: this.auctionId,
+                    del: false,
+                    status: 'FINISH',
+                    paymentType: 'DEPOSIT,PURCHASE_PRICE'
                 },
                 sort: 'id,desc'
             };

+ 36 - 61
src/components/order/OrderInfoAuction.vue

@@ -28,21 +28,21 @@
                     </div>
                 </div>
 
-                <div class="text3" v-if="type !== 'FIXED_PRICE'">
-                    <span class="text3-1">保证金</span>
+                <div class="text3">
+                    <span class="text3-1">起拍价</span>
                     <div class="price">
                         <!-- <img src="../../assets/icon_jiage_hei.png" alt="" /> -->
-                        <span>¥{{ info.deposit }}{{ deposit ? `(${deposit})` : '' }}</span>
+                        <span>¥{{ info.orginPrice || 0 }}</span>
                     </div>
                     <!-- <span class="text3-3">出价{{ info.bids }}次</span> -->
                 </div>
             </div>
         </div>
         <div class="bottom">
-            <div class="tips">{{ showText }}: {{ info.createdAt || info.createdTime }}</div>
+            <div class="tips">手续费 ¥{{ info.serviceCharge }}</div>
             <div class="price">
-                <span class="text1">{{ payText }}</span>
-                <span class="text2" :style="{ color: priceColor }">¥{{ info.totalPrice || info.bidderPrice }}</span>
+                <span class="text1">叫价</span>
+                <span class="text2" :style="{ color: priceColor }">¥{{ info.price }}</span>
             </div>
         </div>
         <!-- <div class="total-price">
@@ -93,38 +93,18 @@ export default {
         isbidder() {
             return this.info.auctionStatus == 'PURCHASED' && this.info.actPurchasedId === this.userInfo.id;
         },
-        status() {
-            let status = this.getLabelName(this.info.orderStatus || this.info.orderStatus, this.orderStatusOptions);
-            if (!status) {
-                if (this.isbidder) {
-                    status = '竞价成功,去支付';
-                } else if (this.info.auctionStatus === 'PASS') {
-                    status = '已流局';
-                } else if (this.info.auctionStatus === 'ONGOING' && this.isLeader) {
-                    status = '竞价中';
-                } else if (this.info.auctionStatus === 'ONGOING' && !this.isLeader) {
-                    status = '已出局,重新叫价';
-                } else {
-                    status = '已结束';
-                }
-            }
-            return status;
-        },
         statusColor() {
             let color = '#3AB200';
-            if (this.isbidder) {
-                color = '#FF4F50';
-            } else if (
-                this.info.auctionStatus === 'ONGOING' &&
-                (this.info.purchaserId === this.userInfo.id || !this.info.purchaserId)
-            ) {
-                color = '#3AB200';
-            } else if (this.info.purchaserId) {
-                color = '#3AB200';
-            } else if (this.isPass) {
-                color = '#939599';
-            } else {
-                color = '#939599';
+            switch (this.info.paybackStatus) {
+                case 'NOPASSED':
+                    color = '#3AB200';
+                    break;
+                case 'PASSED':
+                    color = '#F53809';
+                    break;
+                case 'PAYED':
+                    color = '#939599';
+                    break;
             }
 
             return color;
@@ -135,15 +115,6 @@ export default {
             }
             return false;
         },
-        payText() {
-            if (this.orderId || this.isOrder) {
-                return '实际支付';
-            } else if (this.info.auctionStatus === 'ONGOING') {
-                return '当前价';
-            } else {
-                return '成交价';
-            }
-        },
         showText() {
             if (this.orderId || this.isOrder) {
                 return '订单时间';
@@ -170,14 +141,8 @@ export default {
             }
         },
         priceColor() {
-            if (this.info.orderId || this.isOrder) {
+            if (this.info.paybackStatus === 'NOPASSED') {
                 return '#3AB200';
-            } else if (
-                this.info.auctionStatus === 'ONGOING' &&
-                this.info.purchaserId &&
-                this.info.purchaserId === this.userInfo.id
-            ) {
-                return '#F53809';
             }
             return '#939599';
         },
@@ -186,9 +151,7 @@ export default {
         }
     },
     mounted() {
-        if (this.info.auctionStatus === 'ONGOING') {
-            this.time = this.getTime(this.info.endTime);
-        }
+        this.time = this.getTime(this.info.currentEndTime);
     },
     methods: {
         delInit() {
@@ -259,18 +222,22 @@ export default {
                 });
         },
         goDetail() {
-            if (this.info.orderId || this.isOrder) {
+            if (
+                this.info.paybackStatus == 'PASSED' ||
+                this.info.paybackStatus === 'PAYED' ||
+                this.info.paymentType === 'FIXED_PRICE'
+            ) {
                 this.$router.push({
                     path: '/auctionOrderDetail',
                     query: {
-                        id: this.isOrder ? this.info.id : this.info.orderId
+                        id: this.info.id
                     }
                 });
             } else {
                 this.$router.push({
                     path: '/auctionDetail',
                     query: {
-                        id: this.info.auctionId
+                        id: this.info.tradeAuctionId
                     }
                 });
             }
@@ -443,7 +410,15 @@ export default {
 
 .bottom {
     .flex();
-    justify-content: space-between;
+    justify-content: flex-end;
+
+    .tips {
+        font-size: 14px;
+        font-weight: bold;
+        color: #939599;
+        line-height: 24px;
+        margin-right: 12px;
+    }
 
     .price {
         .text1 {
@@ -456,9 +431,9 @@ export default {
         .text2 {
             font-size: 16px;
             font-weight: bold;
-            color: #939599;
+            color: #3ab200;
             line-height: 24px;
-            margin-left: 10px;
+            margin-left: 4px;
         }
     }
 }

+ 4 - 1
src/mixins/auction.js

@@ -61,10 +61,13 @@ export default {
             }
         },
         showPrice() {
+            if (this.info.status == 'FIXED_PRICE_PURCHASED') {
+                return this.info.fixedPrice;
+            }
             return this.info.currentPrice || this.info.price || 0;
         },
         isLeader() {
-            return this.isLogin && this.info.purchaserId === this.$store.state.userInfo.id;
+            return this.isLogin && this.info.currentOwnerId === this.$store.state.userInfo.id;
         },
         isbidder() {
             return this.isLeader && this.info.status === 'PURCHASED';

+ 20 - 1
src/mixins/auctionOrder.js

@@ -27,11 +27,30 @@ export default {
                 { label: '待收货', value: 'RECEIVE' },
                 { label: '待空投', value: 'AIR_DROP' }
             ],
+            paybackStatusOptions: [
+                { label: '竞拍中', value: 'NOPASSED', text: '' },
+                { label: '已出局,待补偿', value: 'PASSED', text: '竞拍失败,待补偿' },
+                { label: '已补偿', value: 'PAYED', text: '补偿成功' }
+            ],
             payMethodOptions: [
                 { label: '微信', value: 'WEIXIN' },
                 { label: '支付宝', value: 'ALIPAY' },
-                { label: '无GAS费', value: 'FREE' }
+                { label: '无GAS费', value: 'FREE' },
+                { label: '衫德支付', value: 'SANDPAY' },
+                { label: '河马支付', value: 'HMPAY' },
+                { label: '首信易', value: 'PAYEASE' },
+                { label: '余额支付', value: 'BALANCE' },
+                { label: '销毁藏品', value: 'DESTROY' }
             ]
         };
+    },
+    computed: {
+        status() {
+            let status = this.getLabelName(this.info.paybackStatus, this.paybackStatusOptions);
+            if (this.info.paymentType === 'FIXED_PRICE') {
+                status = this.getLabelName(this.info.status, this.orderStatusOptions);
+            }
+            return status;
+        }
     }
 };

+ 13 - 13
src/views/Discover.vue

@@ -426,19 +426,19 @@ export default {
                 });
         },
         goAuction() {
-            this.$toast('升级改版中');
-            // this.$http
-            //     .get('/sysConfig/get/auction_show')
-            //     .then(res => {
-            //         if (res.value === true || res.value === '1') {
-            //             this.$router.push('/auction');
-            //         } else {
-            //             return Promise.reject();
-            //         }
-            //     })
-            //     .catch(() => {
-            //         this.wait();
-            //     });
+            // this.$toast('升级改版中');
+            this.$http
+                .get('/sysConfig/get/auction_show')
+                .then(res => {
+                    if (res.value === true || res.value === '1') {
+                        this.$router.push('/auction');
+                    } else {
+                        return Promise.reject();
+                    }
+                })
+                .catch(() => {
+                    this.wait();
+                });
         }
     },
     activated() {

+ 4 - 4
src/views/Mine.vue

@@ -133,14 +133,14 @@
                 <img src="@assets/info_icon_zhuzaodingdan.png" alt="" />
                 <span>铸造订单</span>
             </div>
-            <!-- <div class="order-info" @click="$router.push('/auctionOrders')">
+            <div class="order-info" @click="$router.push('/auctionOrders')">
                 <img src="@assets/info_icon_paimaidingdan.png" alt="" />
                 <span>拍卖订单</span>
-            </div> -->
-            <div class="order-info" @click="this.$toast('升级改版中')">
+            </div>
+            <!-- <div class="order-info" @click="this.$toast('升级改版中')">
                 <img src="@assets/info_icon_paimaidingdan.png" alt="" />
                 <span>拍卖订单</span>
-            </div>
+            </div> -->
         </div>
         <driver />
         <div class="orderList prim">

+ 75 - 46
src/views/auction/Detail.vue

@@ -19,7 +19,11 @@
                     </div>
                     <i class="font_family icon-sanjiao"></i>
                 </div>
-                <div class="price-right">
+                <div class="price-right price-right2" v-if="info.status === 'FIXED_PRICE_PURCHASED'">
+                    <img src="@assets/info_icon_time2.png" alt="" />
+                    <span>一口价成交</span>
+                </div>
+                <div class="price-right" v-else>
                     <span>{{ timeText }}</span>
                     <span class="time-box">{{ time }}</span>
                 </div>
@@ -57,15 +61,19 @@
             </div>
             <div class="card-content">
                 <div class="record-item" v-for="(item, index) in records" :key="index">
-                    <span>{{ item.user }}</span>
+                    <span>{{ item.nickname }}</span>
                     <span>{{ index === 0 ? '领先' : '出局' }}</span>
-                    <span>¥{{ item.bidderPrice || 0 }}</span>
+                    <span>¥{{ item.currentPrice || 0 }}</span>
                     <span>{{ item.createdAt }}</span>
                 </div>
             </div>
         </div>
         <auction-asset :info="assetInfo" :auctionInfo="info"></auction-asset>
-        <div class="btn-bottom van-safe-area-bottom" :class="{ showPopup: showPopup }">
+        <div
+            class="btn-bottom van-safe-area-bottom"
+            :class="{ showPopup: showPopup }"
+            v-if="info.status !== 'FIXED_PRICE_PURCHASED'"
+        >
             <div class="fixed-list">
                 <div class="help" @click="showHelp">
                     <i class="font_family icon-help"></i>
@@ -82,6 +90,12 @@
                         </div>
                     </van-button>
                 </div>
+                <div class="btn-list not" v-else-if="info.status === 'PASS'">
+                    <van-button disabled block round>
+                        <div>已流拍</div>
+                        <div class="sub" v-if="isLeader">((扣除手续费,取消所有易拍竞价资格))</div>
+                    </van-button>
+                </div>
                 <div
                     class="btn-list not"
                     v-else-if="
@@ -92,51 +106,32 @@
                 >
                     <van-button disabled block round>竞拍结束</van-button>
                 </div>
+                <div
+                    class="btn-list not"
+                    v-else-if="
+                        !isLeader && (recordInfo.paybackStatus === 'PASSED' || recordInfo.paybackStatus === 'PAYED')
+                    "
+                >
+                    <van-button disabled block round>{{
+                        getLabelName(recordInfo.paybackStatus, paybackStatusOptions)
+                    }}</van-button>
+                </div>
                 <div class="btn-list not" v-else-if="info.status === 'NOTSTARTED'">
-                    <van-button disabled block round>未开始</van-button>
+                    <van-button disabled block round>{{ isLeader ? '出价中' : '未开始' }}</van-button>
                 </div>
                 <div class="btn-list not" v-else-if="info.status === 'WAITING'">
-                    <van-button disabled block round>{{ startText }}开抢</van-button>
-                </div>
-                <div class="btn-list not" v-else-if="info.status === 'PASS' && recordInfo.payDeposit">
-                    <van-button disabled block round>
-                        <div>已流拍</div>
-                        <div class="sub" v-if="info.purchaserId === userInfo.id">
-                            (保证金 ¥{{ info.deposit }} 不退回)
-                        </div>
-                    </van-button>
+                    <van-button disabled block round>{{ isLeader ? '出价中' : startText + '开抢' }}</van-button>
                 </div>
 
-                <template v-else-if="info.status === 'ONGOING' || info.status === 'FIXED_PRICE_PURCHASED'">
+                <template v-else-if="info.status === 'ONGOING'">
                     <div class="btn-list">
                         <van-button type="primary" @click="goBuy" block plain>
                             <div>一口价购买</div>
                             <div class="sub">获得权益</div>
                         </van-button>
-                        <van-button type="primary" block v-if="isLeader">
-                            <div>竞价中</div>
-                            <div class="sub">(出价金额为 ¥{{ info.purchasePrice }})</div>
-                        </van-button>
-
-                        <van-button type="primary" block v-else-if="isOut" @click="goCreated">
-                            <div>已出局</div>
-                            <div class="sub">(重新出价)</div>
-                        </van-button>
-                        <van-button type="primary" block v-else-if="recordInfo.payDeposit" @click="goCreated"
-                            >去出价</van-button
-                        >
-                        <van-button type="primary" v-else block @click="goDeposit">
+                        <van-button type="primary" block @click="goDeposit">
                             <div>立即竞价</div>
                             <div class="sub">解锁权益</div>
-                            <!-- <div class="sub">
-                                (请在
-                                <van-count-down
-                                    :time="buyTime"
-                                    @finish="getDetail"
-                                    format="HH小时mm分ss秒"
-                                ></van-count-down
-                                >内支付)
-                            </div> -->
                         </van-button>
                     </div>
                 </template>
@@ -176,11 +171,12 @@ import AuctionAsset from '../../components/auction/asset.vue';
 import AuctionRecords from '../../components/auction/records.vue';
 import { useCountDown, useToggle } from '@vant/use';
 import auction from '../../mixins/auction';
+import auctionOrder from '../../mixins/auctionOrder';
 import { mapState } from 'vuex';
 export default {
     name: 'auctionDetail',
     inject: ['setKeeps', 'changeTab'],
-    mixins: [auction],
+    mixins: [auction, auctionOrder],
     setup() {
         const [timeDown, toggleTime] = useToggle(false);
         const countDown = useCountDown({
@@ -270,7 +266,7 @@ export default {
         startCount(time = 24 * 3600 * 1000) {
             if (this.info.status === 'NOTSTARTED') {
                 time = this.dayjs(this.info.startTime).diff(this.dayjs());
-            } else if (this.info.status === 'ONGOING') {
+            } else if (this.info.status === 'ONGOING' || this.info.status === 'WAITING') {
                 time = this.dayjs(this.info.currentEndTime).diff(this.dayjs());
             }
             if (!this.isEnd) {
@@ -283,17 +279,40 @@ export default {
             }
         },
         getRecord() {
-            this.$http.get('/tradeAuctionRecord/hasPayDeposit?auctionId=' + this.auctionId).then(res => {
-                this.recordInfo = res;
-            });
+            if (this.isLogin) {
+                this.$http
+                    .post(
+                        '/tradeAuctionOrder/all',
+                        {
+                            query: {
+                                tradeAuctionId: this.auctionId,
+                                del: false,
+                                userId: this.userInfo.id,
+                                status: 'FINISH',
+                                paymentType: 'DEPOSIT,PURCHASE_PRICE'
+                            },
+                            size: 1,
+                            page: 0,
+                            sort: 'id,desc'
+                        },
+                        { body: 'json' }
+                    )
+                    .then(res => {
+                        if (!res.empty) {
+                            this.recordInfo = res.content[0];
+                        }
+                    });
+            }
 
             this.$http
                 .post(
-                    '/tradeAuctionRecord/all',
+                    '/tradeAuctionOrder/all',
                     {
                         query: {
-                            auctionId: this.auctionId,
-                            del: false
+                            tradeAuctionId: this.auctionId,
+                            del: false,
+                            status: 'FINISH',
+                            paymentType: 'DEPOSIT,PURCHASE_PRICE'
                         },
                         size: 2,
                         page: 0,
@@ -328,7 +347,7 @@ export default {
                     this.$nextTick(() => {
                         if (this.isbidder) {
                             this.$http.get('/sysConfig/get/auction_cancel_time').then(res => {
-                                let date1 = this.dayjs(this.info.endTime).add(Number(res.value), 'minute');
+                                let date1 = this.dayjs(this.info.currentEndTime).add(Number(res.value), 'minute');
                                 let date2 = this.dayjs();
                                 let time = date1.diff(date2);
                                 if (time > 0) {
@@ -800,6 +819,16 @@ export default {
             span {
                 color: #939599;
             }
+
+            &.price-right2 {
+                justify-content: flex-end;
+                padding-right: 16px;
+                img {
+                    width: 18px;
+                    height: 18px;
+                    margin-right: 2px;
+                }
+            }
         }
     }
 }

+ 2 - 3
src/views/auction/Home.vue

@@ -115,9 +115,8 @@ export default {
             }
             return {
                 query: {
-                    auctionType: auctionType,
-                    status: 'NOTSTARTED,ONGOING',
-                    source: source
+                    // auctionType: 'OFFICIAL',
+                    status: 'NOTSTARTED,ONGOING,WAITING'
                 },
                 sort: 'id,desc'
             };

+ 1 - 2
src/views/auction/Search.vue

@@ -131,7 +131,7 @@ export default {
             source: '',
             status: '',
             minterId: '',
-            url: '/auctionActivity/all',
+            url: '/tradeAuction/all',
             scrollTop: 0,
             sort: 'id,desc',
             sortDes: '',
@@ -224,7 +224,6 @@ export default {
             return {
                 query: {
                     auctionType: this.auctionType,
-                    status: this.status,
                     del: false
                 },
                 search: this.search,

+ 14 - 7
src/views/auction/Submit.vue

@@ -27,10 +27,14 @@
         </div>
 
         <div class="text-list">
-            <div class="text-info">
+            <div class="text-info" v-if="paymentType === 'PURCHASE_PRICE'">
                 <span class="text1">一口价(当前价的{{ fixedPre }}%)</span>
                 <span class="text2">¥{{ preMoney }}</span>
             </div>
+            <div class="text-info" v-else>
+                <span class="text1">当前价</span>
+                <span class="text2">¥{{ preMoney }}</span>
+            </div>
             <div class="text-info">
                 <span class="text1">GAS费用</span>
                 <span class="text2">¥{{ gas }}</span>
@@ -46,7 +50,7 @@
             </div>
 
             <template v-if="paymentType !== 'FIXED_PRICE'">
-                <div class="text-cell">
+                <!-- <div class="text-cell">
                     <div class="text-top">
                         <span class="text1">保证金</span>
                         <span class="text2 warn">¥{{ info.deposit }}</span>
@@ -54,7 +58,7 @@
                     <div class="sub">
                         竞拍成功支付后,送拍机构主动关闭交易,系统会在72小时内释放保证金;若竞拍成功未支付,保证金将不会释放
                     </div>
-                </div>
+                </div> -->
                 <div class="text-info">
                     <span class="text1">保证金状态</span>
                     <span class="text2">正常</span>
@@ -68,7 +72,7 @@
                 <span>{{ item.name }}</span>
                 <img class="choose-icon" :src="payType === item.type ? icons[1] : icons[0]" alt="" />
             </div> -->
-            <pay-method-pick v-model="payType"></pay-method-pick>
+            <pay-method-pick v-model="payType" onlyBalance></pay-method-pick>
         </div>
 
         <div class="bottom van-safe-area-bottom" ref="bottom">
@@ -158,7 +162,10 @@ export default {
     },
     computed: {
         preMoney() {
-            return this.accMul(this.info.currentPrice || 0, this.fixedPre / 100);
+            if (this.paymentType === 'PURCHASE_PRICE') {
+                return this.info.currentPrice;
+            }
+             return this.accMul(this.info.currentPrice || 0, this.fixedPre / 100);
         },
         money() {
             let money = 0;
@@ -401,8 +408,8 @@ export default {
                             forbidClick: true
                         });
                         this.$http
-                            .post('/tradeAuctionOrder/testPay', {
-                                orderId: this.orderId,
+                            .post('/payOrder/v2/tradeAuction/balance', {
+                                id: this.orderId,
                                 tradeCode: this.tradeCode
                             })
                             .then(res => {

+ 33 - 45
src/views/order/AuctionDetail.vue

@@ -10,73 +10,55 @@
     >
         <div class="order-content">
             <div class="order-top">
-                <div class="text1">{{ getLabelName(info.status, orderStatusOptions) }}</div>
+                <div class="text1">{{ status }}</div>
                 <div class="text2">
-                    {{
-                        info.status === 'FINISH'
-                            ? info.airDrop
-                                ? '交易成功啦!交易后的藏品将在您的藏品室中展示'
-                                : '交易已完成!'
-                            : getLabelName(info.status, statusOptions, 'text')
-                    }}
+                    {{ statusText }}
                 </div>
             </div>
             <driver />
-            <template v-if="!info.airDrop && info.contactName">
-                <div class="address" v-if="info.courierId">
-                    <img src="../../assets/dingdan_icon_wuliu.png" alt="" />
-                    <div class="text1">快递编号</div>
-                    <div class="text2" @click="copyWuliu">
-                        <span>{{ info.courierId }}</span>
-                        <img src="../../assets/icon-miaoshu.png" alt="" />
-                    </div>
-                </div>
-                <div class="address">
-                    <img src="../../assets/dingdan_icon_dizhi.png" alt="" />
-                    <div class="text1">{{ info.contactName }} {{ info.contactPhone }}</div>
-                    <div class="text1">{{ info.address }}</div>
-                </div>
-                <driver />
-            </template>
             <div class="product">
                 <div class="product-title">
                     <div class="text1">{{ info.mintActivity }}</div>
-                    <div class="text2" v-if="info.consume">商品的铸造将会销毁对应藏品</div>
                 </div>
                 <div class="product-info">
                     <van-image :radius="6" width="60" height="60" :src="getImg(changeImgs(info.pic))" fit="cover" />
                     <div class="product-content">
                         <div class="text1 van-multi-ellipsis--l2">{{ info.name }}</div>
                         <div class="flex1"></div>
-                        <div class="text2" v-if="info.category">类型:{{ info.category }}</div>
-                        <div class="text2" v-if="info.number">编号:{{ info.number }}</div>
+                        <div class="text2">起拍价 ¥{{ info.originPrice }}</div>
                     </div>
                 </div>
             </div>
 
             <div class="info-item">
-                <div class="text1">{{ getLabelName(info.paymentType, paymentTypeOptions) }}交价</div>
-                <div class="text1 prim">¥{{ info.price }}</div>
+                <div class="text1">当前价</div>
+                <div class="text1">¥{{ info.currentPrice }}</div>
             </div>
 
             <div class="info-item">
-                <div class="text1">实际支付</div>
-                <div class="text1 prim">¥{{ info.totalPrice }}</div>
+                <div class="text1">叫价</div>
+                <div class="text1">¥{{ info.price }}</div>
             </div>
-
-            <div class="info-item" v-if="!$store.state.review && info.payTime">
-                <div class="text1">支付方式</div>
-                <div class="text1">{{ getLabelName(info.payMethod, payMethodOptions) }}支付</div>
+            <div class="info-item">
+                <div class="text1">手续费</div>
+                <div class="text1 prim">¥{{ info.serviceCharge }}</div>
             </div>
 
-            <div class="text-cell" v-if="info.paymentType !== 'FIXED_PRICE'">
+            <div class="text-cell">
                 <div class="text-top">
-                    <span class="text1">保证金</span>
-                    <span class="text2 warn">¥{{ auctionInfo.deposit }}</span>
-                </div>
-                <div class="sub">
-                    竞拍成功支付后,送拍机构主动关闭交易,系统会在72小时内释放保证金;若竞拍成功未支付,保证金将不会释放
+                    <span class="text1">出局补偿</span>
+                    <span class="text2 warn">¥{{ info.earnedPrice }}</span>
                 </div>
+                <div class="sub">若叫价失败,将原路退给您出局补偿。</div>
+            </div>
+            <div class="info-item" v-if="info.paybackStatus !== 'NOPASSED'">
+                <div class="text1">补偿状态</div>
+                <div class="text1">{{ getLabelName(info.paybackStatus, paybackStatusOptions) }}</div>
+            </div>
+
+            <div class="info-item" v-if="!$store.state.review && info.payTime">
+                <div class="text1">支付方式</div>
+                <div class="text1">{{ getLabelName(info.payMethod, payMethodOptions) }}</div>
             </div>
 
             <div class="tips-item">
@@ -136,6 +118,9 @@ export default {
                 }
             }
             return false;
+        },
+        statusText() {
+            return this.getLabelName(this.info.paybackStatus, this.paybackStatusOptions, 'text');
         }
     },
     methods: {
@@ -150,11 +135,11 @@ export default {
             });
 
             return this.$http
-                .get('/auctionOrder/get/' + this.$route.query.id)
+                .get('/tradeAuctionOrder/get/' + this.$route.query.id)
                 .then(res => {
                     this.info = res;
                     this.$toast.clear();
-                    return this.$http.get('/auctionActivity/get/' + res.auctionId);
+                    return this.$http.get('/tradeAuction/get/' + res.tradeAuctionId);
                 })
                 .then(res => {
                     this.auctionInfo = res;
@@ -340,6 +325,9 @@ export default {
         &.prim {
             color: @prim;
         }
+        &:nth-child(2) {
+            font-weight: bold;
+        }
     }
 }
 .tips-item {
@@ -416,12 +404,12 @@ export default {
             font-weight: bold;
         }
         .warn {
-            color: #ff7f1f;
+            color: #4d9fff;
         }
     }
     .sub {
         font-size: 12px;
-        color: #ff7f1f;
+        color: #4d9fff;
         line-height: 17px;
         margin-top: 4px;
     }

+ 19 - 53
src/views/order/AuctionOrders.vue

@@ -9,15 +9,6 @@
         pageType="light"
     >
         <van-sticky ref="top" :offset-top="barHeight">
-            <div class="top">
-                <div class="top-btn">
-                    <div class="btn" :class="{ active: type === 'ENTITY' }" @click="changeActive('ENTITY')">
-                        藏传文玩拍卖
-                    </div>
-                    <div class="btn" :class="{ active: type === 'NFT' }" @click="changeActive('NFT')">数字艺术拍卖</div>
-                </div>
-            </div>
-
             <van-tabs
                 v-model:active="paymentType"
                 :ellipsis="false"
@@ -70,7 +61,7 @@ export default {
                     name: '一口价订单'
                 },
                 {
-                    status: 'BIDDER',
+                    status: 'DEPOSIT,PURCHASE_PRICE',
                     name: '竞拍订单'
                 }
             ],
@@ -102,31 +93,18 @@ export default {
     },
     computed: {
         url() {
-            if (this.paymentType === 'FIXED_PRICE') {
-                return '/auctionOrder/all';
-            } else {
-                return '/auctionRecord/userRecord';
-            }
+            return '/tradeAuctionOrder/all';
         }
     },
     methods: {
         beforeData() {
-            if (this.paymentType === 'FIXED_PRICE') {
-                return {
-                    query: {
-                        userId: this.$store.state.userInfo.id,
-                        paymentType: this.paymentType,
-                        source: this.type === 'ENTITY' ? 'OFFICIAL' : 'TRANSFER'
-                        // hide: false,
-                        // del: false
-                    },
-                    sort: 'id,desc'
-                };
-            } else {
-                return {
-                    type: this.type
-                };
-            }
+            return {
+                query: {
+                    userId: this.$store.state.userInfo.id,
+                    paymentType: this.paymentType
+                },
+                sort: 'id,desc'
+            };
         },
         getData(isFirst = false, scrollTop = 0) {
             if (isFirst) {
@@ -147,30 +125,18 @@ export default {
             }
             let url = this.url;
 
-            if (this.paymentType !== 'FIXED_PRICE') {
-                data = {};
-                url += '?type=' + this.type;
-            }
-
             return this.$http.post(url, data, { body: 'json' }).then(res => {
-                if (this.paymentType !== 'FIXED_PRICE') {
-                    this.list = res;
-                    this.empty = res.length === 0;
-                    this.finished = true;
-                    this.loading = false;
-                } else {
-                    if (res.first) {
-                        this.list = [];
-                    }
-                    this.list = [...this.list, ...res.content];
-                    this.empty = res.empty;
-                    this.loading = false;
-                    this.finished = res.last;
-                    if (!this.finished) {
-                        this.page = this.page + 1;
-                    }
-                    this.totalElements = Number(res.totalElements);
+                if (res.first) {
+                    this.list = [];
+                }
+                this.list = [...this.list, ...res.content];
+                this.empty = res.empty;
+                this.loading = false;
+                this.finished = res.last;
+                if (!this.finished) {
+                    this.page = this.page + 1;
                 }
+                this.totalElements = Number(res.totalElements);
             });
         },
         delFn() {