|
|
@@ -348,26 +348,28 @@
|
|
|
<van-divider />
|
|
|
<van-steps :active="active" active-color="#F3E0BC">
|
|
|
<van-step>开放预约</van-step>
|
|
|
- <van-step>开放结束</van-step>
|
|
|
+ <van-step>预约结束</van-step>
|
|
|
<van-step>抽签及付款</van-step>
|
|
|
<van-step>开放购买</van-step>
|
|
|
</van-steps>
|
|
|
<div class="appointment_process_time">
|
|
|
<div class="appointment_process_time_con">
|
|
|
- <div>05-10</div>
|
|
|
- <div>10:30</div>
|
|
|
+ <div v-if="info.startTime">
|
|
|
+ <div>{{ appointmentStartOne }}</div>
|
|
|
+ <div>{{ appointmentStartTwo }}</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<div class="appointment_process_time_con">
|
|
|
- <div>05-10</div>
|
|
|
- <div>10:30</div>
|
|
|
+ <div>{{ appointmentEndOne }}</div>
|
|
|
+ <div>{{ appointmentEndTwo }}</div>
|
|
|
</div>
|
|
|
<div class="appointment_process_time_con">
|
|
|
- <div>05-10</div>
|
|
|
- <div>10:30</div>
|
|
|
+ <div>{{ purchaseQualificationOne }}</div>
|
|
|
+ <div>{{ purchaseQualificationTwo }}</div>
|
|
|
</div>
|
|
|
<div class="appointment_process_time_con">
|
|
|
- <div>05-10</div>
|
|
|
- <div>10:30</div>
|
|
|
+ <div>{{ purchaseTimeOne }}</div>
|
|
|
+ <div>{{ purchaseTimeTwo }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
@@ -386,6 +388,11 @@
|
|
|
</div> -->
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div class="hold_privileges">
|
|
|
+ <div class="hold_privileges_con">
|
|
|
+ <hash-code :info="info"></hash-code>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<!-- <div class="purchase_instructions">
|
|
|
<div class="purchase_instructions_con">
|
|
|
<div class="purchase_instructions_title">购买须知</div>
|
|
|
@@ -525,11 +532,16 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="transaction_button_right">
|
|
|
- <div class="coming_on_sale" v-if="isAppointment" block round>
|
|
|
+ <div class="coming_on_sale" v-if="isAppointmenta" block round>
|
|
|
<div class="coming_on_sale_con">即将开售</div>
|
|
|
<div class="coming_on_sale_time">{{ startTime }}</div>
|
|
|
<!-- <van-count-down :time="time" format="DD天 HH:mm:ss" class="coming_on_sale_time" /> -->
|
|
|
</div>
|
|
|
+ <!-- 预约 -->
|
|
|
+ <div class="buy_now" v-if="isAppointment" block round>
|
|
|
+ <div class="buy_now_con">敬请期待</div>
|
|
|
+ <div class="buy_now_time">{{ comingSoonTime }} 开放预约</div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="transaction_button" v-else-if="info.onShelf && info.salable">
|
|
|
@@ -540,7 +552,7 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
<div class="transaction_button_right">
|
|
|
- <div class="coming_on_sale" v-if="isAppointment" block round>
|
|
|
+ <div class="coming_on_sale" v-if="isAppointmenta" block round>
|
|
|
<div class="coming_on_sale_con">即将开售</div>
|
|
|
<div class="coming_on_sale_time">{{ startTime }}</div>
|
|
|
</div>
|
|
|
@@ -549,6 +561,14 @@
|
|
|
<div class="sold_out" v-else-if="limit.limit > 0 && limit.count >= limit.limit" block round>
|
|
|
限购{{ limit.limit }}件
|
|
|
</div>
|
|
|
+ <!-- 预约 -->
|
|
|
+ <div class="buy_now" v-if="isAppointment" block round>
|
|
|
+ <div class="buy_now_con">敬请期待</div>
|
|
|
+ <div class="buy_now_time">{{ comingSoonTime }} 开放预约</div>
|
|
|
+ </div>
|
|
|
+ <!-- <div v-else class="buy_now" @click="appointment">
|
|
|
+ <div class="buy_now_con_two">立即预约</div>
|
|
|
+ </div> -->
|
|
|
<div class="buy_now" v-else @click="buyNow">
|
|
|
<div class="buy_now_con">立即购买</div>
|
|
|
<div>
|
|
|
@@ -607,6 +627,7 @@ let inWeixin = /micromessenger/i.test(navigator.userAgent);
|
|
|
import { Dialog } from 'vant';
|
|
|
// import TopNavigation from '../../components/TopNavigation.vue';
|
|
|
import ProductBanner from '../../components/product/ProductBanner.vue';
|
|
|
+import HashCode from '../../components/product/HashCode.vue';
|
|
|
// import HashCode from '../../components/product/HashCode.vue';
|
|
|
import { ref } from 'vue';
|
|
|
export default {
|
|
|
@@ -617,7 +638,8 @@ export default {
|
|
|
components: {
|
|
|
// HashCode,
|
|
|
// ProductTitle,
|
|
|
- ProductBanner
|
|
|
+ ProductBanner,
|
|
|
+ HashCode
|
|
|
// HashCode
|
|
|
// Swiper,
|
|
|
// SwiperSlide,
|
|
|
@@ -671,6 +693,60 @@ export default {
|
|
|
return list.map(item => {
|
|
|
return this.changeImgs(item.pic);
|
|
|
});
|
|
|
+ },
|
|
|
+ appointmentStartOne() {
|
|
|
+ if (this.info.startTime) {
|
|
|
+ return this.info.startTime.slice(5, 10);
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+ },
|
|
|
+ appointmentStartTwo() {
|
|
|
+ if (this.info.startTime) {
|
|
|
+ return this.info.startTime.slice(11, 16);
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+ },
|
|
|
+ appointmentEndOne() {
|
|
|
+ if (this.info.endTime) {
|
|
|
+ return this.info.endTime.slice(5, 10);
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+ },
|
|
|
+ appointmentEndTwo() {
|
|
|
+ if (this.info.endTime) {
|
|
|
+ return this.info.endTime.slice(11, 16);
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+ },
|
|
|
+ purchaseQualificationOne() {
|
|
|
+ if (this.info.publishTime) {
|
|
|
+ return this.info.publishTime.slice(5, 10);
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+ },
|
|
|
+ purchaseQualificationTwo() {
|
|
|
+ if (this.info.publishTime) {
|
|
|
+ return this.info.publishTime.slice(11, 16);
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+ },
|
|
|
+ purchaseTimeOne() {
|
|
|
+ if (this.info.purchaseTime) {
|
|
|
+ return this.info.purchaseTime.slice(5, 10);
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+ },
|
|
|
+ purchaseTimeTwo() {
|
|
|
+ if (this.info.purchaseTime) {
|
|
|
+ return this.info.purchaseTime.slice(11, 16);
|
|
|
+ }
|
|
|
+ return '';
|
|
|
+ },
|
|
|
+ comingSoonTime() {
|
|
|
+ if (this.info.startTime) {
|
|
|
+ return this.info.startTime.slice(5, 16);
|
|
|
+ }
|
|
|
+ return '';
|
|
|
}
|
|
|
},
|
|
|
mounted() {
|
|
|
@@ -730,34 +806,28 @@ export default {
|
|
|
},
|
|
|
// 藏品预约
|
|
|
appointment() {
|
|
|
- if (this.info.appointment) {
|
|
|
- return;
|
|
|
- }
|
|
|
- Dialog.confirm({
|
|
|
- title: '“拉索”想访问您的日历',
|
|
|
- message: '用于设置提醒等功能',
|
|
|
- confirmButtonText: '好',
|
|
|
- confirmButtonColor: '#007AFF',
|
|
|
- cancelButtonText: '不允许',
|
|
|
- cancelButtonColor: '#007AFF'
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- this.$http
|
|
|
- .post('/collection/appointment?id=' + this.info.id)
|
|
|
- .then(res => {
|
|
|
- this.getProduct();
|
|
|
- this.$toast.success('预约成功');
|
|
|
- })
|
|
|
- .catch(e => {
|
|
|
- Toast(e.error);
|
|
|
- // if (e.error) {
|
|
|
- // this.$toast.warning("1111",e.error);
|
|
|
- // }
|
|
|
- });
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- // on cancel
|
|
|
+ console.log('121212', typeof this.info.id);
|
|
|
+ let data = { userId: this.userInfo.id, collectionId: this.info.id };
|
|
|
+ this.$http
|
|
|
+ .post('subscribe/makeAnAppointment', data)
|
|
|
+ .then(res => {})
|
|
|
+ .catch(e => {
|
|
|
+ Toast(e.error);
|
|
|
+ // if (e.error) {
|
|
|
+ // this.$toast.warning("1111",e.error);
|
|
|
+ // }
|
|
|
});
|
|
|
+ // if (this.info.appointment) {
|
|
|
+ // return;
|
|
|
+ // }
|
|
|
+ // Dialog.confirm({
|
|
|
+ // title: '“拉索”想访问您的日历',
|
|
|
+ // message: '用于设置提醒等功能',
|
|
|
+ // confirmButtonText: '好',
|
|
|
+ // confirmButtonColor: '#007AFF',
|
|
|
+ // cancelButtonText: '不允许',
|
|
|
+ // cancelButtonColor: '#007AFF'
|
|
|
+ // })
|
|
|
},
|
|
|
// this.$http.get('/user/get/' + this.$route.query.id).then(res => {
|
|
|
// this.$toast.clear();
|
|
|
@@ -1196,6 +1266,16 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ .hold_privileges {
|
|
|
+ padding: 0px 15px;
|
|
|
+ margin: 10px 0;
|
|
|
+ .hold_privileges_con {
|
|
|
+ background: #1e222c;
|
|
|
+ border-radius: 8px;
|
|
|
+ padding: 10px;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
+ }
|
|
|
.work_story {
|
|
|
padding: 0px 15px;
|
|
|
box-sizing: border-box;
|
|
|
@@ -1749,6 +1829,7 @@ export default {
|
|
|
color: #939599;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
.buy_now {
|
|
|
width: 160px;
|
|
|
height: 46px;
|
|
|
@@ -1757,6 +1838,13 @@ export default {
|
|
|
padding-top: 6px;
|
|
|
box-sizing: border-box;
|
|
|
text-align: center;
|
|
|
+ .buy_now_con_two {
|
|
|
+ font-size: 14px;
|
|
|
+ font-family: PingFangSC-Medium, PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #725837;
|
|
|
+ line-height: 35px;
|
|
|
+ }
|
|
|
.buy_now_con {
|
|
|
font-size: 14px;
|
|
|
font-family: PingFangSC-Medium, PingFang SC;
|