| 
					
				 | 
			
			
				@@ -17,6 +17,7 @@ import totalBoxBg from './images/total_box_icon.png'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { drawCircle } from './drawGraph' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import useWeChatShare from '@/hooks/useWeChatShare'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import { browser } from '@/helpers/utils'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import OFullRefresh from '@/components/m-full-refresh'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   name: 'questionnaire-statistics-new', 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -70,6 +71,11 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             value: index 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 没有缓存 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (!sessionStorage.getItem('areaIdx')) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const defaultIndex = data.findIndex((item: any) => item.defaultFlag) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          forms.areaIdx = defaultIndex ? Number(defaultIndex) : 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         forms.currentArea = forms.areaColumns.length ? forms.areaColumns[forms.areaIdx].text : '' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         forms.currentAreaInfo = forms.areaList.length ? forms.areaList[forms.areaIdx] : null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } catch (error) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -95,6 +101,21 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         forms.totalInfo = res.data|| {} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          let percentage = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          const interval = setInterval(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (percentage <= forms.totalInfo.supportRate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              drawCircle('circle1', 1, percentage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (percentage <= forms.totalInfo.participationRate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              drawCircle('circle2', 2, percentage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            percentage += 2; // 每次增加1% 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (percentage > Math.max(forms.totalInfo.supportRate, forms.totalInfo.participationRate)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              clearInterval(interval); // 停止定时器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          }, 25); // 每25ms更新一次 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } catch (error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -174,13 +195,23 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       const weChatShare = useWeChatShare( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         shareTitle, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         '科技赋能音乐(器乐)学习,在每一个孩子心中奏响美妙的乐章。', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        window.location.origin + '/classroom-app/shareImg/question-share.png' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        window.location.origin + '/classroom-app/shareImg/questionnaire-statistics-new.png' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       if (browser().weixin) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         weChatShare.getAppSignature() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    const onRefresh = async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      console.log('刷新111') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      finished.value = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 重新加载数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      // 将 loading 设置为 true,表示处于加载状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      loading.value = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       await queryArea(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+       refreshing.value = false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     onMounted(async () => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       console.log('刷新页面') 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       forms.areaIdx = sessionStorage.getItem('areaIdx') || 0; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -191,24 +222,14 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       await queryArea(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       nextTick(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         initWxShare() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        let percentage = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        const interval = setInterval(() => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (percentage <= forms.totalInfo.supportRate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            drawCircle('circle1', 1, percentage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (percentage <= forms.totalInfo.participationRate) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            drawCircle('circle2', 2, percentage) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          percentage += 1; // 每次增加1% 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          if (percentage > Math.max(forms.totalInfo.supportRate, forms.totalInfo.participationRate)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            clearInterval(interval); // 停止定时器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }, 25); // 每25ms更新一次 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return () => ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      <OFullRefresh 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      v-model:modelValue={refreshing.value} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      onRefresh={onRefresh} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      class={styles.refreshC}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       <div class={[styles.statisBody]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         forms.areaColumns.length > 1 &&  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -224,7 +245,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {/** 参与学校统计 */} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class={styles.sTotal}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          <div class={styles.stOne}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          <div class={[styles.stOne, styles.stOneLine]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class={styles.soTitle}><span class={styles.sOrange}>{formatNumberWithComma(forms.totalInfo.schoolNum||0)}</span><i>所</i></div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <p class={styles.soDesc}><img src={schoolIcon} />参与学校</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -238,7 +259,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <div class={styles.sRing}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class={[styles.srItem,styles.srItemOne]}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class={styles.siLeft}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <canvas id="circle1" width="70" height="70"></canvas> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <canvas id="circle1" width="85" height="85"></canvas> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <p>支持率</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class={styles.siRight}> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -248,7 +269,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <div class={styles.srItem}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class={styles.siLeft}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-              <canvas id="circle2" width="70" height="70"></canvas> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              <canvas id="circle2" width="85" height="85"></canvas> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               <p>参加率</p> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             <div class={styles.siRight}> 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -271,8 +292,13 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 v-model={forms.schoolName} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 onUpdate:modelValue={(val: any) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   // 输入框内容变化时触发 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                  // console.log('搜索内容变化',val) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  console.log('搜索内容变化',val) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   forms.schoolName = val 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  sessionStorage.setItem('qsFilterParams', JSON.stringify({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    schoolName: forms.schoolName, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sortType: forms.sortType, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    sortField: forms.sortField, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  })) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                   getList() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }}> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				               </Field>    
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -345,6 +371,8 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           </div> :  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           <OEmpty description="暂无内容" class={styles.emptyC} /> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {/* 区域 */} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         <Popup 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           v-model:show={forms.areaStatus} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -373,6 +401,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 forms.areaOptionIndex = [val.selectedOptions[0].value] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 forms.areaIdx = val.selectedOptions[0].value 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 forms.areaStatus = false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                forms.schoolName = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 forms.currentAreaInfo = forms.areaList[val.selectedOptions[0].value] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 queryInfo() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 getList() 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -384,6 +413,7 @@ export default defineComponent({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         {/* <MWxTip /> */} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       </div> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      </OFullRefresh> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }); 
			 |