index1.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. <template>
  2. <div class="">
  3. <el-row style="margin: 0 0 48px 0">
  4. <el-col :span="2">
  5. <div class="">
  6. <div class="totalCount-number">{{ this.totalCount }}</div>
  7. <div class="totalCount-text">地址数量</div>
  8. </div>
  9. </el-col>
  10. <el-col :span="3" :offset="15">
  11. <el-button type="primary" class="btn-add" @click="generateAddress">
  12. 批量生成地址
  13. </el-button>
  14. </el-col>
  15. <el-col :span="3">
  16. <el-button type="primary" class="btn-add" @click="downloadAddress">
  17. 批量下载地址
  18. </el-button>
  19. </el-col>
  20. </el-row>
  21. <div class="block-title">地址列表</div>
  22. <el-table :data="tableData" style="width: 100%">
  23. <el-table-column prop="address" label="地址账号" width="420">
  24. <template slot-scope="{ row }">
  25. {{row.groupName}} <span style="margin-left:10px"></span> {{row.address}}
  26. </template>
  27. </el-table-column>
  28. <!-- <el-table-column prop="groupName" label="地址组"> </el-table-column> -->
  29. <el-table-column prop="" label="gas消耗"> </el-table-column>
  30. <el-table-column prop="" label="地址余额"> </el-table-column>
  31. <el-table-column prop="addressType" label="地址类型">
  32. <template slot-scope="{ row }">
  33. <el-tag v-if="row.addressType === 1" type="info">批量号</el-tag>
  34. <el-tag v-else>精品号</el-tag>
  35. </template>
  36. </el-table-column>
  37. <el-table-column prop="createTime" label="创建时间"> </el-table-column>
  38. </el-table>
  39. <el-pagination
  40. @size-change="handleSizeChange"
  41. @current-change="handleCurrentChange"
  42. :current-page.sync="page"
  43. :page-sizes="[10, 15, 25, 35]"
  44. :page-size.sync="pageSize"
  45. layout="total, sizes, prev, pager, next, jumper"
  46. :total="totalCount"
  47. >
  48. </el-pagination>
  49. <SaveOrUpdate ref="SaveOrUpdate" />
  50. <download ref="download"></download>
  51. </div>
  52. </template>
  53. <script>
  54. import { pageAddress, batchAddress } from "@/api/adress";
  55. import SaveOrUpdate from "./SaveOrUpdate.vue";
  56. import Download from "./download.vue";
  57. export default {
  58. components: { SaveOrUpdate, Download },
  59. data() {
  60. return {
  61. url: process.env.VUE_APP_BASE_API,
  62. address: {
  63. password: undefined,
  64. groupName: undefined,
  65. numWallet: undefined,
  66. },
  67. tableData: [],
  68. page: 1,
  69. pageSize: 10,
  70. totalCount: 0,
  71. };
  72. },
  73. created() {
  74. this.getAddresses();
  75. },
  76. methods: {
  77. generateAddress() {
  78. this.$refs.SaveOrUpdate.addressModal = true;
  79. this.$refs.SaveOrUpdate.resetField();
  80. this.$refs.SaveOrUpdate.resetUserForm();
  81. },
  82. downloadAddress() {
  83. this.$refs.download.downloadModal = true;
  84. this.$refs.download.resetField();
  85. this.$refs.download.resetUserForm();
  86. },
  87. getAddresses() {
  88. pageAddress({
  89. page: this.page,
  90. pageSize: this.pageSize,
  91. }).then((res) => {
  92. this.tableData = res.records;
  93. this.totalCount = res.total;
  94. });
  95. },
  96. handleSizeChange(val) {
  97. this.pageSize = val;
  98. this.page = 1;
  99. this.getAddresses();
  100. },
  101. handleCurrentChange(val) {
  102. this.page = val;
  103. this.getAddresses();
  104. },
  105. },
  106. computed: {},
  107. };
  108. </script>