Merge branch 'dev-20250930' of http://25.13.9.101:9000/K17_AITS/tra-app into dev-20250930
This commit is contained in:
@@ -63,5 +63,13 @@ export const queryCrsExamScore = (data) => {
|
||||
};
|
||||
|
||||
|
||||
|
||||
// 试卷考试 排行榜
|
||||
export const queryCrsExamScore = (data) => {
|
||||
return request({
|
||||
url: base_url + '/traExamPapers/queryPaperExamRankingList',
|
||||
method: 'post',
|
||||
toastErrors: true,
|
||||
data
|
||||
});
|
||||
};
|
||||
|
||||
@@ -64,8 +64,8 @@
|
||||
参考答案:{{ dataInfo.itemAnswer }}
|
||||
</view>
|
||||
<!-- 举例预览 -->
|
||||
<view class="talking-text" v-if="type === 3 && dataInfo.knoExampie " style="overflow: hidden;">
|
||||
举例:{{ dataInfo.knoExampie }}
|
||||
<view class="talking-text" v-if="type === 3 && dataInfo.exampie " style="overflow: hidden;">
|
||||
举例:{{ dataInfo.exampie }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="btns-cont" v-show="!dataInfo.isLoading">
|
||||
|
||||
@@ -57,8 +57,8 @@
|
||||
参考答案:{{ dataInfo.itemAnswer }}
|
||||
</view>
|
||||
<!-- 举例预览 -->
|
||||
<view class="talking-text" v-if="type === 3 && dataInfo.knoExampie " style="overflow: hidden;">
|
||||
举例:{{ dataInfo.knoExampie }}
|
||||
<view class="talking-text" v-if="type === 3 && dataInfo.exampie " style="overflow: hidden;">
|
||||
举例:{{ dataInfo.exampie }}
|
||||
</view>
|
||||
</view>
|
||||
<view class="btns-cont" v-show="!dataInfo.isLoading" v-if="!([3, 8, 4].indexOf(type) >= 0)">
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
<view class="course-study-body">
|
||||
<view class="body-title">
|
||||
<uv-icon class="arrow-icon" name="arrow-left" @click="backRouter()" />
|
||||
课程学习记录
|
||||
{{ recordTitle }}
|
||||
</view>
|
||||
<scroll-view class="talking-list" :scroll-y="true" :scroll-top="scrollTop" :show-scrollbar="false"
|
||||
:scroll-with-animation="true">
|
||||
@@ -40,9 +40,10 @@
|
||||
|
||||
const activeVoiceTalkingItemId = ref('')
|
||||
const chooseRate = ref('1.0')
|
||||
|
||||
const recordTitle = ref('')
|
||||
onLoad((params) => {
|
||||
stdyId.value = params.stdyId
|
||||
recordTitle.value = params.crsName || '课程学习记录'
|
||||
getRecordInfo()
|
||||
})
|
||||
const talkingRecord = ref([])
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<view class="ranking-box">
|
||||
|
||||
<view class="nav-div">
|
||||
<view class="back_div">
|
||||
<view class="back_div" @click="backRouter()">
|
||||
<view class="back-icon"></view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -28,7 +28,7 @@
|
||||
</view>
|
||||
<view class="user-column">
|
||||
<view class="avatar-box">
|
||||
<image-preview class="avatar-image" :src="item.ossAddr" mode="aspectFit"></image-preview>
|
||||
<image-preview class="avatar-image" :src="item.ossKey" mode="aspectFit"></image-preview>
|
||||
</view>
|
||||
<view class="user-name">{{item.userName}}</view>
|
||||
<view class="user-org">{{item.orgName}}</view>
|
||||
@@ -47,7 +47,7 @@
|
||||
</view>
|
||||
<view class="user-column">
|
||||
<view class="avatar-box">
|
||||
<image-preview class="avatar-image" :src="userRankObj.ossAddr" mode="aspectFit"></image-preview>
|
||||
<image-preview class="avatar-image" :src="userRankObj.ossKey" mode="aspectFit"></image-preview>
|
||||
</view>
|
||||
<view class="user-name">{{userRankObj.userName}}</view>
|
||||
<view class="user-org">{{userRankObj.orgName}}</view>
|
||||
@@ -61,27 +61,45 @@
|
||||
|
||||
<script>
|
||||
import { queryTraCrsRankingList } from "@/api/courseDetail.js"
|
||||
import { queryCrsExamScore } from "@/api/examination.js"
|
||||
import common from '@/common/common'
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
crsId:'',
|
||||
crsId: '',
|
||||
papersId : '',
|
||||
userList: [],
|
||||
userRankObj:{}
|
||||
}
|
||||
},
|
||||
onLoad(params){
|
||||
this.crsId = params.crsId
|
||||
this.getList()
|
||||
this.crsId = params.crsId || ''
|
||||
this.papersId = params.papersId || ''
|
||||
if(this.crsId){
|
||||
this.getList()
|
||||
}else{
|
||||
this.getExamList()
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
getList(){
|
||||
queryTraCrsRankingList({
|
||||
crsId: this.crsId
|
||||
}).then(res=>{
|
||||
console.log(res)
|
||||
this.userList = res.body.rankingListVos||[]
|
||||
this.userRankObj = res.body
|
||||
})
|
||||
},
|
||||
getExamList(){
|
||||
queryCrsExamScore({
|
||||
papersId : this.papersId
|
||||
}).then(res=>{
|
||||
this.userList = res.body.rankingListVos||[]
|
||||
this.userRankObj = res.body
|
||||
})
|
||||
},
|
||||
backRouter(){
|
||||
common.navigateBack()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,14 +20,14 @@
|
||||
<view class="link-item" v-for="(item, index) in fileList" @click.stop="previewFile(item)">{{index+1}}. {{item.docName}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view :class="['link-cont', activeNames.indexOf(2) >= 0 ? 'is-active' : '']">
|
||||
<view :class="['link-cont', activeNames.indexOf(2) >= 0 ? 'is-active' : '']" v-if="crsList.length > 0">
|
||||
<view class="link-info" @click="changeActive(2)">
|
||||
<view class="info-text">
|
||||
发现{{3}}个关联课程
|
||||
发现{{crsList.length}}个关联课程
|
||||
</view>
|
||||
</view>
|
||||
<view class="link-items">
|
||||
<view class="link-item" v-for="(item, index) in 5">{{index+1}}. {{item}}</view>
|
||||
<view class="link-item" v-for="(item, index) in crsList" @click.stop="previewCrs(item)">{{index+1}}. {{item.crsName}}</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@@ -58,6 +58,7 @@
|
||||
watch
|
||||
} from 'vue'
|
||||
import MarkdownPreview from '@/components/markdown-preview/markdown-preview.vue';
|
||||
import common from '@/common/common';
|
||||
|
||||
const emit = defineEmits(['handleEvents'])
|
||||
const props = defineProps({
|
||||
@@ -89,6 +90,7 @@
|
||||
})
|
||||
const mdText = computed(() => props.dataInfo?.talkingText)
|
||||
const fileList = computed(() => props.dataInfo?.talkingFiles || [])
|
||||
const crsList = computed(()=> props.dataInfo?.talkingCrsList || [])
|
||||
const activeNames = ref([1, 2])
|
||||
|
||||
const changeActive = (val) => {
|
||||
@@ -113,6 +115,9 @@
|
||||
const previewFile = (item) => {
|
||||
emit('handleEvents', 'preview', item)
|
||||
}
|
||||
const previewCrs = (item) => {
|
||||
common.navigateTo('/pages/courseDetail/index?crsId=' + item.crsId)
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
@@ -234,7 +239,7 @@
|
||||
|
||||
.link-cont {
|
||||
margin-bottom: 12rpx;
|
||||
|
||||
font-size: 28rpx;
|
||||
.link-info {
|
||||
height: 50rpx;
|
||||
line-height: 50rpx;
|
||||
@@ -270,7 +275,7 @@
|
||||
}
|
||||
|
||||
.link-items {
|
||||
max-height: 500rpx;
|
||||
max-height: 600rpx;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -309,7 +309,8 @@
|
||||
askData: {
|
||||
...askData.value
|
||||
},
|
||||
talkingFiles: []
|
||||
talkingFiles: [],
|
||||
talkingCrsList: []
|
||||
})
|
||||
} else if (body.event === 'token') {
|
||||
answerIsOver.value = false
|
||||
@@ -320,7 +321,9 @@
|
||||
} else if (body.event === 'sourceDocuments') {
|
||||
console.log('回答返回文件列表!')
|
||||
if (talkingList.value.length === 0) return
|
||||
talkingList.value[talkingList.value.length - 1].talkingFiles = JSON.parse(body.data) || []
|
||||
let _data = JSON.parse(body.data) || {}
|
||||
talkingList.value[talkingList.value.length - 1].talkingFiles = _data.knowledgeList||[]
|
||||
talkingList.value[talkingList.value.length - 1].talkingCrsList = _data.crsList||[]
|
||||
}
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user