ElemFillLine.vue 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <template>
  2. <div class="elem-fill-line">
  3. <div class="elem-title" v-if="data.startNumber === data.parent.startNumber">
  4. {{ data.parent.topicName }}
  5. </div>
  6. <div class="elem-body" v-if="data.questionDirection === 'vertical'">
  7. <ul
  8. class="elem-fill-quesiton"
  9. v-for="question in data.questionLineNums"
  10. :key="question.no"
  11. :style="groupStyles"
  12. >
  13. <li class="elem-fill-no">
  14. <span :style="lineNoStyles"
  15. >{{ data.numberPre }}{{ question.no }}.</span
  16. >
  17. </li>
  18. <li
  19. class="elem-fill-line"
  20. v-for="line in question.count"
  21. :key="line"
  22. :style="lineStyles"
  23. ></li>
  24. </ul>
  25. </div>
  26. <div v-else class="elem-body">
  27. <ul
  28. class="elem-fill-quesiton"
  29. v-for="line in data.questionLineNums[0].count"
  30. :key="line"
  31. :style="groupStyles"
  32. >
  33. <li v-if="line === 1" class="elem-fill-no">
  34. <span :style="lineNoStyles">
  35. {{ data.numberPre }}{{ data.questionLineNums[0].no }}.
  36. </span>
  37. </li>
  38. <li
  39. v-if="line !== data.questionLineNums[0].count"
  40. class="elem-fill-comma"
  41. :style="lineNoStyles"
  42. >
  43. ,
  44. </li>
  45. <li class="elem-fill-line" :style="lineStyles"></li>
  46. </ul>
  47. </div>
  48. </div>
  49. </template>
  50. <script>
  51. export default {
  52. name: "elem-fill-line",
  53. props: {
  54. data: {
  55. type: Object
  56. }
  57. },
  58. data() {
  59. return {
  60. questions: []
  61. };
  62. },
  63. computed: {
  64. lineStyles() {
  65. return {
  66. height: this.data.lineSpacing + "px"
  67. };
  68. },
  69. lineNoStyles() {
  70. return {
  71. top: this.data.lineSpacing - 4 + "px"
  72. };
  73. },
  74. groupStyles() {
  75. return {
  76. width: 100 / this.data.questionNumberPerLine + "%"
  77. };
  78. }
  79. },
  80. mounted() {},
  81. methods: {}
  82. };
  83. </script>