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

1、修改not-found页面

2、打开激活与购买按钮
3、添加项目详情页面(空)
上级 788cacdd
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<van-collapse-item <van-collapse-item
v-for="(portalModule, index) in component.portalModuleDTOS" v-for="(portalModule, index) in component.portalModuleDTOS"
:key="index" :key="index"
:title="(parseInt(index) + 1) + '.' + portalModule.moduleName | shortName(19)" :title="portalModule.moduleName | shortName(19)"
:name="portalModule.expandKey" :name="portalModule.expandKey"
:value="portalModule.value" :value="portalModule.value"
:disabled="portalModule.disabled" :disabled="portalModule.disabled"
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<van-collapse-item <van-collapse-item
v-for="(portalModule, index) in component.portalModuleDTOS" v-for="(portalModule, index) in component.portalModuleDTOS"
:key="index" :key="index"
:title="(parseInt(index) + 1) + '.' + portalModule.moduleName | shortName(19)" :title="portalModule.moduleName | shortName(19)"
:name="portalModule.expandKey" :name="portalModule.expandKey"
:value="portalModule.value" :value="portalModule.value"
@click.native="chooseItem(portalModule)" @click.native="chooseItem(portalModule)"
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<van-collapse-item <van-collapse-item
v-for="(portalModule, index) in component.portalModuleDTOS" v-for="(portalModule, index) in component.portalModuleDTOS"
:key="index" :key="index"
:title="(parseInt(index) + 1) + '.' + portalModule.moduleName | shortName(19)" :title="portalModule.moduleName | shortName(19)"
:name="portalModule.expandKey" :name="portalModule.expandKey"
:value="portalModule.value" :value="portalModule.value"
@click.native="chooseItem(portalModule)" @click.native="chooseItem(portalModule)"
......
<template>
<section class="bind-cart-wrapper">
<article class="left">
<div class="top">
<span class="discount">{{(cardInfo.preferentialPrice || cardInfo.costPrice) | formatMoney}}</span>
<span v-show="cardInfo.preferentialPrice" class="price">
<del>原价¥{{cardInfo.costPrice | formatMoney}}</del>
</span>
</div>
<div class="bottom">
<img src="../../images/cme/phrase2/info.png" />
<span>激活或购买后可学习课程</span>
</div>
</article>
<article class="right">
<span class="left" @click="changeClick">去激活</span>
<span @click="gotoBuy" class="right">去购买</span>
</article>
</section>
</template>
<script>
export default {
props: {
cardInfo: {
type: Object,
default: () => {}
}
},
data() {
return {};
},
methods: {
changeClick(){
this.$emit("changeClick")
},
gotoBuy() {
this.$emit("gotoBuy");
}
}
};
</script>
<style lang="less" scoped>
.bind-cart-wrapper {
position: fixed;
left: 0;
bottom: 0;
z-index: 100;
width: 100%;
display: flex;
flex-direction: row;
height: 60px;
line-height: 1;
justify-content: space-between;
padding: 10px 15px;
font-size: 14px;
background: rgba(255, 255, 255, 1);
box-shadow: 0px -2px 10px 0px rgba(0, 0, 0, 0.1);
.left {
display: flex;
flex-direction: column;
height: 40px;
line-height: 1;
font-size: 12px;
// align-items: ;
.top {
margin-top: 3px;
height: 24px;
.discount {
color: #fb5b52;
font-size: 18px;
font-weight: 700;
margin-right: 4px;
}
.price {
color: #979899;
}
}
.bottom {
display: flex;
flex-direction: row;
img {
width: 12px;
height: 12px;
margin-left: 1px;
margin-right: 4px;
}
color: #979899;
}
}
.right {
display: flex;
flex-direction: row;
span {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
width: 80px;
font-size: 14px;
font-weight: 400;
text-align: center;
color: #7f7f7f;
border: 1px solid #d2b573;
&.left {
border-radius: 20px 0px 0px 20px;
border-right-style: none;
// color: #ff7a4b;
}
&.right {
// background: linear-gradient(
// 137deg,
// rgba(255, 166, 95, 1) 0%,
// rgba(255, 122, 75, 1) 100%
// );
border-radius: 0px 20px 20px 0px;
// color: #fff;
}
}
}
}
</style>
\ No newline at end of file
import App from '../App'
const index = r => require.ensure([], () => r(require('../views/index')), 'index')
const complist = r => require.ensure([], () => r(require('../views/component-details')), 'complist')
const parent = r => require.ensure([], () => r(require('../views/parent-page')), 'parent')
const merge = r => require.ensure([], () => r(require('../views/merge-detail')), 'merge')
const test = r => require.ensure([], () => r(require('../views/test-components')), 'test-components')
export default [{
path: '/',
component: App,
children: [
{
path: '',
redirect: '/index'
},
{
path: '/index',
component: index
},
{
path: '/home',
component: index
},
{
path: '/comp2',
component: complist
},
{
path: '/parent',
component: parent
},
{
path: '/coop',
component: merge
},
{
path: '/test',
component: test
},
]
}]
...@@ -6,6 +6,7 @@ const shareMerge = r => require.ensure([], () => r(require('../views/share-merge ...@@ -6,6 +6,7 @@ const shareMerge = r => require.ensure([], () => r(require('../views/share-merge
const test = r => require.ensure([], () => r(require('../views/test-components')), 'test-components') const test = r => require.ensure([], () => r(require('../views/test-components')), 'test-components')
const courseDetail = r => require.ensure([], () => r(require('../views/course-detail')), 'course-detail') const courseDetail = r => require.ensure([], () => r(require('../views/course-detail')), 'course-detail')
const notFound = r => require.ensure([], () => r(require('../views/not-found')), 'not-found') const notFound = r => require.ensure([], () => r(require('../views/not-found')), 'not-found')
const goodsDetail = r => require.ensure([], () => r(require('../views/goods-detail')), 'goods-detail')
export default [{ export default [{
path: '/', path: '/',
...@@ -43,5 +44,9 @@ export default [{ ...@@ -43,5 +44,9 @@ export default [{
path: '/not-found', path: '/not-found',
component: notFound component: notFound
}, },
{
path: '/goods-detail',
component: goodsDetail
},
] ]
}] }]
<template>
<div class="goods-details-wrapper">
商品详情页面
</div>
</template>
<script>
export default {
}
</script>
<style lang="less" scoped>
.goods-details-wrapper {
font-size: 14px;
}
</style>
\ No newline at end of file
<template> <template>
<div class="not-found"> <div class="not-found">
<img class="img" src="~@/images/no-content.png" alt="" /> <img class="img" src="~@/images/no-content.png" alt />
<p class="tip">此课程已下架,无法查看</p> <p class="tip">{{tips}}</p>
<p class="tip-2">更多内容,请前往云鹊医APP学习</p>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() { data() {
return {}; return {
tips: "此课程已下架,无法查看",
fromPage: "2"
};
}, },
mounted() { mounted() {
this.fromPage = this.$route.query.fromPage || '1'; // 1: 来处项目详情页; 2: 来处课程详情页
if(this.fromPage == 2) {
this.tips = "此项目已下架, 无法查看";
}
}, },
methods: { methods: {}
}
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.not-found { .not-found {
.img{ .img {
display: block; display: block;
width: 120px; width: 120px;
margin: 100px auto 0; margin: 100px auto 0;
} }
.tip{ .tip {
font-size: 15px; font-size: 18px;
font-weight: 700;
color: #373839;
text-align: center;
}
.tip-2 {
margin-top: 12px;
font-size: 14px;
font-weight: 400;
color: #676869;
text-align: center; text-align: center;
} }
} }
......
...@@ -113,19 +113,19 @@ ...@@ -113,19 +113,19 @@
<div v-if="!hasBindCard" style="padding-top: 60px"></div> <div v-if="!hasBindCard" style="padding-top: 60px"></div>
<!-- <div v-if="!hasBindCard && !isWeb" style="padding-top: 30px"></div> --> <!-- <div v-if="!hasBindCard && !isWeb" style="padding-top: 30px"></div> -->
<!-- <BindCardButton <BindCardButton
v-if="!hasBindCard && !isWeb" v-if="!hasBindCard"
:cardInfo="cardInfo" :cardInfo="cardInfo"
@changeClick="changeClick" @changeClick="changeClick"
@gotoBuy="confirm" @gotoBuy="confirm"
></BindCardButton>--> ></BindCardButton>
<BindCardButtonShare <!-- <BindCardButtonShare
v-if="!hasBindCard" v-if="!hasBindCard"
:cardInfo="cardInfo" :cardInfo="cardInfo"
@changeClick="changeClick" @changeClick="changeClick"
@gotoBuy="confirm" @gotoBuy="confirm"
></BindCardButtonShare> ></BindCardButtonShare> -->
<!--去激活--> <!--去激活-->
<ChangeCard <ChangeCard
...@@ -204,7 +204,8 @@ import { getWebPageUrl, gotoPage, getAppVersion } from "@/utils/index"; ...@@ -204,7 +204,8 @@ import { getWebPageUrl, gotoPage, getAppVersion } from "@/utils/index";
import { mapGetters, mapActions } from "vuex"; import { mapGetters, mapActions } from "vuex";
import vueFilters from "@/utils/filter"; import vueFilters from "@/utils/filter";
import { Toast } from "vant"; import { Toast } from "vant";
import BindCardButtonShare from "@/components/cme/bind-card-button-share"; import BindCardButton from "@/components/cme/bind-card-button";
// import BindCardButtonShare from "@/components/cme/bind-card-button-share";
import ChangeCard from "@/components/cme/change-card"; import ChangeCard from "@/components/cme/change-card";
import CourseCovers from "@/components/course/course-covers"; import CourseCovers from "@/components/course/course-covers";
import DownloadButton from "@/components/course/download-button"; import DownloadButton from "@/components/course/download-button";
...@@ -328,7 +329,8 @@ export default { ...@@ -328,7 +329,8 @@ export default {
ExjumperButton, ExjumperButton,
// CommonAdertImg, // CommonAdertImg,
NoMoreContent, NoMoreContent,
BindCardButtonShare, BindCardButton,
// BindCardButtonShare,
ChangeCard, ChangeCard,
CourseCovers, CourseCovers,
DownloadButton, DownloadButton,
...@@ -390,7 +392,7 @@ export default { ...@@ -390,7 +392,7 @@ export default {
this.GET(`portal/shareParam/queryByUuid`, param).then(res => { this.GET(`portal/shareParam/queryByUuid`, param).then(res => {
if (res.code == "000000") { if (res.code == "000000") {
this.shareParam = JSON.parse(res.data || "{}"); this.shareParam = JSON.parse(res.data || "{}");
this.projectId = this.shareParam.projectId || 0; // 797 this.projectId = this.shareParam.projectId || 797; // 797
this.getProjectInfoById(); this.getProjectInfoById();
console.log('queryByUuid', res); console.log('queryByUuid', res);
} }
...@@ -524,8 +526,9 @@ export default { ...@@ -524,8 +526,9 @@ export default {
// this.$sendBuriedData({ // this.$sendBuriedData({
// component_tag: `882#88203` // component_tag: `882#88203`
// }); // });
window.location.href = let jumpUrl = getWebPageUrl(`profexam/#/goods-detail?goodsId=${this.goodsId}&token=${this.token}`);
"https://a.app.qq.com/o/simple.jsp?pkgname=com.picahealth.yunque"; window.location.href = jumpUrl;
// "https://a.app.qq.com/o/simple.jsp?pkgname=com.picahealth.yunque";
}, },
// 首次进入考试时记录(点击‘我知道了’时调用) // 首次进入考试时记录(点击‘我知道了’时调用)
...@@ -777,6 +780,9 @@ export default { ...@@ -777,6 +780,9 @@ export default {
console.log("share success..."); console.log("share success...");
} }
); );
} else {
_this.showLoading = false;
_this.$router.replace('/not-found?fromPage=2');
} }
}); });
}, },
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册