guhongwei 4 gadi atpakaļ
vecāks
revīzija
39294ae5be

BIN
src/assets/dock/top.png


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 1261 - 0
src/views/hall/direct copy.vue


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 394 - 1050
src/views/hall/direct.vue


+ 143 - 0
src/views/hall/newParts/expertData.vue

@@ -0,0 +1,143 @@
+<template>
+  <div id="expertData">
+    <el-row>
+      <el-col :span="24">
+        <el-tabs v-model="expertTab" type="card">
+          <el-tab-pane label="专家智库" name="first">
+            <el-col :span="24" class="one">
+              <el-col :span="8" class="expertList" v-for="(item, index) in expertList" :key="index">
+                <el-col :span="6" class="image">
+                  <el-image v-if="item.expertimage != null || undefined" :src="item.expertimage"></el-image>
+                  <el-image :src="expertimage" v-else></el-image>
+                </el-col>
+                <el-col :span="18" class="txt">
+                  <el-col :span="24" class="name textOver">
+                    {{ item.name }}
+                  </el-col>
+                  <el-col :span="24" class="zwzc textOver">
+                    {{ item.zwzc }}
+                  </el-col>
+                  <el-col :span="24" class="company textOver">
+                    {{ item.company }}
+                  </el-col>
+                  <el-col :span="24" class="btn">
+                    <el-button size="mini" type="primary" @click="twoBtnDetail(item)">详情</el-button>
+                    <el-button
+                      size="mini"
+                      type="success"
+                      @click="$router.push({ path: '/live/hall/dock/zhanjiaduijie', query: { id: item._id, dockid: dock_id } })"
+                      >对接</el-button
+                    >
+                  </el-col>
+                </el-col>
+              </el-col>
+            </el-col>
+            <el-col :span="24" class="two" v-if="expertList.length >= 9">
+              <el-button type="primary" size="mini" @click="$router.push({ path: '/hall/productList/expertList', query: { dockid: dock_id } })"
+                >查看更多项目</el-button
+              >
+            </el-col>
+          </el-tab-pane>
+        </el-tabs>
+      </el-col>
+    </el-row>
+    <el-dialog title="专家信息" :visible.sync="dialogExport" width="60%" :before-close="handleCloseExport">
+      <expeDetail :detailInfo="exportInfo" :displayBtn="displayBtn"></expeDetail>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import expeDetail from '@/views/market/detail/expeDetail.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'expertData',
+  props: {
+    expertList: { type: Array },
+  },
+  components: {
+    expeDetail,
+  },
+  data: function() {
+    return {
+      expertTab: 'first',
+      expertimage: require('@/assets/live/222.png'),
+      dock_id: '',
+      dialogExport: false,
+      exportInfo: {},
+      displayBtn: false,
+    };
+  },
+  created() {
+    this.$set(this, `dock_id`, this.$route.query.id);
+  },
+  methods: {
+    twoBtnDetail(data) {
+      this.dialogExport = true;
+      this.$set(this, `exportInfo`, data);
+    },
+    handleCloseExport(done) {
+      done();
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  watch: {},
+};
+</script>
+
+<style lang="less" scoped>
+/deep/.el-tabs__item.is-active {
+  color: #fff;
+  background: #a4138f;
+}
+/deep/.el-tabs__header {
+  margin: 0;
+}
+.one {
+  padding: 10px 10px 0 10px;
+  height: 427px;
+  overflow: hidden;
+  margin: 0px 0 5px 0;
+  .expertList {
+    width: 385px;
+    height: 130px;
+    box-shadow: 0 0 5px #ccc;
+    border-radius: 5px;
+    margin: 0 10px 10px 0;
+    padding: 10px;
+    .image {
+      border: 1px dashed #ccc;
+      .el-image {
+        height: 110px;
+      }
+    }
+    .txt {
+      padding: 0 10px;
+      .name {
+        font-size: 18px;
+        font-weight: bold;
+      }
+      .zwzc {
+        font-size: 16px;
+        padding: 5px 0 0 0;
+      }
+      .company {
+        font-size: 16px;
+        padding: 5px 0 0 0;
+      }
+      .btn {
+        text-align: center;
+        margin: 10px 0 0 0;
+      }
+    }
+  }
+  .expertList:nth-child(3n) {
+    margin: 0 0 10px 0;
+  }
+}
+.two {
+  text-align: center;
+}
+</style>

+ 56 - 0
src/views/hall/newParts/imgTab.vue

@@ -0,0 +1,56 @@
+<template>
+  <div id="imgTab">
+    <el-row>
+      <el-col :span="24">
+        <el-tabs v-model="videoListtabs" type="card">
+          <el-tab-pane label="图文直播" name="first"> <imagetxtList></imagetxtList></el-tab-pane>
+          <el-tab-pane label="洽谈合作" name="second"> <trainList :list="trainoneList"></trainList> </el-tab-pane>
+          <el-tab-pane label="达成意向" name="third"> <trainList :list="traintwoList"></trainList> </el-tab-pane>
+          <el-tab-pane label="交易完成" name="fourth"> <trainList :list="trainthreeList"></trainList> </el-tab-pane>
+        </el-tabs>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+// 图文直播
+import imagetxtList from '../parts/imagetxtList.vue';
+// 正在洽谈,达成意向,交易完成
+import trainList from '../parts/trainList.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'imgTab',
+  props: {
+    trainoneList: { type: Array },
+    traintwoList: { type: Array },
+    trainthreeList: { type: Array },
+  },
+  components: {
+    imagetxtList,
+    trainList,
+  },
+  data: function() {
+    return {
+      videoListtabs: 'first',
+    };
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  watch: {},
+};
+</script>
+
+<style lang="less" scoped>
+/deep/.el-tabs__item {
+  background: #f69c43;
+  color: #fff;
+}
+/deep/.el-tabs__item.is-active {
+  color: #ff0000;
+  background: #fff;
+}
+</style>

+ 221 - 0
src/views/hall/newParts/marketProduct.vue

@@ -0,0 +1,221 @@
+<template>
+  <div id="marketProduct">
+    <el-row>
+      <el-col :span="24">
+        <el-tabs v-model="marketTab" type="card">
+          <el-tab-pane label="技术成果" name="first">
+            <el-col :span="24" class="one">
+              <el-col :span="4" class="achieveList" v-for="(item, index) in achieveList" :key="index">
+                <el-col :span="24" class="top">
+                  <p class="textOver">{{ item.name }}</p>
+                  <p>{{ item.achievebrief }}</p>
+                  <p class="textOver">领域:{{ item.field }}</p>
+                  <p class="textOver">联系人{{ item.contacts }}</p>
+                </el-col>
+                <el-col :span="24" class="down">
+                  <el-button size="mini" type="primary" @click="oneBtnDetail(item)">详情</el-button>
+                  <el-button
+                    size="mini"
+                    type="success"
+                    @click="
+                      $router.push({
+                        path: '/live/hall/dock/dockDetail',
+                        query: { id: item._id, dockid: dock_id, type: item.type },
+                      })
+                    "
+                    >对接</el-button
+                  >
+                </el-col>
+              </el-col>
+            </el-col>
+            <el-col :span="24" class="two" v-if="achieveList.length >= 10">
+              <el-button
+                type="primary"
+                size="mini"
+                @click="$router.push({ path: '/hall/productList/technologyList', query: { column_name: '技术成果', dockid: dock_id } })"
+                >查看更多项目</el-button
+              >
+            </el-col>
+          </el-tab-pane>
+          <el-tab-pane label="科技需求" name="second">
+            <el-col :span="24" class="thr">
+              <el-col :span="4" class="techolList" v-for="(item, index) in techolList" :key="index">
+                <el-col :span="24" class="top">
+                  <p>{{ item.name }}</p>
+                  <p>所属领域:{{ item.field }}</p>
+                </el-col>
+                <el-col :span="24" class="down">
+                  <el-button size="mini" type="primary" @click="oneBtnDetail(item)">详情</el-button>
+                  <el-button
+                    size="mini"
+                    type="success"
+                    @click="
+                      $router.push({
+                        path: '/live/hall/dock/dockDetail',
+                        query: { id: item._id, dockid: dock_id, type: item.type },
+                      })
+                    "
+                    >对接</el-button
+                  >
+                </el-col>
+              </el-col>
+            </el-col>
+            <el-col :span="24" class="two" v-if="techolList.length >= 10">
+              <el-button
+                type="primary"
+                size="mini"
+                @click="$router.push({ path: '/hall/productList/technologyList', query: { column_name: '科技需求', dockid: dock_id } })"
+                >查看更多项目</el-button
+              >
+            </el-col>
+          </el-tab-pane>
+        </el-tabs>
+      </el-col>
+    </el-row>
+    <el-dialog title="信息详情" :visible.sync="dialogVisible" width="55%" :before-close="handleClose">
+      <directDetail :directInfo="directInfo"></directDetail>
+    </el-dialog>
+  </div>
+</template>
+
+<script>
+import directDetail from '@/layout/direct/directDetail.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  name: 'marketProduct',
+  props: {
+    achieveList: { type: Array },
+    techolList: { type: Array },
+  },
+  components: {
+    directDetail,
+  },
+  data: function() {
+    return {
+      marketTab: 'first',
+      dock_id: '',
+      dialogVisible: false,
+      directInfo: {},
+    };
+  },
+  created() {
+    this.$set(this, `dock_id`, this.$route.query.id);
+  },
+  methods: {
+    // 信息详情
+    oneBtnDetail(data) {
+      this.dialogVisible = true;
+      this.$set(this, `directInfo`, data);
+    },
+    handleClose(done) {
+      done();
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  watch: {},
+};
+</script>
+
+<style lang="less" scoped>
+/deep/.el-tabs__item.is-active {
+  color: #fff;
+  background: #d4443e;
+}
+/deep/.el-tabs__item:hover {
+  color: #fff;
+  background: #d4443e;
+}
+/deep/.el-tabs__header {
+  margin: 0;
+}
+.one {
+  padding: 10px 10px 0 10px;
+  height: 540px;
+  overflow: hidden;
+  .achieveList {
+    width: 19%;
+    height: 250px;
+    background: url('~@/assets/技术成果1.png');
+    background-size: 100% 100%;
+    background-repeat: no-repeat;
+    margin: 0 10px 15px 0;
+    padding: 22px 22px 8px 22px;
+    .top {
+      height: 190px;
+      overflow: hidden;
+      p:nth-child(1) {
+        font-size: 18px;
+        font-weight: bold;
+        padding: 5px 0;
+      }
+      p:nth-child(2) {
+        font-size: 12px;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        -webkit-line-clamp: 6;
+        word-break: break-all;
+        display: -webkit-box;
+        -webkit-box-orient: vertical;
+        padding: 0 5px;
+        height: 105px;
+        line-height: 17px;
+      }
+      p:nth-child(3) {
+        font-size: 14px;
+        padding: 4px 0 0 0;
+      }
+      p:nth-child(4) {
+        font-size: 14px;
+        padding: 4px 0 0 0;
+      }
+    }
+    .down {
+      text-align: center;
+    }
+  }
+  .achieveList:nth-child(5n) {
+    margin: 0 0 15px 0;
+  }
+}
+.two {
+  text-align: center;
+}
+.thr {
+  padding: 10px 10px 0 10px;
+  height: 540px;
+  overflow: hidden;
+  .techolList {
+    width: 19%;
+    height: 250px;
+    border: 1px solid #ccc;
+    border-radius: 5px;
+    margin: 0 10px 15px 0;
+    padding: 22px 22px 8px 22px;
+    .top {
+      height: 190px;
+      overflow: hidden;
+      p:nth-child(1) {
+        height: 145px;
+        text-align: center;
+        font-size: 18px;
+        margin: 0 0 10px 0;
+        overflow: hidden;
+        text-overflow: ellipsis;
+        -webkit-line-clamp: 6;
+        word-break: break-all;
+        display: -webkit-box;
+        -webkit-box-orient: vertical;
+      }
+      p:nth-child(2) {
+        text-align: center;
+        font-size: 16px;
+      }
+    }
+    .down {
+      text-align: center;
+    }
+  }
+}
+</style>