Compare commits

..

No commits in common. "478b4bdd57c4f3bcc7542da3c1cc0e8c33c0eb84" and "ecb4b6417611a34ae89d654a8e4e6611c7711eca" have entirely different histories.

4 changed files with 99 additions and 110 deletions

View File

@ -13,8 +13,8 @@ import { useUtil } from '@/hooks/useUtil'
const { useMessage } = useUtil() const { useMessage } = useUtil()
// const isFriend = ref(false) // const isFriend = ref(false) //
// const showBtn = ref(false) const showBtn = ref(false)
const router = useRouter() const router = useRouter()
const talkStore = useTalkStore() const talkStore = useTalkStore()
@ -177,26 +177,26 @@ const onToTalk = () => {
// } // }
// //
// const addFriend = () => { const addFriend = () => {
// let params = { let params = {
// receiver_id: props.uid, //id receiver_id: props.uid, //id
// talk_type: 1 talk_type: 1
// } }
// ServeAddFriend(params).then((res) => { ServeAddFriend(params).then((res) => {
// if (res?.code === 200) { if (res?.code === 200) {
// useMessage.success('') useMessage.success('添加成功')
// isFriend.value = !isFriend.value isFriend.value = !isFriend.value
// } }
// }) })
// } }
const onAfterEnter = () => { const onAfterEnter = () => {
onLoadData() onLoadData()
// ServeCheckFriend({ receiver_id: props.uid, talk_type: 1 }).then((res) => { ServeCheckFriend({ receiver_id: props.uid, talk_type: 1 }).then((res) => {
// if (res?.code === 200) { if (res?.code === 200) {
// showBtn.value = true showBtn.value = true
// isFriend.value = res.data?.is_friend || false isFriend.value = res.data?.is_friend || false
// } }
// }) })
} }
const onAfterLeave = () => { const onAfterLeave = () => {
// loading.value = true // loading.value = true
@ -293,14 +293,7 @@ const onAfterLeave = () => {
<div class="text-#747474 text-12px">{{ userInfo.enter_date }}</div> <div class="text-#747474 text-12px">{{ userInfo.enter_date }}</div>
</div> </div>
</div> </div>
<div v-if="showBtn">
<n-button block color="#EEE9F8" text-color="#46299D" @click="onToTalk">
<div class="flex items-center justify-center py-11px">
<img class="w-19.8px h-20px mr-15px" src="@/assets/image/faxi@2x.png" alt="" />
<span>发送消息</span>
</div>
</n-button>
<!-- <div v-if="showBtn">
<n-button block color="#EEE9F8" text-color="#46299D" @click="onToTalk" v-if="isFriend"> <n-button block color="#EEE9F8" text-color="#46299D" @click="onToTalk" v-if="isFriend">
<div class="flex items-center justify-center py-11px"> <div class="flex items-center justify-center py-11px">
<img class="w-19.8px h-20px mr-15px" src="@/assets/image/faxi@2x.png" alt="" /> <img class="w-19.8px h-20px mr-15px" src="@/assets/image/faxi@2x.png" alt="" />
@ -325,7 +318,7 @@ const onAfterLeave = () => {
<span>添加好友</span> <span>添加好友</span>
</div> </div>
</n-button> </n-button>
</div> --> </div>
</template> </template>
</div> </div>
</x-n-modal> </x-n-modal>

View File

@ -124,20 +124,20 @@ const events = {
} }
} }
// const isFriend = ref(true) // const isFriend = ref(true) //
// // //
// const AddFriends = () => { const AddFriends = () => {
// let params = { let params = {
// receiver_id: talkParams.receiver_id, //id receiver_id: talkParams.receiver_id, //id
// talk_type: 1 talk_type: 1
// } }
// ServeAddFriend(params).then((res) => { ServeAddFriend(params).then((res) => {
// if (res?.code === 200) { if (res?.code === 200) {
// isFriend.value = !isFriend.value isFriend.value = !isFriend.value
// useMessage.success('') useMessage.success('添加成功')
// } }
// }) })
// } }
watch( watch(
() => talkParams, () => talkParams,
(newValue, oldValue) => { (newValue, oldValue) => {
@ -534,7 +534,7 @@ const clearSelectedDateTime = () => {
<!-- 聊天区域 --> <!-- 聊天区域 -->
<main class="el-main relative"> <main class="el-main relative">
<!-- <div <div
class="p-[15px] pt-[10px] w-[100%] z-99 absolute" class="p-[15px] pt-[10px] w-[100%] z-99 absolute"
v-if="!isFriend && talkParams.type !== 2" v-if="!isFriend && talkParams.type !== 2"
> >
@ -553,7 +553,7 @@ const clearSelectedDateTime = () => {
<span>添加好友</span> <span>添加好友</span>
</n-button> </n-button>
</div> </div>
</div> --> </div>
<PanelContent <PanelContent
:uid="talkParams.uid" :uid="talkParams.uid"
:talk_type="talkParams.type" :talk_type="talkParams.type"

View File

@ -247,8 +247,7 @@ const state = reactive({
tooltip: true tooltip: true
}, },
render(row, index) { render(row, index) {
// return row.nickname + '' + row.job_num + '' return row.nickname + '【' + row.job_num + '】'
return row.nickName + '【' + row.jobNum + '】'
} }
}, },
{ {
@ -259,13 +258,12 @@ const state = reactive({
tooltip: true tooltip: true
}, },
render(row, index) { render(row, index) {
let positionNames = Array.isArray(row.depPositions) // let positionNames = Array.isArray(row.user_position)
? row.depPositions.flatMap((dep) => // ? row.depPositions.flatMap((dep) =>
Array.isArray(dep.positions) ? dep.positions.map((pos) => pos.name) : [] // Array.isArray(dep.positions) ? dep.positions.map((pos) => pos.name) : []
) // )
: [] // : []
return positionNames.join(' , ') return row.user_position.map((item) => item.position_name).join(' , ')
// return row.user_position.map((item) => item.position_name).join(' , ')
} }
}, },
{ {
@ -457,7 +455,7 @@ const state = reactive({
myFriendListData: [], // myFriendListData: [], //
addFriendList: [], // addFriendList: [], //
addressBookTableHeight: 524, // addressBookTableHeight: 524, //
addressBookTableWidth: 800, // addressBookTableWidth: 1142, //
addressBookPage: 1, // addressBookPage: 1, //
addressBookPageSize: 10, // addressBookPageSize: 10, //
addressBookTotal: 0, // addressBookTotal: 0, //
@ -522,9 +520,7 @@ const items = computed((): ISession[] => {
return [...topItems, ...normalItems] return [...topItems, ...normalItems]
}) })
setTimeout(() => { setTimeout(()=>{console.log('items',items)},2000)
console.log('items', items)
}, 2000)
watch( watch(
() => state.addressBookSearchNickName, () => state.addressBookSearchNickName,
(newValue, oldValue) => { (newValue, oldValue) => {
@ -533,7 +529,7 @@ watch(
state.addressBookTableWidth = 1142 state.addressBookTableWidth = 1142
state.addressBookPage = 1 state.addressBookPage = 1
} else { } else {
state.addressBookTableWidth = 800 // state.addressBookTableWidth = 800
state.clickKey = 3 state.clickKey = 3
state.treeRefreshCount++ state.treeRefreshCount++
state.addressBookPage = 1 state.addressBookPage = 1
@ -598,8 +594,8 @@ const indexName = computed(() => dialogueStore.index_name)
// //
const onTabTalk = (item: ISession, follow = false) => { const onTabTalk = (item: ISession, follow = false) => {
console.log('onTabTalk') console.log('onTabTalk')
console.log('item.index_name === indexName.value', item.index_name === indexName.value) console.log('item.index_name === indexName.value',item.index_name === indexName.value)
if (item.index_name === indexName.value) return if (item.index_name === indexName.value) return
searchKeyword.value = '' searchKeyword.value = ''
@ -644,7 +640,7 @@ const onReload = () => {
// //
const onInitialize = () => { const onInitialize = () => {
let index_name = getCacheIndexName() let index_name = getCacheIndexName()
console.log('index_name', index_name) console.log('index_name',index_name)
index_name && onTabTalk(talkStore.findItem(index_name), true) index_name && onTabTalk(talkStore.findItem(index_name), true)
} }
@ -652,9 +648,9 @@ const onInitialize = () => {
onBeforeRouteUpdate(onInitialize) onBeforeRouteUpdate(onInitialize)
onBeforeMount(() => { onBeforeMount(() => {
getTreeData() // getTreeData()
getDepPoisUser() getDepPoisUser()
// getMyFriends() getMyFriends()
getUserGroupChatList() getUserGroupChatList()
}) })
@ -753,36 +749,36 @@ const getMyFriends = () => {
} }
// //
const getDepPoisUser = () => { const getDepPoisUser = () => {
let url = '/user/v2/list' // let url = '/user/v2/list'
// let url = '/api/v1/contact/friend/list' // let url = '/api/v1/contact/friend/list'
let params = {
departmentId: state.addressBookSearchNickName ? undefined : state.clickKey,
page: state.addressBookPage,
pageSize: state.addressBookPageSize,
status: 'notactive',
nickName: state.addressBookSearchNickName
}
$request.HTTP.components.postDataByParams(url, params).then((res) => {
// console.log(res)
if (res.status === 0 && Array.isArray(res.data.data)) {
state.addressBookData = res.data.data || []
state.addressBookTotal = res.data.count
}
})
// let params = { // let params = {
// type: 'addressBook', //addressBook // departmentId: state.addressBookSearchNickName ? undefined : state.clickKey,
// page: state.addressBookPage, // page: state.addressBookPage,
// page_size: state.addressBookPageSize, // pageSize: state.addressBookPageSize,
// name: state.addressBookSearchNickName // status: 'notactive',
// nickName: state.addressBookSearchNickName
// } // }
// GetContactFriendList(params).then((res) => { // $request.HTTP.components.postDataByParams(url, params).then((res) => {
// // console.log(res) // // console.log(res)
// if (res.code === 200 && Array.isArray(res.data.user_list)) { // if (res.status === 0 && Array.isArray(res.data.data)) {
// state.addressBookData = res.data.user_list || [] // state.addressBookData = res.data.data || []
// state.company_name = res.data.company_name || ''
// state.addressBookTotal = res.data.count // state.addressBookTotal = res.data.count
// } // }
// }) // })
let params = {
type: 'addressBook', //addressBook
page: state.addressBookPage,
page_size: state.addressBookPageSize,
name: state.addressBookSearchNickName
}
GetContactFriendList(params).then((res) => {
// console.log(res)
if (res.code === 200 && Array.isArray(res.data.user_list)) {
state.addressBookData = res.data.user_list || []
state.company_name = res.data.company_name || ''
state.addressBookTotal = res.data.count
}
})
} }
// //
@ -834,7 +830,7 @@ const resetAddressBookModal = () => {
state.groupChatListPage = 1 state.groupChatListPage = 1
state.groupChatListPageSize = 10 state.groupChatListPageSize = 10
getDepPoisUser() getDepPoisUser()
// getMyFriends() getMyFriends()
getUserGroupChatList() getUserGroupChatList()
state.addFriendList = [] state.addFriendList = []
}) })
@ -1099,15 +1095,15 @@ const handleEnterSearchResultChat = () => {
<n-icon :component="Plus" /> <n-icon :component="Plus" />
</template> </template>
</n-button> --> </n-button> -->
<img <!-- <img
style="width: 19px; height: 20px; cursor: pointer" style="width: 19px; height: 20px; cursor: pointer"
src="@/assets/image/chatList/addressBook.png" src="@/assets/image/chatList/addressBook.png"
alt="" alt=""
@click="showAddressBookModal" @click="showAddressBookModal"
/> /> -->
<!-- <n-dropdown :options="option" @select="handleSelect"> <n-dropdown :options="option" @select="handleSelect">
<n-button> <n-icon :component="AddOne" /></n-button> <n-button> <n-icon :component="AddOne" /></n-button>
</n-dropdown> --> </n-dropdown>
</header> </header>
<!-- 置顶栏目 --> <!-- 置顶栏目 -->
@ -1196,9 +1192,8 @@ const handleEnterSearchResultChat = () => {
> >
<!-- <n-tab name="employeeAddressBook">组织架构</n-tab> <!-- <n-tab name="employeeAddressBook">组织架构</n-tab>
<n-tab name="employeeAddressBook">我的好友</n-tab> --> <n-tab name="employeeAddressBook">我的好友</n-tab> -->
<!-- <n-tab name="employeeAddressBook">组织架构</n-tab> --> <n-tab name="employeeAddressBook">组织架构</n-tab>
<n-tab name="employeeAddressBook">员工通讯录</n-tab> <n-tab name="myFriend">我的好友</n-tab>
<!-- <n-tab name="myFriend">我的好友</n-tab> -->
<n-tab name="groupChatList">群聊列表</n-tab> <n-tab name="groupChatList">群聊列表</n-tab>
</n-tabs> </n-tabs>
<xSearchForm <xSearchForm
@ -1232,8 +1227,8 @@ const handleEnterSearchResultChat = () => {
class="addressBook-content" class="addressBook-content"
v-if="state.addressBookCurrentTab == 'employeeAddressBook'" v-if="state.addressBookCurrentTab == 'employeeAddressBook'"
> >
<!-- 隐藏组织架构树 v-if="!state.addressBookSearchNickName && 0"--> <!-- 隐藏组织架构树 -->
<div class="addressBook-tree" v-if="!state.addressBookSearchNickName"> <div class="addressBook-tree" v-if="!state.addressBookSearchNickName && 0">
<fl-tree <fl-tree
:data="state.treeData" :data="state.treeData"
:expandedKeys="state.expandedKeys" :expandedKeys="state.expandedKeys"

View File

@ -1075,6 +1075,7 @@ const onCustomSkipBottomEvent = () => {
&.border { &.border {
border-radius: 10px; border-radius: 10px;
border: 1px solid var(--im-primary-color); border: 1px solid var(--im-primary-color);
background-color: red;
} }
} }