guhongwei 4 vuotta sitten
vanhempi
commit
8959244e00

+ 9 - 9
public/index.html

@@ -15,15 +15,15 @@
     <!-- built files will be auto injected -->
       <script language=javascript>
           // 禁止右键菜单
-            document.oncontextmenu = function () { return false; };
-            // 禁止文字选择
-            document.onselectstart = function () { return false; };
-            // 禁止复制
-            document.oncopy = function () { return false; };
-            // 禁止剪切
-            document.oncut = function () { return false; };
-            // 禁止粘贴
-            document.onpaste = function () { return false; };
+            // document.oncontextmenu = function () { return false; };
+            // // 禁止文字选择
+            // document.onselectstart = function () { return false; };
+            // // 禁止复制
+            // document.oncopy = function () { return false; };
+            // // 禁止剪切
+            // document.oncut = function () { return false; };
+            // // 禁止粘贴
+            // document.onpaste = function () { return false; };
       </script>
   </body>
 </html>

BIN
src/assets/advert1.png


BIN
src/assets/advert2.png


BIN
src/assets/bj1.jpg


BIN
src/assets/dock1.png


BIN
src/assets/dock2.png


BIN
src/assets/sjbj.jpg


BIN
src/assets/sy_04.png


+ 6 - 0
src/router/index.js

@@ -141,6 +141,12 @@ const live = [
     meta: { title: '直播大厅', subSite: true },
     component: () => import('../views/hall/direct.vue'),
   },
+  {
+    path: '/halltwo/directTwo',
+    name: 'live_directTwo',
+    meta: { title: '直播大厅', subSite: true },
+    component: () => import('../views/halltwo/directTwo.vue'),
+  },
   {
     path: '/hall/productList/technologyList',
     name: 'live_technologyList',

+ 8 - 3
src/views/hall/directBefore.vue

@@ -17,9 +17,7 @@
             <el-col :span="24" class="txt">承办方:{{ dockInfo.organizer }}</el-col>
             <el-col :span="24" class="txt">技术支持:长春市福瑞科技有限公司</el-col>
             <el-col :span="24" class="btn">
-              <el-button @click="$router.push({ path: '/hall/direct', query: { id: dockInfo.id, title: dockInfo.title } })"
-                >进入活动现场<i class="iconfont icon-bofang"></i
-              ></el-button>
+              <el-button @click="dockBtn(dockInfo)">进入活动现场<i class="iconfont icon-bofang"></i></el-button>
             </el-col>
           </div>
         </el-col>
@@ -51,6 +49,13 @@ export default {
         this.$set(this, `dockInfo`, res.data);
       }
     },
