diff --git a/src/common/portrait.styl b/src/common/portrait.styl index 767006e..f183f60 100644 --- a/src/common/portrait.styl +++ b/src/common/portrait.styl @@ -42,6 +42,11 @@ padding-right: 12px; } +.py-5{ + padding-top: 20px; + padding-bottom: 20px; +} + // margin .ma-3 { margin: 12px; @@ -67,6 +72,11 @@ margin-bottom: 16px; } +.my-5{ + margin-top: 20px; + margin-bottom: 20px; +} + .mt-1{ margin-top: 4px; } @@ -119,6 +129,14 @@ margin-bottom: 32px; } +.mb-9{ + margin-bottom: 36px; +} + +.mb-10{ + margin-bottom: 40px; +} + .ml-2{ margin-left: 8px; } @@ -225,6 +243,10 @@ align-items: center } +.align-left{ + align-items: flex-start +} + .align-end{ align-items: flex-end } @@ -331,9 +353,7 @@ h2{ color: rgba(0,0,0,.85) } -.textColor{ - color: rgba(0,0,0,.65) -} + .baseColor{ color: #13ACC4 @@ -360,6 +380,24 @@ h2{ background: #AACD06 } +// 文字颜色 .white--text{ color: #fff } + +.title-color{ + color: rgba(0,0,0,.85) +} + +.textColor{ + color: rgba(0,0,0,.65) +} + +.secondary{ + color: rgba(0,0,0,.45) +} + +// line-height +.line-height-30{ + line-height: 30px +} diff --git a/src/components/Banner/Banner.vue b/src/components/Banner/Banner.vue new file mode 100644 index 0000000..b23b62c --- /dev/null +++ b/src/components/Banner/Banner.vue @@ -0,0 +1,45 @@ + + + + + + + diff --git a/src/components/BreadCrumb/BreadCrumb.vue b/src/components/BreadCrumb/BreadCrumb.vue new file mode 100644 index 0000000..cf63a34 --- /dev/null +++ b/src/components/BreadCrumb/BreadCrumb.vue @@ -0,0 +1,32 @@ + + + + + + + diff --git a/src/components/HeadNav/HeadNav.vue b/src/components/HeadNav/HeadNav.vue index 3eb28eb..46b4371 100644 --- a/src/components/HeadNav/HeadNav.vue +++ b/src/components/HeadNav/HeadNav.vue @@ -2,7 +2,12 @@
- + {{ item.name }}   @@ -31,22 +36,23 @@ export default { list: [ { name: '关于我们', + url: '/About/Introduce', children: [ { title: '公司介绍', - url: '', + url: '/About/Introduce', }, { title: '组织机构', - url: '', + url: '/About/Organ', }, { title: '合作伙伴', - url: '', + url: '/About/Partner', }, { title: '衍生企业', - url: '', + url: '/About/SpinOffs', }, ], }, @@ -149,6 +155,7 @@ export default { { name: '联系我们', children: [], + url: '/ContactUs', }, ], }; diff --git a/src/components/Introduce/CompanyProfile.vue b/src/components/Introduce/CompanyProfile.vue new file mode 100644 index 0000000..6960334 --- /dev/null +++ b/src/components/Introduce/CompanyProfile.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/components/Introduce/ContactUs.vue b/src/components/Introduce/ContactUs.vue new file mode 100644 index 0000000..6a76fc4 --- /dev/null +++ b/src/components/Introduce/ContactUs.vue @@ -0,0 +1,113 @@ + + + + + + + diff --git a/src/components/Introduce/DeriveEnterprise.vue b/src/components/Introduce/DeriveEnterprise.vue new file mode 100644 index 0000000..afb9bda --- /dev/null +++ b/src/components/Introduce/DeriveEnterprise.vue @@ -0,0 +1,157 @@ + + + + + + + diff --git a/src/components/Introduce/Model.vue b/src/components/Introduce/Model.vue new file mode 100644 index 0000000..1cc154d --- /dev/null +++ b/src/components/Introduce/Model.vue @@ -0,0 +1,382 @@ + + + + + + + diff --git a/src/components/Introduce/PartnerShip.styl b/src/components/Introduce/PartnerShip.styl new file mode 100644 index 0000000..61a4723 --- /dev/null +++ b/src/components/Introduce/PartnerShip.styl @@ -0,0 +1,33 @@ +// 合作伙伴 +.logo-box{ + width: 20.5%; + height: 113px; + margin-right: 6%; + border-radius: 4px; + box-shadow: 6px 6px 6px #eee; + + .logo-pic{ + height: 70px + } +} + +.logo-box1{ + margin-right: 0!important; +} + +// 衍生企业 +.enterprise-box{ + width: 22%; + // height: 113px; + margin-right: 17%; + border-radius: 4px; + box-shadow: 6px 6px 6px #eee; + + .enterprise-pic{ + height: 166px + } +} + +.enterprise-box1{ + margin-right: 0!important; +} diff --git a/src/components/Introduce/PartnerShip.vue b/src/components/Introduce/PartnerShip.vue new file mode 100644 index 0000000..66e7411 --- /dev/null +++ b/src/components/Introduce/PartnerShip.vue @@ -0,0 +1,97 @@ + + + + + + + diff --git a/src/components/Introduce/RichText.vue b/src/components/Introduce/RichText.vue new file mode 100644 index 0000000..18cbfa7 --- /dev/null +++ b/src/components/Introduce/RichText.vue @@ -0,0 +1,44 @@ + + + + + + + diff --git a/src/config/api.js b/src/config/api.js index 2afbf25..9be347a 100644 --- a/src/config/api.js +++ b/src/config/api.js @@ -10,31 +10,45 @@ const greenvalley = `${proxyUrl}/greenvalley`; // const page = `${greenvalley}/page`; // 创新平台相关操作 const policy = `${proxyUrl}/policy/policy`; // 创新政策相关接口 const activity = `${greenvalley}/activity`; // 创新政策相关接口 -const Business = `${greenvalley}//Business`; // 衍生企业和合作伙伴查询 -const carousel = `${greenvalley}//carousel`; // 轮播图相关接口 +const Business = `${greenvalley}/Business`; // 衍生企业和合作伙伴查询 +const carousel = `${greenvalley}/carousel`; // 轮播图相关接口 +const page = `${greenvalley}/page`; // 页面详情相关接口 // websocket基础地址 export const WS_BASE_URL = msgUrl; // 查询政策列表 export const selLikePolicy = params => axios.post(`${policy}/selLikePolicy`, params); + // 查询政策详情 export const selPolicy = params => axios.post(`${policy}/selPolicy`, params); + // 申请加入三大平台 export const JoinPlatform = params => axios.post(`${greenvalley}/platform/JoinPlatform`, params); + // 上传附件 export const upload = `${greenvalley}/file/upload`; + // 加入我们 export const joinUs = params => axios.post(`${greenvalley}/PersonApply/joinUs`, params); + // 查询轮播图 export const queryRotation = params => axios.post(`${greenvalley}/carousel/query`, params); + // 查询行业政策列表 export const industryInfo = params => axios.post(`${greenvalley}/industryInfo/beforeSearch`, params); + // 查询活动公告列表 export const front = params => axios.post(`${activity}/query/front`, params); + // 申请加入活动 export const apply = params => axios.post(`${activity}/apply`, params); + // 查询衍生企业 -export const FrontSearchFriend = params => axios.post(`${Business}/FrontSearchFriend`, params); +export const frontSearchFriend = params => axios.post(`${Business}/FrontSearchFriend`, params); + // 查询合作伙伴 -export const FrontSearchCompany = params => axios.post(`${Business}/FrontSearchCompany`, params); +export const frontSearchCompany = params => axios.post(`${Business}/FrontSearchCompany`, params); + +// 介绍页面详情查询 +export const getPageDetail = params => axios.post(`${page}/detail`, params); diff --git a/src/plugins/ant-design-vue.js b/src/plugins/ant-design-vue.js index db2b9c6..5f62f38 100644 --- a/src/plugins/ant-design-vue.js +++ b/src/plugins/ant-design-vue.js @@ -29,6 +29,7 @@ import { Carousel, Avatar, Layout, + Breadcrumb, } from 'ant-design-vue'; import { ConfigProvider } from 'ant-design-vue'; Vue.component(ConfigProvider.name, ConfigProvider); @@ -59,6 +60,7 @@ Vue.use(BackTop); Vue.use(Carousel); Vue.use(Avatar); Vue.use(Layout); +Vue.use(Breadcrumb); Vue.prototype.$message = message; Vue.prototype.$notification = notification; diff --git a/src/router/index.js b/src/router/index.js index 2a50a83..9800288 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -29,6 +29,75 @@ const routes = [ name: 'ForgetPassword', component: () => import(/* webpackChunkName: "forget-password" */ 'views/User/ForgetPassword.vue'), }, + // 关于我们界面 + { + path: '/About/Introduce', + name: 'About', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/About/About.vue'), + children: [ + { + path: '/About/Introduce', + name: 'Introduce', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/About/Children/Introduce.vue'), + }, + { + path: '/About/Organ', + name: 'Organ', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/About/Children/Organ.vue'), + }, + { + path: '/About/Partner', + name: 'Partner', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/About/Children/Partner.vue'), + }, + { + path: '/About/SpinOffs', + name: 'SpinOffs', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/About/Children/SpinOffs.vue'), + }, + ], + }, + // 创新平台界面 + { + path: '/NewPlatform/NewCore', + name: 'NewPlatform', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/NewPlatform.vue'), + children: [ + { + path: '/NewPlatform/NewCore', + name: 'Core', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Core.vue'), + }, + { + path: '/NewPlatform/News', + name: 'News', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Platform.vue'), + }, + { + path: '/NewPlatform/NewService', + name: 'Service', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Service.vue'), + }, + { + // 科技资源开放共享服务平台 + path: '/NewPlatform/Share', + name: 'Share', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Share.vue'), + }, + { + // 知识产权与技术转移转化服务平台 + path: '/NewPlatform/Transfer', + name: 'Transfer', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Transfer.vue'), + }, + { + // 资源开发利用平台 + path: '/NewPlatform/Develop', + name: 'Develop', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Develop.vue'), + }, + ], + }, // 政策界面 { path: '/Policy', @@ -77,54 +146,13 @@ const routes = [ name: 'ActDetails', component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/Activity/ActDetails.vue'), }, - // 关于我们界面 - { - path: '/About', - name: 'About', - component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/About/About.vue'), - }, - // 创新平台界面 + + // 联系我们界面 { - path: '/NewPlatform/NewCore', - name: 'NewPlatform', - component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/NewPlatform.vue'), - children: [ - { - path: '/NewPlatform/NewCore', - name: 'Core', - component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Core.vue'), - }, - { - path: '/NewPlatform/News', - name: 'News', - component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Platform.vue'), - }, - { - path: '/NewPlatform/NewService', - name: 'Service', - component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Service.vue'), - }, - { - // 科技资源开放共享服务平台 - path: '/NewPlatform/Share', - name: 'Share', - component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Share.vue'), - }, - { - // 知识产权与技术转移转化服务平台 - path: '/NewPlatform/Transfer', - name: 'Transfer', - component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Transfer.vue'), - }, - { - // 资源开发利用平台 - path: '/NewPlatform/Develop', - name: 'Develop', - component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/Develop.vue'), - }, - ], + path: '/ContactUs', + name: 'ContactUs', + component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/ContactUs/ContactUs.vue'), }, - , ]; const router = new VueRouter({ diff --git a/src/store/modules/home/actions.js b/src/store/modules/home/actions.js index 7e5f185..3156d33 100644 --- a/src/store/modules/home/actions.js +++ b/src/store/modules/home/actions.js @@ -1,6 +1,6 @@ import axios from 'axios'; import { message } from 'ant-design-vue'; -import { industryInfo, front } from '@/config/api'; +import { industryInfo, front, getPageDetail, queryRotation, frontSearchCompany } from '@/config/api'; const actions = { /** @@ -42,6 +42,82 @@ const actions = { throw error || '获取失败'; } }, + + /** + * 介绍页面详情查询 + * @param {any} commit + * @param {object} titleCode 提交的数据 + */ + async getPageDetail({ commit }, titleCode) { + try { + const params = { param: { titleCode } }; + const res = await getPageDetail(params); + const { code, msg, data } = res.data; + if (code === 200) { + if (data && data.length > 0 && data[0] && data[0].length > 0 && data[0][0].detail) { + commit('setContent', data[0][0].detail.content); + } + } else { + message.error(msg || '查询失败'); + throw msg; + } + } catch (error) { + throw error || '查询失败'; + } + }, + + /** + * 介绍页面详情查询 + * @param {any} commit + * @param {object} showPage 页面显示位置 + * 0 首页 + * 11 关于我们-公司介绍 + * 12 关于我们-组织机构 + * 32 创新平台-创新资源平台 + * 33 创新平台-科技创新服务 + * 41 孵化平台-众创空间 + * 42 孵化平台-公共实验室 + * 43 孵化平台-中试基地 + * 44 孵化平台-创业导师 + * 46 孵化平台-创业服务 + * 52 产业平台-产业服务 + * 100 XX服务详情 + */ + async getQueryRotation({ commit }, showPage) { + try { + const params = { param: { showPage } }; + const res = await queryRotation(params); + const { code, msg, data } = res.data; + if (code === 200) { + commit('setBannerLists', data); + } else { + message.error(msg || '查询失败'); + throw msg; + } + } catch (error) { + throw error || '查询失败'; + } + }, + + /** + * 合作伙伴查询 + * @param {any} commit + * @param {object} params 提交的数据 + */ + async getFrontSearchCompany({ commit }, params) { + try { + const res = await frontSearchCompany(params); + const { code, msg, data } = res.data; + if (code === 200) { + commit('setPartners', data); + } else { + message.error(msg || '查询失败'); + throw msg; + } + } catch (error) { + throw error || '查询失败'; + } + }, }; export default actions; diff --git a/src/store/modules/home/mutations.js b/src/store/modules/home/mutations.js index 4c50e9e..3f75442 100644 --- a/src/store/modules/home/mutations.js +++ b/src/store/modules/home/mutations.js @@ -98,6 +98,42 @@ const mutations = { setActDetail(state, data) { state.actDetail = { ...data }; }, + + /** + * 存储介绍页图文详情 + * @param {object} state + * @param {object} data + */ + setContent(state, data) { + state.content = data; + }, + + /** + * 改变子页面banner图 + * @param {object} state + * @param {List} list + */ + setBannerLists(state, list) { + state.bannerLists = list; + }, + + /** + * 设置合作伙伴 衍生企业 + * @param {object} state + * @param {List} list + */ + setPartners(state, list) { + state.partners = list; + }, + + /** + * 改变公司介绍内容 + * @param {object} state + * @param {object} data + */ + setProfile(state, data) { + state.profile = data; + }, }; export default mutations; diff --git a/src/store/modules/home/state.js b/src/store/modules/home/state.js index a387f22..cd894f9 100644 --- a/src/store/modules/home/state.js +++ b/src/store/modules/home/state.js @@ -18,6 +18,11 @@ const state = { actIpCon: '', // 活动公告搜索框内容 actCurrent: 1, // 活动公告当前处于第几页 actDetail: {}, // 当前活动公告详情 + content: '', // 介绍页图文 + bannerLists: [], // 子页面banner图 + partners: [], // 合作伙伴 衍生企业 + // 公司介绍 + profile: {}, }; export default state; diff --git a/src/store/modules/user/state.js b/src/store/modules/user/state.js index f941d72..281b93c 100644 --- a/src/store/modules/user/state.js +++ b/src/store/modules/user/state.js @@ -1,6 +1,7 @@ const state = { anyringToken: '', user: { id: '', phone: '', account: '' }, + picCode: null, }; export default state; diff --git a/src/views/About/About.vue b/src/views/About/About.vue index e6f1d80..c53517b 100644 --- a/src/views/About/About.vue +++ b/src/views/About/About.vue @@ -1,6 +1,6 @@ @@ -8,10 +8,7 @@ export default { name: 'About', data() { - return { - str: '这是关于我们界面', - list: [], - }; + return {}; }, }; diff --git a/src/views/About/Children/Introduce.vue b/src/views/About/Children/Introduce.vue new file mode 100644 index 0000000..ee8c496 --- /dev/null +++ b/src/views/About/Children/Introduce.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/views/About/Children/Organ.vue b/src/views/About/Children/Organ.vue new file mode 100644 index 0000000..4de116d --- /dev/null +++ b/src/views/About/Children/Organ.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/views/About/Children/Partner.vue b/src/views/About/Children/Partner.vue new file mode 100644 index 0000000..3720601 --- /dev/null +++ b/src/views/About/Children/Partner.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/About/Children/SpinOffs.vue b/src/views/About/Children/SpinOffs.vue new file mode 100644 index 0000000..863020d --- /dev/null +++ b/src/views/About/Children/SpinOffs.vue @@ -0,0 +1,39 @@ + + + + + diff --git a/src/views/About/components/HNav.vue b/src/views/About/components/HNav.vue new file mode 100644 index 0000000..373af94 --- /dev/null +++ b/src/views/About/components/HNav.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/views/About/components/Introduce.vue b/src/views/About/components/Introduce.vue deleted file mode 100644 index 2bcc714..0000000 --- a/src/views/About/components/Introduce.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - - - diff --git a/src/views/About/components/Organ.vue b/src/views/About/components/Organ.vue deleted file mode 100644 index 5159ee2..0000000 --- a/src/views/About/components/Organ.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - - - diff --git a/src/views/About/components/Partner.vue b/src/views/About/components/Partner.vue deleted file mode 100644 index 46ccceb..0000000 --- a/src/views/About/components/Partner.vue +++ /dev/null @@ -1,19 +0,0 @@ - - - - - diff --git a/src/views/ContactUs/ContactUs.vue b/src/views/ContactUs/ContactUs.vue new file mode 100644 index 0000000..b194744 --- /dev/null +++ b/src/views/ContactUs/ContactUs.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/views/FirstPage/FirstPage.vue b/src/views/FirstPage/FirstPage.vue index cec40c4..1cbb2de 100644 --- a/src/views/FirstPage/FirstPage.vue +++ b/src/views/FirstPage/FirstPage.vue @@ -56,7 +56,7 @@ import { mapState, mapActions } from 'vuex'; import Rotation from 'components/Rotation/Rotation.vue'; import IndexNewList from 'components/Index/IndexNewList.vue'; -import { FrontSearchFriend, FrontSearchCompany } from 'config/api'; +import { frontSearchFriend, frontSearchCompany } from 'config/api'; export default { components: { Rotation, IndexNewList }, @@ -128,7 +128,7 @@ export default { typeOfPlatform: 1, }, }; - const res = await FrontSearchFriend(params); + const res = await frontSearchFriend(params); const { data, code, msg } = res.data; if (code === 200) { console.log(data); @@ -147,7 +147,7 @@ export default { typeOfPlatform: 2, }, }; - const res = await FrontSearchCompany(params); + const res = await frontSearchCompany(params); const { data, code, msg } = res.data; if (code === 200) { console.log(data);