提交 83d71703 编写于 作者: chendeli's avatar chendeli

add

上级 96e90144
......@@ -11,8 +11,8 @@
</div>
</div>
<div class="couse-list">
<div>
<div class="couse-list" v-infinite-scroll="loadMore" infinite-scroll-disabled="loading" infinite-scroll-distance="50">
<div :class="index%2==1 ? 'course-item end-left' : 'course-item'" :key="index" v-for="(item,index) in list">
<div class="course-pic">
<img :src="item.appIndexCourseUrl" class="pic-tec" />
......@@ -23,29 +23,36 @@
</p>
<div class="course-opt">
<span class="opt-info">{{item.showTime == '' ? '' : item.showTime + ' |'}} {{item.joinNum}}人已学</span>
<span class="opt collect">
收藏
</span>
<span class="opt collected">
已收藏
<span :class="item.whetherFavors==2?'opt collect':'opt collected'"@click="collectFun(item.whetherFavors,item.id)">
{{item.whetherFavors==2?'收藏':'已收藏'}}
</span>
</div>
</div>
</div>
<div class="loading-box" >
<span class="loading-more-txt" v-if="loading">加载中...</span>
<span class="no-more" v-if="noMore">没有更多了~</span>
</div>
</div>
</div>
</template>
<script>
import { Loadmore,Spinner,InfiniteScroll } from 'mint-ui';
export default {
data () {
return {
list:[{name:'ahda',disName:'fajhkfhak',joinNum:'111',modifyTime:1534312600000,showTime:''}],
list:[],
pageNo:1,
pageSize:10,
title:'为您推荐',
isCollected:'',
allLoaded:true,
loading:false,
noMore:false,
mockUrl:'http://sosoapi.yunqueyi.com/sosoapi-web/pass/mock/39'
}
},
......@@ -58,19 +65,78 @@ export default {
},
mounted(){
this.getData();
},
methods: {
//滑动加载更多
loadMore(){
let _this = this,
parm = {
pageNo:_this.pageNo,
pageSize:_this.pageSize,
token:'EA67293E35C249C1832583F7AD2669EC',
setEntry: 'headers'
}
this.loading = true;
_this.GET('contents/courses/recommendCourseList',parm).then(function(res){
if(res.code === '000000'){
if(res.data.length == 0){
_this.loading = false;
_this.noMore = true;
}
setTimeout(()=>{
_this.list = [..._this.list ,...res.data] || [];
_this.pageNo++;
_this.loading = false;
},2500)
}
})
},
//收藏 取消收藏
collectFun(status,id){
let _this = this,
parm = {
token:this.token,
type:status,
courseId:id,
setEntry: 'headers'
}
_this.POST('favors',parm).then(function(res){
if(res.code === '000000'){
status = status == 1 ? 2 : 1;
_this.handelData(id,status);
}
})
},
handelData(id,status){
let d = this.list;
for(let i=0;i<d.length;i++){
if(id == d[i].id){
d[i].whetherFavors = status;
}
}
},
getData(){
let _this = this,
parm = {
pageNo:_this.pageNo,
pageSize:_this.pageSize,
token:'F08EDE2622B34953B970E3FD686F5064',
token:'EA67293E35C249C1832583F7AD2669EC',
setEntry: 'headers'
}
_this.API_GET(_this.mockUrl+'contents/courses/recommendCourseList',parm).then(function(res){
_this.GET('contents/courses/recommendCourseList',parm).then(function(res){
if(res.code === '000000'){
_this.list = res.data || [];
}
......@@ -93,18 +159,28 @@ export default {
.couse-list{
overflow: hidden;
}
.cource-teach{
padding:0 px2rem(15px);
}
.cource-header{
margin: 0 0 px2rem(21px) 0;
margin: 0 0 px2rem(11px) 0;
overflow: hidden;
height: px2rem(40px);
.font-title{
line-height: px2rem(40px);
}
}
.loading-box{
font-size: px2rem(16px);
padding:px2rem(10px) 0;
text-align: center;
span{
color:#999;
}
}
.change-part{
margin-top:px2rem(10px);
float: right;
......@@ -144,10 +220,13 @@ export default {
.course-pic{
width:px2rem(170px);
height:px2rem(95px);
border-radius: px2rem(3px);
position: relative;
.pic-tec{
width: 100%;
height: 100%;
display: block;
border-radius: px2rem(3px);
}
.course-tag{
position: absolute;
......@@ -166,6 +245,7 @@ export default {
margin-top: px2rem(5px);
font-size: px2rem(14px);
line-height: px2rem(19px);
height: px2rem(38px);
color: #333;
overflow: hidden;
text-overflow: ellipsis;
......@@ -174,7 +254,8 @@ export default {
}
.course-opt{
font-size: px2rem(12px);
margin-top: px2rem(6px);
position: relative;
/*margin-top: px2rem(6px);*/
.opt-info{
color:#999;
}
......@@ -183,7 +264,9 @@ export default {
height: px2rem(18px);
line-height: px2rem(18px);
padding:0 px2rem(4px);
position: absolute;
right: 0;
top:0;
}
.collect{
background: #F7F8F9;
......
......@@ -7,7 +7,7 @@
<div class="tea-listbox">
<div class="tea-item" :key="index" v-for="(item,index) in hotTeachers">
<div class="head-pic">
<img class="tea-itemimg" src="../../images/552064153@2x.png"/>
<img class="tea-itemimg" :src="item.avatarImageUrl"/>
</div>
<span class="tea-itemname">{{item.name}}</span>
</div>
......@@ -19,56 +19,38 @@
<script>
export default {
props: {
title:{
type:String,
default:'云鹊名师'
},
hotTeachers: {
type: Array,
default:()=>{
return [
{
img: '../../images/552064153@2x.png',
name: '蒋立新'
},
{
img: '../../images/head-test.png',
name: '蒋立新'
},
{
img: '../../images/head-test.png',
name: '蒋立新'
},
{
img: '../../images/head-test.png',
name: '蒋立新'
},
{
img: '../../images/head-test.png',
name: '蒋立新'
},
{
img: '../../images/head-test.png',
name: '蒋立新'
},
data(){
return {
title:'云鹊名师',
hotTeachers:[
{
img: '../../images/head-test.png',
name: '蒋立新'
}
]
"id": 381,
"name": "宣淼01",
"avatarImageUrl": "https://test-file.yunqueyi.com/image/jpeg/2018/07/26/20180726162641165-6c6f6a38.jpg",
"appImageUrl": "https://test-file.yunqueyi.com/image/jpeg/2018/06/23/20180623152219485-d71ef663.jpg"
}
],
pageNo:1,
pageSize:10
}
},
data () {
return {
}
},
mounted(){
this.getData();
},
methods: {
getData(){
let para = {
pageNo:this.pageNo,
pageSize:this.pageSize,
}
this.GET('contents/HomeLecturer/LecturerInformation', para).then(res => {
if(res.code == '000000'){
}
})
}
}
}
</script>
......
......@@ -75,24 +75,27 @@ html,body{
.banner-item{
width: px2rem(50px);
display: inline-block;
position: relative;
margin-right: px2rem(18px);
text-align: center;
}
.item-end{
margin-right: 0
}
.banner-img{
min-width: px2rem(22px);
max-height: px2rem(20px);
width: px2rem(22px);
height: px2rem(22px);
margin: 0 auto;
display: block;
display:block;
}
.banner-text{
display: inline-block;
margin-top:px2rem(5px);
display: block;
position: relative;
font-size: px2rem(12px);
text-align: center;
width: 100%;
}
.banner-text i{
width: px2rem(4px);
......
......@@ -2,10 +2,10 @@
<div class="keep-learn">
<div v-show="isShow" class="border-bottom space-between keep-learnbox">
<div class="learning-txt">
<div class="gray keepon-title">{{resourceData.message}}</div>
<div class="gray keepon-title">{{parmObj.name}}</div>
<div>
<span class="gray fs24 keepon-right">已学习:{{resourceData.week}}</span>
<span class="gray fs24 keepon-right">剩余:{{resourceData.Remaining}}%</span>
<span class="gray fs24 keepon-right">已学习{{parmObj.day}}</span>
<span class="gray fs24 keepon-right">剩余{{parmObj.remanentCourseNum}}%</span>
<span class="gray fs24 continue-study" @click="continueStudy">继续学习></span>
</div>
......@@ -21,44 +21,40 @@
<script>
export default {
name: 'YqyHomeKeepon',
components: {
},
props: {
resourceData: {
type: Object,
default:()=>{
return {
message: '动态血压监测与高血压精准治疗该如何进行',
week: 2,
Remaining: 2
}
}
}
},
watch: {
},
data () {
data(){
return {
isShow: true
isShow: true,
parmObj:{}
}
},
mounted(){
this.getData();
},
methods: {
continueStudy(){
console.log('continueStudy');
this.$emit('continueStudy')
},
cancel(){
console.log('cancel');
this.isShow = false;
this.$emit('cancel')
},
getData(){
let _this = this,
parm = {
token:'EA67293E35C249C1832583F7AD2669EC',
setEntry: 'headers'
}
_this.GET('contents/courses/continueLearningCourse',parm).then(function(res){
if(res.code === '000000'){
_this.parmObj = res.data && res.data.continueLearningCourseModel || {};
}
})
}
}
}
</script>
<!-- Add "scoped" attribute to limit CSS to this component only -->
<style lang="scss" scoped>
@import '../../style/mixin.scss';
@import '../../style/global.scss';
......
<template>
<transition name="evluatbox">
<div class="top-evaluat" v-show="isShow">
<transition :name="isShow ? 'evluatbox':''">
<div class="top-evaluat" v-if="isShow">
<div class="evaluat-info">
<span class="evaluat-icon">
<img src='../../images/552064153@2x.png'/>
</span>
<span class="evaluat-persent">您的学习速度战胜了本院内36%的医生</span>
<span class="evaluat-persent">您的学习速度战胜了本院内{{setStyle(parmObj.gradePKToHospital)}}%的医生</span>
</div>
<div class="evaluat-part">
<span class="part-throw"><img src='../../images/grey-throw.png'/></span>
<div class="part-item part-finish">
<div class="item-num">
<span class="fs16">101</span><span class="fs15">/</span><span class="fs14">300</span>
<span class="fs16">{{parmObj.courseOverNumOfSelf}}</span><span class="fs15">/</span><span class="fs14">{{parmObj.courseOverNumOfHospital}}</span>
</div>
<div class="item-persent">
<span></span>
<span :style="'width:'+setStyle(parmObj.courseOverNumOfSelf/parmObj.courseOverNumOfHospital)+'%'"></span>
</div>
<div class="item-txt">已完成课程</div>
</div>
<div class="part-item part-pass">
<div class="item-num">
<span class="fs16">101</span><span class="fs15">/</span><span class="fs14">300</span>
<span class="fs16">{{parmObj.examOverNumOfSelf}}</span><span class="fs15">/</span><span class="fs14">{{parmObj.examOverNumOfHospital}}</span>
</div>
<div class="item-persent">
<span></span>
<span :style="'width:'+setStyle(parmObj.examOverNumOfSelf/parmObj.examOverNumOfHospital)+'%'"></span>
</div>
<div class="item-txt">已通过考试</div>
</div>
<div class="part-item part-get">
<div class="item-num">
<span class="fs16">101</span><span class="fs15">/</span><span class="fs14">300</span>
<span class="fs16">{{parmObj.certificateAcquireNumOfSelf}}</span><span class="fs15">/</span><span class="fs14">{{parmObj.certificateAcquireNumOfHospital}}</span>
</div>
<div class="item-persent">
<span></span>
<span :style="'width:'+setStyle(parmObj.certificateAcquireNumOfSelf/parmObj.certificateAcquireNumOfHospital)+'%'"></span>
</div>
<div class="item-txt">已获得证书</div>
</div>
......@@ -58,31 +58,52 @@ export default {
},
data () {
return {
isShow:true,
mockUrl:'http://sosoapi.yunqueyi.com/sosoapi-web/pass/mock/39/'
isShow:false,
parmObj:{}
//mockUrl:'http://sosoapi.yunqueyi.com/sosoapi-web/pass/mock/39/'
}
},
mounted(){
this.isShow = this.isShowEvluat;
this.getData();
},
methods: {
setStyle:function(num){
var str = '';
if(num == NaN){
return 0
}
num = num*100 + '';
if(num.indexOf(".")>-1){
num = num + '';
str = num.substring(0,num.indexOf(".") + 3);
}else{
str = num;
}
return str;
},
getData:function(){
let para = {
let _this = this, para = {
sysCode: 27,
token: this.token,
token: 'ACEEFAE765AA4D9EB68BE80735845BF9',
setEntry: 'headers'
}
this.GET('analysis/activityDetail', para).then(res => {
this.GET('contents/gp/v1/homepage', para).then(res => {
if(res.code == '000000'){
_this.parmObj = res.data || {};
_this.isShow = _this.parmObj.showFlag;
let isPullIndex = _this.isShow ? '1' : '2';
_this.$emit('evluatFun',{isPull:isPullIndex});
}
})
},
toggleFun:function(){
this.$emit('evluatFun',{isPull:false});
this.$emit('evluatFun',{isPull:'0'});
this.isShow = !this.isShow;
}
}
......@@ -263,8 +284,8 @@ export default {
span{
position: absolute;
top:-(px2rem(1px));
left: -(px2rem(1px));
width:px2rem(30px);
left: 0;
width:0;
display: inline-block;
background: -webkit-linear-gradient(left, #8FC1E6, #5890DD);
background: -o-linear-gradient(right, #8FC1E6, #5890DD);
......@@ -290,10 +311,10 @@ export default {
border-color: #CAA861;
span{
background: -webkit-linear-gradient(left, #CCAB65, #F6DDA9);
background: -o-linear-gradient(right, #CCAB65, #F6DDA9);
background: -moz-linear-gradient(right,#CCAB65, #F6DDA9);
background: linear-gradient(to right, #CCAB65, #F6DDA9);
background: -webkit-linear-gradient(left, #F6DDA9,#CCAB65);
background: -o-linear-gradient(right, #F6DDA9,#CCAB65);
background: -moz-linear-gradient(right,#F6DDA9,#CCAB65);
background: linear-gradient(to right, #F6DDA9,#CCAB65);
box-shadow: 0 px2rem(2px) px2rem(3px) RGBA(207, 174, 106, 0.3);
}
......
......@@ -158,8 +158,8 @@ export function getHostnameAndPort() {
}
// test1地址
const baseUrl = 'http://test1-sc.yunqueyi.com/'
const apiUrl = 'http://test1-api.yunqueyi.com/'
const baseUrl = 'http://10.177.10.238:10201/'||'http://test1-sc.yunqueyi.com/'
const apiUrl = 'http://10.177.10.238:10201' || 'http://test1-api.yunqueyi.com/'
// // uat地址
// const baseUrl = 'http://uat-sc.yunqueyi.com/'
......@@ -172,11 +172,13 @@ const apiUrl = 'http://test1-api.yunqueyi.com/'
// 为每个URL添加应用校验密钥
export function getBaseUrl(url) {
//return baseUrl + url
return url
return baseUrl + url
}
export function getApiUrl(url) {
//return apiUrl + url
return url
return apiUrl + url
}
<template>
<section :class="isBodyPull?'font-style pull-down':'font-style pull-up'">
<section :class="isIntStyle">
<!--展开收起学习评价-->
<YqyTopEvaluat :isShowEvluat="isShowEvluat" v-if="isShowEvluat" v-on:evluatFun="getEluatFun"/>
......@@ -91,7 +91,8 @@ export default {
isFixed:false,
isShowBackTop:false,
isShowEvluat:true,//是否显示下拉
isBodyPull:true,
isBodyPull:false,
isIntStyle:'',
}
},
components:{
......@@ -149,34 +150,41 @@ export default {
},
getEluatFun(obj){
this.isBodyPull = false;
console.log(obj);
if(obj.isPull == '1'){
this.isIntStyle = 'font-style pull-down'
}else if(obj.isPull == '2'){
this.isIntStyle = ''
}else if(obj.isPull == '0'){
this.isIntStyle = 'font-style pull-up'
}
},
init() {
this.API_GET('contents/homeButton/msg', {}).then( res => {
logger.debug(res)
this.$log.debug(res)
})
console.log(this);
let para = {
sysCode: 27,
token: this.token,
setEntry: 'headers'
}
this.GET('analysis/activityDetail', para).then( res => {
logger.debug(res)
})
para = {
sysCode: 27,
rankingType: 27,
flag: 1,
token: this.token,
setEntry: 'headers'
}
this.GET('exams/rankings', para).then( res => {
logger.debug(res)
})
// this.API_GET('contents/homeButton/msg', {}).then( res => {
// logger.debug(res)
// this.$log.debug(res)
// })
// //console.log(this);
// let para = {
// sysCode: 27,
// token: this.token,
// setEntry: 'headers'
// }
// this.GET('analysis/activityDetail', para).then( res => {
// logger.debug(res)
// })
// para = {
// sysCode: 27,
// rankingType: 27,
// flag: 1,
// token: this.token,
// setEntry: 'headers'
// }
// this.GET('exams/rankings', para).then( res => {
// logger.debug(res)
// })
},
pushView : function(page){
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册