|
@@ -0,0 +1,269 @@
|
|
|
+<template>
|
|
|
+ <view class="content">
|
|
|
+ <view class="jg"></view>
|
|
|
+ <view class="navbar">
|
|
|
+ <view class="nav-item" v-for="(item, index) in registerList" :key="index"
|
|
|
+ :class="{ current: tabCurrentIndex === index }" @click="tabClick(index)">{{ item.title }}</view>
|
|
|
+ </view>
|
|
|
+ <swiper :interval="3000" :duration="200" :style="{'height': height}" class="swiper-wrapper"
|
|
|
+ :current="tabCurrentIndex" @change="changeTab">
|
|
|
+ <swiper-item v-for="(item, index) in registerList">
|
|
|
+ <scroll-view scroll-y="true" :style="{'height': height}">
|
|
|
+ <view v-for="(itemt,index) in item.list" class="list">
|
|
|
+ <view class="" v-if="itemt.rebuy == 0">
|
|
|
+ <view class="order-id">账号{{itemt.account}}</view>
|
|
|
+ <view class="time">
|
|
|
+ <view class="">父接点:{{itemt.account}}</view>
|
|
|
+ <view class="">接点区域:{{itemt.parent_area}}</view>
|
|
|
+ </view>
|
|
|
+ <view class="zfqx" v-if="tabCurrentIndex == 0">
|
|
|
+ <view class="btn" @click="payRegister(itemt)">
|
|
|
+ 支付
|
|
|
+ </view>
|
|
|
+ <view class="btn qx" @click="cancelRegister(itemt)">
|
|
|
+ 取消
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="" v-if="itemt.rebuy == 1">
|
|
|
+ <view class="order-id">
|
|
|
+ 报单编号{{itemt.order_id}}
|
|
|
+ </view>
|
|
|
+ <view class="zfqx" v-if="tabCurrentIndex == 0">
|
|
|
+ <view class="btn" @click="payRegister(itemt)">
|
|
|
+ 支付
|
|
|
+ </view>
|
|
|
+ <view class="btn qx" @click="cancelRegister(itemt)">
|
|
|
+ 取消
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </scroll-view>
|
|
|
+ </swiper-item>
|
|
|
+ </swiper>
|
|
|
+ </view>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+ import {
|
|
|
+ getRegisterList,
|
|
|
+ cancelRegister,
|
|
|
+ payRegister
|
|
|
+ } from '@/api/user.js'
|
|
|
+ export default {
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ paytype: 'yue',
|
|
|
+ height: '',
|
|
|
+ tabCurrentIndex: 0,
|
|
|
+ registerList: [{
|
|
|
+ status: 0,
|
|
|
+ title: '未支付',
|
|
|
+ loadingType: 'more',
|
|
|
+ list: [],
|
|
|
+ page: 1, //当前页数
|
|
|
+ limit: 10 //每次信息条数
|
|
|
+ },
|
|
|
+ {
|
|
|
+
|
|
|
+ status: 1,
|
|
|
+ title: '已支付',
|
|
|
+ loadingType: 'more',
|
|
|
+ list: [],
|
|
|
+ page: 1, //当前页数
|
|
|
+ limit: 10 //每次信息条数
|
|
|
+ }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onReady(res) {
|
|
|
+ var _this = this;
|
|
|
+ uni.getSystemInfo({
|
|
|
+ success: resu => {
|
|
|
+ const query = uni.createSelectorQuery();
|
|
|
+ query.select('.swiper-wrapper').boundingClientRect();
|
|
|
+ query.exec(function(res) {
|
|
|
+ _this.height = resu.windowHeight - res[0].top + 'px';
|
|
|
+ console.log('打印页面的剩余高度', _this.height);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ fail: res => {}
|
|
|
+ });
|
|
|
+ },
|
|
|
+ onLoad() {
|
|
|
+ this.getRegisterList()
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ getRegisterList(type) {
|
|
|
+ let obj = this;
|
|
|
+ let index = obj.tabCurrentIndex;
|
|
|
+ let navItem = obj.registerList[index];
|
|
|
+ if (navItem.loadingType == 'loading' || navItem.loadingType == 'noMore') {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ if (type == 'tabChange' && navItem.loaded == 'loaded') {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ navItem.loadingType == 'loading';
|
|
|
+ getRegisterList({
|
|
|
+ page: navItem.page,
|
|
|
+ limit: navItem.limit,
|
|
|
+ type: navItem.status
|
|
|
+ }).then(res => {
|
|
|
+ console.log(res, 'ddd')
|
|
|
+ navItem.list = navItem.list.concat(res.data);
|
|
|
+ if (navItem.limit == res.data.length) {
|
|
|
+ navItem.loadingType = 'more';
|
|
|
+ return;
|
|
|
+ } else {
|
|
|
+ navItem.loadingType = 'noMore';
|
|
|
+ }
|
|
|
+ uni.hideLoading();
|
|
|
+ this.$set(navItem, 'loaded', true);
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //顶部tab点击
|
|
|
+ tabClick(index) {
|
|
|
+ this.tabCurrentIndex = index;
|
|
|
+ },
|
|
|
+ //swiper 切换
|
|
|
+ changeTab(e) {
|
|
|
+ this.tabCurrentIndex = e.target.current;
|
|
|
+ this.getRegisterList('tabChange');
|
|
|
+ },
|
|
|
+ //取消订单
|
|
|
+ cancelRegister(item) {
|
|
|
+ let obj = this
|
|
|
+ cancelRegister({},item.id).then( res => {
|
|
|
+ uni.showToast({
|
|
|
+ title:'取消成功',
|
|
|
+ duration:2000
|
|
|
+ });
|
|
|
+ let s = obj.registerList[obj.tabCurrentIndex].list.indexOf(item);
|
|
|
+ obj.registerList[obj.tabCurrentIndex].list.splice(s, 1);
|
|
|
+ }).catch( err => {
|
|
|
+ console.log(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //支付报单
|
|
|
+ payRegister(item) {
|
|
|
+ let obj = this
|
|
|
+ payRegister({
|
|
|
+ paytype: obj.paytype,
|
|
|
+ // #ifdef MP
|
|
|
+ form: 'MP',
|
|
|
+ // #endif
|
|
|
+ // #ifdef H5
|
|
|
+ form: 'H5',
|
|
|
+ // #endif
|
|
|
+ // #ifdef APP-PLUS
|
|
|
+ form: 'APP',
|
|
|
+ // #endif
|
|
|
+ },item.id).then( res => {
|
|
|
+ uni.showToast({
|
|
|
+ title:'支付成功',
|
|
|
+ duration:2000
|
|
|
+ });
|
|
|
+ let s = obj.registerList[obj.tabCurrentIndex].list.indexOf(item);
|
|
|
+ obj.registerList[obj.tabCurrentIndex].list.splice(s, 1);
|
|
|
+ }).catch( err => {
|
|
|
+ console.log(err)
|
|
|
+ })
|
|
|
+ },
|
|
|
+ }
|
|
|
+ }
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="scss" scoped>
|
|
|
+ page {
|
|
|
+ height: 100%;
|
|
|
+ background-color: #fff;
|
|
|
+ }
|
|
|
+
|
|
|
+ .content {
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ .jg {
|
|
|
+ height: 20rpx;
|
|
|
+ background-color: #eee;
|
|
|
+ }
|
|
|
+
|
|
|
+ .navbar {
|
|
|
+ display: flex;
|
|
|
+ height: 100rpx;
|
|
|
+ padding: 0 5rpx;
|
|
|
+ background: #fff;
|
|
|
+ box-shadow: 0 1rpx 5rpx rgba(0, 0, 0, 0.06);
|
|
|
+ position: relative;
|
|
|
+ z-index: 10;
|
|
|
+ margin-top: 25rpx;
|
|
|
+
|
|
|
+ .nav-item {
|
|
|
+ flex: 1;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ height: 100%;
|
|
|
+ font-size: 15px;
|
|
|
+ color: #999999;
|
|
|
+ position: relative;
|
|
|
+
|
|
|
+ &.current {
|
|
|
+ color: #333333;
|
|
|
+
|
|
|
+ &:after {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ left: 50%;
|
|
|
+ bottom: 0;
|
|
|
+ transform: translateX(-50%);
|
|
|
+ width: 44px;
|
|
|
+ height: 0;
|
|
|
+ border-bottom: 2px solid #3f7c1f;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .swiper-wrapper {}
|
|
|
+ }
|
|
|
+
|
|
|
+ .list {
|
|
|
+ padding: 5rpx 10rpx 5rpx 10rpx;
|
|
|
+
|
|
|
+ .order-id {
|
|
|
+ font-size: 30rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #666666;
|
|
|
+ }
|
|
|
+ .time {
|
|
|
+ font-size: 26rpx;
|
|
|
+ font-family: PingFang SC;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #AEAEAE;
|
|
|
+ display: flex;
|
|
|
+ view {
|
|
|
+ margin-right: 20rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .zfqx {
|
|
|
+ display: flex;
|
|
|
+ justify-content: space-around;
|
|
|
+
|
|
|
+ .btn {
|
|
|
+ width: 150rpx;
|
|
|
+ // height: 50rpx;
|
|
|
+ background-color: #d7eeb6;
|
|
|
+ border-radius: 10rpx;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 50rpx;
|
|
|
+ color: #FF0000;
|
|
|
+ }
|
|
|
+ .qx {
|
|
|
+ color: #999;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|