Compare commits
12 Commits
7595af1d33
...
a06f0b2489
Author | SHA1 | Date | |
---|---|---|---|
a06f0b2489 | |||
84cca43b52 | |||
|
b771a3c910 | ||
|
0b542e2e63 | ||
c2a9676b09 | |||
|
d0063bf11f | ||
|
11ff75f0d3 | ||
|
8d82024a1e | ||
|
982adc3f4b | ||
|
efc9ffea12 | ||
|
d66aa108d8 | ||
|
165f960d14 |
2
components.d.ts
vendored
2
components.d.ts
vendored
@ -30,8 +30,6 @@ declare module 'vue' {
|
|||||||
LoginMessage: typeof import('./src/components/talk/message/LoginMessage.vue')['default']
|
LoginMessage: typeof import('./src/components/talk/message/LoginMessage.vue')['default']
|
||||||
Message: typeof import('./src/components/x-message/message/index.vue')['default']
|
Message: typeof import('./src/components/x-message/message/index.vue')['default']
|
||||||
MixedMessage: typeof import('./src/components/talk/message/MixedMessage.vue')['default']
|
MixedMessage: typeof import('./src/components/talk/message/MixedMessage.vue')['default']
|
||||||
NButton: typeof import('naive-ui')['NButton']
|
|
||||||
NIcon: typeof import('naive-ui')['NIcon']
|
|
||||||
PageAnimation: typeof import('./src/components/page-animation/index.vue')['default']
|
PageAnimation: typeof import('./src/components/page-animation/index.vue')['default']
|
||||||
RevokeMessage: typeof import('./src/components/talk/message/RevokeMessage.vue')['default']
|
RevokeMessage: typeof import('./src/components/talk/message/RevokeMessage.vue')['default']
|
||||||
RouterLink: typeof import('vue-router')['RouterLink']
|
RouterLink: typeof import('vue-router')['RouterLink']
|
||||||
|
@ -2,6 +2,7 @@
|
|||||||
import { textReplaceEmoji } from '@/utils/emojis'
|
import { textReplaceEmoji } from '@/utils/emojis'
|
||||||
import { textReplaceLink, textReplaceMention } from '@/utils/strings'
|
import { textReplaceLink, textReplaceMention } from '@/utils/strings'
|
||||||
import { ITalkRecordExtraText, ITalkRecord } from '@/types/chat'
|
import { ITalkRecordExtraText, ITalkRecord } from '@/types/chat'
|
||||||
|
import { computed } from 'vue'
|
||||||
|
|
||||||
const props = defineProps<{
|
const props = defineProps<{
|
||||||
extra: ITalkRecordExtraText
|
extra: ITalkRecordExtraText
|
||||||
@ -12,15 +13,14 @@ const props = defineProps<{
|
|||||||
|
|
||||||
const float = props.data.float
|
const float = props.data.float
|
||||||
|
|
||||||
let textContent = props.extra?.content || ''
|
const textContent = computed(() => {
|
||||||
|
let text = props.extra?.content || ''
|
||||||
textContent = textReplaceLink(textContent)
|
text = textReplaceLink(text)
|
||||||
|
if (props.data.talk_type == 2) {
|
||||||
if (props.data.talk_type == 2) {
|
text = textReplaceMention(text, '#1890ff')
|
||||||
textContent = textReplaceMention(textContent, '#1890ff')
|
}
|
||||||
}
|
return textReplaceEmoji(text)
|
||||||
|
})
|
||||||
textContent = textReplaceEmoji(textContent)
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
|
@ -167,7 +167,7 @@
|
|||||||
@click="showConfirmPrompt(3)"
|
@click="showConfirmPrompt(3)"
|
||||||
class="clear-chat-record-btn-each"
|
class="clear-chat-record-btn-each"
|
||||||
v-if="
|
v-if="
|
||||||
groupParams?.groupInfo?.is_manager &&
|
groupParams?.groupInfo?.is_manager === false &&
|
||||||
dialogueParams.type === 2 &&
|
dialogueParams.type === 2 &&
|
||||||
(groupParams?.groupInfo?.group_type === 1 ||
|
(groupParams?.groupInfo?.group_type === 1 ||
|
||||||
groupParams?.groupInfo?.group_type === 3)
|
groupParams?.groupInfo?.group_type === 3)
|
||||||
|
@ -96,6 +96,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
|
v-if="isCreateProjecy"
|
||||||
@click="groupActiveIndex = 2;depCheckedKeys = [];"
|
@click="groupActiveIndex = 2;depCheckedKeys = [];"
|
||||||
class="groupCard thirdPanel"
|
class="groupCard thirdPanel"
|
||||||
:class="groupActiveIndex === 2 ? 'activePanel' : ''"
|
:class="groupActiveIndex === 2 ? 'activePanel' : ''"
|
||||||
@ -144,6 +145,7 @@ onUnload(()=> {
|
|||||||
|
|
||||||
})
|
})
|
||||||
const isHasPermission = ref(false)
|
const isHasPermission = ref(false)
|
||||||
|
const isCreateProjecy = ref(false)
|
||||||
onShow( async() =>{
|
onShow( async() =>{
|
||||||
const isHasRes = await userHasPermission({
|
const isHasRes = await userHasPermission({
|
||||||
erpUserId: userInfo?.value?.ID,
|
erpUserId: userInfo?.value?.ID,
|
||||||
@ -158,6 +160,7 @@ onShow( async() =>{
|
|||||||
} else{
|
} else{
|
||||||
isHasPermission.value = false
|
isHasPermission.value = false
|
||||||
}
|
}
|
||||||
|
isCreateProjecy.value = isHasRes.data.btn_rule_create_project_group
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -219,8 +219,7 @@ onLoad(()=> {
|
|||||||
groupStore.$reset()
|
groupStore.$reset()
|
||||||
})
|
})
|
||||||
onUnload(()=> {
|
onUnload(()=> {
|
||||||
groupName.value = '';
|
resetGroupInfo();
|
||||||
groupActiveIndex.value = -1;
|
|
||||||
})
|
})
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
handleSetWebviewStyle()
|
handleSetWebviewStyle()
|
||||||
@ -332,7 +331,7 @@ const confirmBtnStatus = computed(() => {
|
|||||||
}
|
}
|
||||||
switch (groupActiveIndex.value) {
|
switch (groupActiveIndex.value) {
|
||||||
case 0:
|
case 0:
|
||||||
if(allChooseMembers?.value?.length < 3) {
|
if(allChooseMembers?.value?.length < 2) {
|
||||||
disabledT = true
|
disabledT = true
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
@ -345,7 +344,7 @@ const confirmBtnStatus = computed(() => {
|
|||||||
}
|
}
|
||||||
break
|
break
|
||||||
case 2:
|
case 2:
|
||||||
if(allChooseMembers?.value?.length < 3) {
|
if(allChooseMembers?.value?.length < 2) {
|
||||||
disabledT = true
|
disabledT = true
|
||||||
}
|
}
|
||||||
break
|
break
|
||||||
|
@ -194,17 +194,10 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="load-toolbar pointer" style="transform: scaleY(-1);">
|
<div class="load-toolbar pointer" style="transform: scaleY(-1);">
|
||||||
<span v-if="loadConfig.status == 0">正在加载数据中 ...</span>
|
<span v-if="loadConfig.status == 0">正在加载数据中 ...</span>
|
||||||
<span v-else-if="loadConfig.status == 1" @click="onScrollToLower">
|
<span v-if="loadConfig.status == 1" @click="onScrollToLower">
|
||||||
查看更多消息 ...
|
查看更多消息 ...
|
||||||
</span>
|
</span>
|
||||||
<span
|
<span v-if="loadConfig.status == 2" class="no-more">
|
||||||
v-else-if="
|
|
||||||
loadConfig.status != 0 &&
|
|
||||||
loadConfig.status != 1 &&
|
|
||||||
state.localPageLoadDone
|
|
||||||
"
|
|
||||||
class="no-more"
|
|
||||||
>
|
|
||||||
没有更多消息了
|
没有更多消息了
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -1116,6 +1109,9 @@ watch(
|
|||||||
) {
|
) {
|
||||||
//相同意味着分页加载缓存中的聊天记录完毕
|
//相同意味着分页加载缓存中的聊天记录完毕
|
||||||
state.value.localPageLoadDone = true
|
state.value.localPageLoadDone = true
|
||||||
|
if (dialogueList?.records?.[0]?.sequence !== 1) {
|
||||||
|
loadConfig.status = 1
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
state.value.localPageLoadDone = false
|
state.value.localPageLoadDone = false
|
||||||
}
|
}
|
||||||
@ -1227,9 +1223,9 @@ const onScrollToUpper = async () => {
|
|||||||
virtualList.value = tempVirtualList
|
virtualList.value = tempVirtualList
|
||||||
.concat(
|
.concat(
|
||||||
dialogueList.records.slice(
|
dialogueList.records.slice(
|
||||||
Math.min(recordIndex + 11, dialogueList.records.length),
|
recordIndex + 1,
|
||||||
dialogueList.records.length,
|
Math.min(recordIndex + 11, dialogueList.records.length)
|
||||||
),
|
)
|
||||||
)
|
)
|
||||||
.reverse()
|
.reverse()
|
||||||
|
|
||||||
@ -1522,12 +1518,11 @@ const doMentionUser = (mentionSelect) => {
|
|||||||
// 构造正确的 mention 对象
|
// 构造正确的 mention 对象
|
||||||
const mentionObj = {
|
const mentionObj = {
|
||||||
id: mentionSelect.user_id, // 使用 user_id 而不是 erp_user_id
|
id: mentionSelect.user_id, // 使用 user_id 而不是 erp_user_id
|
||||||
nickname: mentionSelect.nickname
|
nickname: mentionSelect.nickname,
|
||||||
}
|
}
|
||||||
getMentionSelectLists([mentionObj])
|
getMentionSelectLists([mentionObj])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
let avatarPressTimer = null
|
let avatarPressTimer = null
|
||||||
let currentPressItem = null
|
let currentPressItem = null
|
||||||
|
|
||||||
|
@ -7,9 +7,9 @@
|
|||||||
>
|
>
|
||||||
<div class="avatarImg">
|
<div class="avatarImg">
|
||||||
<tm-badge
|
<tm-badge
|
||||||
:count="props.data.is_disturb === 1 ? props.data.unread_num : ''"
|
:count="props.data.is_disturb === 0 ? props.data.unread_num : ''"
|
||||||
:dot="
|
:dot="
|
||||||
props.data.is_disturb === 0 && props.data.unread_num
|
props.data.is_disturb === 1 && props.data.unread_num
|
||||||
? true
|
? true
|
||||||
: false
|
: false
|
||||||
"
|
"
|
||||||
|
Loading…
Reference in New Issue
Block a user