|  | @@ -320,14 +320,17 @@
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |            <div v-show="sentIndex == index" class="Soundrecord-content">
 | 
	
		
			
				|  |  | -            <Soundrecord
 | 
	
		
			
				|  |  | -              @handleWav="handleWav"
 | 
	
		
			
				|  |  | -              type="promax"
 | 
	
		
			
				|  |  | -              class="luyin-box"
 | 
	
		
			
				|  |  | -              @handleParentPlay="handleParentPlay"
 | 
	
		
			
				|  |  | -            />
 | 
	
		
			
				|  |  | -            <div>
 | 
	
		
			
				|  |  | -              <AudioLine
 | 
	
		
			
				|  |  | +            <div class="Soundrecord-content-inner">
 | 
	
		
			
				|  |  | +              <Soundrecord
 | 
	
		
			
				|  |  | +                @handleWav="handleWav"
 | 
	
		
			
				|  |  | +                type="promax"
 | 
	
		
			
				|  |  | +                class="luyin-box"
 | 
	
		
			
				|  |  | +                @getWavblob="getWavblob"
 | 
	
		
			
				|  |  | +                @handleParentPlay="handleParentPlay"
 | 
	
		
			
				|  |  | +                @sentPause="sentPause"
 | 
	
		
			
				|  |  | +              />
 | 
	
		
			
				|  |  | +              <div class="compare-box">
 | 
	
		
			
				|  |  | +                <!-- <AudioLine
 | 
	
		
			
				|  |  |                  :mp3="curQue.mp3_list[0].url"
 | 
	
		
			
				|  |  |                  :getCurTime="getCurTime"
 | 
	
		
			
				|  |  |                  :ref="'audioLine' + index"
 | 
	
	
		
			
				|  | @@ -338,7 +341,21 @@
 | 
	
		
			
				|  |  |                  :bg="curQue.wordTime[index].bg"
 | 
	
		
			
				|  |  |                  :ed="curQue.wordTime[index].ed"
 | 
	
		
			
				|  |  |                  @handleChangeStopAudio="handleChangeStopAudio"
 | 
	
		
			
				|  |  | -              />
 | 
	
		
			
				|  |  | +              /> -->
 | 
	
		
			
				|  |  | +                <Audio-compare
 | 
	
		
			
				|  |  | +                  :themeColor="themeColor"
 | 
	
		
			
				|  |  | +                  :index="index"
 | 
	
		
			
				|  |  | +                  :sentIndex="sentIndex"
 | 
	
		
			
				|  |  | +                  :url="curQue.mp3_list[0].id"
 | 
	
		
			
				|  |  | +                  :bg="curQue.wordTime[index].bg"
 | 
	
		
			
				|  |  | +                  :ed="curQue.wordTime[index].ed"
 | 
	
		
			
				|  |  | +                  :wavblob="wavblob"
 | 
	
		
			
				|  |  | +                  :getCurTime="getCurTime"
 | 
	
		
			
				|  |  | +                  :sentPause="sentPause"
 | 
	
		
			
				|  |  | +                  :isRecord="isRecord"
 | 
	
		
			
				|  |  | +                  :handleChangeStopAudio="handleChangeStopAudio"
 | 
	
		
			
				|  |  | +                />
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
	
		
			
				|  | @@ -352,13 +369,15 @@ import { timeStrToSen } from "@/utils/index";
 | 
	
		
			
				|  |  |  import AudioLine from "../AudioLine.vue";
 | 
	
		
			
				|  |  |  import Soundrecord from "../../preview/Soundrecord.vue"; // 录音模板
 | 
	
		
			
				|  |  |  import RoleChs from "./RoleChs.vue";
 | 
	
		
			
				|  |  | +import AudioCompare from "../AudioCompare.vue";
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    name: "ArticleView",
 | 
	
		
			
				|  |  | -  props: ["curQue", "colorBox", "noFont"],
 | 
	
		
			
				|  |  | +  props: ["curQue", "colorBox", "noFont", "themeColor"],
 | 
	
		
			
				|  |  |    components: {
 | 
	
		
			
				|  |  |      AudioLine,
 | 
	
		
			
				|  |  |      Soundrecord,
 | 
	
		
			
				|  |  |      RoleChs,
 | 
	
		
			
				|  |  | +    AudioCompare,
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    filters: {
 | 
	
		
			
				|  |  |      handlePinyin(wordsList) {
 | 
	
	
		
			
				|  | @@ -386,6 +405,7 @@ export default {
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    data() {
 | 
	
		
			
				|  |  |      return {
 | 
	
		
			
				|  |  | +      wavblob: null,
 | 
	
		
			
				|  |  |        resObj: null,
 | 
	
		
			
				|  |  |        curTime: 0, //单位s
 | 
	
		
			
				|  |  |        chsFhList: [",", "。", "“", ":", "》", "《", "?", "!", ";"],
 | 
	
	
		
			
				|  | @@ -417,6 +437,7 @@ export default {
 | 
	
		
			
				|  |  |        isShowPY: true,
 | 
	
		
			
				|  |  |        isRepeat: false,
 | 
	
		
			
				|  |  |        currSent: null, //当前句子的时间
 | 
	
		
			
				|  |  | +      isRecord: false,
 | 
	
		
			
				|  |  |      };
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    computed: {
 | 
	
	
		
			
				|  | @@ -428,9 +449,24 @@ export default {
 | 
	
		
			
				|  |  |        return playing;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  | -  watch: {},
 | 
	
		
			
				|  |  | +  watch: {
 | 
	
		
			
				|  |  | +    sentIndex: {
 | 
	
		
			
				|  |  | +      handler: function (newVal, oldVal) {
 | 
	
		
			
				|  |  | +        if (newVal != oldVal) {
 | 
	
		
			
				|  |  | +          this.wavblob = "";
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      },
 | 
	
		
			
				|  |  | +      deep: true,
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +  },
 | 
	
		
			
				|  |  |    //方法集合
 | 
	
		
			
				|  |  |    methods: {
 | 
	
		
			
				|  |  | +    getWavblob(wavblob) {
 | 
	
		
			
				|  |  | +      this.wavblob = wavblob;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  | +    sentPause(isRecord) {
 | 
	
		
			
				|  |  | +      this.isRecord = isRecord;
 | 
	
		
			
				|  |  | +    },
 | 
	
		
			
				|  |  |      getCurTime(curTime) {
 | 
	
		
			
				|  |  |        let _this = this;
 | 
	
		
			
				|  |  |        if (_this.isRepeat) {
 | 
	
	
		
			
				|  | @@ -813,17 +849,26 @@ export default {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    .Soundrecord-content {
 | 
	
		
			
				|  |  | -    padding: 0px 0px 8px 60px;
 | 
	
		
			
				|  |  | -    display: flex;
 | 
	
		
			
				|  |  | -    justify-content: flex-start;
 | 
	
		
			
				|  |  | -    align-items: center;
 | 
	
		
			
				|  |  | -    .luyin-box {
 | 
	
		
			
				|  |  | -      width: 280px;
 | 
	
		
			
				|  |  | -      padding: 8px 12px;
 | 
	
		
			
				|  |  | -      border: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  | +    padding: 0px 0px 8px 68px;
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    &-inner {
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      justify-content: flex-start;
 | 
	
		
			
				|  |  | +      align-items: center;
 | 
	
		
			
				|  |  | +      width: 304px;
 | 
	
		
			
				|  |  |        border-radius: 8px;
 | 
	
		
			
				|  |  |        background: #ffffff;
 | 
	
		
			
				|  |  | -      margin-right: 16px;
 | 
	
		
			
				|  |  | +      padding: 4px 12px;
 | 
	
		
			
				|  |  | +      border: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  | +      .luyin-box {
 | 
	
		
			
				|  |  | +        width: 280px;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .compare-box {
 | 
	
		
			
				|  |  | +        height: 32px;
 | 
	
		
			
				|  |  | +        display: flex;
 | 
	
		
			
				|  |  | +        justify-content: center;
 | 
	
		
			
				|  |  | +        align-items: center;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  }
 |