mirror of
https://github.com/kuaifan/dootask.git
synced 2026-02-28 04:40:37 +00:00
no message
This commit is contained in:
parent
ac45ba633b
commit
965895de5c
@ -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>
|
||||||
|
|||||||
@ -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 对scrollTop及scrolIntoView解释有bug
|
// ios11.0-11.3 对scrollTop及scrolIntoView解释有bug
|
||||||
// 直接执行会导致输入框滚到底部被遮挡
|
// 直接执行会导致输入框滚到底部被遮挡
|
||||||
} 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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@ -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}`))
|
||||||
|
|||||||
@ -57,7 +57,7 @@
|
|||||||
<i class="taskfont dialog-create" @click="groupInfoShow = true"></i>
|
<i class="taskfont dialog-create" @click="groupInfoShow = true"></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"></i>
|
<i class="taskfont dialog-create" @click="openCreateGroup"></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: {
|
||||||
|
|||||||
@ -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}`))
|
||||||
|
|||||||
@ -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}`))
|
||||||
|
|||||||
3
resources/assets/sass/dark.scss
vendored
3
resources/assets/sass/dark.scss
vendored
@ -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 {
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
@ -1071,6 +1071,7 @@
|
|||||||
}
|
}
|
||||||
> ul {
|
> ul {
|
||||||
> li {
|
> li {
|
||||||
|
width: 320px;
|
||||||
&:first-child {
|
&:first-child {
|
||||||
margin-left: 10px;
|
margin-left: 10px;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -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;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user