Browse Source

更新

master
j1ack 2 years ago
parent
commit
ef1ce92140
  1. BIN
      kaka总后台-正式.zip
  2. BIN
      kaka总后台-测试.zip
  3. 6
      package.json
  4. 51
      src/api/merchant/PayernameBlacklist.js
  5. 70
      src/views/exchange/daifuSonOrder.vue
  6. 153
      src/views/exchange/index.vue
  7. 27
      src/views/exchange/pkCouponScopeRangeStoreList.vue
  8. 158
      src/views/exchange/wwc.vue
  9. 309
      src/views/merchant/PayernameBlacklist/index.vue
  10. 41
      src/views/merchant/merchant/index.vue
  11. 299
      src/views/merchant/merchant/pkCouponScopeRangeStoreListBlack.vue
  12. 11
      src/views/order/payOrder/csOrder.vue
  13. 22
      src/views/order/payOrder/index.vue
  14. 10
      src/views/order/payOrder/wwc.vue
  15. 4
      src/views/system/user/index.vue

BIN
kaka总后台-正式.zip

Binary file not shown.

BIN
kaka总后台-测试.zip

Binary file not shown.

6
package.json

@ -13,7 +13,6 @@
"build:staging": "vue-cli-service build --mode staging",
"build:all": "npm run build:staging && npm run build:prod",
"build:staging:merchant_1": "vue-cli-service build --mode staging --variant merchant_1",
"build:prod": "vue-cli-service build",
"preview": "node build/index.js --preview",
"lint": "eslint --ext .js,.vue src"
},
@ -46,6 +45,7 @@
"axios": "0.24.0",
"clipboard": "2.0.8",
"core-js": "3.25.3",
"dayjs": "^1.11.9",
"echarts": "5.4.0",
"element-ui": "2.15.12",
"file-saver": "2.0.5",
@ -81,14 +81,14 @@
"connect": "3.6.6",
"eslint": "7.15.0",
"eslint-plugin-vue": "7.2.0",
"filemanager-webpack-plugin": "3.1.1",
"lint-staged": "10.5.3",
"runjs": "4.4.2",
"sass": "1.32.13",
"sass-loader": "10.1.1",
"script-ext-html-webpack-plugin": "2.1.5",
"svg-sprite-loader": "5.1.1",
"vue-template-compiler": "2.6.12",
"filemanager-webpack-plugin": "3.1.1"
"vue-template-compiler": "2.6.12"
},
"engines": {
"node": ">=8.9",

51
src/api/merchant/PayernameBlacklist.js

@ -0,0 +1,51 @@
import request from '@/utils/request'
// 查询付款人黑名单列表
export function listPayernameBlacklist(query) {
return request({
url: '/merchant/blacklist/list',
method: 'get',
params: query
})
}
// 查询付款人黑名单详细
export function getPayernameBlacklist(id) {
return request({
url: '/merchant/payername/blacklist/' + id,
method: 'get'
})
}
// 新增付款人黑名单
export function addPayernameBlacklist(data) {
return request({
url: '/merchant/blacklist',
method: 'post',
data: data
})
}
// 修改付款人黑名单
export function updatePayernameBlacklist(data) {
return request({
url: '/merchant/blacklist',
method: 'put',
data: data
})
}
// 删除付款人黑名单
export function delPayernameBlacklist(id) {
return request({
url: '/merchant/blacklist/' + id,
method: 'delete'
})
}
// 导出付款人黑名单
export function exportPayernameBlacklist(query) {
return request({
url: '/merchant/PayernameBlacklist/export',
method: 'get',
params: query
})
}

70
src/views/exchange/daifuSonOrder.vue

@ -8,7 +8,7 @@
</div>
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="106px"
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="116px"
class="flex form" style="position: relative">
<el-form-item label="子订单号" prop="orderNo">
<el-input size="medium" v-model="queryParams.orderNo" placeholder="请输入子订单号"
@ -18,6 +18,16 @@
<el-input size="medium" v-model="queryParams.businessNo" placeholder="请输入平台订单号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item>
<el-form-item label="商户下游订单号" prop="downstreamMerchantOrderNo">
<el-input size="medium" v-model="queryParams.downstreamMerchantOrderNo" placeholder="请输入商户下游订单号"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item>
<el-form-item label="付款人姓名" prop="payerName">
<el-input size="medium" v-model="queryParams.payerName" placeholder="请输入付款人姓名"
@keyup.enter.native="handleQuery" style="width: 180px; border-color: #e6f1ff" />
</el-form-item>
<el-form-item label="订单状态" prop="orderStatus">
<el-select v-model="queryParams.orderStatus" placeholder="请选择订单状态" clearable size="medium">
@ -67,15 +77,29 @@
<el-table stripe :data="infoList" v-loading="loading" :row-class-name="tableRowClassName">
<el-table-column label="平台单号" align="center" prop="orderNo" />
<el-table-column label="父单单号" align="center" prop="businessNo" />
<el-table-column label="商户下游订单号" align="center" prop="downstreamMerchantOrderNo" />
<el-table-column label="付款人姓名" align="center" prop="payerName" />
<el-table-column label="开户行" align="center" prop="branchName" />
<el-table-column label="银行名称" align="center" prop="bankName" />
<el-table-column label="银行卡开户名" align="center" prop="accountName" />
<el-table-column :label="'金额'" align="center" prop="amount">
<el-table-column label="卡号" align="center" prop="cardNumber" />
<el-table-column label="银行名称" align="center" prop="bankName" />
<el-table-column label="支行名称" align="center" prop="branchName" />
<el-table-column :label="'订单金额'" align="center" prop="amount">
<template slot-scope="scope">
{{ NumberDiv(scope.row.amount, 100) }}
</template>
</el-table-column>
<el-table-column :label="'实付金额'" align="center" prop="paymentAmount">
<template slot-scope="scope">
{{ NumberDiv(scope.row.paymentAmount, 100) }}
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="auditRemark" />
<el-table-column label="时间" align="center" prop="createTime" min-width="180" />
@ -90,8 +114,10 @@
<template slot-scope="scope">
<el-button size="small" type="text" @click="handleView(scope.row)"
style="color: #006eff">详情</el-button>
<el-button size="small" type="text" @click="handleCertificate(scope.row)"
style="color: #006eff">查看凭证</el-button>
style="color: #006eff" v-if="scope.row.proofImg">查看凭证</el-button>
<el-button size="small" type="text" v-clipboard:copy="getReadableText(scope.row)"
v-clipboard:success="handleClipboardSuccess" style="color: #006eff">复制</el-button>
<el-button size="small" type="text" @click="handleAdd(scope.row)" style="color: #006eff;"
@ -118,24 +144,34 @@
{{ detailInfoList.orderNo }}
</el-form-item>
<el-form-item label="商户下游订单号">
{{ detailInfoList.downstreamMerchantOrderNo }}
</el-form-item>
<el-form-item label="订单金额">
{{ parseFloat(NumberDiv(detailInfoList.amount, 100)).toFixed(2) }}
</el-form-item>
<el-form-item label="实付金额">
{{ parseFloat(NumberDiv(detailInfoList.paymentAmount, 100)).toFixed(2) }}
</el-form-item>
<el-form-item label="创建时间">
{{ detailInfoList.createTime }}
</el-form-item>
<el-form-item label="更新时间">
{{ detailInfoList.updateTime }}
</el-form-item>
</el-form-item>
</div>
<div class="card-detail">
<el-form-item label="付款人姓名">
{{ detailInfoList.payerName }}
</el-form-item>
<el-form-item label="收款卡号">
{{ detailInfoList.cardNumber }}
</el-form-item>
<el-form-item label="订单状态">
{{ detailInfoList.orderStatus == 1 ? '待支付' : detailInfoList.orderStatus == 2 ? '支付成功' : '支付失败'
}}
</el-form-item>
<el-form-item label="开户行">
{{ detailInfoList.branchName }}
</el-form-item>
@ -148,6 +184,10 @@
<el-form-item label="备注">
{{ detailInfoList.auditRemark }}
</el-form-item>
<el-form-item label="订单状态">
{{ detailInfoList.orderStatus == 1 ? '待支付' : detailInfoList.orderStatus == 2 ? '支付成功' : '支付失败'
}}
</el-form-item>
</div>
</div>
@ -265,20 +305,18 @@ export default {
orderStatus: null,
businessNo: null,
orderNo: null,
downstreamMerchantOrderNo:null,
payerName:null,
},
//
status_con: [
{
label: "成功并回调",
value: 2,
label: "成功",
value: 1,
},
{
label: "失败",
value: 3,
},
{
label: "成功不回调",
value: 4,
value: 2,
},
],

153
src/views/exchange/index.vue

@ -48,11 +48,7 @@
</el-row>
<el-row :gutter="10" class="mb8" style="margin-left:8px">
<el-col :span="1.5" class="flex">
<el-button size="medium" type="primary" @click="openImport = true">导入承兑商订单</el-button>
<div style="margin-left:10px">
导入模板下载
<a :href="url" style="color:#197CFE">模板.xls</a>
</div>
<el-button size="medium" type="primary" @click="getImport">导入承兑商订单</el-button>
</el-col>
</el-row>
<!-- <el-row :gutter="10" class="mb8">
@ -68,6 +64,8 @@
<el-table-column label="批次号" align="center" prop="batchNo" min-width="120" />
<el-table-column label="银行名称" align="center" prop="bankName" />
<el-table-column label="卡号" align="center" prop="cardNumber" />
<el-table-column label="姓名" align="center" prop="accountName" />
<el-table-column label="开户行" align="center" prop="branchName" />
<el-table-column :label="'订单请求金额'" align="center" prop="amount">
<template slot-scope="scope">
{{ parseFloat(NumberDiv(scope.row.amount, 100)).toFixed(2) }}
@ -76,7 +74,9 @@
<el-table-column :label="'成功金额'" align="center" prop="successAmountr">
<template slot-scope="scope">
{{ parseFloat(NumberDiv(scope.row.successAmountr, 100)).toFixed(2) }}
<span v-if="scope.row.orderStatus==1">{{ parseFloat(NumberDiv(scope.row.successAmountr-scope.row.unpaidAmountr, 100)).toFixed(2) }}</span>
<span v-else>{{ parseFloat(NumberDiv(scope.row.successAmountr, 100)).toFixed(2) }}</span>
</template>
</el-table-column>
@ -89,10 +89,18 @@
<el-table-column label="优先级" align="center" prop="priority" />
<el-table-column label="拆分笔数" align="center" prop="splitsNumber" />
<el-table-column label="成功笔数" align="center" prop="successNumber" />
<el-table-column :label="'成功笔数'" align="center" prop="successNumber">
<template slot-scope="scope">
<span v-if="scope.row.orderStatus==1">{{ scope.row.successNumber - scope.row.acceptorOrderSubCount }}</span>
<span v-else>{{ scope.row.successNumber }}</span>
</template>
</el-table-column>
<el-table-column label="上传人" align="center" prop="uploader" />
<el-table-column label="姓名" align="center" prop="accountName" />
<el-table-column label="开户行" align="center" prop="branchName" />
<el-table-column :label="'审核状态'" align="center" prop="reviewStatus">
<template slot-scope="scope">
{{ scope.row.reviewStatus == 1 ? '处理中' : scope.row.reviewStatus == 2 ? '成功' : '驳回' }}
@ -107,7 +115,13 @@
<el-table-column label="付款备注" align="center" prop="remark" />
<el-table-column label="过期时间" align="center" prop="expiredTime" min-width="180" />
<el-table-column :label="'倒计时'" align="center" prop="expiredTime">
<template slot-scope="scope">
{{ scope.row.expiredTimeStr }}
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" min-width="180" />
<!-- <el-table-column label="更新时间" align="center" prop="updateTime" min-width="180" /> -->
@ -118,30 +132,33 @@
<!-- 如果支付成功或者失败操作有查看凭证 成功和失败也可以查看子单 -->
<template slot-scope="scope" v-if="scope.row.reviewStatus != 3">
<span v-if="scope.row.orderStatus == 1">
<span v-if="scope.row.reviewStatus == 1">
<el-button size="small" type="text" @click="switchStatusChange(scope.row, 'status')"
style="color: #006eff">
{{ scope.row.status == false ? '解锁' : '锁定' }}
</el-button>
<el-button size="small" type="text" @click="handleUpdate(scope.row)"
style="color: #006eff;">修改</el-button>
style="color: #006eff;" v-if="(scope.row.reviewStatus == 1) || (scope.row.reviewStatus == 2 && scope.row.orderStatus == 1)">修改</el-button>
<el-button size="small" type="text" @click="handleUnaudited(scope.row)"
style="color: #006eff;">审核</el-button>
</span>
<span>
style="color: #006eff;" v-if="scope.row.reviewStatus == 1">审核</el-button>
<el-button size="small" type="text" @click="handleSuccess(scope.row, 3)"
style="color: #006eff" v-if="scope.row.reviewStatus != 1">关闭</el-button>
<el-button size="small" type="text" @click="handleSuccess(scope.row, 2)"
style="color: #006eff" v-if="scope.row.reviewStatus != 1">成功</el-button>
<el-button size="small" type="text" @click="handleSaveAcceptorOrderSub(scope.row)"
style="color: #006eff" v-if="scope.row.reviewStatus != 1">添加手工子单</el-button>
</span>
</span>
<el-button size="small" type="text" @click="getCertificate(scope.row)" style="color: #006eff"
v-if="scope.row.orderStatus == 2 || scope.row.orderStatus == 3">查看凭证</el-button>
<el-button size="small" type="text" @click="handleSonOrder(scope.row)"
style="color: #006eff" v-if="scope.row.reviewStatus != 1">子单列表</el-button>
<el-button size="small" type="text" @click="handleSonOrder(scope.row)" style="color: #006eff"
v-if="scope.row.reviewStatus != 1">子单列表</el-button>
</template>
</el-table-column>
@ -226,20 +243,25 @@
</el-dialog>
<!-- 导入 -->
<el-dialog title="导入" :visible.sync="openImport" width="500px" append-to-body>
<!-- 导入 -->
<el-dialog title="导入" :visible.sync="openImport" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<div style="margin-left:10px;margin-bottom:20px">
导入模板下载
<a :href="url" style="color:#197CFE">模板.xls</a>
</div>
<el-upload class="upload-demo" style="margin-bottom:20px" action="#" v-model="fileList" :on-change="onChange" accept=".xls, .xlsx"
:show-file-list="false" :multiple="false" :auto-upload="false">
<el-button slot="trigger" size="medium" type="primary">选择文件</el-button><span
style="margin-left:5px">{{
fileName }}</span>
</el-upload>
<el-form-item label="谷歌验证码" prop="googleCode">
<el-input size="medium" v-model="form.googleCode" placeholder="请输入谷歌验证码" />
</el-form-item>
<el-upload class="upload-demo" action="#" v-model="fileList" :on-change="onChange" accept=".xls, .xlsx"
:show-file-list="false" :multiple="false" :auto-upload="false">
<el-button slot="trigger" size="medium" type="primary">选择文件</el-button><span style="margin-left:5px">{{
fileName }}</span>
</el-upload>
</el-form>
<div slot="footer" class="dialog-footer" style="display:flex;justify-content:right">
<el-button size="medium" type="primary" @click="upload">确定</el-button>
@ -258,10 +280,14 @@
</el-form-item>
<el-form-item label="有效期" prop="validityPeriod">
<el-input size="medium" style="width: 200px;" v-model="form.validityPeriod" placeholder="请输入有效期" />
<span style="color: red;">分钟</span>
<span style="color: red;">小时</span>
</el-form-item>
<el-form-item label="拆分笔数" prop="splitsNumber">
<el-input size="medium" v-model="form.splitsNumber" placeholder="请输入拆分笔数" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm('formUpdate', 'update')"> </el-button>
@ -278,6 +304,7 @@ import { listTransferOrder, getTransferOrder, delTransferOrder, addTransferOrder
import { payOutOrder, common_api, payExchange } from "@/api/form";
import pkCouponScopeRangeStoreList from "./pkCouponScopeRangeStoreList";
import cardMerchantOrderRefreshMixin from "@/api/cardMerchantOrderRefresh.mixin";
import dayjs from "dayjs"
export default {
name: "TransferOrder",
@ -287,6 +314,7 @@ export default {
data() {
return {
timer: null,
url:'',
openSave: false,
openImport: false,
@ -352,6 +380,9 @@ export default {
form: {},
//
rules: {
splitsNumber: [
{ required: true, message: "请输入拆分笔数", trigger: "blur" }
],
minSplitsAmount: [
{ required: true, message: "请输入最小拆分金额", trigger: "blur" }
],
@ -395,6 +426,31 @@ export default {
debug: true,
},
methods: {
getImport(){
this.reset()
this.fileList=[]
this.fileName=''
this.openImport = true
},
//
switchStatusChange(row) {
this.reset()
const id = row.id || this.ids;
console.log(id)
payExchange.acceptorOrder(id).then((response) => {
this.form = response.data;
this.form.status == false ? this.form.status = true : this.form.status = false
payExchange.acceptorOrderPut({
id: this.form.id,
status: this.form.status
}).then((res) => {
if (res.code === 200) {
this.$message.success("编辑成功");
this.getList()
}
});
});
},
// #fdf2f2
// #e9feea
// #FFE7BC
@ -447,6 +503,9 @@ export default {
this.$message.success('上传成功!')
this.openImport = false
loading.close();
this.fileName=''
this.fileList=[]
this.reset()
this.getList()
}).catch(() => {
this.loadingBtn = false;
@ -458,6 +517,33 @@ export default {
success(res, file) {
console.log(res, file.name, '上传成功')
},
countdown() {
clearInterval(this.timer)
this.timer = setInterval(() => {
this.infoList = this.infoList.map(i => {
return {
...i,
expiredTimeStr: i.expiredTimeLong ? this.getTimeExpre(i.expiredTimeLong) : "未设置过期时间"
}
})
}, 1000)
},
getTimeExpre(v) {
let startTime = dayjs(`${new Date()}`).format('YYYY-MM-DD HH:mm:ss');
let expiredTime = dayjs(Number(v)).format('YYYY-MM-DD HH:mm:ss')
let seconds = dayjs(expiredTime).diff(dayjs(startTime), 'second')
const minute = 60
const hour = 60 * minute
let hourStr = dayjs().hour(~~(seconds / hour)).format('hh')
let minuteStr = dayjs().minute(~~(seconds / minute)).format('mm')
let secondStr = dayjs().second(seconds % 60).format('ss')
if (seconds<0||hourStr < 0 || minuteStr < 0 || secondStr < 0) {
return "已过期";
}
return hourStr + "时" + minuteStr + "分" + secondStr + "秒"
},
/** 提交按钮 */
submitForm(val, type) {
this.$refs[val].validate(valid => {
@ -564,6 +650,7 @@ export default {
this.total = Number(response.total);
this.loading = false;
this.startTimer(this.queryParams)
this.countdown()
});
payExchange.downloadManualTemplate().then(response => {
this.url = response.msg
@ -575,6 +662,8 @@ export default {
this.openImport = false,
this.openAuditStatus = false;
this.openSave = false
this.fileList=[]
this.fileName=''
this.reset();
},
//
@ -619,8 +708,6 @@ export default {
this.title = "修改承兑商订单";
});
},
}
};
</script>

27
src/views/exchange/pkCouponScopeRangeStoreList.vue

@ -17,6 +17,7 @@
<el-table stripe v-loading="loading" :data="infoList">
<el-table-column label="平台单号" align="center" prop="orderNo" />
<el-table-column label="父单单号" align="center" prop="businessNo" />
<el-table-column label="商户下游单号" align="center" prop="downstreamMerchantOrderNo" />
<el-table-column label="银行卡开户名" align="center" prop="accountName" />
<el-table-column :label="'金额'" align="center" prop="amount">
<template slot-scope="scope">
@ -130,21 +131,17 @@ export default {
srcList: ['https://fuss10.elemecdn.com/8/27/f01c15bb73e1ef3793e64e6b7bbccjpeg.jpeg'],
//
isShowDetail: false,
//
status_con: [
{
label: "成功并回调",
value: 2,
},
{
label: "失败",
value: 3,
},
{
label: "成功不回调",
value: 4,
},
],
//
status_con: [
{
label: "成功",
value: 1,
},
{
label: "失败",
value: 2,
},
],
//
channelAll: [],
dateRange: [],

158
src/views/exchange/wwc.vue

@ -41,11 +41,7 @@
</el-row>
<el-row :gutter="10" class="mb8" style="margin-left:8px">
<el-col :span="1.5" class="flex">
<el-button size="medium" type="primary" @click="openImport = true">导入承兑商订单</el-button>
<div style="margin-left:10px">
导入模板下载
<a :href="url" style="color:#197CFE">模板.xls</a>
</div>
<el-button size="medium" type="primary" @click="getImport">导入承兑商订单</el-button>
</el-col>
</el-row>
@ -62,15 +58,24 @@
<el-table-column label="批次号" align="center" prop="batchNo" min-width="120" />
<el-table-column label="银行名称" align="center" prop="bankName" />
<el-table-column label="卡号" align="center" prop="cardNumber" />
<el-table-column label="姓名" align="center" prop="accountName" />
<el-table-column label="开户行" align="center" prop="branchName" />
<el-table-column :label="'订单请求金额'" align="center" prop="amount">
<template slot-scope="scope">
{{ parseFloat(NumberDiv(scope.row.amount, 100)).toFixed(2) }}
</template>
</el-table-column>
<el-table-column :label="'未完成金额'" align="center" prop="unpaidAmountr">
<template slot-scope="scope">
{{ parseFloat(NumberDiv(scope.row.amount - (scope.row.successAmountr - scope.row.unpaidAmountr),
100)).toFixed(2) }}
</template>
</el-table-column>
<el-table-column :label="'成功金额'" align="center" prop="successAmountr">
<template slot-scope="scope">
{{ parseFloat(NumberDiv(scope.row.successAmountr, 100)).toFixed(2) }}
{{ parseFloat(NumberDiv(scope.row.successAmountr - scope.row.unpaidAmountr, 100)).toFixed(2) }}
</template>
</el-table-column>
@ -82,10 +87,15 @@
<el-table-column label="未处理子单数" align="center" prop="acceptorOrderSubCount" />
<el-table-column label="优先级" align="center" prop="priority" />
<el-table-column label="拆分笔数" align="center" prop="splitsNumber" />
<el-table-column label="成功笔数" align="center" prop="successNumber" />
<el-table-column :label="'成功笔数'" align="center" prop="successNumber">
<template slot-scope="scope">
<span>{{ scope.row.successNumber - scope.row.acceptorOrderSubCount }} </span>
</template>
</el-table-column>
<el-table-column label="上传人" align="center" prop="uploader" />
<el-table-column label="姓名" align="center" prop="accountName" />
<el-table-column label="开户行" align="center" prop="branchName" />
<el-table-column :label="'审核状态'" align="center" prop="reviewStatus">
<template slot-scope="scope">
{{ scope.row.reviewStatus == 1 ? '处理中' : scope.row.reviewStatus == 2 ? '成功' : '驳回' }}
@ -100,7 +110,13 @@
<el-table-column label="付款备注" align="center" prop="remark" />
<el-table-column label="过期时间" align="center" prop="expiredTime" min-width="180" />
<el-table-column :label="'倒计时'" align="center" prop="expiredTime">
<template slot-scope="scope">
{{ scope.row.expiredTimeStr }}
</template>
</el-table-column>
<el-table-column label="创建时间" align="center" prop="createTime" min-width="180" />
<!-- <el-table-column label="更新时间" align="center" prop="updateTime" min-width="180" /> -->
@ -111,20 +127,25 @@
<!-- 如果支付成功或者失败操作有查看凭证 成功和失败也可以查看子单 -->
<template slot-scope="scope" v-if="scope.row.reviewStatus != 3">
<span v-if="scope.row.orderStatus == 1">
<span v-if="scope.row.reviewStatus == 1">
<el-button size="small" type="text" @click="handleUpdate(scope.row)"
style="color: #006eff;">修改</el-button>
<el-button size="small" type="text" @click="handleUnaudited(scope.row)"
style="color: #006eff;">审核</el-button>
</span>
<span>
<el-button size="small" type="text" @click="handleSuccess(scope.row, 3)"
style="color: #006eff" v-if="scope.row.reviewStatus != 1">关闭</el-button>
<el-button size="small" type="text" @click="handleSuccess(scope.row, 2)"
style="color: #006eff" v-if="scope.row.reviewStatus != 1">成功</el-button>
<el-button size="small" type="text" @click="handleSaveAcceptorOrderSub(scope.row)"
style="color: #006eff" v-if="scope.row.reviewStatus != 1">添加手工子单</el-button>
</span>
<el-button size="small" type="text" @click="switchStatusChange(scope.row, 'status')"
style="color: #006eff">
{{ scope.row.status == false ? '解锁' : '锁定' }}
</el-button>
<el-button size="small" type="text" @click="handleUpdate(scope.row)" style="color: #006eff;"
v-if="(scope.row.reviewStatus == 1) || (scope.row.reviewStatus == 2 && scope.row.orderStatus == 1)">修改</el-button>
<el-button size="small" type="text" @click="handleUnaudited(scope.row)" style="color: #006eff;"
v-if="scope.row.reviewStatus == 1">审核</el-button>
<el-button size="small" type="text" @click="handleSuccess(scope.row, 3)" style="color: #006eff"
v-if="scope.row.reviewStatus != 1">关闭</el-button>
<el-button size="small" type="text" @click="handleSuccess(scope.row, 2)" style="color: #006eff"
v-if="scope.row.reviewStatus != 1">成功</el-button>
<el-button size="small" type="text" @click="handleSaveAcceptorOrderSub(scope.row)"
style="color: #006eff" v-if="scope.row.reviewStatus != 1">添加手工子单</el-button>
</span>
<el-button size="small" type="text" @click="getCertificate(scope.row)" style="color: #006eff"
@ -220,16 +241,22 @@
<!-- 导入 -->
<el-dialog title="导入" :visible.sync="openImport" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="110px">
<el-form-item label="谷歌验证码" prop="googleCode">
<el-input size="medium" v-model="form.googleCode" placeholder="请输入谷歌验证码" />
</el-form-item>
<div style="margin-left:10px;margin-bottom:20px">
导入模板下载
<a :href="url" style="color:#197CFE">模板.xls</a>
</div>
<el-upload class="upload-demo" action="#" v-model="fileList" :on-change="onChange" accept=".xls, .xlsx"
:show-file-list="false" :multiple="false" :auto-upload="false">
<el-upload class="upload-demo" style="margin-bottom:20px" action="#" v-model="fileList"
:on-change="onChange" accept=".xls, .xlsx" :show-file-list="false" :multiple="false"
:auto-upload="false">
<el-button slot="trigger" size="medium" type="primary">选择文件</el-button><span style="margin-left:5px">{{
fileName }}</span>
</el-upload>
<el-form-item label="谷歌验证码" prop="googleCode">
<el-input size="medium" v-model="form.googleCode" placeholder="请输入谷歌验证码" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer" style="display:flex;justify-content:right">
<el-button size="medium" type="primary" @click="upload">确定</el-button>
@ -248,9 +275,15 @@
</el-form-item>
<el-form-item label="有效期" prop="validityPeriod">
<el-input size="medium" style="width: 200px;" v-model="form.validityPeriod" placeholder="请输入有效期" />
<span style="color: red;">分钟</span>
<span style="color: red;">小时</span>
</el-form-item>
<el-form-item label="拆分笔数" prop="splitsNumber">
<el-input size="medium" v-model="form.splitsNumber" placeholder="请输入拆分笔数" />
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm('formUpdate', 'update')"> </el-button>
@ -267,7 +300,7 @@ import { listTransferOrder, getTransferOrder, delTransferOrder, addTransferOrder
import { payOutOrder, common_api, payExchange } from "@/api/form";
import pkCouponScopeRangeStoreList from "./pkCouponScopeRangeStoreList";
import cardMerchantOrderRefreshMixin from "@/api/cardMerchantOrderRefresh.mixin";
import dayjs from "dayjs"
export default {
name: "TransferOrder",
dicts: ['collection_order_status', 'exchange_audite_status'],
@ -276,6 +309,7 @@ export default {
data() {
return {
timer: null,
url: '',
openSave: false,
openImport: false,
@ -341,7 +375,9 @@ export default {
form: {},
//
rules: {
splitsNumber: [
{ required: true, message: "请输入拆分笔数", trigger: "blur" }
],
minSplitsAmount: [
{ required: true, message: "请输入最小拆分金额", trigger: "blur" }
],
@ -387,6 +423,31 @@ export default {
debug: true,
},
methods: {
getImport(){
this.reset()
this.fileList=[]
this.fileName=''
this.openImport = true
},
//
switchStatusChange(row) {
this.reset()
const id = row.id || this.ids;
console.log(id)
payExchange.acceptorOrder(id).then((response) => {
this.form = response.data;
this.form.status == false ? this.form.status = true : this.form.status = false
payExchange.acceptorOrderPut({
id: this.form.id,
status: this.form.status
}).then((res) => {
if (res.code === 200) {
this.$message.success("编辑成功");
this.getList()
}
});
});
},
// #fdf2f2
// #e9feea
// #FFE7BC
@ -439,6 +500,9 @@ export default {
this.$message.success('上传成功!')
this.openImport = false
loading.close();
this.fileName=''
this.fileList=[]
this.reset()
this.getList()
}).catch(() => {
this.loadingBtn = false;
@ -556,17 +620,45 @@ export default {
this.total = Number(response.total);
this.loading = false;
this.startTimer(this.queryParams)
this.countdown()
});
payExchange.downloadManualTemplate().then(response => {
this.url = response.msg
});
},
countdown() {
clearInterval(this.timer)
this.timer = setInterval(() => {
this.infoList = this.infoList.map(i => {
return {
...i,
expiredTimeStr: i.expiredTimeLong ? this.getTimeExpre(i.expiredTimeLong) : "未设置过期时间"
}
})
}, 1000)
},
getTimeExpre(v) {
let startTime = dayjs(`${new Date()}`).format('YYYY-MM-DD HH:mm:ss');
let expiredTime = dayjs(Number(v)).format('YYYY-MM-DD HH:mm:ss')
let seconds = dayjs(expiredTime).diff(dayjs(startTime), 'second')
const minute = 60
const hour = 60 * minute
let hourStr = dayjs().hour(~~(seconds / hour)).format('hh')
let minuteStr = dayjs().minute(~~(seconds / minute)).format('mm')
let secondStr = dayjs().second(seconds % 60).format('ss')
if (seconds<0||hourStr < 0 || minuteStr < 0 || secondStr < 0) {
return "已过期";
}
return hourStr + "时" + minuteStr + "分" + secondStr + "秒"
},
//
cancel() {
this.open = false;
this.openImport = false,
this.openAuditStatus = false;
this.openSave = false
this.fileList=[]
this.fileName=''
this.reset();
},
//
@ -606,7 +698,7 @@ export default {
const id = row.id || this.ids
payExchange.acceptorOrder(id).then(response => {
this.form = response.data;
this.form.minSplitsAmount=this.NumberDiv(this.form.minSplitsAmount,100)
this.form.minSplitsAmount = this.NumberDiv(this.form.minSplitsAmount, 100)
this.open = true;
this.title = "修改承兑商订单";
});

309
src/views/merchant/PayernameBlacklist/index.vue

@ -0,0 +1,309 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="商户编号" prop="merchantId">
<el-input
v-model="queryParams.merchantId"
placeholder="请输入商户编号"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="付款人名称" prop="payerName">
<el-input
v-model="queryParams.payerName"
placeholder="请输入付款人名称"
clearable
size="small"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="状态:1-启用, 2-禁用" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态:1-启用, 2-禁用" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button
type="primary"
plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
v-hasPermi="['merchant:blacklist:add']"
>新增</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="success"
plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@click="handleUpdate"
v-hasPermi="['merchant:blacklist:edit']"
>修改</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="danger"
plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@click="handleDelete"
v-hasPermi="['merchant:blacklist:remove']"
>删除</el-button>
</el-col>
<el-col :span="1.5">
<el-button
type="warning"
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
v-hasPermi="['merchant:blacklist:export']"
>导出</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="PayernameBlacklistList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center" />
<el-table-column label="编号" align="center" prop="id" />
<el-table-column label="商户编号" align="center" prop="merchantId" />
<el-table-column label="付款人名称" align="center" prop="payerName" />
<el-table-column label="状态:1-启用, 2-禁用" align="center" prop="status" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['merchant:blacklist:edit']"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-delete"
@click="handleDelete(scope.row)"
v-hasPermi="['merchant:blacklist:remove']"
>删除</el-button>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total>0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改付款人黑名单对话框 -->
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="商户编号" prop="merchantId">
<el-input v-model="form.merchantId" placeholder="请输入商户编号" />
</el-form-item>
<el-form-item label="付款人名称" prop="payerName">
<el-input v-model="form.payerName" placeholder="请输入付款人名称" />
</el-form-item>
<el-form-item label="状态:1-启用, 2-禁用">
<el-radio-group v-model="form.status">
<el-radio label="1">请选择字典生成</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="创建时间" prop="createTime">
<el-date-picker clearable size="small"
v-model="form.createTime"
type="date"
value-format="yyyy-MM-dd"
placeholder="选择创建时间">
</el-date-picker>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { listPayernameBlacklist, getPayernameBlacklist, delPayernameBlacklist, addPayernameBlacklist, updatePayernameBlacklist, exportPayernameBlacklist } from "@/api/merchant/PayernameBlacklist";
export default {
name: "PayernameBlacklist",
components: {
},
data() {
return {
//
loading: true,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
PayernameBlacklistList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
merchantId: null,
payerName: null,
status: null,
},
//
form: {},
//
rules: {
merchantId: [
{ required: true, message: "商户编号不能为空", trigger: "blur" }
],
payerName: [
{ required: true, message: "付款人名称不能为空", trigger: "blur" }
],
status: [
{ required: true, message: "状态:1-启用, 2-禁用不能为空", trigger: "blur" }
],
createTime: [
{ required: true, message: "创建时间不能为空", trigger: "blur" }
],
}
};
},
created() {
this.getList();
},
methods: {
/** 查询付款人黑名单列表 */
getList() {
this.loading = true;
listPayernameBlacklist(this.queryParams).then(response => {
this.PayernameBlacklistList = response.rows;
this.total = response.total;
this.loading = false;
});
},
//
cancel() {
this.open = false;
this.reset();
},
//
reset() {
this.form = {
id: null,
merchantId: null,
payerName: null,
status: 0,
createTime: null,
updateTime: null
};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.resetForm("queryForm");
this.handleQuery();
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length!==1
this.multiple = !selection.length
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "添加付款人黑名单";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
const id = row.id || this.ids
getPayernameBlacklist(id).then(response => {
this.form = response.data;
this.open = true;
this.title = "修改付款人黑名单";
});
},
/** 提交按钮 */
submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.id != null) {
updatePayernameBlacklist(this.form).then(response => {
this.msgSuccess("修改成功");
this.open = false;
this.getList();
});
} else {
addPayernameBlacklist(this.form).then(response => {
this.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm('是否确认删除付款人黑名单编号为"' + ids + '"的数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return delPayernameBlacklist(ids);
}).then(() => {
this.getList();
this.msgSuccess("删除成功");
})
},
/** 导出按钮操作 */
handleExport() {
const queryParams = this.queryParams;
this.$confirm('是否确认导出所有付款人黑名单数据项?', "警告", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(function() {
return exportPayernameBlacklist(queryParams);
}).then(response => {
this.download(response.msg);
})
}
}
};
</script>

41
src/views/merchant/merchant/index.vue

@ -114,6 +114,8 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right" min-width="200">
<template slot-scope="scope">
<el-button size="small" type="text" @click="handleBlacklist(scope.row)"
style="color: #006eff">付款人黑名单</el-button>
<el-button size="small" type="text" @click="handleDeleteMer(scope.row)" style="color: #006eff"
v-hasPermi="['system:merchant:del']">商户删除</el-button>
<el-button size="small" type="text" @click="handleView(scope.row)" style="color: #006eff"
@ -325,6 +327,12 @@
<el-switch v-model="form.paymentManualStatus" active-text="" inactive-text="" :active-value=true
:inactive-value=false></el-switch>
</el-form-item>
<el-form-item label="是否开启付款人黑名单" label-width="170px" prop="isPayernameBlacklist">
<el-switch v-model="form.isPayernameBlacklist" active-text="" inactive-text="" :active-value=true
:inactive-value=false></el-switch>
</el-form-item>
<el-form-item label="是否允许承兑订单" prop="isAcceptorOrder">
<el-switch v-model="form.isAcceptorOrder" active-text="" inactive-text="" :active-value=true
:inactive-value=false></el-switch>
@ -336,12 +344,12 @@
<el-form-item label="手动提单审核开关" prop="whetherReview">
<el-switch v-model="form.whetherReview" active-text="" inactive-text="" active-value="Y"
inactive-value="N"></el-switch>
inactive-value="N"></el-switch>
</el-form-item>
<el-form-item label="api提单审核开关" prop="whetherReviewApi">
<el-switch v-model="form.whetherReviewApi" active-text="" inactive-text="" active-value="Y"
inactive-value="N"></el-switch>
inactive-value="N"></el-switch>
</el-form-item>
<el-form-item label="谷歌秘钥" prop="merchantNo">
@ -372,6 +380,16 @@
:pkCouponId="pkCouponStoreId">
</pkCouponScopeRangeStoreList>
</el-dialog>
<!-- 黑名单列表 -->
<el-dialog v-dialogDrag :title="'('+pkCouponStore.username+')'+'付款人黑名单'" :visible.sync="pkCouponScopeRangeParkingStoreOpenBlack" width="80%"
append-to-body :close-on-click-modal="false">
<pkCouponScopeRangeStoreListBlack v-if="pkCouponScopeRangeParkingStoreOpenBlack" :pkCouponStore="pkCouponStore"
:pkCouponId="pkCouponStoreId">
</pkCouponScopeRangeStoreListBlack>
</el-dialog>
</div>
</template>
@ -386,11 +404,16 @@ import {
} from "@/api/merchant/merchant";
import { payMerchant } from "@/api/form";
import pkCouponScopeRangeStoreList from "./pkCouponScopeRangeStoreList";
import pkCouponScopeRangeStoreListBlack from "./pkCouponScopeRangeStoreListBlack";
import cardMerchantOrderRefreshMixin from "@/api/cardMerchantOrderRefresh.mixin";
export default {
name: "Merchant",
components: { pkCouponScopeRangeStoreList },
components: {
pkCouponScopeRangeStoreList,
pkCouponScopeRangeStoreListBlack
},
mixins: [cardMerchantOrderRefreshMixin],
data() {
var checkPhone = (rule, value, callback) => {
@ -410,7 +433,7 @@ export default {
}
};
return {
pkCouponScopeRangeParkingStoreOpenBlack: false,
pkCouponScopeRangeParkingStoreOpen: false,
pkCouponStore: {},
pkCouponStoreId: '',
@ -482,6 +505,7 @@ export default {
form: {},
//
rules: {
isPayernameBlacklist: [{ required: true, message: "请选择是否开启付款人黑名单", trigger: "blur" }],
isAcceptorOrder: [{ required: true, message: "请选择是否允许承兑订单", trigger: "blur" }],
whetherReviewApi: [{ required: true, message: "请选择是否api提单审核", trigger: "blur" }],
whetherReview: [{ required: true, message: "请选择是否手动提单审核", trigger: "blur" }],
@ -557,10 +581,19 @@ export default {
},
//
handleView(row) {
this.pkCouponStore = {}
this.pkCouponStoreId = null
this.pkCouponStore = row;
this.pkCouponStoreId = row.id;
this.pkCouponScopeRangeParkingStoreOpen = true;
},
handleBlacklist(row) {
this.pkCouponStore = {}
this.pkCouponStoreId = null
this.pkCouponStore = row;
this.pkCouponStoreId = row.id;
this.pkCouponScopeRangeParkingStoreOpenBlack = true;
},
change() {
this.$forceUpdate()
},

299
src/views/merchant/merchant/pkCouponScopeRangeStoreListBlack.vue

@ -0,0 +1,299 @@
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="88px">
<!-- <el-form-item label="商户编号" prop="merchantId">
<el-input v-model="queryParams.merchantId" placeholder="请输入商户编号" clearable size="small"
@keyup.enter.native="handleQuery" />
</el-form-item> -->
<el-form-item label="付款人名称" prop="payerName">
<el-input v-model="queryParams.payerName" placeholder="请输入付款人名称" clearable size="small"
@keyup.enter.native="handleQuery" />
</el-form-item>
<!-- <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="small">
<el-option label="请选择字典生成" value="" />
</el-select>
</el-form-item> -->
<el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable size="medium">
<el-option v-for="dict in statusCon" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="medium" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="medium" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="medium" @click="handleAdd"
v-hasPermi="['merchant:blacklist:add']">新增</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="PayernameBlacklistList">
<el-table-column label="付款人名称" align="center" prop="payerName" />
<el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope">
<el-switch v-model="scope.row.status" active-text="启用" inactive-text="禁用" :active-value="1" :inactive-value="2"
@change="switchStatusChange(scope.row)">
</el-switch>
</template>
</el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)"
v-hasPermi="['merchant:blacklist:edit']">修改</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['merchant:blacklist:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
<el-col>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
</el-col>
<!-- 添加或修改对话框 -->
<el-dialog v-dialogDrag :title="title" :visible.sync="open" width="650px" append-to-body :close-on-click-modal="false"
:before-close="cancel">
<el-form ref="formChannel" :model="form" :rules="rules" label-width="108px">
<el-form-item label="付款人名称" prop="payerName">
<el-input v-model="form.payerName" placeholder="请输入付款人名称" @input="change" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-switch v-model="form.status" active-text="启用" inactive-text="禁用" :active-value=1
:inactive-value=2></el-switch>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm('formChannel')"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { payMerchant, common_api } from "@/api/form";
import { listPayernameBlacklist, getPayernameBlacklist, delPayernameBlacklist, addPayernameBlacklist, updatePayernameBlacklist, exportPayernameBlacklist } from "@/api/merchant/PayernameBlacklist";
export default {
name: "pkCouponScopeRangeStoreList",
props: {
pkCouponId: {
type: Number,
default() {
return null;
},
},
pkCouponStore: {
type: Object,
default: {}
}
},
data() {
return {
statusCon:[
{
label:'启用',
value:1
},
{
label:'禁用',
value:2
},
],
//
channelAll: [],
dateRange: [],
//
loading: true,
//
exportLoading: false,
//
ids: [],
//
single: true,
//
multiple: true,
//
showSearch: true,
//
total: 0,
//
infoList: [],
//
title: "",
//
open: false,
openRate: false,
//
PayernameBlacklistList: [],
//
title: "",
//
open: false,
//
queryParams: {
pageNum: 1,
pageSize: 10,
merchantId: null,
payerName: null,
status: null,
},
//
form: {
},
detailData: {},
//
rules: {
payerName: [{ required: true, message: "请输入付款人名称", trigger: "blur" }],
},
};
},
created() {
this.pkCouponId && (this.queryParams.merchantId = this.pkCouponId);
this.getList();
this.init();
},
methods: {
change() {
this.$forceUpdate()
},
//
switchStatusChange(row) {
const id = row.id || this.ids;
this.form = row;
this.form.status = row.status;
updatePayernameBlacklist(this.form).then((res) => {
if (res.code === 200) {
this.$message.success("编辑成功");
}
});
},
/** 查询付款人黑名单列表 */
getList() {
this.loading = true;
listPayernameBlacklist(this.queryParams).then(response => {
this.PayernameBlacklistList = response.rows;
this.total = Number(response.total);
this.loading = false;
});
},
init() {
},
//
cancel() {
this.open = false;
this.reset();
this.getList()
},
//
reset() {
this.form = {};
this.resetForm("form");
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
},
/** 重置按钮操作 */
resetQuery() {
this.dateRange = [];
this.resetForm("queryForm");
this.handleQuery();
},
/** 新增按钮操作 */
handleAdd() {
this.reset();
this.open = true;
this.title = "绑定通道";
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.form = row;
this.title = "修改";
this.open = true;
},
/** 提交按钮 */
submitForm(type) {
this.$refs[type].validate((valid) => {
if (valid) {
this.form.merchantId = this.pkCouponId
const loading = this.$loading({
lock: true,
text: `正在操作`,
spinner: "el-icon-loading",
background: "rgba(0, 0, 0, 0.7)",
});
if (this.form.id) {
updatePayernameBlacklist(this.form).then((response) => {
loading.close();
this.open = false;
this.msgSuccess("修改成功");
this.getList();
}).catch(() => {
loading.close();
});
} else {
addPayernameBlacklist(this.form).then((response) => {
loading.close();
this.open = false;
this.msgSuccess("新增成功");
this.getList();
}).catch(() => {
loading.close();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$confirm(
'是否确认付款人名称为"' + row.payerName + '"的数据项?',
"警告",
{
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
}
)
.then(function () {
return delPayernameBlacklist(ids);
})
.then(() => {
this.getList();
this.msgSuccess("删除成功");
})
.catch(() => { });
},
},
};
</script>
<style lang="scss" scoped>
.el-radio {
line-height: 2;
}
</style>

11
src/views/order/payOrder/csOrder.vue

@ -115,6 +115,11 @@
<el-table-column label="商户下游订单号" align="center" prop="downstreamMerchantOrderNo" min-width="120" />
<el-table-column label="商户" align="center" prop="merchantName" />
<el-table-column :label="'是否是承兑商订单'" align="center" prop="isAcceptorOrder">
<template slot-scope="scope">
<span :style="{color:scope.row.isAcceptorOrder?'red':'#000'}">{{ scope.row.isAcceptorOrder?'是':'否' }}</span>
</template>
</el-table-column>
<el-table-column :label="'订单金额'" align="center" prop="securityDepositAmount">
<template slot-scope="scope">
@ -135,6 +140,7 @@
<el-table-column label="付款人姓名" align="center" prop="payerName" />
<!-- <el-table-column label="支行" align="center" prop="carddealerCardOrganization" /> -->
<el-table-column label="通道" align="center" prop="platformChannelName" />
<el-table-column label="码商" align="center" prop="carddealerName" />
<!-- <el-table-column :label="'是否超时支付'" align="center" prop="balance">
@ -153,7 +159,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button size="small" type="text" @click="getCertificate(scope.row)" style="color: #006eff">查看凭证</el-button>
<el-button size="small" type="text" @click="getCertificate(scope.row)" style="color: #006eff" v-if="scope.row.proofImg">查看凭证</el-button>
<el-button size="small" type="text" @click="handleView(scope.row)" style="color: #006eff"
v-hasPermi="['order:payOrder:query']">详情</el-button>
<el-button size="small" type="text" @click="handleOver(scope.row)" style="color: #006eff"
@ -219,6 +225,9 @@
</el-form-item>
</div>
<div class="card-detail">
<el-form-item :label="'是否是承兑商订单'">
<span :style="{color:detailInfoList.isAcceptorOrder?'red':'#000'}">{{ detailInfoList.isAcceptorOrder?'是':'否' }}</span>
</el-form-item>
<el-form-item label="收款卡号">
{{ detailInfoList.carddealerCardNumber }}
</el-form-item>

22
src/views/order/payOrder/index.vue

@ -99,11 +99,15 @@
<el-table stripe :data="infoList" v-loading="loading" :row-class-name="tableRowClassName">
<el-table-column label="平台订单号" align="center" prop="orderNo" />
<el-table-column label="商户订单号" align="center" prop="merchantOrderNo" />
<el-table-column label="商户下游订单号" align="center" prop="downstreamMerchantOrderNo" min-width="120" />
<el-table-column label="商户" align="center" prop="merchantName" />
<el-table-column :label="'是否是承兑商订单'" align="center" prop="isAcceptorOrder">
<template slot-scope="scope">
<span :style="{color:scope.row.isAcceptorOrder?'red':'#000'}">{{ scope.row.isAcceptorOrder?'是':'否' }}</span>
</template>
</el-table-column>
<el-table-column :label="'订单金额'" align="center" prop="securityDepositAmount">
<template slot-scope="scope">
{{ parseFloat(NumberDiv(scope.row.reqAmount, 100)).toFixed(2) }}
@ -140,7 +144,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button size="small" type="text" @click="getCertificate(scope.row)" style="color: #006eff">查看凭证</el-button>
<el-button size="small" type="text" @click="getCertificate(scope.row)" style="color: #006eff" v-if="scope.row.proofImg">查看凭证</el-button>
<el-button size="small" type="text" @click="handleView(scope.row)" style="color: #006eff"
v-hasPermi="['order:payOrder:query']">详情</el-button>
@ -178,14 +182,14 @@
{{ detailInfoList.downstreamMerchantOrderNo }}
</el-form-item>
<el-form-item label="商户名称">
{{ detailInfoList.merchantName }}
</el-form-item>
<el-form-item label="商户编号">
{{ detailInfoList.merchantNo }}
</el-form-item>
<el-form-item label="订单请求金额">
{{ parseFloat(NumberDiv(detailInfoList.reqAmount, 100)).toFixed(2) }}
</el-form-item>
@ -204,14 +208,18 @@
<el-form-item label="订单状态">
{{ detailInfoList.orderStatus == 1 ? '待支付' : detailInfoList.orderStatus == 2 ? '成功' : '已超时' }}
</el-form-item>
</div>
<div class="card-detail">
<el-form-item label="商品名称">
{{ detailInfoList.subject }}
</el-form-item>
<el-form-item label="更新时间">
{{ detailInfoList.updateTime }}
</el-form-item>
</div>
<div class="card-detail">
<el-form-item :label="'是否是承兑商订单'">
<span :style="{color:detailInfoList.isAcceptorOrder?'red':'#000'}">{{ detailInfoList.isAcceptorOrder?'是':'否' }}</span>
</el-form-item>
<el-form-item label="收款卡号">
{{ detailInfoList.carddealerCardNumber }}
</el-form-item>

10
src/views/order/payOrder/wwc.vue

@ -134,6 +134,11 @@
<el-table-column label="银行" align="center" prop="carddealerBankName" />
<el-table-column label="付款人姓名" align="center" prop="payerName" />
<!-- <el-table-column label="支行" align="center" prop="carddealerCardOrganization" /> -->
<el-table-column :label="'是否是承兑商订单'" align="center" prop="isAcceptorOrder">
<template slot-scope="scope">
<span :style="{color:scope.row.isAcceptorOrder?'red':'#000'}">{{ scope.row.isAcceptorOrder?'是':'否' }}</span>
</template>
</el-table-column>
<el-table-column label="通道" align="center" prop="platformChannelName" />
<el-table-column label="码商" align="center" prop="carddealerName" />
<!-- <el-table-column :label="'是否超时支付'" align="center" prop="balance">
@ -152,7 +157,7 @@
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" fixed="right">
<template slot-scope="scope">
<el-button size="small" type="text" @click="getCertificate(scope.row)" style="color: #006eff">查看凭证</el-button>
<el-button size="small" type="text" @click="getCertificate(scope.row)" style="color: #006eff" v-if="scope.row.proofImg">查看凭证</el-button>
<el-button size="small" type="text" @click="handleView(scope.row)" style="color: #006eff" v-hasPermi="['order:payOrder:query']">详情</el-button>
<el-button size="small" type="text" @click="handleOver(scope.row)" style="color: #006eff"
:disabled="scope.row.sameMark == 1" v-hasPermi="['order:payOrder:overtimePayment']"
@ -218,6 +223,9 @@
</el-form-item>
</div>
<div class="card-detail">
<el-form-item :label="'是否是承兑商订单'">
<span :style="{color:detailInfoList.isAcceptorOrder?'red':'#000'}">{{ detailInfoList.isAcceptorOrder?'是':'否' }}</span>
</el-form-item>
<el-form-item label="收款卡号">
{{ detailInfoList.carddealerCardNumber }}
</el-form-item>

4
src/views/system/user/index.vue

@ -143,7 +143,7 @@
<!-- 添加或修改用户配置对话框 -->
<el-dialog :title="title" :visible.sync="open" width="600px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- <el-row>
<el-col :span="12">
<el-form-item label="用户昵称" prop="nickName">
@ -219,7 +219,7 @@
<el-row>
<el-col :span="12">
<el-form-item label="登录白名单" prop="ipWhiteList">
<el-form-item label="登录白名单" prop="ipWhiteList" label-width="150">
<el-input v-model="form.ipWhiteList" placeholder="请输入登录白名单" />
</el-form-item>
</el-col>

Loading…
Cancel
Save