Browse Source

Merge branch 'feature-2025-1-10' into jenkins-test

TIANYONG 1 month ago
parent
commit
5f60ee3464

BIN
public/shareImg/statistics-school.png


+ 57 - 48
src/views/questionnaire-statistics-new/detail.tsx

@@ -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({
@@ -194,11 +187,24 @@ export default defineComponent({
         }, 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()
       }
+    }
+
+    onMounted(async () => {
       initData()
+      nextTick(() => {
+        initWxShare()
+      });
     });
     onUnmounted(() => {
       clearDataAnimation();
@@ -286,48 +292,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}

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

@@ -185,6 +185,7 @@
   flex-wrap: nowrap;
   overflow-x: scroll;
   margin-top: 12px;
+  padding-bottom: 1px;
   &::-webkit-scrollbar {
     display: none;
   }

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

@@ -179,7 +179,7 @@ export default defineComponent({
 
     const skipDetail = (id: any) => {
       // sessionStorage.setItem('areaIdx', forms.areaIdx)
-      sessionStorage.setItem('areaTenantName', forms.totalInfo.tenantName || '')
+      // sessionStorage.setItem('areaTenantName', forms.totalInfo.tenantName || '')
       sessionStorage.setItem('qsFilterParams', JSON.stringify({
         schoolName: forms.schoolName,
         sortType: forms.sortType,

+ 50 - 41
src/views/questionnaire-statistics/detail.tsx

@@ -1,4 +1,4 @@
-import { defineComponent, onMounted, reactive, ref } from 'vue';
+import { defineComponent, onMounted, reactive, ref, nextTick } from 'vue';
 import styles from './index.module.less';
 import { List, Popup, DatePicker, Popover, Picker } from 'vant';
 import request from '@/helpers/request';
@@ -23,13 +23,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.png'
-    );
 
     const tabName = ref('all');
     const forms = reactive({
@@ -67,6 +60,7 @@ export default defineComponent({
         const res = await request.post(
           '/edu-app/open/meetingQuestionSetting/schoolStat',
           {
+            hideLoading: false,
             data: {
               schoolAreaId: forms.id
             }
@@ -158,12 +152,24 @@ export default defineComponent({
       refreshing.value = false
     };
 
-    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()
       }
+    }
+
+    onMounted(async () => {
       await queryInfo()
       queryList()
+      nextTick(() => {
+        initWxShare()
+      });
     });
 
     return () => (
@@ -216,39 +222,42 @@ export default defineComponent({
             </li>                        
         </ul>
         {/** 班级列表 */}
-        <div class={styles.scList}>
-          {
-            state.classList.map((item: any) => (
-              <div class={styles.sItem}>
-              <div class={styles.itemTile}>
-                <img src={gradeIcon} />
-                <p>{item.currentGrade||''}{item.currentClass || ''}</p>
+        {
+          state.classList.length ? 
+          <div class={styles.scList}>
+            {
+              state.classList.map((item: any) => (
+                <div class={styles.sItem}>
+                <div class={styles.itemTile}>
+                  <img src={gradeIcon} />
+                  <p>{item.currentGrade||''}{item.currentClass || ''}</p>
+                </div>
+                <ul class={styles.itemContent}>
+                  <li>
+                    <div class={styles.icTop}>
+                      <span class={styles.sRed}>{formatNumberWithComma(item.studentNum || 0)}</span><i>人</i>
+                    </div>
+                  <p>参与调查</p>
+                  </li>
+                  <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).toFixed(2)}%</span>
+                    </div>
+                  <p>支持率</p>
+                  </li>                                
+                </ul>
               </div>
-              <ul class={styles.itemContent}>
-                <li>
-                  <div class={styles.icTop}>
-                    <span class={styles.sRed}>{formatNumberWithComma(item.studentNum || 0)}</span><i>人</i>
-                  </div>
-                 <p>参与调查</p>
-                </li>
-                <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).toFixed(2)}%</span>
-                  </div>
-                 <p>支持率</p>
-                </li>                                
-              </ul>
-            </div>
-            ))
-          }
-        </div>
-
+              ))
+            }
+          </div> : 
+          <OEmpty description="暂无内容" class={styles.emptyC} />
+        }
         {/* 班级 */}
         <Popup
           v-model:show={state.gradeStatus}

+ 5 - 3
src/views/questionnaire-statistics/index.module.less

@@ -142,11 +142,13 @@
         background-size: contain;
       }    
       &:nth-child(1)::before {
-        right: 4px;
+        //right: 4px;
+        transform: translateX(-4px);
       }
       &:nth-child(2)::before {
-        right: -8px;
-        z-index: 99;
+        //right: -8px;
+        //z-index: 99;
+        transform: translateX(8px);
       }
     }    
   }

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

@@ -140,7 +140,7 @@ export default defineComponent({
 
     const skipDetail = (id: any) => {
       // sessionStorage.setItem('areaIdx', forms.areaIdx)
-      sessionStorage.setItem('areaTenantName', forms.totalInfo.tenantName || '')
+      // sessionStorage.setItem('areaTenantName', forms.totalInfo.tenantName || '')
       sessionStorage.setItem('yqsFilterParams', JSON.stringify({
         schoolName: forms.schoolName,
         sortType: forms.sortType,

+ 1 - 1
vite.config.ts

@@ -14,7 +14,7 @@ function resolve(dir: string) {
 // https://vitejs.dev/config/
 // https://github.com/vitejs/vite/issues/1930 .env
 // const proxyUrl = 'https://test.lexiaoya.cn/';
-const proxyUrl = 'https://dev.kt.colexiu.com/';
+const proxyUrl = 'https://test.kt.colexiu.com/';
 // const proxyUrl = 'http://192.168.3.143:7093/';
 // const proxyUrl = 'https://dev.kt.colexiu.com/';
 export default defineConfig({