Browse Source

Merge branch 'master' of http://git.cc-lotus.info/live/web-live

lrf402788946 4 years ago
parent
commit
ab5f845254

+ 25 - 0
public/index.html

@@ -6,6 +6,31 @@
     <meta name="viewport" content="width=device-width,initial-scale=1.0">
     <link rel="icon" href="<%= BASE_URL %>favicon.ico">
     <title><%= htmlWebpackPlugin.options.title %></title>
+    <style>
+      /*修改滚动条样式*/
+      div::-webkit-scrollbar {
+        width: 5px;
+        height: 10px;
+      }
+    
+      div::-webkit-scrollbar-track {
+        background: rgb(239, 239, 239);
+        border-radius: 2px;
+      }
+    
+      div::-webkit-scrollbar-thumb {
+        background: #bfbfbf;
+        border-radius: 10px;
+      }
+    
+      div::-webkit-scrollbar-thumb:hover {
+        background: #333;
+      }
+    
+      div::-webkit-scrollbar-corner {
+        background: #179a16;
+      }
+    </style>
   </head>
   <body>
     <noscript>

+ 13 - 0
src/router/index.js

@@ -92,6 +92,19 @@ const live = [
     meta: { title: '直播大厅-展会详情', subSite: true },
     component: () => import('../views/achieveLive/detail.vue'),
   },
+  {
+    path: '/achieveLive/expert/index',
+    name: 'achieveLive_expert',
+    meta: { title: '直播大厅-参展专家', subSite: true },
+    component: () => import('../views/achieveLive/expert/index.vue'),
+  },
+  {
+    path: '/achieveLive/product/index',
+    name: 'achieveLive_product',
+    meta: { title: '直播大厅-参展项目', subSite: true },
+    component: () => import('../views/achieveLive/product/index.vue'),
+  },
+
   {
     path: '/website',
     name: 'website',

+ 8 - 1
src/views/achieveLive/detail/expertData.vue

@@ -25,7 +25,7 @@
               </el-col>
             </el-col>
             <el-col :span="24" class="btn">
-              <el-button type="primary" size="mini">查看更多专家</el-button>
+              <el-button type="primary" size="mini" @click="moreBtn">查看更多专家</el-button>
             </el-col>
           </el-tab-pane>
         </el-tabs>
@@ -64,9 +64,16 @@ export default {
         this.$set(this, `expertList`, res.data);
       }
     },
+    // 查看更多项目
+    moreBtn() {
+      this.$router.push({ path: '/achieveLive/expert/index', query: { dock_id: this.id } });
+    },
   },
   computed: {
     ...mapState(['user']),
+    id() {
+      return this.$route.query.id;
+    },
   },
   watch: {},
 };

+ 141 - 19
src/views/achieveLive/detail/imgtxtData.vue

@@ -5,31 +5,55 @@
         <el-tabs v-model="active" type="card">
           <el-tab-pane label="图文直播" name="first">
             <el-col :span="24" class="first">
-              <el-col :span="24" v-for="(item, index) in imgList" :key="index">
-                <el-col :span="24">
-                  <span>[{{ item.create_time }}]</span>
+              <el-col :span="24" class="imgList" v-for="(item, index) in imgList" :key="index">
+                <el-col :span="24" class="user">
+                  <span>[{{ getDate(item.create_time) }}]</span>
                   <span>展会负责人</span>
+                  <span>
+                    <el-link v-if="item.file_path" :href="item.file_path" target="_blank" :underline="false" class="videoPlay">视频播放</el-link>
+                  </span>
                 </el-col>
-                <el-col :span="24">
+                <el-col :span="24" class="content">
                   {{ item.content }}
                 </el-col>
-                <el-col :span="24">
-                  <el-link v-if="item.file_path" :href="item.file_path" target="_blank" :underline="false" class="videoPlay">视频播放</el-link>
-                </el-col>
-                <el-col :span="24">
-                  <el-image :src="tag.url" class="imagelist" v-for="(tag, tagindex) in item.url" :key="tagindex"></el-image>
+                <el-col :span="24" class="image">
+                  <el-image :src="tag.url" v-for="(tag, tagindex) in item.url" :key="tagindex"></el-image>
                 </el-col>
               </el-col>
             </el-col>
           </el-tab-pane>
           <el-tab-pane label="洽谈合作" name="second">
