PaperBaseInfo.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. <template>
  2. <el-dialog
  3. title="基础构成"
  4. width="100%"
  5. :visible.sync="modalIsShow"
  6. :modal="true"
  7. append-to-body
  8. custom-class="side-dialog"
  9. @open="getData"
  10. >
  11. <el-form>
  12. <el-form-item label="整卷属性">
  13. <div class="topic-set-list">
  14. <div
  15. v-for="(paperTag, tagIndex) in paperData.tags"
  16. :key="tagIndex"
  17. class="topic-set"
  18. >
  19. <div class="topic-set-title">{{ paperTag.tag }}</div>
  20. <div class="topic-set-content">
  21. {{ paperTag.content }}
  22. </div>
  23. </div>
  24. </div>
  25. </el-form-item>
  26. <el-form-item label="组成结构">
  27. <el-table :data="paperData.data" border>
  28. <el-table-column
  29. v-for="(colval, colIndex) in paperData.head"
  30. :key="colIndex"
  31. >
  32. <template slot="header">
  33. <span style="margin-left: 10px">{{ colval }}</span>
  34. </template>
  35. <template slot-scope="scope">
  36. <span style="margin-left: 10px">{{ scope.row[colIndex] }}</span>
  37. </template>
  38. </el-table-column>
  39. </el-table>
  40. </el-form-item>
  41. </el-form>
  42. </el-dialog>
  43. </template>
  44. <script>
  45. import { paperBaseInfoApi } from "../api";
  46. export default {
  47. name: "PaperBaseInfo",
  48. props: {
  49. paperId: {
  50. type: [String, Number],
  51. default: "",
  52. },
  53. },
  54. data() {
  55. return {
  56. modalIsShow: false,
  57. paperData: {
  58. tags: [],
  59. head: [],
  60. },
  61. };
  62. },
  63. methods: {
  64. cancel() {
  65. this.modalIsShow = false;
  66. },
  67. open() {
  68. this.modalIsShow = true;
  69. },
  70. async getData() {
  71. const res = await paperBaseInfoApi(this.paperId);
  72. this.paperData = res.data;
  73. },
  74. },
  75. };
  76. </script>