pay-items.vue 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <template>
  2. <div>
  3. <el-table :data="list" :header-cell-style="{ background: '#EDEEF0', color: '#444' }">
  4. <el-table-column
  5. align="center"
  6. prop="batchNo"
  7. width="200"
  8. label="缴费批次"
  9. ></el-table-column>
  10. <el-table-column
  11. align="center"
  12. prop="id"
  13. width="120"
  14. label="缴费单号"
  15. ></el-table-column>
  16. <el-table-column align="center" prop="paymentType" label="缴费类型">
  17. <template slot-scope="scope">
  18. <div>
  19. {{ scope.row.paymentType | userPaymentTypeFormat }}
  20. </div>
  21. </template>
  22. </el-table-column>
  23. <el-table-column align="center" prop="status" width="120" label="缴费状态">
  24. <template slot-scope="scope">
  25. <div>
  26. {{ scope.row.status | payTypeStatus }}
  27. </div>
  28. </template>
  29. </el-table-column>
  30. <el-table-column
  31. align="center"
  32. prop="expectNum"
  33. width="200"
  34. label="缴费人数(预计/实际)"
  35. >
  36. <template slot-scope="scope">
  37. <div>{{ scope.row.expectNum }}/{{ scope.row.actualNum }}</div>
  38. </template>
  39. </el-table-column>
  40. <el-table-column align="center" prop="paymentPattern" label="缴费方式">
  41. <template slot-scope="scope">
  42. <div>
  43. {{ scope.row.paymentPattern | teamPayStatus }}
  44. </div>
  45. </template>
  46. </el-table-column>
  47. <el-table-column
  48. align="center"
  49. prop="paymentValidStartDate"
  50. width="200"
  51. label="缴费有效期"
  52. >
  53. <template slot-scope="scope">
  54. <div>
  55. {{ scope.row.paymentValidStartDate | formatTimer }} ~
  56. {{ scope.row.paymentValidEndDate | formatTimer }}
  57. </div>
  58. </template>
  59. </el-table-column>
  60. <el-table-column align="center" prop="memo" label="备注" width="200" class-name="table-btns">
  61. <template slot-scope="scope">
  62. <overflow-text :text="scope.row.memo"></overflow-text>
  63. </template>
  64. </el-table-column>
  65. <el-table-column label="操作" fixed="right" width="200">
  66. <template slot-scope="scope">
  67. <div>
  68. <el-button
  69. type="text"
  70. @click="toDetail(scope.row)"
  71. v-permission="'musicGroupPaymentCalender/auditListDetail'"
  72. >查看</el-button
  73. >
  74. <!-- <el-button
  75. type="text"
  76. @click="$listeners.openChioseStudent(scope.row)"
  77. v-if="
  78. scope.row.status != 'REJECT' &&
  79. scope.row.status != 'AUDITING' &&
  80. teamStatus &&
  81. scope.row.paymentType != 'MUSIC_APPLY' &&
  82. scope.row.paymentType != 'ADD_STUDENT'
  83. "
  84. v-permission="'musicGroupPaymentCalenderDetail/batchAdd'"
  85. >添加学员</el-button
  86. > -->
  87. <!-- <el-button
  88. type="text"
  89. v-if="scope.row.status == 'REJECT' && teamStatus"
  90. v-permission="'musicGroupPaymentCalender/update'"
  91. @click="$listeners.resetPay(scope.row)"
  92. >修改</el-button
  93. > -->
  94. <el-button
  95. type="text"
  96. v-permission="'musicGroupPaymentCalender/makesureSchoolePaid'"
  97. v-if="scope.row.status == 'OPEN' && teamStatus == 'resetTeam'"
  98. @click="$listeners.commmitGetMoney(scope.row)"
  99. >确认收款</el-button
  100. >
  101. <el-button type="text"
  102. v-if="!isNewGropu&&teamStatus&&scope.row.paymentType!='MUSIC_APPLY'&&payUserType === 'STUDENT'"
  103. @click="$listeners.onCreateQRCode(scope.row)">续费二维码</el-button>
  104. <el-button type="text"
  105. v-if="$listeners.onPreview && payUserType === 'STUDENT'"
  106. v-permission="'musicGroup/findMusicGroupSubjectInfo/966'"
  107. @click="$listeners.onPreview(scope.row)">预览</el-button>
  108. <!-- <el-button type="text" v-if="!isNewGropu" @click="onCreateQRCode(scope.row)">续费二维码</el-button> -->
  109. </div>
  110. </template>
  111. </el-table-column>
  112. </el-table>
  113. <pagination :total="rules.total"
  114. :page.sync="rules.page"
  115. :limit.sync="rules.limit"
  116. :page-sizes="rules.page_size"
  117. @pagination="getList" />
  118. <div slot="footer"
  119. class="dialog-footer">
  120. <el-button @click="$listeners.close">取 消</el-button>
  121. </div>
  122. </div>
  123. </template>
  124. <script>
  125. import { addMusicGroupPaymentCalender, getMusicGroupPaymentCalender, resetMusicGroupPaymentCalender, delMusicGroupPaymentCalender, findMusicGroupSubjectInfo } from "@/api/buildTeam";
  126. import { musicGroupPaymentCalenderDetailDel } from '../api'
  127. import loading from '@/utils/loading'
  128. import pagination from "@/components/Pagination/index";
  129. export default {
  130. props: ['batchNo', 'teamStatus', 'teamType', 'payUserType', 'isNewGropu'],
  131. components: {
  132. pagination
  133. },
  134. data() {
  135. return {
  136. list: [],
  137. rules: {
  138. // 分页规则
  139. limit: 10, // 限制显示条数
  140. page: 1, // 当前页
  141. total: 0, // 总条数
  142. page_size: [10, 20, 40, 50], // 选择限制显示条数
  143. },
  144. }
  145. },
  146. mounted() {
  147. this.getList()
  148. },
  149. methods: {
  150. async getList() {
  151. try {
  152. const res = await getMusicGroupPaymentCalender({
  153. batchNo: this.batchNo,
  154. page: '1',
  155. rows: 10,
  156. })
  157. this.list = res.data.rows
  158. } catch (error) {}
  159. },
  160. toDetail(row) {
  161. this.$listeners.close()
  162. this.$nextTick(() => {
  163. this.$listeners.lookDetail(row)
  164. })
  165. },
  166. }
  167. };
  168. </script>
  169. <style lang="less" scoped>
  170. .dialog-footer {
  171. margin-top: 20px;
  172. display: block;
  173. text-align: right;
  174. }
  175. </style>