report.vue 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. <template>
  2. <div id="report">
  3. <template v-for="(answer, index) in report.answers">
  4. <div :key="`${index}${new Date().getTime()}`" style="border-bottom: 1px solid #EBEEF5;">
  5. <el-row type="flex" align="middle" justify="center" class="btn_bar">
  6. <el-col :span="18"> {{ answer.topic }} [{{ answer.type | topicType }}] </el-col>
  7. </el-row>
  8. <el-row type="flex" align="middle" justify="center" class="btn_bar" style="color:blue">
  9. <el-col :span="18" v-if="answer.type != 1">{{ answer.answer }}</el-col>
  10. <el-col :span="18" v-else>{{ answer.answer | checkBoxAnswer }}</el-col>
  11. </el-row>
  12. </div>
  13. </template>
  14. </div>
  15. </template>
  16. <script>
  17. import _ from 'lodash';
  18. import { mapState, createNamespacedHelpers } from 'vuex';
  19. export default {
  20. name: 'report',
  21. props: {
  22. report: { type: Object, default: () => [] },
  23. },
  24. components: {},
  25. data: function() {
  26. return {};
  27. },
  28. created() {},
  29. methods: {},
  30. computed: {
  31. ...mapState(['user']),
  32. pageTitle() {
  33. return `${this.$route.meta.title}`;
  34. },
  35. },
  36. filters: {
  37. topicType(val) {
  38. if (val == 0) return '单选题';
  39. if (val == 1) return '多选题';
  40. if (val == 2) return '简答题';
  41. },
  42. checkBoxAnswer(val) {
  43. return _.join(val, ';');
  44. },
  45. },
  46. metaInfo() {
  47. return { title: this.$route.meta.title };
  48. },
  49. };
  50. </script>
  51. <style lang="less" scoped></style>