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

详情页面改造

上级 36402c8f
...@@ -288,9 +288,11 @@ export default { ...@@ -288,9 +288,11 @@ export default {
let _this = this; let _this = this;
this.from = this.$route.query.from || this.from || "native"; this.from = this.$route.query.from || this.from || "native";
this.projectId = this.$route.query.id || 1; this.projectId = this.$route.query.id || 1;
this.courseRequire = this.$route.query.courseRequire;
this.provinceId = this.$route.query && this.$route.query.provinceId || 0; // 此两个参数将由接口返回
this.organizationId = this.$route.query && this.$route.query.organizationId || 0; // this.courseRequire = this.$route.query.courseRequire;
// this.provinceId = this.$route.query && this.$route.query.provinceId || 0;
// this.organizationId = this.$route.query && this.$route.query.organizationId || 0;
window.__getUserInfo64Comp = function(param) { window.__getUserInfo64Comp = function(param) {
// appVersion 安卓 3.2.2 iOS // appVersion 安卓 3.2.2 iOS
...@@ -798,17 +800,18 @@ export default { ...@@ -798,17 +800,18 @@ export default {
_this.provinceId = res.data.positionModel.provinceId; _this.provinceId = res.data.positionModel.provinceId;
_this.organizationId = res.data.positionModel.organizationId; _this.organizationId = res.data.positionModel.organizationId;
_this.courseRequire = res.data.courseRequire || 0;
setTimeout( () => { setTimeout( () => {
cataOffsetTop = document.getElementById("catalogue-content").offsetTop; cataOffsetTop = document.getElementById("catalogue-content").offsetTop;
intorOffsetTop = document.getElementById("intro-content").offsetTop; intorOffsetTop = document.getElementById("intro-content").offsetTop;
console.log('getProjectParticularsV2', cataOffsetTop, intorOffsetTop); console.log('getProjectParticularsV2', cataOffsetTop, intorOffsetTop);
// 直接跳转 // 直接跳转
if(_this.project.jumpToContents) { if(_this.project.jumpToContents) {
setTimeout(() => { setTimeout(() => {
this.jumpCatalogue(); this.jumpCatalogue();
}, 200); }, 200);
} }
}, 200); }, 200);
setTimeout(() => { setTimeout(() => {
_this.showLoading = false; _this.showLoading = false;
......
<template>
<!-- 组件详情页面:模块列表及其下面的元件列表 -->
<div class="page-container-parent">
<CommonNavbar
:bgColor="bgColor"
v-show="isShowNavbar"
:isBlack="isBlack"
:title="navTitle"
:isFixNavbar="isFixNavbar"
:burialPoint="pointStyle"
borderStyle="0px solid #fff"
:backMethod="from"
></CommonNavbar>
<div class="page-content list-container">
<!-- <img
v-if="bannerType == 1"
class="banner-img"
src="https://files.yunqueyi.com/image/jpeg/common/20190214153449966.jpg"
>-->
<!-- <div v-if="bannerType == 1" class="page-content-img-container"> -->
<div v-if="bannerType == 1" class="page-content-img-container">
<img class="banner-img" :src="attachmentUrl">
<img v-show="pStatus == 1" class="banner-img-1" src="../images/status-join.png">
<img v-show="pStatus == 5" class="banner-img-5" src="../images/status-keep-on.png">
<img v-show="pStatus == 10" class="banner-img-10" src="../images/status-end.png">
</div>
<!-- <CommonBannerVideo v-if="bannerType == 1" :videoOptions="videoOptions"></CommonBannerVideo> -->
<CommonTcPlayer v-if="bannerType == 2" style="flex" :options="videoOptions"></CommonTcPlayer>
<CommonDescription :descTitle="projectName" :value="projectIntro"></CommonDescription>
<CommonSpliteLine></CommonSpliteLine>
<!-- <CellListItem :paramData="contentList" :moduleName="moduleName"></CellListItem> -->
<div v-if="visibleFlag == 1" class="project-num">{{ childrenList.length }} 个项目</div>
<CoopListItem v-if="visibleFlag == 1" :paramData="childrenList" :coopType="1" :tabTo="3" :isShow="isShow"></CoopListItem>
<NoPermContent v-if="visibleFlag == 2"></NoPermContent>
</div>
<Loading v-show="showLoading"/>
</div>
</template>
<script>
import CommonNavbar from "@/components/common/common-navbar";
import CommonDescription from "@/components/common/common-description";
import CommonSpliteLine from "@/components/common/common-splite-line";
import CommonTitle from "@/components/common/common-title";
import CommonBannerVideo from "@/components/common/common-banner-video";
import CommonTcPlayer from "@/components/common/common-tcplayer";
import CoopListItem from "@/components/business/coop-list-item";
import NoPermContent from "@/components/business/no-perm-content";
import Loading from "@/components/common/common-loading";
import { mapGetters, mapActions } from "vuex";
import vueFilters from '@/utils/filter'
export default {
data() {
return {
from: "inner",
isBlack: false,
showLoading: false,
projectId: 1,
componentId: 1,
moduleId: 1,
contentList: [],
moduleName: "",
bannerType: 1,
videoOptions: {
mp4: "",
// mp4: "https://pica-pro.oss-cn-shanghai.aliyuncs.com/2019/03/05/movie.mp4",
// "mp4": "http://1258717429.vod2.myqcloud.com/24a74910vodcq1258717429/7c37c18f5285890786204547811/9BFIyaoXYAcA.mp4",
// "m3u8": "http://2157.liveplay.myqcloud.com/2157_358535a.m3u8",
// "flv": "http://2157.liveplay.myqcloud.com/live/2157_358535a.flv", //增加了一个flv的播放地址,用于PC平台的播放 请替换成实际可用的播放地址
autoplay: false, //iOS下safari浏览器,以及大部分移动端浏览器是不开放视频自动播放这个能力的
coverpic: require("../images/video-cover.png"),
width: "415", //视频的显示宽度,请尽量使用视频分辨率宽度
height: "210" //视频的显示高度,请尽量使用视频分辨率高度
},
// projectStatus: 1, //1没有获得证书 2是获得全部证书
pStatus: 0, // 项目状态 1是参加中 5是进行中 10是已结束
projectIntro: "",
projectName: "",
attachmentUrl: require("../images/banner-default.png"),
bgColor: "none",
navTitle: "",
compTitle: "组件名称",
isShowNavbar: true,
isShow: true,
isFixNavbar: true,
pointStyle: "activity",
descTitle: "规定从何处开始选取。如果是负数",
description:
"必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置那么它规定从数组尾部开始算起的位置那么它规定从数组尾部开始算起的位置那么它规定从数组尾部开始算起的位置。也就是说那么它规定从数组尾部开始算起的位置。也就是说那么它规定从数组尾部开始算起的位置。也就是说那么它规定从数组尾部开始算起的位置。也就是说那么它规定从数组尾部开始算起的位置。" +
" 也就是说那么它规定从数组尾部开始算起的位置。也就是说,必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推第二个元素。",
childrenList: [],
visibleFlag: 0,
entryId: 0,
};
},
components: {
CommonNavbar,
CommonDescription,
CommonSpliteLine,
CommonTitle,
CommonBannerVideo,
Loading,
CommonTcPlayer,
CoopListItem,
NoPermContent,
},
computed: {
...mapGetters(["userInfo"])
},
created() {
let _this = this;
this.from = this.$route.query.from || this.from || "native";
this.projectId = this.$route.query.projectId;
this.componentId = this.$route.query.componentId;
this.moduleId = this.$route.query.moduleId;
this.moduleName = this.$route.query.moduleName;
this.entryId = this.$route.query.entryId;
window.__getUserInfo4Comp = function(param) {
_this.token = param.userToken;
_this.setUserInfo(param);
_this.checkToken();
// _this.getContentList(_this.moduleId);
// _this.getComponentInfoById(_this.componentId);
_this.getChildrenProject(_this.entryId);
};
// this.getCoopInfo(this.projectId);
window.__refresh = function() {
// _this.getContentList(_this.moduleId);
_this.getChildrenProject(_this.entryId);
};
_this.getUserInfo();
},
mounted() {
window.addEventListener("scroll", this.scrollFun);
},
beforeDestroyed() {
window.removeEventListener("scroll", this.scrollFun);
},
methods: {
...mapActions(["setUserInfo"]),
//获取用户信息
getUserInfo() {
rocNative.getUserInfo({
__funcName: "__getUserInfo4Comp"
});
if (window.__isWeb && process.env.BUILD_ENV == "development") {
console.log('projectId',this.projectId);
let param = {
userToken: 'ED9F3381362641858B2B1F90C92A8050',
};
__getUserInfo4Comp(param);
}
},
// 获取单个模块信息
getComponentInfoById(componentId) {
let _this = this;
let param = {
componentId: componentId,
token: _this.userInfo.userToken,
setEntry: true
};
this.GET("portal/portalApp/component", param).then(res => {
if (res.code == "000000") {
_this.attachmentUrl = res.data.imageUrl;
_this.projectIntro = res.data.introduce;
_this.projectName = res.data.name;
}
});
},
// 获取单个项目信息
getCoopInfo(projectId) {
let _this = this;
let param = {
portalProjectId: projectId,
token: _this.userInfo.userToken,
setEntry: true
};
this.GET("portal/portalApp/queryProjectParticulars", param).then(res => {
if (res.code == "000000") {
// 先设置视频URL再显示视频组件 ------------ BEGIN
if (res.data.attachmentType == 2) {
_this.videoOptions.mp4 = res.data.attachmentUrl;
} else {
_this.attachmentUrl = res.data.attachmentUrl;
}
_this.bannerType = res.data.attachmentType;
// 先设置视频URL再显示视频组件 ------------ END
_this.projectIntro = res.data.projectIntro;
_this.projectName = res.data.projectName;
_this.pStatus = res.data.status;
}
});
},
checkToken() {
let _this = this;
let param = {
token: _this.userInfo.userToken,
setEntry: true,
};
this.GET("campaign/admin/task/checkToken", param).then(res => {
if(res.code !== '000000') {
//未登录 跳转登录页
console.log('跳登录');
rocNative.gotoLogin();
}
});
},
getChildrenProject(entryId) {
let _this = this;
let param = {
entryId: entryId,
token: _this.userInfo.userToken,
setEntry: true
};
this.GET("portal/portalApp/getEntryInfo", param).then(res => {
if (res.code == "000000") {
_this.visibleFlag = res.data.learnableFlag;
if (res.data.attachmentType == 2) {
_this.videoOptions.mp4 = res.data.attachmentUrl;
} else {
_this.attachmentUrl = res.data.attachmentUrl;
}
_this.bannerType = res.data.attachmentType;
// 先设置视频URL再显示视频组件 ------------ END
_this.projectIntro = res.data.entryIntro;
_this.projectName = res.data.entryName;
_this.pStatus = res.data.status;
_this.childrenList = res.data.projectList;
}
});
},
scrollFun() {
let scrollTop =
document.body.scrollTop || document.documentElement.scrollTop;
if (scrollTop > 20) {
this.isBlack = true;
this.bgColor = "#fff";
} else {
this.isBlack = false;
this.bgColor = "none";
}
}
}
};
</script>
<style lang="scss" >
@import "../style/mixin";
.page-container-parent {
.nav-top .nav-title {
height: px2rem(0px);
padding: px2rem(18px);
}
.banner-img {
display: inherit;
width: px2rem(375px);
height: px2rem(210px);
&-1 {
position: absolute;
left: 0;
top: px2rem(180px);
width: px2rem(76px);
height: px2rem(30px);
}
&-5 {
position: absolute;
left: 0;
top: px2rem(180px);
width: px2rem(76px);
height: px2rem(30px);
}
&-10 {
position: absolute;
left: 0;
top: px2rem(180px);
width: px2rem(148px);
height: px2rem(30px);
}
}
.list-container {
// margin-bottom: px2rem(40px);
}
.project-num {
position: relative;
height: px2rem(18px);
margin: px2rem(20px) 0 px2rem(15px) px2rem(15px);
font-weight: 500;
font-size: px2rem(18px);
line-height: px2rem(18px);
}
}
</style>
\ No newline at end of file
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
<CommonTcPlayer v-if="bannerType == 2" style="flex" :options="videoOptions"></CommonTcPlayer> <CommonTcPlayer v-if="bannerType == 2" style="flex" :options="videoOptions"></CommonTcPlayer>
<CommonDescription :descTitle="projectName" :value="projectIntro"></CommonDescription> <CommonDescription :descTitle="projectName" :value="projectIntro"></CommonDescription>
<CommonSpliteLine></CommonSpliteLine> <CommonSpliteLine></CommonSpliteLine>
<!-- <CellListItem :paramData="contentList" :moduleName="moduleName"></CellListItem> -->
<div v-if="visibleFlag == 1" class="project-num">{{ childrenList.length }} 个项目</div> <div v-if="visibleFlag == 1" class="project-num">{{ childrenList.length }} 个项目</div>
<CoopListItem v-if="visibleFlag == 1" :paramData="childrenList" :coopType="1" :tabTo="3" :isShow="isShow"></CoopListItem> <CoopListItem v-if="visibleFlag == 1" :paramData="childrenList" :coopType="1" :tabTo="3" :isShow="isShow"></CoopListItem>
<NoPermContent v-if="visibleFlag == 2"></NoPermContent> <NoPermContent v-if="visibleFlag == 2"></NoPermContent>
...@@ -54,11 +53,7 @@ export default { ...@@ -54,11 +53,7 @@ export default {
from: "inner", from: "inner",
isBlack: false, isBlack: false,
showLoading: false, showLoading: false,
projectId: 1,
componentId: 1,
moduleId: 1,
contentList: [], contentList: [],
moduleName: "",
bannerType: 1, bannerType: 1,
videoOptions: { videoOptions: {
mp4: "", mp4: "",
...@@ -109,25 +104,17 @@ export default { ...@@ -109,25 +104,17 @@ export default {
created() { created() {
let _this = this; let _this = this;
this.from = this.$route.query.from || this.from || "native"; this.from = this.$route.query.from || this.from || "native";
this.projectId = this.$route.query.projectId;
this.componentId = this.$route.query.componentId;
this.moduleId = this.$route.query.moduleId;
this.moduleName = this.$route.query.moduleName;
this.entryId = this.$route.query.entryId; this.entryId = this.$route.query.entryId;
window.__getUserInfo4Comp = function(param) { window.__getUserInfo4Comp = function(param) {
_this.token = param.userToken; _this.token = param.userToken;
_this.setUserInfo(param); _this.setUserInfo(param);
_this.checkToken(); _this.checkToken();
// _this.getContentList(_this.moduleId);
// _this.getComponentInfoById(_this.componentId);
_this.getChildrenProject(_this.entryId); _this.getChildrenProject(_this.entryId);
}; };
// this.getCoopInfo(this.projectId);
window.__refresh = function() { window.__refresh = function() {
// _this.getContentList(_this.moduleId);
_this.getChildrenProject(_this.entryId); _this.getChildrenProject(_this.entryId);
}; };
_this.getUserInfo(); _this.getUserInfo();
...@@ -147,55 +134,13 @@ export default { ...@@ -147,55 +134,13 @@ export default {
__funcName: "__getUserInfo4Comp" __funcName: "__getUserInfo4Comp"
}); });
if (window.__isWeb && process.env.BUILD_ENV == "development") { if (window.__isWeb && process.env.BUILD_ENV == "development") {
console.log('projectId',this.projectId);
let param = { let param = {
userToken: 'ED9F3381362641858B2B1F90C92A8050', userToken: 'ED9F3381362641858B2B1F90C92A8050',
}; };
__getUserInfo4Comp(param); __getUserInfo4Comp(param);
} }
}, },
// 获取单个模块信息
getComponentInfoById(componentId) {
let _this = this;
let param = {
componentId: componentId,
token: _this.userInfo.userToken,
setEntry: true
};
this.GET("portal/portalApp/component", param).then(res => {
if (res.code == "000000") {
_this.attachmentUrl = res.data.imageUrl;
_this.projectIntro = res.data.introduce;
_this.projectName = res.data.name;
}
});
},
// 获取单个项目信息
getCoopInfo(projectId) {
let _this = this;
let param = {
portalProjectId: projectId,
token: _this.userInfo.userToken,
setEntry: true
};
this.GET("portal/portalApp/queryProjectParticulars", param).then(res => {
if (res.code == "000000") {
// 先设置视频URL再显示视频组件 ------------ BEGIN
if (res.data.attachmentType == 2) {
_this.videoOptions.mp4 = res.data.attachmentUrl;
} else {
_this.attachmentUrl = res.data.attachmentUrl;
}
_this.bannerType = res.data.attachmentType;
// 先设置视频URL再显示视频组件 ------------ END
_this.projectIntro = res.data.projectIntro;
_this.projectName = res.data.projectName;
_this.pStatus = res.data.status;
}
});
},
checkToken() { checkToken() {
let _this = this; let _this = this;
let param = { let param = {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册