|
@@ -1,4 +1,4 @@
|
|
|
-import { defineComponent, onMounted, reactive, watch } from "vue";
|
|
|
+import { defineComponent, onMounted, reactive, watch, computed } from "vue";
|
|
|
import { Popover } from "vant";
|
|
|
import styles from "./index.module.less";
|
|
|
import state from "/src/state";
|
|
@@ -78,6 +78,16 @@ export default defineComponent({
|
|
|
emit("close", "update");
|
|
|
};
|
|
|
|
|
|
+ // 播放倍率不等于1,或者是选段评测,APP暂时不支持保存演奏,需要给出提示
|
|
|
+ const noSaveTips = computed(() => {
|
|
|
+ let tipContent = '';
|
|
|
+ const rate = state.basePlayRate * state.originAudioPlayRate; // 播放倍率
|
|
|
+ if (query.workRecord || state.section.length === 2 || state.isAppPlay || rate != 1 || !state.accompany) {
|
|
|
+ tipContent = query.workRecord ? '评测作业暂不支持保存作品噢~' : (!state.accompany || state.isAppPlay) ? '该曲目暂不支持保存作品噢~' : state.section.length === 2 ? '选段后暂不支持保存作品噢~' : rate != 1 ? '调速后暂不支持保存作品噢~' : '';
|
|
|
+ }
|
|
|
+ return tipContent
|
|
|
+ })
|
|
|
+
|
|
|
onMounted(() => {
|
|
|
if (!evaluatingData.isErrorState) {
|
|
|
handleAddRecord();
|
|
@@ -111,12 +121,12 @@ export default defineComponent({
|
|
|
{evaluatingData.resultData.score > 79 && <img class={styles.badge} src={iconBadge} />}
|
|
|
<div class={[styles.text, evaluatingData.resultData.score > 79 && styles.badgeText]}>
|
|
|
<div class={[styles.scoreSection, "evaluting-result-1"]}>
|
|
|
- <div class={styles.num}>{evaluatingData.resultData.score}00</div>
|
|
|
+ <div class={styles.num}>{evaluatingData.resultData.score}</div>
|
|
|
<div class={styles.score}>分</div>
|
|
|
<div class={styles.level}>
|
|
|
<div>{level[evaluatingData.resultData.heardLevel]}</div>
|
|
|
<span>|</span>
|
|
|
- <div>速度{evaluatingData.resultData.speed}</div>
|
|
|
+ <div>速度{evaluatingData.resultData.speed || state.speed}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -155,28 +165,22 @@ export default defineComponent({
|
|
|
<div class={styles.ctrls}>
|
|
|
<img src={zlycImg} class={[styles.ctrlsBtn, "evaluting-result-2"]} onClick={() => emit("close", "tryagain")} />
|
|
|
{!state.isHideEvaluatReportSaveBtn && evaluatingData.resultData.recordId ? (
|
|
|
- <img src={bczpImg} class={[styles.ctrlsBtn, "evaluting-result-3"]} onClick={debounce(saveResult, 300)} />
|
|
|
- ) : (
|
|
|
- <Popover
|
|
|
- class={"savePopoverClose"}
|
|
|
- placement={"top"}
|
|
|
- v-model:show={data.showPopover}
|
|
|
- v-slots={{
|
|
|
- reference: () => <img src={bczpJzImg} class={[styles.ctrlsBtn, "evaluting-result-3"]} />,
|
|
|
- }}
|
|
|
- theme="dark"
|
|
|
- >
|
|
|
- <div class={"popoverClose"}>
|
|
|
- <div>该曲目暂不支持保存作品噢~</div>
|
|
|
- <img
|
|
|
- src={closeImg}
|
|
|
- onClick={() => {
|
|
|
- data.showPopover = false;
|
|
|
- }}
|
|
|
- />
|
|
|
- </div>
|
|
|
- </Popover>
|
|
|
- )}
|
|
|
+ <div class={styles.saveBtn}>
|
|
|
+ <img src={noSaveTips.value ? bczpJzImg : bczpImg} class={[styles.ctrlsBtn, "evaluting-result-3"]} onClick={() => {
|
|
|
+ if (!noSaveTips.value) {
|
|
|
+ debounce(saveResult, 300)
|
|
|
+ }
|
|
|
+ }} />
|
|
|
+ {
|
|
|
+ noSaveTips.value && state.noSavePopShow ?
|
|
|
+ <div class={[styles.noSaveTip]}>
|
|
|
+ <span class={styles.arrowIcon}></span>
|
|
|
+ <span>{noSaveTips.value}</span>
|
|
|
+ <i onClick={() => state.noSavePopShow = false}></i>
|
|
|
+ </div> : null
|
|
|
+ }
|
|
|
+ </div>
|
|
|
+ ) : null }
|
|
|
<img src={ckzpImg} class={[styles.ctrlsBtn, "evaluting-result-4", data.saveLoading ? styles.disablued : ""]} onClick={() => emit("close", "look")} />
|
|
|
</div>
|
|
|
</div>
|