From ff0c5bb9f8136d5b9404b0c0a00f37911456ff41 Mon Sep 17 00:00:00 2001 From: yj <2077506045@qq.com> Date: 星期一, 25 十一月 2024 11:51:56 +0800 Subject: [PATCH] 更新CAQ --- src/views/exam/paper/intelligence.vue | 65 +++++++++++++++++++++++++++----- 1 files changed, 54 insertions(+), 11 deletions(-) diff --git a/src/views/exam/paper/intelligence.vue b/src/views/exam/paper/intelligence.vue index 0ec0938..3b2a236 100644 --- a/src/views/exam/paper/intelligence.vue +++ b/src/views/exam/paper/intelligence.vue @@ -4,18 +4,18 @@ <el-header class="align-center" v-if="guide"> <h1></h1> </el-header> - <el-main style="padding-top: 3%;"> + <el-main style=""> <div v-html="guideDescirption" v-if="guide" :style="ismobile?'padding-top: 2%;':'padding-top: 2%;margin: 0 auto;width:66%'"></div> <el-row class="do-align-center" v-if="guide"> <el-button @click="startDo" type="primary" :disable="startDoDisable">{{$t('start')}}</el-button> </el-row > <el-form :model="form" ref="form" v-loading="formLoading" label-width="100%" v-else> - <el-row :key="index" v-for="(titleItem,index) in titleItems"> + <el-row :key="index" v-for="(titleItem,index) in titleItems" ref="titleItem"> <div class="q-content">{{titleItem.description}}</div> - <el-card class="exampaper-item-box" style="border:2px solid #2b90ff;"> - <div class="align-center"><span style="font-size: small; float: left">{{$t('examinee')}}{{memberName}}</span><span style="margin-top: 0px;padding-right: 11%">鈼弡{form.name}}鈼�</span><span style="font-size: small; float: right">{{$t('partRemailTime')}}{{formatSecondsG(remainTime,$t('hour'),$t('min'),$t('second'))}}</span></div> - <hr style="border : 1px dashed #b3d8ff;" /> - <el-form-item :key="index" label-width="1px" v-for="(questionItem, index) in questionItems"> + <el-card class="exampaper-item-box" style="border:2px solid #2b90ff;" :body-style="{padding: '0px 20px 20px 20px' }"> + <div class="align-center" style="padding-top:20px;height:50px;position: sticky;top: 0px; z-index: 1; background-color: white;"><span style="font-size: small; float: left">{{$t('examinee')}}{{memberName}}</span><span style="margin-top: 0px;padding-right: 11%">鈼弡{form.name}}鈼�</span><span style="font-size: small; float: right">{{$t('partRemailTime')}}{{formatSecondsG(remainTime,$t('hour'),$t('min'),$t('second'))}}</span></div> + <hr style="margin:0px;border : 1px dashed #b3d8ff;position: sticky;top: 50px; z-index: 1; background-color: white;" /> + <el-form-item :class="(questionItem.questionType==1 && questionItem.template==='intelligence_title')?'fixed-div':''" :key="index" label-width="1px" v-for="(questionItem, index) in questionItems"> <QuestionIntelligenceEdit @callNextSubject="onChoice" :qType="questionItem.questionType" :question="questionItem" :answer="answer.answerItems[questionItem.itemOrder-1]" :qLabel="questionItem.questionNumber" :order = "questionItem.itemOrder-1" :displayVal="displayVal"/> </el-form-item> @@ -36,15 +36,15 @@ </el-main> </el-container> - <el-row class="do-exam-title footer"> - <el-col :span="24"> + <!-- <el-row class="do-exam-title footer"> --> + <!-- <el-col :span="24"> --> <!--娴嬭瘯鐨勬椂鍊欐墦寮�--> <!--<span class="do-exam-time">--> <!--<label>{{$t('remainingTime')}}</label>--> <!--<label>{{formatSecondsG(remainTime,$t('hour'),$t('min'),$t('second'))}}</label>--> <!--</span>--> - </el-col> - </el-row> + <!-- </el-col> --> + <!-- </el-row> --> </div> </template> @@ -179,7 +179,15 @@ }) } }, - mounted () { + updated () { + // const elements = document.querySelectorAll('.exampaper-item-box') + // if (elements) { + // elements.forEach(element => { + // if (element) { + // element.addEventListener('scroll', this.handleCardScroll, true) + // } + // }) + // } }, beforeDestroy () { window.clearInterval(this.timer) @@ -188,6 +196,27 @@ window.removeEventListener('beforeunload', e => this.beforeunloadFn(e)) }, methods: { + handleCardScroll (e) { + const scrollTop = e.target.scrollTop; + const elements = e.target.querySelectorAll('.q-title p img') + if (scrollTop > 200) { + elements.forEach(element => { + element.style.transition = 'width 0.5s ease-in-out' + element.style.width = '30%' + }) + } + if (scrollTop === 0) { + elements.forEach(element => { + if (elements.length > 1) { + element.style.transition = 'width 0.5s ease-in-out' + element.style.width = '50%' + } else { + element.style.transition = 'width 0.5s ease-in-out' + element.style.width = '50%' + } + }) + } + }, beforeunloadFn (e) { if (!this.isSubmiting) { if (this.isLastQuestionOrderNum(this.order)) { @@ -816,4 +845,18 @@ z-index: 1000; bottom: 0px; } + + .exampaper-item-box { + position: relative; + overflow-y: auto; /* 鍏佽鍐呭婊氬姩 */ + height: calc(100vh - 110px); /* 鏍规嵁闇�瑕佽缃洅瀛愮殑鏈�澶ч珮搴� */ + } + + .fixed-div { + position: sticky; + top: 51px; /* 鍥哄畾鍦ㄧ洅瀛愮殑椤堕儴 */ + background-color: white; /* 鑳屾櫙棰滆壊浠ヨ鐩栨粴鍔ㄥ唴瀹� */ + z-index: 1; /* 纭繚鏍囬鍦ㄦ粴鍔ㄦ椂楂樹簬鍏朵粬鍐呭 */ + border-bottom: 1px dotted #ccc; + } </style> -- Gitblit v1.9.1