4 小时以前 | 闫增涛 | ![]() |
5 小时以前 | 闫增涛 | ![]() |
6 小时以前 | zhongshujie | ![]() |
6 小时以前 | zhongshujie | ![]() |
6 小时以前 | zhongshujie | ![]() |
6 小时以前 | 闫增涛 | ![]() |
6 小时以前 | 闫增涛 | ![]() |
4 天以前 | litian | ![]() |
4 天以前 | litian | ![]() |
4 天以前 | litian | ![]() |
7 天以前 | 闫增涛 | ![]() |
8 天以前 | 闫增涛 | ![]() |
8 天以前 | 闫增涛 | ![]() |
8 天以前 | 闫增涛 | ![]() |
2025-05-06 | 闫增涛 | ![]() |
.env
@@ -1,7 +1,7 @@ VUE_APP_ENV = 'dev' VUE_APP_API_URL = "https://jsek.bnuic.com" # VUE_APP_API_URL = "https://www.tepcb.com" VUE_APP_RESOURCE_CTX = 'https://jsek.bnuic.com/books/resource/' # VUE_APP_RESOURCE_CTX = 'http://182.92.203.7:3007/books/resource/' # VUE_APP_API_URL = "https://jsek.bnuic.com" VUE_APP_API_URL = "https://www.tepcb.com" # VUE_APP_RESOURCE_CTX = 'https://jsek.bnuic.com/books/resource/' VUE_APP_RESOURCE_CTX = 'http://182.92.203.7:3007/books/resource/' # VUE_APP_RESOURCE_CTX = 'https://www.tepcb.com/books/resource/' VUE_APP_PUBLIC_PATH = '/books/book' .env.product
@@ -1,8 +1,9 @@ VUE_APP_ENV = 'product' VUE_APP_API_URL = "https://jsek.bnuic.com" # VUE_APP_API_URL = "https://jsek.bnuic.com" VUE_APP_API_URL = "https://www.tepcb.com" # VUE_APP_RESOURCE_CTX = 'https://jsek.bnuic.com/books/resource/' # VUE_APP_PUBLIC_PATH = 'https://jsek.bnuic.com/books/book/meetingPlanners' VUE_APP_RESOURCE_CTX = 'http://182.92.203.7:3007/books/resource/' VUE_APP_PUBLIC_PATH = 'http://182.92.203.7:3007/books/book/toddlerSportsSafetyProtection' VUE_APP_BOOK_LIST = "childHealth/lifeCare/sportsAndHealth/embedded/english/artAndDance/artAndDrama/mathBook/botany/civilAviation/civilServices/meetingPlanners/aviationBasicSkills/aviationEtiquette/aviationSafety/toddlerGameImplementation/childcareInstitutionsManagement/preschoolGameGuidance/kindergartenLanguageActivity/preschoolEvaluation/preschoolBasicKnowledge/practicalCareChildrenManual/OralAndBroadcasting/aurturingAndEducationAged0to3/policiesAndRegulations/kindergartenActivitiesDesignGuidance/toddlerSportsSafetyProtection/artInitiationForAges0to3/childIllnessPreventionCare/behaviorObserveAndGuid/cognitiveLanDevEduAges0to3" VUE_APP_BOOK_ID = 'toddlerSportsSafetyProtection' VUE_APP_PUBLIC_PATH = 'http://182.92.203.7:3007/books/book/aviationPassengerTransport6th' VUE_APP_BOOK_LIST = "childHealth/lifeCare/sportsAndHealth/embedded/english/artAndDance/artAndDrama/mathBook/botany/civilAviation/civilServices/meetingPlanners/aviationBasicSkills/aviationEtiquette/aviationSafety/toddlerGameImplementation/childcareInstitutionsManagement/preschoolGameGuidance/kindergartenLanguageActivity/preschoolEvaluation/preschoolBasicKnowledge/practicalCareChildrenManual/OralAndBroadcasting/aurturingAndEducationAged0to3/policiesAndRegulations/kindergartenActivitiesDesignGuidance/toddlerSportsSafetyProtection/artInitiationForAges0to3/childIllnessPreventionCare/behaviorObserveAndGuid/cognitiveLanDevEduAges0to3/aviationPassengerTransport6th" VUE_APP_BOOK_ID = 'aviationPassengerTransport6th' README.md
@@ -22,3 +22,4 @@ ### Customize configuration See [Configuration Reference](https://cli.vuejs.org/config/). src/App.vue
@@ -72,6 +72,12 @@ <cognitiveLanDevEduAges0to3 v-if="activeBook.name == 'cognitiveLanDevEduAges0to3'" ></cognitiveLanDevEduAges0to3> <aviationPassengerTransport6th v-if="activeBook.name == 'aviationPassengerTransport6th'" ></aviationPassengerTransport6th> <hotelEnglishTrainingBrochure2nd v-if="activeBook.name == 'hotelEnglishTrainingBrochure2nd'" ></hotelEnglishTrainingBrochure2nd> </div> </template> <script> @@ -146,6 +152,10 @@ import("./books/behaviorObserveAndGuid/view/index.vue"), cognitiveLanDevEduAges0to3: () => import("./books/cognitiveLanDevEduAges0to3/view/index.vue"), aviationPassengerTransport6th: () => import("./books/aviationPassengerTransport6th/view/index.vue"), hotelEnglishTrainingBrochure2nd: () => import("./books/hotelEnglishTrainingBrochure2nd/view/index.vue"), }, data() { return { @@ -199,26 +209,34 @@ // policiesAndRegulations //æ¿çæ³å¾ä¸æ³è§|æ æ¸¸ç¤¾ // practicalCareChildrenManual // å©´å¹¼å¿ç §æ¤å®å½ // OralAndBroadcasting // èªç©ºæå¡å£è¯äº¤é 䏿鳿巧 // childIllnessPreventionCare // 0~3å²å©´å¹¼å¿ç¾ç é¢é² // childIllnessPreventionCare // å©´å¹¼å¿å¸¸è§ç¾ç é¢é²ä¸æ¤ç // artInitiationForAges0to3 // 0~3å²å©´å¹¼å¿èºæ¯å¯è // toddlerSportsSafetyProtection // 0~3å²å©´å¹¼å¿è¿å¨å®å ¨ä¸ä¿æ¤ // behaviorObserveAndGuid // å©´å¹¼å¿è¡ä¸ºè§å¯ä¸æå¯¼ // cognitiveLanDevEduAges0to3 // 0ï½3å²å©´å¹¼å¿è®¤ç¥ä¸è¯è¨åå±åæè² // aviationPassengerTransport6th // æ°èªæ 客è¿è¾ç¬¬6ç(æ æ¸¸ç¤¾) // hotelEnglishTrainingBrochure2nd // é åºè±è¯å®è®æ´»é¡µæç¨ï¼ç¬¬2çï¼ï¼æ æ¸¸ç¤¾ï¼ console.log("debugger", process.env); this.activeBook = await this.config.getBookConfig( process.env.VUE_APP_RESOURCE_CTX + (process.env.VUE_APP_ENV == "product" ? process.env.VUE_APP_BOOK_ID : "mathBook") : "hotelEnglishTrainingBrochure2nd") ); // this.activeBook = await this.config.getBookConfig( // 'http://182.92.203.7:3007/books/resource/'+ // 'https://jsek.bnuic.com/books/resource/'+ // (process.env.VUE_APP_ENV == "product" // ? process.env.VUE_APP_BOOK_ID // : "botany") // : "aviationSafety") // ); // æµè¯è¯è¯»30页 // this.activeBook.tryPageCount = 10; this.config.activeBook = this.activeBook; // this.config.activeBook = this.activeBook; // æ æ¸¸ç¤¾å¤çè·¨åé®é¢ // this.activeBook = this.config.activeBook; this.config.goodsStore = this.activeBook.storeRefcode; } }, src/assets/js/config.js
@@ -1,31 +1,29 @@ import axios from "axios"; // export const resourceCtx = "http://182.92.203.7:3007/books/resource/"; // èµæºè¯·æ±å°å // export const resourceCtx = "https://www.tepcb.com/books/resource/"; // èµæºè¯·æ±å°å export const resourceCtx = "https://jsek.bnuic.com/books/resource/"; // èµæºè¯·æ±å°å export const tinymceBaseUrl = 'https://jsek.bnuic.com/home/' // export const tinymceBaseUrl = 'https://www.tepcb.com/home/' export let activeBook = {}; // èµæºè¯·æ±å°å // export let activeBook = { // name: "aviationPassengerTransport6th", // rootCmsItemId: "86281", // storeRefcode: "defaultGoodsStore1", // bookId: "5033", // bookName: "æ°èªæ 客è¿è¾ï¼ç¬¬6çï¼", // }; export let goodsStore = ""; // è¯·æ±ææé ç½®ä¿¡æ¯ const getBookConfig = async (ctx) => { const response = await axios.get( ctx + "/bookConfig.json" ); const response = await axios.get(ctx + "/bookConfig.json"); return response.data; }; export const appId = 3; export const requestTimeOut = 300000; // 请æ±è¶ æ¶æ¶é´ export const tokenKey = "jsek-token"; // export const tokenKey = "website-front-token" // export const tokenKey = "token"; export const tokenKey = "website-front-token" const config = { resourceCtx, tinymceBaseUrl, activeBook, requestTimeOut, tokenKey, goodsStore, appId, getBookConfig }; export default config; src/assets/methods/resources.js
@@ -1,7 +1,7 @@ import fileApi from "@/assets/js/middleGround/api/file"; import identityApi from "../js/middleGround/api/identity"; import { tokenKey } from "../js/config"; export const getResourcePath = async (md5, appRefCode = "tourismWebsite") => { export const getResourcePath = async (md5, appRefCode = "jingshieke") => { const res = fileApi.getAliVod({ md5, appRefCode, src/books/OralAndBroadcasting/view/components/chapter002.vue
@@ -522,7 +522,7 @@ <span>{{ item.name }}</span> <img :src=" collectResourceList.includes(item.md5) collectResourceList.findIndex(citem => citem.md5 == item.md5) > -1 ? collectCheck : collectImg " @@ -975,7 +975,7 @@ <span>{{ item.name }}</span> <img :src=" collectResourceList.includes(item.md5) collectResourceList.findIndex(citem => citem.md5 == item.md5) > -1 ? collectCheck : collectImg " @@ -1255,7 +1255,7 @@ <span>{{ videoThree[0].name }}</span> <img :src=" collectResourceList.includes(videoThree[0].md5) collectResourceList.findIndex(citem => citem.md5 == videoThree[0].md5) > -1 ? collectCheck : collectImg " @@ -1282,7 +1282,7 @@ <span>{{ videoThree[1].name }}</span> <img :src=" collectResourceList.includes(videoThree[1].md5) collectResourceList.findIndex(citem => citem.md5 == videoThree[1].md5) > -1 ? collectCheck : collectImg " @@ -1935,7 +1935,7 @@ <span>{{ videoThree[2].name }}</span> <img :src=" collectResourceList.includes(videoThree[2].md5) collectResourceList.findIndex(citem => citem.md5 == videoThree[2].md5) > -1 ? collectCheck : collectImg " @@ -2324,6 +2324,7 @@ this.collectResourceList = await getCollectResource( this.config.activeBook.bookId ); console.log('å篡æ¹',this.collectResourceList) }, methods: { src/books/OralAndBroadcasting/view/components/chapter004.vue
@@ -3,8 +3,8 @@ <div class="page-box" page="133"> <div v-if="showPageList.indexOf(133) > -1"> <div class="first-page"> <img class="img-0" alt="" src="../../assets/images/xm4.jpg" /> <div class="first-txt" style="border-color:#9fab61" > <img class="img-0" alt="" src="../../assets/images/xm4.jpg" /> <div class="first-txt" style="border-color: #9fab61"> <p> 卿°èªå²ä½ä¸ï¼éè¿å¹¿æè®©æ 客äºè§£åç§ç¸å ³é®é¢åæ®å空ä¸é£è¡å®å ¨ç¥è¯æ¯æ°èªæé³åçå¿ è¦å·¥ä½ä¹ä¸ãèææ ·ææå·§æ§å°æé³åæ¯ä¸å¡æ°´å¹³çä½ç°ï¼å®å ³ç³»å°èªç©ºå ¬å¸ç»æ 客çä¸çæ´ä½å°è±¡ãåæ¶ï¼å ·å¤è¯å¥½çå£è¯äº¤é 䏿é³è½åè½æ´å¥½å°åæ å®¢ä¼ éææä¿¡æ¯ãæä»¥ï¼æåèªç©ºæå¡å£è¯äº¤é 䏿é³è½åå ·æé常éè¦çç°å®æä¹ã </p> @@ -39,7 +39,7 @@ </div> <!-- è§é¢ --> <ul class="vertical-video"> <li v-for="(item, index) in videoOne.slice(0,1)" :key="item.md5"> <li v-for="(item, index) in videoOne.slice(0, 1)" :key="item.md5"> <video :src="item.url" webkit-playsinline="true" @@ -56,13 +56,15 @@ <span>{{ item.name }}</span> <img :src=" collectResourceList.includes(item.md5) collectResourceList.findIndex( (citem) => citem.md5 == item.md5 ) > -1 ? collectCheck : collectImg " alt="" class="collect-btn" @click="handleCollect('videoOne',index)" @click="handleCollect('videoOne', index)" /> </p> </li> @@ -124,7 +126,8 @@ è²å½©ä¸°å¯ï¼ååèªå¦ã声é³è²å½©æ¯æé³åéå 容çåå±èè¿å¨ååççææ çå¤è¡£ãäººçææ æ¯ä¸æè¿å¨ååçï¼å£°é³è²å½©ä¹æ¯å¨å¯¹æ¯ååä¸ä½ç°åºæ¥çã声é³è²å½©æå¦ç»å®¶çè°è²æ¿ï¼è¶ä¸°å¯ç»è´å°±è¶è½ä¼ æ ï¼ä¹å°±è¶æè¡¨ç°åãææ è²å½©çå忝æ ç©·çï¼å£°é³è²å½©çåå乿¯æ ç©·çãææ¡åé³ååçåºæ¬æ¹æ³ï¼æ¯ä¸ºäºå©äºå£°é³çååï¼è䏿¯ä¸ºäºè¿½æ±åºå®ä¸åçé³è²ã </p> <h3 id="c042"> <span class="h3-zt">äºã</span><span class="h3-zt1">æé³çæå·§</span> <span class="h3-zt">äºã</span ><span class="h3-zt1">æé³çæå·§</span> </h3> <h4 id="d109">ï¼ä¸ï¼åé¡¿</h4> <p> @@ -310,7 +313,8 @@ åéçè¯é忏 æ°çåé³å¯ä»¥ä¿è¯äº¤æµçææè¿è¡ï¼å¯¹ä¸äºç¹æ®çæ 客è¿è¦ç¹æ®å¯¹å¾ ãä¾å¦ï¼é¢å¯¹èå¹´æ 客æå¬éæ 客ï¼å¿ è¦æ¶å¯æé«é³éï¼åè¿ä¸äºï¼éå¤ä¸¤éï¼æç¨è¢ä½è¯è¨è¾ å©è¡¨è¾¾ï¼ä»¥ä¾¿æ å®¢è½æ¸ æ¥å°çè§£æå¡äººåè¦è¡¨è¾¾çå 容ã </p> <h3 id="c047"> <span class="h3-zt">äºã</span><span class="h3-zt1">使è¯è¡¨è¾¾</span> <span class="h3-zt">äºã</span ><span class="h3-zt1">使è¯è¡¨è¾¾</span> </h3> <p> <img @@ -410,7 +414,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoOne.slice(1,2)" :key="item.md5"> <li v-for="(item, index) in videoOne.slice(1, 2)" :key="item.md5"> <audio :src="item.url" controls @@ -440,7 +444,6 @@ </p> <p>谢谢ï¼</p> <p><br /></p> </div> </div> </div> @@ -469,7 +472,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoOne.slice(2,3)" :key="item.md5"> <li v-for="(item, index) in videoOne.slice(2, 3)" :key="item.md5"> <audio :src="item.url" controls @@ -502,7 +505,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoOne.slice(3,4)" :key="item.md5"> <li v-for="(item, index) in videoOne.slice(3, 4)" :key="item.md5"> <audio :src="item.url" controls @@ -571,7 +574,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoOne.slice(4,5)" :key="item.md5"> <li v-for="(item, index) in videoOne.slice(4, 5)" :key="item.md5"> <audio :src="item.url" controls @@ -644,7 +647,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoOne.slice(5,6)" :key="item.md5"> <li v-for="(item, index) in videoOne.slice(5, 6)" :key="item.md5"> <audio :src="item.url" controls @@ -729,7 +732,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(0,1)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(0, 1)" :key="item.md5"> <audio :src="item.url" controls @@ -785,7 +788,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(1,2)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(1, 2)" :key="item.md5"> <audio :src="item.url" controls @@ -821,7 +824,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(2,3)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(2, 3)" :key="item.md5"> <audio :src="item.url" controls @@ -857,7 +860,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(3,4)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(3, 4)" :key="item.md5"> <audio :src="item.url" controls @@ -908,7 +911,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(4,5)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(4, 5)" :key="item.md5"> <audio :src="item.url" controls @@ -946,7 +949,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(5,6)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(5, 6)" :key="item.md5"> <audio :src="item.url" controls @@ -1007,7 +1010,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(6,7)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(6, 7)" :key="item.md5"> <audio :src="item.url" controls @@ -1069,7 +1072,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(7,8)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(7, 8)" :key="item.md5"> <audio :src="item.url" controls @@ -1107,7 +1110,7 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(8,9)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(8, 9)" :key="item.md5"> <audio :src="item.url" controls @@ -1167,7 +1170,10 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(9,10)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(9, 10)" :key="item.md5" > <audio :src="item.url" controls @@ -1231,7 +1237,10 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(9,10)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(9, 10)" :key="item.md5" > <audio :src="item.url" controls @@ -1274,7 +1283,10 @@ </div> <!-- è§é¢ --> <ul class="videos-box"> <li v-for="(item, index) in videoTwo.slice(9,10)" :key="item.md5"> <li v-for="(item, index) in videoTwo.slice(9, 10)" :key="item.md5" > <audio :src="item.url" controls @@ -1704,107 +1716,107 @@ collectImg: require("../../assets/images/icon/heart.png"), collectCheck: require("../../assets/images/icon/heart-check.png"), collectResourceList: [], videoOne:[ videoOne: [ { name:'常è§å¹¿æè¯åç±»', md5:'58713a0a123849d4ae5d48ea567decf5', type:'è§é¢' name: "常è§å¹¿æè¯åç±»", md5: "58713a0a123849d4ae5d48ea567decf5", type: "è§é¢", }, { name:'4.3.1', md5:'7d431083643a2b3fbb95c7933d19de83' name: "4.3.1", md5: "7d431083643a2b3fbb95c7933d19de83", }, { name:'4.3.2', md5:'a0fe09310d765720a5abc30d4b4dc44e' name: "4.3.2", md5: "a0fe09310d765720a5abc30d4b4dc44e", }, { name:'4.3.3', md5:'ac4981d570ef546f9f9e0803dc15b326' name: "4.3.3", md5: "ac4981d570ef546f9f9e0803dc15b326", }, { name:'4.3.4', md5:'a3d6d7d585cd5f50c433b97000696022' name: "4.3.4", md5: "a3d6d7d585cd5f50c433b97000696022", }, { name:'4.3.5', md5:'1b0cd532b18f0bff01a7e0c1513f7896' } ], videoTwo:[ { name:'4.4.1', md5:'9b6b4a865b3290961db364d84e3c034c' }, { name:'4.4.2', md5:'e766f0c27d5901247a4234db25af2f3e' }, { name:'4.4.3', md5:'92364b5f3dbfee0c963f9dc16f8b25a9' }, { name:'4.4.4', md5:'345f098717af4c35a5fb958dfc123039' }, { name:'4.4.5', md5:'a1f580e0a28bc9a25e00f0b039c989c8' }, { name:'4.4.6', md5:'1ca94b85d0065dffab86921e06b00fec' }, { name:'4.5.1', md5:'906ad2ef7360132bd117ca5443354c7f' }, { name:'4.5.2', md5:'a466c84932e87aaa1e6410d2b6d0c9e9' }, { name:'4.5.3', md5:'a3cdd0b041424dbedf76a1be83d4a6cd' }, { name:'4.5.4', md5:'5dc181761ead77bf721c74e8535bfd7c' }, { name:'4.5.5', md5:'0477b8fb9c343a0bb74a559a840b51c6' }, { name:'4.5.6', md5:'26387da419640ca40bdd93a052a686aa' name: "4.3.5", md5: "1b0cd532b18f0bff01a7e0c1513f7896", }, ], videoThree:[ videoTwo: [ { name:'4.7.1', md5:'99ccbec7d990839daff312d3c1cb6a88' name: "4.4.1", md5: "9b6b4a865b3290961db364d84e3c034c", }, { name:'4.7.2', md5:'c5de5e43cf1061f4cf872b11bdf12c75' name: "4.4.2", md5: "e766f0c27d5901247a4234db25af2f3e", }, ] { name: "4.4.3", md5: "92364b5f3dbfee0c963f9dc16f8b25a9", }, { name: "4.4.4", md5: "345f098717af4c35a5fb958dfc123039", }, { name: "4.4.5", md5: "a1f580e0a28bc9a25e00f0b039c989c8", }, { name: "4.4.6", md5: "1ca94b85d0065dffab86921e06b00fec", }, { name: "4.5.1", md5: "906ad2ef7360132bd117ca5443354c7f", }, { name: "4.5.2", md5: "a466c84932e87aaa1e6410d2b6d0c9e9", }, { name: "4.5.3", md5: "a3cdd0b041424dbedf76a1be83d4a6cd", }, { name: "4.5.4", md5: "5dc181761ead77bf721c74e8535bfd7c", }, { name: "4.5.5", md5: "0477b8fb9c343a0bb74a559a840b51c6", }, { name: "4.5.6", md5: "26387da419640ca40bdd93a052a686aa", }, ], videoThree: [ { name: "4.7.1", md5: "99ccbec7d990839daff312d3c1cb6a88", }, { name: "4.7.2", md5: "c5de5e43cf1061f4cf872b11bdf12c75", }, ], }; }, watch:{ showPageList:function(newValue) { if(newValue.includes(133) && !this.videoOne.find(item =>item.url)) { watch: { showPageList: function (newValue) { if (newValue.includes(133) && !this.videoOne.find((item) => item.url)) { this.getVideoPath("videoOne"); } if(newValue.includes(144) && !this.videoTwo.find(item =>item.url)) { this.getVideoPath("videoTwo"); if (newValue.includes(144) && !this.videoTwo.find((item) => item.url)) { this.getVideoPath("videoTwo"); } if(newValue.includes(158) && !this.videoThree.find(item =>item.url)) { this.getVideoPath("videoThree"); if (newValue.includes(158) && !this.videoThree.find((item) => item.url)) { this.getVideoPath("videoThree"); } } }, }, async mounted() { this.collectResourceList = await getCollectResource( @@ -1821,7 +1833,7 @@ item["url"] = await getResourcePath(item.md5); } }, handleCollect(dataName,num) { handleCollect(dataName, num) { const data = this[dataName][num]; this.handleCollectResource( data.md5, src/books/aviationPassengerTransport6th/assets/Fonts/FZFSK.TTFBinary files differ
src/books/aviationPassengerTransport6th/assets/Fonts/FZSSK.TTFBinary files differ
src/books/aviationPassengerTransport6th/assets/examinationList.js
New file @@ -0,0 +1,9 @@ const testData = { 2: { 16: [ 144319, 144320, 144321, 144322, 144323, 144324, 144325, 144326, 144327, 144328 ], }, }; export default testData; src/books/aviationPassengerTransport6th/assets/images/0002-01.jpg
src/books/aviationPassengerTransport6th/assets/images/Cover.jpg
src/books/aviationPassengerTransport6th/assets/images/delectFile.svg
New file @@ -0,0 +1 @@ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1746781749911" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="3806" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M781.28 851.36a58.56 58.56 0 0 1-58.56 58.56H301.28a58.72 58.72 0 0 1-58.56-58.56V230.4h538.56z m-421.6-725.92a11.84 11.84 0 0 1 12-12h281.28a11.84 11.84 0 0 1 12 12V160H359.68zM956.8 160H734.72v-34.56a81.76 81.76 0 0 0-81.76-81.76H371.68a82.08 82.08 0 0 0-81.76 81.76V160H67.2a35.36 35.36 0 0 0 0 70.56h105.12v620.8a128.96 128.96 0 0 0 128.96 128.96h421.44a128.96 128.96 0 0 0 128.96-128.96V230.4H956.8a35.2 35.2 0 0 0 35.2-35.2 34.56 34.56 0 0 0-35.2-35.2zM512 804.16a35.2 35.2 0 0 0 35.2-35.36V393.92a35.2 35.2 0 1 0-70.4 0V768.8a35.2 35.2 0 0 0 35.2 35.36m-164.32 0a35.36 35.36 0 0 0 35.36-35.36V393.92a35.36 35.36 0 1 0-70.56 0V768.8a36.32 36.32 0 0 0 35.2 35.36m328.64 0a35.36 35.36 0 0 0 35.2-35.36V393.92a35.36 35.36 0 1 0-70.56 0V768.8a35.36 35.36 0 0 0 35.36 35.36" fill="#D81E06" p-id="3807"></path></svg> src/books/aviationPassengerTransport6th/assets/images/header-left.png
src/books/aviationPassengerTransport6th/assets/images/icon/heart-check.png
src/books/aviationPassengerTransport6th/assets/images/icon/heart.png
src/books/aviationPassengerTransport6th/assets/images/pdfLogo.svg
New file @@ -0,0 +1 @@ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1746602907831" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18597" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32"><path d="M704 960h-298.666667c-12.8 0-21.333333-8.533333-21.333333-21.333333v-149.333334h-106.666667c-12.8 0-21.333333-8.533333-21.333333-21.333333v-151.466667l-85.333333-40.533333c-4.266667-2.133333-8.533333-6.4-10.666667-12.8-2.133333-4.266667-2.133333-10.666667 0-17.066667l53.333333-115.2v-6.4c0-200.533333 149.333333-362.666667 330.666667-362.666666s330.666667 162.133333 330.666667 362.666666c0 121.6-55.466667 236.8-149.333334 302.933334v209.066666c0 14.933333-8.533333 23.466667-21.333333 23.466667z m-277.333333-42.666667h256v-198.4c0-6.4 4.266667-12.8 8.533333-17.066666l8.533333-6.4c83.2-59.733333 132.266667-160 132.266667-268.8 0-177.066667-130.133333-320-288-320s-288 142.933333-288 320v10.666666c0 4.266667 0 6.4-2.133333 8.533334l-46.933334 100.266666 78.933334 36.266667c8.533333 4.266667 12.8 10.666667 12.8 19.2v142.933333h106.666666c12.8 0 21.333333 8.533333 21.333334 21.333334v151.466666z" fill="#1C9E3A" p-id="18598"></path><path d="M682.666667 341.333333h-106.666667v-149.333333h106.666667v149.333333z m-64-42.666666h21.333333v-64h-21.333333v64z" fill="#1C9E3A" p-id="18599"></path><path d="M618.666667 480v-32h-170.666667c-23.466667 0-42.666667 19.2-42.666667 42.666667 0 12.8 4.266667 23.466667 12.8 29.866666-8.533333-8.533333-12.8-19.2-12.8-29.866666v-234.666667c0-12.8 8.533333-21.333333 21.333334-21.333333h192v245.333333z m-149.333334-202.666667v85.333334h85.333334v-85.333334h-85.333334z" fill="#1C9E3A" p-id="18600"></path><path d="M554.666667 362.666667h-85.333334v-85.333334h85.333334v85.333334z m-64-21.333334h42.666666v-42.666666h-42.666666v42.666666z" fill="#1C9E3A" p-id="18601"></path><path d="M576 533.333333c0 23.466667 19.2 42.666667 42.666667 42.666667s42.666667-19.2 42.666666-42.666667-19.2-42.666667-42.666666-42.666666v42.666666h-42.666667z" fill="#1C9E3A" p-id="18602"></path><path d="M618.666667 533.333333h-170.666667c-23.466667 0-42.666667-19.2-42.666667-42.666666s19.2-42.666667 42.666667-42.666667h170.666667v85.333333z m-170.666667-64c-12.8 0-21.333333 8.533333-21.333333 21.333334s8.533333 21.333333 21.333333 21.333333h149.333333v-42.666667h-149.333333z" fill="#1C9E3A" p-id="18603"></path></svg> src/books/aviationPassengerTransport6th/assets/images/uploadFiles.svg
New file @@ -0,0 +1 @@ <?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1746781684475" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2838" id="mx_n_1746781684475" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M884.2 909.6H126.8c-38.6 0-70-31.4-70-70V204.6c0-38.6 31.4-70 70-70h328.6c38.6 0 70 31.4 70 70 0 11-9 20-20 20s-20-9-20-20c0-16.6-13.4-30-30-30H126.8c-16.6 0-30 13.4-30 30v635c0 16.6 13.4 30 30 30h757.4c11 0 20 9 20 20s-8.8 20-20 20z" fill="#1c9e3a" p-id="2839"></path><path d="M884.2 909.6c-11 0-20-9-20-20s9-20 20-20c16.6 0 30-13.4 30-30V428.2c0-16.6-13.4-30-30-30H292.6c-16.6 0-30 13.4-30 30v268.6c0 11-9 20-20 20s-20-9-20-20V428.2c0-38.6 31.4-70 70-70h591.6c38.6 0 70 31.4 70 70v411.4c0 38.6-31.4 70-70 70zM734 295h-178.2c-38.6 0-70-31.4-70-70v-10.4c0-11 9-20 20-20s20 9 20 20v10.4c0 16.6 13.4 30 30 30H734c11 0 20 9 20 20s-9 20-20 20z" fill="#1c9e3a" p-id="2840"></path><path d="M192.8 909.6h-15.8c-11 0-20-9-20-20s9-20 20-20h15.8c16.6 0 30-13.4 30-30v-168.6c0-11 9-20 20-20s20 9 20 20v168.6c-0.2 38.6-31.4 70-70 70zM818 398.4c-11 0-20-9-20-20v-53.2c0-16.6-13.4-30-30-30h-90.4c-11 0-20-9-20-20s9-20 20-20H768c38.6 0 70 31.4 70 70v53.2c0 11-9 20-20 20z" fill="#1c9e3a" p-id="2841"></path><path d="M598.2 764.6c-11 0-20-9-20-20V532.4c0-11 9-20 20-20s20 9 20 20v212.2c0 11-9 20-20 20z" fill="#1c9e3a" p-id="2842"></path><path d="M683.8 638c-5.2 0-10.2-2-14.2-5.8L584 546.6c-7.8-7.8-7.8-20.4 0-28.2 7.8-7.8 20.4-7.8 28.2 0L698 604c7.8 7.8 7.8 20.4 0 28.2-4 4-9 5.8-14.2 5.8z" fill="#1c9e3a" p-id="2843"></path><path d="M512.4 638c-5.2 0-10.2-2-14.2-5.8-7.8-7.8-7.8-20.4 0-28.2l85.8-85.8c7.8-7.8 20.4-7.8 28.2 0 7.8 7.8 7.8 20.4 0 28.2l-85.8 85.8c-3.8 4-8.8 5.8-14 5.8z" fill="#1c9e3a" p-id="2844"></path></svg> src/books/aviationPassengerTransport6th/assets/images/µÚ5Ò³-9.png
src/books/aviationPassengerTransport6th/assets/images/µÚ6Ò³-10.png
src/books/aviationPassengerTransport6th/assets/images/µÚ7Ò³-11.png
src/books/aviationPassengerTransport6th/assets/images/µÚ9Ò³-12.png
src/books/aviationPassengerTransport6th/assets/images/µÚ9Ò³-13.png
src/books/aviationPassengerTransport6th/assets/main.less
New file @@ -0,0 +1,1980 @@ .aviationPassengerTransport6th { width: 100%; height: 100%; // èªå®ä¹å 容 .page-box { box-sizing: border-box; min-height: 1128px; margin-bottom: 20px; box-shadow: 0 3px 6px 1px #00000029; background-color: #fff; } .wh-no { white-space: nowrap; } .c-g { color: green; } .c-r { color: red; } .t-right { text-align: right; } .mr-0 { margin: 0; } .mt-10 { margin-top: 10px !important; } .mt-20 { margin-top: 20px !important; } .table-pad { padding: 1em 0.7em !important; } .mt-30 { margin-top: 30px !important; } .mt-70 { margin-top: 70px; } .mb-10 { margin-bottom: 10px; } .mb-30 { margin-bottom: 30px !important; } .ma-l { margin-left: 8%; } .ma-0 { margin: 0% !important; } .pd-5 { padding: 0 5px; } .w100 { width: 100%; } .w80 { width: 80%; } .w70 { width: 70%; } .w25 { width: 25%; } .w20 { width: 20%; } .fz-13 { font-size: 13px !important; } .fz-14 { font-size: 14px !important; } .fz-16 { font-size: 16px !important; } .fz-18 { font-size: 18px !important; } .fz-20 { font-size: 20px; } .img-0 { width: 100%; } .img-c { width: 70%; } .pt-20 { padding-top: 20px; } .td-0 { text-indent: 0em !important; } .td-1 { text-indent: 1em !important; } td { padding: 5px 10px; } .fl { display: flex; } .ju-cn { justify-content: center; } .ju-ev { justify-content: space-evenly; } .jc-fs { justify-content: flex-start; } .fw-w { flex-wrap: wrap; } .fd-c { flex-direction: column; } .fd-r { flex-direction: row-reverse; } .al-c { align-items: center; } .al-fe { align-items: flex-end; } .ac-f { align-content: flex-end; } .jc-fe { justify-content: flex-end; } .jc-c { justify-content: center; } .jc-sa { justify-content: space-around } .ml-40 { margin-left: 40px; } .mr-70 { margin-right: 70px; } .mr-10 { margin-right: 10px; } .pad-t-55 { padding-top: 55px; } .ma-t-30 { margin-top: 30px; } .ma-t-20 { margin-top: 20px; } .pad-l-60 { padding-left: 60px; } .pad-l-80 { padding-left: 80px; } .mb-45 { margin-bottom: 45px; } .mb-20 { margin-bottom: 20px !important; } .mb-30 { margin-bottom: 30px !important; } .page-father { display: flex; } .header-left { display: flex; align-items: flex-end; padding: 50px 0 0 0; margin-left: 8%; position: relative; img { width: 30%; height: auto; object-fit: contain; } } .headerText { position: absolute; bottom: 10%; left: 10%; font-size: 16px; padding-bottom: 5px; } .header-left-box { font-size: 14px; margin-left: 8%; padding-bottom: 7%; } .header-right { display: flex; justify-content: flex-end; align-items: flex-end; padding: 50px 0 0 0; margin-right: 10%; margin-bottom: 30px; div { width: 9%; text-align: center; img { width: 100%; height: auto; } } } .headerRight-Number { text-align: right; font-size: 14px; margin-right: 10%; padding-bottom: 7%; } .headerRight-Text { font-family: "kaiti"; font-size: 16px; padding-bottom: 2px; position: relative; margin-right: 10px; } .headerRight-Text::after { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; /* è¾¹æ¡é«åº¦ */ background-image: linear-gradient(to right, rgba(136, 136, 136, 0), #1C9E3A); /* ä»éæå°#888888çæ¸å */ z-index: 1; /* ç¡®ä¿æ¸åå±å¨å 容䏿¹ */ } .headerRight-box { width: 10px; height: 20px; background-color: #1C9E3A; } /*äºçº§æ é¢ç« æ */ .secondsubHead-1 { text-align: left; line-height: 1.1em; font-size: 1em; text-indent: 0em; margin: 20% auto 0.3em auto; color: #888888; } .secondsubHead-2 { font-family: "æ¹æ£æ°æ¥å®"; background-color: #7acab4; display: inline-block; align-items: center; text-align: left; color: #fff; border-radius: 10px; padding: 0px 10px; text-indent: 0em; font-size: 22px; line-height: 28px; } .tipes { background-color: #e2f2ed; border: 2px solid #96d3c1; padding: 10px; } table { border-color: none !important; } .table-th-bc { background-color: #FEDDB4; color: #000; } .table-tr-bc { background-color: #FEF4E4; color: #000; } .table-textarea { font-size: 14px; font-family: "Times New Roman", "å®ä½"; resize: none; &:focus { outline: none; } } .textarea-box { border: none; text-align: center; width: 84px; height: 36px; overflow: auto; word-break: break-all; resize: none; } .b0 { border: 0; } .task { width: 16%; margin-bottom: 5em; margin-top: 0; border-top: 0.7em solid #5192C6; } .task2 { width: 16%; margin-bottom: 5em; margin-top: 0; border-top: 0.7em solid #F89C1C; } .task3 { width: 16%; margin-bottom: 5em; margin-top: 0; border-top: 0.7em solid #448D9C; } .task4 { width: 16%; margin-bottom: 5em; margin-top: 0; border-top: 0.7em solid #9EAA60; } .p-odd { padding-right: 8%; } .p-even { padding-left: 8%; } .p-continued { text-align: right; font-size: 14px; margin-bottom: 10px; } .img-float { width: 310px; float: left; height: auto; margin: auto; margin-right: 20px; img { width: 100%; } p { margin: 0; } } .img-rights { width: 310px; float: right; height: auto; margin: auto; margin-left: 20px; img { width: 100%; } p { margin: 0 !important; } } .w430 { width: 430px; } .w395 { width: 395px; } .w350 { width: 350px; } .w290 { width: 290px; } .w280 { width: 280px; } .w275 { width: 275px; } .w270 { width: 270px; } .w250 { width: 250px; } .w230 { width: 230px; } .w220 { width: 220px; } .w210 { width: 210px; } .w200 { width: 200px; } .w180 { width: 180px; } .w150 { width: 150px; } .w115 { width: 115px; } .pdf .fm-zh { font-family: "æ¹æ£æ£é»" !important; } .fm-kt { font-family: "kaiti" !important; font-weight: 500; } .fm-fs { font-family: "æ¹æ£ä»¿å®" !important; } div.bk-ztgs { border: 0.15em dotted #5192c6; padding: 0.5em; margin-bottom: 2em; margin-top: 2em; border-radius: 1em; position: relative; } p.bj1-ztgs { background-color: #5192c6; color: #ffffff; display: inline-block; font-size: 1em; padding: 0.1em 0.7em 0.12em 0.7em; font-weight: bold; border-radius: 0em; margin-left: 0em; text-align: center; text-indent: 0em; position: absolute; top: -2em; } .link-float { width: 150px; float: left; height: auto; margin: auto; margin-right: 20px; } .imgBox-003 { width: 100%; height: 280px; margin-bottom: 18px; } .imgBox { display: flex !important; flex-direction: column-reverse !important; position: relative !important; .img { color: #7acab4; margin: 0 !important; font-size: 14px !important; position: absolute !important; left: 50% !important; transform: translateX(-50%); bottom: -2% !important; } img { height: 80%; } } // é¢ç® .textarea-question { border-color: #1c9e3a !important; } .textarea-question:focus { outline: none; /* ç§»é¤é»è®¤çç¦ç¹è½®å» */ } .textarea-main { background-color: transparent; max-width: 95%; min-width: 95%; outline: none; } .textarea-focused { border-color: #5192c6 !important; box-shadow: #5192c6 !important; } .select-border { width: 60px; border: 0; border-bottom: 1px solid #767676; &:focus { outline: none; } } .btn-border { border-radius: 6px; border-color: #5192C6; } .btn-w { cursor: pointer; font-size: 14px; border-width: 1px; width: 80px; height: 30px; background-color: #fff; &:hover { background-color: #5192C6; color: #fff; } } .parimary-btn { cursor: pointer; min-width: 80px; height: 30px; font-size: 14px; margin-left: 5px; background-color: #5192C6; border-color: #5192C6; border-width: 1px; color: #fff; border-radius: 6px; &:hover { background-color: #a1afc8; border-color: #a1afc8; } } .event-header-text-bc { background-color: #bbd4ec; } .video-title { display: flex; align-items: center; span { margin-left: 10px; color: #1c9e3a !important; font-weight: bold; } } .video-box { margin: 10px 0 20px 0; border: 2px dashed #1c9e3a; padding: 3% 2% 2% 2%; position: relative; } .video-img { position: absolute; top: -20px; left: -20px; } .video-box-left { margin: 20px 8% 20px 0; border: 1px dashed #895B2E; padding: 2% 2%; } .videoname { display: flex; justify-content: center; align-items: center; span { margin-right: 20px; } } .collect-btn { cursor: pointer; width: 20px; height: 20px; } .collect-btn1 { cursor: pointer; width: 10px; height: 10px; margin-left: 10px; margin-top: 0.8%; } .unitImg { position: relative; z-index: 1; } .unitBox { z-index: 99; position: absolute; top: -5px; left: 40px; } .unit2Box { z-index: 99; position: absolute; top: -200px; left: 40px; } .unitGraphic { display: inline-block; width: 10px; height: 10px; background-color: #5192C6; border-radius: 50%; margin-right: 15px; } .unit2Graphic { display: inline-block; width: 10px; height: 10px; background-color: #F89C1C; border-radius: 50%; margin-right: 15px; } .unit3Graphic { display: inline-block; width: 10px; height: 10px; background-color: #448D9C; border-radius: 50%; margin-right: 15px; } .unit4Graphic { display: inline-block; width: 10px; height: 10px; background-color: #9EAA60; border-radius: 50%; margin-right: 15px; } // pdf æ¥çå¨ .pdf-box { margin: 35px 0 20px 0; border: 1px solid #48a65d; } .pdf-title { display: flex; background-color: transparent; min-height: 25px; position: relative; .bg-img { width: 12%; position: absolute; top: -29.5px; } } .pdf-title-name { padding: 0 2%; display: flex; align-items: center; text-indent: 0em; margin: 0 !important; border-right: 1px solid #259e40; color: #259e40; img { cursor: pointer; margin-right: 10px; } .icon { fill: #078fb9; } } .pdf-title-img { width: 75.4%; text-indent: 1em; padding-right: 2%; display: flex; align-items: center; justify-content: space-between; margin: 0; color: #000; span { text-align: center; cursor: pointer; overflow: hidden; } img { cursor: pointer; } &:hover { text-decoration: underline; color: #259e40; } } .unitText { color: #5192C6; font-size: 18px; } .unit2Text { color: #F89C1C; font-size: 16px; } .unit3Text { color: #448D9C; font-size: 16px; } .unit4Text { color: #9EAA60; font-size: 16px; } // è¿ç§» .bk-bwh { min-height: 800px; background-color: #DFEBF7; font-size: 1.2em; padding: 25px; border: 4px dotted #197ABF; } ul { list-style-type: none; } li { list-style-type: none; } .custom_tag2 { background-color: #F1BE49; color: #FFFFFF; display: inline-block; padding: 0.5px; border-radius: 1.5em; font-size: 1.1em; padding: 2px 10px 2px 10px; font-weight: bold; margin: 0; text-indent: 0em; margin-bottom: 0.5em; } .custom_tag1 { background-color: #35ACD6; color: #FFFFFF; display: inline-block; padding: 1px; font-size: 1.1em; padding: 3px 10px 3px 10px; font-weight: bold; box-shadow: 15px 0px 0px 0px #F5D83E, -15px 0px 0px 0px #F5D83E; margin: 0; text-indent: 0em; margin-bottom: 0.5em; } .custom_tag { background-color: #35509F; color: #FFFFFF; display: inline-block; padding: 1px; border-radius: 1.5em; font-size: 1.1em; padding: 10px 20px 10px 20px; font-weight: bold; box-shadow: 30px 0px 0px 0px #F5D83E; margin: 0; text-indent: 0em; margin-bottom: 0.5em; } span.under1 { border-bottom: 2px solid #F0BD4A; border-width: 2px; } div.bodycontent-div-center { font-family: "DK-HEITI", "æ¹æ£å °äºé»ç®ä½", "é»ä½"; margin: 1em 1em 1em 1em; font-weight: normal; border-width: 1.5px; border-color: #dfb27d; padding: 1em; } img.bodycontent-divcenter-image { float: center; clear: both; height: 140px; margin: 15px; } .module_block { display: flex; font-size: 1.1em; position: relative; padding-left: 90px; justify-content: center; align-items: center; margin-right: 91px; } .module_block .custom1 { background-color: #9ACC77; padding: 10px 20px; color: #FFFFFF; /* position: absolute; */ /* left:0; */ /* top: 50%; */ border-radius: 0.5em 0em 0em 0.5em; /* transform: translateY(-50%); */ } .module_block .custom2 { background-color: #E9F3E0; padding: 10px 20px; color: #75A64E; font-weight: bold; border-radius: 0em 0.5em 0.5em 0em; } div.bodycontent-div-left1 { font-family: "DK-HEITI", "æ¹æ£å °äºé»ç®ä½", "é»ä½"; margin: 1em 1em 1em 1em; font-weight: normal; border-width: 1.5px; border-color: #dfb27d; padding: 1em; background-color: #F0F8FF; } div.bodycontent-div-left { font-family: "DK-HEITI", "æ¹æ£å °äºé»ç®ä½", "é»ä½"; margin: 1em 1em 1em 1em; font-weight: normal; border-width: 1.5px; border-color: #dfb27d; padding: 1em; } img.bodycontent-divright-image { float: right; clear: both; height: 140px; margin: 15px; } img.bodycontent-divleft-image { float: left; clear: both; height: 110px; margin: 15px; } div.bodystyle { text-align: justify; margin: 0% 12% 0% 12%; line-height: 30px; min-height: 900px; } // div.bodystyle-left { // text-align: justify; // margin: 13% 3% 10% 13%; // line-height: 30px; // } .UnitCover { padding-top: 0; padding-bottom: 80px; } .Unit-title { margin-left: 2%; margin-bottom: 70px; padding: 150px 30px 20px 0; width: 75%; color: #fff; background-color: #1d9438; position: relative; overflow: hidden; p { font-size: 30px; text-align: right; } } .Unit-title::after { content: ''; position: absolute; right: -1px; bottom: -1px; width: 0; height: 0; border-style: solid; border-width: 0px 0 50px 40px; /* è°æ´è¿ä¸ªå¼æ¥æ¹å缺失ä¸è§å½¢çå¤§å° */ border-color: #fff transparent #fff transparent; /* 使ç¨ä¸èæ¯ç¸åçé¢è²æ¥âåæâè§ */ z-index: 2; } .Unit-content { margin: 0 12%; } .Unit-title-box { padding: 20px 3% 10px 3%; margin-bottom: 60px; border: 1px dashed #1C9E3A; position: relative; span { font-weight: bold; } } .box-title { padding: 0px 15px; color: #fff; text-indent: 0em; border-radius: 0 10px 0 0; background-color: #1C9E3A; position: absolute; top: -15px; left: 0; } .uploadFiles { display: flex; align-items: flex-end; color: #000; img { cursor: pointer; width: 25px; margin-right: 10px; } span { font-size: 14px; line-height: 20px; font-weight: 400; cursor: pointer; } &:hover { color: #1C9E3A !important; } } .ppt-box { cursor: pointer; display: flex; align-items: center; line-height: 25px; font-family: "kaiti"; p { text-indent: 0em; font-size: 1em; margin-right: 20px; margin-bottom: 0; &:hover { text-decoration: underline; color: #1C9E3A; } } img { cursor: pointer; width: 25px; } } .unit-title-parent { text-align: center; margin: 10% 0; } .unit-title { font-family: "æ¹æ£æ£é»"; display: inline-block; font-size: 1.6em; font-weight: 500; border-bottom: 1px solid #0082D4; padding: 10px 0; } .bodyPic { position: relative; } .bodyPic-text { position: absolute; top: 15%; left: 8%; p { font-family: kaiti; font-size: 16px; line-height: 25px; } span { color: #006e92; } } span.zt-0 { color: #0087AF; } p.pzt-0 { color: #0087AF; font-size: 18px; } p.pzt-0-right { font-size: 18px; color: #0087AF; text-align: right; } p.pzt-1 { font-weight: bold; color: #0087AF; font-size: 18px; } div.sgc-toc-title { font-size: 2em; font-weight: bold; margin-bottom: 1em; text-align: center; } .block { font-family: "kaiTi"; text-indent: 2em; line-height: 30px; font-size: 17px; text-align: justify; } .tl-c { text-align: center; } .img { text-align: center; font-size: 14px; margin-left: 0%; margin-right: 0%; text-indent: 0em; } .img1 { font-family: 'FZLTXIHJW'; text-align: right; font-size: 0.85em; margin-left: 0%; margin-right: 2em; text-indent: 0em; } p { font-family: "æ¹æ£å®ä½"; margin-top: 0em; margin-bottom: 0.2em; text-indent: 2em; line-height: 30px; text-align: justify; } .cover { width: 100%; padding: 0px; } .center { text-align: center; margin-left: 0%; margin-right: 0%; text-indent: 0em; } .center-ss { text-align: center; color: #EF8472; font-weight: bold; margin-left: 0%; margin-right: 0%; text-indent: 0em; } .left { text-indent: 0em; margin-bottom: 0px; line-height: 20px; } .img-0 { width: 100%; } .img-a { width: 95%; } .img-b { width: 70%; } .img-c { width: 60%; } .img-d { width: 50%; } .img-e { width: 45%; } .img-f { width: 40%; } .img-g { width: 30%; } .img-h { width: 20%; } .img-h { width: 20%; } .img-15 { width: 15%; } .img-i { width: 10%; } .img-j { width: 5%; } .foreword-img-box { text-align: end; padding: 12% 0 10% 0; img { width: 30%; } } // epubä¸èªå¸¦çæ ·å¼ .editorialBoard { background-color: #fff; border-radius: 50%; /* é¡¶é¨ååºé¨ä¸º0ï¼å·¦å³ä¸¤ä¾§ä¸º50% */ padding: 5% 10% 20% 10%; } .series { padding: 12% 11%; background-color: #e1f1fa; } .openingScene { background-size: cover; background-repeat: no-repeat; min-height: 100%; } .quotation-box { padding: 15% 10% 30% 32%; } .firstTitle-l { font-family: "æ¹æ£æ£é»"; padding: 5% 13%; text-align: center; font-weight: 400; } .seriesTitle { font-size: 2em; color: #000; font-weight: 400; text-align: center; padding: 15% 0 10% 0; } .g-pic { height: 2.5em; vertical-align: middle; } .titleQuot-c { font-family: "æ¹æ£å °äºç»é»"; color: #00aeef; text-indent: 0em; font-size: 1.7em; line-height: 1.3em; text-align: center; font-weight: 400; padding: 0 5%; } div.bk3 { background-color: #d6ece5; border: 1px solid #7acab4; padding: 25px 19px 20px 19px; margin-top: 2em; margin-bottom: 1em; position: relative; } .bk3-titOne { position: absolute; top: -18px; left: 20%; } .bk3-titTwo { position: absolute; top: -18px; left: 38%; } .bk3-titThree { position: absolute; top: -18px; right: 38%; } .bk3-titFour { position: absolute; top: -18px; right: 20%; } .bk3-top { width: 25px; height: 25px; border-radius: 50%; background-color: #fff; border-radius: 0 25px 0 0; transform: rotate(90deg); border-top: 1px solid #7acab4; border-right: 1px solid #7acab4; position: absolute; top: -2px; left: -2px; /* æè½¬å½¢ææå½¢ */ } .bk3-top-right { width: 25px; height: 25px; border-radius: 50%; background-color: #fff; border-radius: 0 25px 0 0; transform: rotate(180deg); border-top: 1px solid #7acab4; border-right: 1px solid #7acab4; position: absolute; top: -2px; right: -2px; /* æè½¬å½¢ææå½¢ */ } .bk3-bottom { width: 25px; height: 25px; border-radius: 50%; background-color: #fff; border-radius: 0 25px 0 0; transform: rotate(360deg); border-top: 1px solid #7acab4; border-right: 1px solid #7acab4; position: absolute; bottom: -5.5px; left: -2px; /* æè½¬å½¢ææå½¢ */ } .bk3-bottom-right { width: 25px; height: 25px; border-radius: 50%; background-color: #fff; border-radius: 0 25px 0 0; transform: rotate(270deg); border-top: 1px solid #7acab4; border-right: 1px solid #7acab4; position: absolute; bottom: -5.5px; right: -2px; /* æè½¬å½¢ææå½¢ */ } h1 { display: inline-block; text-align: center; background-color: #B4CFAC; padding: 10px 20px; margin: 60px 0 40px 0; border-radius: 25px 0 25px 0; font-size: 1.5em; line-height: 1.2em; text-indent: 0em; font-weight: bold; font-family: "æ¹æ£æ£é»"; } .firstLevel-t { text-indent: 2em; font-size: 1.1em; font-weight: bold; color: #1C9E3A; margin-top: 50px; margin-bottom: 20px; } .Secondary-t { text-indent: 2em; font-size: 1.1em; font-weight: bold; color: #1C9E3A; margin-top: 20px; margin-bottom: 20px; } h2 { font-family: 'æ¹æ£å®é»'; font-weight: 400; margin: 30px 0; } .preface { font-family: "æ¹æ£æ°ä¹¦å®"; text-indent: 2em; color: #000; } .right-info { font-family: "kaiti"; text-align: right; margin-bottom: 0.5em; } .imgdescript-l { margin-left: -5%; } .titleQuot-l { text-indent: 0em; margin: 15px 0 10px 0; font-size: 1.2em; font-weight: bold; } .poemtitle-l { font-family: "æ¹æ£å °äºçº¤ç»"; font-size: 1.1em; margin: 15px 0 10px 0; font-weight: bold; } .quotation { font-family: "æ¹æ£ä»¿å®"; text-align: left; text-indent: 2em; margin: 0.1em auto; line-height: 35px; } .titleQuot-1 { margin-bottom: 15px; font-family: "æ¹æ£æ£é»"; font-size: 1.1em; margin: 20px 0; } /*åºè²*/ .bgColor { padding: 2px 5px; color: #000; background: #aae0f9; } // æå±å¦ä¹ .ExpandLearning { padding: 40px 20px 20px 20px; background: #e1f4fc; border-top: 2px solid #008cb7; margin: 1em auto; position: relative; } .ExpandLearning-title { text-indent: 0; position: absolute; top: -16px; left: 0px; span { background-color: #e1f4fc; height: 20px; width: 30px; padding: 5px; border: 1px solid #008cb7; border-radius: 50%; margin-right: 1px; } } .imgdescript { font-size: 13px; text-indent: 0em; text-align: center; } .imgdescript-title { color: #7acab4; font-size: 15px; text-indent: 0em; text-align: center; } .learningDetection { font-family: "æ±ä»ªæ£é»"; background-color: #6bcff6; font-weight: bold; margin: 30px 0 20px 0; } .poemtitle { text-align: center; font-weight: bold; font-family: "æ¹æ£å °äºç»é»"; } .bold { color: #00aeef; font-weight: 400; font-family: "æ¹æ£ä¹¦å®"; margin: 10px 0; } .noteContent { font-size: 13.5px; word-break: break-all; margin: 0 !important; line-height: 25px; .noteContent-title { font-size: 13.5px; font-weight: bold; margin: 0 !important; } } sup { cursor: pointer; } } .dialogQuestion { background-color: #1c9e3a; height: 80px; width: 100%; display: flex; align-items: center; justify-content: space-between; cursor: pointer; span { color: #fff; font-size: 16px; padding: 0 40px 0 20px; } } .pdfModal { width: 100%; height: 90vh; .pdfBox-component { width: 100%; height: 100%; position: relative; .preview { width: 100%; height: 100%; .imageBox { height: calc(100% - 30px); overflow-x: hidden; overflow-y: auto; background: #ccc; box-sizing: border-box; } .imageBox:hover { cursor: zoom-in !important; } ::v-deep .el-dialog__header { background-color: rgba(0, 0, 0, 0.8); .header_title { display: flex; justify-content: space-between; align-items: center; color: #fff; font-weight: 900; font-size: 16px; font-family: 'FZLTXIHJW'; span:nth-child(2):hover { cursor: pointer; } } ::v-deep .el-dialog__title, ::v-deep .el-dialog__headerbtn .el-dialog__close { color: #fff; font-weight: 900; font-size: 16px; font-family: 'FZLTXIHJW'; } } .bottom_tool { height: 30px; background-color: rgba(0, 0, 0, 0.8); display: flex; justify-content: flex-end; align-items: center; svg { margin-right: 15px; fill: #d1d1d1; } svg:hover { fill: #fff; cursor: pointer; } } } .notBox { position: absolute; top: 0; left: 0; width: 100%; height: calc(100% - 30px); min-height: 300px; } } } .custom-dialog { overflow: hidden !important; .el-dialog__body { padding: 0; } .el-dialog__header { background-color: rgba(0, 0, 0, 0.8); .header_title { display: flex; justify-content: space-between; align-items: center; color: #fff; font-weight: 900; font-size: 16px; font-family: 'FZLTXIHJW'; span:nth-child(2):hover { cursor: pointer; } } .el-dialog__title, .el-dialog__headerbtn .el-dialog__close { color: #fff; font-weight: 900; font-size: 16px; font-family: 'FZLTXIHJW'; } } } .examination { height: calc(100% - 15px); overflow-x: hidden; overflow-y: auto; box-sizing: border-box; } .header_title { display: flex; justify-content: space-between; align-items: center; // color: #fff; font-weight: 900; font-size: 16px; font-family: 'FZLTXIHJW'; span:nth-child(2):hover { cursor: pointer; } } // è¡¨æ ¼æ ·å¼ table { border-collapse: collapse; //è¡¨æ ¼çè¾¹æ¡åå¹¶ï¼å¦æç¸é»ï¼åå ±ç¨ä¸ä¸ªè¾¹æ¡ã border-spacing: 0px; //设置è¡ä¸åå æ ¼è¾¹æ¡çé´è·ã } @font-face { font-family: 'æ¹æ£ä»¿å®'; src: url('./Fonts/FZFSK.TTF'); } @font-face { font-family: 'æ¹æ£å®ä½'; src: url('./Fonts/FZSSK.TTF'); } // @font-face { // font-family: 'æ¹æ£å®é»'; // src: url('./Fonts/FZSHJW.TTF'); // } // @font-face { // font-family: 'æ¹æ£ä»¿å®'; // src: url('./Fonts/FZFSK.TTF'); // } // @font-face { // font-family: 'æ¹æ£å °äºç»é»'; // src: url('./Fonts/FZLTXIHK.TTF'); // } // éèé¡µé¢ .hidePage { min-height: 0 !important; height: 0 !important; box-shadow: none !important; } /* åªä½æ¥è¯¢ååºç¡ååºå¼å¸å± */ @media screen and (max-width: 1024px) { .pdfModal { width: 100%; height: 80vh; } .custom-dialog { .el-dialog { width: 90vw !important; } } } @media screen and (max-width: 800px) { .pdfModal { width: 100%; height: 60vh; } .custom-dialog { .el-dialog { width: 90vw !important; } } } @media (max-width: 660px) { .aviationPassengerTransport6th { .pad-l-80 { padding-left: 10px; } .mr-70 { margin-right: 15px; } /* å页padding */ .padding-93 { padding: 0 20px; } .padding-102 { padding: 0 20px; } .img-float { width: 130px; } .img-rights { width: 130px; } .btn-w { width: 42px; } .unitText { color: #5192C6; font-size: 10px; } .unit2Text { color: #F89C1C; font-size: 10px; } .wh-no { white-space: wrap; } td { padding: 5px 10px; } } } @media (min-width: 660px) { .aviationPassengerTransport6th { .padding-93 { padding: 0 93px 0px 93px; } .padding-102 { padding: 0 102px 0 102px; } } } ::-webkit-scrollbar { width: 8px; height: 10px; } ::-webkit-scrollbar-track-piece { background-color: rgba(0, 0, 0, 0.1); -webkit-border-radius: 6px; } ::-webkit-scrollbar-thumb:vertical { height: 5px; background-color: rgba(125, 125, 125, 0.3); -webkit-border-radius: 6px; } ::-webkit-scrollbar-thumb:horizontal { width: 5px; background-color: rgba(125, 125, 125, 0.3); -webkit-border-radius: 6px; } src/books/aviationPassengerTransport6th/view/components/chapter001.vue
New file @@ -0,0 +1,1130 @@ <template> <div class="chapter" num="2"> <!-- 2页 --> <div class="page-box mt-20" page="2" style="min-height: auto"> <div v-if="showPageList.indexOf(2) > -1"> <img class="img-0" alt="" src="../../assets/images/0002-01.jpg" /> </div> </div> <!-- 3页 --> <div class="page-box" page="3"> <div v-if="showPageList.indexOf(3) > -1"> <div class="UnitCover"> <div class="Unit-title"> <p>项ç®ä¸</p> <p>æ°ç¨èªç©ºè¿è¾ä¸çåå±</p> </div> <div class="Unit-content"> <div class="Unit-title-box"> <p class="box-title">项ç®å¯¼è¯»</p> <p class="fm-kt"> æ¬é¡¹ç®ä½ä¸ºå ¨ä¹¦çå¼ç¯ï¼ä¸»è¦ä»ç»ä¸ç以åä¸å½æ°ç¨èªç©ºè¿è¾ä¸ä¸ååå²åå±é¶æ®µçç¹ç¹ï¼è¯´æä¸å½æ°èªè¿è¾ä¸è¬ååå±ççæºåæ´»åã </p> </div> <div class="Unit-title-box"> <p class="box-title">å¦ä¹ ç®æ </p> <p class="fm-kt"> <span>ç¥è¯ç®æ ï¼</span >äºè§£ä¸ç以åä¸å½æ°ç¨èªç©ºè¿è¾çåå±åå²ä»¥åä¸åé¶æ®µçç¹ç¹ï¼çè§£æ°ç¨èªç©ºè¿è¾åå±çè¶å¿ã </p> <p class="fm-kt"> <span>æè½ç®æ ï¼</span >æ¯è¾ä¸å½ä¸ä¸çæ°ç¨èªç©ºè¿è¾åå±åå²ï¼çè§£å½ä»æ°ç¨èªç©ºè¿è¾èçååå±è¶å¿ï¼ä»¥åä¸å½ç±æ°èªå¤§å½åæ°èªå¼ºå½æ¨è¿çæç¥ææ³ã </p> <p class="fm-kt"> <span>ç´ è´¨ç®æ ï¼</span>æ ç«å ¨æ°èªã大æ°èªçèä¸è§ã </p> </div> <p class="firstLevel-t center">ä¸ºå ¨çèªç©ºå屿¨è¿åæ°</p> <p> 1944å¹´12æ7æ¥ï¼52个å½å®¶å¨èå å¥ç¾ç½²äºãå½é æ°ç¨èªç©ºå ¬çº¦ãï¼éç§°ãèå å¥å ¬çº¦ãï¼ãæ ¹æ®ãèå å¥å ¬çº¦ãçè§å®ï¼1947å¹´4æ4æ¥ï¼å½é æ°èªç»ç»ï¼ICAOï¼æ£å¼æç«ã1992å¹´9æå¬å¼çå½é æ°èªç»ç»ç¬¬29å±å¤§ä¼ååºå³è®®ï¼èªèå å¥å ¬çº¦ç¾ç½²50å¨å¹´ç1994å¹´èµ·ï¼å°æ¯å¹´ç12æ7æ¥å®ä¸ºâå½é æ°èªæ¥âã </p> </div> </div> <ul class="headerRight-Number"> <li class="">·3·</li> </ul> </div> </div> <!-- 4页 --> <div class="page-box" page="4"> <div v-if="showPageList.indexOf(4) > -1"> <ul class="header-left"> <img src="../../assets/images/header-left.png" alt="" /> <li class="headerText">æ°èªæ 客è¿è¾</li> </ul> <div class="bodystyle"> <p class="fm-fs"> 1996å¹´12æ6æ¥ï¼èåå½å¤§ä¼æ ¹æ®å½é æ°èªç»ç»çå¡è®®ï¼éè¿å³è®®ï¼ç¬¬51/33å·å³è®®ï¼ï¼è®¾ç«æ¯å¹´ç12æ7æ¥ä¸ºâå½é æ°èªæ¥âï¼æ¨å¨å¸®å©å»ºç«åå¢è¿å ¨ä¸çç认è¯ï¼äºè§£å½é æ°ç¨èªç©ºå¯¹åå½ç¤¾ä¼åç»æµåå±çéè¦æ§ï¼ä»¥åå½é æ°èªç»ç»ä¸ºå ¨äººç±»æå¡ã帮å©åå½åä½å¹¶å®ç°çæ£çå ¨çå¿«éè¿å¢ç½ç»æåæ¥çç¬ç¹ä½ç¨ã </p> <p class="fm-fs"> æ¯éäºå¹´ï¼å¨å½é æ°èªç»ç»å¨å¹´çºªå¿µä¹é ï¼å¦2014å¹´ã2019å¹´ã2024å¹´çï¼ï¼å½é æ°èªç»ç»çäºä¼ä¸ºå½é æ°èªæ¥è®®å®ä¸ä¸ªç¹å®çå¨å¹´ä¸»é¢ï¼çäºä¼ä»£è¡¨ä»¬è¿ä¸ºè¿äºå¨å¹´çºªå¿µæ¥ä¹é´çæ´ä¸ªåå¹´æéæ©ä¸ä¸ªå½é æ°èªæ¥ä¸»é¢ã为纪念å½é æ°èªç»ç»æç«75å¨å¹´ï¼çäºä¼ä¸º2019å¹´åºç¥æ´»å¨éæ©ç主é¢ä¸ºâè¿éä¸çä¸åäºè½½ï¼75 Years of Connecting the Worldï¼âï¼2020å¹´è³2023å¹´çå½é æ°èªæ¥ä¸»é¢æ¯âä¸ºå ¨çèªç©ºå屿¨è¿åæ°ï¼Advancing Innovation for Aviation Developmentï¼âã </p> <p class="fm-fs"> åæ°å°æä¸ºæ£å¨æ¥ä¸´çèªç©ºæ°æ¶ä»£çæ ¸å¿ï¼èªä¸»èªç©ºå¨ãå¯åçè½æºåæ¨è¿è½æºãäºè½¨éé£è¡ã人工æºè½ã墿å¶é ãå¤§æ°æ®ãåºåé¾å许å¤å ¶ä»ä»¤äººå ´å¥çåå±é½å°æ¹åæä»¬æç¥çé£è¡é¢è²ãå½é æ°èªç»ç»éç¨ç§¯æä¸»å¨çç管è¯ä¼°æ¹æ³ï¼é¼å±æ°è¶å¿å¹¶æ¨å¨åè°ï¼ä»è卿¯æèªç©ºåæ°ä¸åæ¥ä¸»è¦ä½ç¨ï¼ä¿ä½¿èªç©ºä¸è½å¤å©ç¨è¿äºè¶å¿åé æ°æç»©åè·å¾æ°è½åã </p> <p class="right-info">ï¼èµææ¥æºï¼å½é æ°èªç»ç»ãèåå½ç½ç«ï¼</p> <div class="fl jc-c"> <h1>ä»»å¡ä¸ãäºè§£ä¸çæ°ç¨èªç©ºè¿è¾ä¸çåå±</h1> </div> <p> å¨å¹¿éæ å çè天ä¸èªç±å°é£ç¿ï¼æ¯äººç±»èªå¤ä»¥æ¥ç梦æ³ã人类çé£å¤©æ¢¦æ³éä¸åæ å¨ä¸å¤å¤ä»£é£è¡ç¥è¯ä¸ãå¨ä¸å½ï¼æå¹¿ä¸ºæµä¼ çç¾ä¸½ç¥è¯ï¼å¦å«¦å¨¥å¥æãä»å¥³ä¸å¡ãçéç»å¥³ï¼æä¹é¾è·¨å¤çè§å²ãå¼çï¼æå¤©å®«ä¸ççç大å¸ãè蹬é£ç«è½®çåªåä¸å¤ªåå飿¥é£å»çä¼ç¥ä»ï¼æä¸ä¸ªçæåä¸å «åéçé½å¤©å¤§å£åæç©ºï¼è¿æé»åä¸ççæ¦ç é£å¤©çï¼é½æ¯ä¸å½å¤ä»£äººç±»å空é£ç¿æ¿æççå¨ä½ç°ãå¨å¤å½ï¼å¤ä»£é£è¡ç¥è¯ä¸»è¦éä¸å¨å¤å¸è ãååãå°åº¦åé¿æä¼¯å°åºãå¨å¤å¸è ç¥è¯ä¸ï¼ä¼é£çç¥æå¾å¤ï¼å¦å¤ªé³ç¥é¿æ³¢ç½ãç±ç¥ä¸æ¯ç¹çï¼é½é¿çä¸åç¿ èï¼é¿æä¼¯é£æ¯¯çç¥è¯æ´æ¯å®¶å»æ·æã </p> </div> <ul class="header-left-box"> <li class="">·4·</li> </ul> </div> </div> <!-- 5页 --> <div class="page-box" page="5"> <div v-if="showPageList.indexOf(5) > -1"> <ul class="header-right"> <li class="headerRight-Text">项ç®ä¸ãæ°ç¨èªç©ºè¿è¾ä¸çåå±</li> <span class="headerRight-box"></span> </ul> <div class="bodystyle"> <p class="firstLevel-t">ä¸ãèªç©ºä¸çèè½</p> <p> äººç±»çæ£é£ä¸å¤©å¼å§äº1783å¹´æ³å½çèç¹å¥è²å°ï¼Montgolï¬erï¼å å¼å¶é ççæ°ç载人å空ï¼éåå¾·å½äººåç¨æ°çè¿éé®ä»¶åä¹å®¢ï¼è¿å¯ä»¥è¯´æ¯æ°ç¨èªç©ºçå¼å§ã1852å¹´ï¼å¨æ³å½åºç°äºé£èï¼åºç°äºå¯ä»¥ç±äººæçºµçæå¨åçé£è¡å¨ãæ´ä¸ª19ä¸çºªæ¯æ°çãé£èè¿äºè½»äºç©ºæ°çèªç©ºå¨ä¸»å®°èªç©ºçæ¶ä»£ï¼å®ä»¬é¦å ç¨äºæ°ç¨ï¼ä½å¾å¿«å°±è¢«ç¨äºæäºï¼èåäºç¨éåä¿è¿äºèªç©ºææ¯çåå±ãè½»äºç©ºæ°çé£è¡å¨ä½ç§¯å¤§ãéåº¦æ ¢ï¼æçºµä¹ä¸æ¹ä¾¿ï¼å¨åäºä¸æåæ»å»ï¼å èå®ä»¬çåºç°ä¸è®ºå¨æ°ç¨ååç¨é¢åä¸é½ä¸ä»£è¡¨çæ£çèªç©ºæ¶ä»£çå°æ¥ã </p> <p> èªç©ºäºä¸ççæ£å¼ææ¯å¨é£æºè¿ç§éäºç©ºæ°çèªç©ºå¨åºç°ä»¥åï¼éäºç©ºæ°çé£è¡å¨ç设æ³åºç°å¾æ¯è½»äºç©ºæ°çé£è¡å¨è¿è¦æ©ï¼ä½ç´å°19ä¸çºªï¼æ³å °è¥¿ç§å¦é¢è¿å¨äºè®ºæ¯å¦å¯è½å¶é åºéäºç©ºæ°çé£è¡å¨çé®é¢ã䏿¤åæ¶ï¼è±å½ç§å¦å®¶å¯å©ï¼G. Cayleyï¼åå¾·å½ç§å¦å®¶éææè¾¾å°ï¼O. Lilienthalï¼å¯¹æ»ç¿æºåäºå¤§éçç ç©¶åå®è·µï¼ææè¾¾å°ä¸ºæ¤ä»åºäºçå½ï¼ä»ä»¬åå ¶ä»ä¸äºç§å¦å®¶çç ç©¶å¨ç©ºæ°å¨åçç论ã飿ºçæé åæçºµçå®è·µä¸ä¸ºé£æºçåºç°å¥ å®äºåºç¡ã </p> <p> 1903å¹´12æ17æ¥ï¼ç¾å½çè±ç¹å å¼åæäºé£æºï¼å¦å¾1-1æç¤ºã卿¤åä¸å°åå¹´çæ¶é´å ï¼äººä»¬å°±å·²ç»å¼å§è¯å¾æé£æºåºç¨äºèªç©ºè¿è¾äºã </p> <div class="fl fd-c al-c openImgBox mt-20"> <img class="img-c" src="../../assets/images/第5页-9.png" alt="" /> <p class="img">å¾ 1-1ãè±ç¹å å¼çâé£è¡è å·â</p> </div> </div> <ul class="headerRight-Number"> <li class="">·5·</li> </ul> </div> </div> <!-- 6页 --> <div class="page-box" page="6"> <div v-if="showPageList.indexOf(6) > -1"> <ul class="header-left"> <img src="../../assets/images/header-left.png" alt="" /> <li class="headerText">æ°èªæ 客è¿è¾</li> </ul> <div class="bodystyle"> <p> 1910å¹´11æ7æ¥ï¼ç¾å½é£è¡åè²å©æ®Â·å¸é©¬å©ï¼Philip Parmaleeï¼åè«å°è±ªæ¯è²ç®å ¬å¸çå§æï¼é©¾é©¶è±ç¹Båå翼æºï¼å°ä¸æ¹ä¸ç»åä»ä»£é¡¿ï¼Daytonï¼è¿å¾å¥ä¼¦å¸ï¼Columbusï¼ï¼è¿å¯ä»¥ç®ä½ç¬¬ä¸æ¬¡é£æºè´§è¿ã </p> <p> 1911å¹´2æ22æ¥ï¼ä¸è¯´æ¯20æ¥ï¼ï¼è±å½çå®¶æµ·å䏿 ¡æ¸©å¾·å§ï¼Walter G. Windhamï¼è¯·æ³å½é£è¡å亨å©Â·ä½©å¯ï¼Henry Pequetï¼é©¾æºï¼æä¸æ¹ä¿¡ä»¶ä»å°åº¦çé¿æåå·´å¾·å¸ï¼Allahabadï¼å¸¦å¾å¥å°¼ç« å ç³ï¼Naini Junctionï¼ãæ¯å°ä¿¡éå èªç©ºé®è´¹çº¦å2.5便士ï¼è¿ä¾¿æ¯é¦æ¬¡é®æ¿é£è¡ã </p> <p> 1914å¹´1æ1æ¥ï¼ç¾å½èåé¿éé£è¡åæå°¼Â·è´¾çº³æ¯ï¼Tony Jannusï¼é©¾é©¶â伯åªç¦âï¼Benoistï¼å·æ°´ä¸é£æºï¼è½½ä¸åä¹å®¢ï¼å®æäºä»å£å½¼å¾æ¯å ¡ï¼St. Petersburgï¼å°å¦å¸ï¼Tampaï¼çç¬¬ä¸æ¬¡èªçé£è¡ãèªçº¿å ¨é¿31å ¬éï¼èªè¡æ¶é´çº¦20åéãè¿å°±æ¯ç¬¬ä¸æ¬¡å®¢è¿èªçã </p> <p> 1909å¹´ï¼æ³å½äººå¸è±é奥ï¼Louis Bleriotï¼æåå°é£è¿äºè±å婿µ·å³¡ï¼å¼åäºåå²ä¸ç¬¬ä¸æ¬¡å½é é£è¡ãå¨éåç10å¹´ä¸ï¼é£æºå¾å¿«è¢«åºç¨å°åäºä¸ï¼1914â1918å¹´çç¬¬ä¸æ¬¡ä¸ç大æï¼æå¤§å°æ¨å¨äºèªç©ºææ¯çåå±ï¼è¿ä¸é¶æ®µé£æºå 乿²¡æç¨äºè¿éåäºç¨éã </p> <p> 1919å¹´å¹´åï¼å¾·å½é¦å å¼å§äºå½å çæ°èªè¿è¾ï¼åå¹´8æï¼è±å½åæ³å½å¼éäºå®æçç©ºä¸æå¡ï¼æ°ç¨èªç©ºçå岿£å¼æå¼äºã </p> <div class="img-float w350 openImgBox"> <img class="img-c" src="../../assets/images/第6页-10.png" alt="" /> <p class="img">å¾ 1-2ãDC-3 客æº</p> </div> <span> <p> ä»1919å¹´å°1939å¹´ç20å¹´ï¼æ¯æ°ç¨èªç©ºååå¹¶åå±çå¹´ä»£ï¼æ°ç¨èªç©ºè¿ é仿¬§æ´²åå±å°åç¾ï¼ç¶åæ®åå°äºãéãæç¾åæ´²ï¼è¿ éæ©å±å°å ¨çåå°ï¼ä¸å½ä¹å¨1920å¹´å¼å§å»ºç«äºç¬¬ä¸æ¡èªçº¿ã1933å¹´ï¼ç¾å½äººæç½ï¼C. A.Lindbergï¼æ¨ªè¶å¤§è¥¿æ´é£è¡çæåï¼æèªç©ºè¿è¾ç±æ´²å é£è¡æ©å±å°äºæ´²é é£è¡ãè¿ä¸ªå¹´ä»£æå ·ä»£è¡¨æ§çæ°èªå®¢æºæ¯ç¾å½çDC-3ï¼å¦å¾1-2æç¤ºã </p> <p> 1939å¹´ï¼ç¬¬äºæ¬¡ä¸ç大æçå¼å§ï¼ä¸æäºæ°èªåå±çæ£å¸¸è¿ç¨ãæäºå¯¹èªç©ºçæ¨å¨åè¿æ¯æ°èªè·ååä¸å©æ¶¦çæ¨å¨å大å¾å¤ï¼å¨å å¹´çæäºä¸èªç©ºææ¯åå¾äºé£è·å¼çåå±ã </p> </span> </div> <ul class="header-left-box"> <li class="">·6·</li> </ul> </div> </div> <!-- 7页 --> <div class="page-box" page="7"> <div v-if="showPageList.indexOf(7) > -1"> <ul class="header-right"> <li class="headerRight-Text">项ç®ä¸ãæ°ç¨èªç©ºè¿è¾ä¸çåå±</li> <span class="headerRight-box"></span> </ul> <div class="bodystyle"> <div class="pdf-box"> <div class="pdf-title"> <p class="pdf-title-name"> <img src="../../assets/images/pdfLogo.svg" alt="" /> <span>æå±ç¥è¯</span> </p> <p class="pdf-title-img"> <span @click="toUrl(1)"> {{ chapter001.pdfMd5[1].name }}</span> <el-tooltip class="item" effect="dark" :content=" chapterData.isCollectVideoOne ? 'ç¹å»åæ¶' : 'ç¹å»æ¶è' " placement="top-start" > <img :src=" collectResourceList.findIndex( (item) => item.id == 'd26f73df690bb8de6781c40d049560e3' ) > -1 ? collectCheck : collectImg " alt="" class="collect-btn" @click="handleCollect('pdf-01')" /> </el-tooltip> </p> </div> </div> <p class="firstLevel-t">äºãæ°ç¨èªç©ºç大å屿¶æ</p> <p> ä»1945å¹´ç¬¬äºæ¬¡ä¸ç大æç»æå°1958å¹´ï¼æ°ç¨èªç©ºç»åäºæ¢å¤å大åå±çæ¶æãè¿ä¸æ¶æå æ°ç¨èªç©ºçåå±ä¸»è¦ä½ç°å¨ä»¥ä¸å 个æ¹é¢ï¼ </p> <p> 第ä¸ï¼å½é èªç©ºä¸è¿ éåå±ã1944å¹´å¨ç¾å½èå å¥ï¼54个å½å®¶ç¾ç½²äºãå½é èªç©ºè¿è¾å ¬çº¦ãï¼å²ç§°ãèå å¥å ¬çº¦ãï¼è¿ä¸ªå ¬çº¦ç°å¨æä¸ºä¸çå½é èªç©ºæ³çåºç¡ã </p> <p> 第äºï¼æºåºåèªè·¯ç½çåºç¡è®¾æ½å¤§éå ´å»ºï¼ä½¿æ°ç¨èªç©ºç±è¿å»çç¹çº¿ç»æåé¢ä¸åå±ï¼éæ¥å½¢æäºä¸ä¸ªå ¨çèå´çèªç©ºç½ã </p> <p> 第ä¸ï¼ç´åæºè¿å ¥äºæ°èªæå¡ï¼æä¸ºæ°èªçåä¸ç§ä¸»è¦èªç©ºå¨ï¼å¼è¾äºæ°èªçæ°é¢åã </p> <div class="img-rights w350 openImgBox"> <img class="img-c" src="../../assets/images/第7页-11.png" alt="" /> <p class="img">å¾1-3ãB707-220</p> </div> <span> <p> 第åï¼å·æ°å¼æ°ç¨é£æºçç å¶è¿å ¥äºå®ç¨é¶æ®µï¼ä¸ºæ°èªç¬¬äºä¸ªé¶æ®µçåå±åå¤äºæ¡ä»¶ã1956å¹´ï¼å·æ°å¼æ°ç¨é£æºæå ¥ä½¿ç¨ï¼å¼å§äºæ°ç¨èªç©ºçä¸ä¸ªæ°é¶æ®µãè±å½ä½ä¸ºå·æ°å¼é£æºçå 驱å½å¨æåå°±è´åäºæ°ç¨å·æ°å¼é£æºçç åã1950å¹´ï¼ä¸çä¸ç¬¬ä¸æ¶æ¶¡è½®èºææ¡¨å·æ°å®¢æºââè±å½çâåçµå·âââæå ¥ä½¿ç¨ã1952å¹´ï¼è±å½å¾·Â·åç»´å °é£æºå¶é å ¬å¸ç å¶çãè£ é 4æ¶¡è½®å·æ°å卿ºçâ彿å·â客æºå¨èªçº¿ä¸å¼å§ä½¿ç¨ãå¨éåç两年å ï¼â彿å·âè¿ç»ä¸æ¬¡ç©ºä¸è§£ä½ï¼ä½¿å·æ°å¼é£æºå¨æ°èªçåºç¨åå°äºæ«æï¼ä½å·æ°å¼æ°ç¨é£æºçä¼è¶æ§å·²ç»æ¾ç¤ºåºæ¥ã卿¥åäºâ彿å·â失败çæè®åï¼äººä»¬ç»äºå¤æåºå¯¼è´â彿å·â失äºçåå æ¯âç²å³æè£âï¼å¹¶æ¾åºäºè§£å³çæ¹æ³ã1956å¹´ï¼èèçå¾-104 æå ¥èªçº¿ï¼1958å¹´ï¼ç¾å½çæ³¢é³707ï¼å¾1-3ï¼åDC-8 è¿å ¥èªçº¿ï¼å·æ°èªç©ºçæ°æ¶ä»£å¼å§äºãä½ä¸ºå·æ°å¼é£æºç代表æºç§ï¼æ³¢é³707çéåº¦è¾¾å°æ¯å°æ¶900~1000å ¬éï¼èªç¨å¯è¾¾12 000å ¬éï¼ä¹å®¢158人ã仿¤æ°ç¨èªç©ºç±ä¸ä¸ªå½å®¶æä¸ä¸ªå°åºçå°é人使ç¨çè¿è¾ææ®µï¼åæä¸ä¸ªå ¨çæ§ç大ä¼åçè¿è¾è¡ä¸ï¼æå¤§å°ä¿è¿äºå ¨ç交éè¿è¾çåå±ï¼ä¹ä½¿èªç©ºè¿è¾æä¸ºå½é è¿è¾åå½å è¿è¾çéè¦æ¹å¼ä¹ä¸ã </p> </span> </div> <ul class="headerRight-Number"> <li class="">·7·</li> </ul> </div> </div> <!-- 8页 --> <div class="page-box" page="8"> <div v-if="showPageList.indexOf(8) > -1"> <ul class="header-left"> <img src="../../assets/images/header-left.png" alt="" /> <li class="headerText">æ°èªæ 客è¿è¾</li> </ul> <div class="bodystyle"> <p class="firstLevel-t">ä¸ãæ°ç¨èªç©ºçå ¨çåã大ä¼åæ¶æ</p> <p> å·æ°å¼é£æºè¿å ¥æ°èªï¼ä½¿è¿ç¨ã大ä¼ååå»ä»·çèªç©ºè¿è¾æä¸ºå¯è½ï¼å¨å·¨å¤§çéæ±å婿¶¦é©±ä½¿ä¸ï¼èªç©ºå ¬å¸ç§¯æå°å¼æå¸åºï¼åå å½é ç«äºãå¨åè¾¾å½å®¶åºç°äºå¤§éçèªç©ºå ¬å¸ï¼å¹¶æåå½¢æäºæ°å个大åçèªç©ºå ¬å¸ãåå±ä¸å½å®¶ä¹æåä¸å½é èªç©ºå¸åºä½ä¸ºå½å®¶å°ä¸¥åå°ä½ç象å¾ï¼å ¨åæ¯æå½å®¶èªç©ºå ¬å¸çåå±ï¼ä½¿æ°èªäºä¸ä¸çç¹è£ãç±äºå·æ°å¼é£æºç尺寸ãééãåªå£°ç带æ¥çé®é¢ï¼æ§çæºåºå·²ä¸éåèªç©ºè¿è¾çåå±ï¼äºæ¯èªç©ºå ¬å¸å¼å§ä¸æå°æ¹é æ§æºåºï¼å ´å»ºæ°æºåºï¼æ»¡è¶³ä¸æå¢å¤§ç客货æµã对äºèªè¡ç®¡çç³»ç»æ¥è¯´ï¼ä»èªè¡ç®¡å¶ãèªè·¯å¼è¾ãèªè¡æ æ¥çï¼é½è¦éåºå·æ°æ¶ä»£çé度å容éçè¦æ±ï¼å èæ´ä¸ªç³»ç»é½è¿è¡çæ¹é åæ´æ°ãæ»ä¹ï¼1958å¹´å¼å§çæ°ç¨å·æ°æ¶ä»£æ¯æ°èªåå±çä¸ä¸ªæ°çé¶æ®µï¼å®æ å¿çæ°èªè¿å ¥äºå ¨çç大ä¼åè¿è¾çæ°æ¶ä»£ã </p> <p> ä»20ä¸çºª70年代ä¹åï¼æ°èªç»§ç»æç大åååé«éåº¦çæ¹ååå±ã1970 å¹´ï¼æ³¢é³747ï¼å¾1-4ï¼å®½ä½å®¢æºæå ¥èªçº¿æ¯å¤§ååçä¸ä¸ªéè¦æ å¿ï¼è1976 å¹´è±ãæ³åå¶çè¶ é³é客æºâååå·âï¼å¾1-5ï¼çæå ¥ä½¿ç¨åæ¯æ°èªæé«é度å¨ç»æµåç¯å¢é®é¢ä¸ä¸å¤ªæåç䏿¬¡å°è¯ãç¾å½äº1978å¹´æ¾æ¾å¯¹èªç©ºå ¬å¸ç管å¶ï¼è¿å¯¹èªç©ºè¿è¾çåå±èµ·å°äºç§¯æçä½ç¨ãç±äºèªç©ºè¿è¾æ¶åå½å®¶å®å ¨åæ 客å®å ¨ï¼å èå¨1978年以åï¼å个å½å®¶å¯¹äºèªç©ºå ¬å¸çç»è¥å®è¡ä¸¥æ ¼çæ§å¶ï¼ä¸»è¦æ¯å¯¹ç¥¨ä»·åå¸åºåå ¥çæ§å¶ï¼å¾å¤å½å®¶ä¸å 许ç§äººä¼ä¸ç»è¥èªç©ºå ¬å¸ï¼åªæå½è¥çèªç©ºå ¬å¸ï¼æççè³æèªç©ºä¼ä¸ä½ä¸ºå½å®¶æºææåéçä¸é¨åã </p> <p> éçèªç©ºè¿è¾çè¿ éåå±ï¼äººä»¬ç»äºè®¤è¯å°ï¼å°½ç®¡èªç©ºè¿è¾ä¸æå®ç¹æ®çå®å ¨éè¦ï¼å¹¶ä¸ææ¯å¯éï¼é£é©è¾å¤§ï¼ä½ä»ç¶å¯ä»¥éè¿ä¸ç³»åçå®å ¨æ³è§ä½¿ä¹æå¸åºç»æµçæ³åå±å¼ç«äºï¼è¿æ ·å¯ä»¥ä¿ä½¿èªç©ºè¿è¾ä¼ä¸åçå°é ç½®èµæºï¼é使æ¬ï¼ä¿è¿ä¼ä¸çåå±ãæ¾æ¾ç®¡å¶çè¶å¿æ©å±å°äºè¥¿æ¬§ãæ¥æ¬çå°åºï¼ä½¿æ°èªå¸åºè¿ éå ¨çåã卿¾æ¾ç®¡å¶åæåºç°çä¸ãå°èªç©ºå ¬å¸ç±äºè§æ¨¡æçä½ï¼ç¼ºä¹ç«äºåï¼æåéãæè¢«å¤§å ¬å¸å ¼å¹¶ãç¶èï¼å¨ä¸çèå´å ï¼å大èªç©ºå ¬å¸ä¸ºäºäºåæ´å¤§çå¸åºä»½é¢ï¼æ©å±èªèº«çèªçº¿ç½ç»ï¼åå«éè¿ä»£ç å ±äº«çéå¾ç»æåç§æç¥æ§èçæ¥å¢å¼ºèªèº«çç«äºåãæ¶è³ä»æ¥ï¼æ°èªå·²ç»åå±æä¸ºä¸ä¸ªå·¨å¤§çå½é æ§è¡ä¸ï¼å¯¹ä¸çç»æµæä¸ä¸ªå½å®¶çç»æµå屿ç举足轻éçå½±åï¼å彿¿åºåä¼ä¸é½å¯¹æ°èªè¿è¡äºå¤§éçæèµï¼æå®ä½ä¸ºä¸ä¸ªæå·¨å¤§æ½åçè¡ä¸æ¥å¼æåå±ã </p> </div> <ul class="header-left-box"> <li class="">·8·</li> </ul> </div> </div> <!-- 9页 --> <div class="page-box" page="9"> <div v-if="showPageList.indexOf(9) > -1"> <ul class="header-right"> <li class="headerRight-Text">项ç®ä¸ãæ°ç¨èªç©ºè¿è¾ä¸çåå±</li> <span class="headerRight-box"></span> </ul> <div class="bodystyle"> <div class="fl fd-c al-c openImgBox mt-20"> <img class="img-c" src="../../assets/images/第9页-13.png" alt="" /> <p class="img">å¾1-4ãB747â</p> </div> <div class="fl fd-c al-c openImgBox mt-20"> <img class="img-c" src="../../assets/images/第9页-12.png" alt="" /> <p class="img">å¾1-5ãåå飿º</p> </div> </div> <ul class="headerRight-Number"> <li class="">·9·</li> </ul> </div> </div> <!-- 10页 --> <div class="page-box" page="10"> <div v-if="showPageList.indexOf(10) > -1"> <ul class="header-left"> <img src="../../assets/images/header-left.png" alt="" /> <li class="headerText">æ°èªæ 客è¿è¾</li> </ul> <div class="bodystyle"> <p class="firstLevel-t">åãæ°ç¨èªç©ºå ¨çæ§æç¥èç</p> <p> éçç»æµå ¨çåçåå±ï¼åå½èªç©ºå ¬å¸ä¹é´çç«äºæ¥çæ¿çï¼å个èªç©ºå ¬å¸ä¸ä» è¶æ¥è¶é¾ä»¥å¼è¾å¸åºï¼çè³ä¹é¾ä»¥ä¿ä½åæ¥çå°çãå æ¤èªç©ºå ¬å¸èçæäºå½ä»ä¸çèªç©ºè¿è¾åå±çä¸ç§éè¦å½¢å¼ãäºå®ä¸ï¼ä¸çèªç©ºå ¬å¸ä¹é´çä¸å¡èç并䏿¯ä¸ç§æ°ç°è±¡ãæ©å¨1993å¹´ï¼ç¾å½è¥¿åèªç©ºå ¬å¸å°±ä¸è·å °çå®¶èªç©ºå ¬å¸ç»æäºä¸çèªç©ºçé¦ä¸ªå ¨çæ§èçãæ¤åï¼ç¾å½èåèªç©ºå ¬å¸å德彿±èèªç©ºå ¬å¸ï¼ç¾å½å¾·å°å¡å ¬å¸åç士ã西ççã奥å°å©ä¸å½èªç©ºå ¬å¸ï¼ç¾å½å¤§éå ¬å¸åæå¤§å©èªç©ºå ¬å¸ç齿¾å åç»æä¸å¡èçã1997å¹´5æ14æ¥ï¼å¾·å½æ±èèªç©ºå ¬å¸ãç¾å½èåèªç©ºå ¬å¸ãçå ¸æ¯å ªç纳维äºèªç©ºå ¬å¸ãå æ¿å¤§èªç©ºå ¬å¸åæ³°å½å½é èªç©ºå ¬å¸çè£äºé¿ä»¬åå¨å¾·å½çæ³å °å ç¦æºåºç¾ç½²åè®®ï¼ç»æäºå½æ¶ä¸ç䏿大çèªç©ºå ¬å¸èçï¼ä»èä½¿å¤§è§æ¨¡çè·¨å½èçæä¸ºä¸çèªç©ºçä¸å¡èççæ°è¶å¿ã1998å¹´3æ9æ¥ï¼å¾·å½æ±èèªç©ºå ¬å¸åä¸äºæ´²æå¤§çèªç©ºå ¬å¸å表èå声æï¼å®£å¸ç»æå¾·æ¥æç¥èªç©ºèçï¼å°å¾·ãæ¥èªçº¿å»ºæè¿æ¥æ¬§æ´²å¤§éä¸ä¸äºä¹é´æéè¦ç空ä¸äº¤é线ã1998å¹´5æ16æ¥ï¼å¾·å½æ±èèªç©ºå ¬å¸å®£å¸ï¼æ°è¥¿å °èªç©ºå ¬å¸å澳大å©äºå®æ·èªç©ºå ¬å¸å°äº1999å¹´èµ·å å ¥äºâææèçâï¼ä»èä½¿âææèçâçæåå¢å å°ä¸å®¶èªç©ºå ¬å¸ãâ寰å®ä¸å®¶âæ£æ¯å¨è¿æ ·ä¸ç§å¤§èæ¯ä¸äº§ççã </p> <p> èªç©ºå ¬å¸èç对äºéæ°ç¡®å®èªç©ºå ¬å¸çå¸åºå®ä½ï¼éè¿ç»æèªç©ºå ¬å¸é´çä¸å¡èçï¼åèªç©ºå ¬å¸è³å°å¯ä»¥ä¿ä½¿æ 客æ´å¤å°éæ©ç»çä¼ä¼´è䏿¯ç«äºå¯¹æçèªçï¼ä»èè¾¾å°åå¼±ç«äºå¯¹æçç®çï¼ä¸æ¤åæ¶ï¼å®è¿å¯è½éè¿å©ç¨ç»çä¼ä¼´çæå¡è®¾æ½åææ¯æ¯ææ¥ååææ¬ï¼ä»¥å¢å 婿¶¦ãç±äºåå½èªç©ºå¸åºé«åº¦ä¸ä½åï¼å®¢è§ä¸è¦æ±åèªç©ºå ¬å¸å¨ææ¯æ¯æãèªçæå¡ãæ 客转æºä»¥åæºç¥¨åºå®çæ¹é¢åæ 客æä¾ä¸ä½åçæ ååè§èæå¡ï¼è¦æ±åèªç©ºå ¬å¸å¨ä¸å¡æ åçæ¹é¢ç»ä¸èµ·æ¥ï¼ä»èå½¢æä¸ä¸ªä¸çèªç©ºå¸åºä¸ç»ä¸çææ¯æ ååæå¡æ åãå¨èªç©ºå¸åºä¸åå¨çå¤å®¶èªç©ºå ¬å¸å¹¶ä¸å¸åºæ éç»åçæ åµä¸ï¼è¦åå°è¿ä¸ç¹æ¯é常å°é¾çãä»è¿ä¸ªæä¹ä¸æ¥è¯´ï¼ç¸å¯¹äºè¿ 鿩大çå ¨çèªç©ºå¸åºèè¨ï¼ç°æçèªç©ºå ¬å¸è§æ¨¡æ¯æ¯è¾å°çï¼å èèªç©ºå ¬å¸ä¹é´çä¸å¡èçè³å°å¯ä»¥å¨ä¸å®ç¨åº¦ä¸è§£å³è¿ä¸ªé®é¢ãè±å½èªç©ºå ¬å¸çæ»è£å³å®£ç§°ï¼âæä»¬çé¡¾å®¢è¦æ±åèªç©ºå ¬å¸ä¸èµ·åªåæä¾ä¸çèå´å çæå¡æ åã寰å®ä¸å®¶å°åå°è¿ä¸ç¹ãâ </p> </div> <ul class="header-left-box"> <li class="">·10·</li> </ul> </div> </div> <!-- 11页 --> <div class="page-box" page="11"> <div v-if="showPageList.indexOf(11) > -1"> <ul class="header-right"> <li class="headerRight-Text">项ç®ä¸ãæ°ç¨èªç©ºè¿è¾ä¸çåå±</li> <span class="headerRight-box"></span> </ul> <div class="bodystyle"> <p> å±ææªæ¥ï¼æ°èªä½ä¸ºä¸ä¸ªæ´ä½ç³»ç»å¨ç»æä¸åè¿è¥ä¸è¦ç»§ç»éåºå ¨çä¸ä½åçè¦æ±ï¼ä¸æå°æ¹è¿ååå±ï¼ç»§ç»éä½ä»·æ ¼ï¼ä¿è¯æ 客çèéå®å ¨ï¼æå±æ´ä¸°å¯çç¹è²æå¡ï¼åå°åç§éå¶ï¼ä¿æ¤ç¯å¢ï¼æ°èªå°è¿æ¥ä¸ä¸ªæ´ç¹è£æççé¶æ®µã </p> <div class="fl jc-c"> <h1>ä»»å¡äºãäºè§£ä¸å½æ°ç¨èªç©ºè¿è¾ä¸çåå±</h1> </div> <p class="firstLevel-t">ä¸ãä¸å½æ°èªçå屿¦åµ</p> <p> 1949å¹´11æ2æ¥ï¼ä¸å½æ°ç¨èªç©ºå±æç«ï¼æå¼äºæå½æ°èªäºä¸åå±çæ°ç¯ç« ãä»è¿ä¸å¤©å¼å§ï¼æ°ä¸å½æ°èªä¸è¿çå ±åå½çæé³èµ·é£ï¼ä»æ å°æï¼ç±å°å°å¤§ï¼ç±å¼±å°å¼ºï¼ç»åäºä¸å¹³å¡çåå±åç¨ãç¹å«æ¯åä¸å±ä¸ä¸å ¨ä¼ä»¥æ¥ï¼æå½æ°èªäºä¸æ 论å¨èªç©ºè¿è¾ãéç¨èªç©ºãæºç¾¤æ´æ°ãæºåºå»ºè®¾ãèªçº¿å¸å±ãèªè¡ä¿éãé£è¡å®å ¨ã人æå¹è®çæ¹é¢é½æç»å¿«éåå±ï¼åå¾äºä¸¾ä¸ç©ç®çæå°±ãæ°èªäºä¸çåå±ä¸å½å®¶çç»æµåå±ï¼ä¸å ä¸å¤®ãå½å¡é¢çç´æ¥é¢å¯¼åæ¯æå¯ä¸å¯åï¼æ¯å 代æ°èªå¹²é¨èå·¥å±ç²¾å¾æ²»ãå¢ç»å¥æçç»æï¼ä¸ºç¥å½è天äºä¸ä¹¦åäºå£®ä¸½çç¯ç« ã </p> <p class="td-0 video-title mt-20"> <svg t="1729840629103" class="icon" viewBox="0 0 1365 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="34778" xmlns:xlink="http://www.w3.org/1999/xlink" width="34" height="40" > <path d="M531.117831 720.79677l341.333334-170.641145a42.673047 42.673047 0 0 0 0-76.566472L531.117831 303.20323a42.673047 42.673047 0 0 0-61.814665 38.130103v341.333334a42.673047 42.673047 0 0 0 61.814665 38.130103zM1237.724282 0H127.612523A128.376452 128.376452 0 0 0 0.001736 128.580629V895.317282a128.019142 128.019142 0 0 0 127.610787 128.682718h1110.111759a128.427496 128.427496 0 0 0 127.610787-128.682718V128.580629a127.968097 127.968097 0 0 0-127.610787-128.580629zM255.988974 895.572504a42.46887 42.46887 0 0 1-43.081401 43.081402H128.429232a42.46887 42.46887 0 0 1-43.081402-43.081402V811.094163a42.417826 42.417826 0 0 1 43.081402-43.132446h84.580429a42.417826 42.417826 0 0 1 42.979313 43.132446z m0-341.333333a42.46887 42.46887 0 0 1-43.081401 42.979313H128.429232a42.46887 42.46887 0 0 1-43.081402-43.081402V469.607697a42.366781 42.366781 0 0 1 43.081402-43.081402h84.580429A42.417826 42.417826 0 0 1 255.988974 469.607697z m0-341.333334a42.46887 42.46887 0 0 1-43.081401 43.081402H128.429232a42.46887 42.46887 0 0 1-43.081402-43.081402V128.427496a42.366781 42.366781 0 0 1 43.081402-43.081402h84.580429a42.417826 42.417826 0 0 1 42.979313 43.081402z m768.012762 725.748069H341.335069V85.346094H1023.950691v853.307812z m255.987238-43.081402a42.46887 42.46887 0 0 1-43.132446 43.081402h-84.529385a42.417826 42.417826 0 0 1-43.030357-43.081402V811.094163a42.46887 42.46887 0 0 1 43.081401-43.132446h84.58043a42.46887 42.46887 0 0 1 43.030357 43.132446z m0-341.333333a42.46887 42.46887 0 0 1-43.132446 43.081401h-84.529385a42.417826 42.417826 0 0 1-43.030357-43.081401V469.607697a42.417826 42.417826 0 0 1 43.081401-43.081402h84.58043a42.417826 42.417826 0 0 1 43.030357 43.081402z m0-341.333334a42.46887 42.46887 0 0 1-43.132446 43.081402h-84.529385a42.417826 42.417826 0 0 1-43.030357-43.081402V128.427496a42.417826 42.417826 0 0 1 43.081401-43.081402h84.58043a42.417826 42.417826 0 0 1 43.030357 43.081402z" fill="#1c9e3a" p-id="34779" ></path> </svg> <span>è§é¢å¾®è¯¾</span> </p> <div class="video-box"> <p class="center text td-0"> <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" ></video> </p> <p class="center videoname"> <span>01 ä¸å½æ°ç¨èªç©ºè¿è¾çåå±</span> <el-tooltip class="item" effect="dark" :content=" chapterData.isCollectVideoFive ? 'ç¹å»åæ¶' : 'ç¹å»æ¶è' " placement="top-start" > <img :src=" collectResourceList.findIndex( (item) => item.id == '20915be5a2980251b3294f657fec5345' ) > -1 ? collectCheck : collectImg " alt="" class="collect-btn" @click="handleCollect('video-01')" /> </el-tooltip> </p> </div> <p class="firstLevel-t">äºãä¸å½æ°èªçåå±é¶æ®µ</p> <p>ä¸å½æ°èªåå±è³ä»ä¸»è¦ç»åäºåä¸ªé¶æ®µï¼</p> <p class="Secondary-t">ï¼ä¸ï¼ç¬¬ä¸é¶æ®µï¼1949~1978ï¼</p> <p> 1949å¹´11æ2æ¥ï¼ä¸å ±ä¸å¤®æ¿æ²»å±ä¼è®®å³å®ï¼å¨äººæ°é©å½åäºå§åä¼ä¸è®¾æ°ç¨èªç©ºå±ï¼å空åæå¯¼ã11æ9 æ¥ï¼ä¸å½èªç©ºå ¬å¸ãä¸å¤®èªç©ºå ¬å¸æ»ç»ç忬å®ãéåæçä¸¤å ¬å¸å¨é¦æ¸¯çåå·¥å è£èµ·ä¹ï¼å¹¶çé¢12æ¶é£æºåå°å京ã天津ï¼ä¸ºæ°ä¸å½æ°èªå»ºè®¾æä¾äºä¸å®çç©è´¨åææ¯åéã1950å¹´ï¼æ°ä¸å½æ°èªååæ¶ï¼ä» æ30夿¶å°å飿ºï¼å¹´æ 客è¿è¾éä» 1ä¸äººï¼è¿è¾æ»å¨è½¬éä» 157ä¸å¨å ¬éã </p> </div> <ul class="headerRight-Number"> <li class="">·11·</li> </ul> </div> </div> <!-- 12页 --> <div class="page-box" page="12"> <div v-if="showPageList.indexOf(12) > -1"> <ul class="header-left"> <img src="../../assets/images/header-left.png" alt="" /> <li class="headerText">æ°èªæ 客è¿è¾</li> </ul> <div class="bodystyle"> <p> 1958å¹´2æ27æ¥ï¼å½å¡é¢å³å®ï¼ä¸å½æ°ç¨èªç©ºå±èªæ¬æ¥èµ·åå½äº¤éé¨é¢å¯¼ã1958å¹´3æ19æ¥ï¼å ¨å½äººå¤§å¸¸å§ä¼ç¬¬95次ä¼è®®æ¹åä¸å½æ°ç¨èªç©ºå±æ¹ä¸ºäº¤éé¨çé¨å±å±ã </p> <p> 1960å¹´11æ17æ¥ï¼å½å¡é¢ç¼å¶å§åä¼è®¨è®ºéè¿ï¼å³å®å°ä¸å½æ°ç¨èªç©ºå±æ¹ç§°â交é鍿°ç¨èªç©ºæ»å±âï¼ä¸ºé¨å±ä¸çº§ç®¡çå ¨å½æ°ç¨èªç©ºäºä¸çç»¼åæ§æ»å±ï¼è´è´£ç»è¥ç®¡çè¿è¾èªç©ºåä¸ä¸èªç©ºï¼ç´æ¥é¢å¯¼å°åºæ°ç¨èªç©ºç®¡çå±çå·¥ä½ã </p> <p> 1962å¹´4æ13æ¥ï¼ç¬¬äºå±å ¨å½äººæ°ä»£è¡¨å¤§ä¼å¸¸å¡å§åä¼ç¬¬53次ä¼è®®å³å®ï¼æ°èªå±æ´å为âä¸å½æ°ç¨èªç©ºæ»å±âã </p> <p> 1962å¹´4æ15æ¥ï¼ä¸å¤®å³å®å°æ°ç¨èªç©ºæ»å±ç±äº¤éé¨å±æ¹ä¸ºå½å¡é¢ç´å±å±ï¼å ¶ä¸å¡å·¥ä½ãå æ¿å·¥ä½ãå¹²é¨äººäºå·¥ä½çåç´å½ç©ºåè´è´£ç®¡çãè¿ä¸æ¶æï¼æ°èªç±äºé¢å¯¼ä½å¶å ç»æ¹åï¼èªç©ºè¿è¾åå±åæ¿æ²»ãç»æµå½±åè¾å¤§ã1978 å¹´ï¼èªç©ºæ 客è¿è¾éä» ä¸º231ä¸äººæ¬¡ï¼è¿è¾æ»å¨è½¬é3亿å¨å ¬éã </p> <div class="pdf-box"> <div class="pdf-title"> <p class="pdf-title-name"> <img src="../../assets/images/pdfLogo.svg" alt="" /> <span>æå±ç¥è¯</span> </p> <p class="pdf-title-img"> <span @click="toUrl(2)"> {{ chapter001.pdfMd5[2].name }}</span> <el-tooltip class="item" effect="dark" :content=" chapterData.isCollectVideoTwo ? 'ç¹å»åæ¶' : 'ç¹å»æ¶è' " placement="top-start" > <img :src=" collectResourceList.findIndex( (item) => item.id == 'ac8fc00ea84cb3504a5ad0c7c2025652' ) > -1 ? collectCheck : collectImg " alt="" class="collect-btn" @click="handleCollect('pdf-02')" /> </el-tooltip> </p> </div> </div> <div class="pdf-box"> <div class="pdf-title"> <p class="pdf-title-name"> <img src="../../assets/images/pdfLogo.svg" alt="" /> <span>æå±ç¥è¯</span> </p> <p class="pdf-title-img"> <span @click="toUrl(3)"> {{ chapter001.pdfMd5[3].name }}</span> <el-tooltip class="item" effect="dark" :content=" chapterData.isCollectVideoThree ? 'ç¹å»åæ¶' : 'ç¹å»æ¶è' " placement="top-start" > <img :src=" collectResourceList.findIndex( (item) => item.id == 'df538ab7d44f8c73b7386a2584b84a68' ) > -1 ? collectCheck : collectImg " alt="" class="collect-btn" @click="handleCollect('pdf-03')" /> </el-tooltip> </p> </div> </div> <p class="Secondary-t">ï¼äºï¼ç¬¬äºé¶æ®µï¼1978~1987ï¼</p> <p> 1978å¹´10æ9æ¥ï¼éå°å¹³åå¿æç¤ºæ°èªè¦ç¨ç»æµè§ç¹ç®¡çã1980å¹´2æ14æ¥ï¼éå°å¹³åå¿æåºï¼âæ°èªä¸å®è¦ä¼ä¸åãâåå¹´3æ5æ¥ï¼ä¸å½æ¿åºå³å®æ°èªè±ç¦»åé建å¶ï¼æä¸å½æ°èªå±ä»é¶å±äºç©ºåæ¹ä¸ºå½å¡é¢ç´å±æºæï¼å®è¡ä¼ä¸å管çãè¿æé´ä¸å½æ°èªå±æ¯æ¿ä¼åä¸ï¼æ¢æ¯ä¸»ç®¡æ°èªäºå¡çæ¿åºé¨é¨ï¼åæ¯ä»¥âä¸å½æ°èªï¼CAACï¼âåä¹ç´æ¥ç»è¥èªç©ºè¿è¾ãéç¨èªç©ºä¸å¡çå ¨å½æ§ä¼ä¸ï¼ä¸è®¾å京ã䏿µ·ã广å·ãæé½ãå °å·ï¼åè¿è³è¥¿å®ï¼ãæ²é³å 个å°åºç®¡çå±ã1980å¹´å ¨å½æ°èªåªæ140æ¶è¿è¾é£æºï¼ä¸å¤æ°æ¯20ä¸çºª50年代æ40 年代ç产å¶é çèå¼ä¼å°14ãéäºå飿ºï¼è½½å®¢éä» 20å¤äººæ40人ï¼è½½å®¢é100人以ä¸çä¸å¤§å飿ºåªæ 17æ¶ï¼æºåºåªæ79个ã1980å¹´ï¼æå½æ°èªå ¨å¹´æ 客è¿è¾éä» 343ä¸äººæ¬¡ï¼å ¨å¹´è¿è¾æ»å¨è½¬é4.29亿å¨å ¬éï¼å± æ°å å¡ãå°åº¦ãè²å¾å®¾ãå°åº¦å°¼è¥¿äºçå½ä¹åï¼åä¸çæ°èªç¬¬35ä½ã </p> </div> <ul class="header-left-box"> <li class="">·12·</li> </ul> </div> </div> <!-- 13页 --> <div class="page-box" page="13"> <div v-if="showPageList.indexOf(13) > -1"> <ul class="header-right"> <li class="headerRight-Text">项ç®ä¸ãæ°ç¨èªç©ºè¿è¾ä¸çåå±</li> <span class="headerRight-box"></span> </ul> <div class="bodystyle"> <p> 1985å¹´1æ1æ¥ï¼ä¸å½æ°ç¨èªç©ºæ°çç»´å¾å°èªæ²»åºç®¡ç屿´å为ä¸å½æ°ç¨èªç©ºä¹é²æ¨é½ç®¡çå±ï¼æ¹ç±æ°èªå±ç´æ¥é¢å¯¼ï¼ç»å½å¡é¢æ¹åï¼ç±æ°èªå±åæ°çç»´å¾å°èªæ²»åºäººæ°æ¿åºèåç»å»ºçæ°çèªç©ºå ¬å¸äºåæ¥å¨ä¹é²æ¨é½æ£å¼æç«ãä¹é²æ¨é½ç®¡çå±åæ°çèªç©ºå ¬å¸æ¯ä¸¤åçåä¸å¥æºæï¼å±ä¸¤ä½ä¸ä½çç»ç»å½¢å¼ã </p> <p class="Secondary-t">ï¼ä¸ï¼ç¬¬ä¸é¶æ®µï¼1987~2002ï¼</p> <p> 1987å¹´ï¼ä¸å½æ¿åºå³å®å¯¹æ°èªä¸è¿è¡ä»¥èªç©ºå ¬å¸ä¸æºåºå设为ç¹å¾çä½å¶æ¹é©ã主è¦å 容æ¯å°åæ°èªå京ã䏿µ·ã广å·ã西å®ãæé½ãæ²é³å 个å°åºç®¡çå±çèªç©ºè¿è¾åéç¨èªç©ºç¸å ³ä¸å¡ãèµäº§å人ååç¦»åºæ¥ï¼ç»å»ºäºå 个å½å®¶éª¨å¹²èªç©ºå ¬å¸ï¼å®è¡èªä¸»ç»è¥ãèªè´çäºãå¹³çç«äºãè¿å 个å½å®¶éª¨å¹²èªç©ºå ¬å¸æ¯ï¼ä¸å½å½é èªç©ºå ¬å¸ãä¸å½ä¸æ¹èªç©ºå ¬å¸ãä¸å½åæ¹èªç©ºå ¬å¸ãä¸å½è¥¿åèªç©ºå ¬å¸ãä¸å½è¥¿åèªç©ºå ¬å¸ãä¸å½åæ¹èªç©ºå ¬å¸ãæ¤å¤ï¼ä»¥ç»è¥éç¨èªç©ºä¸å¡ä¸ºä¸»å¹¶å ¼è¥èªç©ºè¿è¾ä¸å¡çä¸å½éç¨èªç©ºå ¬å¸ä¹äº1989å¹´7ææç«ã </p> <p> å¨ç»å»ºéª¨å¹²èªç©ºå ¬å¸çåæ¶ï¼å¨åæ°èªå京管çå±ã䏿µ·ç®¡çå±ã广å·ç®¡çå±ãæé½ç®¡çå±ã西å®ç®¡çå±åæ²é³ç®¡ç屿å¨å°çæºåºé¨ååºç¡ä¸ï¼ç»å»ºäºæ°èªååãåä¸ãä¸åã西åã西ååä¸åå 个å°åºç®¡çå±ä»¥åå京é¦é½æºåºã䏿µ·è¹æ¡¥æºåºã广å·ç½äºæºåºãæé½åæµæºåºã西å®è¥¿å ³æºåºï¼ç°å·²è¿è³å¸é³ï¼æ¹ä¸ºè¥¿å®å¸é³æºåºï¼åæ²é³æ¡ä»æºåºãå 个å°åºç®¡ç屿¢æ¯ç®¡çå°åºæ°èªäºå¡çæ¿åºé¨é¨ï¼åæ¯ä¼ä¸ï¼é¢å¯¼ç®¡çåæ°èªçï¼åºãå¸ï¼å±åæºåºã </p> <p> èªç©ºè¿è¾æå¡ä¿éç³»ç»ä¹æä¸ä¸ååå·¥çè¦æ±è¿è¡äºç¸åºçæ¹é©ã1990 å¹´ï¼å¨åæ°èªåçº§ä¾æ²¹é¨é¨çåºç¡ä¸ç»å»ºäºä¸é¨ä»äºèªç©ºæ²¹æä¾åºä¿éä¸å¡çä¸å½èªç©ºæ²¹ææ»å ¬å¸ï¼è¯¥å ¬å¸éè¿è®¾å¨åæºåºçåæ¯æºæä¸ºèªç©ºå ¬å¸æä¾æ²¹æä¾åºãå±äºè¿ç±»æ§è´¨çåä½è¿æä»äºèªç©ºå¨æï¼é£æºãå卿ºçï¼è¿åºå£ä¸å¡çä¸å½èªç©ºå¨æå ¬å¸ï¼ä»äºå ¨å½è®¡ç®æºè®¢ç¥¨éå®ç³»ç»ç®¡çä¸å¼åçè®¡ç®æºä¿¡æ¯ä¸å¿ï¼ä¸ºåèªç©ºå ¬å¸æä¾èªç©ºè¿è¾å½é ç»ç®æå¡çèªç©ºç»ç®ä¸å¿ä»¥å飿ºç»´ä¿®å ¬å¸ãèªç©ºé£åå ¬å¸çï¼å ¨æ°èªæ¿ä¼åå¼çæ°ç管çä½å¶åæ ¼å±éæ¥å½¢æã </p> <p> 1993å¹´4æ19æ¥ï¼ä¸å½æ°ç¨èªç©ºå±æ¹ç§°ä¸å½æ°ç¨èªç©ºæ»å±ï¼å±å½å¡é¢ç´å±æºæãåå¹´12æ20æ¥ï¼ä¸å½æ°ç¨èªç©ºæ»å±çæºæè§æ ¼ç±å¯é¨çº§è°æ´ä¸ºæ£é¨çº§ã </p> </div> <ul class="headerRight-Number"> <li class="">·13·</li> </ul> </div> </div> <!-- 14页 --> <div class="page-box" page="14"> <div v-if="showPageList.indexOf(14) > -1"> <ul class="header-left"> <img src="../../assets/images/header-left.png" alt="" /> <li class="headerText">æ°èªæ 客è¿è¾</li> </ul> <div class="bodystyle"> <p> 20å¤å¹´ä¸ï¼æå½æ°èªè¿è¾æ»å¨è½¬éãæ å®¢è¿è¾éåè´§ç©è¿è¾éå¹´åå¢é¿åå«è¾¾18%ã16%å16%ï¼é«åºä¸ç平忰´å¹³ä¸¤åå¤ã2002å¹´ï¼æ°èªè¡ä¸å®æè¿è¾æ»å¨è½¬é165亿å¨å ¬éãæ å®¢è¿è¾é8594ä¸äººæ¬¡ãè´§é®è¿è¾é202ä¸å¨ï¼å½é æä½è¿ä¸æ¥ä¸åï¼æä¸ºä»¤äººç©ç®çæ°èªå¤§å½ã </p> <p class="Secondary-t">ï¼åï¼ç¬¬åé¶æ®µï¼2002~ä»ï¼</p> <p> 2002å¹´3æï¼ä¸å½æ¿åºå³å®å¯¹ä¸å½æ°èªä¸å次è¿è¡éç»ã主è¦å 容æï¼é¦å æ¯èªç©ºå ¬å¸ä¸æå¡ä¿éä¼ä¸çèåéç»ãæ°èªæ»å±ç´å±çèªç©ºå ¬å¸åæå¡ä¿éä¼ä¸åå¹¶åï¼äº2002å¹´10æ11æ¥æ£å¼æçæç«ï¼ç»æä¸ºå 大éå¢å ¬å¸ï¼å嫿¯ï¼ä¸å½èªç©ºéå¢å ¬å¸ã䏿¹èªç©ºéå¢å ¬å¸ãåæ¹èªç©ºéå¢å ¬å¸ãä¸å½æ°èªä¿¡æ¯éå¢å ¬å¸ãä¸å½èªç©ºæ²¹æéå¢å ¬å¸ãä¸å½èªç©ºå¨æè¿åºå£éå¢å ¬å¸ãæç«åçéå¢å ¬å¸ä¸æ°èªæ»å±è±é©ï¼äº¤ç±ä¸å¤®ç®¡çã </p> <p> å ¶æ¬¡æ¯æ°èªæ¿åºçç®¡æºææ¹é©ãæ°èªæ»å±ä¸å±ä¸ä¸ªå°åºç®¡çå±ï¼ååå°åºç®¡çå±ãä¸åå°åºç®¡çå±ãåä¸å°åºç®¡çå±ãä¸åå°åºç®¡çå±ã西åå°åºç®¡çå±ã西åå°åºç®¡çå±ãæ°ç管çå±ï¼å26个ç级å®å ¨çç£ç®¡çåå ¬å®¤ï¼å¤©æ´¥ãæ²³åã山西ãå èå¤ã大è¿ãåæãé»é¾æ±ãæ±èãæµæ±ãå®å¾½ãç¦å»ºãæ±è¥¿ãå±±ä¸ãéå²ãæ²³åãæ¹åãæ¹åãæµ·åãå¹¿è¥¿ãæ·±å³ãéåºãè´µå·ãäºåãçèãéæµ·ãå®å¤ï¼ï¼å¯¹æ°èªäºå¡å®æ½ç管ã </p> <p> æåæ¯æºåºå®è¡å±å°ç®¡çãæç §æ¿ä¼åå¼ãå±å°ç®¡ççååï¼å¯¹93个æºåºè¿è¡äºå±å°åç®¡çæ¹é©ï¼æ°èªæ»å±ç´æ¥ç®¡ççæºåºä¸æ¾æå¨çï¼åºãå¸ï¼ç®¡çï¼ç¸å ³èµäº§ãè´åºå人åä¸å¹¶åè½¬ï¼æ°èªæ»å±ä¸å°æ¹æ¿åºèå管ççæ°ç¨æºåºååæ°åç¨æºåºï¼å±æ°èªæ»å±ç®¡ççèµäº§ãè´åºåç¸å ³äººåä¸å¹¶å转æå¨çï¼åºãå¸ï¼ç®¡çãé¦é½æºåºã西èèªæ²»åºåºå çæ°ç¨æºåºç»§ç»ç±æ°èªæ»å±ç®¡çã2004å¹´7æ8æ¥ï¼éççèæºåºç§»äº¤å°æ¹ï¼æºåºå±å°åç®¡çæ¹é©å ¨é¢å®æï¼ä¹æ å¿çæ°èªä½å¶æ¹é©å ¨é¢å®æã </p> <p> 2004å¹´10æ2æ¥ï¼å¨å½é æ°èªç»ç»ç¬¬ä¸åäºå±å¤§ä¼ä¸ï¼ä¸å½ä»¥é«ç¥¨æ°å½é该ç»ç»ä¸ç±»çäºå½ã </p> <p> 2005å¹´ï¼æå½å®æèªçè¿è¾æ»å¨è½¬éå¨å½é æ°èªç»ç»ç¼çº¦å½ä¸çæåï¼ç±1978å¹´ç第ä¸åä¸ä½ä¸åè³ç¬¬äºä½ã </p> </div> <ul class="header-left-box"> <li class="">·14·</li> </ul> </div> </div> <!-- 15页 --> <div class="page-box" page="15"> <div v-if="showPageList.indexOf(15) > -1"> <ul class="header-right"> <li class="headerRight-Text">项ç®ä¸ãæ°ç¨èªç©ºè¿è¾ä¸çåå±</li> <span class="headerRight-box"></span> </ul> <div class="bodystyle"> <p> 2008å¹´3æï¼ä¸å½æ°ç¨èªç©ºæ»å±æ´å为ä¸å½æ°ç¨èªç©ºå±ï¼å½äº¤éè¿è¾é¨ç®¡çã </p> <p> æªè³2019å¹´å¹´åºï¼å ¨è¡ä¸å®æè¿è¾æ»å¨è½¬é1293.25亿å¨å ¬éï¼å ¶ä¸æ 客å¨è½¬é11 705.30äº¿äººå ¬éï¼è´§é®å¨è½¬é263.20亿å¨å ¬éï¼å嫿¯ä¸å¹´å¢å 7.2%ã9.3%å0.3%ãæå½å ±æå®æèªçèªçº¿5521æ¡ï¼å½å éèªåå¸234个(ä¸å«é¦æ¸¯ãæ¾³é¨ãå°æ¹¾)ï¼å½é 宿èªçéèª65个å½å®¶ç167个åå¸ï¼å½å èªç©ºå ¬å¸å®æèªçä»30个å å°åå¸éèªé¦æ¸¯ï¼ä»19个å å°åå¸éèªæ¾³é¨ï¼å¤§éèªç©ºå ¬å¸ä»49个大éåå¸éèªå°æ¹¾å°åºãå ¨æ°èªå¨å飿ºæ»æ¶æ°3818æ¶ï¼æ¯ä¸ä¸å¹´å¢å 179æ¶ãå ±æé¢è¯è¿è¾æºåº238ä¸ªï¼æ¯ä¸å¹´å¢å 3个ã2019å¹´å京é¦é½æºåºå®ææ 客ååé1.00亿人次ï¼è¿ç»10å¹´ç¨³å± ä¸ç第äºï¼ä¸æµ·æµ¦ä¸å½é æºåºå®æè´§é®ååé363.42ä¸å¨ï¼è¿ç»12å¹´ä½å± ä¸ç第ä¸ã </p> <p> æå½å·²ç»å½¢æäºå½å åéå «è¾¾ãå½é è¿æ¥ä¸ç主è¦å½å®¶åå°åºçèªç©ºè¿è¾ç½ç»ï¼æå¡è´¨éåæå¡æ°´å¹³ä¹æäºå¾å¤§æé«ã2019年度SKYTRAXä¸çåä½³æºåºæåä¸ï¼é¦æ¸¯å½é æºåºå次æ¦ä¸æåã2019å¹´æµ·åèªç©ºä½ä¸ºä¸å½å å°å¯ä¸ä¸å®¶SKYTRAXäºæèªç©ºå ¬å¸ï¼ç¬¬ä¹æ¬¡è·è¯SKYTRAXçäºæèªç©ºå ¬å¸è£èªã </p> <p class="mb-30"> æ°ä¸å½æ°èªçåå±åç¨è¯æï¼å屿æ¯ç¡¬éçãä¸å½æ°èªè¦å®ç°ä»æ°èªå¤§å½å°æ°èªå¼ºå½çè·¨è¶ï¼å¿ 须以æç»å®å ¨ä¸ºåæï¼ä»¥æååå±è´¨éä¸ºæ ¸å¿ï¼ä»¥æ¹é©åæ°ä¸ºå¨åï¼ä»¥ç¡®ç«æ°èªä¸å¨å½å®¶åå±ä¸çæç¥å°ä½ä¸ºçªç ´å£ï¼å 快建设æ°èªåºç¡è®¾æ½ç½ç»ï¼å 强ç»ç¹åè°ï¼ç顺ä½å¶æºå¶ï¼åªåæå»ºå ·æä¸å½ç¹è²çç°ä»£æ°ç¨èªç©ºä½ç³»ï¼å ¨é¢æåæå½æ°èªä¸ç»¼åå½é ç«äºåï¼ä¿è¿å½å®¶ç°ä»£ç»¼å交éè¿è¾ä½ç³»çè¿ä¸æ¥å®åï¼ä¸ºç»æµç¤¾ä¼å好åå¿«å屿å¡ã </p> <div class="pdf-box"> <div class="pdf-title"> <p class="pdf-title-name"> <img src="../../assets/images/pdfLogo.svg" alt="" /> <span>æå±ç¥è¯</span> </p> <p class="pdf-title-img"> <span @click="toUrl(4)"> {{ chapter001.pdfMd5[4].name }}</span> <el-tooltip class="item" effect="dark" :content=" chapterData.isCollectVideoFour ? 'ç¹å»åæ¶' : 'ç¹å»æ¶è' " placement="top-start" > <img :src=" collectResourceList.findIndex( (item) => item.id == '9bfa634653b1c2a51aff13cedf1ccd2d' ) > -1 ? collectCheck : collectImg " alt="" class="collect-btn" @click="handleCollect('pdf-04')" /> </el-tooltip> </p> </div> </div> <div class="Unit-title-box"> <p class="box-title">项ç®å°ç»</p> <p class="fm-kt"> 1.ä¸çæ°ç¨èªç©ºè¿è¾ä¸çåå±ç»è¿äºèè½æ¶æã大å屿¶æãå ¨çåå大ä¼åæ¶æï¼ç®åæ£å¨è¿è¡çæ¯å ¨çæç¥æ§èçï¼å¹¶å½¢æäºä¸åçèçå®ä½ã </p> </div> </div> <ul class="headerRight-Number"> <li class="">·15·</li> </ul> </div> </div> <!-- 16页 --> <div class="page-box" page="16"> <div v-if="showPageList.indexOf(16) > -1"> <ul class="header-left"> <img src="../../assets/images/header-left.png" alt="" /> <li class="headerText">æ°èªæ 客è¿è¾</li> </ul> <div class="bodystyle"> <div class="Unit-title-box"> <p class="fm-kt"> 2. ä¸å½æ°ç¨èªç©ºè¿è¾ä¸çåå±ç»åäºæ§ä¸å½æ¶æã计åç»æµæ¶æãæ¹é©å¼æ¾æ¶æãä½å¶æ¹é©æ¶æä»¥åèåéç»ï¼ç®åæ£ç±æ°èªå¤§å½åæ°èªå¼ºå½è¿è¿ã </p> </div> <div class="Unit-title-box"> <p class="box-title">æèä¸ç»ä¹ </p> <p class="fm-kt">1. ç®è¿°ä¸çæ°ç¨èªç©ºè¿è¾ä¸çåå±ã</p> <textarea v-model="videoQuestionData.one" placeholder="请è¾å ¥å 容" rows="5" style="max-width: 90%; width: 90%" class="fz-16 fm-son textarea-question ml-40" @change="saveVideoQuestionData" ></textarea> <p class="fm-kt">2. ç®è¿°ä¸å½æ°ç¨èªç©ºè¿è¾ä¸çåå±ã</p> <textarea v-model="videoQuestionData.two" placeholder="请è¾å ¥å 容" rows="5" style="max-width: 90%; width: 90%" class="fz-16 fm-son textarea-question ml-40" @change="saveVideoQuestionData" ></textarea> <p class="fm-kt"> 3. æ¯è¾ä¸å½æ°èªä½å¶æ¹é©ååï¼ä¸å½æ°ç¨èªç©ºæ»å±èè½çååã </p> <textarea v-model="videoQuestionData.three" placeholder="请è¾å ¥å 容" rows="5" style="max-width: 90%; width: 90%" class="fz-16 fm-son textarea-question ml-40" @change="saveVideoQuestionData" ></textarea> <p class="fm-kt"> 4. æ¥èµæç»åæ¡ä¾ï¼äºè§£ä¸å½æ°èªåå±ä¸çâ两èªèµ·ä¹âçåå²ã </p> <textarea v-model="videoQuestionData.four" placeholder="请è¾å ¥å 容" rows="5" style="max-width: 90%; width: 90%" class="fz-16 fm-son textarea-question ml-40" @change="saveVideoQuestionData" ></textarea> <p class="fm-kt">5. æ¯è¾ä¸å½ä¸ä¸çèªç©ºè¿è¾çåå±ã</p> <textarea v-model="videoQuestionData.five" placeholder="请è¾å ¥å 容" rows="5" style="max-width: 90%; width: 90%" class="fz-16 fm-son textarea-question ml-40" @change="saveVideoQuestionData" ></textarea> </div> <div class="Unit-title-box"> <p class="box-title">å¦ä¹ ææèªæµ</p> <p class="dialogQuestion" @click="openQuestion(1)"> <span class="td-0">ãæ¬èæµè¯ã</span> <span class="td-0"> <svg t="1736157124915" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2536" xmlns:xlink="http://www.w3.org/1999/xlink" width="28" height="28" > <path d="M798.72 76.8H947.2v145.92h51.2V25.6h-199.68zM947.2 798.72v145.92h-148.48v51.2H998.4v-197.12zM66.56 222.72V76.8h148.48V25.6H12.8v197.12zM215.04 944.64H66.56v-145.92H12.8v197.12h202.24z" fill="#fff" p-id="2537" ></path> <path d="M826.88 522.24L512 207.36c0-2.56-2.56-2.56-7.68-2.56-2.56 0-5.12 0-7.68 2.56L184.32 524.8c-2.56 2.56-5.12 7.68-2.56 10.24 2.56 5.12 5.12 7.68 10.24 7.68h58.88V793.6c0 12.8 10.24 25.6 25.6 25.6 12.8 0 25.6-10.24 25.6-25.6V504.32c0-5.12-5.12-10.24-10.24-10.24h-2.56l217.6-220.16 220.16 222.72c-5.12 0-10.24 5.12-10.24 10.24V793.6c0 12.8 10.24 25.6 25.6 25.6 12.8 0 25.6-10.24 25.6-25.6v-250.88h51.2c5.12 0 10.24-5.12 10.24-10.24 2.56-5.12 0-7.68-2.56-10.24z" fill="#fff" p-id="2538" ></path> <path d="M386.56 762.88h240.64c10.24 0 17.92 7.68 17.92 17.92 0 10.24-7.68 17.92-17.92 17.92h-240.64c-10.24 0-17.92-7.68-17.92-17.92 0-10.24 7.68-17.92 17.92-17.92z m0-69.12h240.64c10.24 0 17.92 7.68 17.92 17.92 0 10.24-7.68 17.92-17.92 17.92h-240.64c-10.24 0-17.92-7.68-17.92-17.92 0-10.24 7.68-17.92 17.92-17.92z m0-71.68h240.64c10.24 0 17.92 7.68 17.92 17.92 0 10.24-7.68 17.92-17.92 17.92h-240.64c-10.24 0-17.92-7.68-17.92-17.92 0-7.68 7.68-17.92 17.92-17.92zM514.56 535.04h-20.48c-5.12 0-7.68-2.56-7.68-7.68v-2.56c0-17.92 5.12-30.72 23.04-46.08 17.92-15.36 23.04-23.04 23.04-33.28s-7.68-20.48-20.48-20.48c-15.36 0-25.6 7.68-30.72 25.6 0 5.12-5.12 5.12-10.24 5.12l-25.6-5.12c-5.12 0-7.68-5.12-5.12-10.24 10.24-38.4 33.28-53.76 79.36-53.76 38.4 0 61.44 25.6 61.44 51.2 0 20.48-7.68 35.84-33.28 53.76-20.48 15.36-23.04 20.48-23.04 33.28-2.56 7.68-7.68 10.24-10.24 10.24zM481.28 588.8v-28.16c0-5.12 2.56-7.68 7.68-7.68h30.72c5.12 0 7.68 2.56 7.68 7.68V588.8c0 5.12-2.56 7.68-7.68 7.68h-30.72c-5.12 0-7.68-5.12-7.68-7.68z" fill="#fff" p-id="2539" ></path> </svg> </span> </p> </div> <div class="Unit-title-box"> <p class="box-title">å®è®ä¸å享</p> <p class="fm-kt"> 以å°ç»ä¸ºåä½ï¼æ¶éä»»æä¸åä¸èªç©ºè¿è¾ç¸å ³çæ°é»ï¼ä»¥PPTæ¹å¼ä¸å ¶ä»åå¦å享ï¼å 容形å¼ä¸éã </p> <el-upload ref="upload" class="upload-demo" action="'#'" :limit="1" :http-request="fileUpload" :show-file-list="false" > <div class="uploadFiles"> <img src="../../assets/images/uploadFiles.svg" alt="" /> <span>ä¸ä¼ PPT</span> </div> </el-upload> <div class="ppt-box" v-if="pptData.pptName != ''" v-loading="loading" > <p @click="openPPT()">{{ pptData.pptName }}.PPT</p> <img @click="deletePPT()" src="../../assets/images/delectFile.svg" alt="" /> </div> </div> </div> <ul class="header-left-box"> <li class="">·16·</li> </ul> </div> </div> <!-- 17页 --> <!-- <div class="page-box" page="5"> <div v-if="showPageList.indexOf(5) > -1"> <ul class="header-right"> <li class="headerRight-Text">项ç®ä¸ãæ°ç¨èªç©ºè¿è¾ä¸çåå±</li> <span class="headerRight-box"></span> </ul> <div class="bodystyle"></div> <ul class="headerRight-Number"> <li class="">·5·</li> </ul> </div> </div> --> <preView :isClear="dialogVisible" :md5="p_md5" :pdfTitle="somePdfTitleValue" ref="pdfDialogRef" ></preView> <dialogExaminations :isClear="dialogVisibleOne" :primaryColor="themeColor" :cardList="interfaceQuestion[questionNum]" v-if="interfaceQuestion" :chapter="2" :page="questionNum" :questionTitle="questionTitleMain" ref="dialogRef" > </dialogExaminations> </div> </template> <script> import { getResourcePath, uploadFilePath } from "@/assets/methods/resources"; import { getCollectResource, setCollectResource, } from "@/assets/methods/resources"; import { Message } from "element-ui"; import tool from "@/assets/js/toolClass.js"; import preView from "@/components/pdfview/index.vue"; import dialogExaminations from "@/components/dialogExaminations/index.vue"; export default { name: "chapterTwo", props: { showPageList: { type: Array, }, interfaceQuestion: { type: Object, }, }, components: { preView, dialogExaminations, }, data() { return { collectImg: require("../../assets/images/icon/heart.png"), collectCheck: require("../../assets/images/icon/heart-check.png"), //pdfé è¯»å¨ dialogVisible: false, pdfDialogRef: "", somePdfTitleValue: "", p_md5: "", chapter001: { pdfMd5: { 1: { md5: "d26f73df690bb8de6781c40d049560e3", name: "ç¥è¯æå± 1-1 ä¸å½ç¬¬ä¸ä½é£æºè®¾è®¡å¸å¯å¦", }, 2: { md5: "ac8fc00ea84cb3504a5ad0c7c2025652", name: "ç¥è¯æå± 1-2 两èªç®ä»", }, 3: { md5: "df538ab7d44f8c73b7386a2584b84a68", name: "æ¡ä¾å享 1-1 éé£â两èªèµ·ä¹âä¹è·¯ 为äºä¸è½å¿å´ç纪念", }, 4: { md5: "9bfa634653b1c2a51aff13cedf1ccd2d", name: "ç¥è¯æå± 1-3 C919 大飿º", }, }, question: { 1: { questionTitleMain: "项ç®ä¸ãæ°ç¨èªç©ºè¿è¾ä¸çåå±", questionNum: 16, }, }, }, collectResourceList: [], chapterData: { isCollectVideoOne: false, isCollectVideoTwo: false, isCollectVideoThree: false, isCollectVideoFour: false, isCollectVideoFive: false, }, // è§é¢ videoPathOne: "", // ç®çé¢ videoQuestionData: { one: "", two: "", three: "", four: "", five: "", }, // é¢ç®ç¸å ³ dialogVisibleOne: false, themeColor: "#1c9e3a", questionNum: 0, questionTitleMain: "", // ppt pptData: { pptMd5: "", pptName: "", }, loading: false, }; }, async mounted() { const videoQuestionData = localStorage.getItem( "aviationPassengerTransport6th-book-chapter001-videoQuestionData" ); if (videoQuestionData) { this.videoQuestionData = JSON.parse(videoQuestionData); } this.collectResourceList = await getCollectResource( this.config.activeBook.bookId ); this.getVidoePath(); this.getPPtData(); }, methods: { //ä¸ä¼ PPT fileUpload(file) { console.log(this.pptData.pptMd5, "this.pptData.pptMd5"); if (this.pptData.pptMd5 != "") { Message.error("请å å é¤å½åæä»¶"); return; } return new Promise((resolve, reject) => { const isPPT = file.file.type === "application/vnd.ms-powerpoint" || file.file.type === "application/vnd.openxmlformats-officedocument.presentationml.presentation"; if (!isPPT) { Message.error("ä¸ä¼ æä»¶åªè½æ¯ ppt æ ¼å¼!"); return reject(); } const FileName = file.file.name.split(".")[0]; const Extension = file.file.name.split(".")[1]; const FileType = file.file.type; let size = 1024; tool .getFileMd5(file.file, size * 1024) .then(async (e) => { this.loading = true; if (this.pptData.pptMd5 != e) { const imgData = new FormData(); imgData.append("Md5", e); imgData.append("FileName", FileName); imgData.append("Extension", Extension); imgData.append("FileType", FileType); imgData.append("MetaData", null); imgData.append("file", file.file); let rData = await uploadFilePath(imgData); if (rData) { this.pptData.pptMd5 = e; this.pptData.pptName = FileName; this.setPPtData(); } } else { Message.error("å½åæä»¶å·²ä¸ä¼ ï¼è¯·å¿é夿ä½ï¼"); } this.loading = false; }) .catch((e) => { console.error(e); }); }); }, // åå ¥ppt setPPtData() { this.MG.identity .setUserKey({ setKeyRequests: [ { domain: "PPtData", key: this.config.activeBook.bookId, value: JSON.stringify(this.pptData), }, ], }) .then((res) => { console.log("æ¶è/åæ¶æå"); }); }, // è·åpptæ°æ® getPPtData() { const token = localStorage.getItem("token"); if (!token) return false; this.MG.identity .getUserKey({ domain: "PPTData", keys: [this.config.activeBook.bookId], }) .then((res) => { try { const pptData = JSON.parse(res[0].value); if (pptData) { this.pptData = pptData; } } catch (error) { console.log("ææ æ°æ®"); } }) .catch((res) => { console.log("pptæ°æ®æ¥é"); }); }, async getVidoePath() { this.videoPathOne = await getResourcePath( "20915be5a2980251b3294f657fec5345" ); }, toUrl(val) { if (val) { this.p_md5 = this.chapter001.pdfMd5[val].md5; this.somePdfTitleValue = this.chapter001.pdfMd5[val].name; this.$refs.pdfDialogRef.openDialog(); } }, openPPT() { this.p_md5 = this.pptData.pptMd5; this.somePdfTitleValue = this.pptData.pptName; this.$refs.pdfDialogRef.openDialog(); }, deletePPT() { this.pptData.pptMd5 = ""; this.pptData.pptName = ""; this.setPPtData(); }, saveVideoQuestionData() { localStorage.setItem( "aviationPassengerTransport6th-book-chapter001-videoQuestionData", JSON.stringify(this.videoQuestionData) ); }, handleCollect(e) { if (e == "pdf-01") { this.handleCollectResource( "d26f73df690bb8de6781c40d049560e3", "d26f73df690bb8de6781c40d049560e3", "", "å ¶ä»", "bits", "ç¥è¯æå± 1-1 ä¸å½ç¬¬ä¸ä½é£æºè®¾è®¡å¸å¯å¦" ); } else if (e == "pdf-02") { this.handleCollectResource( "ac8fc00ea84cb3504a5ad0c7c2025652", "ac8fc00ea84cb3504a5ad0c7c2025652", "", "å ¶ä»", "bits", "ç¥è¯æå± 1-2 两èªç®ä»" ); } else if (e == "pdf-03") { this.handleCollectResource( "df538ab7d44f8c73b7386a2584b84a68", "df538ab7d44f8c73b7386a2584b84a68", "", "å ¶ä»", "bits", "æ¡ä¾å享 1-1 éé£â两èªèµ·ä¹âä¹è·¯ 为äºä¸è½å¿å´ç纪念" ); } else if (e == "pdf-04") { this.handleCollectResource( "9bfa634653b1c2a51aff13cedf1ccd2d", "9bfa634653b1c2a51aff13cedf1ccd2d", "", "å ¶ä»", "bits", "ç¥è¯æå± 1-3 C919 大飿º" ); } else if (e == "video-01") { this.handleCollectResource( "20915be5a2980251b3294f657fec5345", "20915be5a2980251b3294f657fec5345", "", "è§é¢", "bits", "01 ä¸å½æ°ç¨èªç©ºè¿è¾çåå±" ); } }, //èµæºæ¶èäºä»¶ // 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 ); }, openQuestion(num) { if (num) { this.questionNum = this.chapter001.question[num].questionNum; this.questionTitleMain = this.chapter001.question[num].questionTitleMain; this.$refs.dialogRef.openDialogQuestion(); } }, }, }; </script> <style lang="less" scoped> hr { margin-left: 0; margin-bottom: 25px; width: 25%; border: none; height: 1px; background-color: #000; } .header-right-img { width: 100%; display: inline-block; justify-content: center; padding-top: 40%; min-height: 600px !important; img { width: 35%; height: auto; } } </style> src/books/aviationPassengerTransport6th/view/components/header.vue
New file @@ -0,0 +1,27 @@ <template> <div class="chapter" num="1"> <!-- å°é¢ --> <div class="page-box mt-20" page="1" style="min-height: auto"> <div v-if="showPageList.indexOf(1) > -1"> <img class="img-0" alt="" src="../../assets/images/Cover.jpg" /> </div> </div> </div> </template> <script> export default { name: "pageHeader", props: { showPageList: { type: Array, }, }, data() { return {}; }, }; </script> <style lang="less" scoped></style> src/books/aviationPassengerTransport6th/view/components/index.vue
New file @@ -0,0 +1,980 @@ <template> <div class="page-main" @scroll="throttledScrollHandler"> <div id="searchDomBox" style="display: none"> <div id="searchContent"></div> </div> <div class="page-content" :style="{ fontSize: fontSize + 'px', transform: `scale(${pageZoom})`, transformOrigin: 'center top', }" > <pageHeader v-if="showCatalogList.indexOf(1) > -1" :showPageList="loadPageList" ></pageHeader> <chapterOne v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList" :interfaceQuestion="questionDataMap" ></chapterOne> <!-- <chapterTwo v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList" ></chapterTwo> --> <!-- <chapterThree v-if="showCatalogList.indexOf(4) > -1" :showPageList="loadPageList" ></chapterThree> <chapterFour v-if="showCatalogList.indexOf(5) > -1" :showPageList="loadPageList" ></chapterFour> <chapterFive v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList" :interfaceQuestion="questionDataMap" ></chapterFive> --> </div> </div> </template> <script> import pageHeader from "./header.vue"; import chapterOne from "./chapter001.vue"; // import chapterTwo from "./chapter002.vue"; // import chapterThree from "./chapter003.vue"; // import chapterFour from "./chapter004.vue"; // import chapterFive from "./chapter005.vue"; import NoteIcon from "@/assets/images/biji.png"; import getQuestionList from "@/assets/methods/examination"; import testData from "../../assets/examinationList"; import _ from "lodash"; import Swiper from "swiper/bundle"; import "swiper/swiper-bundle.css"; import Viewer from "viewerjs"; import "viewerjs/dist/viewer.css"; export default { name: "pageContent", data() { return { catalogLength: 2, // æ»ç« èæ° showCatalogList: [], // æ¾ç¤ºçç« è loadThreshold: 300, // 触åå è½½éå¼ throttleThreshold: 100, // èæµéå¼ previousScrollTop: 0, throttledScrollHandler: null, observer: null, loadPageObserver: null, loadPageList: [], questionDataMap: {}, renderSignMap: {}, highlightData: null, audioPath: "", currentTime: null, videoList: [], }; }, computed: { fontSize() { this.transformDom(this.$store.state.qiankun.fontSize); return this.$store.state.qiankun.fontSize ? this.$store.state.qiankun.fontSize : 18; }, pageZoom() { return this.$store.state.qiankun.scale ? this.$store.state.qiankun.scale / 100 : 1; }, }, watch: { showCatalogList: { handler(newVal, oldVal) { if ( this.$store.state.qiankun && this.$store.state.qiankun.catalogChange ) { // è°ç¨ç¶å±æ¹æ³ this.$store.state.qiankun.catalogChange({ showCatalogList: newVal, }); } // å¯å¨é¡µç è§å¯ setTimeout(() => { this.initObservation(); this.initThemeColor(); }, 500); }, }, loadPageList: { handler(newVal, oldVal) { setTimeout(() => { this.transformDom(this.$store.state.qiankun.fontSize); this.initSwiper(); this.initViewer(); this.closeAudio(); this.closeVideo(); }, 200); }, }, pageZoom: { handler(newVal, oldVal) { const scrollBox = ( this.container ? this.container : document ).querySelector(".page-main"); scrollBox.scrollTop = (scrollBox.scrollTop / oldVal) * newVal; }, }, }, mounted() { // é»è®¤å è½½ç« è this.showCatalogList = [1]; // æ»å¨çå¬èæµ this.throttledScrollHandler = _.throttle( this.scrollFun, this.throttleThreshold, { leading: true, trailing: false } ); // å®ä¹å屿¹æ³ if (this.setGlobalState) { // æä¾é¡µé¢è·³è½¬åè½ this.setGlobalState({ gotoPage: (catalog, page) => { this.gotoPage(catalog, page); }, // 渲æç¬è®°ãé«äº®ãå线 renderSign: (type, data) => { // å ä¸ºè°æ´ä¸ºé¡µé¢æå è½½ï¼æä»¥æ¸²ææ è®°ä¹éè¦æç §é¡µé¢è¿è¡å¤çï¼å å¨åæ°æ®ï¼é¡µé¢å è½½å®æåæ¸²æå¯¹åºçæ è®°ï¼ this.handelSignData(type, data); // this.renderSign(type, data); }, // å é¤ç¬è®°ãé«äº®ãå线 delSign: (data) => { this.delSign(data); }, // å ¨ææ£ç´¢ searchBookByKeyword: (keyword) => { return this.searchTextByPage(keyword); }, // 跳转æ£ç´¢ç»æä½ç½® jumpSearchItem: (data) => { this.searchItemLocation(data); }, }); } // å建ä¸ä¸ªæ°ç Intersection Observer å®ä¾ï¼ç¨äºè§å¯ç®æ å ç´ åæ§è¡ç¸åºçåè°å½æ°ã // new IntersectionObserver(callback, options)ï¼ä½¿ç¨ä¹åå®ä¹ç callback åè°å½æ°å options é ç½®é项æ¥åå§å Intersection Observer å®ä¾ã this.observer = new IntersectionObserver(this.pageChangeCallback, { root: null, // æå®æ ¹å ç´ ï¼è¿é设为 nullï¼è¡¨ç¤ºéåæ´ä¸ªè§çªä½ä¸ºæ ¹å ç´ ã rootMargin: "0px", // æå®æ ¹å ç´ çè¾¹çï¼è¿é设为 "0px"ï¼è¡¨ç¤ºæ ¹å ç´ çè¾¹çåè§çªçè¾¹çéå threshold: 0.5, // æå®äº¤åæ¯ä¾ï¼è¿é设为 0.5ï¼è¡¨ç¤ºå½ç®æ å ç´ ä¸åææ´å¤æ¾ç¤ºå¨è§çªä¸æ¶è§¦ååè°å½æ°ã }); this.loadPageObserver = new IntersectionObserver(this.loadPageCallback, { root: null, // æå®æ ¹å ç´ ï¼è¿é设为 nullï¼è¡¨ç¤ºéåæ´ä¸ªè§çªä½ä¸ºæ ¹å ç´ ã rootMargin: "0px", // æå®æ ¹å ç´ çè¾¹çï¼è¿é设为 "0px"ï¼è¡¨ç¤ºæ ¹å ç´ çè¾¹çåè§çªçè¾¹çéå threshold: 0, // æå®äº¤åæ¯ä¾ï¼è¿é设为 0.5ï¼è¡¨ç¤ºå½ç®æ å ç´ ä¸åææ´å¤æ¾ç¤ºå¨è§çªä¸æ¶è§¦ååè°å½æ°ã }); // å¯å¨é¡µç è§å¯ setTimeout(() => { this.initObservation(); this.initThemeColor(); }, 500); // æµè¯é¡µé¢è·³è½¬ // setTimeout(() => { // this.gotoPage(2, 16); //}, 500); // const pageDom = (this.container ? this.container : document) // .querySelector("#app") // .querySelectorAll(".page-box"); // æ£ç´¢ // console.log(this.searchTextByPage("ä¿æ¤å èå¨å®"), "searchTextByPage"); // æ£ç´¢è·³è½¬ // this.searchItemLocation({ // catalog: 2, // page: 10, // txt: " è¿å¨ç³»ç»æ¯ç±éª¨ã骨è¿ç»å骨骼èä¸é¨åç»æçãå ¨èº«ç骨éè¿éª¨è¿ç»ç»æäººä½éª¨éª¼ï¼è§å¾1-1ï¼ã骨骼æ¯äººä½çæ¯æ¶ï¼å ·æä¿æ¤å èå¨å®ãä¾èèéçåä½ä¸ºèèè¿å¨çæ æçä½ç¨ãå¨ç¥ç»ç³»ç»çæ¯é ä¸ï¼èèæ¶ç¼©çµå¨æéçç骨ç»çå ³è转å¨ï¼ä½¿èº«ä½äº§çåç§å¨ä½ãæä»¥ï¼è¿å¨ç³»ç»å ·æè¿å¨ãæ¯æåä¿æ¤çåè½ï¼å¹¼å¹´æ¶æç骨骼è¿å ·æé è¡åè½ã ", // txtIndex: 57 // }); // }, 500); }, methods: { // setZoom1() { // let scale = this.$store.state.qiankun.scale + 10; // const scrollBox = ( // this.container ? this.container : document // ).querySelector(".page-main"); // this.$store.commit("setZoom", scale); // }, // setZoom2() { // let scale = this.$store.state.qiankun.scale - 10; // const scrollBox = ( // this.container ? this.container : document // ).querySelector(".page-main"); // this.$store.commit("setZoom", scale); // }, // æ»å¨çå¬ scrollFun(event) { this.handleVideoPicture(); // 夿å䏿»å¨è¿æ¯å䏿»å¨ if (event.target.scrollTop > this.previousScrollTop) { this.getAduio(); // åä¸ const currentScrollTop = event.target.scrollTop + event.target.offsetHeight; if ( currentScrollTop >= event.target.scrollHeight - this.loadThreshold ) { console.log(1); // å°è¾¾éå¼ if ( this.showCatalogList[this.showCatalogList.length - 1] < this.catalogLength ) { // å è½½ä¸ä¸ç« this.showCatalogList.push( this.showCatalogList[this.showCatalogList.length - 1] + 1 ); if (this.showCatalogList.length > 3) { // è¶ è¿ä¸ç« éèé¡¶é¨ä¸ç« this.showCatalogList.shift(); } } } } else if (event.target.scrollTop < this.previousScrollTop) { this.handleAudio(); // åä¸ const currentScrollTop = event.target.scrollTop; if (currentScrollTop <= this.loadThreshold) { // å°è¾¾éå¼ if (this.showCatalogList[0] > 0) { // å è½½ä¸ä¸ç« this.showCatalogList.unshift(this.showCatalogList[0] - 1); if (this.showCatalogList.length > 3) { // è¶ è¿ä¸ç« éèåºé¨ä¸ç« this.showCatalogList.pop(); } } } } // showCatalogList å½åæ¾ç¤ºçä¸ä¸ªç« èï¼watchçå¬ä¼ éç»ä¸»åºç¨ // æ´æ°ä¸ä¸æ¬¡æ»å¨çä½ç½® this.previousScrollTop = event.target.scrollTop; }, // ç« èã页é¢è·³è½¬ gotoPage(catalog, page) { if (catalog >= 0 && catalog <= this.catalogLength) { // å¤ç渲æç« è if (catalog == 0) { this.showCatalogList = [0, 1]; } else if (catalog == this.catalogLength) { this.showCatalogList = [ this.catalogLength - 2, this.catalogLength - 1, this.catalogLength, ]; } else { this.showCatalogList = [catalog - 1, catalog, catalog + 1]; } setTimeout(() => { // 跳转页ç const pageDom = ( this.container ? this.container : document ).querySelector(`[page="${page}"]`); if (pageDom) { pageDom.scrollIntoView(); } else { console.log("页ç é误ï¼"); } }, 500); } else { console.log("ç« èé误ï¼"); } }, // å¤çæ è®°æ°æ® handelSignData(type, data) { if (this.loadPageList.indexOf(Number(data.page)) > -1) { // ç«å³æ¸²æ this.renderSign(type, data); } // å¨åæ°æ® if (!this.renderSignMap[type]) this.renderSignMap[type] = {}; if (!this.renderSignMap[type][data.page]) this.renderSignMap[type][data.page] = []; this.renderSignMap[type][data.page].push(data); }, // æ¸²ææ è®° renderSign(type, data) { // ç¶å±è®¾ç½®ç¦æ¢æ¸²ææ è®°æ¶ä¸åè¿è¡æ¸²æ if (this.$store.state.qiankun.disableSign) { return false; } const existence = ( this.container ? this.container : document ).querySelector(`[dataid="${data.id}"]`); // å»é if (!existence) { const pageDom = ( this.container ? this.container : document ).querySelector(`[page="${data.page}"]`); // å建 createTreeWalker è¿ä»£å¨ï¼ç¨äºéåææ¬èç¹ï¼ä¿åå°ä¸ä¸ªæ°ç» const treeWalker = document.createTreeWalker( pageDom, NodeFilter.SHOW_TEXT ); const allTextNodes = []; let currentNode = treeWalker.nextNode(); while (currentNode) { allTextNodes.push(currentNode); currentNode = treeWalker.nextNode(); } for (let i = 0; i < allTextNodes.length; i++) { const textDom = allTextNodes[i]; if (textDom.textContent.indexOf(data.txt) > -1) { let reg = new RegExp(`${data.txt}`, "ig"); switch (type) { case "Highlight": // é«äº® textDom.parentNode.innerHTML = textDom.parentNode.innerHTML.replace( reg, `<span datatype="Highlight" dataid="${data.id}" style="background: ${data.color};" class="highLight" onclick="signClick('Highlight','${data.id}','${data.chapterNum}')">${data.txt}</span>` ); break; case "Dashing": // å线 textDom.parentNode.innerHTML = textDom.parentNode.innerHTML.replace( reg, `<span datatype="Dashing" dataid="${data.id}" style="text-decoration-color:${data.color};" class="underline" onclick="signClick('Dashing','${data.id}','${data.chapterNum}')">${data.txt}</span>` ); break; case "Note": // ç¬è®° textDom.parentNode.innerHTML = textDom.parentNode.innerHTML.replace( reg, `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')" onmouseout="noteOut('Note')">${data.txt}<img src="${NoteIcon}"/></span>` ); break; } } } } }, // å 餿 记渲æ delSign({ ids, type }) { if (ids && ids.length) { for (let i = 0; i < ids.length; i++) { const id = ids[i]; const dom = ( this.container ? this.container : document ).querySelector(`[dataid="${id}"]`); dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace( dom.outerHTML, dom.outerText ); } } if (type) { const doms = ( this.container ? this.container : document ).querySelectorAll(`[datatype="${type}"]`); for (let i = 0; i < doms.length; i++) { const dom = doms[i]; dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace( dom.outerHTML, dom.outerText ); } } }, initObservation() { const sections = ( this.container ? this.container : document ).querySelectorAll(".page-box"); sections.forEach((section) => { if (this.config.activeBook && this.config.activeBook.tryPageCount) { const page = section.getAttribute("page"); if (Number(page) > this.config.activeBook.tryPageCount) { let chapterDom = this.getParentWithClass(section, "chapter"); const chapterNum = chapterDom.getAttribute("num"); this.catalogLength = Number(chapterNum) - 1; section.remove(); return false; } } // observer è§å¯æ¯ä¸ªå ç´ ï¼ä»¥ä¾¿å¨å®ä»¬è¿å ¥æç¦»å¼è§çªæ¶è§¦ååè°å½æ°ã const isObserver = section.getAttribute("observer"); const isLoadObserver = section.getAttribute("loadObserver"); if (!isObserver) { this.observer.observe(section); section.setAttribute("observer", "1"); } if (!isLoadObserver) { this.loadPageObserver.observe(section); section.setAttribute("loadObserver", "1"); } }); }, initThemeColor() { // è·ååç§éè¦ä¸»é¢è²çèç¹ const colorDom = ( this.container ? this.container : document ).querySelectorAll(".theme-color"); const backgroundColorDom = ( this.container ? this.container : document ).querySelectorAll(".theme-back"); const borderColorDom = ( this.container ? this.container : document ).querySelectorAll(".theme-border"); // è·åé ç½®ç主é¢è² const bookThemeColor = this.config.activeBook && this.config.activeBook.bookThemeColor ? this.config.activeBook.bookThemeColor : null; const chapterThemeColor = this.config.activeBook && this.config.activeBook.chapterThemeColor ? this.config.activeBook.chapterThemeColor : null; const pageThemeColor = this.config.activeBook && this.config.activeBook.pageThemeColor ? this.config.activeBook.pageThemeColor : null; colorDom.forEach((domItem) => { // è·åç« èã页ç let pageDom = this.getParentWithClass(domItem, "page-box"); let chapterDom = this.getParentWithClass(domItem, "chapter"); let page, chapterNum; if (pageDom) page = pageDom.getAttribute("page"); if (chapterDom) chapterNum = chapterDom.getAttribute("num"); // åä¸å¹é 主é¢è² const themeColor = page && pageThemeColor && pageThemeColor[page] ? pageThemeColor[page] : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] ? chapterThemeColor[chapterNum] : bookThemeColor; if (themeColor) { domItem.style.color = themeColor; } }); backgroundColorDom.forEach((domItem) => { // è·åç« èã页ç let pageDom = this.getParentWithClass(domItem, "page-box"); let chapterDom = this.getParentWithClass(domItem, "chapter"); let page, chapterNum; if (pageDom) page = pageDom.getAttribute("page"); if (chapterDom) chapterNum = chapterDom.getAttribute("num"); // åä¸å¹é 主é¢è² const themeColor = page && pageThemeColor && pageThemeColor[page] ? pageThemeColor[page] : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] ? chapterThemeColor[chapterNum] : bookThemeColor; if (themeColor) { domItem.style.backgroundColor = themeColor; } }); borderColorDom.forEach((domItem) => { // è·åç« èã页ç let pageDom = this.getParentWithClass(domItem, "page-box"); let chapterDom = this.getParentWithClass(domItem, "chapter"); let page, chapterNum; if (pageDom) page = pageDom.getAttribute("page"); if (chapterDom) chapterNum = chapterDom.getAttribute("num"); // åä¸å¹é 主é¢è² const themeColor = page && pageThemeColor && pageThemeColor[page] ? pageThemeColor[page] : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] ? chapterThemeColor[chapterNum] : bookThemeColor; if (themeColor) { domItem.style.borderColor = themeColor; } }); }, getParentWithClass(element, className) { while (element.parentElement) { element = element.parentElement; if (element.classList.contains(className)) { return element; } } }, pageChangeCallback(entries, observer) { //entriesï¼ä»£è¡¨è§å¯å°çç®æ å ç´ çéåã observerï¼ä»£è¡¨è§å¯è 对象ã entries.forEach((entry) => { //entry.isIntersectingï¼æ£æ¥å½åç®æ å ç´ æ¯å¦ä¸æ ¹å ç´ ç¸äº¤ã if (entry.isIntersecting) { const target = entry.target; //entry.targetï¼è·åå½åç®æ å ç´ const page = target.getAttribute("page"); const catalogDom = this.tool.getParentNodeByClassName( target, "chapter" ); const catalog = catalogDom.getAttribute("num"); let text = null; if (target.querySelector("p")) { text = target.querySelector("p").textContent.substring(0, 50); } // è¿å页ç åç« èä¿¡æ¯ if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange) this.$store.state.qiankun.pageChange({ page: page, catalog: catalog, text, }); // const sections = Array.from(document.querySelectorAll(".section")); //sectionsï¼è·åææå ·æ .section ç±»åçå ç´ ï¼å¹¶è½¬æ¢ä¸ºæ°ç»ã // let index = sections.findIndex((section) => section === target) + 1; //indexï¼æ¥æ¾å½åç®æ å ç´ å¨ sections æ°ç»ä¸çç´¢å¼ï¼å¹¶å 1ï¼ç¨äºç¡®å®å½å页ç ã } }); }, loadPageCallback(entries, observer) { entries.forEach(async (entry) => { if (entry.isIntersecting) { const target = entry.target; const page = target.getAttribute("page"); if (this.loadPageList.indexOf(Number(page)) == -1) { const catalogDom = this.tool.getParentNodeByClassName( target, "chapter" ); // æ·»å 页ç this.loadPageList.push(Number(page)); const catalog = catalogDom.getAttribute("num"); if (!this.questionDataMap[page]) { if (testData && testData[catalog]) { if (testData[catalog][page]) { if (Array.isArray(testData[catalog][page])) { this.questionDataMap[page] = await getQuestionList( page, testData[catalog][page], this.config.activeBook ); } else { const obj = {}; for (let key in testData[catalog][page]) { obj[key] = await getQuestionList( [], testData[catalog][page][key], this.config.activeBook ); } this.questionDataMap[page] = obj; } console.log("é¢ç®", this.questionDataMap); } } } // 渲æè¿ä¸é¡µçæ è®° for (const key in this.renderSignMap) { if (this.renderSignMap[key][page]) { this.renderSignMap[key][page].forEach((item) => { this.renderSign(key, item); }); } } // å¤çé«äº® if (this.highlightData) { // é«äº®è¡ setTimeout(() => { // è·å页颿ætextèç¹ const pageTextList = document.createTreeWalker( target, NodeFilter.SHOW_TEXT ); // å¹é å ³é®å const allPageTextNodes = []; let currentNode = pageTextList.nextNode(); while (currentNode) { allPageTextNodes.push(currentNode); currentNode = pageTextList.nextNode(); } for (let i = 0; i < allPageTextNodes.length; i++) { const textDom = allPageTextNodes[i]; let txtIndex = textDom.textContent.indexOf( this.highlightData.txt ); if (txtIndex > -1) { textDom.parentNode.style.transition = "background-color 0.8s"; textDom.parentNode.scrollIntoView(); textDom.parentNode.style.backgroundColor = "#79bbf0"; setTimeout(() => { textDom.parentNode.style.backgroundColor = ""; }, 1000); } } }, 100); } if (this.loadPageList.length > 5) { // è¶ è¿5页 this.loadPageList.shift(); } } } }); }, initSwiper() { const doms = ( this.container ? this.container : document ).querySelectorAll(".swiper-img"); for (let i = 0; i < doms.length; i++) { const dom = doms[i]; new Swiper(dom, { loop: false, // æ ç¼ autoplay: { //èªå¨å¼å§ delay: 3000, //æ¶é´é´é disableOnInteraction: false, //*æå¨æä½è½®æå¾åä¸ä¼æå* }, paginationClickable: true, slidesPerView: 1, // ä¸ç»ä¸ä¸ª spaceBetween: 30, // é´é // 妿éè¦åè¿åéæé® navigation: { nextEl: dom.querySelector(".swiper-button-next"), prevEl: dom.querySelector(".swiper-button-prev"), }, // çªå£åå,éæ°init,é对F11å ¨å±åæ¾å¤§ç¼©å°,å¿ é¡»å // observer: true, // observeParents: true // // 妿éè¦åé¡µå¨ // pagination: { // el: (this.container ? this.container : document).querySelector( // ".swiper-pagination" // ), // clickable: true // å页å¨å¯ä»¥ç¹å» // } }); } const pptDoms = ( this.container ? this.container : document ).querySelectorAll(".swiper_ppt"); for (let i = 0; i < pptDoms.length; i++) { const dom = pptDoms[i]; new Swiper(dom, { loop: false, // æ ç¼ autoplay: false, paginationClickable: true, slidesPerView: 1, // ä¸ç»ä¸ä¸ª spaceBetween: 30, // é´é // 妿éè¦åè¿åéæé® navigation: { nextEl: dom.querySelector(".swiper-button-next"), prevEl: dom.querySelector(".swiper-button-prev"), }, // çªå£åå,éæ°init,é对F11å ¨å±åæ¾å¤§ç¼©å°,å¿ é¡»å observer: true, observeParents: true, on: { init: (value) => { let currentPage = value.activeIndex + 1; // è·åå½å页ï¼ä»1å¼å§è®¡æ°ï¼ let totalPages = value.slides.length; // è·åæ»é¡µæ° var paginationInfoEl = dom.querySelector(".pageBox"); if (paginationInfoEl) paginationInfoEl.textContent = currentPage + "/" + totalPages; }, slideChange: (value) => { let currentPage = value.activeIndex + 1; // è·åå½å页ï¼ä»1å¼å§è®¡æ°ï¼ let totalPages = value.slides.length; // è·åæ»é¡µæ° var paginationInfoEl = dom.querySelector(".pageBox"); if (paginationInfoEl) paginationInfoEl.textContent = currentPage + "/" + totalPages; }, }, }); } }, initViewer() { const doms = ( this.container ? this.container : document ).querySelectorAll(".openImgBox"); for (let i = 0; i < doms.length; i++) { const dom = doms[i]; new Viewer(dom, { container: this.container ? this.container.querySelector("#app") : "body", navbar: true, // æ¾ç¤ºå¯¼èªæ toolbar: true, // æ¾ç¤ºå·¥å ·æ title: true, // æ¾ç¤ºæ é¢ }); } }, // æ ¹æ®å ³é®åå ¨ææ£ç´¢ searchTextByPage(keyword) { const searchResult = []; let catalogIndex = 0; // ææç« èç»ä»¶ï¼æ¯æ¬ä¹¦å¶ä½æ¶åç¬é ç½®ï¼ const pageData = { pageHeader, chapterOne, // chapterTwo, // chapterThree, // chapterFour, // chapterFive, }; // éåææç« èæä»¶ for (const key in pageData) { catalogIndex++; let pageComponent, pageExample; // å æ¸²æä¸æ¬¡å½åç« èæä»¶ï¼è¿æ¶é¡µé¢çå 容为空ï¼ï¼è·å页ç ä¿¡æ¯ pageComponent = Vue.extend(pageData[key]); pageExample = new pageComponent({ propsData: { showPageList: [], questionData: {}, isSearch: true, }, }); pageExample.$mount( (this.container ? this.container : document).querySelector( "#searchContent" ) ); // è·å页ç const pageDom = (this.container ? this.container : document) .querySelector("#searchDomBox") .querySelectorAll(".page-box"); const pages = []; for (let i = 0; i < pageDom.length; i++) { const pageDomItem = pageDom[i]; pages.push(Number(pageDomItem.getAttribute("page"))); } // è·å页é¢ç»æï¼å¸è½½éæ¯ pageExample.$destroy(); (this.container ? this.container : document).querySelector( "#searchDomBox" ).innerHTML = '<div id="searchContent"></div>'; // éå页ç if (pages.length) { for (let i = 0; i < pages.length; i++) { const pageNum = pages[i]; // å¨ææ¸²æå¯¹åºç« èç页ç pageComponent = Vue.extend(pageData[key]); pageExample = new pageComponent({ propsData: { showPageList: [pageNum], questionData: {}, isSearch: true, }, }); pageExample.$mount( (this.container ? this.container : document).querySelector( "#searchContent" ) ); // è·å对åºé¡µé¢dom const thisPageDom = (this.container ? this.container : document) .querySelector("#searchDomBox") .querySelector(`[page="${pageNum}"]`); if (thisPageDom) { // è·å页颿ætextèç¹ const pageTextList = document.createTreeWalker( thisPageDom, NodeFilter.SHOW_TEXT ); // å¹é å ³é®å const allPageTextNodes = []; let currentNode = pageTextList.nextNode(); while (currentNode) { allPageTextNodes.push(currentNode); currentNode = pageTextList.nextNode(); } for (let i = 0; i < allPageTextNodes.length; i++) { const textDom = allPageTextNodes[i]; let txtIndex = textDom.textContent.indexOf(keyword); if (txtIndex > -1) { // è®°å½å ³é®åæå¨é¡µç ãç« è以åå¹é å°çæ®µè½ searchResult.push({ page: pageNum, catalog: catalogIndex, txt: textDom.textContent, txtIndex: txtIndex, }); } } // ç»æï¼å¸è½½éæ¯ pageExample.$destroy(); (this.container ? this.container : document).querySelector( "#searchDomBox" ).innerHTML = '<div id="searchContent"></div>'; } } } } // è¾åºæç´¢ç»æ console.log(searchResult); return searchResult; }, // æ ¹æ®æ£ç´¢ç»æè·³è½¬å¯¹åºä½ç½®å¹¶é«äº® searchItemLocation(data) { // è®°å½é«äº®ä¿¡æ¯ this.highlightData = data; // 跳转 this.gotoPage(data.catalog, data.page, () => {}); }, // 页é¢å䏿»å¨ï¼é³é¢å°çªææ¾åè½ getAduio() { let allVideo = ( this.container ? this.container : document ).querySelectorAll(".audio"); allVideo = Array.from(allVideo); this.videoList = allVideo; if (allVideo.length) { // æ¥æ¾ææ¾ç¶æçæå䏿¡é³é¢ const playAudio = allVideo .reverse() .find((item) => item.paused == false); if (playAudio) { const bottomGap = playAudio.getBoundingClientRect().bottom; if (bottomGap < 0) { playAudio.pause(); this.audioPath = playAudio.src; this.currentTime = playAudio.currentTime; } } } }, // 页é¢å䏿»å¨ï¼é³é¢å°çªåæ¶ handleAudio() { if (!this.audioPath) return false; let allVideo = ( this.container ? this.container : document ).querySelectorAll(".audio"); allVideo = Array.from(allVideo); if (allVideo.length) { //æ¥æ¾ä¸å°çªææ¾é³é¢åæºç页é¢audio DOM const playAudio = allVideo.find((item) => item.src == this.audioPath); if (playAudio) { const bottomGap = playAudio.getBoundingClientRect().bottom; if (bottomGap >= 0) { if (this.$refs.audioPlayer) { const playerState = this.$refs.audioPlayer.getVideoPlayer(); this.audioPath = ""; playAudio.currentTime = playerState.currentTime; if (!playerState.paused) playAudio.play(); } } } } }, // å ³émini video closeMiniAudio() { this.audioPath = ""; }, // ç¹å»é³é¢ææ¾ï¼å ³éå ¶ä»é³é¢ closeAudio() { let allAudio = ( this.container ? this.container : document ).querySelectorAll(".audio"); for (let index = 0; index < allAudio.length; index++) { const item = allAudio[index]; item.addEventListener("play", () => { const audioList = Array.from(allAudio); for (let cindex = 0; cindex < audioList.length; cindex++) { const citem = audioList[cindex]; if (citem.currentSrc != item.src) { citem.pause(); } } this.closeMiniAudio(); }); } }, // ç¹å»è§é¢å ³éå ¶ä» closeVideo() { let allVideo = ( this.container ? this.container : document ).querySelectorAll(".video"); for (let index = 0; index < allVideo.length; index++) { const item = allVideo[index]; item.addEventListener("playing", (item) => { const path = item.srcElement.src; const videoList = Array.from(allVideo); for (let cindex = 0; cindex < videoList.length; cindex++) { const citem = videoList[cindex]; if (citem.currentSrc != path && path) { citem.pause(); } } }); } }, // è§é¢å°çª handleVideoPicture() { let doms = (this.container ? this.container : document).querySelectorAll( ".video" ); doms = Array.from(doms); if (!doms.length) return false; const playVudio = doms.reverse().find((item) => item.paused == false); if (playVudio) { const bottomGap = playVudio.getBoundingClientRect().bottom; const topGap = playVudio.getBoundingClientRect().top; if (bottomGap < 0 || topGap > window.innerHeight) { try { if (playVudio.readyState) playVudio.requestPictureInPicture(); } catch (error) { console.log(error, "å°çªé误error"); } } } }, //å ¶ä»ç±»åä¸åä½å¤§å°åå transformDom(fs) { if (!fs) return; let doms = (this.container ? this.container : document).querySelectorAll( ".block" ); if (!doms.length) return; for (let index = 0; index < doms.length; index++) { const dom = doms[index]; dom.style.fontSize = fs + "px"; } }, }, components: { pageHeader, chapterOne, // chapterTwo, // chapterThree, // chapterFour, // chapterFive, }, }; </script> <style lang="less" scoped> .page-main { width: 100% !important; height: 100% !important; overflow: auto; .page-content { max-width: 816px; min-width: 375px; margin: 0 auto; padding-bottom: 100px; } } </style> src/books/aviationPassengerTransport6th/view/index.vue
New file @@ -0,0 +1,80 @@ <template> <div class="aviationPassengerTransport6th" @mouseup="handleMouseUp"> <pageContent></pageContent> </div> </template> <script> import pageContent from "./components/index.vue"; export default { name: "aviationPassengerTransport6th", components: { pageContent, }, computed: { fontSize() { return this.$store.state.qiankun.fontSize; }, pageZoom() { return this.$store.state.qiankun.scale / 100; }, }, methods: { getParentWithClass(element, className) { while (element.parentElement) { element = element.parentElement; if (element.classList.contains(className)) { return element; } } }, handleMouseUp(e) { const selection = ( this.container ? this.container : window ).getSelection(); const txt = selection.toString(); if (selection.type != "none" && txt) { let node = selection.anchorNode.parentNode; let pageHtml = this.getParentWithClass( selection.anchorNode, "page-box" ); let chapterDom = this.getParentWithClass( selection.anchorNode, "chapter" ); let chapterNum; if (chapterDom) chapterNum = chapterDom.getAttribute("num"); if (pageHtml) { const page = pageHtml.getAttribute("page"); // çå¬é䏿æ¬äºä»¶ï¼å¹¶è§¦åç¶å±æ¹æ³ if (this.$store.state.qiankun.windowSelection) { this.$store.state.qiankun.windowSelection({ chapterNum, txt, page, x: e.x, y: e.y, }); } } } else { if (this.$store.state.qiankun.windowSelection) { this.$store.state.qiankun.windowSelection({ chapterNum: "", txt: "", page: "", x: e.x, y: e.y, }); } } }, }, }; </script> <style lang="less"> @import "../assets/main.less"; </style> src/books/childHealth/view/content/components/chapter001.vue
@@ -3950,7 +3950,6 @@ </p> </div> <div class="right" style="width: 60%"> <!-- config.resourceCtx + '/video/chapterOne/ä¸é¢ä¸ï¼å¦åå¿ç«¥ç¼ççççç¹ç¹ä¸ä¿å¥.mp4' --> <video :src="pathTwo" poster="../../../assets/images/chapterOne/people-video-img.jpg" src/books/childcareInstitutionsManagement/view/components/chapter001.vue
@@ -174,7 +174,6 @@ </div> </div> </div> <!-- P5 --> <div class="page-box" page="15"> <div v-if="showPageList.indexOf(15) > -1"> @@ -276,7 +275,6 @@ </div> </div> </div> <!-- P7 --> <div class="page-box" page="17"> <div v-if="showPageList.indexOf(17) > -1"> @@ -323,7 +321,6 @@ </div> </div> </div> <!-- P8 --> <div class="page-box" page="18"> <div v-if="showPageList.indexOf(18) > -1"> @@ -379,7 +376,6 @@ </div> </div> </div> <!-- P9 --> <div class="page-box" page="19"> <div v-if="showPageList.indexOf(19) > -1"> @@ -1603,6 +1599,7 @@ import preView from '@/components/pdfview/index.vue' import mindMapView from '@/components/mindMapView/index.vue' import tool from '@/assets/js/toolClass.js' import { ElMessage } from 'element-ui' export default { name: "chapterOne", props: { src/books/cognitiveLanDevEduAges0to3/assets/main.less
@@ -1217,8 +1217,6 @@ vertical-align: middle; } .content {} .titleQuot-c { font-family: "æ¹æ£å °äºç»é»"; color: #00aeef; src/books/hotelEnglishTrainingBrochure2nd/assets/images/0002-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0003-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0005-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0005-02.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0007-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0008-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0012-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0013-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0016-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0017-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0018-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0020-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0022-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0023-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0023-02.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0025-03.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/0026-01.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/Cover.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/a1.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/a2.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/a3.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/device_phone_frontcover.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/feiye.jpg
src/books/hotelEnglishTrainingBrochure2nd/assets/images/icon/heart-check.png
src/books/hotelEnglishTrainingBrochure2nd/assets/images/icon/heart.png
src/books/hotelEnglishTrainingBrochure2nd/assets/images/left-page.png
src/books/hotelEnglishTrainingBrochure2nd/assets/images/right-page.png
src/books/hotelEnglishTrainingBrochure2nd/assets/main.less
New file @@ -0,0 +1,2322 @@ .hotelEnglishTrainingBrochure2nd { width: 100%; height: 100%; position: relative; // èªå®ä¹å 容 .page-box { box-sizing: border-box; min-height: 1128px; margin-bottom: 20px; box-shadow: 0 3px 6px 1px #00000029; background-color: #fff; } .page-main { width: 100% !important; height: 100% !important; overflow: auto; // position: relative; } .follow-box { width: 500px; height: 100px; position: fixed; background-color: #2ecc71; color: white; padding: 10px; border-radius: 5px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); z-index: 1000; display: none; min-width: 150px; } .wh-no { white-space: nowrap; } .c-g { color: green; } .c-r { color: red; } .t-right { text-align: right; } .mr-0 { margin: 0; } .mt-10 { margin-top: 10px !important; } .mt-20 { margin-top: 20px !important; } .table-pad { padding: 1em 0.7em !important; } .mt-30 { margin-top: 30px !important; } .mt-70 { margin-top: 70px; } .mb-10 { margin-bottom: 10px; } .mb-30 { margin-bottom: 30px !important; } .ma-l { margin-left: 8%; } .ma-0 { margin: 0% !important; } .pd-5 { padding: 0 5px; } .w100 { width: 100%; } .w80 { width: 80%; } .w70 { width: 70%; } .w25 { width: 25%; } .w20 { width: 20%; } .fz-13 { font-size: 13px !important; } .fz-14 { font-size: 14px !important; } .fz-16 { font-size: 16px !important; } .fz-18 { font-size: 18px !important; } .fz-20 { font-size: 20px; } .img-0 { width: 100%; } .img-c { width: 70%; } .pt-20 { padding-top: 20px; } .td-0 { text-indent: 0em !important; } .td-1 { text-indent: 1em !important; } .td-2 { text-indent: 2em !important; } td { padding: 5px 10px; } .fl { display: flex; } .ju-cn { justify-content: center; } .ju-ev { justify-content: space-evenly; } .jc-fs { justify-content: flex-start; } .fw-w { flex-wrap: wrap; } .fd-c { flex-direction: column; } .fd-r { flex-direction: row-reverse; } .al-c { align-items: center; } .al-fe { align-items: flex-end; } .ac-f { align-content: flex-end; } .jc-fe { justify-content: flex-end; } .jc-c { justify-content: center; } .jc-sa { justify-content: space-around } .ml-40 { margin-left: 40px; } .mr-70 { margin-right: 70px; } .mr-10 { margin-right: 10px; } .pad-t-55 { padding-top: 55px; } .ma-t-30 { margin-top: 30px; } .ma-t-20 { margin-top: 20px; } .pad-l-60 { padding-left: 60px; } .pad-l-80 { padding-left: 80px; } .mb-45 { margin-bottom: 45px; } .mb-20 { margin-bottom: 20px !important; } .mb-30 { margin-bottom: 30px !important; } .page-father { display: flex; } .header-left { margin-left: 8%; margin-top: 0; font-size: 16px; img { width: 30%; height: auto; object-fit: contain; } } .header-left-Text { color: #00aeef; span:nth-child(1) { font-weight: bold; font-size: 18px; padding-right: 10px; line-height: 20px; } span:nth-child(2) { font-size: 16px; padding-left: 10px; border-left: 1px solid #000; line-height: 20px; } } .header-right { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-end; margin-right: 10%; margin-top: 0; font-size: 16px; div { width: 9%; text-align: center; img { width: 100%; height: auto; } } } .header-right-Text { color: #00aeef; span:nth-child(1) { font-weight: bold; font-size: 18px; padding-right: 10px; line-height: 20px; } span:nth-child(2) { font-size: 16px; padding-left: 10px; border-left: 1px solid #000; line-height: 20px; } } /*äºçº§æ é¢ç« æ */ .secondsubHead-1 { text-align: left; line-height: 1.1em; font-size: 1em; text-indent: 0em; margin: 20% auto 0.3em auto; color: #888888; } .secondsubHead-2 { font-family: "æ¹æ£æ°æ¥å®"; background-color: #7acab4; display: inline-block; align-items: center; text-align: left; color: #fff; border-radius: 10px; padding: 0px 10px; text-indent: 0em; font-size: 22px; line-height: 28px; } .tipes { background-color: #e2f2ed; border: 2px solid #96d3c1; padding: 10px; } table { border-color: none !important; } .table-th-bc { background-color: #0dbff2; color: #fff; } .table-tr-bc { background-color: #c6eafa; color: #000; font-family: "kaiti"; } .table-textarea { font-size: 14px; font-family: "Times New Roman", "å®ä½"; resize: none; &:focus { outline: none; } } .textarea-box { border: none; text-align: center; width: 84px; height: 36px; overflow: auto; word-break: break-all; resize: none; } .b0 { border: 0; } .task { width: 16%; margin-bottom: 5em; margin-top: 0; border-top: 0.7em solid #5192C6; } .task2 { width: 16%; margin-bottom: 5em; margin-top: 0; border-top: 0.7em solid #F89C1C; } .task3 { width: 16%; margin-bottom: 5em; margin-top: 0; border-top: 0.7em solid #448D9C; } .task4 { width: 16%; margin-bottom: 5em; margin-top: 0; border-top: 0.7em solid #9EAA60; } .p-odd { padding-right: 8%; } .p-even { padding-left: 8%; } .p-continued { text-align: right; font-size: 14px; margin-bottom: 10px; } .img-float { width: 310px; float: left; height: auto; margin: auto; margin-right: 20px; img { width: 100%; } p { margin: 0; } } .img-rights { width: 310px; float: right; height: auto; margin: auto; margin-left: 20px; img { width: 100%; } p { margin: 0 !important; } } .w430 { width: 430px; } .w395 { width: 395px; } .w350 { width: 350px; } .w290 { width: 290px; } .w280 { width: 280px; } .w275 { width: 275px; } .w270 { width: 270px; } .w250 { width: 250px; } .w230 { width: 230px; } .w220 { width: 220px; } .w210 { width: 210px; } .w200 { width: 200px; } .w180 { width: 180px; } .w150 { width: 150px; } .w115 { width: 115px; } .pdf .fm-zh { font-family: "æ¹æ£æ£é»" !important; } .fm-kt { font-family: "kaiti" !important; font-weight: 400; } .fm-fs { font-family: "æ¹æ£ä»¿å®" !important; } div.bk-ztgs { border: 0.15em dotted #5192c6; padding: 0.5em; margin-bottom: 2em; margin-top: 2em; border-radius: 1em; position: relative; } p.bj1-ztgs { background-color: #5192c6; color: #ffffff; display: inline-block; font-size: 1em; padding: 0.1em 0.7em 0.12em 0.7em; font-weight: bold; border-radius: 0em; margin-left: 0em; text-align: center; text-indent: 0em; position: absolute; top: -2em; } .link-float { width: 150px; float: left; height: auto; margin: auto; margin-right: 20px; } .imgBox-003 { width: 100%; height: 280px; margin-bottom: 18px; } .imgBox { display: flex !important; flex-direction: column-reverse !important; position: relative !important; .img { color: #7acab4; margin: 0 !important; font-size: 14px !important; position: absolute !important; left: 50% !important; transform: translateX(-50%); bottom: -2% !important; } img { height: 80%; } } // é¢ç® .textarea-question { border-color: #00aeef !important; } .textarea-question:focus { // outline: none; /* ç§»é¤é»è®¤çç¦ç¹è½®å» */ } .textarea-main { background-color: transparent; max-width: 95%; min-width: 95%; outline: none; } .textarea-focused { border-color: #5192c6 !important; box-shadow: #5192c6 !important; } .select-border { width: 60px; border: 0; border-bottom: 1px solid #767676; &:focus { outline: none; } } .btn-border { border-radius: 6px; border-color: #5192C6; } .btn-w { cursor: pointer; font-size: 14px; border-width: 1px; width: 80px; height: 30px; background-color: #fff; &:hover { background-color: #5192C6; color: #fff; } } .parimary-btn { cursor: pointer; min-width: 80px; height: 30px; font-size: 14px; margin-left: 5px; background-color: #5192C6; border-color: #5192C6; border-width: 1px; color: #fff; border-radius: 6px; &:hover { background-color: #a1afc8; border-color: #a1afc8; } } .event-header-text-bc { background-color: #bbd4ec; } .video-title { display: flex; align-items: center; span { margin-left: 10px; color: #1c9e3a !important; font-weight: bold; } } .video-box { margin: 10px 0 20px 0; border: 2px solid #28c4f4; padding: 3% 2% 2% 2%; position: relative; } .video-img { position: absolute; top: -20px; left: -20px; } .video-box-left { margin: 20px 8% 20px 0; border: 1px dashed #895B2E; padding: 2% 2%; } .videoname { display: flex; justify-content: center; align-items: center; span { margin-right: 20px; } } .collect-btn { cursor: pointer; width: 20px; height: 20px; } .collect-btn1 { cursor: pointer; width: 10px; height: 10px; margin-left: 10px; margin-top: 0.8%; } .unitImg { position: relative; z-index: 1; } .unitBox { z-index: 99; position: absolute; top: -5px; left: 40px; } .unit2Box { z-index: 99; position: absolute; top: -200px; left: 40px; } .unitGraphic { display: inline-block; width: 10px; height: 10px; background-color: #5192C6; border-radius: 50%; margin-right: 15px; } .unit2Graphic { display: inline-block; width: 10px; height: 10px; background-color: #F89C1C; border-radius: 50%; margin-right: 15px; } .unit3Graphic { display: inline-block; width: 10px; height: 10px; background-color: #448D9C; border-radius: 50%; margin-right: 15px; } .unit4Graphic { display: inline-block; width: 10px; height: 10px; background-color: #9EAA60; border-radius: 50%; margin-right: 15px; } // pdf æ¥çå¨ .pdf-box { margin: 35px 0 20px 0; border: 1px solid #48a65d; } .pdf-title { display: flex; background-color: transparent; min-height: 25px; position: relative; .bg-img { width: 12%; position: absolute; top: -29.5px; } } .pdf-title-name { padding: 0 2%; display: flex; align-items: center; text-indent: 0em; margin: 0 !important; border-right: 1px solid #259e40; color: #259e40; img { cursor: pointer; margin-right: 10px; } .icon { fill: #078fb9; } } .pdf-title-img { width: 75.4%; text-indent: 1em; padding-right: 2%; display: flex; align-items: center; justify-content: space-between; margin: 0; color: #000; span { text-align: center; cursor: pointer; overflow: hidden; } img { cursor: pointer; } &:hover { text-decoration: underline; color: #259e40; } } .unitText { color: #5192C6; font-size: 18px; } .unit2Text { color: #F89C1C; font-size: 16px; } .unit3Text { color: #448D9C; font-size: 16px; } .unit4Text { color: #9EAA60; font-size: 16px; } // è¿ç§» .bk-bwh { min-height: 800px; background-color: #DFEBF7; font-size: 1.2em; padding: 25px; border: 4px dotted #197ABF; } ul { list-style-type: none; } li { list-style-type: none; } .custom_tag2 { background-color: #F1BE49; color: #FFFFFF; display: inline-block; padding: 0.5px; border-radius: 1.5em; font-size: 1.1em; padding: 2px 10px 2px 10px; font-weight: bold; margin: 0; text-indent: 0em; margin-bottom: 0.5em; } .custom_tag1 { background-color: #35ACD6; color: #FFFFFF; display: inline-block; padding: 1px; font-size: 1.1em; padding: 3px 10px 3px 10px; font-weight: bold; box-shadow: 15px 0px 0px 0px #F5D83E, -15px 0px 0px 0px #F5D83E; margin: 0; text-indent: 0em; margin-bottom: 0.5em; } .custom_tag { background-color: #35509F; color: #FFFFFF; display: inline-block; padding: 1px; border-radius: 1.5em; font-size: 1.1em; padding: 10px 20px 10px 20px; font-weight: bold; box-shadow: 30px 0px 0px 0px #F5D83E; margin: 0; text-indent: 0em; margin-bottom: 0.5em; } span.under1 { border-bottom: 2px solid #F0BD4A; border-width: 2px; } div.bodycontent-div-center { font-family: "DK-HEITI", "æ¹æ£å °äºé»ç®ä½", "é»ä½"; margin: 1em 1em 1em 1em; font-weight: normal; border-width: 1.5px; border-color: #dfb27d; padding: 1em; } img.bodycontent-divcenter-image { float: center; clear: both; height: 140px; margin: 15px; } .module_block { display: flex; font-size: 1.1em; position: relative; padding-left: 90px; justify-content: center; align-items: center; margin-right: 91px; } .module_block .custom1 { background-color: #9ACC77; padding: 10px 20px; color: #FFFFFF; /* position: absolute; */ /* left:0; */ /* top: 50%; */ border-radius: 0.5em 0em 0em 0.5em; /* transform: translateY(-50%); */ } .module_block .custom2 { background-color: #E9F3E0; padding: 10px 20px; color: #75A64E; font-weight: bold; border-radius: 0em 0.5em 0.5em 0em; } div.bodycontent-div-left1 { font-family: "DK-HEITI", "æ¹æ£å °äºé»ç®ä½", "é»ä½"; margin: 1em 1em 1em 1em; font-weight: normal; border-width: 1.5px; border-color: #dfb27d; padding: 1em; background-color: #F0F8FF; } div.bodycontent-div-left { font-family: "DK-HEITI", "æ¹æ£å °äºé»ç®ä½", "é»ä½"; margin: 1em 1em 1em 1em; font-weight: normal; border-width: 1.5px; border-color: #dfb27d; padding: 1em; } img.bodycontent-divright-image { float: right; clear: both; height: 140px; margin: 15px; } img.bodycontent-divleft-image { float: left; clear: both; height: 110px; margin: 15px; } div.bodystyle { text-align: justify; margin: 0% 12% 0% 12%; line-height: 30px; min-height: 968px; } // div.bodystyle-left { // text-align: justify; // margin: 13% 3% 10% 13%; // line-height: 30px; // } .UnitCover { display: flex; justify-content: space-between; .UnitCover-left { min-height: 1128px; min-width: 40%; margin-right: 3px; background-color: #c6eafa; } .UnitCover-right { min-height: 1128px; min-width: 59.5%; // background-color: #93d9f7; .UnitCover-right-top { padding-top: 50%; background-color: #93d9f7; margin-bottom: 5px; div { padding: 10px 10px; background-color: #0dbff2; } } .UnitCover-right-bottom { padding-bottom: 68%; background-color: #93d9f7; div { padding: 10px 10px 80px 10px; background-color: #0dbff2; .content { text-indent: 1em; color: #fff; font-size: 14px; line-height: 25px; } } } } } .Unit-title { margin-left: 2%; margin-bottom: 70px; padding: 150px 30px 20px 0; width: 75%; color: #fff; background-color: #1d9438; position: relative; overflow: hidden; p { font-size: 30px; text-align: right; } } .Unit-title::after { content: ''; position: absolute; right: -1px; bottom: -1px; width: 0; height: 0; border-style: solid; border-width: 0px 0 50px 40px; /* è°æ´è¿ä¸ªå¼æ¥æ¹å缺失ä¸è§å½¢çå¤§å° */ border-color: #fff transparent #fff transparent; /* 使ç¨ä¸èæ¯ç¸åçé¢è²æ¥âåæâè§ */ z-index: 2; } .Unit-content { margin: 0 12%; } .unit-title-box { display: flex; align-items: flex-end; width: 100%; min-height: 40px; p:nth-child(1) { display: inline-block; width: 13%; height: 45px; background-color: #aae0f9; margin-bottom: 25px; } div { width: 18%; display: flex; flex-direction: column; align-items: center; position: relative; overflow: hidden; img { display: inline-block; width: 50%; } p { display: inline-block; margin-top: 5px; font-size: 30px; color: #fff; padding: 10px 5px; background-color: #15c0f2; padding-bottom: 30px; } } div::after { content: ''; position: absolute; right: 0px; bottom: 0px; width: 0; height: 0; border-style: solid; border-width: 0px 0 25px 150px; /* è°æ´è¿ä¸ªå¼æ¥æ¹å缺失ä¸è§å½¢çå¤§å° */ border-color: #fff transparent #fff transparent; /* 使ç¨ä¸èæ¯ç¸åçé¢è²æ¥âåæâè§ */ z-index: 2; } div::before { content: ''; position: absolute; left: 0; bottom: 0px; width: 0; height: 0; border-style: solid; border-width: 0px 150px 25px 0px; /* è°æ´è¿ä¸ªå¼æ¥æ¹å缺失ä¸è§å½¢çå¤§å° */ border-color: #fff transparent #fff transparent; /* 使ç¨ä¸èæ¯ç¸åçé¢è²æ¥âåæâè§ */ z-index: 2; } .unit-title-text { color: #00aeef; text-shadow: -1px -1px 0 white, 1px -1px 0 white, -1px 1px 0 white, 1px 1px 0 white; padding: 0 5% 0 5px; line-height: 45px; font-size: 20px; font-weight: bold; margin-bottom: 25px; background-image: linear-gradient(to right, #b6e4f9, transparent); } } .box-title { padding: 0px 15px; color: #fff; text-indent: 0em; border-radius: 0 10px 0 0; background-color: #1C9E3A; position: absolute; top: -15px; left: 0; } .uploadFiles { display: flex; align-items: flex-end; color: #000; img { cursor: pointer; width: 25px; margin-right: 10px; } span { font-size: 14px; line-height: 20px; font-weight: 400; cursor: pointer; } &:hover { color: #1C9E3A !important; } } .ppt-box { cursor: pointer; display: flex; align-items: center; line-height: 25px; font-family: "kaiti"; p { text-indent: 0em; font-size: 1em; margin-right: 20px; margin-bottom: 0; &:hover { text-decoration: underline; color: #1C9E3A; } } img { cursor: pointer; width: 25px; } } .unit-title-parent { text-align: center; margin: 10% 0; } .unit-title { font-family: "æ¹æ£æ£é»"; display: inline-block; font-size: 1.6em; font-weight: 500; border-bottom: 1px solid #0082D4; padding: 10px 0; } .bodyPic { position: relative; } .bodyPic-text { position: absolute; top: 15%; left: 8%; p { font-family: kaiti; font-size: 16px; line-height: 25px; } span { color: #006e92; } } span.zt-0 { color: #0087AF; } p.pzt-0 { color: #0087AF; font-size: 18px; } p.pzt-0-right { font-size: 18px; color: #0087AF; text-align: right; } p.pzt-1 { font-weight: bold; color: #0087AF; font-size: 18px; } div.sgc-toc-title { font-size: 2em; font-weight: bold; margin-bottom: 1em; text-align: center; } .block { font-family: "kaiTi"; text-indent: 2em; line-height: 30px; font-size: 17px; text-align: justify; } .tl-c { text-align: center; } .img { text-align: center; font-size: 14px; margin-left: 0%; margin-right: 0%; text-indent: 0em; } .img1 { font-family: 'FZLTXIHJW'; text-align: right; font-size: 0.85em; margin-left: 0%; margin-right: 2em; text-indent: 0em; } p { font-family: "æ¹æ£å®ä½"; margin-top: 0em; margin-bottom: 0.2em; text-indent: 0em; line-height: 30px; text-align: justify; } .cover { width: 100%; padding: 0px; } .center { text-align: center; margin-left: 0%; margin-right: 0%; text-indent: 0em; } .center-ss { text-align: center; color: #EF8472; font-weight: bold; margin-left: 0%; margin-right: 0%; text-indent: 0em; } .left { text-indent: 0em; margin-bottom: 0px; line-height: 25px; } .left3 { line-height: 25px; } .img-0 { width: 100%; } .img-a { width: 95%; } .img-b { width: 70%; } .img-c { width: 60%; } .img-d { width: 50%; } .img-e { width: 45%; } .img-f { width: 40%; } .img-g { width: 30%; } .img-h { width: 20%; } .img-h { width: 20%; } .img-15 { width: 15%; } .img-i { width: 10%; } .img-j { width: 5%; } .img-k { width: 2%; } .foreword-img-box { text-align: end; padding: 12% 0 10% 0; img { width: 30%; } } .copyright-left { padding-right: 5%; border-right: 1px solid #000; margin-right: 5px; p { font-size: 16px; font-weight: bold; } } .copyright-right { padding-right: 5%; border-left: 1px solid #000; p { text-indent: 1em; font-size: 16px; } } .copyrightPage-top { width: 100%; height: 80px; background-image: linear-gradient(to bottom, #7dd3f6, transparent); /* 设置ä»ä¸å°ä¸çæ¸å */ } .copyrightPage-bottom { width: 100%; height: 80px; background-image: linear-gradient(to top, #7dd3f6, transparent); /* 设置ä»ä¸å°ä¸çæ¸å */ position: relative; .copyrightPage-left-img { width: 18%; position: absolute; left: 0; bottom: 0; } .copyrightPage-left-box { background-color: #00aeef; color: #fff; padding: 10px 8px; border-radius: 50%; position: absolute; left: 8%; bottom: 45px; } .copyrightPage-right-img { width: 18%; position: absolute; right: 0; bottom: 0; } .copyrightPage-right-box { background-color: #00aeef; color: #fff; padding: 10px 8px; border-radius: 50%; position: absolute; right: 8%; bottom: 45px; } } // epubä¸èªå¸¦çæ ·å¼ .editorialBoard { background-color: #fff; border-radius: 50%; /* é¡¶é¨ååºé¨ä¸º0ï¼å·¦å³ä¸¤ä¾§ä¸º50% */ padding: 5% 10% 20% 10%; } .border { margin: 10px 0; padding: 5px 10px; border: 1px solid #00aeef; } .border1 { margin: 10px 20px; padding: 5px 10px 0px 10px; border: 1px solid #00aeef; p { font-family: "kaiti"; line-height: 20px; } table { border-color: none !important; } .table-th-bc { background-color: #fff; color: #000; } .table-tr-bc { background-color: transparent; color: #000; font-family: "kaiti"; } .table-textarea { font-size: 14px; font-family: "Times New Roman", "å®ä½"; resize: none; &:focus { outline: none; } } } .series { padding: 12% 11%; background-color: #e1f1fa; } .openingScene { background-size: cover; background-repeat: no-repeat; min-height: 100%; } .quotation-box { padding: 15% 10% 30% 32%; } .sub-Title-l { font-size: 3em; color: #fff; font-family: "æ¹æ£æ£é»"; font-weight: 800; margin: 0 !important; } .firstTitle-l { font-size: 1.5em; color: #fff; font-family: "æ¹æ£æ£é»"; font-weight: 400; margin: 0 !important; } .seriesTitle { font-size: 2em; color: #000; font-weight: 400; text-align: center; padding: 15% 0 10% 0; } .g-pic { height: 2.5em; vertical-align: middle; } .titleQuot-c { color: #00aeef; text-indent: 0em; font-size: 1.2em; line-height: 1.3em; text-align: center; font-weight: 800; padding: 0 5%; } div.bk3 { background-color: #d6ece5; border: 1px solid #7acab4; padding: 25px 19px 20px 19px; margin-top: 2em; margin-bottom: 1em; position: relative; } .bk3-titOne { position: absolute; top: -18px; left: 20%; } .bk3-titTwo { position: absolute; top: -18px; left: 38%; } .bk3-titThree { position: absolute; top: -18px; right: 38%; } .bk3-titFour { position: absolute; top: -18px; right: 20%; } .bk3-top { width: 25px; height: 25px; border-radius: 50%; background-color: #fff; border-radius: 0 25px 0 0; transform: rotate(90deg); border-top: 1px solid #7acab4; border-right: 1px solid #7acab4; position: absolute; top: -2px; left: -2px; /* æè½¬å½¢ææå½¢ */ } .bk3-top-right { width: 25px; height: 25px; border-radius: 50%; background-color: #fff; border-radius: 0 25px 0 0; transform: rotate(180deg); border-top: 1px solid #7acab4; border-right: 1px solid #7acab4; position: absolute; top: -2px; right: -2px; /* æè½¬å½¢ææå½¢ */ } .bk3-bottom { width: 25px; height: 25px; border-radius: 50%; background-color: #fff; border-radius: 0 25px 0 0; transform: rotate(360deg); border-top: 1px solid #7acab4; border-right: 1px solid #7acab4; position: absolute; bottom: -5.5px; left: -2px; /* æè½¬å½¢ææå½¢ */ } .bk3-bottom-right { width: 25px; height: 25px; border-radius: 50%; background-color: #fff; border-radius: 0 25px 0 0; transform: rotate(270deg); border-top: 1px solid #7acab4; border-right: 1px solid #7acab4; position: absolute; bottom: -5.5px; right: -2px; /* æè½¬å½¢ææå½¢ */ } .view-translation { position: relative; z-index: 0; p { color: #fff; position: absolute; top: 6%; left: 8%; cursor: pointer; &:hover { text-decoration: underline; } } } .firstLevel-t { text-indent: 2em; font-size: 1.1em; font-weight: bold; color: #1C9E3A; margin-top: 50px; margin-bottom: 20px; } .Secondary-t { text-indent: 2em; font-size: 1.1em; font-weight: bold; color: #1C9E3A; margin-top: 20px; margin-bottom: 20px; } h2 { font-family: 'æ¹æ£å®é»'; font-weight: 400; margin: 30px 0; } .preface { font-family: "æ¹æ£æ°ä¹¦å®"; text-indent: 2em; color: #000; } .right-info { font-family: "kaiti"; text-align: right; margin-bottom: 0.5em; } .imgdescript-l { margin-left: -5%; } .titleQuot-l { text-indent: 0em; margin: 15px 0 10px 0; font-size: 1.2em; font-weight: bold; } .poemtitle-l { font-family: "æ¹æ£å °äºçº¤ç»"; font-size: 1.1em; margin: 15px 0 10px 0; font-weight: bold; } .quotation { font-family: "æ¹æ£ä»¿å®"; text-align: left; text-indent: 2em; margin: 0.1em auto; line-height: 35px; } .titleQuot-Unit { color: #fff; text-indent: 0em; font-weight: bold; font-size: 1.2em; margin: 20px 0 0 0; text-decoration: underline; } .titleQuot-1 { color: #0cbff1; font-size: 20px; font-weight: bold; text-indent: 0em; } /*åºè²*/ .bgColor { padding: 2px 5px; color: #000; background: #aae0f9; } // æå±å¦ä¹ .ExpandLearning { padding: 40px 20px 20px 20px; background: #e1f4fc; border-top: 2px solid #008cb7; margin: 1em auto; position: relative; } .ExpandLearning-title { text-indent: 0; position: absolute; top: -16px; left: 0px; span { background-color: #e1f4fc; height: 20px; width: 30px; padding: 5px; border: 1px solid #008cb7; border-radius: 50%; margin-right: 1px; } } .imgdescript { font-size: 13px; text-indent: 0em; text-align: center; } .imgdescript-title { color: #7acab4; font-size: 15px; text-indent: 0em; text-align: center; } .learningDetection { font-family: "æ±ä»ªæ£é»"; background-color: #6bcff6; font-weight: bold; margin: 30px 0 20px 0; } .poemtitle { text-align: center; font-weight: bold; font-family: "æ¹æ£å °äºç»é»"; } .ts-word { color: #00aeef; font-weight: bold; cursor: pointer; } .bold1 { padding: 0px 0px 0px 58px; color: #000; font-weight: bold; } .bold2 { font-weight: bold; } .noteContent { font-size: 13.5px; word-break: break-all; margin: 0 !important; line-height: 25px; .noteContent-title { font-size: 13.5px; font-weight: bold; margin: 0 !important; } } sup { cursor: pointer; } } .dialogQuestion { background-color: #1c9e3a; height: 80px; width: 100%; display: flex; align-items: center; justify-content: space-between; cursor: pointer; span { color: #fff; font-size: 16px; padding: 0 40px 0 20px; } } .pdfModal { width: 100%; height: 90vh; .pdfBox-component { width: 100%; height: 100%; position: relative; .preview { width: 100%; height: 100%; .imageBox { height: calc(100% - 30px); overflow-x: hidden; overflow-y: auto; background: #ccc; box-sizing: border-box; } .imageBox:hover { cursor: zoom-in !important; } ::v-deep .el-dialog__header { background-color: rgba(0, 0, 0, 0.8); .header_title { display: flex; justify-content: space-between; align-items: center; color: #fff; font-weight: 900; font-size: 16px; font-family: 'FZLTXIHJW'; span:nth-child(2):hover { cursor: pointer; } } ::v-deep .el-dialog__title, ::v-deep .el-dialog__headerbtn .el-dialog__close { color: #fff; font-weight: 900; font-size: 16px; font-family: 'FZLTXIHJW'; } } .bottom_tool { height: 30px; background-color: rgba(0, 0, 0, 0.8); display: flex; justify-content: flex-end; align-items: center; svg { margin-right: 15px; fill: #d1d1d1; } svg:hover { fill: #fff; cursor: pointer; } } } .notBox { position: absolute; top: 0; left: 0; width: 100%; height: calc(100% - 30px); min-height: 300px; } } } .custom-dialog { overflow: hidden !important; .el-dialog__body { padding: 0; } .el-dialog__header { background-color: rgba(0, 0, 0, 0.8); .header_title { display: flex; justify-content: space-between; align-items: center; color: #fff; font-weight: 900; font-size: 16px; font-family: 'FZLTXIHJW'; span:nth-child(2):hover { cursor: pointer; } } .el-dialog__title, .el-dialog__headerbtn .el-dialog__close { color: #fff; font-weight: 900; font-size: 16px; font-family: 'FZLTXIHJW'; } } } .examination { height: calc(100% - 15px); overflow-x: hidden; overflow-y: auto; box-sizing: border-box; } .header_title { display: flex; justify-content: space-between; align-items: center; // color: #fff; font-weight: 900; font-size: 16px; font-family: 'FZLTXIHJW'; span:nth-child(2):hover { cursor: pointer; } } // è¡¨æ ¼æ ·å¼ table { border-collapse: collapse; //è¡¨æ ¼çè¾¹æ¡åå¹¶ï¼å¦æç¸é»ï¼åå ±ç¨ä¸ä¸ªè¾¹æ¡ã border-spacing: 0px; //设置è¡ä¸åå æ ¼è¾¹æ¡çé´è·ã } // @font-face { // font-family: 'æ¹æ£ä»¿å®'; // src: url('./Fonts/FZFSK.TTF'); // } // @font-face { // font-family: 'æ¹æ£å®ä½'; // src: url('./Fonts/FZSSK.TTF'); // } // @font-face { // font-family: 'æ¹æ£å®é»'; // src: url('./Fonts/FZSHJW.TTF'); // } // @font-face { // font-family: 'æ¹æ£ä»¿å®'; // src: url('./Fonts/FZFSK.TTF'); // } // @font-face { // font-family: 'æ¹æ£å °äºç»é»'; // src: url('./Fonts/FZLTXIHK.TTF'); // } .input-bottom-border { border: 0; border-bottom: 1px solid #000000; background-color: transparent; &:focus { outline: none; } } .btn-box { margin-left: 5px; cursor: pointer; text-indent: 0; display: inline-block; border: 1px solid #0cbff1; height: 22px; padding: 5px; background-color: #0cbff1; border-radius: 5px; svg { fill: #fff; } &:hover { background-color: #fff; svg { fill: #0cbff1; } } } // éèé¡µé¢ .hidePage { min-height: 0 !important; height: 0 !important; box-shadow: none !important; } /* åªä½æ¥è¯¢ååºç¡ååºå¼å¸å± */ @media screen and (max-width: 1024px) { .pdfModal { width: 100%; height: 80vh; } .custom-dialog { .el-dialog { width: 90vw !important; } } } @media screen and (max-width: 800px) { .pdfModal { width: 100%; height: 60vh; } .custom-dialog { .el-dialog { width: 90vw !important; } } } @media (max-width: 660px) { .hotelEnglishTrainingBrochure2nd { .pad-l-80 { padding-left: 10px; } .mr-70 { margin-right: 15px; } /* å页padding */ .padding-93 { padding: 0 20px; } .padding-102 { padding: 0 20px; } .img-float { width: 130px; } .img-rights { width: 130px; } .btn-w { width: 42px; } .unitText { color: #5192C6; font-size: 10px; } .unit2Text { color: #F89C1C; font-size: 10px; } .wh-no { white-space: wrap; } td { padding: 5px 10px; } .copyright-left { padding-right: 5%; border-right: 1px solid #000; margin-right: 5px; p { text-indent: 0em; font-size: 12px; font-weight: bold; text-wrap: nowrap; } } .copyright-right { padding-right: 5%; border-left: 1px solid #000; p { text-indent: 1em; font-size: 12px; text-wrap: nowrap; } } } } @media (min-width: 660px) { .hotelEnglishTrainingBrochure2nd { .padding-93 { padding: 0 93px 0px 93px; } .padding-102 { padding: 0 102px 0 102px; } } } ::-webkit-scrollbar { width: 8px; height: 10px; } ::-webkit-scrollbar-track-piece { background-color: rgba(0, 0, 0, 0.1); -webkit-border-radius: 6px; } ::-webkit-scrollbar-thumb:vertical { height: 5px; background-color: rgba(125, 125, 125, 0.3); -webkit-border-radius: 6px; } ::-webkit-scrollbar-thumb:horizontal { width: 5px; background-color: rgba(125, 125, 125, 0.3); -webkit-border-radius: 6px; } src/books/hotelEnglishTrainingBrochure2nd/view/components/chapter001.vue
New file @@ -0,0 +1,2319 @@ <template> <div class="chapter" num="2"> <!-- 295页 --> <div class="page-box" page="4"> <div v-if="showPageList.indexOf(4) > -1"> <div class="UnitCover"> <div class="UnitCover-left"></div> <div class="UnitCover-right"> <div class="UnitCover-right-top"> <div> <h1 class="sub-Title-l">Project 12</h1> <p><br /></p> <h1 class="firstTitle-l">Cashier's Service<br />æ¶é¶æå¡</h1> </div> </div> <div class="UnitCover-right-bottom"> <div> <p class="titleQuot-Unit">Project Goals</p> <p class="content"> After studying this project, you should be able to: </p> <p class="content"> ⢠tell the main duties of a cashier in a hotel; </p> <p class="content">⢠check out the guests;</p> <p class="content"> ⢠exchange foreign currency for the guests; </p> <p class="content"> ⢠help the guests to fi ll out a foreign currency exchange<br /> memo; </p> <p class="content">⢠know about online checkout;</p> <p class="content">⢠develop good professional qualities.</p> </div> </div> </div> </div> </div> </div> <!-- 296页 --> <div class="page-box" page="5"> <div v-if="showPageList.indexOf(5) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="unit-title-box"> <p></p> <div> <img class="" src="../../assets/images/0002-01.jpg" alt="" /> <p class="td-0">Activity 1</p> </div> <p class="td-0 unit-title-text">Get to Know the Post å²ä½è®¤ç¥</p> </div> <div class="bodystyle"> <p class="titleQuot-1">1. Objectivesï¼ç®æ ï¼</p> <p class="content td-0"> ⢠To get to know the main responsibilities of a cashier; </p> <p class="content td-0"> ⢠To get to know the job requirements of a cashier. </p> <p class="titleQuot-1">2. Identify the Responsibilityï¼æç¡®èè´£ï¼</p> <p class="content td-0">Cashier:</p> <div class="border"> <p class="content td-0 fz-14"> <img class="img-k" src="../../assets/images/a1.jpg" alt="" />Settle bills for the guestsâ lodging accommodations and any other fees during their stay; </p> <p class="content td-0 fz-14"> <img class="img-k" src="../../assets/images/a1.jpg" alt="" />Explain items charged on the bill; </p> <p class="content td-0 fz-14"> <img class="img-k" src="../../assets/images/a1.jpg" alt="" />Complete check-out procedures; </p> <p class="content td-0 fz-14"> <img class="img-k" src="../../assets/images/a1.jpg" alt="" />Operate computer billing system; </p> <p class="content td-0 fz-14"> <img class="img-k" src="../../assets/images/a1.jpg" alt="" />Handle various methods of payment; </p> <p class="content td-0 fz-14"> <img class="img-k" src="../../assets/images/a1.jpg" alt="" />Give the guests their change; </p> <p class="content td-0 fz-14"> <img class="img-k" src="../../assets/images/a1.jpg" alt="" />Convert foreign currency for hotel guests; </p> <p class="content td-0 fz-14"> <img class="img-k" src="../../assets/images/a1.jpg" alt="" />Cash traveler's checks and personal checks for hotel guests; </p> <p class="content td-0 fz-14"> <img class="img-k" src="../../assets/images/a1.jpg" alt="" /> Maintain related records and fi les regarding fi nancial transactions; </p> <p class="content td-0 fz-14"> <img class="img-k" src="../../assets/images/a1.jpg" alt="" />Answer guestsâ inquiries regarding fees and other related services. </p> </div> <div class="video-box"> <p class="center text td-0"> <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"></video> </p> <p class="center videoname"> <span>Project 12-Activity 1-3</span> <el-tooltip class="item" effect="dark" :content="chapterData.isCollectVideoOne ? 'ç¹å»åæ¶' : 'ç¹å»æ¶è' " placement="top-start"> <img :src="collectResourceList.findIndex( (item) => item.id == '50ed3234d92cce02be3d277b0e1f88b2' ) > -1 ? collectCheck : collectImg " alt="" class="collect-btn" @click="handleCollect('video-01')" /> </el-tooltip> </p> </div> <p class="titleQuot-1"> 3. Watch the Video on the Postï¼è§çå²ä½è§é¢ï¼ </p> <p class="content"> to watch the video, listen to the introduction to the post as the convention ï¼ exhibition staff , and then fi ll in the blank with a proper word given below. </p> <div class="border"> <p class="contentc td-0 fz-14"> financialãcheck-outãaccommodationsãaccuratelyãbankingãexchangeãparking </p> </div> <p class="content td-2"> Cashier's service in hotels involves collecting money from guests for their lodging (1) <select class="select-border" :disabled="selectData.isComplete" @change="saveSelectData" v-model="selectData.answerList[0].value" style="width: 20%"> <option v-for="(item, index) in selectData.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="selectData.answerList[0].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="selectData.answerList[0].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> and any other fees during their stay, including (2) <select class="select-border" :disabled="selectData.isComplete" @change="saveSelectData" v-model="selectData.answerList[1].value" style="width: 20%"> <option v-for="(item, index) in selectData.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="selectData.answerList[1].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="selectData.answerList[1].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span>, valet, room service and telephone use fees. It also needs to maintain records and files regarding (3) <select class="select-border" :disabled="selectData.isComplete" @change="saveSelectData" v-model="selectData.answerList[2].value" style="width: 20%"> <option v-for="(item, index) in selectData.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="selectData.answerList[2].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="selectData.answerList[2].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span>transactions at the front desk. Foreign currency (4) <select class="select-border" :disabled="selectData.isComplete" @change="saveSelectData" v-model="selectData.answerList[3].value" style="width: 20%"> <option v-for="(item, index) in selectData.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="selectData.answerList[3].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="selectData.answerList[3].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span>also happens to serve foreign guests. </p> <p class="content td-2"> The basic duties of hotel cashiers involve good communication skills; settling guestsâ accounts; completing guestsâ (5) <select class="select-border" :disabled="selectData.isComplete" @change="saveSelectData" v-model="selectData.answerList[4].value" style="width: 20%"> <option v-for="(item, index) in selectData.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="selectData.answerList[4].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="selectData.answerList[4].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> procedures; clarifying customersâ questions about the charges; checking and following up on all bills on hold; performing various (6) <select class="select-border" :disabled="selectData.isComplete" @change="saveSelectData" v-model="selectData.answerList[5].value" style="width: 20%"> <option v-for="(item, index) in selectData.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="selectData.answerList[5].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="selectData.answerList[5].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span>services, such as check cashing (å ç°) and foreign currency exchange; managing safe-deposit boxes, etc. </p> <p class="content td-2"> To perform mathematical calculations (计ç®) (7) <select class="select-border" :disabled="selectData.isComplete" @change="saveSelectData" v-model="selectData.answerList[6].value" style="width: 20%"> <option v-for="(item, index) in selectData.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="selectData.answerList[6].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="selectData.answerList[6].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span>is important for hotel cashiers. </p> <p class="event-header-text-bc pd-5 mb-20" style="width: 100%" v-if="showAnswerSelect"> çæ¡ï¼1.accommodationsã2.parkingã3.financialã4.exchangeã5.check-outã6.bankingã7.accurately </p> <div class="w100 fl ju-cn mb-20 mt-20"> <div class="fl ju-ev mt-40" style="width: 80%"> <button class="btn-border btn-w" @click="handleDropdown()"> æäº¤ </button> <button class="btn-border btn-w" @click="clearSelectData"> éå </button> <button @click="showAnswerSelect = !showAnswerSelect" class="parimary-btn"> æ¥ççæ¡ </button> </div> </div> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">296</div> </div> </div> </div> <!-- 297页 --> <div class="page-box" page="6"> <div v-if="showPageList.indexOf(6) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 2</span><span>Equip Yourself with the Serving Skills</span> </li> <li>æè½å¦ä¹ </li> </ul> <div class="unit-title-box"> <p></p> <div> <img class="" src="../../assets/images/0002-01.jpg" alt="" /> <p class="td-0">Activity 2</p> </div> <p class="td-0 unit-title-text"> Equip Yourself with the Serving Skills æè½å¦ä¹ </p> </div> <div class="bodystyle"> <p class="titleQuot-1">1. Objectivesï¼ç®æ ï¼</p> <p class="content"> ⢠To grasp basic procedures to check out the guests as a cashier; </p> <p class="content"> ⢠To grasp basic serving skills to check out the guests as a cashier; </p> <p class="content">⢠To learn about diff erent ways of payment.</p> <p class="titleQuot-1"> 2. Go Through the General Proceduresï¼äºè§£æå¡æµç¨ï¼ </p> <p class="content">Checking out the guests:</p> <p class="content"> Step 1 â Ask about the guest's name and room number; </p> <p class="content">Step 2 â Get back the room card;</p> <p class="content">Step 3 â Prepare the bill;</p> <p class="content">Step 4 â Ask the guest to make the payment;</p> <p class="content">Step 5 â Say goodbye to the guest;</p> <p class="content"> Step 6 â Update the room status and create a new record. </p> <p class="titleQuot-1">3. Note the Serving Skillsï¼å ³æ³¨æå¡è¦ç¹ï¼</p> <p class="content"> As a cashier, you should note the following skill points when checking out the guests. </p> <p class="content"> (1) When the guest is checking out at the <span class="ts-word">cashier's station,</span> the cashier should ask about the guest's name and room number at first. Then remind the guest to return the room card. </p> <p class="content"> (2) When preparing the guest's bill, the cashier mainly figures out the total amount of the bill and explains the items to the guest if necessary. The cashier should make clear if the guest has signed any last-minute bills for the mini-bar service or any other hotel services. If the answer is âyesâ, the cashier is supposed to call the department <span class="ts-word">concerned</span>. After all the fees are charged to the master account of the guest, the cashier will <span class="ts-word">present</span> the bill to the guest and tell him/her the total amount. </p> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">297</div> </div> </div> </div> <!-- 298页 --> <div class="page-box" page="7"> <div v-if="showPageList.indexOf(7) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"> <p class="content"> (3) Ask the guest to check the bill again before <span class="ts-word">drawing up</span> the final bill to avoid any errors. If any questions from the guest about the bill, you may check all items again, check with the guest if he/she is <span class="ts-word">entitled</span> to any discount, check it with the department concerned and <span class="ts-word">calculate</span> the bill again. If there were errors, offer to correct the bill immediately and apologize to the guest. If there were no errors, explain the items to the guest. </p> <div class="border"> <p class="titleQuot-c">Special Tips</p> <p class="content">Common items to be charged on a billï¼</p> <p class="content"> <img class="img-k" src="../../assets/images/a2.jpg" alt="" />room rent; </p> <p class="content"> <img class="img-k" src="../../assets/images/a2.jpg" alt="" />telephone rate; </p> <p class="content"> <img class="img-k" src="../../assets/images/a2.jpg" alt="" />laundry service charges; </p> <p class="content"> <img class="img-k" src="../../assets/images/a2.jpg" alt="" />room service charges; </p> <p class="content"> <img class="img-k" src="../../assets/images/a2.jpg" alt="" />dining-hall bills; </p> <p class="content"> <img class="img-k" src="../../assets/images/a2.jpg" alt="" />mini-bar service fees. </p> </div> <p class="content"> (4) When the bill is ready, tell the guest the total amount and ask the guest how he/she will make the payment. The methods of payment which are commonly accepted in hotels are âcashâ, âcredit cardâ, â<span class="ts-word">debit card</span>â,âtraveler's checkâ, â<span class="ts-word">gift certifi cate</span>â, etc. </p> <div class="border"> <p class="titleQuot-c">Special Tips</p> <p class="content"> <img class="img-k" src="../../assets/images/a2.jpg" alt="" /> Here are commonly accepted international credit cards: <span class="ts-word">American Express (AE/AX), MasterCard (MC), Visa(VS), enRoute (ER), Eurocard(EC), International Great Wall, International Diner's Club, Federal Card.</span> </p> <p class="content"> <img class="img-k" src="../../assets/images/a2.jpg" alt="" /> When a guest is paying by credit card, be sure to check its valid date which can be found at the front bottom of the card. </p> <p class="content"> <img class="img-k" src="../../assets/images/a2.jpg" alt="" /> Check if the total amount on the bill goes beyond the <span class="ts-word">authorized credit limit</span> set by the credit card offi ce. If it is beyond the limit, you may ask the guest if he/she would like to pay in cash to settle the difference. </p> </div> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">298</div> </div> </div> </div> <!-- 299页 --> <div class="page-box" page="8"> <div v-if="showPageList.indexOf(8) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 2</span><span>Equip Yourself with the Serving Skills</span> </li> <li>æè½å¦ä¹ </li> </ul> <div class="bodystyle"> <div class="border"> <p class="content"> <img class="img-k" src="../../assets/images/a2.jpg" alt="" /> Check if the total amount on the bill goes beyond the <span class="ts-word">authorized credit limit</span> set by the credit card offi ce. If it is beyond the limit, you may ask the guest if he/she would like to pay in cash to settle the difference. </p> </div> <p class="content"> (5) Many hotels have a check-out time, which is usually set at noon. For a guest who checks out after 12:00 at noon, charge an extra half of the room rate, and an extra full rate for a guest who checks out after 6:00 p.m. </p> <p class="content"> (6) The common way to show money amount is usually together with the <span class="ts-word">currency</span> type. In English, the written form is âcurrency type + amount numberâ, but its oral form reads as âamount number + currency typeâ. For example, </p> <div class="bodyPic center mt-10 mb-10"> <img src="../../assets/images/0005-01.jpg" style="width: 80%" alt="" /> </div> <p class="content"> (7) When finishing the checkout, say goodbye to the guest in the way likeâWe look forward to serving you againâ.As the guest is departing the hotel,extend your wishes to him/her in the way likeâWish you a pleasant journeyâ. </p> <div class="view-translation"> <img class="img-f" src="../../assets/images/0003-01.jpg" alt="" /> <p @click="isDisolayTranslation = !isDisolayTranslation"> ç¹å»æ¥çåèè¯æ </p> </div> <div class="event-header-text-bc pd-5 mb-20" style="width: 100%" v-if="isDisolayTranslation"> <p>åèè¯æ:</p> <p class="td-2"> ä½ä¸ºä¸åæ¶é¶åï¼å¨ä¸ºå®¢äººåçç»è´¦ç¦»åºæç»æ¶åºæ³¨æå¦ä¸æå¡è¦ç¹: </p> <p class="td-2"> (1)å®¢äººå¨æ¶é¶å°ç»è´¦ç¦»åºæ¶ï¼æ¶é¶åé¦å è¦è¯¢é®å®¢äººçå§ååæ¿é´å·ç¶åæé客人å½è¿æ¿å¡ã </p> <p class="td-2"> (2)åå¤å®¢äººè´¦åæ¶ï¼æ¶é¶å主è¦å·¥ä½æ¯è®¡ç®è´¦åæ»é¢ï¼å¿ è¦çè¯è¿è¦è§£éè´¦åãæ¶é¶åè¦é®æ¸ æ¥å®¢äººå¨ä¸´è¿ç»è´¦åæåæ¶æ®µæ¯å¦æè¿·ä½ å§æè å ¶ä»é åºæå¡çæ¶è´¹ç¾åãå¦æå®¢äººæç¾åï¼æ¶é¶åè¦åç¸å ³é¨é¨èç³»ãææè´¹ç¨é½è®°å°å®¢äººæ»è´¦åï¼æ¶é¶åæè´¦åæ¿ç»å®¢äººå¹¶åç¥è´¦åæ»é¢ã </p> <p class="td-2"> (3)å¨å夿ç»è´¦ååï¼æ¶é¶åè¦ä¸å®¢äººåæ¬¡æ ¸å¯¹è´¦åï¼é¿å è´¦åéè¯¯å¦æå®¢äººå¯¹è´¦åæçé®ï¼å¯ä»¥åæ¬¡æ ¸å¯¹æææ¬¾é¡¹ï¼æ ¸å®å®¢äººæ¯å¦äº«å任使æ£ï¼å¹¶èç³»ç¸å ³é¨é¨ï¼éæ°è®¡ç®è´¦åãè¥ç¡®å®æé误ï¼ä¸»å¨åæ¶çº æ£è´¦åå¹¶åå®¢äººè´æ;è¥æ²¡æé误ï¼å客人解éè´¦åæ¬¾é¡¹ã </p> <div class="border1"> <p class="center">ç¹å«æç¤º</p> <p class="td-2">è´¦å常è§çæ¶è´¹æ¬¾é¡¹æ:</p> <p class="td-2">æ¿é´è´¹ç¨;</p> <p class="td-2">çµè¯è´¹ç¨;</p> <p class="td-2">æ¿é´è´¹ç¨;</p> <p class="td-2">æ´è¡£æå¡è´¹ç¨:</p> <p class="td-2">客æ¿éé¤è´¹ç¨:</p> <p class="td-2">é¤å ç¨é¤è´¹ç¨:</p> <p class="td-2">è¿·ä½ å§èµç¨ã</p> </div> <p class="td-2"> (4)è´¦ååå¤å¥½åï¼è¦åç¥å®¢äººæ»é¢å¹¶è¯¢é®å®¢äººæ¯ä»æ¹å¼ãé åºéç»å¸¸ä½¿ç¨çæ¯ä»æ¹å¼æâç°éââä¿¡ç¨å¡ââåè®°å¡ââæ è¡æ¯ç¥¨ââèµ å¸âçã </p> <div class="border1"> <p class="center">ç¹å«æç¤º</p> <p class="td-2">å½é ä¸å¸¸ç¨çä¿¡ç¨å¡æ:</p> <p class="td-2"> ç¾å½è¿éå¡ãä¸äºè¾¾ä¿¡ç¨å¡ãç»´è¨å¡ãå¨éå¡ã欧洲å¡ãé¿åå¡ãå½é 大æ¥ä¿±ä¹é¨å¡ãèé¦å¡/åè¾¾å¡ã </p> <p class="td-2"> 客人ç¨ä¿¡ç¨å¡æ¯ä»æ¶ï¼ä¸å®è¦æ ¸æ¥ä¿¡ç¨å¡æ£é¢ä¸é¨æ¾ç¤ºçæææã </p> <p class="td-2"> æ ¸æ¥è´¦åæ»é¢æ¯å¦è¶ åºäºä¿¡ç¨å¡çæææ¯ä»é¢åº¦ãè¥è¶ åºé¢åº¦ï¼å¯ä»¥è¯¢é®å®¢äººæ¯å¦æ¿æç¨ç°éæ¯ä»å·®ä»·ã </p> </div> <p class="td-2"> (5)å¾å¤é åºé常å°ä¸å12:00设置为ç»è´¦æ¶é´ãåå12:00å离åºç客人ï¼è¦é¢å¤æ¶ååå¤©çæ¿è´¹;ä¸å6:00å离åºç客人ï¼è¦é¢å¤æ¶å䏿´å¤©çæ¿è´¹ã </p> <p class="td-2"> (6)表达éé¢çä¸è¬æ¹å¼æ¯âæ°é¢+å¸ç§âãè±è¯ä¸ï¼è¡¨è¾¾éé¢ç书é¢å½¢å¼æ¯âå¸ç§+æ°é¢âï¼ä½å£å¤´è¡¨è¾¾å´æ¯âæ°é¢+å¸ç§âãä¾å¦: </p> <div class="fl jc-c"> <table border="1" cellpadding="10" cellspacing="0" style=" border-color: #5192c6; border-collapse: collapse; margin: 0 20px; " class="fz-16 w80"> <tr class="table-tr-bc"> <td class="center img-g">书é¢å½¢å¼</td> <td class="center img-g">å£å¤´è¡¨è¾¾</td> </tr> <tr class="table-tr-bc"> <td class="center">US$ 106</td> <td class="center">ä¸ç¾é¶å ç¾å </td> </tr> <tr class="table-tr-bc"> <td class="center">RMB ï¿¥106</td> <td class="center">ä¸ç¾é¶å 人æ°å¸</td> </tr> <tr class="table-tr-bc"> <td class="center">ï¿¡ 106</td> <td class="center">ä¸ç¾é¶å è±é</td> </tr> </table> </div> <p class="td-2 mb-20"> (7)ç»è´¦åï¼è¦è·å®¢äººåå«ï¼å¯ä»¥è¯´â叿忬¡ä¸ºæ¨æå¡ãå 为客人è¦ç¦»åºï¼æä»¥ä¹è¦è¡¨è¾¾å¯¹å®¢äººçç¥æ¿ï¼å¯ä»¥è¯´âç¥æ¨æ éæå¿« </p> </div> <p class="titleQuot-1" style="line-height: 25px"> 4. Test Yourselfï¼èªæµï¼ <!-- <span title="æ¥ççæ¡" class="btn-box" @click="showAnswerText = !showAnswerText"> <svg xmlns="http://www.w3.org/2000/svg" width="20.501" height="20.501" viewBox="0 0 20.501 20.501" > <path class="a" d="M3344.717-15308.5H3337.4a10.186,10.186,0,0,1-7.25-3,10.185,10.185,0,0,1-3-7.25A10.262,10.262,0,0,1,3337.4-15329a10.26,10.26,0,0,1,10.249,10.248,10.129,10.129,0,0,1-2.2,6.341v3.177A.734.734,0,0,1,3344.717-15308.5Zm-9.606-7.29h4.493l.527,1.419c.071.182.156.386.254.608a2.428,2.428,0,0,0,.273.512.986.986,0,0,0,.315.262.971.971,0,0,0,.454.1,1.05,1.05,0,0,0,.773-.327,1.025,1.025,0,0,0,.319-.723,3.3,3.3,0,0,0-.277-1.051l-.062-.161-2.889-7.313c-.119-.321-.228-.607-.335-.873a2.972,2.972,0,0,0-.323-.616,1.56,1.56,0,0,0-.5-.469,1.552,1.552,0,0,0-.781-.181,1.535,1.535,0,0,0-.773.181,1.475,1.475,0,0,0-.5.477,3.674,3.674,0,0,0-.362.739l-.239.627-.054.135-2.824,7.355c-.095.229-.179.46-.25.688a1.529,1.529,0,0,0-.073.477.978.978,0,0,0,.323.72,1.039,1.039,0,0,0,.746.315.838.838,0,0,0,.716-.3,4.676,4.676,0,0,0,.466-.985l.062-.165.527-1.449Zm3.747-1.5h-3.293l1.812-5.124,1.481,5.123Z" transform="translate(-3327.144 15329)" /> </svg> </span> --> </p> <p class="poemtitle-l"> Task 1 Retell the basic procedures to check out the guests as a cashier. </p> <textarea v-model="questionData.one" placeholder="请è¾å ¥å 容" rows="8" style="max-width: 100%; width: 100%" class="fz-16 fm-son textarea-question" @change="saveQuestionData"></textarea> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">299</div> </div> </div> </div> <!-- 300页 --> <div class="page-box" page="9"> <div v-if="showPageList.indexOf(9) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"> <p class="poemtitle-l"> Task 2 Give your understanding of Diff erent Ways of Payment. </p> <textarea v-model="questionData.two" placeholder="请è¾å ¥å 容" rows="15" style="max-width: 100%; width: 100%" class="fz-16 fm-son textarea-question" @change="saveQuestionData"></textarea> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">300</div> </div> </div> </div> <!-- 301页 --> <div class="page-box" page="10"> <div v-if="showPageList.indexOf(10) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 3</span><span>Build Your Language</span> </li> <li>è¯è¨å¨å¤</li> </ul> <div class="unit-title-box"> <p></p> <div> <img class="" src="../../assets/images/0002-01.jpg" alt="" /> <p class="td-0">Activity 3</p> </div> <p class="td-0 unit-title-text">Build Your Language è¯è¨å¨å¤</p> </div> <div class="bodystyle"> <p class="titleQuot-1">1. Objectivesï¼ç®æ ï¼</p> <p class="content">⢠To grasp the key special terms;</p> <p class="content">⢠To grasp the useful expressions;</p> <p class="content"> ⢠To improve your speaking and listening skills; </p> <p class="content"> ⢠To be familiar with the basic steps when checking out a guest. </p> <p class="titleQuot-1"> 2. Learn the New Words and Special Termsï¼å¦ä¹ çè¯åæ¯è¯ï¼ </p> <h1 class="center"> <audio :src="audioPathOne" controls controlslist="noplaybackrate nodownload" class="audio"></audio> </h1> <div class="bodyPic mt-10 mb-10"> <img src="../../assets/images/0007-01.jpg" style="width: 60%" alt="" /> </div> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">301</div> </div> </div> </div> <!-- 302页 --> <div class="page-box" page="11"> <div v-if="showPageList.indexOf(11) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"> <div class="bodyPic mt-10 mb-10"> <img src="../../assets/images/0008-01.jpg" style="width: 50%" alt="" /> </div> <p class="titleQuot-1">3. Listen to the Conversationï¼å¬å¦ä¼è¯ï¼</p> <p class="poemtitle-l"> Task 1 listen to the conversation between the cashier and the guest. Pay special attention to what Julia, the cashier, says. </p> <p class="titleQuot-c">Checking Out the Guest</p> <div class="border"> <p class="content"> Roles: Julia, the cashier; Richard Bush, the guest. </p> <p class="content">Scene: Julia is checking out the guest.</p> </div> <h1 class="center"> <audio :src="audioPathTwo" controls controlslist="noplaybackrate nodownload" class="audio"></audio> </h1> <div class="content fl"> <p class="bgColor mr-10"><span class="bold1">Julia:</span></p> <p>Good morning. How can I help you?</p> </div> <p class="content td-0"> <span class="bold2 mr-10">Richard Bush:</span> Good morning. I'd like to settle my hotel bill now. </p> <div class="content fl"> <p class="bgColor mr-10"><span class="bold1">Julia:</span></p> <p> Certainly, sir. Have you returned your room card to the reception desk? </p> </div> <p class="content"> <span class="bold2 mr-10">Richard Bush:</span> Yes. </p> <div class="content fl"> <p class="bgColor mr-10"><span class="bold1">Julia:</span></p> <p>May I know your name and your room number, please?</p> </div> <p class="content"> <span class="bold2 mr-10">Richard Bush:</span> Richard Bush in Room 1206. </p> <div class="content fl"> <p class="bgColor mr-10"><span class="bold1">Julia:</span></p> <p> Just a minute, please. Have you used any hotel service this morning? </p> </div> <div class="content fl"> <p class="mr-10" style="text-wrap: nowrap"> <span class="bold2">Richard Bush:</span> </p> <p> Yes. I asked for room service this morning and used the mini-bar service about 1 hour ago. </p> </div> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">302</div> </div> </div> </div> <!-- 303页 --> <div class="page-box" page="12"> <div v-if="showPageList.indexOf(12) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 3</span><span>Build Your Language</span> </li> <li>è¯è¨å¨å¤</li> </ul> <div class="bodystyle"> <div class="content fl"> <p class="bgColor mr-10"><span class="bold1">Julia:</span></p> <p> I'm afraid your fi nal bill hasn't reached here yet. I'll call the departments concerned. Just a moment, please. </p> </div> <p class="content">(After a while...)</p> <div class="content fl"> <p class="bgColor mr-10"><span class="bold1">Julia:</span></p> <p> Sorry to have kept you waiting. Here is your final bill.It totals RMB 6,280 yuan,including your room rents, laundry service charges, room service charges, dining-hall bills and the mini-bar service fees. Please have a check. </p> </div> <p class="content"> <span class="bold2 mr-10">Richard Bush:</span> That's quite right. </p> <div class="content fl"> <p class="bgColor mr-10"><span class="bold1">Julia:</span></p> <p>How would you like to make the payment, sir?</p> </div> <p class="content"> <span class="bold2 mr-10">Richard Bush:</span> By credit card. Do you <span class="ts-word">honor</span> the American Express here? </p> <div class="content fl"> <p class="bgColor mr-10"><span class="bold1">Julia:</span></p> <p>Yes. Let me take a print of your card.</p> </div> <p class="content"> <span class="bold2 mr-10">Richard Bush:</span> Here it is. </p> <div class="content fl"> <p class="bgColor mr-10"><span class="bold1">Julia:</span></p> <p>Thank you.</p> </div> <p class="content">(After printing the card...)</p> <div class="content fl"> <p class="bgColor mr-10"><span class="bold1">Julia:</span></p> <p>Would you please sign your name here?</p> </div> <p class="content"> <span class="bold2 mr-10">Richard Bush:</span> Sure. </p> <div class="content fl"> <p class="bgColor mr-10"><span class="bold1">Julia:</span></p> <p> Thank you, sir. This is your card and the <span class="ts-word">receipt</span>. We hope you have enjoyed your stay in our hotel. </p> </div> <p><br /></p> <p class="poemtitle-l mt-20"> Task 2 Listen to the above conversation again and try to find out what expressions are used by the cashier when preparing the bill. </p> <p class="content"> (1) <input :disabled="testData.isComplete" v-model="testData.answerList[0].value" type="text" class="input-bottom-border" style="width: 50%" @change="setTestData" /> <span class="icon-box"> <svg v-if="testData.answerList[0].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="testData.answerList[0].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> any hotel service this morning? </p> <p class="content"> (2) I'm afraid <input :disabled="testData.isComplete" v-model="testData.answerList[1].value" type="text" class="input-bottom-border" style="width: 40%" @change="setTestData" /> <span class="icon-box"> <svg v-if="testData.answerList[1].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="testData.answerList[1].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span>. I'll call the departments concerned. </p> <p class="content"> (3) Sorry to have kept you waiting. <input :disabled="testData.isComplete" v-model="testData.answerList[2].value" type="text" class="input-bottom-border" style="width: 50%" @change="setTestData" /> <span class="icon-box"> <svg v-if="testData.answerList[2].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="testData.answerList[2].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span>. </p> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">303</div> </div> </div> </div> <!-- 304页 --> <div class="page-box" page="13"> <div v-if="showPageList.indexOf(13) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"> <p class="content"> (4)<input :disabled="testData.isComplete" v-model="testData.answerList[3].value" type="text" class="input-bottom-border" style="width: 30%" @change="setTestData" /> <span class="icon-box"> <svg v-if="testData.answerList[3].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="testData.answerList[3].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span>RMB 6,280 yuan,including<input :disabled="testData.isComplete" v-model="testData.answerList[4].value" type="text" class="input-bottom-border" style="width: 30%" @change="setTestData" /> <span class="icon-box"> <svg v-if="testData.answerList[4].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="testData.answerList[4].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span>, laundry service charges, room service charges, dining-hall bills, and the mini-bar service fees. Please <input :disabled="testData.isComplete" v-model="testData.answerList[5].value" type="text" class="input-bottom-border" style="width: 60%" @change="setTestData" /> <span class="icon-box"> <svg v-if="testData.answerList[5].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="testData.answerList[5].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span>. </p> <p class="event-header-text-bc pd-5 mb-20" style="width: 100%" v-if="showAnswerTestData"> çæ¡ï¼1.Have you usedã2.your final bill hasn't reached here yetã3.Here is your final billã4.It totalsã5.your room rentsã6.have a check </p> <div class="w100 fl ju-cn mb-20 mt-20"> <div class="fl ju-ev mt-40" style="width: 80%"> <button class="btn-border btn-w" @click="handleTestData()"> æäº¤ </button> <button class="btn-border btn-w" @click="clearTestData"> éå </button> <button @click="showAnswerTestData = !showAnswerTestData" class="parimary-btn"> æ¥ççæ¡ </button> </div> </div> <p class="titleQuot-1"> 4. Refer to More Useful Expressionsï¼åçæ´å¤è¡¨è¾¾ï¼ </p> <p class="content">(1) Good afternoon, sir. May I help you?</p> <p class="quotation fm-kt">å çï¼ä¸å好ãè¯·é®æ¨æä»ä¹éè¦åï¼</p> <p class="content">(2) May I have your name and room number?</p> <p class="quotation fm-kt">è¯·é®æ¨çå§ååæ¿é´å·ï¼</p> <p class="content">(3) May I have your room card, please?</p> <p class="quotation fm-kt">æ¨å¯ä»¥ææ¿å¡ç»æåï¼</p> <p class="content">(4) Do you enjoy your stay with us?</p> <p class="quotation fm-kt">æ¨ä½å¾è¿æå¿«åï¼</p> <p class="content"> (5) Did you sign any bills in the last two hours? </p> <p class="quotation fm-kt">æ¨å¨æåä¸¤ä¸ªå°æ¶éæç¾ååï¼</p> <p class="content"> (6) Did you used any hotel services this morning? </p> <p class="quotation fm-kt">ä»å¤©ä¸åæ¨ç¨è¿é åºæå¡åï¼</p> <p class="content"> (7) I'm afraid your fi nal bill hasn't reached here yet. </p> <p class="quotation fm-kt">æææ¨çæåè´¦åè¿æ²¡å°ã</p> <p class="content">(8) I'll call and ask the department concerned.</p> <p class="quotation fm-kt">æè¯¢é®ä¸ä¸ç¸å ³é¨é¨ã</p> <p class="content">(9) I'll draw up the bill for you.</p> <p class="quotation fm-kt">æå¸®æ¨ç»ç®è´¦åã</p> <p class="content">(10) Here's your bill.</p> <p class="quotation fm-kt">è¿æ¯æ¨çè´¦åã</p> <p class="content">(11)It totals RMB 1000 yuan.</p> <p class="quotation fm-kt">æ»é¢æ¯1000å 人æ°å¸ã</p> <p class="content"> (12) Please check the bill and see if there is any mistake. </p> <p class="quotation fm-kt">è¯·æ ¸å¯¹ä¸ä¸è´¦åï¼ççæ¯å¦æè¯¯ã</p> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">304</div> </div> </div> </div> <!-- 305页 --> <div class="page-box" page="14"> <div v-if="showPageList.indexOf(14) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 3</span><span>Build Your Language</span> </li> <li>è¯è¨å¨å¤</li> </ul> <div class="bodystyle"> <p class="content"> (13) This is for three dinners that you signed for. </p> <p class="quotation fm-kt">è¿æ¯æ¨ç¨ç䏿¬¡æé¤çç¾åã</p> <p class="content">(14) May I check the details for you, please?</p> <p class="quotation fm-kt">ææ¥æ ¸æ¥ä¸ä¸è¯¦ç»æ¬¾é¡¹ï¼å¥½å?</p> <p class="content"> (15) Shall I explain the items on the bill for you? </p> <p class="quotation fm-kt">éè¦æè§£éè´¦åä¸çæ¶æ¬¾æ¬¾é¡¹åï¼</p> <p class="content"> (16) I'm sorry, but did you use the mini-bar this morning? </p> <p class="quotation fm-kt"> ä¸å¥½ææï¼ä½æ¯æ¨ä»æ©ä½¿ç¨äºè¿·ä½ å§ï¼å¯¹åï¼ </p> <p class="content">(17) Here are your mini-bar expenses.</p> <p class="quotation fm-kt">è¿æ¯æ¨ä½¿ç¨è¿·ä½ å§çè´¹ç¨ã</p> <p class="content"> (18) I'm afraid that for late check-out we charge an extra 50% of the room rate. </p> <p class="quotation fm-kt"> å¯¹äºæ¨çå»¶è¿ç¦»åºï¼æææä»¬è¦é¢å¤æ¶å50%çæ¿è´¹ã </p> <p class="content">(19) Would you mind waiting for a minute?</p> <p class="quotation fm-kt">æ¨ä»æçä¸ä¼å¿åï¼</p> <p class="content">(20) I'm sorry, but the bill is right, sir.</p> <p class="quotation fm-kt">å çï¼å¾æ±æã使¯è´¦å没æé误ã</p> <p class="content">(21) We'll correct your bill.</p> <p class="quotation fm-kt">æä»¬æè´¦åçº æ£è¿æ¥ã</p> <p class="content fm-kt">(22) We do apologize for the error.</p> <p class="quotation fm-kt">æä»¬ä¸ºæä»¬ç失误深表ææã</p> <p class="content">(23) How would you like to payï¼</p> <p class="quotation fm-kt">æ¨ç¨ä»ä¹æ¹å¼ä»æ¬¾ï¼</p> <p class="content">(24) How would you like to settle your bill?</p> <p class="quotation fm-kt">æ¨ç¨ä»ä¹æ¹å¼ç»è´¦ï¼</p> <p class="content">(25) What kind of credit card have you got?</p> <p class="quotation fm-kt">æ¨ç¨çæ¯åªç§ä¿¡ç¨å¡ï¼</p> <p class="content">(26) Could you sign here, pleaseï¼</p> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">305</div> </div> </div> </div> <!-- 306页 --> <div class="page-box" page="15"> <div v-if="showPageList.indexOf(15) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"> <p class="quotation fm-kt">æ¨å¯ä»¥å¨è¿éç¾ååï¼</p> <p class="content">(27) Your bill is paid by ... company.</p> <p class="quotation fm-kt">æ¨çè´¦åç±ÃÃÃå ¬å¸æ¯ä»ã</p> <p class="content"> (28) We accept American Express, MasterCard and Visa. </p> <p class="quotation fm-kt">æä»¬æ¥åç¾å½è¿éå¡ãä¸äºè¾¾å¡åç»´è¨å¡ã</p> <p class="content"> (29) I'm sorry but we are not allowed to accept <span class="ts-word">personal checks.</span> </p> <p class="quotation fm-kt">对ä¸èµ·ï¼æä»¬ä¸è½æ¥å个人æ¯ç¥¨ã</p> <p class="content"> (30) Your credit limit set by the Visa Card offi ce is 1,500 dollars. </p> <p class="quotation fm-kt">æ¨ç»´è¨å¡çä¿¡ç¨é颿¯1500ç¾å ã</p> <p class="content"> (31) Would you like to settle the diff erence in cash? </p> <p class="quotation fm-kt">æ¨ç¨ç°é补差é¢å¯ä»¥åï¼</p> <p class="content"> (32) Here is your <span class="ts-word">change/</span>receipt/<span class="ts-word">invoice</span>. </p> <p class="quotation fm-kt">è¿æ¯æ¨çé¶é±/æ¶æ®/å票ã</p> <p class="content">(33) Wish you a pleasant journey.</p> <p class="quotation fm-kt">ç¥æ¨æ è¡æå¿«ã</p> <p class="content">(34) We hope you had enjoyed your stay.</p> <p class="quotation fm-kt">叿æ¨å¨è¿å¿ä½å¾æå¿«ã</p> <p class="content">(35) We look forward to serving you again.</p> <p class="quotation fm-kt">æä»¬æå¾ è½åæ¬¡ä¸ºæ¨æå¡ã</p> <p class="titleQuot-1">5. Test Yourselfï¼èªæµï¼</p> <p class="poemtitle-l"> Task 1 write down the wordsâ spelling forms and their equivalent pronunciations according to what you hear. </p> <h1 class="center"> <audio :src="audioPathThree" controls controlslist="noplaybackrate nodownload" class="audio"></audio> </h1> <table cellpadding="0" cellspacing="0" style=" border-collapse: collapse; margin: 0 20px; " class="fz-16 mb-20"> <tr class="table-th-bc"> <td class="center">No.</td> <td class="center">Word</td> <td class="center">Pronunciation</td> </tr> <tr class="table-tr-bc"> <td class="center">(1)</td> <td class="center"> <input v-model="tableData.one" type="text" class="input-bottom-border" style="width: 60%" @change="saveTableData" /> </td> <td class="center"> <input v-model="tableData.two" type="text" class="input-bottom-border" style="width: 70%" @change="saveTableData" /> </td> </tr> <tr class="table-tr-bc"> <td class="center">(2)</td> <td class="center"> <input v-model="tableData.three" type="text" class="input-bottom-border" style="width: 60%" @change="saveTableData" /> </td> <td class="center"> <input v-model="tableData.four" type="text" class="input-bottom-border" style="width: 70%" @change="saveTableData" /> </td> </tr> <tr class="table-tr-bc"> <td class="center">(3)</td> <td class="center"> <input v-model="tableData.five" type="text" class="input-bottom-border" style="width: 60%" @change="saveTableData" /> </td> <td class="center"> <input v-model="tableData.six" type="text" class="input-bottom-border" style="width: 70%" @change="saveTableData" /> </td> </tr> </table> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">306</div> </div> </div> </div> <!-- 307页 --> <div class="page-box" page="16"> <div v-if="showPageList.indexOf(16) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 3</span><span>Build Your Language</span> </li> <li>è¯è¨å¨å¤</li> </ul> <div class="bodystyle"> <table cellpadding="0" cellspacing="0" style=" border-collapse: collapse; margin: 0 20px; " class="fz-16 "> <tr class="table-tr-bc"> <td class="center">(4)</td> <td class="center"> <input v-model="tableData.seven" type="text" class="input-bottom-border" style="width: 60%" @change="saveTableData" /> </td> <td class="center"> <input v-model="tableData.eight" type="text" class="input-bottom-border" style="width: 70%" @change="saveTableData" /> </td> </tr> <tr class="table-tr-bc"> <td class="center">(5)</td> <td class="center"> <input v-model="tableData.nine" type="text" class="input-bottom-border" style="width: 60%" @change="saveTableData" /> </td> <td class="center"> <input v-model="tableData.ten" type="text" class="input-bottom-border" style="width: 70%" @change="saveTableData" /> </td> </tr> <tr class="table-tr-bc"> <td class="center">(6)</td> <td class="center"> <input v-model="tableData.eleven" type="text" class="input-bottom-border" style="width: 60%" @change="saveTableData" /> </td> <td class="center"> <input v-model="tableData.twelve" type="text" class="input-bottom-border" style="width: 70%" @change="saveTableData" /> </td> </tr> <tr class="table-tr-bc"> <td class="center">(7)</td> <td class="center"> <input v-model="tableData.thirteen" type="text" class="input-bottom-border" style="width: 60%" @change="saveTableData" /> </td> <td class="center"> <input v-model="tableData.fourteen" type="text" class="input-bottom-border" style="width: 70%" @change="saveTableData" /> </td> </tr> <tr class="table-tr-bc"> <td class="center">(8)</td> <td class="center"> <input v-model="tableData.fifteen" type="text" class="input-bottom-border" style="width: 60%" @change="saveTableData" /> </td> <td class="center"> <input v-model="tableData.sixteen" type="text" class="input-bottom-border" style="width: 70%" @change="saveTableData" /> </td> </tr> <tr class="table-tr-bc"> <td class="center">(9)</td> <td class="center"> <input v-model="tableData.seventeen" type="text" class="input-bottom-border" style="width: 60%" @change="saveTableData" /> </td> <td class="center"> <input v-model="tableData.eighteen" type="text" class="input-bottom-border" style="width: 70%" @change="saveTableData" /> </td> </tr> <tr class="table-tr-bc"> <td class="center">(10)</td> <td class="center"> <input v-model="tableData.nineteen" type="text" class="input-bottom-border" style="width: 60%" @change="saveTableData" /> </td> <td class="center"> <input v-model="tableData.twenty" type="text" class="input-bottom-border" style="width: 70%" @change="saveTableData" /> </td> </tr> </table> <p class="poemtitle-l"> Task 2 Choose proper expressions from what are given to you in the following box and complete the following short dialogues. </p> <p class="content">(1)A:680 yuan in all,sir.</p> <p class="content"> B:680 yuan? <select class="select-border" :disabled="activityThree.isComplete" @change="saveActiveThree" v-model="activityThree.answerList[0].value" style="width: 20%"> <option v-for="(item, index) in activityThree.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="activityThree.answerList[0].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[0].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="content">(2) A: How would you like to pay your bill?</p> <p class="content"> B: <select class="select-border" :disabled="activityThree.isComplete" @change="saveActiveThree" v-model="activityThree.answerList[1].value" style="width: 20%"> <option v-for="(item, index) in activityThree.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="activityThree.answerList[1].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[1].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="content"> (3) A: I'm leaving today. <select class="select-border" :disabled="activityThree.isComplete" @change="saveActiveThree" v-model="activityThree.answerList[2].value" style="width: 20%"> <option v-for="(item, index) in activityThree.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="activityThree.answerList[2].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[2].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="content">B: Your name and room number, please?</p> <p class="content"> (4) A: One more thing, I never used the mini-bar. </p> <p class="content"> B: <select class="select-border" :disabled="activityThree.isComplete" @change="saveActiveThree" v-model="activityThree.answerList[3].value" style="width: 20%"> <option v-for="(item, index) in activityThree.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="activityThree.answerList[3].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[3].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="content"> (5) A: Have you used any hotel services, Mr. Jackson? </p> <p class="content"> B: Yes. <select class="select-border" :disabled="activityThree.isComplete" @change="saveActiveThree" v-model="activityThree.answerList[4].value" style="width: 20%"> <option v-for="(item, index) in activityThree.options" :key="index" :value="item"> {{ item }} </option> </select> <span class="icon-box"> <svg v-if="activityThree.answerList[4].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[4].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <div class="border"> <p class="content">A. May I have my bill?</p> <p class="content">B. There must be a mistake.</p> <p class="content">C. Oh, let me check with the Housekeeping.</p> <p class="content">D. My friend and I just had breakfast.</p> <p class="content">E. Sign it to my room, please.</p> </div> <p class="event-header-text-bc pd-5 mb-20" style="width: 100%" v-if="showAnswerActivityThree"> çæ¡ï¼1.Bã2.Eã3.Aã4.Cã5.D </p> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">307</div> </div> </div> </div> <!-- 308页 --> <div class="page-box" page="17"> <div v-if="showPageList.indexOf(17) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"> <p class="poemtitle-l"> Task 3 interpret what you hear from Chinese into English or from English into Chinese. </p> <h1 class="center"> <audio :src="audioPathFour" controls controlslist="noplaybackrate nodownload" class="audio"></audio> </h1> <p class="content"> (1) <input :disabled="activityThree.isComplete" v-model="activityThree.answerList[5].value" type="text" class="input-bottom-border" style="width: 80%" @change="saveActiveThree" /> <span class="icon-box"> <svg v-if="activityThree.answerList[5].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[5].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="content"> (2) <input :disabled="activityThree.isComplete" v-model="activityThree.answerList[6].value" type="text" class="input-bottom-border" style="width: 80%" @change="saveActiveThree" /> <span class="icon-box"> <svg v-if="activityThree.answerList[6].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[6].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="content"> (3) <input :disabled="activityThree.isComplete" v-model="activityThree.answerList[7].value" type="text" class="input-bottom-border" style="width: 80%" @change="saveActiveThree" /> <span class="icon-box"> <svg v-if="activityThree.answerList[7].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[7].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="content"> (4) <input :disabled="activityThree.isComplete" v-model="activityThree.answerList[8].value" type="text" class="input-bottom-border" style="width: 80%" @change="saveActiveThree" /> <span class="icon-box"> <svg v-if="activityThree.answerList[8].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[8].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="content"> (5) <input :disabled="activityThree.isComplete" v-model="activityThree.answerList[9].value" type="text" class="input-bottom-border" style="width: 80%" @change="saveActiveThree" /> <span class="icon-box"> <svg v-if="activityThree.answerList[9].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[9].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="content"> (6) <input :disabled="activityThree.isComplete" v-model="activityThree.answerList[10].value" type="text" class="input-bottom-border" style="width: 80%" @change="saveActiveThree" /> <span class="icon-box"> <svg v-if="activityThree.answerList[10].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[10].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="content"> (7) <input :disabled="activityThree.isComplete" v-model="activityThree.answerList[11].value" type="text" class="input-bottom-border" style="width: 80%" @change="saveActiveThree" /> <span class="icon-box"> <svg v-if="activityThree.answerList[11].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[11].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="content"> (8) <input :disabled="activityThree.isComplete" v-model="activityThree.answerList[12].value" type="text" class="input-bottom-border" style="width: 80%" @change="saveActiveThree" /> <span class="icon-box"> <svg v-if="activityThree.answerList[12].isRight" t="1716986419862" class="icon" viewBox="0 0 1820 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="18767" xmlns:xlink="http://www.w3.org/1999/xlink" width="40" height="20"> <path d="M1439.374222 216.007111s-169.472 56.490667-367.179852 282.443852C888.604444 703.222519 846.241185 787.949037 775.632593 900.93037 768.568889 893.866667 662.651259 689.095111 380.207407 540.814222l148.290371-141.226666s134.162963 91.790222 225.953185 261.262222c0 0 233.016889-360.116148 684.923259-536.642371v91.799704z m0 0" fill="#1AFA29" p-id="18768"></path> </svg> <svg v-if="activityThree.answerList[12].isRight == false" t="1716987085767" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="25745" xmlns:xlink="http://www.w3.org/1999/xlink" width="20" height="20"> <path d="M116.579135 38.64349531L38.703935 103.74399781c138.82075969 102.96027281 268.24660875 221.31426938 381.68489719 339.96758156C246.29374906 618.40145938 109.95003031 790.19602344 38.10817906 859.25288281l148.35573469 123.62658094c52.61360812-108.17625656 167.23381594-272.86683656 320.56281844-445.01635875 153.50744156 173.21056312 268.36844625 338.43166313 321.38977781 447.49243969 0 0 144.5682225-152.96636906 157.47435281-129.29729625-55.80632344-62.49011156-191.37776625-244.16501625-374.17990593-430.27403438 104.68422375-107.1132975 222.15274031-213.10127719 347.60304468-306.24740437L925.17746562 56.03842156C782.85412063 126.51895625 647.69328031 231.09093594 526.07845437 342.39755 403.34886594 226.82662719 264.46095125 116.16373719 116.579135 38.64349531L116.579135 38.64349531zM116.579135 38.64349531" fill="#d81e06" p-id="25746"></path> </svg> </span> </p> <p class="event-header-text-bc pd-5 mb-20" style="width: 100%" v-if="showAnswerActivityThree"> çæ¡ï¼<br /> (1)æ¶é¶å°<br /> (2)ä¸äºè¾¾å¡<br /> (3)ç»ç®è´¦å<br /> (4)è¿æ¯æ¨çé¶é±ã<br /> (5)Shall I explain the items on the billfor you?<br /> (6)What kind of credit card have you got?<br /> (7)We'll charge an extra 50%of the room rate.<br /> (8)How would you like to settle the difference? </p> <div class="w100 fl ju-cn mb-20 mt-20"> <div class="fl ju-ev mt-40" style="width: 80%"> <button class="btn-border btn-w" @click="handleActivityThree()"> æäº¤ </button> <button class="btn-border btn-w" @click="clearActivityThree"> éå </button> <button @click="showAnswerActivityThree = !showAnswerActivityThree" class="parimary-btn"> æ¥ççæ¡ </button> </div> </div> </div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">308</div> </div> </div> </div> <!-- 309页 --> <div class="page-box" page="18"> <div v-if="showPageList.indexOf(18) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 4</span><span>Train Your Basic Skills </span> </li> <li>æè½å®è®</li> </ul> <div class="unit-title-box"> <p></p> <div> <img class="" src="../../assets/images/0002-01.jpg" alt="" /> <p class="td-0">Activity 4</p> </div> <p class="td-0 unit-title-text">Train Your Basic Skills æè½å®è®</p> </div> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">309</div> </div> </div> </div> <!-- 310页 --> <div class="page-box" page="19"> <div v-if="showPageList.indexOf(19) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">310</div> </div> </div> </div> <!-- 311页 --> <div class="page-box" page="20"> <div v-if="showPageList.indexOf(20) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 4</span><span>Train Your Basic Skills </span> </li> <li>æè½å®è®</li> </ul> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">311</div> </div> </div> </div> <!-- 312页 --> <div class="page-box" page="21"> <div v-if="showPageList.indexOf(21) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">312</div> </div> </div> </div> <!-- 313页 --> <div class="page-box" page="22"> <div v-if="showPageList.indexOf(22) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 5</span><span>Further Your Skills</span> </li> <li>æè½æå</li> </ul> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">313</div> </div> </div> </div> <!-- 314页 --> <div class="page-box" page="23"> <div v-if="showPageList.indexOf(23) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">314</div> </div> </div> </div> <!-- 315页 --> <div class="page-box" page="24"> <div v-if="showPageList.indexOf(24) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 5</span><span>Further Your Skills</span> </li> <li>æè½æå</li> </ul> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">315</div> </div> </div> </div> <!-- 316页 --> <div class="page-box" page="25"> <div v-if="showPageList.indexOf(25) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">316</div> </div> </div> </div> <!-- 317页 --> <div class="page-box" page="26"> <div v-if="showPageList.indexOf(26) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 5</span><span>Further Your Skills</span> </li> <li>æè½æå</li> </ul> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">317</div> </div> </div> </div> <!-- 318页 --> <div class="page-box" page="27"> <div v-if="showPageList.indexOf(27) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">318</div> </div> </div> </div> <!-- 319页 --> <div class="page-box" page="28"> <div v-if="showPageList.indexOf(28) > -1"> <div class="copyrightPage-top"></div> <ul class="header-right"> <li class="header-right-Text"> <span>Activity 6</span><span>At the Smart Hotel</span> </li> <li>æºæ §é åº</li> </ul> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-right-img" src="../../assets/images/right-page.png" alt="" /> <div class="copyrightPage-right-box">319</div> </div> </div> </div> <!-- 320页 --> <div class="page-box" page="29"> <div v-if="showPageList.indexOf(29) > -1"> <div class="copyrightPage-top"></div> <ul class="header-left"> <li class="header-left-Text"> <span>Project 12</span><span>Cashierâs Service</span> </li> <li>æ¶é¶æå¡</li> </ul> <div class="bodystyle"></div> <div class="copyrightPage-bottom"> <img class="copyrightPage-left-img" src="../../assets/images/left-page.png" alt="" /> <div class="copyrightPage-left-box">320</div> </div> </div> </div> <div class="follow-box" :style="{ display: isBoxVisible ? 'block' : 'none', left: boxPosition.x + 'px', top: boxPosition.y + 'px' }"> è·éé¼ æ ççå </div> </div> </template> <script> import { getResourcePath } from "@/assets/methods/resources"; import { getCollectResource, setCollectResource, } from "@/assets/methods/resources"; export default { name: "chapterOne", props: { showPageList: { type: Array, }, }, data() { return { // é¼ æ ç§»å ¥äºä»¶ isBoxVisible: false, boxPosition: { x: 0, y: 0 }, collectImg: require("../../assets/images/icon/heart.png"), collectCheck: require("../../assets/images/icon/heart-check.png"), // é³é¢ audioPathOne: "", audioPathTwo: "", audioPathThree: "", audioPathFour: "", // è§é¢ videoPathOne: "", collectResourceList: [], chapterData: { isCollectVideoOne: false, }, // ç®çé¢ questionData: { one: "", two: "", three: "", four: "", five: "", }, // select showAnswerSelect: false, selectData: { isComplete: false, //dropdown options: [ "financial", "check-out", "accommodations", "accurately", "banking", "exchange", "parking", ], answerList: [ { value: "", isRight: null, answer: "accommodations", }, { value: "", isRight: null, answer: "parking", }, { value: "", isRight: null, answer: "financial", }, { value: "", isRight: null, answer: "exchange", }, { value: "", isRight: null, answer: "check-out", }, { value: "", isRight: null, answer: "banking", }, { value: "", isRight: null, answer: "accurately", }, ], }, // å¡«ç©ºé¢ showAnswerTestData: false, testData: { isComplete: false, answerList: [ { value: "", isRight: null, answer: "Have you used", }, { value: "", isRight: null, answer: "your final bill hasn't reached here yet", }, { value: "", isRight: null, answer: "Here is your final bill", }, { value: "", isRight: null, answer: "It totals", }, { value: "", isRight: null, answer: "your room rents", }, { value: "", isRight: null, answer: "have a check", }, ], }, // åèè¯æ isDisolayTranslation: false, // Activity 3 Task 2~3 showAnswerActivityThree: false, activityThree: { isComplete: false, options: ["A", "B", "C", "D", "E"], answerList: [ { value: "", isRight: null, answer: "B", }, { value: "", isRight: null, answer: "E", }, { value: "", isRight: null, answer: "A", }, { value: "", isRight: null, answer: "C", }, { value: "", isRight: null, answer: "D", }, { value: "", isRight: null, answer: "æ¶é¶å°", }, { value: "", isRight: null, answer: "ä¸äºè¾¾å¡", }, { value: "", isRight: null, answer: "ç»ç®è´¦å", }, { value: "", isRight: null, answer: "è¿æ¯æ¨çé¶é±", }, { value: "", isRight: null, answer: "Shall I explain the items on the bill for you?", }, { value: "", isRight: null, answer: "What kind of credit card have you got?", }, { value: "", isRight: null, answer: "We'll charge an extra 50% of the room rate.", }, { value: "", isRight: null, answer: "How would you like to settle the diference?", }, ], }, // è¡¨æ ¼æ°æ® tableData: { one: "", two: "", three: "", four: "", five: "", six: "", seven: "", eight: "", nine: "", ten: "", eleven: "", twelve: "", thirteen: "", fourteen: "", fifteen: "", sixteen: "", seventeen: "", eighteen: "", nineteen: "", twenty: "", } }; }, async mounted() { const questionData = localStorage.getItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-questionData" ); if (questionData) { this.questionData = JSON.parse(questionData); } const selectData = localStorage.getItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-selectData" ); if (selectData) { this.selectData = JSON.parse(selectData); } const testData = localStorage.getItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-testData" ); if (testData) { this.testData = JSON.parse(testData); } const activityThree = localStorage.getItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-activityThree" ); if (activityThree) { this.activityThree = JSON.parse(activityThree); } this.collectResourceList = await getCollectResource( this.config.activeBook.bookId ); this.getVidoePath(); }, methods: { async getVidoePath() { this.videoPathOne = await getResourcePath( "50ed3234d92cce02be3d277b0e1f88b2" ); this.audioPathOne = await getResourcePath( "bd2987485c662cb6f36c92083e4094e2" ); this.audioPathTwo = await getResourcePath( "1b5a381254352f9a03c6510bc9916768" ); this.audioPathThree = await getResourcePath( "d91efc7a386e8a7b901742cf4ec4f0e1" ); this.audioPathFour = await getResourcePath( "1f896412e668111c6793d1c60fe70ca8" ); }, saveQuestionData() { localStorage.setItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-questionData", JSON.stringify(this.questionData) ); }, //æäº¤ handleDropdown() { this.selectData.isComplete = true; this.selectData.answerList.forEach((item) => { if (item.value == item.answer) { item.isRight = true; } else { item.isRight = false; } }); this.saveSelectData(); }, // éå clearSelectData() { localStorage.removeItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-selectData" ); this.selectData.isComplete = false; this.selectData.answerList.forEach((item) => { item.value = ""; item.isRight = null; }); }, saveSelectData() { localStorage.setItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-selectData", JSON.stringify(this.selectData) ); }, //æäº¤ handleTestData() { this.testData.isComplete = true; this.testData.answerList.forEach((item) => { if (item.value == item.answer) { item.isRight = true; } else { item.isRight = false; } }); this.setTestData(); }, // éå clearTestData() { localStorage.removeItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-testData" ); this.testData.isComplete = false; this.testData.answerList.forEach((item) => { item.value = ""; item.isRight = null; }); }, setTestData() { localStorage.setItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-testData", JSON.stringify(this.testData) ); }, //æäº¤ handleActivityThree() { this.activityThree.isComplete = true; this.activityThree.answerList.forEach((item) => { if (item.value == item.answer) { item.isRight = true; } else { item.isRight = false; } }); this.saveActiveThree(); }, clearActivityThree() { localStorage.removeItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-activityThree" ); this.activityThree.isComplete = false; this.activityThree.answerList.forEach((item) => { item.value = ""; item.isRight = null; }); }, saveActiveThree() { localStorage.setItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-activityThree", JSON.stringify(this.activityThree) ); }, // ä¿å saveTableData() { localStorage.setItem( "hotelEnglishTrainingBrochure2nd-book-chapter001-tableData", JSON.stringify(this.tableData) ); }, // é¼ æ ç§»å ¥äºä»¶ handleMouseEnter(event) { this.boxPosition.x = event.clientX; this.boxPosition.y = event.clientY; console.log(this.boxPosition, "this.boxPosition"); // 设置çåä½ç½®ä¸ºé¼ æ ä½ç½®ä¸æ¹ this.boxPosition.y += 50; // è°æ´çåä¸é¼ æ çé´è· // æ¾ç¤ºçå this.isBoxVisible = true; }, // é¼ æ ç§»åºäºä»¶ handleMouseLeave() { } }, }; </script> <style lang="less" scoped></style> src/books/hotelEnglishTrainingBrochure2nd/view/components/header.vue
New file @@ -0,0 +1,117 @@ <template> <div class="chapter" num="1"> <!-- å°é¢ --> <div class="page-box mt-20" page="1" style="min-height: auto"> <div v-if="showPageList.indexOf(1) > -1"> <img class="img-0" alt="" src="../../assets/images/Cover.jpg" /> </div> </div> <!-- æé¡µ --> <div class="page-box mt-20" page="2" style="min-height: auto"> <div v-if="showPageList.indexOf(2) > -1"> <img class="img-0" alt="" src="../../assets/images/feiye.jpg" /> </div> </div> <!-- æé¡µ --> <div class="page-box mt-20" page="3"> <div v-if="showPageList.indexOf(3) > -1"> <div class="copyrightPage-top"></div> <div style="max-width: 600px; margin: 0 auto; padding: 1% 10%"> <p class="fm-hyzh fz-16 bold">å¾ä¹¦å¨çç¼ç®ï¼CIPï¼æ°æ®</p> <p class="left3 mr-0 fm-hyss fz-16"> é åºè±è¯å®è®æ´»é¡µæç¨ / é·ä¹¾ä¹¾, åç»ä¸ºä¸»ç¼. --<br /> 2ç. -- å京 : æ æ¸¸æè²åºç社, 2025.3 </p> <p class="left3 fm-hyss fz-16">å®è®å¯¼ååæ æ¸¸å¤è¯ææ</p> <p class="left3 fm-hyss fz-16">ISBN 978-7-5637-4705-4</p> <p class="left3 fm-hyss fz-16 mt-20 mb-20"> â . â é ⦠⠡. â é·â¦ â¡å⦠⠢. â é¥åºï¼è±è¯ï¼ <br />ææ â £. â F719.2 </p> <p class="left3 fm-hyss fz-14"> ä¸å½å½å®¶çæ¬é¦CIPæ°æ®æ ¸å(2024)第031789å· </p> <p><br /></p> <p class="left fz-16 fm-hyss center">å®è®å¯¼ååæ æ¸¸å¤è¯ææ</p> <p class="left fz-16 fm-hyss center">é åºè±è¯å®è®æ´»é¡µæç¨</p> <p class="left fz-16 fm-hyss center">ï¼ç¬¬2çï¼</p> <p class="left fz-18 fm-kt center">主 ç¼ãé·ä¹¾ä¹¾ãåç»ä¸º</p> <p class="left fz-18 fm-kt center">å¯ä¸»ç¼ãå彿¢ ãå¤ãå£ãå®ãå®</p> <p class="left fz-18 fm-kt center">åãç¼ãè¡ã寻ã屿è³ãåãæ¸ </p> <hr /> <div class="fl"> <div class="copyright-left"> <p class="">çããå</p> <p class="">责任ç¼è¾</p> <p class="">åºçåä½</p> <p class="">å°ããå</p> <p class="">é®ããç¼</p> <p class="">åè¡çµè¯</p> <p class="">æ¬ç¤¾ç½å</p> <p class="">E - mail</p> <p class="">æçåä½</p> <p class="">å°å·åä½</p> <p class="">ç»éåä½</p> <p class="">å¼ããæ¬</p> <p class="">å°ããå¼ </p> <p class="">åããæ°</p> <p class="">çããæ¬¡</p> <p class="">å°ããæ¬¡</p> <p class="">å®ããä»·</p> </div> <div class="copyright-right"> <p>æçº¢ä¸½</p> <p>æçº¢ä¸½</p> <p>æ æ¸¸æè²åºç社</p> <p>åäº¬å¸æé³åºå®ç¦åºåé 1 å·</p> <p>100024</p> <p>ï¼010ï¼65778403ã65728372ã65767462ï¼ä¼ çï¼</p> <p>www.tepcb.com</p> <p>tepfx@163.com</p> <p>åäº¬æ ææåä¼ ææéå ¬å¸</p> <p>å京åèå°å·æéå ¬å¸</p> <p>æ°å书åº</p> <p>710毫米Ã1000毫米ã1/16</p> <p>21.25</p> <p>240 åå</p> <p>2025 å¹´ 3 æç¬¬ 2 ç</p> <p>2025 å¹´ 3 æç¬¬ 1 次å°å·</p> <p>88.00 å </p> </div> </div> <p class="left center fz-16 mt-10"> ï¼å¾ä¹¦å¦æè£ 订差é请ä¸åè¡é¨èç³»ï¼ </p> </div> <div class="copyrightPage-bottom"></div> </div> </div> </div> </template> <script> export default { name: "pageHeader", props: { showPageList: { type: Array, }, }, data() { return {}; }, }; </script> <style lang="less" scoped> hr { color: #000; border: 0; height: 2px; background-color: #000; font-weight: bold; margin-bottom: 0; } .bold { font-weight: bold; } </style> src/books/hotelEnglishTrainingBrochure2nd/view/components/index.vue
New file @@ -0,0 +1,1010 @@ <template> <div class="page-main" @scroll="throttledScrollHandler"> <div id="searchDomBox" style="display: none"> <div id="searchContent"></div> </div> <div class="page-content" :style="{ fontSize: fontSize + 'px', transform: `scale(${pageZoom})`, transformOrigin: 'center top', }" > <pageHeader v-if="showCatalogList.indexOf(1) > -1" :showPageList="loadPageList" ></pageHeader> <chapterOne v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList" :interfaceQuestion="questionDataMap" ></chapterOne> <!-- <chapterTwo v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList" ></chapterTwo> --> <!-- <chapterThree v-if="showCatalogList.indexOf(4) > -1" :showPageList="loadPageList" ></chapterThree> <chapterFour v-if="showCatalogList.indexOf(5) > -1" :showPageList="loadPageList" ></chapterFour> <chapterFive v-if="showCatalogList.indexOf(2) > -1" :showPageList="loadPageList" :interfaceQuestion="questionDataMap" ></chapterFive> --> </div> <translateWord :pageX="pageX" :pageY="pageY" :showWord="showWord" v-if="showWord" /> </div> </template> <script> import translateWord from "@/components/translateWord/index.vue"; import pageHeader from "./header.vue"; import chapterOne from "./chapter001.vue"; // import chapterTwo from "./chapter002.vue"; // import chapterThree from "./chapter003.vue"; // import chapterFour from "./chapter004.vue"; // import chapterFive from "./chapter005.vue"; import NoteIcon from "@/assets/images/biji.png"; // import getQuestionList from "@/assets/methods/examination"; // import testData from "../../assets/examinationList"; import _ from "lodash"; import Swiper from "swiper/bundle"; import "swiper/swiper-bundle.css"; import Viewer from "viewerjs"; import "viewerjs/dist/viewer.css"; export default { name: "pageContent", data() { return { catalogLength: 2, // æ»ç« èæ° showCatalogList: [], // æ¾ç¤ºçç« è loadThreshold: 300, // 触åå è½½éå¼ throttleThreshold: 100, // èæµéå¼ previousScrollTop: 0, throttledScrollHandler: null, observer: null, loadPageObserver: null, loadPageList: [], questionDataMap: {}, renderSignMap: {}, highlightData: null, audioPath: "", currentTime: null, videoList: [], pageX: 0, pageY: 0, showWord: "", }; }, computed: { fontSize() { this.transformDom(this.$store.state.qiankun.fontSize); return this.$store.state.qiankun.fontSize ? this.$store.state.qiankun.fontSize : 16; }, pageZoom() { return this.$store.state.qiankun.scale ? this.$store.state.qiankun.scale / 100 : 1; }, }, watch: { showCatalogList: { handler(newVal, oldVal) { if ( this.$store.state.qiankun && this.$store.state.qiankun.catalogChange ) { // è°ç¨ç¶å±æ¹æ³ this.$store.state.qiankun.catalogChange({ showCatalogList: newVal, }); } // å¯å¨é¡µç è§å¯ setTimeout(() => { this.initObservation(); this.initThemeColor(); }, 500); }, }, loadPageList: { handler(newVal, oldVal) { setTimeout(() => { this.transformDom(this.$store.state.qiankun.fontSize); this.initSwiper(); this.initViewer(); this.closeAudio(); this.closeVideo(); this.handleTanslateWord(); }, 200); }, }, pageZoom: { handler(newVal, oldVal) { const scrollBox = ( this.container ? this.container : document ).querySelector(".page-main"); scrollBox.scrollTop = (scrollBox.scrollTop / oldVal) * newVal; }, }, }, mounted() { // é»è®¤å è½½ç« è this.showCatalogList = [1]; // æ»å¨çå¬èæµ this.throttledScrollHandler = _.throttle( this.scrollFun, this.throttleThreshold, { leading: true, trailing: false } ); // å®ä¹å屿¹æ³ if (this.setGlobalState) { // æä¾é¡µé¢è·³è½¬åè½ this.setGlobalState({ gotoPage: (catalog, page) => { this.gotoPage(catalog, page); }, // 渲æç¬è®°ãé«äº®ãå线 renderSign: (type, data) => { // å ä¸ºè°æ´ä¸ºé¡µé¢æå è½½ï¼æä»¥æ¸²ææ è®°ä¹éè¦æç §é¡µé¢è¿è¡å¤çï¼å å¨åæ°æ®ï¼é¡µé¢å è½½å®æåæ¸²æå¯¹åºçæ è®°ï¼ this.handelSignData(type, data); // this.renderSign(type, data); }, // å é¤ç¬è®°ãé«äº®ãå线 delSign: (data) => { this.delSign(data); }, // å ¨ææ£ç´¢ searchBookByKeyword: (keyword) => { return this.searchTextByPage(keyword); }, // 跳转æ£ç´¢ç»æä½ç½® jumpSearchItem: (data) => { this.searchItemLocation(data); }, }); } // å建ä¸ä¸ªæ°ç Intersection Observer å®ä¾ï¼ç¨äºè§å¯ç®æ å ç´ åæ§è¡ç¸åºçåè°å½æ°ã // new IntersectionObserver(callback, options)ï¼ä½¿ç¨ä¹åå®ä¹ç callback åè°å½æ°å options é ç½®é项æ¥åå§å Intersection Observer å®ä¾ã this.observer = new IntersectionObserver(this.pageChangeCallback, { root: null, // æå®æ ¹å ç´ ï¼è¿é设为 nullï¼è¡¨ç¤ºéåæ´ä¸ªè§çªä½ä¸ºæ ¹å ç´ ã rootMargin: "0px", // æå®æ ¹å ç´ çè¾¹çï¼è¿é设为 "0px"ï¼è¡¨ç¤ºæ ¹å ç´ çè¾¹çåè§çªçè¾¹çéå threshold: 0.5, // æå®äº¤åæ¯ä¾ï¼è¿é设为 0.5ï¼è¡¨ç¤ºå½ç®æ å ç´ ä¸åææ´å¤æ¾ç¤ºå¨è§çªä¸æ¶è§¦ååè°å½æ°ã }); this.loadPageObserver = new IntersectionObserver(this.loadPageCallback, { root: null, // æå®æ ¹å ç´ ï¼è¿é设为 nullï¼è¡¨ç¤ºéåæ´ä¸ªè§çªä½ä¸ºæ ¹å ç´ ã rootMargin: "0px", // æå®æ ¹å ç´ çè¾¹çï¼è¿é设为 "0px"ï¼è¡¨ç¤ºæ ¹å ç´ çè¾¹çåè§çªçè¾¹çéå threshold: 0, // æå®äº¤åæ¯ä¾ï¼è¿é设为 0.5ï¼è¡¨ç¤ºå½ç®æ å ç´ ä¸åææ´å¤æ¾ç¤ºå¨è§çªä¸æ¶è§¦ååè°å½æ°ã }); // å¯å¨é¡µç è§å¯ setTimeout(() => { this.initObservation(); this.initThemeColor(); }, 500); // æµè¯é¡µé¢è·³è½¬ setTimeout(() => { this.gotoPage(2, 6); }, 500); // const pageDom = (this.container ? this.container : document) // .querySelector("#app") // .querySelectorAll(".page-box"); // æ£ç´¢ // console.log(this.searchTextByPage("ä¿æ¤å èå¨å®"), "searchTextByPage"); // æ£ç´¢è·³è½¬ // this.searchItemLocation({ // catalog: 2, // page: 10, // txt: " è¿å¨ç³»ç»æ¯ç±éª¨ã骨è¿ç»å骨骼èä¸é¨åç»æçãå ¨èº«ç骨éè¿éª¨è¿ç»ç»æäººä½éª¨éª¼ï¼è§å¾1-1ï¼ã骨骼æ¯äººä½çæ¯æ¶ï¼å ·æä¿æ¤å èå¨å®ãä¾èèéçåä½ä¸ºèèè¿å¨çæ æçä½ç¨ãå¨ç¥ç»ç³»ç»çæ¯é ä¸ï¼èèæ¶ç¼©çµå¨æéçç骨ç»çå ³è转å¨ï¼ä½¿èº«ä½äº§çåç§å¨ä½ãæä»¥ï¼è¿å¨ç³»ç»å ·æè¿å¨ãæ¯æåä¿æ¤çåè½ï¼å¹¼å¹´æ¶æç骨骼è¿å ·æé è¡åè½ã ", // txtIndex: 57 // }); // }, 500); }, methods: { // setZoom1() { // let scale = this.$store.state.qiankun.scale + 10; // const scrollBox = ( // this.container ? this.container : document // ).querySelector(".page-main"); // this.$store.commit("setZoom", scale); // }, // setZoom2() { // let scale = this.$store.state.qiankun.scale - 10; // const scrollBox = ( // this.container ? this.container : document // ).querySelector(".page-main"); // this.$store.commit("setZoom", scale); // }, // æ»å¨çå¬ scrollFun(event) { this.handleVideoPicture(); // 夿å䏿»å¨è¿æ¯å䏿»å¨ if (event.target.scrollTop > this.previousScrollTop) { this.getAduio(); // åä¸ const currentScrollTop = event.target.scrollTop + event.target.offsetHeight; if ( currentScrollTop >= event.target.scrollHeight - this.loadThreshold ) { console.log(1); // å°è¾¾éå¼ if ( this.showCatalogList[this.showCatalogList.length - 1] < this.catalogLength ) { // å è½½ä¸ä¸ç« this.showCatalogList.push( this.showCatalogList[this.showCatalogList.length - 1] + 1 ); if (this.showCatalogList.length > 3) { // è¶ è¿ä¸ç« éèé¡¶é¨ä¸ç« this.showCatalogList.shift(); } } } } else if (event.target.scrollTop < this.previousScrollTop) { this.handleAudio(); // åä¸ const currentScrollTop = event.target.scrollTop; if (currentScrollTop <= this.loadThreshold) { // å°è¾¾éå¼ if (this.showCatalogList[0] > 0) { // å è½½ä¸ä¸ç« this.showCatalogList.unshift(this.showCatalogList[0] - 1); if (this.showCatalogList.length > 3) { // è¶ è¿ä¸ç« éèåºé¨ä¸ç« this.showCatalogList.pop(); } } } } // showCatalogList å½åæ¾ç¤ºçä¸ä¸ªç« èï¼watchçå¬ä¼ éç»ä¸»åºç¨ // æ´æ°ä¸ä¸æ¬¡æ»å¨çä½ç½® this.previousScrollTop = event.target.scrollTop; }, // ç« èã页é¢è·³è½¬ gotoPage(catalog, page) { if (catalog >= 0 && catalog <= this.catalogLength) { // å¤ç渲æç« è if (catalog == 0) { this.showCatalogList = [0, 1]; } else if (catalog == this.catalogLength) { this.showCatalogList = [ this.catalogLength - 2, this.catalogLength - 1, this.catalogLength, ]; } else { this.showCatalogList = [catalog - 1, catalog, catalog + 1]; } setTimeout(() => { // 跳转页ç const pageDom = ( this.container ? this.container : document ).querySelector(`[page="${page}"]`); if (pageDom) { pageDom.scrollIntoView(); } else { console.log("页ç é误ï¼"); } }, 500); } else { console.log("ç« èé误ï¼"); } }, // å¤çæ è®°æ°æ® handelSignData(type, data) { if (this.loadPageList.indexOf(Number(data.page)) > -1) { // ç«å³æ¸²æ this.renderSign(type, data); } // å¨åæ°æ® if (!this.renderSignMap[type]) this.renderSignMap[type] = {}; if (!this.renderSignMap[type][data.page]) this.renderSignMap[type][data.page] = []; this.renderSignMap[type][data.page].push(data); }, // æ¸²ææ è®° renderSign(type, data) { // ç¶å±è®¾ç½®ç¦æ¢æ¸²ææ è®°æ¶ä¸åè¿è¡æ¸²æ if (this.$store.state.qiankun.disableSign) { return false; } const existence = ( this.container ? this.container : document ).querySelector(`[dataid="${data.id}"]`); // å»é if (!existence) { const pageDom = ( this.container ? this.container : document ).querySelector(`[page="${data.page}"]`); // å建 createTreeWalker è¿ä»£å¨ï¼ç¨äºéåææ¬èç¹ï¼ä¿åå°ä¸ä¸ªæ°ç» const treeWalker = document.createTreeWalker( pageDom, NodeFilter.SHOW_TEXT ); const allTextNodes = []; let currentNode = treeWalker.nextNode(); while (currentNode) { allTextNodes.push(currentNode); currentNode = treeWalker.nextNode(); } for (let i = 0; i < allTextNodes.length; i++) { const textDom = allTextNodes[i]; if (textDom.textContent.indexOf(data.txt) > -1) { let reg = new RegExp(`${data.txt}`, "ig"); switch (type) { case "Highlight": // é«äº® textDom.parentNode.innerHTML = textDom.parentNode.innerHTML.replace( reg, `<span datatype="Highlight" dataid="${data.id}" style="background: ${data.color};" class="highLight" onclick="signClick('Highlight','${data.id}','${data.chapterNum}')">${data.txt}</span>` ); break; case "Dashing": // å线 textDom.parentNode.innerHTML = textDom.parentNode.innerHTML.replace( reg, `<span datatype="Dashing" dataid="${data.id}" style="text-decoration-color:${data.color};" class="underline" onclick="signClick('Dashing','${data.id}','${data.chapterNum}')">${data.txt}</span>` ); break; case "Note": // ç¬è®° textDom.parentNode.innerHTML = textDom.parentNode.innerHTML.replace( reg, `<span datatype="Note" dataid="${data.id}" style="border-bottom-color:${data.color}" class="notesline" onclick="signClick('Note','${data.id}','${data.chapterNum}')" onmouseover="noteHover('Note','${data.id}','${data.chapterNum}')" onmouseout="noteOut('Note')">${data.txt}<img src="${NoteIcon}"/></span>` ); break; } } } } }, // å 餿 记渲æ delSign({ ids, type }) { if (ids && ids.length) { for (let i = 0; i < ids.length; i++) { const id = ids[i]; const dom = ( this.container ? this.container : document ).querySelector(`[dataid="${id}"]`); dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace( dom.outerHTML, dom.outerText ); } } if (type) { const doms = ( this.container ? this.container : document ).querySelectorAll(`[datatype="${type}"]`); for (let i = 0; i < doms.length; i++) { const dom = doms[i]; dom.parentNode.innerHTML = dom.parentNode.innerHTML.replace( dom.outerHTML, dom.outerText ); } } }, initObservation() { const sections = ( this.container ? this.container : document ).querySelectorAll(".page-box"); sections.forEach((section) => { if (this.config.activeBook && this.config.activeBook.tryPageCount) { const page = section.getAttribute("page"); if (Number(page) > this.config.activeBook.tryPageCount) { let chapterDom = this.getParentWithClass(section, "chapter"); const chapterNum = chapterDom.getAttribute("num"); this.catalogLength = Number(chapterNum) - 1; section.remove(); return false; } } // observer è§å¯æ¯ä¸ªå ç´ ï¼ä»¥ä¾¿å¨å®ä»¬è¿å ¥æç¦»å¼è§çªæ¶è§¦ååè°å½æ°ã const isObserver = section.getAttribute("observer"); const isLoadObserver = section.getAttribute("loadObserver"); if (!isObserver) { this.observer.observe(section); section.setAttribute("observer", "1"); } if (!isLoadObserver) { this.loadPageObserver.observe(section); section.setAttribute("loadObserver", "1"); } }); }, initThemeColor() { // è·ååç§éè¦ä¸»é¢è²çèç¹ const colorDom = ( this.container ? this.container : document ).querySelectorAll(".theme-color"); const backgroundColorDom = ( this.container ? this.container : document ).querySelectorAll(".theme-back"); const borderColorDom = ( this.container ? this.container : document ).querySelectorAll(".theme-border"); // è·åé ç½®ç主é¢è² const bookThemeColor = this.config.activeBook && this.config.activeBook.bookThemeColor ? this.config.activeBook.bookThemeColor : null; const chapterThemeColor = this.config.activeBook && this.config.activeBook.chapterThemeColor ? this.config.activeBook.chapterThemeColor : null; const pageThemeColor = this.config.activeBook && this.config.activeBook.pageThemeColor ? this.config.activeBook.pageThemeColor : null; colorDom.forEach((domItem) => { // è·åç« èã页ç let pageDom = this.getParentWithClass(domItem, "page-box"); let chapterDom = this.getParentWithClass(domItem, "chapter"); let page, chapterNum; if (pageDom) page = pageDom.getAttribute("page"); if (chapterDom) chapterNum = chapterDom.getAttribute("num"); // åä¸å¹é 主é¢è² const themeColor = page && pageThemeColor && pageThemeColor[page] ? pageThemeColor[page] : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] ? chapterThemeColor[chapterNum] : bookThemeColor; if (themeColor) { domItem.style.color = themeColor; } }); backgroundColorDom.forEach((domItem) => { // è·åç« èã页ç let pageDom = this.getParentWithClass(domItem, "page-box"); let chapterDom = this.getParentWithClass(domItem, "chapter"); let page, chapterNum; if (pageDom) page = pageDom.getAttribute("page"); if (chapterDom) chapterNum = chapterDom.getAttribute("num"); // åä¸å¹é 主é¢è² const themeColor = page && pageThemeColor && pageThemeColor[page] ? pageThemeColor[page] : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] ? chapterThemeColor[chapterNum] : bookThemeColor; if (themeColor) { domItem.style.backgroundColor = themeColor; } }); borderColorDom.forEach((domItem) => { // è·åç« èã页ç let pageDom = this.getParentWithClass(domItem, "page-box"); let chapterDom = this.getParentWithClass(domItem, "chapter"); let page, chapterNum; if (pageDom) page = pageDom.getAttribute("page"); if (chapterDom) chapterNum = chapterDom.getAttribute("num"); // åä¸å¹é 主é¢è² const themeColor = page && pageThemeColor && pageThemeColor[page] ? pageThemeColor[page] : chapterNum && chapterThemeColor && chapterThemeColor[chapterNum] ? chapterThemeColor[chapterNum] : bookThemeColor; if (themeColor) { domItem.style.borderColor = themeColor; } }); }, getParentWithClass(element, className) { while (element.parentElement) { element = element.parentElement; if (element.classList.contains(className)) { return element; } } }, pageChangeCallback(entries, observer) { //entriesï¼ä»£è¡¨è§å¯å°çç®æ å ç´ çéåã observerï¼ä»£è¡¨è§å¯è 对象ã entries.forEach((entry) => { //entry.isIntersectingï¼æ£æ¥å½åç®æ å ç´ æ¯å¦ä¸æ ¹å ç´ ç¸äº¤ã if (entry.isIntersecting) { const target = entry.target; //entry.targetï¼è·åå½åç®æ å ç´ const page = target.getAttribute("page"); const catalogDom = this.tool.getParentNodeByClassName( target, "chapter" ); const catalog = catalogDom.getAttribute("num"); let text = null; if (target.querySelector("p")) { text = target.querySelector("p").textContent.substring(0, 50); } // è¿å页ç åç« èä¿¡æ¯ if (this.$store.state.qiankun && this.$store.state.qiankun.pageChange) this.$store.state.qiankun.pageChange({ page: page, catalog: catalog, text, }); // const sections = Array.from(document.querySelectorAll(".section")); //sectionsï¼è·åææå ·æ .section ç±»åçå ç´ ï¼å¹¶è½¬æ¢ä¸ºæ°ç»ã // let index = sections.findIndex((section) => section === target) + 1; //indexï¼æ¥æ¾å½åç®æ å ç´ å¨ sections æ°ç»ä¸çç´¢å¼ï¼å¹¶å 1ï¼ç¨äºç¡®å®å½å页ç ã } }); }, loadPageCallback(entries, observer) { entries.forEach(async (entry) => { if (entry.isIntersecting) { const target = entry.target; const page = target.getAttribute("page"); if (this.loadPageList.indexOf(Number(page)) == -1) { const catalogDom = this.tool.getParentNodeByClassName( target, "chapter" ); // æ·»å 页ç this.loadPageList.push(Number(page)); const catalog = catalogDom.getAttribute("num"); // if (!this.questionDataMap[page]) { // if (testData && testData[catalog]) { // if (testData[catalog][page]) { // if (Array.isArray(testData[catalog][page])) { // this.questionDataMap[page] = await getQuestionList( // page, // testData[catalog][page], // this.config.activeBook // ); // } else { // const obj = {}; // for (let key in testData[catalog][page]) { // obj[key] = await getQuestionList( // [], // testData[catalog][page][key], // this.config.activeBook // ); // } // this.questionDataMap[page] = obj; // } // console.log("é¢ç®", this.questionDataMap); // } // } // } // 渲æè¿ä¸é¡µçæ è®° for (const key in this.renderSignMap) { if (this.renderSignMap[key][page]) { this.renderSignMap[key][page].forEach((item) => { this.renderSign(key, item); }); } } // å¤çé«äº® if (this.highlightData) { // é«äº®è¡ setTimeout(() => { // è·å页颿ætextèç¹ const pageTextList = document.createTreeWalker( target, NodeFilter.SHOW_TEXT ); // å¹é å ³é®å const allPageTextNodes = []; let currentNode = pageTextList.nextNode(); while (currentNode) { allPageTextNodes.push(currentNode); currentNode = pageTextList.nextNode(); } for (let i = 0; i < allPageTextNodes.length; i++) { const textDom = allPageTextNodes[i]; let txtIndex = textDom.textContent.indexOf( this.highlightData.txt ); if (txtIndex > -1) { textDom.parentNode.style.transition = "background-color 0.8s"; textDom.parentNode.scrollIntoView(); textDom.parentNode.style.backgroundColor = "#79bbf0"; setTimeout(() => { textDom.parentNode.style.backgroundColor = ""; }, 1000); } } }, 100); } if (this.loadPageList.length > 5) { // è¶ è¿5页 this.loadPageList.shift(); } } } }); }, initSwiper() { const doms = ( this.container ? this.container : document ).querySelectorAll(".swiper-img"); for (let i = 0; i < doms.length; i++) { const dom = doms[i]; new Swiper(dom, { loop: false, // æ ç¼ autoplay: { //èªå¨å¼å§ delay: 3000, //æ¶é´é´é disableOnInteraction: false, //*æå¨æä½è½®æå¾åä¸ä¼æå* }, paginationClickable: true, slidesPerView: 1, // ä¸ç»ä¸ä¸ª spaceBetween: 30, // é´é // 妿éè¦åè¿åéæé® navigation: { nextEl: dom.querySelector(".swiper-button-next"), prevEl: dom.querySelector(".swiper-button-prev"), }, // çªå£åå,éæ°init,é对F11å ¨å±åæ¾å¤§ç¼©å°,å¿ é¡»å // observer: true, // observeParents: true // // 妿éè¦åé¡µå¨ // pagination: { // el: (this.container ? this.container : document).querySelector( // ".swiper-pagination" // ), // clickable: true // å页å¨å¯ä»¥ç¹å» // } }); } const pptDoms = ( this.container ? this.container : document ).querySelectorAll(".swiper_ppt"); for (let i = 0; i < pptDoms.length; i++) { const dom = pptDoms[i]; new Swiper(dom, { loop: false, // æ ç¼ autoplay: false, paginationClickable: true, slidesPerView: 1, // ä¸ç»ä¸ä¸ª spaceBetween: 30, // é´é // 妿éè¦åè¿åéæé® navigation: { nextEl: dom.querySelector(".swiper-button-next"), prevEl: dom.querySelector(".swiper-button-prev"), }, // çªå£åå,éæ°init,é对F11å ¨å±åæ¾å¤§ç¼©å°,å¿ é¡»å observer: true, observeParents: true, on: { init: (value) => { let currentPage = value.activeIndex + 1; // è·åå½å页ï¼ä»1å¼å§è®¡æ°ï¼ let totalPages = value.slides.length; // è·åæ»é¡µæ° var paginationInfoEl = dom.querySelector(".pageBox"); if (paginationInfoEl) paginationInfoEl.textContent = currentPage + "/" + totalPages; }, slideChange: (value) => { let currentPage = value.activeIndex + 1; // è·åå½å页ï¼ä»1å¼å§è®¡æ°ï¼ let totalPages = value.slides.length; // è·åæ»é¡µæ° var paginationInfoEl = dom.querySelector(".pageBox"); if (paginationInfoEl) paginationInfoEl.textContent = currentPage + "/" + totalPages; }, }, }); } }, initViewer() { const doms = ( this.container ? this.container : document ).querySelectorAll(".openImgBox"); for (let i = 0; i < doms.length; i++) { const dom = doms[i]; new Viewer(dom, { container: this.container ? this.container.querySelector("#app") : "body", navbar: true, // æ¾ç¤ºå¯¼èªæ toolbar: true, // æ¾ç¤ºå·¥å ·æ title: true, // æ¾ç¤ºæ é¢ }); } }, // æ ¹æ®å ³é®åå ¨ææ£ç´¢ searchTextByPage(keyword) { const searchResult = []; let catalogIndex = 0; // ææç« èç»ä»¶ï¼æ¯æ¬ä¹¦å¶ä½æ¶åç¬é ç½®ï¼ const pageData = { pageHeader, chapterOne, // chapterTwo, // chapterThree, // chapterFour, // chapterFive, }; // éåææç« èæä»¶ for (const key in pageData) { catalogIndex++; let pageComponent, pageExample; // å æ¸²æä¸æ¬¡å½åç« èæä»¶ï¼è¿æ¶é¡µé¢çå 容为空ï¼ï¼è·å页ç ä¿¡æ¯ pageComponent = Vue.extend(pageData[key]); pageExample = new pageComponent({ propsData: { showPageList: [], questionData: {}, isSearch: true, }, }); pageExample.$mount( (this.container ? this.container : document).querySelector( "#searchContent" ) ); // è·å页ç const pageDom = (this.container ? this.container : document) .querySelector("#searchDomBox") .querySelectorAll(".page-box"); const pages = []; for (let i = 0; i < pageDom.length; i++) { const pageDomItem = pageDom[i]; pages.push(Number(pageDomItem.getAttribute("page"))); } // è·å页é¢ç»æï¼å¸è½½éæ¯ pageExample.$destroy(); (this.container ? this.container : document).querySelector( "#searchDomBox" ).innerHTML = '<div id="searchContent"></div>'; // éå页ç if (pages.length) { for (let i = 0; i < pages.length; i++) { const pageNum = pages[i]; // å¨ææ¸²æå¯¹åºç« èç页ç pageComponent = Vue.extend(pageData[key]); pageExample = new pageComponent({ propsData: { showPageList: [pageNum], questionData: {}, isSearch: true, }, }); pageExample.$mount( (this.container ? this.container : document).querySelector( "#searchContent" ) ); // è·å对åºé¡µé¢dom const thisPageDom = (this.container ? this.container : document) .querySelector("#searchDomBox") .querySelector(`[page="${pageNum}"]`); if (thisPageDom) { // è·å页颿ætextèç¹ const pageTextList = document.createTreeWalker( thisPageDom, NodeFilter.SHOW_TEXT ); // å¹é å ³é®å const allPageTextNodes = []; let currentNode = pageTextList.nextNode(); while (currentNode) { allPageTextNodes.push(currentNode); currentNode = pageTextList.nextNode(); } for (let i = 0; i < allPageTextNodes.length; i++) { const textDom = allPageTextNodes[i]; let txtIndex = textDom.textContent.indexOf(keyword); if (txtIndex > -1) { // è®°å½å ³é®åæå¨é¡µç ãç« è以åå¹é å°çæ®µè½ searchResult.push({ page: pageNum, catalog: catalogIndex, txt: textDom.textContent, txtIndex: txtIndex, }); } } // ç»æï¼å¸è½½éæ¯ pageExample.$destroy(); (this.container ? this.container : document).querySelector( "#searchDomBox" ).innerHTML = '<div id="searchContent"></div>'; } } } } // è¾åºæç´¢ç»æ console.log(searchResult); return searchResult; }, // æ ¹æ®æ£ç´¢ç»æè·³è½¬å¯¹åºä½ç½®å¹¶é«äº® searchItemLocation(data) { // è®°å½é«äº®ä¿¡æ¯ this.highlightData = data; // 跳转 this.gotoPage(data.catalog, data.page, () => {}); }, // 页é¢å䏿»å¨ï¼é³é¢å°çªææ¾åè½ getAduio() { let allVideo = ( this.container ? this.container : document ).querySelectorAll(".audio"); allVideo = Array.from(allVideo); this.videoList = allVideo; if (allVideo.length) { // æ¥æ¾ææ¾ç¶æçæå䏿¡é³é¢ const playAudio = allVideo .reverse() .find((item) => item.paused == false); if (playAudio) { const bottomGap = playAudio.getBoundingClientRect().bottom; if (bottomGap < 0) { playAudio.pause(); this.audioPath = playAudio.src; this.currentTime = playAudio.currentTime; } } } }, // 页é¢å䏿»å¨ï¼é³é¢å°çªåæ¶ handleAudio() { if (!this.audioPath) return false; let allVideo = ( this.container ? this.container : document ).querySelectorAll(".audio"); allVideo = Array.from(allVideo); if (allVideo.length) { //æ¥æ¾ä¸å°çªææ¾é³é¢åæºç页é¢audio DOM const playAudio = allVideo.find((item) => item.src == this.audioPath); if (playAudio) { const bottomGap = playAudio.getBoundingClientRect().bottom; if (bottomGap >= 0) { if (this.$refs.audioPlayer) { const playerState = this.$refs.audioPlayer.getVideoPlayer(); this.audioPath = ""; playAudio.currentTime = playerState.currentTime; if (!playerState.paused) playAudio.play(); } } } } }, // å ³émini video closeMiniAudio() { this.audioPath = ""; }, // ç¹å»é³é¢ææ¾ï¼å ³éå ¶ä»é³é¢ closeAudio() { let allAudio = ( this.container ? this.container : document ).querySelectorAll(".audio"); for (let index = 0; index < allAudio.length; index++) { const item = allAudio[index]; item.addEventListener("play", () => { const audioList = Array.from(allAudio); for (let cindex = 0; cindex < audioList.length; cindex++) { const citem = audioList[cindex]; if (citem.currentSrc != item.src) { citem.pause(); } } this.closeMiniAudio(); }); } }, // ç¹å»è§é¢å ³éå ¶ä» closeVideo() { let allVideo = ( this.container ? this.container : document ).querySelectorAll(".video"); for (let index = 0; index < allVideo.length; index++) { const item = allVideo[index]; item.addEventListener("playing", (item) => { const path = item.srcElement.src; const videoList = Array.from(allVideo); for (let cindex = 0; cindex < videoList.length; cindex++) { const citem = videoList[cindex]; if (citem.currentSrc != path && path) { citem.pause(); } } }); } }, // è§é¢å°çª handleVideoPicture() { let doms = (this.container ? this.container : document).querySelectorAll( ".video" ); doms = Array.from(doms); if (!doms.length) return false; const playVudio = doms.reverse().find((item) => item.paused == false); if (playVudio) { const bottomGap = playVudio.getBoundingClientRect().bottom; const topGap = playVudio.getBoundingClientRect().top; if (bottomGap < 0 || topGap > window.innerHeight) { try { if (playVudio.readyState) playVudio.requestPictureInPicture(); } catch (error) { console.log(error, "å°çªé误error"); } } } }, //å ¶ä»ç±»åä¸åä½å¤§å°åå transformDom(fs) { if (!fs) return; let doms = (this.container ? this.container : document).querySelectorAll( ".block" ); if (!doms.length) return; for (let index = 0; index < doms.length; index++) { const dom = doms[index]; dom.style.fontSize = fs + "px"; } }, handleTanslateWord() { const doms = ( this.container ? this.container : document ).querySelectorAll(".ts-word"); for (let index = 0; index < doms.length; index++) { const dom = doms[index]; dom.onmouseenter = (event) => { if (this.showWord != event.target.innerText) { const rect = dom.getBoundingClientRect(); this.pageX = event.pageX - rect.width; this.pageY = event.pageY + 20; this.showWord = event.target.innerText; console.log(event); } }; dom.onmouseleave = (event) => { if(this.showWord == event.target.innerText) { this.showWord = ""; } }; } }, }, components: { translateWord, pageHeader, chapterOne, // chapterTwo, // chapterThree, // chapterFour, // chapterFive, }, }; </script> <style lang="less" scoped> .page-main { .page-content { max-width: 816px; min-width: 375px; margin: 0 auto; padding-bottom: 100px; } } </style> src/books/hotelEnglishTrainingBrochure2nd/view/index.vue
New file @@ -0,0 +1,80 @@ <template> <div class="hotelEnglishTrainingBrochure2nd" @mouseup="handleMouseUp"> <pageContent></pageContent> </div> </template> <script> import pageContent from "./components/index.vue"; export default { name: "hotelEnglishTrainingBrochure2nd", components: { pageContent, }, computed: { fontSize() { return this.$store.state.qiankun.fontSize; }, pageZoom() { return this.$store.state.qiankun.scale / 100; }, }, methods: { getParentWithClass(element, className) { while (element.parentElement) { element = element.parentElement; if (element.classList.contains(className)) { return element; } } }, handleMouseUp(e) { const selection = ( this.container ? this.container : window ).getSelection(); const txt = selection.toString(); if (selection.type != "none" && txt) { let node = selection.anchorNode.parentNode; let pageHtml = this.getParentWithClass( selection.anchorNode, "page-box" ); let chapterDom = this.getParentWithClass( selection.anchorNode, "chapter" ); let chapterNum; if (chapterDom) chapterNum = chapterDom.getAttribute("num"); if (pageHtml) { const page = pageHtml.getAttribute("page"); // çå¬é䏿æ¬äºä»¶ï¼å¹¶è§¦åç¶å±æ¹æ³ if (this.$store.state.qiankun.windowSelection) { this.$store.state.qiankun.windowSelection({ chapterNum, txt, page, x: e.x, y: e.y, }); } } } else { if (this.$store.state.qiankun.windowSelection) { this.$store.state.qiankun.windowSelection({ chapterNum: "", txt: "", page: "", x: e.x, y: e.y, }); } } }, }, }; </script> <style lang="less"> @import "../assets/main.less"; </style> src/books/mathBook/view/components/index.vue
@@ -190,34 +190,7 @@ // æµè¯é¡µé¢è·³è½¬ // setTimeout(() => { // this.gotoPage(4,79); // // setTimeout(() => { // // this.renderSign("Highlight", { // // id: "2ACA9359", // // txt: "é¢ä¸å¦ä¹ 主é¢ä¸ è¿å¨", // // page: "10", // // type: "Highlight", // // color: "#F5E12A" // // }); // // setTimeout(() => { // // this.delSign({ // // ids: ["2ACA9359"] // // }); // // }, 2000); // // }, 5000); // // const pageDom = (this.container ? this.container : document) // // .querySelector("#app") // // .querySelectorAll(".page-box"); // // æ£ç´¢ // // console.log(this.searchTextByPage("ä¿æ¤å èå¨å®"), "searchTextByPage"); // // æ£ç´¢è·³è½¬ // // this.searchItemLocation({ // // catalog: 2, // // page: 10, // // txt: " è¿å¨ç³»ç»æ¯ç±éª¨ã骨è¿ç»å骨骼èä¸é¨åç»æçãå ¨èº«ç骨éè¿éª¨è¿ç»ç»æäººä½éª¨éª¼ï¼è§å¾1-1ï¼ã骨骼æ¯äººä½çæ¯æ¶ï¼å ·æä¿æ¤å èå¨å®ãä¾èèéçåä½ä¸ºèèè¿å¨çæ æçä½ç¨ãå¨ç¥ç»ç³»ç»çæ¯é ä¸ï¼èèæ¶ç¼©çµå¨æéçç骨ç»çå ³è转å¨ï¼ä½¿èº«ä½äº§çåç§å¨ä½ãæä»¥ï¼è¿å¨ç³»ç»å ·æè¿å¨ãæ¯æåä¿æ¤çåè½ï¼å¹¼å¹´æ¶æç骨骼è¿å ·æé è¡åè½ã ", // // txtIndex: 57 // // }); // this.gotoPage(3,51) // }, 500); // è·åé¢ç®idå表 src/books/preschoolEvaluation/assets/main.less
@@ -681,7 +681,7 @@ .video-box { margin: 30px 0 20px 0; border: 2px dashed #40C7F4; border: 2px dashed #1c9e3a; padding: 3% 2% 2% 2%; position: relative; } @@ -702,6 +702,11 @@ .videoname { display: flex; justify-content: center; align-items: center; span{ margin-right: 20px; } } .sInput { src/components/examinations/index.vue
@@ -969,10 +969,13 @@ max-width: 80%; min-width: 220px; } .examination ul li sup{ margin-bottom:8px ; } </style> <style lang="less" scoped> .catalogName { .catalogName { display: flex; text-indent: 1em !important; font-size: 16px; @@ -1613,3 +1616,4 @@ flex-wrap: wrap; } </style> src/components/graffiti/index.vue
@@ -150,7 +150,7 @@ imgData.setAttribute("crossOrigin", ""); } imgData.onload = () => { this.context.drawImage(imgData, 0, 0, this.imgWidth, this.imgHeight); this.context.drawImage(imgData, 0, 0, Math.min(window.innerWidth,this.imgWidth),this.imgHeight); }; }; resetCanvas(); @@ -336,6 +336,7 @@ display: flex; justify-content: space-around; align-items: center; flex-wrap: wrap; height: 88px; } src/components/pdfview/index.vue
@@ -1,7 +1,15 @@ <!-- @format --> <template> <el-dialog :visible.sync="localDialogVisible" @open="hadleOpenDialog" width="60vw" top="2vh" append-to-body lock-scroll :show-close="false" class="custom-dialog"> <el-dialog :visible.sync="localDialogVisible" @open="hadleOpenDialog" width="60vw" top="2vh" append-to-body lock-scroll :show-close="false" class="custom-dialog" > <div slot="title" class="header_title"> <span>{{ pdfTitle }}</span> <span @click="closeDialog"> x </span> @@ -11,8 +19,7 @@ <div class="pdfBox-component"> <div class="preview" v-if="this.preViewMd5"> <div id="imageParent" class="imageBox"></div> <div class="bottom_tool"> </div> <div class="bottom_tool"></div> </div> <div class="notBox" v-if="totalPage == 0 && !loading"> <el-empty description="ææ æ°æ®"></el-empty> @@ -21,14 +28,13 @@ </div> </div> </el-dialog> </template> <script> import Viewer from 'viewerjs' import 'viewerjs/dist/viewer.css' import { getResourcePath } from '@/assets/methods/resources' import Viewer from "viewerjs"; import "viewerjs/dist/viewer.css"; import { getResourcePath } from "@/assets/methods/resources"; export default { name: 'pdf_view', name: "pdf_view", props: { md5: { type: String, @@ -42,18 +48,18 @@ }, pdfTitle: { type: String, } }, }, data() { return { localDialogVisible: false, currentPageSrc: '', currentPageSrc: "", currentPage: 1, totalPage: 1, viewerCon: null, preViewMd5: '', preViewMd5: "", loading: false, } }; }, watch: { // md5: { @@ -85,126 +91,138 @@ }, methods: { hadleOpenDialog() { this.preViewMd5 = this.md5 this.currentPage = 1 this.currentPageSrc = '' this.totalPage = 1 this.viewerCon?.destroy() this.preViewMd5 = this.md5; this.currentPage = 1; this.currentPageSrc = ""; this.totalPage = 1; this.viewerCon?.destroy(); this.loading = true; this.clearDom(); this.getFileInfo(); this.$nextTick(() => { this.scrollBottom() this.scrollBottom(); }); }, closeDialog() { this.localDialogVisible = false this.localDialogVisible = false; }, openDialog() { this.localDialogVisible = true this.localDialogVisible = true; }, async downloadPdf() { console.log(this.preViewMd5) console.log(await getResourcePath(this.preViewMd5),"12345"); window.open(await getResourcePath(this.preViewMd5)) console.log(await getResourcePath(this.preViewMd5), "12345"); window.open(await getResourcePath(this.preViewMd5)); }, domViewer() { // let ele = (this.container ? this.container : document).getElementById( // 'imageParent' // ) let ele = document.getElementById('imageParent') let ele = document.getElementById("imageParent"); if (ele) { this.viewerCon = new Viewer(ele, { inline: false, container: this.container ? this.container.querySelector('#app') : 'body', ? this.container.querySelector("#app") : "body", navbar: true, // æ¾ç¤ºå¯¼èªæ toolbar: true, // æ¾ç¤ºå·¥å ·æ title: true, // æ¾ç¤ºæ é¢ }) } }, clearDom() { let ele = document.getElementById('imageParent') if (ele) { ele.innerHTML = '' } }, createDom(page) { var that = this let ele = document.getElementById('imageParent') const img = document.createElement('img') img.src = this.getPageImage(page) img.alt = '' img.style.maxWidth = '90%' img.style.padding = '30px 5%' img.className = 'imgHover' img.onclick = () => { that.viewerCon?.destroy() that.domViewer() } if (ele) { ele.appendChild(img) } }, scrollBottom() { var that = this var ele = document.getElementById('imageParent') if (ele) { ele.addEventListener('scroll', function () { // è®¡ç®æ»å¨æ¡è·ç¦»åºé¨çä½ç½® const scrollBottom = ele.scrollHeight - ele.scrollTop - ele.clientHeight if (scrollBottom <= 10) { that.currentPage++ if (that.currentPage <= that.totalPage) { that.createDom(that.currentPage, ele) } } }); } }, clearDom() { let ele = document.getElementById("imageParent"); if (ele) { ele.innerHTML = ""; } }, createDom(page) { var that = this; let ele = document.getElementById("imageParent"); const img = document.createElement("img"); img.src = this.getPageImage(page); // æå¨è§¦åæ»å¨äºä»¶ // ele.dispatchEvent(new Event("scroll")); img.alt = ""; img.style.maxWidth = "90%"; img.style.padding = "30px 5%"; img.className = "imgHover"; img.onclick = () => { that.viewerCon?.destroy(); that.domViewer(); }; if (ele) { ele.appendChild(img); } }, scrollBottom() { const ele = document.getElementById("imageParent"); if (ele) { let lastScrollTop = 0; ele.addEventListener("scroll", () => { const scrollTop = ele.scrollTop; const scrollBottom = ele.scrollHeight - scrollTop - ele.clientHeight; if (scrollBottom < 10 && scrollTop > lastScrollTop) { console.log( "æ»å¨å°åºé¨ï¼å½å页ï¼", this.currentPage, "æ»é¡µæ°ï¼", this.totalPage ); if (this.currentPage < this.totalPage) { this.currentPage++; if (this.currentPage <= this.totalPage) { this.createDom(this.currentPage, ele); } } } lastScrollTop = scrollTop; }); } }, getFileInfo() { // è·åç®å½ this.loading = true this.loading = true; this.MG.file .getPdfInfo({ md5: this.preViewMd5 }) .then((res) => { try { if (typeof res === 'string' && res !== null) { console.log(134) this.totalPage = JSON.parse(res).totalPages } else if (typeof res === 'object' && res !== null) { console.log(res.totalPages) this.totalPage = res.totalPages if (typeof res === "string" && res !== null) { this.totalPage = JSON.parse(res).totalPages; } else if (typeof res === "object" && res !== null) { this.totalPage = res.totalPages; } } catch (error) { console.log(error, 'pdfè¿åå¼ç±»åé误'); console.log(error, "pdfè¿åå¼ç±»åé误"); } console.log(this.currentPage,"111") this.createDom(this.currentPage) this.loading = false Math.min(3, res.totalPages); for (let i = 0; i <= Math.min(3, res.totalPages); i++) { this.createDom(i + 1); } this.loading = false; }) .catch((err) => { this.totalPage = 0 this.createDom(this.currentPage) console.error(err) this.loading = false }) this.totalPage = 0; this.createDom(this.currentPage); console.error(err); this.loading = false; }); }, getPageImage(page) { const ctx = process.env.VUE_APP_API_URL const ctx = process.env.VUE_APP_API_URL; return ( ctx + '/file/GetPdfPageImage' + '?md5=' + "/file/GetPdfPageImage" + "?md5=" + this.preViewMd5 + '&index=' + "&index=" + page + '&dpi=200' ) "&dpi=200" ); }, }, } }; </script> src/components/translateWord/index.vue
New file @@ -0,0 +1,35 @@ <template> <div class="translate-box" :style="{left: pageX + 'px', top: pageY + 'px'}"> {{showWord}} </div> </template> <script> export default { props: { showWord: { type: String, default: "" }, pageX:{ type: Number, default: 0 }, pageY:{ type: Number, default: 0 } }, name: "TranslateWord", } </script> <style lang="less" scoped> .translate-box { width: 500px; height: 200px; background-color: red; position: absolute; z-index: 9999; } </style> src/plugin/axios/index.js
@@ -11,6 +11,7 @@ service.interceptors.request.use( (config) => { let token = localStorage.getItem(myConfig.tokenKey) config.headers['Cache-Control'] = 'no-cache, no-store, must-revalidate' if (token) config.headers['Authorization'] = `bearer ${token}` return config },