闫增涛
2024-12-23 6997ee42e0fd3519f8ae418ee02749a85255707b
Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout
14个文件已修改
2个文件已添加
1653 ■■■■■ 已修改文件
src/App.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/artAndDance/view/components/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/assets/images/icon/heart-check.png 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/assets/images/icon/heart.png 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/assets/main.less 65 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/view/components/chapter001.vue 101 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/view/components/chapter002.vue 262 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/view/components/chapter003.vue 126 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/view/components/chapter004.vue 267 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/view/components/chapter005.vue 178 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/view/components/chapter006.vue 196 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/view/components/chapter007.vue 251 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/view/components/chapter008.vue 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationBasicSkills/view/components/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/aviationSafety/assets/main.less 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/books/civilAviation/view/components/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/App.vue
@@ -101,7 +101,7 @@
      process.env.VUE_APP_RESOURCE_CTX +
        (process.env.VUE_APP_ENV == "product"
          ? process.env.VUE_APP_BOOK_ID
          : "aviationSafety")
          : "aviationBasicSkills")
      );
      // this.activeBook = await this.config.getBookConfig(
src/books/artAndDance/view/components/index.vue
@@ -922,7 +922,7 @@
        const bottomGap = playVudio.getBoundingClientRect().bottom;
        const topGap = playVudio.getBoundingClientRect().top;
        if (bottomGap < 0 || topGap > window.innerHeight) {
          playVudio.requestPictureInPicture();
          if(playVudio.readyState) playVudio.requestPictureInPicture();
        }
      }
    }
