Browse Source

’更新

git commit -m ’更新
master
j1ack 2 years ago
parent
commit
4a787a5ec7
  1. 2
      .env.development
  2. 23
      src/App.vue
  3. 17
      src/api/form.js
  4. 72
      src/views/pay/payAgentUser/operate.vue
  5. 107
      src/views/pay/payAgentUser/payAgentUserList.vue
  6. 709
      src/views/pay/payAgentUser/pkCouponScopeRangeStoreListWallet.vue
  7. 34
      src/views/pay/payOrder/my-date-picker.vue
  8. 273
      src/views/pay/payOrder/orderReport.vue
  9. 249
      src/views/pay/payOrder/payDaiFuWater.vue
  10. 188
      src/views/pay/payOrder/payOrderWater.vue
  11. 5
      src/views/pay/payOrder/paySettleWater.vue

2
.env.development

@ -5,7 +5,7 @@ VUE_APP_TITLE = 商户管理系统
ENV = 'development'
# 开发环境
VUE_APP_BASE_API = 'http://192.168.31.182:8888'
VUE_APP_BASE_API = 'http://newpay-admin.weirui0755.com/stage-api'
# 后台本地
# VUE_APP_BASE_API = 'http://newpay-admin.weirui0755.com/stage-api'

23
src/App.vue

