skyblued 2 năm trước cách đây
mục cha
commit
d58deaf5f7

+ 2 - 2
src/subpages/colexiu/buttons/index.module.less

@@ -383,7 +383,7 @@
     }
     .van-popover__action {
       width: 60px;
-      height: 20px;
+      height: 16px;
       padding: 0 6px;
       & > img {
         width: 14px;
@@ -392,7 +392,7 @@
     }
     .action-text {
       flex: 1;
-      font-size: 5px;
+      font-size: 8px;
       text-align: justify;
       text-align-last: justify;
       text-justify: distribute-all-lines; // 这行必加,兼容ie浏览器

+ 3 - 2
src/subpages/colexiu/buttons/index.tsx

@@ -277,6 +277,7 @@ export default defineComponent({
                     {SettingState.sett.camera && (
                       <Cell class="cameraOpacity" center title="透明度">
                         <Slider
+                          style={{width: '90%'}}
                           min={0}
                           max={100}
                           v-model:modelValue={SettingState.sett.opacity}
@@ -337,7 +338,7 @@ export default defineComponent({
                 </Button>
               </>
             )}
-            {/* {['practice', 'evaluation'].includes(modelType.value) && (
+            {['practice', 'evaluation'].includes(modelType.value) && !search.questionId && (
               <Popover
                 trigger="manual"
                 overlay={false}
@@ -374,7 +375,7 @@ export default defineComponent({
                   class={styles.speed}
                 />
               </Popover>
-            )} */}
+            )}
             {detailState.activeDetail?.notation ? (
               <Popover
                 class={styles.toggleMusicType}

+ 1 - 11
src/subpages/colexiu/fingering/index.module.less

@@ -1,12 +1,3 @@
-:global(.evaluating) {
-  .fingering {
-    box-shadow: 0 -10px 10px #E2F6F1;
-    background: #E2F6F1;
-    &:global(.vertical){
-      box-shadow: none!important;
-    }
-  }
-}
 :global(.eyeProtection) {
   :global(.fingering) {
     box-shadow: 0 -10px 10px var(--eye-background-color);
@@ -23,9 +14,8 @@
   right: 0;
   padding: 5px;
   box-sizing: border-box;
-  z-index: 999;
+  z-index: 10;
   padding-top: 0;
-  box-shadow: 0 -10px 10px #fff;
   &:global(.vertical){
     box-shadow: none!important;
   }

+ 60 - 59
src/subpages/colexiu/popups/evaluating/content.tsx

@@ -30,27 +30,27 @@ import { onChangeModelType } from '../../buttons'
 const scoreInfos: any = {
   1: {
     img: Image1,
-    tips: '你的演奏不太好,音准和完整性还需加强,再练一练吧~',
+    tips: '你的演奏不太好,再练一练吧~',
     mome: '敢于尝试',
   },
   2: {
     img: Image2,
-    tips: '你的演奏还不熟练,音准和完整性还需加强,加紧训练才能有好成绩哦~',
+    tips: '你的演奏还不熟练,加紧训练才能有好成绩哦~',
     mome: '还要加油哦',
   },
   3: {
     img: Image3,
-    tips: '你的演奏还不流畅,音准和节奏还需加强,科学的练习才能更完美哦~',
+    tips: '你的演奏还不流畅,科学的练习才能更完美哦~',
     mome: '突破自我',
   },
   4: {
     img: Image4,
-    tips: '你的演奏还不错,继续加油吧,加强音准,离完美就差一步啦~',
+    tips: '你的演奏还不错,继续加油吧,离完美就差一步啦~',
     mome: '崭露头角',
   },
   5: {
     img: Image5,
-    tips: '你的演奏非常不错,音准的把握和节奏稍有瑕疵,完整性把握的很好~',
+    tips: '你的演奏非常不错,完整性把握的很好~',
     mome: '你很棒',
   },
 }
@@ -162,9 +162,9 @@ export default defineComponent({
                   </div>
                   <img class={styles.iconTop} src={scoreInfos[info].img} />
                 </div>
-                <div class={styles.evaluatWrap}>
-                  <Grid>
-                    {detailState.isPercussion ? null : (
+                {!detailState.isPercussion ? null : (
+                  <div class={styles.evaluatWrap}>
+                    <Grid>
                       <GridItem
                         vSlots={{
                           icon: () => (
@@ -181,26 +181,24 @@ export default defineComponent({
                           ),
                         }}
                       ></GridItem>
-                    )}
-                    <div class={styles.line}></div>
-                    <GridItem
-                      vSlots={{
-                        icon: () => (
-                          <div>
-                            <img class={styles.evaluatIcon} src={CadenceIcon} />
-                            <span class={styles.evaluatTitle}>节奏</span>
-                          </div>
-                        ),
-                        text: () => (
-                          <span class={styles.fraction}>
-                            {data.value?.cadence}
-                            <span>分</span>
-                          </span>
-                        ),
-                      }}
-                    ></GridItem>
-                    <div class={styles.line}></div>
-                    {detailState.isPercussion ? null : (
+                      <div class={styles.line}></div>
+                      <GridItem
+                        vSlots={{
+                          icon: () => (
+                            <div>
+                              <img class={styles.evaluatIcon} src={CadenceIcon} />
+                              <span class={styles.evaluatTitle}>节奏</span>
+                            </div>
+                          ),
+                          text: () => (
+                            <span class={styles.fraction}>
+                              {data.value?.cadence}
+                              <span>分</span>
+                            </span>
+                          ),
+                        }}
+                      ></GridItem>
+                      <div class={styles.line}></div>
                       <GridItem
                         vSlots={{
                           icon: () => (
@@ -217,40 +215,43 @@ export default defineComponent({
                           ),
                         }}
                       ></GridItem>
+                    </Grid>
+                  </div>
+                )}
+
+                <div class={styles.tips}>
+                  <div style={!detailState.isPercussion ? {height: '45px', fontSize: '15px'} : ''}>{scoreInfos[info].tips}</div>
+                  <div class={styles.btns} style={{ justifyContent: isUnitTest ? 'center' : '' }}>
+                    {detailState.frozenMode || isUnitTest ? null : (
+                      <Button
+                        onClick={() => {
+                          runtime.evaluatingStatus = false
+                          detailState.evaluatings = {}
+                          evaluatingShow.value = false
+                          onChangeModelType('practice')
+                        }}
+                      >
+                        <img class={styles.btnIcon} src={iconLianxi} />
+                      </Button>
+                    )}
+                    <Button
+                      style={{ margin: '0 4px' }}
+                      onClick={() => {
+                        detailState.evaluatings = {}
+                        emit('restart')
+                      }}
+                    >
+                      <img class={styles.btnIcon} src={TryIcon} />
+                    </Button>
+                    {isUnitTest ? null : (
+                      <Button onClick={viewReport}>
+                        <img class={styles.btnIcon} src={iconReport} alt="查看报告" />
+                      </Button>
                     )}
-                  </Grid>
+                  </div>
                 </div>
-
-                <div class={styles.tips}>{scoreInfos[info].tips}</div>
-              </div>
-              <div class={styles.btns}>
-                {detailState.frozenMode || isUnitTest ? null : (
-                  <Button
-                    onClick={() => {
-                      runtime.evaluatingStatus = false
-                      detailState.evaluatings = {}
-                      evaluatingShow.value = false
-                      onChangeModelType('practice')
-                    }}
-                  >
-                    <img class={styles.btnIcon} src={iconLianxi} />
-                  </Button>
-                )}
-                <Button
-                  style={{ margin: '0 4px' }}
-                  onClick={() => {
-                    detailState.evaluatings = {}
-                    emit('restart')
-                  }}
-                >
-                  <img class={styles.btnIcon} src={TryIcon} />
-                </Button>
-                {isUnitTest ? null : (
-                  <Button onClick={viewReport}>
-                    <img class={styles.btnIcon} src={iconReport} alt="查看报告" />
-                  </Button>
-                )}
               </div>
+
               {isUnitTest ? null : (
                 <div class={styles.rigthBtns}>
                   <div class={styles.skepBtn} onClick={() => emit('upload')}>

+ 4 - 6
src/subpages/colexiu/popups/evaluating/index.module.less

@@ -61,7 +61,7 @@
   display: flex;
   flex-direction: column;
   align-items: center;
-  padding-top: 60px;
+  padding-top: 50px;
 }
 .top {
   position: relative;
@@ -157,12 +157,11 @@
 }
 .tips {
   position: relative;
-  padding: 6px 12px 4px 12px;
+  padding: 6px 10px;
   width: 100%;
   font-size: 6px;
   color: #333;
   line-height: 9px;
-  height: 30px;
   box-sizing: border-box;
   z-index: 1;
   background: rgba(254,247,228,1);
@@ -170,8 +169,8 @@
 }
 .btns {
   display: flex;
-  justify-content: space-evenly;
-  padding: 10px 0;
+  justify-content: space-between;
+  padding: 6px 0 4px 0;
   :global {
     .van-button {
       width: 48px;
@@ -184,7 +183,6 @@
   }
   .btnIcon {
     width: 48px;
-    height: 17px;
     display: block;
   }
 }

+ 1 - 2
src/subpages/colexiu/popups/sound-effect/index.module.less

@@ -62,7 +62,7 @@
 .skepItems {
   position: absolute;
   top: 31px !important;
-  right: 18px !important;
+  right: 20px !important;
   left: auto !important;
   width: 45px;
   :global {
@@ -77,7 +77,6 @@
       height: 15px;
       padding: 0;
       font-size: 6px;
-      color: #999999;
     }
   }
 }

+ 14 - 5
src/subpages/colexiu/tips/tip1.tsx

@@ -8,7 +8,7 @@ import { getImage } from './images'
 export default defineComponent({
   name: 'tips-tip1',
   emits: ['hanldeStop'],
-  setup(props, {emit}) {
+  setup(props, { emit }) {
     const steps = [
       {
         img: getImage('step0.png'),
@@ -86,6 +86,7 @@ export default defineComponent({
         parentElement.style.top = eleRect?.top - 10 + 'px'
         parentElement.style.width = eleRect?.width + 20 + 'px'
         parentElement.style.height = eleRect?.height + 20 + 'px'
+        parentElement.onclick = (e: Event) => e.stopPropagation()
         data.rect = eleRect || {}
         parentElement.appendChild(eleNode)
         contentRef.value?.append(parentElement)
@@ -94,22 +95,30 @@ export default defineComponent({
     }
 
     const handleNext = (step?: number) => {
-      if (step !== undefined){
+      if (step !== undefined) {
         data.step = step
       } else {
+        if (data.step + 1 >= steps.length) {
+          handleStop()
+          return
+        }
         data.step += 1
       }
+
       getEle()
     }
     const handleStop = () => {
-        emit('hanldeStop')
+      emit('hanldeStop')
     }
     return () => {
       const item = steps[data.step]
       return (
-        <div class={styles.content} ref={contentRef}>
-          <div class={styles.backBtn} onClick={() => handleStop()}>跳过引导</div>
+        <div class={styles.content} ref={contentRef} onClick={() => handleNext()}>
+          <div class={styles.backBtn} onClick={() => handleStop()}>
+            跳过引导
+          </div>
           <div
+            onClick={(e: Event) => e.stopPropagation()}
             class={styles.item}
             style={{
               left: `${data.rect?.left}px`,

+ 7 - 1
src/subpages/colexiu/tips/tip2.tsx

@@ -125,6 +125,7 @@ export default defineComponent({
         // parentElement.style.width = eleRect?.width + 'px'
         // parentElement.style.height = eleRect?.height + 'px'
         parentElement.style.borderRadius = '0.1rem'
+        parentElement.onclick = (e: Event) => e.stopPropagation()
         data.rect = {
           ...eleRect,
           left : eleRect.left - eleRect.width / 2,
@@ -140,6 +141,10 @@ export default defineComponent({
       if (step !== undefined) {
         data.step = step
       } else {
+        if (data.step + 1 >= steps.length) {
+          handleStop()
+          return
+        }
         data.step += 1
       }
       getEle()
@@ -150,11 +155,12 @@ export default defineComponent({
     return () => {
       const item = steps[data.step]
       return (
-        <div class={styles.content} ref={contentRef}>
+        <div class={styles.content} ref={contentRef} onClick={() => handleNext()}>
           <div class={styles.backBtn} onClick={() => handleStop()}>
             跳过引导
           </div>
           <div
+            onClick={(e: Event) => e.stopPropagation()}
             class={styles.item}
             style={{
               width: '2.18667rem',