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;