@ -32,6 +32,29 @@ export default {
</script>
<style>
.whiteOrder {
background: #fff !important;
}
.greyOrder {
background: #F4F4F5 !important;
}
.blueOrder {
background: #c8e5f8 !important;
}
.yellowOrder {
background: #FEFEE5 !important;
}
.greenOrder {
background: #E9FEEA !important;
}
.redOrder {
background: #FDF2F2 !important;
}
.el-table .el-table__header-wrapper th, .el-table .el-table__fixed-header-wrapper th {
font-size: 12px;
}

17
src/api/form.js

@ -11,6 +11,13 @@ import {
*
*/
export const common_api = {
//获取所有商户
getAllstore: () => {
return request({
url: '/store/store/getAll',
method: 'get',
})
},
//获取币种支付渠道列表
getPaymentChannelsList: () => {
return request({
@ -1025,6 +1032,16 @@ export const payOrder = {
})
},
// 补发异步通知
paymentReissueNotice: (data) => {
return request({
url: '/record/paymentReissueNotice?keyId=' + data,
method: 'post',
headers: {
Authorization: "Bearer " + getToken(),
},
})
},
// 补发异步通知
reissueNotice: (data) => {
return request({
url: '/order/rechargeRecord/reissueNotice?keyId=' + data,

72
src/views/pay/payAgentUser/operate.vue

@ -10,7 +10,16 @@
<div class="bg">
<div class="bottom form controls">
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
<el-form-item label="入金状态">
<el-switch v-model="detailInfoList.statusIn" active-text="" inactive-text="" active-value="open"
inactive-value="close" @change="switchStatusChange('statusIn', detailInfoList)">
</el-switch>
</el-form-item>
<el-form-item label="出金状态">
<el-switch v-model="detailInfoList.statusOut" active-text="" inactive-text="" active-value="open"
inactive-value="close" @change="switchStatusChange('statusOut', detailInfoList)">
</el-switch>
</el-form-item>
<el-form-item label="手工代付开关" prop="artistName">
<el-switch v-model="infoList.paymentManualStatus" active-text="" inactive-text="" active-value="open"
inactive-value="close">
@ -139,14 +148,61 @@ export default {
},
val: {},
infoList: {},
detailInfoList: {},
};
},
created() {
this.val = this.$route.query.type
this.getList(this.val)
this.handleViewMy(this.val)
},
methods: {
//
switchStatusChange(val, row) {
console.log(row)
const id = this.val;
if (val == 'statusIn') {
let type = '';
row.statusIn == 'close' ? type = 'close' : type = 'open'
payAgentUser.editStorePay({
statusIn: type,
statusOut: '',
storeId: id,
}).then((response) => {
if (response.code === 200) {
this.handleViewMy(this.val)
this.$message.success("编辑成功");
}
});
this.$forceUpdate()
} else {
let type = '';
row.statusOut == 'close' ? type = 'close' : type = 'open'
payAgentUser.editStorePay({
statusOut: type,
statusIn: '',
storeId: id,
}).then((response) => {
if (response.code === 200) {
this.handleViewMy(this.val)
this.$message.success("编辑成功");
}
});
this.$forceUpdate()
}
},
//
handleViewMy(row) {
payAgentUser.getInfo(row)
.then((response) => {
this.detailInfoList.statusOut = response.data.storePay.statusOut
this.detailInfoList.statusIn = response.data.storePay.statusIn
this.detailInfoList.storeId = response.data.store.id
}).catch(() => {
})
},
//
getValue(e) {
if (e == 'xml' || e == 'json') {
@ -165,11 +221,11 @@ export default {
.getStoreConfig(id)
.then((response) => {
this.infoList = response.data
if(!this.infoList.paymentAuditType){
this.infoList.paymentAuditType='2'
if (!this.infoList.paymentAuditType) {
this.infoList.paymentAuditType = '2'
}
if(!this.infoList.mediaType){
this.infoList.mediaType='json'
if (!this.infoList.mediaType) {
this.infoList.mediaType = 'json'
}
this.loading = false
@ -182,12 +238,12 @@ export default {
return;
}
this.loading = true
this.infoList.storeId=this.val;
this.infoList.id=this.infoList.id<1?null:this.infoList.id;
this.infoList.storeId = this.val;
this.infoList.id = this.infoList.id < 1 ? null : this.infoList.id;
payAgentUser
.updateStoreConfig(this.infoList)
.then((response) => {
this.msgSuccess("编辑成功");
this.getList(this.val)
this.loading = false;

107
src/views/pay/payAgentUser/payAgentUserList.vue

@ -84,10 +84,9 @@
<el-table-column label="用户等级" align="center" prop="userLevel" />
<el-table-column label="用户类型" align="center" prop="userType" min-width="120">
<template slot-scope="scope">
<el-tag :type="
scope.row.userType == 'store'
? 'success' : 'primary'
">
<el-tag :type="scope.row.userType == 'store'
? 'success' : 'primary'
">
{{ scope.row.userLevel == 1 ? '平台直属' : '代理下级' }}{{ scope.row.userType == 'store' ? '商户' : '代理商' }}
</el-tag>
</template>
@ -168,8 +167,14 @@
@click="handleAgent('分配代理商', 'divide', scope.row)" style="color: #006EFF;">分配代理商</el-button>
<el-button size="small" type="text" style="color: #006EFF;" @click="handleCode('身份验证', scope.row)"
v-hasPermi="['system:user:getGoogleCaptcha']">查看密钥</el-button>
<el-button size="small" type="text" style="color: #006EFF;" @click="handleDelete(scope.row)"
v-hasPermi="['system:user:remove']">删除</el-button>
<el-button size="small" type="text" style="color: #006EFF;" @click="handleViewMy(scope.row)"
v-hasPermi="['store:store:query']" v-if="scope.row.userType == 'store'">详情</el-button>
v-hasPermi="['store:store:query']" v-if="scope.row.userType == 'store'">详情</el-button><br />
<el-button size="small" type="text" style="color: #006EFF;" @click="handleViewTo(scope.row)"
v-hasPermi="['order:rechargeRecord:capitalList']">子钱包</el-button>
<el-button size="small" type="text" style="color: #006EFF;" @click="go('/add', scope.row.storeId)"
v-if="scope.row.userType == 'store'">通道</el-button>
<el-button size="small" type="text" style="color: #006EFF;" @click="go('/rate', scope.row.storeId)"
@ -279,15 +284,14 @@
<el-form-item label="登陆账号">
{{ detailInfoList.userName }}
</el-form-item>
<el-form-item label="用户手机">
<!-- <el-form-item label="用户手机">
{{ detailInfoList.phonenumber }}
</el-form-item>
</el-form-item> -->
<el-form-item label="用户类型">
<el-tag :type="
detailInfoList.userType == 'store'
? 'success' : 'primary'
">
<el-tag :type="detailInfoList.userType == 'store'
? 'success' : 'primary'
">
{{ detailInfoList.userLevel == 1 ? '平台直属' : '代理下级' }}{{ detailInfoList.userType == 'store' ? '商户' : '代理商'
}}
</el-tag>
@ -298,12 +302,16 @@
<el-form-item label="国家名称">
{{ detailInfoList.nationName }}
</el-form-item>
<el-form-item label="创建时间">
{{ detailInfoList.createTime }}
</el-form-item>
</div>
<div>
<el-form-item label="国家货币符号">
{{ detailInfoList.nationSymbol }}
</el-form-item>
</div>
<div>
<el-form-item label="商户号">
{{ detailInfoList.storeNo }} <span v-if="detailInfoList.storeNo" @click="copy(detailInfoList.storeNo)"
style="cursor: pointer;color:#006EFF;margin-left: 10px;">复制</span>
@ -318,7 +326,11 @@
<el-form-item label="商户数">
{{ detailInfoList.storeCount }}
</el-form-item>
<el-form-item label="在途资金(元)">
<el-form-item label="国家代码">
{{ detailInfoList.nationCode }}
</el-form-item>
<!-- <el-form-item label="在途资金(元)">
{{ transitCapital }}
</el-form-item>
<el-form-item label="冻结资金(元)">
@ -326,7 +338,7 @@
</el-form-item>
<el-form-item label="可用资金(元)">
{{ useCapital }}
</el-form-item>
</el-form-item> -->
<!-- <el-form-item label="商户类型">
<el-tag :type="
detailInfoList.storeType == 'my_store'
@ -341,22 +353,22 @@
<el-form-item label="上级用户">
{{ detailInfoList.parentName }}
</el-form-item>
</div>
<div>
<el-form-item label="商户名称">
{{ detailInfoList.storeName }}
</el-form-item>
<el-form-item label="商户电话">
</div>
<div>
<!-- <el-form-item label="商户电话">
{{ detailInfoList.storeTelephone }}
</el-form-item>
<el-form-item label="营业执照">
</el-form-item> -->
<!-- <el-form-item label="营业执照">
{{ detailInfoList.organizationCode }}
</el-form-item>
<el-form-item label="商户地址">
</el-form-item> -->
<!-- <el-form-item label="商户地址">
{{ detailInfoList.storeAddress }}
</el-form-item>
<el-form-item label="入金状态">
</el-form-item> -->
<!-- <el-form-item label="入金状态">
<el-switch v-model="detailInfoList.statusIn" active-text="" inactive-text="" active-value="open"
inactive-value="close" @change="switchStatusChange('statusIn', detailInfoList)">
</el-switch>
@ -365,15 +377,10 @@
<el-switch v-model="detailInfoList.statusOut" active-text="" inactive-text="" active-value="open"
inactive-value="close" @change="switchStatusChange('statusOut', detailInfoList)">
</el-switch>
</el-form-item>
<el-form-item label="国家代码">
{{ detailInfoList.nationCode }}
</el-form-item>
</el-form-item> -->
<el-form-item label="创建时间">
{{ detailInfoList.createTime }}
</el-form-item>
</div>
</div>
</el-form>
@ -396,28 +403,39 @@
</div>
</el-dialog>
<!-- 资金列表 -->
<el-dialog v-dialogDrag title="资金列表" :visible.sync="pkCouponScopeRangeParkingStoreOpen" width="80%" append-to-body
<!-- 资金列表 -->
<el-dialog v-dialogDrag title="资金列表" :visible.sync="pkCouponScopeRangeParkingStoreOpen" width="80%" append-to-body
:close-on-click-modal="false">
<pkCouponScopeRangeStoreList v-if="pkCouponScopeRangeParkingStoreOpen" :pkCouponStore="pkCouponStore"
:pkCouponId="pkCouponStoreId">
</pkCouponScopeRangeStoreList>
</el-dialog>
<!-- 子钱包 -->
<el-dialog v-dialogDrag title="子钱包" :visible.sync="pkCouponScopeRangeParkingStoreOpen2" width="80%" append-to-body
:close-on-click-modal="false">
<pkCouponScopeRangeStoreListWallet v-if="pkCouponScopeRangeParkingStoreOpen2" :pkCouponStore="pkCouponStore"
:pkCouponId="pkCouponStoreId">
</pkCouponScopeRangeStoreListWallet>
</el-dialog>
</div>
</template>
<script>
import { common_api, payAgentUser } from "@/api/form";
import { resetUserPwd } from "@/api/system/user";
import { resetUserPwd, delUser } from "@/api/system/user";
import Editor from "@/components/Editor";
import { getToken } from "@/utils/auth";
import pkCouponScopeRangeStoreList from "./pkCouponScopeRangeStoreList2";
import pkCouponScopeRangeStoreListWallet from "./pkCouponScopeRangeStoreListWallet";
import pwd from "./pwd";
export default {
name: "payAgentUserList",
components: { Editor, pkCouponScopeRangeStoreList, pwd },
components: { Editor, pkCouponScopeRangeStoreList, pwd, pkCouponScopeRangeStoreListWallet },
data() {
var checkConfirmPassword = (rule, value, callback) => {
if (!value) {
@ -445,6 +463,7 @@ export default {
//
nation: [],
pkCouponScopeRangeParkingStoreOpen: false,
pkCouponScopeRangeParkingStoreOpen2: false,
//
isShowDetail: false,
dateRange: [],
@ -573,6 +592,22 @@ export default {
},
},
methods: {
/** 删除按钮操作 */
handleDelete(row) {
const userIds = row.userId || this.ids;
this.$modal.confirm('是否确认删除用户编号为"' + userIds + '"的数据项?').then(function () {
return delUser(userIds);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
//
handleViewTo(row) {
this.pkCouponStore = row;
this.pkCouponStoreId = row.storeId;
this.pkCouponScopeRangeParkingStoreOpen2 = true;
},
//
handleView(row) {
this.pkCouponStore = row;

709
src/views/pay/payAgentUser/pkCouponScopeRangeStoreListWallet.vue

@ -0,0 +1,709 @@
<template>
<div class="app-container">
<div class="bg">
<div class="rig flex m20" v-hasPermi="['order:rechargeRecord:amountCount']">
<div>
在途总金额()<span class="#197CFE">{{ sum.onRouteAmount }}</span>
</div>
<div>
冻结总金额()<span class="#197CFE">{{ sum.freezeAmount }}</span>
</div>
<div>
可提现总金额()<span class="#197CFE">{{ sum.withdrawalAmount }}</span>
</div>
<div>
汇总<span class="#197CFE">{{ sum.gatherAmount }}</span>
</div>
</div>
<div class="rig flex m20">
<div>
当前商户编号<span class="#197CFE">{{ pkCouponId }}</span>
</div>
<div>
当前商户<span class="#197CFE">{{ pkCouponStore.storeName }}</span>
</div>
</div>
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="86px"
class="flex form" style="padding:0 20px">
<el-form-item label="支付渠道" prop="channelType">
<el-select v-model="queryParams.channelType" placeholder="请选择支付渠道" clearable size="medium">
<el-option v-for="(item, i) in userLevType" :key="i" :label="item.channelName"
:value="item.payChannel"></el-option>
</el-select>
</el-form-item>
<el-form-item label="支付类型" prop="payType">
<el-select v-model="queryParams.payType" placeholder="请选择支付类型" clearable size="medium">
<el-option v-for="(item, i) in sortLevType" :key="i" :label="item.typeName" :value="item.payType"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="" size="medium" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table stripe v-loading="loading" :data="infoList">
<el-table-column label="序号" align="center" prop="id" />
<el-table-column label="账户编号" align="center" prop="accountNo" min-width="100" />
<el-table-column label="支付类型" align="center" prop="typeName" />
<el-table-column label="渠道类型" align="center" prop="channelName" />
<el-table-column label="账户冻结金额(元)" align="center" prop="frozenCapital" />
<el-table-column label="账户在途金额(元)" align="center" prop="transitCapital" />
<el-table-column label="账户可提余额(元)" align="center" prop="useCapital" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" min-width="150">
<template slot-scope="scope">
<el-button size="small" type="text" style="color: #006EFF;"
@click="updateBalance(scope.row, 'formUpdate')">修改余额</el-button>
<el-button size="small" type="text" style="color: #006EFF;"
@click="handlePrivateTransfer(scope.row, 'formDai')"
v-hasPermi="['order:rechargeRecord:storePaymentSave']">私户转入</el-button>
<el-button size="small" type="text" style="color: #006EFF;" @click="handleFrozen(scope.row, 'formFro')"
v-hasPermi="['order:rechargeRecord:frozenCapitalSave']">资金冻结</el-button>
<el-button size="small" type="text" style="color: #006EFF;" @click="handleTransfer(scope.row, 'formTrans')"
v-hasPermi="['order:rechargeRecord:transferCapitalSave']">资金划转</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>
<!-- 资金冻结 -->
<el-dialog v-dialogDrag :title="title" :visible.sync="open" width="600px" append-to-body :close-on-click-modal="false"
:before-close="cancel">
<el-form ref="formFro" :model="form" :rules="rules" label-width="120px">
<el-form-item label="账户编号" prop="accountNo">
<span style="color:red">{{ detailData.accountNo }}</span>
</el-form-item>
<el-form-item label="所属渠道" prop="channelName">
<span style="color:red">{{ detailData.channelName }}</span>
</el-form-item>
<el-form-item label="当前账户余额" prop="useCapital">
<span style="color:red">{{ detailData.useCapital }}</span>
</el-form-item>
<el-form-item label="冻结金额(元)" prop="frozenCapital">
<el-input v-model="form.frozenCapital" placeholder="请输入冻结金额" />
</el-form-item>
<el-form-item label="支付密码" prop="pwd">
<el-input type="password" v-model="form.pwd" placeholder="请输入密码" />
</el-form-item>
<el-form-item label="谷歌动态验证码" prop="googleCode">
<el-input v-model="form.googleCode" placeholder="请输入谷歌动态验证码" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm('frozen', 'formFro')"> </el-button>
<el-button @click="cancel('formFro')"> </el-button>
</div>
</el-dialog>
<!-- 资金划转 -->
<el-dialog v-dialogDrag title="资金划转" :visible.sync="openTransfer" width="600px" append-to-body
:close-on-click-modal="false" :before-close="cancel">
<el-form ref="formTrans" :model="form" :rules="rules" label-width="120px">
<el-form-item label="转出账户编号" prop="accountNo">
<span style="color:red">{{ detailData.accountNo }}</span>
</el-form-item>
<el-form-item label="转出类型" prop="payType">
<span style="color:red">{{ detailData.payType }}</span>
</el-form-item>
<el-form-item label="转出渠道" prop="channelType">
<span style="color:red">{{ detailData.channelType }}</span>
</el-form-item>
<el-form-item label="转入账户" prop="toAccountNo">
<el-select v-model="form.toAccountNo" placeholder="请选择转入账户" clearable size="medium">
<el-option v-for="(item, i) in accountCon" :key="i" :label="item.accountNo"
:value="item.accountNo"></el-option>
</el-select>
</el-form-item>
<el-form-item label="当前账户余额" prop="useCapital">
<span style="color:red">{{ detailData.useCapital }}</span>
</el-form-item>
<el-form-item label="划转金额(元)" prop="transferCapital">
<el-input v-model="form.transferCapital" placeholder="请输入划转金额"
oninput="value=value.replace(/[^\d.]/g,'').replace(/^\./g, '').replace(/\.{2,}/g, '').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').match(/^\d*(\.?\d{0,4})/g)[0] || null" />
</el-form-item>
<el-form-item label="支付密码" prop="pwd">
<el-input type="password" v-model="form.pwd" placeholder="请输入密码" />
</el-form-item>
<el-form-item label="谷歌动态验证码" prop="googleCode">
<el-input v-model="form.googleCode" placeholder="请输入谷歌动态验证码" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm('transfer', 'formTrans')"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 私户转入 -->
<el-dialog v-dialogDrag title="代付" :visible.sync="openBank" width="600px" append-to-body :close-on-click-modal="false"
:before-close="cancel">
<el-form ref="formDai" :model="form" :rules="rules" label-width="120px">
<div>
<span style="font-size:19px">代付银行卡</span>
<el-divider></el-divider>
</div>
<div v-if="isCoin == 'N'">
<el-form-item label="出金通道" prop="bankId">
<el-select v-model="form.bankId" placeholder="请选择出金通道" clearable size="medium" @change="getValue">
<el-option v-for="(item, i) in bankCon" :key="i" :label="item.bankName" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="银行卡号" prop="acctId">
<el-input v-model="form.acctId" placeholder="请输入银行卡号" />
</el-form-item>
<el-form-item label="支行名称" prop="bankBranchName">
<el-input v-model="form.bankBranchName" placeholder="请输入支行名称" />
</el-form-item>
<el-form-item label="支行联行号" prop="bankSettleNo">
<el-input v-model="form.bankSettleNo" placeholder="请输入支行联行号" />
</el-form-item>
<el-form-item label="开户人姓名" prop="acctName">
<el-input v-model="form.acctName" placeholder="请输入开户人姓名" />
</el-form-item>
<el-form-item label="用户预留手机号" prop="mobile">
<el-input v-model="form.mobile" placeholder="请输入用户预留手机号" />
</el-form-item>
</div>
<el-form-item label="钱包收款地址" prop="acctId" v-else>
<el-input v-model="form.acctId" placeholder="请输入钱包收款地址" />
</el-form-item>
<div>
<span style="font-size:19px">代付金额</span>
<el-divider></el-divider>
</div>
<el-form-item label="可代付金额" prop="useCapital">
<span>{{ detailData.useCapital }}</span>
</el-form-item>
<el-form-item label="本次代付金额" prop="paymentAmount">
<el-input v-model="form.paymentAmount" placeholder="请输入本次代付金额"
oninput="value=value.replace(/[^\d.]/g,'').replace(/^\./g, '').replace(/\.{2,}/g, '').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').match(/^\d*(\.?\d{0,4})/g)[0] || null" />
</el-form-item>
<el-form-item label="支付密码" prop="pwd">
<el-input type="password" v-model="form.pwd" placeholder="请输入密码" />
</el-form-item>
<el-form-item label="谷歌动态验证码" prop="googleCode">
<el-input v-model="form.googleCode" placeholder="请输入谷歌动态验证码" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm('private', 'formDai')"> </el-button>
<el-button @click="cancel('formDai')"> </el-button>
</div>
</el-dialog>
<!-- 余额修改 -->
<el-dialog v-dialogDrag title="余额修改" :visible.sync="openBalance" width="600px" append-to-body
:close-on-click-modal="false" :before-close="cancel">
<el-form ref="formUpdate" :model="form" :rules="rules" label-width="120px">
<el-form-item label="账户号">
{{ detailData.accountNo }}
</el-form-item>
<el-form-item label="余额" prop="useCapital">
<span>{{ detailData.useCapital }}</span>
</el-form-item>
<el-form-item label="类型" prop="isIncome">
<el-radio-group v-model="form.isIncome" @change="change">
<el-radio v-for="dict in type" :key="dict.value" :label="dict.value">{{ dict.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="金额(元)" prop="afterAmt">
<el-input v-model="form.afterAmt" placeholder="请输入金额"
oninput="value=value.replace(/[^\d.]/g,'').replace(/^\./g, '').replace(/\.{2,}/g, '').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').match(/^\d*(\.?\d{0,4})/g)[0] || null" />
</el-form-item>
<el-form-item label="谷歌动态验证码" prop="googleCode">
<el-input v-model="form.googleCode" placeholder="请输入谷歌动态验证码" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="subUpdateBalance('balance', 'formUpdate')"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { payMoneyCalcu, common_api } from "@/api/form";
export default {
name: "pkCouponScopeRangeStoreList",
props: {
pkCouponId: {
type: String,
default() {
return "";
},
},
pkCouponStore: {
type: Object,
default: {}
}
},
data() {
var checkPhone = (rule, value, callback) => {
let reg = /^1[345789]\d{9}$/
if (!reg.test(value)) {
callback(new Error('请输入11位手机号'))
} else {
callback()
}
}
return {
isCoin: null,
type: [
{
label: '增加',
value: 'yes'
},
{
label: '减少',
value: 'no'
},
],
//
userWithdrawalChannel: {},
accountCon: [],
store: {},
dateRange: [],
//
loading: true,
//
exportLoading: false,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
infoList: [],
//
title: "",
//
open: false,
openTransfer: false,
openBank: false,
openBalance: false,
//
queryParams: {
pageNum: 1,
pageSize: 20,
storeId: null,
payType: null,
channelType: null,
},
sum: {
freezeAmount: 0,
gatherAmount: 0,
onRouteAmount: 0,
withdrawalAmount: 0,
},
//
form: {
},
//
rules: {
afterAmt: [
{ required: true, message: "请输入本次修改金额", trigger: "blur" },
],
paymentAmount: [
{ required: true, message: "请输入本次代付金额", trigger: "blur" },
],
mobile: [
{ required: true, type: 'number', validator: checkPhone, message: '请输入正确的手机号', trigger: 'blur' },
],
acctName: [
{ required: true, message: "请输入开户人姓名", trigger: "blur" },
],
bankSettleNo: [
{ required: true, message: "请输入支行联行号", trigger: "blur" },
],
acctId: [
{ required: true, message: "请输入银行卡号", trigger: "blur" },
],
bankBranchName: [
{ required: true, message: "请输入支行名称", trigger: "blur" },
],
bankId: [
{ required: true, message: "请选择出金通道", trigger: "blur" },
],
toAccountNo: [
{ required: true, message: "请选择划转账户", trigger: "blur" },
],
transferCapital: [
{ required: true, message: "请输入划转金额", trigger: "blur" },
],
pwd: [
{ required: true, message: "请输入密码", trigger: "blur" },
],
googleCode: [
{ required: true, message: "请输入谷歌动态验证码", trigger: "blur" },
],
},
userLevType: [],
sortLevType: [],
detailData: {},
bankCon: [],
};
},
created() {
this.pkCouponId && (this.queryParams.storeId = this.pkCouponId);
this.getList();
this.init();
},
methods: {
//
getValue(e) {
for (var i = 0; i < this.bankCon.length; i++) {
if (e == this.bankCon[i].id) {
this.form.bankSegment = this.bankCon[i].bankSegment
this.form.bankName = this.bankCon[i].bankName
this.form.bankCode = this.bankCon[i].bankCode
this.form.bankEnglishShort = this.bankCon[i].bankEnglishShort
}
}
},
//
getUserWithdrawalChannel() {
payMoneyCalcu.getUserWithdrawalChannel({ acctType: "debit_card", storeId: this.pkCouponStore.storeId })
.then(res => {
this.userWithdrawalChannel = res.data?.[0] ?? {};
if (this.userWithdrawalChannel) {
this.form = {
...this.form,
acctId: this.userWithdrawalChannel.acctId,
bankBranchName: this.userWithdrawalChannel.bankBranchName,
bankSettleNo: this.userWithdrawalChannel.bankSettleNo,
acctName: this.userWithdrawalChannel.acctName,
mobile: this.userWithdrawalChannel.mobile,
}
}
})
},
//
handlePrivateTransfer(row, v) {
this.reset(v);
this.loading = true;
this.isCoin = row.isCoin
//
this.getUserWithdrawalChannel();
payMoneyCalcu.getWithdrawalChannel({
channelType: row.channelType,
flagCard: 'private_account'
})
.then((response) => {
this.openBank = true;
this.bankCon = response.data
this.loading = false;
//
payMoneyCalcu.getUserCapitalAccountDetail({
accountNo: row.accountNo,
storeId: this.queryParams.storeId
})
.then((response) => {
this.form.accountNo = row.accountNo
this.detailData = response.data
});
});
},
//
handleTransfer(row, v) {
this.reset(v);
this.form.storeId = this.pkCouponStore.storeId
this.loading = true;
//
payMoneyCalcu.getUserCapitalAccountDetail({
accountNo: row.accountNo,
storeId: this.queryParams.storeId
})
.then((response) => {
this.openTransfer = true;
this.detailData = response.data
this.loading = false;
});
//
payMoneyCalcu.getAllAccountOrder({
storeId: this.queryParams.storeId
})
.then((response) => {
this.accountCon = response.data.rows
});
},
//
subUpdateBalance(a, v) {
var googleCode = this.form.googleCode
this.$refs[v].validate((valid) => {
if (valid) {
const loading = this.$loading({
lock: true,
text: `正在修改`,
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
payMoneyCalcu
.updateBalance({
accountNo: this.form.accountNo,
googleCode: googleCode,
updateUserId: this.form.updateUserId,
isIncome: this.form.isIncome,
tranAmt: this.form.afterAmt,
})
.then((response) => {
loading.close();
if (response.code == 200) {
this.$message.success('修改成功')
this.getList();
}
this.openBalance = false
})
.catch(() => {
loading.close();
});
}
});
},
/** 提交按钮 */
submitForm(type, val) {
if (type == 'private') {
this.form.storeId = this.pkCouponStore.storeId
if (this.form.paymentAmount > this.detailData.useCapital) {
this.$message.error('余额不足')
return;
}
this.$refs[val].validate((valid) => {
if (valid) {
const loading = this.$loading({
lock: true,
text: `正在代付`,
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
if (this.isCoin == 'N') {
payMoneyCalcu
.storePaymentSave(this.form)
.then((response) => {
loading.close();
if (response.code == 200) {
this.$message.success('代付资金提交成功')
}
this.openBank = false
this.getList()
})
.catch(() => {
loading.close();
});
}
if (this.isCoin == 'Y') {
payMoneyCalcu
.storePaymentCurrencySave(this.form)
.then((response) => {
loading.close();
if (response.code == 200) {
this.$message.success('代付资金提交成功')
}
this.openBank = false
this.getList()
})
.catch(() => {
loading.close();
});
}
}
});
}
if (type == 'transfer') {
if (this.form.transferCapital > this.detailData.useCapital) {
this.$message.error('余额不足')
return;
}
this.$refs[val].validate((valid) => {
if (valid) {
const loading = this.$loading({
lock: true,
text: `正在划转资金`,
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
this.form.accountNo = this.detailData.accountNo
payMoneyCalcu
.transferCapitalSave(this.form)
.then((response) => {
loading.close();
if (response.code == 200) {
this.$message.success('划转资金提交成功')
}
this.openTransfer = false
this.getList()
})
.catch(() => {
loading.close();
});
}
});
} else if (type == 'frozen') {
if (this.form.frozenCapital > this.detailData.useCapital) {
this.$message.error('余额不足')
return;
}
this.$refs[val].validate((valid) => {
if (valid) {
const loading = this.$loading({
lock: true,
text: `正在冻结资金`,
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
payMoneyCalcu
.frozenCapital(this.form)
.then((response) => {
loading.close();
if (response.code == 200) {
this.$message.success('冻结成功')
}
this.open = false
this.getList()
})
.catch(() => {
loading.close();
});
}
});
}
},
//
updateBalance(row, v) {
this.reset(v);
this.detailData = row
this.form.accountNo = row.accountNo
this.form.updateUserId = row.userId
this.form.isIncome = 'yes'
this.openBalance = true;
},
//
handleFrozen(row, v) {
this.reset(v);
this.detailData = row
this.form.storeId = this.pkCouponStore.storeId
this.form.accountNo = this.detailData.accountNo
this.form.frozenType = 'frozen'
this.open = true;
this.title = '资金冻结';
},
/** 查询 */
getList() {
this.loading = true;
payMoneyCalcu.capitalList(this.addSESDateRange(this.queryParams, this.dateRange))
.then((response) => {
this.infoList = response.data.rows;
this.total = Number(response.data.total)
this.loading = false;
});
payMoneyCalcu.amountCount({
storeId: this.pkCouponStore.storeId,
channelType: '',
payType: '',
})
.then((response) => {
this.sum = response.data
});
},
init() {
common_api.payChannelAll().then((response) => {
this.userLevType = response.data
});
common_api.payTypeAll().then((response) => {
this.sortLevType = response.data
});
},
//
cancel(type) {
this.open = false;
this.openTransfer = false;
this.openBank = false
this.openBalance = false
this.reset(type);
},
//
reset(type) {
this.form = {};
this.detailData = {};
this.resetForm(type);
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加适用商家";
},
change() {
this.$forceUpdate()
},
selectChange(data) {
this.$set(this.form, 'storeName', data.storeName)
this.form.pkStoreId = data.id;
this.$nextTick(() => {
this.$refs.pkParkingInfoIdRef.clearValidate();
});
},
},
};
</script>
<style lang="scss" scoped>
::v-deep .el-divider--horizontal {
margin: 8px 0;
}
.bg {
border-radius: 0;
background: #fff;
box-shadow: none;
border-color: rgba(0, 0, 0, 0.05);
padding: 0px 0;
}
.app-container {
margin: 0;
padding: 0;
}
.el-radio {
line-height: 2;
}
</style>

34
src/views/pay/payOrder/my-date-picker.vue

@ -18,7 +18,12 @@ export default {
},
data () {
return {
dateRange: [],
systemDate: '',
systemDate2: '',
dateRange: [
],
pickerOptions: {
shortcuts: [
{
@ -106,6 +111,33 @@ export default {
}
};
},
created() {
this.addDate()
},
methods: {
//
addDate() {
let nowDate = new Date();
let date = {
year: nowDate.getFullYear(),
month: nowDate.getMonth() + 1,
date: nowDate.getDate(),
}
if (date.date <= 9) {
this.systemDate = date.year + '-' + 0 + date.month + '-' + 0 + date.date;
} else {
this.systemDate = date.year + '-' + 0 + date.month + '-' + date.date;
}
if (date.date <= 9) {
this.systemDate2 = date.year + '-' + 0 + date.month + '-' + 0 + (date.date-1);
} else {
this.systemDate2 = date.year + '-' + 0 + date.month + '-' + date.date;
}
this.dateRange=[ this.systemDate2 + ' ' + '00' + ':' + '00' + ':' + '00',this.systemDate+ ' ' + '23' + ':' + '59' + ':' + '59']
this.$forceUpdate()
},
},
};
</script>

273
src/views/pay/payOrder/orderReport.vue

@ -17,15 +17,23 @@
<el-form-item label="交易时间">
<my-date-picker @change="onDateRangeChange" ref="child" />
</el-form-item>
<!-- <el-form-item label="商户名称" prop="storeName">
<el-input size="medium" v-model="queryParams.storeName" placeholder="请输入商户名称" @keyup.enter.native="handleQuery"
style="width: 215px;border-color: #E6F1FF;" />
</el-form-item> -->
<el-form-item label="商户名称" prop="storeName">
<el-input size="medium" v-model="queryParams.storeName" placeholder="请输入商户名称"
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="商户编号" prop="storeId">
<el-select v-model="queryParams.storeName" placeholder="请选择商户名称" clearable size="medium">
<el-option v-for="(item, i) in storeNameType" :key="i" :label="item.storeName"
:value="item.storeName"></el-option>
</el-select>
</el-form-item>
<!-- <el-form-item label="商户编号" prop="storeId">
<el-input size="medium" v-model="queryParams.storeId" placeholder="请输入商户编号"
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="支付渠道" prop="channelType">
</el-form-item> -->
<el-form-item label="支付渠道" prop="channelType">
<el-select v-model="queryParams.channelType" placeholder="请选择支付渠道" clearable size="medium">
<el-option v-for="(item, i) in userLevType" :key="i" :label="item.channelName"
:value="item.payChannel"></el-option>
@ -57,7 +65,7 @@
</template>
<script>
import { payOrder,common_api } from "@/api/form";
import { payOrder, common_api } from "@/api/form";
import { calcRange } from "@/utils/ruoyi";
import OrderReportCard from "./orderReportCard.vue";
import MyDatePicker from "./my-date-picker.vue";
@ -71,148 +79,179 @@ export default {
components: { MyDatePicker, OrderReportCard },
data() {
return {
systemDate: '',
systemDate2: '',
userLevType: [
],
],
//
loading: true,
//
selectedDatas: [],
storeNameType:[],
//
showSearch: true,
//
data: {
obj:{
orderCount: 0,
orderTotal: 0,
rateTotal: 0,
realTotal: 0,
settleCount:0,
settleTotal: 0,
partSettleCount: 0,
partSettleTotal: 0,
surplusCount: 0,
surplusTotal: 0,
noSettleCount: 0,
noSettleTotal: 0,
obj: {
orderCount: 0,
orderTotal: 0,
rateTotal: 0,
realTotal: 0,
settleCount: 0,
settleTotal: 0,
partSettleCount: 0,
partSettleTotal: 0,
surplusCount: 0,
surplusTotal: 0,
noSettleCount: 0,
noSettleTotal: 0,
},
payment:{
payment: {
paymentCount: 0,
paymentTotal: 0,
realOutTotal: 0,
transitCount: 0,
transitTotal: 0,
},
account:{
account: {
useCapital: 0,
transitCapital: 0,
frozenCapital: 0,
}
},
dateRange: [],
sortLevType:[],
//
queryParams: {
//
beginTime: undefined,
//
endTime: undefined,
storeName:null,
storeId:null,
channelType:null,
payType:null,
},
};
},
computed: {
//
order() {
return [
{ label: "支付成功笔数", value: numberFormat(this.data.obj.orderCount), bgColor: "#f2ae43" },
{ label: "支付成功金额", value: numberFormat(this.data.obj.orderTotal), bgColor: "#ed6d4a" },
{ label: "支付总手续费", value: numberFormat(this.data.obj.rateTotal), bgColor: "#28a9e3" },
{ label: "交易净额", value: numberFormat(this.data.obj.realTotal), bgColor: "#27b579" },
]
},
//
settle() {
return [
{ label: "已完成结算笔数", value: numberFormat(this.data.obj.settleCount), bgColor: "#f2ae43" },
{ label: "已完成结算金额", value: numberFormat(this.data.obj.settleTotal), bgColor: "#ed6d4a" },
{ label: "部分结算笔数", value: numberFormat(this.data.obj.partSettleCount), bgColor: "#28a9e3" },
{ label: "部分结算金额", value: numberFormat(this.data.obj.partSettleTotal), bgColor: "#27b579" },
{ label: "剩余部分应结算笔数", value: numberFormat(this.data.obj.surplusCount), bgColor: "#28a9e3" },
{ label: "剩余部分应结算金额", value: numberFormat(this.data.obj.surplusTotal), bgColor: "#27b579" },
{ label: "未结算笔数", value: numberFormat(this.data.obj.noSettleCount), bgColor: "#28a9e3" },
{ label: "未结算金额", value: numberFormat(this.data.obj.noSettleTotal), bgColor: "#27b579" },
]
dateRange: [],
sortLevType: [],
//
queryParams: {
//
beginTime: undefined,
//
endTime: undefined,
storeName: null,
storeId: null,
channelType: null,
payType: null,
},
};
},
//
out() {
return [
{ label: "已出款笔数", value: numberFormat(this.data.payment.paymentCount), bgColor: "#f2ae43" },
{ label: "已出款金额", value: numberFormat(this.data.payment.paymentTotal), bgColor: "#ed6d4a" },
{ label: "实际到账金额", value: numberFormat(this.data.payment.realTotal), bgColor: "#ed6d4a" },
{ label: "在途笔数", value: numberFormat(this.data.payment.transitCount), bgColor: "#ed6d4a" },
{ label: "在途金额", value: numberFormat(this.data.payment.transitTotal), bgColor: "#ed6d4a" },
]
computed: {
//
order() {
return [
{ label: "支付成功笔数", value: numberFormat(this.data.obj.orderCount), bgColor: "#f2ae43" },
{ label: "支付成功金额", value: numberFormat(this.data.obj.orderTotal), bgColor: "#ed6d4a" },
{ label: "支付总手续费", value: numberFormat(this.data.obj.rateTotal), bgColor: "#28a9e3" },
{ label: "交易净额", value: numberFormat(this.data.obj.realTotal), bgColor: "#27b579" },
]
},
//
settle() {
return [
{ label: "已完成结算笔数", value: numberFormat(this.data.obj.settleCount), bgColor: "#f2ae43" },
{ label: "已完成结算金额", value: numberFormat(this.data.obj.settleTotal), bgColor: "#ed6d4a" },
{ label: "部分结算笔数", value: numberFormat(this.data.obj.partSettleCount), bgColor: "#28a9e3" },
{ label: "部分结算金额", value: numberFormat(this.data.obj.partSettleTotal), bgColor: "#27b579" },
{ label: "剩余部分应结算笔数", value: numberFormat(this.data.obj.surplusCount), bgColor: "#28a9e3" },
{ label: "剩余部分应结算金额", value: numberFormat(this.data.obj.surplusTotal), bgColor: "#27b579" },
{ label: "未结算笔数", value: numberFormat(this.data.obj.noSettleCount), bgColor: "#28a9e3" },
{ label: "未结算金额", value: numberFormat(this.data.obj.noSettleTotal), bgColor: "#27b579" },
]
},
//
out() {
return [
{ label: "已出款笔数", value: numberFormat(this.data.payment.paymentCount), bgColor: "#f2ae43" },
{ label: "已出款金额", value: numberFormat(this.data.payment.paymentTotal), bgColor: "#ed6d4a" },
{ label: "实际到账金额", value: numberFormat(this.data.payment.realTotal), bgColor: "#ed6d4a" },
{ label: "在途笔数", value: numberFormat(this.data.payment.transitCount), bgColor: "#ed6d4a" },
{ label: "在途金额", value: numberFormat(this.data.payment.transitTotal), bgColor: "#ed6d4a" },
]
},
//
capital() {
return [
{ label: "账户资金总额", value: numberFormat(this.data.account.useCapital), bgColor: "#f2ae43" },
{ label: "在途资金总额", value: numberFormat(this.data.account.transitCapital), bgColor: "#f2ae43" },
{ label: "冻结资金总额", value: numberFormat(this.data.account.frozenCapital), bgColor: "#f2ae43" },
]
},
},
//
capital() {
return [
{ label: "账户资金总额", value: numberFormat(this.data.account.useCapital), bgColor: "#f2ae43" },
{ label: "在途资金总额", value: numberFormat(this.data.account.transitCapital), bgColor: "#f2ae43" },
{ label: "冻结资金总额", value: numberFormat(this.data.account.frozenCapital), bgColor: "#f2ae43" },
]
created() {
this.addDate();
this.getList();
this.init();
},
},
created() {
this.getList();
this.init();
},
methods: {
init() {
methods: {
//
addDate() {
let nowDate = new Date();
let date = {
year: nowDate.getFullYear(),
month: nowDate.getMonth() + 1,
date: nowDate.getDate(),
}
if (date.date <= 9) {
this.systemDate = date.year + '-' + 0 + date.month + '-' + 0 + date.date;
} else {
this.systemDate = date.year + '-' + 0 + date.month + '-' + date.date;
}
if (date.date <= 9) {
this.systemDate2 = date.year + '-' + 0 + date.month + '-' + 0 + (date.date-1);
} else {
this.systemDate2 = date.year + '-' + 0 + date.month + '-' + date.date;
}
this.queryParams.beginTime = this.systemDate2 + ' ' + '00' + ':' + '00' + ':' + '00'
this.queryParams.endTime = this.systemDate+ ' ' + '23' + ':' + '59' + ':' + '59'
this.$forceUpdate()
},
init() {
common_api.payChannelAll().then((response) => {
this.userLevType = response.data
});
common_api.payTypeAll().then((response) => {
this.sortLevType = response.data
});
common_api.getAllstore().then((response) => {
this.storeNameType = response.data
});
},
/** 查询定时任务列表 */
getList() {
this.loading = true;
payOrder.orderCount(this.queryParams).then(response => {
this.data = response.data;
this.loading = false;
});
},
/** 查询订单周期变化 */
onDateRangeChange(value) {
if (!value) {
this.queryParams.beginTime = undefined;
this.queryParams.endTime = undefined;
} else {
Object.assign(this.queryParams, calcRange(value));
}
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];
this.$refs.child.dateRange=[] //data
this.resetForm("queryForm");
this.queryParams = {
beginTime: undefined,
endTime: undefined,
};
this.handleQuery();
},
}
/** 查询定时任务列表 */
getList() {
this.loading = true;
payOrder.orderCount(this.queryParams).then(response => {
this.data = response.data;
this.loading = false;
});
},
/** 查询订单周期变化 */
onDateRangeChange(value) {
console.log(value)
if (!value) {
this.queryParams.beginTime = undefined;
this.queryParams.endTime = undefined;
} else {
Object.assign(this.queryParams, calcRange(value));
}
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];
this.$refs.child.dateRange = [] //data
this.resetForm("queryForm");
this.queryParams = {
beginTime: undefined,
endTime: undefined,
};
this.handleQuery();
},
}
};
</script>

249
src/views/pay/payOrder/payDaiFuWater.vue

@ -69,10 +69,9 @@
</el-select>
</el-form-item>
<el-form-item label="用户类型" prop="userType">
<el-form-item label="用户类型" prop="userType">
<el-select v-model="queryParams.userType" placeholder="请选择用户类型" size="medium">
<el-option v-for="dict in typeCon" :key="dict.value" :label="dict.label"
:value="dict.value" />
<el-option v-for="dict in typeCon" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@ -101,10 +100,14 @@
<el-button type="primary" plain icon="" size="medium" @click="handleExport"
v-hasPermi="['record:platform_payment_export']">导出</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="" size="medium" @click="handleRecharge" :disabled="single"
v-hasPermi="['order:rechargeRecord:paymentReissueNotice']">补发通知</el-button>
</el-col> -->
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="" size="medium" @click="handleSay"
v-hasPermi="['record:platform_payment_audit_save']">审核</el-button>
</el-col>
</el-col> -->
</el-row>
</div>
@ -113,46 +116,29 @@
</el-form>
<el-table stripe v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" :selectable="selectable" />
<el-table-column :label="'批次号\n渠道订单号'" align="center" prop="storeNo" min-width="230">
<template slot-scope="scope">
{{ scope.row.batchNo }}<br />
{{ scope.row.transactionId }}
</template>
</el-table-column>
<el-table stripe v-loading="loading" :data="infoList" :row-class-name="tableRowClassName">
<!-- <el-table-column type="selection" width="55" align="center" :selectable="selectable" @selection-change="handleSelectionChange" /> -->
<el-table-column :label="'商户订单号\n平台订单号'" align="center" prop="storeNo" min-width="180">
<template slot-scope="scope">
{{ scope.row.outTradeNo }}<br />
{{ scope.row.noOrder }}
</template>
</el-table-column>
<el-table-column :label="'开户名\n身份证号'" align="center" prop="storeNo" min-width="150">
<el-table-column :label="'开户名'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
{{ scope.row.acctName }}<br />
{{ scope.row.certId }}
{{ scope.row.acctName }}
</template>
</el-table-column>
<el-table-column label="用户类型" align="center" prop="userType" min-width="120">
<template slot-scope="scope">
<el-tag :type="
scope.row.userType == 'store'
? 'success' : 'primary'
">
{{ scope.row.userType == 'store' ? '商户' : '代理商' }}
</el-tag>
</template>
</el-table-column>
<el-table-column :label="'银行名称\n支行名称'" align="center" prop="storeNo" min-width="150">
<el-table-column :label="'银行名称'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
{{ scope.row.bankName }}<br />
{{ scope.row.bankBranchName }}
{{ scope.row.bankName }}
</template>
</el-table-column>
<el-table-column :label="'银行卡号\n预留手机号码'" align="center" prop="storeNo" min-width="180">
<el-table-column :label="'银行卡号'" align="center" prop="storeNo" min-width="180">
<template slot-scope="scope">
{{ scope.row.acctId }}<br />
{{ scope.row.mobile }}
</template>
</el-table-column>
<el-table-column :label="'代付金额\n代付手续费'" align="center" prop="storeNo">
@ -167,15 +153,9 @@
{{ scope.row.isPayment == 'yes' ? '已发起' : '未发起' }}
</template>
</el-table-column>
<el-table-column :label="'对公对私\n出款账号'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
{{ scope.row.flagCard == 'private_account' ? "对私" : '对公' }}<br />
{{ scope.row.accountNo }}
</template>
</el-table-column>
<el-table-column :label="'入金渠道\n出金渠道'" align="center" prop="storeNo" min-width="120">
<el-table-column :label="'出金渠道'" align="center" prop="storeNo" min-width="120">
<template slot-scope="scope">
{{ scope.row.payChannelName }}<br />
{{ scope.row.outChannelName }}
</template>
</el-table-column>
@ -190,13 +170,18 @@
{{ scope.row.sourceType == 's_manual' ? '手工提单' : 'API下发' }}
</template>
</el-table-column>
<el-table-column label="代付信息" align="center" prop="orderMsg" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right"
min-width="80">
<template slot-scope="scope">
<el-button v-if="scope.row.orderStatus == 'processing' || scope.row.orderStatus == 'processreview'"
size="small" type="text" style="color: #006EFF;" @click="handleOrder(scope.row)"
v-hasPermi="['record:platform_payment_handle']">手工处理</el-button>
<el-button size="small" type="text" style="color: #006EFF;"
@click="handleViewMy(scope.row)">详情</el-button>
<el-button size="small" v-if="scope.row.orderStatus == 'processsuccess'" type="text"
style="color: #006EFF;" @click="handleRecharge(scope.row)"
v-hasPermi="['order:rechargeRecord:paymentReissueNotice']">补发通知</el-button>
</template>
</el-table-column>
</el-table>
@ -240,11 +225,139 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 详情 -->
<el-dialog v-dialogDrag :close-on-click-modal="false" title="详情" :visible.sync="isShowDetailMy" width="70%"
append-to-body>
<el-form label-width="142px" :label-suffix="':'">
<div class="card-detail flex">
<div>
<el-form-item label="账户编号">
{{ detailInfoList.accountNo }}
</el-form-item>
<el-form-item label="银行卡号">
{{ detailInfoList.acctId }}
</el-form-item>
<el-form-item label="开户人姓名">
{{ detailInfoList.acctName }}
</el-form-item>
<el-form-item label="支行名称">
{{ detailInfoList.bankBranchName }}
</el-form-item>
<el-form-item label="银行编号">
{{ detailInfoList.bankCode }}
</el-form-item>
<el-form-item label="银行名称">
{{ detailInfoList.bankName }}
</el-form-item>
<el-form-item label="批次号">
{{ detailInfoList.batchNo }}
</el-form-item>
<el-form-item label="在途笔数">
{{ detailInfoList.transitCount }}
</el-form-item>
<el-form-item label="在途金额">
{{ detailInfoList.transitTotal }}
</el-form-item>
<el-form-item label="支付渠道">
{{ detailInfoList.channelType }}
</el-form-item>
<el-form-item label="更新时间">
{{ detailInfoList.updateTime }}
</el-form-item>
</div>
<div>
<el-form-item label="用户类型">
<el-tag :type="detailInfoList.userType == 'store'
? 'success' : 'primary'
">
{{ detailInfoList.userType == 'store' ? '商户' : '代理商' }}
</el-tag>
</el-form-item>
<el-form-item label="创建时间">
{{ detailInfoList.createTime }}
</el-form-item>
<el-form-item label="公私户">
<el-tag :type="detailInfoList.flagCard == 'public_account'
? 'success' : 'primary'
">
{{ detailInfoList.flagCard == 'public_account' ? '公户' : '私户' }}
</el-tag>
</el-form-item>
<el-form-item label="是否发起代付">
<el-tag :type="detailInfoList.isPayment == 'yes'
? 'success' : 'primary'
">
{{ detailInfoList.isPayment == 'yes' ? '是' : '否' }}
</el-tag>
</el-form-item>
<el-form-item label="商户名称">
{{ detailInfoList.storeName }}
</el-form-item>
<el-form-item label="用户昵称">
{{ detailInfoList.nickName }}
</el-form-item>
<el-form-item label="平台订单号">
{{ detailInfoList.noOrder }}
</el-form-item>
<el-form-item label="回调地址">
{{ detailInfoList.notifyUrl }}
</el-form-item>
<el-form-item label="订单描述">
{{ detailInfoList.orderMsg }}
</el-form-item>
<el-form-item label="交易状态">
{{ detailInfoList.orderStatusName }}
</el-form-item>
<el-form-item label="出金渠道">
{{ detailInfoList.outChannelName }}
</el-form-item>
</div>
<div>
<el-form-item label="商户订单号">
{{ detailInfoList.outTradeNo }}
</el-form-item>
<el-form-item label="渠道类型">
{{ detailInfoList.payChannelName }}
</el-form-item>
<el-form-item label="支付类型">
{{ detailInfoList.payType }}
</el-form-item>
<el-form-item label="已出款笔数">
{{ detailInfoList.paymentCount }}
</el-form-item>
<el-form-item label="已出款金额">
{{ detailInfoList.paymentTotal }}
</el-form-item>
<el-form-item label="交易净额">
{{ detailInfoList.realTotal }}
</el-form-item>
<el-form-item label="商户id">
{{ detailInfoList.storeId }}
</el-form-item>
<el-form-item label="商户编号">
{{ detailInfoList.storeNo }}
</el-form-item>
<el-form-item label="交易金额">
{{ detailInfoList.tranAmt }}
</el-form-item>
<el-form-item label="代付手续费">
{{ detailInfoList.tranFee }}
</el-form-item>
<el-form-item label="渠道订单号">
{{ detailInfoList.transactionId }}
</el-form-item>
</div>
</div>
</el-form>
</el-dialog>
</div>
</template>
<script>
import { common_api, platform_payment_list } from "@/api/form";
import { common_api, platform_payment_list, payOrder } from "@/api/form";
export default {
name: "PkAdWeiList",
@ -365,6 +478,7 @@ export default {
sortLevType: [],
//
ids: [],
idskey: [],
//
single: true,
//
@ -376,8 +490,6 @@ export default {
loading: true,
//
exportLoading: false,
//
ids: [],
paymentIds: [],
//
multiple: true,
@ -426,7 +538,10 @@ export default {
rejectReason: [
{ required: true, message: "请输入驳回原因", trigger: "blur" },
],
}
},
//
isShowDetailMy: false,
detailInfoList: {},
};
},
created() {
@ -435,6 +550,30 @@ export default {
},
methods: {
//
handleViewMy(row) {
this.reset();
console.log(row)
this.detailInfoList = row;
this.isShowDetailMy = true;
},
tableRowClassName({ row, rowIndex }) {
if (row.orderStatus == 'processreview') {
return "yellowOrder";
}
if (row.orderStatus == 'processsuccess') {
return "greenOrder";
}
if (row.orderStatus == 'processfailed') {
return "redOrder";
}
if (row.orderStatus == 'processing') {
return "blueOrder";
}
if (row.orderStatus == 'processreject') {
return "greyOrder";
}
},
getValue(e) {
this.$forceUpdate()
},
@ -452,6 +591,17 @@ export default {
this.detailData = row
this.isShowDetail = true
},
handleRecharge(row) {
this.loading = true;
payOrder.paymentReissueNotice(row.id).then((response) => {
if (response.code == 200) {
this.$message.success('补发成功')
this.loading = false;
}
}).catch(() => {
this.loading = false;
});
},
//
handleSay() {
if (!this.paymentIds.length) {
@ -489,6 +639,7 @@ export default {
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.storeId)
this.idskey = selection.map(item => item.keyId)
this.paymentIds = selection.map(item => item.batchNo)
this.single = selection.length != 1
this.multiple = !selection.length
@ -598,6 +749,14 @@ export default {
};
</script>
<style scoped lang="scss">
::v-deep .el-table tbody tr:hover>td {
background-color: rgba(0, 0, 0, 0) !important
}
::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell {
background: none !important;
}
::v-deep .el-dialog__body {
padding: 20px 20px;
}
@ -616,6 +775,6 @@ export default {
}
::v-deep .el-dialog:not(.is-fullscreen) {
margin-top: 33vh !important;
margin-top: 20vh !important;
}
</style>

188
src/views/pay/payOrder/payOrderWater.vue

@ -20,10 +20,10 @@
<el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号"
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="渠道订单号" prop="transactionId">
<!-- <el-form-item label="渠道订单号" prop="transactionId">
<el-input size="medium" v-model="queryParams.transactionId" placeholder="请输入渠道订单号"
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
</el-form-item>
</el-form-item> -->
<!-- <el-form-item label="支付商户号" prop="mchId">
<el-input size="medium" v-model="queryParams.mchId" placeholder="请输入支付商户号"
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
@ -93,80 +93,87 @@
</el-form-item>
</el-form>
<el-table stripe v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
<el-table stripe v-loading="loading" :data="infoList" @selection-change="handleSelectionChange"
:row-class-name="tableRowClassName">
<el-table-column type="selection" width="55" align="center" />
<el-table-column :label="'交易时间\n结算时间'" align="center" prop="storeNo" min-width="150">
<el-table-column :label="'商户订单号\n平台订单号'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
{{ scope.row.createTime }}<br />
{{ scope.row.storeSettleTime }}
{{ scope.row.outTradeNo }}<br />
{{ scope.row.orderNo }}
</template>
</el-table-column>
<el-table-column :label="'商户名称\n商户编号'" align="center" prop="storeNo" min-width="120">
<template slot-scope="scope">
{{ scope.row.storeName }}<br />
{{ scope.row.storeNo }}
</template>
</el-table-column>
<el-table-column :label="'交易金额\n实付金额\n到账金额'" align="center" prop="storeNo" min-width="80">
<template slot-scope="scope">
{{ scope.row.tranAmt }}<br />
{{ scope.row.payAmt }}<br />
{{ scope.row.realAmt }}
</template>
</el-table-column>
<el-table-column :label="'手续费率(%)\n通道费率(%)'" align="center" prop="storeNo" min-width="80">
<template slot-scope="scope">
{{ NumberMul(scope.row.rate, 100) }}%<br />
{{ NumberMul(scope.row.channelRate, 100) }}%
</template>
</el-table-column>
<el-table-column :label="'交易状态\n结算状态'" align="center" prop="storeNo" min-width="120">
<el-table-column :label="'渠道类型\n支付类型'" align="center" prop="storeNo" min-width="80">
<template slot-scope="scope">
<el-tag :type="
scope.row.orderStatus == 'pay_unpaid' ? 'warning' : scope.row.orderStatus == 'pay_success' ? 'success' :
scope.row.orderStatus == 'pay_failure' ? 'danger' : scope.row.orderStatus == 'pay_processing' ? 'warning' : 'primary'
">
{{ scope.row.channelType }}<br />
{{ scope.row.cardType == 0 ? '借记卡' : '贷记卡' }}
</template>
</el-table-column>
<el-table-column :label="'交易状态\n结算状态'" align="center" prop="storeNo" min-width="100">
<template slot-scope="scope">
<el-tag :type="scope.row.orderStatus == 'pay_unpaid' ? 'warning' : scope.row.orderStatus == 'pay_success' ? 'success' :
scope.row.orderStatus == 'pay_failure' ? 'danger' : scope.row.orderStatus == 'pay_processing' ? 'warning' : 'primary'
">
{{ scope.row.orderStatus == 'pay_unpaid' ? '未支付' : scope.row.orderStatus == 'pay_success' ?
'支付成功' :
scope.row.orderStatus == 'pay_failure' ? '支付失败' : scope.row.orderStatus ==
'pay_processing' ? '支付处理中' : '已关闭' }}
</el-tag>
<br />
<el-tag :type="
scope.row.storeSettle == 'yes' ? 'success' : scope.row.storeSettle == 'no' || !scope.row.storeSettle ? 'danger' :
scope.row.storeSettle == 'error' ? 'warning' : 'primary'
">
<el-tag :type="scope.row.storeSettle == 'yes' ? 'success' : scope.row.storeSettle == 'no' || !scope.row.storeSettle ? 'danger' :
scope.row.storeSettle == 'error' ? 'warning' : 'primary'
">
{{ scope.row.storeSettle == 'yes' ? '已结算' : scope.row.storeSettle == 'no' ||
!scope.row.storeSettle ? '未结算' :
scope.row.storeSettle == 'error' ? '结算失败' : '部分结算' }}
</el-tag>
</template>
</el-table-column>
<el-table-column :label="'商户订单号\n平台订单号'" align="center" prop="storeNo" min-width="160">
<template slot-scope="scope">
{{ scope.row.outTradeNo }}<br />
{{ scope.row.orderNo }}
</template>
</el-table-column>
<el-table-column label="渠道订单号" align="center" prop="transactionId" min-width="150" />
<el-table-column :label="'商户名称\n商户编号'" align="center" prop="storeNo" min-width="150">
<el-table-column :label="'交易时间\n结算时间'" align="center" prop="storeNo" min-width="120">
<template slot-scope="scope">
{{ scope.row.storeName }}<br />
{{ scope.row.storeNo }}
{{ scope.row.createTime }}<br />
{{ scope.row.storeSettleTime }}
</template>
</el-table-column>
<el-table-column :label="'商户名\n商户号'" align="center" prop="storeNo" min-width="150">
<!-- <el-table-column label="渠道订单号" align="center" prop="transactionId" min-width="150" /> -->
<!-- <el-table-column :label="'商户名\n商户号'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
{{ scope.row.mchName }}<br />
{{ scope.row.mchId }}
</template>
</el-table-column>
</el-table-column> -->
<!-- <el-table-column :label="'商户姓名\n商户手机'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
{{ scope.row.name }}<br />
{{ scope.row.mobile }}
</template>
</el-table-column> -->
<el-table-column :label="'交易金额\n实付金额\n到账金额'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
{{ scope.row.tranAmt }}<br />
{{ scope.row.payAmt }}<br />
{{ scope.row.realAmt }}
</template>
</el-table-column>
<el-table-column :label="'手续费率(%)\n通道费率(%)'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
{{ NumberMul(scope.row.rate, 100) }}%<br />
{{ NumberMul(scope.row.channelRate, 100) }}%
</template>
</el-table-column>
<el-table-column :label="'渠道类型\n支付类型'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
{{ scope.row.channelType }}<br />
{{ scope.row.cardType == 0 ? '借记卡' : '贷记卡' }}
</template>
</el-table-column>
<!-- <el-table-column label="商户类型" align="center" prop="divideType" /> -->
<!-- <el-table-column label="订单描述" align="center" prop="orderMsg" /> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right"
@ -174,10 +181,13 @@
<template slot-scope="scope">
<el-button size="small" type="text" style="color: #006EFF;"
@click="handleViewMy(scope.row)">详情</el-button>
<el-button v-if="scope.row.orderStatus == 'pay_unpaid' || scope.row.orderStatus == 'pay_processing'"
size="small" type="text" style="color: #006EFF;" @click="handleOrder(scope.row)"
v-hasPermi="['order:rechargeRecord:payHandle']">手工处理</el-button>
<el-button size="small" type="text" style="color: #006EFF;"
@click="handleSayReissueNotice(scope.row)"
v-hasPermi="['order:rechargeRecord:reissueNotice']">补发通知</el-button>
</template>
</el-table-column>
</el-table>
@ -207,15 +217,14 @@
<el-form label-width="142px" :label-suffix="':'">
<div class="card-detail flex">
<div>
<el-form-item label="平台订单号">
{{ detailInfoList.orderNo }}
</el-form-item>
<el-form-item label='交易状态'>
<el-tag v-if="detailInfoList.orderStatus" :type="
detailInfoList.orderStatus == 'pay_unpaid' ? 'warning' : detailInfoList.orderStatus == 'pay_success' ? 'success' :
detailInfoList.orderStatus == 'pay_failure' ? 'danger' : detailInfoList.orderStatus == 'pay_processing' ? 'warning' : 'primary'
">
<el-tag v-if="detailInfoList.orderStatus" :type="detailInfoList.orderStatus == 'pay_unpaid' ? 'warning' : detailInfoList.orderStatus == 'pay_success' ? 'success' :
detailInfoList.orderStatus == 'pay_failure' ? 'danger' : detailInfoList.orderStatus == 'pay_processing' ? 'warning' : 'primary'
">
{{ detailInfoList.orderStatus == 'pay_unpaid' ? '未支付' : detailInfoList.orderStatus ==
'pay_success' ?
'支付成功' :
@ -224,7 +233,7 @@
</el-tag>
</el-form-item>
<el-form-item v-if="detailInfoList.sourceType" :label="'订单来源'">
{{ detailInfoList.sourceType == 's_manual' ? '手工提单' : 'API下发' }}
{{ detailInfoList.sourceType == 's_manual' ? '手工提单' : 'API充值' }}
</el-form-item>
<el-form-item label="商户id">
{{ detailInfoList.storeId }}
@ -268,10 +277,9 @@
{{ detailInfoList.storeNo }}
</el-form-item>
<el-form-item :label="'结算状态'">
<el-tag v-if="detailInfoList.storeSettle" :type="
detailInfoList.storeSettle == 'yes' ? 'success' : detailInfoList.storeSettle == 'no' || !detailInfoList.storeSettle ? 'danger' :
detailInfoList.storeSettle == 'error' ? 'warning' : 'primary'
">
<el-tag v-if="detailInfoList.storeSettle" :type="detailInfoList.storeSettle == 'yes' ? 'success' : detailInfoList.storeSettle == 'no' || !detailInfoList.storeSettle ? 'danger' :
detailInfoList.storeSettle == 'error' ? 'warning' : 'primary'
">
{{ detailInfoList.storeSettle == 'yes' ? '已结算' : detailInfoList.storeSettle == 'no' ||
!detailInfoList.storeSettle ? '未结算' :
detailInfoList.storeSettle == 'error' ? '结算失败' : '部分结算' }}
@ -281,11 +289,10 @@
{{ detailInfoList.storeSettleTime }}
</el-form-item>
<el-form-item label="商户类型">
<el-tag v-if="detailInfoList.storeType" :type="
detailInfoList.storeType == 'my_store'
? 'success'
: detailInfoList.storeType == 'directly_under' ? 'primary' : 'danger'
">
<el-tag v-if="detailInfoList.storeType" :type="detailInfoList.storeType == 'my_store'
? 'success'
: detailInfoList.storeType == 'directly_under' ? 'primary' : 'danger'
">
{{ detailInfoList.storeType == 'my_store'
? '代理自己商户'
: detailInfoList.storeType == 'directly_under' ? '平台直属商户' : '代理下级商户' }}
@ -303,7 +310,7 @@
<!-- <el-form-item label="version">
{{ detailInfoList.version }}
</el-form-item> -->
</div>
<div>
<el-form-item label="修改时间">
@ -331,9 +338,8 @@
{{ detailInfoList.bankId }}
</el-form-item>
<el-form-item label="银行卡类型">
<el-tag v-if="detailInfoList.cardType" :type="
detailInfoList.cardType == 'debit_card' ? 'success' : 'primary'
">
<el-tag v-if="detailInfoList.cardType" :type="detailInfoList.cardType == 'debit_card' ? 'success' : 'primary'
">
{{ detailInfoList.cardType == 'debit_card' ? '借记卡' : '贷记卡' }}
</el-tag>
</el-form-item>
@ -381,8 +387,7 @@
</div>
</el-image>
<el-image
v-if="!detailInfoList.qrcodeImg" class="image-slot">
<el-image v-if="!detailInfoList.qrcodeImg" class="image-slot">
<div slot="error">
</div>
@ -592,6 +597,43 @@ export default {
this.init();
},
methods: {
//
handleSayReissueNotice(row) {
this.loading = true;
// payOrder.paymentReissueNotice(row.keyId).then((response) => {
// if (response.code == 200) {
// this.$message.success('')
// this.loading = false;
// }
// }).catch(() => {
// this.loading = false;
// });
payOrder.reissueNotice(row.keyId).then((response) => {
if (response.code == 200) {
this.$message.success('补发成功')
this.loading = false;
}
}).catch(() => {
this.loading = false;
});
},
tableRowClassName({ row, rowIndex }) {
if (row.orderStatus == 'pay_unpaid') {
return "yellowOrder";
}
if (row.orderStatus == 'pay_success') {
return "greenOrder";
}
if (row.orderStatus == 'pay_failure') {
return "redOrder";
}
if (row.orderStatus == 'pay_processing') {
return "blueOrder";
}
if (row.orderStatus == 'pay_closed') {
return "greyOrder";
}
},
//
previewImage(abUrl) {
this.srcList[0] = abUrl;
@ -665,7 +707,7 @@ export default {
//
cancel() {
this.open = false;
this.isShowDetail=false
this.isShowDetail = false
this.reset();
},
//
@ -724,4 +766,12 @@ export default {
::v-deep .el-dialog:not(.is-fullscreen) {
margin-top: 10vh !important;
}
::v-deep .el-table tbody tr:hover>td {
background-color: rgba(0, 0, 0, 0) !important
}
::v-deep .el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell {
background: none !important;
}
</style>

5
src/views/pay/payOrder/paySettleWater.vue

@ -16,6 +16,10 @@
<el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入平台订单号"
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="商户名称" prop="storeName">
<el-input size="medium" v-model="queryParams.storeName" placeholder="请输入商户名称"
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="商户编号" prop="storeNo">
<el-input size="medium" v-model="queryParams.storeNo" placeholder="请输入商户编号"
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
@ -41,6 +45,7 @@
</el-form>
<el-table stripe v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
<el-table-column :label="'订单号'" align="center" prop="orderNo" min-width="180" />
<el-table-column :label="'商户名称'" align="center" prop="storeName" min-width="120" />
<el-table-column :label="'商户编号'" align="center" prop="storeNo" min-width="150" />
<el-table-column :label="'支付类型'" align="center" prop="typeName" min-width="150" />
<el-table-column :label="'渠道类型'" align="center" prop="channelName" min-width="150" />

Loading…
Cancel
Save