diff --git a/app/Http/Controllers/Api/DialogController.php b/app/Http/Controllers/Api/DialogController.php
index 2216ebfd7..b3dd60d51 100755
--- a/app/Http/Controllers/Api/DialogController.php
+++ b/app/Http/Controllers/Api/DialogController.php
@@ -259,6 +259,9 @@ class DialogController extends AbstractController
->where('d.id', $dialog_id)
->whereNull('d.deleted_at')
->first();
+ if (empty($item)) {
+ return Base::retError('不在成员列表内');
+ }
return Base::retSuccess('success', WebSocketDialog::synthesizeData($item, $user->userid));
}
diff --git a/language/original-web.txt b/language/original-web.txt
index f28a41221..7f66a92cc 100644
--- a/language/original-web.txt
+++ b/language/original-web.txt
@@ -1959,3 +1959,4 @@ API请求的URL路径
获取本地模型列表
任务超期未完成
+打开部门群
diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue
index 9baad0242..1f8c26f68 100644
--- a/resources/assets/js/pages/manage.vue
+++ b/resources/assets/js/pages/manage.vue
@@ -299,7 +299,7 @@
v-model="allUserShow"
placement="right"
:size="1380">
-
+
diff --git a/resources/assets/js/pages/manage/components/TeamManagement.vue b/resources/assets/js/pages/manage/components/TeamManagement.vue
index b9f4603fa..daa1a91fd 100644
--- a/resources/assets/js/pages/manage/components/TeamManagement.vue
+++ b/resources/assets/js/pages/manage/components/TeamManagement.vue
@@ -31,7 +31,7 @@
{{$L('部门负责人')}}
@@ -40,12 +40,16 @@
{{$L('添加子部门')}}
+
+ {{$L('打开部门群')}}
+
{{$L('编辑')}}
@@ -795,6 +799,7 @@ export default {
dialog_useid: 0
},
departmentList: [],
+ departmentOperation: 0,
dialogLoad: false,
dialogList: [],
@@ -1259,17 +1264,38 @@ export default {
this.departmentSelect = id
},
+ onVcDepartment(visible, id) {
+ this.departmentOperation = visible ? id : 0;
+ },
+
onOpDepartment(val) {
if ($A.leftExists(val, 'add_')) {
this.onShowDepartment({
parent_id: parseInt(val.substr(4))
})
- } else if ($A.leftExists(val, 'edit_')) {
+ return
+ }
+
+ if ($A.leftExists(val, 'edit_')) {
const editItem = this.departmentList.find(({id}) => id === parseInt(val.substr(5)))
if (editItem) {
this.onShowDepartment(editItem)
}
- } else if ($A.leftExists(val, 'del_')) {
+ return;
+ }
+
+ if ($A.leftExists(val, 'dialog_')) {
+ const dialogId = parseInt(val.substr(7))
+ this.$store.dispatch("openDialog", dialogId).then(() => {
+ this.goForward({name: 'manage-messenger'})
+ this.$emit('on-close')
+ }).catch(({msg}) => {
+ $A.modalError(msg || this.$L('打开会话失败'))
+ })
+ return;
+ }
+
+ if ($A.leftExists(val, 'del_')) {
const delItem = this.departmentList.find(({id}) => id === parseInt(val.substr(4)))
if (delItem) {
$A.modalConfirm({
diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js
index 69ec72ff9..64cc7cdf7 100644
--- a/resources/assets/js/store/actions.js
+++ b/resources/assets/js/store/actions.js
@@ -2919,7 +2919,7 @@ export default {
* @returns {Promise}
*/
openDialog({state, dispatch}, dialog_id) {
- return new Promise(async resolve => {
+ return new Promise(async (resolve, reject) => {
let search_msg_id;
let dialog_msg_id;
if ($A.isJson(dialog_id)) {
@@ -2933,7 +2933,8 @@ export default {
try {
await dispatch("getDialogOne", dialog_id)
} catch (e) {
- console.warn(e);
+ reject(e);
+ return;
} finally {
dispatch("hiddenSpinner")
}