Commit 9e4a978f85fa94792895954faac2b4a929db7f15
1 parent
cc23ca2d
mp:解决 wx-msg 的 css 问题
Showing
5 changed files
with
239 additions
and
145 deletions
yudao-ui-admin/src/assets/images/wechat.png
0 → 100644
1.84 KB
yudao-ui-admin/src/views/mp/components/wx-msg/card.scss
0 → 100644
| 1 | +.avue-card{ | ||
| 2 | + &__item{ | ||
| 3 | + margin-bottom: 16px; | ||
| 4 | + border: 1px solid #e8e8e8; | ||
| 5 | + background-color: #fff; | ||
| 6 | + box-sizing: border-box; | ||
| 7 | + color: rgba(0,0,0,.65); | ||
| 8 | + font-size: 14px; | ||
| 9 | + font-variant: tabular-nums; | ||
| 10 | + line-height: 1.5; | ||
| 11 | + list-style: none; | ||
| 12 | + font-feature-settings: "tnum"; | ||
| 13 | + cursor: pointer; | ||
| 14 | + height:200px; | ||
| 15 | + &:hover{ | ||
| 16 | + border-color: rgba(0,0,0,.09); | ||
| 17 | + box-shadow: 0 2px 8px rgba(0,0,0,.09); | ||
| 18 | + } | ||
| 19 | + &--add{ | ||
| 20 | + border:1px dashed #000; | ||
| 21 | + width: 100%; | ||
| 22 | + color: rgba(0,0,0,.45); | ||
| 23 | + background-color: #fff; | ||
| 24 | + border-color: #d9d9d9; | ||
| 25 | + border-radius: 2px; | ||
| 26 | + display: flex; | ||
| 27 | + align-items: center; | ||
| 28 | + justify-content: center; | ||
| 29 | + font-size: 16px; | ||
| 30 | + i{ | ||
| 31 | + margin-right: 10px; | ||
| 32 | + } | ||
| 33 | + &:hover{ | ||
| 34 | + color: #40a9ff; | ||
| 35 | + background-color: #fff; | ||
| 36 | + border-color: #40a9ff; | ||
| 37 | + } | ||
| 38 | + } | ||
| 39 | + } | ||
| 40 | + &__body{ | ||
| 41 | + display: flex; | ||
| 42 | + padding: 24px; | ||
| 43 | + } | ||
| 44 | + &__detail{ | ||
| 45 | + flex:1 | ||
| 46 | + } | ||
| 47 | + &__avatar{ | ||
| 48 | + width: 48px; | ||
| 49 | + height: 48px; | ||
| 50 | + border-radius: 48px; | ||
| 51 | + overflow: hidden; | ||
| 52 | + margin-right: 12px; | ||
| 53 | + img{ | ||
| 54 | + width: 100%; | ||
| 55 | + height: 100%; | ||
| 56 | + } | ||
| 57 | + } | ||
| 58 | + &__title{ | ||
| 59 | + color: rgba(0,0,0,.85); | ||
| 60 | + margin-bottom: 12px; | ||
| 61 | + font-size: 16px; | ||
| 62 | + &:hover{ | ||
| 63 | + color:#1890ff; | ||
| 64 | + } | ||
| 65 | + } | ||
| 66 | + &__info{ | ||
| 67 | + color: rgba(0,0,0,.45); | ||
| 68 | + display: -webkit-box; | ||
| 69 | + -webkit-box-orient: vertical; | ||
| 70 | + -webkit-line-clamp: 3; | ||
| 71 | + overflow: hidden; | ||
| 72 | + height: 64px; | ||
| 73 | + } | ||
| 74 | + &__menu{ | ||
| 75 | + display: flex; | ||
| 76 | + justify-content:space-around; | ||
| 77 | + height: 50px; | ||
| 78 | + background: #f7f9fa; | ||
| 79 | + color: rgba(0,0,0,.45); | ||
| 80 | + text-align: center; | ||
| 81 | + line-height: 50px; | ||
| 82 | + &:hover{ | ||
| 83 | + color:#1890ff; | ||
| 84 | + } | ||
| 85 | + } | ||
| 86 | +} |
yudao-ui-admin/src/views/mp/components/wx-msg/comment.scss
0 → 100644
| 1 | +/* 来自 https://github.com/nmxiaowei/avue/blob/master/styles/src/element-ui/comment.scss */ | ||
| 2 | +.avue-comment{ | ||
| 3 | + margin-bottom: 30px; | ||
| 4 | + display: flex; | ||
| 5 | + align-items: flex-start; | ||
| 6 | + &--reverse{ | ||
| 7 | + flex-direction:row-reverse; | ||
| 8 | + .avue-comment__main{ | ||
| 9 | + &:before,&:after{ | ||
| 10 | + left: auto; | ||
| 11 | + right: -8px; | ||
| 12 | + border-width: 8px 0 8px 8px; | ||
| 13 | + } | ||
| 14 | + &:before{ | ||
| 15 | + border-left-color: #dedede; | ||
| 16 | + } | ||
| 17 | + &:after{ | ||
| 18 | + border-left-color: #f8f8f8; | ||
| 19 | + margin-right: 1px; | ||
| 20 | + margin-left: auto; | ||
| 21 | + } | ||
| 22 | + } | ||
| 23 | + } | ||
| 24 | + &__avatar{ | ||
| 25 | + width: 48px; | ||
| 26 | + height: 48px; | ||
| 27 | + border-radius: 50%; | ||
| 28 | + border: 1px solid transparent; | ||
| 29 | + box-sizing: border-box; | ||
| 30 | + vertical-align: middle; | ||
| 31 | + } | ||
| 32 | + &__header{ | ||
| 33 | + padding: 5px 15px; | ||
| 34 | + background: #f8f8f8; | ||
| 35 | + border-bottom: 1px solid #eee; | ||
| 36 | + display: flex; | ||
| 37 | + align-items: center; | ||
| 38 | + justify-content: space-between; | ||
| 39 | + } | ||
| 40 | + &__author{ | ||
| 41 | + font-weight: 700; | ||
| 42 | + font-size: 14px; | ||
| 43 | + color: #999; | ||
| 44 | + } | ||
| 45 | + &__main{ | ||
| 46 | + flex:1; | ||
| 47 | + margin: 0 20px; | ||
| 48 | + position: relative; | ||
| 49 | + border: 1px solid #dedede; | ||
| 50 | + border-radius: 2px; | ||
| 51 | + &:before,&:after{ | ||
| 52 | + position: absolute; | ||
| 53 | + top: 10px; | ||
| 54 | + left: -8px; | ||
| 55 | + right: 100%; | ||
| 56 | + width: 0; | ||
| 57 | + height: 0; | ||
| 58 | + display: block; | ||
| 59 | + content: " "; | ||
| 60 | + border-color: transparent; | ||
| 61 | + border-style: solid solid outset; | ||
| 62 | + border-width: 8px 8px 8px 0; | ||
| 63 | + pointer-events: none; | ||
| 64 | + } | ||
| 65 | + &:before { | ||
| 66 | + border-right-color: #dedede; | ||
| 67 | + z-index: 1; | ||
| 68 | + } | ||
| 69 | + &:after{ | ||
| 70 | + border-right-color: #f8f8f8; | ||
| 71 | + margin-left: 1px; | ||
| 72 | + z-index: 2; | ||
| 73 | + } | ||
| 74 | + } | ||
| 75 | + &__body{ | ||
| 76 | + padding: 15px; | ||
| 77 | + overflow: hidden; | ||
| 78 | + background: #fff; | ||
| 79 | + font-family: Segoe UI,Lucida Grande,Helvetica,Arial,Microsoft YaHei,FreeSans,Arimo,Droid Sans,wenquanyi micro hei,Hiragino Sans GB,Hiragino Sans GB W3,FontAwesome,sans-serif;color: #333; | ||
| 80 | + font-size: 14px; | ||
| 81 | + } | ||
| 82 | + blockquote{ | ||
| 83 | + margin:0; | ||
| 84 | + font-family: Georgia,Times New Roman,Times,Kai,Kaiti SC,KaiTi,BiauKai,FontAwesome,serif; | ||
| 85 | + padding: 1px 0 1px 15px; | ||
| 86 | + border-left: 4px solid #ddd; | ||
| 87 | + } | ||
| 88 | +} |
yudao-ui-admin/src/views/mp/components/wx-msg/main.vue
| 1 | <!-- | 1 | <!-- |
| 2 | - Copyright (C) 2018-2019 | 2 | - Copyright (C) 2018-2019 |
| 3 | - All rights reserved, Designed By www.joolun.com | 3 | - All rights reserved, Designed By www.joolun.com |
| 4 | + 芋道源码: | ||
| 5 | + ① 移除暂时用不到的 websocket | ||
| 6 | + ② 代码优化,补充注释,提升阅读性 | ||
| 4 | --> | 7 | --> |
| 5 | <template> | 8 | <template> |
| 6 | - <div class="msg-main" v-loading="mainLoading"> | ||
| 7 | - <div class="msg-div" :id="'msg-div'+nowStr"> | 9 | + <div class="msg-main"> |
| 10 | + <div class="msg-div" :id="'msg-div' + nowStr"> | ||
| 8 | <!-- 加载更多 --> | 11 | <!-- 加载更多 --> |
| 9 | <div v-loading="tableLoading"></div> | 12 | <div v-loading="tableLoading"></div> |
| 10 | <div v-if="!tableLoading"> | 13 | <div v-if="!tableLoading"> |
| @@ -15,9 +18,8 @@ | @@ -15,9 +18,8 @@ | ||
| 15 | <div class="execution" v-for="item in tableData" :key='item.id'> | 18 | <div class="execution" v-for="item in tableData" :key='item.id'> |
| 16 | <div class="avue-comment" :class="item.sendFrom === 2 ? 'avue-comment--reverse' : ''"> | 19 | <div class="avue-comment" :class="item.sendFrom === 2 ? 'avue-comment--reverse' : ''"> |
| 17 | <div class="avatar-div"> | 20 | <div class="avatar-div"> |
| 18 | - <img :src="item.sendFrom === 1 ? item.headimgUrl : item.appLogo" class="avue-comment__avatar"> | ||
| 19 | -<!-- <div class="avue-comment__author">{{item.sendFrom === 1 ? item.nickName : item.appName}}</div>--> | ||
| 20 | - <div class="avue-comment__author">{{item.sendFrom === 1 ? '用户' : '公众号' }}</div> | 21 | + <img :src="item.sendFrom === 1 ? user.avatar : mp.avatar" class="avue-comment__avatar"> |
| 22 | + <div class="avue-comment__author">{{item.sendFrom === 1 ? user.nickname : mp.nickname }}</div> | ||
| 21 | </div> | 23 | </div> |
| 22 | <div class="avue-comment__main"> | 24 | <div class="avue-comment__main"> |
| 23 | <div class="avue-comment__header"> | 25 | <div class="avue-comment__header"> |
| @@ -62,6 +64,7 @@ | @@ -62,6 +64,7 @@ | ||
| 62 | </el-link> | 64 | </el-link> |
| 63 | <div class="avue-card__info" style="height: unset">{{item.description}}</div> | 65 | <div class="avue-card__info" style="height: unset">{{item.description}}</div> |
| 64 | </div> | 66 | </div> |
| 67 | + <!-- TODO 芋艿:待完善 --> | ||
| 65 | <!-- <div v-if="item.repType == 'location'">--> | 68 | <!-- <div v-if="item.repType == 'location'">--> |
| 66 | <!-- <el-link type="primary" target="_blank" :href="'https://map.qq.com/?type=marker&isopeninfowin=1&markertype=1&pointx='+item.repLocationY+'&pointy='+item.repLocationX+'&name='+item.repContent+'&ref=joolun'">--> | 69 | <!-- <el-link type="primary" target="_blank" :href="'https://map.qq.com/?type=marker&isopeninfowin=1&markertype=1&pointx='+item.repLocationY+'&pointy='+item.repLocationX+'&name='+item.repContent+'&ref=joolun'">--> |
| 67 | <!-- <img :src="'https://apis.map.qq.com/ws/staticmap/v2/?zoom=10&markers=color:blue|label:A|'+item.repLocationX+','+item.repLocationY+'&key='+qqMapKey+'&size=250*180'">--> | 70 | <!-- <img :src="'https://apis.map.qq.com/ws/staticmap/v2/?zoom=10&markers=color:blue|label:A|'+item.repLocationX+','+item.repLocationY+'&key='+qqMapKey+'&size=250*180'">--> |
| @@ -118,28 +121,25 @@ | @@ -118,28 +121,25 @@ | ||
| 118 | }, | 121 | }, |
| 119 | data() { | 122 | data() { |
| 120 | return { | 123 | return { |
| 121 | - nowStr: new Date().getTime(), | 124 | + nowStr: new Date().getTime(), // 当前的时间戳,用于每次消息加载后,回到原位置;具体见 :id="'msg-div' + nowStr" 处 |
| 122 | objData:{ | 125 | objData:{ |
| 123 | repType: 'text' | 126 | repType: 'text' |
| 124 | }, | 127 | }, |
| 125 | - mainLoading:false, | ||
| 126 | - sendLoading:false, | ||
| 127 | - tableLoading:false, | ||
| 128 | - loadMore: true, | 128 | + sendLoading: false, // 发送消息是否加载中 |
| 129 | + tableLoading: false, // 消息列表是否正在加载中 | ||
| 130 | + loadMore: true, // 是否可以加载更多 | ||
| 129 | tableData: [], // 消息列表 | 131 | tableData: [], // 消息列表 |
| 130 | page: { | 132 | page: { |
| 131 | - total: 0, // 总页数 | ||
| 132 | pageNo: 1, // 当前页数 | 133 | pageNo: 1, // 当前页数 |
| 133 | pageSize: 14, // 每页显示多少条 | 134 | pageSize: 14, // 每页显示多少条 |
| 134 | - ascs:[],//升序字段 | ||
| 135 | - descs:'create_time'//降序字段 | ||
| 136 | }, | 135 | }, |
| 137 | - option: { | ||
| 138 | - props: { | ||
| 139 | - avatar: 'avatar', | ||
| 140 | - author: 'author', | ||
| 141 | - body: 'body' | ||
| 142 | - } | 136 | + user: { // 由于微信不再提供昵称,直接使用“用户”展示 |
| 137 | + nickname: '用户', | ||
| 138 | + avatar: require("@/assets/images/profile.jpg"), | ||
| 139 | + }, | ||
| 140 | + mp: { | ||
| 141 | + nickname: '公众号', | ||
| 142 | + avatar: require("@/assets/images/wechat.png"), | ||
| 143 | } | 143 | } |
| 144 | } | 144 | } |
| 145 | }, | 145 | }, |
| @@ -148,8 +148,8 @@ | @@ -148,8 +148,8 @@ | ||
| 148 | }, | 148 | }, |
| 149 | methods:{ | 149 | methods:{ |
| 150 | sendMsg(){ | 150 | sendMsg(){ |
| 151 | - if(this.objData){ | ||
| 152 | - if(this.objData.repType == 'news'){ | 151 | + if (this.objData) { |
| 152 | + if(this.objData.repType === 'news'){ | ||
| 153 | this.objData.content.articles = [this.objData.content.articles[0]] | 153 | this.objData.content.articles = [this.objData.content.articles[0]] |
| 154 | this.$message({ | 154 | this.$message({ |
| 155 | showClose: true, | 155 | showClose: true, |
| @@ -173,13 +173,7 @@ | @@ -173,13 +173,7 @@ | ||
| 173 | }) | 173 | }) |
| 174 | } | 174 | } |
| 175 | }, | 175 | }, |
| 176 | - scrollToBottom: function () { | ||
| 177 | - this.$nextTick(() => { | ||
| 178 | - let div = document.getElementById('msg-div'+this.nowStr) | ||
| 179 | - div.scrollTop = div.scrollHeight | ||
| 180 | - }) | ||
| 181 | - }, | ||
| 182 | - loadingMore(){ | 176 | + loadingMore() { |
| 183 | this.page.pageNo++ | 177 | this.page.pageNo++ |
| 184 | this.getPage(this.page) | 178 | this.getPage(this.page) |
| 185 | }, | 179 | }, |
| @@ -188,35 +182,35 @@ | @@ -188,35 +182,35 @@ | ||
| 188 | getMessagePage(Object.assign({ | 182 | getMessagePage(Object.assign({ |
| 189 | pageNo: page.pageNo, | 183 | pageNo: page.pageNo, |
| 190 | pageSize: page.pageSize, | 184 | pageSize: page.pageSize, |
| 191 | - descs:page.descs, | ||
| 192 | - ascs: page.ascs, | ||
| 193 | wxUserId: this.wxUserId | 185 | wxUserId: this.wxUserId |
| 194 | }, params)).then(response => { | 186 | }, params)).then(response => { |
| 195 | - let msgDiv = document.getElementById('msg-div'+this.nowStr) | 187 | + // 计算当前的滚动高度 |
| 188 | + const msgDiv = document.getElementById('msg-div' + this.nowStr); | ||
| 196 | let scrollHeight = 0 | 189 | let scrollHeight = 0 |
| 197 | if(msgDiv){ | 190 | if(msgDiv){ |
| 198 | scrollHeight = msgDiv.scrollHeight | 191 | scrollHeight = msgDiv.scrollHeight |
| 199 | } | 192 | } |
| 200 | - let data = response.data.list.reverse() | ||
| 201 | - this.tableData = [...data , ...this.tableData] | ||
| 202 | - this.page.total = response.data.total | 193 | + |
| 194 | + // 处理数据 | ||
| 195 | + const data = response.data.list.reverse(); | ||
| 196 | + this.tableData = [...data, ...this.tableData] | ||
| 203 | this.tableLoading = false | 197 | this.tableLoading = false |
| 204 | - if(data.length < this.page.pageSize || data.length === 0){ | 198 | + if (data.length < this.page.pageSize || data.length === 0){ |
| 205 | this.loadMore = false | 199 | this.loadMore = false |
| 206 | } | 200 | } |
| 207 | - if(this.page.pageNo == 1){//定位到消息底部 | ||
| 208 | - this.scrollToBottom() | ||
| 209 | - }else{ | ||
| 210 | - if(data.length != 0){ | ||
| 211 | - this.$nextTick(() => {//定位滚动条 | ||
| 212 | - if(scrollHeight != 0){ | ||
| 213 | - msgDiv.scrollTop = document.getElementById('msg-div'+this.nowStr).scrollHeight - scrollHeight - 100 | ||
| 214 | - } | ||
| 215 | - }) | ||
| 216 | - } | ||
| 217 | - } | ||
| 218 | this.page.pageNo = page.pageNo | 201 | this.page.pageNo = page.pageNo |
| 219 | this.page.pageSize = page.pageSize | 202 | this.page.pageSize = page.pageSize |
| 203 | + | ||
| 204 | + // 滚动到原来的位置 | ||
| 205 | + if(this.page.pageNo === 1) { // 定位到消息底部 | ||
| 206 | + this.scrollToBottom() | ||
| 207 | + } else if (data.length !== 0) { // 定位滚动条 | ||
| 208 | + this.$nextTick(() => { | ||
| 209 | + if (scrollHeight !== 0){ | ||
| 210 | + msgDiv.scrollTop = document.getElementById('msg-div'+this.nowStr).scrollHeight - scrollHeight - 100 | ||
| 211 | + } | ||
| 212 | + }) | ||
| 213 | + } | ||
| 220 | }) | 214 | }) |
| 221 | }, | 215 | }, |
| 222 | /** | 216 | /** |
| @@ -224,120 +218,40 @@ | @@ -224,120 +218,40 @@ | ||
| 224 | */ | 218 | */ |
| 225 | refreshChange() { | 219 | refreshChange() { |
| 226 | this.getPage(this.page) | 220 | this.getPage(this.page) |
| 227 | - } | 221 | + }, |
| 222 | + /** 定位到消息底部 */ | ||
| 223 | + scrollToBottom: function () { | ||
| 224 | + this.$nextTick(() => { | ||
| 225 | + let div = document.getElementById('msg-div' + this.nowStr) | ||
| 226 | + div.scrollTop = div.scrollHeight | ||
| 227 | + }) | ||
| 228 | + }, | ||
| 228 | } | 229 | } |
| 229 | }; | 230 | }; |
| 230 | </script> | 231 | </script> |
| 231 | <style lang="scss" scoped> | 232 | <style lang="scss" scoped> |
| 232 | -/* 来自 https://github.com/nmxiaowei/avue/blob/master/styles/src/element-ui/comment.scss */ | ||
| 233 | -/* 因为 joolun 实现依赖 avue 组件,该页面使用了 comment.scss */ | ||
| 234 | -.avue-comment{ | ||
| 235 | - margin-bottom: 30px; | ||
| 236 | - display: flex; | ||
| 237 | - align-items: flex-start; | ||
| 238 | - &--reverse{ | ||
| 239 | - flex-direction:row-reverse; | ||
| 240 | - .avue-comment__main{ | ||
| 241 | - &:before,&:after{ | ||
| 242 | - left: auto; | ||
| 243 | - right: -8px; | ||
| 244 | - border-width: 8px 0 8px 8px; | ||
| 245 | - } | ||
| 246 | - &:before{ | ||
| 247 | - border-left-color: #dedede; | ||
| 248 | - } | ||
| 249 | - &:after{ | ||
| 250 | - border-left-color: #f8f8f8; | ||
| 251 | - margin-right: 1px; | ||
| 252 | - margin-left: auto; | ||
| 253 | - } | ||
| 254 | - } | ||
| 255 | - } | ||
| 256 | - &__avatar{ | ||
| 257 | - width: 48px; | ||
| 258 | - height: 48px; | ||
| 259 | - border-radius: 50%; | ||
| 260 | - border: 1px solid transparent; | ||
| 261 | - box-sizing: border-box; | ||
| 262 | - vertical-align: middle; | ||
| 263 | - } | ||
| 264 | - &__header{ | ||
| 265 | - padding: 5px 15px; | ||
| 266 | - background: #f8f8f8; | ||
| 267 | - border-bottom: 1px solid #eee; | ||
| 268 | - display: flex; | ||
| 269 | - align-items: center; | ||
| 270 | - justify-content: space-between; | ||
| 271 | - } | ||
| 272 | - &__author{ | ||
| 273 | - font-weight: 700; | ||
| 274 | - font-size: 14px; | ||
| 275 | - color: #999; | ||
| 276 | - } | ||
| 277 | - &__main{ | ||
| 278 | - flex:1; | ||
| 279 | - margin: 0 20px; | ||
| 280 | - position: relative; | ||
| 281 | - border: 1px solid #dedede; | ||
| 282 | - border-radius: 2px; | ||
| 283 | - &:before,&:after{ | ||
| 284 | - position: absolute; | ||
| 285 | - top: 10px; | ||
| 286 | - left: -8px; | ||
| 287 | - right: 100%; | ||
| 288 | - width: 0; | ||
| 289 | - height: 0; | ||
| 290 | - display: block; | ||
| 291 | - content: " "; | ||
| 292 | - border-color: transparent; | ||
| 293 | - border-style: solid solid outset; | ||
| 294 | - border-width: 8px 8px 8px 0; | ||
| 295 | - pointer-events: none; | ||
| 296 | - } | ||
| 297 | - &:before { | ||
| 298 | - border-right-color: #dedede; | ||
| 299 | - z-index: 1; | ||
| 300 | - } | ||
| 301 | - &:after{ | ||
| 302 | - border-right-color: #f8f8f8; | ||
| 303 | - margin-left: 1px; | ||
| 304 | - z-index: 2; | ||
| 305 | - } | ||
| 306 | - } | ||
| 307 | - &__body{ | ||
| 308 | - padding: 15px; | ||
| 309 | - overflow: hidden; | ||
| 310 | - background: #fff; | ||
| 311 | - font-family: Segoe UI,Lucida Grande,Helvetica,Arial,Microsoft YaHei,FreeSans,Arimo,Droid Sans,wenquanyi micro hei,Hiragino Sans GB,Hiragino Sans GB W3,FontAwesome,sans-serif;color: #333; | ||
| 312 | - font-size: 14px; | ||
| 313 | - } | ||
| 314 | - blockquote{ | ||
| 315 | - margin:0; | ||
| 316 | - font-family: Georgia,Times New Roman,Times,Kai,Kaiti SC,KaiTi,BiauKai,FontAwesome,serif; | ||
| 317 | - padding: 1px 0 1px 15px; | ||
| 318 | - border-left: 4px solid #ddd; | ||
| 319 | - } | ||
| 320 | -} | ||
| 321 | -</style> | ||
| 322 | -<style lang="scss" scoped> | ||
| 323 | -.msg-main{ | 233 | +/* 因为 joolun 实现依赖 avue 组件,该页面使用了 comment.scss、card.scc */ |
| 234 | +@import './comment.scss'; | ||
| 235 | +@import './card.scss'; | ||
| 236 | + | ||
| 237 | +.msg-main { | ||
| 324 | margin-top: -30px; | 238 | margin-top: -30px; |
| 325 | padding: 10px; | 239 | padding: 10px; |
| 326 | } | 240 | } |
| 327 | -.msg-div{ | 241 | +.msg-div { |
| 328 | height: 50vh; | 242 | height: 50vh; |
| 329 | overflow: auto; | 243 | overflow: auto; |
| 330 | background-color: #eaeaea; | 244 | background-color: #eaeaea; |
| 331 | } | 245 | } |
| 332 | -.msg-send{ | 246 | +.msg-send { |
| 333 | padding: 10px; | 247 | padding: 10px; |
| 334 | } | 248 | } |
| 335 | -.avue-comment__main{ | 249 | +.avue-comment__main { |
| 336 | flex: unset!important; | 250 | flex: unset!important; |
| 337 | border-radius: 5px!important; | 251 | border-radius: 5px!important; |
| 338 | margin: 0 8px!important; | 252 | margin: 0 8px!important; |
| 339 | } | 253 | } |
| 340 | -.avue-comment__header{ | 254 | +.avue-comment__header { |
| 341 | border-top-left-radius: 5px; | 255 | border-top-left-radius: 5px; |
| 342 | border-top-right-radius: 5px; | 256 | border-top-right-radius: 5px; |
| 343 | } | 257 | } |
| @@ -345,11 +259,11 @@ | @@ -345,11 +259,11 @@ | ||
| 345 | border-bottom-right-radius: 5px; | 259 | border-bottom-right-radius: 5px; |
| 346 | border-bottom-left-radius: 5px; | 260 | border-bottom-left-radius: 5px; |
| 347 | } | 261 | } |
| 348 | -.avatar-div{ | 262 | +.avatar-div { |
| 349 | text-align: center; | 263 | text-align: center; |
| 350 | width: 80px; | 264 | width: 80px; |
| 351 | } | 265 | } |
| 352 | -.send-but{ | 266 | +.send-but { |
| 353 | float: right; | 267 | float: right; |
| 354 | margin-top: 8px!important; | 268 | margin-top: 8px!important; |
| 355 | } | 269 | } |
yudao-ui-admin/src/views/mp/message/index.vue
| @@ -40,6 +40,12 @@ | @@ -40,6 +40,12 @@ | ||
| 40 | </template> | 40 | </template> |
| 41 | </el-table-column> | 41 | </el-table-column> |
| 42 | <el-table-column label="消息类型" align="center" prop="type" width="80"/> | 42 | <el-table-column label="消息类型" align="center" prop="type" width="80"/> |
| 43 | + <el-table-column label="发送方" align="center" prop="sendFrom" width="80"> | ||
| 44 | + <template slot-scope="scope"> | ||
| 45 | + <el-tag v-if="scope.row.sendFrom === 1" type="success">用户</el-tag> | ||
| 46 | + <el-tag v-else type="info">公众号</el-tag> | ||
| 47 | + </template> | ||
| 48 | + </el-table-column> | ||
| 43 | <el-table-column label="用户标识" align="center" prop="openid" width="300" /> | 49 | <el-table-column label="用户标识" align="center" prop="openid" width="300" /> |
| 44 | <!-- TODO 芋艿:发送/接收 --> | 50 | <!-- TODO 芋艿:发送/接收 --> |
| 45 | <el-table-column label="内容" prop="content"> | 51 | <el-table-column label="内容" prop="content"> |