产品课程相关

master
yujialong 5 months ago
parent 179f12a8a7
commit f093e88379
  1. 246
      src/pages/aboutUs/index.vue
  2. 4
      src/pages/article/index.vue
  3. 2
      src/pages/column/index.vue
  4. 27
      src/pages/course/index.vue
  5. 86
      src/pages/index/list/index.vue
  6. 2
      src/pages/index/show/index.vue
  7. 1306
      src/pages/news/index.vue
  8. 2
      src/setting.js

@ -1,144 +1,148 @@
<template> <template>
<div class="wrap index"> <div class="wrap index">
<el-carousel v-if="modules[0].list.length && modules[0].list.filter(e => e.isEnable).length" class="carousel" <template v-if="modules.length">
:interval="6000" height="480px" :arrow="(modules[0].list.filter(e => e.isEnable).length > 1) ? 'hover' : 'never'" <el-carousel v-if="modules[0].list.length && modules[0].list.filter(e => e.isEnable).length" class="carousel"
:indicator-position="modules[0].list.filter(e => e.isEnable).length > 1 ? '' : 'none'"> :interval="6000" height="480px"
<template v-for="(item, i) in modules[0].list"> :arrow="(modules[0].list.filter(e => e.isEnable).length > 1) ? 'hover' : 'never'"
<el-carousel-item v-if="item.pic && item.isEnable" :key="i"> :indicator-position="modules[0].list.filter(e => e.isEnable).length > 1 ? '' : 'none'">
<div v-if="isImg(item.mediaType)" class="pic" :style="{ backgroundImage: 'url(' + item.pic + ')' }"></div> <template v-for="(item, i) in modules[0].list">
<video v-else class="pic" width="100%" height="100%" autoplay muted loop> <el-carousel-item v-if="item.pic && item.isEnable" :key="i">
<source :src="item.pic" type="video/mp4"> <div v-if="isImg(item.mediaType)" class="pic" :style="{ backgroundImage: 'url(' + item.pic + ')' }"></div>
您的浏览器不支持 video 标签 <video v-else class="pic" width="100%" height="100%" autoplay muted loop>
</video> <source :src="item.pic" type="video/mp4">
<div class="text-wrap"> 您的浏览器不支持 video 标签
<div class="text" v-html="item.des"></div> </video>
<div v-if="!GTA" class="qrcodes fadeInUp"> <div class="text-wrap">
<div class="qrcode"> <div class="text" v-html="item.des"></div>
<img width="103" :src="item.weixinPic1" alt=""> <div v-if="!GTA" class="qrcodes fadeInUp">
<p class="text">{{ item.weixinText1 }}</p> <div class="qrcode">
</div> <img width="103" :src="item.weixinPic1" alt="">
<div class="qrcode m-l-30"> <p class="text">{{ item.weixinText1 }}</p>
<img width="103" :src="item.weixinPic2" alt=""> </div>
<p class="text">{{ item.weixinText2 }}</p> <div class="qrcode m-l-30">
<img width="103" :src="item.weixinPic2" alt="">
<p class="text">{{ item.weixinText2 }}</p>
</div>
</div> </div>
</div> </div>
</el-carousel-item>
</template>
</el-carousel>
<div v-else class="banner fadeInUp">
<img class="texts" src="https://huorantech.com/images/about/banner-text.png" alt="">
<div v-if="!GTA" class="qrcodes">
<div class="qrcode">
<img width="103" src="https://huorantech.com/images/about/qrcode.jpg" alt="">
<p class="text">扫一扫关注公众号</p>
</div>
<div class="qrcode m-l-30">
<img width="103" src="@/assets/images/mini-program-sm.jpg" alt="">
<p class="text">扫一扫登录职站商城</p>
</div> </div>
</el-carousel-item>
</template>
</el-carousel>
<div v-else class="banner fadeInUp">
<img class="texts" src="https://huorantech.com/images/about/banner-text.png" alt="">
<div v-if="!GTA" class="qrcodes">
<div class="qrcode">
<img width="103" src="https://huorantech.com/images/about/qrcode.jpg" alt="">
<p class="text">扫一扫关注公众号</p>
</div>
<div class="qrcode m-l-30">
<img width="103" src="@/assets/images/mini-program-sm.jpg" alt="">
<p class="text">扫一扫登录职站商城</p>
</div> </div>
</div> </div>
</div>
<div class="intro">
<div class="intro"> <div class="inner">
<div class="inner"> <div class="pics">
<div class="pics"> <div class="text">
<div class="text"> <div class="title-wrap">
<div class="title-wrap"> <p class="title fadeInLeft">{{ modules[1].form.title }}</p>
<p class="title fadeInLeft">{{ modules[1].form.title }}</p> <p class="brief fadeInLeft">{{ modules[1].form.subTitle1 }}</p>
<p class="brief fadeInLeft">{{ modules[1].form.subTitle1 }}</p> <p class="en fadeInRight">{{ modules[1].form.subTitle2 }}</p>
<p class="en fadeInRight">{{ modules[1].form.subTitle2 }}</p> </div>
<div class="desc animate" v-html="modules[1].form.des"></div>
</div> </div>
<div class="desc animate" v-html="modules[1].form.des"></div> <img class="bg fadeInRight" :src="modules[1].form.pic" alt="">
</div> </div>
<img class="bg fadeInRight" :src="modules[1].form.pic" alt="">
</div> </div>
</div> </div>
</div> <div class="service-intro">
<div class="service-intro"> <div class="inner">
<div class="inner"> <h6>{{ modules[2].form.title }}</h6>
<h6>{{ modules[2].form.title }}</h6> <p class="text">{{ modules[2].form.des }}</p>
<p class="text">{{ modules[2].form.des }}</p> </div>
</div>
</div>
<div class="culture">
<div class="inner">
<h6 class="i-title animate">{{ modules[3].form.title }}</h6>
<p class="en fadeInUp">{{ modules[3].form.des }}</p>
<ul class="list">
<template v-for="(item, i) in modules[4].list">
<li v-if="item.isEnable" :key="i" class="fadeInUp">
<img :src="item.pic" alt="">
<h6>{{ item.title }}</h6>
<div class="text" v-html="item.des"></div>
</li>
</template>
</ul>
</div> </div>
</div> <div class="culture">
<div class="inner">
<!-- 为什么加入我们 --> <h6 class="i-title animate">{{ modules[3].form.title }}</h6>
<div class="adv" id="part2"> <p class="en fadeInUp">{{ modules[3].form.des }}</p>
<div class="inner"> <ul class="list">
<h6 class="i-title animate">{{ modules[5].form.title }}</h6> <template v-for="(item, i) in modules[4].list">
<p class="en fadeInUp">{{ modules[5].form.subTitle }}</p> <li v-if="item.isEnable" :key="i" class="fadeInUp">
<p class="title-des animate">{{ modules[5].form.des }}</p> <img :src="item.pic" alt="">
<h6>{{ item.title }}</h6>
<ul class="list"> <div class="text" v-html="item.des"></div>
<template v-for="(item, i) in modules[6].list"> </li>
<li v-if="item.isEnable" :key="i" class="fadeInUp"> </template>
<img :src="item.pic" alt=""> </ul>
<h6>{{ item.title }}</h6> </div>
<div class="text" v-html="item.des"></div>
</li>
</template>
</ul>
</div> </div>
</div>
<!-- 合作客户 -->
<div class="client">
<div class="inner">
<h6 class="i-title animate">{{ modules[7].form.title }}</h6>
<p class="en fadeInUp">{{ modules[7].form.subTitle }}</p>
<p class="title-des animate">{{ modules[7].form.des }}</p>
<el-carousel class="carousel" height="372px" :interval="6000"
:arrow="(modules[8] && modules[8].list.filter(e => e.isEnable).length > 1) ? 'hover' : 'never'"
:indicator-position="modules[8].list.filter(e => e.isEnable).length > 1 ? '' : 'none'">
<template v-for="(item, i) in modules[8].list">
<el-carousel-item v-if="item.isEnable" :key="i">
<div class="client-pic" :class="{ 'cursor-pointer': isLink(item.link.linkName) }" @click="openLink(item)">
<img class="bg fadeInLeft" :src="item.pic" alt="">
<div class="text fadeInRight">
<div class="c-title1">
<img src="https://huorantech.com/images/index/comma1.png" alt="">
{{ item.title }}
</div>
<div class="text" v-html="item.des"></div>
<div class="c-title2">
{{ item.subTitle }}
<img src="https://huorantech.com/images/index/comma2.png" alt="">
</div>
</div>
</div>
</el-carousel-item>
</template>
</el-carousel>
<!-- 为什么加入我们 -->
<div class="adv" id="part2">
<div class="inner">
<h6 class="i-title animate">{{ modules[5].form.title }}</h6>
<p class="en fadeInUp">{{ modules[5].form.subTitle }}</p>
<p class="title-des animate">{{ modules[5].form.des }}</p>
<scroll class="clients" :data="clients" :class-option="{ limitMoveNum: 2, direction: 2 }"> <ul class="list">
<ul class="client-list" ref="client"> <template v-for="(item, i) in modules[6].list">
<template v-for="item in modules[9].list"> <li v-if="item.isEnable" :key="i" class="fadeInUp">
<li v-if="item.isEnable" :key="item">
<img :src="item.pic" alt=""> <img :src="item.pic" alt="">
<h6>{{ item.title }}</h6>
<div class="text" v-html="item.des"></div>
</li> </li>
</template> </template>
</ul> </ul>
</scroll> </div>
</div>
<!-- 合作客户 -->
<div class="client">
<div class="inner">
<h6 class="i-title animate">{{ modules[7].form.title }}</h6>
<p class="en fadeInUp">{{ modules[7].form.subTitle }}</p>
<p class="title-des animate">{{ modules[7].form.des }}</p>
<el-carousel class="carousel" height="372px" :interval="6000"
:arrow="(modules[8] && modules[8].list.filter(e => e.isEnable).length > 1) ? 'hover' : 'never'"
:indicator-position="modules[8].list.filter(e => e.isEnable).length > 1 ? '' : 'none'">
<template v-for="(item, i) in modules[8].list">
<el-carousel-item v-if="item.isEnable" :key="i">
<div class="client-pic" :class="{ 'cursor-pointer': isLink(item.link.linkName) }"
@click="openLink(item)">
<img class="bg fadeInLeft" :src="item.pic" alt="">
<div class="text fadeInRight">
<div class="c-title1">
<img src="https://huorantech.com/images/index/comma1.png" alt="">
{{ item.title }}
</div>
<div class="text" v-html="item.des"></div>
<div class="c-title2">
{{ item.subTitle }}
<img src="https://huorantech.com/images/index/comma2.png" alt="">
</div>
</div>
</div>
</el-carousel-item>
</template>
</el-carousel>
<scroll class="clients" :data="clients" :class-option="{ limitMoveNum: 2, direction: 2 }">
<ul class="client-list" ref="client">
<template v-for="(item, i) in modules[9].list">
<li v-if="item.isEnable" :key="i">
<img :src="item.pic" alt="">
</li>
</template>
</ul>
</scroll>
</div>
</div> </div>
</div> </template>
</div> </div>
</template> </template>