src/books/aviationBasicSkills/assets/images/icon/heart-check.png
src/books/aviationBasicSkills/assets/images/icon/heart.png
src/books/aviationBasicSkills/assets/main.less
@@ -422,12 +422,12 @@
    }
    .w40{
    .w40 {
        width: 40% !important;
    }
    .w25{
        width: 25% ;
    .w25 {
        width: 25%;
    }
    .w20 {
@@ -450,7 +450,7 @@
    .table-tr-bc {
        background-color: #EBF1F8;
        p{
        p {
            text-indent: 0em;
            line-height: 20px;
        }
@@ -470,21 +470,23 @@
        width: 90%;
        background-color: transparent;
        border: 0;
        &:focus {
          outline: none;
        }
      }
        &:focus {
            outline: none;
        }
    }
    .input-bottom-border {
        width: 15%;
        background-color: transparent;
        border: 0;
        border-bottom: 1px solid #000;
        &:focus {
          outline: none;
            outline: none;
        }
      }
    }
    // 续表
    .continued {
@@ -493,6 +495,47 @@
    }
    // 视频
    .video-box-cover {
        border: 1px dashed #895B2E;
        padding: 2% 2%;
    }
    .video-box {
        margin: 20px 0 20px 8%;
        border: 1px dashed #895B2E;
        padding: 2% 2%;
    }
    .video-box-left {
        margin: 20px 8% 20px 0;
        border: 1px dashed #895B2E;
        padding: 2% 2%;
    }
    .videoname {
        display: flex;
        justify-content: center;
    }
    .collect-btn {
        cursor: pointer;
        width: 20px;
        height: 20px;
        margin-left: 10px;
        margin-top: 0.8%;
    }
    .collect-btn1 {
        cursor: pointer;
        width: 10px;
        height: 10px;
        margin-left: 10px;
        margin-top: 0.8%;
    }
    .text-rights {
        width: 230px;
        float: right;
src/books/aviationBasicSkills/view/components/chapter001.vue
@@ -213,6 +213,22 @@
                    <p class="p-even">
                        第三,机场实行属地管理。按照政企分开、属地管理的原则,我国对90个机场进行了属地化管理改革。民航总局直接管理的机场下放所在省(区、市)管理,相关资产、负债和人员一并划转;民航总局与地方政府联合管理的民用机场和军民合用机场,属民航总局管理的资产、负债及相关人员一并划转所在省(区、市)管理。首都机场、西藏自治区内的民用机场继续由民航总局管理。2004年7月8日,随着甘肃省内的民用机场移交地方,机场属地化管理改革全面完成,也标志着民航体制改革全面完成。
                    </p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathOne" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目一 任务一</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '77cad1fcb6a581d2fce136aa6aa9c4f8') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-01')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h3 id="c002" class="p-even">
                        <span class="zt-h4">二、</span><span class="qyls-h4">我国民用航空运输业的现状</span>
                    </h3>
@@ -637,6 +653,22 @@
                    <p class="p-even">
                        民航服务的高标准,需要从业人员具备高素质。自从民航行业创建以来,民航员工特别是空中乘务人员的高素质,已为广大旅客留下了十分良好的行业印象。在现代民航服务中,旅客对民航员工的素质提出了更高的要求,民航员工需要在自身知识、语言、礼仪、行为等方面提高素质和修为。
                    </p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathTwo" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目一 任务二</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo01 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == 'b124a569b4c3d11745db152f26b0b9f1') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-02')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h3 id="c007" class="p-even">
                        <span class="zt-h4">五、</span><span class="qyls-h4">民航服务的分类</span>
                    </h3>
@@ -1561,6 +1593,8 @@
</template>
<script>
import { getResourcePath } from "@/assets/methods/resources";
import { getCollectResource, setCollectResource } from "@/assets/methods/resources";
export default {
    name: "chapterOne",
    props: {
@@ -1570,6 +1604,15 @@
    },
    data() {
        return {
            collectImg: require("../../assets/images/icon/heart.png"),
            collectCheck: require("../../assets/images/icon/heart-check.png"),
            videoPathOne: "",
            videoPathTwo: "",
            collectResourceList: [],
            chapterData: {
                isCollectVideo: false,
                isCollectVideo01: false,
            },
            questionData: {
                teskOne: {
                    one: "",
@@ -1649,7 +1692,7 @@
            },
        };
    },
    mounted() {
    async mounted() {
        const bookQuestion = localStorage.getItem("aviation-book-chapter01");
        if (bookQuestion) {
            this.questionData = JSON.parse(bookQuestion);
@@ -1659,8 +1702,64 @@
            this.tableData = JSON.parse(bookTableData);
        }
        const choiceQuestion = localStorage.getItem("aviation-book-chapter01-Data");
        if (choiceQuestion) {
            this.chapterData = JSON.parse(choiceQuestion);
        }
        this.getVidoePath();
        this.collectResourceList = await getCollectResource(this.config.activeBook.bookId)
    },
    methods: {
        async getVidoePath() {
            this.videoPathOne = await getResourcePath(
                "77cad1fcb6a581d2fce136aa6aa9c4f8"
            );
            this.videoPathTwo = await getResourcePath(
                "b124a569b4c3d11745db152f26b0b9f1"
            );
        },
        handleCollect(e) {
            if (e == 'video-01') {
                this.handleCollectResource("77cad1fcb6a581d2fce136aa6aa9c4f8", "77cad1fcb6a581d2fce136aa6aa9c4f8", '', "视频", "bits", '视频:项目一 任务一')
                this.chapterData.isCollectVideo = !this.chapterData.isCollectVideo
            } else if (e == 'video-02') {
                this.handleCollectResource("b124a569b4c3d11745db152f26b0b9f1", "b124a569b4c3d11745db152f26b0b9f1", '', "视频", "bits", '视频:项目一 任务二')
                this.chapterData.isCollectVideo01 = !this.chapterData.isCollectVideo01
            }
            this.handleChapterData();
        },
        //资源收藏事件
        // resourcePath  文件路径,
        // resourceType  文件类型
        // source        文件来源
        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)
        },
        handleChapterData() {
            localStorage.setItem(
                "aviation-book-chapter01-Data",
                JSON.stringify(this.chapterData)
            );
        },
        setBookQuestion() {
            localStorage.setItem(
                "aviation-book-chapter01",
src/books/aviationBasicSkills/view/components/chapter002.vue
@@ -2,7 +2,7 @@
    <div class="chapter" num="3">
        <!-- 第二单元封面 -->
        <div class="page-box" page="33">
            <div v-if="showPageList.indexOf(32) > -1">
            <div v-if="showPageList.indexOf(33) > -1">
                <div style="background-color: #F99F1D; padding-top: 50px">
                    <h1 class="fl jc-c" id="a007"><img class="" style="width: 80%; " alt=""
                            src="../../assets/images/xm2.jpg" /></h1>
@@ -21,6 +21,22 @@
                        <p class="bj-1-zt">2.具备高瞻远瞩的长远发展眼光和大局意识。</p>
                        <p class="bj-1-zt">3.养成求真务实、开拓创新的职业精神。</p>
                        <p><br></p>
                        <div class="video-box-cover">
                            <p class="center text">
                                <video :src="videoPathOne" webkit-playsinline="true" x-webkit-airplay="true"
                                    playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                    x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                    style=" border-radius: 10px; "></video>
                            </p>
                            <p class="center videoname">
                                <span>视频:项目二 导入_1 </span>
                                <el-tooltip class="item" effect="dark"
                                    :content="chapterData.isCollectVideo ? '点击取消' : '点击收藏'" placement="top-start">
                                    <img :src="collectResourceList.findIndex(item => item.id == '0ad0533dd0c9b76fa61dfc15448c3701') > -1 ? collectCheck : collectImg"
                                        alt="" class="collect-btn" @click="handleCollect('video-01')" />
                                </el-tooltip>
                            </p>
                        </div>
                        <p><br></p>
                    </div>
                </div>
@@ -28,7 +44,7 @@
        </div>
        <!-- 26页 -->
        <div class="page-box" page="34">
            <div v-if="showPageList.indexOf(33) > -1">
            <div v-if="showPageList.indexOf(34) > -1">
                <ul class="fl al-c pad-t-55 pad-l-60 mb-45">
                    <li class="header-left-Number">026</li>
                    <li class="header-left-text">民航服务基本技能(第 2 版)</li>
@@ -55,7 +71,7 @@
        </div>
        <!-- 27页 -->
        <div class="page-box" page="35">
            <div v-if="showPageList.indexOf(34) > -1">
            <div v-if="showPageList.indexOf(35) > -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>
@@ -72,6 +88,22 @@
                        第二,要有服务观念。服务质量与水平是民航企业的“生存线”,民航员工应热情为旅客服务,急旅客所急,帮旅客所需,热爱劳动,不怕吃苦,为旅客提供干净、舒适、愉快的旅行环境。民航员工的标准就是使自己的服务质量与世界航空服务标准接轨,服务的最高追求不是“满意”,而是创立“品牌”,使企业获得“品牌效应”。
                    </p>
                    <p class="p-odd">第三,要有效益意识。没有效益的企业无法生存。没有经济实力的企业,拿什么应对国际化的竞争?所以,效益意识必须深入人心,效益必须成为民航从业人员工作的目标。</p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathTwo" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目二 任务1 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo01 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '74178b45d436d5adc731024742f169fa') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-02')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h4 id="d036">(二)强化职业纪律</h4>
                    <p class="p-odd">
                        职业纪律是在特定的职业活动范围内从事某种职业的人必须共同遵守的行为准则。它包括劳动纪律、组织纪律、财经纪律、群众纪律、保密纪律、宣传纪律、外事纪律等基本纪律要求,以及各行各业的特殊纪律要求。其特点是具有明确的规定性和一定的强制性。民航员工的职业纪律集中体现在《中华人民共和国民用航空法》等法规制度中,它们是我国民航70多年来经验教训的结晶,具有很强的针对性和规范性。民航员工必须严格遵守,不得有丝毫懈怠,否则,就会危及飞行安全,给国家和人民生命财产带来严重危害。
@@ -443,9 +475,10 @@
                    </table>
                    <p class="left"><span class="bj2">拓展训练▼</span></p>
                    <p class="p-odd">
                        1.工作中会遇到与自身利益相冲突的时候,民航员工应考虑自己的行为是否符合国家和社会的利益、<input v-model="questionData.teskOne.four" class="input-bottom-border w40 fz-14"
                        @change="setBookQuestion" />、符合民航岗位的职业道德、<input v-model="questionData.teskOne.five" class="input-bottom-border w40 fz-14"
                        @change="setBookQuestion" />。
                        1.工作中会遇到与自身利益相冲突的时候,民航员工应考虑自己的行为是否符合国家和社会的利益、<input v-model="questionData.teskOne.four"
                            class="input-bottom-border w40 fz-14" @change="setBookQuestion" />、符合民航岗位的职业道德、<input
                            v-model="questionData.teskOne.five" class="input-bottom-border w40 fz-14"
                            @change="setBookQuestion" />。
                    </p>
                    <p class="p-odd">2.民航员工职业道德的要求有哪些?</p>
                    <textarea v-model="questionData.teskOne.six" placeholder="请输入内容" rows="6"
@@ -511,6 +544,22 @@
                    </p>
                    <h5 id="e006">2.较强的外语交流能力</h5>
                    <p class="p-odd">民航服务行业的各种岗位,如安检、空乘、值机、票务等,随时可能遇到世界各国的旅客,所以,民航员工需要具备较强的外语交流能力。</p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathThree" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目二 任务2 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo02 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '088eaf1382e9ed4b330a1b3fa93f12e4') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-03')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h4 id="d052">(三)计算机运用能力</h4>
                    <p class="p-odd">
                        随着我国经济的飞速发展,民用航空运输业呈现蓬勃发展的态势。计算机技术的应用范围越来越广,民航依赖计算机处理业务的程度也越来越高。各主要机场都使用机场综合信息计算机管理系统,实现了办公、业务和服务的自动化,如网上订票、值机等。所以,计算机运用能力是一项相当重要的基本技能。
@@ -571,7 +620,9 @@
                </div>
            </div>
        </div>
        <!-- 37页 -->
        <div class="page-box" page="45">
            <div v-if="showPageList.indexOf(45) > -1">
                <ul class="fl al-c jc-fe mr-70 pad-t-55 mb-45">
@@ -964,6 +1015,22 @@
                    <p class="p-even td-0">
                        保管员、油料化验员、油料司泵员、飞机加油员、油料计量统计员、油料电气仪表员、油料特种设备修理员工种。
                    </p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathFour" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目二 任务3 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo03 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '1b93521d7ff9abe65a4d6b53e4facc84') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-04')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h4 id="d061" class="p-even">(一)鉴定方式</h4>
                    <p class="p-even">鉴定分理论知识和操作技能考核,采用闭卷笔试形式,理论知识和操作技能考核时间均为90分钟。</p>
                    <h4 id="d062" class="p-even">(二)鉴定标准</h4>
@@ -1275,6 +1342,22 @@
                    <p class="p-even">
                        焦虑是航空服务人员常见的情绪困扰,产生的原因多源于工作、生活与人际交往方面所遭受到的挫折。例如,发生纠纷事件,作为与旅客直接接触、面对面服务的航空服务人员(包括空中乘务员和地面服务人员),就处在矛盾最前沿,心理压力特别大,极易引发焦虑情绪。过度的或持久的焦虑会影响航空服务人员的正常心理活动,导致心理疾病,从而严重影响他们的正常生活和工作。
                    </p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathFive" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目二 任务4 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo04 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == 'a4835abeeb56542fbd5efe47d3310b18') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-05')" />
                            </el-tooltip>
                        </p>
                    </div>
                </div>
            </div>
        </div>
@@ -1697,14 +1780,16 @@
                </ul>
                <div class="bodystyle">
                    <p class="left p-even"><span class="bj2">拓展训练▼</span></p>
                    <p class="p-even">1.心理素质是由心理潜能、<input v-model="questionData.teskFour.four" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />、心理特点、<input v-model="questionData.teskFour.five" class="input-bottom-border  fz-14"
                        @change="setBookQuestion" />、<input v-model="questionData.teskFour.six" class="input-bottom-border  fz-14"
                        @change="setBookQuestion" />组成的。</p>
                    <p class="p-even">2.冷漠的表现包括缺乏积极的认知动机、<input v-model="questionData.teskFour.seven" class="input-bottom-border  fz-14"
                        @change="setBookQuestion" />、情感淡漠、<input v-model="questionData.teskFour.eight" class="input-bottom-border  fz-14"
                        @change="setBookQuestion" />、意志衰退、<input v-model="questionData.teskFour.nine" class="input-bottom-border  fz-14"
                        @change="setBookQuestion" />。</p>
                    <p class="p-even">1.心理素质是由心理潜能、<input v-model="questionData.teskFour.four"
                            class="input-bottom-border fz-14" @change="setBookQuestion" />、心理特点、<input
                            v-model="questionData.teskFour.five" class="input-bottom-border  fz-14"
                            @change="setBookQuestion" />、<input v-model="questionData.teskFour.six"
                            class="input-bottom-border  fz-14" @change="setBookQuestion" />组成的。</p>
                    <p class="p-even">2.冷漠的表现包括缺乏积极的认知动机、<input v-model="questionData.teskFour.seven"
                            class="input-bottom-border  fz-14" @change="setBookQuestion" />、情感淡漠、<input
                            v-model="questionData.teskFour.eight" class="input-bottom-border  fz-14"
                            @change="setBookQuestion" />、意志衰退、<input v-model="questionData.teskFour.nine"
                            class="input-bottom-border  fz-14" @change="setBookQuestion" />。</p>
                    <p class="left p-even"><span class="bj2">自我评价▼</span></p>
                    <textarea v-model="questionData.teskFour.ten" placeholder="请输入内容" rows="6"
                        class="fz-16 ml-9 block2 textarea-box" @change="setBookQuestion"></textarea>
@@ -1911,6 +1996,38 @@
                        <p>根据本任务所学,对照民航员工身体素质标准,小组研讨如何保持健康的体魄。</p>
                        <textarea v-model="questionData.teskFive.two" placeholder="请输入内容" rows="6"
                            class="fz-16 ml-2e  textarea-box" @change="setBookQuestion"></textarea>
                    </div>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathSix" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目二 任务5 仰卧起坐 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo05 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '84b6c6467a3be2a41452dcc2b5e6134a') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-06')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathSeven" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目二 任务5 体前屈</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo06 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == 'd804cf70e2973630865e75ad0ba89f96') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-07')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <div class="bj4 ml-9">
                        <div class="fl al-c mb-10">
@@ -2132,10 +2249,10 @@
                    <p class="left p-even"><span class="bj2">拓展训练▼</span></p>
                    <p class="p-even">请进行身体健康自我评估。</p>
                    <textarea v-model="questionData.teskFive.three" placeholder="请输入内容" rows="6"
                    class="fz-16 textarea-box-left" @change="setBookQuestion"></textarea>
                        class="fz-16 textarea-box-left" @change="setBookQuestion"></textarea>
                    <p class="left p-even"><span class="bj2">自我评价▼</span></p>
                    <textarea v-model="questionData.teskFive.four" placeholder="请输入内容" rows="6"
                    class="fz-16 textarea-box-left" @change="setBookQuestion"></textarea>
                        class="fz-16 textarea-box-left" @change="setBookQuestion"></textarea>
                </div>
            </div>
        </div>
@@ -2144,6 +2261,8 @@
<script>
import { getResourcePath } from "@/assets/methods/resources";
import { getCollectResource, setCollectResource } from "@/assets/methods/resources";
export default {
    name: "chapterTwo",
    props: {
@@ -2153,6 +2272,25 @@
    },
    data() {
        return {
            collectImg: require("../../assets/images/icon/heart.png"),
            collectCheck: require("../../assets/images/icon/heart-check.png"),
            videoPathOne: "",
            videoPathTwo: "",
            videoPathThree: "",
            videoPathFour: "",
            videoPathFive: "",
            videoPathSix: "",
            videoPathSeven: "",
            collectResourceList: [],
            chapterData: {
                isCollectVideo: false,
                isCollectVideo01: false,
                isCollectVideo02: false,
                isCollectVideo03: false,
                isCollectVideo04: false,
                isCollectVideo05: false,
                isCollectVideo06: false,
            },
            questionData: {
                teskOne: {
                    one: "",
@@ -2160,8 +2298,8 @@
                    three: "",
                    four: "",
                    five: "",
                    six:"",
                    seven:"",
                    six: "",
                    seven: "",
                },
                teskTwo: {
                    one: "",
@@ -2275,18 +2413,104 @@
            },
        };
    },
    mounted() {
    async mounted() {
        const bookQuestion = localStorage.getItem("aviation-book-chapter02");
        if (bookQuestion) {
            this.questionData = JSON.parse(bookQuestion);
        }
        const bookTableData = localStorage.getItem("aviation-book-chapter02-tableData");
        if (bookTableData) {
            this.tableData = JSON.parse(bookTableData);
        }
        const choiceQuestion = localStorage.getItem("aviation-book-chapter02-Data");
        if (choiceQuestion) {
            this.chapterData = JSON.parse(choiceQuestion);
        }
        this.getVidoePath();
        this.collectResourceList = await getCollectResource(this.config.activeBook.bookId)
    },
    methods: {
        async getVidoePath() {
            this.videoPathOne = await getResourcePath(
                "0ad0533dd0c9b76fa61dfc15448c3701"
            );
            this.videoPathTwo = await getResourcePath(
                "74178b45d436d5adc731024742f169fa"
            );
            this.videoPathThree = await getResourcePath(
                "088eaf1382e9ed4b330a1b3fa93f12e4"
            );
            this.videoPathFour = await getResourcePath(
                "1b93521d7ff9abe65a4d6b53e4facc84"
            );
            this.videoPathFive = await getResourcePath(
                "a4835abeeb56542fbd5efe47d3310b18"
            );
            this.videoPathSix = await getResourcePath(
                "84b6c6467a3be2a41452dcc2b5e6134a"
            );
            this.videoPathSeven = await getResourcePath(
                "d804cf70e2973630865e75ad0ba89f96"
            );
        },
        handleCollect(e) {
            if (e == 'video-01') {
                this.handleCollectResource("0ad0533dd0c9b76fa61dfc15448c3701", "0ad0533dd0c9b76fa61dfc15448c3701", '', "视频", "bits", '视频:项目二 导入_1')
                this.chapterData.isCollectVideo = !this.chapterData.isCollectVideo
            } else if (e == 'video-02') {
                this.handleCollectResource("74178b45d436d5adc731024742f169fa", "74178b45d436d5adc731024742f169fa", '', "视频", "bits", '视频:项目二 任务1')
                this.chapterData.isCollectVideo01 = !this.chapterData.isCollectVideo01
            } else if (e == 'video-03') {
                this.handleCollectResource("088eaf1382e9ed4b330a1b3fa93f12e4", "088eaf1382e9ed4b330a1b3fa93f12e4", '', "视频", "bits", '视频:项目二 任务2')
                this.chapterData.isCollectVideo02 = !this.chapterData.isCollectVideo02
            } else if (e == 'video-04') {
                this.handleCollectResource("1b93521d7ff9abe65a4d6b53e4facc84", "1b93521d7ff9abe65a4d6b53e4facc84", '', "视频", "bits", '视频:项目二 任务3')
                this.chapterData.isCollectVideo03 = !this.chapterData.isCollectVideo03
            } else if (e == 'video-05') {
                this.handleCollectResource("a4835abeeb56542fbd5efe47d3310b18", "a4835abeeb56542fbd5efe47d3310b18", '', "视频", "bits", '视频:项目二 任务4')
                this.chapterData.isCollectVideo04 = !this.chapterData.isCollectVideo04
            } else if (e == 'video-06') {
                this.handleCollectResource("84b6c6467a3be2a41452dcc2b5e6134a", "84b6c6467a3be2a41452dcc2b5e6134a", '', "视频", "bits", '视频:项目二 任务5 仰卧起坐')
                this.chapterData.isCollectVideo05 = !this.chapterData.isCollectVideo05
            } else if (e == 'video-07') {
                this.handleCollectResource("d804cf70e2973630865e75ad0ba89f96", "d804cf70e2973630865e75ad0ba89f96", '', "视频", "bits", '视频:项目二 任务5 体前屈')
                this.chapterData.isCollectVideo06 = !this.chapterData.isCollectVideo06
            }
            this.handleChapterData();
        },
        //资源收藏事件
        // resourcePath  文件路径,
        // resourceType  文件类型
        // source        文件来源
        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)
        },
        handleChapterData() {
            localStorage.setItem(
                "aviation-book-chapter02-Data",
                JSON.stringify(this.chapterData)
            );
        },
        setBookQuestion() {
            localStorage.setItem(
                "aviation-book-chapter02",
src/books/aviationBasicSkills/view/components/chapter003.vue
@@ -19,8 +19,22 @@
                        <p class="bj-1-zt">1.提高个人在人际沟通过程中的语言温度。</p>
                        <p class="bj-1-zt">2.提升民航对客服务沟通过程中的效能。</p>
                        <p><br></p>
                        <p><br></p>
                        <p><br></p>
                        <div class="video-box-cover">
                            <p class="center text">
                                <video :src="videoPathOne" webkit-playsinline="true" x-webkit-airplay="true"
                                    playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                    x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                    style=" border-radius: 10px; "></video>
                            </p>
                            <p class="center videoname">
                                <span>视频:项目三 导入 </span>
                                <el-tooltip class="item" effect="dark"
                                    :content="chapterData.isCollectVideo ? '点击取消' : '点击收藏'" placement="top-start">
                                    <img :src="collectResourceList.findIndex(item => item.id == 'f3397edec7e58dc77e76ce434e66f096') > -1 ? collectCheck : collectImg"
                                        alt="" class="collect-btn" @click="handleCollect('video-01')" />
                                </el-tooltip>
                            </p>
                        </div>
                        <p><br></p>
                    </div>
                </div>
@@ -196,6 +210,22 @@
                    <p class="p-even">如果您现在暂时不需要用餐,我们将在您需要时提供,到时请您按呼唤铃,我们将随时为您服务。</p>
                    <p class="p-even">我还能为(帮)您做点什么吗?</p>
                    <p class="p-even">(请稍等)我会尽力为您解决。</p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathTwo" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目三 任务1 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo01 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '9908b7f1a3e2197b0d74ffefc42a3fd9') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-02')" />
                            </el-tooltip>
                        </p>
                    </div>
                </div>
            </div>
        </div>
@@ -478,6 +508,22 @@
                    <p class="p-even">
                        雅语是指将一些不便直言的事用一种比较委婉、含蓄的方式表达。例如,在接待宾客时,用“几位”代替“几个人”,用“哪一位”代替“谁”,用“贵姓”代替“你姓什么”,用“我去方便一下”代替“我去上厕所”,用“这件衣服不太适合您”代替“您穿这件衣服很难看”,用“发福”代替“发胖”,等等。雅语的使用不是机械的、固定的,需要根据不同场合、不同人物、不同时间灵活运用。
                    </p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathThree" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目三 任务二 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo02 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '6669e5cb8d28967e1f03a2f9e1700c19') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-03')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h4 id="d088" class="p-even">(二)语言的风趣性</h4>
                    <p class="p-even">在日常交往中,生动幽默的语言能够起到活跃气氛、融洽感情、消除隔阂、增进沟通的作用。必要时,还能消除尴尬局面。</p>
                    <p class="p-even">在民航服务礼仪中,工作人员在接待旅客时,语言不能呆板,不要机械地回答,这样容易使旅客感觉工作人员不热情、业务不熟悉、责任心不强。</p>
@@ -724,6 +770,8 @@
</template>
<script>
import { getResourcePath } from "@/assets/methods/resources";
import { getCollectResource, setCollectResource } from "@/assets/methods/resources";
export default {
    name: "chapterThree",
    props: {
@@ -733,6 +781,17 @@
    },
    data() {
        return {
            collectImg: require("../../assets/images/icon/heart.png"),
            collectCheck: require("../../assets/images/icon/heart-check.png"),
            videoPathOne: "",
            videoPathTwo: "",
            videoPathThree: "",
            collectResourceList: [],
            chapterData: {
                isCollectVideo: false,
                isCollectVideo01: false,
                isCollectVideo02: false,
            },
            questionData: {
                teskOne: {
                    one: "",
@@ -786,7 +845,7 @@
            },
        };
    },
    mounted() {
    async mounted() {
        const bookQuestion = localStorage.getItem("aviation-book-chapter03");
        if (bookQuestion) {
            this.questionData = JSON.parse(bookQuestion);
@@ -796,8 +855,69 @@
            this.tableData = JSON.parse(bookTableData);
        }
        const choiceQuestion = localStorage.getItem("aviation-book-chapter03-Data");
        if (choiceQuestion) {
            this.chapterData = JSON.parse(choiceQuestion);
        }
        this.getVidoePath();
        this.collectResourceList = await getCollectResource(this.config.activeBook.bookId)
    },
    methods: {
        async getVidoePath() {
            this.videoPathOne = await getResourcePath(
                "f3397edec7e58dc77e76ce434e66f096"
            );
            this.videoPathTwo = await getResourcePath(
                "9908b7f1a3e2197b0d74ffefc42a3fd9"
            );
            this.videoPathThree = await getResourcePath(
                "6669e5cb8d28967e1f03a2f9e1700c19"
            );
        },
        handleCollect(e) {
            if (e == 'video-01') {
                this.handleCollectResource("f3397edec7e58dc77e76ce434e66f096", "f3397edec7e58dc77e76ce434e66f096", '', "视频", "bits", '视频:项目三 导入')
                this.chapterData.isCollectVideo = !this.chapterData.isCollectVideo
            } else if (e == 'video-02') {
                this.handleCollectResource("9908b7f1a3e2197b0d74ffefc42a3fd9", "9908b7f1a3e2197b0d74ffefc42a3fd9", '', "视频", "bits", '视频:项目三 任务1')
                this.chapterData.isCollectVideo01 = !this.chapterData.isCollectVideo01
            } else if (e == 'video-03') {
                this.handleCollectResource("6669e5cb8d28967e1f03a2f9e1700c19", "6669e5cb8d28967e1f03a2f9e1700c19", '', "视频", "bits", '视频:项目三 任务二')
                this.chapterData.isCollectVideo02 = !this.chapterData.isCollectVideo02
            }
            this.handleChapterData();
        },
        //资源收藏事件
        // resourcePath  文件路径,
        // resourceType  文件类型
        // source        文件来源
        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)
        },
        handleChapterData() {
            localStorage.setItem(
                "aviation-book-chapter03-Data",
                JSON.stringify(this.chapterData)
            );
        },
        setBookQuestion() {
            localStorage.setItem(
                "aviation-book-chapter03",
src/books/aviationBasicSkills/view/components/chapter004.vue
@@ -20,7 +20,22 @@
                        <p class="bj-1-zt">1.提升感知美、理解美、创造美的个人美商素养。</p>
                        <p class="bj-1-zt">2.提升民航对客服务过程中的个人修养和职业情操。</p>
                        <p><br></p>
                        <p><br></p>
                        <div class="video-box-cover">
                            <p class="center text">
                                <video :src="videoPathOne" webkit-playsinline="true" x-webkit-airplay="true"
                                    playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                    x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                    style=" border-radius: 10px; "></video>
                            </p>
                            <p class="center videoname">
                                <span>视频:项目四 导入 </span>
                                <el-tooltip class="item" effect="dark"
                                    :content="chapterData.isCollectVideo ? '点击取消' : '点击收藏'" placement="top-start">
                                    <img :src="collectResourceList.findIndex(item => item.id == '7e45c5e6cf440f0529af765b0acc29c3') > -1 ? collectCheck : collectImg"
                                        alt="" class="collect-btn" @click="handleCollect('video-01')" />
                                </el-tooltip>
                            </p>
                        </div>
                        <p><br></p>
                    </div>
                </div>
@@ -41,7 +56,7 @@
                        作为一名民航从业人员,在工作岗位上,你可以通过哪些行为展示个人良好的工作状态呢?在任务一中,你将学会如何通过运用表情、仪态、手势,展现自己对客服务过程中的良好状态,提升民航服务品质。</p>
                    <p class="p-even block2">学完任务一后,你应当掌握如何通过阳光的微笑、良好的仪态、规范的手势来向旅客展示积极的服务形象。</p>
                    <textarea v-model="questionData.teskOne.one" placeholder="请输入内容" rows="6"
                    class="fz-16 block2 ml-9 textarea-box" @change="setBookQuestion"></textarea>
                        class="fz-16 block2 ml-9 textarea-box" @change="setBookQuestion"></textarea>
                    <p class="left p-even"><span class="bj2">知识准备▼</span></p>
                    <h3 id="c031" class="p-even"><span class="zt-h4 unit4-c">一、</span><span
                            class="qyls-h4 unit4-c">表情礼仪</span></h3>
@@ -347,6 +362,39 @@
                    <p class="p-odd">④男士不可将双腿叉得过开,或将双腿过分伸张,或一腿弯曲、一腿伸直呈现“4”字形,或将小腿搁在大腿上,用脚打拍子,甚至不停地抖腿。</p>
                    <p class="p-odd">⑤跷腿时,切忌将悬空的脚尖朝上或指向他人。</p>
                    <p class="p-odd">⑥与邻座交谈时,可以侧坐,并将上身和腿同时转向交谈对象。</p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathTwo" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目四1 女士行为礼仪 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo01 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '4f89a0d37249e0773fddc0b3c587a4a6') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-02')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathThree" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目四1 男士行为礼仪 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo02 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '1570fec423a81f76007b8ea5b433e72a') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-03')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h4 id="d097" class="p-odd">(三)走姿</h4>
                    <p class="p-odd">走姿是人体所呈现出的一种动态,是站姿的延续。规范的走姿,是展示自己气质与修养的重要形式。注意走姿可以防止身体变形,甚至可以预防颈椎病。</p>
                    <h5 id="e051" class="p-odd">1.走姿的基本要领</h5>
@@ -614,16 +662,32 @@
                    <p class="p-even">
                        打响指就是用手的拇指与中指弹出声响。它所表示的意义比较复杂:有时表示高兴;有时表示对所说的话或所做的举动感兴趣或完全赞同;有时则视为某种轻浮的动作,比如对某人或异性打响指。</p>
                    <p class="p-even">在陌生的场合或不熟悉的人面前,轻易地打响指,会使人觉得没有教养。即便是碰到熟人打招呼时打响指,也会使人觉得不舒服。总之,这是一种很随便的举止,慎用为好。</p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathFour" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目四1 鞠躬技能要点讲解 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo03 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '717ab2e44c2a8ede7ccaf8d69d8ea76d') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-04')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <div class="bj5 ml-9">
                        <div class="bj5-xyx">
                            <p class="td-0"><span class="bj5-xyx">课堂研讨</span></p>
                        </div>
                        <p>1.行为礼仪有哪些基本要素?</p>
                        <textarea v-model="questionData.teskOne.two" placeholder="请输入内容" rows="6"
                        class="fz-16  ml-2e textarea-box" @change="setBookQuestion"></textarea>
                            class="fz-16  ml-2e textarea-box" @change="setBookQuestion"></textarea>
                        <p>2.行为礼仪在民航对客服务中的作用是什么?</p>
                        <textarea v-model="questionData.teskOne.three" placeholder="请输入内容" rows="6"
                        class="fz-16  ml-2e textarea-box" @change="setBookQuestion"></textarea>
                            class="fz-16  ml-2e textarea-box" @change="setBookQuestion"></textarea>
                    </div>
                    <p class="left p-even"><span class="bj2">任务工单▼</span></p>
                    <table border="1" cellpadding="4" cellspacing="0"
@@ -833,7 +897,7 @@
                    <p class="p-odd">分组进行站姿、坐姿、蹲姿、走姿训练。</p>
                    <p class="left p-odd"><span class="bj2">自我评价▼</span></p>
                    <textarea v-model="questionData.teskOne.four" placeholder="请输入内容" rows="6"
                    class="fz-16 textarea-box-right" @change="setBookQuestion"></textarea>
                        class="fz-16 textarea-box-right" @change="setBookQuestion"></textarea>
                </div>
            </div>
        </div>
@@ -852,7 +916,7 @@
                        民航从业人员的个人形象代表着公司的企业形象和民航的整体形象。通过本任务的学习,你将学会如何通过提升面部修饰能力、服饰着装规范来提升个人整体形象,展现民航服务品质。</p>
                    <p class="block2 p-even">本任务包含面部修饰、服饰修饰两个小任务。在结束整个任务学习后,你应当能够进行正确的面部修饰,以及规范的服饰着装,并且向旅客展示良好的个人形象。</p>
                    <textarea v-model="questionData.teskTwo.one" placeholder="请输入内容" rows="6"
                    class="fz-16 ml-9 textarea-box" @change="setBookQuestion"></textarea>
                        class="fz-16 ml-9 textarea-box" @change="setBookQuestion"></textarea>
                    <p class="left p-even"><span class="bj2">知识准备▼</span></p>
                    <h3 id="c034" class="p-even"><span class="zt-h4 unit4-c">一、</span><span
                            class="qyls-h4 unit4-c">面部修饰</span></h3>
@@ -921,6 +985,22 @@
                    <p class="p-even">③眉毛的修饰:一般从眉头开始,按照眉毛的自然生长方向描画。</p>
                    <p class="p-even">④上腮红:上腮红的目的,一是表现皮肤的健康红润,二是利用腮红的位置和方向来矫正脸形。</p>
                    <p class="p-even">⑤涂口红:涂口红时,注意不能超出唇线。口红颜色的选择应和年龄、服装、场合、职业和季节等协调。</p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathFive" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目四2 职业彩妆技能讲解 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo04 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '9d42449fd876884fe3426db499c81913') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-05')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h4 id="d104" class="p-even">(二)发型修饰</h4>
                    <p class="p-even">
                        人们在互相打量时,通常是从头到脚,发型适当与否,直接影响到对方对你印象的好坏。因此,美发就成为人们塑造仪容美的重头戏。民航服务人员发型修饰的基调是:活泼开朗、朝气蓬勃、干净利落、端庄持重。
@@ -930,6 +1010,22 @@
                    <p class="p-even">民航服务人员在选择发型时,应考虑自己的脸形、年龄等相关因素。</p>
                    <p class="p-even">(1)要与脸形结合起来。比如,长脸者在选择发型时,轮廓应平伏些,尤其是前额的刘海应留得长而多一些。</p>
                    <p class="p-even">(2)要与年龄相称。比如,年轻的民航服务人员可选择新颖、别致而又健康、大方的发型。</p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathSix" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目四2 职业盘发技能讲解 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo05 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == 'c44d8965f8f6d2f7b20132b66dd400e7') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-06')" />
                            </el-tooltip>
                        </p>
                    </div>
                </div>
            </div>
        </div>
@@ -969,13 +1065,13 @@
                        </div>
                        <p>1.面部修饰的基本方法有哪些?</p>
                        <textarea v-model="questionData.teskTwo.two" placeholder="请输入内容" rows="6"
                        class="fz-16 ml-9 textarea-box" @change="setBookQuestion"></textarea>
                            class="fz-16 ml-9 textarea-box" @change="setBookQuestion"></textarea>
                        <p>2.女性化妆的禁忌有哪些?</p>
                        <textarea v-model="questionData.teskTwo.three" placeholder="请输入内容" rows="6"
                        class="fz-16 ml-9 textarea-box" @change="setBookQuestion"></textarea>
                            class="fz-16 ml-9 textarea-box" @change="setBookQuestion"></textarea>
                        <p>3.民航工作对发型的基本要求是什么?</p>
                        <textarea v-model="questionData.teskTwo.four" placeholder="请输入内容" rows="6"
                        class="fz-16 ml-9 textarea-box" @change="setBookQuestion"></textarea>
                            class="fz-16 ml-9 textarea-box" @change="setBookQuestion"></textarea>
                    </div>
                    <h3 id="c035"><span class="zt-h4 unit4-c">二、</span><span class="qyls-h4 unit4-c">服饰修饰</span></h3>
                    <p class="p-odd">穿着得体、容貌端庄、举止文雅是民航服务人员审美情趣和文化修养的</p>
@@ -1062,6 +1158,39 @@
                        ⑤鞋袜须合适。鞋是制服的一部分。每天应当把皮鞋擦得干净、光亮,破损的鞋子应及时修补或更换。通常男士的袜子应与鞋子的颜色和谐,以白色黑色最为普遍。女士应穿与肤色相近的丝袜,袜口不要露在裤子或裙子外边。
                    </p>
                    <p class="p-even">⑥体现文明。根据接待礼仪的基本规定,身着制服上岗时要显示文明、高雅的气质。</p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathSeven" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目四1 系丝巾技能要点讲解</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo06 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '4edc5de0179514d5869973cb93c1eeb2') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-07')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathEight" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目四1 系领带技能要点讲解</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo07 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '1eaf0f7ac922aaf33d00c5a4b06c7ac6') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-08')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <p class="left p-even mt-20"><span class="bj2">任务工单▼</span></p>
                    <table border="1" cellpadding="4" cellspacing="0"
                        style="border-color: #5192c6; border-collapse: collapse" class="fz-15 ml-9">
@@ -1285,7 +1414,7 @@
                    <p class="p-odd">(4)整体视角:发型挺阔、干净清爽。</p>
                    <p class="left p-odd"><span class="bj2">自我评价▼</span></p>
                    <textarea v-model="questionData.teskTwo.five" placeholder="请输入内容" rows="6"
                    class="fz-16 textarea-box-right" @change="setBookQuestion"></textarea>
                        class="fz-16 textarea-box-right" @change="setBookQuestion"></textarea>
                </div>
            </div>
        </div>
@@ -1295,6 +1424,8 @@
    </div>
</template>
<script>
import { getResourcePath } from "@/assets/methods/resources";
import { getCollectResource, setCollectResource } from "@/assets/methods/resources";
export default {
    name: "chapterFour",
    props: {
@@ -1304,6 +1435,27 @@
    },
    data() {
        return {
            collectImg: require("../../assets/images/icon/heart.png"),
            collectCheck: require("../../assets/images/icon/heart-check.png"),
            videoPathOne: "",
            videoPathTwo: "",
            videoPathThree: "",
            videoPathFour: "",
            videoPathFive: "",
            videoPathSix: "",
            videoPathSeven: "",
            videoPathEight: "",
            collectResourceList: [],
            chapterData: {
                isCollectVideo: false,
                isCollectVideo01: false,
                isCollectVideo02: false,
                isCollectVideo03: false,
                isCollectVideo04: false,
                isCollectVideo05: false,
                isCollectVideo06: false,
                isCollectVideo07: false,
            },
            questionData: {
                teskOne: {
                    one: "",
@@ -1316,7 +1468,7 @@
                    two: "",
                    three: "",
                    four: "",
                    five:"",
                    five: "",
                },
            },
            tableData: {
@@ -1355,7 +1507,7 @@
            },
        };
    },
    mounted() {
    async mounted() {
        const bookQuestion = localStorage.getItem("aviation-book-chapter04");
        if (bookQuestion) {
            this.questionData = JSON.parse(bookQuestion);
@@ -1365,8 +1517,99 @@
            this.tableData = JSON.parse(bookTableData);
        }
        const choiceQuestion = localStorage.getItem("aviation-book-chapter04-Data");
        if (choiceQuestion) {
            this.chapterData = JSON.parse(choiceQuestion);
        }
        this.getVidoePath();
        this.collectResourceList = await getCollectResource(this.config.activeBook.bookId)
    },
    methods: {
        async getVidoePath() {
            this.videoPathOne = await getResourcePath(
                "7e45c5e6cf440f0529af765b0acc29c3"
            );
            this.videoPathTwo = await getResourcePath(
                "4f89a0d37249e0773fddc0b3c587a4a6"
            );
            this.videoPathThree = await getResourcePath(
                "1570fec423a81f76007b8ea5b433e72a"
            );
            this.videoPathFour = await getResourcePath(
                "717ab2e44c2a8ede7ccaf8d69d8ea76d"
            );
            this.videoPathFive = await getResourcePath(
                "9d42449fd876884fe3426db499c81913"
            );
            this.videoPathSix = await getResourcePath(
                "c44d8965f8f6d2f7b20132b66dd400e7"
            );
            this.videoPathSeven = await getResourcePath(
                "4edc5de0179514d5869973cb93c1eeb2"
            );
            this.videoPathEight = await getResourcePath(
                "1eaf0f7ac922aaf33d00c5a4b06c7ac6"
            );
        },
        handleCollect(e) {
            if (e == 'video-01') {
                this.handleCollectResource("7e45c5e6cf440f0529af765b0acc29c3", "7e45c5e6cf440f0529af765b0acc29c3", '', "视频", "bits", '视频:项目四 导入')
                this.chapterData.isCollectVideo = !this.chapterData.isCollectVideo
            } else if (e == 'video-02') {
                this.handleCollectResource("4f89a0d37249e0773fddc0b3c587a4a6", "4f89a0d37249e0773fddc0b3c587a4a6", '', "视频", "bits", '视频:项目四1 女士行为礼仪')
                this.chapterData.isCollectVideo01 = !this.chapterData.isCollectVideo01
            } else if (e == 'video-03') {
                this.handleCollectResource("1570fec423a81f76007b8ea5b433e72a", "1570fec423a81f76007b8ea5b433e72a", '', "视频", "bits", '视频:项目四1 男士行为礼仪')
                this.chapterData.isCollectVideo02 = !this.chapterData.isCollectVideo02
            } else if (e == 'video-04') {
                this.handleCollectResource("717ab2e44c2a8ede7ccaf8d69d8ea76d", "717ab2e44c2a8ede7ccaf8d69d8ea76d", '', "视频", "bits", '视频:项目四1 鞠躬技能要点讲解')
                this.chapterData.isCollectVideo03 = !this.chapterData.isCollectVideo03
            } else if (e == 'video-05') {
                this.handleCollectResource("9d42449fd876884fe3426db499c81913", "9d42449fd876884fe3426db499c81913", '', "视频", "bits", '视频:项目四2 职业彩妆技能讲解')
                this.chapterData.isCollectVideo04 = !this.chapterData.isCollectVideo04
            } else if (e == 'video-06') {
                this.handleCollectResource("c44d8965f8f6d2f7b20132b66dd400e7", "c44d8965f8f6d2f7b20132b66dd400e7", '', "视频", "bits", '视频:项目四2 职业盘发技能讲解')
                this.chapterData.isCollectVideo05 = !this.chapterData.isCollectVideo05
            } else if (e == 'video-07') {
                this.handleCollectResource("4edc5de0179514d5869973cb93c1eeb2", "4edc5de0179514d5869973cb93c1eeb2", '', "视频", "bits", '视频:项目四1 系丝巾技能要点讲解')
                this.chapterData.isCollectVideo06 = !this.chapterData.isCollectVideo06
            } else if (e == 'video-08') {
                this.handleCollectResource("1eaf0f7ac922aaf33d00c5a4b06c7ac6", "1eaf0f7ac922aaf33d00c5a4b06c7ac6", '', "视频", "bits", '视频:项目四1 系领带技能要点讲解')
                this.chapterData.isCollectVideo07 = !this.chapterData.isCollectVideo07
            }
            this.handleChapterData();
        },
        //资源收藏事件
        // resourcePath  文件路径,
        // resourceType  文件类型
        // source        文件来源
        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)
        },
        handleChapterData() {
            localStorage.setItem(
                "aviation-book-chapter04-Data",
                JSON.stringify(this.chapterData)
            );
        },
        setBookQuestion() {
            localStorage.setItem(
                "aviation-book-chapter04",
src/books/aviationBasicSkills/view/components/chapter005.vue
@@ -22,7 +22,22 @@
                        <p class="bj-1-zt">2.培养踏实肯干、勤奋好学、上下联动、积极沟通的职业素养。</p>
                        <p class="bj-1-zt">3.养成严谨务实、开拓创新、真情实意、以人为本的职业态度。</p>
                        <p><br></p>
                        <p><br></p>
                        <div class="video-box-cover">
                            <p class="center text">
                                <video :src="videoPathOne" webkit-playsinline="true" x-webkit-airplay="true"
                                    playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                    x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                    style=" border-radius: 10px; "></video>
                            </p>
                            <p class="center videoname">
                                <span>视频:项目五 导入_1 </span>
                                <el-tooltip class="item" effect="dark"
                                    :content="chapterData.isCollectVideo ? '点击取消' : '点击收藏'" placement="top-start">
                                    <img :src="collectResourceList.findIndex(item => item.id == '665da7513bb7123d5bae84feae3cd6d6') > -1 ? collectCheck : collectImg"
                                        alt="" class="collect-btn" @click="handleCollect('video-01')" />
                                </el-tooltip>
                            </p>
                        </div>
                        <p><br></p>
                    </div>
                </div>
@@ -162,6 +177,22 @@
                    <p class="p-odd">
                        旅客使用手机上网登录航空公司网站或使用小程序选择相应的航程,自行操作完成选座,生成电子登机牌。需要托运行李的旅客到达机场后可到人工柜台交运行李,打印登机牌。旅客凭电子登机牌或纸质登机牌都可完成安检登机。
                    </p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathTwo" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目五 任务1 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo01 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == 'd54fca9b232c021dbd52762af605c926') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-02')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <div class="bj5 mr-9">
                        <div class="bj5-xyx">
                            <p class="td-0"><span class="bj5-xyx">课堂研讨</span></p>
@@ -505,6 +536,22 @@
                    </p>
                    <h4 id="d126" class="p-even">(二)办理乘机手续</h4>
                    <p class="p-even">办理乘机手续的主要内容是查验旅客的旅行文件,为旅客安排座位、托运行李、打印登机牌和行李条。</p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathThree" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目五 任务二 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo02 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '42a9fba9050e235ec7511ba0c4b2c0b4') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-03')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h4 id="d127" class="p-even">(三)结算报载</h4>
                    <p class="p-even">①航班关闭后,进行两复核。就是查看登机牌发放数与离港系统办理的人数是否完全一致,如果不一致,要立即查找原因。</p>
                    <p class="p-even">②与装卸队核对行李件数和质量,办理交接手续。</p>
@@ -798,13 +845,15 @@
                    <p class="p-odd">1.值机柜台分为哪几种?</p>
                    <textarea v-model="questionData.teskTwo.three" placeholder="请输入内容" rows="6"
                        class="fz-16 mr-9  textarea-box-right" @change="setBookQuestion"></textarea>
                    <p class="p-odd">2.托运行李的质量每件不能超过<input v-model="questionData.teskTwo.four" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />千克,体积每件不能超过<input v-model="questionData.teskTwo.five" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />厘米,若超过需要去<input v-model="questionData.teskTwo.six" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />办理值机手续。</p>
                    <p class="p-odd">3.航班关闭两复核,就是查看<input v-model="questionData.teskTwo.seven" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />与<input v-model="questionData.teskTwo.eight" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />。</p>
                    <p class="p-odd">2.托运行李的质量每件不能超过<input v-model="questionData.teskTwo.four"
                            class="input-bottom-border fz-14" @change="setBookQuestion" />千克,体积每件不能超过<input
                            v-model="questionData.teskTwo.five" class="input-bottom-border fz-14"
                            @change="setBookQuestion" />厘米,若超过需要去<input v-model="questionData.teskTwo.six"
                            class="input-bottom-border fz-14" @change="setBookQuestion" />办理值机手续。</p>
                    <p class="p-odd">3.航班关闭两复核,就是查看<input v-model="questionData.teskTwo.seven"
                            class="input-bottom-border fz-14" @change="setBookQuestion" />与<input
                            v-model="questionData.teskTwo.eight" class="input-bottom-border fz-14"
                            @change="setBookQuestion" />。</p>
                    <p class="p-odd">4.简述航程不同阶段的值机工作流程。</p>
                    <textarea v-model="questionData.teskTwo.nine" placeholder="请输入内容" rows="6"
                        class="fz-16  textarea-box-right" @change="setBookQuestion"></textarea>
@@ -937,6 +986,22 @@
                        <p class="p-odd">③检查行李的包装、体积、质量是否符合要求。</p>
                        <p class="p-odd">④行李称重,与免费行李额比较,决定是否收费,并对应该收费的收取逾重行李费。</p>
                    </span>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathFour" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目五 任务三_1 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo03 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == 'e30cc3eb8514972b784bcfcacb82d26f') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-04')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h3 id="c047" class="p-odd"><span class="zt-h4">六、</span><span class="qyls-h4">报载</span></h3>
                    <p class="p-odd">
                        ①值机员为旅客办理完值机业务、关闭本次航班后,应统计发放登机牌的数量,并与离港系统中的人数、行李件数、行李质量进行核对,用对讲机与行李房核对行李件数。如果货运收运了团队行李,应将件数和质量通知该航班值机员,值机员应及时将行李件数、质量加入离港计算机系统中,以便配载员配载以及核对。
@@ -1169,7 +1234,7 @@
                            <td class="center w20">序号</td>
                            <td class="center" colspan="2">检查事项</td>
                            <td class="center w15">组长签字</td>
                        </tr>
                        </tr>
                        <tr class="table-tr-bc">
                            <td class="center">
                                <input v-model="tableData.teskTableThree.three" class="table-input-border fz-14"
@@ -1300,7 +1365,7 @@
                    <p class="p-odd">(2)每组成员选定角色,使用登机牌、行李箱和行李条等开展乘机手续的办理活动。</p>
                    <p class="left p-oddd"><span class="bj2">自我评价▼</span></p>
                    <textarea v-model="questionData.teskThree.three" placeholder="请输入内容" rows="6"
                    class="fz-16 mr-9 textarea-box" @change="setBookQuestion"></textarea>
                        class="fz-16 mr-9 textarea-box" @change="setBookQuestion"></textarea>
                </div>
            </div>
        </div>
@@ -1311,6 +1376,8 @@
</template>
<script>
import { getResourcePath } from "@/assets/methods/resources";
import { getCollectResource, setCollectResource } from "@/assets/methods/resources";
export default {
    name: "chapterFive",
    props: {
@@ -1320,6 +1387,19 @@
    },
    data() {
        return {
            collectImg: require("../../assets/images/icon/heart.png"),
            collectCheck: require("../../assets/images/icon/heart-check.png"),
            videoPathOne: "",
            videoPathTwo: "",
            videoPathThree: "",
            videoPathFour: "",
            collectResourceList: [],
            chapterData: {
                isCollectVideo: false,
                isCollectVideo01: false,
                isCollectVideo02: false,
                isCollectVideo03: false,
            },
            questionData: {
                teskOne: {
                    one: "",
@@ -1398,17 +1478,17 @@
                    twelve: "",
                    thirteen: "",
                    fourteen: "",
                    fifteen:"",
                    sixteen:"",
                    seventeen:"",
                    eighteen:"",
                    nineteen:"",
                    twenty:"",
                    fifteen: "",
                    sixteen: "",
                    seventeen: "",
                    eighteen: "",
                    nineteen: "",
                    twenty: "",
                },
            },
        };
    },
    mounted() {
    async mounted() {
        const bookQuestion = localStorage.getItem("aviation-book-chapter05");
        if (bookQuestion) {
            this.questionData = JSON.parse(bookQuestion);
@@ -1418,8 +1498,72 @@
            this.tableData = JSON.parse(bookTableData);
        }
        const choiceQuestion = localStorage.getItem("aviation-book-chapter05-Data");
        if (choiceQuestion) {
            this.chapterData = JSON.parse(choiceQuestion);
        }
        this.getVidoePath();
        this.collectResourceList = await getCollectResource(this.config.activeBook.bookId)
    },
    methods: {
        async getVidoePath() {
            this.videoPathOne = await getResourcePath(
                "665da7513bb7123d5bae84feae3cd6d6"
            );
            this.videoPathTwo = await getResourcePath(
                "d54fca9b232c021dbd52762af605c926"
            );
            this.videoPathThree = await getResourcePath(
                "42a9fba9050e235ec7511ba0c4b2c0b4"
            );
            this.videoPathFour = await getResourcePath(
                "e30cc3eb8514972b784bcfcacb82d26f"
            );
        },
        handleCollect(e) {
            if (e == 'video-01') {
                this.handleCollectResource("665da7513bb7123d5bae84feae3cd6d6", "665da7513bb7123d5bae84feae3cd6d6", '', "视频", "bits", '视频:项目五 导入_1')
                this.chapterData.isCollectVideo = !this.chapterData.isCollectVideo
            } else if (e == 'video-02') {
                this.handleCollectResource("d54fca9b232c021dbd52762af605c926", "d54fca9b232c021dbd52762af605c926", '', "视频", "bits", '视频:项目五 任务1')
                this.chapterData.isCollectVideo01 = !this.chapterData.isCollectVideo01
            } else if (e == 'video-03') {
                this.handleCollectResource("42a9fba9050e235ec7511ba0c4b2c0b4", "42a9fba9050e235ec7511ba0c4b2c0b4", '', "视频", "bits", '视频:项目五 任务二')
                this.chapterData.isCollectVideo02 = !this.chapterData.isCollectVideo02
            } else if (e == 'video-04') {
                this.handleCollectResource("e30cc3eb8514972b784bcfcacb82d26f", "e30cc3eb8514972b784bcfcacb82d26f", '', "视频", "bits", '视频:项目五 任务三_1')
                this.chapterData.isCollectVideo03 = !this.chapterData.isCollectVideo03
            }
            this.handleChapterData();
        },
        //资源收藏事件
        // resourcePath  文件路径,
        // resourceType  文件类型
        // source        文件来源
        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)
        },
        handleChapterData() {
            localStorage.setItem(
                "aviation-book-chapter05-Data",
                JSON.stringify(this.chapterData)
            );
        },
        setBookQuestion() {
            localStorage.setItem(
                "aviation-book-chapter05",
src/books/aviationBasicSkills/view/components/chapter006.vue
@@ -22,6 +22,22 @@
                        <p class="bj-1-zt">3.具备危机意识和“安全责任重于泰山”的责任意识。</p>
                        <p class="bj-1-zt">4.具备优质的文明服务意识,文明执勤、热情服务。</p>
                        <p><br></p>
                        <div class="video-box-cover">
                            <p class="center text">
                                <video :src="videoPathOne" webkit-playsinline="true" x-webkit-airplay="true"
                                    playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                    x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                    style=" border-radius: 10px; "></video>
                            </p>
                            <p class="center videoname">
                                <span>视频:项目六 导入 </span>
                                <el-tooltip class="item" effect="dark"
                                    :content="chapterData.isCollectVideo ? '点击取消' : '点击收藏'" placement="top-start">
                                    <img :src="collectResourceList.findIndex(item => item.id == 'a83b9d9ab22d0fd1d84990df6f1b127e') > -1 ? collectCheck : collectImg"
                                        alt="" class="collect-btn" @click="handleCollect('video-01')" />
                                </el-tooltip>
                            </p>
                        </div>
                        <p><br></p>
                    </div>
                </div>
@@ -78,6 +94,22 @@
                    <p class="p-odd">②旅客到达安检通道前传位置,将手提行李与身上的小件金属物品放置在X射线机传送带上并过机检查。</p>
                    <p class="p-odd">③按照前传检查员的指引,旅客通过金属探测门并接受人身检查。</p>
                    <p class="p-odd">④如手提行李需要开箱/包检查,旅客应配合安检人员检查。</p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathTwo" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目六 项目一 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo01 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == 'f82bcad075774964b82ae8aa43d9a7f0') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-02')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h3 id="c054" class="p-odd"><span class="zt-h4 unit2-c">四、</span><span
                            class="qyls-h4 unit2-c">安检的准备及实施</span></h3>
                    <p class="p-odd">
@@ -362,6 +394,22 @@
                        <p class="p-even">⑤录入信息并盖章。将登机牌信息和旅客信息录入安检信息管理系统,以备查用。查验无误后,按规定在登机牌上加盖验讫章。</p>
                    </span>
                    <p class="p-even">⑥票证整理。将旅客的票证整理整齐,双手将证件、登机牌、客票递还给旅客,并目视旅客道谢。</p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathThree" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目六 项目二 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo02 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == 'f9b156c70fc8d593f0095ef535360551') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-03')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h3 id="c057" class="p-even"><span class="zt-h4 unit2-c">三、</span><span
                            class="qyls-h4 unit2-c">证件检查的方法</span></h3>
                    <p class="p-even">检查证件时应采取检查、观察和询问相结合的方法,具体为一看、二对、三问。</p>
@@ -607,16 +655,19 @@
                        </tr>
                    </table>
                    <p class="left p-even"><span class="bj2">拓展训练▼</span></p>
                    <p class=" p-even">1.检查证件时应采取<input v-model="questionData.teskTwo.three" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />、<input v-model="questionData.teskTwo.four" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />和<input v-model="questionData.teskTwo.five" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />相结合的方法,具体为<input v-model="questionData.teskTwo.six" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />、<input v-model="questionData.teskTwo.seven" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />、<input v-model="questionData.teskTwo.eight" class="input-bottom-border fz-14"
                        @change="setBookQuestion" />。</p>
                    <p class=" p-even">1.检查证件时应采取<input v-model="questionData.teskTwo.three"
                            class="input-bottom-border fz-14" @change="setBookQuestion" />、<input
                            v-model="questionData.teskTwo.four" class="input-bottom-border fz-14"
                            @change="setBookQuestion" />和<input v-model="questionData.teskTwo.five"
                            class="input-bottom-border fz-14" @change="setBookQuestion" />相结合的方法,具体为<input
                            v-model="questionData.teskTwo.six" class="input-bottom-border fz-14"
                            @change="setBookQuestion" />、<input v-model="questionData.teskTwo.seven"
                            class="input-bottom-border fz-14" @change="setBookQuestion" />、<input
                            v-model="questionData.teskTwo.eight" class="input-bottom-border fz-14"
                            @change="setBookQuestion" />。</p>
                    <p class=" p-even">2.简述验证岗位人员执勤时的注意事项。</p>
                    <textarea v-model="questionData.teskTwo.nine" placeholder="请输入内容" rows="6"
                    class="fz-16  textarea-box-left" @change="setBookQuestion"></textarea>
                        class="fz-16  textarea-box-left" @change="setBookQuestion"></textarea>
                    <p class="left p-even"><span class="bj2">自我评价▼</span></p>
                    <textarea v-model="questionData.teskTwo.ten" placeholder="请输入内容" rows="6"
                        class="fz-16  textarea-box-left" @change="setBookQuestion"></textarea>
@@ -681,6 +732,22 @@
                    </p>
                    <p class="p-even">⑨腹部。腹部空间较大,易藏匿相对大型的危险品和较多的违禁品,从外表上不易看出,须通过摸、按、压等方法从严检查。</p>
                    <p class="p-even">⑩脚部。脚部容易藏匿枪支、炸药、子弹、刀具等。</p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathFour" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目六 项目三 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo03 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '9e3e5573e2af66a565039ee9f4c9bb0e') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-04')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h3 id="c061" class="p-even"><span class="zt-h4  unit2-c">三、</span><span
                            class="qyls-h4  unit2-c">人身检查的重点对象</span></h3>
                    <p class="p-even">对旅客进行人身检查时,有下列情况之一者,应列为重点检查对象,要特别注意从严仔细检查。</p>
@@ -1003,6 +1070,22 @@
                    <p class="p-odd">⑦协助物主复原箱/包,并将箱/包移送X射线机复查。</p>
                    <p class="p-odd">⑧检查完毕后提醒物主携带好随身物品(如登机牌、身份证、手机、眼镜等),防止其离开时遗留物品。</p>
                    <p class="p-odd">⑨遇有过检人员携带不愿意接受X射线机检查的物品,应进行手工检查。</p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathFive" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目六 项目四 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo04 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '68ae02257e5c82558a4b224770bd1ab6') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-05')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h3 id="c065" class="p-odd"><span class="zt-h4 unit2-c">二、</span><span
                            class="qyls-h4 unit2-c">开箱/包检查的方法</span></h3>
                    <p class="p-odd">检查过程中,一般通过人的眼、耳、鼻、手等进行检查,开箱/包检查员应根据物品种类采取相应的方法(看、听、嗅、摸、拆、掂、捏、探、摇)进行检查。</p>
@@ -1256,13 +1339,13 @@
                    <p class="left p-odd"><span class="bj2">拓展训练▼</span></p>
                    <p class=" p-odd">1.行李开箱/包检查员在岗位上发现一名老人将水果刀藏在雨伞里,该如何操作?</p>
                    <textarea v-model="questionData.teskFour.three" placeholder="请输入内容" rows="6"
                    class="fz-16 textarea-box-right" @change="setBookQuestion"></textarea>
                        class="fz-16 textarea-box-right" @change="setBookQuestion"></textarea>
                    <p class=" p-odd">2.如何有效避免开箱/包过程中违禁品被转移?</p>
                    <textarea v-model="questionData.teskFour.four" placeholder="请输入内容" rows="6"
                    class="fz-16 textarea-box-right" @change="setBookQuestion"></textarea>
                        class="fz-16 textarea-box-right" @change="setBookQuestion"></textarea>
                    <p class="left p-odd"><span class="bj2">自我评价▼</span></p>
                    <textarea v-model="questionData.teskFour.five" placeholder="请输入内容" rows="6"
                    class="fz-16 textarea-box-right" @change="setBookQuestion"></textarea>
                        class="fz-16 textarea-box-right" @change="setBookQuestion"></textarea>
                </div>
            </div>
        </div>
@@ -1274,6 +1357,8 @@
</template>
<script>
import { getResourcePath } from "@/assets/methods/resources";
import { getCollectResource, setCollectResource } from "@/assets/methods/resources";
export default {
    name: "chapterSix",
    props: {
@@ -1283,6 +1368,21 @@
    },
    data() {
        return {
            collectImg: require("../../assets/images/icon/heart.png"),
            collectCheck: require("../../assets/images/icon/heart-check.png"),
            videoPathOne: "",
            videoPathTwo: "",
            videoPathThree: "",
            videoPathFour: "",
            videoPathFive: "",
            collectResourceList: [],
            chapterData: {
                isCollectVideo: false,
                isCollectVideo01: false,
                isCollectVideo02: false,
                isCollectVideo03: false,
                isCollectVideo04: false,
            },
            questionData: {
                teskOne: {
                    one: "",
@@ -1385,7 +1485,7 @@
            },
        };
    },
    mounted() {
    async mounted() {
        const bookQuestion = localStorage.getItem("aviation-book-chapter06");
        if (bookQuestion) {
            this.questionData = JSON.parse(bookQuestion);
@@ -1395,8 +1495,80 @@
            this.tableData = JSON.parse(bookTableData);
        }
        const choiceQuestion = localStorage.getItem("aviation-book-chapter06-Data");
        if (choiceQuestion) {
            this.chapterData = JSON.parse(choiceQuestion);
        }
        this.getVidoePath();
        this.collectResourceList = await getCollectResource(this.config.activeBook.bookId)
    },
    methods: {
        async getVidoePath() {
            this.videoPathOne = await getResourcePath(
                "a83b9d9ab22d0fd1d84990df6f1b127e"
            );
            this.videoPathTwo = await getResourcePath(
                "f82bcad075774964b82ae8aa43d9a7f0"
            );
            this.videoPathThree = await getResourcePath(
                "f9b156c70fc8d593f0095ef535360551"
            );
            this.videoPathFour = await getResourcePath(
                "9e3e5573e2af66a565039ee9f4c9bb0e"
            );
            this.videoPathFive = await getResourcePath(
                "68ae02257e5c82558a4b224770bd1ab6"
            );
        },
        handleCollect(e) {
            if (e == 'video-01') {
                this.handleCollectResource("a83b9d9ab22d0fd1d84990df6f1b127e", "a83b9d9ab22d0fd1d84990df6f1b127e", '', "视频", "bits", '视频:项目六 导入')
                this.chapterData.isCollectVideo = !this.chapterData.isCollectVideo
            } else if (e == 'video-02') {
                this.handleCollectResource("f82bcad075774964b82ae8aa43d9a7f0", "f82bcad075774964b82ae8aa43d9a7f0", '', "视频", "bits", '视频:项目六 任务一')
                this.chapterData.isCollectVideo01 = !this.chapterData.isCollectVideo01
            } else if (e == 'video-03') {
                this.handleCollectResource("f9b156c70fc8d593f0095ef535360551", "f9b156c70fc8d593f0095ef535360551", '', "视频", "bits", '视频:项目六 任务二')
                this.chapterData.isCollectVideo02 = !this.chapterData.isCollectVideo02
            } else if (e == 'video-04') {
                this.handleCollectResource("9e3e5573e2af66a565039ee9f4c9bb0e", "9e3e5573e2af66a565039ee9f4c9bb0e", '', "视频", "bits", '视频:项目六 任务三')
                this.chapterData.isCollectVideo03 = !this.chapterData.isCollectVideo03
            } else if (e == 'video-05') {
                this.handleCollectResource("68ae02257e5c82558a4b224770bd1ab6", "68ae02257e5c82558a4b224770bd1ab6", '', "视频", "bits", '视频:项目六 任务四')
                this.chapterData.isCollectVideo04 = !this.chapterData.isCollectVideo04
            }
            this.handleChapterData();
        },
        //资源收藏事件
        // resourcePath  文件路径,
        // resourceType  文件类型
        // source        文件来源
        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)
        },
        handleChapterData() {
            localStorage.setItem(
                "aviation-book-chapter06-Data",
                JSON.stringify(this.chapterData)
            );
        },
        setBookQuestion() {
            localStorage.setItem(
                "aviation-book-chapter06",
src/books/aviationBasicSkills/view/components/chapter007.vue
@@ -19,9 +19,22 @@
                        <p class="bj-1-zt">2.具备高瞻远瞩的长远发展眼光和大局意识。</p>
                        <p class="bj-1-zt">3.培养求真务实、开拓创新的职业精神。</p>
                        <p><br></p>
                        <p><br></p>
                        <p><br></p>
                        <p><br></p>
                        <div class="video-box-cover">
                            <p class="center text">
                                <video :src="videoPathOne" webkit-playsinline="true" x-webkit-airplay="true"
                                    playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                    x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                    style=" border-radius: 10px; "></video>
                            </p>
                            <p class="center videoname">
                                <span>视频:项目七 导入 </span>
                                <el-tooltip class="item" effect="dark"
                                    :content="chapterData.isCollectVideo ? '点击取消' : '点击收藏'" placement="top-start">
                                    <img :src="collectResourceList.findIndex(item => item.id == 'c0403607aa0c9a35d065bcc476b48644') > -1 ? collectCheck : collectImg"
                                        alt="" class="collect-btn" @click="handleCollect('video-01')" />
                                </el-tooltip>
                            </p>
                        </div>
                        <p><br></p>
                    </div>
                </div>
@@ -82,6 +95,22 @@
                    <p class="p-odd">③接待。接待好贵宾之后进行简单的人文关怀,询问其是否需要其他服务。</p>
                    <p class="p-odd">④帮助其办理相关手续。如果贵宾需要转机,帮助其更换转机登机牌;如果贵宾已到达目的地,帮助其提取托运的行李。</p>
                    <p class="p-odd">⑤送别。将贵宾送至下一程飞机的登机口,或是接待车辆上,然后礼貌送别,目送其离去后方可转身离开。</p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathTwo" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目七 任务1 </span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo01 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '96619d3fc49979dd1373ec1a944f45c4') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-02')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <p class="left p-odd"><span class="bj2">任务工单▼</span></p>
                    <table border="1" cellpadding="4" cellspacing="0"
                        style="border-color: #5192c6; border-collapse: collapse" class="fz-15 mr-9">
@@ -357,6 +386,22 @@
                        托盘行走过程中,如果需要取用盘内物品,称为卸盘。卸盘时,用右手取走盘内所需物品,同时应注意盘内物品的变化,用左手手指的力量来调整托盘重心。应从前后左右交替使用盘内物品。</p>
                    <p class="p-odd">托盘行走过程中,如果需要将所托物品整个放到工作台面上,称为落托。落托时,应左脚向前,用右手协助左手把托盘小心地推至工作台面上,放稳后按照从内到外的顺序取用盘内物品。
                    </p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathThree" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目七 任务二 托盘服务</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo02 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '086dffc37acf667071bcf9d3090e2f96') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-03')" />
                            </el-tooltip>
                        </p>
                    </div>
                </div>
            </div>
        </div>
@@ -375,6 +420,38 @@
                    <p class="p-even">第三,任何时候,都不能拎着托盘行走,也不可玩或转托盘。</p>
                    <p class="p-even">第四,在装无盖的食物、饮料时,要放在离头部远的一边,以免行走过程中落入头发。</p>
                    <p class="p-even">第五,要注意靠右走,并注意前后左右的情况,行走时不得急停或突然转身。</p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathFour" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目七 任务二 托盘演示1</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo03 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '9341abb61ad16f2c04e11011f207b88c') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-04')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathFive" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目七 任务二 托盘演示2</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo04 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '224496c95a0c6db70932e95712503023') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-05')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <div class="bj5 ml-9">
                        <div class="bj5-xyx">
                            <p class="td-0"><span class="bj5-xyx">课堂研讨</span></p>
@@ -626,6 +703,22 @@
                        花茶,大多是选用芳香浓郁和经过精工细制的绿茶窨制而成,茶引花香。花茶中以茉莉花茶居多,也最受人们的喜爱。泡饮花茶多用瓷杯,取一撮花茶置于杯内,用沸水冲泡,加盖四五分钟后即可品饮。如饮茶人数较多,往往采用壶饮法,即将适量的花茶置于壶内,冲泡四五分钟后,倒入茶杯或茶碗中饮用。
                    </p>
                    <p class="p-odd">花茶的饮法,与普通绿茶相仿,但需特别注意防止香气的散失。使用的茶具最好选用白瓷有盖茶杯,以衬托花茶固有的汤色,保持花茶的芳香。</p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathSix" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目七 任务三 茶水服务</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo05 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == 'b9e445e4e0148ac62c747ac30f517409') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-06')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h3 id="c076" class="p-odd"><span class="zt-h4 unit3-c">二、</span><span
                            class="qyls-h4 unit3-c">茶水服务流程</span></h3>
                    <h4 id="d145" class="p-odd">(一)准备事项</h4>
@@ -666,6 +759,38 @@
                    <p class="p-even">
                        添水时,如果是有盖的杯子,则用右手中指和无名指将杯盖夹住,轻轻抬起。大拇指、食指和小拇指将杯子拿起,侧对旅客,用左手拿容器添水。同样递至旅客右手上方5~10厘米处,有柄的杯子则将柄转至右侧。
                    </p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathSeven" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目七 任务三 茶水演示1</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo06 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == 'dc3712c490fc4180adcb7b7cb3662196') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-07')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathEight" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目七 任务三 茶水演示2</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo07 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '27c019708f12bd652ffb9dc9d300467e') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-08')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <p class="left p-even"><span class="bj2">任务工单▼</span></p>
                    <table border="1" cellpadding="4" cellspacing="0"
                        style="border-color: #5192c6; border-collapse: collapse; width: 91%;" class="fz-15 ml-9">
@@ -854,10 +979,10 @@
                    </p>
                    <p>思考:小李在服务中存在什么问题?</p>
                    <textarea v-model="questionData.teskThree.two" placeholder="请输入内容" rows="6"
                    class="fz-16  textarea-box-right" @change="setBookQuestion"></textarea>
                        class="fz-16  textarea-box-right" @change="setBookQuestion"></textarea>
                    <p class="left"><span class="bj2">自我评价▼</span></p>
                    <textarea v-model="questionData.teskThree.three" placeholder="请输入内容" rows="6"
                    class="fz-16  textarea-box-right" @change="setBookQuestion"></textarea>
                        class="fz-16  textarea-box-right" @change="setBookQuestion"></textarea>
                </div>
            </div>
        </div>
@@ -868,6 +993,8 @@
</template>
<script>
import { getResourcePath } from "@/assets/methods/resources";
import { getCollectResource, setCollectResource } from "@/assets/methods/resources";
export default {
    name: "chapterSeven",
    props: {
@@ -877,6 +1004,27 @@
    },
    data() {
        return {
            collectImg: require("../../assets/images/icon/heart.png"),
            collectCheck: require("../../assets/images/icon/heart-check.png"),
            videoPathOne: "",
            videoPathTwo: "",
            videoPathThree: "",
            videoPathFour: "",
            videoPathFive: "",
            videoPathSix: "",
            videoPathSeven: "",
            videoPathEight: "",
            collectResourceList: [],
            chapterData: {
                isCollectVideo: false,
                isCollectVideo01: false,
                isCollectVideo02: false,
                isCollectVideo03: false,
                isCollectVideo04: false,
                isCollectVideo05: false,
                isCollectVideo06: false,
                isCollectVideo07: false,
            },
            questionData: {
                teskOne: {
                    one: "",
@@ -940,7 +1088,7 @@
            },
        };
    },
    mounted() {
    async mounted() {
        const bookQuestion = localStorage.getItem("aviation-book-chapter07");
        if (bookQuestion) {
            this.questionData = JSON.parse(bookQuestion);
@@ -950,8 +1098,99 @@
            this.tableData = JSON.parse(bookTableData);
        }
        const choiceQuestion = localStorage.getItem("aviation-book-chapter07-Data");
        if (choiceQuestion) {
            this.chapterData = JSON.parse(choiceQuestion);
        }
        this.getVidoePath();
        this.collectResourceList = await getCollectResource(this.config.activeBook.bookId)
    },
    methods: {
        async getVidoePath() {
            this.videoPathOne = await getResourcePath(
                "c0403607aa0c9a35d065bcc476b48644"
            );
            this.videoPathTwo = await getResourcePath(
                "96619d3fc49979dd1373ec1a944f45c4"
            );
            this.videoPathThree = await getResourcePath(
                "086dffc37acf667071bcf9d3090e2f96"
            );
            this.videoPathFour = await getResourcePath(
                "9341abb61ad16f2c04e11011f207b88c"
            );
            this.videoPathFive = await getResourcePath(
                "224496c95a0c6db70932e95712503023"
            );
            this.videoPathSix = await getResourcePath(
                "b9e445e4e0148ac62c747ac30f517409"
            );
            this.videoPathSeven = await getResourcePath(
                "dc3712c490fc4180adcb7b7cb3662196"
            );
            this.videoPathEight = await getResourcePath(
                "27c019708f12bd652ffb9dc9d300467e"
            );
        },
        handleCollect(e) {
            if (e == 'video-01') {
                this.handleCollectResource("c0403607aa0c9a35d065bcc476b48644", "c0403607aa0c9a35d065bcc476b48644", '', "视频", "bits", '视频:项目七 导入')
                this.chapterData.isCollectVideo = !this.chapterData.isCollectVideo
            } else if (e == 'video-02') {
                this.handleCollectResource("96619d3fc49979dd1373ec1a944f45c4", "96619d3fc49979dd1373ec1a944f45c4", '', "视频", "bits", '视频:项目七 任务1')
                this.chapterData.isCollectVideo01 = !this.chapterData.isCollectVideo01
            } else if (e == 'video-03') {
                this.handleCollectResource("086dffc37acf667071bcf9d3090e2f96", "086dffc37acf667071bcf9d3090e2f96", '', "视频", "bits", '视频:项目七 任务2 托盘服务')
                this.chapterData.isCollectVideo02 = !this.chapterData.isCollectVideo02
            } else if (e == 'video-04') {
                this.handleCollectResource("9341abb61ad16f2c04e11011f207b88c", "9341abb61ad16f2c04e11011f207b88c", '', "视频", "bits", '视频:项目七 任务2 托盘演示1')
                this.chapterData.isCollectVideo03 = !this.chapterData.isCollectVideo03
            } else if (e == 'video-05') {
                this.handleCollectResource("224496c95a0c6db70932e95712503023", "224496c95a0c6db70932e95712503023", '', "视频", "bits", '视频:项目七 任务2 托盘演示2')
                this.chapterData.isCollectVideo04 = !this.chapterData.isCollectVideo04
            } else if (e == 'video-06') {
                this.handleCollectResource("b9e445e4e0148ac62c747ac30f517409", "b9e445e4e0148ac62c747ac30f517409", '', "视频", "bits", '视频:项目七 任务3 茶水服务')
                this.chapterData.isCollectVideo05 = !this.chapterData.isCollectVideo05
            } else if (e == 'video-07') {
                this.handleCollectResource("dc3712c490fc4180adcb7b7cb3662196", "dc3712c490fc4180adcb7b7cb3662196", '', "视频", "bits", '视频:项目七 任务三 茶水演示1')
                this.chapterData.isCollectVideo06 = !this.chapterData.isCollectVideo06
            } else if (e == 'video-08') {
                this.handleCollectResource("27c019708f12bd652ffb9dc9d300467e", "27c019708f12bd652ffb9dc9d300467e", '', "视频", "bits", '视频:项目七 任务三 茶水演示2')
                this.chapterData.isCollectVideo07 = !this.chapterData.isCollectVideo07
            }
            this.handleChapterData();
        },
        //资源收藏事件
        // resourcePath  文件路径,
        // resourceType  文件类型
        // source        文件来源
        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)
        },
        handleChapterData() {
            localStorage.setItem(
                "aviation-book-chapter07-Data",
                JSON.stringify(this.chapterData)
            );
        },
        setBookQuestion() {
            localStorage.setItem(
                "aviation-book-chapter07",
src/books/aviationBasicSkills/view/components/chapter008.vue
@@ -358,6 +358,22 @@
                    <p class="p-odd">③所执行航班的飞机机型、飞机号、应急设备分布。</p>
                    <p class="p-odd">④所执行航班查询时间当前的旅客人数,重要及特殊旅客信息。</p>
                    <p class="p-odd">⑤所执行航班当班配餐情况等。</p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathOne" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目八 任务4</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '9ff093ee1af1f2b46e50766576b15efe') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-01')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h4 id="d151" class="p-odd">(二)客舱乘务员在执行航班任务前应复习的内容</h4>
                    <p class="p-odd">①所执行航班的航线地理情况,飞越的省市、河流、山脉及飞行时间、距离、机场名称、离城距离等。</p>
                    <p class="p-odd">②各区域号位的工作职责及该飞机应急设备分布、应急处置的程序。</p>
@@ -367,6 +383,22 @@
                    <p class="p-odd">②个人证件(客舱乘务员训练合格证、空勤登机证、体检合格证),并确保在有效期内。</p>
                    <p class="p-odd">③个人携带资料(客舱乘务员手册、客舱广播词、舱门操作单等)。</p>
                    <p class="p-odd">④个人携带物品(笔、便签、围裙、化妆品、备用丝袜、走时准确的手表等)。</p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathTwo" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目八 任务5</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo01 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '7303452278e8ff8c86f9320d9dfdb06c') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-02')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h3 id="c080" class="p-odd"><span class="zt-h4 unit4-c">二、</span><span
                            class="qyls-h4 unit4-c">参加航前准备会</span></h3>
                    <h4 id="d153" class="p-odd">(一)航前准备会签到</h4>
@@ -391,6 +423,22 @@
                    <p class="p-even">⑤说明工作程序、餐食及供应品配备情况。</p>
                    <p class="p-even">⑥做好飞机应急撤离水/陆预案。</p>
                    <p class="p-even">⑦提出对重要旅客、VIP旅客及特殊旅客的服务要求。</p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathThree" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目八 任务3</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo02 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '52e064fe476177beb5a3a3a7cdf3adb9') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-03')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h3 id="c081" class="p-even"><span class="zt-h4 unit4-c">三、</span><span
                            class="qyls-h4 unit4-c">接受安全检查进入机场隔离区并上机</span></h3>
                    <p class="p-even">
@@ -1150,6 +1198,22 @@
                    <p class="p-even">在飞行阶段,乘务员注意随时保持客舱舒适、安静的环境。</p>
                    <p class="p-even">随时保持客舱、厨房、卫生间的整洁。</p>
                    <p class="p-even">如客舱设备发生故障要及时报告乘务长。</p>
                    <div class="video-box">
                        <p class="center text">
                            <video :src="videoPathFour" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目八 任务1</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo03 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '8feffd5d540faf91ed00b075591ae87c') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-04')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <h3 id="c087" class="p-even"><span class="zt-h4 unit4-c">三、</span><span
                            class="qyls-h4 unit4-c">飞机下降过程中的工作</span></h3>
                    <p class="p-even">飞机着陆前30分钟开始下降,此时进行下降广播。乘务员根据各自号位职责完成飞机下降时的工作。</p>
@@ -1402,6 +1466,38 @@
                    <p class="p-odd">
                        乘务长带领组员进行航后讲评,可以采取乘务长一一点评或者乘务员个人点评的方式,对当次航班的服务质量及各方面工作进行评价,对航班中出现的问题进行分析及总结。乘务员要如实反映航班中发生或发现的问题,及时向乘务长反映航班中的信息。乘务长须将当次航班完成情况如实填写在乘务日志上进行备案,以便有关部门查阅。
                    </p>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathFive" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:项目八 任务2</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo04 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == 'bc733c64bf978a4adf4c9a35c4c44e3f') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-05')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <div class="video-box-left">
                        <p class="center text">
                            <video :src="videoPathSix" webkit-playsinline="true" x-webkit-airplay="true"
                                playsinline="true" x5-video-orientation="h5" x5-video-player-fullscreen="true"
                                x5-playsinline="" controls controlslist="nodownload" class="w100 video"
                                style=" border-radius: 10px; "></video>
                        </p>
                        <p class="center videoname">
                            <span>视频:任务五2</span>
                            <el-tooltip class="item" effect="dark"
                                :content="chapterData.isCollectVideo05 ? '点击取消' : '点击收藏'" placement="top-start">
                                <img :src="collectResourceList.findIndex(item => item.id == '079d20d6f10b212a2756ab6d2721cf71') > -1 ? collectCheck : collectImg"
                                    alt="" class="collect-btn" @click="handleCollect('video-06')" />
                            </el-tooltip>
                        </p>
                    </div>
                    <p class="left p-odd"><span class="bj2">任务工单▼</span></p>
                    <table border="1" cellpadding="4" cellspacing="0"
                        style="border-color: #5192c6; border-collapse: collapse" class="fz-15 mr-9">
@@ -1585,6 +1681,8 @@
</template>
<script>
import { getResourcePath } from "@/assets/methods/resources";
import { getCollectResource, setCollectResource } from "@/assets/methods/resources";
export default {
    name: "chapterEight",
    props: {
@@ -1594,6 +1692,21 @@
    },
    data() {
        return {
            collectImg: require("../../assets/images/icon/heart.png"),
            collectCheck: require("../../assets/images/icon/heart-check.png"),
            videoPathOne: "",
            videoPathTwo: "",
            videoPathThree: "",
            videoPathFour: "",
            videoPathFive: "",
            collectResourceList: [],
            chapterData: {
                isCollectVideo: false,
                isCollectVideo01: false,
                isCollectVideo02: false,
                isCollectVideo03: false,
                isCollectVideo04: false,
            },
            questionData: {
                teskOne: {
                    one: "",
@@ -1713,7 +1826,7 @@
            },
        };
    },
    mounted() {
    async mounted() {
        const bookQuestion = localStorage.getItem("aviation-book-chapter08");
        if (bookQuestion) {
            this.questionData = JSON.parse(bookQuestion);
@@ -1722,9 +1835,87 @@
        if (bookTableData) {
            this.tableData = JSON.parse(bookTableData);
        }
        const choiceQuestion = localStorage.getItem("aviation-book-chapter08-Data");
        if (choiceQuestion) {
            this.chapterData = JSON.parse(choiceQuestion);
        }
        this.getVidoePath();
        this.collectResourceList = await getCollectResource(this.config.activeBook.bookId)
    },
    methods: {
        async getVidoePath() {
            this.videoPathOne = await getResourcePath(
                "9ff093ee1af1f2b46e50766576b15efe"
            );
            this.videoPathTwo = await getResourcePath(
                "7303452278e8ff8c86f9320d9dfdb06c"
            );
            this.videoPathThree = await getResourcePath(
                "52e064fe476177beb5a3a3a7cdf3adb9"
            );
            this.videoPathFour = await getResourcePath(
                "8feffd5d540faf91ed00b075591ae87c"
            );
            this.videoPathFive = await getResourcePath(
                "bc733c64bf978a4adf4c9a35c4c44e3f"
            );
            this.videoPathSix = await getResourcePath(
                "079d20d6f10b212a2756ab6d2721cf71"
            );
        },
        handleCollect(e) {
            if (e == 'video-01') {
                this.handleCollectResource("9ff093ee1af1f2b46e50766576b15efe", "9ff093ee1af1f2b46e50766576b15efe", '', "视频", "bits", '视频:项目八 任务4')
                this.chapterData.isCollectVideo = !this.chapterData.isCollectVideo
            } else if (e == 'video-02') {
                this.handleCollectResource("7303452278e8ff8c86f9320d9dfdb06c", "7303452278e8ff8c86f9320d9dfdb06c", '', "视频", "bits", '视频:项目八 任务5')
                this.chapterData.isCollectVideo01 = !this.chapterData.isCollectVideo01
            } else if (e == 'video-03') {
                this.handleCollectResource("52e064fe476177beb5a3a3a7cdf3adb9", "52e064fe476177beb5a3a3a7cdf3adb9", '', "视频", "bits", '视频:项目八 任务3')
                this.chapterData.isCollectVideo02 = !this.chapterData.isCollectVideo02
            } else if (e == 'video-04') {
                this.handleCollectResource("8feffd5d540faf91ed00b075591ae87c", "8feffd5d540faf91ed00b075591ae87c", '', "视频", "bits", '视频:项目八 任务1')
                this.chapterData.isCollectVideo03 = !this.chapterData.isCollectVideo03
            } else if (e == 'video-05') {
                this.handleCollectResource("bc733c64bf978a4adf4c9a35c4c44e3f", "bc733c64bf978a4adf4c9a35c4c44e3f", '', "视频", "bits", '视频:项目八 任务2')
                this.chapterData.isCollectVideo04 = !this.chapterData.isCollectVideo04
            } else if (e == 'video-06') {
                this.handleCollectResource("079d20d6f10b212a2756ab6d2721cf71", "079d20d6f10b212a2756ab6d2721cf71", '', "视频", "bits", '视频:任务五2')
                this.chapterData.isCollectVideo05 = !this.chapterData.isCollectVideo05
            }
            this.handleChapterData();
        },
        //资源收藏事件
        // resourcePath  文件路径,
        // resourceType  文件类型
        // source        文件来源
        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)
        },
        handleChapterData() {
            localStorage.setItem(
                "aviation-book-chapter08-Data",
                JSON.stringify(this.chapterData)
            );
        },
        setBookQuestion() {
            localStorage.setItem(
                "aviation-book-chapter08",
src/books/aviationBasicSkills/view/components/index.vue
@@ -166,7 +166,7 @@
  
      // 测试页面跳转
      setTimeout(() => {
        this.gotoPage(1,1);
        this.gotoPage(9,167);
      //   setTimeout(() => {
      //     this.renderSign("Highlight", {
      //       id: "2ACA9359",
src/books/aviationSafety/assets/main.less
@@ -543,7 +543,7 @@
                display: flex;
                justify-content: center;
                align-items: center;
                border: 0.15em dashed #6D84AE;
                border: 0.15em dashed #FAAD70;
                margin-right: 15px;
                padding: 0 15px;
                border-radius: 5px;
@@ -558,7 +558,7 @@
                    justify-content: flex-start;
                    svg {
                        fill: #6D84AE;
                        fill: #FAAD70;
                    }
                }
@@ -568,7 +568,7 @@
                }
                span:hover {
                    color: #6D84AE;
                    color: #FAAD70;
                    cursor: pointer;
                    text-decoration: underline;
                    -webkit-user-select: none;
src/books/civilAviation/view/components/index.vue
@@ -920,7 +920,7 @@
        const bottomGap = playVudio.getBoundingClientRect().bottom;
        const topGap = playVudio.getBoundingClientRect().top;
        if (bottomGap < 0 || topGap > window.innerHeight) {
          playVudio.requestPictureInPicture();
          if(playVudio.readyState) playVudio.requestPictureInPicture();
        }
      }
    },