studentOrder.vue 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158
  1. <template>
  2. <div class='studentOrder'>
  3. <div class="headWrap">
  4. <div class="left">
  5. <div class="headItem">
  6. <p>账户余额:<span>{{ dataInfo.balance }}</span></p>
  7. </div>
  8. <div class="headItem">
  9. <p>银行卡:<span>{{ dataInfo.cardNo }}</span></p>
  10. </div>
  11. <div class="headItem">
  12. <p>支付宝:<span>{{ dataInfo.zfb }}</span></p>
  13. </div>
  14. <div class="headItem">
  15. <p>微信:<span>{{ dataInfo.wxBalance }}</span></p>
  16. </div>
  17. </div>
  18. </div>
  19. <!-- 搜索类型 -->
  20. <el-form :inline="true"
  21. class="searchForm"
  22. v-model="searchForm">
  23. <el-form-item>
  24. <el-date-picker style="width: 400px;"
  25. v-model="orderDate"
  26. type="daterange"
  27. value-format="yyyy-MM-dd"
  28. @change="searchCourseDate"
  29. range-separator="至"
  30. start-placeholder="订单开始日期"
  31. end-placeholder="订单结束日期">
  32. </el-date-picker>
  33. </el-form-item>
  34. <el-form-item>
  35. <el-select v-model="searchForm.paymentType" placeholder="交易类型">
  36. <el-option v-for="(item, index) in orderStatus" :key="index"
  37. :label="item.label" :value="item.value"></el-option>
  38. </el-select>
  39. </el-form-item>
  40. <el-form-item>
  41. <el-input type="text" v-model="searchForm.remark" placeholder="订单说明"></el-input>
  42. </el-form-item>
  43. <el-form-item>
  44. <el-button @click="getList" type="danger">搜索</el-button>
  45. <el-button @click="onReSet" type="primary">重置</el-button>
  46. </el-form-item>
  47. </el-form>
  48. <div class="tableWrap">
  49. <el-table :data="tableList" :header-cell-style="{background:'#EDEEF0',color:'#444'}">
  50. <el-table-column label="订单日期" prop="createTime"
  51. width="180px">
  52. </el-table-column>
  53. <el-table-column label="交易类型"
  54. width="180px">
  55. <template slot-scope="scope">
  56. {{ scope.row.type | orderType }}
  57. </template>
  58. </el-table-column>
  59. <el-table-column width="180px" label="实际金额" prop="actualAmount">
  60. </el-table-column>
  61. <el-table-column label="订单说明" prop="memo" >
  62. </el-table-column>
  63. </el-table>
  64. <pagination :total="pageInfo.total"
  65. :page.sync="pageInfo.page"
  66. :limit.sync="pageInfo.limit"
  67. :page-sizes="pageInfo.page_size"
  68. @pagination="getList" />
  69. </div>
  70. </div>
  71. </template>
  72. <script>
  73. import pagination from '@/components/Pagination/index'
  74. import { studentPaymentOrderList, getUserCashAccountBaseInfo } from '@/api/studentManager'
  75. import { orderStatus } from '@/utils/searchArray'
  76. import store from '@/store'
  77. export default {
  78. components: { pagination },
  79. data () {
  80. return {
  81. organId: store.getters.organ,
  82. orderDate: null,
  83. searchForm: {
  84. studentId: this.$route.query.userId,
  85. orderStartDate: null,
  86. orderEndDate: null,
  87. paymentType: null,
  88. remark: null
  89. },
  90. orderStatus: orderStatus,
  91. pageInfo: {
  92. // 分页规则
  93. limit: 10, // 限制显示条数
  94. page: 1, // 当前页
  95. total: 0, // 总条数
  96. page_size: [10, 20, 40, 50] // 选择限制显示条数
  97. },
  98. tableList: [],
  99. dataInfo: {}
  100. }
  101. },
  102. mounted() {
  103. this.getList()
  104. this.__init()
  105. },
  106. methods: {
  107. __init() {
  108. getUserCashAccountBaseInfo({ userId: this.$route.query.userId }).then(res => {
  109. if(res.code == 200) {
  110. this.dataInfo = {
  111. balance: res.data.balance,
  112. wxBalance: 0,
  113. cardNo: res.data.cardNo,
  114. zfb: null
  115. }
  116. }
  117. })
  118. },
  119. getList () {
  120. let params = this.searchForm
  121. params.rows = this.pageInfo.limit
  122. params.page = this.pageInfo.page
  123. if(params.remark == '' || !params.remark) {
  124. params.remark = null
  125. }
  126. studentPaymentOrderList(params).then(res => {
  127. if(res.code == 200) {
  128. this.tableList = res.data.rows
  129. this.pageInfo.total = res.data.total
  130. }
  131. })
  132. },
  133. searchCourseDate(value) {
  134. if(value) {
  135. this.searchForm.orderStartDate = value[0]
  136. this.searchForm.orderEndDate = value[1]
  137. } else {
  138. this.searchForm.orderStartDate = null
  139. this.searchForm.orderEndDate = null
  140. }
  141. },
  142. onReSet() { // 重置搜索
  143. this.orderDate = null
  144. this.searchForm = {
  145. studentId: this.$route.query.userId,
  146. orderStartDate: null,
  147. orderEndDate: null,
  148. paymentType: null,
  149. remark: null
  150. }
  151. },
  152. }
  153. }
  154. </script>
  155. <style lang="scss" scope>
  156. .studentOrder {
  157. }
  158. </style>