|  | @@ -24,13 +24,6 @@ export default defineComponent({
 | 
	
		
			
				|  |  |    setup() {
 | 
	
		
			
				|  |  |      const route = useRoute();
 | 
	
		
			
				|  |  |      const router = useRouter();
 | 
	
		
			
				|  |  | -    const areaTenantName = sessionStorage.getItem('areaTenantName') || ''
 | 
	
		
			
				|  |  | -    const shareTitle = areaTenantName + '音乐(器乐)数字化转型问卷统计';
 | 
	
		
			
				|  |  | -    const weChatShare = useWeChatShare(
 | 
	
		
			
				|  |  | -      shareTitle,
 | 
	
		
			
				|  |  | -      '科技赋能音乐(器乐)学习,在每一个孩子心中奏响美妙的乐章。',
 | 
	
		
			
				|  |  | -      window.location.origin + '/classroom-app/shareImg/questionnaire-statistics-new.png'
 | 
	
		
			
				|  |  | -    );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      const tabName = ref('all');
 | 
	
		
			
				|  |  |      const forms = reactive({
 | 
	
	
		
			
				|  | @@ -70,6 +63,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |          const res = await request.post(
 | 
	
		
			
				|  |  |            '/edu-app/open/meetingQuestionSetting/schoolStat',
 | 
	
		
			
				|  |  |            {
 | 
	
		
			
				|  |  | +            hideLoading: false,
 | 
	
		
			
				|  |  |              data: {
 | 
	
		
			
				|  |  |                schoolAreaId: forms.id
 | 
	
		
			
				|  |  |              }
 | 
	
	
		
			
				|  | @@ -151,9 +145,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 +155,10 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        refreshing.value = false
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +    const clearDataAnimation = () => {
 | 
	
		
			
				|  |  | +      clearInterval(state.intervalOne); // 停止定时器
 | 
	
		
			
				|  |  | +      state.intervalOne = null;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      const initData = async () => {
 | 
	
		
			
				|  |  |        await queryInfo()
 | 
	
	
		
			
				|  | @@ -183,25 +180,37 @@ 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更新一次
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | -    onMounted(async () => {
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    const initWxShare = () => {
 | 
	
		
			
				|  |  | +      const shareTitle = (state.schoolInfo.schoolName||'') + '音乐(器乐)数字化转型调查统计';
 | 
	
		
			
				|  |  | +      const weChatShare = useWeChatShare(
 | 
	
		
			
				|  |  | +        shareTitle,
 | 
	
		
			
				|  |  | +        '科技赋能音乐(器乐)学习,在每一个孩子心中奏响美妙的乐章。',
 | 
	
		
			
				|  |  | +        window.location.origin + '/classroom-app/shareImg/statistics-school.png'
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  |        if (browser().weixin) {
 | 
	
		
			
				|  |  |          weChatShare.getAppSignature()
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      initData()
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    onMounted(async () => {
 | 
	
		
			
				|  |  | +      await initData()
 | 
	
		
			
				|  |  | +      nextTick(() => {
 | 
	
		
			
				|  |  | +        initWxShare()
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |      onUnmounted(() => {
 | 
	
		
			
				|  |  | -        clearInterval(state.intervalOne); // 停止定时器
 | 
	
		
			
				|  |  | -        state.intervalOne = null;
 | 
	
		
			
				|  |  | +      clearDataAnimation();
 | 
	
		
			
				|  |  |      });
 | 
	
		
			
				|  |  |      return () => (
 | 
	
		
			
				|  |  |        <OFullRefresh
 | 
	
		
			
				|  |  | +      freshDisabled={state.gradeStatus}
 | 
	
		
			
				|  |  |        v-model:modelValue={refreshing.value}
 | 
	
		
			
				|  |  |        onRefresh={onRefresh}
 | 
	
		
			
				|  |  |        class={styles.refreshC}>
 | 
	
	
		
			
				|  | @@ -281,48 +290,51 @@ export default defineComponent({
 | 
	
		
			
				|  |  |              </li>                                             
 | 
	
		
			
				|  |  |          </ul>
 | 
	
		
			
				|  |  |          {/** 班级列表 */}
 | 
	
		
			
				|  |  | -        <div class={styles.scList}>
 | 
	
		
			
				|  |  | -          {
 | 
	
		
			
				|  |  | -            state.classList.map((item: any) => (
 | 
	
		
			
				|  |  | -              <div class={styles.sItem}>
 | 
	
		
			
				|  |  | -              <div class={[styles.itemTile, styles.itemTileDetail]}>
 | 
	
		
			
				|  |  | -                <img src={gradeIcon} />
 | 
	
		
			
				|  |  | -                <p>{item.currentGrade||''}{item.currentClass || ''}</p>
 | 
	
		
			
				|  |  | -                <div class={styles.itRight}><span class={styles.sRed}>{formatNumberWithComma(item.studentNum || 0)}</span> 人参与调查</div>
 | 
	
		
			
				|  |  | -              </div>
 | 
	
		
			
				|  |  | -              <ul class={styles.itemContent}>
 | 
	
		
			
				|  |  | -                <li>
 | 
	
		
			
				|  |  | -                  <div class={styles.icTop}>
 | 
	
		
			
				|  |  | -                    <span class={styles.sBlue}>{formatNumberWithComma(item.supportStudentNum || 0)}</span><i>人</i>
 | 
	
		
			
				|  |  | -                  </div>
 | 
	
		
			
				|  |  | -                 <p>支持开展</p>
 | 
	
		
			
				|  |  | -                </li>      
 | 
	
		
			
				|  |  | -                <li>
 | 
	
		
			
				|  |  | -                  <div class={styles.icTop}>
 | 
	
		
			
				|  |  | -                    <span class={styles.sBlue}>{Number(item.supportStudentRate || 0).toFixed(2)}%</span>
 | 
	
		
			
				|  |  | -                  </div>
 | 
	
		
			
				|  |  | -                 <p>支持率</p>
 | 
	
		
			
				|  |  | -                </li>  
 | 
	
		
			
				|  |  | +        {
 | 
	
		
			
				|  |  | +          state.classList.length ?
 | 
	
		
			
				|  |  | +          <div class={styles.scList}>
 | 
	
		
			
				|  |  | +            {
 | 
	
		
			
				|  |  | +              state.classList.map((item: any) => (
 | 
	
		
			
				|  |  | +                <div class={styles.sItem}>
 | 
	
		
			
				|  |  | +                <div class={[styles.itemTile, styles.itemTileDetail]}>
 | 
	
		
			
				|  |  | +                  <img src={gradeIcon} />
 | 
	
		
			
				|  |  | +                  <p>{item.currentGrade||''}{item.currentClass || ''}</p>
 | 
	
		
			
				|  |  | +                  <div class={styles.itRight}><span class={styles.sRed}>{formatNumberWithComma(item.studentNum || 0)}</span> 人参与调查</div>
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +                <ul class={styles.itemContent}>
 | 
	
		
			
				|  |  | +                  <li>
 | 
	
		
			
				|  |  | +                    <div class={styles.icTop}>
 | 
	
		
			
				|  |  | +                      <span class={styles.sBlue}>{formatNumberWithComma(item.supportStudentNum || 0)}</span><i>人</i>
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                  <p>支持开展</p>
 | 
	
		
			
				|  |  | +                  </li>      
 | 
	
		
			
				|  |  | +                  <li>
 | 
	
		
			
				|  |  | +                    <div class={styles.icTop}>
 | 
	
		
			
				|  |  | +                      <span class={styles.sBlue}>{Number(item.supportStudentRate || 0).toFixed(2)}%</span>
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                  <p>支持率</p>
 | 
	
		
			
				|  |  | +                  </li>  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -                <li>
 | 
	
		
			
				|  |  | -                  <div class={styles.icTop}>
 | 
	
		
			
				|  |  | -                    <span class={styles.sGreen}>{formatNumberWithComma(item.participationStudentNum || 0)}</span><i>人</i>
 | 
	
		
			
				|  |  | -                  </div>
 | 
	
		
			
				|  |  | -                 <p>报名参加</p>
 | 
	
		
			
				|  |  | -                </li>
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -                <li>
 | 
	
		
			
				|  |  | -                  <div class={styles.icTop}>
 | 
	
		
			
				|  |  | -                    <span class={styles.sGreen}>{Number(item.participationStudentRate || 0).toFixed(2)}%</span>
 | 
	
		
			
				|  |  | -                  </div>
 | 
	
		
			
				|  |  | -                 <p>参加率</p>
 | 
	
		
			
				|  |  | -                </li>                                
 | 
	
		
			
				|  |  | -              </ul>
 | 
	
		
			
				|  |  | -            </div>
 | 
	
		
			
				|  |  | -            ))
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        </div>
 | 
	
		
			
				|  |  | +                  <li>
 | 
	
		
			
				|  |  | +                    <div class={styles.icTop}>
 | 
	
		
			
				|  |  | +                      <span class={styles.sGreen}>{formatNumberWithComma(item.participationStudentNum || 0)}</span><i>人</i>
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                  <p>报名参加</p>
 | 
	
		
			
				|  |  | +                  </li>
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | +                  <li>
 | 
	
		
			
				|  |  | +                    <div class={styles.icTop}>
 | 
	
		
			
				|  |  | +                      <span class={styles.sGreen}>{Number(item.participationStudentRate || 0).toFixed(2)}%</span>
 | 
	
		
			
				|  |  | +                    </div>
 | 
	
		
			
				|  |  | +                  <p>参加率</p>
 | 
	
		
			
				|  |  | +                  </li>                                
 | 
	
		
			
				|  |  | +                </ul>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +              ))
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          </div> : 
 | 
	
		
			
				|  |  | +          <OEmpty description="暂无内容" class={styles.emptyC} />
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |          {/* 班级 */}
 | 
	
		
			
				|  |  |          <Popup
 | 
	
		
			
				|  |  |            v-model:show={state.gradeStatus}
 |