wanger преди 4 месеца
родител
ревизия
9f7e7ba794
променени са 2 файла, в които са добавени 50 реда и са изтрити 15 реда
  1. 7 6
      website/src/utils/websocket.js
  2. 43 9
      website/src/views/ghcgscygl/ghcgsb/xxgh/Czgh/Qxyh.vue

+ 7 - 6
website/src/utils/websocket.js

@@ -18,13 +18,14 @@ export const socket = {
     serverTimeout: null,
     //初始化方法,根据url创建websocket对象封装基本连接方法,并重置心跳检测
     initWebSocket(newUrl) {
+        debugger
         socket.url = newUrl;
-        socket.websocket = new WebSocket(`ws://` + baseUrl.replace("http://", "") + `/apply/sbjd/` + socket.url);
-        // if (location.hostname == "localhost") {
-        //     socket.websocket = new WebSocket(`ws://10.255.133.174:8080/apply/sbjd/` + socket.url);
-        // } else {
-        //     socket.websocket = new WebSocket(`ws://` + baseUrl.replace("http://", "") + `/apply/sbjd/` + socket.url);
-        // }
+        // socket.websocket = new WebSocket(`ws://` + baseUrl.replace("http://", "") + `/apply/sbjd/` + socket.url);
+        if (location.hostname == "localhost") {
+            socket.websocket = new WebSocket(`ws://192.168.60.20:8080/apply/sbjd/` + socket.url);
+        } else {
+            socket.websocket = new WebSocket(`ws://` + baseUrl.replace("http://", "") + `/apply/sbjd/` + socket.url);
+        }
         socket.websocket.onopen = socket.websocketOnOpen;
         socket.websocket.onerror = socket.websocketOnError;
         socket.websocket.onclose = socket.websocketOnClose;

+ 43 - 9
website/src/views/ghcgscygl/ghcgsb/xxgh/Czgh/Qxyh.vue

@@ -179,7 +179,7 @@
                     >详情</el-button
                   >
                 </slot> -->
-                    <slot name="bj">
+                    <!-- <slot name="bj">
                       <el-button
                         type="text"
                         class="caozuo"
@@ -194,7 +194,7 @@
                         "
                         >编辑</el-button
                       >
-                    </slot>
+                    </slot> -->
                     <slot name="startjqsc" :item="scope.row">
                       <el-button
                         type="text"
@@ -315,18 +315,18 @@
           >
           </el-table-column>
           <el-table-column
-            prop="ybas"
-            label="应备案数"
+            prop="ybaczs"
+            label="应备案村庄数"
             width="120"
             align="center"
           >
           </el-table-column>
-          <el-table-column
+          <!-- <el-table-column
             prop="qxysbczs"
             label="旗县已上报的村庄数"
             align="center"
           >
-          </el-table-column>
+          </el-table-column> -->
           <el-table-column
             prop="sbdstczs"
             label="上报到省厅村庄数"
@@ -398,6 +398,18 @@
     >
       <span>{{ dialogMessage1 + name + dialogMessage2 }}</span>
       <template #footer>
+        <span
+          class="dialog-footer"
+          v-show="sbjdProgress"
+          style="line-height: 40px"
+        >
+          <el-progress
+            :text-inside="true"
+            :stroke-width="20"
+            :percentage="sbjdPercentage"
+            :format="sbjdFormat"
+          ></el-progress>
+        </span>
         <span class="dialog-footer">
           <el-button
             @click="editDialogVisible = false"
@@ -505,6 +517,7 @@
 import { reactive, toRefs, ref } from "@vue/reactivity";
 import { getCurrentInstance, onMounted, watch } from "@vue/runtime-core";
 import { GetXzq } from "@/api/homeApi.js";
+import { socket } from "@/utils/websocket.js";
 import { getFileName } from "@/utils/index.js";
 import { scmxlist, startczghcgsc, getStatistics } from "@/api/ghcgysc/cggl.js";
 import { Getlist, ReportSubmit, Delete } from "@/api/ghcgysc/czghApi.js";
@@ -538,6 +551,9 @@ export default {
         limit: 20,
         total: 0,
       },
+      sbjdText: "0/0",
+      sbjdPercentage: 0,
+      sbjdProgress: false,
       startjqscVisible: false,
       formLabelWidth: "120px",
       jqscform: {
@@ -612,7 +628,7 @@ export default {
         qxyh.name = row.fileName;
         qxyh.index = index;
         if (status === 1) {
-          qxyh.dialogTitle = "上报至";
+          qxyh.dialogTitle = "上报至自治区";
           qxyh.dialogMessage1 = "确定上报【成果包名称:";
           qxyh.dialogMessage2 = "】吗?";
         } else if (status === 2) {
@@ -626,12 +642,20 @@ export default {
       editQsStatus() {
         // 上报至市
         if (qxyh.editStatus === 1) {
+          qxyh.sbjdPercentage = 0;
+          qxyh.sbjdText = "0/0";
+          qxyh.sbjdProgress = true;
+          socket.initWebSocket(qxyh.tableData[qxyh.index].uuid);
+          socket.websocket.onmessage = qxyh.websocketOnMessage;
           ReportSubmit({
             uuid: qxyh.tableData[qxyh.index].uuid,
             cglevel: 1,
           }).then((res) => {
+            socket.websocketOnClose();
+            qxyh.sbjdProgress = false;
             qxyh.getlist();
-            ElMessage.success("成功上报至市");
+            ElMessage.success("成功上报至自治区");
+            qxyh.editDialogVisible = false;
           });
           // 删除
         } else if (qxyh.editStatus === 2) {
@@ -641,9 +665,19 @@ export default {
             ElMessage.success("删除成功");
             qxyh.getlist();
           });
+          qxyh.editDialogVisible = false;
           //上报至自治区
         }
-        qxyh.editDialogVisible = false;
+      },
+      websocketOnMessage(msg1) {
+        let msg = msg1.data;
+        if (msg.indexOf("/") > -1) {
+          qxyh.sbjdText = msg;
+          let percentage =
+            parseInt(msg.split("/")[0]) / parseInt(msg.split("/")[1]);
+          qxyh.sbjdPercentage =
+            percentage == 0 ? 0 : Math.round(percentage * 10000) / 100;
+        }
       },
       // 筛选
       changeForm() {