recordDetail.vue 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. <template>
  2. <div>
  3. <!-- <el-alert title="基础信息" :closable="false" class="alert" type="info" /> -->
  4. <descriptions :column="3" style="margin-bottom: 20px;">
  5. <descriptions-item label="学练宝版本">{{
  6. detail.name
  7. }}</descriptions-item>
  8. <descriptions-item label="周期">{{
  9. detail.period | memberEnumType
  10. }}</descriptions-item>
  11. <descriptions-item label="周期数">{{
  12. detail.memberNum
  13. }}</descriptions-item>
  14. <descriptions-item label="缴费金额(元)">{{
  15. detail.actualAmount | moneyFormat(true)
  16. }}</descriptions-item>
  17. <descriptions-item label="已缴费人数/总人数"
  18. >{{ detail.paymentUserNum }}/{{ detail.userNum }}</descriptions-item
  19. >
  20. <descriptions-item label="创建人">{{
  21. detail.operatorName
  22. }}</descriptions-item>
  23. <descriptions-item label="创建时间">{{
  24. detail.createTime
  25. }}</descriptions-item>
  26. <descriptions-item :span="3" label="备注">{{
  27. detail.remark
  28. }}</descriptions-item>
  29. </descriptions>
  30. <!-- <el-alert title="订单详情" :closable="false" class="alert" style="margin-top: 20px;" type="info" /> -->
  31. <el-table
  32. :data="tableList"
  33. :header-cell-style="{ background: '#EDEEF0', color: '#444' }"
  34. >
  35. <el-table-column align="center" prop="userId" label="学员编号">
  36. </el-table-column>
  37. <el-table-column align="center" label="学员姓名" prop="username">
  38. </el-table-column>
  39. <el-table-column align="center" label="手机号" prop="phone">
  40. </el-table-column>
  41. <el-table-column align="center" label="缴费状态">
  42. <template slot-scope="scope">
  43. {{ scope.row.paymentStatus == 1 ? "已缴费" : "未缴费" }}
  44. </template>
  45. </el-table-column>
  46. <el-table-column align="center" label="缴费时间" prop="createTime">
  47. </el-table-column>
  48. </el-table>
  49. <pagination
  50. sync
  51. save-key="recordDetail"
  52. :total.sync="rules.total"
  53. :page.sync="rules.page"
  54. :limit.sync="rules.limit"
  55. :page-sizes="rules.page_size"
  56. @pagination="getList"
  57. />
  58. </div>
  59. </template>
  60. <script>
  61. import pagination from "@/components/Pagination/index";
  62. import { cloudQueryPage } from "../api";
  63. export default {
  64. props: ["detail"],
  65. components: { pagination },
  66. data() {
  67. return {
  68. tableList: [],
  69. rules: {
  70. // 分页规则
  71. limit: 10, // 限制显示条数
  72. page: 1, // 当前页
  73. total: 0, // 总条数
  74. page_size: [10, 20, 40, 50] // 选择限制显示条数
  75. }
  76. };
  77. },
  78. mounted() {
  79. console.log(this.detail);
  80. this.getList();
  81. },
  82. methods: {
  83. async getList() {
  84. try {
  85. const res = await cloudQueryPage({
  86. paymentId: this.detail.id,
  87. page: this.rules.page,
  88. rows: this.rules.limit
  89. });
  90. console.log(res);
  91. this.rules.total = res.data.total;
  92. this.tableList = res.data.rows;
  93. } catch (e) {
  94. console.log(e);
  95. }
  96. }
  97. }
  98. };
  99. </script>
  100. <style lang="less" scoped>
  101. .alert {
  102. margin-bottom: 10px;
  103. }
  104. ::v-deep .description-title {
  105. margin-bottom: 0;
  106. }
  107. .description-label {
  108. width: 120px !important;
  109. }
  110. </style>