Browse Source

fix: 调查统计bug修复

TIANYONG 2 months ago
parent
commit
02aa8df9a1

+ 5 - 0
src/components/m-full-refresh/index.tsx

@@ -13,6 +13,10 @@ export default defineComponent({
     modelValue: {
       type: Boolean,
       default: false
+    },
+    freshDisabled: { // 是否禁用下拉刷新
+      type: Boolean,
+      default: false
     }
   },
   emits: ['refresh', 'update:modelValue'],
@@ -37,6 +41,7 @@ export default defineComponent({
         v-model:modelValue={state.fullState}
         onRefresh={() => emit('refresh')}
         loadingText=" "
+        disabled={props.freshDisabled}
         class={styles.pullRefresh}>
         {{
           // loading: () => (

+ 9 - 7
src/views/questionnaire-statistics-new/detail.tsx

@@ -151,9 +151,8 @@ export default defineComponent({
     }
 
     const onRefresh = async () => {
-      console.log('刷新111')
-      state.intervalOne = null;
-      clearInterval(state.intervalOne); // 停止定时器
+      // console.log('刷新111')
+      clearDataAnimation();
       finished.value = false;
       // 重新加载数据
       // 将 loading 设置为 true,表示处于加载状态
@@ -162,6 +161,10 @@ export default defineComponent({
       refreshing.value = false
     };
 
+    const clearDataAnimation = () => {
+      clearInterval(state.intervalOne); // 停止定时器
+      state.intervalOne = null;
+    }
 
     const initData = async () => {
       await queryInfo()
@@ -183,8 +186,7 @@ export default defineComponent({
           }
           percentage += 1; // 每次增加1%
           if (percentage > Math.max(state.schoolInfo.supportStudentRate, state.schoolInfo.participationStudentRate)) {
-            clearInterval(state.intervalOne); // 停止定时器
-            state.intervalOne = null;
+            clearDataAnimation();
             // percentage = 0;
           }
         }, 25); // 每25ms更新一次
@@ -197,11 +199,11 @@ export default defineComponent({
       initData()
     });
     onUnmounted(() => {
-        clearInterval(state.intervalOne); // 停止定时器
-        state.intervalOne = null;
+      clearDataAnimation();
     });
     return () => (
       <OFullRefresh
+      freshDisabled={state.gradeStatus}
       v-model:modelValue={refreshing.value}
       onRefresh={onRefresh}
       class={styles.refreshC}>

+ 1 - 1
src/views/questionnaire-statistics-new/index.module.less

@@ -201,7 +201,7 @@
     font-size: 12px;
     color: #333333;
     padding: 0 8px;
-    margin-right: 10px;
+    margin-right: 5px;
     >span {
       word-break: keep-all;
     }

+ 14 - 10
src/views/questionnaire-statistics-new/index.tsx

@@ -118,8 +118,7 @@ export default defineComponent({
             }
             percentage += 1; // 每次增加1%
             if (percentage > Math.max(forms.totalInfo.supportRate, forms.totalInfo.participationRate)) {
-              clearInterval(state.intervalOne); // 停止定时器
-              state.intervalOne = null;
+              clearDataAnimation();
             }
           }, 25); // 每25ms更新一次
         });
@@ -212,18 +211,22 @@ export default defineComponent({
     }
 
     const onRefresh = async () => {
-      console.log('刷新111')
-      clearInterval(state.intervalOne); // 停止定时器
-      state.intervalOne = null;
+      // console.log('刷新111')
+      clearDataAnimation();
       forms.areaColumns = []
       finished.value = false;
       // 重新加载数据
       // 将 loading 设置为 true,表示处于加载状态
       loading.value = true;
-       await queryArea();
-       refreshing.value = false
+      await queryArea();
+      refreshing.value = false
     };
 
+    const clearDataAnimation = () => {
+      clearInterval(state.intervalOne); // 停止定时器
+      state.intervalOne = null;
+    }
+
     onMounted(async () => {
       console.log('刷新页面')
       forms.areaIdx = sessionStorage.getItem('areaIdx') || 0;
@@ -239,13 +242,13 @@ export default defineComponent({
     });
 
     onUnmounted(() => {
-      clearInterval(state.intervalOne); // 停止定时器
-      state.intervalOne = null;
+      clearDataAnimation();
     });
 
     return () => (
       <OFullRefresh
       v-model:modelValue={refreshing.value}
+      freshDisabled={forms.areaStatus}
       onRefresh={onRefresh}
       class={styles.refreshC}>
       <div class={[styles.statisBody]}>
@@ -422,9 +425,10 @@ export default defineComponent({
                 forms.schoolName = '';
                 forms.currentAreaInfo = forms.areaList[val.selectedOptions[0].value]
                 sessionStorage.setItem('areaIdx', forms.areaIdx)
+                clearDataAnimation()
                 queryInfo()
                 getList()
-                console.log('选择1111',val,forms.areaOptionIndex)
+                // console.log('选择1111',val,forms.areaOptionIndex)
               }}
             />
           )}

+ 1 - 0
src/views/questionnaire-statistics/detail.tsx

@@ -168,6 +168,7 @@ export default defineComponent({
 
     return () => (
       <OFullRefresh
+      freshDisabled={state.gradeStatus}
       v-model:modelValue={refreshing.value}
       onRefresh={onRefresh}
       class={styles.refreshC}>

+ 1 - 0
src/views/questionnaire-statistics/index.tsx

@@ -212,6 +212,7 @@ export default defineComponent({
     return () => (
       <OFullRefresh
       v-model:modelValue={refreshing.value}
+      freshDisabled={forms.areaStatus}
       onRefresh={onRefresh}
       class={styles.refreshC}>
       <div class={[styles.statisBody, forms.areaColumns.length == 1 ? styles.statisBody2 : styles.statisBody1]}>