pull/1/head
liudan 1 year ago
parent dc957556cd
commit 2278135919
  1. 74
      common/api.js
  2. 2
      common/http.interceptor.js
  3. 52
      pages.json
  4. 2
      pages/AccountSecurity/AccountSecurity.vue
  5. 2
      pages/AddressEdit/AddressEdit.vue
  6. 132
      pages/MyCoupon/MyCoupon.scss
  7. 57
      pages/MyCoupon/MyCoupon.vue
  8. 245
      pages/fenxiao/fans.vue
  9. 171
      pages/fenxiao/fenxiao.vue
  10. 276
      pages/fenxiao/yongjin.vue
  11. 25
      pages/my/my.vue
  12. 251
      pages/shouyi/shouyi.vue
  13. BIN
      static/image/bg.png
  14. BIN
      static/image/coupon-bg.png
  15. BIN
      static/image/fenxiaobg.png
  16. BIN
      static/image/line.png
  17. BIN
      static/image/not-order.png
  18. BIN
      static/image/total-bg.png
  19. 2
      unpackage/dist/build/h5/index.html
  20. BIN
      unpackage/dist/build/h5/static/image/bg.png
  21. BIN
      unpackage/dist/build/h5/static/image/coupon-bg.png
  22. BIN
      unpackage/dist/build/h5/static/image/fenxiaobg.png
  23. BIN
      unpackage/dist/build/h5/static/image/line.png
  24. BIN
      unpackage/dist/build/h5/static/image/not-order.png
  25. BIN
      unpackage/dist/build/h5/static/image/total-bg.png
  26. BIN
      unpackage/dist/build/h5/static/img/bg.5183c054.png
  27. BIN
      unpackage/dist/build/h5/static/img/coupon-bg.21b829ed.png
  28. BIN
      unpackage/dist/build/h5/static/img/fenxiaobg.65f56acc.png
  29. BIN
      unpackage/dist/build/h5/static/img/line.2c7752a3.png
  30. BIN
      unpackage/dist/build/h5/static/img/mescroll-empty.c69e38ef.png
  31. BIN
      unpackage/dist/build/h5/static/img/not-order.8dbe9e8b.png
  32. BIN
      unpackage/dist/build/h5/static/img/total-bg.23ea3a39.png
  33. 1
      unpackage/dist/build/h5/static/js/index.52d06a89.js
  34. 1
      unpackage/dist/build/h5/static/js/index.7962224f.js
  35. 1
      unpackage/dist/build/h5/static/js/pages-AccountSecurity-AccountSecurity.1536bbc4.js
  36. 1
      unpackage/dist/build/h5/static/js/pages-AccountSecurity-AccountSecurity.b99d4ac6.js
  37. 1
      unpackage/dist/build/h5/static/js/pages-AddressEdit-AddressEdit.1009952e.js
  38. 1
      unpackage/dist/build/h5/static/js/pages-AddressEdit-AddressEdit.4e9a4777.js
  39. 1
      unpackage/dist/build/h5/static/js/pages-AddressList-AddressList.6138f84f.js
  40. 1
      unpackage/dist/build/h5/static/js/pages-AddressList-AddressList.df166af7.js
  41. 1
      unpackage/dist/build/h5/static/js/pages-ChangePassword-ChangePassword~pages-Information-Information~pages-login-login~pages-register-f~d71edafc.15ca85fb.js
  42. 1
      unpackage/dist/build/h5/static/js/pages-ChangePassword-ChangePassword~pages-Information-Information~pages-login-login~pages-register-f~d71edafc.b0d14502.js
  43. 1
      unpackage/dist/build/h5/static/js/pages-MyCoupon-MyCoupon.2acd155d.js
  44. 1
      unpackage/dist/build/h5/static/js/pages-MyCoupon-MyCoupon.62648d4d.js
  45. 1
      unpackage/dist/build/h5/static/js/pages-Setting-Setting.20ea7aac.js
  46. 1
      unpackage/dist/build/h5/static/js/pages-Setting-Setting.a700661c.js
  47. 1
      unpackage/dist/build/h5/static/js/pages-fenxiao-fans.3bea34d9.js
  48. 1
      unpackage/dist/build/h5/static/js/pages-fenxiao-fenxiao.abe3628e.js
  49. 1
      unpackage/dist/build/h5/static/js/pages-fenxiao-fenxiao~pages-my-my.a1f216bc.js
  50. 1
      unpackage/dist/build/h5/static/js/pages-fenxiao-yongjin.da527781.js
  51. 1
      unpackage/dist/build/h5/static/js/pages-my-my.bf8b8dd8.js
  52. 1
      unpackage/dist/build/h5/static/js/pages-my-my.d3f3fc68.js
  53. 2
      unpackage/dist/build/h5/static/js/pages-my-richText.807f9f40.js
  54. 1
      unpackage/dist/build/h5/static/js/pages-shoukuan-shoukuan.ab6ff221.js
  55. 1
      unpackage/dist/build/h5/static/js/pages-shoukuan-shoukuan.c76e60cc.js
  56. 1
      unpackage/dist/build/h5/static/js/pages-shouyi-shouyi.9f12f086.js

