management.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. <template>
  2. <basic-container class="management">
  3. <el-select
  4. v-model="value"
  5. filterable
  6. style="float:right"
  7. placeholder="请选择"
  8. @change="projectChange"
  9. >
  10. <el-option
  11. v-for="item in options"
  12. :key="item.id"
  13. :label="item.projectName"
  14. :value="item.id"
  15. >
  16. </el-option>
  17. </el-select>
  18. <el-table
  19. :data="tableData"
  20. style="width: 100%"
  21. >
  22. <el-table-column
  23. prop="projectName"
  24. label="项目名称"
  25. >
  26. </el-table-column>
  27. <el-table-column
  28. prop="personalCount"
  29. label="个人证书(个)"
  30. >
  31. </el-table-column>
  32. <el-table-column
  33. prop="enterpriseCount"
  34. label="企业证书(个)"
  35. >
  36. </el-table-column>
  37. <el-table-column label="操作">
  38. <template slot-scope="scope">
  39. <el-button
  40. type="text"
  41. @click="see(scope.row)"
  42. >查看</el-button>
  43. </template>
  44. </el-table-column>
  45. </el-table>
  46. <el-pagination
  47. style="float:right"
  48. background
  49. class="martop20 marbottom20"
  50. layout="prev, pager, next"
  51. :total="total"
  52. @size-change="handleSizeChange"
  53. @current-change="handleCurrentChange"
  54. :current-page.sync="pageindex"
  55. :page-size="pagesize"
  56. >
  57. </el-pagination>
  58. </basic-container>
  59. </template>
  60. <script>
  61. import { queryProjectList, } from "@/api/certificate/list";
  62. import { singPfxManagementPage, } from "@/api/certificate/management";
  63. export default {
  64. data () {
  65. return {
  66. options: [],
  67. value: '',
  68. tableData: [{}],
  69. total: 0,
  70. pageindex: 1,
  71. pagesize: 20,
  72. }
  73. },
  74. methods: {
  75. //#region
  76. projectChange () {//项目名称选择
  77. this.singPfxManagementPage()
  78. },
  79. async queryProjectList () {
  80. const { data: res } = await queryProjectList()
  81. console.log(res);
  82. if (res.code == 200) {
  83. this.options = res.data
  84. }
  85. },
  86. async singPfxManagementPage () {
  87. const { data: res } = await singPfxManagementPage({
  88. current: this.pageindex,
  89. size: this.pagesize,
  90. contractId: this.value,
  91. })
  92. console.log(res);
  93. if (res.code == 200) {
  94. // this.tableData = res.data.records
  95. this.total = res.data.total
  96. }
  97. },
  98. handleSizeChange (val) {
  99. this.pagesize = val
  100. this.singPfxManagementPage()
  101. },
  102. handleCurrentChange (val) {
  103. this.pageindex = val
  104. this.singPfxManagementPage()
  105. },
  106. //#endregion
  107. //#region
  108. see () {
  109. this.$router.push({ path: '/certificate/management/see' })
  110. },
  111. //#endregion
  112. },
  113. created () {
  114. this.queryProjectList()
  115. this.singPfxManagementPage()
  116. }
  117. }
  118. </script>
  119. <style lang="scss" scoped>
  120. .management {
  121. }
  122. </style>