|
@@ -20,10 +20,10 @@
|
|
|
v-for="({ text, mark, width }, i) in data.option_header_list"
|
|
|
:key="mark"
|
|
|
:style="{
|
|
|
- borderLeft: isEnable(data.property.is_enable_number_column) || i > 0 ? '1px solid #165dff' : 'none',
|
|
|
+ borderLeft: isEnable(data.property.is_enable_number_column) || i > 0 ? '1px solid #e0e0e0' : 'none',
|
|
|
width:
|
|
|
- isEnable(data.property.is_enable_number_column) && i === 0 ? `calc(${width}% - 40px)` : `${width}%`,
|
|
|
- marginLeft: isEnable(data.property.is_enable_number_column) && i === 0 ? '40px' : '0',
|
|
|
+ isEnable(data.property.is_enable_number_column) && i === 0 ? `calc(${width}% - 39.5px)` : `${width}%`,
|
|
|
+ marginLeft: isEnable(data.property.is_enable_number_column) && i === 0 ? '39.5px' : '0',
|
|
|
}"
|
|
|
class="header-item"
|
|
|
>
|
|
@@ -52,6 +52,7 @@
|
|
|
{ cursor: disabled ? 'not-allowed' : 'pointer' },
|
|
|
{ width: Math.max(80, li.text.length * 12) + 'pt' },
|
|
|
]"
|
|
|
+ @blur="handleTone(li.text, i, j)"
|
|
|
/>
|
|
|
</template>
|
|
|
</div>
|
|
@@ -62,7 +63,7 @@
|
|
|
|
|
|
<div v-if="isEnable(data.property.is_enable_reference_answer) && isShowRightAnswer" class="reference-box">
|
|
|
<h5 class="reference-title">参考答案</h5>
|
|
|
- <span class="reference-answer">{{ data.reference_answer }}</span>
|
|
|
+ <div class="reference-answer">{{ data.reference_answer }}</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -70,6 +71,8 @@
|
|
|
<script>
|
|
|
import PreviewMixin from './components/PreviewMixin';
|
|
|
|
|
|
+import { addTone, handleToneValue } from '@/views/exercise_questions/data/common';
|
|
|
+
|
|
|
export default {
|
|
|
name: 'TableFillPreview',
|
|
|
mixins: [PreviewMixin],
|
|
@@ -126,14 +129,28 @@ export default {
|
|
|
});
|
|
|
},
|
|
|
},
|
|
|
- methods: {},
|
|
|
+ methods: {
|
|
|
+ handleTone(value, i, j) {
|
|
|
+ this.optionList[i][j].text = value
|
|
|
+ .trim()
|
|
|
+ .split(/\s+/)
|
|
|
+ .map((item) => {
|
|
|
+ return handleToneValue(item);
|
|
|
+ })
|
|
|
+ .map((item) =>
|
|
|
+ item.map(({ number, con }) => (number && con ? addTone(Number(number), con) : number || con || '')),
|
|
|
+ )
|
|
|
+ .filter((item) => item.length > 0)
|
|
|
+ .join(' ');
|
|
|
+ },
|
|
|
+ },
|
|
|
};
|
|
|
</script>
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
|
@use '@/styles/mixin.scss' as *;
|
|
|
|
|
|
-$table-border: 1px solid #ebebeb;
|
|
|
+$table-border: 1px solid #e0e0e0;
|
|
|
|
|
|
.fill-form-preview {
|
|
|
@include preview;
|
|
@@ -142,6 +159,8 @@ $table-border: 1px solid #ebebeb;
|
|
|
overflow: auto;
|
|
|
|
|
|
.form {
|
|
|
+ border: $table-border;
|
|
|
+
|
|
|
&-header {
|
|
|
display: flex;
|
|
|
font-weight: bold;
|
|
@@ -156,22 +175,26 @@ $table-border: 1px solid #ebebeb;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- .form-content:first-child {
|
|
|
- .form-item {
|
|
|
- border-top: $table-border;
|
|
|
- }
|
|
|
+ &-header + .form-content {
|
|
|
+ border-top: $table-border;
|
|
|
+ }
|
|
|
+
|
|
|
+ &-content:not(:last-child) {
|
|
|
+ border-bottom: $table-border;
|
|
|
}
|
|
|
|
|
|
&-content {
|
|
|
display: flex;
|
|
|
|
|
|
+ .form-item:not(:first-child) {
|
|
|
+ border-left: $table-border;
|
|
|
+ }
|
|
|
+
|
|
|
.form-item {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
min-height: 48px;
|
|
|
overflow: auto;
|
|
|
- border-bottom: $table-border;
|
|
|
- border-left: $table-border;
|
|
|
|
|
|
.item-content {
|
|
|
padding: 8px 12px;
|
|
@@ -203,7 +226,7 @@ $table-border: 1px solid #ebebeb;
|
|
|
height: 32px;
|
|
|
line-height: 28px;
|
|
|
vertical-align: bottom;
|
|
|
- border-bottom: 1px solid $font-color;
|
|
|
+ border-bottom: $table-border;
|
|
|
}
|
|
|
|
|
|
& + .right-answer-content {
|
|
@@ -235,10 +258,6 @@ $table-border: 1px solid #ebebeb;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
- .form-item:last-child {
|
|
|
- border-right: $table-border;
|
|
|
- }
|
|
|
}
|
|
|
|
|
|
.serial-number {
|
|
@@ -265,6 +284,10 @@ $table-border: 1px solid #ebebeb;
|
|
|
line-height: 32px;
|
|
|
color: #4e5969;
|
|
|
}
|
|
|
+
|
|
|
+ .reference-answer {
|
|
|
+ white-space: pre-wrap;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|