14 changed files with 378 additions and 2388 deletions
@ -1,389 +0,0 @@ |
|||
<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="$t('business.dealCashout.cashoutId')" prop="userId"> |
|||
<el-input v-model="queryParams.userId" :placeholder="$t('business.dealCashout.cashoutIdPlaceholder')" clearable @keyup.enter.native="handleQuery" /> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.cashoutAccount')" prop="userAccount"> |
|||
<el-input v-model="queryParams.userAccount" :placeholder="$t('business.dealCashout.cashoutAccountPlaceholder')" clearable @keyup.enter.native="handleQuery" /> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.targetId')" prop="toId"> |
|||
<el-input v-model="queryParams.toId" :placeholder="$t('business.dealCashout.targetIdPlaceholder')" clearable @keyup.enter.native="handleQuery" /> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.targetAccount')" prop="toAccount"> |
|||
<el-input v-model="queryParams.toAccount" :placeholder="$t('business.dealCashout.targetAccountPlaceholder')" clearable @keyup.enter.native="handleQuery" /> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('common.createTime')"> |
|||
<el-date-picker v-model="daterangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" |
|||
type="daterange" range-separator="-" :start-placeholder="$t('common.startDate')" :end-placeholder="$t('common.endDate')" |
|||
:default-time="['00:00:00', '23:59:59']"></el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ $t('common.search') }}</el-button> |
|||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('common.reset') }}</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="['business:dealCashout:add']">{{ $t('common.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="['business:dealCashout:edit']">{{ $t('common.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="['business:dealCashout:remove']">{{ $t('common.delete') }}</el-button> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" |
|||
v-hasPermi="['business:dealCashout:export']">{{ $t('common.export') }}</el-button> |
|||
</el-col> |
|||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
|||
</el-row> |
|||
|
|||
<el-table v-loading="loading" :data="dealCashoutList" @selection-change="handleSelectionChange"> |
|||
<el-table-column type="selection" width="55" align="center" /> |
|||
<el-table-column :label="$t('business.dealCashout.cashoutId')" align="center" prop="userId" /> |
|||
<el-table-column :label="$t('business.dealCashout.cashoutAccount')" align="center" prop="userAccount" /> |
|||
<el-table-column :label="$t('business.dealCashout.targetId')" align="center" prop="toId" /> |
|||
<el-table-column :label="$t('business.dealCashout.targetAccount')" align="center" prop="toAccount" /> |
|||
<el-table-column :label="$t('business.dealCashout.billCode')" align="center" prop="billCode" /> |
|||
<el-table-column :label="$t('business.dealCashout.amount')" align="center" prop="amount" /> |
|||
<el-table-column :label="$t('business.dealCashout.transferType')" align="center" prop="transferType"> |
|||
<template slot-scope="scope"> |
|||
<el-tag type="success" v-if="scope.row.transferType == '0'">{{ $t('business.dealCashout.directCashout') }}</el-tag> |
|||
<el-tag type="danger" v-if="scope.row.transferType == '1'">{{ $t('business.dealCashout.review') }}</el-tag> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column :label="$t('business.dealCashout.remark')" align="center" prop="remark" /> |
|||
<el-table-column :label="$t('business.dealCashout.status')" align="center" prop="status"> |
|||
<template slot-scope="scope"> |
|||
<el-tag v-if="scope.row.status == '0'">{{ $t('business.dealCashout.submit') }}</el-tag> |
|||
<el-tag type="danger" v-if="scope.row.status == '1'">{{ $t('business.dealCashout.reject') }}</el-tag> |
|||
<el-tag type="success" v-if="scope.row.status == '2'">{{ $t('business.dealCashout.approve') }}</el-tag> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column :label="$t('business.dealCashout.createBy')" align="center" prop="createBy" /> |
|||
<el-table-column :label="$t('common.createTime')" align="center" prop="createTime" width="180"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column :label="$t('common.updateTime')" align="center" prop="updateTime" width="180"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.updateTime, '{y}-{m}-{d}') }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column :label="$t('common.operation')" align="center" width="200" class-name="small-padding fixed-width"> |
|||
<template slot-scope="scope"> |
|||
<el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">{{ $t('common.detail') }}</el-button> |
|||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
|||
v-hasPermi="['business:dealCashout:edit']">{{ $t('common.edit') }}</el-button> |
|||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
|||
v-hasPermi="['business:dealCashout:remove']">{{ $t('common.delete') }}</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="700px" append-to-body> |
|||
<el-form ref="form" :model="form" :rules="rules" label-width="auto"> |
|||
<el-form-item :label="$t('business.dealCashout.cashoutAccount')" prop="userAccount"> |
|||
<el-input v-model="form.userAccount" :placeholder="$t('business.dealCashout.cashoutAccountPlaceholder')" /> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.targetId')" prop="toId"> |
|||
<el-input v-model="form.toId" :placeholder="$t('business.dealCashout.targetIdPlaceholder')" /> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.targetAccount')" prop="toAccount"> |
|||
<el-input v-model="form.toAccount" :placeholder="$t('business.dealCashout.targetAccountPlaceholder')" /> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.billCode')" prop="billCode"> |
|||
<el-input v-model="form.billCode" :placeholder="$t('business.dealCashout.billCodePlaceholder')" /> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.amount')" prop="amount"> |
|||
<el-input v-model="form.amount" :placeholder="$t('business.dealCashout.amountPlaceholder')" /> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.status')" prop="amount" v-if="statusShow"> |
|||
<el-switch v-model="value" active-color="#13ce66" inactive-color="#ff4949" active-value="2" |
|||
inactive-value="1"> |
|||
</el-switch> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.remark')" prop="remark"> |
|||
<el-input v-model="form.remark" :placeholder="$t('business.dealCashout.remarkPlaceholder')" /> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{ $t('common.confirm') }}</el-button> |
|||
<el-button @click="cancel">{{ $t('common.cancel') }}</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
<!-- 提现详情 --> |
|||
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body> |
|||
<el-form ref="form" :model="form" label-width="auto"> |
|||
<el-form-item :label="$t('business.dealCashout.cashoutIdLabel')"> |
|||
{{form.userId}} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.cashoutAccountLabel')"> |
|||
{{form.userAccount}} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.targetIdLabel')"> |
|||
{{form.toId}} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.targetAccountLabel')"> |
|||
{{form.toAccount}} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.billCodeLabel')"> |
|||
{{form.billCode}} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.amountLabel')"> |
|||
{{form.amount}} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealCashout.remarkLabel')"> |
|||
{{form.remark}} |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button @click="cancel">{{ $t('common.close') }}</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
listDealCashout, |
|||
getDealCashout, |
|||
delDealCashout, |
|||
addDealCashout, |
|||
updateDealCashout |
|||
} from "@/api/business/dealCashout"; |
|||
|
|||
export default { |
|||
name: "DealCashout", |
|||
data() { |
|||
return { |
|||
// 滑块 |
|||
statusShow: false, |
|||
value: '2', |
|||
// 按钮loading |
|||
buttonLoading: false, |
|||
// 遮罩层 |
|||
loading: true, |
|||
// 选中数组 |
|||
ids: [], |
|||
// 非单个禁用 |
|||
single: true, |
|||
// 非多个禁用 |
|||
multiple: true, |
|||
// 显示搜索条件 |
|||
showSearch: true, |
|||
// 总条数 |
|||
total: 0, |
|||
// 提现表格数据 |
|||
dealCashoutList: [], |
|||
// 弹出层标题 |
|||
title: "", |
|||
// 是否显示弹出层 |
|||
open: false, |
|||
// 是否显示详情弹出层 |
|||
detailOpen: false, |
|||
// 状态时间范围 |
|||
daterangeCreateTime: [], |
|||
// 查询参数 |
|||
queryParams: { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
userId: undefined, |
|||
userAccount: undefined, |
|||
toId: undefined, |
|||
toAccount: undefined, |
|||
billCode: undefined, |
|||
amount: undefined, |
|||
transferType: undefined, |
|||
status: undefined, |
|||
createBy: undefined, |
|||
createTime: undefined, |
|||
}, |
|||
// 表单参数 |
|||
form: {}, |
|||
// 表单校验 |
|||
rules: { |
|||
userId: [{ |
|||
required: true, |
|||
message: this.$t('business.dealCashout.userIdRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
userAccount: [{ |
|||
required: true, |
|||
message: this.$t('business.dealCashout.userAccountRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
toId: [{ |
|||
required: true, |
|||
message: this.$t('business.dealCashout.toIdRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
amount: [{ |
|||
required: true, |
|||
message: this.$t('business.dealCashout.amountRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
} |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
/** 查询提现列表 */ |
|||
getList() { |
|||
this.loading = true; |
|||
this.queryParams.params = {}; |
|||
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) { |
|||
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0]; |
|||
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1]; |
|||
} |
|||
listDealCashout(this.queryParams).then(response => { |
|||
this.dealCashoutList = response.rows; |
|||
this.total = response.total; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
// 处理滑块变化事件 |
|||
handleSliderChange() { |
|||
if (this.sliderValue.value === 0) { |
|||
this.currentStatus.value = '提交'; |
|||
} else if (this.sliderValue.value === 1) { |
|||
this.currentStatus.value = '拒绝'; |
|||
} else if (this.sliderValue.value === 2) { |
|||
this.currentStatus.value = '通过'; |
|||
} |
|||
}, |
|||
// 取消按钮 |
|||
cancel() { |
|||
this.open = false; |
|||
this.detailOpen = false; |
|||
this.reset(); |
|||
}, |
|||
// 表单重置 |
|||
reset() { |
|||
this.form = { |
|||
id: undefined, |
|||
userId: undefined, |
|||
userAccount: undefined, |
|||
toId: undefined, |
|||
toAccount: undefined, |
|||
billCode: undefined, |
|||
amount: undefined, |
|||
transferType: undefined, |
|||
remark: undefined, |
|||
status: undefined, |
|||
delFlag: undefined, |
|||
createBy: undefined, |
|||
createTime: undefined, |
|||
updateBy: undefined, |
|||
updateTime: undefined |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
/** 搜索按钮操作 */ |
|||
handleQuery() { |
|||
this.queryParams.pageNum = 1; |
|||
this.getList(); |
|||
}, |
|||
/** 重置按钮操作 */ |
|||
resetQuery() { |
|||
this.daterangeCreateTime = []; |
|||
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 = this.$t('business.dealCashout.addTitle'); |
|||
}, |
|||
/** 详情按钮操作 */ |
|||
handleDetail(row) { |
|||
this.reset(); |
|||
this.form = row; |
|||
this.detailOpen = true; |
|||
this.title = this.$t('business.dealCashout.detailTitle'); |
|||
}, |
|||
/** 修改按钮操作 */ |
|||
handleUpdate(row) { |
|||
this.loading = true; |
|||
this.reset(); |
|||
const id = row.id || this.ids |
|||
getDealCashout(id).then(response => { |
|||
this.loading = false; |
|||
this.form = response.data; |
|||
if (this.form.status == "0") { |
|||
this.statusShow = true; |
|||
} |
|||
this.open = true; |
|||
this.title = this.$t('business.dealCashout.editTitle'); |
|||
}); |
|||
}, |
|||
/** 提交按钮 */ |
|||
submitForm() { |
|||
this.$refs["form"].validate(valid => { |
|||
if (valid) { |
|||
this.buttonLoading = true; |
|||
if (this.form.id != null) { |
|||
this.form.status = this.value; |
|||
updateDealCashout(this.form).then(response => { |
|||
this.$modal.msgSuccess(this.$t('common.editSuccess')); |
|||
this.open = false; |
|||
this.getList(); |
|||
}).finally(() => { |
|||
this.buttonLoading = false; |
|||
}); |
|||
} else { |
|||
addDealCashout(this.form).then(response => { |
|||
this.$modal.msgSuccess(this.$t('common.addSuccess')); |
|||
this.open = false; |
|||
this.getList(); |
|||
}).finally(() => { |
|||
this.buttonLoading = false; |
|||
}); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
/** 删除按钮操作 */ |
|||
handleDelete(row) { |
|||
const ids = row.id || this.ids; |
|||
this.$modal.confirm(this.$t('common.deleteConfirm')).then(() => { |
|||
this.loading = true; |
|||
return delDealCashout(ids); |
|||
}).then(() => { |
|||
this.loading = false; |
|||
this.getList(); |
|||
this.$modal.msgSuccess(this.$t('common.deleteSuccess')); |
|||
}).catch(() => {}).finally(() => { |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
/** 导出按钮操作 */ |
|||
handleExport() { |
|||
this.download('business/dealCashout/export', { |
|||
...this.queryParams |
|||
}, `dealCashout_${new Date().getTime()}.xlsx`) |
|||
} |
|||
} |
|||
}; |
|||
</script> |
@ -1,408 +0,0 @@ |
|||
<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="$t('business.dealPay.paymentId')" prop="userId"> |
|||
<el-input v-model="queryParams.userId" :placeholder="$t('business.dealPay.paymentIdPlaceholder')" clearable |
|||
@keyup.enter.native="handleQuery"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.paymentAccount')" prop="userAccount"> |
|||
<el-input v-model="queryParams.userAccount" :placeholder="$t('business.dealPay.paymentAccountPlaceholder')" |
|||
clearable @keyup.enter.native="handleQuery"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.targetAccount')" prop="toAccount"> |
|||
<el-input v-model="queryParams.toAccount" :placeholder="$t('business.dealPay.targetAccountPlaceholder')" |
|||
clearable @keyup.enter.native="handleQuery"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('common.createTime')"> |
|||
<el-date-picker v-model="daterangeCreateTime" style="width: 240px" value-format="yyyy-MM-dd HH:mm:ss" |
|||
type="daterange" range-separator="-" :start-placeholder="$t('common.startDate')" |
|||
:end-placeholder="$t('common.endDate')" |
|||
:default-time="['00:00:00', '23:59:59']"></el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ |
|||
$t('common.search') |
|||
}} |
|||
</el-button> |
|||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('common.reset') }}</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="['business:dealPay:add']">{{ $t('common.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="['business:dealPay:edit']">{{ $t('common.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="['business:dealPay:remove']">{{ $t('common.delete') }} |
|||
</el-button> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" |
|||
v-hasPermi="['business:dealPay:export']">{{ $t('common.export') }} |
|||
</el-button> |
|||
</el-col> |
|||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
|||
</el-row> |
|||
|
|||
<el-table v-loading="loading" :data="dealPayList" @selection-change="handleSelectionChange"> |
|||
<el-table-column type="selection" width="55" align="center"/> |
|||
<el-table-column :label="$t('business.dealPay.paymentId')" align="center" prop="userId"/> |
|||
<el-table-column :label="$t('business.dealPay.paymentAccount')" align="center" prop="userAccount"/> |
|||
<el-table-column :label="$t('business.dealPay.targetId')" align="center" prop="toId"/> |
|||
<el-table-column :label="$t('business.dealPay.targetAccount')" align="center" prop="toAccount"/> |
|||
<el-table-column :label="$t('business.dealPay.billCode')" align="center" prop="billCode"/> |
|||
<el-table-column :label="$t('business.dealPay.amount')" align="center" prop="amount"/> |
|||
<el-table-column :label="$t('business.dealPay.transferType')" align="center" prop="transferType"> |
|||
<template slot-scope="scope"> |
|||
<el-tag type="success" v-if="scope.row.transferType == '0'">{{ |
|||
$t('business.dealPay.directPayment') |
|||
}} |
|||
</el-tag> |
|||
<el-tag type="danger" v-if="scope.row.transferType == '1'">{{ $t('business.dealPay.review') }}</el-tag> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column :label="$t('business.dealPay.qrCode')" align="center" prop="qrCode"/> |
|||
<el-table-column :label="$t('business.dealPay.remark')" align="center" prop="remark"/> |
|||
<el-table-column :label="$t('business.dealPay.status')" align="center" prop="status"> |
|||
<template slot-scope="scope"> |
|||
<el-tag v-if="scope.row.status == '0'">{{ $t('business.dealPay.submit') }}</el-tag> |
|||
<el-tag type="danger" v-if="scope.row.status == '1'">{{ $t('business.dealPay.reject') }}</el-tag> |
|||
<el-tag type="success" v-if="scope.row.status == '2'">{{ $t('business.dealPay.approve') }}</el-tag> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column :label="$t('common.createTime')" align="center" prop="createTime" width="180"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column :label="$t('common.operation')" align="center" width="200" |
|||
class-name="small-padding fixed-width"> |
|||
<template slot-scope="scope"> |
|||
<el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">{{ |
|||
$t('common.detail') |
|||
}} |
|||
</el-button> |
|||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
|||
v-hasPermi="['business:dealPay:edit']">{{ $t('common.edit') }} |
|||
</el-button> |
|||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
|||
v-hasPermi="['business:dealPay:remove']">{{ $t('common.delete') }} |
|||
</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="$t('business.dealPay.paymentId')" prop="userId"> |
|||
<el-input v-model="form.userId" :placeholder="$t('business.dealPay.paymentIdPlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.paymentAccount')" prop="userAccount"> |
|||
<el-input v-model="form.userAccount" :placeholder="$t('business.dealPay.paymentAccountPlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.targetId')" prop="toId"> |
|||
<el-input v-model="form.toId" :placeholder="$t('business.dealPay.targetIdPlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.targetAccount')" prop="toAccount"> |
|||
<el-input v-model="form.toAccount" :placeholder="$t('business.dealPay.targetAccountPlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.billCode')" prop="billCode"> |
|||
<el-input v-model="form.billCode" :placeholder="$t('business.dealPay.billCodePlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.amount')" prop="amount"> |
|||
<el-input v-model="form.amount" :placeholder="$t('business.dealPay.amountPlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.qrCode')" prop="qrCode"> |
|||
<el-input v-model="form.qrCode" :placeholder="$t('business.dealPay.qrCodePlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.status')" prop="amount" v-if="statusShow"> |
|||
<el-switch v-model="value" active-color="#13ce66" inactive-color="#ff4949" active-value="2" |
|||
inactive-value="1"> |
|||
</el-switch> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.remark')" prop="remark"> |
|||
<el-input v-model="form.remark" :placeholder="$t('business.dealPay.remarkPlaceholder')"/> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{ $t('common.confirm') }}</el-button> |
|||
<el-button @click="cancel">{{ $t('common.cancel') }}</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
<!-- 付款详情 --> |
|||
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body> |
|||
<el-form ref="form" :model="form" label-width="auto"> |
|||
<el-form-item :label="$t('business.dealPay.paymentIdLabel')"> |
|||
{{ form.userId }} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.paymentAccountLabel')"> |
|||
{{ form.userAccount }} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.targetIdLabel')"> |
|||
{{ form.toId }} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.targetAccountLabel')"> |
|||
{{ form.toAccount }} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.billCodeLabel')"> |
|||
{{ form.billCode }} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.amountLabel')"> |
|||
{{ form.amount }} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.qrCodeLabel')"> |
|||
{{ form.qrCode }} |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealPay.remarkLabel')"> |
|||
{{ form.remark }} |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button @click="cancel">{{ $t('common.close') }}</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
listDealPay, |
|||
getDealPay, |
|||
delDealPay, |
|||
addDealPay, |
|||
updateDealPay |
|||
} from "@/api/business/dealPay"; |
|||
|
|||
export default { |
|||
name: "DealPay", |
|||
data() { |
|||
return { |
|||
// 滑块 |
|||
statusShow: false, |
|||
value: '2', |
|||
// 按钮loading |
|||
buttonLoading: false, |
|||
// 遮罩层 |
|||
loading: true, |
|||
// 选中数组 |
|||
ids: [], |
|||
// 非单个禁用 |
|||
single: true, |
|||
// 非多个禁用 |
|||
multiple: true, |
|||
// 显示搜索条件 |
|||
showSearch: true, |
|||
// 总条数 |
|||
total: 0, |
|||
// 付款表格数据 |
|||
dealPayList: [], |
|||
// 弹出层标题 |
|||
title: "", |
|||
// 是否显示弹出层 |
|||
open: false, |
|||
// 是否显示详情弹出层 |
|||
detailOpen: false, |
|||
// 状态时间范围 |
|||
daterangeCreateTime: [], |
|||
// 查询参数 |
|||
queryParams: { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
userId: undefined, |
|||
userAccount: undefined, |
|||
toId: undefined, |
|||
toAccount: undefined, |
|||
billCode: undefined, |
|||
amount: undefined, |
|||
transferType: undefined, |
|||
qrCode: undefined, |
|||
remark: undefined, |
|||
status: undefined, |
|||
createTime: undefined, |
|||
}, |
|||
// 表单参数 |
|||
form: {}, |
|||
// 表单校验 |
|||
rules: { |
|||
userId: [{ |
|||
required: true, |
|||
message: this.$t('business.dealPay.paymentIdRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
userAccount: [{ |
|||
required: true, |
|||
message: this.$t('business.dealPay.paymentAccountRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
toId: [{ |
|||
required: true, |
|||
message: this.$t('business.dealPay.targetIdRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
toAccount: [{ |
|||
required: true, |
|||
message: this.$t('business.dealPay.targetAccountRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
amount: [{ |
|||
required: true, |
|||
message: this.$t('business.dealPay.amountRequired'), |
|||
trigger: "blur" |
|||
}] |
|||
} |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
/** 查询付款列表 */ |
|||
getList() { |
|||
this.loading = true; |
|||
this.queryParams.params = {}; |
|||
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) { |
|||
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0]; |
|||
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1]; |
|||
} |
|||
listDealPay(this.queryParams).then(response => { |
|||
this.dealPayList = response.rows; |
|||
this.total = response.total; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
// 取消按钮 |
|||
cancel() { |
|||
this.open = false; |
|||
this.detailOpen = false; |
|||
this.reset(); |
|||
}, |
|||
// 表单重置 |
|||
reset() { |
|||
this.form = { |
|||
id: undefined, |
|||
userId: undefined, |
|||
userAccount: undefined, |
|||
toId: undefined, |
|||
toAccount: undefined, |
|||
billCode: undefined, |
|||
amount: undefined, |
|||
transferType: undefined, |
|||
qrCode: undefined, |
|||
remark: undefined, |
|||
status: undefined, |
|||
delFlag: undefined, |
|||
createBy: undefined, |
|||
createTime: undefined, |
|||
updateBy: undefined, |
|||
updateTime: undefined |
|||
}; |
|||
this.resetForm("form"); |
|||
}, |
|||
/** 搜索按钮操作 */ |
|||
handleQuery() { |
|||
this.queryParams.pageNum = 1; |
|||
this.getList(); |
|||
}, |
|||
/** 重置按钮操作 */ |
|||
resetQuery() { |
|||
this.daterangeCreateTime = []; |
|||
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 = this.$t('business.dealPay.addPayment'); |
|||
}, |
|||
/** 详情按钮操作 */ |
|||
handleDetail(row) { |
|||
this.reset(); |
|||
this.form = row; |
|||
this.detailOpen = true; |
|||
this.title = this.$t('business.dealPay.payment'); |
|||
}, |
|||
/** 修改按钮操作 */ |
|||
handleUpdate(row) { |
|||
this.loading = true; |
|||
this.reset(); |
|||
const id = row.id || this.ids |
|||
getDealPay(id).then(response => { |
|||
this.loading = false; |
|||
this.form = response.data; |
|||
if (this.form.status == "0") { |
|||
this.statusShow = true; |
|||
} |
|||
this.open = true; |
|||
this.title = this.$t('business.dealPay.editPayment'); |
|||
}); |
|||
}, |
|||
/** 提交按钮 */ |
|||
submitForm() { |
|||
this.$refs["form"].validate(valid => { |
|||
if (valid) { |
|||
this.buttonLoading = true; |
|||
if (this.form.id != null) { |
|||
this.form.status = this.value; |
|||
updateDealPay(this.form).then(response => { |
|||
this.$modal.msgSuccess(this.$t('common.editSuccess')); |
|||
this.open = false; |
|||
this.getList(); |
|||
}).finally(() => { |
|||
this.buttonLoading = false; |
|||
}); |
|||
} else { |
|||
addDealPay(this.form).then(response => { |
|||
this.$modal.msgSuccess(this.$t('common.addSuccess')); |
|||
this.open = false; |
|||
this.getList(); |
|||
}).finally(() => { |
|||
this.buttonLoading = false; |
|||
}); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
/** 删除按钮操作 */ |
|||
handleDelete(row) { |
|||
const ids = row.id || this.ids; |
|||
this.$modal.confirm(this.$t('common.deleteConfirm')).then(() => { |
|||
this.loading = true; |
|||
return delDealPay(ids); |
|||
}).then(() => { |
|||
this.loading = false; |
|||
this.getList(); |
|||
this.$modal.msgSuccess(this.$t('common.deleteSuccess')); |
|||
}).catch(() => { |
|||
}).finally(() => { |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
/** 导出按钮操作 */ |
|||
handleExport() { |
|||
this.download('business/dealPay/export', { |
|||
...this.queryParams |
|||
}, `dealPay_${new Date().getTime()}.xlsx`) |
|||
} |
|||
} |
|||
}; |
|||
</script> |
@ -1,392 +0,0 @@ |
|||
<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="$t('business.dealReceive.cashoutId')" prop="userId"> |
|||
<el-input v-model="queryParams.userId" :placeholder="$t('business.dealReceive.cashoutIdPlaceholder')" clearable |
|||
@keyup.enter.native="handleQuery"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealReceive.cashoutAccount')" prop="userAccount"> |
|||
<el-input v-model="queryParams.userAccount" :placeholder="$t('business.dealReceive.cashoutAccountPlaceholder')" |
|||
clearable @keyup.enter.native="handleQuery"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealReceive.targetId')" prop="toId"> |
|||
<el-input v-model="queryParams.toId" :placeholder="$t('business.dealReceive.targetIdPlaceholder')" clearable |
|||
@keyup.enter.native="handleQuery"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealReceive.targetAccount')" prop="toAccount"> |
|||
<el-input v-model="queryParams.toAccount" :placeholder="$t('business.dealReceive.targetAccountPlaceholder')" |
|||
clearable @keyup.enter.native="handleQuery"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('common.createTime')" prop="createTime"> |
|||
<el-date-picker clearable v-model="queryParams.createTime" type="date" value-format="yyyy-MM-dd" |
|||
:placeholder="$t('common.createTime')"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">{{ |
|||
$t('common.search') |
|||
}} |
|||
</el-button> |
|||
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">{{ $t('common.reset') }}</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="['business:dealReceive:add']">{{ $t('common.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="['business:dealReceive:edit']">{{ $t('common.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="['business:dealReceive:remove']">{{ $t('common.delete') }} |
|||
</el-button> |
|||
</el-col> |
|||
<el-col :span="1.5"> |
|||
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" |
|||
v-hasPermi="['business:dealReceive:export']">{{ $t('common.export') }} |
|||
</el-button> |
|||
</el-col> |
|||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
|||
</el-row> |
|||
|
|||
<el-table v-loading="loading" :data="dealReceiveList" @selection-change="handleSelectionChange"> |
|||
<el-table-column type="selection" width="55" align="center"/> |
|||
<el-table-column label="收款ID" align="center" prop="userId"/> |
|||
<el-table-column label="收款账户" align="center" prop="userAccount"/> |
|||
<el-table-column label="目标ID" align="center" prop="toId"/> |
|||
<el-table-column label="目标账户" align="center" prop="toAccount"/> |
|||
<el-table-column label="账单唯一编号" align="center" prop="billCode"/> |
|||
<el-table-column label="收款金额" align="center" prop="amount"/> |
|||
<el-table-column label="提现类型" align="center" prop="transferType"> |
|||
<template slot-scope="scope"> |
|||
<el-tag type="success" v-if="scope.row.transferType == '0'">直接收</el-tag> |
|||
<el-tag type="danger" v-if="scope.row.transferType == '1'">审核</el-tag> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="二维码解析" align="center" prop="qrCode"/> |
|||
<el-table-column label="提现备注" align="center" prop="remark"/> |
|||
<el-table-column label="状态" align="center" prop="status"> |
|||
<template slot-scope="scope"> |
|||
<el-tag v-if="scope.row.status == '0'">提交</el-tag> |
|||
<el-tag type="danger" v-if="scope.row.status == '1'">拒绝</el-tag> |
|||
<el-tag type="success" v-if="scope.row.status == '2'">通过</el-tag> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column :label="$t('common.operation')" align="center" prop="createTime" width="180"> |
|||
<template slot-scope="scope"> |
|||
<span>{{ parseTime(scope.row.createTime, '{y}-{m}-{d}') }}</span> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column :label="$t('common.createTime')" align="center" width="200" |
|||
class-name="small-padding fixed-width"> |
|||
<template slot-scope="scope"> |
|||
<el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">{{ |
|||
$t('common.detail') |
|||
}} |
|||
</el-button> |
|||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
|||
v-hasPermi="['business:dealReceive:edit']">{{ $t('common.edit') }} |
|||
</el-button> |
|||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
|||
v-hasPermi="['business:dealReceive:remove']">{{ $t('common.delete') }} |
|||
</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="700px" append-to-body> |
|||
<el-form ref="form" :model="form" :rules="rules" label-width="auto"> |
|||
<el-form-item :label="$t('business.dealReceive.cashoutAccount')" prop="userAccount"> |
|||
<el-input v-model="form.userAccount" :placeholder="$t('business.dealReceive.cashoutAccountPlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealReceive.targetId')" prop="toId"> |
|||
<el-input v-model="form.toId" :placeholder="$t('business.dealReceive.targetIdPlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealReceive.targetAccount')" prop="toAccount"> |
|||
<el-input v-model="form.toAccount" :placeholder="$t('business.dealReceive.targetAccountPlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealReceive.billCode')" prop="billCode"> |
|||
<el-input v-model="form.billCode" :placeholder="$t('business.dealReceive.billCodePlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealReceive.amount')" prop="amount"> |
|||
<el-input v-model="form.amount" :placeholder="$t('business.dealReceive.amountPlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealReceive.qrCode')" prop="qrCode"> |
|||
<el-input v-model="form.qrCode" :placeholder="$t('business.dealReceive.qrCodePlaceholder')"/> |
|||
</el-form-item> |
|||
<el-form-item label="状态" prop="amount" v-if="statusShow"> |
|||
<el-switch v-model="value" active-color="#13ce66" inactive-color="#ff4949" active-value="2" |
|||
inactive-value="1"> |
|||
</el-switch> |
|||
</el-form-item> |
|||
<el-form-item :label="$t('business.dealReceive.remark')" prop="remark"> |
|||
<el-input v-model="form.remark" :placeholder="$t('business.dealReceive.remarkPlaceholder')"/> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">{{ $t('common.confirm') }}</el-button> |
|||
<el-button @click="cancel">{{ $t('common.cancel') }}</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
<!-- 收款详情 --> |
|||
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body> |
|||
<el-form ref="form" :model="form" label-width="auto"> |
|||
<el-form-item label="收款ID:"> |
|||
{{ form.userId }} |
|||
</el-form-item> |
|||
<el-form-item label="收款账户:"> |
|||
{{ form.userAccount }} |
|||
</el-form-item> |
|||
<el-form-item label="目标ID:"> |
|||
{{ form.toId }} |
|||
</el-form-item> |
|||
<el-form-item label="目标账户:"> |
|||
{{ form.toAccount }} |
|||
</el-form-item> |
|||
<el-form-item label="账单唯一编号:"> |
|||
{{ form.billCode }} |
|||
</el-form-item> |
|||
<el-form-item label="收款金额:"> |
|||
{{ form.amount }} |
|||
</el-form-item> |
|||
<el-form-item label="二维码解析:"> |
|||
{{ form.qrCode }} |
|||
</el-form-item> |
|||
<el-form-item label="提现备注:"> |
|||
{{ form.remark }} |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button @click="cancel">{{ $t('common.close') }}</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
listDealReceive, |
|||
getDealReceive, |
|||
delDealReceive, |
|||
addDealReceive, |
|||
updateDealReceive |
|||
} from "@/api/business/dealReceive"; |
|||
|
|||
export default { |
|||
name: "DealReceive", |
|||
data() { |
|||
return { |
|||
// 滑块 |
|||
statusShow: false, |
|||
value: '2', |
|||
// 按钮loading |
|||
buttonLoading: false, |
|||
// 遮罩层 |
|||
loading: true, |
|||
// 选中数组 |
|||
ids: [], |
|||
// 非单个禁用 |
|||
single: true, |
|||
// 非多个禁用 |
|||
multiple: true, |
|||
// 显示搜索条件 |
|||
showSearch: true, |
|||
// 总条数 |
|||
total: 0, |
|||
// 收款表格数据 |
|||
dealReceiveList: [], |
|||
// 弹出层标题 |
|||
title: "", |
|||
// 是否显示弹出层 |
|||
open: false, |
|||
// 是否显示详情弹出层 |
|||
detailOpen: false, |
|||
// 查询参数 |
|||
queryParams: { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
userId: undefined, |
|||
userAccount: undefined, |
|||
toId: undefined, |
|||
toAccount: undefined, |
|||
billCode: undefined, |
|||
amount: undefined, |
|||
transferType: undefined, |
|||
qrCode: undefined, |
|||
remark: undefined, |
|||
status: undefined, |
|||
createTime: undefined, |
|||
}, |
|||
// 表单参数 |
|||
form: {}, |
|||
// 表单校验 |
|||
rules: { |
|||
userId: [{ |
|||
required: true, |
|||
message: this.$t('business.dealReceive.userIdRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
userAccount: [{ |
|||
required: true, |
|||
message: this.$t('business.dealReceive.userAccountRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
toId: [{ |
|||
required: true, |
|||
message: this.$t('business.dealReceive.toIdRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
toAccount: [{ |
|||
required: true, |
|||
message: this.$t('business.dealReceive.toAccountRequired'), |
|||
trigger: "blur" |
|||
}], |
|||
} |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
/** 查询收款列表 */ |
|||
getList() { |
|||
this.loading = true; |
|||
listDealReceive(this.queryParams).then(response => { |
|||
this.dealReceiveList = response.rows; |
|||
this.total = response.total; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
// 取消按钮 |
|||
cancel() { |
|||
this.open = false; |
|||
this.detailOpen = false; |
|||
this.reset(); |
|||
}, |
|||
// 表单重置 |
|||
reset() { |
|||
this.form = { |
|||
id: undefined, |
|||
userId: undefined, |
|||
userAccount: undefined, |
|||
toId: undefined, |
|||
toAccount: undefined, |
|||
billCode: undefined, |
|||
amount: undefined, |
|||
transferType: undefined, |
|||
qrCode: undefined, |
|||
remark: undefined, |
|||
status: undefined, |
|||
delFlag: undefined, |
|||
createBy: undefined, |
|||
createTime: undefined, |
|||
updateBy: undefined, |
|||
updateTime: undefined |
|||
}; |
|||
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 = this.$t('business.dealReceive.addTitle'); |
|||
}, |
|||
/** 详情按钮操作 */ |
|||
handleDetail(row) { |
|||
this.reset(); |
|||
this.form = row; |
|||
this.detailOpen = true; |
|||
this.title = this.$t('business.dealReceive.detailTitle'); |
|||
}, |
|||
/** 修改按钮操作 */ |
|||
handleUpdate(row) { |
|||
this.loading = true; |
|||
this.reset(); |
|||
const id = row.id || this.ids |
|||
getDealReceive(id).then(response => { |
|||
this.loading = false; |
|||
this.form = response.data; |
|||
if (this.form.status == "0") { |
|||
this.statusShow = true; |
|||
} |
|||
this.open = true; |
|||
this.title = this.$t('business.dealReceive.editTitle'); |
|||
}); |
|||
}, |
|||
/** 提交按钮 */ |
|||
submitForm() { |
|||
this.$refs["form"].validate(valid => { |
|||
if (valid) { |
|||
this.buttonLoading = true; |
|||
if (this.form.id != null) { |
|||
this.form.status = this.value; |
|||
updateDealReceive(this.form).then(response => { |
|||
this.$modal.msgSuccess(this.$t('common.editSuccess')); |
|||
this.open = false; |
|||
this.getList(); |
|||
}).finally(() => { |
|||
this.buttonLoading = false; |
|||
}); |
|||
} else { |
|||
addDealReceive(this.form).then(response => { |
|||
this.$modal.msgSuccess(this.$t('common.addSuccess')); |
|||
this.open = false; |
|||
this.getList(); |
|||
}).finally(() => { |
|||
this.buttonLoading = false; |
|||
}); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
/** 删除按钮操作 */ |
|||
handleDelete(row) { |
|||
const ids = row.id || this.ids; |
|||
this.$modal.confirm(this.$t('common.deleteConfirm')).then(() => { |
|||
this.loading = true; |
|||
return delDealReceive(ids); |
|||
}).then(() => { |
|||
this.loading = false; |
|||
this.getList(); |
|||
this.$modal.msgSuccess(this.$t('common.addSuccess')); |
|||
}).catch(() => { |
|||
}).finally(() => { |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
/** 导出按钮操作 */ |
|||
handleExport() { |
|||
this.download('business/dealReceive/export', { |
|||
...this.queryParams |
|||
}, `dealReceive_${new Date().getTime()}.xlsx`) |
|||
} |
|||
} |
|||
}; |
|||
</script> |
@ -1,378 +0,0 @@ |
|||
<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="充值ID" prop="userId"> |
|||
<el-input v-model="queryParams.userId" placeholder="请输入充值ID" clearable @keyup.enter.native="handleQuery" /> |
|||
</el-form-item> |
|||
<el-form-item label="充值账户" prop="userAccount"> |
|||
<el-input v-model="queryParams.userAccount" placeholder="请输入充值账户" clearable @keyup.enter.native="handleQuery" /> |
|||
</el-form-item> |
|||
<el-form-item label="目标ID" prop="toId"> |
|||
<el-input v-model="queryParams.toId" placeholder="请输入目标ID" clearable @keyup.enter.native="handleQuery" /> |
|||
</el-form-item> |
|||
<el-form-item label="目标账户" prop="toAccount"> |
|||
<el-input v-model="queryParams.toAccount" placeholder="请输入目标账户" clearable @keyup.enter.native="handleQuery" /> |
|||
</el-form-item> |
|||
<el-form-item label="账单唯一编号" prop="billCode"> |
|||
<el-input v-model="queryParams.billCode" 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> |
|||
<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="['business:dealTopUp: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="['business:dealTopUp: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="['business:dealTopUp: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="['business:dealTopUp:export']">导出</el-button> |
|||
</el-col> |
|||
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
|||
</el-row> |
|||
|
|||
<el-table v-loading="loading" :data="dealTopUpList" @selection-change="handleSelectionChange"> |
|||
<el-table-column type="selection" width="55" align="center" /> |
|||
<el-table-column label="唯一ID" align="center" prop="id" v-if="true" /> |
|||
<el-table-column label="充值ID" align="center" prop="userId" /> |
|||
<el-table-column label="充值账户" align="center" prop="userAccount" /> |
|||
<el-table-column label="目标ID" align="center" prop="toId" /> |
|||
<el-table-column label="目标账户" align="center" prop="toAccount" /> |
|||
<el-table-column label="账单唯一编号" align="center" prop="billCode" /> |
|||
<el-table-column label="充值金额" align="center" prop="amount" /> |
|||
<el-table-column label="充值类型" align="center" prop="transferType"> |
|||
<template slot-scope="scope"> |
|||
<el-tag type="success" v-if="scope.row.transferType == '0'">直接充</el-tag> |
|||
<el-tag type="danger" v-if="scope.row.transferType == '1'">审核</el-tag> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="充值备注" align="center" prop="remark" /> |
|||
<el-table-column label="状态" align="center" prop="status"> |
|||
<template slot-scope="scope"> |
|||
<el-tag v-if="scope.row.status == '0'">提交</el-tag> |
|||
<el-tag type="danger" v-if="scope.row.status == '1'">拒绝</el-tag> |
|||
<el-tag type="success" v-if="scope.row.status == '2'">通过</el-tag> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width"> |
|||
<template slot-scope="scope"> |
|||
<el-button size="mini" type="text" icon="el-icon-view" @click="handleDetail(scope.row)">详情</el-button> |
|||
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" |
|||
v-hasPermi="['business:dealTopUp:edit']">修改</el-button> |
|||
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" |
|||
v-hasPermi="['business:dealTopUp: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="700px" append-to-body> |
|||
<el-form ref="form" :model="form" :rules="rules" label-width="auto"> |
|||
<el-form-item label="充值账户" prop="userAccount"> |
|||
<el-input v-model="form.userAccount" placeholder="请输入充值账户" /> |
|||
</el-form-item> |
|||
<el-form-item label="目标ID" prop="toId"> |
|||
<el-input v-model="form.toId" placeholder="请输入目标ID" /> |
|||
</el-form-item> |
|||
<el-form-item label="目标账户" prop="toAccount"> |
|||
<el-input v-model="form.toAccount" placeholder="请输入目标账户" /> |
|||
</el-form-item> |
|||
<el-form-item label="账单唯一编号" prop="billCode"> |
|||
<el-input v-model="form.billCode" 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="remark"> |
|||
<el-input v-model="form.remark" placeholder="请输入充值备注" /> |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button :loading="buttonLoading" type="primary" @click="submitForm">确 定</el-button> |
|||
<el-button @click="cancel">取 消</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
|
|||
<!-- 充值详情 --> |
|||
<el-dialog :title="title" :visible.sync="detailOpen" width="700px" append-to-body> |
|||
<el-form ref="form" :model="form" label-width="auto"> |
|||
<el-form-item label="充值ID:"> |
|||
{{form.userId}} |
|||
</el-form-item> |
|||
<el-form-item label="充值账户:"> |
|||
{{form.userAccount}} |
|||
</el-form-item> |
|||
<el-form-item label="目标ID:"> |
|||
{{form.toId}} |
|||
</el-form-item> |
|||
<el-form-item label="目标账户:"> |
|||
{{form.toAccount}} |
|||
</el-form-item> |
|||
<el-form-item label="账单唯一编号:"> |
|||
{{form.billCode}} |
|||
</el-form-item> |
|||
<el-form-item label="充值金额:"> |
|||
{{form.amount}} |
|||
</el-form-item> |
|||
<el-form-item label="充值备注:"> |
|||
{{form.remark}} |
|||
</el-form-item> |
|||
</el-form> |
|||
<div slot="footer" class="dialog-footer"> |
|||
<el-button @click="cancel">关 闭</el-button> |
|||
</div> |
|||
</el-dialog> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
listDealTopUp, |
|||
getDealTopUp, |
|||
delDealTopUp, |
|||
addDealTopUp, |
|||
updateDealTopUp |
|||
} from "@/api/business/dealTopUp"; |
|||
|
|||
export default { |
|||
name: "DealTopUp", |
|||
data() { |
|||
return { |
|||
// 按钮loading |
|||
buttonLoading: false, |
|||
// 遮罩层 |
|||
loading: true, |
|||
// 选中数组 |
|||
ids: [], |
|||
// 非单个禁用 |
|||
single: true, |
|||
// 非多个禁用 |
|||
multiple: true, |
|||
// 显示搜索条件 |
|||
showSearch: true, |
|||
// 总条数 |
|||
total: 0, |
|||
// 充值表格数据 |
|||
dealTopUpList: [], |
|||
// 弹出层标题 |
|||
title: "", |
|||
// 是否显示弹出层 |
|||
open: false, |
|||
// 是否显示详情弹出层 |
|||
detailOpen: false, |
|||
// 查询参数 |
|||
queryParams: { |
|||
pageNum: 1, |
|||
pageSize: 10, |
|||
userId: undefined, |
|||
userAccount: undefined, |
|||
toId: undefined, |
|||
toAccount: undefined, |
|||
billCode: undefined, |
|||
amount: undefined, |
|||
transferType: undefined, |
|||
status: undefined, |
|||
}, |
|||
// 表单参数 |
|||
form: {}, |
|||
// 表单校验 |
|||
rules: { |
|||
id: [{ |
|||
required: true, |
|||
message: "唯一ID不能为空", |
|||
trigger: "blur" |
|||
}], |
|||
userId: [{ |
|||
required: true, |
|||
message: "充值ID不能为空", |
|||
trigger: "blur" |
|||
}], |
|||
userAccount: [{ |
|||
required: true, |
|||
message: "充值账户不能为空", |
|||
trigger: "blur" |
|||
}], |
|||
toId: [{ |
|||
required: true, |
|||
message: "目标ID不能为空", |
|||
trigger: "blur" |
|||
}], |
|||
toAccount: [{ |
|||
required: true, |
|||
message: "目标账户不能为空", |
|||
trigger: "blur" |
|||
}], |
|||
billCode: [{ |
|||
required: true, |
|||
message: "账单唯一编号不能为空", |
|||
trigger: "blur" |
|||
}], |
|||
amount: [{ |
|||
required: true, |
|||
message: "充值金额不能为空", |
|||
trigger: "blur" |
|||
}], |
|||
transferType: [{ |
|||
required: true, |
|||
message: "充值类型不能为空", |
|||
trigger: "change" |
|||
}], |
|||
remark: [{ |
|||
required: true, |
|||
message: "充值备注不能为空", |
|||
trigger: "blur" |
|||
}], |
|||
status: [{ |
|||
required: true, |
|||
message: "状态不能为空", |
|||
trigger: "change" |
|||
}], |
|||
} |
|||
}; |
|||
}, |
|||
created() { |
|||
this.getList(); |
|||
}, |
|||
methods: { |
|||
/** 查询充值列表 */ |
|||
getList() { |
|||
this.loading = true; |
|||
listDealTopUp(this.queryParams).then(response => { |
|||
this.dealTopUpList = response.rows; |
|||
this.total = response.total; |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
// 取消按钮 |
|||
cancel() { |
|||
this.open = false; |
|||
this.detailOpen = false; |
|||
this.reset(); |
|||
}, |
|||
// 表单重置 |
|||
reset() { |
|||
this.form = { |
|||
id: undefined, |
|||
userId: undefined, |
|||
userAccount: undefined, |
|||
toId: undefined, |
|||
toAccount: undefined, |
|||
billCode: undefined, |
|||
amount: undefined, |
|||
transferType: undefined, |
|||
remark: undefined, |
|||
status: undefined, |
|||
delFlag: undefined, |
|||
createBy: undefined, |
|||
createTime: undefined, |
|||
updateBy: undefined, |
|||
updateTime: undefined |
|||
}; |
|||
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 = "添加充值"; |
|||
}, |
|||
/** 详情按钮操作 */ |
|||
handleDetail(row) { |
|||
this.reset(); |
|||
this.form = row; |
|||
this.detailOpen = true; |
|||
this.title = "充值"; |
|||
}, |
|||
/** 修改按钮操作 */ |
|||
handleUpdate(row) { |
|||
this.loading = true; |
|||
this.reset(); |
|||
const id = row.id || this.ids |
|||
getDealTopUp(id).then(response => { |
|||
this.loading = false; |
|||
this.form = response.data; |
|||
this.open = true; |
|||
this.title = "修改充值"; |
|||
}); |
|||
}, |
|||
/** 提交按钮 */ |
|||
submitForm() { |
|||
this.$refs["form"].validate(valid => { |
|||
if (valid) { |
|||
this.buttonLoading = true; |
|||
if (this.form.id != null) { |
|||
updateDealTopUp(this.form).then(response => { |
|||
this.$modal.msgSuccess("修改成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
}).finally(() => { |
|||
this.buttonLoading = false; |
|||
}); |
|||
} else { |
|||
addDealTopUp(this.form).then(response => { |
|||
this.$modal.msgSuccess("新增成功"); |
|||
this.open = false; |
|||
this.getList(); |
|||
}).finally(() => { |
|||
this.buttonLoading = false; |
|||
}); |
|||
} |
|||
} |
|||
}); |
|||
}, |
|||
/** 删除按钮操作 */ |
|||
handleDelete(row) { |
|||
const ids = row.id || this.ids; |
|||
this.$modal.confirm('是否确认删除充值编号为"' + ids + '"的数据项?').then(() => { |
|||
this.loading = true; |
|||
return delDealTopUp(ids); |
|||
}).then(() => { |
|||
this.loading = false; |
|||
this.getList(); |
|||
this.$modal.msgSuccess("删除成功"); |
|||
}).catch(() => {}).finally(() => { |
|||
this.loading = false; |
|||
}); |
|||
}, |
|||
/** 导出按钮操作 */ |
|||
handleExport() { |
|||
this.download('business/dealTopUp/export', { |
|||
...this.queryParams |
|||
}, `dealTopUp_${new Date().getTime()}.xlsx`) |
|||
} |
|||
} |
|||
}; |
|||
</script> |
Loading…
Reference in new issue