Merge branch 'master' of http://182.92.203.7:2001/r/testbookLayout
| | |
| | | // 自定义内容 |
| | | .page-box { |
| | | box-sizing: border-box; |
| | | min-height: 1128px !important; |
| | | min-height: 1128px; |
| | | margin-bottom: 20px; |
| | | box-shadow: 0 3px 6px 1px #00000029; |
| | | background-color: #fff; |
| | |
| | | <p class="center"> |
| | | <img class="img-0" alt="" src="../../assets/images/0013-3.jpg" /> |
| | | </p> |
| | | <!-- <div> |
| | | <matching :rawData="rawData" :item="question" :value="value"></matching> |
| | | </div> --> |
| | | <h3 id="c003" class="fl al-cn"> |
| | | <span class="bjh3">Reading</span> |
| | | <audio :src="resource.readingOne" controls></audio> |
| | |
| | | <p>along the way 沿途</p> |
| | | </li> |
| | | </ul> |
| | | |
| | | |
| | | <div class="bj-note"> |
| | | <p class="m0"><b class="fz-18">Notes:</b></p> |
| | |
| | | <div class="pageBox"></div> |
| | | </div> |
| | | <!-- 显示当前页和总页数的元素 --> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import matching from "@/components/matching/matching.vue"; |
| | | import {getResourcePath} from "@/assets/methods/resources"; |
| | | export default { |
| | | name: "chapter-one", |
| | | components:{matching}, |
| | | props: { |
| | | showPageList: { |
| | | type: Array, |
| | |
| | | showAnswerFive: false, |
| | | showImg: false, |
| | | showQuestionAnswer: false, |
| | | // pageNum: "1", |
| | | // total: "27", |
| | | rawData: { |
| | | left: [ |
| | | { |
| | | oldId: "FB34", |
| | | txt: "Silk", |
| | | }, |
| | | { |
| | | oldId: "64D6", |
| | | txt: "The Great Wall", |
| | | }, |
| | | { |
| | | oldId: "2ED4", |
| | | txt: "Chinese Food", |
| | | }, |
| | | { |
| | | oldId: "44DE", |
| | | txt: "Chinese Tea", |
| | | }, |
| | | ], |
| | | right: [ |
| | | { |
| | | oldId: "64D6", |
| | | txt: "It is one of China's must-see sights for visitors, which shows thewisdom of Chinese people.", |
| | | }, |
| | | { |
| | | oldId: "FB34", |
| | | txt: "It was first discovered and drank in China and my favorileLongjing tca is praduced near the West Lake in Hangzhou.", |
| | | }, |
| | | { |
| | | oldId: "2ED4", |
| | | txt: "The clothing material is quite popular among Roman women inancient times.", |
| | | }, |
| | | { |
| | | oldId: "44DE", |
| | | txt: "It is very delicious and I like the hot and spicy Sichuan lavor hest.", |
| | | }, |
| | | ], |
| | | }, |
| | | value: [], |
| | | question: { |
| | | KnowledgePoint: "123", |
| | | analysis: "123", |
| | | answer: [ |
| | | { |
| | | id: "FB34", |
| | | linkValue: "The clothing material is quite popular among Roman women inancient times.", |
| | | value: "Silk", |
| | | }, |
| | | { |
| | | id: "64D6", |
| | | linkValue: "It is one of China's must-see sights for visitors, which shows thewisdom of Chinese people.", |
| | | value: "The Great Wall", |
| | | }, |
| | | { |
| | | id: "2ED4", |
| | | linkValue: "C", |
| | | value: "Chinese Food", |
| | | }, |
| | | { |
| | | id: "44DE", |
| | | linkValue: "D", |
| | | value: "Chinese Tea", |
| | | }, |
| | | ], |
| | | optionStyle: undefined, |
| | | id: 489306, |
| | | options: { |
| | | linkValues: [ |
| | | { |
| | | oldId: "64D6", |
| | | txt: "It is one of China's must-see sights for visitors, which shows thewisdom of Chinese people.", |
| | | }, |
| | | { |
| | | oldId: "FB34", |
| | | txt: "The clothing material is quite popular among Roman women inancient times.", |
| | | }, |
| | | { |
| | | oldId: "2ED4", |
| | | txt: "It is very delicious and I like the hot and spicy Sichuan lavor hest.", |
| | | }, |
| | | { |
| | | oldId: "44DE", |
| | | txt: "It was first discovered and drank in China and my favoriteLongjing tea is produced near the West Lake in Hangzhou.", |
| | | }, |
| | | ], |
| | | values: [ |
| | | { |
| | | oldId: "FB34", |
| | | txt: "Silk", |
| | | }, |
| | | { |
| | | oldId: "64D6", |
| | | txt: "The Great Wall", |
| | | }, |
| | | { |
| | | oldId: "2ED4", |
| | | txt: "Chinese Food", |
| | | }, |
| | | { |
| | | oldId: "44DE", |
| | | txt: "Chinese Tea", |
| | | }, |
| | | ], |
| | | }, |
| | | questionType: "matching", |
| | | stem: { |
| | | stemTxt: "按顺序连线", |
| | | }, |
| | | stemStyle: undefined, |
| | | titleDescription: "1", |
| | | userChoise: [], |
| | | value: [], |
| | | }, |
| | | questionData: { |
| | | warnUp: { |
| | | one: { |
| | |
| | | JSON.stringify(this.questionData) |
| | | ); |
| | | }, |
| | | getPath() { |
| | | this.resource.listenOne = getResourcePath( |
| | | async getPath() { |
| | | this.resource.listenOne = await getResourcePath( |
| | | "422139A2EF66EA888C5ED1D550AE23E0" |
| | | ); |
| | | this.resource.readingOne = getResourcePath( |
| | | this.resource.readingOne = await getResourcePath( |
| | | "3F442B682D84C8AB06C800B29D734920" |
| | | ); |
| | | this.resource.readingTwo = getResourcePath( |
| | | this.resource.readingTwo = await getResourcePath( |
| | | "E8719EC88026BCFB11D292AA999F6D3D" |
| | | ); |
| | | }, |
| | |
| | | <template> |
| | | <div class="chapter" num="1"> |
| | | <!-- <div class="page-box"> |
| | | <matching :rawData="rawData" :item="question" :value="value"></matching> |
| | | </div> --> |
| | | <!-- --> |
| | | <div class="page-box mt-20" page="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> |
| | | <!-- 1 --> |
| | | <div class="page-box" page="2"> |
| | | <div class="page-box" page="2" style="min-height: auto"> |
| | | <div v-if="showPageList.indexOf(2) > -1"> |
| | | <img class="img-0" alt="" src="../../assets/images/SMY.jpg" /> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import matching from "@/components/matching/matching.vue"; |
| | | |
| | | export default { |
| | | name: "page-header", |
| | | components: { matching }, |
| | | props: { |
| | | showPageList: { |
| | | type: Array, |
| | |
| | | } |
| | | .page-box { |
| | | box-sizing: border-box; |
| | | min-height: 1150px !important; |
| | | min-height: 1150px ; |
| | | margin-bottom: 20px; |
| | | box-shadow: 0 3px 6px 1px #00000029; |
| | | background-color: #fff; |
| | |
| | | <template> |
| | | <div class="chapter" num="1"> |
| | | <!-- 封面 --> |
| | | <div class="page-box cover" page="1"> |
| | | <div class="page-box cover" page="1" style="min-height:auto"> |
| | | <div v-if="showPageList.indexOf(1) > -1"> |
| | | <img src="../../../assets/images/Covers.jpg" alt="" /> |
| | | </div> |
| | | </div> |
| | | <div class="page-box cover" page="2"> |
| | | <div class="page-box cover" page="2" style="min-height:auto"> |
| | | <div v-if="showPageList.indexOf(2) > -1"> |
| | | <img src="../../../assets/images/Cover.jpg" alt="" /> |
| | | </div> |
| | |
| | | // 自定义内容 |
| | | .page-box { |
| | | box-sizing: border-box; |
| | | min-height: 1092px !important; |
| | | min-height: 1092px ; |
| | | margin-bottom: 20px; |
| | | box-shadow: 0 3px 6px 1px #00000029; |
| | | background-color: #fff; |
| | |
| | | <template> |
| | | <div class="chapter" num="1"> |
| | | <!-- 封面 --> |
| | | <div class="page-box" page="1"> |
| | | <div class="page-box" page="1" style="min-height: auto;"> |
| | | <div v-if="showPageList.indexOf(1) > -1"> |
| | | <h1 class="frontCover" title=""> |
| | | <img |
| | |
| | | <template> |
| | | <div class="connect" id="connect" ref="connect" @mouseup="mouseup"> |
| | | <div class="answer" @mousemove="mousemove"> |
| | | <div class="connect" id="connect" ref="connect" @mousemove="mousemove" @mouseup="(e) => touchend(e)"> |
| | | <div class="answer" > |
| | | <div class="answer-box"> |
| | | <div |
| | | class="answer-box-item" |
| | |
| | | v-for="(item, index) in rightArr" |
| | | :key="index" |
| | | ref="right" |
| | | @mouseup="(e) => touchend(e, item, index)" |
| | | > |
| | | {{ item.label.txt }} |
| | | </div> |
| | |
| | | scrollTop: 0, |
| | | debounce: false, |
| | | checkItem: null, |
| | | checkItemIndex:null |
| | | }; |
| | | }, |
| | | props: { |
| | |
| | | }); |
| | | }, |
| | | // 触摸结束 |
| | | touchend(e, item, index) { |
| | | console.log("抬起", e,item); |
| | | touchend(e, index) { |
| | | console.log("抬起", e,this.checkItem); |
| | | this.isDragging = false; |
| | | if (this.item.showAnswer) { |
| | | return false; |
| | |
| | | this.canvasB.clearRect(0, 0, this.clientWidth, this.clientHeight); |
| | | // 如果不是右边的dom 直接把 线 干掉 -- 证明不是 没有拖到右边上 |
| | | if (!right) { |
| | | item.line = []; |
| | | this.checkItem.line = []; |
| | | return; |
| | | } |
| | | // 如果已有的不是我自己 直接替换掉上一个的 |
| | | if (item.value[0] !== right.index) { |
| | | if (this.checkItem.value[0] !== right.index) { |
| | | let model = this.leftArr.find((r) => r.value[0] === right.index); |
| | | if (model) { |
| | | model.value = []; |
| | | model.line = []; |
| | | } |
| | | item.value = [right.index]; |
| | | this.checkItem.value = [right.index]; |
| | | } |
| | | // 重新赋值 线的 x y 轴 |
| | | item.line = this.attachment(index, right.index); |
| | | this.checkItem.line = this.attachment(this.checkItemIndex, right.index); |
| | | this.drawing(); |
| | | let model = this.leftArr |
| | | .map((r, i) => { |
| | |
| | | }; |
| | | }) |
| | | .filter((r) => r.right !== undefined); |
| | | this.$emit("input", model); |
| | | // this.$emit("input", model); |
| | | this.item.userChoise = model; |
| | | console.log(JSON.stringify(model)); |
| | | // console.log(JSON.stringify(model)); |
| | | }, |
| | | // 触摸开始 |
| | | touchstart(e, item) { |
| | | touchstart(e, item,index) { |
| | | this.isDragging = true; |
| | | console.log("按下", e); |
| | | this.checkItem = item |
| | | this.checkItemIndex = index |
| | | e.stopPropagation(); |
| | | // let event = e.targetTouches[0]; |
| | | item.line = [ |
| | |
| | | // 移动中 |
| | | mousemove(e) { |
| | | if (!this.isDragging) return false; |
| | | console.log("移动", e); |
| | | if (this.item.showAnswer) { |
| | | return false; |
| | | } |
| | | // let event = e.targetTouches[0]; |
| | | console.log('移动',e); |
| | | this.checkItem.line[2] = e.pageX; |
| | | this.checkItem.line[3] = |
| | | e.pageY - this.$refs.connect.getBoundingClientRect().y + this.scrollTop; |