natasha 1 day ago
parent
commit
d21be22d01
1 changed files with 166 additions and 198 deletions
  1. 166 198
      src/views/bookShelf/components/LexicalType.vue

+ 166 - 198
src/views/bookShelf/components/LexicalType.vue

@@ -509,14 +509,15 @@
         :likeWord="likeWord"
       />
     </div>
+    <!-- v-if="isPrintMore" -->
     <div
       class="print-model-bottom-left"
       ref="printAreaManys"
-      id="showWaterMarks"
-      v-if="isPrintMore"
+      id="showWaterMarkLexical"
       :style="{
         width: '220mm',
       }"
+      v-if="isPrintMore"
     >
       <template
         v-if="
@@ -526,7 +527,7 @@
           resArr[0].wordsList[0].pno === 0
         "
       >
-        <h2 :class="['NNPE-words']">
+        <h2 :class="['NNPE-word']">
           <span
             v-for="(itemR, indexR) in resArr[0].wordsList"
             :key="indexR"
@@ -543,136 +544,59 @@
               itemR.marginRight ? 'marginSingleRight' : '',
             ]"
           >
-            <!-- <template v-if="itemR.isShow"> -->
-            <div class="wordshasbottom">
-              <span
-                class="NNPE-chs"
-                :class="[
-                  itemR.type,
-                  itemR.tokens[9] === '' ? 'marginRight' : '',
-                  itemR.marginRight ? 'marginSingleRight' : '',
-                  itemR.highIndex ? 'fontWeight' : '',
-                  itemR.color ? 'wordSelected' : '',
-                  selectWordType.indexOf(itemR.tokens[11]) > -1
-                    ? !hideSelectWord || itemR.showSelectWord
-                      ? ''
-                      : 'word-opacity'
-                    : '',
-                ]"
-                :style="{
-                  background: itemR.color ? itemR.color : '',
-                  borderColor: itemR.borderColor ? itemR.borderColor : '',
-                  color:
-                    tabsIndex === 1
-                      ? selectSentenceIdList.indexOf(itemR.sent_id) > -1
-                        ? colorObj.type === 'white' ||
-                          colorObj.type === 'darkGreen'
-                          ? sentenceLengthType[itemR.sententLenType].color
-                          : sentenceLengthType[itemR.sententLenType].dark
-                        : '#929CA8'
-                      : tabsIndex === 0
-                      ? selectWordType.indexOf(itemR.tokens[11]) > -1
-                        ? vocabularyType[itemR.tokens[11]].color
-                        : colorObj.type === 'white' ||
-                          colorObj.type === 'darkGreen'
-                        ? ''
-                        : ''
-                      : '',
-                }"
-                @click="itemR.showSelectWord = !itemR.showSelectWord"
-                >{{ itemR.tokens[2] }}</span
-              >
-              <div
-                class="word-bottom"
-                v-if="
-                  hideSelectWord &&
-                  selectWordType.indexOf(itemR.tokens[11]) > -1
-                "
-              >
-                <span :style="{ background: colorObj.titleColor }"></span>
-              </div>
-            </div>
-            <!-- <div
-              class="wordshasbottom"
+            <div
+              class="word-bottoms"
               v-if="
-                resArr[0].wordsList[indexR + 1] &&
-                resArr[0].wordsList[indexR + 1].tokens[2] &&
-                enFhList.indexOf(resArr[0].wordsList[indexR + 1].tokens[2]) > -1
+                hideSelectWord && selectWordType.indexOf(itemR.tokens[11]) > -1
               "
-            >
-              <span
-                class="NNPE-chs NNPE-chs-both"
-                :class="[
-                  resArr[0].wordsList[indexR + 1].type,
-                  resArr[0].wordsList[indexR + 1].tokens[8] === ''
-                    ? 'marginLeft'
-                    : '',
-                  resArr[0].wordsList[indexR + 1].marginRight
-                    ? 'marginSingleRight'
+              :style="{
+                width:
+                  hideSelectWord &&
+                  selectWordType.indexOf(itemR.tokens[11]) > -1
+                    ? itemR.tokens[2].length * 20 + 'px'
                     : '',
