Browse Source

创业社区,产业社区

song
song 3 years ago
parent
commit
6d4cd463f6
  1. BIN
      src/assets/space/title01.png
  2. BIN
      src/assets/space/title02.png
  3. 54
      src/components/BannerList/BannerList.vue
  4. 8
      src/components/Introduce/CompanyProfile.vue
  5. 2
      src/components/Introduce/Model.vue
  6. 190
      src/components/SettledEnterprise/SettledEnterprise.vue
  7. 2
      src/plugins/ant-design-vue.js
  8. 3
      src/views/About/Children/Index.vue
  9. 75
      src/views/IncubationPlatform/Children/Index.vue
  10. 107
      src/views/IncubationPlatform/Children/place/EntitySpace.vue
  11. 34
      src/views/IncubationPlatform/Children/place/VirtualSpace.vue
  12. 49
      src/views/Industry/Children/Index.vue
  13. 61
      src/views/Knowledge/Knowledge.vue
  14. 55
      src/views/NewPlatform/Children/Index.vue
  15. 10
      src/views/Policy/components/PolicyList.vue

BIN
src/assets/space/title01.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
src/assets/space/title02.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

54
src/components/BannerList/BannerList.vue

@ -1,5 +1,5 @@
<template> <template>
<a-carousel arrows dots-class="slick-dots slick-thumb"> <a-carousel arrows dots-class="slick-dots slick-thumb" :autoplay-speed="time" autoplay>
<a slot="customPaging" slot-scope="props"> <a slot="customPaging" slot-scope="props">
<img :src="getImgUrl(props.i)" /> <img :src="getImgUrl(props.i)" />
</a> </a>
@ -7,6 +7,29 @@
<div class="mask"> <div class="mask">
<div class="con"> <div class="con">
<!-- 文字 --> <!-- 文字 -->
<div class="banner-con" v-if="type === 'stkj' ? (item === 1 || item === 2) : item === 1">
<h1 class="about-title">路演厅</h1>
<div class="about-font">
路演厅主要用于公司组织举办技术培训技术交流创新论坛专题讲座项目路演创业论坛创业沙龙创业辅导创业培训创业大赛政策宣讲产学研合作等各类创新创业活动路演厅提供投影设施音响系统视频会议系统等配套设施及台签水壶水杯等基本会议用品
</div>
<h1 class="about-title"></h1>
</div>
<!-- 文字 -->
<div class="banner-con" v-if="type === 'stkj' ? (item === 3 || item === 4) : item === 2">
<h1 class="about-title">会议室</h1>
<div class="about-font">
会议室主要用于公司和入驻企业含工位注册企业内部会议内部培训公务接待学习交流等活动内部使用会议室实行免费会议室提供投影设施和水壶水杯等基本用品
</div>
<h1 class="about-title"></h1>
</div>
<!-- 文字 -->
<div class="banner-con" v-if="type === 'stkj' ? (item === 5 || item === 6) : item === 3">
<h1 class="about-title">洽谈室</h1>
<div class="about-font">
洽谈室主要用于入驻企业来访接待公务洽谈日常交流小型会议等活动公司为洽谈室提供水壶水杯等基本用品
</div>
<h1 class="about-title"></h1>
</div>
</div> </div>
<img :src="`${baseUrl}/${type}/1-${item}.jpg`" /> <img :src="`${baseUrl}/${type}/1-${item}.jpg`" />
</div> </div>
@ -30,6 +53,7 @@ export default {
data() { data() {
return { return {
baseUrl, baseUrl,
time: 10000,
}; };
}, },
methods: { methods: {
@ -73,8 +97,8 @@ export default {
} }
.mask{ .mask{
width: 1457px; /* width: 1457px; */
height: 517px; height: 537px;
margin: auto; margin: auto;
position: relative; position: relative;
} }
@ -85,7 +109,29 @@ export default {
left: 0; left: 0;
width: 100%; width: 100%;
height: 100%; height: 100%;
/* background: rgba(0,0,0,.5); */ background: rgba(0,0,0,.3);
z-index: 9; z-index: 9;
} }
.banner-con {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
width: 1200px;
}
.about-title {
color: white;
font-size: 80px;
font-weight: 600;
}
.about-font {
color: white;
font-size: 20px;
line-height: 40px;
text-align: left;
text-indent: 2em;
}
</style> </style>

8
src/components/Introduce/CompanyProfile.vue

@ -1,13 +1,13 @@
<template> <template>
<div> <div>
<a-modal <!-- <a-modal
:footer="null" :footer="null"
:title="profile.company" :title="profile.company"
:visible="showProfile" :visible="showProfile"
@cancel="handleCancel" @cancel="handleCancel"
@ok="handleCancel" @ok="handleCancel"
> > -->
<div class="fill-width grey--text font-14" style="text-align: right"> <div class="fill-width grey--text font-16" style="text-align: right">
<span class="mr-6">联系人{{ profile.name || '暂无' }}</span> <span class="mr-6">联系人{{ profile.name || '暂无' }}</span>
<span>联系电话{{ profile.phone || '暂无' }}</span> <span>联系电话{{ profile.phone || '暂无' }}</span>
</div> </div>
@ -15,7 +15,7 @@
<span class="font-16 white line-height-36" v-dompurify-html="profile.description"></span> <span class="font-16 white line-height-36" v-dompurify-html="profile.description"></span>
</p> </p>
<p v-else>暂无介绍</p> <p v-else>暂无介绍</p>
</a-modal> <!-- </a-modal> -->
</div> </div>
</template> </template>

2
src/components/Introduce/Model.vue

@ -6,7 +6,7 @@
<template> <template>
<div> <div>
<a-button @click="showModal" type="primary">立即加入</a-button> <a-button @click="showModal" type="primary" size="large" class="px-6">立即加入</a-button>
<a-modal :confirm-loading="confirmLoading" :visible="visible" @cancel="handleCancel" @ok="handleOk(type)" title="招聘信息" width="50%"> <a-modal :confirm-loading="confirmLoading" :visible="visible" @cancel="handleCancel" @ok="handleOk(type)" title="招聘信息" width="50%">
<a-form :form="form"> <a-form :form="form">
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="姓名" required> <a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="姓名" required>

190
src/components/SettledEnterprise/SettledEnterprise.vue

@ -1,29 +1,42 @@
<template> <template>
<div class="fast-box"> <div>
<div class="d-flex flex-nowrap flex-row-reverse mb-5"> <div class="d-flex flex-row">
<a-input-search <ul class="munes">
@search="getBusiness" <li @click="changeType(index)" :class="index === activeKey ? 'active' : ''" v-for="(menu,index) in menus" :key="index">{{ menu }}</li>
enter-button="搜索" </ul>
placeholder="请输入..." <div class="d-flex flex-nowrap flex-row-reverse mb-5 flex-1">
style="width: 50%" <a-input-search
v-model="business" @search="getBusiness"
/> enter-button="搜索"
placeholder="请输入..."
style="width: 50%"
v-model="business"
/>
</div>
</div> </div>
<div class="con-box" id="bobaodiv">
<div <div class="fast-box">
:key="0 + `${i}`" <div class="con-box" id="bobaodiv">
@click="openProfile(item.id)" <div
class="ent-box-div" :key="0 + `${i}`"
v-for="(item, i) in lists" class="ent-box-div"
> v-for="(item, i) in newList"
<div class="ent-box pointer"> >
<p class="ent-index">{{ i + 1 }}</p> <div class="ent-box pointer" @click="openProfile(item.id, i)">
<span class="ent-name" style="margin-left: 50px">{{ item.company }}</span> <p class="ent-index">{{ i + 1 }}</p>
<span class="ent-mainBusiness" style="margin-left: 50px">{{ item.mainBusiness }}</span> <span class="ent-name" style="margin-left: 50px">{{ item.company }}</span>
<span class="ent-mainBusiness" style="margin-left: 50px">{{ item.mainBusiness }}</span>
<a-icon class="ent-icon" type="down" v-if="!item.showProfile" />
<a-icon class="ent-icon" type="up" v-else />
</div>
<div class="ent-profile" v-if="item.showProfile">
<a-spin tip="Loading..." v-if="show"></a-spin>
<company-profile v-else :show-profile="showProfile" @closeProfile="closeProfile" />
</div>
</div> </div>
</div>
<company-profile :show-profile="showProfile" @closeProfile="closeProfile" v-if="showProfile" /> <!-- <company-profile :show-profile="showProfile" @closeProfile="closeProfile" v-if="showProfile" /> -->
</div>
</div> </div>
</div> </div>
</template> </template>
@ -42,8 +55,10 @@ export default {
default: () => [], default: () => [],
}, },
}, },
data() { data() {
return { return {
newList: [],
business: '', // business: '', //
height: '', height: '',
width: '', width: '',
@ -56,19 +71,48 @@ export default {
rollTime: 10, rollTime: 10,
length: 0, length: 0,
showProfile: false, showProfile: false,
menus: ['入驻企业名录','生物医药','功能食品','数字健康','其他'],
activeKey: 0,
show: false
}; };
}, },
computed: mapState('home', ['profile']), computed: mapState('home', ['profile']),
watch: {
lists(val){
let arr = []
val.forEach(item => {
item.showProfile = false;
arr.push(item);
})
this.newList = [...arr]
}
},
mounted() { mounted() {
const length = this.lists.length / 100; if(this.lists && this.lists.length){
let arr = []
this.lists.forEach(item => {
item.showProfile = false;
arr.push(item);
})
this.newList = [...arr]
}
const length = this.newList.length / 100;
this.BBLineH = 76; this.BBLineH = 76;
// this.scrollBox(); // this.scrollBox();
}, },
methods: { methods: {
...mapMutations('home', ['setProfile']), ...mapMutations('home', ['setProfile']),
changeType(key) {
this.activeKey = key
this.$emit('searchEnt', this.business, key);
},
// //
getBusiness() { getBusiness() {
console.log('value: ', this.business); console.log('value: ', this.business);
@ -121,21 +165,39 @@ export default {
} }
}, },
//
openProfile(id, i){
let arr = this.newList;
arr.forEach((item,index) => {
if(index === i){
if(!item.showProfile){
this.getProfile(id)
}
item.showProfile = !item.showProfile;
}else{
item.showProfile = false
}
})
this.newList = [...arr]
},
// //
async openProfile(id) { async getProfile(id) {
try { try {
this.show = true
this.setProfile(null); this.setProfile(null);
const params = { param: { id } }; const params = { param: { id } };
const res = await placeQuery(params); const res = await placeQuery(params);
this.show = false
const { code, msg, data } = res.data; const { code, msg, data } = res.data;
if (code === 200) { if (code === 200) {
console.log('data: ', data);
this.setProfile(data); this.setProfile(data);
this.showProfile = true; this.showProfile = true;
} else { } else {
this.$message.error(msg || '查询失败'); this.$message.error(msg || '查询失败');
} }
} catch (error) { } catch (error) {
this.show = false
console.log('error: ', error); console.log('error: ', error);
} }
}, },
@ -148,23 +210,45 @@ export default {
</script> </script>
<style lang="stylus" scoped> <style lang="stylus" scoped>
.munes{
display: flex;
flex-direction: row;
// justify-content: space-between;
padding: 0;
margin-bottom: 20px;
}
.munes li{
list-style: none;
font-size: 18px;
font-weight: bold;
cursor: pointer;
margin-right: 20px;
color: #999;
}
.munes li.active{
color: #13acc4
}
.ent-box-div { .ent-box-div {
width: 100%; width: 100%;
margin-right: 11%; margin-right: 11%;
position: relative; position: relative;
height: 76px; // height: 76px;
display: flex;
flex-direction: column;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
margin-bottom: 15px;
} }
.ent-box { .ent-box {
width: 100%; width: 100%;
// margin-right: 11%; // margin-right: 11%;
position: relative; position: relative;
height: 56px; height: 46px;
line-height: 56px; line-height: 46px;
padding: 0 14px; padding: 0 14px;
background: #FFFFFF;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
opacity: 1;
// margin-bottom: 20px; // margin-bottom: 20px;
} }
@ -190,9 +274,8 @@ export default {
height: 24px; height: 24px;
top: 50%; top: 50%;
margin-top: -12px; margin-top: -12px;
font-size: 22px; // font-size: 20px;
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-weight: bold;
line-height: 24px; line-height: 24px;
color: rgba(0, 0, 0, 0.65); color: rgba(0, 0, 0, 0.65);
opacity: 1; opacity: 1;
@ -201,46 +284,37 @@ export default {
.ent-mainBusiness { .ent-mainBusiness {
position: absolute; position: absolute;
left: 60%; left: 40%;
width: 25%; width: 25%;
height: 24px; height: 24px;
top: 50%; top: 50%;
margin-top: -12px; margin-top: -12px;
font-size: 22px; // font-size: 20px;
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-weight: bold;
line-height: 24px; line-height: 24px;
color: rgba(0, 0, 0, 0.65); color: rgba(0, 0, 0, 0.65);
opacity: 1; opacity: 1;
overflow: hidden; overflow: hidden;
} }
// .fast-box { .ent-icon{
// position: relative; position: absolute;
// height: 456px; top: 50%;
// } right: 20px;
margin-top: -8px;
// .con-box { }
// top: 0;
// left: 0;
// position: absolute;
// width: 100%;
// height: 100%;
// overflow: hidden;
// div {
// justify-content: center;
// align-items: center;
// }
// }
.con-box { .con-box {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: hidden; overflow: hidden;
}
div { .ent-profile{
justify-content: center; display: flex;
align-items: center; flex-direction: column;
} width: 100%;
padding: 15px;
border-top: 1px solid #efefef;
} }
</style> </style>

2
src/plugins/ant-design-vue.js

@ -44,6 +44,7 @@ import {
Skeleton, Skeleton,
AutoComplete, AutoComplete,
InputNumber, InputNumber,
Spin,
} from 'ant-design-vue'; } from 'ant-design-vue';
import { ConfigProvider } from 'ant-design-vue'; import { ConfigProvider } from 'ant-design-vue';
Vue.component(ConfigProvider.name, ConfigProvider); Vue.component(ConfigProvider.name, ConfigProvider);
@ -82,6 +83,7 @@ Vue.use(Card);
Vue.use(Skeleton); Vue.use(Skeleton);
Vue.use(AutoComplete); Vue.use(AutoComplete);
Vue.use(InputNumber); Vue.use(InputNumber);
Vue.use(Spin);
Vue.prototype.$message = message; Vue.prototype.$message = message;
Vue.prototype.$notification = notification; Vue.prototype.$notification = notification;

3
src/views/About/Children/Index.vue

@ -28,6 +28,7 @@
山西绿谷生物科技有限公司由山西智汇协同创新研究院有限公司山西省生物研究院有限公司天娇红农业科技有限公司 山西绿谷生物科技有限公司由山西智汇协同创新研究院有限公司山西省生物研究院有限公司天娇红农业科技有限公司
微动互联北京科技有限公司和山西力德福科技有限公司共同出资组建公司立足功能食品生物医药和数字健康产业聚焦创新聚力孵化聚合产业致力构建全链条一体化线上线下一体化开放式创新创业平台培育打造新型创新创业综合体促进特色新兴产业集群化发展 微动互联北京科技有限公司和山西力德福科技有限公司共同出资组建公司立足功能食品生物医药和数字健康产业聚焦创新聚力孵化聚合产业致力构建全链条一体化线上线下一体化开放式创新创业平台培育打造新型创新创业综合体促进特色新兴产业集群化发展
</div> </div>
<model />
</div> </div>
</div> </div>
@ -223,7 +224,7 @@ export default {
.about-title { .about-title {
color: white; color: white;
font-size: 55px; font-size: 80px;
font-weight: 600; font-weight: 600;
} }

75
src/views/IncubationPlatform/Children/Index.vue

@ -86,10 +86,9 @@
<div class="w-1500"> <div class="w-1500">
<div class="inner d-flex flex-wrap" style="margin: 20px auto"> <div class="inner d-flex flex-wrap" style="margin: 20px auto">
<div <div
:class="(index + 1) % 4 === 0 ? 'margin-0' : ''" :class="(index + 1) % 3 === 0 ? 'margin-0' : ''"
:key="index" :key="index"
class="item-box pointer d-flex flex-column" class="item-box mb-8 pointer"
style="position: relative"
v-for="(item, index) in serviceList" v-for="(item, index) in serviceList"
> >
<img <img
@ -99,7 +98,10 @@
style="height: 220px; width: 100%; border: 1px solid #ccc" style="height: 220px; width: 100%; border: 1px solid #ccc"
/> />
<p @click="showModal(item.id)" class="font-24 my-2 text-center">{{ item.name }}</p> <p @click="showModal(item.id)" class="font-24 my-4 service-title">
<span>{{ item.name }}</span>
<a-button @click="showModal(item.id)">需求填报</a-button>
</p>
<div class="font-16 textColor item-intro mb-2" v-if="item.intro.length > 45"> <div class="font-16 textColor item-intro mb-2" v-if="item.intro.length > 45">
{{ item.intro.slice(0, 45) }} {{ item.intro.slice(0, 45) }}
@ -135,12 +137,12 @@
</div> </div>
</div> </div>
<div class="w-1500"> <div class="w-1500">
<div class="partner-flex" v-show="currType === index" v-for="(item, index) in lists" :key="index"> <div class="partner-flex">
<div class="partner-item" style="display: inline-block !important" v-for="(v, k) in item" :key="k"> <div class="partner-item" v-for="(item, index) in lists" :key="index" :class="!item.logoUrl ? 'partner-txt' : ''">
<div class="partner-item-img" style="display: inline-block !important"> <div class="partner-item-img" v-if="item.logoUrl">
<img style="display: inline-block !important" :src="v.logoUrl" /> <img :src="item.logoUrl" />
</div> </div>
<p>{{ v.name }}</p> <div class="partner-name">{{ item.name }}</div>
</div> </div>
</div> </div>
</div> </div>
@ -315,7 +317,7 @@ export default {
param: { param: {
pageNum: 1, pageNum: 1,
type: 1, type: 1,
typeOfPlatform: 2, typeOfPlatform: 3,
}, },
}; };
await this.getFrontSearchCompany(params); await this.getFrontSearchCompany(params);
@ -323,19 +325,21 @@ export default {
this.lists = []; this.lists = [];
this.listType = []; this.listType = [];
this.partners.forEach(item => { this.partners.forEach(item => {
this.lists.push(item.backendSearchList); item.backendSearchList.forEach(list => {
this.lists.push(list);
})
if (item.typeOfTech === 0 && this.listType.indexOf('高校') === -1) { // if (item.typeOfTech === 0 && this.listType.indexOf('') === -1) {
this.listType.push('高校'); // this.listType.push('');
} // }
if (item.typeOfTech === 1 && this.listType.indexOf('院所') === -1) { // if (item.typeOfTech === 1 && this.listType.indexOf('') === -1) {
this.listType.push('院所'); // this.listType.push('');
} // }
if (item.typeOfTech === 2 && this.listType.indexOf('企业') === -1) { // if (item.typeOfTech === 2 && this.listType.indexOf('') === -1) {
this.listType.push('企业'); // this.listType.push('');
} // }
}); });
}, },
@ -562,6 +566,11 @@ a {
margin: 0 auto; margin: 0 auto;
} }
.item-intro{
text-align: left;
// text-indent: 2em;
}
.text-center { .text-center {
text-align: center; text-align: center;
} }
@ -730,15 +739,20 @@ a {
flex-wrap: wrap; flex-wrap: wrap;
.partner-item { .partner-item {
height: 163px;
margin: 20px 0; margin: 20px 0;
padding: 10px 0; padding: 10px 0;
margin-right: 40px; margin-right: 40px;
width: calc(((100% - 160px) / 5)); width: calc(((100% - 200px) / 6));
text-align: center; text-align: center;
border: 1px solid #D9D9D9; border: 1px solid #D9D9D9;
border-radius: 5px; border-radius: 5px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
&:nth-child(5n) { &:nth-child(6n) {
margin-right: 0; margin-right: 0;
} }
@ -755,12 +769,17 @@ a {
max-height: 100%; max-height: 100%;
} }
p { .partner-name {
font-size: 16px; font-size: 16px;
color: #000; color: #000;
margin: 0; margin: 0;
line-height: 24px;
} }
} }
.partner-txt{
height: 163px;
}
} }
} }
@ -821,11 +840,17 @@ a {
.item-box { .item-box {
position: relative; position: relative;
width: 20.5%; width: 26%;
margin-right: 6%; margin-right: 11%;
border-radius: 4px; border-radius: 4px;
} }
.service-title{
display: flex;
justify-content: space-between;
align-items: center;
}
.margin-0 { .margin-0 {
margin-right: 0 !important; margin-right: 0 !important;
} }

107
src/views/IncubationPlatform/Children/place/EntitySpace.vue

@ -20,7 +20,7 @@
</div> </div>
<!-- 孵化场所 --> <!-- 孵化场所 -->
<!-- <div @click="$router.push('')" class="center-box c-box pointer"> <!-- <div @click="$router.push('')" class="center-box c-box pointer">
<div class="center-title"> <div class="con-title">
<div class="circular"></div> <div class="circular"></div>
<div style="margin-left: 40px">孵化场所</div> <div style="margin-left: 40px">孵化场所</div>
</div> </div>
@ -30,14 +30,23 @@
开放空间区按功能食品生物医药数字健康领域进行分区设置 开放空间区按功能食品生物医药数字健康领域进行分区设置
</div> </div>
</div> --> </div> -->
<!-- 轮播图片 -->
<div class="banner-list">
<banner-list :type="type" :num="num" />
</div>
<!-- 公共实验室 --> <!-- 公共实验室 -->
<!-- <div @click="$router.push('')" class="center-box pointer"> <div @click="$router.push('')" class="center-box">
<div class="center-title"> <div class="con-title">
<div class="circular"></div> <img
<div style="margin-left: 40px">公共实验室</div> class="center-img"
src="https://www.sxgreenvalley.com/gateway/greenvalley/uploads/laboratory.png"
/>
</div> </div>
<div class="center-content d-flex flex-column"> <div class="center-con d-flex flex-column">
<span> <div style="margin-bottom: 20px;">
<img src="~assets/space/title01.png" />
</div>
<span class="indent">
公共实验室位于太原市师范街50号山西省生物研究院有限公司总面积1320平方米 公共实验室位于太原市师范街50号山西省生物研究院有限公司总面积1320平方米
建有医药生物技术山西省重点实验室山西省发酵工程中试基地山西省乳品 建有医药生物技术山西省重点实验室山西省发酵工程中试基地山西省乳品
发酵中试基地等省级科技创新平台具有检验检测机构资质认定证书CMA实验室 发酵中试基地等省级科技创新平台具有检验检测机构资质认定证书CMA实验室
@ -45,34 +54,30 @@
液相色谱仪万级无菌工作间P2实验室等多种高端大型实验仪器设备可提供生物医药 液相色谱仪万级无菌工作间P2实验室等多种高端大型实验仪器设备可提供生物医药
食品检测食用菌肠道微生物等方面的科学实验检验检测小试中试等技术服务与科研成果转化 食品检测食用菌肠道微生物等方面的科学实验检验检测小试中试等技术服务与科研成果转化
</span> </span>
<img
class="center-img"
src="https://www.sxwikionline.com/gateway/greenvalley/uploads/upload/20210120/eb472126971a47438a3227df967ed2cb.png"
/>
</div> </div>
</div> --> </div>
<!-- 中试基地 --> <!-- 中试基地 -->
<!-- <div @click="$router.push('')" class="center-box c-box pointer"> <div @click="$router.push('')" class="center-box">
<div class="center-title"> <div class="center-con d-flex flex-column">
<div class="circular"></div> <div style="margin-bottom: 20px;">
<div style="margin-left: 40px">中试基地</div> <img src="~assets/space/title02.png" />
</div> </div>
<div class="center-content d-flex flex-column"> <div class="indent">发酵工程中试基地位于山西维尔乳制品有限公司基地具有发酵乳制品等生产加工条件可提供微生物发酵实验及相关中试</div>
<div>发酵工程中试基地位于山西维尔乳制品有限公司基地具有发酵乳制品等生产加工条件可提供微生物发酵实验及相关中试</div> <div class="indent">超高压食品加工中试基地位于太原市小店区正阳街43号的山西力德福科技有限公司基地具有非热杀菌保鲜生产线超高压设备制造生产线及中试车间可提供超高压加工实验及相关中试和产业化服务</div>
<div>超高压食品加工中试基地位于太原市小店区正阳街43号的山西力德福科技有限公司基地具有非热杀菌保鲜生产线超高压设备制造生产线及中试车间可提供超高压加工实验及相关中试和产业化服务</div> <div class="indent">
<div> 干果精深加工中试基地位于吕梁的交城天娇红农业科技有限公司拥有300余万元的先进分析检测仪器设备及免洗干枣生产车间浓缩枣汁生产车间等生产加工条件可提供相关中试研究
干果精深加工中试基地位于吕梁的交城天娇红农业科技有限公司
拥有300余万元的先进分析检测仪器设备及免洗干枣生产车间浓缩枣汁生产车间等生产加工条件可提供相关中试研究
</div> </div>
</div>
<div class="con-title">
<img <img
class="center-img" class="center-img"
src="https://www.sxwikionline.com/gateway/greenvalley/uploads/upload/20210120/d80b7f22aabc4c7194324b0f93793a41.png" src="https://www.sxgreenvalley.com/gateway/greenvalley/uploads/base.png"
/> />
</div> </div>
</div> --> </div>
<!-- 加入流程 --> <!-- 加入流程 -->
<!-- <div class="center-box"> <!-- <div class="center-box">
<div class="center-title"> <div class="con-title">
<div class="circular"></div> <div class="circular"></div>
<div style="margin-left: 40px">加入流程</div> <div style="margin-left: 40px">加入流程</div>
</div> </div>
@ -97,16 +102,12 @@
</div> </div>
<add-model :value="2" class="center-btn" style="height: 32px" /> <add-model :value="2" class="center-btn" style="height: 32px" />
</div>--> </div>-->
<!-- 轮播图片 -->
<div class="banner-list">
<banner-list :type="type" :num="num" />
</div>
<!-- 入驻企业名录 --> <!-- 入驻企业名录 -->
<div class="center-box" style="margin-bottom: 15px"> <div class="center-box" style="margin-bottom: 15px">
<div class="center-title" style="top: 105px;"> <!-- <div class="center-title">
<div class="circular"></div>
<div style="margin-left: 40px">入驻企业名录</div> <div style="margin-left: 40px">入驻企业名录</div>
</div> </div> -->
<div class="center-content"> <div class="center-content">
<settled-enterprise :lists="lists" @searchEnt="searchEnt" /> <settled-enterprise :lists="lists" @searchEnt="searchEnt" />
<!-- <div :key="index" class="ent-box" v-for="(item, index) in lists"> <!-- <div :key="index" class="ent-box" v-for="(item, index) in lists">
@ -142,7 +143,7 @@ export default {
{ name: '实体众创空间', url: '' }, { name: '实体众创空间', url: '' },
], ],
type: 'stkj', type: 'stkj',
num: 7, num: 6,
list: [], list: [],
pageSize: 18, pageSize: 18,
current: 1, current: 1,
@ -161,7 +162,6 @@ export default {
}, },
created() { created() {
console.log(this.$router);
this.searchEnt(); this.searchEnt();
}, },
@ -170,9 +170,9 @@ export default {
onShowSizeChange(current, size) { onShowSizeChange(current, size) {
this.current = current; this.current = current;
}, },
async searchEnt(business) { async searchEnt(business, enterpriseType = 0) {
try { try {
const params = { param: { placeType: 1, company: business ? business : '' } }; const params = { param: { placeType: 1, company: business ? business : '', enterpriseType } };
const res = await searchEnt(params); const res = await searchEnt(params);
const { code, msg, data } = res.data; const { code, msg, data } = res.data;
if (code === 200) { if (code === 200) {
@ -193,12 +193,32 @@ export default {
margin: 10px auto 15px; margin: 10px auto 15px;
} }
.center-box{
display: flex;
flex-direction: row;
justify-content: space-between;
}
.center-btn { .center-btn {
position: absolute; position: absolute;
left: 26.2%; left: 26.2%;
bottom: 100px; bottom: 100px;
} }
.center-con{
margin: 0 60px;
line-height: 36px;
font-size: 16px;
flex: 1;
display: flex;
justify-content: center;
}
.indent{
text-align: justify;
text-indent: 2em;
}
.pagination { .pagination {
float: right; float: right;
} }
@ -339,13 +359,22 @@ export default {
} }
} }
.con-title{
margin: 20px 0 0;
}
.center-img { .center-img {
width: 79%; width: 500px;
height: 484px;
} }
.banner-list{ .banner-list{
width: 100%; width: 100%;
padding: 60px 0 30px; padding: 40px 9% 30px;
background: #fff; background: #fff;
} }
.center-content{
width: 100%;
}
</style> </style>

34
src/views/IncubationPlatform/Children/place/VirtualSpace.vue

@ -9,11 +9,15 @@
<settled-model :type-num="0" class="add-mol" ref="childModel" style="height: 32px" /> <settled-model :type-num="0" class="add-mol" ref="childModel" style="height: 32px" />
<information-model :place-type="placeType" class="set-mol" /> <information-model :place-type="placeType" class="set-mol" />
</div> </div>
<div class="center-box c-box" style="margin-bottom: 160px"> <!-- 轮播图片 -->
<div class="center-title" style="top: 105px;"> <div class="banner-list">
<banner-list :type="type" :num="num" />
</div>
<div class="center-box" style="margin-bottom: 160px">
<!-- <div class="center-title" style="top: 105px;">
<div class="circular"></div> <div class="circular"></div>
<div style="margin-left: 40px">入驻企业名录</div> <div style="margin-left: 40px">入驻企业名录</div>
</div> </div> -->
<div class="center-content"> <div class="center-content">
<settled-enterprise :lists="lists" @searchEnt="searchEnt" /> <settled-enterprise :lists="lists" @searchEnt="searchEnt" />
</div> </div>
@ -28,25 +32,27 @@ import BreadCrumb from 'components/BreadCrumb/BreadCrumb.vue';
import SettledModel from 'components/Introduce/SettledModel.vue'; import SettledModel from 'components/Introduce/SettledModel.vue';
import InformationModel from 'components/Introduce/InformationModel.vue'; import InformationModel from 'components/Introduce/InformationModel.vue';
import Banner from 'components/Banner/Banner.vue'; import Banner from 'components/Banner/Banner.vue';
import BannerList from 'components/BannerList/BannerList.vue';
import { searchEnt } from 'config/api'; import { searchEnt } from 'config/api';
import SettledEnterprise from 'components/SettledEnterprise/SettledEnterprise.vue'; import SettledEnterprise from 'components/SettledEnterprise/SettledEnterprise.vue';
export default { export default {
name: 'VirtualSpace', name: 'VirtualSpace',
components: { HNav, BreadCrumb, SettledModel, Banner, SettledEnterprise, InformationModel }, components: { HNav, BreadCrumb, SettledModel, Banner, SettledEnterprise, InformationModel, BannerList },
data() { data() {
return { return {
title: '虚拟众创空间', title: '虚拟众创空间',
arr: [ arr: [
{ name: '创业社区', url: '/IncubationPlatform/MakerSpace' }, { name: '创业社区', url: '/IncubationPlatform/Index' },
{ name: '众创空间', url: '/IncubationPlatform/MakerSpace' }, { name: '众创空间', url: '/IncubationPlatform/Index#mao1' },
{ name: '虚拟众创空间', url: '' }, { name: '虚拟众创空间', url: '' },
], ],
type: 'xnkj',
num: 3,
list: [], list: [],
pageSize: 18, pageSize: 18,
current: 1, current: 1,
lists: [], lists: [],
isShowModel: 0,
placeType: 0, placeType: 0,
}; };
}, },
@ -69,9 +75,9 @@ export default {
onShowSizeChange(current, size) { onShowSizeChange(current, size) {
this.current = current; this.current = current;
}, },
async searchEnt(business) { async searchEnt(business, enterpriseType = 0) {
try { try {
const params = { param: { placeType: 0, company: business ? business : '' } }; const params = { param: { placeType: 0, company: business ? business : '', enterpriseType } };
const res = await searchEnt(params); const res = await searchEnt(params);
const { code, msg, data } = res.data; const { code, msg, data } = res.data;
if (code === 200) { if (code === 200) {
@ -252,4 +258,14 @@ export default {
left: 40%; left: 40%;
} }
} }
.banner-list{
width: 100%;
padding: 40px 9% 30px;
background: #fff;
}
.center-content{
width: 100%;
}
</style> </style>

49
src/views/Industry/Children/Index.vue

@ -51,8 +51,9 @@
<div :class="(index + 1) % 3 === 0 ? 'margin-0' : ''" :key="index" class="item-box mb-8" v-for="(item, index) in serviceList"> <div :class="(index + 1) % 3 === 0 ? 'margin-0' : ''" :key="index" class="item-box mb-8" v-for="(item, index) in serviceList">
<img :src="item.picUrl" @click="showModal(item.id)" style="height: 220px; width: 100%; border: 1px solid #ccc" /> <img :src="item.picUrl" @click="showModal(item.id)" style="height: 220px; width: 100%; border: 1px solid #ccc" />
<p @click="showModal(item.id)" class="font-24 my-4 text-center"> <p @click="showModal(item.id)" class="font-24 my-4 service-title">
<span>{{ item.name }}</span> <span>{{ item.name }}</span>
<a-button @click="showModal(item.id)">需求填报</a-button>
</p> </p>
<div class="font-16 textColor item-intro mb-2" v-if="item.intro.length > 45"> <div class="font-16 textColor item-intro mb-2" v-if="item.intro.length > 45">
@ -89,12 +90,12 @@
</div> </div>
</div> </div>
<div class="w-1500"> <div class="w-1500">
<div class="partner-flex" v-show="currType === index" v-for="(item, index) in lists" :key="index"> <div class="partner-flex">
<div class="partner-item" style="display: inline-block !important" v-for="(v, k) in item" :key="k"> <div class="partner-item" style="display: inline-block !important" v-for="(item, index) in lists" :key="index">
<div class="partner-item-img" style="display: inline-block !important"> <div class="partner-item-img" style="display: inline-block !important">
<img style="display: inline-block !important" :src="v.logoUrl" /> <img style="display: inline-block !important" :src="item.logoUrl" />
</div> </div>
<p>{{ v.name }}</p> <p>{{ item.name }}</p>
</div> </div>
</div> </div>
</div> </div>
@ -268,19 +269,21 @@ export default {
this.lists = []; this.lists = [];
this.listType = []; this.listType = [];
this.partners.forEach(item => { this.partners.forEach(item => {
this.lists.push(item.backendSearchList); item.backendSearchList.forEach(list => {
this.lists.push(list);
})
if (item.typeOfTech === 0 && this.listType.indexOf('高校') === -1) { // if (item.typeOfTech === 0 && this.listType.indexOf('') === -1) {
this.listType.push('高校'); // this.listType.push('');
} // }
if (item.typeOfTech === 1 && this.listType.indexOf('院所') === -1) { // if (item.typeOfTech === 1 && this.listType.indexOf('') === -1) {
this.listType.push('院所'); // this.listType.push('');
} // }
if (item.typeOfTech === 2 && this.listType.indexOf('企业') === -1) { // if (item.typeOfTech === 2 && this.listType.indexOf('') === -1) {
this.listType.push('企业'); // this.listType.push('');
} // }
}); });
}, },
@ -499,6 +502,11 @@ export default {
margin: 0 auto; margin: 0 auto;
} }
.item-intro{
text-align: left;
// text-indent: 2em;
}
.text-center { .text-center {
text-align: center; text-align: center;
} }
@ -570,7 +578,6 @@ export default {
align-items: end; align-items: end;
font-size: 22px; font-size: 22px;
font-weight: bold; font-weight: bold;
color: #565656
} }
.service-flow { .service-flow {
@ -624,6 +631,10 @@ export default {
text-align: center; text-align: center;
border: 1px solid #D9D9D9; border: 1px solid #D9D9D9;
border-radius: 5px; border-radius: 5px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
&:nth-child(5n) { &:nth-child(5n) {
margin-right: 0; margin-right: 0;
@ -713,6 +724,12 @@ export default {
border-radius: 4px; border-radius: 4px;
} }
.service-title{
display: flex;
justify-content: space-between;
align-items: center;
}
.margin-0 { .margin-0 {
margin-right: 0 !important; margin-right: 0 !important;
} }

61
src/views/Knowledge/Knowledge.vue

@ -7,8 +7,30 @@
--> -->
<template> <template>
<div> <div>
<div class="inner my-1"> <div class="banner-box">
<bread-crumb :arr="arr" /> <a-carousel :autoplay-speed="time" autoplay>
<div class="img-box">
<img src="~assets/banner/banner1.png" />
</div>
<div class="img-box">
<img src="~assets/banner/banner2.png" />
</div>
<div class="img-box">
<img src="~assets/banner/banner3.png" />
</div>
</a-carousel>
<!-- 文字内容 -->
<div class="banner-con">
<h1 class="about-title">创业学院</h1>
<div class="about-font">
绿谷创业学院是绿谷众创打造的创业者一站式加速成长平台学院整合高校名师知名企业家学者组成导师团队通过线上知识产品矩阵结合线下定制化产业培训服务赋能企业创新提升人才素养链接产业资源为创业者投资人专家学者及商界领袖搭建共享交流平台帮助广大创业者解决实际问题快速成长
</div>
<div class="about-font">
学院秉持陪伴企业成长让企业少走弯路的宗旨产品模块设置遵循企业成长路径涵盖准备期初创期成长期三大阶段课程形式分为线上和线下课程内容包括创业培训市场运营投融资股权财税组织管理战略创新认知升级职业技能提升等
</div>
</div>
<!-- <div class="contact">乔晓阳18635939333</div> -->
</div> </div>
<div class="inner"> <div class="inner">
<classify @getData="getData" /> <classify @getData="getData" />
@ -108,6 +130,41 @@ export default {
margin: 20px auto; margin: 20px auto;
} }
.banner-box {
position: relative;
.banner-con {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
width: 1200px;
.about-title {
color: white;
font-size: 80px;
font-weight: 600;
}
.about-font {
color: white;
font-size: 20px;
line-height: 40px;
text-align: left;
text-indent: 2em;
}
}
.contact{
position: absolute;
bottom: 24px;
right: 40px;
font-size: 24px;
color: #fff;
font-weight: bold;
}
}
.pagination { .pagination {
margin: 40px 0; margin: 40px 0;
text-align: right; text-align: right;

55
src/views/NewPlatform/Children/Index.vue

@ -126,12 +126,12 @@
</div> </div>
</div> </div>
<div class="w-1500"> <div class="w-1500">
<div class="partner-flex" v-show="currType === index" v-for="(item, index) in lists" :key="index"> <div class="partner-flex">
<div class="partner-item" style="display: inline-block !important" v-for="(v, k) in item" :key="k"> <div class="partner-item" v-for="(item, index) in lists" :key="index" :class="!item.logoUrl ? 'partner-txt' : ''">
<div class="partner-item-img" style="display: inline-block !important"> <div class="partner-item-img" v-if="item.logoUrl">
<img style="display: inline-block !important" :src="v.logoUrl" /> <img :src="item.logoUrl" />
</div> </div>
<p>{{ v.name }}</p> <div class="partner-name">{{ item.name }}</div>
</div> </div>
</div> </div>
</div> </div>
@ -201,7 +201,7 @@ export default {
param: { param: {
pageNum: 1, pageNum: 1,
type: 1, type: 1,
typeOfPlatform: 2, typeOfPlatform: 1,
}, },
}; };
await this.getFrontSearchCompany(params); await this.getFrontSearchCompany(params);
@ -209,19 +209,20 @@ export default {
this.lists = []; this.lists = [];
this.listType = []; this.listType = [];
this.partners.forEach(item => { this.partners.forEach(item => {
this.lists.push(item.backendSearchList); item.backendSearchList.forEach(list => {
this.lists.push(list);
if (item.typeOfTech === 0 && this.listType.indexOf('高校') === -1) { })
this.listType.push('高校'); // if (item.typeOfTech === 0 && this.listType.indexOf('') === -1) {
} // this.listType.push('');
// }
if (item.typeOfTech === 1 && this.listType.indexOf('院所') === -1) {
this.listType.push('院所'); // if (item.typeOfTech === 1 && this.listType.indexOf('') === -1) {
} // this.listType.push('');
// }
if (item.typeOfTech === 2 && this.listType.indexOf('企业') === -1) {
this.listType.push('企业'); // if (item.typeOfTech === 2 && this.listType.indexOf('') === -1) {
} // this.listType.push('');
// }
}); });
}, },
@ -471,15 +472,20 @@ a {
flex-wrap: wrap; flex-wrap: wrap;
.partner-item { .partner-item {
height: 163px;
margin: 20px 0; margin: 20px 0;
padding: 10px 0; padding: 10px 0;
margin-right: 40px; margin-right: 40px;
width: calc(((100% - 160px) / 5)); width: calc(((100% - 200px) / 6));
text-align: center; text-align: center;
border: 1px solid #D9D9D9; border: 1px solid #D9D9D9;
border-radius: 5px; border-radius: 5px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
&:nth-child(5n) { &:nth-child(6n) {
margin-right: 0; margin-right: 0;
} }
@ -496,12 +502,17 @@ a {
max-height: 100%; max-height: 100%;
} }
p { .partner-name {
font-size: 16px; font-size: 16px;
color: #000; color: #000;
margin: 0; margin: 0;
line-height: 24px;
} }
} }
.partner-txt{
height: 163px;
}
} }
} }

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

@ -205,14 +205,14 @@ export default {
overflow: hidden; overflow: hidden;
background: #fff; background: #fff;
box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16); box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
margin-top: 24px; margin-top: 12px;
padding: 10px 25px; padding: 10px 25px;
} }
} }
.item-title { .item-title {
margin-bottom: 10px; margin-bottom: 10px;
font-size: 24px; font-size: 18px;
color: rgba(0, 0, 0, 0.65); color: rgba(0, 0, 0, 0.65);
font-family: Microsoft YaHei; font-family: Microsoft YaHei;
font-weight: bold; font-weight: bold;
@ -280,9 +280,9 @@ export default {
} }
.date-day { .date-day {
font-size: 46px; font-size: 36px;
height: 56px; height: 40px;
line-height: 56px; line-height: 40px;
font-weight: bold; font-weight: bold;
color: #13ACC4; color: #13ACC4;
} }

Loading…
Cancel
Save