Browse Source

商户增加测试模式开关

master
yangchangfa 11 months ago
parent
commit
6078f911b6
  1. 11
      src/api/form.js
  2. 88
      src/views/pay/payAgentUser/payAgentUserList.vue
  3. 50
      src/views/pay/payType/payTypeChannelManage.vue

11
src/api/form.js

@ -287,6 +287,17 @@ export const payAgentUser = {
},
})
},
// 更新商户信息
updateStore: (data) => {
return request({
url: '/store/store/updateStore',
method: 'PUT',
data: data,
headers: {
Authorization: "Bearer " + getToken(),
},
})
},
// 获取用户谷歌密钥
getGoogleCaptcha: (query) => {
return request({

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

@ -24,20 +24,20 @@
@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"
<el-input size="small" v-model="queryParams.storeName" placeholder="请输入商户名称" @keyup.enter.native="handleQuery"
style="width: 180px;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"
<el-input size="small" v-model="queryParams.storeNo" placeholder="请输入商户号" @keyup.enter.native="handleQuery"
style="width: 180px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="上级姓名" prop="parentName">
<el-input size="medium" v-model="queryParams.parentName" placeholder="请输入上级名称" @keyup.enter.native="handleQuery"
<el-input size="small" v-model="queryParams.parentName" placeholder="请输入上级名称" @keyup.enter.native="handleQuery"
style="width: 180px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker v-model="dateRange" size="small" style="width: 340px" value-format="yyyy-MM-dd HH:mm:ss"
<el-date-picker v-model="dateRange" size="small" style="width: 340px; height: 32px; line-height: 12px;" 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']" :picker-options="pickerOptions"></el-date-picker>
</el-form-item>
@ -45,27 +45,27 @@
<el-form-item>
<div class="searchTop flexBet" style="align-items: center;">
<el-row :gutter="10" class="mb8">
<el-button type="primary" icon="" size="medium" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="medium" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="" size="small" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
</el-row>
<el-row :gutter="10" class="mb8" style="margin-left:20px">
<el-col :span="1.5">
<el-button v-hasPermi="['system:user:saveStoreOragent']" type="primary" plain icon="" size="medium"
<el-button v-hasPermi="['system:user:saveStoreOragent']" type="primary" plain icon="" size="small" style="height: 32px;"
@click="handleAdd('新增代理', 'agent')">新增代理</el-button>
</el-col> <el-col :span="1.5">
<el-button v-hasPermi="['system:user:saveStoreOragent']" type="primary" plain icon="" size="medium"
<el-button v-hasPermi="['system:user:saveStoreOragent']" type="primary" plain icon="" size="small" style="height: 32px;"
@click="handleAdd('新增商户', 'store')">新增商户</el-button>
</el-col>
</el-row>
</div>
</el-form-item>
<div class="rig flex m20">
<div>
<div class="rig flex">
<div style="height: 32px; line-height: 12px;">
累计代理<span class="#197CFE">{{ sum.agentCount }}</span>
</div>
<div>
<div style="height: 32px; line-height: 12px;">
累计商户<span class="#197CFE">{{ sum.storeCount }}</span>
</div>
</div>
@ -77,15 +77,15 @@
<!-- <el-table-column label='商户Id' align="center" prop="storeId" min-width="160" /> -->
<!-- <el-table-column label="用户姓名" align="center" prop="nickName" min-width="150" /> -->
<el-table-column label="登陆账号" align="center" prop="userName" min-width="150">
<el-table-column label="登陆账号" align="left" prop="userName" min-width="110">
<template slot-scope="scope">
{{ scope.row.userName }}
</template>
</el-table-column>
<!-- <el-table-column label="用户手机" align="center" prop="phonenumber" min-width="150" /> -->
<el-table-column label="商户名称" align="center" prop="storeName" />
<el-table-column label="用户等级" align="center" prop="userLevel" />
<el-table-column label="用户类型" align="center" prop="userType" min-width="120">
<el-table-column label="商户名称" align="left" prop="storeName" min-width="130"/>
<el-table-column label="用户等级" align="center" prop="userLevel" width="80"/>
<el-table-column label="用户类型" align="center" prop="userType" width="100">
<template slot-scope="scope">
<el-tag :type="scope.row.userType == 'store'
? 'success' : 'primary'
@ -101,33 +101,47 @@
</template>
</el-table-column> -->
<el-table-column :label="'代理数\n商户数'" align="center" prop="storeNo" min-width="150">
<el-table-column :label="'代理数\n商户数'" align="center" prop="storeNo" width="80">
<template slot-scope="scope">
<div>
{{ scope.row.agentCount }}
</div><br />
</div>
<div>
{{ scope.row.storeCount }}
</div>
</template>
</el-table-column>
<el-table-column :label="'在途资金(元)\n冻结资金(元)'" align="center" prop="storeNo" min-width="150">
<el-table-column :label="'在途资金(元)\n冻结资金(元)'" align="center" prop="storeNo" width="90">
<template slot-scope="scope">
<div>
{{ scope.row.userCapitalAccount.transitCapital }}
</div><br />
</div>
<div>
{{ scope.row.userCapitalAccount.frozenCapital }}
</div>
</template>
</el-table-column>
<el-table-column label="可用资金(元)" align="center" prop="useCapital" min-width="100">
<el-table-column label="可用资金(元)" align="center" prop="useCapital" width="100">
<template slot-scope="scope">
{{ scope.row.userCapitalAccount.useCapital }}
</template>
</el-table-column>
<el-table-column label="上级用户" align="center" prop="parentName" />
<!-- :render-header="renderTestStatusHeader"-->
<el-table-column label="测试状态" align="center" prop="testStatus" width="100px" >
<template slot="header">
<el-tooltip class="item" effect="dark" placement="top-start">
<div slot="content">测试状态为开启时创建的代付和代收订单将不会推送三方系统</div>
<span>测试状态<i class="el-icon-question" style="color: #409EFF; margin-left: 5px;"></i></span>
</el-tooltip>
</template>
<template slot-scope="scope">
<el-switch v-model="scope.row.testStatus" active-text="" inactive-text="" active-value="open"
inactive-value="close" @change="changeStoreTestStatus(scope.row)"
v-hasPermi="['store:store:updateStore']">
</el-switch>
</template>
</el-table-column>
<el-table-column label="国家代码" align="center" prop="nationCode" />
<el-table-column label="国家名称" align="center" prop="nationName" />
<el-table-column label="国家货币符号" align="center" prop="nationSymbol" min-width="100" />
@ -432,7 +446,7 @@
</template>
<script>
import { common_api, payAgentUser } from "@/api/form";
import {common_api, payAgentUser, payBankPayment} from "@/api/form";
import { resetUserPwd, delUser } from "@/api/system/user";
import Editor from "@/components/Editor";
import { getToken } from "@/utils/auth";
@ -795,6 +809,33 @@ export default {
this.form.googleCaptcha = response.data.googleCaptcha
});
},
//
changeStoreTestStatus(row) {
console.log("商户信息:" + JSON.stringify(row));
var data = {id: row.storeId, testStatus: row.testStatus, storeName: row.storeName}
payAgentUser.updateStore(data).then((res) => {
if (res.code === 200) {
var msg = '【' + data.storeName + '】' + (row.testStatus === 'open' ? '已开启测试模式' : '测试模式已关闭');
this.$message.success(msg);
this.getList();
}
});
},
renderTestStatusHeader(h, { column }) {
return h('span', [
column.label,
h('i', {
class: 'el-icon-question',
style: 'color: #409EFF; margin-left: 5px;',
on: {
click: this.handleTooltip
}
})
]);
},
handleTooltip() {
this.$message({ message: '测试状态为开启时,创建的代付和代收订单,将不会推送三方系统!', type: 'info' });
},
/** 查询列表 */
getList() {
this.loading = true;
@ -977,4 +1018,7 @@ export default {
.el-radio {
line-height: 2;
}
.el-form-item {
margin-bottom: 10px;
}
</style>

50
src/views/pay/payType/payTypeChannelManage.vue

@ -14,41 +14,41 @@
<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="name">
<el-input size="medium" v-model="queryParams.name" placeholder="请输入道名称" @keyup.enter.native="handleQuery"
<el-form-item label="道名称" prop="name">
<el-input size="small" v-model="queryParams.name" placeholder="请输入道名称" @keyup.enter.native="handleQuery"
style="width: 215px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="medium">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option v-for="(item, i) in statusCon" :key="i" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="支付类型" prop="payType">
<el-select v-model="queryParams.payType" placeholder="请选择支付类型" clearable size="medium">
<el-select v-model="queryParams.payType" placeholder="请选择支付类型" clearable size="small">
<el-option v-for="(item, i) in payTypeCon" :key="i" :label="item.typeName" :value="item.payType"></el-option>
</el-select>
</el-form-item>
<el-form-item label="渠道类型" prop="channelType">
<el-select v-model="queryParams.channelType" placeholder="请选择渠道类型" clearable size="medium">
<el-select v-model="queryParams.channelType" placeholder="请选择渠道类型" clearable size="small">
<el-option v-for="(item, i) in payChannelCon" :key="i" :label="item.channelName"
:value="item.payChannel"></el-option>
</el-select>
</el-form-item>
<el-form-item label="接口类型" prop="interfaceType">
<el-select v-model="queryParams.interfaceType" placeholder="请选择接口类型" clearable size="medium">
<el-select v-model="queryParams.interfaceType" placeholder="请选择接口类型" clearable size="small">
<el-option v-for="(item, i) in interfaceTypeCon" :key="i" :label="item.label" :value="item.value"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<div class="searchTop flexBet" style="align-items: center;">
<el-row :gutter="10" class="mb8">
<el-button type="primary" icon="" size="medium" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="medium" @click="resetQuery">重置</el-button>
<el-button type="primary" icon="" size="small" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="small" @click="resetQuery">重置</el-button>
</el-row>
<el-row :gutter="10" class="mb8" style="margin-left:20px">
<el-col :span="1.5">
<el-button type="primary" plain icon="" size="medium" @click="handleAdd"
<el-col :span="1.5" size="small">
<el-button type="primary" plain icon="" size="small" @click="handleAdd" style="height: 32px;"
v-hasPermi="['pay:payConfig:add']">新增</el-button>
</el-col>
</el-row>
@ -57,10 +57,10 @@
</el-form-item>
</el-form>
<el-table stripe v-loading="loading" :data="infoList">
<el-table-column label="名称" align="center" prop="name" />
<el-table-column label="支付类型" align="center" prop="typeName" />
<el-table-column label="渠道类型" align="center" prop="channelName" />
<el-table-column label="接口类型" align="center" prop="interfaceType" min-width="120">
<el-table-column label="通道名称" align="left" prop="name" />
<el-table-column label="支付类型" align="center" prop="typeName" width="80"/>
<el-table-column label="渠道类型" align="left" prop="channelName" />
<el-table-column label="接口类型" align="center" prop="interfaceType" width="80">
<template slot-scope="scope">
<el-tag :type="
scope.row.interfaceType == 'recharge'
@ -70,7 +70,7 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="手续费类型" align="center" prop="poundageType" min-width="120">
<el-table-column label="手续费类型" align="center" prop="poundageType" width="80">
<template slot-scope="scope">
<el-tag :type="
scope.row.poundageType == 'single'
@ -82,17 +82,17 @@
</el-tag>
</template>
</el-table-column>
<el-table-column label="手续费金额" align="center" prop="poundageAmt" />
<el-table-column label="手续费费率" align="center" prop="poundageRate">
<el-table-column label="手续费金额" align="right" prop="poundageAmt" width="90"/>
<el-table-column label="手续费费率" align="right" prop="poundageRate" width="90">
<template slot-scope="scope">
{{ NumberMul(scope.row.poundageRate, 100) }}%
</template>
</el-table-column>
<el-table-column label="国家代码" align="center" prop="nationCode" />
<el-table-column label="国家代码" align="center" prop="nationCode" width="80"/>
<el-table-column label="国家名称" align="center" prop="nationName" />
<el-table-column label="国家货币符号" align="center" prop="nationSymbol" />
<el-table-column label="签名方式" align="center" prop="signType" />
<el-table-column label="状态" align="center" prop="dataStatus" width="140px">
<el-table-column label="国家货币符号" align="center" prop="nationSymbol" width="100"/>
<el-table-column label="签名方式" align="center" prop="signType" width="80"/>
<el-table-column label="状态" align="center" prop="dataStatus" width="100px">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" active-text="" inactive-text="" active-value="open"
inactive-value="close" @change="switchStatusChange(scope.row)" v-hasPermi="['pay:payConfig:edit']">
@ -100,10 +100,10 @@
</template>
</el-table-column>
<el-table-column label="添加日期" align="center" prop="createTime" min-width="120" />
<el-table-column label="添加日期" align="center" prop="createTime" max-width="140" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" width="80">
<template slot-scope="scope">
<el-button size="small" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['pay:payConfig:edit']">编辑</el-button>
@ -117,8 +117,8 @@
<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="form" :model="form" :rules="rules" label-width="120px">
<el-form-item label="名称" prop="name">
<el-input v-model="form.name" placeholder="请输入名称" />
<el-form-item label="通道名称" prop="name">
<el-input v-model="form.name" placeholder="请输入通道名称" />
</el-form-item>
<el-form-item label="描述" prop="content">
<el-input v-model="form.content" type="textarea" placeholder="请输入描述" />

Loading…
Cancel
Save