|
@@ -42,20 +42,18 @@
|
|
|
</div>
|
|
|
<p class="w-full line-clamp-1 lin text-sm text-center text-black-6">添加成员</p>
|
|
|
</van-col>
|
|
|
- <van-col v-if="isRankAndFiler(userGroupData?.groupRemark)" span="4 mb-12 mr-10">
|
|
|
+ <van-col v-if="isRankAndFiler(userGroupData?.groupRole)" span="4 mb-12 mr-10">
|
|
|
<div
|
|
|
class="w-40 h-40 rounded-full flex justify-center items-center bg-[#F3F3F3] border mx-auto overflow-hidden mb-4"
|
|
|
>
|
|
|
- <span class="iconfont icon-minus text-black-6" style="font-size: 24px"></span>
|
|
|
-
|
|
|
- <!-- <van-icon name="minus" size="24" /> -->
|
|
|
+ <van-icon name="minus" size="24" color="#666666" />
|
|
|
</div>
|
|
|
<p class="w-full line-clamp-1 lin text-sm text-center text-black-6">删除成员</p>
|
|
|
</van-col>
|
|
|
</van-row>
|
|
|
|
|
|
- <!-- showBottom @click="showBottom = true" v-if="setData?.groupMember?.lenght == 15" @click="navigateTo('/chat/group-member')"-->
|
|
|
<div
|
|
|
+ v-if="changeState(userGroupData?.groupRole) && setData?.memberList?.lenght == 13"
|
|
|
@click="navigateTo('/chat/group-member')"
|
|
|
class="w-full flex pb-5 box-border justify-center items-center leading-3xl text-sm text-black"
|
|
|
>
|
|
@@ -68,14 +66,26 @@
|
|
|
<van-cell
|
|
|
size="large"
|
|
|
@click="
|
|
|
- openDialog({
|
|
|
- // title: setData?.groupName ? '修改群名称' : '添加群名称',
|
|
|
- title: '修改群名称',
|
|
|
- value: setData?.groupName,
|
|
|
- isRemark: 0,
|
|
|
- placeholder: '未命名',
|
|
|
- subTitle: '最多不能超过12个字'
|
|
|
- })
|
|
|
+ changeState(userGroupData?.groupRole)
|
|
|
+ ? openDialog({
|
|
|
+ title: '修改群名称',
|
|
|
+ value: setData?.groupName,
|
|
|
+ isRemark: 0,
|
|
|
+ placeholder: '未命名',
|
|
|
+ subTitle: '最多不能超过12个字'
|
|
|
+ })
|
|
|
+ : showDialog({
|
|
|
+ title: '群名称',
|
|
|
+ message: setData.groupName,
|
|
|
+ confirmButtonColor: '#FF9300',
|
|
|
+ showCancelButton: false
|
|
|
+ })
|
|
|
+ .then(() => {
|
|
|
+ // on close
|
|
|
+ })
|
|
|
+ .catch(() => {
|
|
|
+ // on cancel
|
|
|
+ })
|
|
|
"
|
|
|
center
|
|
|
is-link
|
|
@@ -94,7 +104,7 @@
|
|
|
query: {
|
|
|
groupName: setData.groupName,
|
|
|
groupAvatar: setData.groupAvatar,
|
|
|
- groupId: setData?.groupId
|
|
|
+ groupId: setData?.id
|
|
|
}
|
|
|
})
|
|
|
"
|
|
@@ -111,13 +121,13 @@
|
|
|
</van-cell>
|
|
|
|
|
|
<van-cell
|
|
|
- :clickable="isRankAndFiler(userGroupData?.groupRemark)"
|
|
|
+ :clickable="isRankAndFiler(userGroupData?.groupRole)"
|
|
|
@click="handleAnnouncement"
|
|
|
size="large"
|
|
|
center
|
|
|
is-link
|
|
|
title="群公告"
|
|
|
- :value="setData?.groupAnnouncement ? '' : '未设置'"
|
|
|
+ :value="setData?.groupNotice ? '' : '未设置'"
|
|
|
></van-cell>
|
|
|
|
|
|
<van-cell size="large" center>
|
|
@@ -132,26 +142,13 @@
|
|
|
</van-cell>
|
|
|
<van-cell
|
|
|
@click="
|
|
|
- changeState(userGroupData?.groupRole)
|
|
|
- ? openDialog({
|
|
|
- title: '群备注',
|
|
|
- value: userGroupData?.remark,
|
|
|
- isRemark: 1,
|
|
|
- placeholder: '备注',
|
|
|
- subTitle: '群备注仅自己可见'
|
|
|
- })
|
|
|
- : showDialog({
|
|
|
- title: '群名称',
|
|
|
- message: setData.groupName,
|
|
|
- confirmButtonColor: '#FF9300',
|
|
|
- showCancelButton: false
|
|
|
- })
|
|
|
- .then(() => {
|
|
|
- // on close
|
|
|
- })
|
|
|
- .catch(() => {
|
|
|
- // on cancel
|
|
|
- })
|
|
|
+ openDialog({
|
|
|
+ title: '群备注',
|
|
|
+ value: userGroupData?.groupRemark, //groupRemark
|
|
|
+ isRemark: 1,
|
|
|
+ placeholder: '备注',
|
|
|
+ subTitle: '群备注仅自己可见'
|
|
|
+ })
|
|
|
"
|
|
|
size="large"
|
|
|
is-link
|
|
@@ -160,14 +157,14 @@
|
|
|
>
|
|
|
<template #value>
|
|
|
<p class="w-full line-clamp-1">
|
|
|
- {{ userGroupData?.remark ? userGroupData?.remark : '未设置' }}
|
|
|
+ {{ userGroupData?.groupRemark ? userGroupData?.groupRemark : '未设置' }}
|
|
|
</p>
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
</van-cell-group>
|
|
|
|
|
|
<van-cell-group
|
|
|
- v-if="isRankAndFiler(userGroupData?.groupRemark)"
|
|
|
+ v-if="isRankAndFiler(userGroupData?.groupRole)"
|
|
|
style="margin-bottom: 12px"
|
|
|
inset
|
|
|
>
|
|
@@ -177,7 +174,7 @@
|
|
|
<span>开启后,在群聊广场和个人主页</span>
|
|
|
</template>
|
|
|
<template #right-icon>
|
|
|
- <van-switch v-model="showHomePage" active-color="#FF9300" inactive-color="#dcdee0" />
|
|
|
+ <van-switch v-model="isPublic" active-color="#FF9300" inactive-color="#dcdee0" />
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
<van-cell size="large" center title="群聊邀请确认">
|
|
@@ -188,7 +185,7 @@
|
|
|
</span>
|
|
|
</template>
|
|
|
<template #right-icon>
|
|
|
- <van-switch v-model="checked" active-color="#FF9300" inactive-color="#dcdee0" />
|
|
|
+ <van-switch v-model="isNeedConfirm" active-color="#FF9300" inactive-color="#dcdee0" />
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
|
|
@@ -197,7 +194,7 @@
|
|
|
navigateTo({
|
|
|
path: '/chat/examine',
|
|
|
query: {
|
|
|
- groupId: setData?.groupId
|
|
|
+ groupId: setData?.id
|
|
|
}
|
|
|
})
|
|
|
"
|
|
@@ -238,7 +235,7 @@
|
|
|
path: '/chat/set-sub',
|
|
|
query: {
|
|
|
tab: 'records',
|
|
|
- groupId: setData?.groupId
|
|
|
+ groupId: setData?.id
|
|
|
}
|
|
|
})
|
|
|
"
|
|
@@ -253,22 +250,41 @@
|
|
|
<template #right-icon>
|
|
|
<van-switch
|
|
|
v-model="isNotDisturb"
|
|
|
- @change="
|
|
|
- (val) => {
|
|
|
- isNotDisturb = val
|
|
|
- }
|
|
|
- "
|
|
|
+ @click="handleIsNotDisturb"
|
|
|
active-color="#FF9300"
|
|
|
inactive-color="#dcdee0"
|
|
|
/>
|
|
|
+ <!-- @change="
|
|
|
+ (val) => {
|
|
|
+ isNotDisturb = val
|
|
|
+ }
|
|
|
+ " -->
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
<van-cell size="large" is-link center title="置顶聊天">
|
|
|
<template #right-icon>
|
|
|
- <van-switch v-model="isTop" active-color="#FF9300" inactive-color="#dcdee0" />
|
|
|
+ <van-switch
|
|
|
+ v-model="isTop"
|
|
|
+ @click="handleIsTop"
|
|
|
+ active-color="#FF9300"
|
|
|
+ inactive-color="#dcdee0"
|
|
|
+ />
|
|
|
</template>
|
|
|
</van-cell>
|
|
|
- <van-cell size="large" is-link center title="设置当前聊天背景"></van-cell>
|
|
|
+ <van-cell
|
|
|
+ @click="
|
|
|
+ navigateTo({
|
|
|
+ path: '/chat/background',
|
|
|
+ query: {
|
|
|
+ groupId: setData?.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ "
|
|
|
+ size="large"
|
|
|
+ is-link
|
|
|
+ center
|
|
|
+ title="设置当前聊天背景"
|
|
|
+ ></van-cell>
|
|
|
</van-cell-group>
|
|
|
|
|
|
<van-cell-group style="margin-bottom: 12px" inset>
|
|
@@ -277,7 +293,7 @@
|
|
|
navigateTo({
|
|
|
path: '/chat/report',
|
|
|
query: {
|
|
|
- groupId: setData?.groupId,
|
|
|
+ groupId: setData?.id,
|
|
|
objectType: 2
|
|
|
}
|
|
|
})
|
|
@@ -338,15 +354,16 @@ useSeoMeta({
|
|
|
})
|
|
|
|
|
|
onMounted(() => {
|
|
|
- // userInfoStore.getUserInfo()
|
|
|
+ userInfoStore.getUserInfo()
|
|
|
getGroupSetData()
|
|
|
})
|
|
|
+// computed(() => route.query.userId ?? '')
|
|
|
|
|
|
let setData = reactive({
|
|
|
- groupId: computed(() => route.query.groupId ?? ''),
|
|
|
- userId: computed(() => route.query.userId ?? '')
|
|
|
- // groupRole: 1,
|
|
|
- // groupAnnouncement:
|
|
|
+ // groupId: computed(() => route.query.groupId ?? ''),
|
|
|
+ userId: userInfo.value.userId
|
|
|
+ // groupRole: 1
|
|
|
+ // groupNotice:
|
|
|
// '群公告模版 1.本群提倡友好理性交流,鼓励群友多发言,多互动 2.禁止无意义刷屏、发送广告信息以及谩骂等不良消息 3.为了保证群活跃不经常发言的群友,可能会被定时清理出群'
|
|
|
})
|
|
|
|
|
@@ -358,8 +375,11 @@ const userGroupData = ref(null)
|
|
|
|
|
|
const groupName = ref('')
|
|
|
|
|
|
+// isPublic 是否公开展示 0隐藏 1公开。
|
|
|
+// isNeedConfirm 是否开启群聊邀请确认 0不开启 1开启。
|
|
|
// 是否显示到个人主页
|
|
|
-const showHomePage = ref(false)
|
|
|
+const isPublic = ref(false)
|
|
|
+const isNeedConfirm = ref(false)
|
|
|
const isNotDisturb = ref(false)
|
|
|
const isTop = ref(false)
|
|
|
|
|
@@ -423,6 +443,19 @@ const changeTourMember = async (body) => {
|
|
|
method: 'post',
|
|
|
body
|
|
|
})
|
|
|
+ console.log(data, '修改自己在群里的备注')
|
|
|
+
|
|
|
+ if (data) {
|
|
|
+ //修改成功
|
|
|
+ if ((Object.keys(body)[1] = 'remark')) {
|
|
|
+ userGroupData.groupRemark = groupName.value
|
|
|
+ } else {
|
|
|
+ userGroupData[Object.keys(body)[1]] = groupName.value
|
|
|
+ }
|
|
|
+ showSuccessToast('操作成功')
|
|
|
+ } else {
|
|
|
+ // showSuccessToast('操作失败')
|
|
|
+ }
|
|
|
} catch (error) {}
|
|
|
}
|
|
|
|
|
@@ -430,34 +463,75 @@ const cancel = () => {
|
|
|
showDialog.value = false
|
|
|
}
|
|
|
|
|
|
-// 修改群名称
|
|
|
-const handleUpdGroupNickname = () => {}
|
|
|
-
|
|
|
// 改变状态的公用方法
|
|
|
const changeState = (state) => {
|
|
|
if (state == 1) return true
|
|
|
if (state == 0) return false
|
|
|
}
|
|
|
|
|
|
+const changeStateBoolean = (state) => {
|
|
|
+ if (state) {
|
|
|
+ return 1
|
|
|
+ } else {
|
|
|
+ return 0
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 是否置顶
|
|
|
+const handleIsTop = () => {
|
|
|
+ handleBoolean({ isTop: changeStateBoolean(isTop.value) })
|
|
|
+}
|
|
|
+
|
|
|
+// 是否免打扰
|
|
|
+const handleIsNotDisturb = () => {
|
|
|
+ handleBoolean({ isNotDisturb: changeStateBoolean(isNotDisturb.value) })
|
|
|
+}
|
|
|
+
|
|
|
+const handleBoolean = async (params) => {
|
|
|
+ try {
|
|
|
+ let { data } = await request('/website/tourMember/updateSingleTourMember', {
|
|
|
+ method: 'post',
|
|
|
+ body: {
|
|
|
+ groupId: userGroupData.value.groupId,
|
|
|
+ ...params
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (data) {
|
|
|
+ if (Object.keys(params)[0] == 'isTop') {
|
|
|
+ isTop.value ? showToast('已置顶') : showToast('置顶取消')
|
|
|
+ }
|
|
|
+ if (Object.keys(params)[0] == 'isNotDisturb') {
|
|
|
+ isNotDisturb.value ? showToast('已开启面打扰') : showToast('已关闭面打扰')
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (error) {}
|
|
|
+}
|
|
|
// 获取群设置的配置信息
|
|
|
const getGroupSetData = async () => {
|
|
|
const { data } = await request('/website/tourGroup/getGroupInfoAndMemberByGroupId', {
|
|
|
query: {
|
|
|
- groupId: setData.groupId
|
|
|
+ groupId: route.query.groupId
|
|
|
}
|
|
|
})
|
|
|
if (typeof data == 'object') {
|
|
|
setData = data
|
|
|
+ console.log(setData.id, 'setDataid')
|
|
|
+ console.log(setData, 'setData')
|
|
|
+
|
|
|
console.log(data.memberList, '555')
|
|
|
- console.log(userInfo.value.userId, '555')
|
|
|
+ console.log(userInfo.value.userId, 'userInfo')
|
|
|
|
|
|
userGroupData.value = data.memberList.find((item) => item.userId == userInfo.value.userId)
|
|
|
+ console.log()
|
|
|
+
|
|
|
console.log(userGroupData.value, '4444')
|
|
|
+ console.log(userGroupData.value.groupRole, 'userGroupData groupRole')
|
|
|
+
|
|
|
+ isPublic.value = changeState(setData.isPublic)
|
|
|
+ isNeedConfirm.value = changeState(setData.isNeedConfirm)
|
|
|
|
|
|
- userGroupData.value.isNotDisturb == 0
|
|
|
- ? (isNotDisturb.value = false)
|
|
|
- : (isNotDisturb.value = true)
|
|
|
- userGroupData.value.isTop == 0 ? (isTop.value = false) : (isTop.value = true)
|
|
|
+ isNotDisturb.value = changeState(userGroupData.value?.isNotDisturb)
|
|
|
+ isTop.value = changeState(userGroupData.value.isTop)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -480,25 +554,35 @@ const clearChatHistory = () => {
|
|
|
confirmButtonColor: '#FF9300'
|
|
|
})
|
|
|
.then(async () => {
|
|
|
- const { data } = await request('/tourMessage/clearGroupMessage', {
|
|
|
- query: {
|
|
|
- groupId: setData?.groupId
|
|
|
- }
|
|
|
- })
|
|
|
- if (data) {
|
|
|
- return
|
|
|
- } else {
|
|
|
- return
|
|
|
- }
|
|
|
+ try {
|
|
|
+ const res = await request('/website/tourMessage/clearGroupMessage', {
|
|
|
+ query: {
|
|
|
+ groupId: setData?.id
|
|
|
+ }
|
|
|
+ })
|
|
|
+ if (res && res?.success) return
|
|
|
+ } catch (error) {}
|
|
|
})
|
|
|
.catch(() => {})
|
|
|
}
|
|
|
|
|
|
// 点击公告
|
|
|
const handleAnnouncement = () => {
|
|
|
- console.log(!isRankAndFiler(userGroupData?.groupRemark))
|
|
|
+ console.log(userGroupData.value?.groupRole, 'userGroupData?.groupRole')
|
|
|
+ console.log(!isRankAndFiler(3))
|
|
|
+ // && !setData?.groupNotice
|
|
|
+ if (isRankAndFiler(userGroupData.value?.groupRole)) {
|
|
|
+ // navigateTo({
|
|
|
+ // path: '/chat/announcement',
|
|
|
+ // query: {
|
|
|
+ // groupId: setData?.id,
|
|
|
+ // userId: userInfo.value.userId,
|
|
|
+ // groupRole: userGroupData.value?.groupRole
|
|
|
+ // }
|
|
|
+ // })
|
|
|
+ }
|
|
|
|
|
|
- if (!isRankAndFiler(userGroupData?.groupRemark) && !setData?.groupAnnouncement) {
|
|
|
+ if (!isRankAndFiler(userGroupData.value?.groupRole)) {
|
|
|
showConfirmDialog({
|
|
|
width: 260,
|
|
|
message: `只有群主${setData?.groupName ? setData?.groupName : ''}或群管理员才能修改公告`,
|
|
@@ -508,15 +592,6 @@ const handleAnnouncement = () => {
|
|
|
}).then(() => {})
|
|
|
return
|
|
|
}
|
|
|
-
|
|
|
- navigateTo({
|
|
|
- path: '/chat/announcement',
|
|
|
- query: {
|
|
|
- groupId: setData?.groupId,
|
|
|
- userId: userInfo.value.userId,
|
|
|
- groupRole: userGroupData?.groupRemark
|
|
|
- }
|
|
|
- })
|
|
|
}
|
|
|
|
|
|
// 退出群聊
|