|
@@ -26,13 +26,43 @@
|
|
|
<el-col :span="24" class="market">
|
|
|
<van-tabs v-model="marketactive" type="card" animated>
|
|
|
<van-tab title="技术成果">
|
|
|
- 技术成果
|
|
|
+ <el-col :span="24" class="one">
|
|
|
+ <el-col :span="24" class="list" v-for="(item, index) in achieveList" :key="index">
|
|
|
+ <p class="textOver">{{ item.name }}</p>
|
|
|
+ <p class="textOver">领域:{{ item.field }}</p>
|
|
|
+ <p class="textOver">联系人:{{ item.contacts }}</p>
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
</van-tab>
|
|
|
<van-tab title="科技需求">
|
|
|
- 科技需求
|
|
|
+ <el-col :span="24" class="one">
|
|
|
+ <el-col :span="24" class="list" v-for="(item, index) in techolList" :key="index">
|
|
|
+ <p class="textOver">{{ item.name }}</p>
|
|
|
+ <p class="textOver">领域:{{ item.field }}</p>
|
|
|
+ <p class="textOver">联系人:{{ item.contacts }}</p>
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
</van-tab>
|
|
|
<van-tab title="专家智库">
|
|
|
- 专家智库
|
|
|
+ <el-col :span="24" class="three">
|
|
|
+ <el-col :span="24" class="expertList" v-for="(item, index) in expertList" :key="index">
|
|
|
+ <el-col :span="5" class="image">
|
|
|
+ <el-image
|
|
|
+ :src="item.expertimage"
|
|
|
+ style="width:70px;height: 70px;border: 1px solid #f1f1f1;"
|
|
|
+ v-if="item.expertimage != null || undefined"
|
|
|
+ ></el-image>
|
|
|
+ <el-image :src="expertimage" style="width:70px;height: 70px;border: 1px solid #f1f1f1;" v-else></el-image>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="19" class="info1">
|
|
|
+ <el-col :span="24" class="name textOver">
|
|
|
+ {{ item.name }}
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="txt textOver"> {{ item.zwzc || '暂无' }} </el-col>
|
|
|
+ <el-col :span="24" class="txt textOver"> {{ item.company || '暂无' }} </el-col>
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
</van-tab>
|
|
|
</van-tabs>
|
|
|
</el-col>
|
|
@@ -98,6 +128,7 @@ import chat from '@/components/parts/chat.vue';
|
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
const { mapActions: dock } = createNamespacedHelpers('dock');
|
|
|
const { mapActions: marketuser } = createNamespacedHelpers('marketuser');
|
|
|
+const { mapActions: exportuser } = createNamespacedHelpers('exportuser');
|
|
|
const { mapActions: newsguidance } = createNamespacedHelpers('newsguidance');
|
|
|
const { mapActions: newsroadshow } = createNamespacedHelpers('newsroadshow');
|
|
|
import moment from 'moment';
|
|
@@ -124,6 +155,13 @@ export default {
|
|
|
lunboList: [],
|
|
|
// 科技超市
|
|
|
marketactive: 0,
|
|
|
+ // 技术成果
|
|
|
+ achieveList: [],
|
|
|
+ // 科技需求
|
|
|
+ techolList: [],
|
|
|
+ // 专家智库
|
|
|
+ expertList: [],
|
|
|
+ expertimage: require('@/assets/222.png'),
|
|
|
// 嘉宾,项目
|
|
|
jbxmactive: 0,
|
|
|
// 嘉宾访谈
|
|
@@ -141,6 +179,7 @@ export default {
|
|
|
},
|
|
|
methods: {
|
|
|
...dock({ dockQuery: 'query', dockFetch: 'fetch' }),
|
|
|
+ ...exportuser({ expertQuery: 'query' }),
|
|
|
...marketuser({ operaFetch: 'operaFetch' }),
|
|
|
...newsguidance({ danceQuery: 'query' }),
|
|
|
...newsroadshow({ newsroadshowquery: 'query' }),
|
|
@@ -149,6 +188,18 @@ export default {
|
|
|
//展会详情
|
|
|
let res = await this.dockFetch(this.dock_id);
|
|
|
if (this.$checkRes(res)) this.$set(this, `dockinfo`, res.data);
|
|
|
+ let czxm = res.data.apply.map(item => item.goodsList);
|
|
|
+ czxm = _.flattenDeep(czxm);
|
|
|
+ var czxmNew = czxm.filter(item => item.dockStatus == '1');
|
|
|
+ //科技需求
|
|
|
+ var jishuData = czxmNew.filter(item => item.type === '0');
|
|
|
+ this.$set(this, `techolList`, jishuData);
|
|
|
+ //技术成果
|
|
|
+ var chanpinData = czxmNew.filter(item => item.type === '1');
|
|
|
+ if (chanpinData) this.$set(this, `achieveList`, chanpinData);
|
|
|
+ // 专家智库
|
|
|
+ let exportdata = await this.expertQuery({ role: 6 });
|
|
|
+ if (this.$checkRes(exportdata)) this.$set(this, `expertList`, exportdata.data);
|
|
|
//嘉宾访谈
|
|
|
let jbftData = await this.danceQuery({ dock_id: this.id });
|
|
|
if (this.$checkRes(jbftData)) this.$set(this, `zxzdlist`, jbftData.data);
|
|
@@ -223,6 +274,7 @@ export default {
|
|
|
overflow: hidden;
|
|
|
.back {
|
|
|
position: fixed;
|
|
|
+ z-index: 999;
|
|
|
i {
|
|
|
font-size: 30px;
|
|
|
font-weight: bold;
|
|
@@ -257,6 +309,60 @@ export default {
|
|
|
// 科技超市
|
|
|
.market {
|
|
|
margin: 15px 0 0 0;
|
|
|
+ .one {
|
|
|
+ height: 550px;
|
|
|
+ overflow-y: auto;
|
|
|
+ padding: 0 16px;
|
|
|
+ .list {
|
|
|
+ border-bottom: 1px dashed #ccc;
|
|
|
+ padding: 10px 0;
|
|
|
+ p {
|
|
|
+ font-size: 16px;
|
|
|
+ color: #666;
|
|
|
+ padding: 5px 0 0 0;
|
|
|
+ }
|
|
|
+ p:nth-child(1) {
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: bold;
|
|
|
+ color: #000;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .two {
|
|
|
+ height: 550px;
|
|
|
+ overflow-y: auto;
|
|
|
+ padding: 0 16px;
|
|
|
+ }
|
|
|
+ .three {
|
|
|
+ height: 550px;
|
|
|
+ overflow-y: auto;
|
|
|
+ padding: 0 16px;
|
|
|
+ .expertList {
|
|
|
+ padding: 5px 0px;
|
|
|
+ border-bottom: 1px dashed #ccc;
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ .name {
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: bolder;
|
|
|
+ }
|
|
|
+ .field {
|
|
|
+ margin-top: 8px;
|
|
|
+ font-size: 16px;
|
|
|
+ color: #666;
|
|
|
+ }
|
|
|
+ .image {
|
|
|
+ margin-top: 5px;
|
|
|
+ .el-image {
|
|
|
+ border-radius: 90%;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .info1 {
|
|
|
+ padding: 6px 0px 1px 20px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
// 嘉宾,项目
|
|
|
.jbxm {
|