no message

This commit is contained in:
kuaifan 2022-05-26 17:49:54 +08:00
parent ac45ba633b
commit 965895de5c
10 changed files with 37 additions and 21 deletions

View File

@ -361,7 +361,9 @@
</DragBallComponent> </DragBallComponent>
<!--移动端选项卡--> <!--移动端选项卡-->
<MobileTabbar v-if="showMobileTabbar" @on-click="onTabbarClick"/> <transition name="mobile-slide">
<MobileTabbar v-if="showMobileTabbar" @on-click="onTabbarClick"/>
</transition>
<MobileBack :showTabbar="showMobileTabbar"/> <MobileBack :showTabbar="showMobileTabbar"/>
<MobileNotification ref="mobileNotification"/> <MobileNotification ref="mobileNotification"/>
</div> </div>

View File

@ -6,7 +6,7 @@
<slot name="toolbarBefore"/> <slot name="toolbarBefore"/>
<EPopover <EPopover
v-if="$isDesktop" v-if="!emojiBottom"
v-model="showEmoji" v-model="showEmoji"
:visibleArrow="false" :visibleArrow="false"
placement="top" placement="top"
@ -55,7 +55,7 @@
<slot name="toolbarAfter"/> <slot name="toolbarAfter"/>
</div> </div>
</div> </div>
<template v-if="!$isDesktop"> <template v-if="emojiBottom">
<ChatEmoji v-if="showEmoji" @on-select="onSelectEmoji"/> <ChatEmoji v-if="showEmoji" @on-select="onSelectEmoji"/>
</template> </template>
</div> </div>
@ -103,6 +103,10 @@ export default {
return $A.isDesktop return $A.isDesktop
} }
}, },
emojiBottom: {
type: Boolean,
default: false
},
options: { options: {
type: Object, type: Object,
default: () => ({}) default: () => ({})
@ -339,9 +343,11 @@ export default {
// ios11.0-11.3 scrollTopscrolIntoViewbug // ios11.0-11.3 scrollTopscrolIntoViewbug
// //
} else { } else {
setTimeout(() => { for (let i = 1; i <= 5; i++) {
$A.scrollToView(this.$refs.editor, true) setTimeout(() => {
}, 300); $A.scrollToView(this.$refs.editor, true)
}, 200 * i);
}
} }
} }
}) })

View File

