|
@@ -7,28 +7,47 @@
|
|
|
v-model="loading"
|
|
|
:finished="finished"
|
|
|
finished-text="没有更多了"
|
|
|
+ error-text="出错了"
|
|
|
@load="onLoad"
|
|
|
class="content">
|
|
|
<ul>
|
|
|
- <li>
|
|
|
+ <li
|
|
|
+ v-for="item in reserveList"
|
|
|
+ :key="item.id">
|
|
|
<p class="status-wrap">
|
|
|
- <span>04月19日 周一 19:45</span>
|
|
|
- <span>待支付</span>
|
|
|
+ <span>{{ item.order_pre_time }}</span>
|
|
|
+ <span
|
|
|
+ :class="{'col-D32323': item.order_status === 1 }">{{
|
|
|
+ ['待支付', '已支付', '已退款', '部分退款', '已取消'][item.order_status]
|
|
|
+ }}</span>
|
|
|
</p>
|
|
|
- <p class="place-name">10人卡座(舞台左侧)</p>
|
|
|
- <p class="outlet">AF House音乐现场(西子广场山姆会员店)</p>
|
|
|
+ <p class="place-name">{{ item.place_name }}</p>
|
|
|
+ <p class="outlet">{{ item.bar_name }}</p>
|
|
|
<div class="payment">
|
|
|
- <p class="number">订位人数:1</p>
|
|
|
+ <p class="number">订位人数:{{ item.order_user_num }}</p>
|
|
|
<p class="amount">
|
|
|
- <span>合计:100</span>
|
|
|
- <img src="./image/ic_Alipay_nor@2x.png" alt="">
|
|
|
+ <span>合计:{{ item.order_pay_price | fen2Yuan }}</span>
|
|
|
+ <img src="./image/ic_Alipay_nor@2x.png" alt="" v-show="item.order_pay_type === 2">
|
|
|
+ <img src="./image/ic_WeChat_nor@2x.png" alt="" v-show="item.order_pay_type === 1">
|
|
|
</p>
|
|
|
</div>
|
|
|
<div class="btn-wrap">
|
|
|
- <van-button class="pay" type="danger">支付</van-button>
|
|
|
- <van-button class="check-code" type="danger" :url="'/place/check'">我的订座二维码</van-button>
|
|
|
- <van-button class="cancel" type="default">取消</van-button>
|
|
|
- <van-button class="hide" type="default">隐藏订单</van-button>
|
|
|
+ <van-button
|
|
|
+ class="pay"
|
|
|
+ type="danger"
|
|
|
+ v-if="item.order_status === 0">支付
|
|
|
+ </van-button>
|
|
|
+ <van-button
|
|
|
+ class="cancel"
|
|
|
+ type="default"
|
|
|
+ v-if="item.order_status === 1">退款
|
|
|
+ </van-button>
|
|
|
+ <van-button
|
|
|
+ class="check-code"
|
|
|
+ type="danger"
|
|
|
+ :url="'/place/check'"
|
|
|
+ v-if="item.order_status === 1">我的订座二维码
|
|
|
+ </van-button>
|
|
|
</div>
|
|
|
</li>
|
|
|
</ul>
|
|
@@ -38,9 +57,8 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import axios from 'axios'
|
|
|
-import qs from 'qs'
|
|
|
-import { PullRefresh, List, Button } from 'vant'
|
|
|
+import { apiReserveList } from './api'
|
|
|
+import { PullRefresh, List, Button, Toast } from 'vant'
|
|
|
|
|
|
export default {
|
|
|
components: {
|
|
@@ -50,39 +68,63 @@ export default {
|
|
|
},
|
|
|
data () {
|
|
|
return {
|
|
|
- saleDataList: [],
|
|
|
+ reserveList: [],
|
|
|
isLoading: false,
|
|
|
loading: false,
|
|
|
- finished: false
|
|
|
+ finished: false,
|
|
|
+ pagenum: 0,
|
|
|
+ pagesize: 20,
|
|
|
+ pagecount: 1,
|
|
|
+ isRefresh: false
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
onRefresh () {
|
|
|
- // this.getList()
|
|
|
+ this.pagenum = 0
|
|
|
+ this.pagesize = 20
|
|
|
+ this.pagecount = 1
|
|
|
+ this.finished = false
|
|
|
+ this.isRefresh = true
|
|
|
+ this.getList()
|
|
|
},
|
|
|
onLoad () {
|
|
|
- // this.getList()
|
|
|
+ this.getList()
|
|
|
},
|
|
|
/**
|
|
|
* 请求数据方法
|
|
|
*/
|
|
|
async getList () {
|
|
|
+ if (this.pagenum >= this.pagecount || this.pagecount === 0) {
|
|
|
+ this.finished = true
|
|
|
+ return
|
|
|
+ }
|
|
|
+ this.pagenum++
|
|
|
try {
|
|
|
- const { data } = await axios.post('/Journalism/lst', qs.stringify({
|
|
|
- Page: 1,
|
|
|
- PageSize: 15,
|
|
|
- mode: 'web'
|
|
|
- }))
|
|
|
-
|
|
|
- this.list = data.Data.articles
|
|
|
- this.saleDataList = this.saleDataList.concat(data.Data.articles)
|
|
|
+ const { status, data, msg } = await apiReserveList(this.pagenum, this.pagesize)
|
|
|
+ if (status) {
|
|
|
+ const { total, list } = data
|
|
|
+ this.pagecount = Math.ceil(total * 1 / this.pagesize)
|
|
|
+
|
|
|
+ // 下拉刷新数据清空
|
|
|
+ if (this.isRefresh) {
|
|
|
+ this.isRefresh = false
|
|
|
+ this.reserveList = []
|
|
|
+ }
|
|
|
+
|
|
|
+ // 没有数据返回了
|
|
|
+ if (Array.isArray(list) && !list.length) {
|
|
|
+ this.finished = true
|
|
|
+ }
|
|
|
+
|
|
|
+ if (Array.isArray(list) && list.length) {
|
|
|
+ this.reserveList = this.reserveList.concat(list)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ Toast(msg)
|
|
|
+ }
|
|
|
// 加载状态结束
|
|
|
this.loading = false
|
|
|
this.isLoading = false
|
|
|
- // 数据全部加载完成
|
|
|
- if (this.saleDataList.length >= 40) {
|
|
|
- this.finished = true
|
|
|
- }
|
|
|
} catch (err) {
|
|
|
console.log(err)
|
|
|
}
|
|
@@ -128,7 +170,11 @@ ul {
|
|
|
}
|
|
|
|
|
|
&:nth-of-type(2) {
|
|
|
- color: #D32323;
|
|
|
+ color: #CCC6C6;
|
|
|
+
|
|
|
+ &.col-D32323 {
|
|
|
+ color: #D32323;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -181,7 +227,15 @@ ul {
|
|
|
}
|
|
|
|
|
|
.btn-wrap {
|
|
|
+ text-align: right;
|
|
|
+
|
|
|
::v-deep .van-button {
|
|
|
+ margin-left: 10px;
|
|
|
+
|
|
|
+ &:nth-of-type(1) {
|
|
|
+ margin-left: 0;
|
|
|
+ }
|
|
|
+
|
|
|
.van-button__text {
|
|
|
font-size: 12px;
|
|
|
color: #FFFFFF;
|