瀏覽代碼

任务跟踪BUG修复

lizhouming 7 月之前
父節點
當前提交
4dc849fb76
共有 4 個文件被更改,包括 57 次插入12 次删除
  1. 14 2
      package-lock.json
  2. 2 1
      package.json
  3. 0 3
      src/types/components.d.ts
  4. 41 6
      src/views/emergencyCommandMap/RightSection/RenWuGenZong.vue

+ 14 - 2
package-lock.json

@@ -51,6 +51,7 @@
         "vue-i18n": "9.10.2",
         "vue-router": "4.3.2",
         "vue-types": "5.1.1",
+        "vuex": "^4.1.0",
         "vxe-table": "4.5.22",
         "xlsx": "^0.18.5"
       },
@@ -71,7 +72,7 @@
         "@vitejs/plugin-vue": "5.0.4",
         "@vue/compiler-sfc": "3.4.23",
         "autoprefixer": "10.4.18",
-        "eslint": "8.57.0",
+        "eslint": "^8.57.0",
         "eslint-config-prettier": "9.1.0",
         "eslint-define-config": "2.1.0",
         "eslint-plugin-import": "2.29.1",
@@ -7178,7 +7179,7 @@
     },
     "node_modules/eslint": {
       "version": "8.57.0",
-      "resolved": "https://registry.npmmirror.com/eslint/-/eslint-8.57.0.tgz",
+      "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
       "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
       "dev": true,
       "dependencies": {
@@ -13549,6 +13550,17 @@
         "node": "^10 || ^12 || >=14"
       }
     },
+    "node_modules/vuex": {
+      "version": "4.1.0",
+      "resolved": "https://registry.npmjs.org/vuex/-/vuex-4.1.0.tgz",
+      "integrity": "sha512-hmV6UerDrPcgbSy9ORAtNXDr9M4wlNP4pEFKye4ujJF8oqgFFuxDCdOLS3eNoRTtq5O3hoBDh9Doj1bQMYHRbQ==",
+      "dependencies": {
+        "@vue/devtools-api": "^6.0.0-beta.11"
+      },
+      "peerDependencies": {
+        "vue": "^3.2.0"
+      }
+    },
     "node_modules/vxe-table": {
       "version": "4.5.22",
       "resolved": "https://registry.npmmirror.com/vxe-table/-/vxe-table-4.5.22.tgz",

+ 2 - 1
package.json

@@ -59,6 +59,7 @@
     "vue-i18n": "9.10.2",
     "vue-router": "4.3.2",
     "vue-types": "5.1.1",
+    "vuex": "^4.1.0",
     "vxe-table": "4.5.22",
     "xlsx": "^0.18.5"
   },
@@ -79,7 +80,7 @@
     "@vitejs/plugin-vue": "5.0.4",
     "@vue/compiler-sfc": "3.4.23",
     "autoprefixer": "10.4.18",
-    "eslint": "8.57.0",
+    "eslint": "^8.57.0",
     "eslint-config-prettier": "9.1.0",
     "eslint-define-config": "2.1.0",
     "eslint-plugin-import": "2.29.1",

+ 0 - 3
src/types/components.d.ts

@@ -20,7 +20,6 @@ declare module 'vue' {
     ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
     ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
     ElButton: typeof import('element-plus/es')['ElButton']
-    ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
     ElCol: typeof import('element-plus/es')['ElCol']
     ElColorPicker: typeof import('element-plus/es')['ElColorPicker']
     ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
@@ -49,8 +48,6 @@ declare module 'vue' {
     ElSlider: typeof import('element-plus/es')['ElSlider']
     ElSubMenu: typeof import('element-plus/es')['ElSubMenu']
     ElSwitch: typeof import('element-plus/es')['ElSwitch']
-    ElTable: typeof import('element-plus/es')['ElTable']
-    ElTableColumn: typeof import('element-plus/es')['ElTableColumn']
     ElTimeline: typeof import('element-plus/es')['ElTimeline']
     ElTimelineItem: typeof import('element-plus/es')['ElTimelineItem']
     ElTree: typeof import('element-plus/es')['ElTree']

+ 41 - 6
src/views/emergencyCommandMap/RightSection/RenWuGenZong.vue

@@ -7,7 +7,9 @@
           <div class="header-left">
             <div class="box-title">{{ item.unit_name ? item.unit_name : '茂名市应急局' }}</div>
             <div class="time">{{ item.update_time }}</div>
-            <div :class="item.processing_status === '已完成' ? 'success-bg' : item.processing_status === '已完成' ? 'primary-bg' : 'processing-bg'">{{ item.processing_status }}</div>
+            <div :class="item.processing_status === '已完成' ? 'success-bg' : item.processing_status === '已完成' ? 'primary-bg' : 'processing-bg'">
+              {{ item.processing_status }}
+            </div>
           </div>
           <div class="btn" @click="openUpdateDialog(item)">更新</div>
         </div>
@@ -93,16 +95,49 @@ const toggleScroll = () => {
   showScroll.value = !showScroll.value;
 };
 
+// 设置定时器
+const fetchInterval = 1000; // 每60秒刷新一次
+let intervalId: number | null = null;
+
+const startFetchingData = () => {
+  if (!intervalId) {
+    intervalId = setInterval(() => {
+      fetchData();
+    }, fetchInterval);
+  }
+};
+
+const stopFetchingData = () => {
+  if (intervalId) {
+    clearInterval(intervalId);
+    intervalId = null;
+  }
+};
+
+// 在组件挂载时开始定时获取数据
+onMounted(() => {
+  if (props.eventId) {
+    fetchData();
+    startFetchingData();
+  }
+});
+
+// 在组件卸载时清除定时器
+onUnmounted(() => {
+  stopFetchingData();
+});
+
 watch(
   () => props.eventId,
-  () => {
-    if (!!props.eventId) {
+  (newValue) => {
+    if (newValue) {
       fetchData();
+      startFetchingData();
+    } else {
+      stopFetchingData();
     }
   },
-  {
-    immediate: true
-  }
+  { immediate: true }
 );
 </script>