@@ -61,7 +64,9 @@
class="group-member-list-each"
@click="groupRemoveMembers"
v-if="
- props?.is_manager && (props?.groupType == 1 || props?.groupType == 3)
+ props?.is_manager &&
+ (props?.groupType == 1 || props?.groupType == 3) &&
+ !props?.hideAddRemoveBtns
"
>
@@ -82,6 +87,7 @@ const props = defineProps({
memberListsLimit: Number, //人员列表数量限制
is_manager: Boolean, //是否管理员
groupType: Number, //群类型
+ hideAddRemoveBtns: Boolean, //是否隐藏添加移除按钮
})
//点击跳转到用户详情页面
@@ -97,7 +103,7 @@ const toUserDetailPage = (userItem) => {
//点击群聊拉人
const groupAddMembers = () => {
uni.navigateTo({
- url: '/pages/chooseMembers/index',
+ url: '/pages/chooseByDeps/index?chooseMode=2',
})
}
diff --git a/src/pages/chatSettings/groupManage/manageGroupAdmin.vue b/src/pages/chatSettings/groupManage/manageGroupAdmin.vue
index 69c47ee..33a11f2 100644
--- a/src/pages/chatSettings/groupManage/manageGroupAdmin.vue
+++ b/src/pages/chatSettings/groupManage/manageGroupAdmin.vue
@@ -176,7 +176,7 @@ const getGroupAdminList = () => {
}
}
-//点击跳转到添加禁言成员页面
+//点击跳转到添加管理员页面
const toSelectMembersPage = () => {
uni.navigateTo({
url: '/pages/chatSettings/groupManage/selectMembers?manageType=admin',
diff --git a/src/pages/chatSettings/groupManage/selectMembers.vue b/src/pages/chatSettings/groupManage/selectMembers.vue
index 9a166c9..97ac25d 100644
--- a/src/pages/chatSettings/groupManage/selectMembers.vue
+++ b/src/pages/chatSettings/groupManage/selectMembers.vue
@@ -234,6 +234,7 @@ const state = reactive({
scrollDirection: '', //当前列表滚动方向
isAssign: false, //是否指定view
selectedMembersNum: 0, //当前选中数量
+ isCreateDepGroup: 0, //是否是创建部门群
})
watch(
@@ -263,6 +264,10 @@ onLoad((options) => {
state.manageType = options.manageType
assembleAlphabetMemberList(dialogueParams?.memberList)
}
+ if (options.isCreateDepGroup) {
+ state.isCreateDepGroup = Number(options.isCreateDepGroup)
+ assembleAlphabetMemberList()
+ }
})
onMounted(() => {
@@ -516,41 +521,16 @@ const assembleAlphabetMemberList = async (newMemberList) => {
departmentIdsArr.push(item.dept_id)
})
}
- await groupTypeStore.getPositionByDepartment({
- IDs: departmentIdsArr,
- })
- let departmentAllPositions = []
- if (groupTypeParams?.departmentAllPositions?.value?.length > 0) {
- groupTypeParams?.departmentAllPositions?.value?.forEach((item) => {
- item?.AllPositions?.forEach((positionItem) => {
- departmentAllPositions.push({
- nickname: item.name + '-' + positionItem.name,
- id: item.ID + '-' + positionItem.ID,
- checkArr: [],
- positionInfo: {
- position_id: positionItem.ID,
- position_name: positionItem.name,
- },
- })
- })
+ getPosiByDep(departmentIdsArr)
+ } else if (state.isCreateDepGroup === 1) {
+ console.log(groupTypeStore.depCheckedKeys)
+ let departmentIdsArr = []
+ if (groupTypeStore?.depCheckedKeys?.length > 0) {
+ groupTypeStore.depCheckedKeys.forEach((item) => {
+ departmentIdsArr.push(item.ID)
})
}
- if (groupParams?.groupInfo?.groupAdminList?.length > 0) {
- groupParams?.groupInfo?.groupAdminList.forEach((item) => {
- departmentAllPositions.forEach((idsItem) => {
- if (item.dept_id + '-' + item.position_id == idsItem.id) {
- idsItem.leader = 1
- }
- })
- })
- }
- // console.log(departmentAllPositions)
- state.resultMemberList = [
- {
- key: '',
- memberList: departmentAllPositions,
- },
- ]
+ getPosiByDep(departmentIdsArr)
} else {
state.resultMemberList = [
{
@@ -562,6 +542,44 @@ const assembleAlphabetMemberList = async (newMemberList) => {
}
}
+const getPosiByDep = async (departmentIdsArr) => {
+ await groupTypeStore.getPositionByDepartment({
+ IDs: departmentIdsArr,
+ })
+ let departmentAllPositions = []
+ if (groupTypeParams?.departmentAllPositions?.value?.length > 0) {
+ groupTypeParams?.departmentAllPositions?.value?.forEach((item) => {
+ item?.AllPositions?.forEach((positionItem) => {
+ departmentAllPositions.push({
+ nickname: item.name + '-' + positionItem.name,
+ id: item.ID + '-' + positionItem.ID,
+ checkArr: [],
+ positionInfo: {
+ position_id: positionItem.ID,
+ position_name: positionItem.name,
+ },
+ })
+ })
+ })
+ }
+ if (groupParams?.groupInfo?.groupAdminList?.length > 0) {
+ groupParams?.groupInfo?.groupAdminList.forEach((item) => {
+ departmentAllPositions.forEach((idsItem) => {
+ if (item.dept_id + '-' + item.position_id == idsItem.id) {
+ idsItem.leader = 1
+ }
+ })
+ })
+ }
+ // console.log(departmentAllPositions)
+ state.resultMemberList = [
+ {
+ key: '',
+ memberList: departmentAllPositions,
+ },
+ ]
+}
+
//滚动到指定的view
const scrollToView = (alphabet) => {
state.currentAlphabet = alphabet
diff --git a/src/pages/chatSettings/index.vue b/src/pages/chatSettings/index.vue
index c328fb5..915efdb 100644
--- a/src/pages/chatSettings/index.vue
+++ b/src/pages/chatSettings/index.vue
@@ -185,7 +185,11 @@ import {
useGroupTypeStore,
} from '@/store'
import { onLoad } from '@dcloudio/uni-app'
-import { ServeInviteGroup, ServeDismissGroup } from '@/api/group/index'
+import {
+ ServeInviteGroup,
+ ServeDismissGroup,
+ ServeSecedeGroup,
+} from '@/api/group/index'
import { ServeTopTalkList, ServeSetNotDisturb } from '@/api/chat/index'
import { useI18n } from 'vue-i18n'
const { t } = useI18n()
@@ -566,6 +570,15 @@ const showConfirmPrompt = (flag) => {
delta: 2,
})
}
+ } else if (flag === 3) {
+ ServeSecedeGroup({
+ group_id: dialogueParams.receiver_id,
+ }).then(({ code, message }) => {
+ if (code == 200) {
+ // dialogueStore.apiClearRecord()
+ } else {
+ }
+ })
}
},
onCancel: () => {},
diff --git a/src/pages/chooseByDeps/index.vue b/src/pages/chooseByDeps/index.vue
index b5156c1..afeb385 100644
--- a/src/pages/chooseByDeps/index.vue
+++ b/src/pages/chooseByDeps/index.vue
@@ -91,7 +91,11 @@