|  | @@ -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";
 | 
	
	
		
			
				|  | @@ -79,6 +79,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();
 | 
	
	
		
			
				|  | @@ -112,12 +122,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>
 | 
	
	
		
			
				|  | @@ -156,28 +166,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>
 |