-            洽谈合作
+            <el-col :span="24" class="second">
+              <el-col :span="24" class="secondList" v-for="(item, index) in secondList" :key="index">
+                <span>[{{ getDate(item.create_time) }}]</span>
+                <span class="textOver">{{ item.d_name }}</span>
+                <span>与</span>
+                <span class="textOver">{{ item.s_name }}</span>
+                <span>{{ getStatus(item.status) }}</span>
+              </el-col>
+            </el-col>
           </el-tab-pane>
           <el-tab-pane label="达成意向" name="third">
-            达成意向
+            <el-col :span="24" class="second">
+              <el-col :span="24" class="secondList" v-for="(item, index) in thirdList" :key="index">
+                <span>[{{ getDate(item.create_time) }}]</span>
+                <span class="textOver">{{ item.d_name }}</span>
+                <span>与</span>
+                <span class="textOver">{{ item.s_name }}</span>
+                <span>{{ getStatus(item.status) }}</span>
+              </el-col>
+            </el-col>
           </el-tab-pane>
           <el-tab-pane label="交易完成" name="fourth">
-            交易完成
+            <el-col :span="24" class="second">
+              <el-col :span="24" class="secondList" v-for="(item, index) in fourthList" :key="index">
+                <span>[{{ getDate(item.create_time) }}]</span>
+                <span class="textOver">{{ item.d_name }}</span>
+                <span>与</span>
+                <span class="textOver">{{ item.s_name }}</span>
+                <span>{{ getStatus(item.status) }}</span>
+              </el-col>
+            </el-col>
           </el-tab-pane>
         </el-tabs>
       </el-col>
@@ -39,7 +63,9 @@
 
 <script>
 import { mapState, createNamespacedHelpers } from 'vuex';
