Browse Source

’合并

git commit -m ’合并
master
j1ack 2 years ago
parent
commit
0d2fca0ed1
  1. BIN
      7uppay.zip
  2. 23
      src/api/form.js
  3. 2
      src/views/pay/payAgentUser/payAgentUserList.vue
  4. 95
      src/views/pay/payOrder/payMoneyWater.vue
  5. 63
      src/views/pay/payOrder/payOrderWater.vue
  6. 34
      src/views/pay/payTest/payCode.vue
  7. 26
      src/views/pay/payTest/payDai.vue
  8. 25
      src/views/pay/payTest/payucode.vue
  9. 34
      src/views/pay/payTest/payupay.vue

BIN
7uppay.zip

Binary file not shown.

23
src/api/form.js

@ -11,6 +11,13 @@ import {
*
*/
export const common_api = {
//获取所有商户
getAllPayTestStore: () => {
return request({
url: '/paytest/all',
method: 'get',
})
},
//获取所有商户
getAllstore: () => {
return request({
@ -366,6 +373,14 @@ export const transfer_capital_list = {
* 资金流水
*/
export const capitalDtlList = {
   // 流水导出
    export: (query) => {
      return request({
        url: '/record/transfer_capitaldtl_export',
        method: 'get',
        params: query
      })
    },
// 查询资金流水列表
listInfo: (query) => {
return request({
@ -384,6 +399,7 @@ export const capitalDtlList = {
* 结算流水
*/
export const paySettleWater = {
// 查询结算流水列表
listInfo: (query) => {
return request({
@ -1010,6 +1026,13 @@ export const payTest = {
* 订单
*/
export const payOrder = {
// 手动结算
manualSettle: (data) => {
return request({
url: '/record/manualSettle/' + data,
method: 'GET',
})
},
// u手工处理支付订单
payHandleCoin: (data) => {
return request({

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

@ -316,10 +316,12 @@
{{ detailInfoList.storeNo }} <span v-if="detailInfoList.storeNo" @click="copy(detailInfoList.storeNo)"
style="cursor: pointer;color:#006EFF;margin-left: 10px;">复制</span>
</el-form-item>
<el-form-item label="签名Key">
{{ detailInfoList.storeKey }} <span v-if="detailInfoList.storeKey" @click="copy(detailInfoList.storeKey)"
style="cursor: pointer;color:#006EFF;margin-left: 10px;">复制</span>
</el-form-item>
<el-form-item label="代理数">
{{ detailInfoList.agentCount }}
</el-form-item>

95
src/views/pay/payOrder/payMoneyWater.vue

@ -24,6 +24,13 @@
<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="witNo">
<el-input size="medium" v-model="queryParams.witNo" placeholder="请输入业务单号"
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="账户编号" prop="accountNo">
<el-input size="medium" v-model="queryParams.accountNo" placeholder="请输入账户编号"
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
@ -43,8 +50,7 @@
</el-form-item>
<el-form-item label="用户类型" prop="userType">
<el-select v-model="queryParams.userType" placeholder="请选择用户类型" size="medium">
<el-option v-for="dict in userCon" :key="dict.value" :label="dict.label"
:value="dict.value" />
<el-option v-for="dict in userCon" :key="dict.value" :label="dict.label" :value="dict.value" />
</el-select>
</el-form-item>
@ -54,25 +60,35 @@
end-placeholder="结束日期" :picker-options="pickerOptions" :unlink-panels="true"></el-date-picker>
</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>
<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-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="handleExport"
v-hasPermi="['order:rechargeRecord:export']">导出</el-button>
</el-col>
</el-row>
</div>
</el-form-item>
</el-form>
<el-table stripe v-loading="loading" :data="infoList" @selection-change="handleSelectionChange">
<el-table-column :label="'业务单号'" align="center" prop="witNo" min-width="180" />
<el-table-column :label="'账户名称'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
{{ scope.row.userType=='agent'? scope.row.name:scope.row.storeName }}
{{ scope.row.userType == 'agent' ? scope.row.name : scope.row.storeName }}
</template>
</el-table-column>
<el-table-column :label="'账号编号'" align="center" prop="accountNo" min-width="150" />
<el-table-column label="用户类型" align="center" prop="userType" min-width="120">
<template slot-scope="scope">
<el-tag :type="
scope.row.userType == 'store'
<el-tag :type="scope.row.userType == 'store'
? 'success' : 'primary'
">
">
{{ scope.row.userType == 'store' ? '商户' : '代理商' }}
</el-tag>
</template>
@ -83,9 +99,8 @@
<el-table-column :label="'是否收入'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
<el-tag :type="
scope.row.isIncome == 'yes' ? 'success' : 'primary'
">
<el-tag :type="scope.row.isIncome == 'yes' ? 'success' : 'primary'
">
{{ scope.row.isIncome == 'yes' ? '是(入金)' : '否(出金)' }}
</el-tag>
</template>
@ -93,16 +108,16 @@
<el-table-column :label="'业务类型'" align="center" prop="storeNo" min-width="150">
<template slot-scope="scope">
{{ scope.row.witType == 'recharge' ? '充值' :
scope.row.witType == 'manual' ? '内充' :
scope.row.witType == 'withdrawals' ? '提现' :
scope.row.witType == 'withdrawals_reject' ? '提现返还' :
scope.row.witType == 'frozen' ? '冻结' :
scope.row.witType == 'transfer' ? '资金划转' :
scope.row.witType == 'unfrozen' ? '解冻' :
scope.row.witType == 'withdrawals_frozen' ? '冻结出款' :
scope.row.witType == 'agent_divide' ? '代理分成' :
scope.row.witType == 'income' ? '收益'
:'后台修改'
scope.row.witType == 'manual' ? '内充' :
scope.row.witType == 'withdrawals' ? '提现' :
scope.row.witType == 'withdrawals_reject' ? '提现返还' :
scope.row.witType == 'frozen' ? '冻结' :
scope.row.witType == 'transfer' ? '资金划转' :
scope.row.witType == 'unfrozen' ? '解冻' :
scope.row.witType == 'withdrawals_frozen' ? '冻结出款' :
scope.row.witType == 'agent_divide' ? '代理分成' :
scope.row.witType == 'income' ? '收益'
: '后台修改'
}}
</template>
</el-table-column>
@ -290,7 +305,8 @@ export default {
accountNo: null,
isIncome: null,
witType: null,
userType:null,
userType: null,
witNo: null,
},
//
form: {},
@ -307,6 +323,23 @@ export default {
this.init();
},
methods: {
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm("是否确认导出资金流水?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return capitalDtlList.export(queryParams);
})
.then((response) => {
this.download(response.msg);
this.queryParams.pageNum = 1;
this.queryParams.pageSize = 20;
});
},
/** 手工处理 */
handleOrder(row) {
this.reset()
@ -333,23 +366,7 @@ export default {
this.sortLevType = response.data
});
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm("是否确认导出订单流水?", "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(function () {
return capitalDtlList.export(queryParams);
})
.then((response) => {
this.download(response.msg);
this.queryParams.pageNum = 1;
this.queryParams.pageSize = 20;
});
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.storeId)

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

@ -48,12 +48,15 @@
</el-select>
</el-form-item>
<el-form-item label="结算状态" prop="settleStatus">
<el-select v-model="queryParams.settleStatus" placeholder="请选择结算状态" clearable size="medium">
<el-option v-for="(item, i) in settleStatusCon" :key="i" :label="item.label"
:value="item.value"></el-option>
<el-form-item label="结算状态" prop="storeSettle">
<el-select v-model="queryParams.storeSettle" placeholder="请选择结算状态" size="medium">
<el-option v-for="dict in dict.type.settle_status" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</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"
@ -66,12 +69,20 @@
:value="item.payType"></el-option>
</el-select>
</el-form-item>
<el-form-item label="交易时间">
<!-- <el-form-item label="交易时间">
<el-date-picker v-model="dateRange" style="width: 240px;border-color: #E6F1FF;"
value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="开始日期"
end-placeholder="结束日期" :picker-options="pickerOptions" :unlink-panels="true"></el-date-picker>
</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"
type="datetimerange" range-separator="-" :picker-options="pickerOptions" start-placeholder="开始日期"
end-placeholder="结束日期" :unlink-panels="true"
:default-time="['00:00:00', '23:59:59']"></el-date-picker>
</el-form-item>
<el-form-item>
<div class="searchTop flexBet" style="align-items: center;">
<el-row :gutter="10" class="mb8">
@ -179,6 +190,10 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right"
min-width="80">
<template slot-scope="scope">
<el-button size="small" v-if="scope.row.storeSettle == 'error'" type="text" style="color: #006EFF;"
@click="handleSettle(scope.row)">手动结算</el-button>
<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'"
@ -221,6 +236,11 @@
<el-form-item label="平台订单号">
{{ detailInfoList.orderNo }}
</el-form-item>
<el-form-item label="通知状态">
{{ detailInfoList.notifyRemark }}
</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'
@ -420,7 +440,7 @@ import { common_api, payOrder } from "@/api/form";
export default {
name: "PkAdWeiList",
dicts: ['pay_status'],
dicts: ['pay_status', 'settle_status'],
data() {
return {
//
@ -573,7 +593,7 @@ export default {
mchName: null,
orderStatus: null,
storeName: null,
settleStatus: null,
storeSettle: null,
payType: null,
channelType: null,
},
@ -590,13 +610,42 @@ export default {
detailTitle: '',
//
srcList: ['https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg'],
systemDate: '',
};
},
created() {
this.addDate();
this.getList();
this.init();
},
methods: {
/** 结算按钮操作 */
handleSettle(row) {
this.$modal.confirm('是否确认手动结算平台订单号为"' + row.orderNo + '"的数据项?').then(function () {
return payOrder.manualSettle(row.keyId);
}).then(() => {
this.getList();
this.$modal.msgSuccess("结算成功");
}).catch(() => { });
},
//
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;
}
this.dateRange[0] = this.systemDate + ' ' + '00' + ':' + '00' + ':' + '00'
this.dateRange[1] = this.systemDate + ' ' + '23' + ':' + '59' + ':' + '59'
this.$forceUpdate()
},
//
handleSayReissueNotice(row) {
this.loading = true;

34
src/views/pay/payTest/payCode.vue

@ -16,14 +16,26 @@
<el-form-item label="字符集" prop="charset">
<el-input v-model="form.charset" placeholder="" style="width: 315px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="商户号" prop="spid">
<!-- <el-form-item label="商户号" prop="spid">
<el-input v-model="form.spid" placeholder="" style="width: 315px;border-color: #E6F1FF;"
v-hasPermi="['pay:test:query']" />
</el-form-item> -->
<el-form-item label="商户号" prop="spid">
<el-select v-model="form.spid" placeholder="请选择商户" size="medium" v-hasPermi="['pay:test:query']"
style="width: 315px">
<el-option v-for="dict in allstore" :key="dict.storeNo" :label="dict.storeName"
:value="dict.storeNo" />
</el-select>
</el-form-item>
<el-form-item label="签名key" prop="payKey">
<!-- <el-form-item label="签名key" prop="payKey">
<el-input v-model="form.payKey" placeholder="" style="width: 315px;border-color: #E6F1FF;"
v-hasPermi="['pay:test:query']" />
</el-form-item>
</el-form-item> -->
<el-form-item label="交易金额" prop="tranAmt">
<el-input v-model="form.tranAmt" placeholder="" style="width: 315px;border-color: #E6F1FF;" />
</el-form-item>
@ -146,6 +158,8 @@ export default {
],
},
sortLevType: [],
//
allstore: [],
form: {
resp: null,
@ -185,6 +199,8 @@ export default {
infoList: {},
//
qrcode: null,
keys: {},
};
},
@ -230,7 +246,7 @@ export default {
mediaType: this.form.mediaType,
}
payTest
payTest
.payCode(form)
.then((response) => {
this.resMsg = response.msg
@ -242,8 +258,8 @@ export default {
},
//
handleSay() {
payTest
this.form.payKey=this.keys[this.form.spid]
payTest
.paySign(this.form)
.then((response) => {
this.form.req_data = response.msg
@ -251,6 +267,12 @@ export default {
},
init() {
common_api.getAllPayTestStore().then((response) => {
this.allstore = response.data
for (var i = 0; i < this.allstore.length; i++) {
this.keys[this.allstore[i].storeNo] = this.allstore[i].storeKey
}
});
common_api.payTypeAll().then((response) => {
this.sortLevType = response.data
this.form.payType = this.sortLevType[0].payType

26
src/views/pay/payTest/payDai.vue

@ -16,12 +16,19 @@
<el-form-item label="字符集" prop="charset">
<el-input v-model="form.charset" placeholder="" style="width: 315px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="商户号" prop="spid">
<!-- <el-form-item label="商户号" prop="spid">
<el-input v-model="form.spid" placeholder="" style="width: 315px;border-color: #E6F1FF;" v-hasPermi="['pay:test:query']" />
</el-form-item>
<el-form-item label="签名key" prop="payKey">
</el-form-item> -->
<el-form-item label="商户号" prop="spid">
<el-select v-model="form.spid" placeholder="请选择商户" size="medium" v-hasPermi="['pay:test:query']" style="width: 315px">
<el-option v-for="dict in allstore" :key="dict.storeNo" :label="dict.storeName" :value="dict.storeNo" />
</el-select>
</el-form-item>
<!-- <el-form-item label="签名key" prop="payKey">
<el-input v-model="form.payKey" placeholder="" style="width: 315px;border-color: #E6F1FF;" v-hasPermi="['pay:test:query']" />
</el-form-item>
</el-form-item> -->
<el-form-item label="交易金额" prop="tranAmt">
<el-input v-model="form.tranAmt" placeholder="" style="width: 315px;border-color: #E6F1FF;" />
</el-form-item>
@ -104,6 +111,8 @@ export default {
}
}
return {
//
allstore:[],
sortLevType: [],
form: {
resp: null,
@ -167,6 +176,8 @@ export default {
},
val: {},
infoList: {},
keys: {},
};
},
@ -193,6 +204,7 @@ export default {
},
//
handleSay() {
this.form.payKey=this.keys[this.form.spid]
payTest
.paymentSign(this.form)
.then((response) => {
@ -200,6 +212,12 @@ export default {
});
},
init() {
common_api.getAllPayTestStore().then((response) => {
this.allstore = response.data
for (var i = 0; i < this.allstore.length; i++) {
this.keys[this.allstore[i].storeNo] = this.allstore[i].storeKey
}
});
this.form.mediaType = 'json'
},
back() {

25
src/views/pay/payTest/payucode.vue

@ -16,14 +16,23 @@
<el-form-item label="字符集" prop="charset">
<el-input v-model="form.charset" placeholder="" style="width: 315px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="商户号" prop="spid">
<!-- <el-form-item label="商户号" prop="spid">
<el-input v-model="form.spid" placeholder="" style="width: 315px;border-color: #E6F1FF;"
v-hasPermi="['pay:test:query']" />
</el-form-item> -->
<el-form-item label="商户号" prop="spid">
<el-select v-model="form.spid" placeholder="请选择商户" size="medium" v-hasPermi="['pay:test:query']"
style="width: 315px">
<el-option v-for="dict in allstore" :key="dict.storeNo" :label="dict.storeName"
:value="dict.storeNo" />
</el-select>
</el-form-item>
<el-form-item label="签名key" prop="payKey">
<!-- <el-form-item label="签名key" prop="payKey">
<el-input v-model="form.payKey" placeholder="" style="width: 315px;border-color: #E6F1FF;"
v-hasPermi="['pay:test:query']" />
</el-form-item>
</el-form-item> -->
<el-form-item label="交易金额" prop="tranAmt">
<el-input v-model="form.tranAmt" placeholder="" style="width: 315px;border-color: #E6F1FF;" />
</el-form-item>
@ -172,6 +181,9 @@ export default {
infoList: {},
//
qrcode: null,
//
allstore: [],
keys: {},
};
},
@ -226,6 +238,7 @@ export default {
},
//
handleSay() {
this.form.payKey = this.keys[this.form.spid]
payTest
.coinPaySign(this.form)
.then((response) => {
@ -233,6 +246,12 @@ export default {
});
},
init() {
common_api.getAllPayTestStore().then((response) => {
this.allstore = response.data
for (var i = 0; i < this.allstore.length; i++) {
this.keys[this.allstore[i].storeNo] = this.allstore[i].storeKey
}
});
common_api.payTypeAll().then((response) => {
this.sortLevType = response.data
this.form.payType = this.sortLevType[0].payType

34
src/views/pay/payTest/payupay.vue

@ -16,12 +16,21 @@
<el-form-item label="字符集" prop="charset">
<el-input v-model="form.charset" placeholder="" style="width: 315px;border-color: #E6F1FF;" />
</el-form-item>
<el-form-item label="商户号" prop="spid">
<!-- <el-form-item label="商户号" prop="spid">
<el-input v-model="form.spid" placeholder="" style="width: 315px;border-color: #E6F1FF;" v-hasPermi="['pay:test:query']" />
</el-form-item> -->
<el-form-item label="商户号" prop="spid">
<el-select v-model="form.spid" placeholder="请选择商户" size="medium" v-hasPermi="['pay:test:query']"
style="width: 315px">
<el-option v-for="dict in allstore" :key="dict.storeNo" :label="dict.storeName"
:value="dict.storeNo" />
</el-select>
</el-form-item>
<el-form-item label="签名key" prop="payKey">
<el-input v-model="form.payKey" placeholder="" style="width: 315px;border-color: #E6F1FF;" v-hasPermi="['pay:test:query']" />
</el-form-item>
<!-- <el-form-item label="签名key" prop="payKey">
<el-input v-model="form.payKey" placeholder="" style="width: 315px;border-color: #E6F1FF;"
v-hasPermi="['pay:test:query']" />
</el-form-item> -->
<el-form-item label="交易金额" prop="tranAmt">
<el-input v-model="form.tranAmt" placeholder="" style="width: 315px;border-color: #E6F1FF;" />
</el-form-item>
@ -109,6 +118,8 @@ export default {
}
}
return {
//
allstore: [],
sortLevType: [],
form: {
resp: null,
@ -125,6 +136,7 @@ export default {
productDesc: '商品描述',
req_data: null,
mediaType: null,
},
list: [
{
@ -136,6 +148,7 @@ export default {
value: 'xml',
}
],
keys:{},
radio: '',
//
loading: false,
@ -201,10 +214,11 @@ export default {
},
//
handleSay() {
if(!this.form.address){
this.$message.error('请输入address')
return;
if (!this.form.address) {
this.$message.error('请输入address')
return;
}
this.form.payKey=this.keys[this.form.spid]
payTest
.coinPaymentSign(this.form)
.then((response) => {
@ -212,6 +226,12 @@ export default {
});
},
init() {
common_api.getAllPayTestStore().then((response) => {
this.allstore = response.data
for(var i=0;i<this.allstore.length;i++){
this.keys[this.allstore[i].storeNo]=this.allstore[i].storeKey
}
});
this.form.mediaType = 'json'
},
back() {

Loading…
Cancel
Save