提交 c6cd21ab 编写于 作者: guangjun.yang's avatar guangjun.yang

代码实现

上级 d82402cf
...@@ -8,21 +8,22 @@ export const envConfig = { ...@@ -8,21 +8,22 @@ export const envConfig = {
// baseUrl: 'http://10.177.15.180:10202/', // baseUrl: 'http://10.177.15.180:10202/',
// baseUrl: 'http://192.168.140.14:10201/', // baseUrl: 'http://192.168.140.14:10201/',
apiUrl: 'https://test1-api.yunqueyi.com/', baseUrl: 'https://dev-sc.yunqueyi.com/',
baseUrl: 'https://test1-sc.yunqueyi.com/', apiUrl: 'https://dev-api.yunqueyi.com/',
webPageUrl: 'https://test1-phome.yunqueyi.com/', webPageUrl: 'https://dev-phome.yunqueyi.com/',
hactiveUrl: 'https://test1-hactive.yunqueyi.com', hactiveUrl: 'https://dev-hactive.yunqueyi.com',
fileUrl: 'https://test1-www.yunqueyi.com', fileUrl: 'https://dev-www.yunqueyi.com',
appId: 'wx08b383d002c73f26', // 用于微信授权登录 appId: 'wx2c577552a2d28550', // 用于微信授权登录
wxType: 15, // 分享、用户信息对应的appid wxType: 15, // 分享、用户信息对应的appid
tradeType: 4, tradeType: 4,
// appId: 'wxf4e66242d31c81c2', // 用于微信授权登录 // appId: 'wxf4e66242d31c81c2', // 用于微信授权登录
// baseUrl: 'https://test1-sc.yunqueyi.com/', // baseUrl: 'https://test1-sc.yunqueyi.com/',
// apiUrl: 'https://test1-api.yunqueyi.com/', // apiUrl: 'https://test1-api.yunqueyi.com/',
// webPageUrl: 'https://test1-phome.yunqueyi.com/', // webPageUrl: 'https://test1-phome.yunqueyi.com/',
// hactiveUrl: 'https://dev-hactive.yunqueyi.com', // hactiveUrl: 'https://test1-hactive.yunqueyi.com',
// fileUrl: 'https://test1-www.yunqueyi.com', // fileUrl: 'https://test1-www.yunqueyi.com',
// appId: 'wxcaad75b7fff5659c', // 用于微信授权登录 // appId: 'wxcaad75b7fff5659c', // 用于微信授权登录
...@@ -30,7 +31,7 @@ export const envConfig = { ...@@ -30,7 +31,7 @@ export const envConfig = {
// apiUrl: 'https://uat-api.yunqueyi.com/', // apiUrl: 'https://uat-api.yunqueyi.com/',
// webPageUrl: 'https://uat-phome.yunqueyi.com/', // webPageUrl: 'https://uat-phome.yunqueyi.com/',
// hactiveUrl: 'https://uat-hactive.yunqueyi.com', // hactiveUrl: 'https://uat-hactive.yunqueyi.com',
// fileUrl: 'https://dev-www.yunqueyi.com', // fileUrl: 'https://test1-www.yunqueyi.com',
// appId: 'wxf4e66242d31c81c2', // 用于微信授权登录 // appId: 'wxf4e66242d31c81c2', // 用于微信授权登录
// apiUrl: 'https://uat-api.yunqueyi.com/', // apiUrl: 'https://uat-api.yunqueyi.com/',
......
...@@ -45,7 +45,6 @@ ...@@ -45,7 +45,6 @@
v-show="subject.openFlag == 0" v-show="subject.openFlag == 0"
class="time" class="time"
>{{formatTime2(subject.predictTime)}}上线</span> >{{formatTime2(subject.predictTime)}}上线</span>
<!-- {{formatTime(subject.predictTime, '{y}年{m}月')}}上线 -->
</li> </li>
</ul> </ul>
</li> </li>
......
...@@ -26,17 +26,17 @@ ...@@ -26,17 +26,17 @@
</td> </td>
</tr> </tr>
</table> </table>
<article class="page-content-list"> <article class="page-content-list" style="margin-top: 65px;">
<CommonImgTitle></CommonImgTitle> <CommonImgTitle></CommonImgTitle>
<div class="subject"> <div class="subject" v-for="(item, index) in gjFirstSubjectModelList" :key="index">
<p>肾内科学(304955)</p> <p>{{item.name}} <span v-show="item.titleCode">{{item.titleCode}}</span></p>
<ul class="item-wrapper"> <ul class="item-wrapper">
<!-- <li v-if="true" class="item"> <li @click="coopDetails(item.secondSubjectModelList[0], 1)" v-if="item.secondSubjectModelList[0].projectId && item.secondSubjectModelList[0].openFlag" class="item">
<img src="../images/course/icon-kc-1.png" alt=""> <img src="../images/course/icon-kc-1.png" alt="">
<span>课程</span> <span>课程</span>
</li> --> <img v-if="item.secondSubjectModelList[0].bindCardStatus" class="buy" src="../images/course/icon-buy.png" alt="">
</li>
<li v-if="true" class="item-pre"> <li v-else class="item-pre">
<div class="pre"> <div class="pre">
<img src="../images/course/icon-kc-2.png" alt=""> <img src="../images/course/icon-kc-2.png" alt="">
<span class="pre">课程</span> <span class="pre">课程</span>
...@@ -44,63 +44,43 @@ ...@@ -44,63 +44,43 @@
<p>2020年10月上线</p> <p>2020年10月上线</p>
</li> </li>
<li v-if="true" class="item tk"> <li @click="coopDetails(item.secondSubjectModelList[0], 2)" v-if="item.secondSubjectModelList[0].directoryList.length" class="item tk">
<img src="../images/course/icon-tk-1.png" alt=""> <img src="../images/course/icon-tk-1.png" alt="">
<span>题库</span> <span>题库</span>
<img v-if="item.secondSubjectModelList[0].bindDirectoryCardStatus" class="buy" src="../images/course/icon-buy.png" alt="">
</li> </li>
</ul> </ul>
</div> </div>
<div class="subject"> </article>
<p>肾内科学(304955)</p> <article ref="zjListRef" class="page-content-list">
<CommonImgTitle imgType=2 title="中级职称"></CommonImgTitle>
<div class="subject" v-for="(item, index) in zjFirstSubjectModelList" :key="index">
<p>{{item.name}} <span v-show="item.titleCode">{{item.titleCode}}</span></p>
<ul class="item-wrapper"> <ul class="item-wrapper">
<li v-if="true" class="item"> <li @click="coopDetails(item.secondSubjectModelList[0], 1)" v-if="item.secondSubjectModelList[0].projectId && item.secondSubjectModelList[0].openFlag" class="item">
<img src="../images/course/icon-kc-1.png" alt=""> <img src="../images/course/icon-kc-1.png" alt="">
<span>课程</span> <span>课程</span>
<img class="buy" src="../images/course/icon-buy.png" alt=""> <img v-if="item.secondSubjectModelList[0].bindCardStatus" class="buy" src="../images/course/icon-buy.png" alt="">
</li>
<li v-if="true" class="item">
<img src="../images/course/icon-tk-1.png" alt="">
<span>题库</span>
<img class="buy" src="../images/course/icon-buy.png" alt="">
</li> </li>
</ul> <li v-else class="item-pre">
</div> <div class="pre">
</article> <img src="../images/course/icon-kc-2.png" alt="">
<article class="page-content-list"> <span class="pre">课程</span>
<CommonImgTitle imgType=2></CommonImgTitle>
<div class="subject">
<p>肾内科学(304955)</p>
<ul class="item-wrapper">
<li v-if="true" class="item">
<div class="top">
<img src="../images/course/icon-kc-1.png" alt="">
<span>课程</span>
</div> </div>
<p>2020年10月上线</p> <p>2020年10月上线</p>
</li> </li>
<li v-if="true" class="item">
<img src="../images/course/icon-tk-1.png" alt=""> <li @click="coopDetails(item.secondSubjectModelList[0], 2)" v-if="item.secondSubjectModelList[0].directoryList.length" class="item tk">
<span>题库</span>
</li>
</ul>
</div>
<div class="subject">
<p>肾内科学(304955)</p>
<ul class="item-wrapper">
<li v-if="true" class="item">
<img src="../images/course/icon-kc-1.png" alt="">
<span>课程</span>
</li>
<li v-if="true" class="item">
<img src="../images/course/icon-tk-1.png" alt=""> <img src="../images/course/icon-tk-1.png" alt="">
<span>题库</span> <span>题库</span>
<img v-if="item.secondSubjectModelList[0].bindDirectoryCardStatus" class="buy" src="../images/course/icon-buy.png" alt="">
</li> </li>
</ul> </ul>
</div> </div>
</article> </article>
<!-- 修复一个神奇的bug:底部与背景色重叠 --> <!-- 修复一个神奇的bug:底部与背景色重叠 -->
<div style="height: 1px;background: #F8F9FA;"></div> <div style="height: 10px;background: #F8F9FA;"></div>
</section> </section>
<transition name="fade"> <transition name="fade">
...@@ -118,7 +98,8 @@ import CommonImgTitle from "@/components/course/common-img-title"; ...@@ -118,7 +98,8 @@ import CommonImgTitle from "@/components/course/common-img-title";
import { mapGetters, mapActions } from "vuex"; import { mapGetters, mapActions } from "vuex";
import { getWebPageUrl, parseTime } from "@/utils/index"; import { getWebPageUrl, parseTime } from "@/utils/index";
import { Toast } from "vant"; import { Toast } from "vant";
let zjListOffsetTop = 0;
let screenHeight = 667;
export default { export default {
data() { data() {
return { return {
...@@ -141,36 +122,9 @@ export default { ...@@ -141,36 +122,9 @@ export default {
token: "", token: "",
userMobile: "", userMobile: "",
needShowBackup: false, needShowBackup: false,
listData: [ listData: [],
{ zjFirstSubjectModelList: [],
name: "中医", gjFirstSubjectModelList: [],
list: [
{ name: "全科中医", code: 201, bindStatus: 0 },
{ name: "中医内科学中医内科学", code: 201, bindStatus: 0 },
{ name: "全科中医", code: 201, bindStatus: 0 }
]
},
{
name: "妇科",
list: [
{ name: "妇产科学", code: 201, bindStatus: 0 },
{ name: "中医内科学中医内科学", code: 201, bindStatus: 0 },
{ name: "全科中医", code: 201, bindStatus: 0 }
]
},
{
name: "内科",
list: [
{ name: "肾内科学", code: 201, bindStatus: 0 },
{
name: "肾内科学肾内科学肾内科学肾内科学",
code: 201,
bindStatus: 0
},
{ name: "全科中医", code: 201, bindStatus: 0 }
]
}
],
isInfresh: false, isInfresh: false,
hasLogin: false, hasLogin: false,
hasResetPosition: false hasResetPosition: false
...@@ -210,7 +164,11 @@ export default { ...@@ -210,7 +164,11 @@ export default {
}, },
mounted() { mounted() {
this.listData = []; zjListOffsetTop = this.$refs['zjListRef'].offsetTop;
screenHeight = screen.height;
console.log('zjListOffsetTop, screenHeight', zjListOffsetTop, screenHeight);
// zjListRef
// this.listData = [];
// this.currentModelIndex = 0; // this.currentModelIndex = 0;
}, },
...@@ -219,11 +177,16 @@ export default { ...@@ -219,11 +177,16 @@ export default {
// 切换列表, 滚动到列表指定位置 // 切换列表, 滚动到列表指定位置
changeTab(index) { changeTab(index) {
if(index == 1) {
window.scrollTo(0, 0);
} else {
window.scrollTo(0, zjListOffsetTop + screenHeight);
}
this.tabIndex = index; this.tabIndex = index;
}, },
// 跳转到项目页面或课程 // 跳转到项目页面或课程
coopDetails(item) { coopDetails(item, type) {
if (item.openFlag == 0) return; if (item.openFlag == 0) return;
this.$sendBuriedData({ this.$sendBuriedData({
component_tag: `886#8864#${item.id}#${item.name}` //'210#210002#0#'+item.projectName component_tag: `886#8864#${item.id}#${item.name}` //'210#210002#0#'+item.projectName
...@@ -231,12 +194,21 @@ export default { ...@@ -231,12 +194,21 @@ export default {
// 临时添加 // 临时添加
if (window.__isWeb) { if (window.__isWeb) {
this.$router.push({ if(type == 1) {
path: "/coop", this.$router.push({
query: { path: "/coop",
id: item.projectId query: {
} id: item.projectId
}); }
});
} else {
this.$router.push({
path: "/question-bank",
query: {
secondSubjectId: item.id
}
});
}
return; return;
} }
...@@ -248,10 +220,14 @@ export default { ...@@ -248,10 +220,14 @@ export default {
return; return;
} }
let pageUrl = getWebPageUrl(`profexam/#/coop?id=${item.projectId}`);
if(type == 2) {
pageUrl = getWebPageUrl(`profexam/#/question-bank?secondSubjectId=${item.id}`)
}
let paramList = [ let paramList = [
{ {
key: "pageUrl", key: "pageUrl",
value: getWebPageUrl(`profexam/#/coop?id=${item.projectId}`), value: pageUrl,
type: 4, type: 4,
seqNo: 1 seqNo: 1
} }
...@@ -282,19 +258,19 @@ export default { ...@@ -282,19 +258,19 @@ export default {
if (res.code == "000000") { if (res.code == "000000") {
this.existBind = res.data.existBind || 0; this.existBind = res.data.existBind || 0;
this.titleTestModelList = res.data.titleTestModelList || []; this.titleTestModelList = res.data.titleTestModelList || [];
let len = this.titleTestModelList.length > 0 ? (this.titleTestModelList.length - 1) : 0; this.zjFirstSubjectModelList = res.data.titleTestModelList[0].firstSubjectModelList || [];
// 如果有绑定的卡,并且之前没有做定位,则进行定位 this.gjFirstSubjectModelList = res.data.titleTestModelList[2].firstSubjectModelList || [];
if (this.existBind && !this.hasResetPosition) {
this.hasResetPosition = true; // let len = this.titleTestModelList.length > 0 ? (this.titleTestModelList.length - 1) : 0;
this.resetPosition(this.titleTestModelList); // // 如果有绑定的卡,并且之前没有做定位,则进行定位
// 否则直接使用当前的位置信息 // if (this.existBind && !this.hasResetPosition) {
} else { // this.hasResetPosition = true;
this.listData = // this.resetPosition(this.titleTestModelList);
res.data.titleTestModelList[ // // 否则直接使用当前的位置信息
len // } else {
].firstSubjectModelList; // this.listData = res.data.titleTestModelList[len].firstSubjectModelList;
this.currentModelIndex = len; // this.currentModelIndex = len;
} // }
} else { } else {
this.$toast(res.message); this.$toast(res.message);
} }
...@@ -324,8 +300,7 @@ export default { ...@@ -324,8 +300,7 @@ export default {
} }
} }
this.currentModelIndex = parentIndex; this.currentModelIndex = parentIndex;
this.listData = this.listData = this.titleTestModelList[parentIndex].firstSubjectModelList || [];
this.titleTestModelList[parentIndex].firstSubjectModelList || [];
this.$forceUpdate(); this.$forceUpdate();
this.resetProjectPosition(fIndex, subIndex); this.resetProjectPosition(fIndex, subIndex);
}, },
...@@ -345,11 +320,23 @@ export default { ...@@ -345,11 +320,23 @@ export default {
// 监听滚动事件 // 监听滚动事件
scrollFun() { scrollFun() {
let scrollTop = window.scrollY; let scrollTop = window.scrollY;
if(scrollTop + screenHeight - 20 > zjListOffsetTop) {
this.tabIndex = 2;
} else {
this.tabIndex = 1;
}
if (scrollTop >= 500) { if (scrollTop >= 500) {
this.needShowBackup = true; this.needShowBackup = true;
} else { } else {
this.needShowBackup = false; this.needShowBackup = false;
} }
this.$nextTick( () => {
if(window.scrollY <= 5) {
this.tabIndex = 1;
}
})
}, },
// 滚动到顶部 // 滚动到顶部
...@@ -407,7 +394,7 @@ export default { ...@@ -407,7 +394,7 @@ export default {
background: #F8F9FA; background: #F8F9FA;
.page-content { .page-content {
// padding-top: 155px; // padding-top: 155px;
min-height: 100vh; // min-height: 100vh;
&-table { &-table {
position: fixed; position: fixed;
top: 64px; top: 64px;
...@@ -455,14 +442,16 @@ export default { ...@@ -455,14 +442,16 @@ export default {
} }
} }
&-list { &-list {
margin: 65px 15px 30px; margin: 0 15px 10px;
padding: 0 15px; padding: 0 15px;
background: #fff; background: #fff;
height: 700px; padding-bottom: 10px;
border-radius: 6px;
// height: 700px;
.subject { .subject {
// padding-bottom: 10px;
& > p { & > p {
height: 40px; padding: 5px 0 10px;
line-height: 40px;
font-size: 16px; font-size: 16px;
font-weight: 700; font-weight: 700;
color: #333333; color: #333333;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册