|
|
@@ -6,31 +6,37 @@
|
|
|
<el-tabs class="live-console-tab-left" v-model="tabRight.activeName" @tab-click="handleClick" :stretch="true">
|
|
|
<el-tab-pane label="讨论" name="talk">
|
|
|
<el-scrollbar style="height: 500px; width: 100%;" ref="manageRightRef">
|
|
|
- <el-row v-for="m in msgList" >
|
|
|
- <el-row v-if="m.userId !== userId" style="margin-top: 5px" type="flex" align="top" >
|
|
|
- <el-col :span="3" style="margin-left: 10px"><el-avatar :src="m.avatar"/></el-col>
|
|
|
- <el-col :span="15">
|
|
|
- <el-row style="margin-left: 10px">
|
|
|
- <el-col><div style="font-size: 12px; color: #999; margin-bottom: 3px;">{{ m.nickName }}</div></el-col>
|
|
|
- <el-col :span="24" style="max-width: 200px;">
|
|
|
- <div style="white-space: normal; word-wrap: break-word;background-color: #f0f2f5; padding: 8px; border-radius: 5px;font-size: 14px;width: 100%;">
|
|
|
- {{ m.msg }}
|
|
|
- </div>
|
|
|
- </el-col>
|
|
|
- <el-col>
|
|
|
- <a style="cursor: pointer;color: #ff0000;padding: 8px 8px 0 0;font-size: 12px;" @click="changeUserState(m)">{{ m.msgStatus === 1 ? '解禁' : '禁言' }}</a>
|
|
|
- <a style="cursor: pointer;color: #ff0000;padding: 8px 8px 0 0;font-size: 12px;" @click="blockUser(m)">拉黑</a>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ <el-row v-for="m in msgList" style="margin-bottom: 20px;">
|
|
|
+ <el-row v-if="m.userId !== userId" type="flex" align="top" >
|
|
|
+ <el-col :span="24" style="display: flex; align-items: center;">
|
|
|
+ <el-avatar style="width: 36px;height: 36px;" :src="m.avatar!==null?m.avatar: require('@/assets/image/default-a.png')"/>
|
|
|
+ <div style="font-size: 14px; color: #999;margin: 0 12px;">{{ m.nickName }}</div>
|
|
|
+ <div style="display: flex; align-items: center; gap: 8px;">
|
|
|
+ <a style="cursor: pointer;color: #13C2C2;font-size: 14px;" @click="changeUserState(m)">{{ m.msgStatus === 1 ? '解禁' : '禁言' }}</a>
|
|
|
+ <span style="color:#13C2C2;">|</span>
|
|
|
+ <a style="cursor: pointer;color: #13C2C2;font-size: 14px;" @click="blockUser(m)">拉黑</a>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row v-if="m.userId !== userId" type="flex" align="top">
|
|
|
+ <el-col :span="19" :offset="3">
|
|
|
+ <div class="msg-box">
|
|
|
+ {{ m.msg }}
|
|
|
+ </div>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-row v-if="m.userId === userId" style="padding: 8px 0" type="flex" align="top" justify="end">
|
|
|
+ <el-row v-if="m.userId === userId" style="padding: 8px 0;margin-right: 10px;" type="flex" align="top" justify="end">
|
|
|
<div style="display: flex;justify-content: flex-end">
|
|
|
<div style="display: flex;justify-content: flex-end;flex-direction: column;max-width: 200px;align-items: flex-end">
|
|
|
- <div style="font-size: 12px; color: #999; margin-bottom: 3px;">{{ m.nickName }}</div>
|
|
|
- <div style="white-space: normal; word-wrap: break-word;width: 100%; background-color: #e6f7ff; padding: 8px; border-radius: 5px;font-size: 14px;">{{ m.msg }}</div>
|
|
|
+ <div style="display: flex;align-items: center;">
|
|
|
+ <div style="font-size: 14px; color: #999;margin-right: 12px;">{{ m.nickName }}</div>
|
|
|
+ <el-avatar :src="m.avatar?m.avatar: require('@/assets/image/default-a.png')" style="width: 36px;height: 36px;"/>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="msg-box-right">
|
|
|
+ {{ m.msg }}</div>
|
|
|
</div>
|
|
|
- <el-avatar :src="m.avatar" style="margin-left: 10px; margin-right: 10px;"/>
|
|
|
+
|
|
|
</div>
|
|
|
</el-row>
|
|
|
</el-row>
|
|
|
@@ -39,7 +45,7 @@
|
|
|
</el-scrollbar>
|
|
|
|
|
|
<!-- 消息输入区域 -->
|
|
|
- <div style="padding: 10px; border-top: 1px solid #ebeef5; background-color: #fff; min-height: 120px;">
|
|
|
+ <div class="shuru" style="padding: 20px; border-top: 1px solid #ebeef5; background-color: #fff; min-height: 120px;">
|
|
|
<el-input
|
|
|
type="textarea"
|
|
|
v-model="newMsg"
|
|
|
@@ -52,7 +58,7 @@
|
|
|
>
|
|
|
</el-input>
|
|
|
<div style="display: flex; justify-content: flex-end; margin-top: 10px;">
|
|
|
- <el-button plain @click="sendMessage">发送</el-button>
|
|
|
+ <el-button style="background: #13C2C2;color: #fff;" @click="sendMessage">发送</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-tab-pane>
|
|
|
@@ -131,31 +137,36 @@
|
|
|
</div>
|
|
|
<!-- 底部导航栏 -->
|
|
|
<div style="display: flex; justify-content: space-around; padding: 15px 0; background: #fff; border-top: 1px solid #f0f0f0;">
|
|
|
- <div style="display: flex; flex-direction: column; align-items: center; cursor: pointer;" @click="handleClickRed">
|
|
|
- <i class="el-icon-money" style="font-size: 20px;"></i>
|
|
|
- <span style="font-size: 12px; margin-top: 4px;">红包配置</span>
|
|
|
+ <div class="top-box" style="display: flex; flex-direction: column; align-items: center; cursor: pointer;" @click="handleClickRed">
|
|
|
+ <!-- <i class="el-icon-money" style="font-size: 20px;"></i> -->
|
|
|
+ <img src="@/assets/image/hbpz.png" width="48"/>
|
|
|
+ <span style="font-size: 12px; margin-top: 10px;">红包配置</span>
|
|
|
</div>
|
|
|
- <div style="display: flex; flex-direction: column; align-items: center; cursor: pointer;" @click="handleClickLottery">
|
|
|
- <i class="el-icon-present" style="font-size: 20px;"></i>
|
|
|
- <span style="font-size: 12px; margin-top: 4px;">抽奖配置</span>
|
|
|
+ <div class="top-box" style="display: flex; flex-direction: column; align-items: center; cursor: pointer;" @click="handleClickLottery">
|
|
|
+ <!-- <i class="el-icon-present" style="font-size: 20px;"></i> -->
|
|
|
+ <img src="@/assets/image/cjpz.png" width="48"/>
|
|
|
+ <span style="font-size: 12px; margin-top: 10px;">抽奖配置</span>
|
|
|
</div>
|
|
|
- <div style="display: flex; flex-direction: column; align-items: center; cursor: pointer;" @click="handleClickGoods">
|
|
|
- <i class="el-icon-goods" style="font-size: 20px;"></i>
|
|
|
- <span style="font-size: 12px; margin-top: 4px;">商品</span>
|
|
|
+ <div class="top-box" style="display: flex; flex-direction: column; align-items: center; cursor: pointer;" @click="handleClickGoods">
|
|
|
+ <!-- <i class="el-icon-goods" style="font-size: 20px;"></i> -->
|
|
|
+ <img src="@/assets/image/sp.png" width="48"/>
|
|
|
+ <span style="font-size: 12px; margin-top: 10px;">商品</span>
|
|
|
</div>
|
|
|
- <div style="display: flex; flex-direction: column; align-items: center; cursor: pointer;" @click="handleClickOrder">
|
|
|
- <i class="el-icon-goods" style="font-size: 20px;"></i>
|
|
|
- <span style="font-size: 12px; margin-top: 4px;">直播订单</span>
|
|
|
+ <div class="top-box" style="display: flex; flex-direction: column; align-items: center; cursor: pointer;" @click="handleClickOrder">
|
|
|
+ <!-- <i class="el-icon-goods" style="font-size: 20px;"></i> -->
|
|
|
+ <img src="@/assets/image/zbdd.png" width="48"/>
|
|
|
+ <span style="font-size: 12px;margin-top: 10px;">直播订单</span>
|
|
|
</div>
|
|
|
- <div style="display: flex; flex-direction: column; align-items: center; cursor: pointer;" @click="handleClickCoupon">
|
|
|
- <i class="el-icon-goods" style="font-size: 20px;"></i>
|
|
|
- <span style="font-size: 12px; margin-top: 4px;">直播优惠券</span>
|
|
|
+ <div class="top-box" style="display: flex; flex-direction: column; align-items: center; cursor: pointer;" @click="handleClickCoupon">
|
|
|
+ <!-- <i class="el-icon-goods" style="font-size: 20px;"></i> -->
|
|
|
+ <img src="@/assets/image/zbyhq.png" width="48"/>
|
|
|
+ <span style="font-size: 12px; margin-top: 10px;">直播优惠券</span>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-radio-group v-model="tableRadio" >
|
|
|
+ <!-- <el-radio-group v-model="tableRadio" >
|
|
|
<el-radio-button label="订单数">订单数</el-radio-button>
|
|
|
- </el-radio-group>
|
|
|
- <div style="position: relative;width: 100%; height: 300px;">
|
|
|
+ </el-radio-group> -->
|
|
|
+ <div style="position: relative;width: 100%; height: 270px;margin-top: 30px;">
|
|
|
<div ref="chartContainer" style="width: 100%; height: 100%;"></div>
|
|
|
<div style="position: absolute; top: 10px; right: 10px; background: #fff; padding: 5px; z-index: 1;">
|
|
|
<el-select v-model="searchQuery.timeOptions" placeholder="请选择" style="width: 150px" @change="timeChange">
|
|
|
@@ -183,9 +194,9 @@
|
|
|
<!-- 用户列表 start -->
|
|
|
<el-col class="live-console-col" :span="6">
|
|
|
<el-tabs class="live-console-tab-right" v-model="tabLeft.activeName" @tab-click="handleClick" :stretch="true">
|
|
|
- <el-tab-pane :label="onlineLabel" name="online">
|
|
|
- <el-scrollbar ref="manageLeftRef_online" style="height: 800px; width: 100%;">
|
|
|
- <el-row style="margin-top: 10px" type="flex" align="middle" v-for="u in onlineDisplayList" :key="u.userId">
|
|
|
+ <el-tab-pane :label="onlineLabel" name="online" style="height: 100%;">
|
|
|
+ <el-scrollbar ref="manageLeftRef_online" style="height:100%; width: 100%;padding: 10px;">
|
|
|
+ <el-row class="row-box" style="margin-bottom:10px" type="flex" align="middle" v-for="u in onlineDisplayList" :key="u.userId">
|
|
|
<el-col :span="20">
|
|
|
<el-row type="flex" align="middle">
|
|
|
<el-col :span="4" style="padding-left: 10px;"><el-avatar :src="u.avatar"></el-avatar></el-col>
|
|
|
@@ -205,9 +216,9 @@
|
|
|
</el-row>
|
|
|
</el-scrollbar>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane :label="offlineLabel" name="offline">
|
|
|
- <el-scrollbar ref="manageLeftRef_offline" style="height: 800px; width: 100%;">
|
|
|
- <el-row style="margin-top: 10px" type="flex" align="middle" v-for="u in offlineDisplayList" :key="u.userId">
|
|
|
+ <el-tab-pane :label="offlineLabel" name="offline" style="height: 100%;">
|
|
|
+ <el-scrollbar ref="manageLeftRef_offline" style="height:100%; width: 100%;padding: 10px;">
|
|
|
+ <el-row class="row-box" style="margin-bottom:10px" type="flex" align="middle" v-for="u in offlineDisplayList" :key="u.userId">
|
|
|
<el-col :span="20">
|
|
|
<el-row type="flex" align="middle">
|
|
|
<el-col :span="4" style="padding-left: 10px;"><el-avatar :src="u.avatar"></el-avatar></el-col>
|
|
|
@@ -227,9 +238,9 @@
|
|
|
</el-row>
|
|
|
</el-scrollbar>
|
|
|
</el-tab-pane>
|
|
|
- <el-tab-pane :label="silencedUserLabel" name="silenced">
|
|
|
- <el-scrollbar ref="manageLeftRef_silenced" style="height: 800px; width: 100%;">
|
|
|
- <el-row style="margin-top: 10px" type="flex" align="middle" v-for="u in silencedDisplayList" :key="u.userId">
|
|
|
+ <el-tab-pane :label="silencedUserLabel" name="silenced" style="height: 100%;">
|
|
|
+ <el-scrollbar ref="manageLeftRef_silenced" style="height: 800px; width: 100%;padding: 10px;">
|
|
|
+ <el-row class="row-box" style="margin-bottom:10px" type="flex" align="middle" v-for="u in silencedDisplayList" :key="u.userId">
|
|
|
<el-col :span="20">
|
|
|
<el-row type="flex" align="middle">
|
|
|
<el-col :span="4" style="padding-left: 10px;"><el-avatar :src="u.avatar"></el-avatar></el-col>
|
|
|
@@ -1237,6 +1248,62 @@ export default {
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
+<style lang="stylus" scoped>
|
|
|
+ .top-box{
|
|
|
+ justify-content: center;
|
|
|
+ width: 140px;
|
|
|
+ height: 110px;
|
|
|
+ background: #FFFFFF;
|
|
|
+ border-radius: 16px 16px 16px 16px;
|
|
|
+ border: 1px solid #EBF0F9;
|
|
|
+ }
|
|
|
+ .row-box{
|
|
|
+ padding: 10px 16px;
|
|
|
+ background: #FAFBFD;
|
|
|
+ border-radius: 8px 8px 8px 8px;
|
|
|
+ }
|
|
|
+ .msg-box{
|
|
|
+ word-break: break-all;
|
|
|
+ word-wrap: break-word;
|
|
|
+ white-space: pre-wrap;
|
|
|
+ background-color: #F7F8FA;
|
|
|
+ padding: 10px;
|
|
|
+ border-radius: 0px 12px 12px 12px;
|
|
|
+ font-size: 14px;
|
|
|
+ display: inline-block;
|
|
|
+ }
|
|
|
+ .msg-box-right{
|
|
|
+ margin-right: 50px;
|
|
|
+ word-break: break-all;
|
|
|
+ word-wrap: break-word;
|
|
|
+ white-space: pre-wrap;
|
|
|
+ background-color:#13C2C2;
|
|
|
+ padding: 10px;
|
|
|
+ color: #fff;
|
|
|
+ border-radius: 12px 0px 12px 12px;
|
|
|
+ font-size: 14px;
|
|
|
+ display: inline-block;
|
|
|
+ }
|
|
|
+ .shuru ::v-deep.el-textarea__inner{
|
|
|
+ background-color: #F7F8FA !important;
|
|
|
+ border-radius: 12px;
|
|
|
+ }
|
|
|
+ .el-icon-more{
|
|
|
+ color:#D9D9D9
|
|
|
+ }
|
|
|
+ .live-console-tab-right{
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+ .live-console-tab-right .el-scrollbar__view{
|
|
|
+ padding: 10px;
|
|
|
+ }
|
|
|
+ .live-console-tab-right .el-col-offset-1{
|
|
|
+ color:#666
|
|
|
+ }
|
|
|
+ .live-console-tab-right ::v-deep.el-tabs__content{
|
|
|
+ height: 90%;
|
|
|
+ }
|
|
|
+</style>
|
|
|
<style scoped>
|
|
|
.talk-list{
|
|
|
display: flex;
|
|
|
@@ -1283,5 +1350,4 @@ export default {
|
|
|
border: none !important;
|
|
|
box-shadow: none !important;
|
|
|
}
|
|
|
-
|
|
|
</style>
|