-                  resArr[0].wordsList[indexR + 1].highIndex ? 'fontWeight' : '',
-                  resArr[0].wordsList[indexR + 1].color ? 'wordSelected' : '',
-                  selectWordType.indexOf(
-                    resArr[0].wordsList[indexR + 1].tokens[11]
-                  ) > -1
-                    ? !hideSelectWord ||
-                      resArr[0].wordsList[indexR + 1].showSelectWord
+              }"
+            >
+              <span :style="{ background: colorObj.titleColor }"></span>
+            </div>
+            <span
+              v-else
+              class="NNPE-chs"
+              :class="[
+                itemR.type,
+                itemR.tokens[9] === '' ? 'marginRight' : '',
+                itemR.marginRight ? 'marginSingleRight' : '',
+                itemR.highIndex ? 'fontWeight' : '',
+                itemR.color ? 'wordSelected' : '',
+                selectWordType.indexOf(itemR.tokens[11]) > -1
+                  ? !hideSelectWord || itemR.showSelectWord
+                    ? ''
+                    : 'word-opacity'
+                  : '',
+              ]"
+              :style="{
+                background: itemR.color ? itemR.color : '',
+                borderColor: itemR.borderColor ? itemR.borderColor : '',
+                color:
+                  tabsIndex === 1
+                    ? selectSentenceIdList.indexOf(itemR.sent_id) > -1
+                      ? colorObj.type === 'white' ||
+                        colorObj.type === 'darkGreen'
+                        ? sentenceLengthType[itemR.sententLenType].color
+                        : sentenceLengthType[itemR.sententLenType].dark
+                      : '#929CA8'
+                    : tabsIndex === 0
+                    ? selectWordType.indexOf(itemR.tokens[11]) > -1
+                      ? vocabularyType[itemR.tokens[11]].color
+                      : colorObj.type === 'white' ||
+                        colorObj.type === 'darkGreen'
                       ? ''
-                      : 'word-opacity'
-                    : '',
-                ]"
-                @click="
-                  resArr[0].wordsList[indexR + 1].showSelectWord =
-                    !resArr[0].wordsList[indexR + 1].showSelectWord
-                "
-                :style="{
-                  background: resArr[0].wordsList[indexR + 1].color
-                    ? resArr[0].wordsList[indexR + 1].color
-                    : '',
-                  borderColor: resArr[0].wordsList[indexR + 1].borderColor
-                    ? resArr[0].wordsList[indexR + 1].borderColor
+                      : ''
                     : '',
-                  color:
-                    tabsIndex === 1
-                      ? selectSentenceIdList.indexOf(
-                          resArr[0].wordsList[indexR + 1].sent_id
-                        ) > -1
-                        ? colorObj.type === 'white' ||
-                          colorObj.type === 'darkGreen'
-                          ? sentenceLengthType[
-                              resArr[0].wordsList[indexR + 1].sententLenType
-                            ].color
-                          : sentenceLengthType[itemR.sententLenType].dark
-                        : '#929CA8'
-                      : tabsIndex === 0
-                      ? selectWordType.indexOf(
-                          resArr[0].wordsList[indexR + 1].tokens[11]
-                        ) > -1
-                        ? vocabularyType[
-                            resArr[0].wordsList[indexR + 1].tokens[11]
-                          ].color
-                        : colorObj.type === 'white' ||
-                          colorObj.type === 'darkGreen'
-                        ? ''
-                        : ''
-                      : '',
-                }"
-                >{{ resArr[0].wordsList[indexR + 1].tokens[2] }}</span
-              >
-              <div
-                class="word-bottom"
-                v-if="
-                  hideSelectWord &&
-                  selectWordType.indexOf(
-                    resArr[0].wordsList[indexR + 1].tokens[11]
-                  ) > -1
-                "
-              >
-                <span :style="{ background: colorObj.titleColor }"></span>
-              </div>
-            </div>
-          </template> -->
-            <!-- {{itemR.tokens[2]}} -->
+              }"
+              @click="itemR.showSelectWord = !itemR.showSelectWord"
+              >{{ itemR.tokens[2] }}</span
+            >
           </span>
         </h2>
       </template>
@@ -725,80 +649,71 @@
                 <div
                   v-for="(pItem, pIndex) in item.wordsList"
                   :key="'wordsList' + pIndex"
-                  :style="{
-                    width:
-                      hideSelectWord &&
-                      selectWordType.indexOf(pItem.tokens[11]) > -1
-                        ? pItem.tokens[2].length * 20 + 'px'
-                        : '',
-                  }"
                 >
                   <template v-if="pItem.pno !== 0">
-                    <div :class="['NNPE-words']">
-                      <div class="wordshasbottom">
-                        <span
-                          class="NNPE-chs"
-                          :class="[
-                            pItem.noBefore ? 'marginLeft' : '',
-                            pItem.noAfter ? 'marginRight' : '',
-                            pItem.marginRight ? 'marginSingleRight' : '',
-                            pItem.color ? 'wordSelected' : '',
-                            selectWordType.indexOf(pItem.tokens[11]) > -1
-                              ? !hideSelectWord || pItem.showSelectWord
-                                ? ''
-                                : 'word-opacity'
-                              : '',
-                          ]"
-                          :style="{
-                            fontSize: wordFontsize + 'px',
-                            color:
-                              tabsIndex === 1
-                                ? selectSentenceIdList.indexOf(pItem.sent_id) >
-                                  -1
-                                  ? colorObj.type === 'white' ||
-                                    colorObj.type === 'darkGreen'
-                                    ? sentenceLengthType[pItem.sententLenType]
-                                        .color
-                                    : sentenceLengthType[pItem.sententLenType]
-                                        .dark
-                                  : '#929CA8'
-                                : tabsIndex === 0
-                                ? selectWordType.indexOf(pItem.tokens[11]) > -1
-                                  ? vocabularyType[pItem.tokens[11]].color
-                                  : colorObj.type === 'white' ||
-                                    colorObj.type === 'darkGreen'
-                                  ? '#2F3742'
-                                  : '#C1C5CD'
-                                : '#2F3742',
-                          }"
-                          @click="pItem.showSelectWord = !pItem.showSelectWord"
-                          >{{ pItem.tokens[2] }}</span
-                        >
-                        <div
-                          class="word-bottom"
-                          v-if="
+                    <div :class="['NNPE-word']">
+                      <div
+                        class="word-bottoms"
+                        v-if="
+                          hideSelectWord &&
+                          selectWordType.indexOf(pItem.tokens[11]) > -1
+                        "
+                        :style="{
+                          width:
                             hideSelectWord &&
                             selectWordType.indexOf(pItem.tokens[11]) > -1
