guhongwei пре 4 година
родитељ
комит
c7ffa4a2cf
2 измењених фајлова са 66 додато и 26 уклоњено
  1. 24 2
      src/App.vue
  2. 42 24
      src/views/hall/direct.vue

+ 24 - 2
src/App.vue

@@ -1,9 +1,31 @@
 <template>
   <div id="app">
-    <router-view />
+    <router-view v-if="alive" />
   </div>
 </template>
-
+<script>
+export default {
+  name: 'App',
+  provide() {
+    return {
+      reload: this.reload,
+    };
+  },
+  data() {
+    return {
+      alive: true,
+    };
+  },
+  methods: {
+    reload() {
+      this.alive = false;
+      this.$nextTick(() => {
+        this.alive = true;
+      });
+    },
+  },
+};
+</script>
 <style lang="less">
 body {
   margin: 0;

+ 42 - 24
src/views/hall/direct.vue

@@ -412,6 +412,7 @@ import _ from 'loadsh';
 export default {
   name: 'hall',
   props: {},
+  inject: ['reload'],
   filters: {
     getDate(meta) {
       let createdAt = _.get(meta, `createdAt`);
@@ -491,13 +492,13 @@ export default {
     videoList: 'first',
     // // 视频是否显示
     // viewvideo: 'text',
-    times: 300,
+    times: 5,
   }),
   async created() {
     this.$set(this, `dock_id`, this.$route.query.id);
     // 对接会详情
+    await this.dockdetail();
     await this.searchdock();
-    this.daojishi();
   },
   methods: {
     ...mapProduct({ mapProductQuery: 'newquery' }),
@@ -510,32 +511,31 @@ export default {
     // 查询详情
     async searchdock() {
       // 标题
+      // 参展项目
       let res = await this.dockFetch(this.dock_id);
       if (this.$checkRes(res)) {
         // 对接会详情
-        this.$set(this, `dockInfo`, res.data);
+        // this.$set(this, `dockInfo`, res.data);
         // 对接会创建人id
         this.$set(this, `user_id`, res.data.user_id);
-        // 参展项目
-        let czxm = res.data.apply.map(item => item.goodsList);
-        // let czxm = res.data.map(item => item.apply.map(apply => apply.goodsList));
-        czxm = _.flattenDeep(czxm);
-        var czxmNew = czxm.filter(item => item.dockStatus == '1');
-        this.$set(this.statNum, `czxm`, czxmNew.length);
-        // 找技术
-        var jishuData = czxmNew.filter(item => item.type === '0');
-        this.$set(this, `jishulist`, jishuData);
-        // 找产品
-        var chanpinData = czxmNew.filter(item => item.type === '1');
-        console.log(chanpinData);
-        this.$set(this, `demandList`, chanpinData);
-        // 找服务
-        var fuwuData = czxmNew.filter(item => item.type === '2');
-        this.$set(this, `serviceList`, fuwuData);
-        // 找专家
-        let exportdata = await this.expertQuery({ role: 6, limit: '6' });
-        if (this.$checkRes(exportdata)) this.$set(this, `expertList`, exportdata.data);
       }
+      let czxm = res.data.apply.map(item => item.goodsList);
+      // let czxm = res.data.map(item => item.apply.map(apply => apply.goodsList));
+      czxm = _.flattenDeep(czxm);
+      var czxmNew = czxm.filter(item => item.dockStatus == '1');
+      this.$set(this.statNum, `czxm`, czxmNew.length);
+      // 找技术
+      var jishuData = czxmNew.filter(item => item.type === '0');
+      this.$set(this, `jishulist`, jishuData);
+      // 找产品
+      var chanpinData = czxmNew.filter(item => item.type === '1');
+      this.$set(this, `demandList`, chanpinData);
+      // 找服务
+      var fuwuData = czxmNew.filter(item => item.type === '2');
+      this.$set(this, `serviceList`, fuwuData);
+      // 找专家
+      let exportdata = await this.expertQuery({ role: 6, limit: '6' });
+      if (this.$checkRes(exportdata)) this.$set(this, `expertList`, exportdata.data);
       // 查询特邀嘉宾
       let arr = await this.expertQuery({ role: 6 });
       this.$set(this.statNum, `tyjb`, arr.data.length);
@@ -694,7 +694,6 @@ export default {
       let body = _.get(message, 'body');
       if (body) {
         body = JSON.parse(body);
-        console.log(body);
         body.date = moment(body.meta.createdAt).format('YYYY-MM-DD hh:mm');
         this.lunboList.push(body);
         this.text = '';
@@ -720,12 +719,21 @@ export default {
       else if (status == '4') return '交易待确定';
       else return '暂无';
     },
+    async dockdetail() {
+      let res = await this.dockFetch(this.dock_id);
+      if (this.$checkRes(res)) {
+        // 对接会详情
+        this.$set(this, `dockInfo`, res.data);
+      }
+    },
     // 文字/视频倒计时
     daojishi() {
       this.timer = setInterval(() => {
         this.times--;
         if (this.times === 0) {
-          location.reload();
+          this.dockdetail();
+          // this.reload();
+          this.times = 5;
           clearInterval(this.timer);
         }
       }, 1000);
@@ -743,6 +751,16 @@ export default {
   metaInfo() {
     return { title: this.$route.meta.title };
   },
+  watch: {
+    times: {
+      handler(val) {
+        if (val == 5) {
+          this.daojishi();
+        }
+      },
+      immediate: true,
+    },
+  },
 };
 </script>