|
@@ -12,43 +12,68 @@
|
|
<el-button type="warning" round @click="full()" size="mini"><i class="el-icon-rank"></i></el-button>
|
|
<el-button type="warning" round @click="full()" size="mini"><i class="el-icon-rank"></i></el-button>
|
|
</div>
|
|
</div>
|
|
</van-overlay>
|
|
</van-overlay>
|
|
- <el-row>
|
|
|
|
|
|
+ <el-row class="chatrow">
|
|
<el-col :span="24" class="info">
|
|
<el-col :span="24" class="info">
|
|
- <el-col :span="24" class="title">
|
|
|
|
- <span>{{ roomInfos.title }}</span>
|
|
|
|
- </el-col>
|
|
|
|
<el-col :span="24" class="num">
|
|
<el-col :span="24" class="num">
|
|
<span>观看:{{ total }}</span>
|
|
<span>观看:{{ total }}</span>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :span="24" class="advert">
|
|
|
|
- <el-col :span="24">
|
|
|
|
- <van-swipe :autoplay="3000">
|
|
|
|
- <van-swipe-item v-for="(advert, index) in roomInfos.adverts" :key="index">
|
|
|
|
- <img width="100%" height="100px" v-lazy="advert.imgdir" @click="imgclick(advert.imgurl)" />
|
|
|
|
- </van-swipe-item>
|
|
|
|
- </van-swipe>
|
|
|
|
- </el-col>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="24" class="chat">
|
|
|
|
- <el-col :span="24" class="chatInfo" id="chatSell">
|
|
|
|
- <el-col :span="24" class="list" v-for="(item, index) in dataList" :key="index">
|
|
|
|
- <p>
|
|
|
|
- <span :class="item.sendname == user.name ? 'selfColor' : ''">{{ item.sendname }}:</span>
|
|
|
|
- <span>{{ item.content }}</span>
|
|
|
|
- </p>
|
|
|
|
- </el-col>
|
|
|
|
- </el-col>
|
|
|
|
- <el-col :span="24" class="submit">
|
|
|
|
- <el-col :span="19" class="input">
|
|
|
|
- <el-input type="textarea" maxlength="5000" show-word-limit v-model="content"></el-input>
|
|
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-row>
|
|
|
|
+ <van-tabs type="card" @click="tabsClick">
|
|
|
|
+ <van-tab title="会议简介">
|
|
|
|
+ <van-col :span="24">
|
|
|
|
+ <van-col class="content">{{ roomInfos.content }}</van-col>
|
|
|
|
+ </van-col>
|
|
|
|
+ <van-col :span="24">
|
|
|
|
+ <van-swipe :autoplay="3000">
|
|
|
|
+ <van-swipe-item v-for="(advert, index) in roomInfos.adverts" :key="index">
|
|
|
|
+ <img width="100%" height="100px" v-lazy="advert.imgdir" @click="imgclick(advert.imgurl)" />
|
|
|
|
+ </van-swipe-item>
|
|
|
|
+ </van-swipe>
|
|
|
|
+ </van-col>
|
|
|
|
+ </van-tab>
|
|
|
|
+ <van-tab title="互动留言">
|
|
|
|
+ <el-row>
|
|
|
|
+ <el-col :span="24" class="info">
|
|
|
|
+ <el-col :span="24" class="chat">
|
|
|
|
+ <el-col :span="24" class="chatInfo" id="chatSell">
|
|
|
|
+ <el-col :span="24" class="list" v-for="(item, index) in dataList" :key="index">
|
|
|
|
+ <p>
|
|
|
|
+ <span :class="item.sendname == user.name ? 'selfColor' : ''">{{ item.sendname }}:</span>
|
|
|
|
+ <span>{{ item.content }}</span>
|
|
|
|
+ </p>
|
|
|
|
+ </el-col>
|
|
|
|
+ </el-col>
|
|
</el-col>
|
|
</el-col>
|
|
- <el-col :span="5" class="btn">
|
|
|
|
- <el-button type="primary" size="mini" @click="chatCreate">发送</el-button>
|
|
|
|
|
|
+ <el-col :span="24" class="submit">
|
|
|
|
+ <el-col :span="19" class="input">
|
|
|
|
+ <el-input type="textarea" maxlength="5000" show-word-limit v-model="content"></el-input>
|
|
|
|
+ </el-col>
|
|
|
|
+ <el-col :span="5" class="btn">
|
|
|
|
+ <el-button type="primary" size="mini" @click="chatCreate">发送</el-button>
|
|
|
|
+ </el-col>
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
</el-col>
|
|
- </el-col>
|
|
|
|
- </el-col>
|
|
|
|
- </el-row>
|
|
|
|
|
|
+ </el-row>
|
|
|
|
+ </van-tab>
|
|
|
|
+ <van-tab title="参与成员">
|
|
|
|
+ <van-col :span="24" class="userList">
|
|
|
|
+ <van-grid :column-num="3">
|
|
|
|
+ <van-grid-item v-for="(item, index) in userList" :key="index" icon="manager" :text="item.username" />
|
|
|
|
+ </van-grid>
|
|
|
|
+ </van-col>
|
|
|
|
+ </van-tab>
|
|
|
|
+ <van-tab title="申请评分">
|
|
|
|
+ <van-col :span="24">
|
|
|
|
+ <van-field v-model="isxf" name="isxf" left-icon="star-o" label="学分" placeholder="请填写需要授予学分" />
|
|
|
|
+ </van-col>
|
|
|
|
+ <van-col :span="24">
|
|
|
|
+ <van-button icon="star-o" type="primary" @click="sqClick">
|
|
|
|
+ 申请
|
|
|
|
+ </van-button>
|
|
|
|
+ </van-col>
|
|
|
|
+ </van-tab>
|
|
|
|
+ </van-tabs>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -95,6 +120,8 @@ export default {
|
|
dataList: [],
|
|
dataList: [],
|
|
lvideoid_: '',
|
|
lvideoid_: '',
|
|
rvideoid_: '',
|
|
rvideoid_: '',
|
|
|
|
+ userList: [],
|
|
|
|
+ isxf: '',
|
|
};
|
|
};
|
|
},
|
|
},
|
|
created() {
|
|
created() {
|
|
@@ -106,10 +133,50 @@ export default {
|
|
mounted() {
|
|
mounted() {
|
|
this.channel();
|
|
this.channel();
|
|
},
|
|
},
|
|
|
|
+ destroyed() {
|
|
|
|
+ const that = this;
|
|
|
|
+ window.addEventListener('pagehide', function() {
|
|
|
|
+ console.log('页面要关闭了');
|
|
|
|
+ that.recordSave();
|
|
|
|
+ });
|
|
|
|
+ },
|
|
methods: {
|
|
methods: {
|
|
...gensign(['gensignFetch']),
|
|
...gensign(['gensignFetch']),
|
|
- ...room(['lookuserFetch', 'fetch', 'lookusercount']),
|
|
|
|
|
|
+ ...room(['lookuserFetch', 'fetch', 'lookusercount', 'lookquery', 'lookupdate', 'lookrecord']),
|
|
...chat(['query', 'create']),
|
|
...chat(['query', 'create']),
|
|
|
|
+ async recordSave() {
|
|
|
|
+ let data = {};
|
|
|
|
+ data.type = '1';
|
|
|
|
+ data.roomid = this.id;
|
|
|
|
+ data.roomname = this.roomname;
|
|
|
|
+ data.userid = this.user.uid;
|
|
|
|
+ data.username = this.user.name;
|
|
|
|
+ const res = await this.lookrecord(data);
|
|
|
|
+ },
|
|
|
|
+ async sqClick() {
|
|
|
|
+ let data = {};
|
|
|
|
+ data.roomid = this.id;
|
|
|
|
+ data.isxf = this.isxf;
|
|
|
|
+ data.userid = this.user.uid;
|
|
|
|
+ const res = await this.lookupdate(data);
|
|
|
|
+ if (this.$checkRes(res)) {
|
|
|
|
+ console.log(res.data);
|
|
|
|
+ this.$message({
|
|
|
|
+ message: '操作成功',
|
|
|
|
+ type: 'success',
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ async tabsClick(name, title) {
|
|
|
|
+ if (title === '参与成员') {
|
|
|
|
+ this.lookuserQuery();
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ async lookuserQuery({ skip = 0, limit = 1000 } = {}) {
|
|
|
|
+ const info = { roomid: this.id };
|
|
|
|
+ let res = await this.lookquery({ skip, limit, ...info });
|
|
|
|
+ this.$set(this, `userList`, res.data);
|
|
|
|
+ },
|
|
async chatSearch({ skip = 0, limit = 1000 } = {}) {
|
|
async chatSearch({ skip = 0, limit = 1000 } = {}) {
|
|
const info = { roomid: this.id };
|
|
const info = { roomid: this.id };
|
|
let res = await this.query({ skip, limit, ...info });
|
|
let res = await this.query({ skip, limit, ...info });
|
|
@@ -143,7 +210,7 @@ export default {
|
|
this.content = '';
|
|
this.content = '';
|
|
}
|
|
}
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
- //document.getElementById('chatSell').scrollTop = document.getElementById('chatSell').scrollHeight + 275;
|
|
|
|
|
|
+ document.getElementById('chatSell').scrollTop = document.getElementById('chatSell').scrollHeight + 275;
|
|
});
|
|
});
|
|
},
|
|
},
|
|
async lookuserSearch() {
|
|
async lookuserSearch() {
|
|
@@ -319,6 +386,9 @@ export default {
|
|
width: 100%;
|
|
width: 100%;
|
|
height: 200px;
|
|
height: 200px;
|
|
}
|
|
}
|
|
|
|
+.content {
|
|
|
|
+ padding: 10px;
|
|
|
|
+}
|
|
.info {
|
|
.info {
|
|
.title {
|
|
.title {
|
|
text-align: center;
|
|
text-align: center;
|
|
@@ -335,9 +405,11 @@ export default {
|
|
padding: 10px;
|
|
padding: 10px;
|
|
}
|
|
}
|
|
.chat {
|
|
.chat {
|
|
- height: 260px;
|
|
|
|
|
|
+ height: 380px;
|
|
|
|
+ min-height: 380px;
|
|
.chatInfo {
|
|
.chatInfo {
|
|
- height: 185px;
|
|
|
|
|
|
+ height: 280px;
|
|
|
|
+ min-height: 280px;
|
|
overflow-y: auto;
|
|
overflow-y: auto;
|
|
padding: 0 10px;
|
|
padding: 0 10px;
|
|
margin: 0 0 10px 0;
|
|
margin: 0 0 10px 0;
|
|
@@ -358,13 +430,14 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- .submit {
|
|
|
|
- position: absolute;
|
|
|
|
- bottom: 0;
|
|
|
|
- .el-button {
|
|
|
|
- width: 100%;
|
|
|
|
- padding: 20px 0;
|
|
|
|
- }
|
|
|
|
|
|
+ }
|
|
|
|
+ .submit {
|
|
|
|
+ width: 100%;
|
|
|
|
+ position: absolute;
|
|
|
|
+ bottom: 0px;
|
|
|
|
+ .el-button {
|
|
|
|
+ width: 100%;
|
|
|
|
+ padding: 20px 0;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -409,4 +482,11 @@ export default {
|
|
z-index: 999;
|
|
z-index: 999;
|
|
position: absolute;
|
|
position: absolute;
|
|
}
|
|
}
|
|
|
|
+.userList {
|
|
|
|
+ height: 380px;
|
|
|
|
+ min-height: 380px;
|
|
|
|
+ overflow-y: auto;
|
|
|
|
+ padding: 0 10px;
|
|
|
|
+ margin: 0 0 10px 0;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|