Browse Source

页面

master
aBin 5 years ago
parent
commit
ad39166eb9
  1. BIN
      src/assets/zckj01.png
  2. BIN
      src/assets/zckj02.png
  3. BIN
      src/assets/zckj03.png
  4. 1
      src/common/platform.styl
  5. 19
      src/components/HeadNav/HeadNav.vue
  6. 12
      src/components/Index/IndexNewList.vue
  7. 52
      src/router/index.js
  8. 2
      src/views/About/Children/Partner.vue
  9. 21
      src/views/Activity/Activity.vue
  10. 12
      src/views/Community/Community.vue
  11. 89
      src/views/IncubationPlatform/Children/MakerSpace.vue
  12. 39
      src/views/IncubationPlatform/Children/Partner.vue
  13. 42
      src/views/IncubationPlatform/Children/PilotBase.vue
  14. 209
      src/views/IncubationPlatform/Children/Products.vue
  15. 42
      src/views/IncubationPlatform/Children/PublicLaboratory.vue
  16. 106
      src/views/IncubationPlatform/Children/Services.vue
  17. 140
      src/views/IncubationPlatform/Children/ShareChild/InsDet.vue
  18. 209
      src/views/IncubationPlatform/Children/ShareChild/Institute.vue
  19. 42
      src/views/IncubationPlatform/Children/Tutor.vue
  20. 54
      src/views/IncubationPlatform/Children/components/SenNav.vue
  21. 14
      src/views/IncubationPlatform/IncubationPlatform.vue
  22. 80
      src/views/IncubationPlatform/components/HNav.vue
  23. 17
      src/views/Policy/Policy.vue
  24. 16
      src/views/Policy/PolicyDetails.vue
  25. 23
      src/views/Policy/components/PolicyList.vue

BIN
src/assets/zckj01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

BIN
src/assets/zckj02.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

BIN
src/assets/zckj03.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

1
src/common/platform.styl

