main
parent
2a633adb5f
commit
d493730d19
|
|
@ -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>
|
||||||
|
|
@ -87,30 +93,38 @@
|
||||||
</uv-radio-group>
|
</uv-radio-group>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<uv-checkbox-group
|
<uv-checkbox-group
|
||||||
activeColor="#ee2c37"
|
activeColor="#ee2c37"
|
||||||
v-model="item.answer"
|
v-model="item.answer"
|
||||||
placement="column"
|
placement="column"
|
||||||
>
|
|
||||||
<uv-checkbox
|
|
||||||
:customStyle="{ margin: '8px' }"
|
|
||||||
v-for="(op, i) in item.options"
|
|
||||||
:activeColor="
|
|
||||||
(op.selected!=op.is_true && op.selected) ? '#e3e3e3' : '#3678f7'
|
|
||||||
"
|
|
||||||
:key="i"
|
|
||||||
:label="op.text"
|
|
||||||
:name="i"
|
|
||||||
>
|
>
|
||||||
<view class="flex items-center">
|
<uv-checkbox
|
||||||
<view>{{ op.text }}</view>
|
:customStyle="{ margin: '8px' }"
|
||||||
<uv-icon
|
v-for="(op, i) in item.options"
|
||||||
v-if="op.selected || op.is_true"
|
:activeColor="
|
||||||
:color="op.is_true&&op.selected ? '#4caf50' : '#ee2c37'"
|
op.selected != op.is_true && op.selected
|
||||||
:name="op.is_true&&op.selected ? 'checkbox-mark' : 'close'"
|
? '#e3e3e3'
|
||||||
></uv-icon>
|
: '#3678f7'
|
||||||
</view>
|
"
|
||||||
</uv-checkbox>
|
:key="i"
|
||||||
</uv-checkbox-group>
|
:label="op.text"
|
||||||
|
:name="i"
|
||||||
|
>
|
||||||
|
<view class="flex items-center">
|
||||||
|
<view>{{ op.text }}</view>
|
||||||
|
<uv-icon
|
||||||
|
v-if="(op.selected || op.is_true) && readonly"
|
||||||
|
:color="
|
||||||
|
op.is_true && op.selected ? '#4caf50' : '#ee2c37'
|
||||||
|
"
|
||||||
|
:name="
|
||||||
|
op.is_true && op.selected
|
||||||
|
? 'checkbox-mark'
|
||||||
|
: 'close'
|
||||||
|
"
|
||||||
|
></uv-icon>
|
||||||
|
</view>
|
||||||
|
</uv-checkbox>
|
||||||
|
</uv-checkbox-group>
|
||||||
</template>
|
</template>
|
||||||
</template>
|
</template>
|
||||||
</view>
|
</view>
|
||||||
|
|
@ -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) => {
|
||||||
const trueIndices = item.options.reduce((indices, item, index) => {
|
if (readonly.value) {
|
||||||
if (item.is_true || item.selected) {
|
const trueIndices = item.options.reduce((indices, item, index) => {
|
||||||
indices.push(index)
|
if (item.is_true || item.selected) {
|
||||||
|
indices.push(index)
|
||||||
|
}
|
||||||
|
return indices
|
||||||
|
}, [])
|
||||||
|
item.answer = trueIndices
|
||||||
|
} else {
|
||||||
|
if (item.cate == 1) {
|
||||||
|
item.answer = item.user_answer?.[0] ?? ''
|
||||||
|
} else {
|
||||||
|
item.answer = item.user_answer ?? []
|
||||||
}
|
}
|
||||||
return indices
|
}
|
||||||
}, [])
|
|
||||||
|
|
||||||
item.answer = trueIndices
|
|
||||||
// if (item.cate == 1) {
|
|
||||||
// item.answer = item.user_answer?.[0] ?? ''
|
|
||||||
// } else {
|
|
||||||
// item.answer = item.user_answer ?? []
|
|
||||||
// }
|
|
||||||
})
|
})
|
||||||
return info.value.content || []
|
return info.value.content || []
|
||||||
})
|
})
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue