Jelajahi Sumber

Merge branch 'master' of http://git.cc-lotus.info/service-platform/web-test

wuhongyu 5 tahun lalu
induk
melakukan
be062b98db

+ 1 - 1
public/static/liveIndex.html

@@ -51,7 +51,7 @@
 <script language="javascript">
  function btnDirect() {
      var query = window.location.search.substring(1);
-     window.open('/platlive/direct?'+query)
+     window.open('../direct?'+query)
   }
 </script>
 </html>

+ 10 - 4
src/components/parts/chat.vue

@@ -15,10 +15,16 @@
             </p>
           </li>
         </ul>
-        <div class="input">
-          <input v-model="text" />
-          <button type="button" @click="send" class="anniu">发送</button>
-        </div>
+        <!-- <div class="input" > -->
+        <el-row type="flex" :gutter="10" style="padding-top:20px;height:40px;line-height:40px">
+          <el-col :span="20">
+            <el-input v-model="text" size="mini"></el-input>
+          </el-col>
+          <el-col :span="4">
+            <el-button @click="send" size="mini" round style="background: #ff8500;color: #fff;">发送</el-button>
+          </el-col>
+        </el-row>
+        <!-- </div> -->
       </div>
     </el-row>
   </div>

+ 23 - 21
src/layout/enterprise/mainMenu.vue

@@ -1,23 +1,5 @@
 <template>
   <div id="fenlei">
-    <!-- <el-col class="swfl" :span="24">
-      <el-image style="width:22px;height:22px;margin:0 5px -5px 0;" :src="src"></el-image>
-      <span>个人中心</span>
-    </el-col>
-    <el-col>
-      <el-menu default-active="1" class="el-menu-vertical-demo" @open="handleOpen" @close="handleClose" text-color="#215299" active-text-color="#215299">
-        <el-menu-item index="1" v-for="(item, index) in liebiaoList" :key="index">
-          <template v-if="item.name.includes('消息')">
-            <span slot="title" @click="clickUrl(item.name)" :style="`color:${haveMsg ? 'red' : ''}`">
-              {{ item.name }}
-            </span>
-          </template>
-          <template v-else>
-            <span slot="title" @click="clickUrl(item.name)">{{ item.name }}</span>
-          </template>
-        </el-menu-item>
-      </el-menu>
-    </el-col> -->
     <el-col class="menu" :span="24">
       <el-image :src="squareImage"></el-image>
       <span>个人中心</span>
