Browse Source

0326修改

master
aBin 4 years ago
parent
commit
36f12a4018
  1. 8
      src/App.vue
  2. 9
      src/common/portrait.styl
  3. 4
      src/components/FooterPage/FooterPage.vue
  4. 9
      src/components/HeadNav/HeadNav.vue
  5. 14
      src/components/Introduce/ContactUs.vue
  6. 13
      src/components/Introduce/DeriveEnterprise.vue
  7. 6
      src/components/Introduce/IntentionModel.vue
  8. 6
      src/components/Introduce/PartnerShip.styl
  9. 14
      src/router/index.js
  10. 18
      src/store/modules/home/mutations.js
  11. 2
      src/store/modules/home/state.js
  12. 2
      src/views/About/Children/Organ.vue
  13. 6
      src/views/Activity/ActDetails.vue
  14. 27
      src/views/Activity/Activity.vue
  15. 2
      src/views/Business/Children/Business.vue
  16. 184
      src/views/Business/Children/Tutor.vue
  17. 16
      src/views/Business/Index.vue
  18. 2
      src/views/Challenge/Children/components/Publish.vue
  19. 2
      src/views/Challenge/Children/components/SearchBox.vue
  20. 10
      src/views/ServiceMarket/Children/Institute.vue

8
src/App.vue