@ -132,7 +132,6 @@
.content-box {
position: relative;
padding: 0 9%;
}
.introduce-box {
width: 60%;

19
src/components/HeadNav/HeadNav.vue

@ -81,26 +81,35 @@ export default {
},
{
name: '孵化平台',
url: '/IncubationPlatform/MakerSpace',
children: [
{
title: '众创空间',
url: '',
url: '/IncubationPlatform/MakerSpace',
},
{
title: '公共实验室',
url: '',
url: '/IncubationPlatform/PublicLaboratory',
},
{
title: '中试基地',
url: '/IncubationPlatform/PilotBase',
},
{
title: '创业导师',
url: '/IncubationPlatform/Tutor',
},
{
title: '合作伙伴',
url: '',
url: '/IncubationPlatform/Partner',
},
{
title: '创业服务',
url: '',
url: '/IncubationPlatform/Services',
},
{
title: '产品展示',
url: '',
url: '/IncubationPlatform/Products',
},
],
},

12
src/components/Index/IndexNewList.vue

@ -35,9 +35,9 @@
<div class="policy-box" v-if="lists && lists[i].news && lists[i].news.length>0">
<div :key="index" class="div-box" v-for="(item, index) in lists[i].news">
<div @click="jumpDetails(item)" class="d-flex flex-nowrap" style="cursor: pointer">
<div class="time d-flex flex-column align-center mr-3">
<span class="font-20">Dec.</span>
<span class="font-bold-32 day">03</span>
<div class="time d-flex flex-column align-center mr-3" v-if="item.releaseTime">
<span class="font-20">{{ monthEnglish[item.releaseTime.split('-')[1] - 1] }}.</span>
<span class="font-bold-32 day">{{ item.releaseTime.split(' ')[0].split('-')[2] }}</span>
</div>
<div class="d-flex flex-1 flex-column">
<div class="item-title">{{ item.title }}</div>
@ -66,11 +66,7 @@ export default {
},
},
data() {
return {};
},
created() {
console.log('lists: ', this.lists);
return { monthEnglish: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Spt', 'Oct', 'Nov', 'Dec'] };
},
methods: {

52
src/router/index.js

@ -111,8 +111,8 @@ const routes = [
name: 'ContactUs',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/ContactUs/ContactUs.vue'),
},
// 创新平台
{
// 创新平台
path: '/NewPlatform/NewCore',
name: 'NewPlatform',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/NewPlatform.vue'),
@ -175,6 +175,56 @@ const routes = [
},
],
},
// 孵化平台
{
path: '/IncubationPlatform/MakerSpace',
name: 'IncubationPlatform',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/IncubationPlatform/IncubationPlatform.vue'),
children: [
// 众创空间
{
path: '/IncubationPlatform/MakerSpace',
name: 'MakerSpace',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/IncubationPlatform/Children/MakerSpace.vue'),
},
// 公共实验室
{
path: '/IncubationPlatform/PublicLaboratory',
name: 'PublicLaboratory',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/IncubationPlatform/Children/PublicLaboratory.vue'),
},
// 中试基地
{
path: '/IncubationPlatform/PilotBase',
name: 'PilotBase',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/IncubationPlatform/Children/PilotBase.vue'),
},
// 创业导师
{
path: '/IncubationPlatform/Tutor',
name: 'Tutor',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/IncubationPlatform/Children/Tutor.vue'),
},
// 合作伙伴
{
path: '/IncubationPlatform/Partner',
name: 'Partner',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/IncubationPlatform/Children/Partner.vue'),
},
// 创业服务
{
path: '/IncubationPlatform/Services',
name: 'Services',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/IncubationPlatform/Children/Services.vue'),
},
// 产品展示
{
path: '/IncubationPlatform/Products',
name: 'Products',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/IncubationPlatform/Children/Products.vue'),
},
],
},
// 购物车
{
path: '/Cart',

2
src/views/About/Children/Partner.vue

@ -4,7 +4,7 @@
<div class="inner">
<bread-crumb :arr="arr" />
<div class="py-5 my-5">
<partner-ship :title="title" :type-of-olatform="typeOfPlatform" />
<partner-ship :title="title" :type-of-platform="typeOfPlatform" />
</div>
</div>
</div>

21
src/views/Activity/Activity.vue

@ -5,14 +5,21 @@
-->
<template>
<div class="wrap">
<div class="inner">
<div class="search-list">
<span>
<a-checkbox :checked="sta.ly === 1" @click="cSta('ly')">路演</a-checkbox>
<a-checkbox :checked="sta.jz === 1" @click="cSta('jz')">讲座</a-checkbox>
<a-checkbox :checked="sta.sl === 1" @click="cSta('sl')">沙龙</a-checkbox>
</span>
<a-input-search @search="getData" class="search" enter-button="搜索" placeholder="请输入..." style="width: 381px" v-model="iptCon" />
<a-input-search
@search="getData"
class="search"
enter-button="搜索"
placeholder="请输入..."
style="width: 381px"
v-model="iptCon"
/>
</div>
<div class="policy-box">
<div :key="index" class="div-box" v-for="(item, index) in lists">
@ -32,10 +39,10 @@
</div>
<a-pagination
:current="actCurrent"
:page-size="pageSize"
:total="total"
@change="onShowSizeChange"
class="pagination"
:page-size="pageSize"
show-less-items
show-quick-jumper
/>
@ -142,12 +149,8 @@ export default {
</script>
<style scoped lang="stylus">
.wrap {
width: 1260px;
min-height: 1037px;
margin: 80px auto 28px auto;
overflow: hidden;
opacity: 1;
.inner {
margin: 40px auto;
}
.search-list {

12
src/views/Community/Community.vue

@ -5,7 +5,7 @@
-->
<template>
<div class="wrap">
<div class="inner">
<div class="search-list">
<a-radio-group v-model="value">
<a-radio :style="radioStyle" :value="1">主题论坛</a-radio>
@ -41,7 +41,7 @@
<img :src="item.visitLocation" alt class="post-img" v-if="item.visitLocation" />
<div class="post-content" v-dompurify-html="item.content"></div>
</div>
<p class="look-down">
<p class="look-down baseColor">
<span @click="getDet(item.id, index)">
查看详情
<a-icon type="arrow-right" />
@ -154,12 +154,8 @@ export default {
</script>
<style scoped lang="stylus">
.wrap {
width: 1260px;
min-height: 1037px;
margin: 80px auto 28px auto;
overflow: hidden;
opacity: 1;
.inner {
margin: 40px auto;
}
.post-title {

89
src/views/IncubationPlatform/Children/MakerSpace.vue

@ -0,0 +1,89 @@
<template>
<div>
<banner :show-page="showPage" />
<h-nav />
<div class="inner">
<bread-crumb :arr="arr" />
<div>
<div
:key="index"
@click="jump(item.url)"
style="margin-top: 50px; cursor: pointer"
v-for="(item, index) in list"
>
<div class="d-flex justify-space-between" v-if="index % 2 === 0">
<div class="introduce-box">
<p class="introduce-title">{{ item.title }}</p>
<p class="introduce-content">{{ item.content }}</p>
</div>
<img :src="item.imgUrl" style="width: 452px" />
</div>
<div class="d-flex justify-space-between" v-else>
<img :src="item.imgUrl" style="width: 452px" />
<div class="introduce-box">
<p class="introduce-title">{{ item.title }}</p>
<p class="introduce-content">{{ item.content }}</p>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import Banner from 'components/Banner/Banner.vue';
import HNav from './../components/HNav.vue';
import BreadCrumb from 'components/BreadCrumb/BreadCrumb.vue';
export default {
name: 'MakerSpace',
components: { BreadCrumb, HNav, Banner },
data() {
return {
showPage: 41,
arr: [
{ name: '孵化平台', url: '/IncubationPlatform/MakerSpace' },
{ name: '众创空间', url: '' },
],
list: [
{
title: '实体空间',
content:
'山西绿谷生物科技股份有限公司立足功能食品、生物医药和大健康产业,聚焦“创新”、聚力“孵化”、聚合“产业”,' +
'致力建设集创新链、孵化链和产业链为一体,产学研协同、多学科交叉、大中小企业...',
imgUrl: 'https://www.sxwikionline.com/gateway/greenvalley/uploads/upload/20210106/9059bddfe0254a269bf8f575c917b199.png',
url: '/NewPlatform/Share',
},
{
title: '虚拟空间',
content:
'山西绿谷生物科技股份有限公司立足功能食品、生物医药和大健康产业,聚焦“创新”、聚力“孵化”、聚合“产业”,' +
'致力建设集创新链、孵化链和产业链为一体,产学研协同、多学科交叉、大中小企业...',
imgUrl: 'https://www.sxwikionline.com/gateway/greenvalley/uploads/upload/20210106/73cba2c598e24bc99d4b988185138f44.png',
url: '/NewPlatform/Transfer',
},
{
title: '加入我们',
content:
'山西绿谷生物科技股份有限公司立足功能食品、生物医药和大健康产业,聚焦“创新”、聚力“孵化”、聚合“产业”,' +
'致力建设集创新链、孵化链和产业链为一体,产学研协同、多学科交叉、大中小企业...',
imgUrl: 'https://www.sxwikionline.com/gateway/greenvalley/uploads/upload/20210106/88a52985a48c4780a76507b06798b00f.png',
url: '/NewPlatform/Develop',
},
],
};
},
methods: {
jump(url) {
this.$router.push(url);
},
},
};
</script>
<style lang="stylus" scoped>
.inner {
margin: 40px auto;
}
</style>

39
src/views/IncubationPlatform/Children/Partner.vue

@ -0,0 +1,39 @@
<template>
<div>
<h-nav />
<div class="inner">
<bread-crumb :arr="arr" />
<div class="py-5 my-5">
<partner-ship :title="title" :type-of-platform="typeOfPlatform" />
</div>
</div>
</div>
</template>
<script>
import { mapState, mapMutations, mapActions } from 'vuex';
import HNav from './../components/HNav.vue';
import BreadCrumb from 'components/BreadCrumb/BreadCrumb.vue';
import PartnerShip from 'components/Introduce/PartnerShip.vue';
export default {
name: 'Partner',
components: { HNav, BreadCrumb, PartnerShip },
data() {
return {
title: '合作伙伴',
typeOfPlatform: '孵化平台',
arr: [
{ name: '孵化平台', url: '/IncubationPlatform/MakerSpace' },
{ name: '合作伙伴', url: '' },
],
};
},
};
</script>
<style lang="stylus" scoped>
.inner {
margin: 40px auto;
}
</style>

42
src/views/IncubationPlatform/Children/PilotBase.vue

@ -0,0 +1,42 @@
<template>
<div>
<banner :show-page="showPage" />
<h-nav />
<div class="inner">
<bread-crumb :arr="arr" />
<div class="white pa-5 my-5">
<rich-text :title="title" />
</div>
</div>
</div>
</template>
<script>
import Banner from 'components/Banner/Banner.vue';
import HNav from './../components/HNav.vue';
import BreadCrumb from 'components/BreadCrumb/BreadCrumb.vue';
import RichText from 'components/Introduce/RichText.vue';
export default {
name: 'PilotBase',
components: { Banner, HNav, BreadCrumb, RichText },
data() {
return {
title: '中试基地',
showPage: 43,
arr: [
{ name: '孵化平台', url: '/IncubationPlatform/MakerSpace' },
{ name: '中试基地', url: '' },
],
};
},
methods: {},
};
</script>
<style lang="stylus" scoped>
.inner {
margin: 40px auto;
}
</style>

209
src/views/IncubationPlatform/Children/Products.vue

@ -0,0 +1,209 @@
<template>
<div class="inner">
<bread-crumb :arr="arr" />
<sen-nav />
<div>
<div class="search-background">
<div class="d-flex">
<div class="flex-3 flex-wrap">
<span class="ins-title">研究开发实验室</span>
<span
:class="item.isActive ? 'act-color' : ''"
:key="index"
@click="choose(index, 0)"
class="ins-name"
v-for="(item, index) in laboratory"
>{{ item.name }}</span>
</div>
<div class="flex-1 align-center">
<a-input-search
@search="searchLab"
class="item-search"
enter-button="搜索"
placeholder="搜索实验室"
v-model="LabIpt"
/>
</div>
</div>
</div>
</div>
<platform-list />
</div>
</template>
<script>
import { mapMutations } from 'vuex';
import { selModel } from 'config/api';
import PlatformList from 'components/PlatformList/PlatformList.vue';
import SenNav from './components/SenNav.vue';
import BreadCrumb from 'components/BreadCrumb/BreadCrumb.vue';
export default {
name: 'Products',
components: { BreadCrumb, SenNav, PlatformList },
data() {
return {
arr: [
{ name: '孵化平台', url: '/IncubationPlatform/MakerSpace' },
{ name: '产品展示', url: '' },
],
LabIpt: '', //
laboratory: [], //
labList: [], //
InsIpt: '', //
instrument: [], //
insList: [], //
};
},
watch: {
LabIpt(val) {
const obj = {
content: this.LabIpt,
isBtn: 0,
};
this.setLabIpt(obj);
},
InsIpt(val) {
const obj = {
content: this.InsIpt,
isBtn: 0,
};
this.setInsIpt(obj);
},
},
created() {
const obj = {
content: '',
isBtn: 0,
};
this.setLabList([]);
this.setInsList([]);
this.setLabIpt(obj);
this.setInsIpt(obj);
this.getType(1);
this.getType(2);
},
methods: {
...mapMutations('home', ['setLabList', 'setInsList', 'setLabIpt', 'setInsIpt', 'setListState']),
async getType(num) {
try {
const params = { param: { model: num } };
const res = await selModel(params);
const { code, mst, data } = res.data;
if (code === 200) {
if (num === 1) {
this.instrument = data;
for (let i = 0; i < this.instrument.length; i++) {
this.instrument[i].isActive = false;
}
} else if (num === 2) {
this.laboratory = data;
for (let i = 0; i < this.laboratory.length; i++) {
this.laboratory[i].isActive = false;
}
}
}
} catch (error) {
console.log(error);
}
},
//
choose(index, num) {
const that = this;
if (num === 0) {
this.labList = [];
const { laboratory, instrument } = this;
for (let i = 0; i < instrument.length; i++) {
instrument[i].isActive = false;
}
this.setListState(0);
laboratory[index].isActive = !laboratory[index].isActive;
this.laboratory = [...laboratory];
for (let i = 0; i < laboratory.length; i++) {
if (laboratory[i].isActive) {
this.labList.push(laboratory[i].id);
}
}
this.setLabList(this.labList);
} else if (num === 1) {
this.insList = [];
const { laboratory, instrument } = this;
for (let i = 0; i < laboratory.length; i++) {
laboratory[i].isActive = false;
}
this.setListState(1);
instrument[index].isActive = !instrument[index].isActive;
this.instrument = [...instrument];
for (let i = 0; i < instrument.length; i++) {
if (instrument[i].isActive) {
this.insList.push(instrument[i].id);
}
}
this.setInsList(this.insList);
}
},
searchLab() {
const { instrument } = this;
for (let i = 0; i < instrument.length; i++) {
instrument[i].isActive = false;
}
this.instrument = [...instrument];
this.setListState(0);
this.InsIpt = '';
const obj = {
content: this.LabIpt,
isBtn: 1,
};
this.setLabIpt(obj);
},
searchIns() {
const { laboratory } = this;
for (let i = 0; i < laboratory.length; i++) {
laboratory[i].isActive = false;
}
this.laboratory = [...laboratory];
this.setListState(1);
this.LabIpt = '';
const obj = {
content: this.InsIpt,
isBtn: 1,
};
this.setInsIpt(obj);
},
},
};
</script>
<style lang="stylus" scoped>
.search-background {
background: rgba(0, 0, 0, 0.02);
border: 1px solid rgba(0, 0, 0, 0.06);
height: auto;
padding: 0 20px;
width: 82%;
margin: 40px auto;
line-height: 44px;
}
.item-search {
width: 100%;
height: 32px;
}
.ins-title {
font-size: 16px;
font-weight: bold;
color: rgba(0, 0, 0, 0.65);
}
.ins-name {
font-size: 16px;
color: rgba(0, 0, 0, 0.65);
padding: 0 10px;
cursor: pointer;
}
.act-color {
color: #13ACC4 !important;
}
</style>

42
src/views/IncubationPlatform/Children/PublicLaboratory.vue

@ -0,0 +1,42 @@
<template>
<div>
<banner :show-page="showPage" />
<h-nav />
<div class="inner">
<bread-crumb :arr="arr" />
<div class="white pa-5 my-5">
<rich-text :title="title" />
</div>
</div>
</div>
</template>
<script>
import Banner from 'components/Banner/Banner.vue';
import HNav from './../components/HNav.vue';
import BreadCrumb from 'components/BreadCrumb/BreadCrumb.vue';
import RichText from 'components/Introduce/RichText.vue';
export default {
name: 'PublicLaboratory',
components: { Banner, HNav, BreadCrumb, RichText },
data() {
return {
title: '公共实验室',
showPage: 42,
arr: [
{ name: '孵化平台', url: '/IncubationPlatform/MakerSpace' },
{ name: '公共实验室', url: '' },
],
};
},
methods: {},
};
</script>
<style lang="stylus" scoped>
.inner {
margin: 40px auto;
}
</style>

106
src/views/IncubationPlatform/Children/Services.vue

@ -0,0 +1,106 @@
<template>
<div>
<banner :show-page="showPage" />
<h-nav />
<div class="inner">
<bread-crumb :arr="arr" />
</div>
<div class="flow-path">
<div class="flow-title">服务流程</div>
<div class="flow-content">
<span class="login-color">注册登录</span> 后通过直接申请或加入购物车进行申请服务 直接申请后在个人中心查看 加入
<span class="login-color">购物车</span> 后可通过顶部菜单栏的购物车查看
</div>
</div>
<div class="inner d-flex flex-wrap">
<div
:class="(index + 1) % 4 === 0 ? 'margin-0' : ''"
:key="index"
class="item-box"
v-for="(item, index) in list"
>
<img :src="item.imgUrl" style="height: 220px; width: 100%; border: 1px solid #ccc" />
<p class="font-24 my-4">{{ item.name }}</p>
<p
@click="jump(item.id)"
class="font-16 baseColor"
style="text-align: right; cursor: pointer"
>了解更多</p>
</div>
</div>
<div class="inner">
<a-pagination
:current="current"
:page-size="pageSize"
:total="total"
@change="onShowSizeChange"
class="pagination"
show-less-items
show-quick-jumper
/>
</div>
</div>
</template>
<script>
import Banner from 'components/Banner/Banner.vue';
import HNav from './../components/HNav.vue';
import BreadCrumb from 'components/BreadCrumb/BreadCrumb.vue';
export default {
name: 'Services',
components: { Banner, HNav, BreadCrumb },
data() {
return {
title: '创业服务',
showPage: 46,
arr: [
{ name: '孵化平台', url: '/IncubationPlatform/MakerSpace' },
{ name: '创业服务', url: '' },
],
list: [],
current: 1,
pageSize: 8,
total: 0,
};
},
methods: {
//
onShowSizeChange(current, size) {
this.current = current;
},
//
jump(id) {
console.log(id);
this.$router.push({
path: '/NewPlatform/ServiceDet',
name: 'ServiceDet',
params: { id },
});
},
},
};
</script>
<style lang="stylus" scoped>
.inner {
margin: 40px auto;
}
.pagination {
text-align: right;
}
.item-box {
width: 20.5%;
margin-right: 6%;
border-radius: 4px;
box-shadow: 6px 6px 6px #eee;
}
.margin-0 {
margin-right: 0 !important;
}
</style>

140
src/views/IncubationPlatform/Children/ShareChild/InsDet.vue

@ -0,0 +1,140 @@
<template>
<div class="inner equ-box">
<div class="equ-info d-flex">
<img :src="obj.img" alt="" />
<div class="equ-info-box">
<p class="equ-name">{{ obj.name }}</p>
<div class="d-flex flex-wrap">
<div style="width: 200px" class="equ-info-left">
<p>仪器名字</p>
<p>制造商</p>
<p>型号</p>
<p>规格</p>
<p>性能指标</p>
<p>联系人</p>
<p>联系方式</p>
</div>
<div style="width: 500px">
<p>{{ obj.name }}</p>
<p>{{ obj.manufactor }}</p>
<p>{{ obj.model }}</p>
<p>{{ obj.specifications }}</p>
<p>{{ obj.performance }}</p>
<p>
<span v-for="(item, index) in obj.selPeoList" :key="index">{{ item.contactsName }}</span>
</p>
<p>
<span v-for="(item, index) in obj.selPeoList" :key="index">{{ item.contactsPhone }}</span>
</p>
</div>
</div>
<p class="equ-btn">
<a-button style="margin-right: 20px">转化意向</a-button>
<a-button type="primary">加入购物车</a-button>
</p>
</div>
</div>
<div class="content-box">
<div v-dompurify-html="obj.purpose"></div>
</div>
</div>
</template>
<script>
import { selInstrumentMes } from 'config/api';
export default {
name: 'InsDet',
data() {
return {
obj: {},
id: 0,
};
},
created() {
this.id = this.$route.params.id;
this.getData();
},
methods: {
async getData() {
try {
const params = { param: { id: this.id } };
const res = await selInstrumentMes(params);
const { code, data, msg } = res.data;
if (code === 200) {
console.log(data);
this.obj = data;
}
} catch (error) {
console.log(error);
}
},
},
};
</script>
<style lang="stylus" scoped>
.equ-box {
background: #fff;
padding: 20px;
margin: 60px auto;
}
.equ-info {
border-bottom: 1px solid rgba(0, 0, 0, 0.14901960784313725);
position: relative;
padding-bottom: 24px;
img {
width: 300px;
height: 300px;
}
}
.equ-name {
font-size: 24px;
font-family: Microsoft YaHei;
font-weight: bold;
line-height: 31px;
color: rgba(0, 0, 0, 0.85);
opacity: 1;
}
.equ-info-box {
position: relative;
font-size: 16px;
margin-left: 20px;
height: 300px;
font-family: Microsoft YaHei;
font-weight: 400;
color: rgba(0, 0, 0, 0.65);
opacity: 1;
p {
margin-bottom: 6px;
}
}
.equ-info-left {
font-size: 16px;
font-family: Microsoft YaHei;
font-weight: 400;
color: rgba(0, 0, 0, 0.45);
opacity: 1;
p {
margin-bottom: 6px;
}
}
.equ-btn {
position: absolute;
bottom: 0;
}
.content-box {
min-height: 400px;
padding: 20px;
font-size: 16px;
color: rgba(0, 0, 0, 0.65);
}
</style>

209
src/views/IncubationPlatform/Children/ShareChild/Institute.vue

@ -0,0 +1,209 @@
<template>
<div>
<rotation />
<h-nav />
<div class="inner ins-box">
<p class="font-bold-24 item-title">设备列表</p>
<div class="d-flex flex-wrap">
<div v-for="(item, index) in list" :key="index" class="item-box" :class="(index + 1) % 4 === 0 ? 'margin-0' : ''">
<img :src="item.imgUrl" style="height: 220px; width: 100%; border: 1px solid #ccc" />
<p class="font-24 my-4">{{ item.name }}</p>
<p class="font-16 baseColor item-more" @click="jump(item.id)">了解更多</p>
</div>
</div>
<p class="font-bold-24 item-title">人才团队带头人情况</p>
<div class="d-flex">
<div class="header-box" style="flex: 1">
<p style="background: #11b7ce; color: #fff">姓名</p>
<p>性别</p>
<p>民族</p>
<p>出生年月</p>
<p>学历</p>
<p>职称</p>
<p>所学专业</p>
<p>从事专业</p>
<p>团队名称</p>
<p>工作单位</p>
<p>研究方向</p>
</div>
<div class="header-box" style="flex: 5; background: #fff">
<p style="border-bottom: 1px solid #eee">{{ obj.name }}</p>
<p><span v-if="obj.gender - 0 === 1">男</span> <span v-else-if="obj.gender - 0 === 2"></span></p>
<p>{{ obj.famousFamily }}</p>
<p>{{ obj.birthday }}</p>
<p>{{ obj.education }}</p>
<p>{{ obj.position }}</p>
<p>{{ obj.major }}</p>
<p>{{ obj.professional }}</p>
<p>{{ obj.teamName }}</p>
<p>{{ obj.workUnit }}</p>
<p>{{ obj.direction }}</p>
</div>
</div>
<p class="font-bold-24 item-title">团队成员信息</p>
<div style="background: #fff">
<div class="d-flex">
<div class="h-box" style="flex: 1">姓名</div>
<div class="h-box" style="flex: 1">性别</div>
<div class="h-box" style="flex: 1">所在单位</div>
<div class="h-box" style="flex: 1">出生年月</div>
<div class="h-box" style="flex: 1">学历学位</div>
<div class="h-box" style="flex: 1">职称职务</div>
<div class="h-box" style="flex: 1">研究方向</div>
</div>
<div class="d-flex" v-for="(item, index) in obj.teamMemberList" :key="index">
<div class="con-box" style="flex: 1">{{ item.name }}</div>
<div class="con-box" style="flex: 1">
<span v-if="item.gender - 0 === 1"></span>
<span v-else-if="item.gender - 0 === 2"></span>
</div>
<div class="con-box" style="flex: 1">???????????????</div>
<div class="con-box" style="flex: 1">{{ item.birthday }}</div>
<div class="con-box" style="flex: 1">{{ item.education }}</div>
<div class="con-box" style="flex: 1">{{ item.position }}</div>
<div class="con-box" style="flex: 1">{{ item.direction }}</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { mapMutations, mapState } from 'vuex';
import { selInstrumentByRes, teamSearch } from 'config/api';
import Rotation from 'components/Rotation/Rotation.vue';
import HNav from './../../components/HNav.vue';
export default {
name: 'Institute',
components: { Rotation, HNav },
data() {
return {
id: 0,
obj: {},
list: [],
};
},
computed: mapState('home', ['LabId']),
created() {
if (this.$route.params.id) {
this.setLabId(this.$route.params.id);
this.id = this.$route.params.id;
} else {
this.id = this.LabId;
}
this.getData();
this.getTeam();
},
methods: {
...mapMutations('home', ['setLabId']),
//
async getData() {
try {
const params = {
param: {
id: this.id,
pageNum: 1,
pageSize: 6,
},
};
const res = await selInstrumentByRes(params);
const { code, msg, data } = res.data;
if (code === 200) {
this.list = data.list;
this.total = parseInt(data.total);
}
} catch (error) {
console.log(error);
}
},
//
async getTeam() {
try {
const params = { param: { instituteId: this.id } };
const res = await teamSearch(params);
const { code, msg, data } = res.data;
if (code === 200) {
this.obj = data[0];
}
} catch (error) {
console.log(error);
}
},
// /
jump(id) {
this.$router.push({
path: '/NewPlatform/Share/InsDet',
name: 'InsDet',
params: { id },
});
},
},
};
</script>
<style lang="stylus" scoped>
.ins-box {
min-height: 500px;
height: auto;
margin: 40px auto;
}
.pagination {
margin: 40px 0;
text-align: right;
}
.item-more {
right: 10px;
bottom: 0px;
cursor: pointer;
position: absolute;
}
.item-box {
position: relative;
width: 20.5%;
margin-right: 6%;
border-radius: 4px;
padding-bottom: 40px;
box-shadow: 6px 6px 6px #eee;
}
.margin-0 {
margin-right: 0 !important;
}
.item-title {
color: rgba(0, 0, 0, 0.85);
margin-top: 60px;
}
.header-box {
text-align: center;
p {
font-size: 24px;
color: rgba(0, 0, 0, 0.66);
height: 56px;
line-height: 56px;
margin-bottom: 0 !important;
}
}
.h-box {
text-align: center;
font-size: 22px;
color: #096DD9;
height: 56px;
line-height: 56px;
}
.con-box {
text-align: center;
font-size: 18px;
height: 46px;
line-height: 46px;
color: rgba(112, 112, 112, 0.66);
}
</style>

42
src/views/IncubationPlatform/Children/Tutor.vue

@ -0,0 +1,42 @@
<template>
<div>
<banner :show-page="showPage" />
<h-nav />
<div class="inner">
<bread-crumb :arr="arr" />
<div class="white pa-5 my-5">
<rich-text :title="title" />
</div>
</div>
</div>
</template>
<script>
import Banner from 'components/Banner/Banner.vue';
import HNav from './../components/HNav.vue';
import BreadCrumb from 'components/BreadCrumb/BreadCrumb.vue';
import RichText from 'components/Introduce/RichText.vue';
export default {
name: 'Tutor',
components: { Banner, HNav, BreadCrumb, RichText },
data() {
return {
title: '创业导师',
showPage: 44,
arr: [
{ name: '孵化平台', url: '/IncubationPlatform/MakerSpace' },
{ name: '创业导师', url: '' },
],
};
},
methods: {},
};
</script>
<style lang="stylus" scoped>
.inner {
margin: 40px auto;
}
</style>

54
src/views/IncubationPlatform/Children/components/SenNav.vue

@ -0,0 +1,54 @@
<template>
<div class="nav-box d-flex">
<div v-for="(item, index) in list" :key="index" :class="activeNum === index ? 'nav-box-active' : ''" @click="jump(item.url)">
{{ item.title }}
</div>
</div>
</template>
<script>
export default {
name: 'HNav',
data() {
return {
str: '导航条',
activeNum: 0,
list: [
{
title: '科技资源开放共享服务平台',
url: '/NewPlatform/Share',
},
{
title: '知识产权与技术转移转化服务平台',
url: '/NewPlatform/Transfer',
},
{
title: '资源开发利用平台',
url: '/NewPlatform/Develop',
},
],
};
},
created() {
console.log();
if (this.$route.fullPath === '/NewPlatform/Transfer') {
this.activeNum = 1;
} else if (this.$route.fullPath === '/NewPlatform/Develop') {
this.activeNum = 2;
} else {
this.activeNum = 0;
}
},
methods: {
jump(url) {
if (this.$route.fullPath === url) {
this.$message.success('已在当前界面');
} else {
this.$router.push(url);
}
},
},
};
</script>
<style lang="stylus" scoped></style>

14
src/views/IncubationPlatform/IncubationPlatform.vue

@ -0,0 +1,14 @@
<template>
<div>
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'IncubationPlatform',
data() {
return {};
},
};
</script>

80
src/views/IncubationPlatform/components/HNav.vue

@ -0,0 +1,80 @@
<template>
<div class="nav-box d-flex">
<div
:class="activeNum === index ? 'nav-box-active' : ''"
:key="index"
@click="jump(item.url)"
v-for="(item, index) in list"
>{{ item.title }}</div>
</div>
</template>
<script>
export default {
name: 'HNav',
data() {
return {
activeNum: 0,
list: [
{
title: '众创空间',
url: '/IncubationPlatform/IncubationPlatform',
},
{
title: '公共实验室',
url: '/IncubationPlatform/PublicLaboratory',
},
{
title: '中试基地',
url: '/IncubationPlatform/PilotBase',
},
{
title: '创业导师',
url: '/IncubationPlatform/Tutor',
},
{
title: '合作伙伴',
url: '/IncubationPlatform/Partner',
},
{
title: '创业服务',
url: '/IncubationPlatform/Services',
},
{
title: '产品展示',
url: '/IncubationPlatform/Products',
},
],
};
},
created() {
console.log();
if (this.$route.fullPath === '/IncubationPlatform/PublicLaboratory') {
this.activeNum = 1;
} else if (this.$route.fullPath === '/IncubationPlatform/PilotBase') {
this.activeNum = 2;
} else if (this.$route.fullPath === '/IncubationPlatform/Tutor') {
this.activeNum = 3;
} else if (this.$route.fullPath === '/IncubationPlatform/Partner') {
this.activeNum = 4;
} else if (this.$route.fullPath === '/IncubationPlatform/Services') {
this.activeNum = 5;
} else if (this.$route.fullPath === '/IncubationPlatform/Products') {
this.activeNum = 6;
} else {
this.activeNum = 0;
}
},
methods: {
jump(url) {
if (this.$route.fullPath === url) {
// this.$message.success('');
} else {
this.$router.push(url);
}
},
},
};
</script>
<style lang="stylus" scoped></style>

17
src/views/Policy/Policy.vue

@ -5,18 +5,20 @@
-->
<template>
<div class="wrap">
<policy-list />
<div class="inner">
<bread-crumb :arr="arr" />
<policy-list class="py-5 my-5" />
<!-- <policy-details v-else/> -->
</div>
</template>
<script>
// import PolicyDetails from './components/PolicyDetails.vue';
import BreadCrumb from 'components/BreadCrumb/BreadCrumb.vue';
import PolicyList from './components/PolicyList.vue';
export default {
name: 'Policy',
components: {
BreadCrumb,
PolicyList,
// PolicyDetails,
},
@ -24,6 +26,7 @@ export default {
return {
showType: 1,
list: [],
arr: [{ name: '创新政策', url: '' }],
};
},
methods: {},
@ -31,11 +34,7 @@ export default {
</script>
<style scoped lang="stylus">
.wrap {
width: 1260px;
min-height: 1037px;
margin: 80px auto 28px auto;
overflow: hidden;
opacity: 1;
.inner {
margin: 40px auto;
}
</style>

16
src/views/Policy/PolicyDetails.vue

@ -5,7 +5,7 @@
-->
<template>
<div class="box">
<div class="white inner">
<div class="policy-title">
<span>{{ obj.title }}</span>
</div>
@ -14,7 +14,7 @@
<a-icon class="baseColor" type="clock-circle" />&nbsp;&nbsp;&nbsp;&nbsp;
<span>{{ obj.time }}</span>
</span>
<span style="margin-left: 140px">
<span class="ml-8">
<!-- <a-icon type="form" />&nbsp;&nbsp;&nbsp;&nbsp; -->
<a-icon style="color: #ff1857" type="tag" />&nbsp;&nbsp;&nbsp;&nbsp;
<span>{{ obj.source }}</span>
@ -66,14 +66,8 @@ export default {
</script>
<style scoped lang="stylus">
.box {
width: 1260px;
position: relative;
margin: 80px auto;
background: #fff;
min-height: 1037px;
overflow: hidden;
opacity: 1;
.inner {
margin: 40px auto;
}
.back-btn {
@ -104,7 +98,7 @@ export default {
}
.policy-content {
padding: 0 25px;
padding: 0 25px 25px;
font-size: 16px;
color: rgba(0, 0, 0, 0.65);
font-weight: 400;

23
src/views/Policy/components/PolicyList.vue

@ -14,12 +14,22 @@
<a-checkbox :checked="pStatus.zg - 0 === 1" @click="changeStatus('zg')">山西转型综改示范区</a-checkbox>
</span>
<a-input-group class="search" compact>
<a-select @change="changeCode" style="width: 120px; height: 40px" v-model="pStatus.policyText[pStatus.value - 1]">
<a-select
@change="changeCode"
style="width: 120px; height: 40px"
v-model="pStatus.policyText[pStatus.value - 1]"
>
<a-select-option value="1">标题</a-select-option>
<a-select-option value="2">地区</a-select-option>
<a-select-option value="3">发布部门</a-select-option>
</a-select>
<a-input-search @search="getPolicy" enter-button="搜索" placeholder="请输入..." style="width: 76.2%" v-model="pStatus.iptCon" />
<a-input-search
@search="getPolicy"
enter-button="搜索"
placeholder="请输入..."
style="width: 76.2%"
v-model="pStatus.iptCon"
/>
</a-input-group>
</div>
<div class="policy-box">
@ -32,7 +42,10 @@
<p class="item-content">{{ item.intro }}</p>
<!-- <p class="item-content" v-html="item.content"></p> -->
<p class="source-time">
<span @click="openWin(item.titleUrl)" class="baseColor source">来源{{ item.publishDepartName }}</span>
<span
@click="openWin(item.titleUrl)"
class="baseColor source"
>来源{{ item.publishDepartName }}</span>
<span class="time">{{ item.publishTime }}</span>
</p>
<p class="original baseColor">
@ -45,10 +58,10 @@
</div>
<a-pagination
:current="current"
:page-size="pageSize"
:total="total"
@change="onShowSizeChange"
class="pagination"
:page-size="pageSize"
show-less-items
show-quick-jumper
/>
@ -153,7 +166,7 @@ export default {
<style scoped lang="stylus">
.box {
width: 1260px;
width: 100%;
min-height: 1037px;
overflow: hidden;
opacity: 1;

Loading…
Cancel
Save