This commit is contained in:
JyuHsin
2024-12-06 08:47:16 +08:00
parent 035b0a46c7
commit c957e2ddd4
20 changed files with 580 additions and 181 deletions
@@ -67,8 +67,8 @@
<script src="${base!}/assets/platform/plugins/echarts/macarons.js"></script><!--主题-->
<script src="${base!}/assets/platform/plugins/echarts/echarts.js"></script>
<script src="${base!}/assets/platform/plugins/echarts/langZH.js"></script>
<!-- <script src="https://cdn.staticfile.org/echarts/5.2.2/echarts.js"></script>-->
<!-- <script src="https://cdn.staticfile.org/echarts/5.2.2/i18n/langZH.js"></script>-->
<!-- <script src="https://cdn.staticfile.org/echarts/5.2.2/echarts.js"></script>-->
<!-- <script src="https://cdn.staticfile.org/echarts/5.2.2/i18n/langZH.js"></script>-->
<script src="${base!}/assets/platform/module/mixins/initTableMixins.js?v=1.0.3"></script>
@@ -441,7 +441,7 @@
secondMenus: {},
userDefaultModuleId: null,
menuPopover: false,
appModuleId:""
appModuleId: ""
}
},
methods: {
@@ -609,13 +609,12 @@
const selectEntranceModuleStr = window.sessionStorage.getItem('selectEntranceModule')
if (selectEntranceModuleStr) {
this.selectEntranceModule = JSON.parse(selectEntranceModuleStr)
this.appModuleId = this.selectEntranceModule.id
}
this.appModuleId=this.selectEntranceModule.id
await this.getEntranceModule()
await this.getFirstMenus(this.selectEntranceModule.id)
await this.getSecondMenus()
this.setAttr()
// let pjax_url = window.sessionStorage.getItem('pjax_url')
// pjax_url = pjax_url.replace(window.location.origin, '')
// $.pjax({
@@ -53,8 +53,8 @@
<script src="https://res.wx.qq.com/open/js/jweixin-1.6.0.js"></script>
<script src="${base!}/assets/platform/js/scannerQrCodeJs.js"></script>
<script type="text/javascript"
src="https://webapi.amap.com/maps?v=2.0&key=57f0d098ba1b881ecc436c4cfd23bbbf&plugin=AMap.PolyEditor,AMap.Geolocation"></script>
<!-- <script type="text/javascript"-->
<!-- src="https://webapi.amap.com/maps?v=2.0&key=57f0d098ba1b881ecc436c4cfd23bbbf&plugin=AMap.PolyEditor,AMap.Geolocation"></script>-->
<script src="https://cdn-go.cn/cdn/vod-js-sdk-v6/latest/vod-js-sdk-v6.js"></script>
<link href="https://web.sdk.qcloud.com/player/tcplayer/release/v4.5.2/tcplayer.min.css" rel="stylesheet"/>
@@ -157,26 +157,30 @@ layout("/mobile/platform.html"){
<div class="page-survey" style="touch-action: manipulation;min-height: 100vh;">
<div class="survey-container">
<!-- v-if="questionData.qlx==2 && (questionData.ctMode==1 || questionData.ctMode==2)"-->
<div class="survey-head-top">
<template>
<div v-if="questionData.qlx==2 && questionData.ctMode==2 && isSameDay && randomCount > 0"
class="randomCount"
@click="openRandomCount">
第<span>{{randomCount}}</span>轮
</div>
<div v-if="questionData.qlx==2 && (questionData.ctMode==1 || (questionData.ctMode==2 && !isSameDay))"
class="randomCount"
@click="openRandomCount">
<!--定时定题 可切换时间查看以前的题目-->
<span>{{currentDate}}</span>
</div>
</template>
<div class="survey-head-top" v-if="finishAnswer && ( currentScore || currentScore===0 )">
<!-- <template>-->
<!-- <div v-if="questionData.qlx==2 && questionData.ctMode==2 && isSameDay && randomCount > 0"-->
<!-- class="randomCount"-->
<!-- @click="openRandomCount">-->
<!-- 第<span>{{randomCount}}</span>轮-->
<!-- </div>-->
<!-- <div v-if="questionData.qlx==2 && (questionData.ctMode==1 || (questionData.ctMode==2 && !isSameDay))"-->
<!-- class="randomCount"-->
<!-- @click="openRandomCount">-->
<!-- &lt;!&ndash;定时定题 可切换时间查看以前的题目&ndash;&gt;-->
<!-- <span>{{currentDate}}</span>-->
<!-- </div>-->
<!-- </template>-->
<div class="score" v-if="finishAnswer && ( currentScore || currentScore===0 )">
{{questionData.calcScoreMode==1?'今日最高成绩':'得分'}}{{currentScore}}
最新得分{{currentScore}}
<!-- {{questionData.calcScoreMode==1?'最高成绩':'得分'}}{{currentScore}}-->
</div>
<div class="timer" v-if="questionData.enableTimer && !finishAnswer">
<span>剩余时间:{{remainder}}</span>
<div class="" style="margin-left: 5px;color: #1989fa" @click="viewHistoryScore">
查看历史得分
</div>
<!-- <div class="timer" v-if="questionData.enableTimer && !finishAnswer">-->
<!-- <span>剩余时间:{{remainder}}</span>-->
<!-- </div>-->
</div>
<div class="survey-head">
<div class="title">
@@ -196,8 +200,8 @@ layout("/mobile/platform.html"){
{{issue.iisdx?'单选':'多选'}}
</van-tag>
</template>
<!-- <van-tag v-if="issue.fraction" type="primary" size="large">{{issue.fraction}}分-->
<!-- </van-tag>-->
<van-tag v-if="issue.fraction" type="primary" size="large">{{issue.fraction}}分
</van-tag>
</div>
<h2 class="question-title">
<span class="question-seq">
@@ -267,6 +271,15 @@ layout("/mobile/platform.html"){
close-on-click-action
></van-action-sheet>
<van-action-sheet v-model="historyScorePopup" title="历史得分记录">
<van-cell-group style="min-height: 500px">
<van-cell v-for="item in historyScores">
<div slot="title">第{{item.answerNum}}次</div>
<div style="font-weight: bold;color: #000000">{{item.score}}分</div>
</van-cell>
</van-cell-group>
</van-action-sheet>
</div>
</div>
@@ -310,7 +323,11 @@ layout("/mobile/platform.html"){
//答题时间(使用秒)
countDownSeconds: 0,
//剩余时间
remainder: null
remainder: null,
//历史分数
historyScores:[],
historyScorePopup:false
}
},
@@ -362,6 +379,14 @@ layout("/mobile/platform.html"){
},
methods: {
viewHistoryScore(){
$.get(BASE_URL+"/historyScore",{questionId:this.id}).then(res=>{
if(res.code===0){
this.historyScores = res.data
this.historyScorePopup = true
}
})
},
openRandomCount() {
this.randomCountSheetShow = true
this.randomActions = []
@@ -573,7 +598,20 @@ layout("/mobile/platform.html"){
answerAgain() {
if(this.questionData.ctMode===3){
location.reload()
$.post(BASE_URL+'/answerAgainCommon',{id:this.id}).then(resp=>{
if(resp.code===0){
this.questionData = resp.data
this.finishAnswer = false
setTimeout(() => {
this.questionData.issues.forEach(issue => {
issue.wors.forEach(wor => {
this.$refs['checkboxes' + wor.wid][0].toggle(false)
})
})
}, 0)
this.checkTimer()
}
})
}else{
this.finishAnswer = false
setTimeout(() => {
@@ -653,7 +691,16 @@ layout("/mobile/platform.html"){
} else {
this.countDownSeconds = this.countDownSeconds - 1
}
},
getHistoryScore(){
$.get(BASE_URL+"/historyScore",{questionId:this.id}).then(res=>{
if(res.code===0){
this.historyScores = res.data
}
})
}
},
async created() {
if (this.timerInterval) {
@@ -666,6 +713,7 @@ layout("/mobile/platform.html"){
await this.checkUserFinishAnswer()
await this.getScore()
await this.checkTimer()
this.getHistoryScore()
this.mLoading = false
}
})
@@ -63,7 +63,7 @@ const onlineAnswer = {
<el-col :span="1" v-if="issue.row.fraction">
<span>({{issue.row.fraction}}分)</span>
</el-col>
<el-col :span="23">
<el-col :span="23" style="display: flex">
<span v-html="issue.row.iname"></span>
<span v-if="issue.row.itx===1" size="mini" style="font-weight: bold">
({{issue.row.iisdx ? '单选' : '多选'}})
@@ -74,7 +74,7 @@ const onlineAnswer = {
<div style="color: rgb(160,160,160)" v-html="issue.row.its"
v-if="!isNull(issue.row.its)"></div>
</el-row>
<el-row v-if="issue.row.itx==1">
<el-row>
<el-row v-for="wor,idx in issue.row.wors">
<el-row style="margin-top: 5px" v-if="wor.wimg">
<el-image
@@ -22,8 +22,7 @@ const batchInsert = {
<div style="height: 100%;width: 50%;overflow: auto;padding: 20px 10px 10px">
<div v-for="(issue,index) in issues" :key="index" style="margin-bottom: 10px">
<div style="display: flex">
<div>{{index+1}}、</div>
<div>{{issue.iname}}</div>
<div>{{index+1}}、{{issue.iname}}</div>
</div>
<div v-if="issue.wors">
<el-radio-group v-if="issue.iisdx">
@@ -539,7 +539,7 @@ layout("/layouts/platform.html"){
<div style="color: rgb(160,160,160)" v-html="issue.row.its"
v-if="!isNull(issue.row.its)"></div>
</el-row>
<el-row v-if="issue.row.itx==1">
<el-row v-if="issue.row.itx==1 || issue.row.itx==3">
<el-row v-for="wor,idx in issue.row.wors">
<el-row style="margin-top: 5px" v-if="wor.wimg">
<el-image
@@ -863,7 +863,7 @@ layout("/layouts/platform.html"){
:key="item.x"
:label="item.y"
:value="item.x"
v-for="item in [{x:1,y:'选择题'},{x:2,y:'填空题'}]">
v-for="item in [{x:1,y:'选择题'},{x:2,y:'填空题'},{x:3,y:'判断题'}]">
</el-option>
</el-select>
</div>
@@ -928,9 +928,9 @@ layout("/layouts/platform.html"){
</el-date-picker>
</el-row>
<template v-if="issueData[currentModifyIssueIndex].itx===1">
<template v-if="issueData[currentModifyIssueIndex].itx===1 || issueData[currentModifyIssueIndex].itx===3">
<vi-title2 title="选项设置"></vi-title2>
<el-row v-if="currentModifyIssue.itx==1">
<el-row v-if="currentModifyIssue.itx==1 || currentModifyIssue.itx==3">
<el-table :data="issueData[currentModifyIssueIndex].wors" border
style="width: 100%;margin-top: 10px;">
<el-table-column header-align="center" label="选项文字" property="wtxt">
@@ -942,6 +942,7 @@ layout("/layouts/platform.html"){
</template>
</el-table-column>
<el-table-column label="图片" align="center" header-align="center"
v-if="currentModifyIssue.itx==1"
width="150px">
<template slot-scope="scope">
<el-upload
@@ -967,6 +968,7 @@ layout("/layouts/platform.html"){
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="说明"
v-if="currentModifyIssue.itx==1"
property="wsm" width="250px">
<template slot-scope="scope">
<el-input
@@ -984,6 +986,7 @@ layout("/layouts/platform.html"){
</template>
</el-table-column>
<el-table-column align="center" header-align="center" label="链接"
v-if="currentModifyIssue.itx==1"
property="wlj" width="150px">
<template slot-scope="scope">
<el-input
@@ -1007,6 +1010,7 @@ layout("/layouts/platform.html"){
</template>
</el-table-column>-->
<el-table-column align="center" header-align="center" label="默认选中"
v-if="currentModifyIssue.itx==1"
property="wismr"
width="80px">
<template slot-scope="scope">
@@ -7,7 +7,7 @@ const activity = {
<div style="width: 100%">
<div style="background-color: #fff; position: relative; margin-bottom: 10px">
<div style="display: flex; justify-content: center; align-items: center">
<el-image :src="CREATE_PREVIEW_URL(item.cover.id)" alt="" fit="fill"
<el-image :src="'/file_server/fileStreamPreview?id='+item.cover.filepath" alt="" fit="fill"
style="margin: 3px 14px 0 0; width: 100px; height: 70px; border-radius: 8px">
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline"></i>
@@ -39,7 +39,7 @@ const appModule = {
created() {
this.getEntranceModule()
setTimeout(() => {
this.id = headerNavBarVueApp.appModuleId
}, 100)
// this.id = headerNavBarVueApp.appModuleId
}, 400)
}
}
@@ -37,6 +37,7 @@ const quickEntry = {
})*/
},
menuClick(item) {
// location.href=item.url
sublime.jumpPagePjax(item.url)
}
},