refund.vue 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. <template>
  2. <div class="app-container">
  3. <div class="filter-container">
  4. <el-form ref="searchForm" :inline="true" class="demo-form-inline">
  5. <el-input v-model="listQuery.returnedNo" placeholder="退款编号" style="width: 120px;" class="filter-item" @keyup.enter.native="handleFilter" />
  6. <el-input v-model="listQuery.orderID" placeholder="订单ID" style="width: 120px;" class="filter-item" @keyup.enter.native="handleFilter" />
  7. <el-input v-model="listQuery.orderNo" placeholder="订单编号" style="width: 120px;" class="filter-item" @keyup.enter.native="handleFilter" />
  8. <el-input v-model="listQuery.userName" placeholder="买家" style="width: 120px;" class="filter-item" @keyup.enter.native="handleFilter" />
  9. <el-select v-model="listQuery.status" placeholder="退款审核状态" clearable style="width: 130px" class="filter-item" value="" @change="handleFilter">
  10. <el-option label="待审核" value="1" />
  11. <el-option label="审核通过" value="2" />
  12. <el-option label="审核不通过" value="3" />
  13. </el-select>
  14. <el-form-item label=" 申请时间:">
  15. <el-date-picker
  16. v-model="listQuery.beginReturnTime"
  17. style="width:150px"
  18. type="date"
  19. placeholder="选择日期"
  20. format="yyyy/MM/dd"
  21. value-format="yyyy-MM-dd"
  22. />
  23. <el-date-picker
  24. v-model="listQuery.endReturnTime"
  25. style="width:150px"
  26. type="date"
  27. placeholder="选择日期"
  28. format="yyyy/MM/dd"
  29. value-format="yyyy-MM-dd"
  30. />
  31. </el-form-item>
  32. <el-button class="filter-item" type="primary" icon="el-icon-search" @click="handleFilter">查询</el-button>
  33. </el-form>
  34. </div>
  35. <el-table
  36. v-loading="listLoading"
  37. :data="list"
  38. element-loading-text="Loading"
  39. border
  40. fit
  41. highlight-current-row
  42. style="width:100%;margin-top:20px;"
  43. >
  44. <el-table-column align="center" label="序号" width="50">
  45. <template slot-scope="scope">
  46. {{ scope.$index }}
  47. </template>
  48. </el-table-column>
  49. <el-table-column label="退款编号" align="center" prop="returnedNo" />
  50. <el-table-column label="退款审核状态" align="center" prop="status">
  51. <template slot-scope="{row}">
  52. <el-tag v-if="row.status*1===1" type="warning" size="small">待审核</el-tag>
  53. <el-tag v-if="row.status*1===2" type="success" size="small">审核通过</el-tag>
  54. <el-tag v-if="row.status*1===3" type="danger" size="small">审核不通过</el-tag>
  55. </template>
  56. </el-table-column>
  57. <el-table-column label="买家" align="center" prop="userName" />
  58. <el-table-column label="订单编号(ID)" align="center" prop="orderNo">
  59. <template slot-scope="{row}">{{ row.orderNo + '(' + row.orderID + ')' }}</template>
  60. </el-table-column>
  61. <el-table-column label="退款金额" align="center" prop="refundFee">
  62. <template slot-scope="{row}">{{ row.refundFee | toThousandFilter }}</template>
  63. </el-table-column>
  64. <el-table-column label="退款方式" align="center" prop="returnedWay">
  65. <template slot-scope="{row}">
  66. <template v-if="row.returnedWay*1===4">未支付无退款</template>
  67. <template v-else-if="row.returnedWay*1===1">
  68. <span v-if="row.refundBalanceFee*1 !== 0">余额账户:¥{{ row.refundBalanceFee | toThousandFilter }}</span>
  69. <span v-if="row.refundOnlineFee*1 !== 0">线上退回:¥{{ row.refundOnlineFee | toThousandFilter }}</span>
  70. <span v-if="row.refundOfflineFee*1 !== 0">线下转账:¥{{ row.refundOfflineFee | toThousandFilter }}</span>
  71. </template>
  72. <template v-else>----</template>
  73. </template>
  74. </el-table-column>
  75. <el-table-column label="申请人" align="center" prop="applicationUserName" />
  76. <el-table-column align="center" label="申请时间" prop="returnTime">
  77. <template slot-scope="{row}">
  78. <i class="el-icon-time" />
  79. <span>{{ row.returnTime | parseTime('{y}-{m}-{d} {h}:{i}') }}</span>
  80. </template>
  81. </el-table-column>
  82. <el-table-column label="审核人" align="center" prop="reviewUserName" />
  83. <el-table-column align="center" label="审核时间" prop="confirmReturnTime">
  84. <template slot-scope="{row}">
  85. <i class="el-icon-time" />
  86. <span>{{ row.confirmReturnTime | parseTime('{y}-{m}-{d} {h}:{i}') }}</span>
  87. </template>
  88. </el-table-column>
  89. <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
  90. <template slot-scope="{row}">
  91. <router-link :to="'/order/refund/detail/' + row.orderID "><el-button type="primary" size="small">查看详情</el-button></router-link>
  92. </template>
  93. </el-table-column>
  94. </el-table>
  95. <pagination v-show="total>0" :total="total" :page.sync="listQuery.index" :limit.sync="listQuery.pageSize" @pagination="fetchData" />
  96. </div>
  97. </template>
  98. <script>
  99. import { getRefundList } from '@/api/order'
  100. import Pagination from '@/components/Pagination'
  101. export default {
  102. components: { Pagination },
  103. data() {
  104. return {
  105. list: null,
  106. listLoading: true,
  107. total: 0,
  108. searchTimeVal: '',
  109. listQuery: {
  110. index: 1,
  111. pageSize: 20,
  112. organizeID: this.organizeID,
  113. returnedNo: '',
  114. orderID: '',
  115. orderNo: '',
  116. userName: '',
  117. beginReturnTime: '',
  118. endReturnTime: '',
  119. status: ''
  120. }
  121. }
  122. },
  123. created() {
  124. this.fetchData()
  125. },
  126. methods: {
  127. fetchData() {
  128. this.listLoading = true
  129. getRefundList(this.listQuery).then(response => {
  130. this.list = response.data.results
  131. this.total = response.data.totalRecord
  132. this.listLoading = false
  133. }).catch(() => {
  134. this.listLoading = false
  135. })
  136. },
  137. handleFilter() {
  138. this.fetchData()
  139. }
  140. }
  141. }
  142. </script>
  143. <style scoped>
  144. </style>