@ -31,61 +31,21 @@ export const changePassword = (params, config = {custom: { auth: true }}) => htt
export const logout = (params, config = {custom: { auth: true }}) => http.post('/api/user/logout', params, config);
//更新用户信息
export const updateUserInfo = (params, config = {custom: { auth: true }}) => http.post('/api/user/updateUserInfo', params, config);
// //用户登录
// export const loginHandle = (params, config = {}) => http.post('/api/user/login', params, config);
// //退出登录
// export const logout = (params, config = {}) => http.post('/api/user/logout', params, config);
// //用户个人中心
// export const getUserInfo = (params, config = {custom: { auth: true }}) => http.get('/api/user/index', {params}, config);
// //关于我们
// export const aboutUs = (params, config = {custom: { auth: true }}) => http.get('/api/index/about', {params}, config);
// //隐私协议
// export const privacyPolicy = (params, config = {custom: { auth: true }}) => http.get('/api/index/privacyPolicy', {params}, config);
// //用户协议
// export const getUserText = (params, config = {custom: { auth: true }}) => http.get('/api/index/userAgreement', {params}, config);
// //用户须知
// export const getUserKnow = (params, config = {custom: { auth: true }}) => http.get('/api/index/userNotice', {params}, config);
// //上传图片
// export const uploadImg = (params, config = {custom: { auth: true }}) => http.get('/api/common/upload', {params}, config);
// //反馈
// export const setFeedBack = (params, config = {custom: { auth: true }}) => http.post('/api/index/feedback', params, config);
// //验收不通过
// export const unpassHandle = (params, config = {custom: { auth: true }}) => http.post('api/work_order/noReason ', params, config);
// //获取配置项
// export const getSetting = (params, config = {custom: { auth: true }}) => http.get('/api/index/config', {params}, config);
// //工单列表
// export const orderList = (params, config = {custom: { auth: true }}) => http.get('/api/work_order/index', {params}, config);
// //添加工单
// export const addOrderHandle = (params, config = {custom: { auth: true }}) => http.post('/api/work_order/add', params, config);
// //获取工单详情
// export const getDetails = (params, config = {custom: { auth: true }}) => http.get('/api/work_order/detail', {params}, config);
// //安装调试记录
// export const getInstallLog = (params, config = {custom: { auth: true }}) => http.get('/api/work_order/getLog', {params}, config);
// //添加工单调试记录
// export const addLogHandle = (params, config = {custom: { auth: true }}) => http.post('/api/work_order/addLog', params, config);
// //安装规范
// export const getFile = (params, config = {custom: { auth: true }}) => http.get('/api/work_order/getNorm', {params}, config);
// //获取产品类型和型号
// export const getProType = (params, config = {custom: { auth: true }}) => http.get('/api/work_order/getProduct', {params}, config);
// //获取配置项
// export const getAcceptance = (params, config = {custom: { auth: true }}) => http.get('/api/work_order/acceptance', {params}, config);
// //签字
// export const setSing = (params, config = {custom: { auth: true }}) => http.post('/api/work_order/sing', params, config);
// //案例分享
// export const exampleShare = (params, config = {custom: { auth: true }}) => http.get('/api/index/caseShare', {params}, config);
// //用户签字
// export const userSign = (params, config = {}) => http.post('/api/work_order/userSing', params, config);
// //用户签字信息校验
// export const checkUserSign = (params, config = {custom: { auth: true }}) => http.post('/api/work_order/shareOrder', params, config);
//优惠券
export const couponList = (params, config = {custom: { auth: true }}) => http.post('/addons/shopro/user.coupon/index', params, config);
//分销中心
//统计
export const getUserCommissionStatistic = (params, config = {custom: { auth: true }}) => http.post('/api/user/getUserCommissionStatistic', params, config);
//我的佣金
export const getUserCommissionApi = (params, config = {custom: { auth: true }}) => http.post('/api/user/getUserCommission', params, config);
//佣金列表
export const getUserCommissionList = (params, config = {custom: { auth: true }}) => http.post('/api/user/getUserCommissionList', params, config);
//我的粉丝
export const getUserFansStatistic = (params, config = {custom: { auth: true }}) => http.post('/api/user/getUserFansStatistic', params, config);
//粉丝列表
export const getUserFansList = (params, config = {custom: { auth: true }}) => http.post('/api/user/getUserFansList', params, config);
//收益统计
export const getUserProfitStatistic = (params, config = {custom: { auth: true }}) => http.post('/api/user/getUserProfitStatistic', params, config);
//收益列表
export const getUserProfitList = (params, config = {custom: { auth: true }}) => http.post('/api/user/getUserProfitList', params, config);

