产品课程相关

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>
<div class="wrap index">
<el-carousel v-if="modules[0].list.length && modules[0].list.filter(e => e.isEnable).length" class="carousel"
:interval="6000" height="480px" :arrow="(modules[0].list.filter(e => e.isEnable).length > 1) ? 'hover' : 'never'"
:indicator-position="modules[0].list.filter(e => e.isEnable).length > 1 ? '' : 'none'">
<template v-for="(item, i) in modules[0].list">
<el-carousel-item v-if="item.pic && item.isEnable" :key="i">
<div v-if="isImg(item.mediaType)" class="pic" :style="{ backgroundImage: 'url(' + item.pic + ')' }"></div>
<video v-else class="pic" width="100%" height="100%" autoplay muted loop>
<source :src="item.pic" type="video/mp4">
您的浏览器不支持 video 标签
</video>
<div class="text-wrap">
<div class="text" v-html="item.des"></div>
<div v-if="!GTA" class="qrcodes fadeInUp">
<div class="qrcode">
<img width="103" :src="item.weixinPic1" alt="">
<p class="text">{{ item.weixinText1 }}</p>
</div>
<div class="qrcode m-l-30">
<img width="103" :src="item.weixinPic2" alt="">
<p class="text">{{ item.weixinText2 }}</p>
<template v-if="modules.length">
<el-carousel v-if="modules[0].list.length && modules[0].list.filter(e => e.isEnable).length" class="carousel"
:interval="6000" height="480px"
:arrow="(modules[0].list.filter(e => e.isEnable).length > 1) ? 'hover' : 'never'"
:indicator-position="modules[0].list.filter(e => e.isEnable).length > 1 ? '' : 'none'">
<template v-for="(item, i) in modules[0].list">
<el-carousel-item v-if="item.pic && item.isEnable" :key="i">
<div v-if="isImg(item.mediaType)" class="pic" :style="{ backgroundImage: 'url(' + item.pic + ')' }"></div>
<video v-else class="pic" width="100%" height="100%" autoplay muted loop>
<source :src="item.pic" type="video/mp4">
您的浏览器不支持 video 标签
</video>
<div class="text-wrap">
<div class="text" v-html="item.des"></div>
<div v-if="!GTA" class="qrcodes fadeInUp">
<div class="qrcode">
<img width="103" :src="item.weixinPic1" alt="">
<p class="text">{{ item.weixinText1 }}</p>
</div>
<div class="qrcode m-l-30">
<img width="103" :src="item.weixinPic2" alt="">
<p class="text">{{ item.weixinText2 }}</p>
</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>
</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 class="intro">
<div class="inner">
<div class="pics">
<div class="text">
<div class="title-wrap">
<p class="title fadeInLeft">{{ modules[1].form.title }}</p>
<p class="brief fadeInLeft">{{ modules[1].form.subTitle1 }}</p>
<p class="en fadeInRight">{{ modules[1].form.subTitle2 }}</p>
<div class="intro">
<div class="inner">
<div class="pics">
<div class="text">
<div class="title-wrap">
<p class="title fadeInLeft">{{ modules[1].form.title }}</p>
<p class="brief fadeInLeft">{{ modules[1].form.subTitle1 }}</p>
<p class="en fadeInRight">{{ modules[1].form.subTitle2 }}</p>
</div>
<div class="desc animate" v-html="modules[1].form.des"></div>
</div>
<div class="desc animate" v-html="modules[1].form.des"></div>
<img class="bg fadeInRight" :src="modules[1].form.pic" alt="">
</div>
<img class="bg fadeInRight" :src="modules[1].form.pic" alt="">
</div>
</div>
</div>
<div class="service-intro">
<div class="inner">
<h6>{{ modules[2].form.title }}</h6>
<p class="text">{{ modules[2].form.des }}</p>
</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 class="service-intro">
<div class="inner">
<h6>{{ modules[2].form.title }}</h6>
<p class="text">{{ modules[2].form.des }}</p>
</div>
</div>
</div>
<!-- 为什么加入我们 -->
<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>
<ul class="list">
<template v-for="(item, i) in modules[6].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 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="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="client-list" ref="client">
<template v-for="item in modules[9].list">
<li v-if="item.isEnable" :key="item">
<ul class="list">
<template v-for="(item, i) in modules[6].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>
</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>
</template>
</div>
</template>

@ -88,7 +88,7 @@ export default {
}
]
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]
this.loaded = true
} else {
@ -117,7 +117,7 @@ export default {
this.$router.replace((temId === 25 ? '/article/activity' : '/publish/show') + path)
} else {
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]
this.form = data
// tinymcebugpptext-indentfont-size2em

@ -94,7 +94,7 @@
<!-- 列表样式选的是列表详情则直接显示最新一篇文章的详情 -->
<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>
<!-- <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> -->

@ -10,7 +10,7 @@
</div>
</div>
<div class="bg">
<div v-loading="loading" class="bg">
<div class="inner">
<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"
@ -34,13 +34,11 @@
<dd :class="{ active: form.classificationTagId === '' }" @click="changeType('')">不限</dd>
<dd v-for="(item, i) in classifications" :key="i"
:class="{ active: form.classificationTagId === item.categoryId }" @click="changeType(item.categoryId)">
{{
item.name }}</dd>
{{ item.name }}</dd>
</dl>
</div>
<div class="courses">
<!-- <div class="course-bg"></div> -->
<template v-if="list.length">
<ul>
<li v-for="(item, index) in list" :key="index" @click="toDetail(item)">
@ -82,11 +80,11 @@
<script>
import mixins from '@/mixins/page'
import { Loading } from "element-ui";
export default {
mixins: [mixins],
data () {
return {
loading: false,
info: {},
columnBanner: '',
columns: [],
@ -158,9 +156,22 @@ export default {
this.loadIns.close()
})
},
getData () {
this.loadIns = Loading.service()
this.getList()
async getData () {
try {
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 () {
this.page = 1;

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

@ -4,7 +4,7 @@
<Breadcrumb ref="breadcrumb" :data.sync="routes" />
<div v-loading="loading">
<!-- 非富文本详情页 -->
<template v-if="form.articleTemplate !== 72">
<template v-if="form.articleTemplate !== 80">
<div class="top">
<el-image class="pic" :src="form.coverImageUrl" :preview-src-list="[form.coverImageUrl]" />
<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}/`
if (isDev) {
host = 'http://192.168.31.217:10000/'
// host = 'https://huorantech.com'
host = 'https://huorantech.com'
// host = 'http://139.159.254.212/'
}

Loading…
Cancel
Save