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