|
@@ -0,0 +1,250 @@
|
|
|
+<template>
|
|
|
+ <div id="technologyList">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="24" class="style">
|
|
|
+ <el-image :src="beijingPic"></el-image>
|
|
|
+ <el-col :span="24" class="info">
|
|
|
+ <div class="w_1200">
|
|
|
+ <el-col :span="24" class="top">
|
|
|
+ <p>{{ dockInfo.title }}</p>
|
|
|
+ <p>主办方:{{ dockInfo.sponsor }}</p>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="main">
|
|
|
+ <el-col :span="24" class="maintop">
|
|
|
+ <span>项目成果({{ total }})</span>
|
|
|
+ <span @click="back">返回活动首页></span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="24" class="mianbottom">
|
|
|
+ <el-col :span="24" class="all"><span>全部</span> </el-col>
|
|
|
+ <el-col :span="24" class="list" v-for="(item, index) in productList" :key="index">
|
|
|
+ <span>{{ item.name }}</span>
|
|
|
+ <span>{{ item.contact_user }}</span>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="success"
|
|
|
+ @click="
|
|
|
+ $router.push({
|
|
|
+ path: '/live/hall/dock/dockDetail',
|
|
|
+ query: { id: item._id, dockid: dock_id, user_id: user_id, type: item.type },
|
|
|
+ })
|
|
|
+ "
|
|
|
+ >对接</el-button
|
|
|
+ >
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
+ <el-col class="page" :span="24">
|
|
|
+ <el-pagination
|
|
|
+ @current-change="handleCurrentChange"
|
|
|
+ :current-page="currentPage"
|
|
|
+ layout="total, prev, pager, next, jumper"
|
|
|
+ :total="total"
|
|
|
+ :page-size="pageSize"
|
|
|
+ >
|
|
|
+ </el-pagination>
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
+const { mapActions: dock } = createNamespacedHelpers('dock');
|
|
|
+export default {
|
|
|
+ name: 'technologyList',
|
|
|
+ props: {},
|
|
|
+ components: {},
|
|
|
+ data: () => ({
|
|
|
+ beijingPic: require('@a/live/top_3.png'),
|
|
|
+ applyList: [], //查询数据
|
|
|
+ currentPage: 1, //默认数据1
|
|
|
+ pageSize: 10, //每页显示数据数量
|
|
|
+ origin: [], //分割数据
|
|
|
+ productList: [],
|
|
|
+ total: 0,
|
|
|
+ dock_id: '',
|
|
|
+ dockInfo: {},
|
|
|
+ user_id: '',
|
|
|
+ }),
|
|
|
+ created() {
|
|
|
+ this.$set(this, `dock_id`, this.$route.query.dockid);
|
|
|
+ this.search();
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ ...dock({ dockQuery: 'query', dockFetch: 'fetch' }),
|
|
|
+ async search() {
|
|
|
+ let res = await this.dockFetch(this.dock_id);
|
|
|
+ this.$set(this, `dockInfo`, res.data);
|
|
|
+ // 对接会创建人id
|
|
|
+ this.$set(this, `user_id`, res.data.user_id);
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
+ let productList = res.data.apply.map(item => item.goodsList);
|
|
|
+ productList = _.flattenDeep(productList);
|
|
|
+ if (this.column_name == '科技需求') {
|
|
|
+ var jishuList = productList.filter(item => item.type === '0');
|
|
|
+ this.$set(this, `applyList`, jishuList);
|
|
|
+ this.$set(this, `total`, jishuList.length);
|
|
|
+ } else if (this.column_name == '技术成果') {
|
|
|
+ var jishuList = productList.filter(item => item.type === '1');
|
|
|
+ this.$set(this, `applyList`, jishuList);
|
|
|
+ this.$set(this, `total`, jishuList.length);
|
|
|
+ } else if (this.column_name == '商务服务') {
|
|
|
+ var jishuList = productList.filter(item => item.type === '2');
|
|
|
+ this.$set(this, `applyList`, jishuList);
|
|
|
+ this.$set(this, `total`, jishuList.length);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ },
|
|
|
+ searchPage(page = 1) {
|
|
|
+ this.$set(this, `productList`, this.origin[page - 1]);
|
|
|
+ },
|
|
|
+ handleCurrentChange(currentPage) {
|
|
|
+ this.searchPage(currentPage);
|
|
|
+ },
|
|
|
+ // 返回
|
|
|
+ back() {
|
|
|
+ history.back();
|
|
|
+ },
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ ...mapState(['user']),
|
|
|
+ pageTitle() {
|
|
|
+ return `${this.$route.meta.title}`;
|
|
|
+ },
|
|
|
+ column_name() {
|
|
|
+ return this.$route.query.column_name;
|
|
|
+ },
|
|
|
+ },
|
|
|
+ metaInfo() {
|
|
|
+ return { title: this.$route.meta.title };
|
|
|
+ },
|
|
|
+ watch: {
|
|
|
+ applyList: {
|
|
|
+ immediate: true,
|
|
|
+ deep: true,
|
|
|
+ handler(val) {
|
|
|
+ if (val && val.length > 0) this.$set(this, `origin`, _.chunk(val, this.pageSize));
|
|
|
+ this.searchPage();
|
|
|
+ },
|
|
|
+ },
|
|
|
+ },
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang="less" scoped>
|
|
|
+.w_1200 {
|
|
|
+ width: 1200px;
|
|
|
+ margin: 0 auto;
|
|
|
+}
|
|
|
+p {
|
|
|
+ padding: 0;
|
|
|
+ margin: 0;
|
|
|
+}
|
|
|
+.textOver {
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ white-space: nowrap;
|
|
|
+}
|
|
|
+
|
|
|
+.style {
|
|
|
+ height: 100vh;
|
|
|
+}
|
|
|
+.style .info {
|
|
|
+ position: relative;
|
|
|
+ top: -450px;
|
|
|
+}
|
|
|
+.style .top {
|
|
|
+ position: relative;
|
|
|
+ top: 0;
|
|
|
+ width: 100%;
|
|
|
+ text-align: center;
|
|
|
+ z-index: 999;
|
|
|
+ height: 172px;
|
|
|
+ margin: 0 0 20px 0;
|
|
|
+}
|
|
|
+.style .top p:first-child {
|
|
|
+ font-size: 50px;
|
|
|
+ color: #fff;
|
|
|
+}
|
|
|
+.style .top p:last-child {
|
|
|
+ font-size: 30px;
|
|
|
+ color: #fff;
|
|
|
+ position: absolute;
|
|
|
+ width: 100%;
|
|
|
+ top: 135px;
|
|
|
+}
|
|
|
+.style .main {
|
|
|
+ min-height: 800px;
|
|
|
+ border-radius: 10px;
|
|
|
+ border: 1px solid #ccc;
|
|
|
+ background: #fff;
|
|
|
+ padding: 30px 20px;
|
|
|
+}
|
|
|
+.maintop {
|
|
|
+ border-bottom: 4px solid rgb(240, 240, 240);
|
|
|
+ padding: 0 0 5px 0;
|
|
|
+}
|
|
|
+.maintop span:first-child {
|
|
|
+ display: inline-block;
|
|
|
+ background-color: #d80000;
|
|
|
+ width: 140px;
|
|
|
+ color: #fff;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 16px;
|
|
|
+ height: 50px;
|
|
|
+ line-height: 50px;
|
|
|
+}
|
|
|
+.maintop span:nth-child(2) {
|
|
|
+ float: right;
|
|
|
+ line-height: 50px;
|
|
|
+ cursor: pointer;
|
|
|
+}
|
|
|
+.all {
|
|
|
+ border-bottom: 1px solid rgb(200, 200, 200);
|
|
|
+ margin: 10px 0;
|
|
|
+}
|
|
|
+.all span {
|
|
|
+ border: 1px #f90 solid;
|
|
|
+ border-top-left-radius: 3px;
|
|
|
+ border-top-right-radius: 3px;
|
|
|
+ background: #f90;
|
|
|
+ color: #fff;
|
|
|
+ width: 60px;
|
|
|
+ height: 40px;
|
|
|
+ line-height: 40px;
|
|
|
+ display: inline-block;
|
|
|
+ text-align: center;
|
|
|
+ margin-left: 8px;
|
|
|
+}
|
|
|
+.list {
|
|
|
+ border-bottom: 1px #ccc dashed;
|
|
|
+ height: 50px;
|
|
|
+ line-height: 50px;
|
|
|
+ padding: 0 20px;
|
|
|
+}
|
|
|
+.list:nth-child(2n) {
|
|
|
+ background: #f2f2f2;
|
|
|
+}
|
|
|
+.list span:first-child {
|
|
|
+ float: left;
|
|
|
+ width: 664px;
|
|
|
+ font-size: 14px;
|
|
|
+}
|
|
|
+.list span:nth-child(2) {
|
|
|
+ float: left;
|
|
|
+ width: 200px;
|
|
|
+ font-size: 14px;
|
|
|
+ padding-left: 20px;
|
|
|
+}
|
|
|
+.list .el-button {
|
|
|
+ float: right;
|
|
|
+ margin-top: 12px;
|
|
|
+}
|
|
|
+.page {
|
|
|
+ margin: 20px 0;
|
|
|
+ text-align: center;
|
|
|
+}
|
|
|
+</style>
|