产出效率

This commit is contained in:
唐明明
2022-06-10 18:16:25 +08:00
parent ec2a426261
commit 33e1352965
7 changed files with 2518 additions and 898 deletions

View File

@@ -315,6 +315,12 @@
"navigationStyle": "custom", "navigationStyle": "custom",
"disableScroll": true "disableScroll": true
} }
}, {
"path": "pages/life/capacity",
"name": "Capacity",
"style": {
"navigationBarTitleText": "-"
}
} }
], ],
"tabBar": { "tabBar": {
@@ -347,7 +353,7 @@
"easycom": { "easycom": {
"^u-(.*)": "uview-ui/components/u-$1/u-$1.vue" "^u-(.*)": "uview-ui/components/u-$1/u-$1.vue"
}, },
"condition" : { //模式配置,仅开发期间生效 "condition": { //模式配置,仅开发期间生效
"current": 0 //当前激活的模式(list 的索引项) "current": 0 //当前激活的模式(list 的索引项)
} }
} }

View File

@@ -65,7 +65,6 @@
select(e){ select(e){
switch(e.item.name){ switch(e.item.name){
case 'wxchum': case 'wxchum':
console.log('wxchum')
uni.share({ uni.share({
provider: 'weixin', provider: 'weixin',
scene : 'WXSceneSession', scene : 'WXSceneSession',

168
pages/life/capacity.vue Normal file
View File

@@ -0,0 +1,168 @@
<template>
<view class="capacity">
<view class="capacity-title">共力分总产率/小时<text>0.04GLF/h</text></view>
<view class="capacity-sbutitle">总产率=角色产率+团队产率+共建产率+共力值产率</view>
<view class="capacity-block">
<view class="capacity-block-title">我的角色</view>
<view class="capacity-block-glf">普通用户:0.04GLF/h</view>
</view>
<view class="capacity-block">
<view class="capacity-block-title">
<view class="title">成员产率<text>0GLF/h</text></view>
<view class="more" @click="onInvitation">邀请更多好友</view>
</view>
<view class="capacity-block-table">
<view class="header">
<view class="flex-item">家族成员产率</view>
</view>
<view class="flex">
<view class="flex-item">0人在线(会员)</view>
<view class="flex-item">-</view>
</view>
<view class="flex">
<view class="flex-item">0人在线(会员)</view>
<view class="flex-item">-</view>
</view>
</view>
<view class="capacity-block-table">
<view class="header">
<view class="flex-item">伙伴成员</view>
</view>
<view class="flex">
<view class="flex-item">0人在线(会员)</view>
<view class="flex-item">-</view>
</view>
<view class="flex">
<view class="flex-item">0人在线(会员)</view>
<view class="flex-item">-</view>
</view>
</view>
</view>
<view class="capacity-block">
<view class="capacity-block-title">
<view class="title">共建产率<text>0GLF/h</text></view>
<view class="subtitle">0/1200</view>
</view>
<view class="capacity-block-text">产品当日设置的</view>
</view>
<view class="capacity-block">
<view class="capacity-block-title">
<view class="title">共力值产率<text>0GLF/h</text></view>
<view class="subtitle">0/1200</view>
</view>
<view class="capacity-block-text">产品当日设置的</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
};
},
methods: {
onInvitation(){
this.$Router.push({name: 'Invitation'})
}
}
}
</script>
<style lang="scss">
.capacity{
background: $window-color;
min-height: 100vh;
padding: $padding;
box-sizing: border-box;
&-title{
font-size: 38rpx;
font-weight: bold;
line-height: 60rpx;
text{
margin-left: 10rpx;
color: $main-color;
}
}
&-sbutitle{
font-size: 26rpx;
line-height: 40rpx;
}
&-block{
background: white;
margin-top: $margin;
border-radius: $radius;
padding: $padding;
&-glf{
color: $main-color;
font-size: 30rpx;
}
&-title{
font-weight: bold;
font-size: 34rpx;
padding-bottom: 30rpx;
line-height: 60rpx;
display: flex;
justify-content: space-between;
.title{
text{
color: $main-color;
font-weight: normal;
padding-left: 10rpx;
}
}
.more{
background: $main-color;
color: white;
font-weight: bold;
font-size: 28rpx;
border-radius: 25rpx;
line-height: 60rpx;
width: 230rpx;
text-align: center;
}
.subtitle{
font-weight: normal;
font-size: 24rpx;
color: $main-color;
}
}
&-text{
font-size: 28rpx;
color: gray;
line-height: 40rpx;
}
&-table{
border:solid 1px $border-color;
margin-bottom: 20rpx;
&:last-child{
margin-top: 0;
}
.header{
background: $border-color;
line-height: 50rpx;
padding: 0 15rpx;
font-size: 26rpx;
color: gray;
}
.flex{
display: flex;
border-top: solid 1rpx $border-color;
color: gray;
.flex-item{
width: 50%;
box-sizing: border-box;
line-height: 50rpx;
padding: 0 15rpx;
font-size: 24rpx;
&:first-child{
border-right: solid 1rpx $border-color;
}
}
}
}
}
}
</style>

View File

@@ -3,11 +3,19 @@
<!-- 账户信息 --> <!-- 账户信息 -->
<view class="life-header"> <view class="life-header">
<view class="life-header-flex"> <view class="life-header-flex">
<view class="life-header-item">0.00GLF</view> <view class="life-header-item">{{glz}}<text>GLF</text></view>
</view> </view>
</view> </view>
<!-- 共力人生 --> <!-- 共力人生 -->
<view class="life-cover"> <view class="life-cover">
<view class="life-sign" @click="onSign">
<view class="life-sign-icon">签到</view>
<view class="life-sign-num">{{}}</view>
<view class="life-sign-unit">GLF/h</view>
<view class="life-sign-time">
<u-count-down :time="nextSignAt" format="HH:mm:ss"></u-count-down>
</view>
</view>
<image class="life-cover-back" :src="require('@/static/life/back.png')"></image> <image class="life-cover-back" :src="require('@/static/life/back.png')"></image>
<view class="life-role"> <view class="life-role">
<image class="life-role-src" :src="figurePath" mode="widthFix"/> <image class="life-role-src" :src="figurePath" mode="widthFix"/>
@@ -85,6 +93,9 @@
<script> <script>
import { life } from '@/apis/interfaces/life.js' import { life } from '@/apis/interfaces/life.js'
var account;
export default { export default {
data() { data() {
return { return {
@@ -103,18 +114,28 @@
init: 0, init: 0,
pay: 0, pay: 0,
delivered: 0 delivered: 0
} },
nextSignAt : 0,
glz : 0,
base_hour : 0,
base_seconds: 0
}; };
}, },
created() { onShow() {
// 共力人生 // 共力人生
life().then(res => { life().then(res => {
this.nickname = res.nickname this.glz = res.account.glz
this.figurePath = res.figure_path this.base_hour = res.account.base_hour
this.identity = res.identity this.base_seconds = res.account.base_seconds
this.children = res.children this.nextSignAt = res.next_sign_at * 1000
this.message = res.message this.nickname = res.nickname
this.order = res.order this.figurePath = res.figure_path
this.identity = res.identity
this.children = res.children
this.message = res.message
this.order = res.order
this.outTime()
}).catch(err => { }).catch(err => {
uni.showToast({ uni.showToast({
title: err.message, title: err.message,
@@ -123,6 +144,17 @@
}) })
}, },
methods: { methods: {
// 计时器
outTime(){
account = setInterval(() =>{
let newGlz = (Number(this.glz) + this.base_seconds)
this.glz = newGlz.toFixed(4)
}, 1000)
},
// 签到
onSign(){
this.$Router.push({name: 'Capacity'})
},
// 我的订单 // 我的订单
onNav(name, type){ onNav(name, type){
if(type){ if(type){
@@ -138,6 +170,9 @@
icon : 'none' icon : 'none'
}) })
} }
},
onHide() {
clearInterval(account)
} }
} }
</script> </script>
@@ -347,7 +382,13 @@
border-radius: 35rpx; border-radius: 35rpx;
padding: 0 20rpx; padding: 0 20rpx;
margin-right: 20rpx; margin-right: 20rpx;
font-size: 28rpx; font-size: 42rpx;
font-weight: bold;
text{
font-weight: normal;
padding-left: 5rpx;
font-size: 70%;
}
} }
} }
} }
@@ -357,6 +398,20 @@
width: 100%; width: 100%;
padding-top: 134%; padding-top: 134%;
overflow: hidden; overflow: hidden;
.life-sign{
position: absolute;
top: 25%;
right: $margin * 2;
z-index: 99;
background: rgba(0, 0, 0, .5);
width: 78rpx;
height: 78rpx;
border-radius: 50%;
color: white;
text-align: center;
line-height: 78rpx;
font-size: 24rpx;
}
.life-cover-back{ .life-cover-back{
position: absolute; position: absolute;
width: 100%; width: 100%;

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long