wxy 4 years ago
parent
commit
b97fd225eb
3 changed files with 415 additions and 1 deletions
  1. 6 0
      src/router/index.js
  2. 1 1
      src/views/halltwo/directTwo.vue
  3. 408 0
      src/views/halltwo/schoolMore.vue

+ 6 - 0
src/router/index.js

@@ -147,6 +147,12 @@ const live = [
     meta: { title: '直播大厅', subSite: true },
     component: () => import('../views/halltwo/directTwo.vue'),
   },
+  {
+    path: '/halltwo/schoolMore',
+    name: 'schoolMore',
+    meta: { title: '更多高校', subSite: true },
+    component: () => import('../views/halltwo/schoolMore.vue'),
+  },
   {
     path: '/halltwo/shoolDetail',
     name: 'shoolDetail',

+ 1 - 1
src/views/halltwo/directTwo.vue

@@ -174,7 +174,7 @@
                   <p><el-image :src="school"></el-image> <span>高校院所</span></p>
                 </el-col>
                 <el-col :span="4" class="right">
-                  <el-link :underline="false">更多></el-link>
+                  <el-link :underline="false" @click="$router.push({ path: '/halltwo/schoolMore', query: { dock_id: dockInfo.id } })">更多></el-link>
                 </el-col>
               </el-col>
               <el-col :span="24" class="down">

+ 408 - 0
src/views/halltwo/schoolMore.vue

@@ -0,0 +1,408 @@
+<template>
+  <div id="schoolMore">
+    <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>{{ dockInfo.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>{{ djs }}</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" @click="$router.push({ path: '/halltwo/directTwo', query: { id: dockInfo.id } })">返回展会进行页</el-button>
+                <el-button class="btn2" @click="$router.push({ path: '/halltwo/detail', query: { dock_id: dockInfo.id } })">进入展会总结页</el-button>
+              </el-col>
+            </el-col>
+          </div>
+        </el-col>
+        <el-col :span="24" class="three">
+          <div class="w_1200">
+            <el-col :span="24" class="threeinfo">
+              <p class="title">高校院所</p>
+              <el-col :span="24" class="list">
+                <el-col :span="4" class="shool" v-for="(item, index) in schoolList" :key="index">
+                  <el-col :span="24" class="img">
+                    <el-image :src="item.url"></el-image>
+                    <p class="name">{{ item.name }}</p>
+                  </el-col>
+                  <el-col :span="24" class="dj">
+                    <el-col :span="12" class="btn">
+                      <el-button type="primary" size="mini">对接</el-button>
+                    </el-col>
+                    <el-col
+                      :span="12"
+                      class="see"
+                      @click.native="$router.push({ path: '/halltwo/shoolDetail', query: { name: item.name, dock_id: dockInfo.id } })"
+                    >
+                      <span>查看院校项目</span>
+                    </el-col>
+                  </el-col>
+                </el-col>
+                <el-col class="page1" :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>
+            </el-col>
+          </div>
+        </el-col>
+        <el-col :span="24" class="four">
+          <div class="w_1200">
+            <el-col :span="24" class="info">
+              <el-col :span="8" class="left">
+                <h1>专家咨询:</h1>
+                <p>工作日:08:30~17:00</p>
+                <p>咨询电话:</p>
+                <p>0431-81666508</p>
+              </el-col>
+              <el-col :span="8" class="left">
+                <h1>业务联系:</h1>
+                <p>长春中科北斗工程技术有限公司</p>
+                <p>联系人:刘经理</p>
+                <p>电话:18604328977</p>
+                <p>邮箱:18889898@qq.com</p>
+              </el-col>
+              <el-col :span="8" class="left right">
+                <h1>活动帮微信:</h1>
+                <el-image :src="erweima" style="width:132px;height:132px;"></el-image>
+              </el-col>
+            </el-col>
+          </div>
+        </el-col>
+      </el-col>
+      <div class="pz_down">
+        <live-foot></live-foot>
+      </div>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import liveFoot from '@/layout/live/foot.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: dock } = createNamespacedHelpers('dock');
+import { schoolList } from '@/util/school.js';
+var moment = require('moment');
+export default {
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  name: 'schoolMore',
+  props: {},
+  components: {
+    liveFoot,
+  },
+  data: function() {
+    return {
+      two1: require('@a/sy_04.png'),
+      two2: require('@a/dock2.png'),
+      // 展會詳情
+      dockInfo: {},
+      // 指导单位
+      erweima: require('@a/二维码.jpg'),
+      // 倒计时
+      djs: '',
+      schoolList: schoolList,
+      pageSize: 15,
+      total: 0,
+      currentPage: 1,
+    };
+  },
+  async created() {
+    await this.searchInfo();
+  },
+  methods: {
+    ...dock({ dockQuery: 'query', dockFetch: 'fetch', goodsquery: 'goodsquery' }),
+    async searchInfo() {
+      // 查询展会详情
+      if (this.dock_id) {
+        let res = await this.dockFetch(this.dock_id);
+        if (this.$checkRes(res)) {
+          this.$set(this, `dockInfo`, res.data);
+        }
+        // 倒计时
+        this.timer = setInterval(() => {
+          this.setTime(res.data.start_time);
+        }, 1000);
+        //学校列表
+        this.total = this.schoolList.length;
+      }
+    },
+    // 倒计时
+    setTime(end) {
+      let now = moment().format('YYYY-MM-DD HH:mm:ss');
+      // let now = moment().format('2020-11-20 08:00:00');
+      if (end == now) {
+        clearInterval(this.timer);
+        this.$set(this, `djs`, '展会开始');
+      } else {
+        let sec = moment(end).diff(now, 'seconds');
+        let day = _.floor(sec / 60 / 60 / 24);
+        let hour = _.floor(Math.abs(day * 24 - sec / 60 / 60));
+        let dayhour = day * 24;
+        let minute = _.floor(Math.abs(day * 24 * 60 + hour * 60 - sec / 60));
+        let second = _.floor(Math.abs(day * 24 * 60 * 60 + hour * 60 * 60 + minute * 60 - sec));
+        let str = `${hour + dayhour}小时${minute}分${second}秒`;
+        this.$set(this, `djs`, str);
+      }
+    },
+    handleCurrentChange(val) {
+      console.log(val);
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    dock_id() {
+      return this.$route.query.dock_id;
+    },
+    name() {
+      return this.$route.query.name;
+    },
+  },
+};
+</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: 610px;
+    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;
+          font-size: 30px;
+        }
+      }
+      .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;
+        }
+      }
+    }
+  }
+  .three {
+    min-height: 500px;
+    overflow: hidden;
+    position: relative;
+    top: -50px;
+    z-index: 999;
+    .threeinfo {
+      min-height: 500px;
+      overflow: hidden;
+      background-color: #fff;
+      box-shadow: 0 5px 15px rgba(33, 82, 203, 0.35);
+      padding: 30px;
+      .title {
+        font-family: '微软雅黑';
+        font-weight: 400;
+        font-size: 26px;
+      }
+      .list {
+        margin: 50px 0 40px 0;
+        .shool {
+          width: 204px;
+          margin: 0px 30px 30px 0px;
+          .img {
+            // height: 175px;
+            border: 1px solid #c6c6c6;
+            text-align: center;
+            cursor: pointer;
+            .name {
+              font-size: 14px;
+              color: #2152cb;
+              text-align: center;
+              line-height: 30px;
+            }
+          }
+          .dj {
+            margin-top: 10px;
+            .see {
+              text-align: right;
+              cursor: pointer;
+              span {
+                display: inline-block;
+                height: 28px;
+                line-height: 28px;
+                font-size: 14px;
+              }
+            }
+          }
+        }
+        .shool:hover .img {
+          box-shadow: 0 0 10px rgba(127, 126, 126, 0.3);
+        }
+        .shool:nth-child(5n) {
+          margin-right: 0px;
+        }
+        .page1 {
+          text-align: center;
+          margin-top: 10px;
+        }
+      }
+    }
+  }
+  .four {
+    border-top: 2px solid #305798;
+    height: 250px;
+    .info {
+      .left {
+        h1 {
+          padding: 15px 0;
+          font-weight: bold;
+          color: #4d4d4d;
+        }
+        p {
+          font-size: 16px;
+          color: #4d4d4d;
+          padding: 5px 0;
+        }
+      }
+      .right {
+        text-align: center;
+      }
+    }
+  }
+}
+/deep/.el-image__inner {
+  vertical-align: middle;
+  /* margin: 10px auto; */
+  height: 125px;
+  width: auto;
+  margin: 10px auto;
+}
+</style>