From c02a3ebf5b4338710c4f9ae231d72cf591dfb97f Mon Sep 17 00:00:00 2001
From: 小小儁爺 <1694218219@qq.com>
Date: 星期一, 02 十二月 2024 11:28:04 +0800
Subject: [PATCH] 1.修改  批量派发 没绑定工艺路线的单子,显示在最前面

---
 src/layout/components/Navbar.vue |   83 ++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 81 insertions(+), 2 deletions(-)

diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 1b24596..04cd585 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -64,6 +64,16 @@
           <el-tooltip class="item" effect="dark" content="鍏ㄥ睆" placement="bottom">
             <screenfull id="screenfull" class="right-menu-item hover-effect" />
           </el-tooltip>
+
+          <el-tooltip class="item" effect="dark" content="鎴戠殑娑堟伅" placement="bottom">
+            <el-badge :is-dot="$store.state.settings.isDot" class="item right-menu-item hover-effect">
+              <i class="el-icon-bell" @click="$message('鐐瑰嚮浜嗘垜鐨勬秷鎭紒');$store.state.settings.isDot=false" />
+            </el-badge>
+          </el-tooltip>
+
+          <div style=" font-size: 18px;font-family: 'Microsoft YaHei';color:#AAAAAA;padding:0 8px;cursor: pointer">
+            {{ stu_torgname }}
+          </div>
           <!--        <el-tooltip content="Global Size" effect="dark" placement="bottom">-->
           <!--          <size-select id="size-select" class="right-menu-item hover-effect" />-->
           <!--        </el-tooltip>-->
@@ -95,12 +105,16 @@
             <el-dropdown-item @click.native="editPassword">
               <span style="display:block;">淇敼瀵嗙爜</span>
             </el-dropdown-item>
+            <el-dropdown-item divided @click.native="systemSetting">
+              <span style="display:block;">绯荤粺閰嶇疆</span>
+            </el-dropdown-item>
             <el-dropdown-item divided @click.native="logout">
               <span style="display:block;font-weight: bolder">閫�鍑�</span>
             </el-dropdown-item>
           </el-dropdown-menu>
         </el-dropdown>
       </div>
+
       <el-dialog
         v-el-drag-dialog
         title="淇敼瀵嗙爜"
@@ -133,6 +147,11 @@
       </el-dialog>
 
     </div>
+
+    <right-panel ref="rightPanel">
+      <settings />
+    </right-panel>
+
   </div>
 
 </template>
@@ -150,6 +169,9 @@
 import Search from '@/components/HeaderSearch'
 import Screenfull from '@/components/Screenfull'
 import variables from '@/styles/variables.scss'
+import RightPanel from '@/components/RightPanel'
+import Settings from '../components/Settings/index'
+import * as signalR from '@aspnet/signalr'
 
 export default {
   components: {
@@ -157,9 +179,12 @@
     Breadcrumb,
     Hamburger,
     Search,
-    Screenfull
+    Screenfull,
+    Settings,
+    RightPanel
   },
   directives: { elDragDialog },
+
   data() {
     const validatePassword1 = (rule, value, callback) => {
       if (!value) {
@@ -198,15 +223,23 @@
         newpassword: [
           { required: true, validator: validatePassword2, trigger: ['blur', 'change'] }
         ]
-      }
+      },
+      stu_torgname: '',
+      show: false,
+      signalr: null
     }
   },
   inject: [
     'reload'
   ],
   created() {
+    // this.$signalr.start()
     this.usercode = getCookie('navTabId')
     this.username = getCookie('username')
+    this.stu_torgname = getCookie('stu_torgname') === '' ? '绯荤粺绠$悊鍛�' : getCookie('stu_torgname')
+  },
+  mounted() {
+    // this.getHubConnectionBuilder()
   },
   computed: {
     ...mapGetters([
@@ -238,6 +271,44 @@
     }
   },
   methods: {
+    // 寤虹珛hub杩炴帴
+    async getHubConnectionBuilder() {
+      const url = 'http://121.196.36.24:8019/chatHub'
+      this.signalr = new signalR.HubConnectionBuilder().withUrl(url, {
+        // skipNegotiation: true,
+        // transport: signalR.HttpTransportType.WebSockets
+      }).configureLogging(signalR.LogLevel.Information).build()
+
+      await this.signalr.start().then(() => {
+        if (window.Notification) {
+          if (Notification.permission === 'granted') {
+            console.log('鍏佽閫氱煡')
+          } else if (Notification.permission !== 'denied') {
+            console.log('闇�瑕侀�氱煡鏉冮檺')
+            Notification.requestPermission((permission) => {
+              console.log('鏉冮檺閫氱煡', permission)
+            })
+          } else if (Notification.permission === 'denied') {
+            // console.log('鎷掔粷閫氱煡')
+          }
+        } else {
+          console.error('娴忚鍣ㄤ笉鏀寔Notification')
+        }
+        // console.log('杩炴帴鎴愬姛')
+      })
+
+      this.signalr.off('SendCustomUserMessage')
+      this.signalr.on('SendCustomUserMessage', (res) => {
+        this.$notify({ offset: 80, type: 'warning', title: '娑堟伅鎻愰啋', message: res })
+        this.$store.state.settings.isDot = true
+      })
+      await this.signalr.invoke('AddUser', getCookie('admin'))
+    },
+
+    systemSetting() {
+      this.$refs.rightPanel.show = !this.$refs.rightPanel.show
+      this.$refs.rightPanel.addEventClick()
+    },
     pageRefreshClick() {
       this.reload()
       const tabViews = this.$store.state.tagsView.visitedViews.map(item => {
@@ -261,6 +332,8 @@
       this.$store.dispatch('app/toggleSideBar')
     },
     async logout() {
+      // await this.signalr.stop()
+      // this.signalr.off('SendCustomUserMessage')
       await this.$store.dispatch('user/logout')
       this.$message.success('閫�鍑烘垚鍔燂紒')
       this.$router.push(`/login`)
@@ -298,6 +371,12 @@
 }
 </script>
 <style lang="scss" scoped>
+::v-deep .el-badge__content {
+  position: absolute !important;
+  top: 12px !important;
+  right: 10px !important;
+}
+
 .display_btw {
   display: flex;
   justify-content: space-between;

--
Gitblit v1.9.3