Commit e11b0bde by sunerhu

1.修改团队页面不刷新问题。

2.修改0元直接跳转付款成功页面
3.修改课程列表样式。
4.修改了一些Bug
parent d6515bc0
......@@ -103,10 +103,11 @@
<style lang="scss">
.itemContent {
display: flex;
height: auto;
height: 100%;
.thumbnailBox {
width: 300rpx;
margin-right: 26rpx;
align-items: center;
image {
max-width: 100%;
......@@ -117,12 +118,16 @@
.courseDetailBox {
width: 100%;
color: #333;
height: auto;
display: flex;
flex-direction: column;
justify-content: space-between;
.title {
display: flex;
max-width: 260rpx;
justify-content: space-between;
align-items: center;
// justify-content: space-between;
// align-items: center;
font-size: 32rpx;
.detailBtn {
......@@ -137,7 +142,7 @@
.summaryBox {
font-size: 24rpx;
margin: 10rpx 0;
// margin: 10rpx 0;
text {
margin-right: 20rpx;
......@@ -148,7 +153,7 @@
strong {
color: #F15A1F;
font-size: 30rpx;
margin: 10rpx 20rpx 10rpx 0;
// margin: 10rpx 20rpx 10rpx 0;
}
text {
......@@ -159,7 +164,7 @@
.tagListBox {
display: flex;
flex-wrap: wrap;
margin-top: 20rpx;
// margin-top: 20rpx;
.tagItem {
color: #20279B;
......
<template>
<view>
<view class="echarts" :prop="option" :change:prop="echarts.delay"></view>
</view>
</template>
<script>
export default {
name: 'EchartsEl',
props: {
option: {
type: Object,
required: true
}
}
}
</script>
<script module="echarts" lang="renderjs">
export default {
data() {
return {
timeoutId: null,
chart: null
}
},
mounted() {
if (typeof window.echarts === 'object') {
this.init()
} else {
// 动态引入类库
const script = document.createElement('script')
script.src = './static/echarts.min.js'
script.onload = this.init
document.head.appendChild(script)
}
},
methods: {
/**
* 初始化echarts
*/
init() {
// 根据id初始化图表
this.chart = echarts.init(this.$el)
this.update(this.option)
},
/**
* 防抖函数,500毫秒内只运行最后一次的方法
* @param {Object} option
*/
delay(option) {
if (this.timeoutId) {
clearTimeout(this.timeoutId)
this.timeoutId = null
}
this.timeoutId = setTimeout(() => {
this.update(option)
}, 500)
},
/**
* 监测数据更新
* @param {Object} option
*/
update(option) {
if (this.chart) {
// 因App端,回调函数无法从renderjs外传递,故在此自定义设置相关回调函数
if (option) {
// tooltip
if (option.tooltip) {
// 判断是否设置tooltip的位置
if (option.tooltip.positionStatus) {
option.tooltip.position = this.tooltipPosition()
}
// 判断是否格式化tooltip
if (option.tooltip.formatterStatus) {
option.tooltip.formatter = this.tooltipFormatter(option.tooltip.formatterUnit, option.tooltip.formatFloat2, option.tooltip.formatThousands)
}
}
// 颜色渐变
if (option.series) {
for (let i in option.series) {
let linearGradient = option.series[i].linearGradient
if (linearGradient) {
option.series[i].color = new echarts.graphic.LinearGradient(linearGradient[0],linearGradient[1],linearGradient[2],linearGradient[3],linearGradient[4])
}
}
}
}
// 设置新的option
this.chart.setOption(option, option.notMerge)
}
},
/**
* 设置tooltip的位置,防止超出画布
*/
tooltipPosition() {
return (point, params, dom, rect, size) => {
// 其中point为当前鼠标的位置,size中有两个属性:viewSize和contentSize,分别为外层div和tooltip提示框的大小
let x = point[0]
let y = point[1]
let viewWidth = size.viewSize[0]
let viewHeight = size.viewSize[1]
let boxWidth = size.contentSize[0]
let boxHeight = size.contentSize[1]
let posX = 0 // x坐标位置
let posY = 0 // y坐标位置
if (x >= boxWidth) { // 左边放的下
posX = x - boxWidth - 1
}
if (y >= boxHeight) { // 上边放的下
posY = y - boxHeight - 1
}
return [posX, posY]
}
},
/**
* tooltip格式化
* @param {Object} unit 数值后的单位
* @param {Object} formatFloat2 是否保留两位小数
* @param {Object} formatThousands 是否添加千分位
*/
tooltipFormatter(unit, formatFloat2, formatThousands) {
return params => {
let result = ''
unit = unit ? unit : ''
for (let i in params) {
if (i == 0) {
result += params[i].axisValueLabel
}
let value = '--'
if (params[i].data !== null) {
value = params[i].data
// 保留两位小数
if (formatFloat2) {
value = this.formatFloat2(value)
}
// 添加千分位
if (formatThousands) {
value = this.formatThousands(value)
}
}
// #ifdef H5
result += '\n' + params[i].seriesName + ':' + value + ' ' + unit
// #endif
// #ifdef APP-PLUS
result += '<br/>' + params[i].marker + params[i].seriesName + ':' + value + ' ' + unit
// #endif
}
return result
}
},
/**
* 保留两位小数
* @param {Object} value
*/
formatFloat2(value) {
let temp = Math.round(parseFloat(value) * 100) / 100
let xsd = temp.toString().split('.')
if (xsd.length === 1) {
temp = (isNaN(temp) ? '0' : temp.toString()) + '.00'
return temp
}
if (xsd.length > 1) {
if (xsd[1].length < 2) {
temp = temp.toString() + '0'
}
return temp
}
},
/**
* 添加千分位
* @param {Object} value
*/
formatThousands(value) {
if (value === undefined || value === null) {
value = ''
}
if (!isNaN(value)) {
value = value + ''
}
let re = /\d{1,3}(?=(\d{3})+$)/g
let n1 = value.replace(/^(\d+)((\.\d+)?)$/, function(s, s1, s2) {
return s1.replace(re, '$&,') + s2
})
return n1
}
}
}
</script>
<style lang="scss" scoped>
.echarts {
width: 100%;
height: 100%;
}
</style>
\ No newline at end of file
<template>
<view>
<view class="echarts" :id="option.id" :prop="option" :change:prop="echarts.update" @click="echarts.onClick"></view>
</view>
</template>
<script>
export default {
name: 'Echarts',
props: {
option: {
type: Object,
required: true
}
},
created() {
// 设置随机数id
let t = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'
let len = t.length
let id = ''
for (let i = 0; i < 32; i++) {
id += t.charAt(Math.floor(Math.random() * len))
}
this.option.id = id
},
methods: {
/**
* renderjs内的点击事件,回调到父组件
* @param {Object} params
*/
onViewClick(params) {
this.$emit('click', params)
}
}
}
</script>
<script module="echarts" lang="renderjs">
export default {
data() {
return {
chart: null,
clickData: null // echarts点击事件的值
}
},
mounted() {
if (typeof window.echarts === 'object') {
this.init()
} else {
// 动态引入类库
const script = document.createElement('script')
script.src = '../../static/echarts.min.js'
script.onload = this.init
document.head.appendChild(script)
}
},
methods: {
/**
* 初始化echarts
*/
init() {
// 根据id初始化图表
this.chart = echarts.init(document.getElementById(this.option.id))
this.update(this.option)
// echarts的点击事件
this.chart.on('click', params => {
// 把点击事件的数据缓存下来
this.clickData = params
})
},
/**
* 点击事件,可传递到外部
* @param {Object} event
* @param {Object} instance
*/
onClick(event, instance) {
if (this.clickData) {
// 把echarts点击事件相关的值传递到renderjs外
instance.callMethod('onViewClick', {
value: this.clickData.data,
name: this.clickData.name,
seriesName: this.clickData.seriesName
})
// 上次点击数据置空
this.clickData = null
}
},
/**
* 监测数据更新
* @param {Object} option
*/
update(option) {
if (this.chart) {
// 因App端,回调函数无法从renderjs外传递,故在此自定义设置相关回调函数
if (option) {
// tooltip
if (option.tooltip) {
// 判断是否设置tooltip的位置
if (option.tooltip.positionStatus) {
option.tooltip.position = this.tooltipPosition()
}
// 判断是否格式化tooltip
if (option.tooltip.formatterStatus) {
option.tooltip.formatter = this.tooltipFormatter(option.tooltip.formatterUnit, option.tooltip.formatFloat2, option.tooltip.formatThousands)
}
}
// 颜色渐变
if (option.series) {
for (let i in option.series) {
let linearGradient = option.series[i].linearGradient
if (linearGradient) {
option.series[i].color = new echarts.graphic.LinearGradient(linearGradient[0],linearGradient[1],linearGradient[2],linearGradient[3],linearGradient[4])
}
}
}
}
// 设置新的option
this.chart.setOption(option, option.notMerge)
}
},
/**
* 设置tooltip的位置,防止超出画布
*/
tooltipPosition() {
return (point, params, dom, rect, size) => {
// 其中point为当前鼠标的位置,size中有两个属性:viewSize和contentSize,分别为外层div和tooltip提示框的大小
let x = point[0]
let y = point[1]
let viewWidth = size.viewSize[0]
let viewHeight = size.viewSize[1]
let boxWidth = size.contentSize[0]
let boxHeight = size.contentSize[1]
let posX = 0 // x坐标位置
let posY = 0 // y坐标位置
if (x >= boxWidth) { // 左边放的下
posX = x - boxWidth - 1
}
if (y >= boxHeight) { // 上边放的下
posY = y - boxHeight - 1
}
return [posX, posY]
}
},
/**
* tooltip格式化
* @param {Object} unit 数值后的单位
* @param {Object} formatFloat2 是否保留两位小数
* @param {Object} formatThousands 是否添加千分位
*/
tooltipFormatter(unit, formatFloat2, formatThousands) {
return params => {
let result = ''
unit = unit ? unit : ''
for (let i in params) {
if (i == 0) {
result += params[i].axisValueLabel
}
let value = '--'
if (params[i].data !== null) {
value = params[i].data
// 保留两位小数
if (formatFloat2) {
value = this.formatFloat2(value)
}
// 添加千分位
if (formatThousands) {
value = this.formatThousands(value)
}
}
// #ifdef H5
result += '\n' + params[i].seriesName + ':' + value + ' ' + unit
// #endif
// #ifdef APP-PLUS
result += '<br/>' + params[i].marker + params[i].seriesName + ':' + value + ' ' + unit
// #endif
}
return result
}
},
/**
* 保留两位小数
* @param {Object} value
*/
formatFloat2(value) {
let temp = Math.round(parseFloat(value) * 100) / 100
let xsd = temp.toString().split('.')
if (xsd.length === 1) {
temp = (isNaN(temp) ? '0' : temp.toString()) + '.00'
return temp
}
if (xsd.length > 1) {
if (xsd[1].length < 2) {
temp = temp.toString() + '0'
}
return temp
}
},
/**
* 添加千分位
* @param {Object} value
*/
formatThousands(value) {
if (value === undefined || value === null) {
value = ''
}
if (!isNaN(value)) {
value = value + ''
}
let re = /\d{1,3}(?=(\d{3})+$)/g
let n1 = value.replace(/^(\d+)((\.\d+)?)$/, function(s, s1, s2) {
return s1.replace(re, '$&,') + s2
})
return n1
}
}
}
</script>
<style lang="scss" scoped>
.echarts {
width: 100%;
height: 100%;
}
</style>
\ No newline at end of file
......@@ -7,13 +7,17 @@
</view>
<!-- // 一级循环 -->
<view class="content-sam-box">
<view class="" v-for="(pointItem,index) in dataList" :key="index">
<view class="" v-for="(pointItem,index) in list">
<view class="content-sa" style=" " v-if="felTyle == 'achievement'">
<view class="content-box-title" style="display: flex;align-items: center;margin-left: 6rpx;flex: 1;">
<view style=""
:class="index == 0 ?'cornermarker': index == 1 ? 'cornermarkertwo' : index == 2 ? 'cornermarkerthree' : 'cornermarkerother'">
<text style="font-size: 20rpx;line-height: 20rpx;">{{index + 1}}</text>
<view class="content-box-title"
style="display: flex;align-items: center;margin-left: 6rpx;flex: 1;">
<view
:class="index == '0' ?'cornermarker': index == '1' ? 'cornermarkertwo' : index == '2' ? 'cornermarkerthree' : 'cornermarkerother'">
<span style="font-size: 20rpx;line-height: 20rpx;">{{index + 1}}</span>
</view>
<!-- <view class="cornermarkerthree">
<span>{{index + 1}}</span>
</view> -->
<view style="margin-left: 8rpx;text-overflow: ellipsis;
overflow: hidden;
white-space: nowrap;">{{pointItem.name }}</view>
......@@ -81,10 +85,16 @@
tablesix: false, // 第六层收起
sixindex: '',
sixList: [],
list:[],
};
},
mounted() {
// this.alist = this.dataList
this.list = JSON.parse(JSON.stringify(this.dataList))
// this.$nextTick(() => {
// })
// console.log(this.dataList, 555555)
},
methods: {
subordinate(index, val, type, expand) {
......@@ -180,7 +190,7 @@
flex: 1;
align-items: center;
text-align: center;
border-bottom: 1rpx solid #F2F2F2;
border-bottom: 1rpx solid #F2F2F2;
padding: 20rpx 0;
}
......
......@@ -136,6 +136,7 @@
//提交按钮置灰
this.readonlyFlag = true;
const param = {
breachCommission:this.dropInfo.breachCommission?this.dropInfo.breachCommission: 0,
orderNo:this.dropInfo.orderNo,
paymentMethod:this.dropInfo.paymentMethod,
userId:this.userId,
......
<template>
<view class="wrapper">
<text class="iconfont icon-youjiantou zuojiantou" @click="goBack()" style="left: 20rpx;"></text>
<view class="" style="margin-top: 20rpx;">
<view class="" style="margin-top: 40rpx;">
查询类型
</view>
<view class="content">
......
......@@ -259,7 +259,8 @@
// }, 500);
} else if (platform == 'android') {
window.open('cffpapp://');
window.location.href = "cffpapp://";
// window.open('cffpapp://');
// var loadDateTime = new Date();
// window.setTimeout(function() { //如果没有安装app,便会执行setTimeout跳转下载页
// var timeOutDateTime = new Date();
......
......@@ -144,7 +144,8 @@
carouselList: [],
userId: uni.getStorageSync('cffp_userId'),
shareId: null,
kefu: '../../static/kefu.png'
kefu: '../../static/kefu.png',
loginornot: true
}
},
components: {
......@@ -163,6 +164,12 @@
})
}
},
onShow() {
let loginType = uni.getStorageSync('loginType')
if(loginType == "visitor" ){
this.loginornot = false
};
},
methods: {
tokefu() {
let url = 'http://q.url.cn/abkzV9?_type=wpa&qidian=true' // URL是要跳转的外部地址 作为参数
......@@ -172,7 +179,17 @@
})
},
featureSelect(featureItem) {
console.log(this.cffpUserInfo, 1544)
if(this.loginornot == false && featureItem.name != "学习认证" && featureItem.name != "更多功能"){
uni.showToast({
title: "请登陆个人账户使用该功能",
duration: 2000,
icon: 'none'
});
uni.reLaunch({
url:'/components/login/login'
})
return false
}
if (this.cffpUserInfo.partnerType == null && featureItem.name == '邀请加盟') {
uni.showToast({
title: "您本人尚未加盟,您加盟后可邀请加盟",
......
......@@ -17,7 +17,7 @@
<view class="login-code">
<!-- <view class="text" style="display: flex;justify-content: space-between;"> -->
<input name="form.code" placeholder="输入验证码" v-model="form.code" type="number" maxlength="6"/>
<text @click="sendMessage()" :class="{'grey':disabledSendBtn}">{{sendCodeHtml}}</text>
<text @click="sendMessage()" style="width: 180rpx;" :class="{'grey':disabledSendBtn}">{{sendCodeHtml}}</text>
<!-- </view> -->
</view>
......@@ -128,7 +128,6 @@
}
api.loginVerification(params).then((res)=>{
if(res['success']){
console.log(res, 5454)
this.userId = String(res['data']['userId']);
uni.setStorageSync('isLogin','1')
uni.setStorageSync('cffp_userId', this.userId)
......@@ -199,6 +198,7 @@
border-bottom: 1px solid #CECECE;
padding: 20rpx;
.grey{
min-width: 100rpx;
font-size: 24rpx;
color: #CECECE;
}
......
......@@ -13,18 +13,18 @@
<!-- <view class="isUnder" style="border: 2rpx solid #3671F4;" v-if="certifyItem.isAdopt=='1'">
认证中
</view> -->
<view :class="certifyItem.isAdopt=='1' ? 'isUnder' : certifyItem.isAdopt=='3' ? 'isAdopt' : ''" >
<view :class="certifyItem.isAdopt=='1' ? 'isUnder' : certifyItem.isAdopt=='3' ? 'isAdopt' : ''">
<span v-if="certifyItem.isAdopt=='1'">认证中</span>
<span v-if="certifyItem.isAdopt=='3'">通过认证</span>
</view>
<view class="" >
<view class="">
<image :src="certifyItem.cerLogoUrl" mode="widthFix"></image>
</view>
<view class="" style="flex: 1;text-align: center;">
<text class="certify_name">{{certifyItem.cerName}}</text>
</view>
<view class="view_btn" @click="switchDetail(certifyItem)" >
<view class="view_btn" @click="switchDetail(certifyItem)">
<span>{{certifyItem.isAdopt=='3'?'查看证书':'认证详情'}}</span>
</view>
</view>
......@@ -42,10 +42,34 @@
<view class="title">
精品福利
</view>
<view class="welfare_pic">
<image src="/static/certifyProcess/welfare1.png" mode="widthFix" @click="showMask(1)"></image>
<image src="/static/certifyProcess/welfare2.png" mode="widthFix" @click="showMask(2)"></image>
<view class="" style="display: flex;">
<view class="welfareone" @click="showMask(1)">
<view class="text-one">
<text class="">福利一</text>
</view>
<text class="text-title">精品辅助资料</text>
<view class="text-t-bottom">
</view>
<text class="text-footer-content">高质量辅导资料 限时赠送</text>
<text class="text-footer">微信小助手领取</text>
</view>
<view class="welfareone" @click="showMask(2)">
<view class="text-one">
<text class="" style="color: #FFD06B ;">福利二</text>
</view>
<text class="text-title">精品辅助资料</text>
<view class="text-t-bottom">
</view>
<text class="text-footer-content">同行精英+学习指点+实战经验</text>
<text class="text-footer" style="margin-left: 100rpx;">进入交流群</text>
</view>
</view>
<!-- <view class="welfare_pic">
<image src="/static/certifyProcess/welfare1.png" mode="widthFix" ></image>
<image src="/static/certifyProcess/welfare2.png" mode="widthFix"></image>
</view> -->
</view>
<view class="question_wrppaer">
<view class="title">
......@@ -62,7 +86,7 @@
</view>
</view>
</view>
<view class="mask" v-if="mask_flag"></view>
<view class="mask" v-if="mask_flag"></view>
<view class="mask_content" v-if="mask_flag">
<image :src="qrCode" mode="widthFix"></image>
<view class="tips">{{maskTips}}</view>
......@@ -72,84 +96,88 @@
<script>
import api from '../../api/api';
export default{
data(){
export default {
data() {
return {
certificates:[],
planFaqs:[],
boutiqueWelfares:[],
mask_flag:false,
qrCode:null,
userId:uni.getStorageSync('cffp_userId')
certificates: [],
planFaqs: [],
boutiqueWelfares: [],
mask_flag: false,
qrCode: null,
userId: uni.getStorageSync('cffp_userId')
}
},
components:{},
onLoad(){
components: {},
onLoad() {
this.getLearnCertifyList();
},
methods:{
goBack(){
let back = getCurrentPages();
if(back && back.length>1) {
uni.navigateBack({
delta: 1
});
}else{
history.back();
methods: {
goBack() {
let back = getCurrentPages();
if (back && back.length > 1) {
uni.navigateBack({
delta: 1
});
} else {
history.back();
}
},
getLearnCertifyList(){
api.queryCertificateList({userId: this.userId}).then((res)=>{
getLearnCertifyList() {
api.queryCertificateList({
userId: this.userId
}).then((res) => {
console.log(res)
if(res['success']){
if (res['success']) {
this.certificates = res['data']['certificates'];
this.planFaqs = res['data']['planFaqs'];
this.boutiqueWelfares =res['data']['boutiqueWelfares'];
}else{
this.boutiqueWelfares = res['data']['boutiqueWelfares'];
} else {
this.certificates = [];
this.planFaqs = [];
this.boutiqueWelfares = [];
}
})
},
switchDetail(certifyItem){
switchDetail(certifyItem) {
//2通过跳到证书页,1跳到证书详情
if(certifyItem.isAdopt == 3){
if (certifyItem.isAdopt == 3) {
uni.navigateTo({
url:`../authentication-query/authentication-result?queryType=1`
url: `../authentication-query/authentication-result?queryType=1`
})
}else{
let certificateId = certifyItem.isAdopt != 1?certifyItem.certificateId: null
} else {
let certificateId = certifyItem.isAdopt != 1 ? certifyItem.certificateId : null
uni.navigateTo({
url:`../certifyDetail/certifyDetail?certificateId=${certificateId}&userSignupId=${certifyItem.userSignupId}&status=${certifyItem.isAdopt}`
url: `../certifyDetail/certifyDetail?certificateId=${certificateId}&userSignupId=${certifyItem.userSignupId}&status=${certifyItem.isAdopt}`
})
}
},
showMask(type){
this.mask_flag = true;
if(type==1){
this.qrCode=this.boutiqueWelfares[0]['wechatCodeUrl'];
this.maskTips = '请添加微信小助手获取 精品辅助资料';
}
if(type==2){
this.qrCode=this.boutiqueWelfares[1]['wechatCodeUrl'];
this.maskTips = '请扫码进入微信学习 考证交流群';
showMask(type) {
this.mask_flag = true;
if (type == 1) {
this.qrCode = this.boutiqueWelfares[0]['wechatCodeUrl'];
this.maskTips = '请添加微信小助手获取 精品辅助资料';
}
if (type == 2) {
this.qrCode = this.boutiqueWelfares[1]['wechatCodeUrl'];
this.maskTips = '请扫码进入微信学习 考证交流群';
}
}
}
}
</script>
<style lang="scss">
.certify_content{
.certify_content {
background: #F1F6FF;
border-radius:24rpx 24rpx 0 0;
border-radius: 24rpx 24rpx 0 0;
padding: 30rpx;
position: relative;
top: -30rpx;
.list_wrapper{
.list_wrapper {
margin-bottom: 40rpx;
.list_content {
display: flex;
background: #fff;
......@@ -159,7 +187,8 @@
align-items: center;
padding-left: 160rpx;
justify-content: space-between;
.isAdopt{
.isAdopt {
position: absolute;
border: 2rpx solid #06A632;
text-align: center;
......@@ -169,7 +198,8 @@
left: 0;
font-size: 28rpx;
}
.isUnder{
.isUnder {
position: absolute;
border: 2rpx solid #3671F4;
text-align: center;
......@@ -179,57 +209,120 @@
left: 0;
font-size: 28rpx;
}
image{
width:80rpx!important;
image {
width: 80rpx !important;
}
.view_btn{
background: linear-gradient(306deg, #7EA8FF 0%, #4984FF 100%);
.view_btn {
background: linear-gradient(306deg, #7EA8FF 0%, #4984FF 100%);
border-radius: 2px 2px 2px 2px;
color: #fff;
padding: 10rpx;
}
}
.certify_enter{
.certify_enter {
background: #fff;
text-align: center;
padding: 20rpx;
text-decoration:underline;
text-decoration: underline;
color: #3977FA;
}
}
}
.title{
.welfareone {
width: 330rpx;
height: 350rpx;
background: url('../../static/Group1760.png') no-repeat;
background-size: 100%;
.text-one {
// position: absolute;
width: 110rpx;
height: 30rpx;
text-align: center;
color: #5C9BFE;
transform: rotate(-45deg);
margin-top: 40rpx;
left: 40rpx;
font-size: 24rpx;
}
.text-title {
position: absolute;
margin-left: 80rpx;
color: #5C9BFE;
font-weight: 600;
font-size: 32rpx;
}
.text-t-bottom{
position: absolute;
margin-top: 50rpx;
margin-left: 80rpx;
width: 220rpx;
height: 4rpx;
background: linear-gradient(90deg, #F3B933 0%, #5C9BFE 0%, rgba(127,176,254,0) 100%);
border-radius: 6rpx;
opacity: 1;
}
.text-footer-content{
position: absolute;
margin-left: 80rpx;
font-size: 26rpx;
width: 210rpx;
margin-top: 60rpx;
color: #999999;
}
.text-footer{
position: absolute;
margin-top: 170rpx;
font-size: 30rpx;
color: #FFFFFF;
margin-left: 70rpx;
}
}
.title {
text-align: center;
margin:0 20rpx 20rpx 20rpx;
font-size:40rpx;
margin: 0 20rpx 20rpx 20rpx;
font-size: 40rpx;
}
.welfare_wrapper{
.welfare_wrapper {
background: #fff;
padding: 20rpx;
margin-bottom: 30rpx;
.welfare_pic{
.welfare_pic {
display: flex;
justify-content: space-between;
image{
width: 46%!important;
image {
width: 46% !important;
}
image:nth-child(2){
image:nth-child(2) {
position: relative;
right: 20rpx;
}
}
}
.question_wrppaer{
.question_wrppaer {
padding: 30rpx;
.question_content{
.question_content {
margin-bottom: 20rpx;
.question{
.question {
font-size: 36rpx;
margin-bottom: 20rpx;
}
}
}
.mask{
.mask {
position: fixed;
top: 0;
right: 0;
......@@ -237,9 +330,10 @@
bottom: 0;
height: 100%;
z-index: 1;
background-color: rgba(0,0,0,.4);
background-color: rgba(0, 0, 0, .4);
}
.mask_content{
.mask_content {
width: 90%;
background: #fff;
margin: auto;
......@@ -253,7 +347,8 @@
display: flex;
flex-wrap: wrap;
justify-content: center;
.iconfont{
.iconfont {
display: inline-block;
width: 80rpx;
height: 80rpx;
......@@ -267,12 +362,14 @@
right: 0;
margin: 0 auto;
}
uni-image{
width: 60%!important;
uni-image {
width: 60% !important;
}
.tips{
.tips {
width: 100%;
text-align: center;
}
}
</style>
\ No newline at end of file
</style>
......@@ -153,6 +153,7 @@
userStudyCount(){
api.userStudyCount({userId:this.userId}).then(res=>{
if(res['success']){
console.log(res, 101115)
this.userStudyCountList = res['data'];
this.studyInfos = res['data']['studyInfos'];
let categories=[];
......
......@@ -16,10 +16,10 @@
</view>
</view>
<view class="opt_wrapper">
<view style="width: 33%;">销售以来</view>
<!-- <view style="width: 33%;">销售以来</view> -->
<!-- 年月时间选择 -->
<view class="timeSelectContent" v-if="timeFlag=='M'" style="width: 33%;">
<picker mode="date" :value="fortuneDate" :end="maxDate" fields="month" @change="bindDateChange">
<view class="timeSelectContent" v-if="timeFlag !='D'">
<picker mode="date" :value="fortuneDate" :end="maxDate" :fields="fields" @change="bindDateChange">
<view class="uni-input">{{fortuneDate}}
<text class="iconfont icon-youjiantou"></text>
</view>
......@@ -76,7 +76,8 @@
nowSumCommissionAmount:'', //当前(日月年)积分
prePercent:'',//比前日、上月,上年多或少的百分比数据
yesExchangeFortune:'',//可兑换金额
cffpFortuneDeductionList:[]//对象类型见下方CffpFortuneExchangeVO
cffpFortuneDeductionList:[],//对象类型见下方CffpFortuneExchangeVO
fields:''
}
},
......@@ -92,9 +93,11 @@
}
if(this.timeFlag == 'M'){
this.fortuneDate = `${new Date().getFullYear()}-${new Date().getMonth() + 1}`
this.fields = 'month'
}
if(this.timeFlag == 'Y'){
this.fortuneDate=`${new Date().getFullYear()}`
this.fields = 'year'
}
this.findByUserIdForFortuneStatistic();
},
......@@ -213,6 +216,7 @@
}
.opt_wrapper{
display: flex;
justify-content: center;
text-align: center;
align-items: center;
width: 100%;
......
......@@ -223,13 +223,21 @@
param.paymentType = 2;
//deviceType:PC为1,移动端为2,微信为3
if(this.deviceType == 3){
param.isPayOrAuth = 1;
api.wxAuthorize(param).then((res)=>{
this.paymentBtnDisabled = false;
if(res['success']){
window.location.href = res['data']['paymentForm']['action'];
}
})
if(this.amount == '0'){
uni.navigateTo({
url:`/pages/orderStatus/orderStatus?orderId=${this.orderId}&fileId=${this.fileId}&orderStatus=2&userId=${this.userId}&isRedirect=1`
})
return false
}else {
param.isPayOrAuth = 1;
api.wxAuthorize(param).then((res)=>{
this.paymentBtnDisabled = false;
if(res['success']){
window.location.href = res['data']['paymentForm']['action'];
}
})
}
}else{
//微信二维码支付
......@@ -300,6 +308,12 @@
const data = res['data'];
this.paymentBtnDisabled = false;
if(res['success']){
if(data.orderStatus != '' && data.orderStatus != null){
uni.navigateTo({
url:`/pages/orderStatus/orderStatus?orderId=${this.orderId}&fileId=${this.fileId}&orderStatus=2&userId=${this.userId}&isRedirect=1`
})
return false
}
this.payForm = res['data']['aliOrderString'];
this.$nextTick(() => {
console.log(document.forms)
......
......@@ -106,7 +106,7 @@
{id:'02',categoryName:'活动管理',
children:[
{title:'我的学习',icon:'myLearning',link:'/pages/myLearning/myLearning',isOpen:true,isShow:true},
{title:'学习认证',icon:'learningCertify',link:'/pages/learnCertify/learnCertify',isOpen:true,isShow:true},
{title:'学习认证',icon:'learningCertify',link:'/pages/learnCertify/learnCertify',isOpen:true,isShow:true,islogin:true},
{title:'我的分享',icon:'share',link:'/pages/myShare/myShare',isOpen:true,isShow:true}
],
},
......@@ -128,7 +128,7 @@
{title:'我的卡包',icon:'card',link:'',isOpen:true,isShow:false},
{title:'我的认证',icon:'myCertify',link:'/pages/myCertify/myCertify',isOpen:true,isShow:true},
{title:'申请修改公司周边',icon:'setting',link:'',isOpen:true,isShow:false},
{title:'我的消息',icon:'message',link:'/pages/systemMsg/system_msg',isOpen:true,isShow:true},
{title:'我的消息',icon:'message',link:'/pages/systemMsg/system_msg',isOpen:true,isShow:true,islogin:true},
{title:'系统设置',icon:'setting',link:'/pages/personalCenter/system/settings',isOpen:true,isShow:true}
]
......@@ -178,7 +178,7 @@
},
// 菜单跳转页面
goDetail(item){
if(!this.loginornot){
if(!this.loginornot&& !item.islogin){
this.isLogin()
}
if(item.isShow && item.isOpen){
......
......@@ -22,7 +22,7 @@
</view>
</view>
<view class="other" v-if="tabType===3">
<other-team v-if="otherList" :otherList="otherList"></other-team>
<other-team v-if="otherList.length != 0" :otherList="otherList"></other-team>
<view v-else class="zdata" style="">
<text>暂无数据!</text>
</view>
......@@ -77,6 +77,7 @@
userId: this.userId
}).then(res =>{
if(res['success']){
console.log(res, 11215)
let data = res.data
if(data.orgInfo) {
this.levelName =data.orgInfo.areaCenterName;
......
......@@ -25,7 +25,7 @@
</view> -->
</view>
<view class="content-btn">
<view class="" v-for="(item,index) in teamList" :key="index">
<view class="" v-for="(item,index) in teamList">
<view :class="teamtype===index ? 'content-btn_under-Check' : 'content-btn_under'"
@click="ckteam(index)">
<text
......@@ -64,8 +64,8 @@
<text v-else>按销售额排序</text>
</view>
</view>
<view class="">
<myteam-table :datatitleList="datatitleList" :dataList="dataList" felTyle="achievement"></myteam-table>
<view v-if="listType == true">
<myteam-table :datatitleList="datatitleList" :dataList="dataList" felTyle="achievement"></myteam-table>
</view>
</view>
</template>
......@@ -92,6 +92,7 @@
totalCoursePrice: '', // 总销售额
totalIncome: '', //总销售收入
teListsort: true,
listType: false,
multiArray: [{
name: '',
id: 1
......@@ -155,12 +156,13 @@
}
this.CffpOrgInfoReqVO.queryType = this.teamtype + 1
api.queryTeamAchievement(this.CffpOrgInfoReqVO).then(res => {
if (res) {
this.dataList = res.data.list
this.totalOrder = res.data.totalOrder ? res.data.totalOrder : '0'
this.totalCoursePrice = res.data.totalCoursePrice ? res.data.totalCoursePrice : '0'
this.totalIncome = res.data.totalIncome ? res.data.totalIncome : '0'
this.sortswitch()
if (res['success']) {
this.listType = true
this.dataList = res.data.list || [];
this.totalOrder = res.data.totalOrder ? res.data.totalOrder : '0';
this.totalCoursePrice = res.data.totalCoursePrice ? res.data.totalCoursePrice : '0';
this.totalIncome = res.data.totalIncome ? res.data.totalIncome : '0';
this.sortswitch();
}
})
},
......@@ -173,7 +175,6 @@
} else {
return b.coursePrice - a.coursePrice;
}
})
},
mountdchange(e) {
......@@ -181,6 +182,7 @@
},
ckteam(e) {
this.teamtype = e
this.listType = false
this.getqueryTeamAchievement()
},
// 这个是时间组件返回的时间值
......@@ -206,8 +208,7 @@
.header {
display: flex;
justify-content: center;
margin: 0 40rpx;
margin: 40rpx;
.timeSelectContent {
margin: 0 40rpx;
}
......
......@@ -7,6 +7,9 @@
mode=""></image>
</view>
</view>
<!-- <view class="linechart">
<echarts ref="echart" :option="option" style="height: 300px;"></echarts>
</view> -->
<view class="band">
<view class="contentItem">
<text>真实名称</text>
......@@ -32,6 +35,8 @@
import {
CommonUpload
} from '@/util/uploaderFile'
import Echarts from '@/components/charts/charts.vue'
import EchartsEl from '@/components/echarts/echarts-el.vue'
import api from "@/api/api";
import common from '../../common/common';
export default {
......@@ -45,21 +50,44 @@
targetUseFor: "12",
targetSeq: "0"
},
optionForm: {}
optionForm: {},
option :{
xAxis: {
type: 'category',
data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
},
yAxis: {
type: 'value'
},
series: [
{
data: [120, 200, 150, 80, 70, 110, 130],
type: 'bar',
showBackground: true,
backgroundStyle: {
color: 'rgba(180, 180, 180, 0.2)'
}
}
]
}
}
},
components: {
Echarts,
EchartsEl
},
onLoad(options) {
this.optionForm = JSON.parse(options.customerBasicInfo)
},
methods: {
goBack(){
let back = getCurrentPages();
if(back && back.length>1) {
uni.navigateBack({
delta: 1
});
}else{
history.back();
goBack() {
let back = getCurrentPages();
if (back && back.length > 1) {
uni.navigateBack({
delta: 1
});
} else {
history.back();
}
},
uploadAvatar(event) {
......
......@@ -159,8 +159,15 @@
</label>
</radio-group>
</view>
<view id="myEcharts" style="height: 450rpx;"></view>
<view style="text-align: center;color: #c3c1c1;font-size: 22rpx;" v-if="isNeedDis">
<view style="height: 450rpx;width: 500rpx;border: 1rpx solid #c3c1c1;">
<div id="myEcharts">
</div>
</view>
<!-- <view class="linechart">
<echarts ref="echart" :option="option" style="height: 300px;"></echarts>
</view> -->
<view style="text-align: center;color: #c3c1c1;font-size: 22rpx;" >
差额 = 可实现的 - 你想要的
</view>
<view class="resultSummaryContent">
......
......@@ -94,13 +94,18 @@
v-model="item.withdrawalEnd"/>
<input class="uni-input withdrawNumber" type="digit" placeholder="请输入" maxlength="17"
v-model="item.yearWithdrawalAmount"/>
<view v-show="yearWithdrawalInfos.length>1">
<text @click="reduce(idx)"><svg t="1662455801913" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3447" width="20" height="20"><path d="M512 0c-285.257143 0-512 226.742857-512 512s226.742857 512 512 512 512-226.742857 512-512-226.742857-512-512-512z m0 950.857143c-241.371429 0-438.857143-197.485714-438.857143-438.857143s197.485714-438.857143 438.857143-438.857143 438.857143 197.485714 438.857143 438.857143-197.485714 438.857143-438.857143 438.857143z" p-id="3448" fill="#CEB07D"></path><path d="M731.428571 475.428571h-438.857142c-21.942857 0-36.571429 14.628571-36.571429 36.571429s14.628571 36.571429 36.571429 36.571429h438.857142c21.942857 0 36.571429-14.628571 36.571429-36.571429s-14.628571-36.571429-36.571429-36.571429z" p-id="3449" fill="#CEB07D"></path></svg></text>
<view v-show="yearWithdrawalInfos.length>1" style="position: absolute;right: 0;width: 60rpx;height: 60rpx;">
<image @click="reduce(idx)" style="width: 60rpx;height: 60rpx;" src="../../static/Vector.png" mode=""></image>
<!-- <text><svg t="1662455801913" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3447" width="20" height="20"><path d="M512 0c-285.257143 0-512 226.742857-512 512s226.742857 512 512 512 512-226.742857 512-512-226.742857-512-512-512z m0 950.857143c-241.371429 0-438.857143-197.485714-438.857143-438.857143s197.485714-438.857143 438.857143-438.857143 438.857143 197.485714 438.857143 438.857143-197.485714 438.857143-438.857143 438.857143z" p-id="3448" fill="#CEB07D"></path><path d="M731.428571 475.428571h-438.857142c-21.942857 0-36.571429 14.628571-36.571429 36.571429s14.628571 36.571429 36.571429 36.571429h438.857142c21.942857 0 36.571429-14.628571 36.571429-36.571429s-14.628571-36.571429-36.571429-36.571429z" p-id="3449" fill="#CEB07D"></path></svg></text> -->
</view>
</view>
<text @click="add()" style="position: absolute;right: 0;">
<view class="" @click="add()" style="position: absolute;right: 0; width: 60rpx;height: 60rpx;">
<image style="width: 60rpx;height: 60rpx;" src="../../static/Vecto4r.png" mode=""></image>
</view>
<!-- <text >
<svg t="1662455996735" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4399" width="20" height="20"><path d="M512 0c-285.257143 0-512 226.742857-512 512s226.742857 512 512 512 512-226.742857 512-512-226.742857-512-512-512z m0 950.857143c-241.371429 0-438.857143-197.485714-438.857143-438.857143s197.485714-438.857143 438.857143-438.857143 438.857143 197.485714 438.857143 438.857143-197.485714 438.857143-438.857143 438.857143z" p-id="4400" fill="#CEB07D"></path><path d="M731.428571 475.428571h-182.857142v-182.857142c0-21.942857-14.628571-36.571429-36.571429-36.571429s-36.571429 14.628571-36.571429 36.571429v182.857142h-182.857142c-21.942857 0-36.571429 14.628571-36.571429 36.571429s14.628571 36.571429 36.571429 36.571429h182.857142v182.857142c0 21.942857 14.628571 36.571429 36.571429 36.571429s36.571429-14.628571 36.571429-36.571429v-182.857142h182.857142c21.942857 0 36.571429-14.628571 36.571429-36.571429s-14.628571-36.571429-36.571429-36.571429z" p-id="4401" fill="#CEB07D"></path></svg>
</text>
</text> -->
</view>
</view>
<!-- 现金价值信息 -->
......
This source diff could not be displayed because it is too large. You can view the blob instead.
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