ElemUndertaking.vue 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <template>
  2. <div class="elem-undertaking">
  3. <h3 class="para-text para-title">考生承诺书</h3>
  4. <p class="para-text para-cl">本人郑重承诺<em>:</em></p>
  5. <div class="para-text para-body">
  6. <p v-for="(cont, index) in contentList" :key="index" v-html="cont"></p>
  7. </div>
  8. <p class="para-text para-std">
  9. 承诺人<span>(</span>签名 <span>)</span> :
  10. </p>
  11. </div>
  12. </template>
  13. <script>
  14. export default {
  15. name: "elem-undertaking",
  16. props: {
  17. content: {
  18. type: String,
  19. default: "",
  20. },
  21. },
  22. data() {
  23. return {};
  24. },
  25. computed: {
  26. contentList() {
  27. let len = this.content.length;
  28. const maxParaCharCount = 65;
  29. const count = Math.ceil(len / maxParaCharCount);
  30. let conts = [];
  31. for (let i = 0; i < count; i++) {
  32. let cont = this.content.substring(
  33. i * maxParaCharCount,
  34. (i + 1) * maxParaCharCount
  35. );
  36. cont = cont.replace(/([((【】))])/g, "<span>$1</span>");
  37. cont = cont.replace(/([,。?])/g, "<em>$1</em>");
  38. conts[i] = cont;
  39. }
  40. return conts;
  41. },
  42. },
  43. methods: {},
  44. };
  45. </script>