Przeglądaj źródła

办件中心和角标集成WS功能

songxy 11 miesięcy temu
rodzic
commit
3dc86b8d24

+ 3 - 0
client/.env.dev

@@ -10,6 +10,9 @@ VITE_BASE_URL='http://10.10.10.7:18080'
 # 上传路径
 VITE_UPLOAD_URL='/infra/file/upload'
 
+# websocket地址路径
+VITE_SOCKET='ws://10.10.10.7:6091/ws/'
+
 # 上传配置对应的编号ID
 VITE_UPLOAD_CLIENT_ID=20
 

+ 3 - 0
client/.env.pro

@@ -6,6 +6,9 @@ VITE_DEV=false
 # 请求路径
 VITE_BASE_URL='https://oa.zjugis.com:28080'
 
+# websocket地址路径
+VITE_SOCKET='wss://oa.zjugis.com:28080/ws/'
+
 # 上传路径
 VITE_UPLOAD_URL='/infra/file/upload'
 # 上传配置对应的编号ID

+ 23 - 0
client/src/App.vue

@@ -4,6 +4,8 @@ import { useDesign } from '@/hooks/web/useDesign'
 import routerSearch from '@/components/RouterSearch/index.vue'
 import subscribe from '@/utils/Subscribe'
 import LinkRouteMap from './LinkRouteMap'
+import { useUserStore } from '@/store/modules/user'
+import { useWebSocket } from '@vueuse/core'
 
 defineOptions({ name: 'APP' })
 
@@ -30,6 +32,27 @@ eKeys.forEach((eKey) => {
     })
   })
 })
+
+const userStore = useUserStore()
+const server = ref(import.meta.env.VITE_SOCKET + '?userId=' + userStore.getUser.id)
+
+const { data } = useWebSocket(server.value, {
+  autoReconnect: false,
+  heartbeat: true
+})
+
+watchEffect(() => {
+  if (data.value) {
+    try {
+      if (data.value === 'OFFICE_CENTER') {
+        subscribe.emit('updateHandleCenterCorner', null)
+        subscribe.emit('updateHandleCenterEvent', null)
+      }
+    } catch (error) {
+      console.error('WS Error:' + error)
+    }
+  }
+})
 </script>
 <template>
   <ConfigGlobal :size="currentSize">

+ 0 - 4
client/src/main.ts

@@ -64,10 +64,6 @@ window.addEventListener('message', (evt) => {
       subscribe.emit('closeCurrentView', null)
       return;
     }
-    if (eData && eData.data && eData.data.type && eData.data.type === 'updateHandleCenterCorner') {
-      subscribe.emit('updateHandleCenterCorner', null)
-      return;
-    }
     if (payload && payload['title']) {
       const lRoutePayload = LinkRouteMap[payload['title']]
       if (lRoutePayload) {

+ 6 - 0
client/src/views/OaSystem/officeCenter/mainOfficeCenter/index.vue

@@ -264,6 +264,7 @@ import {
   recoverActivity,
   addIHangUp
 } from '@/api/oa/workflow'
+import subscribe from '@/utils/Subscribe'
 import { TabColumns } from './common'
 import { InullyApplyEnum, InullyApplyEnumType } from './inullyApply'
 import useLookAndApplyFlow from './lookAndApplyFlow'
@@ -378,6 +379,11 @@ const initHandleCaseCenterData = () => {
   queryHandlerCaseCenterCount()
   queryHandlerCaseCenterList()
 }
+
+subscribe.on('updateHandleCenterEvent', () => {
+  //同步更新办件中心角标
+  initHandleCaseCenterData()
+})
 /**
  * 初始化新建流程中流程模板Tree
  */