完善考试页和开发考试结算页

This commit is contained in:
田岩
2025-08-13 18:03:33 +08:00
parent bdf96bb74b
commit a62a5f611e
24 changed files with 1215 additions and 88 deletions
@@ -11,6 +11,10 @@
</view>
<view class="right">
<view class="mark_and_feedback_div">
<image :src="markIcon(props.item.mark?'#0066FF':'#ABABAB')" class="img" @click="mark_click()"></image>
<image :src="feedbackIcon()" class="img" @click="feedback_click()"></image>
</view>
<!-- <view class="right_text">展开</view>
<uv-icon class="arrow-icon" name="arrow-right"></uv-icon> -->
</view>
@@ -36,6 +40,9 @@
} from 'vue'
import questionVue from './question.vue';
import radioSubjectItem from './radio-subject-item.vue'
import {
markIcon,feedbackIcon
} from '@/common/imgSvg'
import {
SUBJECT_TYPE
} from '@/enum.js'
@@ -59,7 +66,7 @@
},
});
const emit = defineEmits(['subject_click'])
const talkingInfo = ref({
id: '3',
intrctWay: "",
@@ -79,11 +86,12 @@
}
}
})
// "chatId": "CHAT025018122068202508081709060000000000000000000000000000000098",
// "fileId": "S3F0250181220722025080817090600000476885",
// "ossFileAddr": "http://25.18.122.66::9786/traoss/show//S3F0250181220722025080817090600000476885",
// "transContent": "一二三四。"
// const activeVoiceId = ref()
const feedback_click = () =>{
emit('subject_click', 'feedback', props.item)
}
const mark_click = () =>{
emit('subject_click', 'mark', props.item)
}
const customStyle = {
borderRadius: '16rpx',
@@ -91,9 +99,7 @@
backgroundColor: '#0066FF',
border: '1rpx solid rgb(12, 123, 245)',
}
const emit = defineEmits(['click_option'])
const subject_data = reactive({
qnsId: '',
qnsContent: '',
@@ -114,6 +120,18 @@
</script>
<style scoped lang="scss">
.mark_and_feedback_div{
display: flex;
height: 100%;
justify-content: end;
align-items: center;
.img{
width: 38rpx;
height: 38rpx;
margin-left: 4rpx;
padding: 4rpx;
}
}
.option_div {
padding-top: 46rpx;
@@ -64,7 +64,6 @@
})
const click_option = () => {
console.log('props.analysisVo.itemId', props.analysisVo.itemId);
emit('click_option', props.analysisVo)
}
+32 -11
View File
@@ -11,6 +11,10 @@
</view>
<view class="right">
<view class="mark_and_feedback_div">
<image :src="markIcon(props.item.mark?'#0066FF':'#ABABAB')" class="img" @click="mark_click()"></image>
<image :src="feedbackIcon()" class="img" @click="feedback_click()"></image>
</view>
<!-- <view class="right_text">展开</view>
<uv-icon class="arrow-icon" name="arrow-right"></uv-icon> -->
</view>
@@ -39,6 +43,9 @@
toRaw
} from 'vue'
import radioSubjectItem from './radio-subject-item.vue'
import {
markIcon,feedbackIcon
} from '@/common/imgSvg'
import {
SUBJECT_TYPE
} from '@/enum.js'
@@ -48,7 +55,7 @@
backgroundColor: '#0066FF',
border: '1rpx solid rgb(12, 123, 245)',
}
const emit = defineEmits(['click_option'])
const emit = defineEmits(['subject_click'])
const props = defineProps({
item: {
type: Object,
@@ -59,7 +66,14 @@
required: true,
}
});
const feedback_click = () =>{
emit('subject_click', 'feedback', props.item)
}
const mark_click = () =>{
emit('subject_click', 'mark', props.item)
}
const subject_data = reactive({
qnsId: '',
qnsContent: '',
@@ -80,11 +94,8 @@
const subject_type_text = computed(() => SUBJECT_TYPE.find(res => subject_data.qnsTyp === res.value)?.label || '')
// 点击答题
const click_option = (analysisVo) => {
// emit('click_option', props.item.qnsId, analysisVo)
// // 无论什么类型如果表里已经有了,再次点击就是弹出
if (props.item.my_answer.includes(analysisVo.itemId)) {
// console.log('无论什么类型如果表里已经有了,再次点击就是弹出', analysisVo.itemId);
props.item.my_answer = props.item.my_answer.filter(id => id !== analysisVo.itemId);
}
else if (props.item.qnsTyp === 'SN') { // 单选
@@ -102,6 +113,18 @@
</script>
<style scoped lang="scss">
.mark_and_feedback_div{
display: flex;
height: 100%;
justify-content: end;
align-items: center;
.img{
width: 38rpx;
height: 38rpx;
margin-left: 4rpx;
padding: 4rpx;
}
}
.option_div_button{
width: 100%;
height: 84rpx;
@@ -117,11 +140,10 @@
display: flex;
flex-direction: column;
padding-bottom: 40rpx;
.top {
display: flex;
align-items: center;
.type {
width: 108rpx;
height: 46rpx;
@@ -146,20 +168,19 @@
.right {
display: flex;
align-items: center;
.right_text {
font-family: PingFangSC;
font-weight: 600;
font-size: 28rpx;
color: #333;
line-height: 40rpx;
text-align: left;
font-style: normal;
}
}
}
.question_text {
font-family: PingFangSC;
font-weight: 500;