From 04acd7c56d512dad6574675b6966398ffaa968b6 Mon Sep 17 00:00:00 2001 From: kuaifan Date: Sun, 16 Mar 2025 22:16:02 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8F=AF=E7=82=B9=E5=87=BB=E6=A0=87?= =?UTF-8?q?=E6=B3=A8=E5=9B=BE=E6=A0=87=E6=9F=A5=E7=9C=8B=E6=A0=87=E6=B3=A8?= =?UTF-8?q?=E4=BA=BA=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/assets/js/functions/web.js | 4 +++ resources/assets/js/pages/manage.vue | 14 +-------- .../manage/components/DialogView/index.vue | 16 +++++++++- resources/assets/js/store/actions.js | 30 +++++++++++++++++++ .../sass/pages/components/dialog-wrapper.scss | 4 +++ 5 files changed, 54 insertions(+), 14 deletions(-) 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;