diff --git a/src/api/rl/changeBalance.js b/src/api/rl/changeBalance.js new file mode 100644 index 0000000..96b7d7d --- /dev/null +++ b/src/api/rl/changeBalance.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询余额变动列表 +export function listChangeBalance(query) { + return request({ + url: '/system/changeBalance/list', + method: 'get', + params: query + }) +} + +// 查询余额变动详细 +export function getChangeBalance(changeId) { + return request({ + url: '/system/changeBalance/' + changeId, + method: 'get' + }) +} + +// 新增余额变动 +export function addChangeBalance(data) { + return request({ + url: '/system/changeBalance', + method: 'post', + data: data + }) +} + +// 修改余额变动 +export function updateChangeBalance(data) { + return request({ + url: '/system/changeBalance', + method: 'put', + data: data + }) +} + +// 删除余额变动 +export function delChangeBalance(changeId) { + return request({ + url: '/system/changeBalance/' + changeId, + method: 'delete' + }) +} diff --git a/src/api/rl/withdraw.js b/src/api/rl/withdraw.js new file mode 100644 index 0000000..4df9197 --- /dev/null +++ b/src/api/rl/withdraw.js @@ -0,0 +1,44 @@ +import request from '@/utils/request' + +// 查询提现记录列表 +export function listWithdraw(query) { + return request({ + url: '/system/withdraw/list', + method: 'get', + params: query + }) +} + +// 查询提现记录详细 +export function getWithdraw(id) { + return request({ + url: '/system/withdraw/' + id, + method: 'get' + }) +} + +// 新增提现记录 +export function addWithdraw(data) { + return request({ + url: '/system/withdraw', + method: 'post', + data: data + }) +} + +// 修改提现记录 +export function updateWithdraw(data) { + return request({ + url: '/system/withdraw', + method: 'put', + data: data + }) +} + +// 删除提现记录 +export function delWithdraw(id) { + return request({ + url: '/system/withdraw/' + id, + method: 'delete' + }) +} diff --git a/src/assets/icons/svg/cancel.svg b/src/assets/icons/svg/cancel.svg new file mode 100644 index 0000000..0b2feee --- /dev/null +++ b/src/assets/icons/svg/cancel.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1727513921699" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5322" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M512 1024C229.229714 1024 0 794.770286 0 512S229.229714 0 512 0s512 229.229714 512 512-229.229714 512-512 512z m0-950.857143C283.087238 73.142857 73.142857 283.087238 73.142857 512s209.944381 438.857143 438.857143 438.857143 438.857143-209.944381 438.857143-438.857143S740.912762 73.142857 512 73.142857z m229.449143 671.963429a48.713143 48.713143 0 0 1-68.949333 0l-155.160381-155.136-155.160381 155.136a48.737524 48.737524 0 1 1-68.973715-68.949334l155.160381-155.160381-155.160381-155.160381a48.761905 48.761905 0 0 1 68.973715-68.949333l155.160381 155.160381 155.160381-155.160381a48.761905 48.761905 0 1 1 68.949333 68.949333l-155.160381 155.160381 155.160381 155.160381a48.761905 48.761905 0 0 1 0 68.949334z" fill="#bfbfbf" p-id="5323"></path></svg> \ No newline at end of file diff --git a/src/assets/icons/svg/rule.svg b/src/assets/icons/svg/rule.svg new file mode 100644 index 0000000..a9470b4 --- /dev/null +++ b/src/assets/icons/svg/rule.svg @@ -0,0 +1 @@ +<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1727513886735" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4265" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="200"><path d="M864 160h-164.512A127.712 127.712 0 0 0 576 64a128 128 0 0 0 0 256 127.712 127.712 0 0 0 123.488-96H864a32 32 0 0 1 32 32v288a32 32 0 0 1-32 32h-304a32 32 0 0 0 0 64H864a96 96 0 0 0 96-96V256a96 96 0 0 0-96-96z m-288 96a64 64 0 1 1 0.032-128.032A64 64 0 0 1 576 256z" p-id="4266" fill="#bfbfbf"></path><path d="M832 704c-57.376 0-105.376 38.016-121.632 90.048H384a31.872 31.872 0 0 1-31.744-30.656A127.68 127.68 0 0 0 320 512c-47.264 0-88.064 25.888-110.24 64H160a32 32 0 0 1-32-32V256a32 32 0 0 1 32-32h208a32 32 0 0 0 0-64H160a96 96 0 0 0-96 96v288a96 96 0 0 0 96 96h32a127.68 127.68 0 0 0 96.16 123.52A95.936 95.936 0 0 0 384 858.08h322.688A128 128 0 1 0 832 704zM256 640a64 64 0 1 1 128.032 0.032A64 64 0 0 1 256 640z m576 256a64 64 0 1 1 0.032-128.032A64 64 0 0 1 832 896z" p-id="4267" fill="#bfbfbf"></path></svg> \ No newline at end of file diff --git a/src/views/system/changeBalance/index.vue b/src/views/system/changeBalance/index.vue new file mode 100644 index 0000000..0fff3a7 --- /dev/null +++ b/src/views/system/changeBalance/index.vue @@ -0,0 +1,331 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> + <el-form-item label="关联订单号" label-width="100" prop="orderNo"> + <el-input + v-model="queryParams.orderNo" + placeholder="请输入关联订单号" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="第三方流水号" label-width="100" prop="outTradeNo"> + <el-input + v-model="queryParams.outTradeNo" + placeholder="请输入第三方流水号" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="收支类型" prop="type"> + <el-select v-model="queryParams.type" placeholder="请选择收支类型" clearable> + <el-option + v-for="dict in dict.type.rl_change_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item label="业务类型" prop="busType"> + <el-select v-model="queryParams.busType" placeholder="请选择业务类型" clearable> + <el-option + v-for="dict in dict.type.rl_business_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item label="所属人" prop="ownerName"> + <el-input + v-model="queryParams.ownerName" + placeholder="请输入所属人" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="手机号" prop="ownerPhone"> + <el-input + v-model="queryParams.ownerPhone" + placeholder="请输入手机号" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="变动原因" prop="reason"> + <el-input + v-model="queryParams.reason" + placeholder="请输入变动原因" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="mini" + @click="handleExport" + v-hasPermi="['system:changeBalance:export']" + >导出</el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + </el-row> + + <el-table v-loading="loading" :data="changeBalanceList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column label="变动id" align="center" prop="changeId" /> + <el-table-column label="关联订单号" align="center" prop="orderNo" /> + <el-table-column label="第三方流水号" align="center" prop="outTradeNo" /> + <el-table-column label="收支类型" align="center" prop="type"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.rl_change_type" :value="scope.row.type"/> + </template> + </el-table-column> + <el-table-column label="业务类型" align="center" prop="busType"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.rl_business_type" :value="scope.row.busType"/> + </template> + </el-table-column> + <el-table-column label="变动前金额" align="center" prop="beforeBalance" /> + <el-table-column label="代理商结余" align="center" prop="afterBalance" /> + <el-table-column label="变动金额" align="center" prop="amount" /> + <el-table-column label="所属人名称" align="center" prop="ownerName" /> +<!-- <el-table-column label="所属人id" align="center" prop="ownerId" />--> + <el-table-column label="手机号" align="center" prop="ownerPhone" /> + <el-table-column label="变动原因" align="center" prop="reason" /> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- 添加或修改余额变动对话框 --> + <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="关联订单号" prop="orderNo"> + <el-input v-model="form.orderNo" placeholder="请输入关联订单号" /> + </el-form-item> + <el-form-item label="第三方流水号" prop="outTradeNo"> + <el-input v-model="form.outTradeNo" placeholder="请输入第三方流水号" /> + </el-form-item> + <el-form-item label="收支类型" prop="type"> + <el-select v-model="form.type" placeholder="请选择收支类型"> + <el-option + v-for="dict in dict.type.rl_change_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="业务类型" prop="busType"> + <el-select v-model="form.busType" placeholder="请选择业务类型"> + <el-option + v-for="dict in dict.type.rl_business_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="变动前金额" prop="beforeBalance"> + <el-input v-model="form.beforeBalance" placeholder="请输入变动前金额" /> + </el-form-item> + <el-form-item label="代理商结余" prop="afterBalance"> + <el-input v-model="form.afterBalance" placeholder="请输入代理商结余" /> + </el-form-item> + <el-form-item label="变动金额" prop="amount"> + <el-input v-model="form.amount" placeholder="请输入变动金额" /> + </el-form-item> + <el-form-item label="所属人名称" prop="ownerName"> + <el-input v-model="form.ownerName" placeholder="请输入所属人名称" /> + </el-form-item> + <el-form-item label="所属人id" prop="ownerId"> + <el-input v-model="form.ownerId" placeholder="请输入所属人id" /> + </el-form-item> + <el-form-item label="手机号" prop="ownerPhone"> + <el-input v-model="form.ownerPhone" placeholder="请输入手机号" /> + </el-form-item> + <el-form-item label="变动原因" prop="reason"> + <el-input v-model="form.reason" placeholder="请输入变动原因" /> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">确 定</el-button> + <el-button @click="cancel">取 消</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { listChangeBalance, getChangeBalance, delChangeBalance, addChangeBalance, updateChangeBalance } from "@/api/rl/changeBalance"; + +export default { + name: "ChangeBalance", + dicts: ['rl_change_type', 'rl_business_type'], + data() { + return { + // 遮罩层 + loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 显示搜索条件 + showSearch: true, + // 总条数 + total: 0, + // 余额变动表格数据 + changeBalanceList: [], + // 弹出层标题 + title: "", + // 是否显示弹出层 + open: false, + // 查询参数 + queryParams: { + pageNum: 1, + pageSize: 10, + orderNo: null, + outTradeNo: null, + type: null, + busType: null, + beforeBalance: null, + afterBalance: null, + amount: null, + ownerName: null, + ownerId: null, + ownerPhone: null, + reason: null + }, + // 表单参数 + form: {}, + // 表单校验 + rules: { + } + }; + }, + created() { + this.getList(); + }, + methods: { + /** 查询余额变动列表 */ + getList() { + this.loading = true; + listChangeBalance(this.queryParams).then(response => { + this.changeBalanceList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + // 表单重置 + reset() { + this.form = { + changeId: null, + orderNo: null, + outTradeNo: null, + type: null, + busType: null, + beforeBalance: null, + afterBalance: null, + amount: null, + ownerName: null, + ownerId: null, + ownerPhone: null, + createTime: null, + reason: null + }; + this.resetForm("form"); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.changeId) + this.single = selection.length!==1 + this.multiple = !selection.length + }, + /** 新增按钮操作 */ + handleAdd() { + this.reset(); + this.open = true; + this.title = "添加余额变动"; + }, + /** 修改按钮操作 */ + handleUpdate(row) { + this.reset(); + const changeId = row.changeId || this.ids + getChangeBalance(changeId).then(response => { + this.form = response.data; + this.open = true; + this.title = "修改余额变动"; + }); + }, + /** 提交按钮 */ + submitForm() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.changeId != null) { + updateChangeBalance(this.form).then(response => { + this.$modal.msgSuccess("修改成功"); + this.open = false; + this.getList(); + }); + } else { + addChangeBalance(this.form).then(response => { + this.$modal.msgSuccess("新增成功"); + this.open = false; + this.getList(); + }); + } + } + }); + }, + /** 删除按钮操作 */ + handleDelete(row) { + const changeIds = row.changeId || this.ids; + this.$modal.confirm('是否确认删除余额变动编号为"' + changeIds + '"的数据项?').then(function() { + return delChangeBalance(changeIds); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("删除成功"); + }).catch(() => {}); + }, + /** 导出按钮操作 */ + handleExport() { + this.download('system/changeBalance/export', { + ...this.queryParams + }, `changeBalance_${new Date().getTime()}.xlsx`) + } + } +}; +</script> diff --git a/src/views/system/withdraw/index.vue b/src/views/system/withdraw/index.vue new file mode 100644 index 0000000..dac34a5 --- /dev/null +++ b/src/views/system/withdraw/index.vue @@ -0,0 +1,392 @@ +<template> + <div class="app-container"> + <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> + <el-form-item label="提现单号" prop="withdrawNo"> + <el-input + v-model="queryParams.withdrawNo" + placeholder="请输入提现单号" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="提现金额" prop="amount"> + <el-input + v-model="queryParams.amount" + placeholder="请输入提现金额" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="运营商id" prop="deptId"> + <el-input + v-model="queryParams.deptId" + placeholder="请输入运营商id" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="状态" prop="status"> + <el-select v-model="queryParams.status" placeholder="请选择状态" clearable> + <el-option + v-for="dict in dict.type.rl_withdraw_status" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + <el-form-item label="申请人" prop="ownerName"> + <el-input + v-model="queryParams.ownerName" + placeholder="请输入申请人" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="申请人id" prop="ownerId"> + <el-input + v-model="queryParams.ownerId" + placeholder="请输入申请人id" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="手机号" prop="ownerPhone"> + <el-input + v-model="queryParams.ownerPhone" + placeholder="请输入手机号" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="服务费" prop="serviceCharge"> + <el-input + v-model="queryParams.serviceCharge" + placeholder="请输入服务费" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="成本" prop="cost"> + <el-input + v-model="queryParams.cost" + placeholder="请输入成本" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item label="打款方式" prop="paymentMethod"> + <el-input + v-model="queryParams.paymentMethod" + placeholder="请输入打款方式" + clearable + @keyup.enter.native="handleQuery" + /> + </el-form-item> + <el-form-item> + <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> + <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> + </el-form-item> + </el-form> + + <el-row :gutter="10" class="mb8"> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-plus" + size="mini" + @click="handleAdd" + v-hasPermi="['system:withdraw:add']" + >新增</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="success" + plain + icon="el-icon-edit" + size="mini" + :disabled="single" + @click="handleUpdate" + v-hasPermi="['system:withdraw:edit']" + >修改</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="danger" + plain + icon="el-icon-delete" + size="mini" + :disabled="multiple" + @click="handleDelete" + v-hasPermi="['system:withdraw:remove']" + >删除</el-button> + </el-col> + <el-col :span="1.5"> + <el-button + type="warning" + plain + icon="el-icon-download" + size="mini" + @click="handleExport" + v-hasPermi="['system:withdraw:export']" + >导出</el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + </el-row> + + <el-table v-loading="loading" :data="withdrawList" @selection-change="handleSelectionChange"> + <el-table-column type="selection" width="55" align="center" /> + <el-table-column label="提现id" align="center" prop="id" /> + <el-table-column label="提现单号" align="center" prop="withdrawNo" /> + <el-table-column label="提现金额" align="center" prop="amount" /> + <el-table-column label="运营商id" align="center" prop="deptId" /> + <el-table-column label="状态" align="center" prop="status"> + <template slot-scope="scope"> + <dict-tag :options="dict.type.rl_withdraw_status" :value="scope.row.status"/> + </template> + </el-table-column> + <el-table-column label="驳回原因" align="center" prop="rejectReason" /> + <el-table-column label="申请人" align="center" prop="ownerName" /> + <el-table-column label="申请人id" align="center" prop="ownerId" /> + <el-table-column label="手机号" align="center" prop="ownerPhone" /> + <el-table-column label="服务费" align="center" prop="serviceCharge" /> + <el-table-column label="成本" align="center" prop="cost" /> + <el-table-column label="打款方式" align="center" prop="paymentMethod" /> + <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> + <template slot-scope="scope"> + <el-button + size="mini" + type="text" + icon="el-icon-edit" + @click="handleUpdate(scope.row)" + v-hasPermi="['system:withdraw:edit']" + >修改</el-button> + <el-button + size="mini" + type="text" + icon="el-icon-delete" + @click="handleDelete(scope.row)" + v-hasPermi="['system:withdraw:remove']" + >删除</el-button> + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total>0" + :total="total" + :page.sync="queryParams.pageNum" + :limit.sync="queryParams.pageSize" + @pagination="getList" + /> + + <!-- 添加或修改提现记录对话框 --> + <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> + <el-form ref="form" :model="form" :rules="rules" label-width="80px"> + <el-form-item label="提现单号" prop="withdrawNo"> + <el-input v-model="form.withdrawNo" placeholder="请输入提现单号" /> + </el-form-item> + <el-form-item label="提现金额" prop="amount"> + <el-input v-model="form.amount" placeholder="请输入提现金额" /> + </el-form-item> + <el-form-item label="运营商id" prop="deptId"> + <el-input v-model="form.deptId" placeholder="请输入运营商id" /> + </el-form-item> + <el-form-item label="状态" prop="status"> + <el-select v-model="form.status" placeholder="请选择状态"> + <el-option + v-for="dict in dict.type.rl_withdraw_status" + :key="dict.value" + :label="dict.label" + :value="dict.value" + ></el-option> + </el-select> + </el-form-item> + <el-form-item label="驳回原因" prop="rejectReason"> + <el-input v-model="form.rejectReason" type="textarea" placeholder="请输入内容" /> + </el-form-item> + <el-form-item label="申请人" prop="ownerName"> + <el-input v-model="form.ownerName" placeholder="请输入申请人" /> + </el-form-item> + <el-form-item label="申请人id" prop="ownerId"> + <el-input v-model="form.ownerId" placeholder="请输入申请人id" /> + </el-form-item> + <el-form-item label="手机号" prop="ownerPhone"> + <el-input v-model="form.ownerPhone" placeholder="请输入手机号" /> + </el-form-item> + <el-form-item label="服务费" prop="serviceCharge"> + <el-input v-model="form.serviceCharge" placeholder="请输入服务费" /> + </el-form-item> + <el-form-item label="成本" prop="cost"> + <el-input v-model="form.cost" placeholder="请输入成本" /> + </el-form-item> + <el-form-item label="打款方式" prop="paymentMethod"> + <el-input v-model="form.paymentMethod" placeholder="请输入打款方式" /> + </el-form-item> + </el-form> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="submitForm">确 定</el-button> + <el-button @click="cancel">取 消</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> +import { listWithdraw, getWithdraw, delWithdraw, addWithdraw, updateWithdraw } from "@/api/rl/withdraw"; + +export default { + name: "Withdraw", + dicts: ['rl_withdraw_status'], + data() { + return { + // 遮罩层 + loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 显示搜索条件 + showSearch: true, + // 总条数 + total: 0, + // 提现记录表格数据 + withdrawList: [], + // 弹出层标题 + title: "", + // 是否显示弹出层 + open: false, + // 查询参数 + queryParams: { + pageNum: 1, + pageSize: 10, + withdrawNo: null, + amount: null, + deptId: null, + status: null, + rejectReason: null, + ownerName: null, + ownerId: null, + ownerPhone: null, + serviceCharge: null, + cost: null, + paymentMethod: null + }, + // 表单参数 + form: {}, + // 表单校验 + rules: { + } + }; + }, + created() { + this.getList(); + }, + methods: { + /** 查询提现记录列表 */ + getList() { + this.loading = true; + listWithdraw(this.queryParams).then(response => { + this.withdrawList = response.rows; + this.total = response.total; + this.loading = false; + }); + }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + // 表单重置 + reset() { + this.form = { + id: null, + withdrawNo: null, + amount: null, + deptId: null, + status: null, + createTime: null, + rejectReason: null, + ownerName: null, + ownerId: null, + ownerPhone: null, + serviceCharge: null, + cost: null, + paymentMethod: null + }; + this.resetForm("form"); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.resetForm("queryForm"); + this.handleQuery(); + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.id) + this.single = selection.length!==1 + this.multiple = !selection.length + }, + /** 新增按钮操作 */ + handleAdd() { + this.reset(); + this.open = true; + this.title = "添加提现记录"; + }, + /** 修改按钮操作 */ + handleUpdate(row) { + this.reset(); + const id = row.id || this.ids + getWithdraw(id).then(response => { + this.form = response.data; + this.open = true; + this.title = "修改提现记录"; + }); + }, + /** 提交按钮 */ + submitForm() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.id != null) { + updateWithdraw(this.form).then(response => { + this.$modal.msgSuccess("修改成功"); + this.open = false; + this.getList(); + }); + } else { + addWithdraw(this.form).then(response => { + this.$modal.msgSuccess("新增成功"); + this.open = false; + this.getList(); + }); + } + } + }); + }, + /** 删除按钮操作 */ + handleDelete(row) { + const ids = row.id || this.ids; + this.$modal.confirm('是否确认删除提现记录编号为"' + ids + '"的数据项?').then(function() { + return delWithdraw(ids); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("删除成功"); + }).catch(() => {}); + }, + /** 导出按钮操作 */ + handleExport() { + this.download('system/withdraw/export', { + ...this.queryParams + }, `withdraw_${new Date().getTime()}.xlsx`) + } + } +}; +</script>