@ -32,9 +32,9 @@ export default {
window.scroll(0, 0);
},
async created() {
const userId = '1218763410024566784';
const params = { userId };
this.getUserId(params);
// const userId = '1218763410024566784';
// const params = { userId };
// this.getUserId(params);
if (sessionStorage.getItem('store')) {
this.$store.replaceState(Object.assign({}, this.$store.state, JSON.parse(sessionStorage.getItem('store'))));
}
@ -45,12 +45,14 @@ export default {
},
methods: {
...mapActions('user', ['getUserId']),
...mapMutations('home', ['setVisitNum']),
async getvisitor() {
try {
const res = await visitorAdd();
const { code, msg, data } = res.data;
if (code === 200) {
console.log(data);
this.setVisitNum(data);
} else {
this.$message.error(msg);
}

9
src/common/portrait.styl

@ -404,6 +404,11 @@
flex: 1;
}
.flex-2{
display: flex;
flex: 2;
}
.flex-3{
display: flex;
flex: 3;
@ -651,3 +656,7 @@ h2{
.ant-form-item {
margin-bottom: 18px;
}
.ant-checkbox-wrapper {
margin-left: 0 !important;
}

4
src/components/FooterPage/FooterPage.vue

@ -28,7 +28,7 @@
<div class="box">
<img class="pic" src="https://www.sxwikionline.com/gateway/wiki/uploads/upload/logo/csd.jpg" />
</div>
<div class="visit-num">当前访问量5000</div>
<div class="visit-num">当前访问量{{ visitNum }}</div>
</div>
</div>
<div class="xian"></div>
@ -40,6 +40,7 @@
</template>
<script>
import { mapState } from 'vuex';
export default {
data() {
return {
@ -58,6 +59,7 @@ export default {
arrs: [{ id: 8, name: '人才招聘', path: '/ContactUs' }],
};
},
computed: mapState('home', ['visitNum']),
};
</script>

9
src/components/HeadNav/HeadNav.vue

@ -149,7 +149,7 @@ export default {
},
{
title: '活动报到',
url: '/Activity',
url: '/Activity?type=1',
},
],
},
@ -181,7 +181,7 @@ export default {
},
{
title: '创业导师',
url: '/Hatch/Tutor',
url: '/Business/Tutor',
},
],
},
@ -257,7 +257,7 @@ export default {
},
},
methods: {
...mapMutations('home', ['setPolicyStatus']),
...mapMutations('home', ['setPolicyStatus', 'setInformReport']),
jumUrl(url, index) {
if (this.$route.path !== url) {
this.$router.push(url);
@ -265,8 +265,10 @@ export default {
if (index) {
if (index === 1) {
this.pStatus.bw = 1;
this.setInformReport(0);
} else if (index === 2) {
this.pStatus.sx = 1;
this.setInformReport(1);
} else if (index === 3) {
this.pStatus.ty = 1;
} else if (index === 4) {
@ -279,6 +281,7 @@ export default {
this.pStatus.ty = 0;
this.pStatus.zg = 0;
this.setPolicyStatus(this.pStatus);
this.setInformReport(0);
}
},

14
src/components/Introduce/ContactUs.vue

@ -1,28 +1,28 @@
<template>
<div>
<div class="d-flex flex-nowrap white" style="padding: 80px 0">
<div class="flex-1 align-center flex-wrap flex-column">
<div class="flex-2 align-center flex-wrap flex-column">
<a-icon class="user" type="user" />
<br />
<span class="concat-us-tips">王老师</span>
</div>
<div class="flex-1 align-center flex-wrap flex-column">
<div class="flex-2 align-center flex-wrap flex-column">
<a-icon class="user" type="phone" />
<br />
<span class="concat-us-tips">13383416022</span>
</div>
<div class="flex-1 align-center flex-wrap flex-column">
<div class="flex-2 align-center flex-wrap flex-column">
<a-icon class="user" type="mail" />
<br />
<span class="concat-us-tips">CSD114@163.com</span>
</div>
<div class="flex-1 align-center flex-wrap flex-column">
<div class="flex-3 align-center flex-wrap flex-column">
<a-icon class="user" type="environment" />
<br />
<span class="concat-us-tips"
>山西综改示范区太原学府园区 <br />
<span class="concat-us-tips">
山西综改示范区太原学府园区 <br />
发展路15号中绿大厦2层/5<br />
产业路38号高新置业副楼西区902室<br />
产业路38号高新置业西区902室<br />
</span>
</div>
</div>

13
src/components/Introduce/DeriveEnterprise.vue

@ -11,12 +11,12 @@
:class="(index + 1) % 3 === 0 ? 'enterprise-box1' : ''"
:key="index"
@click="openProfile(item.name, item.description)"
class="enterprise-box d-flex flex-column align-center justify-center white mb-8"
v-for="(item, index) in partners"
class="enterprise-box d-flex flex-column mb-8"
v-for="(item, index) in partners[0].backendSearchList"
>
<img :src="item.logoUrl" class="enterprise-pic my-2" v-if="item.logoUrl" />
<div class="font-bold-24 title-color my-2">{{ item.name }}</div>
<div class="font-16 textColor d-flex flex-wrap align-start fill-width enterprise-txt">{{ item.description }}</div>
<div class="font-bold-24 title-color my-2" style="text-align: center">{{ item.name }}</div>
<!-- <div class="font-16 textColor d-flex flex-wrap align-start fill-width enterprise-txt">{{ item.description }}</div> -->
<div class="d-flex flex-nowrap fill-width py-5 enterprise-more">
<div class="flex-1"></div>
<span class="font-16 baseColor pointer">
@ -111,4 +111,9 @@ export default {
<style lang="stylus" scoped>
@import './PartnerShip.styl';
.enterprise-pic {
width: 100%;
height: 70% !important;
}
</style>

6
src/components/Introduce/IntentionModel.vue

@ -24,9 +24,9 @@
<div class="d-flex flex-nowrap">
<a-input placeholder="请输入验证码" type="number" v-model="platform.code" />
<a-button class="code_img ml-2" disabled type="primary" v-if="showInterval">重新发送 {{ interval }}</a-button>
<a-button :disabled="platform.isTel === false" @click="getCode" class="code_img ml-2" type="primary" v-else
>获取验证码</a-button
>
<a-button :disabled="platform.isTel === false" @click="getCode" class="code_img ml-2" type="primary" v-else>
获取验证码
</a-button>
</div>
</a-form-item>
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" label="项目信息简述" required>

6
src/components/Introduce/PartnerShip.styl

@ -40,10 +40,12 @@
.enterprise-box{
width: 31.3%;
height: 382px;
height: 352px;
margin-right: 3%;
position: relative;
padding: 0 16px;
padding:0;
box-shadow: 0px 0px 4px #ccc;
border-radius: 10px;
.enterprise-pic{
height: 166px

14
src/router/index.js

@ -97,7 +97,19 @@ const routes = [
{
path: '/Business',
name: 'Business',
component: () => import(/* webpackChunkName: "Business-Business" */ 'views/Business/Business.vue'),
component: () => import(/* webpackChunkName: "Business-Business" */ 'views/Business/Index.vue'),
children: [
{
path: '/Business',
name: 'Business',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/Business/Children/Business.vue'),
},
{
path: '/Business/Tutor',
name: 'Tutor',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/Business/Children/Tutor.vue'),
},
],
},
// 创新挑战

18
src/store/modules/home/mutations.js

@ -287,6 +287,24 @@ const mutations = {
setServiceArr(state, data) {
state.serviceArr = data;
},
/**
* 存储访问量
* @param {object} state
* @param {Number} data
*/
setVisitNum(state, data) {
state.visitNum = data;
},
/**
* 存储访问量
* @param {object} state
* @param {Number} data
*/
setInformReport(state, data) {
state.informReport = data;
},
};
export default mutations;

2
src/store/modules/home/state.js

@ -56,6 +56,8 @@ const state = {
},
productId: 0, // 当前产品详情Id
serviceArr: [], // 服务详情导航
visitNum: 0, // 访问人数
informReport: 0, // 当前双创活动展示:默认活动通知
};
export default state;

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

@ -39,7 +39,7 @@ export default {
treedata: [
{
//[]
name: '山西创时代企业孵化器有限公司',
name: '山西创时代' + '\n' + '企业孵化器有限公司' + '\n',
children: [
{ name: '高新众创空间', children: [{ name: '入驻服务平台' }, { name: '创新赋能平台' }, { name: '跟踪评价平台' }] },
{ name: '创时代专业孵化器', children: [{ name: '创新政策服务' }, { name: '信息技术咨询' }, { name: '知识产权服务' }] },

6
src/views/Activity/ActDetails.vue

@ -15,9 +15,9 @@
</span>
</div>
<div class="policy-content" v-dompurify-html="actDetail.content"></div>
<a-button disabled style="margin: 50px 25px" v-if="actDetail.releaseTime && Date.parse(actDetail.releaseTime) < Date.parse(nowData)"
>报名已结束</a-button
>
<a-button disabled style="margin: 50px 25px" v-if="actDetail.releaseTime && Date.parse(actDetail.releaseTime) < Date.parse(nowData)">
报名已结束
</a-button>
<enroll :act-name="actDetail.title" :activity-id="actDetail.activityId" style="margin: 50px 25px" v-else />
<!-- <enroll
:act-name="actDetail.title"

27
src/views/Activity/Activity.vue

@ -9,9 +9,9 @@
<div class="search-list">
<span>
<a-checkbox style="font-size: 20px; font-weight: bold" :checked="sta.px === 1" @click="cSta('px')">培训</a-checkbox>
<a-checkbox style="font-size: 20px; font-weight: bold" :checked="sta.ly === 1" @click="cSta('ly')">路演</a-checkbox>
<a-checkbox style="font-size: 20px; font-weight: bold" :checked="sta.jz === 1" @click="cSta('jz')">讲座</a-checkbox>
<a-checkbox style="font-size: 20px; font-weight: bold" :checked="sta.jl === 1" @click="cSta('jl')">交流</a-checkbox>
<a-checkbox style="font-size: 20px; font-weight: bold" :checked="sta.ly === 1" @click="cSta('ly')">路演</a-checkbox>
<a-checkbox style="font-size: 20px; font-weight: bold" :checked="sta.lt === 1" @click="cSta('lt')">论坛</a-checkbox>
</span>
<a-input-search @search="getData" class="search" enter-button="搜索" placeholder="请输入..." style="width: 381px" v-model="iptCon" />
@ -79,22 +79,30 @@ export default {
nowData: '',
};
},
computed: mapState('home', ['actList', 'actIpCon', 'actCurrent']),
computed: mapState('home', ['actList', 'actIpCon', 'actCurrent', 'informReport']),
watch: {
informReport(val) {
this.getData();
},
},
created() {
console.log(this.$route.query.type);
if (this.$route.query.type && parseInt(this.$route.query.type) === 1) {
this.informReport = 1;
}
this.iptCon = this.actIpCon;
this.aList = this.actList;
for (var i = 0; i < this.aList.length; i++) {
if (this.aList[i] === 0) {
this.sta.px = 1;
}
if (this.aList[i] === 1) {
if (this.aList[i] === 3) {
this.sta.ly = 1;
}
if (this.aList[i] === 2) {
if (this.aList[i] === 1) {
this.sta.jz = 1;
}
if (this.aList[i] === 3) {
if (this.aList[i] === 2) {
this.sta.jl = 1;
}
if (this.aList[i] === 4) {
@ -130,6 +138,7 @@ export default {
param: {
activityType: this.actList,
pageNum: this.actCurrent,
informReport: this.informReport,
pageSize: 5,
titleKey: this.iptCon,
},
@ -158,13 +167,13 @@ export default {
this.aList = this.aList.concat(0);
}
if (this.sta.ly === 1) {
this.aList = this.aList.concat(1);
this.aList = this.aList.concat(3);
}
if (this.sta.jz === 1) {
this.aList = this.aList.concat(2);
this.aList = this.aList.concat(1);
}
if (this.sta.jl === 1) {
this.aList = this.aList.concat(3);
this.aList = this.aList.concat(2);
}
if (this.sta.lt === 1) {
this.aList = this.aList.concat(4);

2
src/views/Business/Business.vue → src/views/Business/Children/Business.vue

@ -53,7 +53,7 @@
<script>
import Banner from 'components/Banner/Banner.vue';
import SearchBox from './components/SearchBox.vue';
import SearchBox from './../components/SearchBox.vue';
import { back } from 'config/api';
export default {
name: 'Introduce',

184
src/views/Business/Children/Tutor.vue

@ -0,0 +1,184 @@
<!--
Copyright (c) 2020.
author: song
email: 15235360226@163.com
-->
<template>
<div class="inner pa-10 white" v-if="teachers && teachers.length > 0">
<div :key="teacher.categoryId" class="mb-4" v-for="teacher in teachers">
<p class="font-bold-20 title-color">{{ teacher.categoryName }}</p>
<div class="d-flex flex-wrap mb-10" v-if="teacher.services && teacher.services.length">
<div
:class="(index + 1) % 4 === 0 ? 'teacher-box1' : ''"
:key="index"
class="teacher-box font-24 mb-3"
v-for="(item, index) in teacher.services"
>
<div :class="index === 0 ? 'teacher-item-active' : ''" @click="changeShow(item)" class="teacher-item font-24 mb-3">
<div class="font-26 teacher-title mb-5">{{ item.name }}</div>
<div class="font-14 teacher-txt">
会组成按理事会章程执行经理 层设总经理 1 会组成按理事 会章程执行经理层设总经理 1 名导师
</div>
<div class="d-flex flex-row justify-center py-5">
<span></span>
</div>
<div class="d-flex flex-row justify-center">
<img src="~assets/teacher01.png" v-if="index === 0" />
<img src="~assets/teacher02.png" v-else />
</div>
</div>
</div>
</div>
</div>
<a-modal
v-if="teacherData"
:footer="null"
title="导师详情"
:visible="showProfile"
@cancel="handleCancel"
@ok="handleCancel"
width="50%"
>
<a-form-item>
<a-form-item :label-col="formTailLayout.labelCol" :wrapper-col="formTailLayout.wrapperCol" label="导师姓名">
{{ teacherData.name }}
</a-form-item>
<a-form-item :label-col="formTailLayout.labelCol" :wrapper-col="formTailLayout.wrapperCol" label="导师简介">
{{ teacherData.intro }}
</a-form-item>
<a-form-item :label-col="formTailLayout.labelCol" :wrapper-col="formTailLayout.wrapperCol" label="导师照片">
<img v-if="teacherData.teacherPhoto" :src="teacherData.teacherPhoto" alt="" />
</a-form-item>
</a-form-item>
</a-modal>
</div>
</template>
<script>
import { mapState, mapMutations, mapActions } from 'vuex';
import { selTeacher } from 'config/api';
const formItemLayout = {
labelCol: { span: 6 },
wrapperCol: { span: 12 },
};
const formTailLayout = {
labelCol: { span: 6 },
wrapperCol: { span: 12, offset: 6 },
};
export default {
name: 'Tutor',
data() {
return {
title: '孵化平台-创业导师',
showPage: 44,
arr: [
{ name: '孵化平台', url: '/IncubationPlatform/MakerSpace' },
{ name: '创业导师', url: '' },
],
teachers: [],
formItemLayout,
formTailLayout,
teacherData: null,
showProfile: false,
};
},
created() {
this.handleTeacher();
},
methods: {
changeShow(obj) {
this.teacherData = obj;
this.showProfile = true;
},
handleCancel() {
this.showProfile = false;
},
//
async handleTeacher() {
try {
const res = await selTeacher();
const { code, msg, data } = res.data;
if (code === 200) {
this.teachers = data;
for (let i = 0; i < this.teachers.length; i++) {
const element = this.teachers[i];
for (let j = 0; j < element.services.length; j++) {
for (let k = 0; k < element.services.length - j; k++) {
if (k + 1 < element.services.length - j) {
if (element.services[k].order && element.services[k].order > element.services[k + 1].order) {
let a = null;
a = element.services[k + 1];
element.services[k + 1] = element.services[k];
element.services[k] = a;
}
}
}
}
}
} else {
this.$message.error(456);
}
} catch (error) {
this.$message.error(123);
}
},
},
};
</script>
<style lang="stylus" scoped>
.teacher-box {
width: 22%;
margin-right: 4%;
}
.teacher-box1 {
margin-right: 0;
}
.teacher-item {
width: 100%;
padding: 24px 12px 30px;
background: #f8f8f8;
color: rgba(80, 80, 80, 0.7);
text-align: center;
.teacher-title {
text-align: center;
color: rgba(80, 80, 80, 0.4);
}
.teacher-txt {
text-align: justify;
height: 85px;
overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 4;
-webkit-box-orient: vertical;
}
span {
display: inline-block;
width: 28px;
height: 3px;
background: #E77816;
}
}
.teacher-item-active {
background: #E77816;
color: #fff;
.teacher-title {
color: #fff;
}
span {
background: #fff;
}
}
</style>

16
src/views/Business/Index.vue

@ -0,0 +1,16 @@
<template>
<div>
<router-view></router-view>
</div>
</template>
<script>
export default {
name: 'Index',
data() {
return {};
},
};
</script>
<style scoped lang="stylus"></style>

2
src/views/Challenge/Children/components/Publish.vue

@ -18,7 +18,7 @@
<!-- 需求类别 -->
<a-form-item :label-col="formItemLayout.labelCol" :wrapper-col="formItemLayout.wrapperCol" class="mb-3" label="需求类别">
<a-checkbox-group @change="onChange" class="line-height-30">
<a-checkbox v-for="(item, index) in typeList" :key="index" :value="item.id">{{ item.name }}</a-checkbox>
<a-checkbox style="width: 100%" v-for="(item, index) in typeList" :key="index" :value="item.id">{{ item.name }}</a-checkbox>
</a-checkbox-group>
</a-form-item>
<!-- 需求内容 -->

2
src/views/Challenge/Children/components/SearchBox.vue

@ -9,7 +9,7 @@
<div class="search-list">
<span>发榜单位</span> <a-input style="width: 20%" v-model="getParam.companyName" /> <span>发榜项目</span>
<a-input style="width: 20%" v-model="getParam.address" />
<span>截止时间</span> <a-input style="width: 20%" v-model="getParam.dataTitle" />
<span class="ml-2">截止时间</span> <a-input style="width: 20%" v-model="getParam.dataTitle" />
<!-- <span>所属领域</span>
<a-input style="width: 20%" v-model="getParam.serviccs" /> -->
<a-button class="search-btn" type="primary" @click="submit">搜索</a-button>

10
src/views/ServiceMarket/Children/Institute.vue

@ -88,7 +88,7 @@ export default {
treedata: [
{
//[]
name: '山西智汇协同创新研究院有限公司',
name: '山西智汇协同' + '\n' + '创新研究院有限公司' + '\n',
children: [
{ name: '三大平台', children: [{ name: '数智网络平台' }, { name: '战略合作平台' }, { name: '知识培训平台' }] },
{ name: '专家委员会' },
@ -155,7 +155,13 @@ export default {
symbolSize: 7,
lineStyle: { width: 1 },
itemStyle: { borderWidth: 3, borderColor: '#E77816' },
label: { position: 'top', verticalAlign: 'middle', align: 'center', fontSize: 16, color: 'rgba(0, 0, 0, 85)' },
label: {
position: 'top',
verticalAlign: 'middle',
align: 'center',
fontSize: 16,
color: 'rgba(0, 0, 0, 85)',
},
leaves: {
label: {
position: 'right',

Loading…
Cancel
Save