main
unknown 2024-04-30 13:49:11 +08:00
parent 2a633adb5f
commit d493730d19
1 changed files with 56 additions and 40 deletions

View File

@ -44,7 +44,9 @@
:customStyle="{ margin: '8px' }" :customStyle="{ margin: '8px' }"
v-for="(op, i) in item.options" v-for="(op, i) in item.options"
:activeColor=" :activeColor="
(op.selected!=op.is_true && op.selected) ? '#e3e3e3' : '#3678f7' op.selected != op.is_true && op.selected
? '#e3e3e3'
: '#3678f7'
" "
:key="i" :key="i"
:label="op.text" :label="op.text"
@ -53,9 +55,13 @@
<view class="flex items-center"> <view class="flex items-center">
<view>{{ op.text }}</view> <view>{{ op.text }}</view>
<uv-icon <uv-icon
v-if="op.selected || op.is_true" v-if="(op.selected || op.is_true)&& readonly"
:color="op.is_true&&op.selected ? '#4caf50' : '#ee2c37'" :color="
:name="op.is_true&&op.selected ? 'checkbox-mark' : 'close'" op.is_true && op.selected ? '#4caf50' : '#ee2c37'
"
:name="
op.is_true && op.selected ? 'checkbox-mark' : 'close'
"
></uv-icon> ></uv-icon>
</view> </view>
</uv-checkbox> </uv-checkbox>
@ -78,7 +84,7 @@
<view class="flex items-center"> <view class="flex items-center">
<view>{{ op.text }}</view> <view>{{ op.text }}</view>
<uv-icon <uv-icon
v-if="op.selected" v-if="op.selected && readonly"
:color="op.is_true ? '#ee2c37' : '#5ac725'" :color="op.is_true ? '#ee2c37' : '#5ac725'"
:name="op.is_true ? 'checkbox-mark' : 'close'" :name="op.is_true ? 'checkbox-mark' : 'close'"
></uv-icon> ></uv-icon>
@ -95,7 +101,9 @@
:customStyle="{ margin: '8px' }" :customStyle="{ margin: '8px' }"
v-for="(op, i) in item.options" v-for="(op, i) in item.options"
:activeColor=" :activeColor="
(op.selected!=op.is_true && op.selected) ? '#e3e3e3' : '#3678f7' op.selected != op.is_true && op.selected
? '#e3e3e3'
: '#3678f7'
" "
:key="i" :key="i"
:label="op.text" :label="op.text"
@ -104,9 +112,15 @@
<view class="flex items-center"> <view class="flex items-center">
<view>{{ op.text }}</view> <view>{{ op.text }}</view>
<uv-icon <uv-icon
v-if="op.selected || op.is_true" v-if="(op.selected || op.is_true) && readonly"
:color="op.is_true&&op.selected ? '#4caf50' : '#ee2c37'" :color="
:name="op.is_true&&op.selected ? 'checkbox-mark' : 'close'" op.is_true && op.selected ? '#4caf50' : '#ee2c37'
"
:name="
op.is_true && op.selected
? 'checkbox-mark'
: 'close'
"
></uv-icon> ></uv-icon>
</view> </view>
</uv-checkbox> </uv-checkbox>
@ -148,19 +162,21 @@ const loading = ref(false)
const list = computed(() => { const list = computed(() => {
const content = info.value?.content ?? [] const content = info.value?.content ?? []
content.forEach((item) => { content.forEach((item) => {
if (readonly.value) {
const trueIndices = item.options.reduce((indices, item, index) => { const trueIndices = item.options.reduce((indices, item, index) => {
if (item.is_true || item.selected) { if (item.is_true || item.selected) {
indices.push(index) indices.push(index)
} }
return indices return indices
}, []) }, [])
item.answer = trueIndices item.answer = trueIndices
// if (item.cate == 1) { } else {
// item.answer = item.user_answer?.[0] ?? '' if (item.cate == 1) {
// } else { item.answer = item.user_answer?.[0] ?? ''
// item.answer = item.user_answer ?? [] } else {
// } item.answer = item.user_answer ?? []
}
}
}) })
return info.value.content || [] return info.value.content || []
}) })