diff --git a/resources/assets/js/functions/web.js b/resources/assets/js/functions/web.js index 314482522..9c5268c81 100755 --- a/resources/assets/js/functions/web.js +++ b/resources/assets/js/functions/web.js @@ -905,6 +905,10 @@ import {convertLocalResourcePath} from "../components/Replace/utils"; $A.Message.success($A.L(msg)); }, + messageInfo(msg) { + $A.Message.info($A.L(msg)); + }, + messageWarning(msg) { if (msg === false) { return; diff --git a/resources/assets/js/pages/manage.vue b/resources/assets/js/pages/manage.vue index 5b191350f..a6c186e47 100644 --- a/resources/assets/js/pages/manage.vue +++ b/resources/assets/js/pages/manage.vue @@ -1074,19 +1074,7 @@ export default { this.__notificationId = id; // const notificationFuncA = async (title) => { - let tempUser = this.cacheUserBasic.find(item => item.userid == userid); - if (!tempUser) { - try { - const {data} = await this.$store.dispatch("call", { - url: 'users/basic', - data: { - userid: [userid] - }, - checkAuth: false - }); - tempUser = data.find(item => item.userid == userid); - } catch (_) {} - } + const tempUser = (await this.$store.dispatch("getUserData", userid).catch(_ => {}))?.data; if (dialog_type === 'group' && tempUser) { title = `${title} (${tempUser.nickname})` } diff --git a/resources/assets/js/pages/manage/components/DialogView/index.vue b/resources/assets/js/pages/manage/components/DialogView/index.vue index 7951e033c..bd20189d8 100644 --- a/resources/assets/js/pages/manage/components/DialogView/index.vue +++ b/resources/assets/js/pages/manage/components/DialogView/index.vue @@ -76,7 +76,7 @@ {{msgData.reply_num}}条回复 -
+
@@ -399,6 +399,20 @@ export default { } }, + openTag() { + if (!this.msgData.tag) { + return + } + this.$store.dispatch("showSpinner", 600) + this.$store.dispatch("getUserData", this.msgData.tag).then(user => { + $A.messageInfo(`标注人员:${user.nickname} (ID: ${user.userid})`) + }).catch(_ => { + $A.messageError('标注人员不存在') + }).finally(_ => { + this.$store.dispatch("hiddenSpinner") + }); + }, + openTodo() { if (this.todoLoad > 0) { return; diff --git a/resources/assets/js/store/actions.js b/resources/assets/js/store/actions.js index 4379cfe72..11d790f61 100644 --- a/resources/assets/js/store/actions.js +++ b/resources/assets/js/store/actions.js @@ -795,6 +795,36 @@ export default { }); }, + /** + * 获取用户基础信息(缓存没有则请求网络) + * @param state + * @param dispatch + * @param userid + * @returns {Promise} + */ + getUserData({state, dispatch}, userid) { + return new Promise(async (resolve, reject) => { + let tempUser = state.cacheUserBasic.find(item => item.userid == userid); + if (!tempUser) { + try { + const {data} = await dispatch("call", { + url: 'users/basic', + data: { + userid: [userid] + }, + checkAuth: false + }); + tempUser = data.find(item => item.userid == userid); + } catch (_) {} + } + if (tempUser) { + resolve(tempUser); + } else { + reject(); + } + }) + }, + /** * 保存用户基础信息 * @param commit diff --git a/resources/assets/sass/pages/components/dialog-wrapper.scss b/resources/assets/sass/pages/components/dialog-wrapper.scss index 16008e48d..d18b1d4ee 100644 --- a/resources/assets/sass/pages/components/dialog-wrapper.scss +++ b/resources/assets/sass/pages/components/dialog-wrapper.scss @@ -1632,6 +1632,10 @@ } } + .tag { + cursor: pointer; + } + .todo { position: relative; cursor: pointer;