-                          "
+                              ? pItem.tokens[2].length * 20 + 'px'
+                              : '',
+                        }"
+                      >
+                        <span
                           :style="{
-                            width:
-                              hideSelectWord &&
-                              selectWordType.indexOf(pItem.tokens[11]) > -1
-                                ? pItem.tokens[2].length * 20 + 'px'
-                                : '',
+                            background:
+                              colorObj.type === 'white' ||
+                              colorObj.type === 'darkGreen'
+                                ? '#2F3742'
+                                : '#C1C5CD',
                           }"
-                        >
-                          <span
-                            :style="{
-                              background:
-                                colorObj.type === 'white' ||
-                                colorObj.type === 'darkGreen'
-                                  ? '#2F3742'
-                                  : '#C1C5CD',
-                            }"
-                          ></span>
-                        </div>
+                        ></span>
                       </div>
+                      <span
+                        v-else
+                        class="NNPE-chs"
+                        :class="[
+                          pItem.noBefore ? 'marginLeft' : '',
+                          pItem.noAfter ? 'marginRight' : '',
+                          pItem.marginRight ? 'marginSingleRight' : '',
+                          pItem.color ? 'wordSelected' : '',
+                          selectWordType.indexOf(pItem.tokens[11]) > -1
+                            ? !hideSelectWord || pItem.showSelectWord
+                              ? ''
+                              : 'word-opacity'
+                            : '',
+                        ]"
+                        :style="{
+                          fontSize: wordFontsize + 'px',
+                          color:
+                            tabsIndex === 1
+                              ? selectSentenceIdList.indexOf(pItem.sent_id) > -1
+                                ? colorObj.type === 'white' ||
+                                  colorObj.type === 'darkGreen'
+                                  ? sentenceLengthType[pItem.sententLenType]
+                                      .color
+                                  : sentenceLengthType[pItem.sententLenType]
+                                      .dark
+                                : '#929CA8'
+                              : tabsIndex === 0
+                              ? selectWordType.indexOf(pItem.tokens[11]) > -1
+                                ? vocabularyType[pItem.tokens[11]].color
+                                : colorObj.type === 'white' ||
+                                  colorObj.type === 'darkGreen'
+                                ? '#2F3742'
+                                : '#C1C5CD'
+                              : '#2F3742',
+                        }"
+                        @click="pItem.showSelectWord = !pItem.showSelectWord"
+                        >{{ pItem.tokens[2] }}</span
+                      >
                     </div>
                   </template>
                 </div>
@@ -1251,9 +1166,9 @@ export default {
               waterMark.set(
                 this.userMessage.user_name + " " + this.userMessage.phone,
                 "",
-                "showWaterMarks"
+                "showWaterMarkLexical"
               );
-            }, 1000);
+            }, 100);
             setTimeout(() => {
               this.$nextTick(() => {
                 this.$print(this.$refs["printAreaManys"], {
@@ -1271,7 +1186,7 @@ export default {
                 });
                 this.isPrintMore = false;
               });
-            }, 1500);
+            }, 500);
           } else {
             this.$message.warning("每篇文章打印+下载次数共5次,现已达上限。");
           }
@@ -1626,4 +1541,57 @@ export default {
     }
   }
 }
+@media print {
+  .no-print {
+    display: none;
+  }
+  body {
+    margin-top: 0;
+    margin-bottom: 0;
+    padding-top: 0;
+    padding-bottom: 0;
+  }
+  @page {
+    margin: 30px 30px 60px 30px;
+  }
+  #showWaterMark,
+  #showWaterMarkLexical {
+    margin: 0;
+  }
+}
+:deep .image img {
+  max-width: 100%;
+}
+:deep figure {
+  margin: 1em 0;
+  text-align: center;
+  img {
+    max-width: 70%;
+  }
+}
+.NNPE-word {
+  height: 100%;
+  .NNPE-chs {
+    padding: 0 3px;
+    font-family: "Smartisan";
+    line-height: 150%;
+    color: #000000;
+  }
+  .marginRight {
+    padding-right: 0;
+  }
+  .marginLeft {
+    padding-left: 0;
+  }
+}
+.word-bottoms {
+  border-bottom: 1px solid #2f3742;
+  height: 100%;
+  margin: 0 3px;
+}
+h2.NNPE-word {
+  .word-bottoms {
+    border-bottom-width: 2px;
+  }
+}
 </style>