@ -50,7 +50,7 @@
<div v-if="timeShow" class="time" @click="timeShow=false">{{msgData.created_at}}</div> <div v-if="timeShow" class="time" @click="timeShow=false">{{msgData.created_at}}</div>
<div v-else class="time" :title="msgData.created_at" @click="timeShow=true">{{$A.formatTime(msgData.created_at)}}</div> <div v-else class="time" :title="msgData.created_at" @click="timeShow=true">{{$A.formatTime(msgData.created_at)}}</div>
<template v-if="!hiddenPercentage"> <template v-if="!hidePercentage">
<div v-if="msgData.send > 1 || dialogType === 'group'" class="percent" @click="openReadPercentage"> <div v-if="msgData.send > 1 || dialogType === 'group'" class="percent" @click="openReadPercentage">
<EPopover <EPopover
v-model="popperShow" v-model="popperShow"
@ -103,7 +103,7 @@ export default {
type: String, type: String,
default: '' default: ''
}, },
hiddenPercentage: { hidePercentage: {
type: Boolean, type: Boolean,
default: false default: false
}, },
@ -339,7 +339,7 @@ export default {
pageType: 'web', pageType: 'web',
pageTitle: `${this.msgData.msg.name} (${$A.bytesToSize(this.msgData.msg.size)})`, pageTitle: `${this.msgData.msg.name} (${$A.bytesToSize(this.msgData.msg.size)})`,
statusBarStyle: false, statusBarStyle: false,
url: $A.apiUrl(`../#/token?token=${this.userToken}&from=${encodeURIComponent($A.apiUrl(`../#${uri}`))}`) url: $A.apiUrl(`../token?token=${this.userToken}&from=${encodeURIComponent($A.apiUrl(`..${uri}`))}`)
}, _ => {}); }, _ => {});
} else { } else {
window.open($A.apiUrl(`..${uri}`)) window.open($A.apiUrl(`..${uri}`))

View File

@ -57,7 +57,7 @@
<i class="taskfont dialog-create" @click="groupInfoShow = true">&#xe6e9;</i> <i class="taskfont dialog-create" @click="groupInfoShow = true">&#xe6e9;</i>
</ETooltip> </ETooltip>
</template> </template>
<ETooltip v-else-if="dialogData.type === 'user'" placement="top" :disabled="!$isDesktop" :content="$L('创建群组')"> <ETooltip v-else-if="dialogData.type === 'user' && !isMyDialog" placement="top" :disabled="!$isDesktop" :content="$L('创建群组')">
<i class="taskfont dialog-create" @click="openCreateGroup">&#xe646;</i> <i class="taskfont dialog-create" @click="openCreateGroup">&#xe646;</i>
</ETooltip> </ETooltip>
</div> </div>
@ -92,7 +92,7 @@
<div class="dialog-avatar"> <div class="dialog-avatar">
<UserAvatar :userid="item.userid" :tooltipDisabled="item.userid == userId" :size="30"/> <UserAvatar :userid="item.userid" :tooltipDisabled="item.userid == userId" :size="30"/>
</div> </div>
<DialogView :msg-data="item" :dialog-type="dialogData.type" :hidden-percentage="dialogData.dialog_user && dialogData.dialog_user.userid == userId"/> <DialogView :msg-data="item" :dialog-type="dialogData.type" :hide-percentage="isMyDialog"/>
</DynamicScrollerItem> </DynamicScrollerItem>
</template> </template>
</DynamicScroller> </DynamicScroller>
@ -102,8 +102,9 @@
<slot name="inputBefore"/> <slot name="inputBefore"/>
<ChatInput <ChatInput
ref="input" ref="input"
:dialog-id="dialogId"
v-model="msgText" v-model="msgText"
:dialog-id="dialogId"
:emoji-bottom="!$isDesktop"
:maxlength="20000" :maxlength="20000"
@on-focus="onEventFocus" @on-focus="onEventFocus"
@on-blur="onEventBlur" @on-blur="onEventBlur"
@ -312,6 +313,11 @@ export default {
} }
return String(num); return String(num);
}, },
isMyDialog() {
const {dialogData, userId} = this;
return dialogData.dialog_user && dialogData.dialog_user.userid == userId
}
}, },
watch: { watch: {

View File

@ -206,7 +206,7 @@ export default {
pageType: 'web', pageType: 'web',
pageTitle: $A.getFileName(this.file) + ` [${row.created_at}]`, pageTitle: $A.getFileName(this.file) + ` [${row.created_at}]`,
statusBarStyle: false, statusBarStyle: false,
url: $A.apiUrl(`../#/token?token=${this.userToken}&from=${encodeURIComponent($A.apiUrl(`../#${uri}`))}`) url: $A.apiUrl(`../token?token=${this.userToken}&from=${encodeURIComponent($A.apiUrl(`..${uri}`))}`)
}, _ => {}); }, _ => {});
} else { } else {
window.open($A.apiUrl(`..${uri}`)) window.open($A.apiUrl(`..${uri}`))

View File

@ -1278,7 +1278,7 @@ export default {
pageType: 'web', pageType: 'web',
pageTitle: `${file.name} (${$A.bytesToSize(file.size)})`, pageTitle: `${file.name} (${$A.bytesToSize(file.size)})`,
statusBarStyle: false, statusBarStyle: false,
url: $A.apiUrl(`../#/token?token=${this.userToken}&from=${encodeURIComponent($A.apiUrl(`../#${uri}`))}`) url: $A.apiUrl(`../token?token=${this.userToken}&from=${encodeURIComponent($A.apiUrl(`..${uri}`))}`)
}, _ => {}); }, _ => {});
} else { } else {
window.open($A.apiUrl(`..${uri}`)) window.open($A.apiUrl(`..${uri}`))

View File

@ -48,8 +48,7 @@ body.dark-mode-reverse {
} }
} }
.drawer-overlay { .common-drawer-overlay {
background: rgba(230, 230, 230, 0.6);
.overlay-body { .overlay-body {
.overlay-close { .overlay-close {
> a { > a {

View File

@ -85,7 +85,7 @@
.ql-mention-list-container { .ql-mention-list-container {
width: auto; width: auto;
min-width: 220px; min-width: 220px;
max-width: 350px; max-width: 280px;
max-height: 360px; max-height: 360px;
overflow-y: overlay; overflow-y: overlay;
@ -317,9 +317,6 @@
.chat-emoji-box { .chat-emoji-box {
width: auto; width: auto;
padding: 8px 2px; padding: 8px 2px;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
&::after { &::after {
content: ""; content: "";
flex: auto; flex: auto;
@ -403,6 +400,9 @@
width: 360px; width: 360px;
height: 280px; height: 280px;
padding: 8px; padding: 8px;
display: flex;
justify-content: space-around;
flex-wrap: wrap;
overflow-x: hidden; overflow-x: hidden;
word-break: break-all; word-break: break-all;
box-sizing: content-box; box-sizing: content-box;

View File

@ -1071,6 +1071,7 @@
} }
> ul { > ul {
> li { > li {
width: 320px;
&:first-child { &:first-child {
margin-left: 10px; margin-left: 10px;
} }

View File

@ -219,13 +219,15 @@
.picker-time { .picker-time {
display: flex; display: flex;
align-items: center; align-items: center;
flex-wrap: wrap;
line-height: 26px; line-height: 26px;
.time { .time {
cursor: pointer; cursor: pointer;
margin-right: 10px;
} }
.ivu-tag { .ivu-tag {
flex-shrink: 0; flex-shrink: 0;
margin-left: 10px; margin-right: 10px;
padding: 0 4px; padding: 0 4px;
height: 20px; height: 20px;
line-height: 18px; line-height: 18px;