Przeglądaj źródła

管乐团样式

liushengqiang 2 lat temu
rodzic
commit
3cd9ec10c8

Plik diff jest za duży
+ 0 - 0
src/page-orchestra/component/the-comfirm/index.json


+ 0 - 1
src/page-orchestra/component/the-comfirm/index.module.less

@@ -34,7 +34,6 @@
     max-width: 244px;
 }
 .btn {
-    width: 40%;
     height: 31px;
     margin: 11px 0 17px 0;
     line-height: 31px;

Plik diff jest za duży
+ 0 - 0
src/page-orchestra/evaluat-model/evaluat-audio/index.json


+ 0 - 1
src/page-orchestra/evaluat-model/evaluat-audio/index.module.less

@@ -33,7 +33,6 @@
     width: 100%;
 }
 .btn {
-    width: 40%;
     height: 31px;
     margin: 11px 0 17px 0;
     line-height: 31px;

+ 22 - 0
src/page-orchestra/evaluat-model/evaluat-result/img/icon-share.svg

@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>分享</title>
+    <defs>
+        <linearGradient x1="5.16878207e-12%" y1="-6.80011603e-14%" x2="100%" y2="100%" id="linearGradient-1">
+            <stop stop-color="#FF9C63" offset="0%"></stop>
+            <stop stop-color="#FF7144" offset="100%"></stop>
+        </linearGradient>
+    </defs>
+    <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="评测结果-18分" transform="translate(-654.000000, -175.000000)">
+            <g id="分享" transform="translate(654.000000, 175.000000)">
+                <circle id="椭圆形备份" fill="url(#linearGradient-1)" cx="20" cy="20" r="20"></circle>
+                <g id="编组备份-2" transform="translate(11.000000, 11.000000)" stroke="#FFFFFF" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
+                    <polyline id="Stroke-1" points="11 0 18 0 18 7"></polyline>
+                    <path d="M18,11.7373 L18,16.5003 C18,17.3293 17.328,18.0003 16.5,18.0003 L1.5,18.0003 C0.671,18.0003 0,17.3293 0,16.5003 L0,1.5003 C0,0.6723 0.671,0.0003 1.5,0.0003 L6,0.0003" id="Stroke-3"></path>
+                    <line x1="9.8999" y1="8.1006" x2="17.5499" y2="0.4506" id="Stroke-5"></line>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

+ 24 - 0
src/page-orchestra/evaluat-model/evaluat-result/img/icon-upload.svg

@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="40px" height="40px" viewBox="0 0 40 40" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <title>上传</title>
+    <defs>
+        <linearGradient x1="5.16878207e-12%" y1="-6.80011603e-14%" x2="100%" y2="100%" id="linearGradient-1">
+            <stop stop-color="#FF9C63" offset="0%"></stop>
+            <stop stop-color="#FF7144" offset="100%"></stop>
+        </linearGradient>
+    </defs>
+    <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="评测结果-18分" transform="translate(-654.000000, -81.000000)">
+            <g id="上传" transform="translate(654.000000, 81.000000)">
+                <circle id="椭圆形" fill="url(#linearGradient-1)" cx="20" cy="20" r="20"></circle>
+                <g id="编组" transform="translate(9.500000, 11.000000)" stroke="#FFFFFF" stroke-linecap="round" stroke-linejoin="round" stroke-width="2">
+                    <path d="M4.058,6.4426 C1.731,6.9926 0,9.0706 0,11.5496 C0,14.4496 2.367,16.7996 5.286,16.7996 C5.786,16.7996 6.271,16.7306 6.73,16.6016" id="Stroke-1"></path>
+                    <path d="M16.9423,6.4426 C19.2693,6.9926 21.0003,9.0706 21.0003,11.5496 C21.0003,14.4496 18.6333,16.7996 15.7143,16.7996 C15.2143,16.7996 14.7293,16.7306 14.2703,16.6016" id="Stroke-3"></path>
+                    <path d="M16.9135,6.3 C16.9135,2.821 14.0735,0 10.5705,0 C7.0675,0 4.2285,2.821 4.2285,6.3" id="Stroke-5"></path>
+                    <polyline id="Stroke-7" points="6.9056 10.4377 10.5706 6.7857 14.3406 10.4997"></polyline>
+                    <line x1="10.5707" y1="15.7502" x2="10.5707" y2="8.6432" id="Stroke-9"></line>
+                </g>
+            </g>
+        </g>
+    </g>
+</svg>

Plik diff jest za duży
+ 0 - 0
src/page-orchestra/evaluat-model/evaluat-result/img/index.json


+ 25 - 53
src/page-orchestra/evaluat-model/evaluat-result/index.module.less

@@ -28,27 +28,24 @@
 
 .headerButton {
     position: absolute;
-    right: 18px;
-    top: 18px;
+    right: -60px;
+    top: 70px;
     display: flex;
-    justify-content: space-between;
-    align-items: center;
-    padding: 12px;
+    flex-direction: column;
     z-index: 1;
 
     .headBtn {
-        background-color: #fff;
-        border-radius: 12px;
-        height: 26px;
-        line-height: 26px;
-        font-size: 13px;
-        color: var(--van-primary-color);
-        padding: 0 10px;
-        min-width: 61px;
+        display: flex;
+        flex-direction: column;
+        justify-content: center;
+        align-items: center;
+        font-size: 12px;
+        color: #fff;
         text-align: center;
-
-        &+.headBtn {
-            margin-left: 8px;
+        margin-bottom: 30px;
+        & > img {
+            width: 36px;
+            height: 36px;
         }
 
         &:active {
@@ -59,77 +56,52 @@
 
 .fraction {
     position: relative;
+    top: -20px;
     border-radius: 18px;
     width: 361px;
-    height: 238px;
     display: flex;
     flex-direction: column;
     justify-content: space-between;
-    max-height: 310px;
+    padding-top: 38px;
 
     .bg {
         position: absolute;
         left: 0;
         top: 0;
         width: 100%;
-        height: 100%;
         display: block;
         z-index: -1;
 
     }
+    .box{
+        background-color: rgba(254,247,228,1);
+        border-radius: 0 0 20px 20px;
+    }
 
     .top {
         position: relative;
         display: flex;
         align-items: center;
         height: 50px;
-
-        .badge {
-            width: 72px;
-            transform: translateY(-7px);
-        }
-
+        margin-bottom: 26px;
+        margin-left: -8px;
         .text {
             position: relative;
             display: flex;
             font-size: 20px;
             font-family: DIN-Bold, DIN;
             font-weight: bold;
-            color: #2DC7AA;
+            color: #fff;
             line-height: 41px;
             align-items: flex-end;
-            padding-left: 16px;
             z-index: 1;
             white-space: nowrap;
-            margin-left: auto;
-
-            &::before {
-                content: '';
-                position: absolute;
-                bottom: 8px;
-                left: 6px;
-                right: 0;
-                height: 8px;
-                background: #fcd660;
-                border-radius: 10px;
-                opacity: 0.59;
-                z-index: -1;
-            }
+            margin: 0 auto;
         }
 
         .num {
             font-size: 30px;
-        }
-
-        .rightBadge {
-            position: relative;
-            top: -8px;
-            right: -8px;
-            margin-left: auto;
-            max-width: 146px;
-            max-height: 105px;
-            align-self: flex-end;
-            z-index: -3;
+            color: #FFF79E;
         }
     }
 
@@ -137,7 +109,7 @@
 
 
 .tips {
-    padding: 0 20px;
+    padding: 16px 20px 0 20px;
     font-size: 13px;
     color: #808080;
 }

+ 54 - 43
src/page-orchestra/evaluat-model/evaluat-result/index.tsx

@@ -1,72 +1,83 @@
-import { defineComponent, ref } from "vue";
+import { computed, defineComponent, ref } from "vue";
 import styles from "./index.module.less";
 import state from "/src/state";
 import { storeData } from "/src/store";
 import { evaluatingData } from "/src/view/evaluating";
 import imgs from "./img/index.json";
-import iconBack from '../sound-effect/icons/back.png'
+import iconBack from "../sound-effect/icons/back.png";
+import iconUpload from "./img/icon-upload.svg";
+import iconShare from "./img/icon-share.svg";
 
 export default defineComponent({
 	name: "evaluatResult",
 	emits: ["close"],
 	setup(props, { emit }) {
+		const iconBg = computed(() => {
+			const index: any = evaluatingData.resultData.leve;
+			switch (index) {
+				case 0:
+					return imgs[5];
+				case 1:
+					return imgs[4];
+				case 2:
+					return imgs[3];
+				case 3:
+					return imgs[2];
+				case 4:
+					return imgs[1];
+			}
+			return imgs[1];
+		});
 		return () => (
 			<div class={styles.evaluatResult}>
 				<div class={styles.closeBtn} onClick={() => emit("close")}>
 					<img src={iconBack} />
 				</div>
 
-				<div class={styles.headerButton}>
-					<div class={styles.headBtn} onClick={() => emit("close", "update")}>
-						保存演奏
-					</div>
-					<div class={styles.headBtn} style={{ display: storeData.platformType === "STUDENT" ? "block" : "" }} onClick={() => emit("close", "share")}>
-						分享
-					</div>
-				</div>
-
 				<div class={styles.fraction}>
-					<img class={styles.bg} src={imgs.bg} />
+					<img class={styles.bg} src={iconBg.value} />
+					<div class={styles.headerButton}>
+						<div class={styles.headBtn} onClick={() => emit("close", "update")}>
+							<img src={iconUpload} />
+							上传
+						</div>
+						<div class={styles.headBtn} style={{ display: storeData.platformType === "STUDENT" ? "" : "none" }} onClick={() => emit("close", "share")}>
+							<img src={iconShare} />
+							分享
+						</div>
+					</div>
 					<div class={styles.top}>
-						{/* {evaluatingData.resultData.score > 79 && <img style={{}} class={styles.badge} src={iconBadge} />} */}
 						<div class={styles.text}>
 							<div>
 								<span class={styles.num}>{evaluatingData.resultData.score}</span>分
 							</div>
-							<div style={{marginLeft: '6px'}}>{evaluatingData.resultData.clxmome}</div>
+							<div style={{ marginLeft: "6px" }}>{evaluatingData.resultData.clxmome}</div>
 						</div>
-						<img class={styles.rightBadge} src={evaluatingData.resultData.clxImg} />
 					</div>
-					{state.isPercussion ? (
-						<div class={styles.percussion}>
-							<img class={styles.leftIcon} src={evaluatingData.resultData.img} />
-							<div class={styles.scoreDes}>
-								<span class={styles.scoreNum}>{evaluatingData.resultData.score}</span>分
-								<span style={{ marginLeft: "8px" }}>{evaluatingData.resultData.mome}</span>
+					<div class={styles.box}>
+						{state.isPercussion ? null : (
+							<div class={styles.detail}>
+								<div class={styles.progressitem}>
+									<div class={styles.intonation}>音准</div>
+									<span>{evaluatingData.resultData.intonation}分</span>
+								</div>
+								<div class={styles.progressitem}>
+									<div class={styles.cadence}>节奏</div>
+									<span>{evaluatingData.resultData.cadence}分</span>
+								</div>
+								<div class={styles.progressitem}>
+									<div class={styles.integrity}>完成度</div>
+									<span>{evaluatingData.resultData.integrity}分</span>
+								</div>
 							</div>
-						</div>
-					) : (
-						<div class={styles.detail}>
-							<div class={styles.progressitem}>
-								<div class={styles.intonation}>音准</div>
-								<span>{evaluatingData.resultData.intonation}分</span>
-							</div>
-							<div class={styles.progressitem}>
-								<div class={styles.cadence}>节奏</div>
-								<span>{evaluatingData.resultData.cadence}分</span>
-							</div>
-							<div class={styles.progressitem}>
-								<div class={styles.integrity}>完成度</div>
-								<span>{evaluatingData.resultData.integrity}分</span>
-							</div>
-						</div>
-					)}
+						)}
 
-					<div class={styles.tips}>{evaluatingData.resultData.clxtip}</div>
-					<div class={styles.ctrls}>
-						<img src={imgs.btn1} class={styles.ctrlsBtn} onClick={() => emit("close", "practise")} />
-						<img src={imgs.btn2} class={styles.ctrlsBtn} onClick={() => emit("close", "tryagain")} />
-						<img src={imgs.btn3} class={styles.ctrlsBtn} onClick={() => emit("close", "look")} />
+						<div class={styles.tips}>{evaluatingData.resultData.clxtip}</div>
+						<div class={styles.ctrls}>
+							<img src={imgs.btn1} class={styles.ctrlsBtn} onClick={() => emit("close", "practise")} />
+							<img src={imgs.btn2} class={styles.ctrlsBtn} onClick={() => emit("close", "tryagain")} />
+							<img src={imgs.btn3} class={styles.ctrlsBtn} onClick={() => emit("close", "look")} />
+						</div>
 					</div>
 				</div>
 			</div>

Plik diff jest za duży
+ 0 - 0
src/page-orchestra/evaluat-model/icons/evaluating.json


+ 4 - 1
src/view/evaluating/evaluatResult.ts

@@ -104,7 +104,10 @@ export const getLeveByScore = (score?: number) => {
 	} else if (score > 80) {
 		leve = 4;
 	}
-	return icons[leve];
+	return {
+		...icons[leve],
+		leve
+	};
 };
 
 export const getLeveByScoreMeasure = (score?: number) => {

+ 3 - 1
src/view/evaluating/index.tsx

@@ -257,7 +257,9 @@ export default defineComponent({
 	name: "evaluating",
 	setup() {
         onBeforeMount(() => {
-            evaluatingData.resultData = {}
+			evaluatingData.resultData = {}
+            // evaluatingData.resultData = {...getLeveByScore(90), score: 30, intonation: 10, cadence: 30, integrity: 40}
+            // console.log("🚀 ~ evaluatingData.resultData:", evaluatingData.resultData)
             evaluatingData.evaluatings = {}
             evaluatingData.soundEffectFrequency = 0
             evaluatingData.checkStep = 0

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików