Commit 42ef2c9b by sunchao

首页课程列表

parent 683ab072
...@@ -71,4 +71,18 @@ ...@@ -71,4 +71,18 @@
.container uni-slider .uni-slider-value{ .container uni-slider .uni-slider-value{
width: 5ch; width: 5ch;
} }
.btn{
background: #3671F4;
color: #fff;
width: 60%;
margin: 0 auto;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border-radius: 40rpx;
position: absolute;
bottom: 0;
left: 0;
right: 0;
}
</style> </style>
...@@ -152,5 +152,10 @@ export default { ...@@ -152,5 +152,10 @@ export default {
// 个人信息查询 // 个人信息查询
queryInfo(params){ queryInfo(params){
return request(`${cffpURL}/user/queryInfo`, "POST", params) return request(`${cffpURL}/user/queryInfo`, "POST", params)
},
//去提现接口
goFortuneWithdrawal(params){
return request(`${apiURL}/fortune/goFortuneWithdrawal`, "POST", params)
} }
} }
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<view class="menu_content"> <view class="menu_content">
<view v-for="item in menuLists" :key="item.link" class="tabbar_item" :class="{'active':item.link == currentPage}" @click="navTo(item)"> <view v-for="item in menuLists" :key="item.link" class="tabbar_item" :class="{'active':item.link == currentPage}" @click="navTo(item)">
<view class="pic"> <view class="pic">
<image v-if="item.link == currentPage" :src="'/static/tabbar/' + item.selectedIconPath + '.png'" mode="widthFix"></image> <image v-if="item.link == currentPage" :src="'/static/tabbar/' + item.selectedIconPath + '.png'" mode="widthFix"></image>
<image v-else :src="'/static/tabbar/' + item.iconPath + '.png'" mode="widthFix"></image> <image v-else :src="'/static/tabbar/' + item.iconPath + '.png'" mode="widthFix"></image>
</view> </view>
...@@ -13,7 +14,6 @@ ...@@ -13,7 +14,6 @@
</template> </template>
<script> <script>
import tabBarVue from './tabBar.vue';
export default { export default {
props: ['currentPage'], props: ['currentPage'],
name:"tabBar", name:"tabBar",
...@@ -22,7 +22,7 @@ import tabBarVue from './tabBar.vue'; ...@@ -22,7 +22,7 @@ import tabBarVue from './tabBar.vue';
menuLists: [ menuLists: [
{key:1,name:'首页',iconPath:'home',selectedIconPath:'home_active',link:'index'}, {key:1,name:'首页',iconPath:'home',selectedIconPath:'home_active',link:'index'},
{key:2,name:'SFP智能财策',iconPath:'sfp',selectedIconPath:'sfp_active',link:'product'}, {key:2,name:'SFP智能财策',iconPath:'sfp',selectedIconPath:'sfp_active',link:'product'},
{key:3,name:'CFFP认证',iconPath:'cffp',selectedIconPath:'cffp_active',link:'cffp'}, {key:3,name:'CFFP认证',iconPath:'cffp',selectedIconPath:'cffp_active',link:'courselist'},
{key:4,name:'我的',iconPath:'my',selectedIconPath:'my_active',link:'personalCenter'}, {key:4,name:'我的',iconPath:'my',selectedIconPath:'my_active',link:'personalCenter'},
] ]
} }
...@@ -37,7 +37,7 @@ import tabBarVue from './tabBar.vue'; ...@@ -37,7 +37,7 @@ import tabBarVue from './tabBar.vue';
} }
}, },
mounted() { mounted() {
// console.log(this.currentPage) console.log(this.currentPage)
} }
} }
</script> </script>
......
...@@ -19,27 +19,29 @@ ...@@ -19,27 +19,29 @@
/* 模块配置 */ /* 模块配置 */
"modules" : { "modules" : {
"Share" : {}, "Share" : {},
"Payment" : {} "Payment" : {},
"OAuth" : {}
}, },
/* 应用发布信息 */ /* 应用发布信息 */
"distribute" : { "distribute" : {
/* android打包配置 */ /* android打包配置 */
"android" : { "android" : {
"permissions" : [ "permissions" : [
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>", "<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>", "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>", "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.CAMERA\"/>", "<uses-permission android:name=\"android.permission.CAMERA\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>", "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>", "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>", "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>", "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
"<uses-feature android:name=\"android.hardware.camera\"/>",
"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>" "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
], ],
"minSdkVersion" : 21 "minSdkVersion" : 21
...@@ -50,17 +52,25 @@ ...@@ -50,17 +52,25 @@
}, },
/* SDK配置 */ /* SDK配置 */
"sdkConfigs" : { "sdkConfigs" : {
"share" : {}, "share" : {
"weixin" : {
"appid" : "wxec09b9be6cff4eb3",
"UniversalLinks" : ""
}
},
"ad" : {}, "ad" : {},
"payment" : { "payment" : {
"alipay" : {
"__platform__" : [ "ios", "android" ]
},
"weixin" : { "weixin" : {
"__platform__" : [ "ios", "android" ], "__platform__" : [ "ios", "android" ],
"appid" : "wxec09b9be6cff4eb3", "appid" : "wxec09b9be6cff4eb3",
"UniversalLinks" : "" "UniversalLinks" : ""
} }
},
"oauth" : {
"weixin" : {
"appid" : "wxec09b9be6cff4eb3",
"UniversalLinks" : ""
}
} }
}, },
"splashscreen" : { "splashscreen" : {
......
...@@ -238,6 +238,13 @@ ...@@ -238,6 +238,13 @@
"navigationBarTitleText": "提现详情", "navigationBarTitleText": "提现详情",
"enablePullDownRefresh": false "enablePullDownRefresh": false
} }
},{
"path" : "pages/taxRules/taxRules",
"style" :
{
"navigationBarTitleText": "纳税规则",
"enablePullDownRefresh": false
}
} }
], ],
// "tabBar": { // "tabBar": {
......
...@@ -7,22 +7,25 @@ ...@@ -7,22 +7,25 @@
</li> </li>
</ul> </ul>
</view> </view>
<tabBar :currentPage="currentPage" v-if="fromPage!='index'"></tabBar>
</template> </template>
<script> <script>
import api from "../../api/api"; import api from "../../api/api";
import courseItem from "@/components/courseItem/courseItem.vue"; import courseItem from "@/components/courseItem/courseItem.vue";
import tabBar from '../../components/tabBar/tabBar.vue';
export default{ export default{
props:['tagIds'], props:['tagIds','fromPage'],
data(){ data(){
return{ return{
cffpCourseInfos:[] cffpCourseInfos:[],
currentPage:'courselist'
} }
}, },
name:'courselist', name:'courselist',
components:{ components:{
courseItem courseItem,
tabBar
}, },
onLoad(){ onLoad(){
this.courseList(); this.courseList();
......
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<h4>精品课程</h4> <h4>精品课程</h4>
<view @click="goToCourselist()">更多<text class="iconfont icon-youjiantou"></text></view> <view @click="goToCourselist()">更多<text class="iconfont icon-youjiantou"></text></view>
</view> </view>
<courselist :tagIds="[1111]"></courselist> <courselist :tagIds="[1111]" :fromPage="'index'"></courselist>
</view> </view>
<tabBar :currentPage="currentPage"></tabBar> <tabBar :currentPage="currentPage"></tabBar>
</view> </view>
......
...@@ -42,7 +42,7 @@ ...@@ -42,7 +42,7 @@
<view class="record" @click="toRecord()"> <view class="record" @click="toRecord()">
兑换记录 兑换记录
</view> </view>
<view class="withdrawal_btn" @click="toWithdrawal()"> <view class="btn" @click="toWithdrawal()">
去提现 去提现
</view> </view>
</view> </view>
...@@ -83,7 +83,7 @@ ...@@ -83,7 +83,7 @@
}, },
toWithdrawal(){ toWithdrawal(){
uni.navigateTo({ uni.navigateTo({
url:'/pages/withdrawal/withdrawal' url:`/pages/withdrawal/withdrawal?exchangeAmount=${this.yesExchangeFortune}`
}) })
}, },
toRecord(){ toRecord(){
...@@ -152,19 +152,5 @@ ...@@ -152,19 +152,5 @@
padding-right: 30rpx; padding-right: 30rpx;
float: right; float: right;
} }
.withdrawal_btn{
background: #3671F4;
color: #fff;
width: 80%;
margin: 0 auto;
height: 80rpx;
line-height: 80rpx;
text-align: center;
border-radius: 40rpx;
position: absolute;
bottom: 0;
left: 0;
right: 0;
}
} }
</style> </style>
\ No newline at end of file
<template>
<view class="">
<view class="content_wrapper">
<h4>劳务报酬税缴纳规则</h4>
<view class="content">
根据国家相关法律法规,提现将由CFFP财富中心官方代缴个税后(按劳务报酬税率计算),付款到用户的微信钱包内。 根据规则,奖实行按月累计扣税,若在当月发起多次提现,本次扣税基数将累计当月全部的提现金额。以下供参考,详细可在国家税务局查询。
</view>
<h4 style="text-align: center;">劳务报酬所得预扣率表</h4>
<view style="color:#666;text-align: center;margin-bottom: 20rpx;">
(居民个人劳务报酬所得预预缴适用)
</view>
<view style="margin-bottom: 20rpx;">
<view class="list">
<view class="list_item title">级数</view>
<view class="list_item title">预扣预缴应纳所得额</view>
<view class="list_item title">预扣率(%)</view>
<view class="list_item title">速算扣除数</view>
</view>
<view class="list">
<view class="list_item">1</view>
<view class="list_item">不超过20000元的</view>
<view class="list_item">20</view>
<view class="list_item">0</view>
</view>
<view class="list" style="background: #D0D3FF;">
<view class="list_item">2</view>
<view class="list_item">不超过20000元至50000元的</view>
<view class="list_item">30</view>
<view class="list_item">2000</view>
</view>
<view class="list">
<view class="list_item">3</view>
<view class="list_item">不超过50000元的</view>
<view class="list_item">40</view>
<view class="list_item">7000</view>
</view>
</view>
<view style="color: #666666;font-size: 24rpx;">
应纳税所得额=劳务报酬所得 - 减除费用,即: 当劳务报酬所得不超过4000元: 应纳税所得额=劳务报酬所得 - 800当劳务报酬所得超过: 应纳税所得额=劳务报酬所得(超过4000元)×(1-20%)预扣预缴税额=应纳税所得额×预扣率-速算扣除数。
</view>
<navigator class="btn" delta="1" open-type="navigateBack">知道了</navigator>
</view>
</view>
</template>
<script>
export default{
data(){
return {
}
},
components:{},
onLoad(){
},
methods:{
}
}
</script>
<style lang="scss">
.content_wrapper{
padding: 30rpx;
h4{
margin: 20rpx auto;
}
.content{
color: #666666;
font-size: 24rpx;
background: #fff;
}
.list:nth-of-type(even) .list_item{
border-right:1px solid #20269B;
}
.list:nth-of-type(odd) .list_item{
border-right:1px solid #fff;
}
.list{
display: flex;
justify-content: space-between;
align-items: center;
font-size: 24rpx;
border: 2rpx #20269B solid;
border-bottom: 0;
.list_item{
width: 20%;
height: 70rpx;
line-height: 70rpx;
text-align: center;
}
.list_item:nth-child(1){
width: 10%;
}
.list_item:nth-child(2){
width: 50%;
}
.title{
background: #20269B;
color: #fff;
}
.list_item:nth-child(4){
border-right: 0;
}
}
.list:last-child{
border-bottom:2rpx #20269B solid;
}
}
</style>
\ No newline at end of file
...@@ -5,21 +5,21 @@ ...@@ -5,21 +5,21 @@
可兑换 可兑换
</view> </view>
<view> <view>
6,666积分 {{exchangeAmount}}积分
</view> </view>
</view> </view>
<view class="content_wrapper"> <view class="content_wrapper">
<view class="item"> <view class="item">
<text>提现金额(税前)</text> <text>提现金额(税前)</text>
<text></text> <text>{{exchangeAmount}}</text>
</view> </view>
<view class="item"> <view class="item">
<text>代缴税</text> <text>代缴税</text>
<text></text> <text>{{taxAmount}}</text>
</view> </view>
<view class="item"> <view class="item">
<text>实际到账</text> <text>实际到账</text>
<text></text> <text>{{noTaxAmount}}</text>
</view> </view>
</view> </view>
<view class="content_wrapper"> <view class="content_wrapper">
...@@ -36,32 +36,66 @@ ...@@ -36,32 +36,66 @@
提示: 提示:
</view> </view>
<view class=""> <view class="">
1、金额低于1元时无法提现 1、金额低于1元时无法提现;
</view> </view>
<view class=""> <view class="">
2、当前可提金额是您的税前收入,具体计税规则可参考《劳务报酬税缴纳规则》; 2、当前可提金额是您的税前收入,具体计税规则可参考
</view> </view>
<view class=""> <view class="">
3、如需帮助,请联系CFFP财富中心客服电话:12345678 ; <navigator class="rule" url="/pages/taxRules/taxRules">《劳务报酬税缴纳规则》;</navigator>
</view> </view>
<view class="">
3、如需帮助,请联系CFFP财富中心客服电话:12345678;
</view>
</view>
<view class="btn">
确认提现
</view> </view>
</view> </view>
</view> </view>
</template> </template>
<script> <script>
import api from '../../api/api';
export default{ export default{
data(){ data(){
return { return {
exchangeAmount:null,
partnerTradeNo:null,
taxAmount:null,
noTaxAmount:null
} }
}, },
components:{}, components:{},
onLoad(){ onLoad(options){
this.exchangeAmount = options.exchangeAmount;
this.partnerTradeNo = options.partnerTradeNo;
this.goFortuneWithdrawal()
}, },
methods:{ methods:{
goFortuneWithdrawal(){
const param = {
userId:uni.getStorageSync('cffp_userId'),
exchangeAmount:this.exchangeAmount,
partnerTradeNo:this.partnerTradeNo?this.partnerTradeNo:null
}
api.goFortuneWithdrawal(param).then((res)=>{
console.log(res)
if(res['success']){
const data = res['data']['cffpFortuneExchangeVO']
this.exchangeAmount = data.exchangeAmount;
this.partnerTradeNo = data.partnerTradeNo;
this.taxAmount = data.taxAmount;
this.noTaxAmount = data.noTaxAmount;
}else{
this.exchangeAmount = 0;
this.partnerTradeNo = null;
this.taxAmount = 0;
this.noTaxAmount = 0;
}
})
}
} }
} }
</script> </script>
...@@ -114,6 +148,9 @@ ...@@ -114,6 +148,9 @@
color: #666666; color: #666666;
margin-bottom: 10rpx; margin-bottom: 10rpx;
} }
.rule{
color: #0A2F99;
}
} }
} }
</style> </style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment