提交 b215f671 authored 作者: lihuihui's avatar lihuihui

开发

上级 8789ea47
# Created by .ignore support plugin (hsz.mobi)
### Node template
# Logs
/logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
# nyc test coverage
.nyc_output
# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# TypeScript v1 declaration files
typings/
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
# parcel-bundler cache (https://parceljs.org/)
.cache
# next.js build output
.next
# nuxt.js build output
.nuxt
# Nuxt generate
dist
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless
# IDE / Editor
.idea
# Service worker
sw.*
# macOS
.DS_Store .DS_Store
node_modules
npm-debug.log
upload_tmp
# code protect - prevent submit code below # Vim swap files
/dist *.swp
/client-dist
...@@ -3,14 +3,14 @@ import { wrapFunctional } from './utils' ...@@ -3,14 +3,14 @@ import { wrapFunctional } from './utils'
export { default as Foot } from '../../components/Foot.vue' export { default as Foot } from '../../components/Foot.vue'
export { default as Head } from '../../components/Head.vue' export { default as Head } from '../../components/Head.vue'
export { default as RightAside } from '../../components/rightAside.vue' export { default as RightAside } from '../../components/rightAside.vue'
export { default as AlumnusParty } from '../../components/alumnus/party.vue'
export { default as AlumnusTabNav } from '../../components/alumnus/tabNav.vue'
export { default as AboutContact } from '../../components/about/contact.vue' export { default as AboutContact } from '../../components/about/contact.vue'
export { default as AboutCulture } from '../../components/about/culture.vue' export { default as AboutCulture } from '../../components/about/culture.vue'
export { default as AboutDetail } from '../../components/about/detail.vue' export { default as AboutDetail } from '../../components/about/detail.vue'
export { default as AboutIntroduce } from '../../components/about/introduce.vue' export { default as AboutIntroduce } from '../../components/about/introduce.vue'
export { default as AboutNews } from '../../components/about/news.vue' export { default as AboutNews } from '../../components/about/news.vue'
export { default as AboutTabNav } from '../../components/about/tabNav.vue' export { default as AboutTabNav } from '../../components/about/tabNav.vue'
export { default as AlumnusParty } from '../../components/alumnus/party.vue'
export { default as AlumnusTabNav } from '../../components/alumnus/tabNav.vue'
export { default as HomeAlumniStories } from '../../components/home/alumniStories.vue' export { default as HomeAlumniStories } from '../../components/home/alumniStories.vue'
export { default as HomeBanner } from '../../components/home/banner.vue' export { default as HomeBanner } from '../../components/home/banner.vue'
export { default as HomeDegreeEducation } from '../../components/home/degreeEducation.vue' export { default as HomeDegreeEducation } from '../../components/home/degreeEducation.vue'
...@@ -23,14 +23,14 @@ export { default as HomeServiceCase } from '../../components/home/serviceCase.vu ...@@ -23,14 +23,14 @@ export { default as HomeServiceCase } from '../../components/home/serviceCase.vu
export const LazyFoot = import('../../components/Foot.vue' /* webpackChunkName: "components/foot" */).then(c => wrapFunctional(c.default || c)) export const LazyFoot = import('../../components/Foot.vue' /* webpackChunkName: "components/foot" */).then(c => wrapFunctional(c.default || c))
export const LazyHead = import('../../components/Head.vue' /* webpackChunkName: "components/head" */).then(c => wrapFunctional(c.default || c)) export const LazyHead = import('../../components/Head.vue' /* webpackChunkName: "components/head" */).then(c => wrapFunctional(c.default || c))
export const LazyRightAside = import('../../components/rightAside.vue' /* webpackChunkName: "components/right-aside" */).then(c => wrapFunctional(c.default || c)) export const LazyRightAside = import('../../components/rightAside.vue' /* webpackChunkName: "components/right-aside" */).then(c => wrapFunctional(c.default || c))
export const LazyAlumnusParty = import('../../components/alumnus/party.vue' /* webpackChunkName: "components/alumnus-party" */).then(c => wrapFunctional(c.default || c))
export const LazyAlumnusTabNav = import('../../components/alumnus/tabNav.vue' /* webpackChunkName: "components/alumnus-tab-nav" */).then(c => wrapFunctional(c.default || c))
export const LazyAboutContact = import('../../components/about/contact.vue' /* webpackChunkName: "components/about-contact" */).then(c => wrapFunctional(c.default || c)) export const LazyAboutContact = import('../../components/about/contact.vue' /* webpackChunkName: "components/about-contact" */).then(c => wrapFunctional(c.default || c))
export const LazyAboutCulture = import('../../components/about/culture.vue' /* webpackChunkName: "components/about-culture" */).then(c => wrapFunctional(c.default || c)) export const LazyAboutCulture = import('../../components/about/culture.vue' /* webpackChunkName: "components/about-culture" */).then(c => wrapFunctional(c.default || c))
export const LazyAboutDetail = import('../../components/about/detail.vue' /* webpackChunkName: "components/about-detail" */).then(c => wrapFunctional(c.default || c)) export const LazyAboutDetail = import('../../components/about/detail.vue' /* webpackChunkName: "components/about-detail" */).then(c => wrapFunctional(c.default || c))
export const LazyAboutIntroduce = import('../../components/about/introduce.vue' /* webpackChunkName: "components/about-introduce" */).then(c => wrapFunctional(c.default || c)) export const LazyAboutIntroduce = import('../../components/about/introduce.vue' /* webpackChunkName: "components/about-introduce" */).then(c => wrapFunctional(c.default || c))
export const LazyAboutNews = import('../../components/about/news.vue' /* webpackChunkName: "components/about-news" */).then(c => wrapFunctional(c.default || c)) export const LazyAboutNews = import('../../components/about/news.vue' /* webpackChunkName: "components/about-news" */).then(c => wrapFunctional(c.default || c))
export const LazyAboutTabNav = import('../../components/about/tabNav.vue' /* webpackChunkName: "components/about-tab-nav" */).then(c => wrapFunctional(c.default || c)) export const LazyAboutTabNav = import('../../components/about/tabNav.vue' /* webpackChunkName: "components/about-tab-nav" */).then(c => wrapFunctional(c.default || c))
export const LazyAlumnusParty = import('../../components/alumnus/party.vue' /* webpackChunkName: "components/alumnus-party" */).then(c => wrapFunctional(c.default || c))
export const LazyAlumnusTabNav = import('../../components/alumnus/tabNav.vue' /* webpackChunkName: "components/alumnus-tab-nav" */).then(c => wrapFunctional(c.default || c))
export const LazyHomeAlumniStories = import('../../components/home/alumniStories.vue' /* webpackChunkName: "components/home-alumni-stories" */).then(c => wrapFunctional(c.default || c)) export const LazyHomeAlumniStories = import('../../components/home/alumniStories.vue' /* webpackChunkName: "components/home-alumni-stories" */).then(c => wrapFunctional(c.default || c))
export const LazyHomeBanner = import('../../components/home/banner.vue' /* webpackChunkName: "components/home-banner" */).then(c => wrapFunctional(c.default || c)) export const LazyHomeBanner = import('../../components/home/banner.vue' /* webpackChunkName: "components/home-banner" */).then(c => wrapFunctional(c.default || c))
export const LazyHomeDegreeEducation = import('../../components/home/degreeEducation.vue' /* webpackChunkName: "components/home-degree-education" */).then(c => wrapFunctional(c.default || c)) export const LazyHomeDegreeEducation = import('../../components/home/degreeEducation.vue' /* webpackChunkName: "components/home-degree-education" */).then(c => wrapFunctional(c.default || c))
......
...@@ -5,14 +5,14 @@ const components = { ...@@ -5,14 +5,14 @@ const components = {
Foot: () => import('../../components/Foot.vue' /* webpackChunkName: "components/foot" */).then(c => wrapFunctional(c.default || c)), Foot: () => import('../../components/Foot.vue' /* webpackChunkName: "components/foot" */).then(c => wrapFunctional(c.default || c)),
Head: () => import('../../components/Head.vue' /* webpackChunkName: "components/head" */).then(c => wrapFunctional(c.default || c)), Head: () => import('../../components/Head.vue' /* webpackChunkName: "components/head" */).then(c => wrapFunctional(c.default || c)),
RightAside: () => import('../../components/rightAside.vue' /* webpackChunkName: "components/right-aside" */).then(c => wrapFunctional(c.default || c)), RightAside: () => import('../../components/rightAside.vue' /* webpackChunkName: "components/right-aside" */).then(c => wrapFunctional(c.default || c)),
AlumnusParty: () => import('../../components/alumnus/party.vue' /* webpackChunkName: "components/alumnus-party" */).then(c => wrapFunctional(c.default || c)),
AlumnusTabNav: () => import('../../components/alumnus/tabNav.vue' /* webpackChunkName: "components/alumnus-tab-nav" */).then(c => wrapFunctional(c.default || c)),
AboutContact: () => import('../../components/about/contact.vue' /* webpackChunkName: "components/about-contact" */).then(c => wrapFunctional(c.default || c)), AboutContact: () => import('../../components/about/contact.vue' /* webpackChunkName: "components/about-contact" */).then(c => wrapFunctional(c.default || c)),
AboutCulture: () => import('../../components/about/culture.vue' /* webpackChunkName: "components/about-culture" */).then(c => wrapFunctional(c.default || c)), AboutCulture: () => import('../../components/about/culture.vue' /* webpackChunkName: "components/about-culture" */).then(c => wrapFunctional(c.default || c)),
AboutDetail: () => import('../../components/about/detail.vue' /* webpackChunkName: "components/about-detail" */).then(c => wrapFunctional(c.default || c)), AboutDetail: () => import('../../components/about/detail.vue' /* webpackChunkName: "components/about-detail" */).then(c => wrapFunctional(c.default || c)),
AboutIntroduce: () => import('../../components/about/introduce.vue' /* webpackChunkName: "components/about-introduce" */).then(c => wrapFunctional(c.default || c)), AboutIntroduce: () => import('../../components/about/introduce.vue' /* webpackChunkName: "components/about-introduce" */).then(c => wrapFunctional(c.default || c)),
AboutNews: () => import('../../components/about/news.vue' /* webpackChunkName: "components/about-news" */).then(c => wrapFunctional(c.default || c)), AboutNews: () => import('../../components/about/news.vue' /* webpackChunkName: "components/about-news" */).then(c => wrapFunctional(c.default || c)),
AboutTabNav: () => import('../../components/about/tabNav.vue' /* webpackChunkName: "components/about-tab-nav" */).then(c => wrapFunctional(c.default || c)), AboutTabNav: () => import('../../components/about/tabNav.vue' /* webpackChunkName: "components/about-tab-nav" */).then(c => wrapFunctional(c.default || c)),
AlumnusParty: () => import('../../components/alumnus/party.vue' /* webpackChunkName: "components/alumnus-party" */).then(c => wrapFunctional(c.default || c)),
AlumnusTabNav: () => import('../../components/alumnus/tabNav.vue' /* webpackChunkName: "components/alumnus-tab-nav" */).then(c => wrapFunctional(c.default || c)),
HomeAlumniStories: () => import('../../components/home/alumniStories.vue' /* webpackChunkName: "components/home-alumni-stories" */).then(c => wrapFunctional(c.default || c)), HomeAlumniStories: () => import('../../components/home/alumniStories.vue' /* webpackChunkName: "components/home-alumni-stories" */).then(c => wrapFunctional(c.default || c)),
HomeBanner: () => import('../../components/home/banner.vue' /* webpackChunkName: "components/home-banner" */).then(c => wrapFunctional(c.default || c)), HomeBanner: () => import('../../components/home/banner.vue' /* webpackChunkName: "components/home-banner" */).then(c => wrapFunctional(c.default || c)),
HomeDegreeEducation: () => import('../../components/home/degreeEducation.vue' /* webpackChunkName: "components/home-degree-education" */).then(c => wrapFunctional(c.default || c)), HomeDegreeEducation: () => import('../../components/home/degreeEducation.vue' /* webpackChunkName: "components/home-degree-education" */).then(c => wrapFunctional(c.default || c)),
......
...@@ -9,14 +9,14 @@ You can directly use them in pages and other components without the need to impo ...@@ -9,14 +9,14 @@ You can directly use them in pages and other components without the need to impo
- `<Foot>` | `<foot>` (components/Foot.vue) - `<Foot>` | `<foot>` (components/Foot.vue)
- `<Head>` | `<head>` (components/Head.vue) - `<Head>` | `<head>` (components/Head.vue)
- `<RightAside>` | `<right-aside>` (components/rightAside.vue) - `<RightAside>` | `<right-aside>` (components/rightAside.vue)
- `<AlumnusParty>` | `<alumnus-party>` (components/alumnus/party.vue)
- `<AlumnusTabNav>` | `<alumnus-tab-nav>` (components/alumnus/tabNav.vue)
- `<AboutContact>` | `<about-contact>` (components/about/contact.vue) - `<AboutContact>` | `<about-contact>` (components/about/contact.vue)
- `<AboutCulture>` | `<about-culture>` (components/about/culture.vue) - `<AboutCulture>` | `<about-culture>` (components/about/culture.vue)
- `<AboutDetail>` | `<about-detail>` (components/about/detail.vue) - `<AboutDetail>` | `<about-detail>` (components/about/detail.vue)
- `<AboutIntroduce>` | `<about-introduce>` (components/about/introduce.vue) - `<AboutIntroduce>` | `<about-introduce>` (components/about/introduce.vue)
- `<AboutNews>` | `<about-news>` (components/about/news.vue) - `<AboutNews>` | `<about-news>` (components/about/news.vue)
- `<AboutTabNav>` | `<about-tab-nav>` (components/about/tabNav.vue) - `<AboutTabNav>` | `<about-tab-nav>` (components/about/tabNav.vue)
- `<AlumnusParty>` | `<alumnus-party>` (components/alumnus/party.vue)
- `<AlumnusTabNav>` | `<alumnus-tab-nav>` (components/alumnus/tabNav.vue)
- `<HomeAlumniStories>` | `<home-alumni-stories>` (components/home/alumniStories.vue) - `<HomeAlumniStories>` | `<home-alumni-stories>` (components/home/alumniStories.vue)
- `<HomeBanner>` | `<home-banner>` (components/home/banner.vue) - `<HomeBanner>` | `<home-banner>` (components/home/banner.vue)
- `<HomeDegreeEducation>` | `<home-degree-education>` (components/home/degreeEducation.vue) - `<HomeDegreeEducation>` | `<home-degree-education>` (components/home/degreeEducation.vue)
......
...@@ -13,6 +13,7 @@ import { setContext, getLocation, getRouteData, normalizeError } from './utils' ...@@ -13,6 +13,7 @@ import { setContext, getLocation, getRouteData, normalizeError } from './utils'
/* Plugins */ /* Plugins */
import nuxt_plugin_plugin_430d6d16 from 'nuxt_plugin_plugin_430d6d16' // Source: ./components/plugin.js (mode: 'all') import nuxt_plugin_plugin_430d6d16 from 'nuxt_plugin_plugin_430d6d16' // Source: ./components/plugin.js (mode: 'all')
import nuxt_plugin_axios_65ca092c from 'nuxt_plugin_axios_65ca092c' // Source: ./axios.js (mode: 'all')
import nuxt_plugin_elementui_d905880e from 'nuxt_plugin_elementui_d905880e' // Source: ../plugins/element-ui (mode: 'all') import nuxt_plugin_elementui_d905880e from 'nuxt_plugin_elementui_d905880e' // Source: ../plugins/element-ui (mode: 'all')
import nuxt_plugin_vueswiper_9e702eda from 'nuxt_plugin_vueswiper_9e702eda' // Source: ../plugins/vue-swiper.js (mode: 'client') import nuxt_plugin_vueswiper_9e702eda from 'nuxt_plugin_vueswiper_9e702eda' // Source: ../plugins/vue-swiper.js (mode: 'client')
...@@ -64,7 +65,7 @@ async function createApp(ssrContext, config = {}) { ...@@ -64,7 +65,7 @@ async function createApp(ssrContext, config = {}) {
// here we inject the router and store to all child components, // here we inject the router and store to all child components,
// making them available everywhere as `this.$router` and `this.$store`. // making them available everywhere as `this.$router` and `this.$store`.
const app = { const app = {
head: {"title":"new-node-ezijing","htmlAttrs":{"lang":"en"},"meta":[{"charset":"utf-8"},{"name":"viewport","content":"width=device-width, initial-scale=1"},{"hid":"description","name":"description","content":""}],"link":[{"rel":"icon","type":"image\u002Fx-icon","href":"\u002Ffavicon.ico"}],"style":[],"script":[]}, head: {"title":"紫荆教育-在线MBA课程-MBA在线课程-专业金融在线教育品牌","htmlAttrs":{"lang":"en"},"meta":[{"charset":"utf-8"},{"name":"viewport","content":"width=device-width, initial-scale=1"},{"hid":"description","name":"description","content":""},{"name":"keywords","content":"理财规划师,企业理财顾问师,投资理财顾问,金融理财师,理财培训,企业融资,国家理财规划师,财富管理,资产管理,个人财富管理,证券投资,信托投资,房地产投资"},{"name":"description","content":"紫荆教育依托清华大学和五道口金融学院丰富的教育资源,秉承其严谨务实的教学理念,紧密结合宏观经济转型过程中,企业和个人知识结构升级的需求,融理论大家、实践专家、顶尖专业机构集体智慧于一体,构建以金融为核心的商业实战知识体系,努力为中国社会商业素质提高贡献一己之力.课程分类:企业理财顾问(CFC),理财规划师,财富资产管理,金融创业投资项目."}],"link":[{"rel":"icon","type":"image\u002Fx-icon","href":"https:\u002F\u002Fzws-imgs-pub.ezijing.com\u002Fstatic\u002Fpublic\u002Ff56441ae1441902080226712d4d650aa.ico"}],"style":[],"script":[]},
router, router,
nuxt: { nuxt: {
...@@ -182,6 +183,10 @@ async function createApp(ssrContext, config = {}) { ...@@ -182,6 +183,10 @@ async function createApp(ssrContext, config = {}) {
await nuxt_plugin_plugin_430d6d16(app.context, inject) await nuxt_plugin_plugin_430d6d16(app.context, inject)
} }
if (typeof nuxt_plugin_axios_65ca092c === 'function') {
await nuxt_plugin_axios_65ca092c(app.context, inject)
}
if (typeof nuxt_plugin_elementui_d905880e === 'function') { if (typeof nuxt_plugin_elementui_d905880e === 'function') {
await nuxt_plugin_elementui_d905880e(app.context, inject) await nuxt_plugin_elementui_d905880e(app.context, inject)
} }
......
...@@ -8,12 +8,6 @@ ...@@ -8,12 +8,6 @@
"RightAside": { "RightAside": {
"description": "Auto imported from components/rightAside.vue" "description": "Auto imported from components/rightAside.vue"
}, },
"AlumnusParty": {
"description": "Auto imported from components/alumnus/party.vue"
},
"AlumnusTabNav": {
"description": "Auto imported from components/alumnus/tabNav.vue"
},
"AboutContact": { "AboutContact": {
"description": "Auto imported from components/about/contact.vue" "description": "Auto imported from components/about/contact.vue"
}, },
...@@ -32,6 +26,12 @@ ...@@ -32,6 +26,12 @@
"AboutTabNav": { "AboutTabNav": {
"description": "Auto imported from components/about/tabNav.vue" "description": "Auto imported from components/about/tabNav.vue"
}, },
"AlumnusParty": {
"description": "Auto imported from components/alumnus/party.vue"
},
"AlumnusTabNav": {
"description": "Auto imported from components/alumnus/tabNav.vue"
},
"HomeAlumniStories": { "HomeAlumniStories": {
"description": "Auto imported from components/home/alumniStories.vue" "description": "Auto imported from components/home/alumniStories.vue"
}, },
......
...@@ -4,10 +4,10 @@ ...@@ -4,10 +4,10 @@
<div class="head-top-content"> <div class="head-top-content">
<div class="max-width-content"> <div class="max-width-content">
<img src="https://zws-imgs-pub.ezijing.com/static/public/0411340f9306b908eda54b5d66668f50.png" alt="" @click="goPage('/')"> <img src="https://zws-imgs-pub.ezijing.com/static/public/0411340f9306b908eda54b5d66668f50.png" alt="" @click="goPage('/')">
<div class="login-btn-box"> <!-- <div class="login-btn-box">
<div class="login">快速登录</div> <div class="login">快速登录</div>
<div class="register">注册</div> <div class="register">注册</div>
</div> </div> -->
</div> </div>
</div> </div>
<div class="head-nav-content max-width-content"> <div class="head-nav-content max-width-content">
...@@ -16,7 +16,12 @@ ...@@ -16,7 +16,12 @@
<li :key="index"> <li :key="index">
<div :class="getNameActive(item)"> <div :class="getNameActive(item)">
<template v-if="!item.path"> <template v-if="!item.path">
{{ item.name }} <template v-if="item.click">
<span @click="showEnroll">{{ item.name }}</span>
</template>
<template v-else>
{{ item.name }}
</template>
</template> </template>
<template v-else> <template v-else>
<nuxt-link :to="item.path">{{ item.name }}</nuxt-link> <nuxt-link :to="item.path">{{ item.name }}</nuxt-link>
...@@ -25,21 +30,13 @@ ...@@ -25,21 +30,13 @@
<div class="child-item" v-if="item.childern"> <div class="child-item" v-if="item.childern">
<div class="one-level"> <div class="one-level">
<template v-for="(level2Item, level2Index) in item.childern"> <template v-for="(level2Item, level2Index) in item.childern">
<div :class="$route.path === level2Item.path ? 'li active' : 'li'" :key="level2Index + 'level2'" @mouseenter="levelShow(level2Item)" @mouseleave="levelShow(level2Item, 'out')"> <div :class="$route.path === level2Item.path || level2Item.isShow ? 'li active' : 'li'" :key="level2Index + 'level2'" @mouseenter="levelShow(level2Item)" @mouseleave="levelShow(level2Item, 'out')">
<div <div
@click="goPage(level2Item.path, level2Item.pathType)" @click="goPage(level2Item.path, level2Item.pathType)"
class="name" class="name"
> >
{{ level2Item.name }} {{ level2Item.name }}
</div> </div>
<!-- <div class="name">
<template v-if="!level2Item.path">
{{ level2Item.name }}
</template>
<template v-else>
<nuxt-link :to="level2Item.path">{{ level2Item.name }}</nuxt-link>
</template>
</div> -->
<div class="el-icon-arrow-right" v-if="level2Item.childern"></div> <div class="el-icon-arrow-right" v-if="level2Item.childern"></div>
</div> </div>
</template> </template>
...@@ -244,7 +241,8 @@ ...@@ -244,7 +241,8 @@
] ]
}, },
{ {
name: '我要报名' name: '我要报名',
click: 1
} }
], ],
time: null time: null
...@@ -293,6 +291,12 @@ ...@@ -293,6 +291,12 @@
} }
}) })
this.$forceUpdate() this.$forceUpdate()
},
showEnroll() {
const dom = document.getElementById('show-enroll')
const dom2 = document.getElementById('show-enroll-content')
dom.style.display = 'block'
dom2.style.display = 'block'
} }
}, },
computed: { computed: {
......
<template> <template>
<div class="contact-content-box"> <div class="contact-content-box">
<img src="https://zws-imgs-pub.ezijing.com/static/public/ae02f022dd9ab2ffec155b98a9c5f809.png" alt=""> <div id="allmap"></div>
<!-- <img src="https://zws-imgs-pub.ezijing.com/static/public/ae02f022dd9ab2ffec155b98a9c5f809.png" alt=""> -->
<div class="con-mian"> <div class="con-mian">
<div class="tit">联系我们</div> <div class="tit">联系我们</div>
<div class="info"> <div class="info">
...@@ -33,10 +34,15 @@ ...@@ -33,10 +34,15 @@
</div> </div>
</template> </template>
<script> <script>
import map from "@/plugins/map.js"
export default { export default {
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
#allmap{
width: 1000px;
height: 320px;
}
.contact-content-box{ .contact-content-box{
width: 1000px; width: 1000px;
padding-bottom: 100px; padding-bottom: 100px;
......
...@@ -4,12 +4,12 @@ ...@@ -4,12 +4,12 @@
<div class="el-icon-arrow-left"></div> <div class="el-icon-arrow-left"></div>
<div class="text">返回</div> <div class="text">返回</div>
</div> </div>
<div class="times">2020 / 10 /16</div> <div class="times">{{ data.created_time }}</div>
<div class="titles">紫荆·国际金融人才论坛重磅发布“中国未来金融领袖计划”</div> <div class="titles">{{ data.title }}</div>
<div class="article-content"> <div class="article-content" v-html="data.content">
当今世界正经历百年未有之大变局,中国正在努力构建“双循环”新格局,深化金融改革信号明确,我们迫切需要什么样的金融人才?如何培养担当大任的金融领军人才? <!-- 当今世界正经历百年未有之大变局,中国正在努力构建“双循环”新格局,深化金融改革信号明确,我们迫切需要什么样的金融人才?如何培养担当大任的金融领军人才?
10月16日上午,由紫荆教育、印第安纳大学KELLEY商学院主办,中国教育发展战略学会支持的2020(第七届)紫荆·国际金融人才论坛暨“中国未来金融领袖计划”新闻发布会在北京威斯汀酒店举行,权威大咖云集,观点激荡碰撞出独家思想盛宴。紫荆教育董事长张博、资深副总裁金梅,全国社会保障基金理事会原副理事长、中国基金业协会母基金专委会主席王忠民,中国银行业协会东方银行业高级管理人员研修院院长助理唐绍云,中国教育发展战略学会教育认证专业委员会秘书长顾占春,清华大学公共管理学院中国公共领导力中心副主任于永达,清华大学五道口金融学院业界导师、香港致富证券首席经济学家肇越,天风证券首席风险官王勇,人民网、新华网、新浪网、凤凰网、搜狐视频、网易网等媒体朋友参加了论坛。 10月16日上午,由紫荆教育、印第安纳大学KELLEY商学院主办,中国教育发展战略学会支持的2020(第七届)紫荆·国际金融人才论坛暨“中国未来金融领袖计划”新闻发布会在北京威斯汀酒店举行,权威大咖云集,观点激荡碰撞出独家思想盛宴。紫荆教育董事长张博、资深副总裁金梅,全国社会保障基金理事会原副理事长、中国基金业协会母基金专委会主席王忠民,中国银行业协会东方银行业高级管理人员研修院院长助理唐绍云,中国教育发展战略学会教育认证专业委员会秘书长顾占春,清华大学公共管理学院中国公共领导力中心副主任于永达,清华大学五道口金融学院业界导师、香港致富证券首席经济学家肇越,天风证券首席风险官王勇,人民网、新华网、新浪网、凤凰网、搜狐视频、网易网等媒体朋友参加了论坛。
<img src="https://zws-imgs-pub.ezijing.com/static/public/c563a1e422b67a14b9fb22ea86d56e0b.png" alt=""> <img src="https://zws-imgs-pub.ezijing.com/static/public/c563a1e422b67a14b9fb22ea86d56e0b.png" alt=""> -->
</div> </div>
<div class="recommend-content"> <div class="recommend-content">
<div class="titles"> <div class="titles">
...@@ -17,25 +17,56 @@ ...@@ -17,25 +17,56 @@
<div class="text">相关推荐</div> <div class="text">相关推荐</div>
</div> </div>
<ul class="list-box"> <ul class="list-box">
<li> <li v-for="(item, index) in listData" :key="index" @click="goPage(item)">
<img src="https://zws-imgs-pub.ezijing.com/static/public/c563a1e422b67a14b9fb22ea86d56e0b.png" alt=""> <img :src="item.photo_uri" alt="">
<div class="dec">清华、交大等名校本硕博齐聚,全美第一在线金融硕士盛大开学!</div> <div class="dec">{{ item.title }}</div>
</li>
<li>
<img src="https://zws-imgs-pub.ezijing.com/static/public/c563a1e422b67a14b9fb22ea86d56e0b.png" alt="">
<div class="dec">清华、交大等名校本硕博齐聚,全美第一在线金融硕士盛大开学!</div>
</li>
<li>
<img src="https://zws-imgs-pub.ezijing.com/static/public/c563a1e422b67a14b9fb22ea86d56e0b.png" alt="">
<div class="dec">清华、交大等名校本硕博齐聚,全美第一在线金融硕士盛大开学!</div>
</li> </li>
</ul> </ul>
</div> </div>
<div class="more-btn" @click="$router.go(-1)">查看更多</div> <div class="more-btn" @click="$router.push({ path: '/about/news' })">查看更多</div>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data () {
return {
data: {},
listData: []
}
},
async fetch() {
this.data = await this.$axios.$get(`/api/zws/v1/cms/news/${this.$route.query.id}`).then(res => {
return res
})
const params = {
page: 1,
per_page: 100,
type: 74,
project_id: 1013
}
this.listData = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => {
return res.filter((item, index) => {
return index < 3
})
})
},
mounted () {
},
methods: {
goPage(item) {
if (item.source === '') {
this.$router.push({
path: '/about/news-detail',
query: {
id: item.id
}
})
} else {
window.open(item.source)
}
}
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
...@@ -125,6 +156,8 @@ export default { ...@@ -125,6 +156,8 @@ export default {
} }
} }
.more-btn{ .more-btn{
position: relative;
z-index: 999;
width: 164px; width: 164px;
height: 40px; height: 40px;
border: 1px solid #D3D3D3; border: 1px solid #D3D3D3;
......
...@@ -2,32 +2,49 @@ ...@@ -2,32 +2,49 @@
<div class="news-content-box"> <div class="news-content-box">
<img src="https://zws-imgs-pub.ezijing.com/static/public/a72ef577c9bae694c6bfc33e5bfc93af.png" alt="" class="banner"> <img src="https://zws-imgs-pub.ezijing.com/static/public/a72ef577c9bae694c6bfc33e5bfc93af.png" alt="" class="banner">
<ul class="list-content"> <ul class="list-content">
<li @click="goDetail"> <template v-for="(item, index) in listData">
<img src="https://zws-imgs-pub.ezijing.com/static/public/a72ef577c9bae694c6bfc33e5bfc93af.png" alt=""> <li @click="goDetail(item)" :key="index">
<div class="right-con"> <img :src="item.photo_uri" alt="">
<div class="time">2020 / 10 /16</div> <div class="right-con">
<div class="title">紫荆·国际金融人才论坛重磅发布<br />“中国未来金融领袖计划”</div> <div class="time">{{ item.updated_time }}</div>
<div class="text">10月16日上午,由紫荆教育、印第安纳大学KELLEY商学院主办,中国教育发展战略学会支持的2020(第七届)紫荆·国际金融人才论坛暨“中国未来金融领袖计划”新闻发布会在北京威斯汀酒店举行,权威大咖云集,观点激荡碰撞出独家思想盛宴……</div> <div class="title">{{ item.title }}</div>
</div> <div class="text">{{ item.summary }}</div>
</li> </div>
<li> </li>
<img src="https://zws-imgs-pub.ezijing.com/static/public/a72ef577c9bae694c6bfc33e5bfc93af.png" alt=""> </template>
<div class="right-con">
<div class="time">2020 / 10 /16</div>
<div class="title">紫荆·国际金融人才论坛重磅发布<br />“中国未来金融领袖计划”</div>
<div class="text">10月16日上午,由紫荆教育、印第安纳大学KELLEY商学院主办,中国教育发展战略学会支持的2020(第七届)紫荆·国际金融人才论坛暨“中国未来金融领袖计划”新闻发布会在北京威斯汀酒店举行,权威大咖云集,观点激荡碰撞出独家思想盛宴……</div>
</div>
</li>
</ul> </ul>
</div> </div>
</template> </template>
<script> <script>
export default { export default {
data() {
return {
listData: []
}
},
async fetch() {
const params = {
page: 1,
per_page: 100,
type: 74,
project_id: 1013
}
this.listData = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => {
return res
})
},
methods: { methods: {
goDetail() { goDetail(item) {
this.$router.push({ if (item.source === '') {
path: '/about/news-detail' this.$router.push({
}) path: '/about/news-detail',
query: {
id: item.id
}
})
} else {
window.open(item.source)
}
} }
} }
} }
...@@ -77,6 +94,11 @@ export default { ...@@ -77,6 +94,11 @@ export default {
line-height: 32px; line-height: 32px;
color: #141414; color: #141414;
margin-top: 10px; margin-top: 10px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
} }
.text{ .text{
font-size: 14px; font-size: 14px;
...@@ -84,6 +106,11 @@ export default { ...@@ -84,6 +106,11 @@ export default {
line-height: 24px; line-height: 24px;
color: #666666; color: #666666;
margin-top: 15px; margin-top: 15px;
overflow: hidden;
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 5;
-webkit-box-orient: vertical;
} }
} }
} }
......
...@@ -8,14 +8,13 @@ ...@@ -8,14 +8,13 @@
</div> </div>
<div class="small-tit max-width">You are What you together,结识5000+ 同样优秀的人!</div> <div class="small-tit max-width">You are What you together,结识5000+ 同样优秀的人!</div>
<div class="swiper-content"> <div class="swiper-content">
<div v-swiper:mySwiper="swiperOption"> <div v-swiper:mySwiper="swiperOption" ref="mySwiper" v-if="isSwiper">
<div class="swiper-wrapper"> <div class="swiper-wrapper">
<div class="swiper-slide" v-for="(banner, index) in banners" :key="index"> <div class="swiper-slide" v-for="(item, index) in listData" :key="index" @click="goPage(item)">
<img :src="banner.url"> <img :src="item.photo_uri">
<div class="text">{{ banner.text }}</div> <div class="text">{{ item.title }}</div>
</div> </div>
</div> </div>
<!-- <div class="swiper-pagination swiper-pagination-bullets"></div> -->
</div> </div>
</div> </div>
</div> </div>
...@@ -24,43 +23,55 @@ ...@@ -24,43 +23,55 @@
export default { export default {
data () { data () {
return { return {
banners: [ listData: [],
{
url: 'https://zws-imgs-pub.ezijing.com/static/public/d8d4500d959914481b2b4420931442f9.png',
text: '123'
},
{
url: 'https://zws-imgs-pub.ezijing.com/static/public/d8d4500d959914481b2b4420931442f9.png',
text: '456'
},
{
url: 'https://zws-imgs-pub.ezijing.com/static/public/d8d4500d959914481b2b4420931442f9.png',
text: '789'
}
// 'https://zws-imgs-pub.ezijing.com/static/public/d8d4500d959914481b2b4420931442f9.png',
// 'https://zws-imgs-pub.ezijing.com/static/public/d8d4500d959914481b2b4420931442f9.png'
],
// 轮播图配置信息, 更多请参考 swiper.js 中文网,上面很详细。 // 轮播图配置信息, 更多请参考 swiper.js 中文网,上面很详细。
swiperOption: { swiperOption: {
// speed: 400, observer: true,
// autoplay: true, observeParents: true,
// delay: 3000, speed: 400,
// observer: true, autoplay: true,
// observerParent: true, delay: 3000,
// observeSlideChildren: true,
// direction: 'horizontal',
// paginationClickable: true,
// autoplayDisableOnInteraction: false,
// pagination: {
// el: '.swiper-pagination',
// clickable: true
// }
loop: true, loop: true,
slidesPerView: 4, slidesPerView: 4,
centeredSlides: true, centeredSlides: true,
// paginationClickable: true,
spaceBetween: 20, spaceBetween: 20,
autoHeight: true autoHeight: true,
paginationClickable: true,
autoplayDisableOnInteraction: false
},
isSwiper: false
}
},
async fetch() {
const params = {
page: 1,
per_page: 100,
type: 71,
project_id: 1013
}
this.listData = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => {
return res
})
},
computed: {
swiper() {
return this.$refs.mySwiper.swiper;
}
},
mounted() {
this.isSwiper = true
},
methods: {
goPage(item) {
if (item.source === '') {
this.$router.push({
path: '/about/news-detail',
query: {
id: item.id
}
})
} else {
window.open(item.source)
} }
} }
} }
...@@ -100,7 +111,7 @@ export default { ...@@ -100,7 +111,7 @@ export default {
} }
.swiper-content{ .swiper-content{
padding-top: 37px; padding-top: 37px;
width: 100%; // width: 100%;
.swiper-slide{ .swiper-slide{
position: relative; position: relative;
width: 388px; width: 388px;
...@@ -116,6 +127,9 @@ export default { ...@@ -116,6 +127,9 @@ export default {
box-sizing: border-box; box-sizing: border-box;
font-size: 18px; font-size: 18px;
color: #FEFEFE; color: #FEFEFE;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
} }
img{ img{
width: 100%; width: 100%;
......
...@@ -2,33 +2,35 @@ ...@@ -2,33 +2,35 @@
<div class="banner-content"> <div class="banner-content">
<div v-swiper:mySwiper="swiperOption"> <div v-swiper:mySwiper="swiperOption">
<div class="swiper-wrapper"> <div class="swiper-wrapper">
<div class="swiper-slide" v-for="(banner, index) in banners" :key="index"> <div class="swiper-slide" v-for="(item, index) in bannerData" :key="index">
<img :src="banner"> <img :src="item.image" @click="openPage(item.action)">
</div> </div>
</div> </div>
<!-- <div class="swiper-pagination swiper-pagination-bullets"></div> --> <!-- <div class="swiper-pagination swiper-pagination-bullets"></div> -->
</div> </div>
<div class="prev-button"></div>
<div class="next-button"></div>
</div> </div>
</template> </template>
<script> <script>
const _this = this
export default { export default {
data () { data () {
return { return {
banners: [ bannerData: [],
'https://zws-imgs-pub.ezijing.com/static/public/c563a1e422b67a14b9fb22ea86d56e0b.png',
'https://zws-imgs-pub.ezijing.com/static/public/c563a1e422b67a14b9fb22ea86d56e0b.png',
'https://zws-imgs-pub.ezijing.com/static/public/c563a1e422b67a14b9fb22ea86d56e0b.png',
'https://zws-imgs-pub.ezijing.com/static/public/c563a1e422b67a14b9fb22ea86d56e0b.png',
'https://zws-imgs-pub.ezijing.com/static/public/c563a1e422b67a14b9fb22ea86d56e0b.png'
],
// 轮播图配置信息, 更多请参考 swiper.js 中文网,上面很详细。 // 轮播图配置信息, 更多请参考 swiper.js 中文网,上面很详细。
swiperOption: { swiperOption: {
// speed: 400, speed: 400,
// autoplay: true, autoplay: true,
// delay: 3000, delay: 3000,
// observer: true, observer: true,
// observerParent: true, observerParent: true,
navigation: {
nextEl: '.next-button',
prevEl: '.prev-button'
},
loop: true,
autoplayDisableOnInteraction: false
// observeSlideChildren: true, // observeSlideChildren: true,
// direction: 'horizontal', // direction: 'horizontal',
// paginationClickable: true, // paginationClickable: true,
...@@ -39,12 +41,29 @@ ...@@ -39,12 +41,29 @@
// } // }
} }
} }
},
async fetch() {
const params = {
terminal_type: 'WWW',
ad_position_uri: 'www.ezijing.com'
}
this.bannerData = await this.$axios.$get('/api/zws/v1/marketing/advertisements', { params }).then(res => {
return res.filter((item, index) => {
return index < 4
})
})
},
methods: {
openPage(path) {
path !== '' && window.open(path)
}
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.banner-content{ .banner-content{
position: relative;
width: 100%; width: 100%;
.swiper-wrapper{ .swiper-wrapper{
width: 100%; width: 100%;
...@@ -58,5 +77,27 @@ ...@@ -58,5 +77,27 @@
} }
} }
} }
.prev-button{
position: absolute;
top: 50%;
left: 30px;
width: 20px;
height: 35px;
background: url(https://zws-imgs-pub.ezijing.com/static/public/beb733466e5ab0168b459a55d198b084.png);
background-size: 100% 100%;
z-index: 999;
cursor: pointer;
}
.next-button{
position: absolute;
top: 50%;
right: 30px;
width: 20px;
height: 35px;
background: url(https://zws-imgs-pub.ezijing.com/static/public/e97f45b23a3e5ec4913f0069cc714baf.png);
background-size: 100% 100%;
z-index: 999;
cursor: pointer;
}
} }
</style> </style>
\ No newline at end of file
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<div class="nav-content"> <div class="nav-content">
<ul class="tab-left"> <ul class="tab-left">
<li <li
@click="changeIndex(index)" @mouseover="changeIndex(index)"
:class="indexActive === index && 'active'" :class="indexActive === index && 'active'"
v-for="(item, index) in data" v-for="(item, index) in data"
:key="index" :key="index"
......
...@@ -5,15 +5,15 @@ ...@@ -5,15 +5,15 @@
<div class="line"></div> <div class="line"></div>
<div class="text">校长寄语</div> <div class="text">校长寄语</div>
</div> </div>
<div class="right-text"> <div class="right-text" @click="$router.push({ path: '/about/news' })">
查看更多+ 查看更多+
</div> </div>
</div> </div>
<div class="swiper-content"> <div class="swiper-content">
<div v-swiper:mySwiper="swiperOption"> <div v-swiper:mySwiper="swiperOption">
<div class="swiper-wrapper"> <div class="swiper-wrapper">
<div class="swiper-slide" v-for="(banner, index) in banners" :key="index"> <div class="swiper-slide" v-for="(item, index) in listData" :key="index" @click="goPage(item)">
<img :src="banner"> <img :src="item.photo_uri">
</div> </div>
</div> </div>
<div class="swiper-pagination swiper-pagination-bullets"></div> <div class="swiper-pagination swiper-pagination-bullets"></div>
...@@ -25,22 +25,12 @@ ...@@ -25,22 +25,12 @@
export default { export default {
data() { data() {
return { return {
banners: [ listData: [],
'https://zws-imgs-pub.ezijing.com/static/public/3e6c68d35e092893d9843b388ab90490.png',
'https://zws-imgs-pub.ezijing.com/static/public/3e6c68d35e092893d9843b388ab90490.png',
// 'https://zws-imgs-pub.ezijing.com/static/public/3e6c68d35e092893d9843b388ab90490.png',
// 'https://zws-imgs-pub.ezijing.com/static/public/3e6c68d35e092893d9843b388ab90490.png',
// 'https://zws-imgs-pub.ezijing.com/static/public/3e6c68d35e092893d9843b388ab90490.png'
],
swiperOption: { swiperOption: {
// speed: 400, speed: 400,
// autoplay: true, autoplay: true,
// delay: 3000, delay: 3000,
// observer: true, loop: true,
// observerParent: true,
// observeSlideChildren: true,
// paginationClickable: true,
// autoplayDisableOnInteraction: false,
pagination: { pagination: {
el: '.swiper-pagination', el: '.swiper-pagination',
clickable: true clickable: true
...@@ -50,6 +40,35 @@ export default { ...@@ -50,6 +40,35 @@ export default {
autoHeight: true autoHeight: true
} }
} }
},
async fetch() {
const params = {
page: 1,
per_page: 100,
type: 70,
project_id: 1013
}
this.listData = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => {
console.log(params)
return res
})
},
mounted() {
console.log(111111)
},
methods: {
goPage(item) {
if (item.source === '') {
this.$router.push({
path: '/about/news-detail',
query: {
id: item.id
}
})
} else {
window.open(item.source)
}
}
} }
} }
</script> </script>
......
...@@ -5,54 +5,30 @@ ...@@ -5,54 +5,30 @@
<div class="line"></div> <div class="line"></div>
<div class="text">公开课</div> <div class="text">公开课</div>
</div> </div>
<div class="right-text"> <div class="right-text" @click="$router.push({ path: '/about/news' })">
查看更多+ 查看更多+
</div> </div>
</div> </div>
<div class="content-box"> <div class="content-box">
<img src="https://zws-imgs-pub.ezijing.com/static/public/c04caada9ed0f473c786e21eff83c4b9.png" alt="" class="banner"> <img src="https://zws-imgs-pub.ezijing.com/static/public/c04caada9ed0f473c786e21eff83c4b9.png" alt="" class="banner">
<ul> <ul>
<li> <li v-for="(item, index) in listData" :key="index">
<div class="title">发现注意力的秘密—儿童心理发展系列课第一课</div> <div class="title">{{ item.title }}</div>
<div class="con-txt">孩子为什么那么粗心? 为什么玩游戏就聚精会神? 为什么学习却三心二意? 孩子为什么那么粗心?......</div> <div class="con-txt">{{ item.summary }}</div>
<div class="info-box">
<div class="time">2020-06-01</div>
<div class="look-num">
<div class="icon"></div>
<div class="num">36023</div>
</div>
<div class="btn">免费学习</div>
</div>
</li>
<li>
<div class="title">发现注意力的秘密—儿童心理发展系列课第一课</div>
<div class="con-txt">孩子为什么那么粗心? 为什么玩游戏就聚精会神? 为什么学习却三心二意? 孩子为什么那么粗心?......</div>
<div class="info-box">
<div class="time">2020-06-01</div>
<div class="look-num">
<div class="icon"></div>
<div class="num">36023</div>
</div>
<div class="btn">免费学习</div>
</div>
</li>
<li>
<div class="title">发现注意力的秘密—儿童心理发展系列课第一课</div>
<div class="con-txt">孩子为什么那么粗心? 为什么玩游戏就聚精会神? 为什么学习却三心二意? 孩子为什么那么粗心?......</div>
<div class="info-box"> <div class="info-box">
<div class="time">2020-06-01</div> <div class="time">{{ item.updated_time.slice(0, item.updated_time.indexOf(' ')) }}</div>
<div class="look-num"> <div class="look-num">
<div class="icon"></div> <div class="icon"></div>
<div class="num">36023</div> <div class="num">36023</div>
</div> </div>
<div class="btn">免费学习</div> <div class="btn" @click="goPage(item)">免费学习</div>
</div> </div>
</li> </li>
<li> <li>
<img src="https://zws-imgs-pub.ezijing.com/static/public/5a92e49bf43a7c7a7fb75cd1415ffc2b.png" alt="" class="logo"> <img src="https://zws-imgs-pub.ezijing.com/static/public/5a92e49bf43a7c7a7fb75cd1415ffc2b.png" alt="" class="logo">
<div class="wecome">HI!欢迎回来</div> <div class="wecome">HI!欢迎回来</div>
<div class="course-btn">课程预约</div> <div class="course-btn" @click="showEnroll">课程预约</div>
<div class="login-txt">注册/登陆</div> <div class="login-txt" @click="showEnroll">注册/登陆</div>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -60,6 +36,44 @@ ...@@ -60,6 +36,44 @@
</template> </template>
<script> <script>
export default { export default {
data() {
return {
listData: []
}
},
async fetch() {
const params = {
page: 1,
per_page: 100,
type: 72,
project_id: 1013
}
this.listData = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => {
return res.filter((item, index) => {
return index < 3
})
})
},
methods: {
goPage(item) {
if (item.source === '') {
this.$router.push({
path: '/about/news-detail',
query: {
id: item.id
}
})
} else {
window.open(item.source)
}
},
showEnroll() {
const dom = document.getElementById('show-enroll')
const dom2 = document.getElementById('show-enroll-content')
dom.style.display = 'block'
dom2.style.display = 'block'
}
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
...@@ -156,6 +170,10 @@ export default { ...@@ -156,6 +170,10 @@ export default {
line-height: 28px; line-height: 28px;
color: #666666; color: #666666;
margin-top: 10px; margin-top: 10px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 3;
overflow: hidden;
} }
.info-box{ .info-box{
display: flex; display: flex;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<div class="line"></div> <div class="line"></div>
<div class="text">项目公告</div> <div class="text">项目公告</div>
</div> </div>
<div class="right-text"> <div class="right-text" @click="$router.push('/about/news')">
查看更多+ 查看更多+
</div> </div>
</div> </div>
...@@ -25,26 +25,12 @@ ...@@ -25,26 +25,12 @@
</div> </div>
<div class="right-content"> <div class="right-content">
<ul> <ul>
<li> <li v-for="(item, index) in listData" :key="index" @click="goPage(item)">
<div class="time-block"> <div class="time-block">
<div class="m-time">1/14</div> <div class="m-time">{{ item.dateMonth }}</div>
<div class="t-time">2021</div> <div class="t-time">{{ item.dateYear }}</div>
</div> </div>
<div class="text">紫荆·国际金融人才论坛重磅发布“中国未来金融领袖计划”</div> <div class="text">{{ item.title }}</div>
</li>
<li>
<div class="time-block">
<div class="m-time">1/14</div>
<div class="t-time">2021</div>
</div>
<div class="text">紫荆·国际金融人才论坛重磅发布“中国未来金融领袖计划”</div>
</li>
<li>
<div class="time-block">
<div class="m-time">1/14</div>
<div class="t-time">2021</div>
</div>
<div class="text">紫荆·国际金融人才论坛重磅发布“中国未来金融领袖计划”</div>
</li> </li>
</ul> </ul>
</div> </div>
...@@ -53,6 +39,45 @@ ...@@ -53,6 +39,45 @@
</template> </template>
<script> <script>
export default { export default {
data() {
return {
listData: []
}
},
async fetch() {
const params = {
page: 1,
per_page: 100,
type: 75,
project_id: 1013
}
this.listData = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => {
const data = []
res.map((item, index) => {
if (index < 3) {
item.dateYear = item.updated_time.slice(0, 4)
item.dateMonth = item.updated_time.slice(5, 10).replace('-', '/')
data.push(item)
}
})
return data
})
},
methods: {
goPage(item) {
if (item.source === '') {
this.$router.push({
path: '/about/news-detail',
query: {
id: item.id
}
})
} else {
window.open(item.source)
}
}
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
...@@ -143,6 +168,7 @@ export default { ...@@ -143,6 +168,7 @@ export default {
padding: 19px 0 15px; padding: 19px 0 15px;
align-items: center; align-items: center;
border-top: 1px solid #E3E3E3; border-top: 1px solid #E3E3E3;
cursor: pointer;
&:nth-child(1){ &:nth-child(1){
border: none; border: none;
} }
...@@ -181,6 +207,10 @@ export default { ...@@ -181,6 +207,10 @@ export default {
line-height: 24px; line-height: 24px;
color: #424242; color: #424242;
margin-left: 15px; margin-left: 15px;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
overflow: hidden;
} }
} }
} }
......
...@@ -12,9 +12,9 @@ ...@@ -12,9 +12,9 @@
<div class="swiper-content"> <div class="swiper-content">
<div v-swiper:mySwiper="swiperOption"> <div v-swiper:mySwiper="swiperOption">
<div class="swiper-wrapper"> <div class="swiper-wrapper">
<div class="swiper-slide" v-for="(banner, index) in banners" :key="index"> <div class="swiper-slide" v-for="(item, index) in listData" :key="index" @click="goPage(item)">
<img :src="banner"> <img :src="item.photo_uri">
<div class="pop-txt-box">“数字化实训系统新实践”—走进深职院智慧教室现场</div> <div class="pop-txt-box">{{ item.title }}</div>
</div> </div>
</div> </div>
<!-- <div class="swiper-pagination swiper-pagination-bullets"></div> --> <!-- <div class="swiper-pagination swiper-pagination-bullets"></div> -->
...@@ -28,34 +28,44 @@ ...@@ -28,34 +28,44 @@
export default { export default {
data () { data () {
return { return {
banners: [ listData: [],
'https://zws-imgs-pub.ezijing.com/static/public/d2dcebb6bb51fb507d52165eafd56ea3.png',
'https://zws-imgs-pub.ezijing.com/static/public/d2dcebb6bb51fb507d52165eafd56ea3.png',
'https://zws-imgs-pub.ezijing.com/static/public/d2dcebb6bb51fb507d52165eafd56ea3.png',
'https://zws-imgs-pub.ezijing.com/static/public/d2dcebb6bb51fb507d52165eafd56ea3.png',
'https://zws-imgs-pub.ezijing.com/static/public/d2dcebb6bb51fb507d52165eafd56ea3.png'
],
// 轮播图配置信息, 更多请参考 swiper.js 中文网,上面很详细。
swiperOption: { swiperOption: {
// speed: 400, speed: 400,
// autoplay: true, autoplay: true,
// delay: 3000, delay: 3000,
// observer: true, observer: true,
// observerParent: true, observerParent: true,
// observeSlideChildren: true,
// direction: 'horizontal',
// paginationClickable: true,
// autoplayDisableOnInteraction: false,
// pagination: {
// el: '.swiper-pagination',
// clickable: true
// }
navigation: { navigation: {
nextEl: '.next-button', nextEl: '.next-button',
prevEl: '.prev-button' prevEl: '.prev-button'
} }
} }
} }
},
async fetch() {
const params = {
page: 1,
per_page: 100,
type: 73,
project_id: 1013
}
this.listData = await this.$axios.$get('/api/zws/v1/cms/news', { params }).then(res => {
return res
})
},
methods: {
goPage(item) {
if (item.source === '') {
this.$router.push({
path: '/about/news-detail',
query: {
id: item.id
}
})
} else {
window.open(item.source)
}
}
} }
} }
</script> </script>
...@@ -108,6 +118,9 @@ export default { ...@@ -108,6 +118,9 @@ export default {
line-height: 76px; line-height: 76px;
font-size: 24px; font-size: 24px;
color: #FFFFFF; color: #FFFFFF;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;
} }
} }
.prev-button{ .prev-button{
......
...@@ -3,15 +3,15 @@ ...@@ -3,15 +3,15 @@
<ul class="tab_btns"> <ul class="tab_btns">
<li <li
:class="{ enroll: true, active: tabBtnActive && tabBtnTarget === 'enroll' }" :class="{ enroll: true, active: tabBtnActive && tabBtnTarget === 'enroll' }"
@mouseover="handleMsOver('enroll')" @mouseenter="handleMsOver('enroll')"
@mouseout="handleMsOut" @mouseleave="handleMsOut"
> >
<p>报名咨询</p> <p>报名咨询</p>
</li> </li>
<li <li
:class="{ wx: true, active: tabBtnActive && tabBtnTarget === 'wx' }" :class="{ wx: true, active: tabBtnActive && tabBtnTarget === 'wx' }"
@mouseover="handleMsOver('wx')" @mouseenter="handleMsOver('wx')"
@mouseout="handleMsOut" @mouseleave="handleMsOut"
> >
<p>关注我们</p> <p>关注我们</p>
</li> </li>
...@@ -21,12 +21,26 @@ ...@@ -21,12 +21,26 @@
enter-active-class="animated tada" enter-active-class="animated tada"
leave-active-class="animated bounceOutRight" leave-active-class="animated bounceOutRight"
> >
<div v-show="tabBtnActive" class="tab_cont" @mouseover="handleMsOver('')" @mouseout="handleMsOut"> <div id="show-enroll" v-show="tabBtnActive" class="tab_cont" @mouseover="handleMsOver('')" @mouseout="handleMsOut">
<div class="enroll_cont" v-show="tabBtnTarget === 'enroll'"> <div class="enroll_cont" id="show-enroll-content" v-show="tabBtnTarget === 'enroll'">
<h5>报名咨询</h5> <h5>报名咨询</h5>
<p><el-input v-model="formInfo.name" placeholder="请输入您的姓名" size="small"></el-input></p> <p><el-input v-model="formInfo.name" placeholder="请输入您的姓名" size="small"></el-input></p>
<p><el-input v-model="formInfo.phone" placeholder="请输入您的电话" size="small"></el-input></p> <p><el-input v-model="formInfo.phone" placeholder="请输入您的电话" size="small"></el-input></p>
<p><el-input v-model="projectName" size="small" :readonly="true"></el-input></p> <!-- <p><el-input v-model="projectName" size="small" :readonly="true"></el-input></p> -->
<p>
<select name="" id="" v-model="formInfo.projectId">
<option :value="item.value" v-for="(item, index) in projectList" :key="index">{{ item.label }}</option>
</select>
<span class="icon el-icon-arrow-down"></span>
<!-- <el-select v-model="formInfo.projectId" placeholder="请选择" size="small">
<el-option
v-for="item in projectList"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select> -->
</p>
<p class="sendcode"> <p class="sendcode">
<el-input v-model="sendCode" placeholder="请输入验证码" size="small"></el-input><el-button class="btn" :disabled="isBtnDisabled" id="checkedCode" @click="getSendCode">获取验证码</el-button> <el-input v-model="sendCode" placeholder="请输入验证码" size="small"></el-input><el-button class="btn" :disabled="isBtnDisabled" id="checkedCode" @click="getSendCode">获取验证码</el-button>
</p> </p>
...@@ -41,7 +55,7 @@ ...@@ -41,7 +55,7 @@
</div> </div>
</template> </template>
<script> <script>
// import { sendCode, checkCode, postNes } from '@/api/my' import { sendCode, checkCode, postNes } from '../plugins/api'
const MOBILE_REG = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/ const MOBILE_REG = /^1(3[0-9]|4[01456879]|5[0-35-9]|6[2567]|7[0-8]|8[0-9]|9[0-35-9])\d{8}$/
export default { export default {
data() { data() {
...@@ -54,8 +68,16 @@ export default { ...@@ -54,8 +68,16 @@ export default {
formInfo: { formInfo: {
name: '', name: '',
phone: '', phone: '',
projectId: 1000 projectId: '1000'
} },
projectList: [
{label:'金融工商管理硕士', value: '1000'},
{label:'酒店及旅游业工商管理硕士', value: '1008'},
{label:'金融硕士', value: '1001'},
{label:'应用心理学硕士', value: '1006'},
{label:'教育学硕士', value: '1005'},
{label:'中国未来金融领袖计划', value: '1007'},
]
} }
}, },
methods: { methods: {
...@@ -187,7 +209,7 @@ export default { ...@@ -187,7 +209,7 @@ export default {
position: fixed; position: fixed;
top: 50%; top: 50%;
right: 10px; right: 10px;
z-index: 9999; z-index: 2000;
transform:translateY(-50%); transform:translateY(-50%);
.tab_btns { .tab_btns {
width: 100px; width: 100px;
...@@ -261,11 +283,38 @@ export default { ...@@ -261,11 +283,38 @@ export default {
padding: 0 20px; padding: 0 20px;
p { p {
margin-bottom: 15px; margin-bottom: 15px;
position: relative;
::v-deep.el-input__inner { ::v-deep.el-input__inner {
border: 1px solid #ccc; border: 1px solid #ccc;
line-height: 44px; line-height: 44px;
height: 44px; height: 44px;
} }
::v-deep.el-select{
width: 100%;
}
select{
width: 100%;
height: 44px;
border-radius: 5px;
font-size: 13px;
border: 1px solid #ccc;
line-height: 44px;
height: 44px;
outline: none;
color: #606266;
padding: 0 12px;
box-sizing: border-box;
appearance:none;
-moz-appearance:none;
-webkit-appearance:none;
}
.icon{
position: absolute;
top: 50%;
transform: translateY(-50%);
right: 10px;
color: #606266;
}
::v-deep.el-button { ::v-deep.el-button {
background-color: #ff8e1a; background-color: #ff8e1a;
border:#ff8e1a 1px solid; border:#ff8e1a 1px solid;
......
...@@ -3,20 +3,33 @@ import fs from 'fs' ...@@ -3,20 +3,33 @@ import fs from 'fs'
export default { export default {
// Global page headers: https://go.nuxtjs.dev/config-head // Global page headers: https://go.nuxtjs.dev/config-head
head: { head: {
title: 'new-node-ezijing', title: '紫荆教育-在线MBA课程-MBA在线课程-专业金融在线教育品牌',
htmlAttrs: { htmlAttrs: {
lang: 'en' lang: 'en'
}, },
meta: [ meta: [
{ charset: 'utf-8' }, { charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' }, { name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: '' } { hid: 'description', name: 'description', content: '' },
{
name: 'keywords',
content:
'理财规划师,企业理财顾问师,投资理财顾问,金融理财师,理财培训,企业融资,国家理财规划师,财富管理,资产管理,个人财富管理,证券投资,信托投资,房地产投资'
},
{
name: 'description',
content:
'紫荆教育依托清华大学和五道口金融学院丰富的教育资源,秉承其严谨务实的教学理念,紧密结合宏观经济转型过程中,企业和个人知识结构升级的需求,融理论大家、实践专家、顶尖专业机构集体智慧于一体,构建以金融为核心的商业实战知识体系,努力为中国社会商业素质提高贡献一己之力.课程分类:企业理财顾问(CFC),理财规划师,财富资产管理,金融创业投资项目.'
}
], ],
link: [ link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' } {
rel: 'icon',
type: 'image/x-icon',
href: 'https://zws-imgs-pub.ezijing.com/static/public/f56441ae1441902080226712d4d650aa.ico'
}
] ]
}, },
// Global CSS: https://go.nuxtjs.dev/config-css // Global CSS: https://go.nuxtjs.dev/config-css
css: [ css: [
'element-ui/lib/theme-chalk/index.css', 'element-ui/lib/theme-chalk/index.css',
...@@ -41,16 +54,39 @@ export default { ...@@ -41,16 +54,39 @@ export default {
// Modules: https://go.nuxtjs.dev/config-modules // Modules: https://go.nuxtjs.dev/config-modules
modules: [ modules: [
'@nuxtjs/axios'
], ],
// Build Configuration: https://go.nuxtjs.dev/config-build // Build Configuration: https://go.nuxtjs.dev/config-build
build: { build: {
transpile: [/^element-ui/], transpile: [/^element-ui/],
}, },
axios: {
proxy: true
},
server: { server: {
https: { https: {
key: fs.readFileSync(path.resolve(__dirname, 'dev.ezijing.com.key')), key: fs.readFileSync(path.resolve(__dirname, 'dev.ezijing.com.key')),
cert: fs.readFileSync(path.resolve(__dirname, 'dev.ezijing.com.pem')) cert: fs.readFileSync(path.resolve(__dirname, 'dev.ezijing.com.pem'))
} }
// port: 2048,
// host: '0.0.0.0',
// timing: false
},
proxy: {
'/api': {
target: 'https://project-api.ezijing.com/api',
selfHandleResponse: false,
secure: false,
changeOrigin: true,
followRedirects: true,
logLevel: 'info',
headers: {
'Referer': 'https://project-api.ezijing.com/api'
},
pathRewrite: {
'^/api': '/'
}
}
} }
} }
差异被折叠。
...@@ -9,19 +9,22 @@ ...@@ -9,19 +9,22 @@
"generate": "nuxt generate" "generate": "nuxt generate"
}, },
"dependencies": { "dependencies": {
"axios": "^0.21.1",
"core-js": "^3.9.1", "core-js": "^3.9.1",
"element-ui": "^2.15.1", "element-ui": "^2.15.1",
"fs": "0.0.1-security", "fs": "0.0.1-security",
"node-sass": "^4.14.1", "lodash": "^4.17.21",
"nuxt": "^2.15.3", "nuxt": "^2.15.3",
"path": "^0.12.7", "path": "^0.12.7",
"sass-loader": "^9.0.0", "qs": "^6.10.1",
"swiper": "^3.4.2", "swiper": "^3.4.2",
"vue-awesome-swiper": "^3.1.3" "vue-awesome-swiper": "^3.1.3"
}, },
"devDependencies": { "devDependencies": {
"@nuxtjs/axios": "^5.13.1", "@nuxtjs/axios": "^5.13.1",
"@nuxtjs/proxy": "^2.1.0" "@nuxtjs/proxy": "^2.1.0",
"sass": "^1.32.11",
"sass-loader": "^10.1.1"
}, },
"config": { "config": {
"nuxt": { "nuxt": {
......
import httpRequest from './base_api'
/**
* 发送验证码
*/
export function sendCode(data) {
return httpRequest.post('/api/usercenter/user/send-code', data)
}
/**
* 检验验证码
*/
export function checkCode(params) {
return httpRequest.get('/api/usercenter/user/check-code' + params)
}
/**
* 提交留咨信息
*/
export function postNes(obj) {
return httpRequest.post('/api/new-app/v1.0/applications', obj, {
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
})
}
import axios from 'axios'
import qs from 'qs'
import { Message } from 'element-ui'
const httpRequest = axios.create({
// baseURL: process.env.VUE_APP_BASE_API,
timeout: 60000,
withCredentials: true,
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
tenant: 'transport'
}
})
// 请求拦截
httpRequest.interceptors.request.use(
function(config) {
if (config.headers['Content-Type'] === 'application/x-www-form-urlencoded') {
config.data = qs.stringify(config.data)
}
if (config.headers['Content-Type'] === 'multipart/form-data') {
const form = new window.FormData()
for (const key in config.data) {
form.append(key, config.data[key])
}
config.data = form
}
return config
},
function(error) {
return Promise.reject(error)
}
)
// 响应拦截
httpRequest.interceptors.response.use(
function(response) {
const { data } = response
if (data.msg) {
if (data.msg === '请先登录') {
window.location.href = `${webConf.others.loginUrl}?rd=${encodeURIComponent(window.location.href)}`
}
}
if (parseInt(data.code) === 1) {
return Message.error(data.msg)
}
if (data.code) {
if (data.code === 4001) {
window.location.href = `${webConf.others.loginUrl}?rd=${encodeURIComponent(window.location.href)}`
}
return data.message ? Message.error(data.message) : Message.error(data.msg)
}
return data
},
function(error) {
if (error.response) {
const { status, message } = error.response.data
// 未登录
if (status === 403) {
window.location.href = `${webConf.others.loginUrl}?rd=${encodeURIComponent(window.location.href)}`
}
Message.error(message || error.response.data)
return Promise.reject(error.response)
} else {
Message.error(error)
}
return Promise.reject(error)
}
)
export default httpRequest
if(process.browser){
!function (mapInit) {
var script = document.createElement("script");
script.type = "text/javascript";
script.src = "https://api.map.baidu.com/api?v=2.0&ak=Z9Km7UTGFI2fwRrpGp7Mji4ySDsvn30d&callback=mapinit";
window['mapinit'] = function () {
mapInit();
};
document.head.appendChild(script);
}(function () {
// 这里使用BMap
var map = new BMap.Map("allmap");
map.centerAndZoom(new BMap.Point(116.336323, 39.998848), 20);
map.enableScrollWheelZoom(true);
// 创建点标记
var marker1 = new BMap.Marker(new BMap.Point(116.336323, 39.998848));
map.addOverlay(marker1);
});
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论