@@ -40,6 +22,8 @@
 </template>
 
 <script>
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: personalChat } = createNamespacedHelpers('personalchat');
 export default {
   name: 'fenlei',
   props: {
@@ -51,13 +35,31 @@ export default {
     squareImage: require('@/assets/live/square_big.png'),
     haveMsg: false,
   }),
-  created() {},
-  computed: {},
+  created() {
+    this.onMessage();
+  },
+  mounted() {
+    this.channel();
+  },
+  computed: {
+    ...mapState(['user']),
+  },
   methods: {
+    ...personalChat({ getChatList: 'query' }),
     clickUrl(id) {
       this.$emit('onsave', { id });
     },
-
+    channel() {
+      this.$stomp({
+        [`/exchange/chat_message/${this.user.uid}`]: this.onMessage,
+      });
+    },
+    async onMessage(message) {
+      let res = await this.getChatList({ status: 0, receiver_id: this.user.uid });
+      if (this.$checkRes(res)) {
+        this.$set(this, `haveMsg`, res.data.length > 0);
+      }
+    },
     handleOpen(key, keyPath) {
       console.log(key, keyPath);
     },

+ 8 - 0
src/router/index.js

@@ -19,6 +19,14 @@ const live = [
         name: 'live_detail',
         component: () => import('../views/detail/detail.vue'),
       },
+      // 专题研讨
+
+      {
+        path: '/live/semDetail',
+        meta: { title: '信息详情', subSite: true },
+        name: 'live_semDetail',
+        component: () => import('../views/detail/semDetail.vue'),
+      },
       // 教育培训
       {
         path: '/live/eduDetail',

+ 131 - 0
src/views/detail/semDetail.vue

@@ -0,0 +1,131 @@
+<template>
+  <div id="semDetail">
+    <el-row>
+      <div class="w_1200">
+        <el-col :span="24" class="semDetail">
+          <el-col :span="24" class="messInfo">
+            <el-col :span="6" class="left">
+              <el-image style="width:100%;height:238px;" v-if="detailinfo.picture" :src="detailinfo.picture"></el-image>
+              <el-image v-else style="width:100%;height:238px;" :src="pic"></el-image>
+              <p>{{ detailinfo.title }}</p>
+              <p>发布时间:{{ detailinfo.publish_time }}</p>
+              <p>来源:{{ detailinfo.orgin }}</p>
+            </el-col>
+            <el-col :span="18" class="right">
+              {{ detailinfo.content }}
+            </el-col>
+          </el-col>
+          <el-col :span="24" class="chatInfo">
+            <el-col :span="24" class="message">
+              显示信息
+            </el-col>
+            <el-col :span="24" class="input">
+              <wang-editor v-model="inputInfo" ref="editor"></wang-editor>
+              <el-button type="primary">发布评论</el-button>
+            </el-col>
+          </el-col>
+        </el-col>
+      </div>
+    </el-row>
+  </div>
+</template>
+
+<script>
+import wangEditor from '@/components/wang-editor.vue';
+import { mapState, createNamespacedHelpers } from 'vuex';
+const { mapActions: news } = createNamespacedHelpers('news');
+export default {
+  name: 'semDetail',
+  props: {},
+  components: {
+    wangEditor,
+  },
+  data: () => ({
+    detailinfo: {},
+    pic: require('@/assets/live/1.jpg'),
+    inputInfo: '',
+  }),
+  created() {
+    this.search();
+  },
+  computed: {
+    id() {
+      return this.$route.query.id;
+    },
+    ...mapState(['user']),
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  methods: {
+    ...news(['fetch']),
+    async search() {
+      const res = await this.fetch(this.id);
+      this.$set(this, `detailinfo`, res.data);
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.w_1200 {
+  width: 80%;
+  margin: 0 auto;
+}
+.semDetail {
+  float: left;
+  width: 100%;
+  min-height: 600px;
+  margin: 30px 0;
+}
+.semDetail .messInfo {
+  float: left;
+  width: 100%;
+  height: 400px;
+  overflow: hidden;
+  border-bottom: 1px solid #ccc;
+}
+.messInfo .left p {
+  float: left;
+  width: 100%;
+  font-size: 18px;
+  padding: 5px 0 10px 0;
+}
+.messInfo .left p:nth-child(2) {
+  font-weight: bold;
+}
+.messInfo .right {
+  font-size: 18px;
+  line-height: 35px;
+  text-indent: 2rem;
+  overflow: hidden;
+  text-overflow: ellipsis;
+  -webkit-line-clamp: 11;
+  word-break: break-all;
+  display: -webkit-box;
+  -webkit-box-orient: vertical;
+  padding: 0 30px;
+}
+.semDetail .chatInfo {
+  float: left;
+  width: 100%;
+  min-height: 400px;
+}
+.chatInfo .message {
+  float: left;
+  border: 1px solid red;
+  height: 400px;
+  overflow: hidden;
+  margin: 0 0 30px 0;
+}
+.chatInfo .input {
+  float: left;
+  height: 400px;
+  overflow: hidden;
+  text-align: center;
+  padding: 0 10%;
+}
+.chatInfo .input .el-button {
+  margin: 20px 0 0 0;
+}
+</style>

+ 242 - 0
src/views/dynamic/index copy.vue

@@ -0,0 +1,242 @@
+<template>
+  <div id="index">
+    <el-col :span="24" class="main">
+      <el-col :span="12" class="left">
+        <el-col :span="1" class="leftTitle">
+          <p>展<br />示<br />成<br />果</p>
+          <p></p>
+        </el-col>
+        <el-col :span="23" class="infoLeft">
+          <el-table :data="resultTable" stripe style="width: 96%" border>
+            <el-table-column prop="time" label="时间"> </el-table-column>
+            <el-table-column prop="name" label="项目名称" :show-overflow-tooltip="true"> </el-table-column>
+            <el-table-column prop="sell_unit" label="营销单位" :show-overflow-tooltip="true"> </el-table-column>
+            <el-table-column prop="buy_unit" label="采购单位" :show-overflow-tooltip="true"> </el-table-column>
+          </el-table>
+        </el-col>
+        <el-col :span="24" class="leftListDown"><span></span><span @click="turnToList('展示成果')">MORE</span></el-col>
+      </el-col>
+      <el-col :span="12" class="right">
+        <el-col :span="24" class="rightListTop"><span @click="turnToList('达成意愿')">MORE</span><span></span></el-col>
+        <el-col :span="23" class="infoRight">
+          <el-table :data="willTable" stripe style="width: 96%" border>
+            <el-table-column prop="time" label="时间"> </el-table-column>
+            <el-table-column prop="name" label="项目名称" :show-overflow-tooltip="true"> </el-table-column>
+            <el-table-column prop="sell_unit" label="营销单位" :show-overflow-tooltip="true"> </el-table-column>
+            <el-table-column prop="buy_unit" label="采购单位" :show-overflow-tooltip="true"> </el-table-column>
+          </el-table>
+        </el-col>
+        <el-col :span="1" class="rightTitle">
+          <p></p>
+          <p>达<br />成<br />意<br />愿</p>
+        </el-col>
+      </el-col>
+      <el-col :span="24">
+        <el-image :src="dongtaiImage" class="dongtaiImage"></el-image>
+      </el-col>
+      <el-col :span="12" class="left">
+        <el-col :span="1" class="leftTitle">
+          <p>洽<br />谈<br />合<br />作</p>
+          <p></p>
+        </el-col>
+        <el-col :span="23" class="infoRight">
+          <el-table :data="cooperationTable" stripe style="width: 96%" border>
+            <el-table-column prop="time" label="时间"> </el-table-column>
+            <el-table-column prop="name" label="项目名称" :show-overflow-tooltip="true"> </el-table-column>
+            <el-table-column prop="sell_unit" label="营销单位" :show-overflow-tooltip="true"> </el-table-column>
+            <el-table-column prop="buy_unit" label="采购单位" :show-overflow-tooltip="true"> </el-table-column>
+          </el-table>
+        </el-col>
+        <el-col :span="24" class="leftListDown"><span></span><span @click="turnToList('洽谈合作')">MORE</span></el-col>
+      </el-col>
+      <el-col :span="12" class="right">
+        <el-col :span="24" class="rightListTop"><span @click="turnToList('发布需求')">MORE</span><span></span></el-col>
+        <el-col :span="23" class="infoLeft">
+          <el-table :data="demandTable" stripe style="width: 96%" border>
+            <el-table-column prop="time" label="时间"> </el-table-column>
+            <el-table-column prop="name" label="项目名称" :show-overflow-tooltip="true"> </el-table-column>
+            <el-table-column prop="sell_unit" label="营销单位" :show-overflow-tooltip="true"> </el-table-column>
+            <el-table-column prop="buy_unit" label="采购单位" :show-overflow-tooltip="true"> </el-table-column>
+          </el-table>
+        </el-col>
+        <el-col :span="1" class="rightTitle">
+          <p></p>
+          <p>发<br />布<br />需<br />求</p>
+        </el-col>
+      </el-col>
+    </el-col>
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'index',
+  props: {},
+  components: {},
+  data: () => ({
+    dongtaiImage: require('@/assets/live/main2.png'),
+    resultTable: [
+      { time: '2020-5-10', name: '测试项目名称测试项目名称', sell_unit: '营销单位营销单位', buy_unit: '采购单位采购单位' },
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+    ],
+    willTable: [
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+      { time: '2020-5-10', name: '十条数据', sell_unit: '营销单位', buy_unit: '采购单位' },
+    ],
+    cooperationTable: [
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+      { time: '2020-5-10', name: '十条数据', sell_unit: '营销单位', buy_unit: '采购单位' },
+    ],
+    demandTable: [
+      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
+      { time: '2020-5-10', name: '十条数据', sell_unit: '营销单位', buy_unit: '采购单位' },
+    ],
+  }),
+  created() {},
+  computed: {
+    pageTitle() {
+      return `${this.$route.meta.title}`;
+    },
+  },
+  metaInfo() {
+    return { title: this.$route.meta.title };
+  },
+
+  methods: {
+    turnToList(column_name) {
+      this.$router.push({ path: '/dynamic/list', query: { column_name: column_name } });
+    },
+  },
+};
+</script>
+
+<style lang="less" scoped>
+.dongtaiImage {
+  width: 100%;
+  height: 100%;
+}
+.main {
+  width: 80%;
+  margin: 0 auto;
+  float: none;
+}
+.left {
+  float: left;
+  height: 500px;
+  margin: 30px 0 30px 0;
+  overflow: hidden;
+}
+.leftTitle {
+  text-align: center;
+  position: relative;
+}
+.leftTitle p:first-child {
+  font-size: 18px;
+  color: #044b79;
+  font-weight: bold;
+}
+.leftTitle p:last-child {
+  float: left;
+  width: 2px;
+  height: 402px;
+  background-color: #044b79;
+  margin: 0 5px;
+  position: absolute;
+  left: 9px;
+}
+.infoLeft {
+  height: 480px;
+  padding: 0 10px;
+}
+.leftListDown {
+  position: relative;
+}
+.leftListDown span:first-child {
+  display: inline-block;
+  width: 80%;
+  height: 3px;
+  background: rgba(4, 75, 121, 0.37);
+  margin: 0 10px 0 0;
+  position: absolute;
+  left: -10px;
+  top: 10px;
+}
+.leftListDown span:last-child {
+  font-size: 16px;
+  float: right;
+  padding: 0 15px 0 0;
+  color: #044b79;
+  font-weight: 700;
+  cursor: pointer;
+}
+.right {
+  float: right;
+  height: 500px;
+  overflow: hidden;
+  margin: 30px 0 30px 0;
+}
+.rightListTop {
+  position: relative;
+}
+.rightListTop span:first-child {
+  font-size: 16px;
+  float: left;
+  padding: 0 0 0 15px;
+  color: #044b79;
+  font-weight: 700;
+  cursor: pointer;
+}
+.rightListTop span:last-child {
+  display: inline-block;
+  width: 80%;
+  height: 3px;
+  background: rgba(4, 75, 121, 0.37);
+  margin: 0 10px 0 0;
+  position: absolute;
+  right: -10px;
+  top: 10px;
+}
+.infoRight {
+  height: 480px;
+  padding: 0 10px;
+}
+.rightTitle {
+  text-align: center;
+}
+.rightTitle p:first-child {
+  width: 2px;
+  height: 370px;
+  background: #044b79;
+  position: relative;
+  left: 10px;
+  top: -20px;
+}
+.rightTitle p:last-child {
+  font-size: 18px;
+  font-weight: bold;
+  color: #044b79;
+}
+/deep/.el-table td {
+  text-align: center;
+  padding: 0;
+  height: 40px;
+}
+/deep/.el-table th {
+  text-align: center;
+  padding: 0;
+  height: 40px;
+}
+/deep/ .el-table {
+  // min-height: 500px;
+  margin: 0 10px 10px 10px;
+  top: 10px;
+}
+</style>

+ 79 - 204
src/views/dynamic/index.vue

@@ -1,70 +1,33 @@
 <template>
   <div id="index">
-    <el-col :span="24" class="main">
-      <el-col :span="12" class="left">
-        <el-col :span="1" class="leftTitle">
-          <p>展<br />示<br />成<br />果</p>
-          <p></p>
-        </el-col>
-        <el-col :span="23" class="infoLeft">
-          <el-table :data="resultTable" stripe style="width: 96%" border>
-            <el-table-column prop="time" label="时间"> </el-table-column>
-            <el-table-column prop="name" label="项目名称" :show-overflow-tooltip="true"> </el-table-column>
-            <el-table-column prop="sell_unit" label="营销单位" :show-overflow-tooltip="true"> </el-table-column>
-            <el-table-column prop="buy_unit" label="采购单位" :show-overflow-tooltip="true"> </el-table-column>
-          </el-table>
-        </el-col>
-        <el-col :span="24" class="leftListDown"><span></span><span @click="turnToList('展示成果')">MORE</span></el-col>
+    <el-row>
+      <el-col :span="24" class="main">
+        <div class="w_1200">
+          <el-col :span="24" class="dataShow">
+            <el-col :span="24" class="top">
+              统计监测
+            </el-col>
+            <el-col :span="8" class="user">
+              平台用户,在线用户
+            </el-col>
+            <el-col :span="8" class="city">
+              举办展示次数,按地区
+            </el-col>
+            <el-col :span="8" class="data">
+              正在洽谈,达成意向,交易成功
+            </el-col>
+          </el-col>
+          <el-col :span="24" class="dealShow">
+            <el-col :span="24" class="top">
+              交易动态
+            </el-col>
+            <el-col :span="24" class="data">
+              数据展示
+            </el-col>
+          </el-col>
+        </div>
       </el-col>
-      <el-col :span="12" class="right">
-        <el-col :span="24" class="rightListTop"><span @click="turnToList('达成意愿')">MORE</span><span></span></el-col>
-        <el-col :span="23" class="infoRight">
-          <el-table :data="willTable" stripe style="width: 96%" border>
-            <el-table-column prop="time" label="时间"> </el-table-column>
-            <el-table-column prop="name" label="项目名称" :show-overflow-tooltip="true"> </el-table-column>
-            <el-table-column prop="sell_unit" label="营销单位" :show-overflow-tooltip="true"> </el-table-column>
-            <el-table-column prop="buy_unit" label="采购单位" :show-overflow-tooltip="true"> </el-table-column>
-          </el-table>
-        </el-col>
-        <el-col :span="1" class="rightTitle">
-          <p></p>
-          <p>达<br />成<br />意<br />愿</p>
-        </el-col>
-      </el-col>
-      <el-col :span="24">
-        <el-image :src="dongtaiImage" class="dongtaiImage"></el-image>
-      </el-col>
-      <el-col :span="12" class="left">
-        <el-col :span="1" class="leftTitle">
-          <p>洽<br />谈<br />合<br />作</p>
-          <p></p>
-        </el-col>
-        <el-col :span="23" class="infoRight">
-          <el-table :data="cooperationTable" stripe style="width: 96%" border>
-            <el-table-column prop="time" label="时间"> </el-table-column>
-            <el-table-column prop="name" label="项目名称" :show-overflow-tooltip="true"> </el-table-column>
-            <el-table-column prop="sell_unit" label="营销单位" :show-overflow-tooltip="true"> </el-table-column>
-            <el-table-column prop="buy_unit" label="采购单位" :show-overflow-tooltip="true"> </el-table-column>
-          </el-table>
-        </el-col>
-        <el-col :span="24" class="leftListDown"><span></span><span @click="turnToList('洽谈合作')">MORE</span></el-col>
-      </el-col>
-      <el-col :span="12" class="right">
-        <el-col :span="24" class="rightListTop"><span @click="turnToList('发布需求')">MORE</span><span></span></el-col>
-        <el-col :span="23" class="infoLeft">
-          <el-table :data="demandTable" stripe style="width: 96%" border>
-            <el-table-column prop="time" label="时间"> </el-table-column>
-            <el-table-column prop="name" label="项目名称" :show-overflow-tooltip="true"> </el-table-column>
-            <el-table-column prop="sell_unit" label="营销单位" :show-overflow-tooltip="true"> </el-table-column>
-            <el-table-column prop="buy_unit" label="采购单位" :show-overflow-tooltip="true"> </el-table-column>
-          </el-table>
-        </el-col>
-        <el-col :span="1" class="rightTitle">
-          <p></p>
-          <p>发<br />布<br />需<br />求</p>
-        </el-col>
-      </el-col>
-    </el-col>
+    </el-row>
   </div>
 </template>
 
@@ -73,170 +36,82 @@ export default {
   name: 'index',
   props: {},
   components: {},
-  data: () => ({
-    dongtaiImage: require('@/assets/live/main2.png'),
-    resultTable: [
-      { time: '2020-5-10', name: '测试项目名称测试项目名称', sell_unit: '营销单位营销单位', buy_unit: '采购单位采购单位' },
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-    ],
-    willTable: [
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-      { time: '2020-5-10', name: '十条数据', sell_unit: '营销单位', buy_unit: '采购单位' },
-    ],
-    cooperationTable: [
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-      { time: '2020-5-10', name: '十条数据', sell_unit: '营销单位', buy_unit: '采购单位' },
-    ],
-    demandTable: [
-      { time: '2020-5-10', name: '测试项目名称', sell_unit: '营销单位', buy_unit: '采购单位' },
-      { time: '2020-5-10', name: '十条数据', sell_unit: '营销单位', buy_unit: '采购单位' },
-    ],
-  }),
+  data: () => ({}),
   created() {},
-  computed: {
-    pageTitle() {
-      return `${this.$route.meta.title}`;
-    },
-  },
-  metaInfo() {
-    return { title: this.$route.meta.title };
-  },
-
-  methods: {
-    turnToList(column_name) {
-      this.$router.push({ path: '/dynamic/list', query: { column_name: column_name } });
-    },
-  },
+  computed: {},
+  methods: {},
 };
 </script>
 
 <style lang="less" scoped>
-.dongtaiImage {
-  width: 100%;
-  height: 100%;
-}
-.main {
+.w_1200 {
   width: 80%;
   margin: 0 auto;
-  float: none;
 }
-.left {
+.main {
+  float: left;
+  width: 100%;
+  margin: 20px 0;
+  min-height: 600px;
+}
+.dataShow {
   float: left;
+  width: 100%;
   height: 500px;
-  margin: 30px 0 30px 0;
   overflow: hidden;
+  margin: 0 0 30px 0;
+  border: 1px solid red;
 }
-.leftTitle {
-  text-align: center;
-  position: relative;
-}
-.leftTitle p:first-child {
+.dataShow .top {
+  float: left;
+  width: 100%;
+  height: 40px;
+  line-height: 40px;
   font-size: 18px;
-  color: #044b79;
+  padding: 0 15px;
   font-weight: bold;
 }
-.leftTitle p:last-child {
-  float: left;
-  width: 2px;
-  height: 402px;
-  background-color: #044b79;
-  margin: 0 5px;
-  position: absolute;
-  left: 9px;
-}
-.infoLeft {
-  height: 480px;
-  padding: 0 10px;
-}
-.leftListDown {
-  position: relative;
+.dataShow .user {
+  width: 32%;
+  height: 460px;
+  overflow: hidden;
+  border: 1px solid red;
+  margin: 0 30px 0 0;
 }
-.leftListDown span:first-child {
-  display: inline-block;
-  width: 80%;
-  height: 3px;
-  background: rgba(4, 75, 121, 0.37);
-  margin: 0 10px 0 0;
-  position: absolute;
-  left: -10px;
-  top: 10px;
+.dataShow .city {
+  width: 32%;
+  height: 460px;
+  overflow: hidden;
+  border: 1px solid red;
+  margin: 0 30px 0 0;
 }
-.leftListDown span:last-child {
-  font-size: 16px;
-  float: right;
-  padding: 0 15px 0 0;
-  color: #044b79;
-  font-weight: 700;
-  cursor: pointer;
+.dataShow .data {
+  width: 32%;
+  height: 460px;
+  overflow: hidden;
+  border: 1px solid red;
+  margin: 0;
 }
-.right {
-  float: right;
+.dealShow {
+  float: left;
+  width: 100%;
   height: 500px;
   overflow: hidden;
-  margin: 30px 0 30px 0;
-}
-.rightListTop {
-  position: relative;
+  border: 1px solid blue;
 }
-.rightListTop span:first-child {
-  font-size: 16px;
+.dealShow .top {
   float: left;
-  padding: 0 0 0 15px;
-  color: #044b79;
-  font-weight: 700;
-  cursor: pointer;
-}
-.rightListTop span:last-child {
-  display: inline-block;
-  width: 80%;
-  height: 3px;
-  background: rgba(4, 75, 121, 0.37);
-  margin: 0 10px 0 0;
-  position: absolute;
-  right: -10px;
-  top: 10px;
-}
-.infoRight {
-  height: 480px;
-  padding: 0 10px;
-}
-.rightTitle {
-  text-align: center;
-}
-.rightTitle p:first-child {
-  width: 2px;
-  height: 370px;
-  background: #044b79;
-  position: relative;
-  left: 10px;
-  top: -20px;
-}
-.rightTitle p:last-child {
+  width: 100%;
+  height: 40px;
+  line-height: 40px;
   font-size: 18px;
+  padding: 0 15px;
   font-weight: bold;
-  color: #044b79;
 }
-/deep/.el-table td {
-  text-align: center;
-  padding: 0;
-  height: 40px;
-}
-/deep/.el-table th {
-  text-align: center;
-  padding: 0;
-  height: 40px;
-}
-/deep/ .el-table {
-  // min-height: 500px;
-  margin: 0 10px 10px 10px;
-  top: 10px;
+.dealShow .data {
+  height: 460px;
+  overflow: hidden;
+  border: 1px solid red;
+  margin: 0;
 }
 </style>

+ 34 - 7
src/views/hall/hallDetail.vue

@@ -117,7 +117,6 @@ export default {
     info: {},
     buyerList: [],
     sellerList: [],
-    sending: true,
     text: '',
   }),
   created() {
@@ -145,9 +144,9 @@ export default {
         this.$message.error('游客不能发言,请先注册');
         return;
       }
-      this.$set(this, `sending`, false);
+      if (!this.checkUser()) return;
       if (this.content != '') {
-        let object = { number: this.id, sender_name: this.user.name, content: this.content };
+        let object = { number: this.id, sender_name: this.user.name, content: this.content, role: this.user.role };
         if (this.user.uid) object.sender_id = this.user.uid;
         let res = await this.create(object);
         this.$refs.editor.setContent();
@@ -155,7 +154,6 @@ export default {
         this.$forceUpdate();
         this.$checkRes(res, null, res.errmsg || '发言失败');
       } else this.$message.error('请输入信息后发送');
-      this.$set(this, `sending`, true);
     },
     channel() {
       this.$stomp({
@@ -167,15 +165,44 @@ export default {
       let body = _.get(message, 'body');
       if (body) {
         body = JSON.parse(body);
-        let is_seller = this.sellerList.find(f => f.user_id == body.sender_id);
-        if (is_seller) this.mainTalk.push({ id: body._id, sender_name: body.sender_name, send_time: body.send_time, content: body.content });
-        else this.otherTalk.push({ id: body._id, sender_name: body.sender_name, send_time: body.send_time, content: body.content });
+        if (body.role == '5' || body.role == '1')
+          this.mainTalk.push({ id: body._id, sender_name: body.sender_name, send_time: body.send_time, content: body.content });
+        else {
+          let is_seller = this.sellerList.find(f => f.user_id == body.sender_id);
+          if (is_seller) this.mainTalk.push({ id: body._id, sender_name: body.sender_name, send_time: body.send_time, content: body.content });
+          else this.otherTalk.push({ id: body._id, sender_name: body.sender_name, send_time: body.send_time, content: body.content });
+        }
         this.$nextTick(() => {
           document.getElementById('chatBuy').scrollTop = document.getElementById('chatBuy').scrollHeight + 150;
           document.getElementById('chatSell').scrollTop = document.getElementById('chatSell').scrollHeight + 150;
         });
       }
     },
+    checkUser() {
+      let result = true;
+      if (this.user.role == '5' || this.user.role == '1') return result;
+      else {
+        let res = this.buyerList.find(f => f.user_id == this.user.uid);
+        if (!res) {
+          res = this.sellerList.find(f => f.user_id == this.user.uid);
+          if (!res) {
+            this.$message.error('您没有参与这场对接会,无法发言');
+            result = false;
+          } else {
+            if (res.status != '1') {
+              this.$message.error('您没有通过审核,无法发言');
+              result = false;
+            }
+          }
+        } else {
+          if (res.status != '1') {
+            this.$message.error('您没有通过审核,无法发言');
+            result = false;
+          }
+        }
+      }
+      return result;
+    },
   },
   computed: {
     ...mapState(['user']),

+ 4 - 5
src/views/hall/parts/chat.vue

@@ -52,11 +52,10 @@ export default {
       if (this.$checkRes(res)) this.$set(this, `list`, _.reverse(res.data));
     },
     async send() {
-      console.log('in function:');
-      // if (!this.user.uid) {
-      //   this.$message.error('游客不能发言,请先注册');
-      //   return;
-      // }
+      if (!this.user.uid) {
+        this.$message.error('游客不能发言,请先注册');
+        return;
+      }
       if (this.text != '') {
         let object = { sender_name: this.user.name, content: this.text };
         if (this.user.uid) object.sender_id = this.user.uid;

+ 2 - 3
src/views/login.vue

@@ -27,11 +27,10 @@ export default {
     ...login({ toLogin: 'login' }),
     async submitLogin(form) {
       let res = await this.toLogin({ user: form });
-      console.log(res);
       if (res.uid) {
-        if (res.role == 2 || res.role == 3) this.$router.push('/');
+        if (res.role == '2' || res.role == '3') this.$router.push('/market/index');
+        else if (res.role == '5') this.$router.push('/hallList/index');
         else this.$router.push('/enterprise/enterprisejb');
-        // else window.location.href = 'http://free.liaoningdoupo.com/platlive/home.html';
       }
     },
     async submitRegister(forms) {

+ 1 - 1
src/views/technical/index.vue

@@ -17,7 +17,7 @@
           <el-col class="infoLeftList" :span="24" v-for="(item, index) in zhuantiList" :key="index">
             <p>{{ item.publish_time }}</p>
             <p>
-              <span @click="$router.push({ path: '/live/detail', query: { id: item.id } })" class="textOver">{{ item.title }}</span>
+              <span @click="$router.push({ path: '/live/semDetail', query: { id: item.id } })" class="textOver">{{ item.title }}</span>
               <span>{{ item.content }}</span>
             </p>
           </el-col>

+ 1 - 6
src/views/technical/list.vue

@@ -133,7 +133,6 @@ export default {
         this.$set(this, `zhuantiList`, res.data);
       } else if (name == '专家问诊') {
         res = await this.query({ skip, limit, column_name: '技术问答', ...info });
-        console.log(res);
         this.$set(this, `jishuList`, res.data);
       } else if (name == '行业研究') {
         res = await this.query({ skip, limit, column_name: '行业研究', ...info });
@@ -154,20 +153,16 @@ export default {
     },
     clickzhuanti(id) {
       this.$router.push({ path: '/live/detail', query: { id: id } });
-      console.log(id);
     },
     clickjishu(id) {
       this.$router.push({ path: '/live/detail', query: { id: id } });
-      console.log(id);
     },
     clickhangye(id) {
       this.$router.push({ path: '/live/detail', query: { id: id } });
-      console.log(id);
     },
 
     clickjiaoyu(id) {
-      this.$router.push({ path: '/live/detail', query: { id: id } });
-      console.log(id);
+      this.$router.push({ path: '/live/eduDetail', query: { id: id } });
     },
   },
 };