@ -88,7 +88,7 @@ export default {
} }
] ]
if (temId == 69) this.isParty = 1 // articleTemplate=69class if (temId == 69) this.isParty = 1 // articleTemplate=69class
if (temId == 72) this.isPeople = 1 // articleTemplate=72 if (temId == 72 || temId == 80) this.isPeople = 1 // articleTemplate=7280
if (cache.releaseTime) cache.releaseTime = cache.releaseTime.split(' ')[0] if (cache.releaseTime) cache.releaseTime = cache.releaseTime.split(' ')[0]
this.loaded = true this.loaded = true
} else { } else {
@ -117,7 +117,7 @@ export default {
this.$router.replace((temId === 25 ? '/article/activity' : '/publish/show') + path) this.$router.replace((temId === 25 ? '/article/activity' : '/publish/show') + path)
} else { } else {
if (temId == 69) this.isParty = 1 // articleTemplate=69class if (temId == 69) this.isParty = 1 // articleTemplate=69class
if (temId == 72) this.isPeople = 1 // articleTemplate=72 if (temId == 72 || temId == 72) this.isPeople = 1 // articleTemplate=7280
data.releaseTime = data.releaseTime.split(' ')[0] data.releaseTime = data.releaseTime.split(' ')[0]
this.form = data this.form = data
// tinymcebugpptext-indentfont-size2em // tinymcebugpptext-indentfont-size2em

@ -94,7 +94,7 @@
<!-- 列表样式选的是列表详情则直接显示最新一篇文章的详情 --> <!-- 列表样式选的是列表详情则直接显示最新一篇文章的详情 -->
<div v-if="info.listStyleId === 77" class="detail"> <div v-if="info.listStyleId === 77" class="detail">
<template v-if="article.articleTemplate != 72"> <template v-if="article.articleTemplate != 72 && article.articleTemplate != 80">
<h2>{{ article.title }}</h2> <h2>{{ article.title }}</h2>
<!-- <div class="meta">{{ article.source && article.source + ' | ' }} {{ article.author && article.author + ' | ' }} {{ article.releaseTime }}</div> <!-- <div class="meta">{{ article.source && article.source + ' | ' }} {{ article.author && article.author + ' | ' }} {{ article.releaseTime }}</div>
<div class="meta">{{ article.edit && $t('column.edit') + ':' + article.edit }} {{ article.audit && ' | ' + $t('column.auditor') + ':' + article.audit }} {{ article.label && ' | ' + $t('column.label') + ':' + article.label }}</div> --> <div class="meta">{{ article.edit && $t('column.edit') + ':' + article.edit }} {{ article.audit && ' | ' + $t('column.auditor') + ':' + article.audit }} {{ article.label && ' | ' + $t('column.label') + ':' + article.label }}</div> -->

@ -10,7 +10,7 @@
</div> </div>
</div> </div>
<div class="bg"> <div v-loading="loading" class="bg">
<div class="inner"> <div class="inner">
<el-tree v-if="hasChildren && !keyword" class="columns" ref="leftColumn" :data="columns" highlight-current <el-tree v-if="hasChildren && !keyword" class="columns" ref="leftColumn" :data="columns" highlight-current
:expand-on-click-node="false" default-expand-all :props="defaultProps" node-key="id" :expand-on-click-node="false" default-expand-all :props="defaultProps" node-key="id"
@ -34,13 +34,11 @@
<dd :class="{ active: form.classificationTagId === '' }" @click="changeType('')">不限</dd> <dd :class="{ active: form.classificationTagId === '' }" @click="changeType('')">不限</dd>
<dd v-for="(item, i) in classifications" :key="i" <dd v-for="(item, i) in classifications" :key="i"
:class="{ active: form.classificationTagId === item.categoryId }" @click="changeType(item.categoryId)"> :class="{ active: form.classificationTagId === item.categoryId }" @click="changeType(item.categoryId)">
{{ {{ item.name }}</dd>
item.name }}</dd>
</dl> </dl>
</div> </div>
<div class="courses"> <div class="courses">
<!-- <div class="course-bg"></div> -->
<template v-if="list.length"> <template v-if="list.length">
<ul> <ul>
<li v-for="(item, index) in list" :key="index" @click="toDetail(item)"> <li v-for="(item, index) in list" :key="index" @click="toDetail(item)">
@ -82,11 +80,11 @@
<script> <script>
import mixins from '@/mixins/page' import mixins from '@/mixins/page'
import { Loading } from "element-ui";
export default { export default {
mixins: [mixins], mixins: [mixins],
data () { data () {
return { return {
loading: false,
info: {}, info: {},
columnBanner: '', columnBanner: '',
columns: [], columns: [],
@ -158,9 +156,22 @@ export default {
this.loadIns.close() this.loadIns.close()
}) })
}, },
getData () { async getData () {
this.loadIns = Loading.service() try {
this.getList() this.loading = true
const { data } = await this.$post(this.api.courseProduct, {
...this.form,
siteId: this.site,
pageNum: this.page,
pageSize: this.pageSize,
columnId: this.id,
keyWord: this.keyword
})
this.list = data.records
this.total = +data.total
} finally {
this.loading = false
}
}, },
initData () { initData () {
this.page = 1; this.page = 1;

@ -1,39 +1,41 @@
<template> <template>
<div v-if="modules.length" class="wrap"> <div v-loading="loading" class="wrap">
<el-carousel class="carousel fadeInUp" :interval="6000" height="354px" <template v-if="modules.length">
:arrow="(modules[0] && modules[0].list.filter(e => e.isEnable).length > 1) ? 'hover' : 'never'" <el-carousel class="carousel fadeInUp" :interval="6000" height="354px"
:indicator-position="modules[0].list.filter(e => e.isEnable).length > 1 ? '' : 'none'"> :arrow="(modules[0] && modules[0].list.filter(e => e.isEnable).length > 1) ? 'hover' : 'never'"
<template v-for="(item, i) in modules[0].list"> :indicator-position="modules[0].list.filter(e => e.isEnable).length > 1 ? '' : 'none'">
<el-carousel-item v-if="item.pic && item.isEnable" :key="i"> <template v-for="(item, i) in modules[0].list">
<div class="pic" :style="{ backgroundImage: 'url(' + item.pic + ')' }"></div> <el-carousel-item v-if="item.pic && item.isEnable" :key="i">
<div class="text-wrap"> <div class="pic" :style="{ backgroundImage: 'url(' + item.pic + ')' }"></div>
<div v-if="!GTA && !i" class="qrcode-wrap"> <div class="text-wrap">
<img class="qrcode" src="https://occupationlab.com/images/mini-program.jpg" alt=""> <div v-if="!GTA && !i" class="qrcode-wrap">
<p class="text">扫小程序下单</p> <img class="qrcode" src="https://occupationlab.com/images/mini-program.jpg" alt="">
</div> <p class="text">扫小程序下单</p>
<div class="texts"> </div>
<h6>{{ item.title }}</h6> <div class="texts">
<p class="sub">{{ item.des }}</p> <h6>{{ item.title }}</h6>
</div> <p class="sub">{{ item.des }}</p>
</div> </div>
</el-carousel-item>
</template>
</el-carousel>
<div class="inner">
<ul class="intro">
<template v-for="(item, i) in modules[1].list">
<li v-if="item.isEnable" :key="i"
:class="[{ 'cursor-pointer': isLink(item.link.linkName) }, 'fadeInDown' + i]" @click="openLink(item)">
<img :src="item.pic" alt="">
<div class="text">
<h6>{{ item.title }}</h6>
<p class="desc">{{ item.des }}</p>
</div> </div>
</li> </el-carousel-item>
</template> </template>
</ul> </el-carousel>
</div>
<div class="inner">
<ul class="intro">
<template v-for="(item, i) in modules[1].list">
<li v-if="item.isEnable" :key="i"
:class="[{ 'cursor-pointer': isLink(item.link.linkName) }, 'fadeInDown' + i]" @click="openLink(item)">
<img :src="item.pic" alt="">
<div class="text">
<h6>{{ item.title }}</h6>
<p class="desc">{{ item.des }}</p>
</div>
</li>
</template>
</ul>
</div>
</template>
<div class="inner-wrap"> <div class="inner-wrap">
<div class="inner"> <div class="inner">
@ -159,12 +161,12 @@
<script> <script>
import mixins from '@/mixins/page' import mixins from '@/mixins/page'
import { Loading } from "element-ui";
import ScrollReveal from 'scrollreveal' import ScrollReveal from 'scrollreveal'
export default { export default {
mixins: [mixins], mixins: [mixins],
data () { data () {
return { return {
loading: false,
timer: null, timer: null,
curTab: '', curTab: '',
tabs: [ tabs: [
@ -340,7 +342,7 @@ export default {
// //
async getData () { async getData () {
try { try {
this.loadIns = Loading.service() this.loading = true
const { data } = await this.$post(this.api.courseProduct, { const { data } = await this.$post(this.api.courseProduct, {
...this.form, ...this.form,
siteId: this.site, siteId: this.site,
@ -360,7 +362,7 @@ export default {
this.list = list this.list = list
this.total = +data.total this.total = +data.total
} finally { } finally {
this.loadIns.close() this.loading = false
} }
}, },
initData () { initData () {
@ -381,9 +383,10 @@ export default {
}, },
// //
subjectClick (item) { subjectClick (item) {
this.form.subjectCategoryId = item.disciplineId this.form.subjectCategoryId = item ? item.disciplineId : ''
this.form.majorId = ''
this.form.professionalCategoryId = '' this.form.professionalCategoryId = ''
this.getProfessionalClassData(this.form) item && this.getProfessionalClassData(this.form)
this.initData() this.initData()
}, },
// //
@ -395,9 +398,9 @@ export default {
}, },
// //
professionalClick (item) { professionalClick (item) {
this.form.professionalCategoryId = item.professionalClassId this.form.professionalCategoryId = item ? item.professionalClassId : ''
this.form.majorId = '' this.form.majorId = ''
this.getProfessionalData(this.form) item && this.getProfessionalData(this.form)
this.initData() this.initData()
}, },
// //
@ -409,7 +412,7 @@ export default {
}, },
// //
majorClick (item) { majorClick (item) {
this.form.majorId = item.professionalId this.form.majorId = item ? item.professionalId : ''
this.initData() this.initData()
}, },
// //
@ -561,6 +564,7 @@ export default {
} }
.inner-wrap { .inner-wrap {
min-height: 394px;
padding: 18px 0; padding: 18px 0;
background: url(../../../assets/images/product/bg1.png) 0 159px no-repeat, background: url(../../../assets/images/product/bg1.png) 0 159px no-repeat,
url(../../../assets/images/product/bg2.png) bottom right no-repeat; url(../../../assets/images/product/bg2.png) bottom right no-repeat;

@ -4,7 +4,7 @@
<Breadcrumb ref="breadcrumb" :data.sync="routes" /> <Breadcrumb ref="breadcrumb" :data.sync="routes" />
<div v-loading="loading"> <div v-loading="loading">
<!-- 非富文本详情页 --> <!-- 非富文本详情页 -->
<template v-if="form.articleTemplate !== 72"> <template v-if="form.articleTemplate !== 80">
<div class="top"> <div class="top">
<el-image class="pic" :src="form.coverImageUrl" :preview-src-list="[form.coverImageUrl]" /> <el-image class="pic" :src="form.coverImageUrl" :preview-src-list="[form.coverImageUrl]" />
<div class="right fadeInRight" id="fields"> <div class="right fadeInRight" id="fields">

File diff suppressed because it is too large Load Diff

@ -7,7 +7,7 @@ const isGta = url.includes('139.159.254.212'); // 国泰安
let host = `${location.origin}/` let host = `${location.origin}/`
if (isDev) { if (isDev) {
host = 'http://192.168.31.217:10000/' host = 'http://192.168.31.217:10000/'
// host = 'https://huorantech.com' host = 'https://huorantech.com'
// host = 'http://139.159.254.212/' // host = 'http://139.159.254.212/'
} }

Loading…
Cancel
Save