natasha il y a 1 semaine
Parent
commit
5db6dc8bf5

+ 208 - 2
src/components/Adult/Preview.vue

@@ -212,7 +212,213 @@
           </span>
         </div>
       </div>
-
+      <div
+        class="NNPE-title-bg"
+        :style="{
+          background: themeColorPhone[themeColorPhoneIndex],
+          position: 'initial'
+        }"
+      >
+        <div class="NNPE-title NNPE-title-top">
+          <!-- 页眉 -->
+          <div
+            class="NNPE-title-left"
+            :style="{ fontSize: baseSizePhone + 4 + 'px' }"
+          >
+            <div
+              v-for="(item, index) in cur.detailList"
+              :key="index"
+              class="NNPE-title-item"
+            >
+              <template
+                v-if="
+                  item.detail &&
+                    item.detail.wordsList &&
+                    item.detail.wordsList.length == 0
+                "
+              >
+                <p
+                  v-if="item.detail.sentence"
+                  :class="[
+                    'content-con',
+                    /^[\u4e00-\u9fa5]/.test(item.detail.sentence) ? 'hasCn' : ''
+                  ]"
+                  v-html="item.detail.sentence"
+                />
+              </template>
+              <template v-else>
+                <div v-if="item.detail && item.detail.resArr" class="con-box">
+                  <div
+                    v-for="(itemCon, indexCon) in item.detail.resArr"
+                    v-show="itemCon.isShow"
+                    :key="indexCon"
+                    :class="['con-item', indexCon === 0 ? 'con-item-0' : '']"
+                  >
+                    <template
+                      v-if="
+                        item.detail &&
+                          item.detail.wordsList &&
+                          item.detail.wordsList[indexCon + 1] &&
+                          item.detail.wordsList[indexCon + 1].chs &&
+                          chsFhList.indexOf(
+                            item.detail.wordsList[indexCon + 1].chs
+                          ) > -1
+                      "
+                    >
+                      <div class="synthesis-box">
+                        <div>
+                          <span
+                            v-if="itemCon.pinyin"
+                            class="pinyin"
+                            :class="[
+                              noFont.indexOf(itemCon.pinyin) > -1
+                                ? 'noFont'
+                                : ''
+                            ]"
+                            >{{ itemCon.pinyin }}</span
+                          >
+                          <span
+                            class="content-con"
+                            :class="
+                              [/^[0-9]*$/.test(itemCon.chs)]
+                                ? /^[\u4e00-\u9fa5]/.test(itemCon.chs)
+                                  ? 'hanzi'
+                                  : 'en'
+                                : ''
+                            "
+                            >{{ itemCon.chs }}</span
+                          >
+                        </div>
+                        <div
+                          v-if="item.detail.wordsList[indexCon + 1]"
+                          style="text-align: left"
+                        >
+                          <span
+                            v-if="item.detail.wordsList[indexCon + 1].pinyin"
+                            class="pinyin"
+                            :class="[
+                              noFont.indexOf(
+                                item.detail.wordsList[indexCon + 1].pinyin
+                              ) > -1
+                                ? 'noFont'
+                                : ''
+                            ]"
+                            >{{
+                              item.detail.wordsList[indexCon + 1].pinyin
+                            }}</span
+                          >
+                          <span
+                            class="content-con"
+                            :class="
+                              [
+                                /^[0-9]*$/.test(
+                                  item.detail.wordsList[indexCon + 1].chs
+                                )
+                              ]
+                                ? /^[\u4e00-\u9fa5]/.test(
+                                    item.detail.wordsList[indexCon + 1].chs
+                                  )
+                                  ? 'hanzi'
+                                  : 'en'
+                                : ''
+                            "
+                            >{{ item.detail.wordsList[indexCon + 1].chs }}</span
+                          >
+                        </div>
+                      </div>
+                    </template>
+                    <template v-else>
+                      <span
+                        v-if="
+                          item.detail &&
+                            !(
+                              item.detail.wordsList &&
+                              item.detail.wordsList[indexCon - 1] &&
+                              item.detail.wordsList[indexCon - 1].chs &&
+                              chsFhList.indexOf(
+                                item.detail.wordsList[indexCon - 1].chs
+                              ) == -1 &&
+                              chsFhList.indexOf(itemCon.chs) > -1
+                            ) &&
+                            itemCon.pinyin
+                        "
+                        class="pinyin"
+                        :class="[
+                          noFont.indexOf(itemCon.pinyin) > -1 ? 'noFont' : ''
+                        ]"
+                        >{{ itemCon.pinyin }}</span
+                      >
+                      <span
+                        v-if="
+                          item.detail &&
+                            !(
+                              item.detail.wordsList &&
+                              item.detail.wordsList[indexCon - 1] &&
+                              item.detail.wordsList[indexCon - 1].chs &&
+                              chsFhList.indexOf(
+                                item.detail.wordsList[indexCon - 1].chs
+                              ) == -1 &&
+                              chsFhList.indexOf(itemCon.chs) > -1
+                            )
+                        "
+                        class="content-con"
+                        :class="
+                          [/^[0-9]*$/.test(itemCon.chs)]
+                            ? /^[\u4e00-\u9fa5]/.test(itemCon.chs)
+                              ? 'hanzi'
+                              : 'en'
+                            : ''
+                        "
+                        >{{ itemCon.chs }}</span
+                      >
+                    </template>
+                  </div>
+                </div>
+              </template>
+              <p
+                class="NNPE-title-item-en"
+                v-html="item.en"
+                :style="{ fontSize: baseSizePhone - 2 + 'px' }"
+              />
+            </div>
+          </div>
+        </div>
+      </div>
+      <div class="operater-classTopic" :style="{ minHeight: '40px' }">
+        <div
+          v-if="isShowTitle && isPhone"
+          class="NNPE-operate NNPE-operate-phone"
+        >
+          <a
+            class="btn-prev"
+            :class="[preClick ? '' : 'btn-prev-disabled']"
+            @click="handleNNPEprev"
+            :style="{ top: 71 + (baseSizePhone - 14) + 'px' }"
+          />
+          <a
+            class="btn-next"
+            :class="[nextClick ? '' : 'btn-next-disabled']"
+            @click="handleNNPEnext"
+            :style="{ top: 71 + (baseSizePhone - 14) + 'px' }"
+          />
+        </div>
+        <div
+          v-if="
+            cur.classTopic && cur.classTopic.length > 0 && cur.classTopic[0].con
+          "
+          class="classTopic-box"
+          :style="{ position: 'initial' }"
+        >
+          <span
+            v-for="(item, index) in cur.classTopic"
+            :key="index"
+            :class="item.font"
+            :style="{ fontSize: baseSizePhone + 2 + 'px' }"
+          >
+            {{ item.con }}
+          </span>
+        </div>
+      </div>
       <el-checkbox
         v-if="previewType && previewType == 'previewCheck'"
         v-model="checkAllNPC"
@@ -3391,7 +3597,7 @@ export default {
     .operater-classTopic {
       width: 100%;
       position: relative;
-      padding-top: 120px;
+      padding-top: 0px;
     }
     .NNPE-operate-phone {
       width: 100%;

+ 1 - 1
src/components/Adult/phonePreview/PreviewDialogueNPC.vue

@@ -1973,7 +1973,7 @@ export default {
         display: flex;
         b {
           min-width: 39px;
-          height: 24px;
+          height: fit-content;
           background: #e35454;
           border-radius: 8px;
           color: #ffffff;

+ 1 - 1
src/components/Adult/phonePreview/VideoControl.vue

@@ -186,6 +186,6 @@ export default {
 .xgplayer-skin-default .xgplayer-start,
 .xgplayer-skin-default .xgplayer-controls,
 .xgplayer-skin-default .xgplayer-poster {
-  z-index: 1;
+  z-index: 1 !important;
 }
 </style>

+ 1 - 1
src/components/Adult/phonePreview/components/Practice.vue

@@ -802,7 +802,7 @@ export default {
   .freewrite .strockred {
     height: 256px;
     .character-target-div {
-      height: 256px;
+      height: 256px !important;
     }
   }
 }