zhongshujie
2025-04-03 13dc29b2446df9715af8f1a1bd75cccb1d3ea0ff
Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout
2个文件已修改
109个文件已添加
4018 ■■■■■ 已修改文件
src/App.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/Fonts/FZHTJW.ttf 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/Fonts/FZLTXIHJW.ttf 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/Fonts/FZLTZHJW.ttf 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0014-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0016-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0018-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0021-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0023-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0024-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0026-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0027-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0027-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0032-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0032-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0043-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0044-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0049-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0050-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0054-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0057-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0058-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0059-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0060-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0061-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0061-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0062-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0062-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0063-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0063-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0064-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0064-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0065-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0065-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0068-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0068-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0069-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0070-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0079-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0080-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0080-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0080-3.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0081-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0082-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0082-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0083-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0084-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0085-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0086-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0092-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0094-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0094-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0100-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0112-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0117-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0120-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0123-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0138-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0139-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0140-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0141-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0142-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0143-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0145-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0145-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0147-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0148-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0149-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0152-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0156-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0157-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0158-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0161-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0161-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0162-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0167-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0167-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0168-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0168-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0169-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0170-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0170-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0171-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0171-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0172-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0174-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0174-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0175-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0175-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0175-3.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0176-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0176-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0177-1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/0177-2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/Cover.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/FD.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/SMY.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/headerlogo.png 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/icon/heart-check.png 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/icon/heart.png 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/xm1.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/xm2.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/xm3.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/xm4.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/images/xm5.jpg 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/assets/main.less 1442 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/view/components/chapter001.vue 1299 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/view/components/header.vue 229 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/view/components/index.vue 961 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/OralAndBroadcasting/view/index.vue 78 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/components/examinations/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue
@@ -27,7 +27,11 @@
    </preschoolEvaluation>
    <preschoolBasicKnowledge v-if="activeBook.name == 'preschoolBasicKnowledge'"></preschoolBasicKnowledge> 
    <policiesAndRegulations v-if="activeBook.name == 'policiesAndRegulations'"></policiesAndRegulations> 
<<<<<<< HEAD
    <OralAndBroadcasting v-if="activeBook.name == 'OralAndBroadcasting'" ></OralAndBroadcasting>
=======
    <practicalCareChildrenManual v-if="activeBook.name == 'practicalCareChildrenManual'"></practicalCareChildrenManual>
>>>>>>> aaa13b34449445bdf7aa03d4a8fb3944b5250d6b
  </div>
