From 0da3738089b3622c564cb93267987f9a77a076aa Mon Sep 17 00:00:00 2001 From: zhang zhuo Date: Mon, 15 Dec 2025 14:00:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/model/system.ts | 29 +++ src/assets/images/404.png | Bin 0 -> 21265 bytes src/components/piEditor/index.vue | 6 +- .../components/{tasks.vue => attach.vue} | 0 src/layout/components/msg.vue | 134 ++++++++++++ src/layout/components/userbar.vue | 190 +++--------------- src/views/dashboard/index.vue | 24 +-- src/views/dashboard/message/detail.vue | 75 +++++++ src/views/dashboard/message/index.vue | 28 --- src/views/system/account/index.vue | 45 +++-- src/views/system/account/save.vue | 39 ++-- src/views/system/message/index.vue | 137 +++++++++++++ src/views/system/message/save.vue | 63 ++++++ src/views/system/user/index.vue | 20 ++ 14 files changed, 554 insertions(+), 236 deletions(-) create mode 100644 src/assets/images/404.png rename src/layout/components/{tasks.vue => attach.vue} (100%) create mode 100644 src/layout/components/msg.vue create mode 100644 src/views/dashboard/message/detail.vue delete mode 100644 src/views/dashboard/message/index.vue create mode 100644 src/views/system/message/index.vue create mode 100644 src/views/system/message/save.vue diff --git a/src/api/model/system.ts b/src/api/model/system.ts index 09c91a9..34d45ca 100644 --- a/src/api/model/system.ts +++ b/src/api/model/system.ts @@ -235,4 +235,33 @@ export default { return await http.get("translations", data); } }, + message: { + list: async function (data = {}) { + return await http.get("message/list", data); + }, + add: async function (data = {}) { + return await http.post("message/add", data); + }, + edit: async function (data = {}) { + return await http.put("message/edit", data); + }, + del: async function (data = {}) { + return await http.delete("message/del", data); + }, + recalled: async function (data = {}) { + return await http.put("message/recalled", data); + }, + mine: async function (data = {}) { + return await http.get("message/mine", data); + }, + read: async function (data = {}) { + return await http.post("message/read", data); + }, + detail: async function (data = {}) { + return await http.get("message/detail", data); + }, + remove: async function (data = {}) { + return await http.delete("message/remove", data); + }, + }, } diff --git a/src/assets/images/404.png b/src/assets/images/404.png new file mode 100644 index 0000000000000000000000000000000000000000..d406f04e201788c332994d104b5bc7e904fe75a6 GIT binary patch literal 21265 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 literal 0 HcmV?d00001 diff --git a/src/components/piEditor/index.vue b/src/components/piEditor/index.vue index 3cc2018..dcbc5c5 100644 --- a/src/components/piEditor/index.vue +++ b/src/components/piEditor/index.vue @@ -66,10 +66,10 @@ let html = ref("") watch(() => props.modelValue, () => { html.value = props.modelValue -}, {deep: true}) - -onMounted(() => { +}, {immediate: true}) +watch(html, () => { + emit("update:modelValue", html.value) }) onUnmounted(() => { diff --git a/src/layout/components/tasks.vue b/src/layout/components/attach.vue similarity index 100% rename from src/layout/components/tasks.vue rename to src/layout/components/attach.vue diff --git a/src/layout/components/msg.vue b/src/layout/components/msg.vue new file mode 100644 index 0000000..97dec54 --- /dev/null +++ b/src/layout/components/msg.vue @@ -0,0 +1,134 @@ + + + + + diff --git a/src/layout/components/userbar.vue b/src/layout/components/userbar.vue index 35c93ed..e3bade1 100644 --- a/src/layout/components/userbar.vue +++ b/src/layout/components/userbar.vue @@ -14,18 +14,11 @@ -
- - - - - -
-
- +
+
+
+ + + + + +
{{ nicknameF }} @@ -90,8 +66,8 @@ - - + + @@ -100,9 +76,10 @@ defineOptions({ name: "userBar" }) import {ref, onMounted, getCurrentInstance} from "vue" -import search from './search.vue' -import setting from './setting.vue' -import tasks from './tasks.vue' +import search from './search' +import setting from './setting' +import attach from './attach' +import msg from './msg' import websocket from "@/utils/websocket" import {ElNotification} from 'element-plus' import tools from "@/utils/tools" @@ -116,14 +93,11 @@ const {t} = useI18n() const msgVisible = ref(false); let searchVisible = ref(false) -let msg = ref(false) -let msgNum = ref(2) -let msgList = ref([]) -const tasksVisible = ref(false) -let taskNum = ref(0) +let newMsg = ref(false) +const attachVisible = ref(false) +let newTask = ref(false) const settingDialog = ref(false) const userInfo = tools.data.get("USER_INFO"); -let msgTab = ref("notice") let nickname = userInfo.nickname || userInfo.username; let nicknameF = nickname.substring(0, 1); @@ -132,7 +106,6 @@ let avatar = userInfo.avatar // mounted onMounted(() => { initWebSocket() - loadData() }) function initWebSocket() { @@ -142,16 +115,16 @@ function initWebSocket() { } function messageHandle(message) { - if (message.data == "connection successful" || message.data == "pong") { + if (message.data === "connection successful" || message.data === "pong") { return; } const data = JSON.parse(message.data) if (!data) { return; } - if (data.code == 200) { + if (data.code === 200) { ElNotification.success({ - title: 'Success', + title: '新信息通知', message: data['msg'] }) } else { @@ -160,12 +133,11 @@ function messageHandle(message) { message: data['msg'] }) } - if (data.type == "message") { - msgNum.value++ - } else if (data.type == "task") { - taskNum.value++ + if (data.type === "system" || data.type === "business" || data.type === "approval") { + newMsg.value = true + } else if (data.type === "attach") { + newTask.value = true } - return; } function closeHandle() { @@ -218,48 +190,6 @@ function handleUser(command) { function screen() { tools.screen(document.documentElement) } - -async function loadData() { - // let res = await this.$API.home.message.newCount() - // this.msgNum = res.data.count - msgNum.value = 5 - msgList.value.push({ - title: '您有一笔新的订单请及时处理。您有一笔新的订单请及时处理', - time: '2025-06-17 17:59:21' - }) - msgList.value.push({ - title: '您有一笔新的订单请及时处理。您有一笔新的订单请及时处理', - time: '2025-06-16 10:29:30' - }) - msgList.value.push({ - title: '您有一笔新的订单请及时处理。', - time: '2025-06-15 12:29:30' - }) - msgList.value.push({ - title: '您有一笔新的订单请及时处理。', - time: '2025-05-15 12:29:30' - }) - msgList.value.push({ - title: '您有一笔新的订单请及时处理。', - time: '2025-01-16 12:29:30' - }) - msgList.value.push({ - title: '您有一笔新的订单请及时处理。', - time: '2024-06-15 12:29:30' - }) - msgList.value.push({ - title: '您有一笔新的订单请及时处理。', - time: '2024-06-15 12:29:30' - }) - msgList.value.push({ - title: '您有一笔新的订单请及时处理。', - time: '2015-06-15 12:29:30' - }) - msgList.value.push({ - title: '您有一笔新的订单请及时处理。', - time: '2025-06-15 12:29:30' - }) -} diff --git a/src/views/dashboard/message/index.vue b/src/views/dashboard/message/index.vue deleted file mode 100644 index a735510..0000000 --- a/src/views/dashboard/message/index.vue +++ /dev/null @@ -1,28 +0,0 @@ - - - - - diff --git a/src/views/system/account/index.vue b/src/views/system/account/index.vue index 2c5241e..3fa4a2f 100644 --- a/src/views/system/account/index.vue +++ b/src/views/system/account/index.vue @@ -6,11 +6,15 @@ - + - + @@ -27,17 +31,22 @@ + +