Browse Source

添加承兑商订单列表,添加平台角色字段

master
j1ack 2 years ago
parent
commit
4c973f69bb
  1. 8
      src/api/user/userCustomer.js
  2. 491
      src/views/otc/otcAcceptorOrder/index.vue
  3. 498
      src/views/otc/otcAcceptorOrder/sonOrder.vue
  4. 1
      src/views/otc/otcStoreOrder/index.vue
  5. 31
      src/views/user/userCustomer/index.vue

8
src/api/user/userCustomer.js

@ -1,4 +1,5 @@
import request from '@/utils/request'
import qs from 'qs'
// 查询个人用户列表
export function listUserCustomer(query) {
@ -63,4 +64,11 @@ export function exportUserCustomer(query) {
method: 'get',
params: query
})
}
// 升级为承兑商
export function upgradeLevel(data) {
return request({
url: '/user/userCustomer/upgradeLevel?userId=' + data,
method: 'post',
})
}

491
src/views/otc/otcAcceptorOrder/index.vue

@ -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>

498
src/views/otc/otcAcceptorOrder/sonOrder.vue

@ -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>

1
src/views/otc/otcStoreOrder/index.vue

@ -295,6 +295,7 @@ export default {
walletType: null,
transactionDesc: null,
storeName: null,
isAcceptorOrder: 'N',
},
//
form: {},

31
src/views/user/userCustomer/index.vue

@ -116,6 +116,10 @@
<el-table-column label="邮箱" align="center" prop="email" />
<el-table-column label="用户类型" align="center" prop="userType" :formatter="userRoleFormat" />
<el-table-column label="平台角色" align="center" prop="platformRole" :formatter="platformRoleFormat" />
<el-table-column label="认证等级" align="center" prop="headImgPath">
<template slot-scope="scope">
{{scope.row.authLevel==1?'未认证':scope.row.authLevel==2?'KYC认证':scope.row.authLevel==3?'商户认证':'pro认证'}}
@ -146,6 +150,12 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<template v-if="scope.row.userRole=='store'&&scope.row.authLevel=='4'">
<el-button size="medium" type="text" @click="handleCreate(scope.row)" v-if="scope.row.platformRole!='acceptor'">置为承兑商</el-button>
</template>
<el-button v-if="scope.row.authLevel == '1' || scope.row.authLevel == '2' || scope.row.authLevel == '3'" size="medium" type="text"
@click="handleUpdate(scope.row)" v-hasPermi="['user:userCustomer:edit']">编辑
</el-button>
@ -184,7 +194,7 @@
</template>
<script>
import { listUserCustomer, getUserCustomer, delUserCustomer, addUserCustomer, updateUserCustomer, exportUserCustomer, changeUserStatus } from "@/api/user/userCustomer";
import { listUserCustomer, getUserCustomer,upgradeLevel, delUserCustomer, addUserCustomer, updateUserCustomer, exportUserCustomer, changeUserStatus } from "@/api/user/userCustomer";
export default {
name: "UserCustomer",
@ -215,6 +225,8 @@ export default {
sourceOptions: [],
userRoleOptions: [],
platformRoleOptions: [],
authLevelOptions: [],
//
@ -283,6 +295,9 @@ export default {
dictValue:null,
});
});
this.getDicts("platform_role").then(response => {
this.platformRoleOptions = response.data;
});
this.getDicts("user_role").then(response => {
this.userRoleOptions = response.data;
this.userRoleOptions.unshift({
@ -334,6 +349,10 @@ export default {
userRoleFormat(row, column) {
return this.selectDictLabel(this.userRoleOptions, row.userRole);
},
//
platformRoleFormat(row, column) {
return this.selectDictLabel(this.platformRoleOptions, row.platformRole);
},
//
@ -423,18 +442,18 @@ export default {
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
/** 置为承兑商 */
handleCreate(row) {
const userIds = row.userId || this.ids;
this.$confirm('是否确认删除个人用户编号为"' + userIds + '"的数据项?', "警告", {
this.$confirm('是否确认个人用户编号为"' + userIds + '"的数据项为承兑商?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function () {
return delUserCustomer(userIds);
return upgradeLevel(userIds);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
this.msgSuccess("操作成功");
})
},
/** 导出按钮操作 */

Loading…
Cancel
Save