@ -56,7 +56,7 @@ module.exports = (vm) => {
// 响应拦截
uni.$u.http.interceptors.response.use((response) => { /* 对响应成功做点什么 可使用async await 做异步操作*/
const data = response.data
console.log(data)
// console.log(data)
// 自定义参数
const custom = response.config?.custom
if (data.code !== 1) {

@ -125,6 +125,44 @@
"navigationBarBackgroundColor": "#FFFFFF"
}
},
{
"path" : "pages/MyCoupon/MyCoupon",
"style" : {
"navigationBarTitleText": "优惠券",
"navigationBarBackgroundColor": "#FFFFFF"
}
},
{
"path" : "pages/fenxiao/fenxiao",
"style" : {
"navigationBarTitleText": "分销中心",
"navigationBarBackgroundColor": "#FFFFFF"
}
},
{
"path" : "pages/fenxiao/yongjin",
"style" : {
"navigationBarTitleText": "我的佣金",
"navigationBarBackgroundColor": "#FFFFFF",
"onReachBottomDistance":100
}
},
{
"path" : "pages/fenxiao/fans",
"style" : {
"navigationBarTitleText": "我的粉丝",
"navigationBarBackgroundColor": "#FFFFFF",
"onReachBottomDistance":100
}
},
{
"path" : "pages/shouyi/shouyi",
"style" : {
"navigationBarTitleText": "我的收益",
"navigationBarBackgroundColor": "#FFFFFF",
"onReachBottomDistance":100
}
},
@ -288,13 +326,6 @@
"navigationBarBackgroundColor": "#FFFFFF"
}
}
,{
"path" : "pages/MyCoupon/MyCoupon",
"style" : {
"navigationBarTitleText": "优惠券",
"navigationBarBackgroundColor": "#FFFFFF"
}
}
,{
"path" : "pages/MyWallet/MyWallet",
"style" : {
@ -448,13 +479,6 @@
"navigationBarTitleText": "通知消息",
"navigationBarBackgroundColor": "#FFFFFF"
}
}
,{
"path" : "pages/register/register",
"style" : {
"navigationBarTitleText": "注册",
"navigationBarBackgroundColor": "#FFFFFF"
}
}
,{
"path" : "pages/MyEvaluatePush/MyEvaluatePush",

@ -68,7 +68,7 @@
export default {
data() {
return {
show:true,
show:false,
};
},
methods:{

@ -144,7 +144,7 @@
uni.setNavigationBarTitle({
title: this.addressType === '1' ? '编辑收货地址':'新建收货地址'
})
if(params.item){
if(params.item&&params.item!='null'){
this.getAddrDescHandle(JSON.parse(params.item).id)
}
this.getAreaHandle()

@ -19,8 +19,8 @@
display: flex;
align-items: center;
width: 100%;
height: 100rpx;
background-color: #ffffff;
height: 80rpx;
background-color:rgb(35, 96, 48);
.tab {
position: relative;
display: flex;
@ -28,22 +28,24 @@
justify-content: center;
width: 33%;
height: 100%;
text {
font-size: 26rpx;
color: #555555;
color:#4D9A5E;
}
}
.action {
text {
color: #222222;
color: #ffffff;
font-weight: bold;
}
.line {
position: absolute;
left: 50%;
bottom: 10rpx;
bottom: 2rpx;
width: 30%;
height: 6rpx;
background: linear-gradient(to right, $base, #f6f6f6);
background: #ffffff;
transform: translate(-50%, 0);
}
}
@ -62,6 +64,8 @@
border-radius: 6rpx;
margin-bottom: 20rpx;
overflow: hidden;
background: url('../../static/image/coupon-bg.png');
background-size: cover;
.list-data {
display: flex;
align-items: center;
@ -75,20 +79,20 @@
justify-content: center;
width: 30%;
height: 100%;
background-color: $base;
// background-color: $base;
.discounts {
display: flex;
justify-content: center;
align-items: flex-end;
align-items: center;
width: 100%;
.min {
color: #ffffff;
color: #343734;
font-size: 32rpx;
font-weight: bold;
}
.max {
font-size: 48rpx;
color: #ffffff;
font-size: 56rpx;
color: #343734;
font-weight: bold;
}
}
@ -99,92 +103,64 @@
width: 100%;
height: 60rpx;
text {
font-size: 24rpx;
color: #ffffff;
}
}
.jag {
position: absolute;
top: 0;
left: -6rpx;
width: 6px;
height: 100%;
background-size: 10px 6px;
background-color: #fff;
background-position: 100% 35%;
background-image: linear-gradient(-45deg, $base 25%, transparent 25%, transparent), linear-gradient(-135deg, $base 25%, transparent 25%, transparent),
linear-gradient(-45deg, transparent 75%, $base 75%), linear-gradient(-135deg, transparent 75%, $base 75%);
}
font-size: 26rpx;
color: #343734;
}
}
// .jag {
// position: absolute;
// top: 0;
// left: -6rpx;
// width: 6px;
// height: 100%;
// background-size: 10px 6px;
// background-color: #fff;
// background-position: 100% 35%;
// background-image: linear-gradient(-45deg, $base 25%, transparent 25%, transparent), linear-gradient(-135deg, $base 25%, transparent 25%, transparent),
// linear-gradient(-45deg, transparent 75%, $base 75%), linear-gradient(-135deg, transparent 75%, $base 75%);
// }
}
.coupon-info {
width: 70%;
height: 90%;
padding: 0 4%;
.info-title {
display: flex;
flex-direction: column;
justify-content: space-around;
.info-title {
// display: flex;
width: 100%;
height: 60rpx;
.tag {
margin-right: 10rpx;
text {
padding: 4rpx 16rpx;
color: #ffffff;
background-color: $base;
font-size: 24rpx;
border-radius: 40rpx;
}
}
.title {
text {
font-size: 24rpx;
color: #212121;
}
font-size: 34rpx;
color: #343734;
font-weight: 700;
margin-bottom: 16rpx;
}
}
.date-get {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
height: 80rpx;
border-bottom: 2rpx dashed #eeeeee;
.date {
display: flex;
align-items: center;
text {
font-size: 24rpx;
color: #555555;
}
}
.get {
.title {
text {
padding: 10rpx 20rpx;
background-color: $base;
color: #ffffff;
font-size: 24rpx;
border-radius: 100rpx;
}
.use {
background-color: transparent;
border: 1px solid $base;
color: $base;
color: #6e4936;
}
}
}
.describe-title {
.date {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
height: 40rpx;
text {
color: #555555;
font-size: 24rpx;
color: #6e4936;
}
.more {
transform: rotate(90deg);
}
}
}
}
.coupon-lose{
@ -256,3 +232,15 @@
}
}
}
.empty{
text-align: center;
width:80%;
margin:0 auto;
image{
width:400rpx;
height:auto;
}
.emptyText{
text-align: center;
}
}

@ -2,66 +2,66 @@
<view class="page">
<!-- 优惠券tab -->
<view class="coupon-tab">
<view class="tab" :class="{'action':TabShow===0}" @click="onCouponTab(0)">
<view class="tab" :class="{'action':TabShow===0}" @click="onCouponTab(0,'can_use')">
<text>未使用</text>
<text class="line"></text>
</view>
<view class="tab" :class="{'action':TabShow===1}" @click="onCouponTab(1)">
<view class="tab" :class="{'action':TabShow===1}" @click="onCouponTab(1,'used')">
<text>已使用</text>
<text class="line"></text>
</view>
<view class="tab" :class="{'action':TabShow===2}" @click="onCouponTab(2)">
<view class="tab" :class="{'action':TabShow===2}" @click="onCouponTab(2,'expired')">
<text>已过期</text>
<text class="line"></text>
</view>
</view>
<!-- 优惠券列表 -->
<view class="coupon-list">
<view class="list" v-for="(item,index) in 6" :key="index">
<view class="list" v-for="(item,index) in list" :key="index">
<view class="list-data" :class="{'coupon-lose':TabShow!=0}">
<view class="coupon-price">
<view class="discounts">
<text class="min"></text>
<text class="max">200</text>
<text class="max">{{item.coupon.amount}}</text>
</view>
<view class="full-reduction"><text>满600元减200元</text></view>
<view class="jag"></view>
<view class="full-reduction"><text>{{item.coupon.type_text}}</text></view>
<!-- <view class="jag"></view> -->
</view>
<view class="coupon-info">
<view class="info-title">
<view class="tag"><text>限品类券</text></view>
<view class="title"><text>仅可购买酒水部分商品</text></view>
<view class="tag"><text>{{item.coupon.amount_text}}</text></view>
</view>
<view class="date-get">
<view class="date"><text>2020.3.09-2020.03.15</text></view>
<view class="get" @click="onCouponUse" v-if="TabShow===0">
<text>立即使用</text>
</view>
</view>
<view class="describe-title" @click="isDes=!isDes">
<text>详细信息</text>
<text class="iconfont icon-more more" :style="isDes?'transform: rotate(-90deg);':'transform: rotate(90deg);'"></text>
<view class="title"><text>{{item.coupon.use_scope_text}}</text></view>
<view class="date"><text>{{item.coupon.get_start_time}}-{{item.coupon.get_end_time}}</text></view>
</view>
</view>
</view>
<view class="use-status" v-if="TabShow != 0">
<text v-if="TabShow === 1">已使用</text>
<text v-else-if="TabShow === 2">已过期</text>
</view>
<view class="describe" v-show="isDes">
<text>限品类尽可购买酒水部分商品</text>
</view>
</view>
<view class="empty">
<image src="../../static/image/not-order.png" mode="widthFix"></image>
<view class="emptyText">暂无数据</view>
</view>
</view>
</template>
<script>
import {couponList} from '@/common/api.js'
export default {
data() {
return {
TabShow: 0,
isDes: false,
list:[]
};
},
methods:{
@ -69,8 +69,9 @@ export default {
* 优惠券tab点击
* @param {Number} type
*/
onCouponTab(type){
this.TabShow = type;
onCouponTab(index,type){
this.TabShow = index;
this.getList(type)
},
/**
* 去使用点击
@ -79,8 +80,16 @@ export default {
uni.navigateTo({
url: '/pages/SearchGoodsList/SearchGoodsList'
})
}
}
},
getList(type){
couponList({type:type}).then(res=>{
this.list = res.data.data
})
},
},
onLoad(){
this.getList('can_use')
},
};
</script>

@ -0,0 +1,245 @@
<template>
<view class="page">
<view class="totalContent">
<view class="totalitem">
<view class="price">
<text></text>
<text class="num">{{info.today_fans_num}}</text>
</view>
<view class="descText">
今日邀请
</view>
</view>
<view class="totalitem" style="border-left:1px solid #fff;">
<view class="price">
<text class="num">{{info.total_fans_num}}</text>
</view>
<view class="descText">
历史邀请
</view>
</view>
</view>
<view class="yongjinTitle">
分享有礼({{tableData.length}})
</view>
<!-- 佣金明细 -->
<view class="record-list" v-show="tableData.length>0">
<view class="list" v-for="(item,index) in tableData" :key="index">
<image :src="baseUrl+item.avatar" mode="" class="avatarPic"></image>
<view class="outer">
<view class="title-date">
<view class="title">
<text>{{item.nickname}}</text>
</view>
<view class="date">
<text>{{item.jointime}}</text>
</view>
</view>
</view>
<view class="integral">
<text style="color: #22AA44;">+{{item.total_commission_amount}}</text>
</view>
</view>
</view>
<view class="empty" v-show="tableData.length==0">
<image src="../../static/image/mescroll-empty.png" mode="widthFix"></image>
<view class="emptyText">
暂无数据
</view>
</view>
</view>
</template>
<script>
import {getUserFansStatistic,getUserFansList} from '@/common/api.js'
export default {
data() {
return {
info:{
today_fans_num:0,
total_fans_num:0
},
page:1,
limit:10,
tableData:[],
total:0,
};
},
methods:{
getInfo(){
getUserFansStatistic().then(res=>{
this.info = Object.assign({},this.info,res.data)
})
},
getList(val){
let params={
page:this.page,
limit:this.limit,
}
getUserFansList(params).then(res=>{
console.log(res)
if(val){
this.tableData.push(...res.data.data)
}else{
this.tableData = res.data.data;
this.total = res.data.total
}
})
},
},
onReachBottom() {
if(this.tableData.length<this.total){
this.page++;
this.getList('over')
}
},
mounted(){
this.getInfo()
this.getList()
}
}
</script>
<style scoped lang="scss">
.page{
// position: absolute;
// left: 0;
// top: 0;
// width: 100%;
// height: 100%;
// background-color: #FFFFFF;
}
.totalContent{
height: 160rpx;
background: url('../../static/image/total-bg.png');
background-size: cover;
background-repeat: no-repeat;
border-radius: 6px;
overflow: hidden;
position: relative;
// width:94%;
// margin:20rpx auto 0 auto;
display: flex;
padding:40rpx 0;
margin:20rpx 24rpx;
.totalitem{
flex:1;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
.price{
display: flex;
align-items: center;
justify-content: center;
text{
font-size: 30rpx;
color:#fff;
}
.num{
font-size: 48rpx;
}
}
.descText{
text-align: center;
font-size: 28rpx;
color:#fff;
}
}
}
.yongjinTitle{
border:3px solid rgb(35, 96, 48);
margin:24rpx;
border-radius: 10rpx;
padding:10rpx;
text-align: center;
color: rgb(35, 96, 48);
font-weight: bold;
font-size: 30rpx;
}
.record-list{
// width: 100%;
background-color: #FFFFFF;
padding:0 24rpx;
margin:0 24rpx;
border-radius: 10rpx;
.list{
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 2rpx solid #f6f6f6;
.avatarPic{
width:100rpx;
height:100rpx;
border-radius: 50%;
}
.outer{
flex:1;
margin-left:20rpx;
padding:20rpx 0;
}
.title-date{
height: 100%;
.title{
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
height: 50rpx;
text{
font-size: 28rpx;
font-weight: bold;
color: #236030;
}
}
.date{
display: flex;
align-items: center;
width: 100%;
height: 60rpx;
text{
font-size: 24rpx;
color: #959595;
}
}
}
.integral{
display: flex;
align-items: center;
height: 100%;
text{
font-size: 36rpx;
font-weight: bold;
color: $base;
}
}
}
}
.empty{
text-align: center;
image{
width:50%;
height:auto
}
.emptyText{
text-align: center;
margin-top:20rpx;
color:#aaa;
}
}
</style>

@ -0,0 +1,171 @@
<template>
<view class="fenxiao">
<view class="fenxiaoInfo">
<view class="fxTop">
<text class="tixian">佣金</text>
<view class="fxIntro">
<text>分销说明</text>
<u-icon size="15" color="#c4b39b" name="more-circle"></u-icon>
</view>
</view>
<!-- <view class="fxMiddle">
<text></text>
<text class="num">22</text>
</view> -->
<view class="fxBottom">
<view class="fxItem">
<text class="num">{{totalObj.total_commission_amount}}</text>
<text class="total">累计总获得</text>
</view>
<view class="fxItem">
<text class="num">{{totalObj.today_commission_amount}}</text>
<text class="total">今日获得</text>
</view>
<view class="fxItem">
<text class="num">{{totalObj.seven_day_commission_amount}}</text>
<text class="total">近7日获得</text>
</view>
</view>
</view>
<image class="line" src="../../static/image/line.png" mode="widthFix"></image>
<view class="card">
<u-cell-group :border="false">
<u-cell icon="rmb-circle" :iconStyle="{'color':'#9f751f'}" @click="jump(1)" :titleStyle="{'color':'#9f751f'}" title="我的佣金" :isLink="true" :rightIconStyle="{'color':'#9f751f'}"></u-cell>
<!-- <u-cell icon="file-text" :iconStyle="{'color':'#9f751f'}" :titleStyle="{'color':'#9f751f'}" title="提现记录" :isLink="true" :rightIconStyle="{'color':'#9f751f'}"></u-cell> -->
<u-cell icon="heart" :iconStyle="{'color':'#9f751f'}" @click="jump(2)" :titleStyle="{'color':'#9f751f'}" title="我的粉丝" :isLink="true" :rightIconStyle="{'color':'#9f751f'}"></u-cell>
<u-cell icon="order" :iconStyle="{'color':'#9f751f'}" :titleStyle="{'color':'#9f751f'}" title="粉丝订单" :isLink="true" :rightIconStyle="{'color':'#9f751f'}"></u-cell>
</u-cell-group>
</view>
</view>
</template>
<script>
import {getUserCommissionStatistic} from '@/common/api.js'
export default{
data(){
return{
totalObj:{
"total_commission_amount": "",
"today_commission_amount": "",
"seven_day_commission_amount": ""
}
}
},
methods:{
getInfo(){
getUserCommissionStatistic().then(res=>{
console.log(res,"nnn")
this.totalObj = Object.assign({},this.totalObj,res.data)
})
},
jump(type){
switch (type){
case 1:
uni.navigateTo({
url: '/pages/fenxiao/yongjin'
})
break;
case 2:
uni.navigateTo({
url: '/pages/fenxiao/fans'
})
break;
case 3:
uni.navigateTo({
url: '/pages/BrowsingHistory/BrowsingHistory'
})
break;
}
},
},
mounted(){
this.getInfo()
}
}
</script>
<style lang="scss" scoped>
.fenxiao{
min-height: calc(100vh - 90rpx);
border-top: 1px solid transparent;
background: url('../../static/image/bg.png');
background-size: contain;
.fenxiaoInfo{
width:80%;
margin:14% auto 0 auto;
background: url('../../static/image/fenxiaobg.png');
background-repeat: no-repeat;
background-size: 100% 100%;
border-radius: 15rpx;
padding:30rpx;
}
.fxTop{
display: flex;
align-items: center;
justify-content: space-between;
.tixian{
color: #9f751f;
font-size: 30rpx;
}
.fxIntro{
font-size: 30rpx;
color: #c4b39b;
display: flex;
align-items: center;
text{
margin-right:10rpx;
}
}
}
.fxMiddle{
font-size: 30rpx;
margin:26rpx 0;
color: #9f751f;
text-align: center;
.num{
font-size: 58rpx;
font-weight: normal;
color: rgb(77, 154, 94);
}
}
.fxBottom{
display: flex;
margin-top:50rpx;
align-items: center;
justify-content: space-between;
.fxItem{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.num{
font-size: 32rpx;
color: #9f751f;
}
.total{
font-size: 26rpx;
color: #7a5f26;
margin-top:10rpx;
}
}
}
.line{
width:100%;
height:auto;
}
.card{
margin-top: 8px;
padding: 16px 22px;
}
}
::v-deep .u-line{
border:1px solid #9f751f !important;
}
::v-deep .u-cell__body{
padding:30rpx 0 !important
}
</style>

@ -0,0 +1,276 @@
<template>
<view class="page">
<view class="tabs">
<view :class="activeIndex==item.id?'tabsItem active':'tabsItem'" @click="getItem(item)" v-for="item in tabList" :key="item.id">
{{item.name}}
</view>
</view>
<view class="totalContent">
<view class="totalitem">
<view class="price">
<text></text>
<text class="num">{{info.total_commission_amount}}</text>
</view>
<view class="descText">
佣金总数
</view>
</view>
<view class="totalitem" style="border-left:1px solid #fff;">
<view class="price">
<text class="num">{{info.distribute_order_num}}</text>
</view>
<view class="descText">
订单数
</view>
</view>
</view>
<view class="yongjinTitle">
佣金明细
</view>
<!-- 佣金明细 -->
<view class="record-list" v-show="tableData.length>0">
<view class="list" v-for="(item,index) in tableData" :key="index">
<image :src="baseUrl+item.avatar" mode="" class="avatarPic"></image>
<view class="outer">
<view class="title-date">
<view class="title">
<text>{{item.nickname}}</text>
</view>
<view class="date">
<text>{{item.jointime}}</text>
</view>
</view>
</view>
<view class="integral">
<text style="color: #22AA44;">+{{item.total_commission_amount}}</text>
</view>
</view>
</view>
<view class="empty" v-show="tableData.length==0">
<image src="../../static/image/mescroll-empty.png" mode="widthFix"></image>
<view class="emptyText">
暂无数据
</view>
</view>
</view>
</template>
<script>
import {getUserCommissionApi,getUserCommissionList} from '@/common/api.js'
export default {
data() {
return {
tabList:[
{id:1,name:'已到账'},
{id:0,name:'未到账'},
],
activeIndex:1,
info:{
distribute_order_num:0,
total_commission_amount:0
},
page:1,
limit:10,
tableData:[],
total:0,
};
},
methods:{
getInfo(){
getUserCommissionApi({status:this.activeIndex}).then(res=>{
this.info = Object.assign({},this.info,res.data)
})
},
getList(val){
let params={
page:this.page,
limit:this.limit,
status:this.activeIndex
}
getUserCommissionList(params).then(res=>{
if(val){
this.tableData.push(...res.data.data)
}else{
this.tableData = res.data.data;
this.total = res.data.total
}
})
},
getItem(item){
this.page = 1;
this.activeIndex = item.id;
this.getInfo();
this.getList()
},
},
onReachBottom() {
if(this.tableData.length<this.total){
this.page++;
this.getList('over')
}
},
mounted(){
this.getInfo()
this.getList()
}
}
</script>
<style scoped lang="scss">
.page{
// position: absolute;
// left: 0;
// top: 0;
// width: 100%;
// height: 100%;
// background-color: #FFFFFF;
}
.tabs{
height: 80rpx;
background-color: rgb(35, 96, 48);
padding: 6rpx;
border-radius: 5px;
display: flex;
margin:0 24rpx;
.tabsItem{
flex:1;
text-align: center;
line-height: 70rpx;
font-size: 26rpx;
color: #ffffff;
}
.active{
background-color: #fff;
font-size: 30rpx;
font-weight: bold;
border-radius: 5px;
color: rgb(35, 96, 48);
}
}
.totalContent{
height: 160rpx;
background: url('../../static/image/total-bg.png');
background-size: cover;
background-repeat: no-repeat;
border-radius: 6px;
overflow: hidden;
position: relative;
// width:94%;
// margin:20rpx auto 0 auto;
display: flex;
padding:40rpx 0;
margin:20rpx 24rpx;
.totalitem{
flex:1;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
.price{
display: flex;
align-items: center;
justify-content: center;
text{
font-size: 30rpx;
color:#fff;
}
.num{
font-size: 48rpx;
}
}
.descText{
text-align: center;
font-size: 28rpx;
color:#fff;
}
}
}
.yongjinTitle{
padding: 13px 0 4px 0;
font-size: 30rpx;
color: #9f751f;
margin:0 24rpx;
}
.record-list{
// width: 100%;
background-color: #FFFFFF;
padding:0 24rpx;
margin:0 24rpx;
border-radius: 10rpx;
.list{
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 2rpx solid #f6f6f6;
.avatarPic{
width:100rpx;
height:100rpx;
border-radius: 50%;
}
.outer{
flex:1;
margin-left:20rpx;
padding:20rpx 0;
}
.title-date{
height: 100%;
.title{
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
height: 50rpx;
text{
font-size: 28rpx;
font-weight: bold;
color: #236030;
}
}
.date{
display: flex;
align-items: center;
width: 100%;
height: 60rpx;
text{
font-size: 24rpx;
color: #959595;
}
}
}
.integral{
display: flex;
align-items: center;
height: 100%;
text{
font-size: 36rpx;
font-weight: bold;
color: $base;
}
}
}
}
.empty{
text-align: center;
image{
width:50%;
height:auto
}
.emptyText{
text-align: center;
margin-top:20rpx;
color:#aaa;
}
}
</style>

@ -218,15 +218,15 @@
<view class="card">
<u-cell-group :border="false">
<u-cell icon="map" :iconStyle="{'color':'#236030'}" @click="onAddress" :titleStyle="{'color':'#236030'}" title="我的地址" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
<u-cell icon="coupon" :iconStyle="{'color':'#236030'}" :titleStyle="{'color':'#236030'}" title="我的优惠券" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
<u-cell icon="coupon" :iconStyle="{'color':'#236030'}" @click="jump(1)" :titleStyle="{'color':'#236030'}" title="我的优惠券" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
<u-cell icon="scan" :iconStyle="{'color':'#236030'}" :titleStyle="{'color':'#236030'}" title="我的邀请二维码" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
</u-cell-group>
</view>
<view class="card">
<u-cell-group :border="false">
<u-cell icon="share-square" :iconStyle="{'color':'#236030'}" :titleStyle="{'color':'#236030'}" title="分销中心" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
<u-cell icon="share-square" @click="jump(2)" :iconStyle="{'color':'#236030'}" :titleStyle="{'color':'#236030'}" title="分销中心" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
<u-cell icon="rmb" @click="goPay" :iconStyle="{'color':'#236030'}" :titleStyle="{'color':'#236030'}" title="收款管理" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
<u-cell icon="rmb-circle" :iconStyle="{'color':'#236030'}" :titleStyle="{'color':'#236030'}" title="我的收益" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
<u-cell icon="rmb-circle" @click="jump(3)" :iconStyle="{'color':'#236030'}" :titleStyle="{'color':'#236030'}" title="我的收益" :isLink="true" :rightIconStyle="{'color':'#236030'}"></u-cell>
</u-cell-group>
</view>
@ -420,6 +420,21 @@
break;
}
},
jump(val){
if(val==1){
uni.navigateTo({
url:'/pages/MyCoupon/MyCoupon'
})
}else if(val==2){
uni.navigateTo({
url:'/pages/fenxiao/fenxiao'
})
}else if(val==3){
uni.navigateTo({
url:'/pages/shouyi/shouyi'
})
}
},
}
}
@ -427,4 +442,8 @@
<style scoped lang="scss">
@import 'my.scss';
::v-deep .u-cell__body{
padding:30rpx !important
}
</style>

@ -0,0 +1,251 @@
<template>
<view class="page">
<view class="totalContent">
<view class="totalitem">
<view class="price">
<text></text>
<text class="num">{{info.today_profit_amount}}</text>
</view>
<view class="descText">
今日收益
</view>
</view>
<view class="totalitem" style="border-left:1px solid #fff;">
<view class="price">
<text></text>
<text class="num">{{info.total_profit_amount}}</text>
</view>
<view class="descText">
累计收益
</view>
</view>
</view>
<view class="yongjinTitle">
收益明细
</view>
<!-- 收益明细 -->
<view class="record-list" v-show="tableData.length>0">
<view class="list" v-for="(item,index) in tableData" :key="index">
<view class="outer">
<view class="title-date">
<view class="date">
<text>{{item.jointime}}</text>
</view>
</view>
</view>
<view class="integral">
<text style="color: #22AA44;">+{{item.amount}}</text>
</view>
</view>
</view>
<view class="empty" v-show="tableData.length==0">
<image src="../../static/image/mescroll-empty.png" mode="widthFix"></image>
<view class="emptyText">
暂无数据
</view>
</view>
</view>
</template>
<script>
import {getUserProfitStatistic,getUserProfitList} from '@/common/api.js'
export default {
data() {
return {
info:{
today_profit_amount:0,
total_profit_amount:0
},
page:1,
limit:10,
tableData:[],
total:0,
};
},
methods:{
getInfo(){
getUserProfitStatistic().then(res=>{
this.info = Object.assign({},this.info,res.data)
})
},
getList(val){
let params={
page:this.page,
limit:this.limit,
}
getUserProfitList(params).then(res=>{
if(val){
this.tableData.push(...res.data.data)
}else{
this.tableData = res.data.data;
this.total = res.data.total
}
})
},
},
onReachBottom() {
if(this.tableData.length<this.total){
this.page++;
this.getList('over')
}
},
mounted(){
this.getInfo()
this.getList()
}
}
</script>
<style scoped lang="scss">
.page{
// position: absolute;
// left: 0;
// top: 0;
// width: 100%;
// height: 100%;
// background-color: #FFFFFF;
}
.tabs{
height: 80rpx;
background-color: rgb(35, 96, 48);
padding: 6rpx;
border-radius: 5px;
display: flex;
margin:0 24rpx;
.tabsItem{
flex:1;
text-align: center;
line-height: 70rpx;
font-size: 26rpx;
color: #ffffff;
}
.active{
background-color: #fff;
font-size: 30rpx;
font-weight: bold;
border-radius: 5px;
color: rgb(35, 96, 48);
}
}
.totalContent{
height: 160rpx;
background: url('../../static/image/total-bg.png');
background-size: cover;
background-repeat: no-repeat;
border-radius: 6px;
overflow: hidden;
position: relative;
// width:94%;
// margin:20rpx auto 0 auto;
display: flex;
padding:40rpx 0;
margin:20rpx 24rpx;
.totalitem{
flex:1;
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
.price{
display: flex;
align-items: center;
justify-content: center;
text{
font-size: 30rpx;
color:#fff;
}
.num{
font-size: 48rpx;
}
}
.descText{
text-align: center;
font-size: 28rpx;
color:#fff;
}
}
}
.yongjinTitle{
padding: 13px 0 4px 0;
font-size: 30rpx;
color: #9f751f;
margin:0 24rpx;
}
.record-list{
// width: 100%;
background-color: #FFFFFF;
padding:0 24rpx;
margin:0 24rpx;
border-radius: 10rpx;
.list{
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 2rpx solid #f6f6f6;
.outer{
flex:1;
// margin-left:20rpx;
padding:20rpx 0;
}
.title-date{
height: 100%;
.title{
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
height: 50rpx;
text{
font-size: 28rpx;
font-weight: bold;
color: #236030;
}
}
.date{
display: flex;
align-items: center;
width: 100%;
height: 60rpx;
text{
font-size: 24rpx;
color: #959595;
}
}
}
.integral{
display: flex;
align-items: center;
height: 100%;
text{
font-size: 36rpx;
font-weight: bold;
color: $base;
}
}
}
}
.empty{
text-align: center;
image{
width:50%;
height:auto
}
.emptyText{
text-align: center;
margin-top:20rpx;
color:#aaa;
}
}
</style>

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

@ -1,2 +1,2 @@
<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>商城</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/static/index.97465e7b.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.fd0c9014.js></script><script src=/static/js/index.52d06a89.js></script></body></html>
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/static/index.97465e7b.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.fd0c9014.js></script><script src=/static/js/index.7962224f.js></script></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 93 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

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

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

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

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

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

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

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
Loading…
Cancel
Save