index.vue 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. <template>
  2. <div class="padding-20">
  3. <div class="search-box">
  4. <el-form
  5. ref="form"
  6. :inline="true"
  7. :model="searchForm"
  8. clearable
  9. class="mt-10">
  10. <el-form-item label="订单编号:">
  11. <el-input v-model="searchForm.order_number" placeholder="请输入订单编号" clearable></el-input>
  12. </el-form-item>
  13. <el-form-item label="用户ID:">
  14. <el-input v-model="searchForm.user_id" placeholder="请输入用户ID" clearable></el-input>
  15. </el-form-item>
  16. <el-form-item label="订单创建时间:">
  17. <el-date-picker
  18. :editable="false"
  19. v-model="time"
  20. @change="timearr => {timearr ? (searchForm.start_created_at = timearr[0] + ' 00:00:00', searchForm.end_created_at = timearr[1] + ' 23:59:59') : searchForm.start_created_at = searchForm.end_created_at = undefined}"
  21. type="daterange"
  22. value-format="yyyy-MM-dd"
  23. start-placeholder="开始时间"
  24. end-placeholder="结束时间"
  25. ></el-date-picker>
  26. </el-form-item>
  27. <el-form-item class="ml-10">
  28. <el-button icon="el-icon-search" type="primary" @click="searchSubmit">查询</el-button>
  29. </el-form-item>
  30. </el-form>
  31. </div>
  32. <el-table
  33. :data="tableData"
  34. stripe
  35. v-loading="tableLoading"
  36. class="marginT-10 order-table"
  37. border
  38. :max-height="vheight">
  39. <el-table-column label="流水号" prop="record_number"></el-table-column>
  40. <el-table-column label="收入/支出" prop="record_type" sortable>
  41. <template slot-scope="scope">
  42. <p>{{ ['', '支出', '退款', '收入'][scope.row.record_type]}}</p>
  43. </template>
  44. </el-table-column>
  45. <el-table-column label="金额" prop="record_price" sortable>
  46. <template slot-scope="scope">
  47. <p>{{ scope.row.record_type === 1 ? '-' : '+'}} {{ scope.row.record_price | fen2Yuan }}</p>
  48. </template>
  49. </el-table-column>
  50. <el-table-column label="订单类型" prop="order_type"></el-table-column>
  51. <el-table-column label="流水时间" prop="created_at" width="160"></el-table-column>
  52. <el-table-column label="订单编号" prop="order_number"></el-table-column>
  53. <el-table-column label="用户名称" prop="user_name"></el-table-column>
  54. </el-table>
  55. <el-pagination
  56. class="marginT-20"
  57. @size-change="handleSizeChange"
  58. @current-change="handleCurrentChange"
  59. :hide-on-single-page="true"
  60. :current-page="page"
  61. :page-size="page_size"
  62. :page-sizes="[10, 20, 100, 200, 300, 400]"
  63. background
  64. layout="total, sizes, prev, pager, next, jumper"
  65. :total="totalCount"/>
  66. </div>
  67. </template>
  68. <script>
  69. import page from '@/mixin/page'
  70. export default {
  71. mixins: [page],
  72. data () {
  73. return {
  74. time: [],
  75. searchForm: {},
  76. tableData: [],
  77. tableUrl: '/v1/user/record/price/List'
  78. }
  79. },
  80. mounted () {
  81. const userId = this.$route.query.user_id
  82. if (userId) {
  83. this.$set(this.searchForm, 'user_id', userId)
  84. }
  85. this.init()
  86. }
  87. }
  88. </script>
  89. <style lang="scss" scoped>
  90. </style>