</template>
<script>
@@ -78,6 +82,7 @@
    preschoolEvaluation: () => import("./books/preschoolEvaluation/view/index.vue"),
    preschoolBasicKnowledge: ()=> import("./books/preschoolBasicKnowledge/view/index.vue"),
    policiesAndRegulations: ()=> import("./books/policiesAndRegulations/view/index.vue"),
    OralAndBroadcasting:()=> import("./books/OralAndBroadcasting/view/index.vue"),
    practicalCareChildrenManual: ()=> import("./books/practicalCareChildrenManual/view/index.vue")
  },
  data() {
@@ -131,7 +136,7 @@
      // policiesAndRegulations  //政策法律与法规|旅游社
      // practicalCareChildrenManual // 婴幼儿照护实录
      this.activeBook = await this.config.getBookConfig(
        process.env.VUE_APP_RESOURCE_CTX +
        'http://182.92.203.7:3007/books/resource/' +
        (process.env.VUE_APP_ENV == "product"
          ? process.env.VUE_APP_BOOK_ID
          : "meetingPlanners")
src/books/OralAndBroadcasting/assets/Fonts/FZHTJW.ttf
Binary files differ
src/books/OralAndBroadcasting/assets/Fonts/FZLTXIHJW.ttf
Binary files differ
src/books/OralAndBroadcasting/assets/Fonts/FZLTZHJW.ttf
Binary files differ
src/books/OralAndBroadcasting/assets/images/0014-1.jpg
src/books/OralAndBroadcasting/assets/images/0016-1.jpg
src/books/OralAndBroadcasting/assets/images/0018-1.jpg
src/books/OralAndBroadcasting/assets/images/0021-1.jpg
src/books/OralAndBroadcasting/assets/images/0023-1.jpg
src/books/OralAndBroadcasting/assets/images/0024-1.jpg
src/books/OralAndBroadcasting/assets/images/0026-1.jpg
src/books/OralAndBroadcasting/assets/images/0027-1.jpg
src/books/OralAndBroadcasting/assets/images/0027-2.jpg
src/books/OralAndBroadcasting/assets/images/0032-1.jpg
src/books/OralAndBroadcasting/assets/images/0032-2.jpg
src/books/OralAndBroadcasting/assets/images/0043-1.jpg
src/books/OralAndBroadcasting/assets/images/0044-1.jpg
src/books/OralAndBroadcasting/assets/images/0049-1.jpg
src/books/OralAndBroadcasting/assets/images/0050-1.jpg
src/books/OralAndBroadcasting/assets/images/0054-1.jpg
src/books/OralAndBroadcasting/assets/images/0057-1.jpg
src/books/OralAndBroadcasting/assets/images/0058-1.jpg
src/books/OralAndBroadcasting/assets/images/0059-1.jpg
src/books/OralAndBroadcasting/assets/images/0060-1.jpg
src/books/OralAndBroadcasting/assets/images/0061-1.jpg
src/books/OralAndBroadcasting/assets/images/0061-2.jpg
src/books/OralAndBroadcasting/assets/images/0062-1.jpg
src/books/OralAndBroadcasting/assets/images/0062-2.jpg
src/books/OralAndBroadcasting/assets/images/0063-1.jpg
src/books/OralAndBroadcasting/assets/images/0063-2.jpg
src/books/OralAndBroadcasting/assets/images/0064-1.jpg
src/books/OralAndBroadcasting/assets/images/0064-2.jpg
src/books/OralAndBroadcasting/assets/images/0065-1.jpg
src/books/OralAndBroadcasting/assets/images/0065-2.jpg
src/books/OralAndBroadcasting/assets/images/0068-1.jpg
src/books/OralAndBroadcasting/assets/images/0068-2.jpg
src/books/OralAndBroadcasting/assets/images/0069-1.jpg
src/books/OralAndBroadcasting/assets/images/0070-1.jpg
src/books/OralAndBroadcasting/assets/images/0079-1.jpg
src/books/OralAndBroadcasting/assets/images/0080-1.jpg
src/books/OralAndBroadcasting/assets/images/0080-2.jpg
src/books/OralAndBroadcasting/assets/images/0080-3.jpg
src/books/OralAndBroadcasting/assets/images/0081-1.jpg
src/books/OralAndBroadcasting/assets/images/0082-1.jpg
src/books/OralAndBroadcasting/assets/images/0082-2.jpg
src/books/OralAndBroadcasting/assets/images/0083-1.jpg
src/books/OralAndBroadcasting/assets/images/0084-1.jpg
src/books/OralAndBroadcasting/assets/images/0085-1.jpg
src/books/OralAndBroadcasting/assets/images/0086-1.jpg
src/books/OralAndBroadcasting/assets/images/0092-1.jpg
src/books/OralAndBroadcasting/assets/images/0094-1.jpg
src/books/OralAndBroadcasting/assets/images/0094-2.jpg
src/books/OralAndBroadcasting/assets/images/0100-1.jpg
src/books/OralAndBroadcasting/assets/images/0112-1.jpg
src/books/OralAndBroadcasting/assets/images/0117-1.jpg
src/books/OralAndBroadcasting/assets/images/0120-1.jpg
src/books/OralAndBroadcasting/assets/images/0123-1.jpg
src/books/OralAndBroadcasting/assets/images/0138-1.jpg
src/books/OralAndBroadcasting/assets/images/0139-1.jpg
src/books/OralAndBroadcasting/assets/images/0140-1.jpg
src/books/OralAndBroadcasting/assets/images/0141-1.jpg
src/books/OralAndBroadcasting/assets/images/0142-1.jpg
src/books/OralAndBroadcasting/assets/images/0143-1.jpg
src/books/OralAndBroadcasting/assets/images/0145-1.jpg
src/books/OralAndBroadcasting/assets/images/0145-2.jpg
src/books/OralAndBroadcasting/assets/images/0147-1.jpg
src/books/OralAndBroadcasting/assets/images/0148-1.jpg
src/books/OralAndBroadcasting/assets/images/0149-1.jpg
src/books/OralAndBroadcasting/assets/images/0152-1.jpg
src/books/OralAndBroadcasting/assets/images/0156-1.jpg
src/books/OralAndBroadcasting/assets/images/0157-1.jpg
src/books/OralAndBroadcasting/assets/images/0158-1.jpg
src/books/OralAndBroadcasting/assets/images/0161-1.jpg
src/books/OralAndBroadcasting/assets/images/0161-2.jpg
src/books/OralAndBroadcasting/assets/images/0162-1.jpg
src/books/OralAndBroadcasting/assets/images/0167-1.jpg
src/books/OralAndBroadcasting/assets/images/0167-2.jpg
src/books/OralAndBroadcasting/assets/images/0168-1.jpg
src/books/OralAndBroadcasting/assets/images/0168-2.jpg
src/books/OralAndBroadcasting/assets/images/0169-1.jpg
src/books/OralAndBroadcasting/assets/images/0170-1.jpg
src/books/OralAndBroadcasting/assets/images/0170-2.jpg
src/books/OralAndBroadcasting/assets/images/0171-1.jpg
src/books/OralAndBroadcasting/assets/images/0171-2.jpg
src/books/OralAndBroadcasting/assets/images/0172-1.jpg
src/books/OralAndBroadcasting/assets/images/0174-1.jpg
src/books/OralAndBroadcasting/assets/images/0174-2.jpg
src/books/OralAndBroadcasting/assets/images/0175-1.jpg
src/books/OralAndBroadcasting/assets/images/0175-2.jpg
src/books/OralAndBroadcasting/assets/images/0175-3.jpg
src/books/OralAndBroadcasting/assets/images/0176-1.jpg
src/books/OralAndBroadcasting/assets/images/0176-2.jpg
src/books/OralAndBroadcasting/assets/images/0177-1.jpg
src/books/OralAndBroadcasting/assets/images/0177-2.jpg
src/books/OralAndBroadcasting/assets/images/Cover.jpg
src/books/OralAndBroadcasting/assets/images/FD.jpg
src/books/OralAndBroadcasting/assets/images/SMY.jpg
src/books/OralAndBroadcasting/assets/images/headerlogo.png
src/books/OralAndBroadcasting/assets/images/icon/heart-check.png
src/books/OralAndBroadcasting/assets/images/icon/heart.png
src/books/OralAndBroadcasting/assets/images/xm1.jpg
src/books/OralAndBroadcasting/assets/images/xm2.jpg
src/books/OralAndBroadcasting/assets/images/xm3.jpg
src/books/OralAndBroadcasting/assets/images/xm4.jpg
src/books/OralAndBroadcasting/assets/images/xm5.jpg
src/books/OralAndBroadcasting/assets/main.less
New file
@@ -0,0 +1,1442 @@
.OralAndBroadcasting {
  width: 100%;
  height: 100%;
  // 自定义内容
  .page-box {
    box-sizing: border-box;
    min-height: 1128px;
    margin-bottom: 20px;
    box-shadow: 0 3px 6px 1px #00000029;
    background-color: #fff;
  }
  .videos-box {
    display: flex;
    align-items: center;
    justify-content: space-around;
    li {
      width: 40%;
    }
  }
  .collect-btn {
    cursor: pointer;
    width: 16px;
    height: 16px;
    margin-left: 10px;
  }
  .ds-txt {
    width: 59%;
    display: inline-block;
  }
  .db-box {
    span {
      width: 52%;
      display: inline-block;
    }
    img {
      float: right;
      width: 40%;
    }
  }
  .openImgBox {
    cursor: pointer;
  }
  .bk2 {
    border: 2px solid #f0f3e2;
    padding: 20px;
    margin-bottom: 2em;
    margin-top: 2.5em;
  }
  .c-g {
    color: green;
  }
  .pr-15 {
    padding-right: 15%;
  }
  .c-r {
    color: red;
  }
  .t-right {
    text-align: right;
  }
  .mr-0 {
    margin: 0;
  }
  .mt-20 {
    margin-top: 20px !important;
  }
  .mt-30 {
    margin-top: 30px;
  }
  .mb-30 {
    margin-bottom: 30px;
  }
  .mb-10 {
    margin-bottom: 10px;
  }
  .pd-5 {
    padding: 0 5px;
  }
  .w100 {
    width: 100%;
  }
  .w90 {
    width: 90%;
  }
  .w80 {
    width: 80%;
  }
  sup {
    vertical-align: super;
    /* 保持上标对齐方式 */
    font-size: smaller;
    // position: relative; /* 相对于正常位置调整 */
    // top: -0.2em; /* 根据需要调整这个值 */
  }
  .fz-13 {
    font-size: 13px !important;
  }
  .fz-14 {
    font-size: 14px !important;
  }
  .fz-16 {
    font-size: 16px !important;
  }
  .fz-18 {
    font-size: 18px !important;
  }
  .img-0 {
    width: 100%;
  }
  .pt-20 {
    padding-top: 20px;
  }
  .td-0 {
    text-indent: 0em !important;
  }
  .fl {
    display: flex;
  }
  .al-cn {
    align-items: center;
  }
  .ju-cn {
    justify-content: center;
  }
  .ju-ev {
    justify-content: space-evenly;
  }
  .fd-c {
    flex-direction: column;
  }
  .fd-r {
    flex-direction: row-reverse;
  }
  .al-c {
    align-items: center;
  }
  .al-fe {
    align-items: flex-end;
  }
  .ac-f {
    align-content: flex-end;
  }
  .jc-fe {
    justify-content: flex-end;
  }
  .jc-c {
    justify-content: center;
  }
  .jc-sa {
    justify-content: space-around;
  }
  .mr-70 {
    margin-right: 70px;
  }
  .mr-45 {
    margin-right: 45px;
  }
  .mr-10 {
    margin-right: 10px;
  }
  .ma-l {
    margin-left: 10%;
  }
  .pad-t-55 {
    padding-top: 55px;
  }
  .pad-l-60 {
    padding-left: 60px;
  }
  .mb-45 {
    margin-bottom: 45px;
  }
  .headerImg {
    width: 30px;
  }
  .headerText {
    font-size: 12px;
    padding: 0 8px;
    color: #b98c64;
  }
  .headerNumber {
    color: #231f20;
    font-size: 12px;
    padding: 0 8px;
    border-left: 1px solid #231f20;
  }
  .header-left-Number {
    color: #231f20;
    font-size: 12px;
    padding-right: 8px;
    border-right: 1px solid #000;
  }
  .header-left-text {
    margin-left: 8px;
    font-size: 12px;
    color: #fff;
    background-color: #0082d4;
  }
  .table-tr-bc {
    color: #fff;
  }
  .task {
    width: 16%;
    margin-bottom: 3.5em;
    margin-top: 0;
    border-top: 0.7em solid #f0bd40;
  }
  .task-u2-c {
    width: 16%;
    margin-bottom: 3.5em;
    margin-top: 0;
    border-top: 0.7em solid #f89c1c;
  }
  .task-u3-c {
    width: 16%;
    margin-bottom: 3.5em;
    margin-top: 0;
    border-top: 0.7em solid #0a9cac;
  }
  .task-u4-c {
    width: 16%;
    margin-bottom: 3.5em;
    margin-top: 0;
    border-top: 0.7em solid #92b03d;
  }
  .task-u5-c {
    width: 16%;
    margin-bottom: 3.5em;
    margin-top: 0;
    border-top: 0.7em solid #0180cd;
  }
  .p-odd {
    padding-right: 10%;
  }
  .p-even {
    padding-left: 10%;
  }
  .img-float-smaller {
    width: 200px;
    float: left;
    height: auto;
    margin: auto;
    margin-right: 20px;
  }
  .img-float-medium {
    width: 250px;
    float: left;
    height: auto;
    margin: auto;
    margin-right: 20px;
  }
  .img-float {
    width: 310px;
    float: left;
    height: auto;
    margin: auto;
    margin-right: 20px;
    img {
      width: 100%;
    }
    p {
      margin: 0;
    }
  }
  .img-float-formula {
    width: 310px;
    float: left;
    height: auto;
    margin: auto;
    margin-right: 20px;
    p {
      margin: 0;
    }
  }
  .img-rights {
    width: 47%;
    float: right;
    height: auto;
    margin: auto;
    margin-left: 20px;
    img {
      width: 100%;
    }
    p {
      margin: 0 !important;
    }
  }
  .references {
    margin-top: 140px;
    hr {
      font-weight: bold;
      margin-left: 0;
      width: 15%;
    }
  }
  .w395 {
    width: 395px;
  }
  .w430 {
    width: 430px;
  }
  .w280 {
    width: 280px;
  }
  .w270 {
    width: 270px;
  }
  .w250 {
    width: 250px;
  }
  .w230 {
    width: 230px;
  }
  .w220 {
    width: 220px;
  }
  .w200 {
    width: 200px;
  }
  .w180 {
    width: 180px;
  }
  .w115 {
    width: 115px;
  }
  .text-rights {
    width: 230px;
    float: right;
    height: auto;
    margin: auto;
    margin-left: 20px;
    img {
      width: 100%;
    }
    p {
      margin: 0 !important;
    }
  }
  .pdf-text {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
    p {
      margin: 0;
      margin-right: 10px;
    }
    .pdf-con {
      display: flex;
      justify-content: flex-start;
      align-items: center;
      padding: 10px 0;
      box-sizing: border-box;
      border-radius: 10px;
      .pdf-view {
        min-width: 160px;
        display: flex;
        justify-content: center;
        align-items: center;
        border: 0.15em dashed #895b2e;
        margin-right: 15px;
        padding: 0 15px;
        border-radius: 5px;
        margin-top: 15px;
        span {
          font-size: 14px;
          text-align: center;
          font-family: "FZLTXIHJW";
          display: flex;
          align-items: center;
          justify-content: flex-start;
          svg {
            fill: #895b2e;
          }
        }
        span:nth-child(2) {
          padding-top: 5px;
          box-sizing: border-box;
        }
        span:hover {
          color: #895b2e;
          cursor: pointer;
          text-decoration: underline;
          -webkit-user-select: none;
          /* Safari 3.1+ */
          -moz-user-select: none;
          /* Firefox 2+ */
          -ms-user-select: none;
          /* IE 10+ */
          user-select: none;
          /* 标准语法 */
        }
      }
    }
    .pdf-con-15 {
      margin-top: -20px;
    }
  }
  div.bk-ztgs {
    border: 0.15em dotted #5192c6;
    padding: 1.5em 0.5em;
    margin-bottom: 2em;
    margin-top: 2em;
    border-radius: 1em;
    position: relative;
  }
  p.bj1-ztgs {
    background-color: #5192c6;
    color: #ffffff;
    display: inline-block;
    font-size: 1em;
    padding: 0.1em 0.7em 0.12em 0.7em;
    font-weight: bold;
    border-radius: 0em;
    margin-left: 0em;
    text-align: center;
    text-indent: 0em;
    position: absolute;
    top: -1.2em;
  }
  .link-float {
    width: 120px;
    float: left;
    height: auto;
    margin: auto;
    margin-top: 12px;
    margin-right: 20px;
  }
  .imgBox-003 {
    width: 100%;
    height: 280px;
    margin-bottom: 18px;
  }
  // 题目
  .textarea-box {
    background-color: transparent;
    max-width: 85%;
    min-width: 85%;
    outline: none;
  }
  .textarea-box-left {
    background-color: transparent;
    margin-left: 12%;
    max-width: 85%;
    min-width: 85%;
    outline: none;
  }
  .textarea-box-right {
    background-color: transparent;
    margin-left: 8%;
    max-width: 85%;
    min-width: 85%;
    outline: none;
  }
  .textarea-focused {
    border-color: #5192c6 !important;
    box-shadow: #5192c6 !important;
  }
  .select-border {
    width: 60px;
    border: 0;
    border-bottom: 1px solid #767676;
    &:focus {
      outline: none;
    }
  }
  .btn-border {
    border-radius: 6px;
    border-color: #5192c6;
  }
  .btn-w {
    cursor: pointer;
    font-size: 14px;
    border-width: 1px;
    width: 80px;
    height: 30px;
    background-color: #fff;
    &:hover {
      background-color: #5192c6;
      color: #fff;
    }
  }
  .parimary-btn {
    cursor: pointer;
    min-width: 80px;
    height: 30px;
    font-size: 14px;
    margin-left: 5px;
    background-color: #5192c6;
    border-color: #5192c6;
    border-width: 1px;
    color: #fff;
    border-radius: 6px;
    &:hover {
      background-color: #a1afc8;
      border-color: #a1afc8;
    }
  }
  .event-header-text-bc {
    background-color: #bbd4ec;
  }
  // 迁移
  .bk-bwh {
    min-height: 800px;
    background-color: #dfebf7;
    font-size: 1.2em;
    padding: 25px;
    border: 4px dotted #197abf;
  }
  ul {
    list-style-type: none;
  }
  li {
    list-style-type: none;
  }
  .custom_tag2 {
    background-color: #f1be49;
    color: #ffffff;
    display: inline-block;
    padding: 0.5px;
    border-radius: 1.5em;
    font-size: 1.1em;
    padding: 2px 10px 2px 10px;
    font-weight: bold;
    margin: 0;
    text-indent: 0em;
    margin-bottom: 0.5em;
  }
  .custom_tag1 {
    background-color: #35acd6;
    color: #ffffff;
    display: inline-block;
    padding: 1px;
    font-size: 1.1em;
    padding: 3px 10px 3px 10px;
    font-weight: bold;
    box-shadow: 15px 0px 0px 0px #f5d83e, -15px 0px 0px 0px #f5d83e;
    margin: 0;
    text-indent: 0em;
    margin-bottom: 0.5em;
  }
  .custom_tag {
    background-color: #35509f;
    color: #ffffff;
    display: inline-block;
    padding: 1px;
    border-radius: 1.5em;
    font-size: 1.1em;
    padding: 10px 20px 10px 20px;
    font-weight: bold;
    box-shadow: 30px 0px 0px 0px #f5d83e;
    margin: 0;
    text-indent: 0em;
    margin-bottom: 0.5em;
  }
  span.under1 {
    -webkit-text-emphasis-style: dot;
    -moz-text-emphasis-style: dot;
    -ms-text-emphasis-style: dot;
    text-emphasis-style: dot;
    -webkit-text-emphasis-position: under;
    -moz-text-emphasis-position: under;
    -ms-text-emphasis-position: under;
    text-emphasis-position: under;
  }
  div.bodycontent-div-center {
    font-family: "DK-HEITI", "方正兰亭黑简体", "黑体";
    margin: 1em 1em 1em 1em;
    font-weight: normal;
    border-width: 1.5px;
    border-color: #dfb27d;
    padding: 1em;
  }
  img.bodycontent-divcenter-image {
    float: center;
    clear: both;
    height: 140px;
    margin: 15px;
  }
  .module_block {
    display: flex;
    font-size: 1.1em;
    position: relative;
    padding-left: 90px;
    justify-content: center;
    align-items: center;
    margin-right: 91px;
  }
  .module_block .custom1 {
    background-color: #9acc77;
    padding: 10px 20px;
    color: #ffffff;
    /* position: absolute; */
    /* left:0; */
    /* top: 50%; */
    border-radius: 0.5em 0em 0em 0.5em;
    /* transform: translateY(-50%); */
  }
  .module_block .custom2 {
    background-color: #e9f3e0;
    padding: 10px 20px;
    color: #75a64e;
    font-weight: bold;
    border-radius: 0em 0.5em 0.5em 0em;
  }
  div.bodycontent-div-left1 {
    font-family: "DK-HEITI", "方正兰亭黑简体", "黑体";
    margin: 1em 1em 1em 1em;
    font-weight: normal;
    border-width: 1.5px;
    border-color: #dfb27d;
    padding: 1em;
    background-color: #f0f8ff;
  }
  div.bodycontent-div-left {
    font-family: "DK-HEITI", "方正兰亭黑简体", "黑体";
    margin: 1em 1em 1em 1em;
    font-weight: normal;
    border-width: 1.5px;
    border-color: #dfb27d;
    padding: 1em;
  }
  img.bodycontent-divright-image {
    float: right;
    clear: both;
    height: 140px;
    margin: 15px;
  }
  img.bodycontent-divleft-image {
    float: left;
    clear: both;
    height: 110px;
    margin: 15px;
  }
  .img {
    text-align: center;
    font-size: 16px;
    text-indent: 0em;
    color: #75a64e;
  }
  .img1 {
    font-weight: bold;
    color: #4b9cdd;
    text-align: center;
    font-size: 1em;
    text-indent: 0em;
  }
  div.bodystyle {
    font-family: 'FZLTXIHJW';
    text-align: justify;
    margin: 0 10%;
    padding-bottom: 80px;
    line-height: 30px;
  }
  span.zt-0 {
    color: #0087af;
  }
  p.pzt-0 {
    color: #0087af;
    font-size: 18px;
  }
  p.pzt-0-right {
    font-size: 18px;
    color: #0087af;
    text-align: right;
  }
  p.pzt-1 {
    font-weight: bold;
    color: #0087af;
    font-size: 18px;
  }
  div.sgc-toc-title {
    font-size: 2em;
    font-weight: bold;
    margin-bottom: 1em;
    text-align: center;
  }
  div.sgc-toc-level-1 {
    margin-left: 0em;
  }
  div.sgc-toc-level-2 {
    margin-left: 2em;
  }
  div.sgc-toc-level-3 {
    margin-left: 2em;
  }
  div.sgc-toc-level-4 {
    margin-left: 2em;
  }
  div.sgc-toc-level-5 {
    margin-left: 2em;
  }
  div.sgc-toc-level-6 {
    margin-left: 2em;
  }
  .imz {
    width: 100%;
    text-align: center;
  }
  .note {
    font-size: 0.85em;
  }
  .block {
  }
  .block1 {
    text-align: center;
  }
  p {
        font-family: "宋体";
        margin-top: 0.2em;
        margin-bottom: 0.2em !important;
        text-indent: 2em;
        line-height: 30px;
        text-align: justify;
    }
  .cover {
    width: 100%;
    padding: 0px;
  }
  .center {
    text-align: center;
    margin-left: 0%;
    margin-right: 0%;
    text-indent: 0em;
  }
  .center-ss {
    text-align: center;
    color: #ef8472;
    font-weight: bold;
    margin-left: 0%;
    margin-right: 0%;
    text-indent: 0em;
  }
  .left {
    text-indent: 0em;
    margin-left: 0%;
    margin-right: 0%;
  }
  .left2 {
    font-size: 1.3em;
    text-indent: 0em;
    font-weight: bold;
    margin-left: 0%;
    margin-right: 0%;
  }
  .right {
    text-align: right;
    margin-left: 0%;
    margin-right: 0%;
  }
  .left1 {
    text-indent: 0em;
    margin-left: 0%;
    margin-right: 0%;
  }
  .center1 {
    text-align: center;
    margin-left: 0%;
    margin-right: 0%;
    font-size: 1.2em;
    text-indent: 0em;
    font-weight: bold;
  }
  .right1 {
    text-align: right;
    margin-left: 0%;
    margin-right: 0%;
  }
  .quote {
    margin-top: 0%;
    margin-bottom: 0%;
    margin-left: 1em;
    margin-right: 1em;
    text-align: justify;
    font-family: "cnepub", serif;
  }
  h1 {
    font-family: "FZLTZHJW";
    font-weight: bold;
    font-size: 1.2em;
    color: #5eb7bf;
    margin-top: 0.2em;
    margin-bottom: 0.5em;
    text-indent: 0em;
    text-align: center;
  }
  .front {
    font-family: "FZLTZHJW";
    font-weight: bold;
    font-size: 1.2em;
    color: #5eb7bf;
    margin-top: 0.2em;
    margin-bottom: 0.5em;
    text-indent: 0em;
    text-align: center;
  }
  h2 {
    font-family: "FZHTJW";
    color: #5193c7;
    font-weight: bold;
    font-size: 1.7em;
    margin-bottom: 0.1em;
    margin-top: 1.5em;
    text-indent: 0em;
  }
  div.h2-ys {
    border-bottom: 0.6em solid #5193c7;
    margin-top: -0.5em;
  }
  h3 {
    font-family: "FZHTJW";
    color: #f0b54f;
    font-weight: 500;
    font-size: 1.4em;
    margin-top: 1em;
    margin-bottom: 1em;
    text-indent: 0em;
  }
  .h3-zt {
    color:#f0bd40;
    border-radius: 1.5em;
  }
  .h3-zt1 {
    font-family: "HiFont Hei GB";
    color: #f0bd40;
    font-weight: bold;
    text-indent: 0em;
    margin-left: 0%;
    font-size: 0.8em;
  }
  h4 {
    font-family: "FZHTJW";
    color: #000;
    font-size: 18px;
    font-weight: normal;
    margin-bottom: 1em;
    margin-top: 1em;
    margin-left: 0em;
    text-indent: 1em;
  }
  h5 {
    font-family: "FZHTJW";
    color: #ef8472;
    text-align: left;
    font-weight: bold;
    margin-bottom: 0.5em;
    margin-top: 2em;
    font-size: 1.15em;
    text-indent: 0em;
  }
  h6 {
    font-family: "FZHTJW";
    font-weight: bold;
    margin-bottom: 0.5em;
    margin-top: 2em;
    font-size: 1em;
    text-indent: 2em;
  }
  .zt-h6 {
    font-family: "FZHTJW";
    color: #65c097;
    margin-bottom: 0.5em;
    margin-top: 1em;
    font-size: 1.15em;
    text-indent: 2em;
  }
  .bb {
    font-family: "cnepub", serif;
    font-family: "FZHTJW";
    color: #66cccc;
    font-size: 1.1em;
    margin-top: 10px;
    text-indent: 2em;
    margin-bottom: 10px;
    border-bottom: 5px dotted #f4c388;
    margin-left: 2em;
    margin-bottom: 0.5em;
    text-indent: 0em;
  }
  .u {
    text-decoration: underline;
  }
  .img-0 {
    width: 100%;
  }
  .img-a {
    width: 95%;
  }
  .img-b {
    width: 70%;
  }
  .img-c {
    width: 60%;
  }
  .img-d {
    width: 50%;
  }
  .img-e {
    width: 45%;
  }
  .img-f {
    width: 40%;
  }
  .img-g {
    width: 30%;
  }
  .img-h {
    width: 20%;
  }
  .img-i {
    width: 10%;
  }
  .img-j {
    width: 5%;
  }
  .img-l {
    width: 25%;
  }
  .img-k {
    width: 35%;
  }
  .img-zt {
    height: 6em;
    margin-top: -1.5em;
    margin-bottom: -0.4em;
    margin-left: 15%;
  }
  .inline {
    height: 1em;
    margin-bottom: -0.3em;
  }
  .inline1 {
    height: 2.5em;
    margin-top: 0.5em;
    margin-bottom: -0.5em;
  }
  .inline4 {
    height: 2em;
    margin-left: -2em;
    margin-right: 0.5em;
    margin-bottom: -0.6em;
  }
  .img-qj {
    height: 7.5em;
    margin-bottom: -3.4em;
    margin-right: 0.5em;
  }
  .kaiti {
  }
  .kaiti1 {
  }
  .bk-bwh {
    background-color: #dfebf7;
    font-size: 1.2em;
    padding: 25px;
    border: 4px dotted #197abf;
  }
  .zt-ls1 {
    color: #93b03c;
    font-size: 1.1em;
    font-weight: bold;
  }
  .zt-cs1 {
    color: #fa9d1a;
  }
  span.lsyq-1 {
    background-color: #0082d4;
    padding: 0.2em 0.4em 0.2em 0.4em;
    border-radius: 1.5em;
    margin-right: 0.5em;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.5em;
  }
  span.hsyq-1 {
    background-color: #ffb7d4;
    padding: 0.2em 0.4em 0.2em 0.4em;
    border-radius: 1.5em;
    margin-right: 0.5em;
    color: #ffffff;
    font-weight: bold;
    font-size: 1.5em;
  }
  .zt-hs1 {
    font-weight: bold;
    color: #f0855b;
    font-size: 1.2em;
  }
  .h2-zt1 {
    padding: 5px 25px 5px 25px;
    border-radius: 10px 0px 0px 10px;
    background-color: #5392c7;
    font-size: 1.2em;
    color: #ffffff;
  }
  .h2-zt2 {
    padding: 10px;
    background-color: #b1dde0;
    margin-right: 2em;
    color: #ffffff;
    padding: 5px 50px 5px 25px;
    border-radius: 0px 5px 80px 0px;
    font-size: 1.2em;
  }
  .bk {
    border: 0.15em solid #5492c3;
    padding: 0.5em;
    margin-bottom: 2em;
    margin-top: 0.5em;
    position: relative;
  }
  p.bj1-qjms {
    background-color: #5392c7;
    color: #ffffff;
    display: inline-block;
    font-size: 1em;
    padding: 0.1em 0.7em 0.12em 0.7em;
    font-weight: bold;
    border-radius: 1.5em;
    margin-left: 0em;
    text-align: center;
    text-indent: 0em;
    position: absolute;
    top: -2em;
  }
  .bj {
    background-color: #e1e7f3;
    padding: 0.2em 0.8em 0.2em 0.8em;
    margin-bottom: 2em;
  }
  span.bj1 {
    background-color: #5193c7;
    padding: 0.2em 0.8em 0.2em 0.8em;
    margin-bottom: 2em;
    color: #ffffff;
    font-size: 1.2em;
    border-radius: 0.5em;
    margin-left: -2em;
  }
  .bj5 {
    background-color: #3d8b9f;
    padding: 0.2em;
    font-size: 1.3em;
    font-weight: bold;
    border-radius: 0.5em;
    color: #ffffff;
  }
  .bj3 {
    background-color: #ffdeb5;
    padding: 20px;
    margin-bottom: 2em;
    margin-top: 2.5em;
  }
  span.bj3-xts {
    background-color: #fa9d1a;
    color: #ffffff;
    border-radius: 1.5em;
    padding: 5px 20px 5px 20px;
    font-size: 1em;
    font-weight: bold;
  }
  div.bj3-xts {
    margin-top: -3em;
    margin-bottom: 1.5em;
    margin-left: -2.5em;
  }
  .ts-1 {
    font-weight: bold;
  }
  .zt-h4 {
    background-color: #f0bd40;
    padding: 10px;
    color: #ffffff;
    margin-left: -2em;
    border-radius: 1.5em;
  }
  .qyls-h4 {
    font-family: "HiFont Hei GB";
    color: #6cb26c;
    font-weight: bold;
    padding: 0.2em;
    text-indent: 0em;
    margin-left: 0%;
  }
  .bj4 {
    background-color: #5193c7;
    padding: 5px 10px 5px 10px;
    color: #ffffff;
    font-size: 1.1em;
    font-weight: bold;
    margin-left: 0em;
    margin-bottom: 2em;
    margin-top: 2.5em;
  }
  .bj2 {
    background-color: #f0f3e2;
    padding: 20px;
    margin-bottom: 2em;
    margin-top: 2.5em;
  }
  span.bj2-dyd {
    background-color: #95b321;
    color: #ffffff;
    border-radius: 1.5em;
    padding: 5px 20px 5px 20px;
    font-size: 1em;
    font-weight: bold;
  }
  div.bj2-dyd {
    margin-top: -3em;
    margin-bottom: 1.5em;
    margin-left: -2.5em;
  }
  .zt-lvs1 {
    color: #95b321;
  }
  div.bj-1 {
    background-color: #fef7e5;
    color: #6cb26c;
    border-radius: 2em;
    margin-bottom: 1.5em;
    margin-top: 1.5em;
  }
  .bj-1-zt {
    font-weight: bold;
    font-size: 1.2em;
    line-height: 1.8em;
  }
}
.custom-dialog {
  overflow: hidden !important;
  .el-dialog__body {
    padding: 0;
  }
  .el-dialog__header {
    background-color: rgba(0, 0, 0, 0.8);
    .header_title {
      display: flex;
      justify-content: space-between;
      align-items: center;
      color: #fff;
      font-weight: 900;
      font-size: 16px;
      font-family: "FZLTXIHJW";
      span:nth-child(2):hover {
        cursor: pointer;
      }
    }
    .el-dialog__title,
    .el-dialog__headerbtn .el-dialog__close {
      color: #fff;
      font-weight: 900;
      font-size: 16px;
      font-family: "FZLTXIHJW";
    }
  }
}
.header_title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  // color: #fff;
  font-weight: 900;
  font-size: 16px;
  font-family: "FZLTXIHJW";
  span:nth-child(2):hover {
    cursor: pointer;
  }
}
@font-face {
  font-family: "FZLTZHJW";
  src: url("./Fonts/FZLTZHJW.ttf");
}
@font-face {
  font-family: "FZLTXIHJW";
  src: url("./Fonts/FZLTXIHJW.ttf");
}
@font-face {
  font-family: "FZHTJW";
  src: url("./Fonts/FZHTJW.ttf");
}
/* 媒体查询做基础响应式布局 */
@media screen and (max-width: 1024px) {
  .pdfModal {
    width: 100%;
    height: 80vh;
  }
  .custom-dialog {
    .el-dialog {
      width: 90vw !important;
    }
  }
}
@media screen and (max-width: 800px) {
  .pdfModal {
    width: 100%;
    height: 60vh;
  }
  .custom-dialog {
    .el-dialog {
      width: 90vw !important;
    }
  }
}
@media (max-width: 660px) {
  .civilAviation-book {
    .pad-l-60 {
      padding-left: 10px;
    }
    .mr-70 {
      margin-right: 15px;
    }
    /* 分页padding */
    .padding-93 {
      padding: 0 20px;
    }
    .padding-102 {
      padding: 0 20px;
    }
    .img-float {
      width: 130px;
    }
    .img-rights {
      width: 130px;
    }
    .btn-w {
      width: 42px;
    }
  }
}
@media (min-width: 660px) {
  .civilAviation-book {
    .padding-93 {
      padding: 0 93px 0px 93px;
    }
    .padding-102 {
      padding: 0 102px 0 102px;
    }
  }
}
::-webkit-scrollbar {
  width: 8px;
  height: 10px;
}
::-webkit-scrollbar-track-piece {
  background-color: rgba(0, 0, 0, 0.1);
  -webkit-border-radius: 6px;
}
::-webkit-scrollbar-thumb:vertical {
  height: 5px;
  background-color: rgba(125, 125, 125, 0.3);
  -webkit-border-radius: 6px;
}
::-webkit-scrollbar-thumb:horizontal {
  width: 5px;
  background-color: rgba(125, 125, 125, 0.3);
  -webkit-border-radius: 6px;
}
src/books/OralAndBroadcasting/view/components/chapter001.vue
New file
@@ -0,0 +1,1299 @@
h4怎样说服别人<template>
  <div class="chapter" num="2">
    <!-- 第一单元封面 -->
    <div class="page-box" page="9">
      <div v-if="showPageList.indexOf(9) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">040</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <h3 id="c001" class="p-even">任务四<br />沟通与说服</h3>
          <div class="task ma-l"></div>
          <p class="p-even">
            航空服务中的沟通包含两个方面,一是指信息的传递,二是指感情的交流,二者是相辅相成的。同时,从服务效果的角度讲,沟通时不仅强调信息的传递和理解,更重要的是要得到好的结果。再好的沟通,如果没有得到好的结果,也是无效的。
          </p>
          <h3 id="c015">
            <span class="h3-zt p-even">一、</span
            ><span class="h3-zt1">沟通</span>
          </h3>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">恰当的语言</span></p>
            <p>
              某航班延误了,旅客在地面等了几小时后,终于登机了。乘务员带着歉意向旅客问候道:“您好,让您久等了。”这句问候语是存在问题的。第一,“您好”这个词出现在上面的语境里,容易让旅客感觉乘务员的问候是没有诚意的,是置身事外的程序化的问候;第二,“久”字的出现强化了旅客可能本已淡去的时间感,易让旅客将压抑较久的不满情绪借题发挥出来。在这样的场景中,怎样的问候语较适宜呢?我们在实际场景中做过尝试,使用“十分抱歉”“谢谢您的等候”“您辛苦啦”“感谢您的乘坐”“谢谢您的理解和支持”这样的问候语,旅客更能接受。对一些父母来说,他们感到不满的原因常常是觉得自己的孩子受苦了,所以此时将用词的关注重心放在孩子身上可能更好。除此之外,在回应旅客的需求时,多用些含有正面信息的词语,可能让旅客在拥有好的心理感受的同时对服务予以认同。例如,将“稍等”换为“马上就来”,“有事吗”换为“我能为您做点什么”,“您要哪种饭”换为“您喜欢什么口味”……字词方面的小改动可能会让旅客的服务满意程度大幅提升。
            </p>
          </div>
          <p class="p-even">
            对旅客调查的结果表明:文明礼貌、真挚和善的语言能让旅客产生发自内心的好感;明确简洁、适当中肯的语言能增强旅客的信任感;适应对象、灵活多变的语言能给旅客以亲切感,使旅客获得心理上的满足。客舱语言作
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="10">
      <div v-if="showPageList.indexOf(10) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">041</li>
        </ul>
        <div class="bodystyle">
          <p class="td-0">为一种特殊的行业用语,体现出以下特点。</p>
          <p>
            一是准确性。飞机作为交通工具,其安全性一直是旅客最为关心的问题,航空服务人员在解答旅客疑问和办理业务时,语言必须精简、准确、自信,以体现自身的专业性与回答的可靠性。
          </p>
          <p>
            二是灵活性。在保证服务一致性的过程中,航空服务人员应具有灵活性和创造性;应与旅客保持良好的关系,不要只是机械地做事。这里有一个如何保持两者间平衡的问题。例如,在乘务员为旅客提供服务时,一位旅客要求吃素食,怎样去解决这一问题呢?我们可以把各式各样的蔬菜、水果或是机上的点心、面包搭配在一起,供旅客选择。如果不知道变通地直接告诉旅客“我们没有准备这种食物”,就会使旅客感到失望。
          </p>
          <p>
            三是生动性。乘务员要用具有活力的语言去打动旅客,从而引起旅客的共鸣,对旅客所作的一些关于景点、名胜古迹的介绍更应如此。试举一例,对“川剧”可以这样介绍:四川,古称华阳,又名巴蜀,其民风淳朴,物阜民安,被誉为“天府之国”。俗话说:“奇山奇水有奇杰。”四川这块沃土不仅涌现出了无数雄才大略的政治家、军事家和一大批卓越的才士,还造就了一批优秀的表演艺术家;不仅磨砺出了无数宏伟的诗篇佳作,同时也孕育出了一种独具特色的戏曲艺术形式——川剧。川剧,这个被誉为“天府之花”的戏曲剧种,以它丰富的剧目、多样的声腔、独特的表演,在中国戏剧舞台上独树一帜,成为巴蜀之地的又一骄傲。
          </p>
          <p>
            四是亲切性。鉴于航空服务工作的特点和性质,服务用语要亲切、简洁。例如:“欢迎您乘坐本次航班!”“请问您想喝点什么?”“让您久等了。”“您的脸色不太好,请问您有哪儿不舒服吗?”“谢谢您对我们的服务提出的宝贵意见,我一定把您的意见反馈给公司。”亲切简洁的话语可以大大提高旅客的满意度。
          </p>
          <p>
            五是委婉性。航空服务沟通讲究艺术的说话方式。在与旅客对话时,一般情况下要采用询问式、请求式、商量式、解释式等恰当的说话方式。因工作需要或条件限制而需要拒绝旅客时,也要尽量用委婉的表达方式,不允许使用命令式的语气与旅客交流。
          </p>
          <p>另外,在语言沟通过程中要尽量做到以下几点。</p>
          <p>
            第一,言而有礼。这是在交谈中需要做好的第一步。任何人都希望能和彬彬有
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="11">
      <div v-if="showPageList.indexOf(11) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">042</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <p class="td-0 p-even">
            礼的人交流。谦逊的态度、友好的语气可以为交谈营造和谐、愉快的氛围,在“您好”“请”“对不起”“打搅了”“再见”等一些非常简单的礼貌用语的细节上千万不能忽视,它们也许能在交流过程中帮助我们提高自己的印象分。
          </p>
          <p class="p-even">
            第二,言而有序。言而有序,主要强调的是谈话的层次,即交谈要有逻辑性。这一点在工作中尤为重要。我们不难发现,身边被公认为干练的同事或者领导,他们在与人交谈时通常思路清晰、言而有序、表达得体明确。要知道,在服务工作中,口头表达能力能反映一个人的能力水平。说话没有重点、语言支离破碎、想到哪儿说到哪儿,只会让人觉得这个人说话杂乱无章、思路混乱。所以,交谈时要想好先讲什么,后讲什么,思路要清晰,内容要有条理,布局要合理。
          </p>
          <p class="p-even">
            第三,言而有信。自古以来,诚信一直是被人们赞赏和推崇的品格。大到企业,小到个人,诚信都是安身立命之本。尤其是在职场上,一个言出必行、说到做到的人总能得到更多人的欣赏与信任。同样,在与人的交谈中,真诚、谦逊、踏实的语言也会增强他人的信服感。在言而有信方面,要把握好三点:一是出言要慎,二是努力信守,三是讲究道德。一件自己没有把握做到的事情,怎么能信誓旦旦地许下承诺呢?不做没有把握的事情,不做没有把握的承诺,也是讲求诚信的重要表现。
          </p>
          <h3 id="c016 ">
            <span class="h3-zt p-even">二、</span
            ><span class="h3-zt1">说服</span>
          </h3>
          <img
              class="img-k openImgBox"
              src="../../assets/images/0054-1.jpg"
              align="right"
              hspace="5"
            />
          <p class="p-even">
            每个人都是独立的个体,对每件事情的看法也会有差异,即使是志同道合的挚友,也不可能做到事事认识、见解永远完全一致。在一些情况下,若要取得一致,就要努力说服对方。能够有效地说服别人,也是航空服务工作的重要组成部分。
          </p>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">怎样说服别人</span></p>
            <p>
              有一天,北风与太阳为了谁的力量大而争论不休。它们决定,谁能让行人
            </p>
          </div>
        </div>
      </div>
    </div>
    <div class="page-box" page="12">
      <div v-if="showPageList.indexOf(12) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">043</li>
        </ul>
        <div class="bodystyle">
          <div class="bj2">
            <p class="td-0">脱下衣服,谁就胜利。</p>
            <p>
              北风一开始就猛烈地刮,路上的行人都裹紧了自己的衣服。北风见状,刮得更猛了;行人冷得发抖,便添加更多的衣服。北风疲倦了,便让位给太阳。
            </p>
            <p>
              太阳只是缓缓地发热,将温和的阳光洒向行人。行人感到暖洋洋的,便脱掉了厚厚的衣服。
            </p>
            <p>
              由此类推,如果要说服一个人,先要了解他的想法,然后引导对方将你希望的结果和他自己的想法挂钩。这样的说服往往能让对方感到舒适并心甘情愿地接受。
            </p>
          </div>
          <p>(一)说服的原则</p>
          <p>1.尊重对方,建立信任</p>
          <p>
            在日常工作中,我们和对方的意见不合时,切莫表现出敌意。无论是表情,还是行动、说话,都应努力表现出尊重对方。只有取得了对方的信任,说服才能有效地进行下去。说服是平等交流的语言艺术,如果用盛气凌人、居高临下的态度,谁也不能接受。如果不尊重对方,这样的说服只能招来逆反情绪,不可能使意见达成一致。只有尊重对方,建立起信任的关系,才能得到别人的接纳与认同,从而为说服打下良好的基础。
          </p>
          <p>2.坚持双赢</p>
          <p>
            说服别人接受我们的观点,必然会使对方放弃原先所坚持的原则和看法。
            而在大多数时候,对方不愿意接受我们的观点的原因是感受到了改变与被迫。因此,在说服的过程中要坚持双赢的原则,让对方感到接受了我们的观点也能给他带来利益,而非因为改变而有所损失。我们要让对方认识到,双方都是为着同一个目标而努力,只是在方式和方法上有所区别。
          </p>
          <p>3.心平气和,不要急于求成</p>
          <p>
            “心急吃不了热豆腐。”说服别人转变思想、接受不同的观点不是一件简单的事情。在说服的过程中,由于意见不统一,可能会激化矛盾。在旅客情绪激动的情况下,乘务员就需要心平气和,不能急于求成,而要耐心细致、稳扎稳打。这样往往能得到更多有用的信息,借助这些信息安抚旅客的情绪,更易解决问题。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="13">
      <div v-if="showPageList.indexOf(13) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">044</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <p>(二)说服的方法</p>
          <p>
            成功地说服别人并不是件轻而易举的事。我们在试图说服对方时不要急于求成,可以“循序渐进”。说服的前提是有足够的信任,因此要先获取对方的信任,再逐步说服对方。可以先由对方不经意的问题切入,再循序渐进、步步深入,从而逐渐引向实质性问题,使对方跟随我们层层推论的思维轨迹,渐渐接受我们所讲的事理。
          </p>
          <p>在具体的工作情境中,说服主要有以下几种方法。</p>
          <p>1.融情动心法</p>
          <p>
            “动人心者莫先于情。”冰冷的态度、公事公办的言辞,都会引起对方的逆反心理。在服务工作中,我们需要旅客配合时,都要先获取旅客的信任与支持。这时,为旅客提供一些帮助,引导对方倾诉自己的烦恼,都可以快速拉近我们与旅客的距离,从而让旅客积极配合我们的工作。没有心理上的沟通做基础,即使有理,也很难顺利达到说服的目的。
          </p>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">语言的差异</span></p>
            <p>
              一位乘务长沉着脸对一个迟到了一分钟的乘务员厉声说:“迟到了!扣钱!”把迟到的乘务员说哭了。
            </p>
            <p>
              另一位乘务长在同样的情况下说:“你这丝巾今天打得真不错。但是迟到啦,赶紧去把落下的工作补上。”
            </p>
            <p>
              还有一位乘务长细声细语地说:“别着急,看你跑得上气不接下气,准是有什么急事耽误了吧,赶紧工作。”
            </p>
            <p>
              三位乘务长的目的都是一样的,可是语言的差异却使得结果完全不同。第一位明显非常消极。第二位不仅批评了,还落在了实际工作上。第三位关怀备至,让人感动。
            </p>
          </div>
          <p>2.借此说彼法</p>
          <p>
            借此说彼是指利用两个事物之间的某一相似点,借甲事物说明乙事物,这种方法往往通俗易懂而且具有很强的说服力,十分适合表达自己的感同身受。常见的如航空服务人员在航班延误时,向旅客表示身为航空服务人员也经常遭遇航班延误的
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="14">
      <div v-if="showPageList.indexOf(14) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">045</li>
        </ul>
        <div class="bodystyle">
          <p class="td-0">
            情况,非常影响工作、生活,然后介绍自己在这种情况下通常如何处理好事情、安排好工作。这样,就不是站在旅客的对立面,而是和旅客站在“同一边”,就能让旅客更好地接纳自己,往往可以顺利地把旅客向解决眼下的问题的方向上引导,这有助于更好地完成旅客安抚工作。
          </p>
          <p>3.以退为进</p>
          <p>
            在说服别人时,要先站在别人的立场上,以退为进,循循善诱,最终达到目的。这种方法需要从别人的利益的角度出发,同时把握住自己的观点和原则,秉承着温柔且坚定的态度,不可一味后退。我们要态度柔和地传达自身坚定的立场,否则就容易被别人说服。
          </p>
          <p>4.旁敲侧击法</p>
          <p class="db-box">
            <span>
              说服不一定全都采取直接出击的方法,可以旁敲侧击、暗示别人,先避开自己的观点,和对方围绕相关话题展开讨论,这也是行之有效的方法之一。旁敲侧击法如果用得恰到好处,能使人很快接受我们的观点,并且心悦诚服。
            </span>
            <img class="img-b openImgBox" alt="" src="../../assets/images/0057-1.jpg" />
          </p>
          <p>5.巧借名言法</p>
          <p>
            名言是人类几千年来智慧的结晶。短小精悍的名言准确、精练、一语中的,引用名言来说服别人,具有权威性,能起到很好的效果。
          </p>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">一杯水平息一场风波</span></p>
            <p>
              某航班因机械故障延误。当时正值酷暑,旅客被闷在客舱里,没有空调,旅客的情绪随着气温的升高不断变差。看到这种情景,乘务员一边大声地要求旅客安静,一边安抚旅客,可乘务员的说话声完全被淹没在吵闹声中。一名男旅客按捺不住,使劲按呼叫铃。乘务员急忙走过去,蹲下身问他:“先生,您有什么需要我帮忙的吗?天这么热,您先坐下来休息休息,喝杯水好吗?”然后对他微微地笑了笑,那位旅客先是愣了一下,意识到自己失态后,赶紧接过乘务员的水,喝了起来,并回了声:“谢谢!”其他旅客看到这样的情景,意识到自己也口干舌燥了,于是纷纷向乘务员要求提供饮料,乘务员愉快地答应了,一场风波就这样很快平息下来。
            </p>
          </div>
          <div class="bk2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">拓展视频▼</span></p>
            </div>
            <!-- 视频 -->
            <ul class="videos-box">
              <li>
                <video
                  :src="videos[0].url"
                  webkit-playsinline="true"
                  x-webkit-airplay="true"
                  playsinline="true"
                  x5-video-orientation="h5"
                  x5-video-player-fullscreen="true"
                  x5-playsinline=""
                  controls
                  controlslist="nodownload"
                  class="video-border w100"
                ></video>
                <p class="img fl al-cn ju-cn">
                  <span>{{ videos[0].name }}</span>
                  <img
                    :src="
                      collectResourceList.includes(videos[0].md5)
                        ? collectCheck
                        : collectImg
                    "
                    alt=""
                    class="collect-btn"
                    @click="handleCollect(0)"
                  />
                </p>
              </li>
              <li>
                <video
                  :src="videos[1].url"
                  webkit-playsinline="true"
                  x-webkit-airplay="true"
                  playsinline="true"
                  x5-video-orientation="h5"
                  x5-video-player-fullscreen="true"
                  x5-playsinline=""
                  controls
                  controlslist="nodownload"
                  class="video-border w100"
                ></video>
                <p class="img fl al-cn ju-cn">
                  <span>{{ videos[1].name }}</span>
                  <img
                    :src="
                      collectResourceList.includes(videos[1].md5)
                        ? collectCheck
                        : collectImg
                    "
                    alt=""
                    class="collect-btn"
                    @click="handleCollect(1)"
                  />
                </p>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </div>
    <div class="page-box" page="15">
      <div v-if="showPageList.indexOf(15) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">046</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <h3 id="c001" class="p-even">任务五<br />特殊情况的沟通</h3>
          <div class="task ma-l"></div>
          <p class="p-even">
            航空服务人员在工作中可能会遇到一些特殊情况,如旅客间发生矛盾、遇到紧急情况、旅客违规、飞机延误等。航空服务人员需要具备处理这些特殊情况的能力。
          </p>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center">
              <span class="zt-ls1">“能不能把飞机叫回来?能不能帮帮我们?”</span>
            </p>
            <p>
              <img
                class="img-e openImgBox"
                alt=""
                src="../../assets/images/0058-1.jpg"
                align="right"
                width="120"
                hspace="5"
                vspace="1"
              />
              这是2021年4月30日深夜和田机场南方航空公司营业处几位旅客焦急求助的话语。当天,新疆和田一名7岁男孩因手臂被拖拉机绞断,需紧急前往乌鲁木齐进行接臂手术,然而当天最后一班由和田飞往乌鲁木齐的航班已按计划推出廊桥,准备滑行起飞。经过沟通协调,飞机为了男孩二次开门,让男孩顺利登机,及时得到了治疗,完成了接臂手术,身体恢复状况良好。
            </p>
            <p>
              在这次事件的处理过程中,航空公司、机组人员、旅客,都表现出了对生命高度的尊重。断肢再植是有时限的,并且需要适宜的温度。救助断肢男孩是真正在与时间赛跑。
            </p>
            <p>
              在这个“赛跑期”,机场工作人员协调航线,机组沟通旅客,101名旅客没有一个人不愿意,整个过程真正做到了以人为本。素不相识的人愿意在规则之外考虑人情,用最短的时间,一起救助了一个孩子。
            </p>
          </div>
          <p class="p-even">
            航空服务人员除了要有渊博的知识、诚恳的服务态度、专业的服务技能,还要掌握一些特殊情况下的沟通技巧,要用爱心和智慧扮演满足旅客需要的角色。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="16">
      <div v-if="showPageList.indexOf(16) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">047</li>
        </ul>
        <div class="bodystyle">
          <h3 id="c017">
            <span class="h3-zt">一、</span
            ><span class="h3-zt1">特殊情况下的沟通技巧</span>
          </h3>
          <h4 id="d032">(一)回答敏感或尴尬问题的技巧</h4>
          <p>
            旅客来自不同的地方,有着不同的兴趣爱好,提出的问题也是五花八门,在这样的情况下,是否掌握一定的回答问题的技巧也就成为衡量航空服务人员沟通能力高低的一个标准。航空服务人员在回答问题时,对于原则性问题要做到是非分明,如在回答一些涉及民族尊严、国家形象的问题时,一定要坚持原则,给予明确的回答。对于旅客提出的比较刁钻的问题,可采取“曲线回避”的方式回复旅客,比如可采用反问的方式,把问题返给对方。例如,一次飞机在途经河北承德时,有一名外国旅客问:“承德以前是蒙古族居住的地方,因为它在长城以外,对吗?”乘务员回答:“是的,现在承德的某个村落还是蒙古语名字。”该旅客又问:“那么,可不可以这样说,现在汉族侵略了蒙古族的地盘呢?”乘务员回答:“不,这应该叫民族交融。中国的北方有汉族人,同样南方也有蒙古族人。就像很多国家一样,中国是一个多民族国家,这是多种原因造成的,并不是侵略。”
          </p>
          <h4 id="d033">(二)旅客之间发生纠纷的调解技巧</h4>
          <p>
            旅客之间发生纠纷时,航空服务人员不可置之不理,而应该视情况采用一定的调解技巧,帮助旅客解决纠纷。这些技巧包括保持冷静、耐心聆听、寻找共同利益、建立信任、适当妥协等。
          </p>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">巧语应变</span></p>
            <p>
              乘务员小王刚给坐在43C的旅客加好茶水,放在小桌板上,没想到就被坐在42C的旅客重重放下的座椅靠背碰倒了。这杯水直接洒在了43C旅客的大腿上,上半部分裤腿都湿了,而坐在42C的旅客还不知道身后发生的事情,依旧安然地休息着。坐在43C的旅客十分生气,伸手就准备去推椅背,要和前排的
            </p>
            <p>
              <img
                class="openImgBox"
                width="36%"
                src="../../assets/images/0059-1.jpg"
                align="right"
                hspace="5"
                vspace="1"
              />
              旅客理论,这一幕恰好被小王尽收眼底,她及时拦住了坐在43C的旅客的手,并赶紧用手中的小毛巾帮他擦拭,同时说道:“这位先生,怎么称呼您?这个小失误烦请您多担待,我们会给您一个满意的结果,谢谢您的配合。希望通过这个插曲,有缘与您相识。”旅客听后不禁称赞道:“你可真会说话啊!”小王
            </p>
          </div>
        </div>
      </div>
    </div>
    <div class="page-box" page="17">
      <div v-if="showPageList.indexOf(17) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">048</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <div class="bj2">
            <p class="td-0">
              接着说:“俗话说,‘百年修得同船渡’,咱们这一飞机的可都是有缘人啊,您千万别往心里去。您有备用的裤子吗?我带您去卫生间更换一下吧。”这位旅客听完后,一个劲地说:“我没事,没事,麻烦你啦。”最后这位旅客表示要在意见本上对小王的服务进行表扬。前面的旅客听到了这番对话,知道跟自己有关,十分不好意思地进行了道歉。乘务员的巧语应变就这样为出现无心之失的旅客提供了台阶,化解了一次争端,赢得了皆大欢喜的局面。
            </p>
          </div>
          <h4 id="d034">
            (三)及时为旅客传递各种信息,把服务做在旅客开口之前
          </h4>
          <p>
            及时是一种明察秋毫的能力,具体表现为及时发现旅客的细小变化,用心体贴,善解人意,急旅客之所急,想旅客之所想,甚至在旅客本人还未明确意识到他所需要的服务时,就主动为旅客提供相关服务,帮助旅客解决他所面临的问题。优秀的航空服务人员能够与旅客取得心灵上的沟通,从而让旅客满意,并让旅客感到温馨。
          </p>
          <h4 id="d035">(四)严肃对待旅客间的矛盾</h4>
          <p>
            在飞机上发生肢体冲突不是一件小事,而是影响飞行安全的大事。每一架飞机在起飞前,人员配比、货物装载状况都要经过严格的测算,尽量让飞机在飞行时保持平衡姿态。一旦飞机上有旅客发生激烈的肢体冲突,如果再加上几个人劝架,飞机的平衡姿态就可能会受到影响,严重时甚至可能导致飞机失事。
          </p>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center">
              <span class="zt-ls1">旅客打架,请做好劝解工作</span>
            </p>
            <p>
              某日上午,某机场警方接到报警,某航空公司航班机组人员称,正在飞行、预计9时40分许降落武汉的飞机上,有五名旅客在打架。
            </p>
            <p>
              <img
                class="img-e openImgBox"
                alt=""
                src="../../assets/images/0060-1.jpg"
                style="float: left"
              />
              在航班到达后,航站楼派出所民警第一时间与该航班的安全员取得联系,得知本次航班由昆明飞往沈阳,经停武汉,该航班在飞行过程中,旅客刘女士与四名旅客发生冲突。安全员先后几次将双方拉开,都无法制止。最后,飞机上其他旅客
            </p>
          </div>
        </div>
      </div>
    </div>
    <div class="page-box" page="18">
      <div v-if="showPageList.indexOf(18) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">049</li>
        </ul>
        <div class="bodystyle">
          <div class="bj2">
            <p class="td-0">
              参与劝解,双方才暂时“停火”。安全员只好一直坐在刘女士旁边,以保证她的安全。在飞机抵达武汉后,机长考虑到飞机飞行的安全,将五名打架的旅客请下了飞机,移交给机场公安机关处理,并告知警方,他已取消这五名旅客乘坐该航班的资格。
            </p>
          </div>
          <h3 id="c018">
            <span class="h3-zt">二、</span
            ><span class="h3-zt1">处理冲突的原则</span>
          </h3>
          <h4 id="d036">(一)冷静热情</h4>
          <p>
            冷静:面对冲突时要做到头脑冷静,不感情用事,要行为理智,情绪稳定,泰然处之,不急躁,不暴跳如雷,不唇枪舌剑。
          </p>
          <div>
            <img class="openImgBox"  src="../../assets/images/0061-1.jpg" align="right" width="35%" />
            <p>热情:态度热情,不冷落,不指责。</p>
            <h4 id="d037">(二)诚信尊重 </h4>
            <p>诚信:对公司负责,对旅客负责,对社会负责。</p>
            <p>尊重:敬人者,人恒敬之,要尊重每一位旅客。</p>
          </div>
          <h4 id="d038">(三)合法依章</h4>
          <p>处理冲突时,要依据航空法律、法规以及航空公司各类规章制度。</p>
          <div>
            <img class="openImgBox" src="../../assets/images/0061-2.jpg" align="left" width="35%" hspace="10"  />
          </div>
          <h4 id="d039">(四)宽容友善</h4>
          <p class="pr-15" >
            在人际交往过程中,要能够体会他人的情绪和想法,理解他人的立场和感受并站在他人的角度思考和处理问题,也就是换位思考、设身处地、将心比心。它包括:①遇到问题要尽量了解并重视旅客的想法,这样就能更容易地找到解决方案,尤其是在发生纠纷或误解时,如果能把自己放在旅客的处境中想一想,也许就可以了解旅客的立场和初衷,进而求同存异、解决纠纷或消除误解。②理解旅客,倾听和了解旅客的需求,站在旅客的角度看问题,体谅旅客,实现有效沟通。在解决问题时可适当幽默,态度应真诚友善。
          </p>
          <p>听音辨形——听:善于聆听。</p>
          <p>语言礼貌得体——说:适当幽默。</p>
          <p>态度真诚友善。</p>
        </div>
      </div>
    </div>
    <div class="page-box" page="19">
      <div v-if="showPageList.indexOf(19) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">050</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <h3 id="c019" class="p-even" >
            <span class="h3-zt">三、</span
            ><span class="h3-zt1">调解纠纷的各种技巧</span>
          </h3>
          <h4 id="d040" class="p-even">(一)同理心法</h4>
          <p class="p-even">
            顾名思义,同理心法就是通过语言和行为举止的沟通方式向旅客表达遗憾、同情,特别需要强调的是,这是在旅客感到愤怒和委屈时的一种精神安慰方法。
          </p>
          <p class="p-even">用语举例:</p>
          <p class="p-even">·我能明白您为什么觉得那样……</p>
          <p class="p-even">·我能理解您现在的感受……</p>
          <p class="p-even">·那一定非常难过……</p>
          <p class="p-even">·我对此感到遗憾……</p>
          <img class="img-k openImgBox" src="../../assets/images/0062-1.jpg" align="left" hspace="5" />
          <h4 id="d041">(二)“三明治法”</h4>
          <p>
            “三明治法”是与旅客沟通时避免说“不”的方法,适用于与旅客协商解决方案和旅客对解决方案不满意等情况。
          </p>
          <p>三明治即两片面包夹火腿。“三明治法”就是两片“面包”夹拒绝。</p>
          <p>
            第一片“面包”是“我可以做的是……”,意在告诉旅客,你会想尽一切方法来帮助他,你可以提供一些可选择的行动给旅客,虽然这些可能不是他想要的,但有助于减轻旅客沮丧的心理感觉。
          </p>
          <p>
            第二片“面包”是“您能做的是……”,意在告诉旅客,你已控制了一些情况的结果,同时向旅客提出一些可行的建议,供旅客参考。
          </p>
          <img class="img-k openImgBox" src="../../assets/images/0062-2.jpg" align="left"  hspace="5" />
          <h4 id="d042">(三)谅解法</h4>
          <p>
            谅解法是一种向旅客表示歉意,安抚其情绪,尽量用旅客能够接受的方式取得旅客的谅解的方法。
          </p>
          <p>
            谅解法使用的技巧就在于沟通时以同意取代反对,以更好地与旅客沟通,从而获得旅客的认同。这种方法适用于与旅客协商解决方案和旅客对解决方案不满意等情况。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="20">
      <div v-if="showPageList.indexOf(20) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">051</li>
        </ul>
        <div class="bodystyle">
          <p>用语举例:</p>
          <p>·避免说:“您说得很有道理,但是……”</p>
          <p>·可以说:“我很同意您的观点,同时我们考虑到……”</p>
          <h4 id="d043">(四)紧急情况下的说服技巧</h4>
          <p>
            说服不是件容易的事情,可能遇到种种有形、无形的抗拒。对航班上出现不规范行为的旅客,要说服其有效改正,这不仅要求说服者的人品令人信服,而且要以对方关心的事为话题,符合对方的理解思路。一般来说,应从赞赏和鼓励开始,给对方留有面子,让对方能够理解说服者的难处和航空公司的规定,要使谈话的气氛保持融洽。
          </p>
          <h4 id="d044">(五)对违规旅客的说服技巧</h4>
          <img class="img-l openImgBox" src="../../assets/images/0063-1.jpg" align="right"  hspace="5"  />
          <p>
            在旅客违反安全规定时,要及时制止,还要注意方法,尽量避免激化矛盾,否则只会造成更多冲突。
          </p>
          <p>
            例如,按照航空公司的规定,不允许私自穿救生衣。可有的旅客在乘务员演示时会非常好奇,想要把救生衣拿出来,这时乘务员要立即制止并进行说服教育,说明利害关系。可先从旅客的角度入手:“这位旅客,您好!我很理解您对飞机非常好奇的感觉。这种救生衣是一次性用品,您打开后这件救生衣就报废了,在飞机遇到危急情况时,您和他人的生命安全就得不到保证了。”
          </p>
          <img class="img-l openImgBox" alt="" src="../../assets/images/0063-2.jpg" align="right"  hspace="5"  />
          <p>
            处理手段应视旅客行为带来的后果(是否危及飞行)及旅客行为的性质(无意或有意)而定。
          </p>
          <p>
            乘务员在迎客时应注意观察,及时制止旅客的不当行为。比如,如果旅客已经将机上的设备拿下来,放了自己的行李,乘务员应巧妙地询问行李的主人是谁,然后帮他找一个妥善的位置放置行李,最后礼貌地向他解释此位置的特殊用途,以征得旅客的理解和配合。在处理事情时应顾全大局,把握好“度”。在自己能力范围内,可以自行解决的,可事后向机长汇报,以免干扰机长的正常工作,避免因处置过度而造成航班延误。
          </p>
          <h4 id="d045">(六)处理飞机延误的技巧</h4>
          <p>
            在飞机延误时,旅客的情绪普遍烦躁,乘务员要用加倍周到的服务来缓解旅客的烦躁。同时,要在解释的过程中阐明航空公司以安全为根本,以求得旅客的理解和支持。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="21">
      <div v-if="showPageList.indexOf(21) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">052</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center">
              <span class="zt-ls1">乘务长这样处理航班延误</span>
            </p>
            <p>飞机顺利降落,客舱里再一次响起了乘务长的声音。不过这次,她没有使用机载播音设备,而是站在了和第一排平行的人行通道里对所有旅客说话,声音不大,但异常清晰:“我代表本次航班的所有工作人员感谢您乘坐××航空</p>
            <p class="center">
              <img class="img-k openImgBox" src="../../assets/images/0064-1.jpg" align="right"  hspace="5" />
            </p>
            <p class="td-0" >
              公司的班机,对本次航班的延误和服务不周到的地方,我们向您表示歉意并欢迎您再次乘坐××航空公司的班机,再见!”说完,她向旅客们深深地鞠了一躬。旅客们都愣了一下,紧接着,客舱内响起了一阵热烈的掌声。
            </p>
          </div>
          <p class="center">
            <img class="img-k openImgBox" src="../../assets/images/0064-2.jpg" align="left"  hspace="5" />
          </p>
          <h4 id="d046">(七)与病人沟通的技巧</h4>
          <p>
            乘务员在与病人进行沟通时一定要讲究技巧,多给予对方关心和鼓励。比如,有经验的乘务员往往会说:“不用担心,我们会像医护人员一样照顾你。”
          </p>
          <h4 id="d047">(八)与特殊旅客沟通的技巧</h4>
          <p>
            飞机上有各种各样的旅客:孤身一人的老年人、无成人陪伴的儿童、带小孩的旅客、孕妇、残疾旅客以及其他特殊旅客等。做好这些旅客的服务工作,让他们的亲人在送他们上飞机后放心,使他们安全到达目的地,是一名合格的航空服务人员的职责。把服务做在旅客开口之前,即使他们没想到,也要细心地去发现,尽力做到贴心、周详。
          </p>
          <p>
            与老年旅客沟通时,主动询问并热情帮助老年旅客上下飞机(对身体较好的老年旅客以及外国旅客要视情况而定)。
          </p>
          <p>
            在飞行途中,应注意观察老年人,在与老年人说话时,语速要慢一些,讲解要详细一些,身体要离老年人近一些(同时注意不要因为声音太大而影响其他旅客)。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="22">
      <div v-if="showPageList.indexOf(22) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">053</li>
        </ul>
        <div class="bodystyle">
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">你们的服务很好</span></p>
            <p>
              在某航班上,旅客开始登机,乘务员站在前舱迎客,看见一位老奶奶提着一个大箱子艰难地走进来。乘务员立即迎上去:“奶奶,能让我看一下您的登机牌吗?我帮您放行李好吗?”老奶奶点头同意后,乘务员引导她来到她的座位上,然后把箱子举起来,放到行李架里。老奶奶连声说谢谢,还说箱子太沉了。乘务员笑着回应:“没事,不太沉,奶奶您先坐着,有事您可以按呼叫铃叫我们,好吗?”老奶奶笑着点头答应。看老人这么开心,乘务员由衷地松了
            </p>
            <p class="center">
              <img class="img-k openImgBox" alt="" src="../../assets/images/0065-1.jpg" align="right"  hspace="5" />
            </p>
            <p class="td-0" >口气。在航班到达目的地的20分钟前,老奶奶要求给她一张意见卡,周围的旅客也纷纷索要。在收卡的时候,乘务员特意看了看老奶奶的,只见上面写着:“客舱服务很好,乘务员热情周到。当我看见一个小姑娘把我那个重重的大箱子吃力地放到行李架里时,我很心疼,真的心疼。你们的服务很好。”</p>
          </div>
          <p>
            与一般搭乘航班的成人旅客不同,儿童在搭乘航班时需要当班机组的乘务员更多的协助、关心与照顾。广义的儿童旅客分为四类:婴儿旅客、有成人陪伴的儿童旅客、航空公司受托照顾的无成人陪伴的儿童旅客和其他需要特殊照顾的儿童旅客。狭义的儿童旅客不包括婴儿旅客。
          </p>
          <p class="center">
            <img class="img-k openImgBox" src="../../assets/images/0065-2.jpg"  align="right"  hspace="5"  />
          </p>
          <p>
            婴儿旅客(各航空公司对婴儿旅客年龄的规定有一定的差别)基本上是由父母等陪同出行的,因此相对来说不会给乘务员的工作带来太大的压力。不过,对婴儿旅客的照顾,乘务员还是需要注意一些。
          </p>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">婴儿旅客的客舱服务</span></p>
            <p>
              如果航班上有婴儿旅客,在旅客登机后,乘务员要在第一时间向其父母(或随行旅客)客气地询问在飞行期间的客舱服务过程中有没有需要特别注意的问题(如奶瓶冲灌、临时婴儿用睡品等)。提前了解这些问题,对中、长途
            </p>
          </div>
        </div>
      </div>
    </div>
    <div class="page-box" page="23">
      <div v-if="showPageList.indexOf(23) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">054</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <div class="bj2">
            <p class="td-0">航班上的婴儿旅客服务工作来说尤为重要。</p>
            <p>
              在飞机起飞后,要在第一时间向其父母(或随行旅客)客气地询问婴儿的冷暖情况,以便第一时间为婴儿旅客添加婴儿用睡毯等保暖品。
            </p>
            <p>
              在飞机起飞后,如带婴儿的旅客打开了婴儿专用的睡车或睡篮,一定要注意保证睡车或睡篮固定牢固,还要注意在此过程中将其噪声降至最低,以免打扰周边旅客。
            </p>
            <p>
              在为带婴儿的旅客准备所需要的饮品(或餐食)时,要尤其注意加热时间、味道及餐饮器具等方面。要特别注意,一定不要把婴儿的餐饮物加热时间太长,以免造成烫伤等问题,而且一定要避免使用锋利的餐饮器具。
            </p>
            <p>
              在飞行过程中,要每隔一段时间向其父母(或随行旅客)客气地询问有无需要帮忙的地方,但同时不要过多打扰其父母(或随行旅客)及周围旅客。
            </p>
            <p>
              在飞机上,一旦听到婴儿旅客哭泣或有其他异样声响,乘务员应该第一时间前往查看,以便能在最短的时间内为其提供相应的服务或所需物品。
            </p>
            <p>
              在婴儿旅客的父母(或随行旅客)入睡或上洗手间期间,乘务员要帮忙照看婴儿旅客,以免出现问题。
            </p>
            <p>
              在乘务员送餐、饮品或其他物品经过婴儿旅客时,要注意尽量将声音降至最低,更要对婴儿旅客的安全多加留意,要百分之百避免诸如手中物品不小心掉落并砸压在婴儿旅客身体任何部位等事件的发生。
            </p>
            <p>
              在航班降落前,如婴儿旅客仍在使用专用睡车或睡篮,要跟其父母(或随行旅客)做好解释工作,及时将睡车或睡篮收放好,以保证降落安全。
            </p>
            <p>
              在航班降落后,如果婴儿旅客的父母(或随行旅客)同意,应尽量安排他们最后下飞机,以免在下机过程中对婴儿造成意外伤害。此外,在其他旅客下机过程中,应提醒其父母(或随行旅客)将婴儿安置在不靠近机舱过道的座位上,以免在其他旅客下机的过程中出现任何意外。
            </p>
          </div>
          <p>
            与婴儿旅客有很大的差别,绝大部分儿童旅客可以独立进食或活动,因此,他们基本上不需要乘务员提供类似于“婴儿托护”的服务。此外,那些有成人陪伴的儿童旅客,一般也不会在机舱内制造太多噪声或影响其他旅客。所以,从客舱服务的角度看,在儿童旅客中,他们相对来说是较好照顾的群体。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="24">
      <div v-if="showPageList.indexOf(24) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">055</li>
        </ul>
        <div class="bodystyle">
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">儿童旅客的客舱服务</span></p>
            <p>
              在登机后,乘务员应及时向带儿童旅客的父母(或随行旅客)客气地询问在飞行期间的客舱服务中,有没有需要特别注意的问题(如是否需要特定的饮品等),要提前了解这些问题,这在中、长途航班上尤为重要。
            </p>
            <p>
              在登机后,要第一时间向儿童旅客赠送航空公司专为儿童旅客准备的礼品(可根据实际情况而定,某些航空公司没有此类物品)。
            </p>
            <p>
              不要将带儿童的旅客安排在靠近紧急出口和应急窗口的位置上。在飞机起飞前,应向儿童旅客或其父母(或随行旅客)询问是否需要口香糖等有助于缓解耳鸣的物品,并要提醒其系好安全带。
            </p>
            <p>
              在飞机起飞后,要每隔一段时间向儿童旅客本人或其父母(或随行旅客)询问是否有任何需要。
            </p>
            <p>
              在提供餐食时要征求其父母(或随行旅客)的意见。要注意不要配备太过锋利或可能对儿童造成伤害的餐饮器具,而且餐食温度要尽量适中。另外,对儿童旅客所需要的饮品,注意提供大约为所用杯子的一半容量即可(各个航空公司不太一样,一般旅客在70%左右比较合适),以免出现不小心碰洒等情况。
            </p>
          </div>
          <p>
            在高空飞行过程中,空气中氧气减少,气压降低,因此孕妇乘机需要一定的限制条件。
          </p>
          <p>
            怀孕32周或不足32周的孕妇乘机,除医生诊断不适宜乘机者外,可按一般旅客运输。
          </p>
          <p>
            怀孕超过32周的孕妇乘机,应提供包括旅客姓名、年龄、怀孕时间、旅行航程和日期、是否适宜乘机、在机上是否需要提供其他特殊照顾等内容的医生诊断证明。
          </p>
          <p>
            对于预产期在4周以内,或预产期不确定但已知为多胎分娩或预计有分娩并发症者,不予接受运输。
          </p>
          <p>
            乘务员在工作中会接触到残疾人及残疾人服务者,要为他们提供贴心的服务。例如,航空服务人员在工作中应重视对聋哑旅客的关爱,可以学习一些必要的手语,构建与聋哑旅客沟通的桥梁。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="25">
      <div v-if="showPageList.indexOf(25) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">056</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center">
              <span class="zt-ls1">关于盲人旅客的几条规定</span>
            </p>
            <p>
              盲人旅客是指双目失明的旅客。每一航班的每一航段上,对无导盲犬引路的盲人旅客的数量有一定的限制,由座位控制部门负责管理和限制盲人旅客的接收人数。
            </p>
            <p>
              有人陪伴(只限以成人旅客陪伴同行)的盲人旅客按普通旅客接受运输。
            </p>
            <p>
              有导盲犬引路的盲人旅客可携带导盲犬乘机,具备乘机条件的盲人旅客应向相关部门提供导盲犬的身份证明和检疫证明,导盲犬和旅客一样,必须接受安全检查。
            </p>
          </div>
          <h3 id="c020" class="p-even" >
            <span class="h3-zt">四、</span
            ><span class="h3-zt1">如何为旅客服务</span>
          </h3>
          <h4 id="d048" class="p-even" >(一)耐心多一点</h4>
          <p class="p-even" >
            在实际的工作中,航空服务人员要耐心聆听,不要轻易打断旅客的叙述,更不要批评旅客的不足,要鼓励旅客进行倾诉,让他们尽情宣泄心中的不满。在耐心听完旅客的倾诉和抱怨后,旅客自然就能够听进去服务人员的解释和道歉了。
          </p>
          <p class="center">
            <img class="img-c openImgBox" alt="" src="../../assets/images/0068-1.jpg" />
          </p>
          <h4 id="d049" class="p-even" >(二)态度好一点</h4>
          <p class="p-even">旅客有抱怨或投诉意味着旅客对企业的产品或服务不满意。航空服务</p>
          <p class="center">
            <img class="img-k openImgBox" alt="" src="../../assets/images/0068-2.jpg" align="left" hspace="5"  />
          </p>
          <p class="p-even td-0" >
            人员在处理的过程中如果不友好,会使旅客的心理感受及情绪变差,甚至可能恶化与旅客的关系;反之,若服务人员态度诚恳,礼貌热情,则会减弱旅客的抵触情绪。俗话说“伸手不打笑脸人”,态度谦和友好,会促使旅客平复情绪,理智地与服务人员协商处理问题。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="26">
      <div v-if="showPageList.indexOf(26) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">057</li>
        </ul>
        <div class="bodystyle">
          <h4 id="d050">(三)动作快一点</h4>
          <p>
            面对旅客提出的需要,航空服务人员应该第一时间给予解答,不能把“手头有事”当借口来推托,为自己找理由。在工作中,航空服务人员手脚要利落,争取在最短的时间内达到最佳的效果。
          </p>
          <h4 id="d051">(四)语言得体一点</h4>
          <p>
            旅客对服务不满,在发泄的陈述中有可能会言语过激,如果航空服务人员与之针锋相对,势必恶化彼此的关系。在解决问题的过程中,航空服务人员的措辞应十分注意,要合情合理,得体大方,不要说出伤人自尊的话。应尽量用委婉的语言与旅客沟通,即使旅客存在不合理的地方,也不要冲动,否则,只会让旅客失望,使问题更难解决。
          </p>
          <p class="center">
            <img class="img-k openImgBox" alt="" src="../../assets/images/0069-1.jpg" align="right" hspace="5" />
          </p>
          <h4 id="d052">(五)办法多一点</h4>
          <p>
            在处理旅客的投诉与抱怨时,不要一味地采用慰问、道歉、补偿、赠送小礼品等方式。其实解决问题的办法有很多,除上述方式外,还可邀请旅客参加机场内部讨论会,或者给他们其他补偿等。
          </p>
          <div class="bk2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">拓展视频▼</span></p>
            </div>
            <!-- 视频 -->
            <ul class="videos-box">
              <li>
                <video
                  :src="videos[2].url"
                  webkit-playsinline="true"
                  x-webkit-airplay="true"
                  playsinline="true"
                  x5-video-orientation="h5"
                  x5-video-player-fullscreen="true"
                  x5-playsinline=""
                  controls
                  controlslist="nodownload"
                  class="video-border w100"
                ></video>
                <p class="img fl al-cn ju-cn">
                  <span>{{ videos[2].name }}</span>
                  <img
                    :src="
                      collectResourceList.includes(videos[2].md5)
                        ? collectCheck
                        : collectImg
                    "
                    alt=""
                    class="collect-btn"
                    @click="handleCollect(2)"
                  />
                </p>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </div>
    <div class="page-box" page="27">
      <div v-if="showPageList.indexOf(27) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">058</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <h3 id="c001" class="p-even">任务六<br />学会如何拒绝</h3>
          <div class="task ma-l"></div>
          <p class="center">
            <img class="img-k openImgBox"  src="../../assets/images/0070-1.jpg" align="left" hspace="5" />
          </p>
          <p>
            航空服务作为一种特殊服务,对安全保障要求极高。出于安全的考虑,服务人员时常要拒绝旅客的不当甚至是无理的要求。
          </p>
          <p>
            懂得灵活运用拒绝的语言技巧,可以把拒绝带来的负面影响降到最低限度,既能够避免很多麻烦,又不会伤及对方的感情与自尊。
          </p>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">糟糕的服务</span></p>
            <p>某机场发生过这样一起事件。</p>
            <p>
              一位旅客到电子客票柜台取票,并办理改签业务。柜台服务人员确认机票已更改后,告知旅客需要交纳更改费。旅客得知后表示:“没人说过。为什么要交?”服务人员只好再三解释,但旅客依然不接受。在这样的情况下,柜台服务人员说了一句:“如果你不交更改费,你今天就不能用这张票登机。”这句话瞬间激怒了旅客,旅客最后进行了投诉。
            </p>
            <p>
              在这起事件中,虽然旅客的要求是不符合规定的,但服务人员对旅客的指责已经从根本上否定了服务。虽然投诉属于无效投诉,但对旅客的伤害是无法挽回的。改变旅客的最好方法永远是优质的服务。
            </p>
          </div>
          <h3 id="c021">
            <span class="h3-zt">一、</span
            ><span class="h3-zt1">拒绝的基本方法</span>
          </h3>
          <p>
            无论是拒绝别人还是被别人拒绝,最令人难堪的往往不是事情没办成,而是自尊被伤害,失了面子。精通拒绝的艺术的人,往往能在说“不”的同时给足对方面子,既达到自己的目的,又能与对方成为长久的好朋友。因此,要想巧妙地拒绝别人,需要掌握一些具体、实用的方法。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="28">
      <div v-if="showPageList.indexOf(28) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">059</li>
        </ul>
        <div class="bodystyle">
          <h4 id="d053">(一)迂回否定</h4>
          <p>
            对于对方提出的不合理的要求,不要急着拒绝。可以先表示对对方的肯定,表明自己可以接受他的观点,然后再迂回、委婉地表达自己的见解,提出不能认同的意见。这种柔和的拒绝方法,可以使他比较容易地接受反对的观点。
          </p>
          <p>
            在采用这种方法拒绝别人时,可以说“是的,我也这样认为,……问题是……”“对呀,……这样没错,但是……”。
          </p>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">旅客露出了笑容</span></p>
            <p>
              在某次航班上,飞机已经进入降落阶段,卫生间已经停止使用。此时,一名旅客解开安全带,向乘务员提出刚睡醒,需要上厕所的要求。乘务员耐心解释道:“您好,我们非常理解您的需求,人有三急缓不得。但是因飞机下降过程中可能产生颠簸,关闭卫生间是出于安全的考虑,所以希望您可以理解。”听到乘务员的解释,该旅客坐回了座位,但面露不悦。乘务员继续说道:“感谢您的理解,请您系好安全带,飞机降落后我会帮助您提前下机,谢谢配合。”听到乘务员的回答,这名旅客终于露出了缓和的笑容。
            </p>
          </div>
          <h4 id="d054">(二)引导进行自我归谬</h4>
          <p>
            当不好直接拒绝旅客的请求时,可以采用向对方提问,引导对方进行自我归谬的方法。首先可以提出问题,引导对方对所提要求中不合理的部分进行思考,从而得出结论,阐明后果,让对方自己否定自己的观点,进而放弃所提的要求。
          </p>
          <h4 id="d055">(三)采用委婉、模糊的语言</h4>
          <p>
            当碍于情面,无法对旅客开口说“不”的时候,可以用委婉、模糊的语言拒绝其提出的要求。这种似是而非的语言,看似回应了旅客的要求,但实际上,在反馈给他的信息中并没有实质性的内容,这样既达到了拒绝的目的,又不影响双方的人际关系。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="29">
      <div v-if="showPageList.indexOf(29) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">060</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center">
              <span class="zt-ls1">劝告旅客保持客舱安静</span>
            </p>
            <p>
              在某航班的公务舱中,用餐后灯光关闭,旅客大多开始休息。但有两名旅客各饮用了两杯威士忌,开始大声聊天,其间,后排的一名旅客也加入了聊天,声音更大了。乘务员多次提醒无果后,先把邻近座位的一家三口调离至C2舱,接着向旁边单独座位上的旅客道歉,并询问其是否需要调整座位。旅客表示不用,乘务员便建议旅客戴上耳机防噪。随后来到大声聊天的旅客身边说道:“几位旅客的业务虽然很繁忙,但是因为我们的客舱旅客大多已经休息,环境较为安静,还请注意下业务隐私,同时也照顾一下其他旅客的乘机体验。”
            </p>
            <p>
              在本案例中,航空服务人员处理的基本原则是照顾到全体旅客的感受,对不文明旅客以“劝告为主,强制为辅”,乘务组处理的基本步骤为劝告、制止、隔离、安抚。这样既照顾到了旅客的感受,又表达了坚定的立场。
            </p>
          </div>
          <h4 id="d056">(四)适当拖延</h4>
          <p>
            当不好满足旅客提出的要求时,不用明确给出答复,可以采用适当拖延的办法来拒绝。遇到这种情况,可以对旅客说:“请让我再考虑考虑。”
          </p>
          <h4 id="d057">(五)及时转移话题</h4>
          <p>
            在双方话不投机,又一时难以拒绝的时候,可以及时转移话题,聊一些轻松的话题;也可以改变谈话语气,避实就虚,将旅客的注意力引开,从而达到拒绝其要求的目的。
          </p>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">及时转移话题</span></p>
            <p>
              在厦门机场的登机口,因天气原因,部分航班取消,一名旅客情绪激动,要求航空公司给予赔偿。
            </p>
            <p>
              在民航工作中,非航空公司原因导致的航班取消是仅提供退票服务或是协助安排食宿服务的。面对情绪激动要求额外赔偿的旅客,登机口的服务人员耐心地与其进行了沟通:介绍了厦门的一些特色美食、旅游景点,建议旅客申请退票多游玩几日;如果因为等待航班身心疲惫,不妨前往酒店美美地睡上一觉,感受一下厦门清新的空气。慢慢地,该旅客的注意力被关于厦门的介绍吸
            </p>
          </div>
        </div>
      </div>
    </div>
    <div class="page-box" page="30">
      <div v-if="showPageList.indexOf(30) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">061</li>
        </ul>
        <div class="bodystyle">
          <div class="bj2">
            <p class="td-0">引了,情绪也慢慢平复了,最终事件得以顺利解决。</p>
          </div>
          <h3 id="c022">
            <span class="h3-zt">二、</span><span class="h3-zt1">拒绝的技巧</span>
          </h3>
          <p>
            在面对旅客提出的不合理要求时,航空服务人员要使用一定的拒绝技巧,做到措辞得体,态度诚恳,且要把握一定的分寸,既要回绝旅客的要求,又不让旅客处于尴尬的局面。
          </p>
          <p>
            拒绝是难免的,遭到拒绝是不愉快的,怎么拒绝才可以把种种不愉快降到最低限度,从而得到对方的谅解和认可呢?
          </p>
          <p>以下是拒绝的几种技巧。</p>
          <h4 id="d058">(一)巧用比喻</h4>
          <p>
            当面对旅客提出的不恰当要求时,可以巧妙地运用比喻的方式进行拒绝。这种拒绝方式,既能达到自己的目的,又能避免双方尴尬。
          </p>
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">巧用比喻拒绝对方</span></p>
            <p>
              曾经有一位读者看了钱锺书的《围城》后十分喜欢,打电话告诉钱锺书说自己非常仰慕他,想约钱锺书见面。钱锺书回答说:“假如你吃了一个非常不错的鸡蛋,还需要去见那只生蛋的母鸡吗?”
            </p>
            <p>
              钱锺书精妙的比喻,既让那位读者了解到自己不愿与之见面,又没有伤害读者的感情和自尊,由此巧妙地解决了问题。
            </p>
          </div>
          <h4 id="d059">(二)提出条件</h4>
          <p>
            有时不用将拒绝的话说出口,只需要告诉旅客:如果要答应他的要求,就需要他满足航空服务人员提出的一些他不太可能达到的条件,从而让他知难而退。一般在提出不太可能达到的条件之后,最好再为旅客提供一些其可以接受的方案,这样旅客就不会认为服务人员在刻意刁难,会退而求其次选择其他的处理方案。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="31">
      <div v-if="showPageList.indexOf(31) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">062</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <div class="bj2">
            <div class="bj2-dyd">
              <p><span class="bj2-dyd">读一读▼</span></p>
            </div>
            <p class="center"><span class="zt-ls1">提出条件婉拒旅客</span></p>
            <p>
              在某航空公司的航班上,一名乘坐经济舱的旅客找到乘务员,要求为其提供头等舱才能供应的红酒。乘务员听完后,真诚地向旅客道歉,并告知旅客:“我们今天的航班仅为头等舱配备了红酒,如果有需要的话,我可以为您办理升舱服务。或者我可以为您提供啤酒,如果可以的话,我去拿给您。”最终,该旅客在拿到了啤酒后没有提出更多的要求。
            </p>
          </div>
          <h4 id="d060">(三)另有选择</h4>
          <p>
            在不能满足旅客提出的要求时,航空服务人员可向其表明:比起他的要求,自己有更好的选择。这也是有效拒绝别人的方法之一。航空服务人员通常可以说:“不错啊,但我更愿意……”“您的提议不错,不过我更赞成……”“我们是不是……更好?”
          </p>
          <h4 id="d061">(四)寻找合理的借口</h4>
          <p>
            可以寻找一个合理的借口,让旅客理解航空服务人员的难处,并将其作为拒绝的理由,而不用直接将“不”字说出口。这种借口可以成为“挡箭牌”,能顺利地拒绝旅客,而又不伤害与旅客的感情。
          </p>
          <h4 id="d062">(五)真诚致歉</h4>
          <p>
            遭人拒绝是一件令人尴尬的事,所以在拒绝旅客的某些要求时一定要真诚,即使要求不合理也要委婉地说:“真的很抱歉,没能帮上您的忙,还请您谅解。”这样旅客会比较容易接受。例如,有个别旅客很喜欢飞机上的小毛毯或小碗,而按照规定这些东西是必须清点回收的。这时,运用语言技巧进行拒绝必不可少。乘务员要耐心地向旅客解释相关的规章制度,不要因为旅客不知情而流露出责备的语气。
          </p>
          <h4 id="d063">(六)婉言回避</h4>
          <p>
            航空服务人员可以用委婉的方式从侧面拒绝或用模糊的语言回避旅客的锋芒。例如,在飞机上,乘务员手中正拿着饮料,某旅客要求其撤走空杯子。乘务员说:“请您帮忙递过来好吗?”该旅客十分不满,脱口而出:“我递杯子,用你干
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="32">
      <div v-if="showPageList.indexOf(32) > -1">
        <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
          <img
            class="headerImg mr-10"
            src="../../assets/images/headerlogo.png"
            alt=""
          />
          <li class="headerText">项目二</li>
          <li class="headerText">打好航空服务口语交际基础</li>
          <li class="headerNumber">063</li>
        </ul>
        <div class="bodystyle">
          <p class="td-0">
            吗?”乘务员装作未听清旅客话的样子,面带微笑地问道:“先生,您需要我做什么?”该旅客的同伴连忙把杯子递过来,一场冲突就这样在无形中化解了。
          </p>
          <h4 id="d064">(七)消除不满</h4>
          <p>
            如果旅客因对飞机设施不满而发牢骚,航空服务人员可以先感谢对方对民航工作的关心和支持,再表示一定及时把该旅客的意见反馈给公司以便及时更新。
          </p>
          <h2 id="b025"><span class="bj4">思考与练习</span></h2>
          <h4 id="d065">一、思考与训练</h4>
          <p>
            1.教师邀请一位学生上讲台,然后让其他学生举手发言,对讲台上的学生进行赞美,要求语言具体细致。
          </p>
          <p>2.请各位同学收集一些幽默的语言,并将这些语言串联起来讲个故事。</p>
          <p>
            3.请各位同学课下准备一些生活中的笑话,在上课时当着全班同学的面讲出来,用这样的方式来积累幽默的素材。
          </p>
          <p>
            4.你来说,我来猜。教师准备若干成语,让一名学生用语言描述成语,另外一名学生猜是什么成语。要求用最精练的语言描述。
          </p>
          <p>
            5.请各位同学选择一位同学上讲台,讲台下每个人用最具体的语言描述一下讲台上的同学。
          </p>
          <p>6.教师规定几个场景,让学生根据规定场景的内容说服旅客。</p>
          <h4 id="d066">二、案例分析</h4>
          <p>1.飞机延误,旅客很生气。</p>
          <p>
            2.在某航班上,乘务员像往常一样,为一名正在看报纸的旅客打开了阅读灯,为一名老年旅客讲解客舱设备的使用方法,消除他初次乘机的不安……在巡舱时,乘务员发现后排座位上有一名无成人陪伴的儿童旅客,大约六岁。她的双手紧紧地抓着座椅扶手,头紧贴在靠背上。从小女孩的眼神里可以看出,她对这个庞大的“怪物”既好奇又害怕。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="32">
      <div v-if="showPageList.indexOf(32) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">064</li>
          <li class="header-left-text">
            航空服务口语交际与播音技巧(第 2 版)
          </li>
        </ul>
        <div class="bodystyle">
          <h4 id="d067">三、行动建议</h4>
          <p>
            1.请学生按照航空服务人员的口语交际要求并使用相关技巧与儿童旅客沟通。
          </p>
          <p>
            用角色扮演的方式,教师将班里的学生分成不同的角色,并且布置不同的场景,让学生在各种场景中进行交流,最后教师给予点评。
          </p>
          <p>2.每组选出一名代表,对同一个话题阐述自己的理解。</p>
          <p>
            3.让一名学生在没有准备的情况下当着全班学生的面与任意一名学生进行语言交流。教师设计场景和内容,考查学生是否掌握了语言的修饰方法。
          </p>
          <p>4.教师讲述一个故事,让学生复述,以此加深学生对聆听的理解。</p>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
import {
  getResourcePath,
  getCollectResource,
  setCollectResource,
} from "@/assets/methods/resources";
export default {
  name: "chapterOne",
  props: {
    showPageList: {
      type: Array,
    },
  },
  components: {},
  data() {
    return {
      collectImg: require("../../assets/images/icon/heart.png"),
      collectCheck: require("../../assets/images/icon/heart-check.png"),
      collectResourceList: [],
      videos: [
        {
          name: "视频:团队旅客",
          md5: "50a2d3b63fcba85133deaf6089eab421",
        },
        {
          name: "视频:退票的服务沟通",
          md5: "a0deaeb6cee31dd1181775d6bc0d0b71",
        },
        {
          name: "视频:误机旅客沟通",
          md5: "2f16aec9f278c495a12fc3caca3b517c",
        }
      ],
    };
  },
  async mounted() {
    this.getVideoPath();
    this.collectResourceList = await getCollectResource(
      this.config.activeBook.bookId
    );
  },
  methods: {
    async getVideoPath(value) {
      for (let index = 0; index < this.videos.length; index++) {
        const item = this.videos[index];
        item["url"] = await getResourcePath(item.md5);
      }
      console.log(111, this.videos);
    },
    handleCollect(num) {
      const data = this.videos[num];
      this.handleCollectResource(
        data.md5,
        data.md5,
        "",
        "视频",
        "bits",
        data.name
      );
    },
    //资源收藏事件
    handleCollectResource(
      id,
      md5,
      resourcePath,
      resourceType,
      source,
      resourceName
    ) {
      let list = this.collectResourceList;
      if (list.findIndex((item) => item.id == id) > -1) {
        list = list.filter((item) => item.id != id);
      } else {
        list.push({
          id,
          md5,
          resourcePath,
          resourceType,
          source,
          resourceName,
        });
      }
      this.collectResourceList = list;
      setCollectResource(
        this.config.activeBook.bookId,
        this.collectResourceList
      );
    },
  },
};
</script>
<style lang="less" scoped>
.table-p {
  font-size: 16px !important;
  line-height: 20px !important;
}
.imgBox {
  display: flex !important;
  flex-direction: column-reverse !important;
  position: relative !important;
  .img {
    margin: 0 !important;
    font-size: 16px !important;
    position: absolute !important;
    left: 50% !important;
    transform: translateX(-50%);
    bottom: -2% !important;
  }
  img {
    height: 80%;
  }
}
.choice {
  padding: 0% !important;
}
hr {
  margin-left: 0;
  margin-bottom: 4px;
  width: 15.5%;
  border: none;
  height: 2px;
  background-color: #000;
}
</style>
src/books/OralAndBroadcasting/view/components/header.vue
New file
@@ -0,0 +1,229 @@
<template>
  <div class="chapter" num="1">
    <!-- 封面 -->
    <div class="page-box mt-30" page="1" style="min-height: auto">
      <div v-if="showPageList.indexOf(1) > -1">
        <img class="img-0" alt="" src="../../assets/images/Cover.jpg" />
      </div>
    </div>
    <!-- 扉页 -->
    <div class="page-box" page="2" style="min-height: auto">
      <div v-if="showPageList.indexOf(2) > -1">
        <img class="img-0" alt="" src="../../assets/images/SMY.jpg" />
      </div>
    </div>
    <!-- 介绍页面 -->
    <div class="page-box" page="3">
      <div v-if="showPageList.indexOf(3) > -1">
        <div style="max-width: 400px; margin: 0 auto; padding: 10% 0">
          <hr />
          <p class=""><b>图书在版编目(CIP)数据</b></p>
          <p class="left3 block mr-0">
            >航空服务口语交际与播音技巧/魏全斌主编.—2版.—北京:北京师范大学出版社,2024.10
          </p>
          <p class="left3 block">ISBN 978-7-303-29417-6</p>
          <p class="left3 block mt-20">
            Ⅰ.①航… Ⅱ.①魏…
            Ⅲ.①旅客运输-商业服务-口语-教材②民用航空-旅客运输-播音-语言艺术-教材
            Ⅳ.①F560.9
          </p>
          <p class="left3 block">中国国家版本馆CIP数据核字(2023)第195087号</p>
          <hr />
          <p><br /></p>
          <p><br /></p>
          <p><br /></p>
          <p class="left block mt-20">教材意见反馈 zhijiao@bnupg.com</p>
          <p class="left block">营销中心电话 010-58802755 58800035</p>
          <p class="left block">编辑部电话  010-58802751</p>
          <hr />
          <p class="left block">出版发行:北京师范大学出版社 www.bnupg.com</p>
          <p class="left block">     北京市西城区新街口外大街12-3号</p>
          <p class="left block">     邮政编码:100088</p>
          <p class="left block">印  刷:保定市中画美凯印刷有限公司</p>
          <p class="left block">经  销:全国新华书店</p>
          <p class="left block">开  本:889mm×1194mm 1/16</p>
          <p class="left block">印  张:11.25</p>
          <p class="left block">字  数:245千字</p>
          <p class="left block">版  次:2024年10月第2版</p>
          <p class="left block">印  次:2024年10月第1次印刷</p>
          <p class="left block">定  价:41.00元</p>
          <hr />
          <p class="left block">
            策划编辑:王云英   责任编辑:安 健 吴纯燕
          </p>
          <p class="left block">美术编辑:焦 丽   装帧设计:焦 丽</p>
          <p class="left block">
            责任校对:陈 民   责任印制:马 洁 赵 龙
          </p>
          <p class="center mt-20"><b>版权所有 侵权必究</b></p>
          <p class="left center">
            <b>反盗版、侵权举报电话:</b><span class="block">010-58808104</span>
          </p>
          <p class="left center block">北京读者服务部电话:010-58808104</p>
          <p class="left center block">外埠邮购电话:010-58808083</p>
          <p class="left center block">
            本书如有印装质量问题,请与印制管理部联系调换。
          </p>
          <p class="left center block">印制管理部电话:010-58808284</p>
        </div>
      </div>
    </div>
    <!-- 介绍页面 -->
    <div class="page-box" page="4">
      <div v-if="showPageList.indexOf(4) > -1">
        <div style="max-width: 600px; margin: 0 auto; padding: 10% 0">
          <div class="bk-bwh">
            <h1 id="a003" class="front">
              职业教育航空运输类专业“产教融合”新形态教材专家指导委员会
            </h1>
            <p class="center"></p>
            <p class="center"><span class="zt-ls1">主 任</span></p>
            <p class="block fz-14">
              魏全斌 四川西南航空职业学院 荣誉院长、研究员
            </p>
            <p class="block fz-14">
                  四川泛美教育投资集团有限责任公司 董事长
            </p>
            <p class="center mt-30"><span class="zt-ls1">副主任</span></p>
            <p class="block fz-14">杨新湦 中国民航大学 副校长、教授</p>
            <p class="block fz-14">
              叶 耒 中国商用飞机有限责任公司四川分公司
              总经理助理、人力资源部部长
            </p>
            <p class="block fz-14">王海涛 成都航空有限公司 人力资源部总经理</p>
            <p class="center mt-30"><span class="zt-ls1">委 员</span></p>
            <p class="block fz-14">郭润夏 中国民航大学 教授</p>
            <p class="block fz-14">陈玉华 成都航空职业技术学院 教授</p>
            <p class="block fz-14">裴明学 四川西南航空职业学院 院长、研究员</p>
            <p class="block fz-14">
              龙 强 四川泛美教育投资集团有限责任公司 特聘专家
            </p>
            <p class="block fz-14">
              刘 桦 四川泛美教育投资集团有限责任公司 副总裁、特级教师
            </p>
            <p class="block fz-14">
              曾远志 四川泛美教育投资集团有限责任公司 副总裁
            </p>
          </div>
        </div>
      </div>
    </div>
    <div class="page-box" page="5">
      <div v-if="showPageList.indexOf(5) > -1">
        <div style="padding: 136px 66px">
          <div class="fl fd-r">
            <div class="fl fd-c al-c" style="margin: 100px 0">
              <h1 id="a004">前言</h1>
              <p class="td-0">PREFACE</p>
              <p class="zt-hs1 td-0">(第 2 版)</p>
            </div>
          </div>
          <p>
            《航空服务口语交际与播音技巧(第2版)》是在第1版的基础上,以习近平新时代中国特色社会主义思想和党的二十大精神为指导修订而成,新版教材坚持落实立德树人根本任务,遵循教材建设规律、职业教育教学规律,符合职业院校学生的认知特点。本教材共分为五个项目,分别是了解航空服务口语交际、打好航空服务口语交际基础、打好普通话与播音语音基础、提升航空服务口语交际与播音能力、掌握航空服务非语言沟通与特殊服务交际技能。新版教材有以下特点。
          </p>
          <p>
            第一,产教融合,双元开发。本教材由四川西南航空职业学院组织编写,由泛美航空职教集团和商用飞机行业产教融合共同体合作完成,汇聚了中国民航大学、四川西南航空职业学院、成都航空职业技术学院的一线教师与中国商用飞机有限责任公司四川分公司、成都航空有限公司等企业专家,团队成员的丰富教学经验、学术造诣以及行业经验确保了教材的科学性、实用性与适用性。
          </p>
          <p>
            第二,思政融入,价值导向。本教材全面落实课程思政的要求,通过学习航空服务口语交际与播音的技巧,培养学生崇尚宪法、遵纪守法、崇德向善、诚实守信、尊重生命、热爱劳动的品质,培养学生的社会责任感,增强学生的社会参与意识;践行“忠诚担当的政治品格,严谨科学的专业精神,团结协作的工作作风,敬业奉献的职业操守”的当代民航精神;具有安全意识和良好的服务意识;引导学生树立正确的世界观、人生观和价值观。
          </p>
          <p>
            第三,内容科学,体例创新。新版教材依照职业教育国家教学标准体系,对接职业标准和岗位能力要求,体现了产业发展的新技术、新规范、新标准,深入挖掘民航企业的实际工作需求和岗位要求,确保教材内容与实际的岗位需要无缝衔接。本教材以项目
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="6">
      <div v-if="showPageList.indexOf(6) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">002</li>
          <li class="header-left-text">航空服务口语交际与播音技巧(第 2 版)</li>
        </ul>
        <div class="bodystyle">
          <p class="td-0">
            任务为载体,体现了职业教育的类型特点;提供了大量的案例和实际情境,让学生能将所学理论更好地迁移到实际工作需求中。结合学生特点,编写力求文字简洁、通俗易懂。本教材体现了“贴近社会生活、贴近工作实际、贴近学生特点”“与职业岗位群对接、与职业资格标准对接、与实际工作过程对接”的“三贴近”“三对接”原则,注重对学生职业核心能力的培养,体现了“岗课赛证”融通的理念。
          </p>
          <p>
            第四,资源丰富,新形态教材。在修订过程中,联合行业、企业专家,收集真实的工作案例,配套丰富的教学资源。本教材的设计和呈现充分体现了职业教育新形态教材的理念,结合融媒体和数字化技术,以适应学生的需求。
          </p>
          <p>
            第2版教材由魏全斌担任主编,负责整体思路的筹划,拟定具体的编写方案。杨乐、段玉超、王佳担任副主编,王嘉梅、李林、赵青、何露瑶参与编写。孙皝、刘贫、朱玉龙、高影、周雨露、马俊伟也为本教材的出版作出了贡献。中国民航大学邹铁夫对本教材进行了审读,成都航空有限公司陈凌在让本教材体现新技术、新规范、新标准方面提供了优秀的建议,有效地保证了本教材的科学性、专业性、实用性、适用性,在此表示衷心的感谢。
          </p>
          <p>
            本教材不仅适用于航空运输类相关专业教学,也可以作为航空公司的培训教材。受编者水平所限,本教材难免存在一定的不当之处,恳请广大读者提出宝贵意见,以便我们作进一步的修订完善。
          </p>
        </div>
      </div>
    </div>
    <div class="page-box" page="7">
      <div v-if="showPageList.indexOf(7) > -1">
        <div style="padding: 136px 98px">
          <div class="fl fd-r">
            <div class="fl fd-c al-c" style="margin: 100px 0">
              <h1 id="a004">前言</h1>
              <p class="td-0">PREFACE</p>
              <p class="zt-hs1 td-0">(第 1 版)</p>
            </div>
          </div>
          <p>《国家中长期教育改革和发展规划纲要(2010—2020年)》明确提出:中等职业教育与高等职业教育协调发展,构建现代职业教育体系。职业教育为社会、经济和人的发展服务成为职业教育理论工作者与实践工作者的共识。</p>
          <p>近年来,随着社会、经济的进步,民航业得到了空前的发展。民航业的大发展需要大量道德高尚、素质优良、技能娴熟的一专多能的人才。正因为如此,一批办学理念先进、教学与实习实训设备精良、师资力量雄厚的学校或专业应运而生,为促进民航业的发展作出了重要贡献。</p>
          <p>要培养高素质的人才,离不开高质量的学校,离不开高水平的教师,更离不开理念先进、内容丰富、形式新颖的精品教材。为此,我们组织了全国行业职业教育教学指导委员会、全国中等职业教育教学改革创新指导委员会、职业教育教学研究机构的专家,全国近20家企业的行家以及具有丰富的教学与教材编写经验的优秀教师群策群力编写了本套教材。</p>
          <p>本套教材立足国内近20家企业相关工作岗位对人才素质与能力的要求,针对学生职业生涯发展的需求编写。在体系结构上,本套教材中的各册教材有机衔接,体系完整。在内容上,本套教材涵盖了典型的工作任务,体现了“贴近社会生活、贴近工作实际、贴近学生特点”“与职业岗位群对接、与职业资格标准对接、与实际工作过程对接”的“三贴近”“三对接”原则,注重学生职业核心能力的培养。在形式上,本套教材按照“具体—抽象—实践”的逻辑顺序,设计了“案例导入”“读一读”“小贴士”“思考与练习”等栏目,行文中图文并茂,突出了教材的可读性与互动性,既方便教师的教,也方便学生的学。本套教材既可供职业院校航空运输类专业学生使用,也可作为民航企业员</p>
        </div>
      </div>
    </div>
    <div class="page-box" page="8">
      <div v-if="showPageList.indexOf(8) > -1">
        <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
          <li class="header-left-Number">002</li>
          <li class="header-left-text">航空服务口语交际与播音技巧(第 2 版)</li>
        </ul>
        <div class="bodystyle">
          <p class="td-0" >工的培训教材或参考资料。</p>
          <p>本教材由职业教育专家魏全斌担任主编,由陆建华、杨省贵、段剑锋、曾远志、张义光担任副主编。参加本教材编写的人员有:中国民航飞行学院陈新,四川西南航空专修学院刘桦、张菲菲、杨洪光、王建宽,成都航空旅游职业学校程冲、余磊等。全书由中国民航飞行学院杨省贵统稿。</p>
          <p>在编写本教材的过程中,得到了上海机场贵宾服务公司总经理王培立、深圳宝安国际机场安检站站长赵萍、成都双流国际机场安检站副站长夏静、深圳航空公司维修工程部总经理助理王继营、四川新力航空技术有限公司(机务)总经理李元、一汽大众人力资源部部长卢荃等航空企业的专业的指导;吸纳了四川西南航空专修学院、成都航空旅游职业学校、成都礼仪职业中学、成都财贸职业中专学校、成都现代职业技术学校等职业院校骨干教师的宝贵建议;尤其是,由全国各大航空公司、机场服务企业知名的专家和领导组成的“职业院校航空服务专业教材建设企业专家指导委员会”的专家针对教材的内容、编写体例等提出了大量的建议,有效地保证了本教材与民航服务企业的实际工作要求相吻合,在此一并表示衷心的感谢。在编写本教材的过程中,我们参阅了相关论著和资料,引用了一些最新的研究成果,但由于联系方式不准确等原因,未能一一征得原成果作者的同意,敬请原成果作者谅解并与我们联系,我们将奉寄稿酬和样书,并在重印或再版时根据原成果作者的要求进行相应的调整。</p>
          <p>教材中难免有不尽如人意之处,恳请广大读者提出宝贵的意见,以便我们在修订时加以完善。</p>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  name: "pageHeader",
  props: {
    showPageList: {
      type: Array,
    },
  },
  data() {
    return {};
  },
};
</script>
<style lang="less" scoped>
.box {
  max-width: 400px;
  margin: 0 auto;
}
p {
  font-size: 16px !important;
}
.preface {
  height: 224px;
  background: linear-gradient(to right, #8fc58c, #fff);
}
.preface-text {
  font-size: 26px !important;
  color: #000 !important;
}
.mt-100 {
  margin-top: 100px !important;
}
</style>
src/books/OralAndBroadcasting/view/components/index.vue
New file
@@ -0,0 +1,961 @@
<template>
  <div class="page-main" @scroll="throttledScrollHandler">
    <div id="searchDomBox" style="display: none">
      <div id="searchContent"></div>
    </div>
    <div
      class="page-content"
      :style="{
        fontSize: fontSize + 'px',
        transform: `scale(${pageZoom})`,
        transformOrigin: 'center top',
      }"
    >
      <pageHeader
        v-if="showCatalogList.indexOf(1) > -1"
        :showPageList="loadPageList"
      ></pageHeader>
      <chapter001
        v-if="showCatalogList.indexOf(2) > -1"
        :showPageList="loadPageList"
      ></chapter001>
    </div>
  </div>
