Commit 00c49ff6 by sunchao

Merge branch 'dev' of http://139.224.139.2:9091/chaosun/CFFP into dev

parents a4139ef5 6349af9d
......@@ -8,8 +8,19 @@
<view v-for="subItem in listItem.children" :key="subItem.no"
:style="{color:subItem.link ? '#2D56A7' : '#333',width:subItem.width}">
<view class="" style="overflow: hidden;">
<text :style="{borderColor:subItem.link ? '#2D56A7' : 'transparent'}"
@click="link(subItem.value,listItem)">{{subItem.value}}</text>
<view class="" v-if="subItem.value == '阅读明细'" @click="link(subItem.name,subItem.readCount,listItem)">
<text v-if=" subItem.readCount > 0">{{subItem.value}}</text>
<text v-else> - </text>
</view>
<view class="" v-else-if="subItem.value == '购买明细'" @click="link(subItem.name,subItem.buyCount,listItem)">
<text v-if=" subItem.buyCount > 0">{{subItem.value}}</text>
<text v-else> - </text>
</view>
<view v-else class="" @click="link(subItem.name,1,listItem)">
<text
:style="{borderColor:subItem.link ? '#2D56A7' : 'transparent'}">{{subItem.value}}</text>
</view>
</view>
</view>
</view>
......@@ -43,7 +54,7 @@
},
data() {
return {
titleList: ['购买明细', '阅读明细', '购买订单']
};
},
mounted() {
......@@ -53,23 +64,20 @@
},
methods: {
cklink() {
},
link(val, value) {
console.log(val, value, 1515)
let dataList = value.children
link(val, value, list) {
console.log(val, value, 5141548)
let dataList = list.children
for (var i = 0; i < dataList.length; i++) {
if (val == dataList[i].value) {
console.log(dataList[i], 54854)
if (val == '阅读明细' || val == '购买明细') {
uni.navigateTo({
url: dataList[i].link
})
if (val == dataList[i].name) {
if (this.titleList.includes(val)) {
if (value > 0) {
uni.navigateTo({
url: dataList[i].link
})
}
} else {
uni.showModal({
title: '分享链接',
title: val,
content: dataList[i].value,
showCancel: false,
success: function(res) {
......@@ -81,6 +89,24 @@
}
});
}
// if (val == '阅读明细' && dataList[i].readCount > 0) {
// this.jumpdetail(true)
// }
// if (val == '购买明细' && dataList[i].buyCount > 0) {
// this.jumpdetail(true)
// }
// if (val == '购买订单') {
// this.jumpdetail(true)
// }
// uni.navigateTo({
// url: dataList[i].link
// })
// [1, 2, 3].includes(2) // true
// if() {
// }
}
}
......
<template>
<view class="wrapper">
<view v-if="loginType=='resetpw'" @click="rpsdlogin()" class="psdlogin">
<image style="width: 40rpx;height: 40rpx;" src="../../static/rpsloging.png" mode=""></image>
</view>
<view class="logo">
<image :src="imgSrc" alt="logo" srcset="" class="iconBox" mode="widthFix"></image>
<view>欢迎登录使用CFFP</view>
......@@ -101,6 +104,9 @@
}
},
methods: {
rpsdlogin(){
this.loginType= 'codelogin'
},
getFile(type){
uni.navigateTo({
url:`/components/clause/clause?type=${type}`
......@@ -331,6 +337,12 @@
</script>
<style lang="scss">
.psdlogin{
margin: 40rpx;
width: 40rpx;
height: 40rpx;
// background: url('../../static/rpsloging.png') no-repeat;
}
.wrapper{
background: #20279B;
overflow: auto;
......
<template>
<view class="container">
<view class="d-table">
<view class="content-box">
<view class="content-box-title" v-for="item in datatitleList">
<!-- <view class="d-box">
<view class="d-td" v-for="item in datatitleList">
<span class="">{{item}}</span>
</view>
</view>
</view> -->
<view class="d-tr">
<!-- <view class="d-th">姓名</view>
<view class="d-th">年龄</view>
......@@ -18,34 +18,50 @@
<!-- :class="`padding-left-${item.level * 5 + 10}`"-->
<view class="d-td">
<view class="" style="display: flex;">
<view class="">
<!-- <view class="">
<uni-icons v-if="item.hasChildren && !treeList[0]"
:type="checkLazy(item.id) ? 'spinner-cycle' : !checkOpen(item.id) ? 'arrowright' : 'arrowdown'"
size="12"></uni-icons>
</view>
<!-- r -->
<!-- item.levelCode==A1 与 item.type == 2相关项-->
<!-- c3与type1 -->
<!-- B1与type1 -->
<!-- else -->
<!-- <view @click="open(item, i)" v-if="item.level && !item.hasChildren" style="width: 24rpx;height: 26rpx;display: inline-block;"></view> -->
<!-- <view @click="open(item, i)" :class="item.levelCode == 'B1'&& item.type ==1 ? 'content-box-title-a' : item.levelCode == 'C3' ? 'content-box-title-b':'content-box-title'">
</view> -->
<!-- :class="`padding-left-${item.level * 5 + 10}`" -->
<!-- -->
<view class="content-box-title-a" v-if="item.levelCode == 'B1'&& item.itemType == '1'" @click="open(item, i)" :style="{'margin-left':(item.level * 20)+'rpx'}">
<text style="color: black;">{{item.areaCenterName}}</text>
<view class="d-td" v-if="item.levelCode == 'B1'&& item.itemType == '1'"
@click="open(item, i)" :style="{'margin-left':(item.level * 20)+'rpx'}">
<view class="" style="display: flex;">
<text>{{item.areaCenterName}}</text>
<view class="" style="width: 36rpx;height: 36rpx;margin-left: 5rpx; ">
<image style="width: 36rpx;height: 36rpx;" src="../../static/Group1665.png"
mode=""></image>
</view>
</view>
</view>
<view class="content-box-title-b" @click="open(item, i)" v-else-if="item.levelCode == 'C3'&& item.itemType == '1'" :style="{'margin-left':(item.level * 20)+'rpx'}">
<text style="color: #FFFFFF;">{{item.areaCenterName}}</text>
<view class="d-td" @click="open(item, i)"
v-else-if="item.levelCode == 'C3'&& item.itemType == '1'"
:style="{'margin-left':(item.level * 20)+'rpx'}">
<!-- <text style="color: #FFFFFF;">{{item.areaCenterName}}</text> -->
<view class="" style="display: flex;">
<text>{{item.areaCenterName}}</text>
<view class="" style="width: 36rpx;height: 36rpx;margin-left: 5rpx; ">
<image style="width: 36rpx;height: 36rpx;" src="../../static/Group1665.png"
mode=""></image>
</view>
</view>
</view>
<view class="content-box-title-b" @click="open(item, i)" v-else-if="item.levelCode == 'C2'&& item.itemType == '1'" :style="{'margin-left':(item.level * 20)+'rpx'}">
<text style="color: #FFFFFF;">{{item.areaCenterName}}</text>
<view class="d-td" @click="open(item, i)"
v-else-if="item.levelCode == 'C2'&& item.itemType == '1'"
:style="{'margin-left':(item.level * 20)+'rpx'}">
<!-- <text style="color: #FFFFFF;">{{item.areaCenterName}}</text> -->
<view class="" style="display: flex;">
<text>{{item.areaCenterName}}</text>
<view class="" style="width: 36rpx;height: 36rpx;margin-left: 5rpx;">
<image style="width: 36rpx;height: 36rpx;" src="../../static/Group1665.png"
mode=""></image>
</view>
</view>
</view>
<view @click="open(item, i)" style="flex: 1;" v-else>
<view class="d-td" @click="open(item, i)" v-else :style="{'margin-left':(item.level * 20)+'rpx'}">
<text>{{item.name}}</text>
</view>
<!-- <view class="content-box-title-a" @click="open(item, i)" :style="{'margin-left':(item.level * 20)+'rpx'}">
<!-- <view class="content-box-title-a" @click="open(item, i)" :style="{'margin-left':(item.level * 20)+'rpx'}">
<text style="color: black;">{{item.name}}</text>
</view> -->
<!-- <view @click="open(item, i)" style="flex: 1;text-align: left;" class="content-box-title-a" >
......@@ -57,18 +73,17 @@
<view @click="open(item, i)" style="flex: 1;" v-else>
<text>{{item.name}}</text>
</view> -->
</view>
<!-- <text v-else class=""></text> -->
<!-- </view> -->
</view>
<view class="d-td" >
<view class="d-td" style="text-align: center;">
<text v-if="item.itemType == '2'">{{ item.levelName }}</text>
<text v-else></text>
</view>
<view class="d-td" style="padding-right: 10rpx;">{{ item.count }}</view>
<view class="d-td" style="text-align: center;">{{ item.count }}</view>
</view>
</block>
</view>
......@@ -113,7 +128,7 @@
computed: {},
data() {
return {
pleft:'60rpx',
pleft: '60rpx',
list: [],
openList: [], // 被展开数组
lazyList: [], // 加载数组
......@@ -205,7 +220,7 @@
this.openList = list;
},
async open(item, index) {
if(item.itemType == '2'){
if (item.itemType == '2') {
return false
}
try {
......@@ -339,36 +354,40 @@
display: flex;
font-weight: 600;
align-items: center;
// padding: 0 20rpx;
justify-content: space-between;
}
.content-box-title {
// padding: 5px 0;
flex: 1;
justify-content: space-between;
// justify-content: space-between;
align-items: center;
text-align: center;
text-align: left;
padding: 0 20rpx;
}
.content-box-title-a {
flex: 1;
.d-box {
display: flex;
justify-content: space-between;
// padding: 0 20rpx;
font-size: 26rpx;
max-width: 246rpx;
min-height: 60rpx;
margin-top: 5rpx;
line-height: 50rpx;
background: url('../../static/myteam/Group1662.png') no-repeat;
background-size: 100%;
.d-td {
align-items: center;
padding: 5rpx 10rpx;
}
}
.content-box-title-b {
flex: 1;
.content-box-title-a {
// flex: 1;
// padding: 0 20rpx;
font-size: 26rpx;
max-width: 246rpx;
min-height: 60rpx;
margin-top: 5rpx;
line-height: 50rpx;
background: url('../../static/myteam/Group1660.png') no-repeat;
background-size: 100%;
}
.test {
position: relative;
width: 160rpx;
......@@ -408,24 +427,7 @@
border-bottom-color: transparent;
}
}
.d-box {
display: flex;
justify-content: space-between;
.d-header {
text-align: center;
font-size: 26rpx;
}
.d-td {
flex: 1;
font-size: 26rpx;
min-height: 60rpx;
margin-top: 5rpx;
line-height: 60rpx;
// padding: 10rpx 0;
}
}
.d-tr {
display: flex;
......
......@@ -68,7 +68,7 @@
instantly: true,
// 必传宽高且宽高应与slot宽高保持一致
width: '100%',
height: '100rpx',
height: '320rpx',
// 限制允许选择的格式,空串=不限制,默认为空png,jpg,mp4,pdf,.docx
formats: this.deformats,
// 文件上传大小限制
......
......@@ -104,9 +104,7 @@
}
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:5,
userId:uni.getStorageSync('cffp_userId'),
}
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
......
......@@ -50,7 +50,7 @@
</view>
<view class="contentItem">
<text>所属组织</text>
<input type="text" v-if="applyParam.hasCrossDistrict == 1" class="form-control" v-model="applyParam.areaName" placeholder="请输入工作室名称"
<input type="text" v-if="applyParam.applyType == 1" class="form-control" v-model="applyParam.areaName" placeholder="请输入工作室名称"
:disabled="this.display"/>
<picker v-else @change="changeArea" :value="areaIdIdx" :range="cffpAreaQuerys"
range-key="areaName"
......@@ -159,9 +159,9 @@
partnerLevelName: null,
name: null,
mobile: null,
userId:uni.getStorageSync('cffp_userId'),
shareId: null,
display: false,
hasCrossDistrict:'',
cffp_userInfo: {
name: '',
mobile: ''
......@@ -170,9 +170,7 @@
},
components: {},
onLoad(options) {
console.log( options, 151551)
if (options.shareId) {
this.hasCrossDistrict = options.hasCrossDistrict
this.shareId = options.shareId
uni.setStorageSync('applyId', '')
} else {
......@@ -214,8 +212,7 @@
},
queryOrgList() {
const param = {
userId: uni.getStorageSync('cffp_userId'),
// userId:1,
userId:uni.getStorageSync('H5_cffpUserId') ? uni.getStorageSync('H5_cffpUserId') :this.userId,
partnerLevel: this.applyParam.partnerLevel
}
console.log(param)
......@@ -307,6 +304,7 @@
if (res['success']) {
this.applyParam = res['data']['data'];
this.queryOrgList();
for (let m = 0; m < this.identityArr.length; m++) {
if (this.applyParam.partnerLevel == this.identityArr[m].partnerLevel) {
this.identityIdx = m;
......@@ -398,7 +396,7 @@
...this.applyParam,
applyType: this.applyParam.inviterInvitationCode? '1': '2',
operatStep: 1,
userId: uni.getStorageSync('cffp_userId'),
userId:uni.getStorageSync('H5_cffpUserId') ? uni.getStorageSync('H5_cffpUserId') : this.userId,
hasCrossDistrict: this.applyParam.hasCrossDistrict?this.applyParam.hasCrossDistrict: '0'
}
api.saveApplyInfo(this.applyParam).then((res) => {
......
......@@ -161,9 +161,7 @@
}
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:4,
userId:uni.getStorageSync('cffp_userId'),
}
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
......
......@@ -139,9 +139,7 @@
}
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:3,
userId:uni.getStorageSync('cffp_userId'),
}
api.saveApplyInfo(this.applyParam).then((res)=>{
if(res['success']){
......
......@@ -171,9 +171,7 @@
}
this.applyParam = {
...this.applyParam,
applyType:2,
operatStep:2,
userId:uni.getStorageSync('cffp_userId'),
certificate:this.picList.join(',')
}
console.log(this.applyParam)
......
......@@ -41,13 +41,13 @@
</view>
<view class="uploadpdf">
<view class="uploadimg">
<view class="uploadFileBox" v-if="status != 3">
<uploadFile :deformats="formats" :opacity="0" ref="uploadRef" :height="'320rpx'" :instantly="'true'" :requestVO="JSON.stringify(dataForm)" @sendPath="getPath"></uploadFile>
</view>
<view class="" style="width: 50px;">
<image class="image" src="../../static/myteam/Group1646.png"></image>
</view>
<p>点击添加计划书</p>
<view class="uploadFileBox" v-if="status != 3">
<uploadFile :deformats="formats" :opacity="0" ref="uploadRef" :widt="'100%'" :height="'320rpx'" :instantly="'true'" :requestVO="JSON.stringify(dataForm)" @sendPath="getPath"></uploadFile>
</view>
</view>
<view class="footer-text">
<text>(请上传pdf文件)</text>
......@@ -149,16 +149,16 @@
api.uploadSignUpUserInfo(requestVo).then(res => {
if(res['success']){
//
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
});
setTimeout(()=>{
uni.navigateBack(1)
},1000)
//this.getquerySignUpInfo()
}
uni.showToast({
title: res['message'],
duration: 2000,
icon: 'none'
});
this.loading = false
})
},
......
......@@ -35,16 +35,17 @@
readId:this.readId?this.readId:undefined
}
api[obj.req](params).then(res=>{
console.log(res)
if(res['success']){
const r = res['data'][obj.result];
if(r && r.length>0){
for(let i=0;i<r.length;i++){
this.lists.push({id:r[i][obj.id],children:JSON.parse(JSON.stringify(obj.children))});
this.lists.push({id:r[i][obj.id],readCount:r[i][obj.readCount],children:JSON.parse(JSON.stringify(obj.children))});
for(let m=0;m<this.lists[i]['children'].length;m++){
this.lists[i]['children'][m]['value'] = r[i][this.lists[i]['children'][m]['alias']] ? r[i][this.lists[i]['children'][m]['alias']] : this.lists[i]['children'][m]['value'];
if(this.lists[i]['children'][m].needParam){
this.lists[i]['children'][m]['link'] += r[i][obj.id]
this.lists[i]['children'][m]['readCount'] += r[i][obj.readCount]
this.lists[i]['children'][m]['buyCount'] += r[i][obj.buyCount]
}
}
}
......@@ -76,10 +77,11 @@
req:'userShareLinkList',
result:'userShareLinks',
id:'shareId',
readCount:'readCount',
children:[
{no:1,name:'分享时间',width: '40%',value:'',link:null,alias:'shareDate'},
{no:2,name:'分享链接',width: '35%',value:'',link:null,alias:'shareUrl'},
{no:3,name:'阅读明细',width: '25%',value:'阅读明细',link:`/pages/commonDetail/commonDetail?fileId=${this.fileId}&type=2&shareId=`,needParam:true},
{no:3,name:'阅读明细',width: '25%',value:'阅读明细',link:`/pages/commonDetail/commonDetail?fileId=${this.fileId}&type=2&shareId=`,needParam:true,readCount: ''},
]
}
);
......@@ -96,11 +98,12 @@
req:'userShareReadList',
result:'userShareReads',
id:'readId',
buyCount:'buyCount',
children:[
{no:1,name:'用户',width: '20%',value:'',link:null,alias:'readName'},
{no:2,name:'阅读链接',width: '30%',value:'',link:null,alias:'readUrl'},
{no:3,name:'阅读时间',width: '25%',value:'',link:null,alias:'readDate'},
{no:3,name:'购买明细',width: '25%',value:'购买明细',link:`/pages/commonDetail/commonDetail?fileId=${this.fileId}&type=3&readId=`,needParam:true},
{no:3,name:'购买明细',width: '25%',value:'购买明细',link:`/pages/commonDetail/commonDetail?fileId=${this.fileId}&type=3&readId=`,needParam:true,buyCount:''},
]
}
);
......
......@@ -21,16 +21,23 @@
</view>
<!-- 课程banner图 -->
<!-- v-show="!sliceshare" -->
<view class="courseBannerBox" v-show="!sliceshare">
<video id="myVideo" :src="courseInfo.filePathOss" :initial-time="videoPlaybackInfo.maxViewTime"
object-fit="contain" class="videoBox" :poster="courseInfo.fileFirstImage" :title="courseInfo.fileTitle"
@loadedmetadata="loadedmetadata" @play="playVideo" @pause="pause" @ended="ended"
@timeupdate="timeupdate"></video>
<view class="courseBannerBox" v-if="!sliceshare">
<template v-if="isRenderVideo">
<view>
<video id="myVideo" :src="courseInfo.filePathOss" :initial-time="videoPlaybackInfo.maxViewTime"
object-fit="contain" class="videoBox" :poster="courseInfo.fileFirstImage" :title="courseInfo.fileTitle"
@loadedmetadata="loadedmetadata" @play="playVideo" @pause="pause" @ended="ended"
@timeupdate="timeupdate"></video>
</view>
</template>
</view>
<!-- 课程详情图 -->
<view class="courseTitleContent">
<view class="courseTitle">
<h4>{{courseInfo.fileTitle}}</h4>
<view class="" style="width: 70%;">
<h4>{{courseInfo.fileTitle}}</h4>
</view>
<view class="shareF">
<view class="awakenApp" @click="jumpapp()" v-if="coursesharing == 1">
<view class="" style="width: 50rpx; height: 50rpx;">
......@@ -43,7 +50,7 @@
<view class="dataBox">
<strong v-if="courseInfo.status==1">¥{{courseInfo.coursePrice}}</strong>
<text v-if="courseInfo.status==2" style="color: #F15A1F;margin-right: 20rpx;"><i
class="iconfont icon-yifukuan"></i>已购</text>
class="iconfont icon-yifukuan"></i>已购{{videoPlaybackInfo.maxViewTime}}</text>
<text>{{courseInfo.salesNumber}}人购买</text>
</view>
......@@ -73,6 +80,7 @@
<view class="courseInfoContent">
<h4>{{index + 1}}.{{item.fileTitle}}<text
class="courseType">{{item.fileType=='1' ? '必修' : '选修'}}</text></h4>
<view class="timeContent">
<view class="">
{{secondsTransferPipe(Number(item.maxViewTime))}}/{{secondsTransferPipe(Number(item.courseTotalTime))}}
......@@ -110,6 +118,7 @@
<view class="buyBox" @click="saveOrder()" v-if="courseInfo.status == 1">
<text>{{loginType=='visitor' ? '登录/注册' : '购买'}}</text>
</view>
</view>
</view>
<boot-page v-if="sharelogin" ref="sharelogin" @close="close"></boot-page>
......@@ -135,6 +144,7 @@
},
data() {
return {
isRenderVideo:false,
fileId: null,
lecturerId: null,
tabType: 3,
......@@ -176,8 +186,7 @@
this.userId = val
// uni.setStorageSync('cffp_userId', this.userId);
localStorage.setItem('h5_userId', this.userId)
this.coursesharing = null
this.getuserRead()
this.getuserRead(1)
} else {
this.sharelogin = false
}
......@@ -251,7 +260,6 @@
url: '/components/login/login'
})
} else {
// let h5userId = uni.getStorageSync('h5_userId')
if (this.coursesharing == '1') {
this.h5jump()
} else {
......@@ -261,7 +269,6 @@
},
h5jump() {
let h5userId = localStorage.getItem('h5_userId')
console.log(h5userId, 26251)
if (h5userId) {
this.jumppurchase()
} else {
......@@ -272,7 +279,8 @@
const param = {
productType: '1',
productId: this.courseInfo.fileId,
userId: this.coursesharing == 1 ? localStorage.getItem('h5_userId') : uni.getStorageSync('cffp_userId'),
userId: this.coursesharing == 1 ? localStorage.getItem('h5_userId') : uni.getStorageSync(
'cffp_userId'),
shareUserId: this.shareUserId,
shareReadId: this.shareReadId,
shareCode: this.shareCode,
......@@ -282,8 +290,11 @@
console.log(res, 545415)
if (res['success']) {
this.orderId = res['data']['id'];
if(this.coursesharing == '1'){
this.userId = localStorage.getItem('h5_userId')?localStorage.getItem('h5_userId'): this.userId
}
uni.navigateTo({
url: `/pages/orderConfirm/orderConfirm?fileId=${this.fileId}&orderId=${this.orderId}`
url: `/pages/orderConfirm/orderConfirm?fileId=${this.fileId}&orderId=${this.orderId}&userId=${this.userId}`
})
} else {
uni.showToast({
......@@ -329,13 +340,12 @@
'cffp_userId'),
packFileId: this.courseInfo.packFileId
}).then(res => {
console.log('详情页面--res', res, 1251255)
if (res['success']) {
this.courseInfo = res['data']['data'];
this.lecturerId = res['data']['data']['fileLecturerId'];
this.lecturerQuery();
if (this.courseInfo.status === 2) {
this.findVideoPlayback()
this.findVideoPlayback();
}
}
})
......@@ -344,6 +354,9 @@
relatedCoursesList() {
api.relatedCoursesList({
fileId: this.fileId,
userId: this.coursesharing == '1' ? uni.getStorageSync('h5_userId') : uni.getStorageSync(
'cffp_userId'),
orderId: this.courseInfo.orderId,
packFileId: this.courseInfo.packFileId
}).then(res => {
console.log('相关课程详情', res);
......@@ -397,9 +410,10 @@
systemType: 1,
userId: this.userId,
fileId: this.fileId,
packFileId: this.courseInfo.packFileId
packFileId: this.courseInfo.packFileId,
}
api.findVideoPlayback(param).then(res => {
this.isRenderVideo = true;
if (res['success']) {
this.videoPlaybackInfo = res['data']
}
......@@ -464,7 +478,7 @@
}
},
// 用户阅读
getuserRead() {
getuserRead(type) {
let UserReadRequestVO = {
userId: this.userId ? this.userId : '',
serialsNo: this.serialsNo || 1,
......@@ -474,10 +488,9 @@
api.userRead(UserReadRequestVO).then(res => {
if (res['success']) {
this.shareReadId = res.data.id
if (uni.getStorageSync('h5_userId')) {
if (type == 1) {
this.jumppurchase()
}
}
})
},
......@@ -494,8 +507,8 @@
// },
},
onLoad(option) {
console.log(option, 1541515)
this.fileId = option.fileId;
this.courseInfo.packFileId = option.packFileId
if (option.coursesharing) {
this.userId = ''
this.coursesharing = option.coursesharing
......@@ -504,9 +517,9 @@
this.shareUserId = option.shareUserId
this.getuserRead()
let endTime = Date.parse(new Date()) / 1000;
let startTime = localStorage.getItem('h5_startTime')
let startTime = localStorage.getItem('h5_startTime')
if (endTime - startTime > 3600 * 24) {
this.userId = ''
localStorage.setItem('h5_userId', '')
}
uni.setStorageSync('h5_coursesharing', this.coursesharing);
// this.getshareData()
......@@ -752,6 +765,8 @@
justify-content: space-between;
.courseInfoContent {
width: 75%;
h4 {
color: #666;
}
......
......@@ -12,10 +12,6 @@
<text>{{item.itemName}}</text>
</view>
<view class="ulBox">
<text>课程状态:</text>
<text @click="viewDetail(item)" class="dropStatus">{{item.orderStatus}}<i class="iconfont icon-youjiantou" style="margin-left: 5rpx;font-size: 26rpx;"></i></text>
</view>
<view class="ulBox">
<text>退课积分:</text>
<text>{{Math.abs(item.commissionAmount)}}</text>
</view>
......@@ -24,6 +20,10 @@
<text>{{item.commissionTypeContent}}</text>
</view>
<view class="ulBox">
<text>课程状态:</text>
<text @click="viewDetail(item)" class="dropStatus">{{item.orderStatus}}<i class="iconfont icon-youjiantou" style="margin-left: 5rpx;font-size: 26rpx;"></i></text>
</view>
<view class="ulBox">
<text>退课时间:</text>
<text>{{item.refundTime}}</text>
</view>
......
......@@ -105,7 +105,8 @@
name: '邀请加盟',
icon: 'shareJoin',
link: '/pages/inviteJoin/inviteJoin',
isOpen: true
isOpen: true,
isJoin: true
},
{
key: '05',
......@@ -171,20 +172,18 @@
})
},
featureSelect(featureItem) {
console.log(featureItem)
if (featureItem.isOpen && featureItem.link) {
if (this.cffpUserInfo.partnerType) {
uni.navigateTo({
url: featureItem.link
})
}else {
uni.showToast({
title: "您本人尚未加盟,您加盟后可邀请加盟",
duration: 2000,
icon: 'none'
});
return false
}
console.log(this.cffpUserInfo, 1544)
if (this.cffpUserInfo.partnerType == null && featureItem.name == '邀请加盟') {
uni.showToast({
title: "您本人尚未加盟,您加盟后可邀请加盟",
duration: 2000,
icon: 'none'
});
return false
} else if (featureItem.isOpen && featureItem.link) {
uni.navigateTo({
url: featureItem.link
})
} else {
uni.showToast({
title: '此功能暂未开放,敬请期待。',
......@@ -329,7 +328,7 @@
margin: 10px 2%;
image {
max-width: 80%;
max-width: 80%;
}
}
}
......
......@@ -26,11 +26,9 @@
levelaName:'',
mobileNumber:'',
name:'',
hasCrossDistrict:''
}
},
onLoad(options) {
this.hasCrossDistrict = options.hasCrossDistrict
this.shareId = options.shareId
this.invitationCode = options.invitationCode
this.getqueryById()
......@@ -55,7 +53,7 @@
// };'
uni.navigateTo({
// url:'/pages/invitationRegister/invitationlogin?name=' + this.name+'&mobile=' +this.mobileNumber + '&id=' + this.shareId
url:`/pages/invitationRegister/invitationlogin?name=${this.name}&mobile=${this.mobileNumber}&shareId=${this.shareId}&hasCrossDistrict=${this.hasCrossDistrict}`
url:`/pages/invitationRegister/invitationlogin?name=${this.name}&mobile=${this.mobileNumber}&shareId=${this.shareId}`
})
}
......
......@@ -47,7 +47,6 @@
remainTimes:60,
sendCodeHtml:'获取验证码',
userId: '',
hasCrossDistrict:'',
form:{
name: '',
mobile: '',
......@@ -56,7 +55,6 @@
}
},
onLoad(options) {
this.hasCrossDistrict = options.hasCrossDistrict
this.form.name = options.name?options.name:''
this.form.mobile = options.mobile? options.mobile: ''
this.form.id = options.shareId?options.shareId:''
......@@ -124,8 +122,9 @@
console.log(res, 5454)
this.userId = String(res['data']['userId']);
uni.setStorageSync('isLogin','1')
uni.setStorageSync('H5_cffpUserId', this.userId)
uni.navigateTo({
url:'/pages/application-process/basic-info?userId=' + this.userId + '&shareId=' + this.form.id + '&hasCrossDistrict=' + this.hasCrossDistrict
url:'/pages/application-process/basic-info?userId=' + this.userId + '&shareId=' + this.form.id
})
}else{
uni.showToast({
......
......@@ -279,7 +279,7 @@
scene: type === 1 ? "WXSceneSession" : "WXSceneTimeline",
type: 0,
href: "https://mdev.zuihuibi.cn/cffp/pages/invitationRegister/invitationRegister?shareId=" +
this.shareId + '&invitationCode=' + this.invitationCode+'&hasCrossDistrict=' + this.dataForm.hasCrossDistrict,
this.shareId + '&invitationCode=' + this.invitationCode,
title: "CFFP家庭财务策划师联盟邀您加入",
summary: `我是家庭财务策划师${this.realName}正在使用CFFP财富中心,点击下载即刻加入!`,
imageUrl: "https://mdev.zuihuibi.cn/cffp/static/cffp_logo.jpg",
......
......@@ -34,7 +34,7 @@
<view class="progressDetailBox">
<view class="progressTitleBox">
<h4><i class="iconfont icon-shalou"></i>进度明细</h4>
<i class="iconfont icon-youjiantou" @click="state.package=!state.package" :style="{transform: state.package ? 'rotate(90deg)' : 'rotate(-90deg)' }"></i>
<i class="iconfont icon-youjiantou" @click="state.package=!state.package" :style="{transform: state.package ? 'rotate(-90deg)' : 'rotate(90deg)' }"></i>
</view>
<template v-if="state.package">
<view class="progressItemBox" v-for="(item,index) in userStudyCountList.barInfos" :key="index">
......@@ -55,7 +55,7 @@
</view>
<view class="progressBottomBox">
<text>{{item.fileTitle}}</text>
<i class="iconfont icon-youjiantou" v-if="item.packFileId" @click="userCoursePackBar(item.packFileId,item.orderId,item.state)" :style="{transform: item['state'] ? 'rotate(90deg)' : 'rotate(-90deg)' }"></i>
<i class="iconfont icon-youjiantou" v-if="item.packFileId" @click="userCoursePackBar(item.packFileId,item.orderId,item.state)" :style="{transform: item['state'] ? 'rotate(-90deg)' : 'rotate(90deg)' }"></i>
</view>
</view>
<!-- 小课 -->
......@@ -358,7 +358,7 @@
.progressLine{
position: relative;
width: 90%;
height: 60rpx;
height: 50rpx;
border-radius: 36rpx;
border: 4rpx solid #0867F5;
margin: 0 20rpx;
......
......@@ -75,7 +75,7 @@
},
viewDetail(item){
uni.navigateTo({
url:`/pages/courseDetail/courseDetail?fileId=${item.fileId}`
url:`/pages/courseDetail/courseDetail?fileId=${item.fileId}&packFileId=${item.packFileId}`
})
}
},
......
......@@ -148,7 +148,7 @@
// 查看订单详情
viewDetail(id){
uni.navigateTo({
url:`/pages/orderDetail/orderDetail?id=${id}&commissionType=${this.commissionType}`
url:`/pages/orderDetail/orderDetail?id=${id}&commissionType=${this.commissionType}&type=drop`
})
}
}
......
......@@ -43,7 +43,7 @@
viewDetail(){
// 查看详情
uni.navigateTo({
url:`/pages/orderDetail/orderDetail?id=${this.orderId}`
url:`/pages/orderDetail/orderDetail?id=${this.orderId}&type=drop`
})
},
goToCourselist(){
......
......@@ -4,7 +4,7 @@
<text>{{usermobile}}</text>
</view>
<view class="input-row">
<input maxlength="11" type="text" v-model="form.password" placeholder="请输入新密码" />
<input maxlength="11" type="password" v-model="form.password" placeholder="请输入新密码" />
</view>
<view class="input-row">
<view style="width: 65%;"><input maxlength="11" type="text" v-model="form.code" placeholder="请输入验证码" /></view>
......@@ -25,7 +25,7 @@
data() {
return {
form:{
mobile: "18335619247",
mobile: uni.getStorageSync('user_mobile'),
code:'',
password:'',
},
......@@ -64,7 +64,10 @@
const params = {
...this.form
}
console.log(params)
if(!common.passwordValid(this.form.password)){
common.errorDialog(2,'请输入6-12位数字字母组合');
return false;
}
api.resetPassword(params).then((res)=>{
if(res['success']){
uni.showToast({
......
......@@ -4,12 +4,7 @@
<menu-list :menuList="minorMenuLists"></menu-list>
</view>
<view class="footer">
<view class="foter-btn">
<button class="btn" @click="outLing()">退出登录</button>
</view>
</view>
</view>
</template>
......@@ -55,42 +50,11 @@
}
},
methods:{
outLing(){
uni.showModal({
title: '退出登录',
content: '确定要退出登录吗?',
showCancel: true,
success: function(res) {
if (res.confirm) {
uni.clearStorageSync();
uni.reLaunch({
url:'/components/login/login'
})
uni.showToast({
title: '操作成功',
icon: 'none'
});
} else {
console.log('已取消')
}
}
});
},
}
}
</script>
<style scoped>
.footer{
width: 100vw;
position: fixed;
bottom: 40rpx;
}
.foter-btn{
padding: 0 20rpx;
}
.btn{
background: #20269B;
border-radius: 40rpx;
}
</style>
<template>
<view>
<menu-list v-if="menuList != 'undefined '" :menuList="minorMenuLists"></menu-list>
<view style="display: flex;flex-direction: column;">
<view>
<menu-list v-if="menuList != 'undefined '" :menuList="minorMenuLists"></menu-list>
</view>
<view class="footer">
<view class="foter-btn">
<button class="btn" @click="outLing()">退出登录</button>
</view>
</view>
</view>
</template>
<script>
......@@ -37,9 +46,45 @@ import MenuList from "@/components/menuList/menuList.vue"
},
]
}
}
},
methods:{
outLing(){
uni.showModal({
title: '退出登录',
content: '确定要退出登录吗?',
showCancel: true,
success: function(res) {
if (res.confirm) {
uni.clearStorageSync();
uni.reLaunch({
url:'/components/login/login'
})
uni.showToast({
title: '操作成功',
icon: 'none'
});
} else {
console.log('已取消')
}
}
});
},
},
}
</script>
<style>
<style scoped>
.footer{
width: 100vw;
position: fixed;
bottom: 40rpx;
}
.foter-btn{
padding: 0 20rpx;
}
.btn{
background: #20269B;
border-radius: 40rpx;
}
</style>
......@@ -10,6 +10,17 @@
合计:{{item.rank}}
</view>
<view class="">
<view class="d-box">
<view class="d-td">
<text>辖下组织/成员</text>
</view>
<view class="d-td">
<text>职级</text>
</view>
<view class="d-td">
<text>成员数量</text>
</view>
</view>
<lazy-tree :datatitleList="datatitleList" :dataList="dataList" type="2"></lazy-tree>
<!-- <myteam-table :datatitleList="datatitleList" :dataList="raiseList" type="2"></myteam-table> -->
<!-- <view class="table-content">
......@@ -102,6 +113,23 @@
display: flex;
justify-content: center;
}
.d-box {
display: flex;
justify-content: space-between;
// padding: 0 20rpx;
font-size: 32rpx;
font-weight: 600;
.d-header {
text-align: center;
font-size: 26rpx;
}
.d-td {
align-items: center;
padding: 5rpx 10rpx;
}
}
.concent-title{
width: 223px;
height: 40px;
......
<template>
<view class="content">
<view class="content-header">
<view class="content-header" v-if="levelName">
<view class="concent-title">
<text class="concent-text">{{levelName}}</text>
</view>
......@@ -10,6 +10,20 @@
</view>
<view class="">
<view class="d-box">
<!-- <view class="d-td" v-for="item in datatitleList">
<span class="">{{item}}</span>
</view> -->
<view class="d-td">
<text>辖下组织/成员</text>
</view>
<view class="d-td">
<text>职级</text>
</view>
<view class="d-td">
<text>成员数量</text>
</view>
</view>
<lazy-tree v-if="dataList" :datatitleList="datatitleList" :dataList="dataList" type="2"></lazy-tree>
<!-- <myteam-table :datatitleList="datatitleList" :dataList="dataList" type="1"></myteam-table> -->
</view>
......@@ -69,6 +83,23 @@
background: url('../../../static/Group 1623.png');
background-size: auto 100%;
}
.d-box {
display: flex;
justify-content: space-between;
// padding: 0 20rpx;
font-size: 32rpx;
font-weight: 600;
.d-header {
text-align: center;
font-size: 26rpx;
}
.d-td {
align-items: center;
padding: 5rpx 10rpx;
}
}
.concent-text{
font-size: 18px;
font-weight: 500;
......
......@@ -56,7 +56,7 @@
text: '搜索',
icon: 'iconfont icon-sousuo',
name: 'searh',
link:'/pages/index/index'
link:'/pages/courselist/courselist'
},
{
text: '我的',
......
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