recordDetail.vue 3.0 KB

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