Browse Source

关于我们 联系我们

master
lucky 5 years ago
parent
commit
56a5c782b2
  1. 14
      src/common/platform.styl
  2. 5
      src/common/portrait.styl
  3. 107
      src/components/PlatformList/Fruit.vue
  4. 126
      src/components/PlatformList/PlatformList.vue
  5. 14
      src/config/api.js
  6. 89
      src/router/index.js
  7. 69
      src/store/modules/home/mutations.js
  8. 20
      src/store/modules/home/state.js
  9. 11
      src/views/Activity/Activity.vue
  10. 11
      src/views/ItInformation/ItInformation.vue
  11. 138
      src/views/NewPlatform/Children/AchDet.vue
  12. 10
      src/views/NewPlatform/Children/Develop.vue
  13. 180
      src/views/NewPlatform/Children/Share.vue
  14. 118
      src/views/NewPlatform/Children/Transfer.vue
  15. 21
      src/views/Policy/components/PolicyList.vue

14
src/common/platform.styl

@ -2,7 +2,7 @@
height: 66px;
background: #000000;
line-height: 66px;
padding: 0 12%;
padding: 0 9%;
color: #fff;
font-size: 16px;
font-weight: bold;
@ -52,7 +52,7 @@
.center-box {
overflow: hidden;
background: #fff;
padding: 0 12%;
padding: 0 9%;
position: relative;
}
.center-title {
@ -75,7 +75,7 @@
// height: 830px;
overflow: hidden;
position: relative;
padding: 0 12%;
padding: 0 9%;
}
.bottom-title {
position: absolute;
@ -93,7 +93,7 @@
// height: 1060px;
overflow: hidden;
position: relative;
padding: 0 12%;
padding: 0 9%;
background: #fff;
}
.partner-title {
@ -112,7 +112,7 @@
// height: 300px;
overflow: hidden;
position: relative;
padding: 0 12%;
padding: 0 9%;
}
.join-title {
position: absolute;
@ -131,11 +131,11 @@
.content-box {
position: relative;
padding: 0 12%;
padding: 0 9%;
}
.introduce-box {
width: 942px;
width: 60%;
overflow: hidden;
position: relative;
background: #fff;

5
src/common/portrait.styl

@ -256,6 +256,11 @@
flex: 1;
}
.flex-3{
display: flex;
flex: 3;
}
// other
.inner {
width: 82%;

107
src/components/PlatformList/Fruit.vue

@ -0,0 +1,107 @@
<template>
<div>
<div class="inner d-flex justify-space-between flex-wrap">
<div v-for="(item, index) in list" :key="index" class="item-box">
<p class="font-24 my-3" style="cursor: pointer" @click="detail(item.id)">{{ item.name }}</p>
<p class="font-16" style="color: rgba(0, 0, 0, 0.45); cursor: pointer" @click="detail(item.id)">编号{{ item.identifier }}</p>
<p class="font-16 baseColor item-more">
<a-button type="primary" style="cursor: pointer">转化意向填报</a-button>
</p>
</div>
</div>
<div class="inner">
<a-pagination
:current="achCurrent"
:total="total"
:page-size="pageSize"
@change="onShowSizeChange"
class="pagination"
show-less-items
show-quick-jumper
/>
</div>
</div>
</template>
<script>
import { mapMutations, mapState } from 'vuex';
import { selRes } from 'config/api';
export default {
name: 'PlatformList',
data() {
return {
list: [],
pageSize: 12,
total: 0,
};
},
computed: mapState('home', ['achList', 'achIpt', 'achCurrent']),
watch: {
achList(val) {
this.getData();
},
achIpt(val) {
if (val.isBtn === 1) {
this.getData();
}
},
},
created() {
this.getData();
},
methods: {
...mapMutations('home', ['setAchCurrent', 'setAchId']),
//
onShowSizeChange(current, size) {
this.setAchCurrent(current);
this.getData();
},
//
async getData() {
try {
const params = {
param: {
content: this.achIpt.content,
modelIds: this.achList,
pageNum: this.achCurrent,
pageSize: 12,
},
};
const res = await selRes(params);
const { code, msg, data } = res.data;
if (code === 200) {
this.list = data.list;
this.total = parseInt(data.total);
}
} catch (error) {
console.log(error);
}
},
//
detail(id) {
this.setAchId(id);
this.$router.push('/NewPlatform/AchDet');
},
},
};
</script>
<style lang="stylus" scoped>
.pagination {
margin: 40px 0;
text-align: right;
}
.item-box {
width: 24%;
background: #fff;
margin-bottom: 40px;
padding: 10px;
}
.item-more {
text-align: right;
margin-bottom: 0 !important;
margin-top: 40px;
}
</style>

126
src/components/PlatformList/PlatformList.vue

@ -0,0 +1,126 @@
<template>
<div>
<div class="inner d-flex justify-space-between flex-wrap">
<div v-for="(item, index) in list" :key="index">
<img :src="item.imgUrl" style="height: 220px" />
<p class="font-24 my-4">{{ item.title }}</p>
<p class="font-16 baseColor" style="text-align: right; cursor: pointer">了解更多</p>
</div>
</div>
<div class="inner">
<a-pagination
:current="current"
:total="total"
:page-size="pageSize"
@change="onShowSizeChange"
class="pagination"
show-less-items
show-quick-jumper
/>
</div>
</div>
</template>
<script>
import { selInstrument, searchFront } from 'config/api';
export default {
name: 'PlatformList',
data() {
return {
list: [
{
imgUrl: 'https://www.sxwikionline.com/gateway/greenvalley/uploads/upload/20210104/86d502b304944e0c849bff8dcf55ac08.jpg',
title: 'XX实验平台',
id: 1,
},
{
imgUrl: 'https://www.sxwikionline.com/gateway/greenvalley/uploads/upload/20210104/86d502b304944e0c849bff8dcf55ac08.jpg',
title: 'XX实验平台',
id: 2,
},
{
imgUrl: 'https://www.sxwikionline.com/gateway/greenvalley/uploads/upload/20210104/86d502b304944e0c849bff8dcf55ac08.jpg',
title: 'XX实验平台',
id: 3,
},
{
imgUrl: 'https://www.sxwikionline.com/gateway/greenvalley/uploads/upload/20210104/86d502b304944e0c849bff8dcf55ac08.jpg',
title: 'XX实验平台',
id: 4,
},
{
imgUrl: 'https://www.sxwikionline.com/gateway/greenvalley/uploads/upload/20210104/86d502b304944e0c849bff8dcf55ac08.jpg',
title: 'XX实验平台',
id: 5,
},
{
imgUrl: 'https://www.sxwikionline.com/gateway/greenvalley/uploads/upload/20210104/86d502b304944e0c849bff8dcf55ac08.jpg',
title: 'XX实验平台',
id: 6,
},
],
current: 1,
pageSize: 6,
total: 20,
};
},
created() {
this.getSelI();
this.getSear();
},
methods: {
//
async getSelI() {
try {
const params = {
param: {
content: '', //
modelIds: [], // ID
pageNum: 1,
pageSize: 6,
},
};
const res = await selInstrument(params);
const { code, msg, data } = res.data;
if (code === 200) {
console.log(data);
}
} catch (error) {
console.log(error);
}
},
//
async getSear() {
try {
const params = {
param: {
name: '', //
moldIds: [], // ID
pageNum: 1,
pageSize: 6,
},
};
const res = await searchFront(params);
const { code, msg, data } = res.data;
if (code === 200) {
console.log(data);
}
} catch (error) {
console.log(error);
}
},
//
onShowSizeChange(current, size) {
console.log(current);
this.current = current;
},
},
};
</script>
<style lang="stylus" scoped>
.pagination {
margin: 40px 0;
text-align: right;
}
</style>

14
src/config/api.js

@ -13,6 +13,7 @@ const activity = `${greenvalley}/activity`; // 创新政策相关接口
const Business = `${greenvalley}/Business`; // 衍生企业和合作伙伴查询
const carousel = `${greenvalley}/carousel`; // 轮播图相关接口
const page = `${greenvalley}/page`; // 页面详情相关接口
const achInstr = `${greenvalley}/achInstr`; // 轮播图相关接口
// websocket基础地址
export const WS_BASE_URL = msgUrl;
@ -33,7 +34,7 @@ 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 queryRotation = params => axios.post(`${carousel}/query`, params);
// 查询行业政策列表
export const industryInfo = params => axios.post(`${greenvalley}/industryInfo/beforeSearch`, params);
@ -52,3 +53,14 @@ export const frontSearchCompany = params => axios.post(`${Business}/FrontSearchC
// 介绍页面详情查询
export const getPageDetail = params => axios.post(`${page}/detail`, params);
export const FrontSearchCompany = params => axios.post(`${Business}/FrontSearchCompany`, params);
// 分类查询
export const selModel = params => axios.post(`${achInstr}/selModel`, params);
// 仪器列表查询
export const selInstrument = params => axios.post(`${achInstr}/selInstrument`, params);
// 研究院(实验室)列表查询
export const searchFront = params => axios.post(`${greenvalley}/institute/searchFront`, params);
// 成果列表查询
export const selRes = params => axios.post(`${achInstr}/selRes`, params);
// 成果详情查询
export const selResMes = params => axios.post(`${achInstr}/selResMes`, params);

89
src/router/index.js

@ -57,47 +57,6 @@ const routes = [
},
],
},
// 创新平台界面
{
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',
@ -146,13 +105,59 @@ const routes = [
name: 'ActDetails',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/Activity/ActDetails.vue'),
},
// 联系我们界面
{
path: '/ContactUs',
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'),
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: '/NewPlatform/AchDet',
name: 'AchDet',
component: () => import(/* webpackChunkName: "cooperative-enterprise" */ 'views/NewPlatform/Children/AchDet.vue'),
},
],
},
];
const router = new VueRouter({

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

@ -134,6 +134,75 @@ const mutations = {
setProfile(state, data) {
state.profile = data;
},
/**
* 改变知识产权与技术转移转化服务平台-成果类型所选类型
* @param {object} state
* @param {List} list
*/
setAchList(state, list) {
state.achList = list;
},
/**
* 改变知识产权与技术转移转化服务平台-搜索框内容
* @param {object} state
* @param {object} obj
*/
setAchIpt(state, obj) {
state.achIpt = { ...obj };
},
/**
* 改变知识产权与技术转移转化服务平台-搜索框内容
* @param {object} state
* @param {number} num
*/
setAchCurrent(state, num) {
state.achCurrent = num;
},
/**
* 知识产权与技术转移转化服务平台-成果详情页Id
* @param {object} state
* @param {number} num
*/
setAchId(state, num) {
state.achId = num;
},
/**
* 改变科技资源开放共享服务平台-实验室所选类型
* @param {object} state
* @param {List} list
*/
setLabList(state, list) {
state.labList = list;
},
/**
* 改变科技资源开放共享服务平台-实验室搜索框内容
* @param {object} state
* @param {object} obj
*/
setLabIpt(state, obj) {
state.LabIpt = { ...obj };
},
/**
* 改变科技资源开放共享服务平台-仪器所选类型
* @param {object} state
* @param {List} list
*/
setInsList(state, list) {
state.insList = list;
},
/**
* 改变科技资源开放共享服务平台-仪器搜索框内容
* @param {object} state
* @param {object} obj
*/
setInsIpt(state, obj) {
state.InsIpt = { ...obj };
},
};
export default mutations;

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

@ -23,6 +23,26 @@ const state = {
partners: [], // 合作伙伴 衍生企业
// 公司介绍
profile: {},
achList: [], // 知识产权与技术转移转化服务平台-成果类型所选类型
achIpt: {
// 知识产权与技术转移转化服务平台-搜索框内容
content: '',
isBtn: 0,
},
achCurrent: 1, // 知识产权与技术转移转化服务平台-成果列表页数
achId: 0, // 知识产权与技术转移转化服务平台-成果详情页Id
labList: [], // 科技资源开放共享服务平台-实验室所选类型
LabIpt: {
// 实验室搜索框内容
content: '',
isBtn: 0,
},
insList: [], // 科技资源开放共享服务平台-仪器所选类型
InsIpt: {
// 仪器搜索框内容
content: '',
isBtn: 0,
},
};
export default state;

11
src/views/Activity/Activity.vue

@ -12,14 +12,7 @@
<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">
@ -42,6 +35,7 @@
:total="total"
@change="onShowSizeChange"
class="pagination"
:page-size="pageSize"
show-less-items
show-quick-jumper
/>
@ -59,6 +53,7 @@ export default {
return {
str: '这是活动公告界面',
total: 0,
pageSize: 5,
iptCon: '',
sta: {
ly: 0,

11
src/views/ItInformation/ItInformation.vue

@ -24,7 +24,15 @@
<!-- 时间 -->
{{ item.time }}
</div>
<a-pagination show-quick-jumper class="pagination" :total="total" :current="current" show-less-items @change="onShowSizeChange" />
<a-pagination
show-quick-jumper
:page-size="pageSize"
class="pagination"
:total="total"
:current="current"
show-less-items
@change="onShowSizeChange"
/>
</div>
</template>
@ -37,6 +45,7 @@ export default {
str: '这是行业资讯界面',
lists: [],
total: 0,
pageSize: 5,
current: 1,
monthEnglish: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Spt', 'Oct', 'Nov', 'Dec'],
};

138
src/views/NewPlatform/Children/AchDet.vue

@ -0,0 +1,138 @@
<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.classification }}</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>
<p>{{ obj.layout }}</p>
<p>{{ obj.performance }}</p>
<p>{{ obj.stage }}</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.content"></div>
</div>
</div>
</template>
<script>
import { mapState } from 'vuex';
import { selResMes } from 'config/api';
export default {
name: 'AchDet',
data() {
return { obj: {} };
},
computed: mapState('home', ['achId']),
created() {
this.getData();
},
methods: {
async getData() {
try {
const params = { param: { id: this.achId } };
const res = await selResMes(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 {
height: 300px;
border-bottom: 1px solid rgba(0, 0, 0, 0.14901960784313725);
position: relative;
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>

10
src/views/NewPlatform/Children/Develop.vue

@ -1,6 +1,7 @@
<template>
<div>
<sen-nav />
<div class="inner dev-box">平台建设中...</div>
</div>
</template>
@ -17,3 +18,12 @@ export default {
},
};
</script>
<style lang="stylus" scoped>
.dev-box {
height: 600px;
line-height: 600px;
text-align: center;
font-size: 50px;
}
</style>

180
src/views/NewPlatform/Children/Share.vue

@ -1,20 +1,194 @@
<template>
<div>
<sen-nav />
<div style="width: 100%; height: 50px; background: skyblue; color: #000">搜索条</div>
<div>
<div class="search-background">
<div class="d-flex">
<div class="flex-3 flex-wrap">
<span class="ins-title">研究开发实验室</span>
<span
v-for="(item, index) in laboratory"
:key="index"
:class="item.isActive ? 'act-color' : ''"
class="ins-name"
@click="choose(index, 0)"
>
{{ item.name }}
</span>
</div>
<div class="flex-1 align-center">
<a-input-search class="item-search" v-model="InsIpt" placeholder="搜索实验室" enter-button="搜索" @search="searchIns" />
</div>
</div>
<div style="border-top: 1px solid rgba(0, 0, 0, 0.06)" class="flex-3 flex-wrap">
<div class="flex-3 flex-wrap">
<span class="ins-title">大型科研设施与仪器</span>
<span
v-for="(item, index) in instrument"
:key="index"
:class="item.isActive ? 'act-color' : ''"
class="ins-name"
@click="choose(index, 1)"
>
{{ item.name }}
</span>
</div>
<div class="flex-1 align-center">
<a-input-search class="item-search" v-model="LabIpt" placeholder="搜索仪器" enter-button="搜索" @search="searchLab" />
</div>
</div>
</div>
</div>
<platform-list />
</div>
</template>
<script>
import { selModel } from 'config/api';
import PlatformList from 'components/PlatformList/PlatformList.vue';
import SenNav from './components/SenNav.vue';
import { mapMutations } from 'vuex';
export default {
name: 'Share',
components: { SenNav },
components: { SenNav, PlatformList },
data() {
return {
str: '这是科技资源开放共享服务平台',
list: [],
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']),
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 } = this;
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 { instrument } = this;
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.setLabList(this.insList);
}
},
searchLab() {
const obj = {
content: this.LabIpt,
isBtn: 1,
};
this.setLabIpt(obj);
},
searchIns() {
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>

118
src/views/NewPlatform/Children/Transfer.vue

@ -1,19 +1,135 @@
<template>
<div>
<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' : ''"
v-for="(item, index) in list"
:key="index"
class="ins-name"
@click="choose(index)"
>
{{ item.name }}
</span>
</div>
<div class="flex-1 align-center">
<a-input-search class="item-search" v-model="fruitIpt" placeholder="搜索成果" enter-button="搜索" @search="searchFruit" />
</div>
</div>
</div>
</div>
<fruit />
</div>
</template>
<script>
import { mapMutations } from 'vuex';
import { selModel } from 'config/api';
import Fruit from 'components/PlatformList/Fruit.vue';
import SenNav from './components/SenNav.vue';
export default {
name: 'Transfer',
components: { SenNav },
components: { SenNav, Fruit },
data() {
return {
str: '这是知识产权与技术转移转化服务平台',
list: [],
achList: [],
fruitIpt: '',
};
},
watch: {
fruitIpt(val) {
const obj = {
content: this.fruitIpt,
isBtn: 0,
};
this.setAchIpt(obj);
},
},
created() {
this.getType();
this.setAchList([]);
},
methods: {
...mapMutations('home', ['setAchList', 'setAchIpt']),
//
async getType() {
try {
const params = { param: { model: 0 } };
const res = await selModel(params);
const { code, mst, data } = res.data;
if (code === 200) {
this.list = data;
for (var i = 0; i < this.list.length; i++) {
this.list[i].isActive = false;
}
console.log(this.list);
}
} catch (error) {
console.log(error);
}
},
//
searchFruit() {
const obj = {
content: this.fruitIpt,
isBtn: 1,
};
this.setAchIpt(obj);
},
//
choose(index) {
const that = this;
that.achList = [];
const { list } = this;
list[index].isActive = !list[index].isActive;
this.list = [...list];
for (let i = 0; i < list.length; i++) {
if (list[i].isActive) {
this.achList.push(list[i].id);
}
}
this.setAchList(this.achList);
},
},
};
</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>

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

@ -14,22 +14,12 @@
<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">
@ -42,10 +32,7 @@
<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">
@ -61,6 +48,7 @@
:total="total"
@change="onShowSizeChange"
class="pagination"
:page-size="pageSize"
show-less-items
show-quick-jumper
/>
@ -77,6 +65,7 @@ export default {
str: '这是创新政策界面',
lists: [],
total: 0,
pageSize: 5,
monthEnglish: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Spt', 'Oct', 'Nov', 'Dec'],
pCode: ['title', 'area', 'area'],
pStatus: {

Loading…
Cancel
Save