|
@@ -14,10 +14,27 @@
|
|
|
</el-col>
|
|
|
</el-col>
|
|
|
<el-col :span="24" class="chat">
|
|
|
- 聊天
|
|
|
+ <van-tabs v-model="chatactive" type="card" animated>
|
|
|
+ <van-tab title="图文直播">
|
|
|
+ <textVideo :list="lunboList"></textVideo>
|
|
|
+ </van-tab>
|
|
|
+ <van-tab title="公共聊天">
|
|
|
+ <chat></chat>
|
|
|
+ </van-tab>
|
|
|
+ </van-tabs>
|
|
|
</el-col>
|
|
|
<el-col :span="24" class="market">
|
|
|
- 科技超市
|
|
|
+ <van-tabs v-model="marketactive" type="card" animated>
|
|
|
+ <van-tab title="技术成果">
|
|
|
+ 技术成果
|
|
|
+ </van-tab>
|
|
|
+ <van-tab title="科技需求">
|
|
|
+ 科技需求
|
|
|
+ </van-tab>
|
|
|
+ <van-tab title="专家智库">
|
|
|
+ 专家智库
|
|
|
+ </van-tab>
|
|
|
+ </van-tabs>
|
|
|
</el-col>
|
|
|
<el-col :span="24" class="jbxm">
|
|
|
<van-tabs v-model="jbxmactive" type="card" animated>
|
|
@@ -74,14 +91,23 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+// 图文直播
|
|
|
+import textVideo from '@/components/parts/textVideo.vue';
|
|
|
+// 公共聊天
|
|
|
+import chat from '@/components/parts/chat.vue';
|
|
|
import { mapState, createNamespacedHelpers } from 'vuex';
|
|
|
const { mapActions: dock } = createNamespacedHelpers('dock');
|
|
|
+const { mapActions: marketuser } = createNamespacedHelpers('marketuser');
|
|
|
const { mapActions: newsguidance } = createNamespacedHelpers('newsguidance');
|
|
|
const { mapActions: newsroadshow } = createNamespacedHelpers('newsroadshow');
|
|
|
+import moment from 'moment';
|
|
|
export default {
|
|
|
name: 'videoDetail2',
|
|
|
props: {},
|
|
|
- components: {},
|
|
|
+ components: {
|
|
|
+ textVideo,
|
|
|
+ chat,
|
|
|
+ },
|
|
|
data: function() {
|
|
|
return {
|
|
|
// 展会id
|
|
@@ -92,6 +118,12 @@ export default {
|
|
|
times: 5,
|
|
|
//展会详情
|
|
|
dockinfo: [],
|
|
|
+ // 聊天
|
|
|
+ chatactive: 1,
|
|
|
+ // 图文直播
|
|
|
+ lunboList: [],
|
|
|
+ // 科技超市
|
|
|
+ marketactive: 0,
|
|
|
// 嘉宾,项目
|
|
|
jbxmactive: 0,
|
|
|
// 嘉宾访谈
|
|
@@ -105,9 +137,11 @@ export default {
|
|
|
this.$set(this, `dock_id`, this.id);
|
|
|
}
|
|
|
await this.search();
|
|
|
+ await this.seachLunbo();
|
|
|
},
|
|
|
methods: {
|
|
|
...dock({ dockQuery: 'query', dockFetch: 'fetch' }),
|
|
|
+ ...marketuser({ operaFetch: 'operaFetch' }),
|
|
|
...newsguidance({ danceQuery: 'query' }),
|
|
|
...newsroadshow({ newsroadshowquery: 'query' }),
|
|
|
// 查询
|
|
@@ -123,6 +157,18 @@ export default {
|
|
|
let xmly = await this.newsroadshowquery({ dock_id: this.id });
|
|
|
if (this.$checkRes(xmly)) this.$set(this, `xmlyList`, xmly.data);
|
|
|
},
|
|
|
+ // 查询图文直播
|
|
|
+ // 查询图文直播
|
|
|
+ async seachLunbo() {
|
|
|
+ let res = await this.operaFetch({ dockid: this.id });
|
|
|
+ for (const val of res.data) {
|
|
|
+ var date = moment(val.meta.createdAt).format('YYYY-MM-DD hh:mm');
|
|
|
+ val.date = date;
|
|
|
+ }
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
+ this.$set(this, `lunboList`, res.data);
|
|
|
+ }
|
|
|
+ },
|
|
|
//倒计时查询展会视频详情
|
|
|
counttime() {
|
|
|
this.timer = setInterval(() => {
|
|
@@ -177,7 +223,6 @@ export default {
|
|
|
.video {
|
|
|
height: 215px;
|
|
|
overflow: hidden;
|
|
|
-
|
|
|
.back {
|
|
|
position: fixed;
|
|
|
i {
|
|
@@ -207,12 +252,18 @@ export default {
|
|
|
}
|
|
|
// 聊天
|
|
|
.chat {
|
|
|
+ margin: 15px 0 0 0;
|
|
|
+ height: 400px;
|
|
|
+ overflow: hidden;
|
|
|
+ // border: 1px solid red;
|
|
|
}
|
|
|
// 科技超市
|
|
|
.market {
|
|
|
+ margin: 15px 0 0 0;
|
|
|
}
|
|
|
// 嘉宾,项目
|
|
|
.jbxm {
|
|
|
+ margin: 15px 0 0 0;
|
|
|
height: 500px;
|
|
|
overflow: hidden;
|
|
|
margin-bottom: 20px;
|