+    dockBtn(data) {
+      if (data.room_id == '1005') {
+        this.$router.push({ path: '/halltwo/directTwo', query: { id: data.id, title: data.title } });
+      } else {
+        this.$router.push({ path: '/hall/direct', query: { id: data.id, title: data.title } });
+      }
+    },
   },
   computed: {
     ...mapState(['user']),

+ 3 - 1
src/views/hallList/parts/personallist.vue

@@ -5,7 +5,9 @@
         <el-col :span="8" class="list" v-for="(item, index) in list" :key="index">
           <el-image :src="hall" style="width:100%;height:200px;"></el-image>
           <el-col :span="24" class="other">
-            <p class="textOver">{{ item.title }}</p>
+            <p class="textOver">
+              {{ item.title }}
+            </p>
             <p class="textOver">
               <span><i class="el-icon-location-outline"></i>{{ getprovince(item.province) }}-{{ getplace(item.place) }}</span>
               <span><i class="el-icon-time"></i>{{ item.start_time }}-{{ item.end_time }}</span>

+ 3 - 1
src/views/hallList/parts/productlist.vue

@@ -5,7 +5,9 @@
         <el-col :span="8" class="list" v-for="(item, index) in list" :key="index">
           <el-image :src="hall" style="width:100%;height:200px;"></el-image>
           <el-col :span="24" class="other">
-            <p class="textOver">{{ item.title }}</p>
+            <p class="textOver">
+              <span style="color:#ff0000;">[{{ item.room_id }}]</span>{{ item.title }}
+            </p>
             <p class="textOver">
               <span class="textOver"><i class="el-icon-location-outline"></i>{{ getprovince(item.province) }}-{{ getplace(item.place) }}</span>
               <span class="textOver"><i class="el-icon-time"></i>{{ item.start_time }}-{{ item.end_time }}</span>

+ 462 - 0
src/views/halltwo/directTwo.vue

@@ -0,0 +1,462 @@
+<template>
+  <div id="directTwo">
+    <el-row>
+      <el-col :span="24" class="main">
+        <el-col :span="24" class="one">
+          <div class="w_1200">
+            <el-col :span="20" class="left">
+              <el-col :span="24" class="leftone">
+                <span>科技成果展洽会</span>
+                <span>欢迎您</span>
+              </el-col>
+              <el-col :span="24" class="lefttwo">
+                SCIENTIFIC AND TECHNOLOGICAL ACHIEVEEMENTS EXHIBITION
+              </el-col>
+            </el-col>
+            <el-col :span="4" class="right">
+              <el-link :underline="false">帮助中心</el-link>
+            </el-col>
+          </div>
+        </el-col>
+        <el-col :span="24" class="two">
+          <div class="w_1200">
+            <el-col :span="24" class="twotop">
+              <el-col :span="18" class="left">
+                <p>{{ this.$route.query.title }}</p>
+                <el-image :src="two1"></el-image>
+              </el-col>
+              <el-col :span="6" class="right">
+                <el-image :src="two2"></el-image>
+                <p>{{ dockInfo.start_time }}</p>
+                <p>距离展会结束还有</p>
+                <p>倒计时</p>
+              </el-col>
+            </el-col>
+            <el-col :span="24" class="twocen">
+              <el-col :span="15" class="left"> <span>主办单位:</span>{{ dockInfo.sponsor }} </el-col>
+              <el-col :span="8" class="right">
+                <el-button class="btn1">返回展会进行页</el-button>
+                <el-button class="btn2">进入展会总结页</el-button>
+              </el-col>
+            </el-col>
+            <el-col :span="24" class="twodown">
+              <el-col :span="5" class="txt">
+                <span>已经到场</span>
+                <span>0</span>人
+              </el-col>
+              <el-col :span="5" class="txt">
+                <span>实现对接</span>
+                <span>0</span>次
+              </el-col>
+              <el-col :span="5" class="txt">
+                <span>产生意向</span>
+                <span>0</span>次
+              </el-col>
+              <el-col :span="5" class="txt">
+                <span>项目数</span>
+                <span>0</span>项
+              </el-col>
+              <el-col :span="5" class="txt">
+                <span>贺信</span>
+                <span>0</span>封
+              </el-col>
+              <el-col :span="5" class="txt">
+                <span>同时在线</span>
+                <span>0</span>人
+              </el-col>
+              <el-col :span="5" class="txt">
+                <span>正在对接</span>
+                <span>0</span>人
+              </el-col>
+              <el-col :span="5" class="txt">
+                <span>产生意向</span>
+                <span>0</span>次
+              </el-col>
+              <el-col :span="5" class="txt">
+                <span>需求数</span>
+                <span>0</span>项
+              </el-col>
+              <el-col :span="5" class="txt">
+                <span>鲜花</span>
+                <span>0</span>束
+              </el-col>
+            </el-col>
+          </div>
+        </el-col>
+        <el-col :span="24" class="three">
+          <div class="w_1200">
+            <el-col :span="24" class="three1">
+              <el-col :span="12" class="left">
+                <video :src="dockInfo.file_path" controls="controls">
+                  您的浏览器不支持 video 标签。
+                </video>
+              </el-col>
+              <el-col :span="12" class="right">
+                <el-tabs v-model="activeName">
+                  <el-tab-pane label="所有" name="first">
+                    <trainlist :list="trainoneList"></trainlist>
+                  </el-tab-pane>
+                  <el-tab-pane label="实现对接" name="second">
+                    <trainlist :list="traintwoList"></trainlist>
+                  </el-tab-pane>
+                  <el-tab-pane label="产生意向" name="third">
+                    <trainlist :list="trainthreeList"></trainlist>
+                  </el-tab-pane>
+                  <el-tab-pane label="达成意向" name="fourth">
+                    <trainlist :list="trainfourList"></trainlist>
+                  </el-tab-pane>
+                </el-tabs>
+              </el-col>
+            </el-col>
+            <el-col :span="24" class="three2">
+              <advert :list="adveronetlist"></advert>
+            </el-col>
+            <el-col :span="24" class="three3">
+              <el-col :span="12" class="left">
+                左側
+              </el-col>
+              <el-col :span="12" class="right">
+                右側
+              </el-col>
+            </el-col>
+            <el-col :span="24" class="three4">
+              <advert :list="adveronetlist"></advert>
+            </el-col>
+            <el-col :span="24" class="three5">
+              高校
+            </el-col>
+            <el-col :span="24" class="three6">
+              <advert :list="adveronetlist"></advert>
+            </el-col>
+            <el-col :span="24" class="three7">
+              专家
+            </el-col>
+            <el-col :span="24" class="three8">
+              技术
+            </el-col>
+          </div>
+        </el-col>
+        <el-col :span="24" class="four">
+          第四部分
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+// 直播实况
+import trainlist from './parts/trainlist.vue';
+// 广告位
+import advert from './parts/advert.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: dock } = createNamespacedHelpers('dock');
+export default {
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  name: 'directTwo',
+  props: {},
+  components: {
+    // 直播实况
+    trainlist,
+    // 广告位
+    advert,
+  },
+  data: function() {
+    return {
+      two1: require('@a/sy_04.png'),
+      two2: require('@a/dock2.png'),
+      // 展會詳情
+      dockInfo: {},
+      // 直播实况
+      activeName: 'first',
+      // 所有0,1,2
+      trainoneList: [],
+      // 完成2
+      traintwoList: [],
+      // 产生0
+      trainthreeList: [],
+      // 达成1
+      trainfourList: [],
+      // 广告位
+      adveronetlist: [
+        {
+          url: require('@a/advert1.png'),
+        },
+        {
+          url: require('@a/advert2.png'),
+        },
+      ],
+    };
+  },
+  async created() {
+    await this.searchInfo();
+  },
+  methods: {
+    ...dock({ dockQuery: 'query', dockFetch: 'fetch', goodsquery: 'goodsquery' }),
+    async searchInfo() {
+      if (this.id) {
+        let res = await this.dockFetch(this.id);
+        if (this.$checkRes(res)) {
+          this.$set(this, `dockInfo`, res.data);
+        }
+      }
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
+  },
+  watch: {},
+};
+</script>
+
+<style lang="less" scoped>
+.main {
+  .one {
+    height: 100px;
+    .left {
+      height: 100px;
+      .leftone {
+        margin: 15px 0 0 0;
+        span:nth-child(1) {
+          font-size: 35px;
+          color: #535353;
+          font-weight: bold;
+          font-family: cursive;
+        }
+        span:nth-child(2) {
+          font-size: 15px;
+          padding: 0 10px;
+          color: #535353;
+        }
+      }
+      .lefttwo {
+        font-size: 12px;
+        color: #535353;
+      }
+    }
+    .right {
+      height: 100px;
+      line-height: 100px;
+      text-align: right;
+    }
+  }
+  .two {
+    height: 710px;
+    background: url('~@/assets/bj1.jpg');
+    padding: 20px 0;
+    .twotop {
+      margin: 0 0 10px 0;
+      .left {
+        height: 357px;
+        margin: 0 10px 0 0;
+        background: url('~@/assets/dock1.png');
+        p {
+          float: left;
+          width: 79%;
+          font-size: 43px;
+          color: #fff;
+          font-weight: bold;
+          padding: 13% 0 0 20px;
+        }
+        .el-image {
+          float: left;
+          width: 153px;
+          height: 94px;
+          margin: 4% 0 0 0;
+        }
+      }
+      .right {
+        background-color: #ffffff;
+        width: 24%;
+        height: 357px;
+        text-align: center;
+        padding: 0 10px;
+        .el-image {
+          width: 120px;
+          height: 48px;
+          margin: 50px 0 0px 0;
+        }
+        p:nth-child(2) {
+          font-size: 18px;
+          margin: 30px 0 5px 0;
+        }
+        p:nth-child(3) {
+          font-size: 22px;
+          font-weight: bold;
+          margin-bottom: 30px;
+        }
+        p:nth-child(4) {
+          background: #f5f5f5;
+          padding: 20px 0px;
+          border-radius: 5px;
+          height: 50px;
+        }
+      }
+      .right:hover {
+        cursor: pointer;
+        p:nth-child(3) {
+          color: #535353;
+        }
+      }
+    }
+    .twocen {
+      height: 130px;
+      overflow: hidden;
+      line-height: 130px;
+      background-color: #fff;
+      margin: 0 0 35px 0;
+      .left {
+        font-size: 18px;
+        margin: 0 0 0 30px;
+        span {
+          font-size: 22px;
+          font-weight: bold;
+        }
+      }
+      .right {
+        .btn1 {
+          font-size: 16px;
+          color: #fff;
+          background: red;
+          border: none;
+          font-weight: bold;
+        }
+        .btn2 {
+          font-size: 16px;
+          color: #ff0000;
+          border: 1px solid #ff0000;
+          font-weight: bold;
+        }
+      }
+    }
+    .twodown {
+      height: 160px;
+      .txt {
+        width: 224px;
+        height: 52px;
+        margin: 0 20px 15px 0;
+        background: url('~@/assets/sjbj.jpg');
+        padding: 11px 0;
+        font-size: 18px;
+        span:nth-child(1) {
+          float: left;
+          width: 46%;
+          text-align: center;
+          color: #fff;
+        }
+        span:nth-child(2) {
+          float: left;
+          width: 40%;
+          text-align: center;
+          color: #000;
+          font-weight: bold;
+          text-align: right;
+        }
+      }
+      .txt:nth-child(5n) {
+        margin: 0 0 15px 0;
+      }
+    }
+  }
+  .three {
+    padding: 50px 0;
+    .three1 {
+      height: 440px;
+      margin: 0 0 50px 0;
+      .left {
+        height: 440px;
+        background: #000;
+        margin: 0 15px 0 0;
+        video {
+          width: 100%;
+          height: 100%;
+        }
+      }
+      .right {
+        width: 584px;
+        height: 440px;
+        border-radius: 10px;
+        box-shadow: 0 5px 15px rgba(33, 82, 203, 0.35);
+        /deep/.el-tabs__header {
+          margin: 0;
+        }
+        /deep/ .el-tabs--top .el-tabs__item.is-top:nth-child(2) {
+          padding-left: 20px;
+        }
+        /deep/ .el-tabs--top .el-tabs__item.is-top:last-child {
+          padding-right: 20px;
+        }
+        /deep/.el-tabs__active-bar {
+          display: none;
+        }
+        /deep/.el-tabs__nav-wrap::after {
+          background-color: transparent;
+        }
+        /deep/.el-tabs__item.is-active {
+          color: #fff;
+          background: red;
+        }
+
+        /deep/.el-tabs__item {
+          font-size: 18px;
+          border-radius: 10px;
+          font-weight: bold;
+        }
+        /deep/ .el-tabs__item:hover {
+          color: #fff;
+          background: red;
+        }
+      }
+    }
+    .three2 {
+      height: 85px;
+      margin: 0 0 50px 0;
+    }
+    .three3 {
+      height: 440px;
+      // border: 1px solid red;
+      margin: 0 0 50px 0;
+      .left {
+        width: 49%;
+        height: 440px;
+        margin: 0 15px 0 0;
+        border-radius: 10px;
+        box-shadow: 0 5px 15px rgba(33, 82, 203, 0.35);
+      }
+      .right {
+        width: 49%;
+        height: 440px;
+        border-radius: 10px;
+        box-shadow: 0 5px 15px rgba(33, 82, 203, 0.35);
+      }
+    }
+    .three4 {
+      height: 85px;
+      margin: 0 0 50px 0;
+    }
+    .three5 {
+      height: 340px;
+      border: 1px solid red;
+      margin: 0 0 50px 0;
+    }
+    .three6 {
+      height: 85px;
+      margin: 0 0 50px 0;
+    }
+    .three7 {
+      height: 440px;
+      border: 1px solid red;
+      margin: 0 0 50px 0;
+    }
+    .three8 {
+      min-height: 110px;
+      border: 1px solid red;
+    }
+  }
+}
+</style>

+ 42 - 0
src/views/halltwo/parts/advert.vue

@@ -0,0 +1,42 @@
+<template>
+  <div id="advert">
+    <el-row>
+      <el-col :span="24">
+        <el-carousel height="85px" direction="vertical">
+          <el-carousel-item v-for="(item, index) in list" :key="index">
+            <el-image :src="item.url"></el-image>
+          </el-carousel-item>
+        </el-carousel>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  name: 'advert',
+  props: {
+    list: { type: Array },
+  },
+  components: {},
+  data: function() {
+    return {};
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  watch: {},
+};
+</script>
+
+<style lang="less" scoped>
+/deep/.el-carousel__indicators {
+  display: none;
+}
+</style>

+ 96 - 0
src/views/halltwo/parts/trainlist.vue

@@ -0,0 +1,96 @@
+<template>
+  <div id="trainList">
+    <el-row>
+      <el-col :span="24" class="style">
+        <el-col :span="24" class="list" v-for="(item, index) in list" :key="index">
+          <!-- <span>[{{ getDate(item.meta.createdAt) }}]</span> -->
+          <span>[{{ item.date }}]</span>
+          <span class="textOver">{{ item.market_username }}</span>
+          <span>与</span>
+          <span class="textOver">{{ item.username }}</span>
+          <span>{{ item.status == '0' ? '产生意向' : item.status == '1' ? '达成意向' : '实现对接' }}</span>
+        </el-col>
+      </el-col>
+      <el-col :span="24" class="btn">
+        <el-button>进入直播中心</el-button>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+var moment = require('moment');
+export default {
+  name: 'trainList',
+  props: {
+    list: { type: Array },
+  },
+  components: {},
+  data: function() {
+    return {};
+  },
+  created() {},
+  methods: {
+    // getDate(value) {
+    //   let data = moment().format('HH:mm:ss');
+    //   if (data) return data;s
+    // },
+  },
+  computed: {
+    ...mapState(['user']),
+  },
+  watch: {},
+};
+</script>
+
+<style lang="less" scoped>
+.style {
+  padding: 0 10px;
+  height: 345px;
+  overflow-y: auto;
+  margin: 0 0 7px 0px;
+  .list {
+    padding: 10px 0;
+    border-bottom: 1px dashed #ccc;
+    font-size: 14px;
+    span {
+      display: inline-block;
+    }
+    span:nth-child(1) {
+      color: #ff0000;
+      font-weight: bold;
+      padding: 0 5px 0 0;
+    }
+    span:nth-child(2) {
+      width: 35%;
+      top: 5px;
+      position: relative;
+      font-weight: bold;
+    }
+    span:nth-child(4) {
+      width: 35%;
+      top: 5px;
+      position: relative;
+      font-weight: bold;
+    }
+    span:nth-child(3) {
+      margin: 0 8px;
+    }
+    span:nth-child(5) {
+      display: inline-block;
+      text-align: right;
+    }
+  }
+}
+.btn {
+  text-align: center;
+  .el-button {
+    font-size: 16px;
+    color: #fff;
+    background: red;
+    border: none;
+    font-weight: bold;
+  }
+}
+</style>

+ 42 - 42
src/views/market/index.vue

@@ -980,92 +980,92 @@ export default {
         .text {
           width: 100%;
           height: 220px;
-          background: url('~@/assets/技术成果6.png');
+          background: url('~@/assets/技术成果1.png');
           background-size: 100% 100%;
           background-repeat: no-repeat;
           // 图片1样式
-          // padding: 25px 19px;
+          padding: 25px 19px;
           // 图片2样式,图片3样式
-          padding: 15px 10px;
+          // padding: 15px 10px;
           // 图片1样式
+          .name {
+            font-size: 16px;
+            font-weight: bold;
+            margin: 0 0 5px 0;
+          }
+          .brief {
+            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;
+          }
+          .other {
+            padding: 5px 0 0 0;
+            span {
+              padding: 3px 0 0 0;
+              float: left;
+              width: 100%;
+              font-size: 12px;
+            }
+          }
+          // 图片2样式
           // .name {
-          //   font-size: 16px;
+          //   font-size: 14px;
           //   font-weight: bold;
           //   margin: 0 0 5px 0;
+          //   text-align: right;
           // }
           // .brief {
           //   font-size: 12px;
           //   overflow: hidden;
           //   text-overflow: ellipsis;
-          //   -webkit-line-clamp: 6;
+          //   -webkit-line-clamp: 7;
           //   word-break: break-all;
           //   display: -webkit-box;
           //   -webkit-box-orient: vertical;
-          //   padding: 0 5px;
+          //   text-indent: 2rem;
+          //   text-align: right;
+          //   padding: 0 0 0 10px;
           // }
           // .other {
           //   padding: 5px 0 0 0;
           //   span {
-          //     padding: 3px 0 0 0;
+          //     padding: 5px 0 0 0;
           //     float: left;
           //     width: 100%;
           //     font-size: 12px;
           //   }
           // }
-          // 图片2样式
+          // 图片3样式
           // .name {
           //   font-size: 14px;
           //   font-weight: bold;
-          //   margin: 0 0 5px 0;
-          //   text-align: right;
+          //   padding: 20px 0 0 0;
           // }
           // .brief {
           //   font-size: 12px;
           //   overflow: hidden;
           //   text-overflow: ellipsis;
-          //   -webkit-line-clamp: 7;
+          //   -webkit-line-clamp: 6;
           //   word-break: break-all;
           //   display: -webkit-box;
           //   -webkit-box-orient: vertical;
-          //   text-indent: 2rem;
-          //   text-align: right;
-          //   padding: 0 0 0 10px;
+          //   text-indent: 1rem;
+          //   padding: 10px 0 0 0;
           // }
           // .other {
-          //   padding: 5px 0 0 0;
+          //   padding: 10px 0 0 0;
           //   span {
-          //     padding: 5px 0 0 0;
+          //     padding: 4px 0 0 0;
           //     float: left;
           //     width: 100%;
           //     font-size: 12px;
           //   }
           // }
-          // 图片3样式
-          .name {
-            font-size: 14px;
-            font-weight: bold;
-            padding: 20px 0 0 0;
-          }
-          .brief {
-            font-size: 12px;
-            overflow: hidden;
-            text-overflow: ellipsis;
-            -webkit-line-clamp: 6;
-            word-break: break-all;
-            display: -webkit-box;
-            -webkit-box-orient: vertical;
-            text-indent: 1rem;
-            padding: 10px 0 0 0;
-          }
-          .other {
-            padding: 10px 0 0 0;
-            span {
-              padding: 4px 0 0 0;
-              float: left;
-              width: 100%;
-              font-size: 12px;
-            }
-          }
         }
       }
       .achieveList:nth-child(3n) {