From 37be5e9b0153d5881fbceb4867455c6be5fa3921 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=99=88=E7=BA=A2=E4=B8=BD?= <1181930680@qq.com>
Date: Wed, 18 Dec 2024 10:14:47 +0800
Subject: [PATCH] Websocket
---
src/App.vue | 19 +++-
src/api/system/user.ts | 11 ++
src/components/Websocket/index.vue | 155 +++++++++++++++++++++++++++++
src/views/system/user/index.vue | 31 +++++-
src/views/system/user/sendMsg.vue | 80 +++++++++++++++
5 files changed, 293 insertions(+), 3 deletions(-)
create mode 100644 src/components/Websocket/index.vue
create mode 100644 src/views/system/user/sendMsg.vue
diff --git a/src/App.vue b/src/App.vue
index 9bae1d8..b16255a 100644
--- a/src/App.vue
+++ b/src/App.vue
@@ -5,20 +5,24 @@
+
diff --git a/src/views/system/user/index.vue b/src/views/system/user/index.vue
index 66e9f60..10899fe 100644
--- a/src/views/system/user/index.vue
+++ b/src/views/system/user/index.vue
@@ -84,6 +84,14 @@
导出
+
+
+
+
+
+
+ 发送消息
+
@@ -95,6 +103,11 @@
@success="reloadTable('noRefresh')"
/>
+
@@ -103,6 +116,7 @@
import { ColProps } from 'element-plus';
import { TableAction } from '@/components/Table';
import { useForm } from '@/components/Form/index';
+ import { initWebSocket,sendWebSocket } from '@/components/Websocket/index';
import {
getUserList,
userDelete,
@@ -117,14 +131,16 @@
import { downloadByData } from '@/utils/file/download';
import printJS from 'print-js';
const userId = ref(0);
+ const receiveId = ref('')
const tableRef = ref();
const editVisible = ref(false);
+ const sendMsgVisible = ref(false);
const importVisible = ref(false);
const selectionData = ref([]);
const exportLoading = ref(false);
const editDialog = defineAsyncComponent(() => import('./edit.vue'));
+ const sendMsgDialog = defineAsyncComponent(() => import('./sendMsg.vue'));
const userUpload = defineAsyncComponent(() => import('./userUpload.vue'));
-
/**
* 定义查询参数
*/
@@ -313,6 +329,19 @@
exportLoading.value = false;
message('导出成功');
};
+ /**
+ * 发送消息
+ */
+ const sendMessage=async ()=>{
+ if(selectionData.value.length==0){
+ message('请选择数据','error')
+ return
+ }
+ let ids = [];
+ ids = selectionData.value.map(({ id }) => id);
+ receiveId.value = ids.join()
+ sendMsgVisible.value = true
+ }
diff --git a/src/views/system/user/sendMsg.vue b/src/views/system/user/sendMsg.vue
new file mode 100644
index 0000000..06dfcc0
--- /dev/null
+++ b/src/views/system/user/sendMsg.vue
@@ -0,0 +1,80 @@
+
+
+
+
+
+
+
+
+
+
+
+
+