Browse Source

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

TIANYONG 4 months ago
parent
commit
20c44f16a3

+ 26 - 27
src/views/fill-questionnaire/index.tsx

@@ -37,7 +37,7 @@ export default defineComponent({
   name: 'fill-questionnaire',
   setup() {
     const router = useRouter();
-    const route = useRoute();  
+    const route = useRoute();
 
     const classList: any = [];
     for (let i = 1; i <= 40; i++) {
@@ -97,7 +97,7 @@ export default defineComponent({
       '7': '七年级',
       '8': '八年级',
       '9': '九年级'
-    } as any;   
+    } as any;
     const getGradeList = (gradeYear?: string, instrumentCode?: string) => {
       let tempList: any = [];
       const five = [
@@ -189,7 +189,7 @@ export default defineComponent({
       classPopupIndex: [] as any, // 班级下拉索引
       areaList: [] as any,
       showPicker: false,
-      gradeAndClass: [gradeList, classList], 
+      gradeAndClass: [gradeList, classList],
       gradeAndClassIndex: [] as any,
       submitLoading: false,
       id: null as any,
@@ -292,7 +292,7 @@ export default defineComponent({
         //
       }
     }
-    
+
     /** 手机号变更时清空验证码信息,用户信息 */
     const phoneChangeEmptyInfo = () => {
 
@@ -539,7 +539,7 @@ export default defineComponent({
       } catch {
         //
       }
-    };    
+    };
 
     onUnmounted(() => {
       window.removeEventListener('pageshow', onPageShow);
@@ -551,7 +551,7 @@ export default defineComponent({
           <div class={styles.formItem}>
             <p>1. 学校</p>
             {
-              forms.areaName || forms.schoolName ? 
+              forms.areaName || forms.schoolName ?
               <div class={[styles.valDone, forms.schoolName && styles.valDone2, forms.schoolStatus && styles.openVal]} onClick={() => forms.schoolStatus = true}>
                 {forms.schoolName && <span class={styles.vdSchool}>{forms.schoolName}</span>}
                 <span class={styles.vdArea}>{forms.areaName}</span>
@@ -577,12 +577,12 @@ export default defineComponent({
             <p>3. 年级班级</p>
             <div class={[styles.valDot, !forms.currentClass && styles.grayText, forms.gradeStatus && styles.openVal]}
              onClick={()=> forms.gradeStatus = true}>{forms.currentClass ? forms.currentGrade+forms.currentClass : '请选择年级班级'}<i></i></div>
-          </div>     
+          </div>
           <div class={styles.formItem}>
             <p>4. 在您了解以上数字化转型事项后,您是否支持学校开展音乐(器乐)课堂数字化转型</p>
             <div class={styles.selectItem}>
               {
-                forms.supportList.map(item => 
+                forms.supportList.map(item =>
                   <div onClick={() => (forms.supportFlag = item.val)}>
                     <i class={forms.supportFlag === item.val && styles.selectedIcon}></i>
                     <span>{item.title}</span>
@@ -590,22 +590,22 @@ export default defineComponent({
                 )
               }
             </div>
-          </div>    
+          </div>
           <div class={styles.formItem}>
             <p>5. 您是否愿意学生参加数字化转型<span>(注:以学生及家长自愿参加为原则。如愿意参加,家长需自行为学生准备好“器乐数字Ai”应用软件,市面上均有提供,大约300多元一年,学校不涉及任何收费行为。如不参加,学生按原有方式进行器乐课程学习)</span></p>
             <div class={styles.selectItem}>
               {
-                forms.willingList.map(item => 
+                forms.willingList.map(item =>
                   <div onClick={() => switchParticipationFlag(item.val)}>
                     <i class={forms.participationFlag === item.val && styles.selectedIcon}></i>
                     <span>{item.title}</span>
                   </div>
                 )
               }
-            </div>            
-          </div> 
+            </div>
+          </div>
           {
-            forms.participationFlag && 
+            forms.participationFlag &&
             <div class={styles.formItem}>
               <p>联系方式</p>
               <Field
@@ -653,23 +653,23 @@ export default defineComponent({
                       />
                     )
                 }}
-              </Field>                            
-          </div>            
-          }    
-   
+              </Field>
+          </div>
+          }
+
           {
-            forms.participationFlag !== null && 
+            forms.participationFlag !== null &&
             <img class={styles.bottomBtn} src={forms.participationFlag ? signupBtn : submitBtn}
               onClick={() => {
                 if (forms.submitLoading) return;
                 submitFill()
               }}
-            />      
+            />
           }
         </div>
 
         {/* 是否在微信中打开 */}
-        {/* <OWxTip /> */}
+        <OWxTip />
 
         {forms.imgCodeStatus ? (
           <MImgCode
@@ -683,7 +683,7 @@ export default defineComponent({
           />
         ) : null}
         {
-          forms.successPopShow && 
+          forms.successPopShow &&
           <div class={styles.successPop}>
             <div class={styles.successBox}>
               <img class={styles.sTitle} src={forms.participationFlag ? signSusIcon : subSusIcon} />
@@ -702,11 +702,10 @@ export default defineComponent({
           round
           class={'popupBottomSearch'}>
           <Area
-            visibleOptionNum={9}
             optionHeight={46}
             areaList={forms.areaList}
-            onCancel={() => { 
-              forms.showPicker = false 
+            onCancel={() => {
+              forms.showPicker = false
               // if (!forms.areaName) {
               //   forms.schoolStatus = false
               // }
@@ -723,7 +722,7 @@ export default defineComponent({
               forms.showPicker = false;
               // if (!forms.areaName) {
               //   forms.schoolStatus = false
-              // }              
+              // }
               forms.schoolAreaId = null;
               forms.schoolName = '';
               forms.gradeNumText = '';
@@ -754,7 +753,7 @@ export default defineComponent({
           {forms.schoolPopupShow && (
             <div>
               <Picker
-              
+
                 showToolbar
                 v-model={forms.schoolPopupIndex}
                 columns={forms.schoolAreaList}
@@ -819,7 +818,7 @@ export default defineComponent({
                 forms.currentGrade = val.selectedOptions[0].text;
                 forms.currentClass = val.selectedOptions[1].text;
                 forms.gradeStatus = false;
-                
+
               }}
             />
           )}

+ 18 - 6
src/views/intention-questionnaire/index.module.less

@@ -95,14 +95,26 @@
 .hideContent {
   opacity: 0;
 }
-
-.video-content {
-  margin-top: 10px;
-  min-height: 170px;
-  --plyr-color-main: #FF8057;
+.videoBoxCon{
   padding: 4px;
   background: linear-gradient( 135deg, #53C4FF 0%, #429BFF 100%);
   border-radius: 12px;
+  margin-top: 10px;
+}
+.videoBox{
+  width: 100%;
+  position: relative;
+  padding-top: 56.25%;
+}
+.video-content {
+  position: absolute;
+  top: 0;
+  bottom: 0;
+  left: 0;
+  right: 0;
+  overflow: hidden;
+  --plyr-color-main: #FF8057;
+  // padding: 4px;
   box-sizing: content-box;
   .coverImg {
     width: 100%;
@@ -208,4 +220,4 @@
     left: 50%;
     transform: translateX(-50%);
   }
-}
+}

+ 44 - 36
src/views/intention-questionnaire/index.tsx

@@ -44,7 +44,7 @@ export default defineComponent({
       contentD: '<p style="text-align: left;"><strong style="font-size:15px; color: #0B8BFE;">五、事项说明</strong></p><p style="text-align: left;">1.学校不涉及任何费用收取。学生所需的自用工具在市面上均可购买到,家长可自行根据实际情况为学生准备。</p><p style="text-align: left;">2.如学生有参加数字化转型的意愿,但存在特殊或特困情况,可先向学校进行登记,学校将尽力寻求资源协助家长解决。</p><p style="text-align: left;">在您了解上述内容后,请点击下一步进行意见填写:</p>',
       introductionVideo: "https://oss.dayaedu.com/ktyq/02/1739345029052.mp4",
       introductionVideoTime: 117,
-      coverImg: "https://oss.dayaedu.com/ktyq/02/1739324197269.png",
+      coverImg: "https://oss.dayaedu.com/ktyq/1739361914232.png",
       introductionVideo2: "https://oss.dayaedu.com/ktyq/02/1739345326291.mp4",
       introductionVideoTime2: 111,
       coverImg2: "https://oss.dayaedu.com/ktyq/02/1739324215341.png",
@@ -72,20 +72,20 @@ export default defineComponent({
     onMounted(async () => {
       forms.meetingType = route.query.type || forms.meetingType;
       forms.code = route.query.code || forms.code;
-      nextTick(() => {
-        const videoRef: any = document.querySelector('#register-video')
-        const videoRef2: any = document.querySelector('#register-video2')
-        if(videoRef) {
-          const rect = videoRef?.getBoundingClientRect()
-          console.log(rect)
-          videoRef.style.height = rect.width / 16 * 9 + 'px'
-        }
-        if(videoRef2) {
-          const rect = videoRef2?.getBoundingClientRect()
-          console.log(rect)
-          videoRef2.style.height = rect.width / 16 * 9 + 'px'
-        }
-      })
+      // nextTick(() => {
+      //   const videoRef: any = document.querySelector('#register-video')
+      //   const videoRef2: any = document.querySelector('#register-video2')
+      //   if(videoRef) {
+      //     const rect = videoRef?.getBoundingClientRect()
+      //     console.log(rect)
+      //     videoRef.style.height = rect.width / 16 * 9 + 'px'
+      //   }
+      //   if(videoRef2) {
+      //     const rect = videoRef2?.getBoundingClientRect()
+      //     console.log(rect)
+      //     videoRef2.style.height = rect.width / 16 * 9 + 'px'
+      //   }
+      // })
       try {
         // 判断是否获取微信code码
         if (!forms.code && browser().weixin) return;
@@ -189,35 +189,43 @@ export default defineComponent({
           <div class={styles.contentBody} v-html={forms.contentA}></div>
           <div class={styles.contentBody}>
             <div class={styles.cbTitle}>一、什么是音乐(器乐)课堂数字化转型<span>(详见视频介绍)</span></div>
-            <div class={[styles['video-content']]}>
-              <video
-                id="register-video"
-                class={styles['video']}
-                src={forms.introductionVideo}
-                playsinline={true}
-                poster={forms.coverImg}
-                preload="auto"></video>
-            </div> 
+            <div class={styles.videoBoxCon}>
+              <div class={styles.videoBox}>
+                <div class={[styles['video-content']]}>
+                  <video
+                    id="register-video"
+                    class={styles['video']}
+                    src={forms.introductionVideo}
+                    playsinline={true}
+                    poster={forms.coverImg}
+                    preload="auto"></video>
+                </div>
+              </div>
+            </div>
           </div>
           <div class={styles.contentBody} v-html={forms.contentB}></div>
           <div class={styles.contentBody} v-html={forms.contentC}></div>
           <div class={styles.contentBody}>
-            <div class={styles.cbTitle}>四、什么是器乐数字 Ai<span>(详见视频介绍)</span></div>          
-            <div class={[styles['video-content']]}>
-              <video
-                id="register-video2"
-                class={styles['video']}
-                src={forms.introductionVideo2}
-                playsinline={true}
-                poster={forms.coverImg2}
-                preload="auto"></video>
-            </div>  
-          </div>          
+            <div class={styles.cbTitle}>四、什么是器乐数字 Ai<span>(详见视频介绍)</span></div>
+            <div class={styles.videoBoxCon}>
+              <div class={styles.videoBox}>
+                <div class={[styles['video-content']]}>
+                  <video
+                    id="register-video2"
+                    class={styles['video']}
+                    src={forms.introductionVideo2}
+                    playsinline={true}
+                    poster={forms.coverImg2}
+                    preload="auto"></video>
+                </div>
+              </div>
+            </div>
+          </div>
           <div class={styles.contentBody} v-html={forms.contentD}></div>
         </div>
 
         {/* 是否在微信中打开 */}
-        {/* <OWxTip /> */}
+        <OWxTip />
 
 
         <div class={styles.bottomBtn}>

+ 4 - 4
src/views/intention-questionnaire/show.tsx

@@ -42,11 +42,11 @@ export default defineComponent({
       contentB: '<p style="text-align: left;"><strong style="font-size:15px; color: #0B8BFE;">二、为什么要开展数字化转型</strong></p><p style="text-align: left;">1.解决学习难题:数字化转型将为乐器学习和练习制定明确标准,学生能实时知晓练习的对错,练习结果也可量化呈现,有效解决学生不会练、家长无法辅导的困扰。</p><p style="text-align: left;">2.适应教改趋势:随着教育改革的推进,艺术素质测评结果已逐步纳入中考,数字化转型将助力学生更好地适应这一变化,提升综合素养。</p><p style="text-align: left;">3.关注身心健康:乐器学习能成为学生缓解学习压力的有效途径,有助于学生保持身心健康,实现全面发展。</p><p style="text-align: left;"><br></p>', // 第二段
       contentC: '<p style="text-align: left;"><strong style="font-size:15px; color: #0B8BFE;">三、开展原则</strong></p><p style="text-align: left;">本次活动面向全体学生,完全遵循学生自愿参加的原则。</p><p style="text-align: left;">1.若学生选择参加转型,家长需自行为学生准备好自用的乐器(硬件)和“器乐数字 Ai”应用(软件,用于联通学校音乐课堂)两项学习工具。</p><p style="text-align: left;">2.若学生不参加转型,可继续按原有方式进行音乐课学习。</p>',
       contentD: '<p style="text-align: left;"><strong style="font-size:15px; color: #0B8BFE;">五、事项说明</strong></p><p style="text-align: left;">1.学校不涉及任何费用收取。学生所需的自用工具在市面上均可购买到,家长可自行根据实际情况为学生准备。</p><p style="text-align: left;">2.如学生有参加数字化转型的意愿,但存在特殊或特困情况,可先向学校进行登记,学校将尽力寻求资源协助家长解决。</p><p style="text-align: left;">在您了解上述内容后,请点击下一步进行意见填写:</p>',
-      introductionVideo: "https://oss.dayaedu.com/ktyq/02/1739324017357.mp4",
+      introductionVideo: "https://oss.dayaedu.com/ktyq/02/1739345029052.mp4",
       introductionVideoTime: 117,
-      coverImg: "https://oss.dayaedu.com/ktyq/02/1739324197269.png",
-      introductionVideo2: "https://oss.dayaedu.com/ktyq/02/1739324017357.mp4",
-      introductionVideoTime2: 117,
+      coverImg: "https://oss.dayaedu.com/ktyq/1739361914232.png",
+      introductionVideo2: "https://oss.dayaedu.com/ktyq/02/1739345326291.mp4",
+      introductionVideoTime2: 111,
       coverImg2: "https://oss.dayaedu.com/ktyq/02/1739324215341.png",
       player1: null as any,
       player2: null as any,