5 changed files with 1023 additions and 6 deletions
@ -0,0 +1,491 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
<div class="search_con m-b-28"> |
||||
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px"> |
||||
|
<el-form-item label="订单编号" prop="orderNo"> |
||||
|
<el-input v-model="queryParams.orderNo" placeholder="请输入订单编号" clearable size="medium" |
||||
|
@keyup.enter.native="handleQuery" /> |
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item label="商家名称" prop="storeName"> |
||||
|
<el-input v-model="queryParams.storeName" placeholder="请输入商家名称" clearable size="medium" |
||||
|
@keyup.enter.native="handleQuery" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="类型" prop="tradeType"> |
||||
|
<el-select v-model="queryParams.tradeType" placeholder="请选择类型" clearable size="medium"> |
||||
|
<el-option v-for="dict in tradeTypeStatusOptions" :key="dict.dictValue" :label="dict.dictLabel" |
||||
|
:value="dict.dictValue" /> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
|
||||
|
<!-- <el-form-item label="币种" prop="coin"> |
||||
|
<el-input v-model="queryParams.coin" placeholder="请输入币种" clearable size="medium" |
||||
|
@keyup.enter.native="handleQuery" /> |
||||
|
</el-form-item> --> |
||||
|
<el-form-item label="状态" prop="orderStatus"> |
||||
|
<el-select v-model="queryParams.orderStatus" placeholder="请选择状态" clearable size="medium"> |
||||
|
<el-option v-for="dict in orderStatusOptions" :key="dict.dictValue" :label="dict.dictLabel" |
||||
|
:value="dict.dictValue" /> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item label="下单时间"> |
||||
|
<el-date-picker v-model="dateRange" size="medium" style="width: 360px" value-format="yyyy-MM-dd HH:mm:ss" |
||||
|
type="datetimerange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" |
||||
|
:unlink-panels="true" :default-time="['00:00:00', '23:59:59']"></el-date-picker> |
||||
|
</el-form-item> |
||||
|
|
||||
|
|
||||
|
<el-form-item> |
||||
|
<el-button type="primary" size="medium" @click="handleQuery">搜索</el-button> |
||||
|
<el-button size="medium" @click="resetQuery">重置</el-button> |
||||
|
</el-form-item> |
||||
|
</el-form> |
||||
|
</div> |
||||
|
|
||||
|
<div class="bg bg-white"> |
||||
|
<el-row :gutter="10" class="m-b-16"> |
||||
|
<!-- <el-col :span="1.5">--> |
||||
|
<!-- <el-button--> |
||||
|
<!-- type="primary"--> |
||||
|
<!-- plain--> |
||||
|
<!-- icon="el-icon-plus"--> |
||||
|
<!-- size="medium"--> |
||||
|
<!-- @click="handleAdd"--> |
||||
|
<!-- v-hasPermi="['otc:otcStoreOrder:add']"--> |
||||
|
<!-- >新增</el-button>--> |
||||
|
<!-- </el-col>--> |
||||
|
<!-- <el-col :span="1.5">--> |
||||
|
<!-- <el-button--> |
||||
|
<!-- type="success"--> |
||||
|
<!-- plain--> |
||||
|
<!-- icon="el-icon-edit"--> |
||||
|
<!-- size="medium"--> |
||||
|
<!-- :disabled="single"--> |
||||
|
<!-- @click="handleUpdate"--> |
||||
|
<!-- v-hasPermi="['otc:otcStoreOrder:edit']"--> |
||||
|
<!-- >修改</el-button>--> |
||||
|
<!-- </el-col>--> |
||||
|
<!-- <el-col :span="1.5">--> |
||||
|
<!-- <el-button--> |
||||
|
<!-- type="danger"--> |
||||
|
<!-- plain--> |
||||
|
<!-- icon="el-icon-delete"--> |
||||
|
<!-- size="medium"--> |
||||
|
<!-- :disabled="multiple"--> |
||||
|
<!-- @click="handleDelete"--> |
||||
|
<!-- v-hasPermi="['otc:otcStoreOrder:remove']"--> |
||||
|
<!-- >删除</el-button>--> |
||||
|
<!-- </el-col>--> |
||||
|
<el-col :span="1.5"> |
||||
|
<el-button type="primary" size="medium" @click="handleExport" |
||||
|
v-hasPermi="['otc:otcStoreOrder:export']">导出</el-button> |
||||
|
</el-col> |
||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
||||
|
</el-row> |
||||
|
|
||||
|
<el-table v-loading="loading" :data="otcStoreOrderList" @selection-change="handleSelectionChange"> |
||||
|
<!-- <el-table-column label="流水编号" align="center" prop="id" />--> |
||||
|
<el-table-column label="订单编号" align="center" prop="orderNo" /> |
||||
|
<!-- <el-table-column label="订单类型" align="center" prop="tradeType" :formatter="tradeTypeFormat" /> --> |
||||
|
|
||||
|
<el-table-column label="订单类型" align="center" prop="crateTime" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span |
||||
|
:class="scope.row.tradeType == 'buy' ? 'text-green' : 'text-red'">{{ scope.row.tradeType == 'buy' ? '买' : '卖' }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="收款方式" align="center" prop="walletTypeName" /> |
||||
|
<el-table-column label="商家名称" align="center" prop="storeName" /> |
||||
|
<el-table-column label="币种" align="center" prop="coin" /> |
||||
|
<!-- <el-table-column label="币种数量" align="center" prop="coinNum" />--> |
||||
|
<el-table-column label="订单数量" align="center" prop="realityCoinNum" /> |
||||
|
<el-table-column label="剩余数量" align="center" prop="remainNum" /> |
||||
|
<el-table-column label="价格" align="center" prop="legalCurrency" /> |
||||
|
<el-table-column label="订单状态" align="center" prop="orderStatus" :formatter="orderStatusFormat" /> |
||||
|
<!-- <el-table-column label="最小限额" align="center" prop="minLimit" />--> |
||||
|
<!-- <el-table-column label="最大限额" align="center" prop="maxLimit" />--> |
||||
|
<el-table-column label="法币币种" align="center" prop="limitCoin" /> |
||||
|
<!-- <el-table-column label="类型" align="center" prop="feeType" :formatter="feeTypeFormat"/>--> |
||||
|
<el-table-column label="应付手续费" align="center" prop="fee" /> |
||||
|
<!-- <el-table-column label="费率" align="center" prop="feeRate" />--> |
||||
|
<el-table-column label="已收手续费" align="center" prop="deductedFee" /> |
||||
|
<!-- <el-table-column label="收款方式多个逗号分割" align="center" prop="walletType" />--> |
||||
|
<el-table-column label="交易说明" align="center" prop="transactionDesc" /> |
||||
|
<el-table-column label="下单时间" align="center" prop="crateTime" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ parseTime(scope.row.createTime) }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
||||
|
<template slot-scope="scope"> |
||||
|
<!-- <el-button--> |
||||
|
<!-- size="medium"--> |
||||
|
<!-- type="text"--> |
||||
|
<!-- icon="el-icon-edit"--> |
||||
|
<!-- @click="handleUpdate(scope.row)"--> |
||||
|
<!-- v-hasPermi="['otc:otcStoreOrder:edit']"--> |
||||
|
<!-- >修改</el-button>--> |
||||
|
<el-button size="medium" type="text" @click="handleSon(scope.row)">子单</el-button> |
||||
|
<el-button size="medium" type="text" @click="handleDetail(scope.row)" |
||||
|
v-hasPermi="['otc:otcStoreOrder:edit']">详情</el-button> |
||||
|
<!-- <el-button--> |
||||
|
<!-- size="medium"--> |
||||
|
<!-- type="text"--> |
||||
|
<!-- icon="el-icon-delete"--> |
||||
|
<!-- @click="handleDelete(scope.row)"--> |
||||
|
<!-- v-hasPermi="['otc:otcStoreOrder: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" /> |
||||
|
</div> |
||||
|
|
||||
|
<!-- 添加或修改otc订单信息对话框 --> |
||||
|
<el-dialog :title="title" :visible.sync="open" width="900px" append-to-body> |
||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px" class="flex" style="justify-content: space-around;"> |
||||
|
<div> |
||||
|
|
||||
|
<el-form-item label="订单编号"> |
||||
|
{{form.orderNo}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易类型"> |
||||
|
{{ tradeTypeFormat(form) }} |
||||
|
</el-form-item> |
||||
|
<!-- <el-form-item label="商家编号" prop="storeId">--> |
||||
|
<!-- <el-input v-model="form.storeId" placeholder="请输入商家编号" />--> |
||||
|
<!-- </el-form-item>--> |
||||
|
<el-form-item label="商家昵称"> |
||||
|
{{form.storeName}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="币种"> |
||||
|
{{form.coin}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="币种数量"> |
||||
|
{{form.coinNum}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="订单数量"> |
||||
|
{{form.realityCoinNum}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="剩余数量"> |
||||
|
{{form.remainNum}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="法币价格"> |
||||
|
{{form.legalCurrency}} |
||||
|
</el-form-item> |
||||
|
|
||||
|
|
||||
|
<el-form-item label="订单状态"> |
||||
|
<!-- <el-radio-group v-model="form.orderStatus">--> |
||||
|
<!-- <el-radio label="1">请选择字典生成</el-radio>--> |
||||
|
<!-- </el-radio-group>--> |
||||
|
{{ orderStatusFormat(form)}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="最小限额"> |
||||
|
{{form.minLimit}} |
||||
|
</el-form-item> |
||||
|
</div> |
||||
|
<div> |
||||
|
<el-form-item label="最大限额"> |
||||
|
{{form.maxLimit}} |
||||
|
</el-form-item> |
||||
|
|
||||
|
<el-form-item label="限额币种"> |
||||
|
{{form.limitCoin}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="手续费类型"> |
||||
|
{{ feeTypeFormat(form)}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="手续费"> |
||||
|
{{form.fee}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="手续费率"> |
||||
|
{{form.feeRate}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="已扣除手续费"> |
||||
|
{{form.deductedFee}} |
||||
|
</el-form-item> |
||||
|
<!-- <el-form-item label="添加时间" prop="createTime">--> |
||||
|
<!-- <el-date-picker clearable size="medium"--> |
||||
|
<!-- v-model="form.createTime"--> |
||||
|
<!-- type="date"--> |
||||
|
<!-- value-format="yyyy-MM-dd"--> |
||||
|
<!-- placeholder="选择添加时间">--> |
||||
|
<!-- </el-date-picker>--> |
||||
|
<!-- </el-form-item>--> |
||||
|
<!-- <el-form-item label="收款方式" prop="walletType">--> |
||||
|
<!-- <el-input v-model="form.walletType" placeholder="收款方式" />--> |
||||
|
<!-- </el-form-item>--> |
||||
|
<el-form-item label="收款方式"> |
||||
|
{{form.walletTypeName}} |
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易说明"> |
||||
|
{{form.transactionDesc}} |
||||
|
</el-form-item> |
||||
|
</div> |
||||
|
|
||||
|
</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 { listOtcStoreOrder, getOtcStoreOrder, delOtcStoreOrder, addOtcStoreOrder, updateOtcStoreOrder, exportOtcStoreOrder } from "@/api/otc/otcStoreOrder"; |
||||
|
|
||||
|
export default { |
||||
|
name: "OtcStoreOrder", |
||||
|
components: { |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
pkCouponScopeRangeParkingStoreOpen: false, |
||||
|
pkCouponStore: {}, |
||||
|
pkCouponStoreId: '', |
||||
|
dateRange: [], |
||||
|
// 遮罩层 |
||||
|
loading: true, |
||||
|
// 选中数组 |
||||
|
ids: [], |
||||
|
// 非单个禁用 |
||||
|
single: true, |
||||
|
// 非多个禁用 |
||||
|
multiple: true, |
||||
|
// 显示搜索条件 |
||||
|
showSearch: true, |
||||
|
// 总条数 |
||||
|
total: 0, |
||||
|
// otc订单信息表格数据 |
||||
|
otcStoreOrderList: [], |
||||
|
feeTypeOptions: [], |
||||
|
orderStatusOptions: [], |
||||
|
tradeTypeStatusOptions: [], |
||||
|
// 弹出层标题 |
||||
|
title: "", |
||||
|
// 是否显示弹出层 |
||||
|
open: false, |
||||
|
// 查询参数 |
||||
|
queryParams: { |
||||
|
pageNum: 1, |
||||
|
pageSize: 10, |
||||
|
orderNo: null, |
||||
|
tradeType: null, |
||||
|
storeId: null, |
||||
|
coin: null, |
||||
|
coinNum: null, |
||||
|
realityCoinNum: null, |
||||
|
remainNum: null, |
||||
|
legalCurrency: null, |
||||
|
orderStatus: null, |
||||
|
minLimit: null, |
||||
|
maxLimit: null, |
||||
|
limitCoin: null, |
||||
|
feeType: null, |
||||
|
fee: null, |
||||
|
feeRate: null, |
||||
|
deductedFee: null, |
||||
|
walletType: null, |
||||
|
transactionDesc: null, |
||||
|
storeName: null, |
||||
|
isAcceptorOrder: 'Y', |
||||
|
}, |
||||
|
// 表单参数 |
||||
|
form: {}, |
||||
|
// 表单校验 |
||||
|
rules: { |
||||
|
orderNo: [ |
||||
|
{ required: true, message: "订单编号不能为空", trigger: "blur" } |
||||
|
], |
||||
|
storeId: [ |
||||
|
{ required: true, message: "商家编号不能为空", trigger: "blur" } |
||||
|
], |
||||
|
coin: [ |
||||
|
{ required: true, message: "币种不能为空", trigger: "blur" } |
||||
|
], |
||||
|
coinNum: [ |
||||
|
{ required: true, message: "币种数量不能为空", trigger: "blur" } |
||||
|
], |
||||
|
realityCoinNum: [ |
||||
|
{ required: true, message: "实际币种数量不能为空", trigger: "blur" } |
||||
|
], |
||||
|
legalCurrency: [ |
||||
|
{ required: true, message: "法币价格不能为空", trigger: "blur" } |
||||
|
], |
||||
|
orderStatus: [ |
||||
|
{ required: true, message: "订单状态(挂单中 pending_order、已锁住is_lock、已完成 close、已取消 cancel、待放行released,申诉中in_appeal)不能为空", trigger: "blur" } |
||||
|
], |
||||
|
} |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.getList(); |
||||
|
this.getDicts("order_status").then(response => { |
||||
|
this.orderStatusOptions = response.data; |
||||
|
this.orderStatusOptions.unshift({ |
||||
|
dictValue:null, |
||||
|
dictLabel:'全部' |
||||
|
}) |
||||
|
}); |
||||
|
|
||||
|
this.getDicts("fee_type").then(response => { |
||||
|
this.feeTypeOptions = response.data; |
||||
|
this.feeTypeOptions.unshift({ |
||||
|
dictValue:null, |
||||
|
dictLabel:'全部' |
||||
|
}) |
||||
|
}); |
||||
|
this.getDicts("trade_type").then(response => { |
||||
|
this.tradeTypeStatusOptions = response.data; |
||||
|
this.tradeTypeStatusOptions.unshift({ |
||||
|
dictValue:null, |
||||
|
dictLabel:'全部' |
||||
|
}) |
||||
|
}); |
||||
|
|
||||
|
}, |
||||
|
methods: { |
||||
|
// 查看子单列表 |
||||
|
handleSon(row) { |
||||
|
// this.pkCouponStore = row; |
||||
|
// this.pkCouponStoreId = row.storeName; |
||||
|
// this.pkCouponScopeRangeParkingStoreOpen = true; |
||||
|
this.$router.push( |
||||
|
{ |
||||
|
name: 'sonOrder', params: { row: row } |
||||
|
}) |
||||
|
}, |
||||
|
/** 查询otc订单信息列表 */ |
||||
|
getList() { |
||||
|
this.loading = true; |
||||
|
listOtcStoreOrder(this.addSESDateRange(this.queryParams, this.dateRange)).then(response => { |
||||
|
this.otcStoreOrderList = response.rows; |
||||
|
this.total = Number(response.total); |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
orderStatusFormat(row, column) { |
||||
|
return this.selectDictLabel(this.orderStatusOptions, row.orderStatus); |
||||
|
}, |
||||
|
|
||||
|
feeTypeFormat(row, column) { |
||||
|
|
||||
|
return this.selectDictLabel(this.feeTypeOptions, row.feeType); |
||||
|
}, |
||||
|
|
||||
|
tradeTypeFormat(row, column) { |
||||
|
|
||||
|
return this.selectDictLabel(this.tradeTypeStatusOptions, row.tradeType); |
||||
|
}, |
||||
|
// 取消按钮 |
||||
|
cancel() { |
||||
|
this.open = false; |
||||
|
this.reset(); |
||||
|
}, |
||||
|
// 表单重置 |
||||
|
reset() { |
||||
|
this.form = { |
||||
|
}; |
||||
|
this.dateRange = []; |
||||
|
this.resetForm("form"); |
||||
|
}, |
||||
|
/** 搜索按钮操作 */ |
||||
|
handleQuery() { |
||||
|
this.queryParams.pageNum = 1; |
||||
|
this.getList(); |
||||
|
}, |
||||
|
/** 重置按钮操作 */ |
||||
|
resetQuery() { |
||||
|
this.resetForm("queryForm"); |
||||
|
this.dateRange = []; |
||||
|
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 = "添加otc订单信息"; |
||||
|
}, |
||||
|
/** 修改按钮操作 */ |
||||
|
handleUpdate(row) { |
||||
|
this.reset(); |
||||
|
const id = row.id || this.ids |
||||
|
getOtcStoreOrder(id).then(response => { |
||||
|
this.form = response.data; |
||||
|
this.open = true; |
||||
|
this.title = "修改otc订单信息"; |
||||
|
}); |
||||
|
}, |
||||
|
/** 详情按钮操作 */ |
||||
|
handleDetail(row) { |
||||
|
this.reset(); |
||||
|
const id = row.id || this.ids |
||||
|
getOtcStoreOrder(id).then(response => { |
||||
|
this.form = response.data; |
||||
|
this.open = true; |
||||
|
this.title = "查询otc订单信息"; |
||||
|
}); |
||||
|
}, |
||||
|
/** 提交按钮 */ |
||||
|
submitForm() { |
||||
|
this.$refs["form"].validate(valid => { |
||||
|
if (valid) { |
||||
|
if (this.form.id != null) { |
||||
|
updateOtcStoreOrder(this.form).then(response => { |
||||
|
this.msgSuccess("修改成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}); |
||||
|
} else { |
||||
|
addOtcStoreOrder(this.form).then(response => { |
||||
|
this.msgSuccess("新增成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
/** 删除按钮操作 */ |
||||
|
handleDelete(row) { |
||||
|
const ids = row.id || this.ids; |
||||
|
this.$confirm('是否确认删除otc订单信息编号为"' + ids + '"的数据项?', "警告", { |
||||
|
confirmButtonText: "确定", |
||||
|
cancelButtonText: "取消", |
||||
|
type: "warning" |
||||
|
}).then(function () { |
||||
|
return delOtcStoreOrder(ids); |
||||
|
}).then(() => { |
||||
|
this.getList(); |
||||
|
this.msgSuccess("删除成功"); |
||||
|
}) |
||||
|
}, |
||||
|
/** 导出按钮操作 */ |
||||
|
handleExport() { |
||||
|
const queryParams = this.queryParams; |
||||
|
this.$confirm('是否确认导出所有otc订单信息数据项?', "警告", { |
||||
|
confirmButtonText: "确定", |
||||
|
cancelButtonText: "取消", |
||||
|
type: "warning" |
||||
|
}).then(function () { |
||||
|
return exportOtcStoreOrder(queryParams); |
||||
|
}).then(response => { |
||||
|
this.download(response.msg); |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
</script> |
@ -0,0 +1,498 @@ |
|||||
|
<template> |
||||
|
<div class="app-container"> |
||||
|
|
||||
|
<div class="bg bg-white"> |
||||
|
<div class="flex"> |
||||
|
<div class="detailTit flex m-r-32"> |
||||
|
<div class="circle"></div> |
||||
|
订单编号:{{rowData.orderNo}} |
||||
|
</div> |
||||
|
<div class="detailTit flex"> |
||||
|
<div class="circle"></div> |
||||
|
商家名称:{{rowData.storeName}} |
||||
|
</div> |
||||
|
</div> |
||||
|
<el-row :gutter="10" class="m-b-16"> |
||||
|
<!-- <el-col :span="1.5">--> |
||||
|
<!-- <el-button--> |
||||
|
<!-- type="primary"--> |
||||
|
<!-- plain--> |
||||
|
<!-- icon="el-icon-plus"--> |
||||
|
<!-- size="medium"--> |
||||
|
<!-- @click="handleAdd"--> |
||||
|
<!-- v-hasPermi="['otc:otcOrder:add']"--> |
||||
|
<!-- >新增</el-button>--> |
||||
|
<!-- </el-col>--> |
||||
|
<!-- <el-col :span="1.5">--> |
||||
|
<!-- <el-button--> |
||||
|
<!-- type="success"--> |
||||
|
<!-- plain--> |
||||
|
<!-- icon="el-icon-edit"--> |
||||
|
<!-- size="medium"--> |
||||
|
<!-- :disabled="single"--> |
||||
|
<!-- @click="handleUpdate"--> |
||||
|
<!-- v-hasPermi="['otc:otcOrder:edit']"--> |
||||
|
<!-- >修改</el-button>--> |
||||
|
<!-- </el-col>--> |
||||
|
<!-- <el-col :span="1.5">--> |
||||
|
<!-- <el-button--> |
||||
|
<!-- type="danger"--> |
||||
|
<!-- plain--> |
||||
|
<!-- icon="el-icon-delete"--> |
||||
|
<!-- size="medium"--> |
||||
|
<!-- :disabled="multiple"--> |
||||
|
<!-- @click="handleDelete"--> |
||||
|
<!-- v-hasPermi="['otc:otcOrder:remove']"--> |
||||
|
<!-- >删除</el-button>--> |
||||
|
<!-- </el-col>--> |
||||
|
<!-- <el-col :span="1.5"> |
||||
|
<el-button type="primary" size="medium" @click="handleExport" |
||||
|
v-hasPermi="['otc:otcOrder:export']">导出</el-button> |
||||
|
</el-col> |
||||
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> --> |
||||
|
</el-row> |
||||
|
|
||||
|
<el-table v-loading="loading" :data="otcOrderList" @selection-change="handleSelectionChange"> |
||||
|
<!-- <el-table-column label="流水编号" align="center" prop="id" />--> |
||||
|
<el-table-column label="订单编号" align="center" prop="orderNo" /> |
||||
|
<el-table-column label="订单类型" align="center" prop="tradeType" :formatter="tradeTypeFormat" /> |
||||
|
<!-- <el-table-column label="商家昵称" align="center" prop="storeName" /> --> |
||||
|
<el-table-column label="用户名称" align="center" prop="userName" /> |
||||
|
<el-table-column label="币种" align="center" prop="coin" /> |
||||
|
<el-table-column label="购买数量" align="center" prop="realityCoinNum" /> |
||||
|
<!-- <el-table-column label="实际数量" align="center" prop="realitySettleCoinNums" /> --> |
||||
|
<!-- <el-table-column label="法币金额" align="center" prop="realityLegalNums" /> --> |
||||
|
<el-table-column label="价格" align="center" prop="legalCurrency" /> |
||||
|
<!-- <el-table-column label="手续费类型" align="center" prop="feeType" :formatter="feeTypeFormat"/>--> |
||||
|
<!-- <el-table-column label="手续费" align="center" prop="fee" /> --> |
||||
|
<!-- <el-table-column label="订单状态" align="center" prop="orderStatus" :formatter="orderStatusFormat" /> --> |
||||
|
|
||||
|
<el-table-column label="订单状态" align="center" prop="orderStatus" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span :style="classObje(scope.row.orderStatus)">{{ orderStatusFormat(scope.row) }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
|
||||
|
<!-- <el-table-column label="支付方式" align="center" prop="paymentType" /> --> |
||||
|
<!-- <el-table-column label="付款时间倒计时" align="center" prop="paymentEndTime" width="180">--> |
||||
|
<!-- <template slot-scope="scope">--> |
||||
|
<!-- <span>{{ parseTime(scope.row.paymentEndTime, '{y}-{m}-{d}') }}</span>--> |
||||
|
<!-- </template>--> |
||||
|
<!-- </el-table-column>--> |
||||
|
<!-- <el-table-column label="确定放行时间" align="center" prop="releaseTime" width="180">--> |
||||
|
<!-- <template slot-scope="scope">--> |
||||
|
<!-- <span>{{ parseTime(scope.row.releaseTime) }}</span>--> |
||||
|
<!-- </template>--> |
||||
|
<!-- </el-table-column>--> |
||||
|
<!-- <el-table-column label="支付时间" align="center" prop="paymentTime" width="180">--> |
||||
|
<!-- <template slot-scope="scope">--> |
||||
|
<!-- <span>{{ parseTime(scope.row.paymentTime) }}</span>--> |
||||
|
<!-- </template>--> |
||||
|
<!-- </el-table-column>--> |
||||
|
<!-- <el-table-column label="完成时间" align="center" prop="closeTime" width="180">--> |
||||
|
<!-- <template slot-scope="scope">--> |
||||
|
<!-- <span>{{ parseTime(scope.row.closeTime) }}</span>--> |
||||
|
<!-- </template>--> |
||||
|
<!-- </el-table-column>--> |
||||
|
<!-- <el-table-column label="收款人" align="center" prop="payee" /> |
||||
|
<el-table-column label="收款银行" align="center" prop="collectionBank" /> |
||||
|
<el-table-column label="收款账号" align="center" prop="collectionAccount" /> --> |
||||
|
<!-- <el-table-column label="支付参考账号" align="center" prop="paymentAccount" /> |
||||
|
<el-table-column label="是否可以申诉" align="center" prop="isAppeal" /> |
||||
|
<el-table-column label="申诉订单编号" align="center" prop="appealOrderId" /> |
||||
|
<el-table-column label="申诉状态" align="center" prop="appealStatus" /> |
||||
|
<el-table-column label="取消类型" align="center" prop="cancelType" /> --> |
||||
|
<el-table-column label="创建时间" align="center" prop="crateTime" width="180"> |
||||
|
<template slot-scope="scope"> |
||||
|
<span>{{ parseTime(scope.row.createTime) }}</span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
|
||||
|
</el-table> |
||||
|
|
||||
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" |
||||
|
@pagination="getList" /> |
||||
|
</div> |
||||
|
|
||||
|
<!-- 添加或修改用户otc订单对话框 --> |
||||
|
<el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> |
||||
|
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> |
||||
|
<el-form-item label="订单编号" prop="orderNo"> |
||||
|
<el-input v-model="form.orderNo" placeholder="请输入订单编号" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="总订单编号" prop="storeOrder"> |
||||
|
<el-input v-model="form.storeOrder" placeholder="请输入总订单编号" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易类型" prop="tradeType"> |
||||
|
<el-select v-model="form.tradeType" placeholder="请选择交易类型"> |
||||
|
<el-option v-for="dict in tradeTypeStatusOptions" :key="dict.dictValue" :label="dict.dictLabel" |
||||
|
:value="dict.dictValue" /> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="商家编号" prop="storeId"> |
||||
|
<el-input v-model="form.storeName" placeholder="请输入商家编号" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="用户编号" prop="userId"> |
||||
|
<el-input v-model="form.userName" placeholder="请输入用户编号" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="币种" prop="coin"> |
||||
|
<el-input v-model="form.coin" placeholder="请输入币种" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="交易数量" prop="realityCoinNum"> |
||||
|
<el-input v-model="form.realityCoinNum" placeholder="请输入交易数量" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="得到数量" prop="realitySettleCoinNums"> |
||||
|
<el-input v-model="form.realitySettleCoinNums" placeholder="请输入结算得到数量" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="法币金额" prop="realityLegalNums"> |
||||
|
<el-input v-model="form.realityLegalNums" placeholder="请输入法币金额" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="法币价格" prop="legalCurrency"> |
||||
|
<el-input v-model="form.legalCurrency" placeholder="请输入法币价格" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="手续费类型" prop="feeType"> |
||||
|
<el-select v-model="form.feeType" placeholder="请选择类型"> |
||||
|
<el-option v-for="dict in feeTypeOptions" :key="dict.dictValue" :label="dict.dictLabel" |
||||
|
:value="dict.dictValue" /> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="手续费" prop="fee"> |
||||
|
<el-input v-model="form.fee" placeholder="请输入手续费" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="订单状态"> |
||||
|
<!-- <el-radio-group v-model="form.orderStatus">--> |
||||
|
<!-- <el-radio label="1">请选择字典生成</el-radio>--> |
||||
|
<!-- </el-radio-group>--> |
||||
|
<el-select v-model="form.orderStatus" placeholder="请选择订单状态"> |
||||
|
<el-option v-for="dict in orderStatusOptions" :key="dict.dictValue" :label="dict.dictLabel" |
||||
|
:value="dict.dictValue" /> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="支付方式" prop="paymentType"> |
||||
|
<el-select v-model="form.paymentType" placeholder="请选择支付方式"> |
||||
|
<el-option label="请选择字典生成" value="" /> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<!-- <el-form-item label="付款结束时间" prop="paymentEndTime">--> |
||||
|
<!-- <el-date-picker clearable size="medium"--> |
||||
|
<!-- v-model="form.paymentEndTime"--> |
||||
|
<!-- type="dateTime"--> |
||||
|
<!-- value-format="yyyy-MM-dd hh:mm:ss"--> |
||||
|
<!-- placeholder="选择付款结束时间">--> |
||||
|
<!-- </el-date-picker>--> |
||||
|
<!-- </el-form-item>--> |
||||
|
<!-- <el-form-item label="确定放行时间" prop="releaseTime">--> |
||||
|
<!-- <el-date-picker clearable size="medium"--> |
||||
|
<!-- v-model="form.releaseTime"--> |
||||
|
<!-- type="dateTime"--> |
||||
|
<!-- value-format="yyyy-MM-dd hh:mm:ss"--> |
||||
|
<!-- placeholder="选择确定放行时间">--> |
||||
|
<!-- </el-date-picker>--> |
||||
|
<!-- </el-form-item>--> |
||||
|
<el-form-item label="支付时间" prop="paymentTime"> |
||||
|
<el-date-picker clearable size="medium" v-model="form.paymentTime" type="dateTime" |
||||
|
value-format="yyyy-MM-dd hh:mm:ss" placeholder="选择支付时间"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="完成时间" prop="closeTime"> |
||||
|
<el-date-picker clearable size="medium" v-model="form.closeTime" type="dateTime" |
||||
|
value-format="yyyy-MM-dd hh:mm:ss" placeholder="选择完成时间"> |
||||
|
</el-date-picker> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="收款人" prop="payee"> |
||||
|
<el-input v-model="form.payee" placeholder="请输入收款人" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="收款银行" prop="collectionBank"> |
||||
|
<el-input v-model="form.collectionBank" placeholder="请输入收款银行" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="收款账号" prop="collectionAccount"> |
||||
|
<el-input v-model="form.collectionAccount" placeholder="请输入收款账号" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="支付参考账号" prop="paymentAccount"> |
||||
|
<el-input v-model="form.paymentAccount" placeholder="请输入支付参考账号" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="是否可以申诉" prop="isAppeal"> |
||||
|
<el-input v-model="form.isAppeal" placeholder="请输入是否可以申诉" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="申诉订单编号" prop="appealOrderId"> |
||||
|
<el-input v-model="form.appealOrderId" placeholder="请输入申诉订单编号" /> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="申诉状态"> |
||||
|
<!-- <el-radio-group v-model="form.appealStatus">--> |
||||
|
<!-- <el-radio label="1">请选择字典生成</el-radio>--> |
||||
|
<!-- </el-radio-group>--> |
||||
|
<el-select v-model="form.appealStatus" placeholder="请选择订单状态"> |
||||
|
<el-option v-for="dict in appealStatusOptions" :key="dict.dictValue" :label="dict.dictLabel" |
||||
|
:value="dict.dictValue" /> |
||||
|
</el-select> |
||||
|
</el-form-item> |
||||
|
<el-form-item label="取消类型" prop="cancelType"> |
||||
|
<el-select v-model="form.cancelType" placeholder="请选择取消类型"> |
||||
|
<!-- <el-option label="请选择字典生成" value="" />--> |
||||
|
<el-option v-for="dict in cancelTypeOptions" :key="dict.dictValue" :label="dict.dictLabel" |
||||
|
:value="dict.dictValue" /> |
||||
|
</el-select> |
||||
|
</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 { listOtcOrder, getOtcOrder, delOtcOrder, addOtcOrder, updateOtcOrder, exportOtcOrder } from "@/api/otc/otcOrder"; |
||||
|
|
||||
|
export default { |
||||
|
name: "OtcOrder", |
||||
|
components: { |
||||
|
}, |
||||
|
props: { |
||||
|
}, |
||||
|
computed:{ |
||||
|
classObje(status){ |
||||
|
return(status)=>{ |
||||
|
if(status=='in_appeal'){ |
||||
|
return {'color':'rgba(237, 80, 89, 1)'} |
||||
|
} |
||||
|
if(status=='fail_appeal'){ |
||||
|
return {'color':'rgba(237, 80, 89, 1)'} |
||||
|
} |
||||
|
if(status=='released'){ |
||||
|
return {'color':'rgba(255, 124, 30, 1)'} |
||||
|
} |
||||
|
if(status=='success_appeal'){ |
||||
|
return {'color':'rgba(80, 188, 146, 1)'} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
data() { |
||||
|
return { |
||||
|
colorMany:null, |
||||
|
rowData:{}, |
||||
|
// 遮罩层 |
||||
|
loading: true, |
||||
|
// 选中数组 |
||||
|
ids: [], |
||||
|
// 非单个禁用 |
||||
|
single: true, |
||||
|
// 非多个禁用 |
||||
|
multiple: true, |
||||
|
// 显示搜索条件 |
||||
|
showSearch: true, |
||||
|
// 总条数 |
||||
|
total: 0, |
||||
|
// 用户otc订单表格数据 |
||||
|
otcOrderList: [], |
||||
|
feeTypeOptions: [], |
||||
|
orderStatusOptions: [], |
||||
|
tradeTypeStatusOptions: [], |
||||
|
//申诉字典 |
||||
|
appealStatusOptions: [], |
||||
|
cancelTypeOptions: [], |
||||
|
// 弹出层标题 |
||||
|
title: "", |
||||
|
// 是否显示弹出层 |
||||
|
open: false, |
||||
|
// 查询参数 |
||||
|
queryParams: { |
||||
|
pageNum: 1, |
||||
|
pageSize: 10, |
||||
|
orderNo: null, |
||||
|
storeOrder: null, |
||||
|
tradeType: null, |
||||
|
storeId: null, |
||||
|
userId: null, |
||||
|
coin: null, |
||||
|
realityCoinNum: null, |
||||
|
realityLegalNums: null, |
||||
|
realitySettleCoinNums: null, |
||||
|
legalCurrency: null, |
||||
|
feeType: null, |
||||
|
fee: null, |
||||
|
orderStatus: null, |
||||
|
paymentType: null, |
||||
|
paymentEndTime: null, |
||||
|
releaseTime: null, |
||||
|
paymentTime: null, |
||||
|
closeTime: null, |
||||
|
payee: null, |
||||
|
collectionBank: null, |
||||
|
collectionAccount: null, |
||||
|
paymentAccount: null, |
||||
|
isAppeal: null, |
||||
|
appealOrderId: null, |
||||
|
appealStatus: null, |
||||
|
cancelType: null |
||||
|
}, |
||||
|
// 表单参数 |
||||
|
form: {}, |
||||
|
// 表单校验 |
||||
|
rules: { |
||||
|
orderNo: [ |
||||
|
{ required: true, message: "订单编号不能为空", trigger: "blur" } |
||||
|
], |
||||
|
storeOrder: [ |
||||
|
{ required: true, message: "总订单编号不能为空", trigger: "blur" } |
||||
|
], |
||||
|
tradeType: [ |
||||
|
{ required: true, message: "交易类型不能为空", trigger: "change" } |
||||
|
], |
||||
|
storeId: [ |
||||
|
{ required: true, message: "商家编号不能为空", trigger: "blur" } |
||||
|
], |
||||
|
} |
||||
|
}; |
||||
|
}, |
||||
|
created() { |
||||
|
this.queryParams.storeName = this.$route.params.row.storeName |
||||
|
this.rowData = this.$route.params.row |
||||
|
this.getList(); |
||||
|
this.getDicts("trade_type").then(response => { |
||||
|
this.tradeTypeStatusOptions = response.data; |
||||
|
}); |
||||
|
this.getDicts("order_status").then(response => { |
||||
|
this.orderStatusOptions = response.data; |
||||
|
}); |
||||
|
|
||||
|
this.getDicts("fee_type").then(response => { |
||||
|
this.feeTypeOptions = response.data; |
||||
|
}); |
||||
|
this.getDicts("appeal_status").then(response => { |
||||
|
this.appealStatusOptions = response.data; |
||||
|
}); |
||||
|
this.getDicts("cancel_type").then(response => { |
||||
|
this.cancelTypeOptions = response.data; |
||||
|
}); |
||||
|
|
||||
|
|
||||
|
}, |
||||
|
methods: { |
||||
|
/** 查询用户otc订单列表 */ |
||||
|
getList() { |
||||
|
this.loading = true; |
||||
|
listOtcOrder(this.queryParams).then(response => { |
||||
|
this.otcOrderList = response.rows; |
||||
|
this.total = Number(response.total); |
||||
|
this.loading = false; |
||||
|
}); |
||||
|
}, |
||||
|
tradeTypeFormat(row, column) { |
||||
|
|
||||
|
return this.selectDictLabel(this.tradeTypeStatusOptions, row.tradeType); |
||||
|
}, |
||||
|
orderStatusFormat(row, column) { |
||||
|
return this.selectDictLabel(this.orderStatusOptions, row.orderStatus); |
||||
|
}, |
||||
|
|
||||
|
feeTypeFormat(row, column) { |
||||
|
|
||||
|
return this.selectDictLabel(this.feeTypeOptions, row.feeType); |
||||
|
}, |
||||
|
// 取消按钮 |
||||
|
cancel() { |
||||
|
this.open = false; |
||||
|
this.reset(); |
||||
|
}, |
||||
|
// 表单重置 |
||||
|
reset() { |
||||
|
this.form = { |
||||
|
|
||||
|
}; |
||||
|
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 = "添加用户otc订单"; |
||||
|
}, |
||||
|
/** 修改按钮操作 */ |
||||
|
handleUpdate(row) { |
||||
|
this.reset(); |
||||
|
const id = row.id || this.ids |
||||
|
getOtcOrder(id).then(response => { |
||||
|
this.form = response.data; |
||||
|
this.open = true; |
||||
|
this.title = "查询用户otc订单"; |
||||
|
}); |
||||
|
}, |
||||
|
/** 提交按钮 */ |
||||
|
submitForm() { |
||||
|
this.$refs["form"].validate(valid => { |
||||
|
if (valid) { |
||||
|
if (this.form.id != null) { |
||||
|
updateOtcOrder(this.form).then(response => { |
||||
|
this.msgSuccess("修改成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}); |
||||
|
} else { |
||||
|
addOtcOrder(this.form).then(response => { |
||||
|
this.msgSuccess("新增成功"); |
||||
|
this.open = false; |
||||
|
this.getList(); |
||||
|
}); |
||||
|
} |
||||
|
} |
||||
|
}); |
||||
|
}, |
||||
|
/** 删除按钮操作 */ |
||||
|
handleDelete(row) { |
||||
|
const ids = row.id || this.ids; |
||||
|
this.$confirm('是否确认删除用户otc订单编号为"' + ids + '"的数据项?', "警告", { |
||||
|
confirmButtonText: "确定", |
||||
|
cancelButtonText: "取消", |
||||
|
type: "warning" |
||||
|
}).then(function () { |
||||
|
return delOtcOrder(ids); |
||||
|
}).then(() => { |
||||
|
this.getList(); |
||||
|
this.msgSuccess("删除成功"); |
||||
|
}) |
||||
|
}, |
||||
|
/** 导出按钮操作 */ |
||||
|
handleExport() { |
||||
|
const queryParams = this.queryParams; |
||||
|
this.$confirm('是否确认导出所有用户otc订单数据项?', "警告", { |
||||
|
confirmButtonText: "确定", |
||||
|
cancelButtonText: "取消", |
||||
|
type: "warning" |
||||
|
}).then(function () { |
||||
|
return exportOtcOrder(queryParams); |
||||
|
}).then(response => { |
||||
|
this.download(response.msg); |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}; |
||||
|
</script> |
||||
|
<style> |
||||
|
.tableRed{ |
||||
|
color: rgba(237, 80, 89, 1); |
||||
|
|
||||
|
} |
||||
|
</style> |
||||
|
|
Loading…
Reference in new issue