|
@@ -1,16 +1,19 @@
|
|
|
<template>
|
|
<template>
|
|
|
<!-- 单选 -->
|
|
<!-- 单选 -->
|
|
|
- <el-radio-group
|
|
|
|
|
|
|
+ <el-radio-group
|
|
|
|
|
+ v-model="questionVal"
|
|
|
v-if="[0,3].includes(Number(questionType))"
|
|
v-if="[0,3].includes(Number(questionType))"
|
|
|
:class="{vertical:!isHorizontal}">
|
|
:class="{vertical:!isHorizontal}">
|
|
|
<el-radio v-for="radioItem in questionSubOptions"
|
|
<el-radio v-for="radioItem in questionSubOptions"
|
|
|
:key="radioItem.id"
|
|
:key="radioItem.id"
|
|
|
:value="radioItem.id"
|
|
:value="radioItem.id"
|
|
|
- >{{ radioItem.content }}</el-radio>
|
|
|
|
|
|
|
+ >{{ radioItem.content }}
|
|
|
|
|
+ </el-radio>
|
|
|
</el-radio-group>
|
|
</el-radio-group>
|
|
|
|
|
|
|
|
<!-- 多选 -->
|
|
<!-- 多选 -->
|
|
|
<el-checkbox-group
|
|
<el-checkbox-group
|
|
|
|
|
+ v-model="questionVal"
|
|
|
v-else-if="Number(questionType) === 1"
|
|
v-else-if="Number(questionType) === 1"
|
|
|
:class="{vertical:!isHorizontal}">
|
|
:class="{vertical:!isHorizontal}">
|
|
|
|
|
|
|
@@ -24,6 +27,7 @@
|
|
|
|
|
|
|
|
<!-- 问答题 -->
|
|
<!-- 问答题 -->
|
|
|
<el-input
|
|
<el-input
|
|
|
|
|
+ v-model="questionVal"
|
|
|
v-else-if="Number(questionType) === 2"
|
|
v-else-if="Number(questionType) === 2"
|
|
|
:autosize="{ minRows:5, maxRows: 5 }"
|
|
:autosize="{ minRows:5, maxRows: 5 }"
|
|
|
type="textarea"
|
|
type="textarea"
|
|
@@ -34,13 +38,18 @@
|
|
|
<!-- 评价(分)题 5 -->
|
|
<!-- 评价(分)题 5 -->
|
|
|
<template v-else-if="Number(questionType) === 5 ">
|
|
<template v-else-if="Number(questionType) === 5 ">
|
|
|
<ul class="num_score" v-if="Number(evaluationType) === 0 && Number(questionScore)">
|
|
<ul class="num_score" v-if="Number(evaluationType) === 0 && Number(questionScore)">
|
|
|
- <li v-for="value in Number(questionScore)">
|
|
|
|
|
|
|
+ <li v-for="value in Number(questionScore)"
|
|
|
|
|
+ :key="value"
|
|
|
|
|
+ :class="{active:questionVal == value}"
|
|
|
|
|
+ @click="questionVal = value">
|
|
|
{{ value }}分
|
|
{{ value }}分
|
|
|
</li>
|
|
</li>
|
|
|
</ul>
|
|
</ul>
|
|
|
<div class="star_score" v-else-if="Number(evaluationType) === 1 && Number(questionScore)">
|
|
<div class="star_score" v-else-if="Number(evaluationType) === 1 && Number(questionScore)">
|
|
|
非常不满意
|
|
非常不满意
|
|
|
- <el-rate size="large"
|
|
|
|
|
|
|
+ <el-rate size="large"
|
|
|
|
|
+ v-model="questionVal"
|
|
|
|
|
+ :colors="['#2e64fa','#2e64fa','#2e64fa']"
|
|
|
:max="Number(questionScore)"
|
|
:max="Number(questionScore)"
|
|
|
clearable />
|
|
clearable />
|
|
|
非常满意
|
|
非常满意
|
|
@@ -50,6 +59,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
|
<script setup lang="ts">
|
|
|
|
|
+import {ref} from 'vue'
|
|
|
|
|
|
|
|
interface Option {
|
|
interface Option {
|
|
|
content: String
|
|
content: String
|
|
@@ -78,6 +88,8 @@ const props = defineProps({
|
|
|
|
|
|
|
|
})
|
|
})
|
|
|
|
|
|
|
|
|
|
+const questionVal = ref()
|
|
|
|
|
+
|
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
|
|
|
|
@@ -100,6 +112,7 @@ const props = defineProps({
|
|
|
gap:16px;
|
|
gap:16px;
|
|
|
color: #CCCCCC;
|
|
color: #CCCCCC;
|
|
|
line-height: 1;
|
|
line-height: 1;
|
|
|
|
|
+ font-size: 14px;
|
|
|
}
|
|
}
|
|
|
.num_score{
|
|
.num_score{
|
|
|
flex-wrap: wrap;
|
|
flex-wrap: wrap;
|
|
@@ -111,8 +124,14 @@ const props = defineProps({
|
|
|
border: 1px solid #CCCCCC;
|
|
border: 1px solid #CCCCCC;
|
|
|
width: 44px;
|
|
width: 44px;
|
|
|
height: 32px;
|
|
height: 32px;
|
|
|
- font-size: 14px;
|
|
|
|
|
background-color: white;
|
|
background-color: white;
|
|
|
|
|
+ cursor: pointer;
|
|
|
|
|
+
|
|
|
|
|
+ &.active{
|
|
|
|
|
+ background-color: #2E64FA;
|
|
|
|
|
+ color: white;
|
|
|
|
|
+ border:none;
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|