sadjv3_jishi/pages/index/addClock.vue

548 lines
13 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<view class="content">
<view class="header">
<view class="header-top">
<view class="header-top-left">
<image src="../../static/index/dangqian1.png" mode=""></image>
<span class="header-text" style="margin-right: 5px;">
当前周期
</span>
<span class="header-text">{{startTime}}~{{endTime}}</span>
</view>
<view class="header-top-btn" @click="wangqi">往期{{orderType=='2'?'加钟率':'充值率'}}</view>
</view>
<view class="header-bottom">
<view class="header-bottom-money">
{{orderType=='2'?homePageCountData[0]:homePageCountData[1]}}
</view>
<view class="header-text">{{titleData}}</view>
</view>
</view>
<view class="tapNav-list">
<view class="tapNav-view" v-for="(item,index) in tapNav" :key="index" @click="tabClick(item.isSfwc,index)">
<view class="tapNav-name">{{item.name}}</view>
<view class="tapNav-bor" v-if="tapNum==index"></view>
</view>
</view>
<t-refresh class="mian" ref="refresh" v-if="listData.length>0" @refresh="refresh" @loadMore="loadMore" :loadingType="loadingType" :tPadding="0">
<template slot="content">
<!--本期加钟 充值 订单-->
<view class="mina-view" v-if="isSfwc=='1'" v-for="item in listData" :key="item.id" @click="goOder(item)">
<view class="view-title">
<view class="view-title-left">
<span class="view-title-left-shuxian"></span>
<span class="view-title-left-text">本期{{orderType=='2'?'已加钟':'已充值'}}订单</span>
</view>
<view class="view-title-right">加钟订单数量: {{listData.length}}</view>
</view>
<view class="mian-list">
<view class="mian-list-top">
<view class="mian-list-top-biao">{{item.status=='3'?'已完成':'待评价'}}</view>
<view class="mian-list-top-time">
<span>预约时间: </span>
<span>{{item.serveTime}}</span>
</view>
</view>
<view class="mian-foot">
<view class="mian-foot-img">
<image src="../../my/static/bg6.png" mode=""></image>
</view>
<view class="mian-foot-list">
<view class="mian-foot-view">
<view class="mian-title">{{item.entryName}}</view>
<view class="mian-dingwei">
<image src="../../static/index/dangqian2.png" mode=""></image>
<span class="shouyi-text">0.8km</span>
</view>
</view>
<view class="mian-foot-dan shouyi-text">
订单编号 : {{item.ordersNo}}
</view>
<view class="mian-foot-adder shouyi-text">
服务地址 : {{item.address}}
</view>
<view class="mian-bottom">
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥{{item.price}}</view>
<view class="mian-bottom-shou">
<span class="shouyi-text">本单收益: </span>
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥{{item.artificerMoney}}</span>
</view>
</view>
</view>
</view>
</view>
</view>
<!--本期未加钟 未充值 订单-->
<view class="mina-view" v-else v-for="item in listData" :key="item.id" @click="goOder(item)">
<view class="view-title">
<view class="view-title-left">
<span class="view-title-left-shuxian"></span>
<span class="view-title-left-text">本期{{orderType=='2'?'已加钟':'已充值'}}订单</span>
</view>
<view class="view-title-right">加钟订单数量: {{listData.length}}</view>
</view>
<view class="mian-list">
<view class="mian-list-top">
<view class="mian-list-top-biao">{{item.status=='3'?'已完成':'待评价'}}</view>
<view class="mian-list-top-time">
<span>预约时间: </span>
<span>{{item.serveTime}}</span>
</view>
</view>
<view class="mian-foot">
<view class="mian-foot-img">
<image src="../../my/static/bg6.png" mode=""></image>
</view>
<view class="mian-foot-list">
<view class="mian-foot-view">
<view class="mian-title">{{item.entryName}}</view>
<view class="mian-dingwei">
<image src="../../static/index/dangqian2.png" mode=""></image>
<span class="shouyi-text">0.8km</span>
</view>
</view>
<view class="mian-foot-dan shouyi-text">
订单编号 : {{item.ordersNo}}
</view>
<view class="mian-foot-adder shouyi-text">
服务地址 : {{item.address}}
</view>
<view class="mian-bottom">
<view class="mian-bottom-xiang shouyi-text">项目金额 : ¥{{item.price}}</view>
<view class="mian-bottom-shou">
<span class="shouyi-text">本单收益: </span>
<span class="shouyi-text" style="color: #FF6000;font-weight: bold;">¥{{item.artificerMoney}}</span>
</view>
</view>
</view>
</view>
</view>
</view>
</template>
</t-refresh>
<empty v-if="listData.length==0"></empty>
</view>
</template>
<script>
import empty from '@/components/empty.vue'
import tRefresh from "@/components/t-refresh/t-refresh.vue"
export default {
components:{tRefresh,empty},
data(){
return{
orderType:'',
userId:'',
startTime:'',
endTime:'',
listData:[],
titleData:'',
loadingType:0,
page:1,
limit:10,
tapNum:0,
tapNav:[
{name:'本期已加钟订单',isSfwc:'1'},
{name:'本期未加钟订单',isSfwc:'0'}
],
isSfwc:'1',
homePageCountData:'',
}
},
onLoad(e) {
this.orderType=e.type;
this.homePageCountData=this.$queue.getData("homePageCountNumOne");
this.titleData=this.orderType=='2'?'当期加钟率':'当期充值率';
if(this.orderType=='2'){
this.tapNav=[
{name:'本期已加钟订单',isSfwc:'1'},
{name:'本期未加钟订单',isSfwc:'0'}
]
}else{
this.tapNav=[
{name:'本期已充值订单',isSfwc:'1'},
{name:'本期未充值订单',isSfwc:'0'}
]
}
this.userId = uni.getStorageSync("artificerId");
this.getTime()
this.getData();
uni.setNavigationBarTitle({
title: this.titleData
});
},
onPullDownRefresh: function() {
this.page = 1;
this.getData();
},
methods:{
goOder(item){
uni.navigateTo({
url:'/my/order/revenueDetails?ordersId='+item.ordersId
})
},
tabClick(isSfwc,index){
this.tapNum=index;
this.isSfwc=isSfwc;
this.page=0;
this.listData = [];
uni.showLoading({
title: '加载中'
});
this.getData();
},
// 加载更多
loadMore: async function() {
//loadingType: 0.数据未加载完 1.数据全部加载完了 2.数据加载中
if(this.loadingType==0){
this.loadingType=2
//模拟数据请求
setTimeout(()=>{
this.page++;
this.loadingType=0;
this.getData()
},1000)
}
},
getTime(){
let now = new Date();
let year = now.getFullYear();
let month = now.getMonth() + 1; // JavaScript中月份是从0开始计数需加1
let monthJia=month<10?'0'+month:month;
let day = now.getDate();
let currentDate = year + '-' + monthJia + '-' + day;
let dayEnd = new Date(now.getFullYear(), monthJia, 0).getDate();
if(day>=1&&day<=10){
this.startTime=year + '-' + monthJia + '-01';
this.endTime=year + '-' + monthJia + '-' + 10;
}else if(day>=11&&day<=20){
this.startTime=year + '-' + monthJia + '-' + 11;
this.endTime=year + '-' + monthJia + '-' + 20;
}else if(day>=21&&day<=dayEnd){
this.startTime=year + '-' + monthJia + '-' + 21
this.endTime=year + '-' + monthJia + '-' + dayEnd;
}
},
getData(){
var that=this;
let data = {
userId:that.userId,
orderType:that.orderType,
startTime:that.startTime,
endTime:that.endTime,
page: that.page,
limit: that.limit,
isSfwc:that.isSfwc
}
that.$Request.getT('/app/artificer/getOrderTypeList', data).then(res => {
uni.hideLoading()
if (res.code == 0) {
if (that.page == 1) that.listData = []; //如果是第一页需手动制空列表
that.listData = [...that.listData, ...res.data.list]; //追加新数据
} else {
that.$queue.showToast(res.msg);
}
});
},
details(){
uni.navigateTo({
url:'/pages/index/revenueDetails'
})
},
wangqi(){//往期 跳页
uni.navigateTo({
url:'/pages/index/previousAdditions'
})
},
}
}
</script>
<style scoped>
.view-title{
width: 100%;
padding: 0 5px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
/deep/.page-box{
width: 100%;
}
/deep/.t-loading-box{
text-align: center;
}
/deep/.refresh-body .content{
/* background-color: #f7f7f7; */
}
/deep/.refresh-body{
height: 100% !important;
border-top: 2px solid #f7f7f7;
}
.tapNav-name{
font-weight: bold;
font-size: 31rpx;
color: #333333;
}
.tapNav-bor{
width: 100px;
height: 14rpx;
background: linear-gradient(-48deg, rgba(1, 156, 136, 0.35), rgba(45, 196, 142, 0.35));
border-radius: 7rpx;
position: absolute;
bottom: 0;
margin-bottom: 10px;
}
.tapNav-list{
width: 100%;
margin: 0 auto;
display: flex;
flex-direction:row;
align-items: center;
justify-content: space-between;
background-color: #fff;
}
.tapNav-view{
height: 40px;
width: 50%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
position: relative;
}
.table-view span{
font-weight: 400;
font-size: 19rpx;
color: #666666;
}
.table-view span:nth-child(1){
font-weight: bold;
}
.table-view span{
margin-bottom: 15px;
}
.table-view{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.mian-table{
width: 100%;
padding: 10px;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
background: #FFFFFF;
border-radius: 24rpx;
margin-bottom: 10px;
}
.view-num{
color: #029D88 !important;
}
.mian-bottom{
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.mian-foot-adder{
margin: 2px 0px;
}
.mian-dingwei image{
width: 18.75rpx;
height:21.53rpx;
margin-right: 5px;
}
.mian-dingwei,.mian-bottom-shou{
display: flex;
flex-direction: row;
align-items: center;
}
.mian-title{
font-weight: bold;
font-size: 31rpx;
color: #333333;
}
.mian-foot-view{
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
margin-bottom: 5px;
}
.mian-foot-list{
width: 75%;
display: flex;
flex-direction: column;
}
.mian-foot-img image{
width: 100%;
height: 100%;
}
.mian-foot-img{
width: 158rpx;
height: 188rpx;
background: #E6E6E6;
border-radius: 14rpx;
}
.mian-foot{
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.mian-list-top-time span{
font-size:25rpx;
}
.mian-list-top-time span:nth-child(1){
color: #7D7D7D;
}
.mian-list-top-time span:nth-child(2){
color: #11957C;
}
.mian-list-top-time{
display: flex;
flex-direction: row;
align-items: center;
}
.mian-list-top-biao{
width: 130rpx;
height: 47rpx;
line-height: 47rpx;
color: #fff;
font-size: 25rpx;
text-align: center;
background: linear-gradient(90deg, #019C88, #28BA92, #35C495);
border-top-left-radius: 21rpx;
border-bottom-right-radius: 21rpx;
}
.mian-list-top{
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
padding-bottom: 10px;
border-bottom: 1px solid #E5E5E5;
margin-bottom: 10px;
}
.mian-list{
width: 100%;
padding: 10px;
display: flex;
flex-direction: column;
background: #FFFFFF;
border-radius: 24rpx;
margin-bottom: 10px;
}
.view-title-right{
font-weight: 400;
font-size: 21rpx;
color: #666666;
}
.view-title-left-text{
font-weight: 400;
font-size: 25rpx;
color: #333333;
margin-left: 5px;
}
.view-title-left-shuxian{
width: 10rpx;
height: 29rpx;
background: #029D88;
border-radius: 5rpx;
}
.view-title-left{
display: flex;
flex-direction: row;
align-items: center;
margin: 15px 0px;
}
.view-title{
width: 100%;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
}
.mina-view{
width: 100%;
display: flex;
flex-direction: column;
}
.mina{
width: 95%;
display: flex;
flex-direction: column;
}
.header-bottom-money{
font-weight: bold;
font-size: 49rpx;
color: #FFFFFF;
}
.header-top-btn{
width: 174rpx;
height: 49rpx;
line-height: 49rpx;
text-align: center;
font-size: 21rpx;
color: #333333;
background: #FFFFFF;
border-radius: 24rpx;
}
.header-text{
font-weight: 400;
font-size: 22rpx;
color: #FFFFFF;
margin-top: 2px;
}
.header-top-left image{
width: 24.31rpx;
height:22.92rpx;
margin-right: 2px;
margin-top: 3px;
}
.header-top-left{
display: flex;
flex-direction: row;
align-items: center;
}
.header-top{
width: 100%;
display: flex;
flex-direction: row;
justify-content: space-between;
margin-bottom: 10px;
}
.header{
width: 100%;
height: 300rpx;
padding: 15px;
background-image: url('../../static/index/fun_banner4.png');
background-repeat: no-repeat;
background-size: 100% 100%;
display: flex;
flex-direction: column;
justify-content: space-around;
}
.content{
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
height: 100vh;
background-color: #f7f7f7;
overflow: scroll;
}
</style>