|
|
@@ -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;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|