DetailTable.vue 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <template>
  2. <el-dialog
  3. :append-to-body="true"
  4. :title="currentFileName"
  5. width="80%"
  6. :visible.sync="isDetailCon"
  7. @open="onOpen"
  8. :show-close="true" >
  9. <el-table :data="fileContent.result" size="mini"
  10. :height="tableHeight" tooltip-effect="dark" ref="fileTable" :key="currentFileName + '2'"
  11. highlight-current-row style="width: 100%">
  12. <template v-for="(key, value) in fileContent.header">
  13. <el-table-column
  14. :prop="value"
  15. :label="key"
  16. :min-width="150"
  17. :show-overflow-tooltip="true"
  18. :key="value">
  19. </el-table-column>
  20. </template>
  21. </el-table>
  22. <pagination :dataList="fileContent" :upParam="beforePayload" @loadMethod="loadTableDataById"></pagination>
  23. </el-dialog>
  24. </template>
  25. <script>
  26. import pagination from "@/components/Pagination.vue";
  27. import dTable from "@/components/DragTable.vue";
  28. export default {
  29. components: {
  30. pagination,
  31. dTable
  32. },
  33. data() {
  34. return {
  35. sortable: "",
  36. beforePayload: {
  37. page: 1,
  38. pageSize: 20
  39. },
  40. currentFileName: "",
  41. tableHeader: [],
  42. tableData: []
  43. };
  44. },
  45. computed: {
  46. fileContent: {
  47. get() {
  48. return this.$store.getters.getFileContentById;
  49. }
  50. },
  51. isDetailCon: {
  52. get() {
  53. return this.$store.getters.getIsDetailTable;
  54. },
  55. set(val) {
  56. this.$store.commit("is_detail_table_con", false);
  57. }
  58. }
  59. },
  60. created() {
  61. this.tableHeight = this.getTableHeight(400);
  62. },
  63. mounted() {},
  64. methods: {
  65. alertMsg() {
  66. console.log("just for test drag");
  67. },
  68. onOpen() {
  69. let fileObj = this.$store.getters.getCurrentFile;
  70. let payload = {
  71. page: 1,
  72. pageSize: 20,
  73. fileId: fileObj.id
  74. };
  75. this.currentFileName = fileObj.filename;
  76. this.loadTableDataById(payload);
  77. },
  78. loadTableDataById(payload) {
  79. const loading = this.$loading({
  80. lock: true,
  81. text: "请耐心等待,正在加载数据。。",
  82. spinner: "el-icon-loading",
  83. background: "rgba(0, 0, 0, 0.7)"
  84. });
  85. let fileObj = this.$store.getters.getCurrentFile;
  86. payload.fileId = fileObj.id;
  87. this.beforePayload = payload;
  88. this.$store
  89. .dispatch("view_file_content_by_id", this.setModelId(payload))
  90. .then(data => {
  91. loading.close();
  92. if (data.code == 200) {
  93. this.$store.commit("set_file_content_by_id", data);
  94. } else {
  95. this.$message({
  96. type: "error",
  97. message: data.message ? data.message : "加载失败"
  98. });
  99. }
  100. });
  101. }
  102. }
  103. };
  104. </script>