Compare commits

..

No commits in common. "a06f0b248968d7c26e2a952f071c451b4dd78916" and "7595af1d33bb4750adfd24619f532b7cdc235232" have entirely different histories.

7 changed files with 32 additions and 27 deletions

2
components.d.ts vendored
View File

@ -30,6 +30,8 @@ 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']

View File

@ -2,7 +2,6 @@
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
@ -13,14 +12,15 @@ const props = defineProps<{
const float = props.data.float const float = props.data.float
const textContent = computed(() => { let textContent = props.extra?.content || ''
let text = props.extra?.content || ''
text = textReplaceLink(text) textContent = textReplaceLink(textContent)
if (props.data.talk_type == 2) {
text = textReplaceMention(text, '#1890ff') if (props.data.talk_type == 2) {
} textContent = textReplaceMention(textContent, '#1890ff')
return textReplaceEmoji(text) }
})
textContent = textReplaceEmoji(textContent)
</script> </script>
<template> <template>

View File

@ -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 === false && groupParams?.groupInfo?.is_manager &&
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)

View File

@ -96,7 +96,6 @@
</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' : ''"
@ -145,7 +144,6 @@ 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,
@ -160,7 +158,6 @@ onShow( async() =>{
} else{ } else{
isHasPermission.value = false isHasPermission.value = false
} }
isCreateProjecy.value = isHasRes.data.btn_rule_create_project_group
} }
}) })

View File

@ -219,7 +219,8 @@ onLoad(()=> {
groupStore.$reset() groupStore.$reset()
}) })
onUnload(()=> { onUnload(()=> {
resetGroupInfo(); groupName.value = '';
groupActiveIndex.value = -1;
}) })
onMounted(() => { onMounted(() => {
handleSetWebviewStyle() handleSetWebviewStyle()
@ -331,7 +332,7 @@ const confirmBtnStatus = computed(() => {
} }
switch (groupActiveIndex.value) { switch (groupActiveIndex.value) {
case 0: case 0:
if(allChooseMembers?.value?.length < 2) { if(allChooseMembers?.value?.length < 3) {
disabledT = true disabledT = true
} }
break break
@ -344,7 +345,7 @@ const confirmBtnStatus = computed(() => {
} }
break break
case 2: case 2:
if(allChooseMembers?.value?.length < 2) { if(allChooseMembers?.value?.length < 3) {
disabledT = true disabledT = true
} }
break break

View File

@ -194,10 +194,17 @@
</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-if="loadConfig.status == 1" @click="onScrollToLower"> <span v-else-if="loadConfig.status == 1" @click="onScrollToLower">
查看更多消息 ... 查看更多消息 ...
</span> </span>
<span v-if="loadConfig.status == 2" class="no-more"> <span
v-else-if="
loadConfig.status != 0 &&
loadConfig.status != 1 &&
state.localPageLoadDone
"
class="no-more"
>
没有更多消息了 没有更多消息了
</span> </span>
</div> </div>
@ -1109,9 +1116,6 @@ 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
} }
@ -1223,9 +1227,9 @@ const onScrollToUpper = async () => {
virtualList.value = tempVirtualList virtualList.value = tempVirtualList
.concat( .concat(
dialogueList.records.slice( dialogueList.records.slice(
recordIndex + 1, Math.min(recordIndex + 11, dialogueList.records.length),
Math.min(recordIndex + 11, dialogueList.records.length) dialogueList.records.length,
) ),
) )
.reverse() .reverse()
@ -1518,11 +1522,12 @@ 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

View File

@ -7,9 +7,9 @@
> >
<div class="avatarImg"> <div class="avatarImg">
<tm-badge <tm-badge
:count="props.data.is_disturb === 0 ? props.data.unread_num : ''" :count="props.data.is_disturb === 1 ? props.data.unread_num : ''"
:dot=" :dot="
props.data.is_disturb === 1 && props.data.unread_num props.data.is_disturb === 0 && props.data.unread_num
? true ? true
: false : false
" "