cash_out.vue 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <template>
  2. <div class="app-container">
  3. <el-form :model="queryParams" ref="queryForm" :inline="true" @submit.native.prevent v-show="showSearch">
  4. <el-form-item label="提现编号" prop="nums">
  5. <el-input v-model="queryParams.nums" placeholder="请输入充值编号" @keyup.enter.native="handleQuery" clearable />
  6. </el-form-item>
  7. <el-form-item label="提现状态" prop="state">
  8. <el-select v-model="queryParams.state" placeholder="充值状态" clearable style="width: 117px">
  9. <el-option value="0" label="待支付"></el-option>
  10. <el-option value="1" label="充值成功"></el-option>
  11. </el-select>
  12. </el-form-item>
  13. <el-form-item label="提现日期">
  14. <el-date-picker v-model="dateRange" value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期"></el-date-picker>
  15. </el-form-item>
  16. <el-form-item>
  17. <el-button type="primary" icon="el-icon-search" @click="handleQuery">搜索</el-button>
  18. <el-button icon="el-icon-refresh" @click="resetQuery">重置</el-button>
  19. </el-form-item>
  20. </el-form>
  21. <el-table :data="response.rows" border @selection-change="selects" height="calc(100vh - 235px)">
  22. <el-table-column label="提现编号" align="left" prop="nums" />
  23. <el-table-column label="提现金额" align="center" prop="money" width="150" />
  24. <el-table-column label="提现状态" align="center" width="110">
  25. <template slot-scope="scope">
  26. <el-tag type="info" v-if="scope.row.state == 0">待确认</el-tag>
  27. <el-tag type="success" v-if="scope.row.state == 1">提现成功</el-tag>
  28. <el-popover placement="top-start" v-if="scope.row.state == 2" title="原因" width="200" trigger="hover" :content="scope.row.msg">
  29. <div slot="reference">
  30. <el-tag type="danger">驳回</el-tag>
  31. <i class="el-icon-warning"></i>
  32. </div>
  33. </el-popover>
  34. </template>
  35. </el-table-column>
  36. <el-table-column label="提现时间" align="center" prop="createTime" width="200" />
  37. <el-table-column label="操作" align="center" width="200">
  38. <template slot-scope="scope">
  39. <el-button size="mini" type="text" icon="el-icon-edit" @click="op('edit', scope.row)" v-hasPermi="['work:pay:audit']" v-if="scope.row == 0">确认</el-button>
  40. </template>
  41. </el-table-column>
  42. <template slot="empty">
  43. <el-empty></el-empty>
  44. </template>
  45. </el-table>
  46. <pagination v-if="response.total > 0" :total="response.total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @pagination="getList" />
  47. </div>
  48. </template>
  49. <script>
  50. import edit from './edit';
  51. export default {
  52. name: 'Pay',
  53. data() {
  54. return {
  55. ids: [],
  56. showSearch: true,
  57. response: {},
  58. queryParams: {
  59. pageNum: 1,
  60. pageSize: 10,
  61. nums: null,
  62. state: null,
  63. type: 2,
  64. orderByColumn: 'id',
  65. isAsc: 'desc'
  66. }
  67. };
  68. },
  69. created() {
  70. this.getList();
  71. },
  72. methods: {
  73. getList() {
  74. this.ajax({ url: '/work/pay/list', data: this.queryParams }).then((response) => {
  75. this.response = response;
  76. });
  77. },
  78. handleQuery() {
  79. this.queryParams.pageNum = 1;
  80. this.getList();
  81. },
  82. resetQuery() {
  83. this.resetForm('queryForm');
  84. this.handleQuery();
  85. },
  86. selects(rows) {
  87. this.ids = rows.map((item) => item.id);
  88. },
  89. op(tag, row) {
  90. if (tag == 'edit') {
  91. const id = row.id || this.ids[0];
  92. this.iframe({ obj: edit, param: { id: id }, title: '提现确认', width: '40%', height: '60%' });
  93. }
  94. },
  95. del(row) {
  96. this.$confirm('是否确认删除选中数据?', '警告', { type: 'warning' }).then(() => {
  97. this.get({ url: '/work/pay/remove/' + (row.id || this.ids) }).then((response) => {
  98. this.$modal.msgSuccess('删除成功');
  99. this.getList();
  100. });
  101. });
  102. }
  103. }
  104. };
  105. </script>