Commit 080ade46 by yuzhenWang

页面翻修完毕,合并测试

parent a65e8252
......@@ -188,8 +188,9 @@
}
</script>
<style lang="scss">
<style lang="scss" scoped>
.container{
padding: 30rpx;
background-color: #f7f7f7;
}
</style>
\ No newline at end of file
......@@ -117,6 +117,7 @@
width: 85%;
padding: 15rpx;
color: #fff;
font-size: 26rpx;
}
.icon-sousuo{
font-size: 50rpx;
......
......@@ -153,6 +153,14 @@
},
{
"path": "pages/personalCenter/helpCenter",
"style": {
"navigationBarTitleText": "帮助中心",
"enablePullDownRefresh": false
}
},
{
"path": "pages/myShare/myShare",
"style": {
"navigationBarTitleText": "分享数据",
......
......@@ -142,6 +142,7 @@
<style lang="scss" scoped>
.container{
height:100%;
padding-bottom: 50rpx;
.top{
display: flex;
height: 80rpx;
......@@ -160,7 +161,8 @@
.returnCountsContainer,.returnProcessContainer,.returnDetailContainer{
background-color: #fff;
padding: 20rpx 40rpx;
margin: 10rpx auto;
margin: 20rpx 20rpx;
border-radius: 10rpx;
h4{
font-size: 32rpx;
color: #333;
......
......@@ -10,7 +10,7 @@
<course-item :thumbnailPath="item.displayImage" :title="item.fileTitle" :summaryBox="item.fileSynopsis" :dataList="{coursePrice:item.coursePrice,salesNumber:item.salesNumber}" :fileLecturerId="item.fileLecturerId"></course-item>
<view class="statusBox">
<text>{{item.orderStatusName}}</text>
<text @click="goDetail(item)">查看详情></text>
<text @click="goDetail(item)">查看详情</text>
</view>
</view>
</view>
......@@ -80,18 +80,25 @@
}
.ulBox{
margin-top: 20rpx;
box-sizing: border-box;
.liBox{
background-color: #fff;
margin-bottom: 20rpx;
padding: 36rpx 30rpx;
margin: 20rpx;
border-radius: 10rpx;
.statusBox{
display: flex;
justify-content: space-between;
align-items: center;
text{
color: #333;
font-size: 32rpx;
&:last-child{
color: #666;
background-color: #2A36AD;
padding: 10rpx 20rpx;
border-radius: 40rpx;
color: #fff;
font-size: 28rpx;
}
}
......
......@@ -218,7 +218,7 @@
<style lang="scss" scoped>
.container{
padding: 10rpx 20rpx;
// padding: 10rpx 0;
height: 100%;
position: relative;
.commonTitle{
......@@ -235,7 +235,7 @@
padding: 30rpx 14rpx 14rpx 20rpx;
margin-bottom: 10rpx;
background-color: #fff;
border-radius: 10rpx;
// border-radius: 10rpx;
view{
margin-top: 22rpx;
display: flex;
......@@ -251,9 +251,6 @@
}
.submitApply{
margin-top: 30rpx;
// position: fixed;
// bottom: 0rpx;
// left: 0;
width: 100%;
text{
display: flex;
......@@ -295,7 +292,7 @@
align-items: baseline;
background-color: #fff;
padding: 20rpx;
border-radius: 10rpx;
// border-radius: 10rpx;
box-sizing: border-box;
.pickerBox{
display: flex;
......
......@@ -411,7 +411,6 @@
}
},
goBack() {
console.log('返回');
uni.navigateBack({
delta: 1
});
......@@ -1015,10 +1014,10 @@
<style lang="scss" scoped>
.container{
// background-color: #f7f7f7;
width: 100%;
height: auto;
box-sizing: border-box;
// padding: 20rpx;
}
page {
padding: 0;
......@@ -1040,11 +1039,6 @@
}
.swiperBox {
height: 930rpx;
image {
border-radius: 12rpx;
}
padding: 0 40rpx;
margin-top: 0rpx;
}
.swiper-box {
height: 930rpx;
......@@ -1105,18 +1099,17 @@
align-items: center;
border-top-left-radius: 30rpx;
border-bottom-left-radius: 30rpx;
// padding-left: 10rpx;
color: #fff;
height: 60rpx;
background: #20269B;
}
.shareheader {
// padding-top: 60rpx;
background-color: #fff;
display: flex;
justify-content: space-between;
align-items: center;
height: 80rpx;
height: 100rpx;
.icon-youjiantou {
display: inline-block;
......
......@@ -25,8 +25,8 @@
</view>
<view class="productBox">
<view class="productList">
<view class="productItem" v-for="item in cffpCourseInfos" :key="item.fileId" @click="goDetail(item)">
<view class="top">
<view class="productItem" v-for="item in cffpCourseInfos" :key="item.fileId" >
<view class="top" @click="goDetail(item)">
<view class="left">
<image class="productImg" :src="item.displayImage" alt="" mode="widthFix"></image>
</view>
......@@ -38,16 +38,16 @@
{{item.fileSynopsis}}
</view>
<view class="three">
<text style="font-size: 28rpx;color: rgba(32, 39, 155, 1);">{{item.coursePrice}}</text>
<text style="font-size: 28rpx;color: rgba(32, 39, 155, 1);">{{Number(item.coursePrice).toFixed(2)}}</text>
</view>
</view>
</view>
<view class="bottom">
<view class="bottomCon">
<view class="left">
最高可赚¥1.98
<view class="left" >
最高可赚¥{{item.income || '0.00'}}
</view>
<view class="right">
<view class="right" @click="gotoShare(item)">
去分享
</view>
</view>
......@@ -55,6 +55,33 @@
</view>
</view>
</view>
<uni-popup ref="popup" type="center" background-color="#fff">
<view class="descriptionBox">
<view class="imageBox">
<text>关注公众号</text>
<text class="subTit">通知实时提醒,及时接收下单和提现通知</text>
</view>
<view class="codeBox">
<image v-if="sourceType == '1'" src="@/static/cffpCode.jpg" mode="widthFix" style="width:250rpx !important;"></image>
<image v-if="sourceType == '4'" src="@/static/ydCode.jpg" mode="widthFix" style="width:250rpx !important;"></image>
<image v-if="sourceType == '3'" src="@/static/ydHomeOfficeCode.jpg" mode="widthFix" style="width:250rpx !important;"></image>
</view>
<view class="description">
扫一扫,关注公众号
</view>
</view>
</uni-popup>
<uni-share-wx ref="sharewx"></uni-share-wx>
<view class="markBox" @click="shareTipsFlag=false" v-if="shareTipsFlag">
<view class="guideImgBox">
<image src="../../static/Group132.png" mode="widthFix"></image>
<view class="tips">
<view style="margin-bottom:30rpx">请点击右上角菜单</view>
<view>分享给朋友</view>
</view>
</view>
</view>
<!--搜索组件-->
<!-- <search
:isSearch="1"
......@@ -90,9 +117,16 @@
import tabBar from '../../components/tabBar/tabBar.vue';
import carousel from '@/components/carousel/carousel.vue';
import search from '@/components/search/search.vue';
import {companyInfo} from "@/environments/environment";
import {baseURL,apiURL,cffpURL,companyInfo,shareURL} from "@/environments/environment";
import dataHandling from "@/util/dataHandling";
import {hshare} from '@/util/fiveshare';
import UniShareWx from "@/uni_modules/uni-share-wx/index.vue";
import {nanoid} from 'nanoid';
export default{
props:['tagIds'],
components: {
UniShareWx,
},
data(){
return{
cffpCourseInfos:[],
......@@ -100,6 +134,9 @@
fileUploadItemCFFPList:[],
queryName:null,
userId: uni.getStorageSync('cffp_userId'),
runEnv:dataHandling.getRuntimeEnv(), //运行的环境 browser、app、h5
shareTipsFlag:false,
sourceType:'1',//根据来源展示二维码 默认是cffp
}
},
name:'courselist',
......@@ -112,12 +149,96 @@
onLoad() {
this.queryName = uni.getStorageSync('queryName') || '';
this.sourceType = uni.getStorageSync('addSystemType') || '1';
},
onShow() {
this.queryName = uni.getStorageSync('queryName') || '';
this.courseList();
this.sourceType = uni.getStorageSync('addSystemType') || '1';
},
methods:{
gotoShare(item){
if(this.runEnv == 'browser'){
this.$refs.popup.open()
return
}else if(this.runEnv == 'app' || this.runEnv == 'wechat-h5'){
const shareCode = nanoid() + this.userId
const jumptime = Date.parse(new Date()) / 1000
//app分享
// #ifdef APP-PLUS
let dataWXform = {
href: shareURL + "/pages/courseDetail/courseDetail?fileId=" + item.fileId +
'&coursesharing=1' + '&serialsNo=' + nanoid() + '&shareCode=' + shareCode + '&shareUserId=' +
this.userId + '&jumpUrl=' + jumptime + "&",
title: item.fileTitle,
// summary: `加入我们开启学习之旅`,
summary: item.fileSynopsis,
imageUrl: item.displayImage,
fileId: item.fileId,
shareCode: shareCode
}
this.$refs.sharewx.open(dataWXform)
// #endif
//#ifdef H5
this.shareTipsFlag = true;
this.getshareData2(shareCode,jumptime,item)
// #endif
}
},
getshareData2(shareCode,jumptime,item) {
let data = {
title: item.fileTitle,
// desc: '加入我们开启学习之旅',
desc:item.fileSynopsis,
link: shareURL + "/pages/courseDetail/courseDetail?fileId=" + item.fileId +
'&coursesharing=1' + '&serialsNo=' + nanoid() + '&shareCode=' + shareCode + '&shareUserId=' +
this.userId + '&jumpUrl=' + jumptime+ "&", //分享链接
imgUrl: item.displayImage, //图片
}
//安卓机型获取当前页面路径
let url = window.location.href.split('#')[0];
//ios机型获取当前页面路径
let ua = navigator.userAgent.toLowerCase();
let isWeixin = ua.indexOf('micromessenger') !== -1;
if (isWeixin) {
let isiOS = /(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent); //ios终端
if (isiOS && window.sessionStorage.getItem('firstEntryUrl')) {
url = window.sessionStorage.getItem('firstEntryUrl').split('#')[0];
}
}
// let url = window.location.href.split('#')[0]
hshare(data, url)
this.submitsuessc(shareCode,jumptime,item)
},
submitsuessc(shareCode,jumptime,item){
let platform = uni.getSystemInfoSync().platform
let UserShareRequestVO = {
systemType: platform == 'ios'? '1': '0',
userId: uni.getStorageSync('cffp_userId'),
businessType: '1', // 分享类型
businessId:item.fileId, // 课程Id
shareUrl: shareURL + "/pages/courseDetail/courseDetail?fileId=" + item.fileId +
'&coursesharing=1' + '&serialsNo=' + nanoid() + '&shareCode=' + shareCode + '&shareUserId=' +
this.userId + '&jumpUrl=' + jumptime + "&", // 分享链接
shareType: '2', // 分享类型(1:图片分享; 2:链接分享)
shareToWhere: 3, //分享到哪儿(1好友 2朋友圈)
shareCode: shareCode
}
api.userShare(UserShareRequestVO).then(res => {
if (res['success']) {
// uni.showToast({
// title: '分享成功',
// duration: 2000
// });
}
})
},
goDetail(item){
uni.navigateTo({
url: `/pages/courseDetail/courseDetail?fileId=${item.fileId}`
......@@ -182,6 +303,10 @@
</script>
<style lang="scss" scoped>
::v-deep .uni-popup .uni-popup__wrapper{
margin: 0 !important;
border-radius: 30rpx;
}
.container{
background-color: rgba(235, 239, 247, 1);
display: flex;
......@@ -323,6 +448,74 @@
}
}
}
.descriptionBox {
width: 510rpx;
padding: 40rpx;
.popupClose{
display: flex;
align-items: center;
justify-content: flex-end;
.icon-guanbi{
font-size: 28rpx;
}
}
.imageBox{
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
font-size: 32rpx;
font-weight: 600;
.subTit{
font-size: 28rpx;
color: #919094;
margin: 15rpx 0;
font-weight: 400;
}
}
.codeBox{
display: flex;
align-items: center;
justify-content: center;
height: 250rpx;
}
.description{
color: rgba(56, 56, 56, 1);
font-size: 28rpx;
display: flex;
align-items: center;
justify-content: center;
}
}
.markBox {
position: fixed;
left: 0;
top: 0;
bottom: 0;
right: 0;
width: 100%;
height: 100%;
color: #fff;
display: flex;
justify-content: flex-end;
z-index: 100000;
background: rgba(0, 0, 0, 0.8);
.guideImgBox {
margin: 20px auto;
uni-image {
width: 25% !important;
position: absolute;
right: 0;
top: 0;
}
}
.tips {
margin-top: 30%;
padding: 0 30px;
}
}
}
.ulBox,.liBox{
padding-bottom: 30rpx;
......
......@@ -5,9 +5,10 @@
<view class="one">
<search
ref="searchRef"
:isSearch="0"
:isSearch="1"
:userId="userId"
:initialQuery.sync="searchQuery"
@send="getCourseList"
v-if="showSearch"
></search>
</view>
......@@ -31,7 +32,7 @@
</view>
</view>
</view>
<view class="carouselBox">
<!-- <view class="carouselBox">
<view class="swiperBox">
<swiper
style="height:250rpx;"
......@@ -52,7 +53,7 @@
</swiper>
</view>
</view>
</view> -->
<!-- 产品区域 -->
<view class="productBox">
<view class="productTitle">
......@@ -399,6 +400,11 @@
url: `/pages/courseDetail/courseDetail?fileId=${item.fileId}`
});
},
getCourseList(res){
console.log('res',res);
this.queryName = res;
this.courseList()
},
courseList() {
const param = {
queryName: this.queryName
......
......@@ -495,17 +495,17 @@
}
&.listUl::before {
display: block;
content: '';
position: absolute;
left: 10rpx;
top: 20rpx;
width: 8rpx;
height: 20rpx;
background-color: #FA882F;
border-radius: 8rpx;
}
// &.listUl::before {
// display: block;
// content: '';
// position: absolute;
// left: 10rpx;
// top: 20rpx;
// width: 8rpx;
// height: 20rpx;
// background-color: #FA882F;
// border-radius: 8rpx;
// }
}
.sendInvite {
......
......@@ -41,7 +41,7 @@
</view>
<!-- 分享明细 -->
<view class="shareDetailContent">
<h3>分享明细</h3>
<h3 class="shareTitle">分享明细</h3>
<template v-if="userShareCourses && userShareCourses.length > 0">
<view class="shareOrderInfoItem" v-for="item in userShareCourses" :key="item.fileId">
<view class="timeBox">{{item.shareDate}}</view>
......@@ -186,8 +186,7 @@
<style lang="scss" scoped>
.container {
height: 100%;
padding-bottom: 30rpx;
.timeSelectContent {
background-color: #fff;
padding: 20rpx 0;
......@@ -195,7 +194,6 @@
justify-content: center;
align-items: baseline;
color: #333;
.xiajiantou {
color: #999;
font-size: 24rpx;
......@@ -206,10 +204,11 @@
.shareStatisticalContent {
background-color: #fff;
margin: 10rpx 20rpx;
margin: 20rpx 20rpx;
padding: 20rpx 14rpx;
display: flex;
flex-wrap: wrap;
border-radius: 10rpx;
.statisticItem {
flex: 1;
......@@ -241,47 +240,51 @@
}
.shareDetailContent {
h3 {
margin-bottom: 50rpx;
.shareTitle {
margin: 20rpx 20rpx 0 20rpx;
padding: 20rpx;
border-bottom: 1rpx solid #F2F2F2;
color: #333;
font-size: 36rpx;
position: relative;
margin: 10rpx 0 10rpx 58rpx;
&::before {
content: '';
display: block;
position: absolute;
left: -5px;
top: 4px;
width: 2px;
height: 70%;
border-radius: 4rpx;
background-color: #FA882F;
}
background-color: #fff;
border-radius: 10rpx 10rpx 0rpx 0rpx;
// &::before {
// content: '';
// display: block;
// position: absolute;
// left: 2%;
// top: 50%;
// transform: translateY(-50%);
// width: 3rpx;
// height: 50%;
// border-radius: 4rpx;
// background-color: #3639A9;
// }
}
.shareOrderInfoItem {
margin: 0 20rpx;
background-color: #fff;
box-sizing: border-box;
padding: 20rpx;
.timeBox {
font-size: 28rpx;
color: #999;
margin: 10rpx 0 10rpx 50rpx;
margin-bottom: 10rpx;
}
.countsContent {
background-color: #fff;
display: flex;
border-bottom-left-radius: 20rpx;
border-bottom-right-radius: 20rpx;
padding: 10rpx 10rpx 20rpx 10rpx;
padding: 20rpx 0;
view {
flex: 1;
font-size: 24rpx;
display: flex;
align-items: center;
text {
color: #666;
......@@ -293,7 +296,12 @@
}
}
}
}
.shareOrderInfoItem:last-child{
border-radius: 0 0 10rpx 10rpx;
}
}
}
</style>
<template>
<view class="container" style="padding-top: 50rpx;">
<text class="iconfont icon-youjiantou zuojiantou" @click="goBack()" style="top: 16rpx;"></text>
<view class="container" >
<!-- <text class="iconfont icon-youjiantou zuojiantou" @click="goBack()" style="top: 16rpx;"></text> -->
<view class="backArrow">
<text class="iconfont icon-youjiantou zuojiantou" style="left: 5rpx;" @click="goBack()"></text>
<text style="font-size: 30rpx;">订单详情</text>
</view>
<view class="orderInfoContent">
<view class="ulBox">
<view v-for="item in orderInfoList.filter(item=>item.pageArea===1)" :key="item.id" class="liBox">
......@@ -232,13 +236,30 @@
<style lang="scss" scoped>
.container {
height: 100%;
.backArrow{
box-sizing: border-box;
display: flex;
height: 100rpx;
justify-content: space-between;
align-items: center;
position: relative;
width: 100%;
margin-bottom: 10rpx;
color: #333333;
background-color: #fff;
// margin-top: 20rpx;
text:nth-child(2){
width: 100%;
text-align: center;
position: absolute;
}
}
.orderInfoContent {
.ulBox {
background-color: #fff;
margin: 20rpx 22rpx;
margin: 20rpx 20rpx;
padding: 20rpx;
border-radius: 10rpx;
.liBox {
margin-bottom: 20rpx;
display: flex;
......
......@@ -4,7 +4,7 @@
<view class="successBox" v-if="orderStatus=='2'">
<i class="iconfont icon-dengdai"></i>
<text class="statusText">订单支付成功</text>
<text @click="viewDetail()" class="viewOrder">查看订单 ></text>
<text @click="viewDetail()" class="viewOrder">查看订单</text>
</view>
<view class="failBox" v-if="orderStatus=='1'">
<text style="color:#F04604"><i class="iconfont icon-guanbi"></i>订单支付失败</text>
......@@ -15,20 +15,51 @@
</view>
</view>
<!-- 精选课程 -->
<view class="courlistBox">
<!-- <view class="courlistBox">
<view class="course_content">
<view class="tag">
<h4>推荐产品</h4>
<view @click="goToCourselist()">更多<text class="iconfont icon-youjiantou"></text></view>
<!-- <view v-if="this.isRedirect == 1" @click="goToCourselist()">更多<text class="iconfont icon-youjiantou"></text></view> -->
</view>
<view class="ulBox" v-if="cffpCourseInfos.length>0">
<view class="liBox" v-for="item in cffpCourseInfos" :key="item.fileId" @click="goDetail(item)">
<!-- :tagList="{v1:item.fileLecturerRanks,v2:item.fileLecturerName}" -->
<course-item :thumbnailPath="item.displayImage" :title="item.fileTitle" :summaryBox="item.fileSynopsis" :dataList="{coursePrice:item.coursePrice,salesNumber:item.salesNumber}" ></course-item>
</view>
</view>
</view>
</view> -->
<view class="productBox">
<view class="productTitle">
<view class="titleTxt">
<text style="font-size: 30rpx;font-weight: 500;">推荐产品</text>
<text class="more" @click="goToCourselist()">更多 <text class="iconfont icon-youjiantou"></text> </text>
</view>
</view>
<view class="productList" v-if="cffpCourseInfos.length>0">
<view class="productListBox">
<view class="productListItem" v-for="item in cffpCourseInfos" :key="item.fileId" @click="goDetail(item)">
<view class="top">
<image class="productImg" :src="item.displayImage" alt="" mode="widthFix"></image>
<view class="productDesBox">
{{item.fileSynopsis}}
</view>
</view>
<view class="bottom" style="text-align: left !important;">
<view class="one">
{{item.fileTitle}}
</view>
<view class="two">
<text style="font-size: 28rpx;color: rgba(32, 39, 155, 1);">{{item.coursePrice}}</text>
<text v-if="Number(item.salesNumber)>0" style="font-size: 24rpx;color: rgba(166, 166, 166, 1);">已售{{item.salesNumber}}</text>
</view>
</view>
</view>
</view>
</view>
<view class="productEmpty" v-else>
暂无数据
</view>
</view>
<tabBar :currentPage="currentPage" :infoTotal="infoTotal"></tabBar>
</view>
......@@ -146,6 +177,109 @@
</script>
<style lang="scss" scoped>
.container{
padding-bottom: 50rpx;
.productBox{
background-color: #fff;
margin-top: 15rpx;
box-sizing: border-box;
margin-bottom: 100rpx;
.productTitle{
border-bottom: 1rpx solid rgba(238, 238, 238, 1);
padding-bottom: 10rpx;
.titleTxt{
padding: 15rpx 30rpx;
display: flex;
justify-content: space-between;
align-items: center;
}
.more{
font-size: 26rpx;
color: rgba(84, 84, 84, 1);
.icon-youjiantou{
font-size: 26rpx;
}
}
}
.productList{
.productListBox{
padding: 30rpx 40rpx;
display: flex;
align-items: center;
justify-content: space-between;
flex-wrap: wrap;
.productListItem{
width: 48%;
margin-bottom: 20rpx;
display: flex;
align-items: center;
flex-direction: column;
overflow: hidden;
.top{
// background-color: pink;
width: 290rpx;
position: relative;
overflow: hidden;
.productDesBox{
padding: 5rpx 10rpx 10rpx 10rpx;
box-sizing: border-box;
position: absolute;
left: 0;
bottom: 0%;
background: rgba(0, 0, 0, 0.1);
width: 100%;
border-radius: 0 0 20rpx 20rpx; /* 左上 右上 右下 左下 */
font-size: 24rpx;
color: #fff;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap; /* 确保不会换行 */
}
.productImg{
border-radius: 20rpx;
display: block;
}
}
.bottom{
box-sizing: border-box;
padding: 10rpx 15rpx;
text-align: left;
width: 100%;
.one{
font-size: 27rpx;
margin-bottom: 5rpx;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap; /* 确保不会换行 */
}
.two{
display: flex;
align-items: center;
justify-content: space-between;
padding-right: 10rpx;
}
}
}
}
}
.productEmpty{
color: rgba(166, 166, 166, 1);
width: 100%;
display: flex;
align-items: center;
justify-content: center;
padding: 30rpx 0;
font-size: 28rpx;
}
}
}
.ulBox{
flex-direction: column;
}
......@@ -168,9 +302,12 @@
font-size: 36rpx;
}
.viewOrder{
color: #666666;
color: #fff;
font-size: 30rpx;
margin-top: 30rpx;
background-color: #20279B;
padding: 10rpx 20rpx;
border-radius: 40rpx;
}
.iconfont{
margin-bottom: 30rpx;
......
<template>
<view class="container">
<view class="backArrow">
<text class="iconfont icon-youjiantou zuojiantou" style="left: 5rpx;" @click="goBack()"></text>
<text style="font-size: 30rpx;">帮助中心</text>
</view>
<view class="filterBox">
<scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120">
<view
class="scroll-view-item_H"
v-for="item in tabList"
:key="item.id"
:class="{active:item.id == currentTab }"
@click="changeTab(item)"
>
{{item.title}}
</view>
</scroll-view>
</view>
<view class="questionsBox">
<view class="questionItem" v-for="item in newQuestionData" :key="item.id">
<view class="" >
<view class="itemTit">
<text class="iconfont myIcon" :class="item.icon" ></text>
{{item.category}}
</view>
<view class="itemQuestion" v-for="(question, index) in item.questions" :key="index">
<view class="Q">
Q:{{question.Q}}
</view>
<view class="A" v-if="question.isMore">
<view class="">
A:
</view>
<view class="" v-for="(a, index1) in question.A" :key="index1">
{{a}}
</view>
</view>
<view class="A" v-else>
A:{{question.A}}
</view>
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import questionsData from "@/util/questions";
export default {
data() {
return {
tabList:[
{title:'关于团队',id: '1'},
{title:'关于订单',id: '2'},
{title:'关于佣金',id: '3'},
],
currentTab:'1',
// questionsData:[]
}
},
computed:{
newQuestionData(){
let result = questionsData.filter(item=>item.id==this.currentTab)
return result
}
},
methods:{
changeTab(item){
this.currentTab = item.id
},
goBack(){
uni.navigateBack({
delta: 1
});
},
},
}
</script>
<style lang="scss" scoped>
.container{
padding-bottom: 50rpx;
.backArrow{
box-sizing: border-box;
display: flex;
height: 100rpx;
justify-content: space-between;
align-items: center;
position: relative;
width: 100%;
color: #333333;
background-color: #fff;
text:nth-child(2){
width: 100%;
text-align: center;
position: absolute;
}
}
.filterBox{
box-sizing: border-box;
width: 100%;
background-color: #fff;
padding: 20rpx 60rpx 0 60rpx;
display: flex;
align-items: center;
justify-content: space-between;
.scroll-view_H {
white-space: nowrap;
width: 100%;
box-sizing: border-box;
}
.scroll-view-item {
text-align: center;
font-size: 36rpx;
}
.scroll-view-item_H {
margin-bottom: 20rpx;
display: inline-block;
margin-right: 20rpx;
text-align: center;
font-size: 27rpx;
padding: 10rpx 20rpx;
color: rgba(46, 38, 29, 1);
&.active{
color: rgba(32, 39, 155, 1);
position: relative;
}
&.active::before{
display: block;
content: "";
position: absolute;
left: 50%;
transform: translate(-50%);
bottom: -3%;
width: 50%;
// height: 1rpx;
border: 1rpx solid rgba(32, 39, 155, 1);
border-radius: 5rpx;
}
}
.scroll-view-item_H:last-child{
margin-right: 0rpx;
}
.scrollBtn:last-child{
margin-right: 0rpx;
}
.filterItem{
background: #f7f7f7;
font-size: 27rpx;
padding: 10rpx;
color: rgba(46, 38, 29, 1);
border-radius: 8rpx;
&.active{
background: rgba(32, 39, 155, 1);
color: #fff;
}
}
}
.questionsBox{
padding: 20rpx;
box-sizing: border-box;
.questionItem{
box-sizing: border-box;
margin-bottom: 20rpx;
width: 100%;
background-color: #fff;
border-radius: 10rpx;
padding: 20rpx;
.itemTit{
font-size: 30rpx;
font-weight: 500;
.myIcon{
font-size: 32rpx;
color: rgba(32, 39, 155, 1);
}
}
.itemQuestion{
padding: 20rpx 0;
border-bottom: 1rpx solid #f2f2f2;
.Q{
margin-bottom: 10rpx;
font-size: 28rpx;
}
.A{
font-size: 26rpx;
color: #666;
line-height: 1.5;
}
}
.itemQuestion:last-child{
border: none;
}
}
}
}
</style>
\ No newline at end of file
......@@ -27,13 +27,13 @@
</view>
<view class="bottom">
<text v-if="currentBtn == '1'">{{teamCount}}</text>
<text v-if="currentBtn == '2'">799,999</text>
<text v-if="currentBtn == '2'">{{monthStandardSales}}</text>
</view>
</view>
<view class="moneyBox">
<view class="one">
<view v-if="currentBtn == '1'" class="">
799,999
{{monthStandardSales}}
</view>
<view v-if="currentBtn == '2'" class="">
{{totalCoursePrice}}
......@@ -99,18 +99,16 @@
</view>
<view v-else-if="currentBtn == '2'&&myTeamAchievementList.length>0">
<view class="content-sam-box" v-for="(pointItem,index) in myTeamAchievementList" :key="index">
<span class="content-box-title cell">{{pointItem.parentName}}</span>
<span class="content-box-title cell">{{pointItem.name}}</span>
<span class="content-box-title cell">{{pointItem.orderNum}}</span>
<span class="content-box-title cell">{{pointItem.coursePrice}}</span>
<span class="content-box-title cell">{{pointItem.referrer}}</span>
<span class="content-box-title cell">{{pointItem.coursePrice}}</span>
<span class="content-box-title cell" >{{pointItem.monthStandardSales || '0.00'}}</span>
</view>
</view>
<view class="empty" v-else>
暂无数据
</view>
</view>
</view>
</view>
</template>
......@@ -128,13 +126,13 @@
showTime1:false,
startDate:{year:dataHandling.getDateParts().year,month:dataHandling.getDateParts().month},
tabList:[
{title:'全部',id: '1',type:'all'},
{title:'全部',id: '1',type:4},
{title:'直辖团队',id: '2',type:1},
{title:'所辖团队',id: '3',type:2},
],
btnList:[
{title:'按标准销售额',id: '1'},
{title:'按销售额',id: '2'},
{title:'按标准销售额',id: '1',sortType:5},
{title:'按销售额',id: '2',sortType:2},
{title:'按销售日期',id: '3',sortType:4},
],
......@@ -158,10 +156,12 @@
startDate: `${new Date().getFullYear()}-${new Date().getMonth() + 1 > 9 ? new Date().getMonth() + 1 : '0'+ (new Date().getMonth() + 1)}`,
endDate: `${new Date().getFullYear()}-${new Date().getMonth() + 1 > 9 ? new Date().getMonth() + 1 : '0'+ (new Date().getMonth() + 1)}`,
courseOrPolicy: '1',
type: '2'
type: '2',
sortType:5
},
totalOrder: '0', //总单数
totalCoursePrice: '0.00', // 总销售额
monthStandardSales:'0.00',//本月团队标准销售额
myTeamAchievementList:[],//我的业绩数据列表
}
},
......@@ -176,6 +176,7 @@
{title:'职级',id:'3'},
{title:'关系',id:'4'},
]
this.getmyseatem()
return
}
if(newVal == '2') {
......@@ -185,6 +186,7 @@
{title:'销售额',id:'3'},
{title:'标准销售额',id:'4'},
]
this.getqueryTeamAchievement()
return
}
}
......@@ -224,13 +226,15 @@
methods: {
sortswitch(obj) {
this.currentFilterBtn = obj.id
if(obj.sortType == 4){
this.CffpOrgInfoReqVO.sortType = obj.sortType
this.getqueryTeamAchievement()
}else{
delete this.CffpOrgInfoReqVO.sortType
this.getqueryTeamAchievement()
}
this.CffpOrgInfoReqVO.sortType = obj.sortType
this.getqueryTeamAchievement()
// if(obj.sortType == 4){
// this.CffpOrgInfoReqVO.sortType = obj.sortType
// this.getqueryTeamAchievement()
// }else{
// delete this.CffpOrgInfoReqVO.sortType
// this.getqueryTeamAchievement()
// }
},
changeTab(item){
this.currentTab = item.id
......@@ -240,13 +244,11 @@
},
getqueryTeamAchievement() {
if(this.currentTab !== '1'){
this.CffpOrgInfoReqVO.queryType = this.tabList.filter(item=>item.id == this.currentTab)[0].type
}
this.CffpOrgInfoReqVO.sortType = this.btnList.filter(item=>item.id == this.currentFilterBtn)[0].sortType
api.queryTeamAchievement(this.CffpOrgInfoReqVO).then(res => {
if (res['success']) {
this.myTeamAchievementList = []
// this.listType = true
this.myTeamAchievementList = res.data.list || [];
if(this.myTeamAchievementList.length>0){
......@@ -257,8 +259,7 @@
}
this.totalOrder = res.data.totalOrder ? res.data.totalOrder : '0';
this.totalCoursePrice = res.data.totalCoursePrice ? Number(res.data.totalCoursePrice).toFixed(2) : '0.00';
// this.totalIncome = res.data.totalIncome ? res.data.totalIncome : '0';
this.monthStandardSales = res.data.monthStandardSales ? Number(res.data.monthStandardSales).toFixed(2) : '0.00';
}
})
},
......@@ -281,7 +282,6 @@
if(data.directList && data.directList.length != 0 && data.directList != null){
this.myTeamList.push( ...data['directList'])
}
console.log('this.myTeamList',this.myTeamList);
}
})
},
......@@ -329,6 +329,7 @@
background-color: rgba(235, 239, 247, 1);
display: flex;
flex-direction: column;
box-sizing: border-box;
.myHeader{
color: #fff;
box-sizing: border-box;
......@@ -481,17 +482,18 @@
}
}
.tableBox{
// background-color: #fff;
padding: 20rpx;
width: 100%;
box-sizing: border-box;
border-radius: 20rpx;
.table{
background-color: #fff;
border-radius: 20rpx;
padding: 10rpx 0;
margin-bottom: 50rpx;
box-sizing: border-box;
.content-box {
background-color: #fff;
display: flex;
font-weight: 600;
align-items: center;
......
......@@ -26,14 +26,14 @@
</view>
</view>
<view class="bottom">
<text v-if="currentBtn == '1'">{{teamCount}}</text>
<text v-if="currentBtn == '2'">799,999</text>
<text v-if="currentBtn == '1'">{{myTeamList.length}}</text>
<text v-if="currentBtn == '2'">{{monthStandardSales}}</text>
</view>
</view>
<view class="moneyBox">
<view class="one">
<view v-if="currentBtn == '1'" class="">
799,999
{{monthStandardSales}}
</view>
<view v-if="currentBtn == '2'" class="">
{{totalCoursePrice}}
......@@ -92,16 +92,16 @@
<view v-if="currentBtn == '1'&&myTeamList.length>0">
<view class="content-sam-box" v-for="(pointItem,index) in myTeamList" :key="index">
<span class="content-box-title cell">{{pointItem.raiseTeamLeder}}</span>
<span class="content-box-title cell">{{pointItem.name}}</span>
<span class="content-box-title cell">{{pointItem.levelName}}</span>
<span class="content-box-title cell">{{pointItem.raiseTime}}</span>
<span class="content-box-title cell">{{pointItem.standardSales}}</span>
</view>
</view>
<view v-else-if="currentBtn == '2'&&myTeamAchievementList.length>0">
<view class="content-sam-box" v-for="(pointItem,index) in myTeamAchievementList" :key="index">
<span class="content-box-title cell">{{pointItem.parentName}}</span>
<span class="content-box-title cell">{{pointItem.saleDate}}</span>
<span class="content-box-title cell">{{pointItem.orderNum}}</span>
<span class="content-box-title cell">{{pointItem.coursePrice}}</span>
<span class="content-box-title cell">{{pointItem.referrer}}</span>
<span class="content-box-title cell">{{pointItem.coursePrice}}</span>
<span class="content-box-title cell">{{pointItem.standardSales || '0.00'}}</span>
</view>
</view>
<view class="empty" v-else>
......@@ -132,15 +132,15 @@
{title:'所辖团队',id: '3',type:2},
],
btnList:[
{title:'按标准销售额',id: '1'},
{title:'按销售额',id: '2'},
{title:'按标准销售额',id: '1',sortType:5},
{title:'按销售额',id: '2',sortType:2},
{title:'按销售日期',id: '3',sortType:4},
],
tableHeaderList:[
{title:'营业部部长',id:'1'},
{title:'育成时间',id:'2'},
{title:'团队业绩',id:'3'},
{title:'标准销售额',id:'3'},
],
currentTab:'1',
currentBtn:'1', // 1代表团队 2代表业绩
......@@ -156,10 +156,13 @@
startDate: `${new Date().getFullYear()}-${new Date().getMonth() + 1 > 9 ? new Date().getMonth() + 1 : '0'+ (new Date().getMonth() + 1)}`,
endDate: `${new Date().getFullYear()}-${new Date().getMonth() + 1 > 9 ? new Date().getMonth() + 1 : '0'+ (new Date().getMonth() + 1)}`,
courseOrPolicy: '1',
type: '2'
type: '2',
queryType:3,
sortType:5
},
totalOrder: '0', //总单数
totalCoursePrice: '0.00', // 总销售额
monthStandardSales:'0.00',//本月团队标准销售额
myTeamAchievementList:[],//我的业绩数据列表
}
},
......@@ -171,8 +174,9 @@
this.tableHeaderList = [
{title:'营业部部长',id:'1'},
{title:'育成时间',id:'2'},
{title:'团队业绩',id:'3'},
{title:'标准销售额',id:'3'},
]
this.getmyseatem()
return
}
if(newVal == '2') {
......@@ -182,36 +186,12 @@
{title:'销售额',id:'3'},
{title:'标准销售额',id:'4'},
]
this.getqueryTeamAchievement()
return
}
}
},
currentTab: {
deep: true,
handler(newVal) {
this.myTeamList = []
if(newVal == '1') {
if(this.myTeamData.other && this.myTeamData.other.length != 0 && this.myTeamData.other != null){
this.myTeamList.push(...this.myTeamData['other'])
}
if(this.myTeamData.directList && this.myTeamData.directList.length != 0 && this.myTeamData.directList != null){
this.myTeamList.push( ...this.myTeamData['directList'])
}
return
}
if(newVal == '2') {
if(this.myTeamData.other && this.myTeamData.other.length != 0 && this.myTeamData.other != null){
this.myTeamList.push(...this.myTeamData['other'])
}
}
if(newVal == '3'){
if(this.myTeamData.directList && this.myTeamData.directList.length != 0 && this.myTeamData.directList != null){
this.myTeamList.push( ...this.myTeamData['directList'])
}
}
console.log();
}
},
},
onLoad(){
......@@ -221,13 +201,7 @@
methods: {
sortswitch(obj) {
this.currentFilterBtn = obj.id
if(obj.sortType == 4){
this.CffpOrgInfoReqVO.sortType = obj.sortType
this.getqueryTeamAchievement()
}else{
delete this.CffpOrgInfoReqVO.sortType
this.getqueryTeamAchievement()
}
this.getqueryTeamAchievement()
},
changeTab(item){
this.currentTab = item.id
......@@ -237,14 +211,11 @@
},
getqueryTeamAchievement() {
if(this.currentTab !== '1'){
this.CffpOrgInfoReqVO.queryType = this.tabList.filter(item=>item.id == this.currentTab)[0].type
}
this.CffpOrgInfoReqVO.sortType = this.btnList.filter(item=>item.id == this.currentFilterBtn)[0].sortType
console.log('this.CffpOrgInfoReqVO',this.CffpOrgInfoReqVO);
api.queryTeamAchievement(this.CffpOrgInfoReqVO).then(res => {
if (res['success']) {
// this.listType = true
this.myTeamAchievementList = []
this.myTeamAchievementList = res.data.list || [];
if(this.myTeamAchievementList.length>0){
this.myTeamAchievementList.forEach(item=>{
......@@ -254,7 +225,7 @@
}
this.totalOrder = res.data.totalOrder ? res.data.totalOrder : '0';
this.totalCoursePrice = res.data.totalCoursePrice ? Number(res.data.totalCoursePrice).toFixed(2) : '0.00';
// this.totalIncome = res.data.totalIncome ? res.data.totalIncome : '0';
this.monthStandardSales = res.data.monthStandardSales ? Number(res.data.monthStandardSales).toFixed(2) : '0.00';
}
})
......@@ -269,14 +240,11 @@
if(res['success']){
let data = res.data
this.myTeamData = res.data
if(data.orgInfo) {
this.teamCount = data.orgInfo.count
}
if(data.other && data.other.length != 0 && data.other != null){
this.myTeamList.push(...data['other'])
}
if(data.directList && data.directList.length != 0 && data.directList != null){
this.myTeamList.push( ...data['directList'])
if(data.raiseList && data.raiseList.length != 0 && data.raiseList != null){
this.myTeamList = data.raiseList
this.myTeamList.forEach(item=>{
item.raiseTime = dataHandling.dateFormat2(item.raiseTime,'yyyy-MM-dd')
})
}
console.log('this.myTeamList',this.myTeamList);
}
......
......@@ -156,6 +156,11 @@
{title:'育成团队',icon:'icon-tuandui',link:'/pages/personalCenter/myTeamIncubate',isOpen:true,isShow:true,identity: true},
],
},
{id:'02',categoryName:'帮助',
children:[
{title:'帮助中心',icon:'icon-wenhao1',link:'/pages/personalCenter/helpCenter',isOpen:true,isShow:true,islogin:true},
],
},
],
minorMenuLists:[
// {title:'我的邀请码',icon:'shareEcode',link:'',isOpen:true,isShow:true},
......@@ -268,6 +273,13 @@
},
// 菜单跳转页面
goDetail(item){
// 说明不需要登录就可以进
if(item.isLogin){
uni.navigateTo({
url: `${item.link}`
});
return
}
if(!this.loginornot&& !item.islogin){
this.isLogin()
return
......
......@@ -78,6 +78,7 @@
<style lang="scss" scoped>
.container{
padding: 0 20rpx;
background-color: #f7f7f7;
}
.top{
display: flex;
......
......@@ -4,114 +4,119 @@
<text class="iconfont icon-youjiantou zuojiantou" style="left: 5rpx;" @click="goBack()"></text>
<text style="font-size: 30rpx;">佣金</text>
</view>
<view class="first">
<view class="top">
<view class="left">
<view class="">
可兑换积分(1积分=1元)
<view class="" style="padding: 10rpx 20rpx 0 20rpx;">
<view class="first">
<view class="top">
<view class="left">
<view class="">
可兑换积分(1积分=1元)
</view>
<view style="font-size: 42rpx;font-family: 600;">
{{yesExchangeFortune?yesExchangeFortune:'0.00'}}
</view>
</view>
<view style="font-size: 42rpx;font-family: 600;">
{{yesExchangeFortune?yesExchangeFortune:'0.00'}}
<view class="right" @click="toWithdrawal()">
提现
</view>
</view>
<view class="right" @click="toWithdrawal()">
提现
</view>
</view>
<view class="bottom">
<view class="bottomItem" v-for="score in scoreList " :key="score.id">
<view class="one">
<view style="font-size:28rpx;color: rgba(199, 199, 199, 1);">
{{score.name}}
<view class="bottom">
<view class="bottomItem" v-for="score in scoreList " :key="score.id">
<view class="one">
<view style="font-size:28rpx;color: rgba(199, 199, 199, 1);">
{{score.name}}
</view>
<uni-tooltip class="item" :content="score.content" :placement="score.position">
<text class="iconfont icon-wenhao1" style="margin-left: 3rpx;color: rgba(199, 199, 199, 1);font-size: 28rpx;" ></text>
</uni-tooltip>
</view>
<view class="fotter">
{{score.value}}
</view>
<uni-tooltip class="item" :content="score.content" :placement="score.position">
<text class="iconfont icon-wenhao1" style="margin-left: 3rpx;color: rgba(199, 199, 199, 1);font-size: 28rpx;" ></text>
</uni-tooltip>
</view>
<view class="fotter">
{{score.value}}
</view>
</view>
</view>
</view>
<view class="two">
<view class="twoHeader">
订单收益明细
</view>
<view class="timeBox" @click="$refs.timePopup.open()">
<view style="margin-right: 5rpx;">
{{showTime}}
<view class="" style="padding: 0 20rpx;">
<view class="two" >
<view class="twoHeader">
订单收益明细
</view>
<text class="iconfont icon-xiajiantou iconStyle"></text>
</view>
<view class="filterBox">
<scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120">
<view
class="scroll-view-item_H uni-bg-blue"
v-for="item in commissionTypeList"
:key="item.id"
:class="{active:item.id == currentFilter.id }"
@click="changeFilter(item)"
>
{{item.dropOptionName}}
<view class="timeBox" @click="$refs.timePopup.open()">
<view style="margin-right: 5rpx;">
{{showTime}}
</view>
</scroll-view>
</view>
<view class="totalBox">
<view class="totalItem">
<text style="margin-right: 10rpx;">合计</text> {{sumCommissionAmount}}
</view>
<view class="totalSelect">
<uni-data-select
v-model="selectItem"
:localdata="selectList"
@change="getDetail()"
></uni-data-select>
<text class="iconfont icon-xiajiantou iconStyle"></text>
</view>
</view>
<view class="detailBox" v-if="cffpFortuneDateList.length>0">
<view
class="detailItem"
v-for="(item,index) in cffpFortuneDateList"
:key="index"
@click="viewDetail(item)"
>
<view class="detailLeft">
<view class="txt">
{{item.productTypeName}}
</view>
<view class="date">
{{item.orderDate}}
<view class="filterBox">
<scroll-view class="scroll-view_H" scroll-x="true" scroll-left="120">
<view
class="scroll-view-item_H uni-bg-blue"
v-for="item in commissionTypeList"
:key="item.id"
:class="{active:item.id == currentFilter.id }"
@click="changeFilter(item)"
>
{{item.dropOptionName}}
</view>
</scroll-view>
</view>
<view class="totalBox">
<view class="totalItem">
<text style="margin-right: 10rpx;">合计</text> {{sumCommissionAmount}}
</view>
<view class="detailRight">
<view class="">
<view class="money">
<text v-if="item.commissionAmount&&item.commissionAmount>0">+{{item.commissionAmount}}</text>
<text v-if="item.commissionAmount&&item.commissionAmount<0" style="color: rgba(212, 48, 48, 1);">{{item.commissionAmount}}</text>
<view class="totalSelect">
<uni-data-select
v-model="selectItem"
:localdata="selectList"
@change="getDetail()"
></uni-data-select>
</view>
</view>
<view class="detailBox" v-if="cffpFortuneDateList.length>0">
<view
class="detailItem"
v-for="(item,index) in cffpFortuneDateList"
:key="index"
@click="viewDetail(item)"
>
<view class="detailLeft">
<view class="txt">
{{item.productTypeName}}
</view>
<view style="font-weight: normal;font-size: 26rpx;color: rgba(56, 56, 56, 1);">
{{item.exchangeStatus&&item.exchangeStatus=='1'?'待结算'
:item.exchangeStatus=='2'?'可兑换'
:item.exchangeStatus=='3'?'已兑换'
:item.exchangeStatus=='4'?'兑换中'
:item.exchangeStatus=='5'?'已失效'
:item.exchangeStatus
}}
<view class="date">
{{item.orderDate}}
</view>
</view>
<view class="arrow">
<text class="iconfont icon-youjiantou iconStyle"></text>
<view class="detailRight">
<view class="">
<view class="money">
<text v-if="item.commissionAmount&&item.commissionAmount>0">+{{item.commissionAmount}}</text>
<text v-if="item.commissionAmount&&item.commissionAmount<0" style="color: rgba(212, 48, 48, 1);">{{item.commissionAmount}}</text>
</view>
<view style="font-weight: normal;font-size: 26rpx;color: rgba(56, 56, 56, 1);">
{{item.exchangeStatus&&item.exchangeStatus=='1'?'待结算'
:item.exchangeStatus=='2'?'可兑换'
:item.exchangeStatus=='3'?'已兑换'
:item.exchangeStatus=='4'?'兑换中'
:item.exchangeStatus=='5'?'已失效'
:item.exchangeStatus
}}
</view>
</view>
<view class="arrow">
<text class="iconfont icon-youjiantou iconStyle"></text>
</view>
</view>
</view>
</view>
</view>
<view class="detailBox" v-else style="background:#fff">
<view class="emptyBox">
暂无数据!
<view class="detailBox" v-else style="background:#fff">
<view class="emptyBox">
暂无数据!
</view>
</view>
</view>
</view>
<uni-popup ref="timePopup" type="bottom" >
<customDatePop @closePop="closePop" @comfirm="comfirm" :dateParts="dateParts" :currentItem="currentItem" :childData="childData"></customDatePop>
</uni-popup>
......@@ -404,12 +409,12 @@
}
.container{
box-sizing: border-box;
padding: 20rpx;
background-color: #f7f7f7;
padding-bottom: 50rpx;
.backArrow{
background-color: #fff;
box-sizing: border-box;
display: flex;
height: 60rpx;
height: 100rpx;
justify-content: space-between;
align-items: center;
position: relative;
......@@ -422,6 +427,7 @@
}
}
.first{
color: rgba(244, 239, 212, 1);
box-sizing: border-box;
background: #2a2927;
......
......@@ -55,8 +55,8 @@
<view class="" @click="curriculumDetail(item)">
<course-item :thumbnailPath="item.displayImage" :fileId="item.fileId" :title="item.fileTitle" :summaryBox="item.fileSynopsis" :dataList="{coursePrice:item.coursePrice,salesNumber:item.salesNumber}" :fileLecturerId="item.fileLecturerId" :orderId="item.orderId"></course-item>
</view>
<view class="detailBtn">
<text class="detailBtn" @click="viewDetail(item)" style="color: #000;">订单详情></text>
<view >
<text class="detailBtn" @click="viewDetail(item)" >订单详情</text>
</view>
</view>
<view class="countsContent">
......@@ -70,8 +70,7 @@
<view><text>产品名称</text><text>{{item.fileTitle}}</text></view>
<view><text>购买人</text><text>{{item.userName}}</text></view>
<view class="orderDetailLine">
<text></text>
<text @click="viewDetail(item)">订单详情></text>
<text class="infoBtn" @click="viewDetail(item)">订单详情</text>
</view>
</view>
</template>
......@@ -199,7 +198,7 @@
<style lang="scss" scoped>
.container{
height: 100%;
padding-bottom: 50rpx;
.top{
display: flex;
align-items: center;
......@@ -227,8 +226,9 @@
}
}
.saleStatisticalContent{
margin: 20rpx;
border-radius: 10rpx;
background-color: #fff;
margin: 10rpx 0;
padding: 20rpx 14rpx;
display: flex;
flex-wrap: wrap;
......@@ -258,7 +258,11 @@
}
}
.saleDetailContent{
margin: 10rpx 20rpx;
box-sizing: border-box;
padding: 20rpx 40rpx 0rpx 20rpx;
background-color: #fff;
margin: 0 20rpx;
border-radius: 10rpx;
.noListTip{
font-size: 30rpx;
}
......@@ -266,6 +270,8 @@
padding: 18rpx 0rpx 18rpx 10rpx;
border-radius: 20rpx;
background-color: #fff;
border-bottom: 1rpx solid #F2F2F2;
margin-bottom: 10rpx;
.countsContent{
text-align: right;
color: #333;
......@@ -275,10 +281,17 @@
}
.detailBtn{
font-size: 24rpx;
color: #4A4A4A;
color:#fff;
white-space: nowrap;
background-color: #20269B;
padding: 10rpx 20rpx;
border-radius: 40rpx;
}
}
.saleOrderInfoItem:last-child{
border: none;
}
.orderItemDetailBox{
padding: 10rpx 20rpx 10rpx 40rpx;
background-color: #fff;
......@@ -286,6 +299,7 @@
color: #4a4a4a;
margin-bottom: 20rpx;
font-size: 28rpx;
border-bottom: 1rpx solid #F2F2F2;
view{
position: relative;
margin-bottom: 20rpx;
......@@ -306,14 +320,23 @@
width: 8rpx;
height: 60%;
border-radius:8rpx;
background-color: #FA882F;
background-color: #20269B;
}
&.orderDetailLine{
justify-content: flex-end;
font-size: 28rpx;
.infoBtn{
padding: 10rpx 20rpx;
color: #fff;
border-radius: 40rpx;
background-color: #20269B;
}
}
}
}
.orderItemDetailBox:last-child{
border: none;
}
.courseTab{
margin-top: 20rpx;
text{
......
......@@ -117,8 +117,8 @@
</script>
<style lang="scss" >
.uni-popup-share {
background-color: #F4F2F3;
// background-color: #fff;
// background-color: #F4F2F3;
background-color: #fff;
border-top-left-radius: 11rpx;
border-top-right-radius: 11rpx;
}
......
......@@ -164,6 +164,7 @@ export default{
// 判断是否已满18岁
return eighteenYearsLater <= currentDate;
},
// 防抖函数
debounce(fn, delay = 200) {
let timer = null;
return function (...args) {
......@@ -172,5 +173,37 @@ export default{
fn.apply(this, args); // 延迟执行
}, delay);
};
},
/**
* 安全可靠的运行环境判断
* @returns {'app' | 'wechat-h5' | 'wechat-mp' | 'wechat-work' | 'browser' | 'unknown'}
*/
getRuntimeEnv() {
try {
// UniApp 环境判断
if (typeof uni !== 'undefined' && uni.getEnv) {
const uniEnv = uni.getEnv();
if (uniEnv === 'app-plus') return 'app';
if (uniEnv === 'mp-weixin') return 'wechat-mp';
}
// H5 环境判断
if (
typeof window !== 'undefined' &&
window.navigator &&
window.navigator.userAgent
) {
const ua = window.navigator.userAgent.toLowerCase();
if (/micromessenger/i.test(ua)) {
return /wxwork/i.test(ua) ? 'wechat-work' : 'wechat-h5';
}
return 'browser';
}
return 'unknown';
} catch (e) {
console.warn('环境判断失败:', e);
return 'unknown';
}
}
}
\ No newline at end of file
export default [
{
"category": "关于团队",
"id": "1",
"icon":"icon-tuandui",
"questions": [
{
"Q": "如何成为合伙人",
"A": "申请加盟→填写个人信息→等待资质审核→审核通过后,完成加盟",
"isActive": 1
},
{
"Q": "如何邀请朋友加入",
"A": "进入\"邀请加盟\"页面→填写被邀请人信息→发起邀请→通过右上角菜单分享给朋友→受邀方填写加盟资料完成申请",
"isActive": 1
},
{
"Q": "如何查看被邀请人是否加盟成功",
"A": "进入首页→点击\"邀请加盟\"→填写\"邀请信息\"→若邀请状态显示\"成功\",即表示加盟成功",
"isActive": 1
},
{
"Q": "合伙人晋升条件",
"A": [
"见习合伙人:完成加盟申请",
"新锐合伙人:个人标准销售额≥799元",
"资深合伙人:个人标准销售额≥799元 + 团队有效人数≥5人 + 团队标准销售额≥5万元",
"精英合伙人:个人标准销售额≥799元 + 团队有效人数≥10人 + 团队标准销售额≥15万元",
"营业部部长:个人标准销售额≥799元 + 团队有效人数≥20人 + 团队标准销售额≥50万元"
],
"isActive": 1,
"isMore": true
}
]
},
{
"category": "关于订单",
"id": "2",
"icon":"icon-dingdan",
"questions": [
{
"Q": "如何查看商品订单?",
"A": "进入首页或\"我的\"页面→点击\"成交订单\"→点击我的订单→查看订单列表",
"isActive": 1
},
{
"Q": "如何分享产品",
"A": "进入产品中心→选择要分享的产品→点击\"去分享\"→发送给朋友",
"isActive": 1
},
{
"Q": "如何查看分享后成交的订单?",
"A": "进入首页或\"我的\"页面→点击\"成交订单\"→选择\"分享订单\"→查看订单列表",
"isActive": 1
},
{
"Q": "如何查看订单明细",
"A": "进入首页或\"我的\"页面→点击\"成交订单\"→选择\"分享订单\"\"我的订单\"→点击具体订单,查看明细",
"isActive": 1
}
]
},
{
"category": "关于佣金",
"id": "3",
"icon":"icon-yongjin",
"questions": [
{
"Q": "如何获得佣金",
"A": [
"见习合伙人:自购或分享产品,他人购买后可获得销售收入",
"更高级别合伙人:可额外获得团队订单的一级/二级管理津贴",
"营业部部长:可享受部长津贴",
"育成营业部部长:可享受育成津贴",
"(以上收益可叠加)"
],
"isActive": 1,
"isMore": true
},
{
"Q": "如何查看佣金",
"A": "进入首页或\"我的\"页面→点击\"佣金\"→查看佣金明细",
"isActive": 1
},
{
"Q": "如何提现佣金",
"A": "进入首页或\"我的\"页面→点击\"佣金\"→点击\"提现\"按钮→发起提现申请",
"isActive": 1
},
{
"Q": "为什么佣金状态显示\"待结算\"?",
"A": "订单成交后需等待7天结算期,期间佣金状态为\"待结算\"。",
"isActive": 1
}
]
}
]
\ No newline at end of file
......@@ -7,6 +7,7 @@ const whiteList = [
'/pages/orderDetail/orderDetail',
'/pages/courseDetail/courseDetail',
'/pages/courselist/courselist',
'/pages/personalCenter/helpCenter?type=1',
'/pages/index/index'
]
export default function initApp(){
......@@ -65,7 +66,7 @@ function hasPermission (url) {
let islogin = uni.getStorageSync("isLogin");//在这可以使用token、vuex
// islogin = Boolean(Number(islogin));//返回布尔值
// 在白名单中或有登录判断条件可以直接跳转
console.log(whiteList.indexOf(url.slice(0,url.indexOf('?'))) !== -1);
if(whiteList.indexOf(url.slice(0,url.indexOf('?'))) !== -1 || islogin) {
return true
}
......
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