You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
803 lines
35 KiB
803 lines
35 KiB
<template>
|
|
<div class="app-container">
|
|
<div class="flexBet searchTop">
|
|
<div class="title flex m20">
|
|
<div class="bar"></div>
|
|
<div class="text">{{ $route.meta.title }}</div>
|
|
</div>
|
|
<el-row :gutter="10" class="mb8">
|
|
|
|
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
|
|
</el-row>
|
|
</div>
|
|
<div class="bg">
|
|
<el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="96px"
|
|
class="flex form" style="padding:0 20px">
|
|
<el-form-item label="商户订单号" prop="outTradeNo">
|
|
<el-input size="medium" v-model="queryParams.outTradeNo" placeholder="请输入商户订单号"
|
|
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
|
|
</el-form-item>
|
|
<el-form-item label="平台订单号" prop="noOrder">
|
|
<el-input size="medium" v-model="queryParams.noOrder" 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="acctId">
|
|
<el-input size="medium" v-model="queryParams.acctId" placeholder="请输入银行卡号"
|
|
@keyup.enter.native="handleQuery" style="width: 215px;border-color: #E6F1FF;" />
|
|
</el-form-item>
|
|
<el-form-item label="代付状态" prop="orderStatus">
|
|
<el-select v-model="queryParams.orderStatus" placeholder="请选择代付状态" size="medium">
|
|
<el-option v-for="dict in dict.type.payment_status" :key="dict.value" :label="dict.label"
|
|
:value="dict.value" />
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="出金渠道" prop="outChannel">
|
|
<el-select v-model="queryParams.outChannel" 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="isPayment">
|
|
<el-select v-model="queryParams.isPayment" placeholder="请选择是否发起代付" size="medium">
|
|
<el-option v-for="dict in dict.type.yes_no" :key="dict.value" :label="dict.label"
|
|
:value="dict.value" />
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="订单来源" prop="sourceType">
|
|
<el-select v-model="queryParams.sourceType" placeholder="请选择订单来源" size="medium">
|
|
<el-option v-for="dict in dict.type.source_type" :key="dict.value" :label="dict.label"
|
|
:value="dict.value" />
|
|
</el-select>
|
|
</el-form-item>
|
|
|
|
<el-form-item label="创建时间">
|
|
<el-date-picker v-model="dateRange[0]" size="small" style="width: 340px"
|
|
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>
|
|
|
|
<el-form-item label="更新时间">
|
|
<el-date-picker v-model="dateRange[1]" size="small" style="width: 340px"
|
|
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>
|
|
|
|
|
|
<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-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="['record:platform_payment_export']">导出</el-button>
|
|
</el-col>
|
|
<!-- <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-row>
|
|
</div>
|
|
|
|
</el-form-item>
|
|
|
|
|
|
|
|
</el-form>
|
|
<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="150">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.outTradeNo }}<br />
|
|
{{ scope.row.noOrder }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column :label="'开户名'" align="center" prop="storeNo" min-width="80">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.acctName }}
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column :label="'银行名称'" align="center" prop="storeNo" min-width="100">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.bankName }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column :label="'银行卡号'" align="center" prop="storeNo" min-width="120">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.acctId }}<br />
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column :label="'代付金额\n代付手续费'" align="center" prop="storeNo">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.tranAmt }}<br />
|
|
{{ scope.row.tranFee }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column :label="'代付状态\n是否发起'" align="center" prop="storeNo">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.orderStatusName }}<br />
|
|
{{ scope.row.isPayment == 'yes' ? '已发起' : '未发起' }}
|
|
</template>
|
|
</el-table-column>
|
|
|
|
<el-table-column :label="'出金渠道'" align="center" prop="storeNo" min-width="120">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.outChannelName }}
|
|
</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.createTime }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column :label="'订单来源'" align="center" prop="storeNo" min-width="80">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.sourceType == 's_manual' ? '手工提单' : 'API下发' }}
|
|
</template>
|
|
</el-table-column>
|
|
|
|
|
|
<el-table-column :label="'订单信息'" align="center" prop="orderMsg" min-width="100" />
|
|
|
|
<el-table-column :label="'备注'" align="center" prop="memo" min-width="100" />
|
|
|
|
|
|
<el-table-column :label="'更新时间'" align="center" prop="storeNo" min-width="120">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.updateTime }}
|
|
</template>
|
|
</el-table-column>
|
|
<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' || scope.row.orderStatus == 'processfailed'"
|
|
type="text" style="color: #006EFF;" @click="handleRecharge(scope.row)"
|
|
v-hasPermi="['order:rechargeRecord:reissueNotice']">补发通知</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="信息" :visible.sync="isShowDetail" width="500px" append-to-body
|
|
:close-on-click-modal="false" :before-close="cancel">
|
|
<div class="m20">确认要处理当前代付订单?</div>
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
|
|
<el-form-item label="订单状态" prop="orderStatus">
|
|
<el-select v-model="form.orderStatus" placeholder="请选择订单状态" clearable size="medium">
|
|
<el-option v-for="(item, i) in orderStatusType" :key="i" :label="item.label"
|
|
:value="item.value"></el-option>
|
|
</el-select>
|
|
</el-form-item>
|
|
<el-form-item label="谷歌动态验证码" prop="googleCode">
|
|
<el-input v-model="form.googleCode" placeholder="请输入谷歌动态验证码" style="width:217px" />
|
|
</el-form-item>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button :disabled="!form.orderStatus || !form.googleCode" :type="form.orderStatus&&form.googleCode ? 'primary' : 'info'" icon="" size="small"
|
|
@click="submitForm('processsuccess')">确定</el-button>
|
|
<el-button plain size="small" @click="cancel">取消</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
|
|
|
|
<!-- 审核 -->
|
|
<el-dialog v-dialogDrag title="代付审核" :visible.sync="isShowJudege" 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="auditStatus">
|
|
<el-radio-group v-model="form.auditStatus" @change="getValue">
|
|
<el-radio v-for="(item, i) in statusOptions" :key="i" :value="item.label"
|
|
:label="item.value">{{ item.label }}</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item label="谷歌验证码" prop="googleCode">
|
|
<el-input v-model="form.googleCode" placeholder="请输入谷歌动态验证码" />
|
|
</el-form-item>
|
|
<el-form-item label="驳回原因" prop="rejectReason" v-if="form.auditStatus == 'processreject'">
|
|
<el-input v-model="form.rejectReason" placeholder="请输入驳回原因" />
|
|
</el-form-item>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button type="primary" @click="submitForm('judge')">确 定</el-button>
|
|
<el-button @click="cancel">取 消</el-button>
|
|
</div>
|
|
</el-dialog>
|
|
|
|
<!-- 详情 -->
|
|
<el-dialog v-dialogDrag :close-on-click-modal="false" title="详情" :visible.sync="isShowDetailMy" width="60%"
|
|
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.memo }}
|
|
</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, payOrder } from "@/api/form";
|
|
|
|
export default {
|
|
name: "PkAdWeiList",
|
|
dicts: ['pay_status', 'source_type', 'yes_no', 'payment_status'],
|
|
data() {
|
|
return {
|
|
orderStatusType: [
|
|
{
|
|
label: '成功',
|
|
value: 'processsuccess',
|
|
},
|
|
{
|
|
label: '驳回',
|
|
value: 'processfailed',
|
|
},
|
|
],
|
|
typeCon: [
|
|
{
|
|
label: '商户',
|
|
value: 'store',
|
|
},
|
|
{
|
|
label: '代理商',
|
|
value: 'agent',
|
|
},
|
|
],
|
|
statusOptions: [
|
|
{
|
|
label: '通过',
|
|
value: 'processing',
|
|
},
|
|
{
|
|
label: '驳回',
|
|
value: 'processreject',
|
|
},
|
|
],
|
|
detailData: {},
|
|
isShowDetail: false,
|
|
isShowJudege: false,
|
|
pickerOptions: {
|
|
shortcuts: [
|
|
{
|
|
text: '最近一天',
|
|
onClick(picker) {
|
|
const end = new Date();
|
|
const start = new Date();
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
},
|
|
{
|
|
text: '最近三天',
|
|
onClick(picker) {
|
|
const end = new Date();
|
|
const start = new Date();
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 3);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
},
|
|
{
|
|
text: '最近一周',
|
|
onClick(picker) {
|
|
const end = new Date();
|
|
const start = new Date();
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
},
|
|
{
|
|
text: '最近一个月',
|
|
onClick(picker) {
|
|
const end = new Date();
|
|
const start = new Date();
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
},
|
|
{
|
|
text: '最近三个月',
|
|
onClick(picker) {
|
|
const end = new Date();
|
|
const start = new Date();
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30 * 3);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
},
|
|
{
|
|
text: '最近半年',
|
|
onClick(picker) {
|
|
const end = new Date();
|
|
const start = new Date();
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30 * 6);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
},
|
|
{
|
|
text: '最近一年',
|
|
onClick(picker) {
|
|
const end = new Date();
|
|
const start = new Date();
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30 * 12);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
},
|
|
{
|
|
text: '最近两年',
|
|
onClick(picker) {
|
|
const end = new Date();
|
|
const start = new Date();
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30 * 24);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
},
|
|
{
|
|
text: '最近三年',
|
|
onClick(picker) {
|
|
const end = new Date();
|
|
const start = new Date();
|
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30 * 36);
|
|
picker.$emit('pick', [start, end]);
|
|
}
|
|
},
|
|
]
|
|
},
|
|
userLevType: [
|
|
|
|
],
|
|
sortLevType: [],
|
|
// 选中数组
|
|
ids: [],
|
|
idskey: [],
|
|
// 非单个禁用
|
|
single: true,
|
|
// 非多个禁用
|
|
multiple: true,
|
|
dateRange: [],
|
|
// 新增广告图片地址
|
|
imageUrl: "",
|
|
// 遮罩层
|
|
loading: true,
|
|
// 导出遮罩层
|
|
exportLoading: false,
|
|
paymentIds: [],
|
|
// 非多个禁用
|
|
multiple: true,
|
|
// 显示搜索条件
|
|
showSearch: true,
|
|
// 总条数
|
|
total: 0,
|
|
// 广告表格数据
|
|
infoList: [],
|
|
// 弹出层标题
|
|
title: "",
|
|
// 是否显示弹出层
|
|
open: false,
|
|
// 查询参数
|
|
queryParams: {
|
|
pageNum: 1,
|
|
pageSize: 20,
|
|
sourceType: null,
|
|
isPayment: null,
|
|
outChannel: null,
|
|
channelType: null,
|
|
orderStatus: null,
|
|
certId: null,
|
|
acctId: null,
|
|
acctName: null,
|
|
storeName: null,
|
|
noOrder: null,
|
|
outTradeNo: null,
|
|
batchNo: null,
|
|
userType: null,
|
|
|
|
},
|
|
|
|
// 表单参数
|
|
form: {
|
|
|
|
},
|
|
// 表单校验
|
|
rules: {
|
|
auditStatus: [
|
|
{ required: true, message: "请选择审核状态", trigger: "blur" },
|
|
],
|
|
googleCode: [
|
|
{ required: true, message: "请输入谷歌动态验证码", trigger: "blur" },
|
|
],
|
|
rejectReason: [
|
|
{ required: true, message: "请输入驳回原因", trigger: "blur" },
|
|
],
|
|
},
|
|
// 详情
|
|
isShowDetailMy: false,
|
|
detailInfoList: {},
|
|
};
|
|
},
|
|
created() {
|
|
this.getList();
|
|
this.init();
|
|
|
|
},
|
|
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()
|
|
},
|
|
selectable(row, rowIndex) {
|
|
//索引是从0开始,条件1是指只有第2行数据不被禁用
|
|
if (row.orderStatus == 'processreview') {
|
|
return true; //不禁用
|
|
} else {
|
|
return false; //禁用
|
|
}
|
|
},
|
|
/** 手工处理 */
|
|
handleOrder(row) {
|
|
this.reset()
|
|
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) {
|
|
this.$message.error('请选择要审核的数据')
|
|
return;
|
|
}
|
|
this.isShowJudege = true
|
|
this.form.auditStatus = 'processing'
|
|
},
|
|
init() {
|
|
common_api.payChannelAll().then((response) => {
|
|
this.userLevType = response.data
|
|
});
|
|
common_api.payTypeAll().then((response) => {
|
|
this.sortLevType = response.data
|
|
});
|
|
},
|
|
/** 导出按钮操作 */
|
|
handleExport() {
|
|
const queryParams = this.queryParams;
|
|
this.$confirm("是否确认导出代付流水?", "警告", {
|
|
confirmButtonText: "确定",
|
|
cancelButtonText: "取消",
|
|
type: "warning",
|
|
})
|
|
.then(function () {
|
|
return platform_payment_list.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)
|
|
this.idskey = selection.map(item => item.keyId)
|
|
this.paymentIds = selection.map(item => item.batchNo)
|
|
this.single = selection.length != 1
|
|
this.multiple = !selection.length
|
|
},
|
|
getList() {
|
|
this.loading = true;
|
|
platform_payment_list
|
|
.listInfo(this.addSESDateRange(this.queryParams, this.dateRange, 'type'))
|
|
.then((response) => {
|
|
this.infoList = response.rows;
|
|
this.total = Number(response.total);
|
|
this.loading = false;
|
|
});
|
|
},
|
|
// 取消按钮
|
|
cancel() {
|
|
this.open = false;
|
|
this.isShowDetail = false;
|
|
this.isShowJudege = false
|
|
this.reset();
|
|
},
|
|
// 表单重置
|
|
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();
|
|
const id = row.id || this.ids;
|
|
pkUserInfo.getInfo(id).then((response) => {
|
|
this.form = response.data;
|
|
this.open = true;
|
|
this.title = "修改广告位信息";
|
|
});
|
|
},
|
|
/** 提交按钮 */
|
|
submitForm(type) {
|
|
if (!this.form.googleCode) {
|
|
this.$message.error('请输入谷歌动态验证码')
|
|
return;
|
|
}
|
|
this.$refs["form"].validate((valid) => {
|
|
if (valid) {
|
|
if (type == 'judge') {
|
|
const loading = this.$loading({
|
|
lock: true,
|
|
text: `正在审核`,
|
|
spinner: "el-icon-loading",
|
|
background: "rgba(0, 0, 0, 0.7)",
|
|
});
|
|
this.form.paymentIds = this.paymentIds.join(',')
|
|
platform_payment_list.platform_payment_audit_save(this.form).then((response) => {
|
|
loading.close();
|
|
this.isShowJudege = false;
|
|
this.msgSuccess("审核成功");
|
|
this.getList();
|
|
}).catch(() => {
|
|
loading.close();
|
|
this.isShowJudege = false;
|
|
})
|
|
} else {
|
|
if (!this.form.orderStatus) {
|
|
return;
|
|
}
|
|
const loading = this.$loading({
|
|
lock: true,
|
|
text: `正在手动处理`,
|
|
spinner: "el-icon-loading",
|
|
background: "rgba(0, 0, 0, 0.7)",
|
|
});
|
|
let form = {
|
|
id: this.detailData.id,
|
|
status: this.form.orderStatus,
|
|
googleCode: this.form.googleCode
|
|
}
|
|
platform_payment_list.platform_payment_handle(form).then((response) => {
|
|
loading.close();
|
|
this.isShowDetail = false;
|
|
this.msgSuccess("处理成功");
|
|
this.getList();
|
|
}).catch(() => {
|
|
loading.close();
|
|
this.isShowDetail = false;
|
|
})
|
|
}
|
|
|
|
}
|
|
});
|
|
},
|
|
|
|
},
|
|
};
|
|
</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;
|
|
}
|
|
|
|
::v-deep .el-dialog__headerbtn {
|
|
top: 10px;
|
|
}
|
|
|
|
::v-deep .el-dialog__header {
|
|
background: #F8F8F8;
|
|
padding: 8px;
|
|
|
|
.el-dialog__title {
|
|
font-size: 14px;
|
|
}
|
|
}
|
|
|
|
::v-deep .el-dialog:not(.is-fullscreen) {
|
|
margin-top: 20vh !important;
|
|
}
|
|
</style>
|