|  | @@ -7,47 +7,55 @@
 | 
	
		
			
				|  |  |        <div class="shade"></div>
 | 
	
		
			
				|  |  |      </div>
 | 
	
		
			
				|  |  |      <HeaderOne text="123" title="教材详情" name="" />
 | 
	
		
			
				|  |  | -    <div class="main" v-loading="loading">
 | 
	
		
			
				|  |  | -      <div class="bookDetail" v-if="detailSHow">
 | 
	
		
			
				|  |  | -        <div class="rightUp">
 | 
	
		
			
				|  |  | -          <span>HOT</span>
 | 
	
		
			
				|  |  | -        </div>
 | 
	
		
			
				|  |  | -        <div class="img">
 | 
	
		
			
				|  |  | -          <img :src="TextbookData.picture_url" alt="" />
 | 
	
		
			
				|  |  | -        </div>
 | 
	
		
			
				|  |  | -        <div class="text">
 | 
	
		
			
				|  |  | -          <p class="p1">{{ TextbookData.name }}</p>
 | 
	
		
			
				|  |  | -          <p class="p2">{{ TextbookData.org_name }}</p>
 | 
	
		
			
				|  |  | -          <p class="p2">{{ TextbookData.author }}</p>
 | 
	
		
			
				|  |  | -          <p class="p3">
 | 
	
		
			
				|  |  | -            {{ TextbookData.description }}
 | 
	
		
			
				|  |  | -          </p>
 | 
	
		
			
				|  |  | -          <div class="operation">
 | 
	
		
			
				|  |  | -            <span class="price">
 | 
	
		
			
				|  |  | -              ¥<span
 | 
	
		
			
				|  |  | -                class="price_1"
 | 
	
		
			
				|  |  | -                v-html="changePrice(TextbookData.price, 24, 16)"
 | 
	
		
			
				|  |  | -              ></span>
 | 
	
		
			
				|  |  | -            </span>
 | 
	
		
			
				|  |  | -            <button @click="getPurchase" class="get">
 | 
	
		
			
				|  |  | -              <!-- Key390-去学习 Key72-购买 -->
 | 
	
		
			
				|  |  | -              {{ bookIsBuy == "true" ? this.$t("Key390") : this.$t("Key72") }}
 | 
	
		
			
				|  |  | -            </button>
 | 
	
		
			
				|  |  | -            <!-- <button   class="acquired">
 | 
	
		
			
				|  |  | +    <template v-if="TextbookData.is_deleted == 'false'">
 | 
	
		
			
				|  |  | +      <template v-if="bookIsBuy == 'true' || TextbookData.publish_status == 1">
 | 
	
		
			
				|  |  | +        <div class="main" v-loading="loading">
 | 
	
		
			
				|  |  | +          <div class="bookDetail" v-if="detailSHow">
 | 
	
		
			
				|  |  | +            <div class="rightUp">
 | 
	
		
			
				|  |  | +              <span>HOT</span>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            <div class="img">
 | 
	
		
			
				|  |  | +              <img :src="TextbookData.picture_url" alt="" />
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            <div class="text">
 | 
	
		
			
				|  |  | +              <p class="p1">{{ TextbookData.name }}</p>
 | 
	
		
			
				|  |  | +              <p class="p2">{{ TextbookData.org_name }}</p>
 | 
	
		
			
				|  |  | +              <p class="p2">{{ TextbookData.author }}</p>
 | 
	
		
			
				|  |  | +              <p class="p3">
 | 
	
		
			
				|  |  | +                {{ TextbookData.description }}
 | 
	
		
			
				|  |  | +              </p>
 | 
	
		
			
				|  |  | +              <div class="operation">
 | 
	
		
			
				|  |  | +                <span class="price">
 | 
	
		
			
				|  |  | +                  ¥<span
 | 
	
		
			
				|  |  | +                    class="price_1"
 | 
	
		
			
				|  |  | +                    v-html="changePrice(TextbookData.price, 24, 16)"
 | 
	
		
			
				|  |  | +                  ></span>
 | 
	
		
			
				|  |  | +                </span>
 | 
	
		
			
				|  |  | +                <button @click="getPurchase" class="get">
 | 
	
		
			
				|  |  | +                  <!-- Key390-去学习 Key72-购买 -->
 | 
	
		
			
				|  |  | +                  {{
 | 
	
		
			
				|  |  | +                    bookIsBuy == "true" ? this.$t("Key390") : this.$t("Key72")
 | 
	
		
			
				|  |  | +                  }}
 | 
	
		
			
				|  |  | +                </button>
 | 
	
		
			
				|  |  | +                <!-- <button   class="acquired">
 | 
	
		
			
				|  |  |                ACQUIRED
 | 
	
		
			
				|  |  |              </button> -->
 | 
	
		
			
				|  |  | -            <span class="enshrine" @click="enshrineEvent">
 | 
	
		
			
				|  |  | -              <img
 | 
	
		
			
				|  |  | -                v-if="enshrine == 'false'"
 | 
	
		
			
				|  |  | -                src="../assets/textBookDetail/enshrine2.png"
 | 
	
		
			
				|  |  | -                alt=""
 | 
	
		
			
				|  |  | -              />
 | 
	
		
			
				|  |  | -              <img v-else src="../assets/textBookDetail/enshrine1.png" alt="" />
 | 
	
		
			
				|  |  | -            </span>
 | 
	
		
			
				|  |  | +                <span class="enshrine" @click="enshrineEvent">
 | 
	
		
			
				|  |  | +                  <img
 | 
	
		
			
				|  |  | +                    v-if="enshrine == 'false'"
 | 
	
		
			
				|  |  | +                    src="../assets/textBookDetail/enshrine2.png"
 | 
	
		
			
				|  |  | +                    alt=""
 | 
	
		
			
				|  |  | +                  />
 | 
	
		
			
				|  |  | +                  <img
 | 
	
		
			
				|  |  | +                    v-else
 | 
	
		
			
				|  |  | +                    src="../assets/textBookDetail/enshrine1.png"
 | 
	
		
			
				|  |  | +                    alt=""
 | 
	
		
			
				|  |  | +                  />
 | 
	
		
			
				|  |  | +                </span>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  | -        </div>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | -      <!-- <div class="more"  v-if="detailSHow">
 | 
	
		
			
				|  |  | +          <!-- <div class="more"  v-if="detailSHow">
 | 
	
		
			
				|  |  |          <div class="moreTitle">更多推荐</div>
 | 
	
		
			
				|  |  |          <div class="moreList">
 | 
	
		
			
				|  |  |            <div class="moreOne">
 | 
	
	
		
			
				|  | @@ -124,112 +132,153 @@
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  |        </div> -->
 | 
	
		
			
				|  |  | -      <div class="cutDownOrimg" v-if="detailSHow">
 | 
	
		
			
				|  |  | -        <div class="sele">
 | 
	
		
			
				|  |  | -          <div
 | 
	
		
			
				|  |  | -            @click="SelectShowEvent('1')"
 | 
	
		
			
				|  |  | -            :class="SelectShow == '1' ? 'select' : ''"
 | 
	
		
			
				|  |  | -            v-if="SelectFirstShow"
 | 
	
		
			
				|  |  | -          >
 | 
	
		
			
				|  |  | -            <!-- 目录 -->{{ $t("Key612") }}
 | 
	
		
			
				|  |  | +          <div class="cutDownOrimg" v-if="detailSHow">
 | 
	
		
			
				|  |  | +            <div class="sele">
 | 
	
		
			
				|  |  | +              <div
 | 
	
		
			
				|  |  | +                @click="SelectShowEvent('1')"
 | 
	
		
			
				|  |  | +                :class="SelectShow == '1' ? 'select' : ''"
 | 
	
		
			
				|  |  | +                v-if="SelectFirstShow"
 | 
	
		
			
				|  |  | +              >
 | 
	
		
			
				|  |  | +                <!-- 目录 -->{{ $t("Key612") }}
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +              <!-- 资源 -->
 | 
	
		
			
				|  |  | +              <div
 | 
	
		
			
				|  |  | +                @click="SelectShowEvent('2')"
 | 
	
		
			
				|  |  | +                :class="SelectShow == '1' ? '' : 'select'"
 | 
	
		
			
				|  |  | +                v-if="
 | 
	
		
			
				|  |  | +                  fileListVideo.length > 0 ||
 | 
	
		
			
				|  |  | +                  fileListAudio.length > 0 ||
 | 
	
		
			
				|  |  | +                  fileListOtheraudio.length > 0 ||
 | 
	
		
			
				|  |  | +                  fileListDoc.length > 0
 | 
	
		
			
				|  |  | +                "
 | 
	
		
			
				|  |  | +              >
 | 
	
		
			
				|  |  | +                {{ $t("Key613") }}
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  | -          <!-- 资源 -->
 | 
	
		
			
				|  |  | -          <div
 | 
	
		
			
				|  |  | -            @click="SelectShowEvent('2')"
 | 
	
		
			
				|  |  | -            :class="SelectShow == '1' ? '' : 'select'"
 | 
	
		
			
				|  |  | -            v-if="fileListVideo.length>0||fileListAudio.length>0||fileListOtheraudio.length>0||fileListDoc.length>0"
 | 
	
		
			
				|  |  | -          >
 | 
	
		
			
				|  |  | -            {{ $t("Key613") }}
 | 
	
		
			
				|  |  | +          <div v-if="SelectShow == '1'" class="Catalogue">
 | 
	
		
			
				|  |  | +            <BookView
 | 
	
		
			
				|  |  | +              :bookId="TextBookId"
 | 
	
		
			
				|  |  | +              @bookdetailShow="bookdetailShow"
 | 
	
		
			
				|  |  | +              :bookIsBuy="bookIsBuy"
 | 
	
		
			
				|  |  | +            ></BookView>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  | -        </div>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | -      <div v-if="SelectShow == '1'" class="Catalogue">
 | 
	
		
			
				|  |  | -        <BookView
 | 
	
		
			
				|  |  | -          :bookId="TextBookId"
 | 
	
		
			
				|  |  | -          @bookdetailShow="bookdetailShow"
 | 
	
		
			
				|  |  | -          :bookIsBuy="bookIsBuy"
 | 
	
		
			
				|  |  | -        ></BookView>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | -      <div v-else class="Resources">
 | 
	
		
			
				|  |  | -        <!--没有数据-->
 | 
	
		
			
				|  |  | -        <!-- <div>
 | 
	
		
			
				|  |  | +          <div v-else class="Resources">
 | 
	
		
			
				|  |  | +            <!--没有数据-->
 | 
	
		
			
				|  |  | +            <!-- <div>
 | 
	
		
			
				|  |  |            <img src="../assets/textBookDetail/fileType1.png" alt="" />
 | 
	
		
			
				|  |  |            <span> 文件名 </span>
 | 
	
		
			
				|  |  |            <img src="../assets/textBookDetail/upload.png" alt="" />
 | 
	
		
			
				|  |  |          </div> -->
 | 
	
		
			
				|  |  | -        <div class="resource-content" v-if="fileListVideo.length>0">
 | 
	
		
			
				|  |  | -        <h2 class="video-title">视频资源</h2>
 | 
	
		
			
				|  |  | -        <ul class="video-list">
 | 
	
		
			
				|  |  | -          <li v-for="(item,index) in fileListVideo" :key="index" @click="handleJumpVideo(index)">
 | 
	
		
			
				|  |  | -            <div class="video-img" :style="{'background':'url('+item.preview_image_file_url+') no-repeat','background-size':'cover'}">
 | 
	
		
			
				|  |  | -              <img class="video" />
 | 
	
		
			
				|  |  | -              <img src="../assets/common/play-one.png" class="play-one" />
 | 
	
		
			
				|  |  | -            </div>
 | 
	
		
			
				|  |  | -            <p class="video-name">{{item.file_name}}</p>
 | 
	
		
			
				|  |  | -          </li>
 | 
	
		
			
				|  |  | -        </ul>
 | 
	
		
			
				|  |  | -      </div>
 | 
	
		
			
				|  |  | -      <div class="resource-content" v-if="fileListAudio.length>0||fileListOtheraudio.length>0">
 | 
	
		
			
				|  |  | -        <h2 class="video-title">音频资源</h2>
 | 
	
		
			
				|  |  | -        <div class="audio-content" v-if="fileListAudio.length>0">
 | 
	
		
			
				|  |  | -          <p class="audio-type">课文资源</p>
 | 
	
		
			
				|  |  | -          <div class="audio-line-box">
 | 
	
		
			
				|  |  | -            <AudioLine 
 | 
	
		
			
				|  |  | -                :audioId="'fileListAudio'"
 | 
	
		
			
				|  |  | -                :mp3List="fileListAudio"
 | 
	
		
			
				|  |  | -                type="audioLine"
 | 
	
		
			
				|  |  | -                ref="audioLine"
 | 
	
		
			
				|  |  | -            />
 | 
	
		
			
				|  |  | -          </div>
 | 
	
		
			
				|  |  | -        </div>
 | 
	
		
			
				|  |  | -        <div class="audio-content" v-if="fileListOtheraudio.length>0">
 | 
	
		
			
				|  |  | -          <p class="audio-type">自学音频</p>
 | 
	
		
			
				|  |  | -          <div class="audio-line-box">
 | 
	
		
			
				|  |  | -            <AudioLine 
 | 
	
		
			
				|  |  | -                :audioId="'fileListOtheraudio'"
 | 
	
		
			
				|  |  | -                :mp3List="fileListOtheraudio"
 | 
	
		
			
				|  |  | -                type="audioLine"
 | 
	
		
			
				|  |  | -                ref="audioLine"
 | 
	
		
			
				|  |  | -            />
 | 
	
		
			
				|  |  | -          </div>
 | 
	
		
			
				|  |  | -        </div>
 | 
	
		
			
				|  |  | -        <div class="audio-content">
 | 
	
		
			
				|  |  | -          <p class="audio-type">资源下载</p>
 | 
	
		
			
				|  |  | -          <div class="download">
 | 
	
		
			
				|  |  | -            <div class="book-open" @click="handleDownloadAudio">
 | 
	
		
			
				|  |  | -              <img
 | 
	
		
			
				|  |  | -                src="../assets/common/download.png"
 | 
	
		
			
				|  |  | -                class="book-open-img"
 | 
	
		
			
				|  |  | -              />
 | 
	
		
			
				|  |  | -              <span class="book-open-text">音频</span>
 | 
	
		
			
				|  |  | +            <div class="resource-content" v-if="fileListVideo.length > 0">
 | 
	
		
			
				|  |  | +              <h2 class="video-title">视频资源</h2>
 | 
	
		
			
				|  |  | +              <ul class="video-list">
 | 
	
		
			
				|  |  | +                <li
 | 
	
		
			
				|  |  | +                  v-for="(item, index) in fileListVideo"
 | 
	
		
			
				|  |  | +                  :key="index"
 | 
	
		
			
				|  |  | +                  @click="handleJumpVideo(index)"
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +                  <div
 | 
	
		
			
				|  |  | +                    class="video-img"
 | 
	
		
			
				|  |  | +                    :style="{
 | 
	
		
			
				|  |  | +                      background:
 | 
	
		
			
				|  |  | +                        'url(' + item.preview_image_file_url + ') no-repeat',
 | 
	
		
			
				|  |  | +                      'background-size': 'cover',
 | 
	
		
			
				|  |  | +                    }"
 | 
	
		
			
				|  |  | +                  >
 | 
	
		
			
				|  |  | +                    <img class="video" />
 | 
	
		
			
				|  |  | +                    <img src="../assets/common/play-one.png" class="play-one" />
 | 
	
		
			
				|  |  | +                  </div>
 | 
	
		
			
				|  |  | +                  <p class="video-name">{{ item.file_name }}</p>
 | 
	
		
			
				|  |  | +                </li>
 | 
	
		
			
				|  |  | +              </ul>
 | 
	
		
			
				|  |  |              </div>
 | 
	
		
			
				|  |  | -            <!-- <div class="book-open">
 | 
	
		
			
				|  |  | +            <div
 | 
	
		
			
				|  |  | +              class="resource-content"
 | 
	
		
			
				|  |  | +              v-if="fileListAudio.length > 0 || fileListOtheraudio.length > 0"
 | 
	
		
			
				|  |  | +            >
 | 
	
		
			
				|  |  | +              <h2 class="video-title">音频资源</h2>
 | 
	
		
			
				|  |  | +              <div class="audio-content" v-if="fileListAudio.length > 0">
 | 
	
		
			
				|  |  | +                <p class="audio-type">课文资源</p>
 | 
	
		
			
				|  |  | +                <div class="audio-line-box">
 | 
	
		
			
				|  |  | +                  <AudioLine
 | 
	
		
			
				|  |  | +                    :audioId="'fileListAudio'"
 | 
	
		
			
				|  |  | +                    :mp3List="fileListAudio"
 | 
	
		
			
				|  |  | +                    type="audioLine"
 | 
	
		
			
				|  |  | +                    ref="audioLine"
 | 
	
		
			
				|  |  | +                  />
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +              <div class="audio-content" v-if="fileListOtheraudio.length > 0">
 | 
	
		
			
				|  |  | +                <p class="audio-type">自学音频</p>
 | 
	
		
			
				|  |  | +                <div class="audio-line-box">
 | 
	
		
			
				|  |  | +                  <AudioLine
 | 
	
		
			
				|  |  | +                    :audioId="'fileListOtheraudio'"
 | 
	
		
			
				|  |  | +                    :mp3List="fileListOtheraudio"
 | 
	
		
			
				|  |  | +                    type="audioLine"
 | 
	
		
			
				|  |  | +                    ref="audioLine"
 | 
	
		
			
				|  |  | +                  />
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +              <div class="audio-content">
 | 
	
		
			
				|  |  | +                <p class="audio-type">资源下载</p>
 | 
	
		
			
				|  |  | +                <div class="download">
 | 
	
		
			
				|  |  | +                  <div class="book-open" @click="handleDownloadAudio">
 | 
	
		
			
				|  |  | +                    <img
 | 
	
		
			
				|  |  | +                      src="../assets/common/download.png"
 | 
	
		
			
				|  |  | +                      class="book-open-img"
 | 
	
		
			
				|  |  | +                    />
 | 
	
		
			
				|  |  | +                    <span class="book-open-text">音频</span>
 | 
	
		
			
				|  |  | +                  </div>
 | 
	
		
			
				|  |  | +                  <!-- <div class="book-open">
 | 
	
		
			
				|  |  |                <img
 | 
	
		
			
				|  |  |                  src="../assets/common/download.png"
 | 
	
		
			
				|  |  |                  class="book-open-img"
 | 
	
		
			
				|  |  |                />
 | 
	
		
			
				|  |  |                <span class="book-open-text">互动课件</span>
 | 
	
		
			
				|  |  |              </div> -->
 | 
	
		
			
				|  |  | +                </div>
 | 
	
		
			
				|  |  | +              </div>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  | +            <div class="resource-content" v-if="fileListDoc.length > 0">
 | 
	
		
			
				|  |  | +              <h2 class="video-title">试读PDF</h2>
 | 
	
		
			
				|  |  | +              <ul class="PDF-list">
 | 
	
		
			
				|  |  | +                <li
 | 
	
		
			
				|  |  | +                  v-for="(item, index) in fileListDoc"
 | 
	
		
			
				|  |  | +                  :key="index"
 | 
	
		
			
				|  |  | +                  @click="handleJumpPdf(index)"
 | 
	
		
			
				|  |  | +                >
 | 
	
		
			
				|  |  | +                  <b>{{ index + 1 }}.</b>
 | 
	
		
			
				|  |  | +                  <p class="PDF-name">{{ item.file_name }}</p>
 | 
	
		
			
				|  |  | +                  <span>{{ item.fileSize }}</span>
 | 
	
		
			
				|  |  | +                  <img
 | 
	
		
			
				|  |  | +                    src="../assets/common/download.png"
 | 
	
		
			
				|  |  | +                    class="book-open-img"
 | 
	
		
			
				|  |  | +                    @click="handleDownload(item.file_id)"
 | 
	
		
			
				|  |  | +                  />
 | 
	
		
			
				|  |  | +                </li>
 | 
	
		
			
				|  |  | +              </ul>
 | 
	
		
			
				|  |  | +            </div>
 | 
	
		
			
				|  |  |            </div>
 | 
	
		
			
				|  |  |          </div>
 | 
	
		
			
				|  |  | +      </template>
 | 
	
		
			
				|  |  | +    </template>
 | 
	
		
			
				|  |  | +    <template v-if="TextbookData.is_deleted == 'true'">
 | 
	
		
			
				|  |  | +      <div class="noview-msg-box">
 | 
	
		
			
				|  |  | +        <div class="noview-msg">无法查看,教材已被删除</div>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  | -        <div class="resource-content" v-if="fileListDoc.length>0">
 | 
	
		
			
				|  |  | -            <h2 class="video-title">试读PDF</h2>
 | 
	
		
			
				|  |  | -            <ul class="PDF-list">
 | 
	
		
			
				|  |  | -                <li v-for="(item,index) in fileListDoc" :key="index" @click="handleJumpPdf(index)">
 | 
	
		
			
				|  |  | -                    <b>{{index+1}}.</b>
 | 
	
		
			
				|  |  | -                    <p class="PDF-name">{{item.file_name}}</p>
 | 
	
		
			
				|  |  | -                    <span>{{item.fileSize}}</span>
 | 
	
		
			
				|  |  | -                    <img
 | 
	
		
			
				|  |  | -                        src="../assets/common/download.png"
 | 
	
		
			
				|  |  | -                        class="book-open-img"
 | 
	
		
			
				|  |  | -                        @click="handleDownload(item.file_id)"
 | 
	
		
			
				|  |  | -                    />
 | 
	
		
			
				|  |  | -                </li>
 | 
	
		
			
				|  |  | -            </ul>
 | 
	
		
			
				|  |  | -        </div>
 | 
	
		
			
				|  |  | +    </template>
 | 
	
		
			
				|  |  | +    <template
 | 
	
		
			
				|  |  | +      v-if="
 | 
	
		
			
				|  |  | +        TextbookData.is_deleted == 'false' &&
 | 
	
		
			
				|  |  | +        bookIsBuy == 'false' &&
 | 
	
		
			
				|  |  | +        TextbookData.publish_status == 0
 | 
	
		
			
				|  |  | +      "
 | 
	
		
			
				|  |  | +    >
 | 
	
		
			
				|  |  | +      <div class="noview-msg-box">
 | 
	
		
			
				|  |  | +        <div class="noview-msg">无法查看,教材已下架</div>
 | 
	
		
			
				|  |  |        </div>
 | 
	
		
			
				|  |  | -    </div>
 | 
	
		
			
				|  |  | +    </template>
 | 
	
		
			
				|  |  |      <!-- 商品详情 -->
 | 
	
		
			
				|  |  |      <el-dialog
 | 
	
		
			
				|  |  |        class="buyWindow"
 | 
	
	
		
			
				|  | @@ -266,14 +315,19 @@
 | 
	
		
			
				|  |  |  //例如:import 《组件名称》from ‘《组件路径》';
 | 
	
		
			
				|  |  |  import Header from "@/components/inputModules/common/Header";
 | 
	
		
			
				|  |  |  import HeaderOne from "@/components/inputModules/common/HeaderOne";
 | 
	
		
			
				|  |  | -import { TextbookAPI, LearnWebSI, getContent, getContentFile } from "@/api/ajax";
 | 
	
		
			
				|  |  | +import {
 | 
	
		
			
				|  |  | +  TextbookAPI,
 | 
	
		
			
				|  |  | +  LearnWebSI,
 | 
	
		
			
				|  |  | +  getContent,
 | 
	
		
			
				|  |  | +  getContentFile,
 | 
	
		
			
				|  |  | +} from "@/api/ajax";
 | 
	
		
			
				|  |  |  import Confirmorder from "@/components/pyment/Confirmorder";
 | 
	
		
			
				|  |  |  import Payment from "@/components/pyment/Payment";
 | 
	
		
			
				|  |  |  import BookView from "@/views/bookView"; // 教材预览
 | 
	
		
			
				|  |  |  import { updateWordPack } from "@/utils/i18n";
 | 
	
		
			
				|  |  |  import AudioLine from "@/components/inputModules/common/AudioLine";
 | 
	
		
			
				|  |  |  import { getToken } from "@/utils/auth";
 | 
	
		
			
				|  |  | -import { Base64 } from 'js-base64';
 | 
	
		
			
				|  |  | +import { Base64 } from "js-base64";
 | 
	
		
			
				|  |  |  export default {
 | 
	
		
			
				|  |  |    //import引入的组件需要注入到对象中才能使用
 | 
	
		
			
				|  |  |    components: {
 | 
	
	
		
			
				|  | @@ -437,51 +491,50 @@ export default {
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |        this.handleIsBuy();
 | 
	
		
			
				|  |  |        this.handleIsEnshrine();
 | 
	
		
			
				|  |  | -      this.getBookSource()
 | 
	
		
			
				|  |  | -      this.getBookStructList()
 | 
	
		
			
				|  |  | +      this.getBookSource();
 | 
	
		
			
				|  |  | +      this.getBookStructList();
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      // 教材资源
 | 
	
		
			
				|  |  | -    getBookSource(){
 | 
	
		
			
				|  |  | -        let MethodNames = "book-resource_manager-GetBookResourceList";
 | 
	
		
			
				|  |  | -        let datas = {
 | 
	
		
			
				|  |  | -            book_id: this.TextBookId,
 | 
	
		
			
				|  |  | -        };
 | 
	
		
			
				|  |  | -        getContent(MethodNames, datas)
 | 
	
		
			
				|  |  | -            .then((res) => {
 | 
	
		
			
				|  |  | -                if(res.status==1){ 
 | 
	
		
			
				|  |  | -                    this.fileListVideo = res.video_list
 | 
	
		
			
				|  |  | -                    this.fileListAudio = res.audio_list
 | 
	
		
			
				|  |  | -                    this.fileListOtheraudio = res.otheraudio_list
 | 
	
		
			
				|  |  | -                    this.fileListDoc = res.doc_list
 | 
	
		
			
				|  |  | -                    this.fileListDoc.forEach(item => {
 | 
	
		
			
				|  |  | -                        if(item.file_size>1024*1024){
 | 
	
		
			
				|  |  | -                            if(item.file_size/1024/1024/1024>1){
 | 
	
		
			
				|  |  | -                                item.fileSize = (item.file_size/1024/1024/1024).toFixed(2)+'GB'
 | 
	
		
			
				|  |  | -                            }else{
 | 
	
		
			
				|  |  | -                                item.fileSize = (item.file_size/1024/1024).toFixed(2)+'MB'
 | 
	
		
			
				|  |  | -                            }
 | 
	
		
			
				|  |  | -                        }else{
 | 
	
		
			
				|  |  | -                            item.fileSize = (item.file_size/1024).toFixed(2)+'KB'
 | 
	
		
			
				|  |  | -                        }
 | 
	
		
			
				|  |  | -                    });
 | 
	
		
			
				|  |  | -                }   
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | +    getBookSource() {
 | 
	
		
			
				|  |  | +      let MethodNames = "book-resource_manager-GetBookResourceList";
 | 
	
		
			
				|  |  | +      let datas = {
 | 
	
		
			
				|  |  | +        book_id: this.TextBookId,
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +      getContent(MethodNames, datas).then((res) => {
 | 
	
		
			
				|  |  | +        if (res.status == 1) {
 | 
	
		
			
				|  |  | +          this.fileListVideo = res.video_list;
 | 
	
		
			
				|  |  | +          this.fileListAudio = res.audio_list;
 | 
	
		
			
				|  |  | +          this.fileListOtheraudio = res.otheraudio_list;
 | 
	
		
			
				|  |  | +          this.fileListDoc = res.doc_list;
 | 
	
		
			
				|  |  | +          this.fileListDoc.forEach((item) => {
 | 
	
		
			
				|  |  | +            if (item.file_size > 1024 * 1024) {
 | 
	
		
			
				|  |  | +              if (item.file_size / 1024 / 1024 / 1024 > 1) {
 | 
	
		
			
				|  |  | +                item.fileSize =
 | 
	
		
			
				|  |  | +                  (item.file_size / 1024 / 1024 / 1024).toFixed(2) + "GB";
 | 
	
		
			
				|  |  | +              } else {
 | 
	
		
			
				|  |  | +                item.fileSize =
 | 
	
		
			
				|  |  | +                  (item.file_size / 1024 / 1024).toFixed(2) + "MB";
 | 
	
		
			
				|  |  | +              }
 | 
	
		
			
				|  |  | +            } else {
 | 
	
		
			
				|  |  | +              item.fileSize = (item.file_size / 1024).toFixed(2) + "KB";
 | 
	
		
			
				|  |  | +            }
 | 
	
		
			
				|  |  | +          });
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      // 章节树
 | 
	
		
			
				|  |  | -    getBookStructList () {
 | 
	
		
			
				|  |  | -        let MethodName = "book-book_manager-GetBookChapterStruct";
 | 
	
		
			
				|  |  | -        let data = {
 | 
	
		
			
				|  |  | -            'book_id': this.TextBookId
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        getContent(MethodName, data).then(
 | 
	
		
			
				|  |  | -            (res) => {
 | 
	
		
			
				|  |  | -                this.SelectFirstShow = res.nodes?true:false
 | 
	
		
			
				|  |  | -                this.SelectShow = res.nodes?'1':'2'
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -        )
 | 
	
		
			
				|  |  | +    getBookStructList() {
 | 
	
		
			
				|  |  | +      let MethodName = "book-book_manager-GetBookChapterStruct";
 | 
	
		
			
				|  |  | +      let data = {
 | 
	
		
			
				|  |  | +        book_id: this.TextBookId,
 | 
	
		
			
				|  |  | +      };
 | 
	
		
			
				|  |  | +      getContent(MethodName, data).then((res) => {
 | 
	
		
			
				|  |  | +        this.SelectFirstShow = res.nodes ? true : false;
 | 
	
		
			
				|  |  | +        this.SelectShow = res.nodes ? "1" : "2";
 | 
	
		
			
				|  |  | +      });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      // 打包下载全部音频
 | 
	
		
			
				|  |  | -    handleDownloadAudio(){
 | 
	
		
			
				|  |  | +    handleDownloadAudio() {
 | 
	
		
			
				|  |  |        let _this = this;
 | 
	
		
			
				|  |  |        _this.loading = true;
 | 
	
		
			
				|  |  |        // 拿到当前课的所有文件id
 | 
	
	
		
			
				|  | @@ -502,11 +555,11 @@ export default {
 | 
	
		
			
				|  |  |          FileID,
 | 
	
		
			
				|  |  |        };
 | 
	
		
			
				|  |  |        let arr = [];
 | 
	
		
			
				|  |  | -      this.fileListAudio.forEach(item => {
 | 
	
		
			
				|  |  | -        arr.push(item.file_id)
 | 
	
		
			
				|  |  | +      this.fileListAudio.forEach((item) => {
 | 
	
		
			
				|  |  | +        arr.push(item.file_id);
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  | -      this.fileListOtheraudio.forEach(item => {
 | 
	
		
			
				|  |  | -        arr.push(item.file_id)
 | 
	
		
			
				|  |  | +      this.fileListOtheraudio.forEach((item) => {
 | 
	
		
			
				|  |  | +        arr.push(item.file_id);
 | 
	
		
			
				|  |  |        });
 | 
	
		
			
				|  |  |        let MethodName = "file_store_manager-StartCreateFileCompressPack";
 | 
	
		
			
				|  |  |        getContentFile(MethodName, {
 | 
	
	
		
			
				|  | @@ -519,7 +572,7 @@ export default {
 | 
	
		
			
				|  |  |                file_compress_task_id: res.file_compress_task_id,
 | 
	
		
			
				|  |  |              })
 | 
	
		
			
				|  |  |                .then((res) => {
 | 
	
		
			
				|  |  | -                if (res.is_finish == 'true') {
 | 
	
		
			
				|  |  | +                if (res.is_finish == "true") {
 | 
	
		
			
				|  |  |                    data.FileID = res.compress_pack_file_id;
 | 
	
		
			
				|  |  |                    clearInterval(timer);
 | 
	
		
			
				|  |  |                    timer = null;
 | 
	
	
		
			
				|  | @@ -539,7 +592,7 @@ export default {
 | 
	
		
			
				|  |  |          });
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      // 下载单个文件
 | 
	
		
			
				|  |  | -    handleDownload(fileId){
 | 
	
		
			
				|  |  | +    handleDownload(fileId) {
 | 
	
		
			
				|  |  |        let userInfor = JSON.parse(getToken());
 | 
	
		
			
				|  |  |        let UserCode = "",
 | 
	
		
			
				|  |  |          UserType = "",
 | 
	
	
		
			
				|  | @@ -561,12 +614,30 @@ export default {
 | 
	
		
			
				|  |  |          `/GCLSFileServer/WebFileDownload?UserCode=${data.UserCode}&UserType=${data.UserType}&SessionID=${data.SessionID}&FileID=${data.FileID}`;
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      // 跳转预览PDF
 | 
	
		
			
				|  |  | -    handleJumpPdf(index){
 | 
	
		
			
				|  |  | -        this.$router.push("/TextbookDetailPdf?id=" + this.TextBookId+'&url='+Base64.encodeURL(this.fileListDoc[index].file_url)+'&invok_module='+this.$route.query.invok_module+'&fileId='+Base64.encodeURL(this.fileListDoc[index].file_id)+'&relativePath='+Base64.encodeURL(this.fileListDoc[index].file_relative_path));
 | 
	
		
			
				|  |  | +    handleJumpPdf(index) {
 | 
	
		
			
				|  |  | +      this.$router.push(
 | 
	
		
			
				|  |  | +        "/TextbookDetailPdf?id=" +
 | 
	
		
			
				|  |  | +          this.TextBookId +
 | 
	
		
			
				|  |  | +          "&url=" +
 | 
	
		
			
				|  |  | +          Base64.encodeURL(this.fileListDoc[index].file_url) +
 | 
	
		
			
				|  |  | +          "&invok_module=" +
 | 
	
		
			
				|  |  | +          this.$route.query.invok_module +
 | 
	
		
			
				|  |  | +          "&fileId=" +
 | 
	
		
			
				|  |  | +          Base64.encodeURL(this.fileListDoc[index].file_id) +
 | 
	
		
			
				|  |  | +          "&relativePath=" +
 | 
	
		
			
				|  |  | +          Base64.encodeURL(this.fileListDoc[index].file_relative_path)
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |      // 跳转预览视频
 | 
	
		
			
				|  |  | -    handleJumpVideo(index){
 | 
	
		
			
				|  |  | -        this.$router.push("/TextbookDetailVideo?id=" + this.TextBookId+'&invok_module='+this.$route.query.invok_module+'&activeIndex='+Base64.encodeURL(index));
 | 
	
		
			
				|  |  | +    handleJumpVideo(index) {
 | 
	
		
			
				|  |  | +      this.$router.push(
 | 
	
		
			
				|  |  | +        "/TextbookDetailVideo?id=" +
 | 
	
		
			
				|  |  | +          this.TextBookId +
 | 
	
		
			
				|  |  | +          "&invok_module=" +
 | 
	
		
			
				|  |  | +          this.$route.query.invok_module +
 | 
	
		
			
				|  |  | +          "&activeIndex=" +
 | 
	
		
			
				|  |  | +          Base64.encodeURL(index)
 | 
	
		
			
				|  |  | +      );
 | 
	
		
			
				|  |  |      },
 | 
	
		
			
				|  |  |    },
 | 
	
		
			
				|  |  |    //生命周期 - 创建完成(可以访问当前this实例)
 | 
	
	
		
			
				|  | @@ -966,8 +1037,8 @@ export default {
 | 
	
		
			
				|  |  |        margin: 24px auto;
 | 
	
		
			
				|  |  |        width: 1240px;
 | 
	
		
			
				|  |  |        min-height: 710px;
 | 
	
		
			
				|  |  | -    //   background: #ffffff;
 | 
	
		
			
				|  |  | -    //   display: flex;
 | 
	
		
			
				|  |  | +      //   background: #ffffff;
 | 
	
		
			
				|  |  | +      //   display: flex;
 | 
	
		
			
				|  |  |        box-sizing: border-box;
 | 
	
		
			
				|  |  |        padding: 20px 0;
 | 
	
		
			
				|  |  |        div {
 | 
	
	
		
			
				|  | @@ -988,140 +1059,160 @@ export default {
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |    .resource-content {
 | 
	
		
			
				|  |  | -      width: 100%;
 | 
	
		
			
				|  |  | -      margin: 0 auto;
 | 
	
		
			
				|  |  | -      box-sizing: border-box;
 | 
	
		
			
				|  |  | -      padding: 26px 24px 8px;
 | 
	
		
			
				|  |  | -      background: #ffffff;
 | 
	
		
			
				|  |  | -      border-radius: 8px;
 | 
	
		
			
				|  |  | -      margin-bottom: 24px;
 | 
	
		
			
				|  |  | -      .video-title {
 | 
	
		
			
				|  |  | -        font-size: 24px;
 | 
	
		
			
				|  |  | -        line-height: 32px;
 | 
	
		
			
				|  |  | -        font-weight: 700;
 | 
	
		
			
				|  |  | -        margin-bottom: 40px;
 | 
	
		
			
				|  |  | -        margin-top: 0;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      .video-list {
 | 
	
		
			
				|  |  | -        padding: 0 36px;
 | 
	
		
			
				|  |  | -        display: flex;
 | 
	
		
			
				|  |  | -        flex-wrap: wrap;
 | 
	
		
			
				|  |  | -        justify-content: flex-start;
 | 
	
		
			
				|  |  | -        list-style: none;
 | 
	
		
			
				|  |  | -        > li {
 | 
	
		
			
				|  |  | -          margin: 0 12px 16px 12px;
 | 
	
		
			
				|  |  | -          cursor: pointer;
 | 
	
		
			
				|  |  | -          .video-img {
 | 
	
		
			
				|  |  | -            // background: #ff9900;
 | 
	
		
			
				|  |  | -            position: relative;
 | 
	
		
			
				|  |  | +    width: 100%;
 | 
	
		
			
				|  |  | +    margin: 0 auto;
 | 
	
		
			
				|  |  | +    box-sizing: border-box;
 | 
	
		
			
				|  |  | +    padding: 26px 24px 8px;
 | 
	
		
			
				|  |  | +    background: #ffffff;
 | 
	
		
			
				|  |  | +    border-radius: 8px;
 | 
	
		
			
				|  |  | +    margin-bottom: 24px;
 | 
	
		
			
				|  |  | +    .video-title {
 | 
	
		
			
				|  |  | +      font-size: 24px;
 | 
	
		
			
				|  |  | +      line-height: 32px;
 | 
	
		
			
				|  |  | +      font-weight: 700;
 | 
	
		
			
				|  |  | +      margin-bottom: 40px;
 | 
	
		
			
				|  |  | +      margin-top: 0;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    .video-list {
 | 
	
		
			
				|  |  | +      padding: 0 36px;
 | 
	
		
			
				|  |  | +      display: flex;
 | 
	
		
			
				|  |  | +      flex-wrap: wrap;
 | 
	
		
			
				|  |  | +      justify-content: flex-start;
 | 
	
		
			
				|  |  | +      list-style: none;
 | 
	
		
			
				|  |  | +      > li {
 | 
	
		
			
				|  |  | +        margin: 0 12px 16px 12px;
 | 
	
		
			
				|  |  | +        cursor: pointer;
 | 
	
		
			
				|  |  | +        .video-img {
 | 
	
		
			
				|  |  | +          // background: #ff9900;
 | 
	
		
			
				|  |  | +          position: relative;
 | 
	
		
			
				|  |  | +          width: 256px;
 | 
	
		
			
				|  |  | +          height: 144px;
 | 
	
		
			
				|  |  | +          border-radius: 8px;
 | 
	
		
			
				|  |  | +          margin-bottom: 8px;
 | 
	
		
			
				|  |  | +          overflow: hidden;
 | 
	
		
			
				|  |  | +          .video-bg {
 | 
	
		
			
				|  |  |              width: 256px;
 | 
	
		
			
				|  |  |              height: 144px;
 | 
	
		
			
				|  |  |              border-radius: 8px;
 | 
	
		
			
				|  |  | -            margin-bottom: 8px;
 | 
	
		
			
				|  |  | -            overflow: hidden;
 | 
	
		
			
				|  |  | -            .video-bg {
 | 
	
		
			
				|  |  | -              width: 256px;
 | 
	
		
			
				|  |  | -              height: 144px;
 | 
	
		
			
				|  |  | -              border-radius: 8px;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -            .play-one {
 | 
	
		
			
				|  |  | -              position: absolute;
 | 
	
		
			
				|  |  | -              left: 108px;
 | 
	
		
			
				|  |  | -              top: 52px;
 | 
	
		
			
				|  |  | -              width: 40px;
 | 
	
		
			
				|  |  | -              height: 40px;
 | 
	
		
			
				|  |  | -              display: block;
 | 
	
		
			
				|  |  | -              margin: 0;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  | -          .video-name {
 | 
	
		
			
				|  |  | -            font-size: 16px;
 | 
	
		
			
				|  |  | -            line-height: 150%;
 | 
	
		
			
				|  |  | -            color: #000000;
 | 
	
		
			
				|  |  | -            word-break: break-all;
 | 
	
		
			
				|  |  | -            display: -webkit-box;
 | 
	
		
			
				|  |  | -            -webkit-box-orient: vertical;
 | 
	
		
			
				|  |  | -            -webkit-line-clamp: 2;
 | 
	
		
			
				|  |  | -            text-overflow: ellipsis;
 | 
	
		
			
				|  |  | -            overflow: hidden;
 | 
	
		
			
				|  |  | +          .play-one {
 | 
	
		
			
				|  |  | +            position: absolute;
 | 
	
		
			
				|  |  | +            left: 108px;
 | 
	
		
			
				|  |  | +            top: 52px;
 | 
	
		
			
				|  |  | +            width: 40px;
 | 
	
		
			
				|  |  | +            height: 40px;
 | 
	
		
			
				|  |  | +            display: block;
 | 
	
		
			
				|  |  | +            margin: 0;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | +        .video-name {
 | 
	
		
			
				|  |  | +          font-size: 16px;
 | 
	
		
			
				|  |  | +          line-height: 150%;
 | 
	
		
			
				|  |  | +          color: #000000;
 | 
	
		
			
				|  |  | +          word-break: break-all;
 | 
	
		
			
				|  |  | +          display: -webkit-box;
 | 
	
		
			
				|  |  | +          -webkit-box-orient: vertical;
 | 
	
		
			
				|  |  | +          -webkit-line-clamp: 2;
 | 
	
		
			
				|  |  | +          text-overflow: ellipsis;
 | 
	
		
			
				|  |  | +          overflow: hidden;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      .PDF-list{
 | 
	
		
			
				|  |  | -          width: 1096px;
 | 
	
		
			
				|  |  | -          margin: 0 auto;
 | 
	
		
			
				|  |  | -          padding-bottom: 90px;
 | 
	
		
			
				|  |  | -          li{
 | 
	
		
			
				|  |  | -              border: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  | -              box-sizing: border-box;
 | 
	
		
			
				|  |  | -              border-radius: 8px;
 | 
	
		
			
				|  |  | -              display: flex;
 | 
	
		
			
				|  |  | -              padding: 8px 12px;
 | 
	
		
			
				|  |  | -              align-items: center;
 | 
	
		
			
				|  |  | -              margin-bottom: 8px;
 | 
	
		
			
				|  |  | -              b{
 | 
	
		
			
				|  |  | -                  width: 24px;
 | 
	
		
			
				|  |  | -                  font-size: 16px;
 | 
	
		
			
				|  |  | -                  line-height: 24px;
 | 
	
		
			
				|  |  | -                  font-weight: normal;
 | 
	
		
			
				|  |  | -                  margin-right: 16px;
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -              p{
 | 
	
		
			
				|  |  | -                  margin: 0;
 | 
	
		
			
				|  |  | -                  width: 920px;
 | 
	
		
			
				|  |  | -                  cursor: pointer;
 | 
	
		
			
				|  |  | -                  font-size: 16px;
 | 
	
		
			
				|  |  | -                  line-height: 24px;
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -              span{
 | 
	
		
			
				|  |  | -                  width: 80px;
 | 
	
		
			
				|  |  | -                  text-align: right;
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -              img{
 | 
	
		
			
				|  |  | -                  width: 16px;
 | 
	
		
			
				|  |  | -                  margin-left: 16px;
 | 
	
		
			
				|  |  | -                  cursor: pointer;
 | 
	
		
			
				|  |  | -              }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      .audio-content {
 | 
	
		
			
				|  |  | -        padding: 0 28px;
 | 
	
		
			
				|  |  | -        margin: 0 auto 24px auto;
 | 
	
		
			
				|  |  | -        width: 1152px;
 | 
	
		
			
				|  |  | -        .audio-type {
 | 
	
		
			
				|  |  | -          margin-bottom: 10px;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    .PDF-list {
 | 
	
		
			
				|  |  | +      width: 1096px;
 | 
	
		
			
				|  |  | +      margin: 0 auto;
 | 
	
		
			
				|  |  | +      padding-bottom: 90px;
 | 
	
		
			
				|  |  | +      li {
 | 
	
		
			
				|  |  | +        border: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  | +        box-sizing: border-box;
 | 
	
		
			
				|  |  | +        border-radius: 8px;
 | 
	
		
			
				|  |  | +        display: flex;
 | 
	
		
			
				|  |  | +        padding: 8px 12px;
 | 
	
		
			
				|  |  | +        align-items: center;
 | 
	
		
			
				|  |  | +        margin-bottom: 8px;
 | 
	
		
			
				|  |  | +        b {
 | 
	
		
			
				|  |  | +          width: 24px;
 | 
	
		
			
				|  |  | +          font-size: 16px;
 | 
	
		
			
				|  |  | +          line-height: 24px;
 | 
	
		
			
				|  |  | +          font-weight: normal;
 | 
	
		
			
				|  |  | +          margin-right: 16px;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        p {
 | 
	
		
			
				|  |  | +          margin: 0;
 | 
	
		
			
				|  |  | +          width: 920px;
 | 
	
		
			
				|  |  | +          cursor: pointer;
 | 
	
		
			
				|  |  | +          font-size: 16px;
 | 
	
		
			
				|  |  | +          line-height: 24px;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        span {
 | 
	
		
			
				|  |  | +          width: 80px;
 | 
	
		
			
				|  |  | +          text-align: right;
 | 
	
		
			
				|  |  | +        }
 | 
	
		
			
				|  |  | +        img {
 | 
	
		
			
				|  |  | +          width: 16px;
 | 
	
		
			
				|  |  | +          margin-left: 16px;
 | 
	
		
			
				|  |  | +          cursor: pointer;
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  | -        .download {
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +    .audio-content {
 | 
	
		
			
				|  |  | +      padding: 0 28px;
 | 
	
		
			
				|  |  | +      margin: 0 auto 24px auto;
 | 
	
		
			
				|  |  | +      width: 1152px;
 | 
	
		
			
				|  |  | +      .audio-type {
 | 
	
		
			
				|  |  | +        margin-bottom: 10px;
 | 
	
		
			
				|  |  | +      }
 | 
	
		
			
				|  |  | +      .download {
 | 
	
		
			
				|  |  | +        display: flex;
 | 
	
		
			
				|  |  | +        justify-content: flex-start;
 | 
	
		
			
				|  |  | +        align-items: center;
 | 
	
		
			
				|  |  | +        .book-open {
 | 
	
		
			
				|  |  | +          width: fit-content;
 | 
	
		
			
				|  |  | +          margin-right: 16px;
 | 
	
		
			
				|  |  | +          border: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  | +          box-sizing: border-box;
 | 
	
		
			
				|  |  | +          border-radius: 8px;
 | 
	
		
			
				|  |  | +          padding: 8px 16px;
 | 
	
		
			
				|  |  |            display: flex;
 | 
	
		
			
				|  |  | -          justify-content: flex-start;
 | 
	
		
			
				|  |  |            align-items: center;
 | 
	
		
			
				|  |  | -          .book-open {
 | 
	
		
			
				|  |  | -            width: fit-content;
 | 
	
		
			
				|  |  | -            margin-right: 16px;
 | 
	
		
			
				|  |  | -            border: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  | -            box-sizing: border-box;
 | 
	
		
			
				|  |  | -            border-radius: 8px;
 | 
	
		
			
				|  |  | -            padding: 8px 16px;
 | 
	
		
			
				|  |  | -            display: flex;
 | 
	
		
			
				|  |  | -            align-items: center;
 | 
	
		
			
				|  |  | -            cursor: pointer;
 | 
	
		
			
				|  |  | -            .book-open-text{
 | 
	
		
			
				|  |  | -                line-height: 24px;
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | +          cursor: pointer;
 | 
	
		
			
				|  |  | +          .book-open-text {
 | 
	
		
			
				|  |  | +            line-height: 24px;
 | 
	
		
			
				|  |  |            }
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |        }
 | 
	
		
			
				|  |  | -      .audio-line-box {
 | 
	
		
			
				|  |  | -        width: 100%;
 | 
	
		
			
				|  |  | -        height: 56px;
 | 
	
		
			
				|  |  | -        box-sizing: border-box;
 | 
	
		
			
				|  |  | -        padding: 7px 12px;
 | 
	
		
			
				|  |  | -        background: #ffffff;
 | 
	
		
			
				|  |  | -        border: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  | -        box-sizing: border-box;
 | 
	
		
			
				|  |  | -        border-radius: 8px;
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  |      }
 | 
	
		
			
				|  |  | +    .audio-line-box {
 | 
	
		
			
				|  |  | +      width: 100%;
 | 
	
		
			
				|  |  | +      height: 56px;
 | 
	
		
			
				|  |  | +      box-sizing: border-box;
 | 
	
		
			
				|  |  | +      padding: 7px 12px;
 | 
	
		
			
				|  |  | +      background: #ffffff;
 | 
	
		
			
				|  |  | +      border: 1px solid rgba(0, 0, 0, 0.1);
 | 
	
		
			
				|  |  | +      box-sizing: border-box;
 | 
	
		
			
				|  |  | +      border-radius: 8px;
 | 
	
		
			
				|  |  | +    }
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  .noview-msg-box {
 | 
	
		
			
				|  |  | +    width: 100%;
 | 
	
		
			
				|  |  | +    position: absolute;
 | 
	
		
			
				|  |  | +    top: 200px;
 | 
	
		
			
				|  |  | +    left: 0;
 | 
	
		
			
				|  |  | +    z-index: 9999;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  | +  .noview-msg {
 | 
	
		
			
				|  |  | +    width: fit-content;
 | 
	
		
			
				|  |  | +    margin: 0 auto;
 | 
	
		
			
				|  |  | +    padding: 8px;
 | 
	
		
			
				|  |  | +    background: #fcf5f5;
 | 
	
		
			
				|  |  | +    border: 1px solid #e65959;
 | 
	
		
			
				|  |  | +    box-sizing: border-box;
 | 
	
		
			
				|  |  | +    border-radius: 4px;
 | 
	
		
			
				|  |  | +    font-weight: 400;
 | 
	
		
			
				|  |  | +    font-size: 12px;
 | 
	
		
			
				|  |  | +    line-height: 14px;
 | 
	
		
			
				|  |  | +    color: #e55959;
 | 
	
		
			
				|  |  | +  }
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  </style>
 | 
	
		
			
				|  |  |  <style lang="scss">
 |