</template>
<script>
import pageHeader from "./header.vue";
import chapter001 from "./chapter001.vue";
import NoteIcon from "@/assets/images/biji.png";
import _ from "lodash";
import Swiper from "swiper/bundle";
import "swiper/swiper-bundle.css";
import Viewer from "viewerjs";
import "viewerjs/dist/viewer.css";
export default {
  name: "pageContent",
  data() {
    return {
      catalogLength: 2, // 总章节数
      showCatalogList: [], // 显示的章节
      loadThreshold: 300, // 触发加载阈值
      throttleThreshold: 100, // 节流阈值
      previousScrollTop: 0,
      throttledScrollHandler: null,
      observer: null,
      loadPageObserver: null,
      loadPageList: [],
      questionDataMap: {},
      renderSignMap: {},
      highlightData: null,
      audioPath: "",
      currentTime: null,
      videoList: [],
    };
  },
  computed: {
    fontSize() {
      this.transformDom(this.$store.state.qiankun.fontSize);
      return this.$store.state.qiankun.fontSize
        ? this.$store.state.qiankun.fontSize
        : 18;
    },
    pageZoom() {
      return this.$store.state.qiankun.scale
        ? this.$store.state.qiankun.scale / 100
        : 1;
    },
  },
  watch: {
    showCatalogList: {
      handler(newVal, oldVal) {
        if (
          this.$store.state.qiankun &&
          this.$store.state.qiankun.catalogChange
        ) {
          // 调用父层方法
          this.$store.state.qiankun.catalogChange({
            showCatalogList: newVal,
          });
        }
        // 启动页码观察
        setTimeout(() => {
          this.initObservation();
          this.initThemeColor();
        }, 500);
      },
    },
    loadPageList: {
      handler(newVal, oldVal) {
        setTimeout(() => {
          this.transformDom(this.$store.state.qiankun.fontSize);
          this.initSwiper();
          this.initViewer();
          this.closeAudio();
          this.closeVideo();
        }, 200);
      },
    },
    pageZoom: {
      handler(newVal, oldVal) {
        const scrollBox = (
          this.container ? this.container : document
        ).querySelector(".page-main");
        scrollBox.scrollTop = (scrollBox.scrollTop / oldVal) * newVal;
      },
    },
  },
  mounted() {
    // 默认加载章节
    this.showCatalogList = [1];
    // 滚动监听节流
    this.throttledScrollHandler = _.throttle(
      this.scrollFun,
      this.throttleThreshold,
      { leading: true, trailing: false }
    );
    // 定义子层方法
    if (this.setGlobalState) {
      // 提供页面跳转功能
      this.setGlobalState({
        gotoPage: (catalog, page) => {
          this.gotoPage(catalog, page);
        },
        // 渲染笔记、高亮、划线
        renderSign: (type, data) => {
          // 因为调整为页面懒加载,所以渲染标记也需要按照页面进行处理,先储存数据,页面加载完成再渲染对应的标记;
          this.handelSignData(type, data);
          // this.renderSign(type, data);
        },
        // 删除笔记、高亮、划线
        delSign: (data) => {
          this.delSign(data);
        },
        // 全文检索
        searchBookByKeyword: (keyword) => {
          return this.searchTextByPage(keyword);
        },
        // 跳转检索结果位置
        jumpSearchItem: (data) => {
          this.searchItemLocation(data);
        },
      });
    }
    // 创建一个新的 Intersection Observer 实例,用于观察目标元素和执行相应的回调函数。
    // new IntersectionObserver(callback, options):使用之前定义的 callback 回调函数和 options 配置选项来初始化 Intersection Observer 实例。
    this.observer = new IntersectionObserver(this.pageChangeCallback, {
      root: null, // 指定根元素,这里设为 null,表示选取整个视窗作为根元素。
      rootMargin: "0px", // 指定根元素的边界,这里设为 "0px",表示根元素的边界和视窗的边界重合
      threshold: 0.5, // 指定交叉比例,这里设为 0.5,表示当目标元素一半或更多显示在视窗中时触发回调函数。
    });
    this.loadPageObserver = new IntersectionObserver(this.loadPageCallback, {
      root: null, // 指定根元素,这里设为 null,表示选取整个视窗作为根元素。
      rootMargin: "0px", // 指定根元素的边界,这里设为 "0px",表示根元素的边界和视窗的边界重合
      threshold: 0, // 指定交叉比例,这里设为 0.5,表示当目标元素一半或更多显示在视窗中时触发回调函数。
    });
    // 启动页码观察
    setTimeout(() => {
      this.initObservation();
      this.initThemeColor();
    }, 500);
    // 测试页面跳转
    // setTimeout(() => {
    //   this.gotoPage(2, 23);
    //   setTimeout(() => {
    //     this.renderSign("Highlight", {
    //       id: "2ACA9359",
    //       txt: "题一学习主题一 运动",
    //       page: "10",
    //       type: "Highlight",
    //       color: "#F5E12A"
    //     });
    // setTimeout(() => {
    //   this.delSign({
    //     ids: ["2ACA9359"]
    //   });
    // }, 2000);
    // }, 500);
    // const pageDom = (this.container ? this.container : document)
    //   .querySelector("#app")
    //   .querySelectorAll(".page-box");
    // 检索
    // console.log(this.searchTextByPage("保护内脏器官"), "searchTextByPage");
    // 检索跳转
    // this.searchItemLocation({
    //   catalog: 2,
    //   page: 10,
    //   txt: " 运动系统是由骨、骨连结和骨骼肌三部分组成的。全身的骨通过骨连结组成人体骨骼(见图1-1)。骨骼是人体的支架,具有保护内脏器官、供肌肉附着和作为肌肉运动的杠杆等作用。在神经系统的支配下,肌肉收缩牵动所附着的骨绕着关节转动,使身体产生各种动作。所以,运动系统具有运动、支持和保护等功能,幼年时期的骨骼还具有造血功能。 ",
    //   txtIndex: 57
    // });
    // }, 500);
  },
  methods: {
    // setZoom1() {
    //   let scale = this.$store.state.qiankun.scale + 10;
    //   const scrollBox = (
    //     this.container ? this.container : document
    //   ).querySelector(".page-main");
    //   this.$store.commit("setZoom", scale);
    // },
    // setZoom2() {
    //   let scale = this.$store.state.qiankun.scale - 10;
    //   const scrollBox = (
    //     this.container ? this.container : document
    //   ).querySelector(".page-main");
    //   this.$store.commit("setZoom", scale);
    // },
    // 滚动监听
    scrollFun(event) {
      this.handleVideoPicture();
      // 判断向上滚动还是向下滚动
      if (event.target.scrollTop > this.previousScrollTop) {
        this.getAduio();
        // 向下
        const currentScrollTop =
          event.target.scrollTop + event.target.offsetHeight;
        if (
          currentScrollTop >=
          event.target.scrollHeight - this.loadThreshold
        ) {
          console.log(1);
          // 到达阈值
          if (
            this.showCatalogList[this.showCatalogList.length - 1] <
            this.catalogLength
          ) {
            // 加载下一章
            this.showCatalogList.push(
              this.showCatalogList[this.showCatalogList.length - 1] + 1
            );
            if (this.showCatalogList.length > 3) {
              // 超过三章隐藏顶部一章
              this.showCatalogList.shift();
            }
          }
        }
      } else if (event.target.scrollTop < this.previousScrollTop) {
        this.handleAudio();
        // 向上
        const currentScrollTop = event.target.scrollTop;
        if (currentScrollTop <= this.loadThreshold) {
          // 到达阈值
          if (this.showCatalogList[0] > 0) {
            // 加载上一章
            this.showCatalogList.unshift(this.showCatalogList[0] - 1);
            if (this.showCatalogList.length > 3) {
              // 超过三章隐藏底部一章
              this.showCatalogList.pop();
            }
          }
        }
      }
      // showCatalogList 当前显示的三个章节,watch监听传递给主应用
      // 更新上一次滚动的位置
      this.previousScrollTop = event.target.scrollTop;
    },
    // 章节、页面跳转
    gotoPage(catalog, page) {
      if (catalog >= 0 && catalog <= this.catalogLength) {
        // 处理渲染章节
        if (catalog == 0) {
          this.showCatalogList = [0, 1];
        } else if (catalog == this.catalogLength) {
          this.showCatalogList = [
            this.catalogLength - 2,
            this.catalogLength - 1,
            this.catalogLength,
          ];
        } else {
          this.showCatalogList = [catalog - 1, catalog, catalog + 1];
        }
        setTimeout(() => {
          // 跳转页码
          const pageDom = (
            this.container ? this.container : document
          ).querySelector(`[page="${page}"]`);
          if (pageDom) {
            pageDom.scrollIntoView();
          } else {
            console.log("页码错误!");
          }
        }, 500);
      } else {
        console.log("章节错误!");
      }
    },
    // 处理标记数据
    handelSignData(type, data) {
      if (this.loadPageList.indexOf(Number(data.page)) > -1) {
        // 立即渲染
        this.renderSign(type, data);
      }
      // 储存数据
      if (!this.renderSignMap[type]) this.renderSignMap[type] = {};
      if (!this.renderSignMap[type][data.page])
        this.renderSignMap[type][data.page] = [];
      this.renderSignMap[type][data.page].push(data);
    },
    // 渲染标记
    renderSign(type, data) {
      // 父层设置禁止渲染标记时不再进行渲染
      if (this.$store.state.qiankun.disableSign) {
        return false;
      }
      const existence = (
        this.container ? this.container : document
      ).querySelector(`[dataid="${data.id}"]`);
      // 去重
      if (!existence) {
        const pageDom = (
          this.container ? this.container : document
        ).querySelector(`[page="${data.page}"]`);
        // 创建 createTreeWalker 迭代器,用于遍历文本节点,保存到一个数组
        const treeWalker = document.createTreeWalker(
          pageDom,
          NodeFilter.SHOW_TEXT
        );
        const allTextNodes = [];
        let currentNode = treeWalker.nextNode();
        while (currentNode) {
          allTextNodes.push(currentNode);
          currentNode = treeWalker.nextNode();
        }
        for (let i = 0; i < allTextNodes.length; i++) {
          const textDom = allTextNodes[i];
          if (textDom.textContent.indexOf(data.txt) > -1) {
            let reg = new RegExp(`${data.txt}`, "ig");
            switch (type) {
              case "Highlight":
                // 高亮
                textDom.parentNode.innerHTML =
                  textDom.parentNode.innerHTML.replace(
                    reg,
                    `<span datatype="Highlight" dataid="${data.id}" style="background: ${data.color};" class="highLight" onclick="signClick('Highlight','${data.id}','${data.chapterNum}')">${data.txt}</span>`
                  );
                break;
              case "Dashing":
                // 划线
                textDom.parentNode.innerHTML =
                  textDom.parentNode.innerHTML.replace(
                    reg,
                    `<span datatype="Dashing" dataid="${data.id}" style="text-decoration-color:${data.color};" class="underline" onclick="signClick('Dashing','${data.id}','${data.chapterNum}')">${data.txt}</span>`
                  );
                break;
              case "Note":
                // 笔记
                textDom.parentNode.innerHTML =
                  textDom.parentNode.innerHTML.replace(
                    reg,
                    `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')" onmouseout="noteOut('Note')">${data.txt}<img src="${NoteIcon}"/></span>`
                  );
                break;
            }
          }
        }
      }
    },
    // 删除标记渲染
    delSign({ ids, type }) {
      if (ids && ids.length) {
        for (let i = 0; i < ids.length; i++) {
          const id = ids[i];
          const dom = (
            this.container ? this.container : document
          ).querySelector(`[dataid="${id}"]`);
          dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
            dom.outerHTML,
            dom.outerText
          );
        }
      }
      if (type) {
        const doms = (
          this.container ? this.container : document
        ).querySelectorAll(`[datatype="${type}"]`);
        for (let i = 0; i < doms.length; i++) {
          const dom = doms[i];
          dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace(
            dom.outerHTML,
            dom.outerText
          );
        }
      }
    },
    initObservation() {
      const sections = (
        this.container ? this.container : document
      ).querySelectorAll(".page-box");
      sections.forEach((section) => {
        if (this.config.activeBook && this.config.activeBook.tryPageCount) {
          const page = section.getAttribute("page");
          if (Number(page) > this.config.activeBook.tryPageCount) {
            let chapterDom = this.getParentWithClass(section, "chapter");
            const chapterNum = chapterDom.getAttribute("num");
            this.catalogLength = Number(chapterNum) - 1;
            section.remove();
            return false;
          }
        }
        // observer 观察每个元素,以便在它们进入或离开视窗时触发回调函数。
        const isObserver = section.getAttribute("observer");
        const isLoadObserver = section.getAttribute("loadObserver");
        if (!isObserver) {
          this.observer.observe(section);
          section.setAttribute("observer", "1");
        }
        if (!isLoadObserver) {
          this.loadPageObserver.observe(section);
          section.setAttribute("loadObserver", "1");
        }
      });
    },
    initThemeColor() {
      // 获取各种需要主题色的节点
      const colorDom = (
        this.container ? this.container : document
      ).querySelectorAll(".theme-color");
      const backgroundColorDom = (
        this.container ? this.container : document
      ).querySelectorAll(".theme-back");
      const borderColorDom = (
        this.container ? this.container : document
      ).querySelectorAll(".theme-border");
      // 获取配置的主题色
      const bookThemeColor =
        this.config.activeBook && this.config.activeBook.bookThemeColor
          ? this.config.activeBook.bookThemeColor
          : null;
      const chapterThemeColor =
        this.config.activeBook && this.config.activeBook.chapterThemeColor
          ? this.config.activeBook.chapterThemeColor
          : null;
      const pageThemeColor =
        this.config.activeBook && this.config.activeBook.pageThemeColor
          ? this.config.activeBook.pageThemeColor
          : null;
      colorDom.forEach((domItem) => {
        // 获取章节、页码
        let pageDom = this.getParentWithClass(domItem, "page-box");
        let chapterDom = this.getParentWithClass(domItem, "chapter");
        let page, chapterNum;
        if (pageDom) page = pageDom.getAttribute("page");
        if (chapterDom) chapterNum = chapterDom.getAttribute("num");
        // 向上匹配主题色
        const themeColor =
          page && pageThemeColor && pageThemeColor[page]
            ? pageThemeColor[page]
            : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
            ? chapterThemeColor[chapterNum]
            : bookThemeColor;
        if (themeColor) {
          domItem.style.color = themeColor;
        }
      });
      backgroundColorDom.forEach((domItem) => {
        // 获取章节、页码
        let pageDom = this.getParentWithClass(domItem, "page-box");
        let chapterDom = this.getParentWithClass(domItem, "chapter");
        let page, chapterNum;
        if (pageDom) page = pageDom.getAttribute("page");
        if (chapterDom) chapterNum = chapterDom.getAttribute("num");
        // 向上匹配主题色
        const themeColor =
          page && pageThemeColor && pageThemeColor[page]
            ? pageThemeColor[page]
            : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
            ? chapterThemeColor[chapterNum]
            : bookThemeColor;
        if (themeColor) {
          domItem.style.backgroundColor = themeColor;
        }
      });
      borderColorDom.forEach((domItem) => {
        // 获取章节、页码
        let pageDom = this.getParentWithClass(domItem, "page-box");
        let chapterDom = this.getParentWithClass(domItem, "chapter");
        let page, chapterNum;
        if (pageDom) page = pageDom.getAttribute("page");
        if (chapterDom) chapterNum = chapterDom.getAttribute("num");
        // 向上匹配主题色
        const themeColor =
          page && pageThemeColor && pageThemeColor[page]
            ? pageThemeColor[page]
            : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum]
            ? chapterThemeColor[chapterNum]
            : bookThemeColor;
        if (themeColor) {
          domItem.style.borderColor = themeColor;
        }
      });
    },
    getParentWithClass(element, className) {
      while (element.parentElement) {
        element = element.parentElement;
        if (element.classList.contains(className)) {
          return element;
        }
      }
    },
    pageChangeCallback(entries, observer) {
      //entries:代表观察到的目标元素的集合。 observer:代表观察者对象。
      entries.forEach((entry) => {
        //entry.isIntersecting:检查当前目标元素是否与根元素相交。
        if (entry.isIntersecting) {
          const target = entry.target;
          //entry.target:获取当前目标元素
          const page = target.getAttribute("page");
          const catalogDom = this.tool.getParentNodeByClassName(
            target,
            "chapter"
          );
          const catalog = catalogDom.getAttribute("num");
          let text = null;
          if (target.querySelector("p")) {
            text = target.querySelector("p").textContent.substring(0, 50);
          }
          // 返回页码和章节信息
          if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange)
            this.$store.state.qiankun.pageChange({
              page: page,
              catalog: catalog,
              text,
            });
          // const sections = Array.from(document.querySelectorAll(".section"));
          //sections:获取所有具有 .section 类名的元素,并转换为数组。
          // let index = sections.findIndex((section) => section === target) + 1;
          //index:查找当前目标元素在 sections 数组中的索引,并加 1,用于确定当前页码。
        }
      });
    },
    loadPageCallback(entries, observer) {
      entries.forEach(async (entry) => {
        if (entry.isIntersecting) {
          const target = entry.target;
          const page = target.getAttribute("page");
          if (this.loadPageList.indexOf(Number(page)) == -1) {
            const catalogDom = this.tool.getParentNodeByClassName(
              target,
              "chapter"
            );
            // 添加页码
            this.loadPageList.push(Number(page));
            const catalog = catalogDom.getAttribute("num");
            // if (!this.questionDataMap[page]) {
            //   if (testData && testData[catalog]) {
            //     if (testData[catalog][page]) {
            //       if (Array.isArray(testData[catalog][page])) {
            //         this.questionDataMap[page] = await getQuestionList(
            //           page,
            //           testData[catalog][page],
            //           this.config.activeBook
            //         );
            //       } else {
            //         const obj = {};
            //         for (let key in testData[catalog][page]) {
            //           obj[key] = await getQuestionList(
            //             [],
            //             testData[catalog][page][key],
            //             this.config.activeBook
            //           );
            //         }
            //         this.questionDataMap[page] = obj;
            //       }
            //       console.log("题目", this.questionDataMap);
            //     }
            //   }
            // }
            // 渲染这一页的标记
            for (const key in this.renderSignMap) {
              if (this.renderSignMap[key][page]) {
                this.renderSignMap[key][page].forEach((item) => {
                  this.renderSign(key, item);
                });
              }
            }
            // 处理高亮
            if (this.highlightData) {
              // 高亮行
              setTimeout(() => {
                // 获取页面所有text节点
                const pageTextList = document.createTreeWalker(
                  target,
                  NodeFilter.SHOW_TEXT
                );
                // 匹配关键字
                const allPageTextNodes = [];
                let currentNode = pageTextList.nextNode();
                while (currentNode) {
                  allPageTextNodes.push(currentNode);
                  currentNode = pageTextList.nextNode();
                }
                for (let i = 0; i < allPageTextNodes.length; i++) {
                  const textDom = allPageTextNodes[i];
                  let txtIndex = textDom.textContent.indexOf(
                    this.highlightData.txt
                  );
                  if (txtIndex > -1) {
                    textDom.parentNode.style.transition =
                      "background-color 0.8s";
                    textDom.parentNode.scrollIntoView();
                    textDom.parentNode.style.backgroundColor = "#79bbf0";
                    setTimeout(() => {
                      textDom.parentNode.style.backgroundColor = "";
                    }, 1000);
                  }
                }
              }, 100);
            }
            if (this.loadPageList.length > 5) {
              // 超过5页
              this.loadPageList.shift();
            }
          }
        }
      });
    },
    initSwiper() {
      const doms = (
        this.container ? this.container : document
      ).querySelectorAll(".swiper-img");
      for (let i = 0; i < doms.length; i++) {
        const dom = doms[i];
        new Swiper(dom, {
          loop: false, // 无缝
          autoplay: {
            //自动开始
            delay: 3000, //时间间隔
            disableOnInteraction: false, //*手动操作轮播图后不会暂停*
          },
          paginationClickable: true,
          slidesPerView: 1, // 一组三个
          spaceBetween: 30, // 间隔
          // 如果需要前进后退按钮
          navigation: {
            nextEl: dom.querySelector(".swiper-button-next"),
            prevEl: dom.querySelector(".swiper-button-prev"),
          },
          // 窗口变化,重新init,针对F11全屏和放大缩小,必须加
          // observer: true,
          // observeParents: true
          // // 如果需要分页器
          // pagination: {
          //   el: (this.container ? this.container : document).querySelector(
          //     ".swiper-pagination"
          //   ),
          //   clickable: true // 分页器可以点击
          // }
        });
      }
      const pptDoms = (
        this.container ? this.container : document
      ).querySelectorAll(".swiper_ppt");
      for (let i = 0; i < pptDoms.length; i++) {
        const dom = pptDoms[i];
        new Swiper(dom, {
          loop: false, // 无缝
          autoplay: false,
          paginationClickable: true,
          slidesPerView: 1, // 一组三个
          spaceBetween: 30, // 间隔
          // 如果需要前进后退按钮
          navigation: {
            nextEl: dom.querySelector(".swiper-button-next"),
            prevEl: dom.querySelector(".swiper-button-prev"),
          },
          // 窗口变化,重新init,针对F11全屏和放大缩小,必须加
          observer: true,
          observeParents: true,
          on: {
            init: (value) => {
              let currentPage = value.activeIndex + 1; // 获取当前页(从1开始计数)
              let totalPages = value.slides.length; // 获取总页数
              var paginationInfoEl = dom.querySelector(".pageBox");
              if (paginationInfoEl)
                paginationInfoEl.textContent = currentPage + "/" + totalPages;
            },
            slideChange: (value) => {
              let currentPage = value.activeIndex + 1; // 获取当前页(从1开始计数)
              let totalPages = value.slides.length; // 获取总页数
              var paginationInfoEl = dom.querySelector(".pageBox");
              if (paginationInfoEl)
                paginationInfoEl.textContent = currentPage + "/" + totalPages;
            },
          },
        });
      }
    },
    initViewer() {
      const doms = (
        this.container ? this.container : document
      ).querySelectorAll(".openImgBox");
      for (let i = 0; i < doms.length; i++) {
        const dom = doms[i];
        new Viewer(dom, {
          container: this.container
            ? this.container.querySelector("#app")
            : "body",
          navbar: true, // 显示导航栏
          toolbar: true, // 显示工具栏
          title: true, // 显示标题
        });
      }
    },
    // 根据关键字全文检索
    searchTextByPage(keyword) {
      const searchResult = [];
      let catalogIndex = 0;
      // 所有章节组件(每本书制作时单独配置)
      const pageData = {
        pageHeader,
        chapter001
      };
      // 遍历所有章节文件
      for (const key in pageData) {
        catalogIndex++;
        let pageComponent, pageExample;
        // 先渲染一次当前章节文件(这时页面的内容为空),获取页码信息
        pageComponent = Vue.extend(pageData[key]);
        pageExample = new pageComponent({
          propsData: {
            showPageList: [],
            questionData: {},
            isSearch: true,
          },
        });
        pageExample.$mount(
          (this.container ? this.container : document).querySelector(
            "#searchContent"
          )
        );
        // 获取页码
        const pageDom = (this.container ? this.container : document)
          .querySelector("#searchDomBox")
          .querySelectorAll(".page-box");
        const pages = [];
        for (let i = 0; i < pageDom.length; i++) {
          const pageDomItem = pageDom[i];
          pages.push(Number(pageDomItem.getAttribute("page")));
        }
        // 获取页面结束,卸载销毁
        pageExample.$destroy();
        (this.container ? this.container : document).querySelector(
          "#searchDomBox"
        ).innerHTML = '<div id="searchContent"></div>';
        // 遍历页码
        if (pages.length) {
          for (let i = 0; i < pages.length; i++) {
            const pageNum = pages[i];
            // 动态渲染对应章节的页码
            pageComponent = Vue.extend(pageData[key]);
            pageExample = new pageComponent({
              propsData: {
                showPageList: [pageNum],
                questionData: {},
                isSearch: true,
              },
            });
            pageExample.$mount(
              (this.container ? this.container : document).querySelector(
                "#searchContent"
              )
            );
            // 获取对应页面dom
            const thisPageDom = (this.container ? this.container : document)
              .querySelector("#searchDomBox")
              .querySelector(`[page="${pageNum}"]`);
            if (thisPageDom) {
              // 获取页面所有text节点
              const pageTextList = document.createTreeWalker(
                thisPageDom,
                NodeFilter.SHOW_TEXT
              );
              // 匹配关键字
              const allPageTextNodes = [];
              let currentNode = pageTextList.nextNode();
              while (currentNode) {
                allPageTextNodes.push(currentNode);
                currentNode = pageTextList.nextNode();
              }
              for (let i = 0; i < allPageTextNodes.length; i++) {
                const textDom = allPageTextNodes[i];
                let txtIndex = textDom.textContent.indexOf(keyword);
                if (txtIndex > -1) {
                  // 记录关键字所在页码、章节以及匹配到的段落
                  searchResult.push({
                    page: pageNum,
                    catalog: catalogIndex,
                    txt: textDom.textContent,
                    txtIndex: txtIndex,
                  });
                }
              }
              // 结束,卸载销毁
              pageExample.$destroy();
              (this.container ? this.container : document).querySelector(
                "#searchDomBox"
              ).innerHTML = '<div id="searchContent"></div>';
            }
          }
        }
      }
      // 输出搜索结果
      console.log(searchResult);
      return searchResult;
    },
    // 根据检索结果跳转对应位置并高亮
    searchItemLocation(data) {
      // 记录高亮信息
      this.highlightData = data;
      // 跳转
      this.gotoPage(data.catalog, data.page, () => {});
    },
    // 页面向下滚动,音频小窗播放功能
    getAduio() {
      let allVideo = (
        this.container ? this.container : document
      ).querySelectorAll(".audio");
      allVideo = Array.from(allVideo);
      this.videoList = allVideo;
      if (allVideo.length) {
        // 查找播放状态的最后一条音频
        const playAudio = allVideo
          .reverse()
          .find((item) => item.paused == false);
        if (playAudio) {
          const bottomGap = playAudio.getBoundingClientRect().bottom;
          if (bottomGap < 0) {
            playAudio.pause();
            this.audioPath = playAudio.src;
            this.currentTime = playAudio.currentTime;
          }
        }
      }
    },
    // 页面向上滚动,音频小窗回收
    handleAudio() {
      if (!this.audioPath) return false;
      let allVideo = (
        this.container ? this.container : document
      ).querySelectorAll(".audio");
      allVideo = Array.from(allVideo);
      if (allVideo.length) {
        //查找与小窗播放音频同源的页面audio DOM
        const playAudio = allVideo.find((item) => item.src == this.audioPath);
        if (playAudio) {
          const bottomGap = playAudio.getBoundingClientRect().bottom;
          if (bottomGap >= 0) {
            if (this.$refs.audioPlayer) {
              const playerState = this.$refs.audioPlayer.getVideoPlayer();
              this.audioPath = "";
              playAudio.currentTime = playerState.currentTime;
              if (!playerState.paused) playAudio.play();
            }
          }
        }
      }
    },
    // 关闭mini video
    closeMiniAudio() {
      this.audioPath = "";
    },
    // 点击音频播放,关闭其他音频
    closeAudio() {
      let allAudio = (
        this.container ? this.container : document
      ).querySelectorAll(".audio");
      for (let index = 0; index < allAudio.length; index++) {
        const item = allAudio[index];
        item.addEventListener("play", () => {
          const audioList = Array.from(allAudio);
          for (let cindex = 0; cindex < audioList.length; cindex++) {
            const citem = audioList[cindex];
            if (citem.currentSrc != item.src) {
              citem.pause();
            }
          }
          this.closeMiniAudio();
        });
      }
    },
    // 点击视频关闭其他
    closeVideo() {
      let allVideo = (
        this.container ? this.container : document
      ).querySelectorAll(".video");
      for (let index = 0; index < allVideo.length; index++) {
        const item = allVideo[index];
        item.addEventListener("playing", (item) => {
          const path = item.srcElement.src;
          const videoList = Array.from(allVideo);
          for (let cindex = 0; cindex < videoList.length; cindex++) {
            const citem = videoList[cindex];
            if (citem.currentSrc != path && path) {
              citem.pause();
            }
          }
        });
      }
    },
    // 视频小窗
    handleVideoPicture() {
      let doms = (this.container ? this.container : document).querySelectorAll(
        ".video"
      );
      doms = Array.from(doms);
      if (!doms.length) return false;
      const playVudio = doms.reverse().find((item) => item.paused == false);
      if (playVudio) {
        const bottomGap = playVudio.getBoundingClientRect().bottom;
        const topGap = playVudio.getBoundingClientRect().top;
        if (bottomGap < 0 || topGap > window.innerHeight) {
          try {
            if (playVudio.readyState) playVudio.requestPictureInPicture();
          } catch (error) {
            console.log(error, "小窗错误error");
          }
        }
      }
    },
    //其他类名下字体大小变化
    transformDom(fs) {
      if (!fs) return;
      let doms = (this.container ? this.container : document).querySelectorAll(
        ".block"
      );
      if (!doms.length) return;
      for (let index = 0; index < doms.length; index++) {
        const dom = doms[index];
        dom.style.fontSize = fs + "px";
      }
    },
  },
  components: {
    pageHeader,
    chapter001
  },
};
</script>
<style lang="less" scoped>
.page-main {
  width: 100% !important;
  height: 100% !important;
  overflow: auto;
  .page-content {
    max-width: 816px;
    min-width: 375px;
    margin: 0 auto;
    padding-bottom: 100px;
  }
}
</style>
src/books/OralAndBroadcasting/view/index.vue
New file
@@ -0,0 +1,78 @@
<template>
    <div class="OralAndBroadcasting" @mouseup="handleMouseUp">
      <pageContent></pageContent>
    </div>
  </template>
  <script>
  import pageContent from "./components/index.vue"
  export default {
    name: "civilAviation",
    components: { pageContent },
    computed: {
      fontSize() {
        return this.$store.state.qiankun.fontSize;
      },
      pageZoom() {
        return this.$store.state.qiankun.scale / 100;
      },
    },
    methods: {
      getParentWithClass(element, className) {
        while (element.parentElement) {
          element = element.parentElement;
          if (element.classList.contains(className)) {
            return element;
          }
        }
      },
      handleMouseUp(e) {
        const selection = (
          this.container ? this.container : window
        ).getSelection();
        const txt = selection.toString();
        if (selection.type != "none" && txt) {
          let node = selection.anchorNode.parentNode;
          let pageHtml = this.getParentWithClass(
            selection.anchorNode,
            "page-box"
          );
          let chapterDom = this.getParentWithClass(
            selection.anchorNode,
            "chapter"
          );
          let chapterNum;
          if (chapterDom) chapterNum = chapterDom.getAttribute("num");
          if (pageHtml) {
            const page = pageHtml.getAttribute("page");
            // 监听选中文本事件,并触发父层方法
            if (this.$store.state.qiankun.windowSelection) {
              this.$store.state.qiankun.windowSelection({
                chapterNum,
                txt,
                page,
                x: e.x,
                y: e.y,
              });
            }
          }
        } else {
          if (this.$store.state.qiankun.windowSelection) {
            this.$store.state.qiankun.windowSelection({
              chapterNum: "",
              txt: "",
              page: "",
              x: e.x,
              y: e.y,
            });
          }
        }
      },
    },
  };
  </script>
  <style lang="less">
  @import "../assets/main.less";
  </style>
src/components/examinations/index.vue
@@ -972,7 +972,7 @@
</style>
<style lang="less" scoped>
.catalogName {
.catalogName {
  display: flex;
  text-indent: 1em !important;
  font-size: 16px;