review-detail.vue 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. <template>
  2. <div>
  3. <el-alert title="申请信息" :closable="false" class="alert" type="info">
  4. </el-alert>
  5. <descriptions :column="2">
  6. <descriptions-item label="分部名称:">{{
  7. auditDto.organName
  8. }}</descriptions-item>
  9. <descriptions-item label="乐团名称:">{{
  10. auditDto.musicGroupName
  11. }}</descriptions-item>
  12. <descriptions-item label="乐团编号:">{{
  13. auditDto.musicGroupId
  14. }}</descriptions-item>
  15. <descriptions-item label="申请时间:">{{
  16. auditDto.createTime
  17. }}</descriptions-item>
  18. <descriptions-item label="申请类型:">{{
  19. auditDto.paymentType | userPaymentTypeFormat
  20. }}</descriptions-item>
  21. <descriptions-item label="订单类型:">{{
  22. auditDto.payUserType | payUserTypeFormat
  23. }}</descriptions-item>
  24. <descriptions-item label="学员数量:">{{ studentNum }}</descriptions-item>
  25. </descriptions>
  26. <el-alert title="课程信息" :closable="false" class="alert" type="info">
  27. </el-alert>
  28. <descriptions :column="3">
  29. <descriptions-item label="收费标准:">{{
  30. musicGroupPaymentCalenderCourseSettingName
  31. }}</descriptions-item>
  32. </descriptions>
  33. <el-table
  34. :data="musicGroupPaymentCalenderCourseSettings"
  35. stripe
  36. style="width: 100%; margin-top: 10px"
  37. >
  38. <el-table-column prop="courseType" label="课程类型" width="120">
  39. <template slot-scope="scope">
  40. {{ scope.row.courseType | courseTypeFormat }}
  41. </template>
  42. </el-table-column>
  43. <el-table-column prop="isStudentOptional" label="是否免费" width="100">
  44. </el-table-column>
  45. <el-table-column prop="courseTotalMinuties" label="课程总时长(分钟)">
  46. </el-table-column>
  47. <el-table-column prop="courseCurrentPrice" label="现价(元)">
  48. </el-table-column>
  49. <el-table-column prop="courseOriginalPrice" label="原价(元)">
  50. </el-table-column>
  51. </el-table>
  52. <el-alert title="缴费周期" :closable="false" class="alert" type="info">
  53. </el-alert>
  54. <descriptions :column="2">
  55. <descriptions-item label="缴费金额:">{{
  56. auditDto.paymentAmount|moneyFormat
  57. }}</descriptions-item>
  58. <descriptions-item label="缴费方式:">{{
  59. auditDto.paymentPattern | paymentPatternTypeFormat
  60. }}</descriptions-item>
  61. <descriptions-item
  62. v-if="auditDto.payUserType !== 'SCHOOL'"
  63. label="缴费日期:"
  64. >{{ auditDto.startPaymentDate|dayjsFormat }} -
  65. {{ auditDto.deadlinePaymentDate|dayjsFormat }}</descriptions-item
  66. >
  67. <descriptions-item label="缴费有效期:"
  68. >{{ auditDto.paymentValidStartDate }} -
  69. {{ auditDto.paymentValidEndDate }}</descriptions-item
  70. >
  71. </descriptions>
  72. <el-alert title="其他" :closable="false" class="alert" type="info">
  73. </el-alert>
  74. <descriptions :column="2">
  75. <descriptions-item label="是否赠送乐团网管课:">{{
  76. auditDto.isGiveMusicNetwork ? "是" : "否"
  77. }}</descriptions-item>
  78. <descriptions-item label="备注:">{{ auditDto.memo }}</descriptions-item>
  79. </descriptions>
  80. </div>
  81. </template>
  82. <script>
  83. import Vue from "vue";
  84. import { musicGroupPaymentCalenderView } from "../api";
  85. import descriptions from "@/components/Descriptions";
  86. Vue.use(descriptions);
  87. const initData = {
  88. auditDto: {},
  89. musicGroupPaymentCalenderCourseSettings: [],
  90. simpleUserDto: [],
  91. studentNum: 0,
  92. };
  93. export default {
  94. props: ["detail"],
  95. data() {
  96. return {
  97. ...initData,
  98. };
  99. },
  100. computed: {
  101. musicGroupPaymentCalenderCourseSettingName() {
  102. const active = this.musicGroupPaymentCalenderCourseSettings[0];
  103. if (active) {
  104. return active.name;
  105. }
  106. return "";
  107. },
  108. },
  109. mounted() {
  110. this.init();
  111. },
  112. activated() {
  113. this.init();
  114. },
  115. methods: {
  116. async init() {
  117. try {
  118. const res = await musicGroupPaymentCalenderView({
  119. calenderId: this.detail.id,
  120. musicGroupId: this.detail.musicGroupId,
  121. });
  122. for (const key in initData) {
  123. if (initData.hasOwnProperty(key)) {
  124. this[key] = res.data[key];
  125. }
  126. }
  127. } catch (error) {}
  128. },
  129. }
  130. };
  131. </script>
  132. <style lang="less" scoped>
  133. .alert {
  134. margin: 10px 0;
  135. }
  136. // /deep/ .description-view{
  137. // border: none;
  138. // .description-tr{
  139. // border-bottom: none;
  140. // }
  141. // .description-label{
  142. // border-right: none;
  143. // background-color: transparent;
  144. // }
  145. // .description-content{
  146. // border-right: none;
  147. // }
  148. // }
  149. </style>