guhongwei 4 rokov pred
rodič
commit
aff106f546

+ 15 - 1
src/router/index.js

@@ -254,7 +254,6 @@ const live = [
     meta: { title: '直播大厅', subSite: true },
     component: () => import('../views/hall/productList/expertList.vue'),
   },
-
   // 直播大厅-查看更多技术列表
   {
     path: '/hall/productList/technologyList',
@@ -262,6 +261,21 @@ const live = [
     meta: { title: '产品列表', subSite: true },
     component: () => import('../views/hall/productList/technologyList.vue'),
   },
+  // 07-16增加
+  // 在线指导
+  {
+    path: '/hall/zxzdxmly/zxzdDetail',
+    name: 'zxzdxmly_zxzdDetail',
+    meta: { title: '在线指导', subSite: true },
+    component: () => import('../views/hall/zxzdxmly/zxzdDetail.vue'),
+  },
+  // 项目路演
+  {
+    path: '/hall/zxzdxmly/xmlyDetail',
+    name: 'zxzdxmly_xmlyDetail',
+    meta: { title: '项目路演', subSite: true },
+    component: () => import('../views/hall/zxzdxmly/xmlyDetail.vue'),
+  },
   {
     path: '/hall/index',
     name: 'hall_index',

+ 1 - 1
src/views/adminCenter/xmly/index.vue

@@ -114,7 +114,7 @@ export default {
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let res = await this.fetch(this.user.uid);
       this.$set(this, `dock_id`, res.data.id);
-      let arr = await this.query({ skip, limit, dockid: this.dock_id, ...info });
+      let arr = await this.query({ skip, limit, dock_id: this.dock_id, ...info });
       this.$set(this, `list`, arr.data);
       this.$set(this, `total`, arr.total);
     },

+ 1 - 1
src/views/adminCenter/zxzd/index.vue

@@ -114,7 +114,7 @@ export default {
     async search({ skip = 0, limit = 10, ...info } = {}) {
       let res = await this.fetch(this.user.uid);
       this.$set(this, `dock_id`, res.data.id);
-      let arr = await this.query({ skip, limit, dockid: this.dock_id, ...info });
+      let arr = await this.query({ skip, limit, dock_id: this.dock_id, ...info });
       this.$set(this, `list`, arr.data);
       this.$set(this, `total`, arr.total);
     },

+ 64 - 88
src/views/hall/direct.vue

@@ -350,17 +350,17 @@
             <div class="fangtan">
               <el-col :span="7" class="jiabin">
                 <p class="jiabintop">
-                  <span>嘉宾访谈</span>
-                  <el-link :underline="false">MORE</el-link>
+                  <span>在线指导</span>
+                  <!-- <el-link :underline="false">MORE</el-link> -->
                 </p>
                 <div class="jiabinlist">
                   <ul>
-                    <li v-for="(ref, index) in jiabinlist" :key="index">
-                      <img :src="ref.url" />
+                    <li v-for="(ref, index) in zxzdlist" :key="index">
+                      <img :src="ref.picture" />
                       <p>
-                        <span class="textOver">{{ ref.title }}</span>
-                        <span>{{ ref.date }}</span>
-                        <span class="text">{{ ref.context }} </span>
+                        <span class="textOver" @click="$router.push({ path: '/hall/zxzdxmly/zxzdDetail', query: { id: ref.id } })">{{ ref.title }}</span>
+                        <span>{{ ref.publish_time }}</span>
+                        <span class="text">{{ ref.titlejj }} </span>
                       </p>
                     </li>
                   </ul>
@@ -369,18 +369,17 @@
               <el-col :span="7" class="jiabin luyan">
                 <p class="jiabintop luyanTop">
                   <span>项目路演</span>
-                  <el-link :underline="false">MORE</el-link>
+                  <!-- <el-link :underline="false">MORE</el-link> -->
                 </p>
                 <div class="luyanList">
                   <ul>
-                    <li v-for="(item, index) in luyanList" :key="index">
+                    <li v-for="(item, index) in xmlylist" :key="index">
                       <p>
-                        <span>{{ item.title }}</span>
-                        <span>浏览:{{ item.num }}</span>
+                        <span class="textOver" @click="$router.push({ path: '/hall/zxzdxmly/xmlyDetail', query: { id: item.id } })">{{ item.title }}</span>
+                        <span>时间:{{ item.publish_time }}</span>
                       </p>
                       <p>
-                        <span>所在地区:{{ item.city }} | 所属行业:{{ item.hy }}</span>
-                        <span>项目融资方式:{{ item.xurz }}</span>
+                        {{ item.titlejj }}
                       </p>
                     </li>
                   </ul>
@@ -441,6 +440,8 @@ const { mapActions: mapProduct } = createNamespacedHelpers('marketproduct');
 const { mapActions: market } = createNamespacedHelpers('market');
 const { mapActions: dock } = createNamespacedHelpers('dock');
 const { mapActions: expertsuser } = createNamespacedHelpers('expertsuser');
+const { mapActions: newsguidance } = createNamespacedHelpers('newsguidance');
+const { mapActions: newsroadshow } = createNamespacedHelpers('newsroadshow');
 import moment from 'moment';
 import _ from 'loadsh';
 export default {
@@ -488,65 +489,10 @@ export default {
     yixianglist: [],
     //合作成功
     successlist: [],
-    // 嘉宾访谈
-    jiabinlist: [
-      {
-        url: require('@/assets/test.jpeg'),
-        title: '测试title',
-        date: '2017-03-04',
-        context: '测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容',
-      },
-      {
-        url: require('@/assets/test.jpeg'),
-        title: '测试title',
-        date: '2017-03-04',
-        context: '测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容',
-      },
-      {
-        url: require('@/assets/test.jpeg'),
-        title: '测试title',
-        date: '2017-03-04',
-        context: '测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容',
-      },
-
-      {
-        url: require('@/assets/test.jpeg'),
-        title: '测试title',
-        date: '2017-03-04',
-        context: '测试内容测试内容测试内容测试内容测试内容测试内容测试内容测试内容',
-      },
-    ],
+    // 在线指导
+    zxzdlist: [],
     // 路演
-    luyanList: [
-      {
-        title: '项目路演',
-        num: '1234',
-        city: '吉林省',
-        hy: '所属行业',
-        xurz: '股权融资',
-      },
-      {
-        title: '项目路演',
-        num: '1234',
-        city: '吉林省',
-        hy: '所属行业',
-        xurz: '股权融资',
-      },
-      {
-        title: '项目路演',
-        num: '1234',
-        city: '吉林省',
-        hy: '所属行业',
-        xurz: '股权融资',
-      },
-      {
-        title: '项目路演',
-        num: '1234',
-        city: '吉林省',
-        hy: '所属行业',
-        xurz: '股权融资',
-      },
-    ],
+    xmlylist: [],
     // 使用手册开始
     superOne: require('@/assets/live/main1.png'),
     two: require('@/assets/live/top_bg.png'),
@@ -614,6 +560,8 @@ export default {
     ...dock({ dockQuery: 'query', dockFetch: 'fetch' }),
     ...expertsuser({ expertQuery: 'query' }),
     ...transaction({ tquery: 'query' }),
+    ...newsguidance({ danceQuery: 'query' }),
+    ...newsroadshow({ adshowQuery: 'query' }),
     // 查询详情
     async searchdock() {
       // 标题
@@ -680,6 +628,11 @@ export default {
       // let jioayiData = jioayi.apply.map(item => item.transdata);
       // jioayiData = _.flattenDeep(jioayiData);
       // this.$set(this, `lunboList`, jioayiData);
+      // 展会动态结束
+      let zxzd = await this.danceQuery({ dock_id: this.dock_id });
+      this.$set(this, `zxzdlist`, zxzd.data);
+      let xmly = await this.adshowQuery({ dock_id: this.dock_id });
+      this.$set(this, `xmlylist`, xmly.data);
     },
     // 交易实况
     handleClicks(tab, event) {
@@ -695,8 +648,9 @@ export default {
     resetForm(name) {
       if (this.panduan == '找技术') {
         if (name) {
-          var filterdata = this.jishulist.filter(item => item.name === name);
-          this.$set(this, `jishulist`, filterdata);
+          console.log(name);
+          // var filterdata = this.jishulist.filter(item => item.name === name);
+          // this.$set(this, `jishulist`, filterdata);
         } else {
           this.searchdock();
         }
@@ -1068,11 +1022,17 @@ export default {
 .jiabin .jiabintop a {
   float: right;
 }
+.jiabin .jiabinlist ul {
+  float: left;
+  width: 100%;
+  height: 475px;
+  overflow: auto;
+}
 .jiabin .jiabinlist ul li {
   float: left;
   width: 100%;
   border-bottom: 1px dashed #ff8500;
-  padding: 20px 0;
+  padding: 16px 0;
 }
 .jiabin .jiabinlist ul li:last-child {
   border-bottom: none;
@@ -1096,18 +1056,21 @@ export default {
 
 .jiabin .jiabinlist ul li p span:first-child {
   float: left;
-  width: 65%;
+  width: 70%;
   font-size: 18px;
 }
-
-.jiabin .jiabinlist ul li p span:nth-child(2n) {
-  float: left;
-  width: 35%;
-  font-size: 14px;
-  text-align: right;
-  padding: 2px 0 0 0;
+.jiabin .jiabinlist ul li p span:first-child:hover {
+  cursor: pointer;
 }
 
+// .jiabin .jiabinlist ul li p span:nth-child(2n) {
+//   float: left;
+//   width: 35%;
+//   font-size: 14px;
+//   text-align: right;
+//   padding: 2px 0 0 0;
+// }
+
 .jiabin .jiabinlist ul li p span:last-child {
   float: left;
   width: 100%;
@@ -1115,7 +1078,7 @@ export default {
   color: #888;
   overflow: hidden;
   text-overflow: ellipsis;
-  -webkit-line-clamp: 2;
+  -webkit-line-clamp: 3;
   word-break: break-all;
   display: -webkit-box;
   -webkit-box-orient: vertical;
@@ -1138,14 +1101,20 @@ export default {
   margin: 0;
   padding: 0;
   list-style-type: none;
+  float: left;
+  width: 100%;
+  height: 450px;
+  overflow-y: auto;
+  overflow-x: hidden;
 }
 .luyanList ul li {
   float: left;
   border-radius: 10px;
-  padding: 5px 10px;
-  margin: 0 0 10px 0;
+  padding: 5px;
+  margin: 0 0 12px 0;
   height: 95px;
   border: 1px solid #ff8500;
+  width: 95%;
 }
 
 .luyanList ul li:nth-child(5) {
@@ -1164,13 +1133,20 @@ export default {
 .luyanList ul li p:first-child span:first-child {
   font-size: 18px;
   float: left;
-  width: 80%;
+  width: 70%;
+  height: 30px;
+  line-height: 30px;
+}
+.luyanList ul li p:first-child span:first-child:hover {
+  cursor: pointer;
+  color: #0279d5;
 }
 
 .luyanList ul li p:first-child span:last-child {
   float: left;
-  width: 20%;
-  color: #c20808;
+  width: 30%;
+  height: 30px;
+  line-height: 30px;
 }
 
 .luyanList ul li p:last-child span {

+ 191 - 0
src/views/hall/zxzdxmly/xmlyDetail.vue

@@ -0,0 +1,191 @@
+<template>
+  <div id="zxzdDetail">
+    <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>吉林省计算中心对接直播大厅</p>
+              <p>主办方:吉林省计算中心</p>
+            </el-col>
+            <el-col :span="24" class="main">
+              <el-col :span="24" class="back">
+                <el-button type="primary" size="mini" @click="back()">返回</el-button>
+              </el-col>
+              <el-col :span="24" class="mainMess">
+                <div class="detailtop">
+                  <span>{{ detailinfo.title }}</span>
+                </div>
+                <div class="detailtopleft">
+                  <span>时间:{{ detailinfo.publish_time }}&nbsp;&nbsp;&nbsp;&nbsp;来源:{{ detailinfo.orgin }}</span>
+                </div>
+                <div class="detailimage" v-if="detailinfo.picture">
+                  <img :src="detailinfo.picture" class="detailimg" />
+                </div>
+                <div class="detailVideo">
+                  <video :src="detailinfo.filepath" controls="controls">
+                    您的浏览器不支持 video 标签。
+                  </video>
+                </div>
+                <div class="detailcontext">
+                  <p v-html="detailinfo.content"></p>
+                </div>
+              </el-col>
+            </el-col>
+          </div>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: newsroadshow } = createNamespacedHelpers('newsroadshow');
+export default {
+  name: 'zxzdDetail',
+  props: {},
+  components: {},
+  data: () => ({
+    beijingPic: require('@a/live/top_3.png'),
+    detailinfo: {},
+  }),
+  created() {
+    this.search();
+  },
+  methods: {
+    ...newsroadshow(['fetch']),
+    async search() {
+      let res = await this.fetch(this.id);
+      if (this.$checkRes(res)) {
+        this.$set(this, `detailinfo`, res.data);
+      }
+    },
+    // 返回
+    back() {
+      history.back();
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
+
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</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;
+}
+// .textOver{}
+// 	overflow: hidden;
+// 	text-overflow: ellipsis;
+// 	-webkit-line-clamp: 3;
+// 	word-break: break-all;
+// 	display: -webkit-box;
+//   -webkit-box-orient: vertical;
+//   }
+.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: 700px;
+  background: #fff;
+  padding: 20px 20px;
+  box-shadow: 0 0 2px #ccc;
+  .back {
+    text-align: right;
+  }
+  .mainMess {
+    .detailtop {
+      padding: 20px 0px;
+      font-size: 18px;
+      line-height: 40px;
+      font-weight: normal;
+      text-align: left;
+      margin: 0;
+      text-align: center;
+      color: #005293;
+    }
+
+    .detailtopleft {
+      text-align: center;
+      padding: 0 0 10px 0;
+      border-bottom: 1px solid #ccc;
+      font-size: 16px;
+      color: #666666;
+    }
+
+    .detailimage {
+      text-align: center;
+      padding: 20px 0 0 0;
+    }
+    .detailVideo {
+      float: left;
+      width: 100%;
+      text-align: center;
+      height: 400px;
+      overflow: hidden;
+      margin: 20px 0;
+    }
+    .detailVideo video {
+      height: 400px;
+      width: 50%;
+      border: 1px dashed #ccc;
+    }
+
+    .detailimg {
+      width: 500px;
+      height: 300px;
+    }
+
+    .detailcontext {
+      padding: 20px 0;
+    }
+  }
+}
+</style>

+ 191 - 0
src/views/hall/zxzdxmly/zxzdDetail.vue

@@ -0,0 +1,191 @@
+<template>
+  <div id="zxzdDetail">
+    <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>吉林省计算中心对接直播大厅</p>
+              <p>主办方:吉林省计算中心</p>
+            </el-col>
+            <el-col :span="24" class="main">
+              <el-col :span="24" class="back">
+                <el-button type="primary" size="mini" @click="back()">返回</el-button>
+              </el-col>
+              <el-col :span="24" class="mainMess">
+                <div class="detailtop">
+                  <span>{{ detailinfo.title }}</span>
+                </div>
+                <div class="detailtopleft">
+                  <span>时间:{{ detailinfo.publish_time }}&nbsp;&nbsp;&nbsp;&nbsp;来源:{{ detailinfo.orgin }}</span>
+                </div>
+                <div class="detailimage" v-if="detailinfo.picture">
+                  <img :src="detailinfo.picture" class="detailimg" />
+                </div>
+                <div class="detailVideo">
+                  <video :src="detailinfo.filepath" controls="controls">
+                    您的浏览器不支持 video 标签。
+                  </video>
+                </div>
+                <div class="detailcontext">
+                  <p v-html="detailinfo.content"></p>
+                </div>
+              </el-col>
+            </el-col>
+          </div>
+        </el-col>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: newsguidance } = createNamespacedHelpers('newsguidance');
+export default {
+  name: 'zxzdDetail',
+  props: {},
+  components: {},
+  data: () => ({
+    beijingPic: require('@a/live/top_3.png'),
+    detailinfo: {},
+  }),
+  created() {
+    this.search();
+  },
+  methods: {
+    ...newsguidance(['fetch']),
+    async search() {
+      let res = await this.fetch(this.id);
+      if (this.$checkRes(res)) {
+        this.$set(this, `detailinfo`, res.data);
+      }
+    },
+    // 返回
+    back() {
+      history.back();
+    },
+  },
+  computed: {
+    ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
+
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+};
+</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;
+}
+// .textOver{}
+// 	overflow: hidden;
+// 	text-overflow: ellipsis;
+// 	-webkit-line-clamp: 3;
+// 	word-break: break-all;
+// 	display: -webkit-box;
+//   -webkit-box-orient: vertical;
+//   }
+.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: 700px;
+  background: #fff;
+  padding: 20px 20px;
+  box-shadow: 0 0 2px #ccc;
+  .back {
+    text-align: right;
+  }
+  .mainMess {
+    .detailtop {
+      padding: 20px 0px;
+      font-size: 18px;
+      line-height: 40px;
+      font-weight: normal;
+      text-align: left;
+      margin: 0;
+      text-align: center;
+      color: #005293;
+    }
+
+    .detailtopleft {
+      text-align: center;
+      padding: 0 0 10px 0;
+      border-bottom: 1px solid #ccc;
+      font-size: 16px;
+      color: #666666;
+    }
+
+    .detailimage {
+      text-align: center;
+      padding: 20px 0 0 0;
+    }
+    .detailVideo {
+      float: left;
+      width: 100%;
+      text-align: center;
+      height: 400px;
+      overflow: hidden;
+      margin: 20px 0;
+    }
+    .detailVideo video {
+      height: 400px;
+      width: 50%;
+      border: 1px dashed #ccc;
+    }
+
+    .detailimg {
+      width: 500px;
+      height: 300px;
+    }
+
+    .detailcontext {
+      padding: 20px 0;
+    }
+  }
+}
+</style>