Quellcode durchsuchen

任务列表优化

zhuliu vor 2 Jahren
Ursprung
Commit
6a29e0df4a

+ 7 - 2
RMS-FrontEnd/src/utils/index.js

@@ -51,8 +51,13 @@ export const downLoadBase64 = (content, fileName) => {
   aLink.click();
 }
 
-export const downLoad2 = (url) => {
-  const href = `/api/report/api/download/downloadFile?url=${encodeURIComponent(url)}`
+export const downLoad2 = (url,id) => {
+  if(id){
+    var a = `taskId=${id}&url=${encodeURIComponent(url)}`
+  }else{
+    var a = `url=${encodeURIComponent(url)}`
+  }
+  const href = `/api/report/api/download/downloadFile?${a}`
   const anchor = document.createElement('a');
   const fileName = 'download';
   if ('download' in anchor) {

+ 2 - 4
RMS-FrontEnd/src/views/components/task/components/mixins.js

@@ -1,9 +1,8 @@
 import { downLoad2, getFileName } from "@/utils";
 import { cron } from "@/views/components/common/components/mixins";
-import { mapGetters } from "vuex";
 export const common = {
     mixins:[cron],
-    props: ['form','reportId','tableHeight','review'],
+    props: ['form','reportId','tableHeight','review','webSocket'],
     data() {
         return {
             // statusObj: {
@@ -37,7 +36,6 @@ export const common = {
         }
     },
     computed: {
-        ...mapGetters(['webSocket']),
         userinfo() {
             return this.$store.state.admin.userinfo
         }
@@ -62,7 +60,7 @@ export const common = {
     },
     methods: {
         handleDownload(row) {
-            downLoad2(row.url)
+            downLoad2(row.url,row.id)
         },
          // 实时进度取消
         cancel(row) {

+ 5 - 8
RMS-FrontEnd/src/views/components/task/components/realTime.vue

@@ -83,14 +83,11 @@
                        
                     </template>
                 </el-table-column>
-           
-            
           </el-table>
   </div>
 </template>
 
 <script>
-import { mapGetters } from "vuex";
 import { common } from './mixins';
 export default {
   components: {},
@@ -113,11 +110,11 @@ export default {
       }
     };
   },
-  watch: {},
+  watch: {
+  },
   computed: {
-    ...mapGetters(['webSocket']),
-    userinfo() {
-        return this.$store.state.admin.userinfo
+    webSocket1(){
+      return this.webSocket
     }
   },
   created() {},
@@ -127,7 +124,7 @@ export default {
   },
   methods: {
     initTask() {
-      var webSocket = this.webSocket
+      var webSocket = this.webSocket1
       webSocket.onmessage = (e) => {
         const { code, data, message } = JSON.parse(e.data)
         console.log({ code, data, message });

+ 0 - 4
RMS-FrontEnd/src/views/components/task/components/todoList.vue

@@ -158,7 +158,6 @@
 </template>
 
 <script>
-import { mapGetters } from "vuex";
 import { common } from './mixins';
 import updateLog from "./updateLog.vue";
 export default {
@@ -194,9 +193,6 @@ export default {
     };
   },
   watch: {},
-  // computed: {
-  //   ...mapGetters(['webSocket', 'userinfo'])
-  // },
   created() {},
   mounted() {
     this.getList()

+ 23 - 4
RMS-FrontEnd/src/views/components/task/index.vue

@@ -3,10 +3,10 @@
         <div class="header-tabs">
           <el-tabs v-model="activeName" type="card" @tab-click="handleClick">
             <el-tab-pane label="实时进度" name="0"> 
-              <component :is='components' v-bind="$attrs" v-if="activeName == 0" :review="review" :tableHeight="height"></component>
+              <component :is='components' v-bind="$attrs" v-if="activeName == 0" :review="review" :tableHeight="height" :webSocket="webSocket"></component>
             </el-tab-pane>
             <el-tab-pane label="任务列表" name="1">
-              <component :is='components' v-bind="$attrs" v-if="activeName == 1" :review="review" :tableHeight="height"></component>
+              <component :is='components' v-bind="$attrs" v-if="activeName == 1" :review="review" :tableHeight="height" :webSocket="webSocket"></component>
             </el-tab-pane>
           </el-tabs>
           
@@ -29,16 +29,35 @@ export default {
         activeName:0,
         components:'realTime',
         height:null,
-        review:false
+        review:false,
+        webSocket:''
     };
   },
   watch: {},
-  computed: {},
+  computed: {
+    userinfo() {
+        return this.$store.state.admin.userinfo
+    }
+  },
   created() {},
   mounted() {
     this.getHeight()
+    this.connectWebSocket()
   },
   methods: {
+    connectWebSocket() {
+      let webSocket = new WebSocket(`ws://${this.$c.hostname}:8877/api/report/api/ws/`+this.userinfo.id)
+      this.webSocket = webSocket
+      webSocket.onopen = () => {
+        console.log('WebSocket连接成功')
+      }
+      webSocket.onerror = () => {
+        console.log('WebSocket连接失败')
+      }
+      webSocket.onclose = () => {
+        console.log('WebSocket连接关闭')
+      }
+    },
     getQueueList(){
       this.review = true
       this.$nextTick(()=>{