-const { mapActions: interview } = createNamespacedHelpers('interview');
+const { mapActions: dockPw } = createNamespacedHelpers('dockPw');
+const { mapActions: transaction } = createNamespacedHelpers('transaction');
+var moment = require('moment');
 export default {
   metaInfo() {
     return { title: this.$route.meta.title };
@@ -50,15 +76,51 @@ export default {
   data: function() {
     return {
       active: 'first',
+      // 图文列表
       imgList: [],
+      // 正在洽谈
+      secondList: [],
+      // 达成意向
+      thirdList: [],
+      // 交易完成
+      fourthList: [],
     };
   },
   async created() {
     await this.search();
   },
   methods: {
-    ...interview(['query']),
-    async search({ skip = 0, limit = 10, ...info } = {}) {},
+    ...dockPw({ pwQuery: 'query' }),
+    ...transaction({ transQuery: 'query' }),
+    async search({ skip = 0, limit = 10, ...info } = {}) {
+      // 查询图文
+      let res = await this.pwQuery({ skip, dock_id: this.id, ...info });
+      if (this.$checkRes(res)) {
+        this.$set(this, `imgList`, res.data);
+      }
+      // 正在洽谈
+      res = await this.transQuery({ skip, dock_id: this.id, status: '0' });
+      if (this.$checkRes(res)) this.$set(this, `secondList`, res.data);
+      // 达成意向
+      res = await this.transQuery({ skip, dock_id: this.id, status: '1' });
+      if (this.$checkRes(res)) this.$set(this, `thirdList`, res.data);
+      // 交易完成
+      res = await this.transQuery({ skip, dock_id: this.id, status: '3' });
+      if (this.$checkRes(res)) this.$set(this, `fourthList`, res.data);
+    },
+    // 整理时间
+    getDate(val) {
+      let newDate = moment(val).format('hh:mm:ss');
+      if (newDate) return newDate;
+    },
+    // 整理状态
+    getStatus(val) {
+      if (val == '0') return '正在洽谈';
+      else if (val == '1') return '达成意向';
+      else if (val == '2') return '交易备案';
+      else if (val == '3') return '交易完成';
+      else if (val == '4') return '交易失败';
+    },
   },
   computed: {
     ...mapState(['user']),
@@ -72,13 +134,73 @@ export default {
 
 <style lang="less" scoped>
 .style {
-  .info {
+  /deep/.el-tabs__header {
+    margin: 0 0 10px 0;
+  }
+  .first {
     padding: 0 10px;
-    height: 450px;
+    height: 415px;
     overflow-y: auto;
+    .imgList {
+      padding: 10px 0 0 0;
+      border-bottom: 1px dashed #ff0000;
+      .user {
+        margin: 0 0 5px 0;
+        span {
+          font-size: 16px;
+        }
+        span:nth-child(2) {
+          padding: 0 0 0 10px;
+          font-weight: bold;
+        }
+        span:nth-child(3) {
+          padding: 0 0 0 20px;
+          .el-link {
+            font-weight: bold;
+            font-size: 16px;
+            top: -3px;
+          }
+        }
+      }
+      .content {
+        padding: 0 0 10px 0;
+        text-indent: 2rem;
+      }
+      .image {
+        .el-image {
+          width: 100%;
+          height: 250px;
+          margin: 0 0 10px 0;
+        }
+      }
+    }
   }
-  /deep/.el-tabs__header {
-    margin: 0 0 10px 0;
+  .second {
+    padding: 0 10px;
+    height: 415px;
+    overflow-y: auto;
+    .secondList {
+      border-bottom: 1px dashed #ff0000;
+      padding: 10px 0;
+      span {
+        float: left;
+        font-weight: bold;
+        font-size: 16px;
+      }
+      span:nth-child(1) {
+        color: #ff0000;
+      }
+      span:nth-child(2n) {
+        width: 32%;
+        margin: 0 10px 0 10px;
+      }
+      span:nth-child(3) {
+        color: #666;
+      }
+      span:nth-child(5) {
+        float: right;
+      }
+    }
   }
 }
 </style>

+ 6 - 2
src/views/achieveLive/detail/productData.vue

@@ -19,7 +19,7 @@
               </el-col>
             </el-col>
             <el-col :span="24" class="btn">
-              <el-button type="primary" size="mini">查看更多项目</el-button>
+              <el-button type="primary" size="mini" @click="moreBtn('1')">查看更多项目</el-button>
             </el-col>
           </el-tab-pane>
           <el-tab-pane label="科技需求" name="second">
@@ -36,7 +36,7 @@
               </el-col>
             </el-col>
             <el-col :span="24" class="btn">
-              <el-button type="primary" size="mini">查看更多项目</el-button>
+              <el-button type="primary" size="mini" @click="moreBtn('0')">查看更多项目</el-button>
             </el-col>
           </el-tab-pane>
         </el-tabs>
@@ -77,6 +77,10 @@ export default {
       res = await this.productQuery({ skip, limit, type: '0', dock_id: this.id, ...info });
       if (this.$checkRes(res)) this.$set(this, `techolList`, res.data);
     },
+    // 查看更多项目
+    moreBtn(type) {
+      this.$router.push({ path: '/achieveLive/product/index', query: { dock_id: this.id, type } });
+    },
   },
   computed: {
     ...mapState(['user']),

+ 32 - 0
src/views/achieveLive/expert/index.vue

@@ -0,0 +1,32 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24">
+        <p>专家列表</p>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  name: 'index',
+  props: {},
+  components: {},
+  data: function() {
+    return {};
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  watch: {},
+};
+</script>
+
+<style lang="less" scoped></style>

+ 32 - 0
src/views/achieveLive/product/index.vue

@@ -0,0 +1,32 @@
+<template>
+  <div id="index">
+    <el-row>
+      <el-col :span="24">
+        <p>index</p>
+      </el-col>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+export default {
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+  name: 'index',
+  props: {},
+  components: {},
+  data: function() {
+    return {};
+  },
+  created() {},
+  methods: {},
+  computed: {
+    ...mapState(['user']),
+  },
+  watch: {},
+};
+</script>
+
+<style lang="less" scoped></style>