Merge branch 'dev' into main
# Conflicts: # jeepay-ui-manager/src/views/order/pay/PayOrderList.vue # jeepay-ui-manager/src/views/order/refund/RefundOrderList.vue # jeepay-ui-manager/src/views/order/transfer/TransferOrderList.vue # jeepay-ui-merchant/src/views/order/pay/PayOrderList.vue # jeepay-ui-merchant/src/views/order/refund/RefundOrderList.vue # jeepay-ui-merchant/src/views/order/transfer/TransferOrderList.vue
This commit is contained in:
commit
600210db9d
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "jeepay-ui-cashier",
|
||||
"version": "1.9.0",
|
||||
"version": "1.10.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "jeepay-ui-manager",
|
||||
"version": "1.9.0",
|
||||
"version": "1.10.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
|
|
|
|||
|
|
@ -16,6 +16,12 @@
|
|||
:row-selection="rowSelection"
|
||||
:rowKey="rowKey"
|
||||
:scroll="{ x: scrollX }"
|
||||
:customRow="(record, index) => {
|
||||
if(!tableRowCrossColor){
|
||||
return {};
|
||||
}
|
||||
return { style: { 'background-color': index % 2 == 0 ? '#FCFCFC' : '#FFFFFF'} }
|
||||
}"
|
||||
>
|
||||
<!-- 自定义列插槽, 参考:https://github.com/feseed/admin-antd-vue/blob/master/src/components/ShTable.vue -->
|
||||
<!-- eslint-disable-next-line -->
|
||||
|
|
@ -41,7 +47,8 @@ export default {
|
|||
pageSize: { type: Number, default: 10 }, // 默认每页条数
|
||||
rowSelection: Object, // checkbox选择
|
||||
rowKey: { type: [String, Function] }, // 定义rowKey 如果不定义将会出现(树状结构出问题, checkbox不消失等)
|
||||
scrollX: { type: Number, default: 800 } // 表格显示滚动条的宽度
|
||||
scrollX: { type: Number, default: 500 }, // 表格显示滚动条的宽度
|
||||
tableRowCrossColor: { type: Boolean, default: false } // 是隔行换色
|
||||
},
|
||||
|
||||
data () {
|
||||
|
|
@ -117,3 +124,23 @@ export default {
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less">
|
||||
|
||||
// 调整antdv 的table默认padding高度
|
||||
.ant-table-fixed{
|
||||
tr{
|
||||
th{
|
||||
padding: 8px 8px !important;
|
||||
}
|
||||
th:first-child{ // 第一个表格 左填充16, 其他为8
|
||||
padding-left: 16px !important;
|
||||
}
|
||||
td{
|
||||
padding: 8px 8px !important;
|
||||
}
|
||||
td:first-child{
|
||||
padding-left: 16px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ export default {
|
|||
}
|
||||
return <div style="display:flex; justify-content: space-evenly;"> {firstEL}
|
||||
<a-dropdown>
|
||||
<a-button class="ant-dropdown-link" type="link" style="line-height:32px">更多<a-icon type="down" /></a-button>
|
||||
<a-button class="ant-dropdown-link" type="link" style="">更多<a-icon type="down" /></a-button>
|
||||
<a-menu slot="overlay">
|
||||
{menuEL}
|
||||
</a-menu>
|
||||
|
|
@ -41,3 +41,9 @@ export default {
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
|
||||
//当前页面的按钮, 减少padding
|
||||
button { padding: 8px !important;}
|
||||
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
:i18nRender="false"
|
||||
v-bind="settings"
|
||||
:breadcrumbRender="handleBreadcrumbRender"
|
||||
:siderWidth="210"
|
||||
>
|
||||
<!-- 1.0.0+ 版本 pro-layout 提供 API,
|
||||
我们推荐使用这种方式进行 LOGO 和 title 自定义
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@
|
|||
:reqTableDataFunc="reqTableDataFunc"
|
||||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
:scrollX="1100"
|
||||
rowKey="isvNo"
|
||||
>
|
||||
<template slot="isvNameSlot" slot-scope="{record}"><b>{{ record.isvName }}</b></template> <!-- 自定义插槽 -->
|
||||
|
|
|
|||
|
|
@ -40,7 +40,6 @@
|
|||
:reqTableDataFunc="reqTableDataFunc"
|
||||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
:scrollX="1200"
|
||||
rowKey="mchNo"
|
||||
>
|
||||
<template slot="mchNameSlot" slot-scope="{record}">
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@
|
|||
:reqTableDataFunc="reqTableDataFunc"
|
||||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
:scrollX="1200"
|
||||
rowKey="appId"
|
||||
>
|
||||
<template slot="appIdSlot" slot-scope="{record}">
|
||||
|
|
|
|||
|
|
@ -10,11 +10,6 @@
|
|||
>
|
||||
<a-form-model ref="infoFormModel" :model="saveObject" layout="vertical" :rules="rules">
|
||||
<a-row :gutter="16">
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="支付接口费率" prop="ifRate">
|
||||
<a-input v-model="saveObject.ifRate" placeholder="请输入" suffix="%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="状态" prop="state">
|
||||
<a-radio-group v-model="saveObject.state">
|
||||
|
|
@ -102,8 +97,8 @@ export default {
|
|||
ifParams: {}, // 参数配置对象
|
||||
rules: {
|
||||
infoId: [{ required: true, trigger: 'blur' }],
|
||||
ifCode: [{ required: true, trigger: 'blur' }],
|
||||
ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
ifCode: [{ required: true, trigger: 'blur' }]
|
||||
// ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
},
|
||||
ifParamsRules: {}
|
||||
}
|
||||
|
|
@ -189,7 +184,7 @@ export default {
|
|||
const reqParams = {}
|
||||
reqParams.infoId = that.saveObject.infoId
|
||||
reqParams.ifCode = that.saveObject.ifCode
|
||||
reqParams.ifRate = that.saveObject.ifRate
|
||||
// reqParams.ifRate = that.saveObject.ifRate
|
||||
reqParams.state = that.saveObject.state
|
||||
reqParams.remark = that.saveObject.remark
|
||||
// 支付参数配置不能为空
|
||||
|
|
|
|||
|
|
@ -76,6 +76,7 @@
|
|||
:reqTableDataFunc="reqTableDataFunc"
|
||||
:tableColumns="tableColumns"
|
||||
:searchData="searchData2"
|
||||
rowKey="wayCode"
|
||||
>
|
||||
<template slot="stateSlot" slot-scope="{record}">
|
||||
<a-badge :status="record.passageState === 0?'error':'processing'" :text="record.passageState === 0?'禁用':'启用'" />
|
||||
|
|
@ -171,7 +172,9 @@ export default {
|
|||
},
|
||||
// 刷新支付接口card列表
|
||||
refCardList () {
|
||||
if (this.$refs.infoCard) {
|
||||
this.$refs.infoCard.refCardList()
|
||||
}
|
||||
},
|
||||
// 请求支付通道数据
|
||||
reqTableDataFunc (params) {
|
||||
|
|
|
|||
|
|
@ -10,11 +10,6 @@
|
|||
>
|
||||
<a-form-model ref="infoFormModel" :model="saveObject" layout="vertical" :rules="rules">
|
||||
<a-row :gutter="16">
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="支付接口费率" prop="ifRate">
|
||||
<a-input v-model="saveObject.ifRate" placeholder="请输入" suffix="%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="状态" prop="state">
|
||||
<a-radio-group v-model="saveObject.state">
|
||||
|
|
@ -162,7 +157,7 @@ export default {
|
|||
saveObject: {}, // 保存的对象
|
||||
ifParams: {}, // 参数配置对象
|
||||
rules: {
|
||||
ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
// ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
},
|
||||
ifParamsRules: {
|
||||
appId: [{ trigger: 'blur',
|
||||
|
|
@ -284,7 +279,7 @@ export default {
|
|||
const reqParams = {}
|
||||
reqParams.infoId = that.saveObject.infoId
|
||||
reqParams.ifCode = that.saveObject.ifCode
|
||||
reqParams.ifRate = that.saveObject.ifRate
|
||||
// reqParams.ifRate = that.saveObject.ifRate
|
||||
reqParams.state = that.saveObject.state
|
||||
reqParams.remark = that.saveObject.remark
|
||||
// 支付参数配置不能为空
|
||||
|
|
|
|||
|
|
@ -10,11 +10,6 @@
|
|||
>
|
||||
<a-form-model ref="infoFormModel" :model="saveObject" layout="vertical" :rules="rules">
|
||||
<a-row :gutter="16">
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="支付接口费率" prop="ifRate">
|
||||
<a-input v-model="saveObject.ifRate" placeholder="请输入" suffix="%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="状态" prop="state">
|
||||
<a-radio-group v-model="saveObject.state">
|
||||
|
|
@ -157,7 +152,7 @@ export default {
|
|||
saveObject: {}, // 保存的对象
|
||||
ifParams: { apiVersion: 'V2' }, // 参数配置对象
|
||||
rules: {
|
||||
ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
// ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
},
|
||||
ifParamsRules: {
|
||||
mchId: [{ trigger: 'blur',
|
||||
|
|
@ -290,7 +285,7 @@ export default {
|
|||
const reqParams = {}
|
||||
reqParams.infoId = that.saveObject.infoId
|
||||
reqParams.ifCode = that.saveObject.ifCode
|
||||
reqParams.ifRate = that.saveObject.ifRate
|
||||
// reqParams.ifRate = that.saveObject.ifRate
|
||||
reqParams.state = that.saveObject.state
|
||||
reqParams.remark = that.saveObject.remark
|
||||
// 支付参数配置不能为空
|
||||
|
|
|
|||
|
|
@ -55,7 +55,6 @@
|
|||
:searchData="searchData"
|
||||
:rowSelection="rowSelection"
|
||||
rowKey="orderId"
|
||||
:scrollX="1050"
|
||||
>
|
||||
<template slot="stateSlot" slot-scope="{record}">
|
||||
<a-tag
|
||||
|
|
|
|||
|
|
@ -20,6 +20,14 @@
|
|||
<jeepay-text-up :placeholder="'商户号'" :msg="searchData.mchNo" v-model="searchData.mchNo" />
|
||||
<jeepay-text-up :placeholder="'服务商号'" :msg="searchData.isvNo" v-model="searchData.isvNo" />
|
||||
<jeepay-text-up :placeholder="'应用AppId'" :msg="searchData.appId" v-model="searchData.appId"/>
|
||||
<a-form-item v-if="$access('ENT_PAY_ORDER_SEARCH_PAY_WAY')" label="" class="table-head-layout">
|
||||
<a-select v-model="searchData.wayCode" placeholder="支付方式" default-value="">
|
||||
<a-select-option value="">全部</a-select-option>
|
||||
<a-select-option :key="item.wayCode" v-for="item in payWayList" :value="item.wayCode">
|
||||
{{ item.wayName }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item label="" class="table-head-layout">
|
||||
<a-select v-model="searchData.state" placeholder="支付状态" default-value="">
|
||||
<a-select-option value="">全部</a-select-option>
|
||||
|
|
@ -39,14 +47,6 @@
|
|||
<a-select-option value="1">已发送</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item v-if="$access('ENT_PAY_ORDER_SEARCH_PAY_WAY')" label="" class="table-head-layout">
|
||||
<a-select v-model="searchData.wayCode" placeholder="支付方式" default-value="">
|
||||
<a-select-option value="">全部</a-select-option>
|
||||
<a-select-option :key="item.wayCode" v-for="item in payWayList" :value="item.wayCode">
|
||||
{{ item.wayName }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item label="" class="table-head-layout">
|
||||
<a-select v-model="searchData.divisionState" placeholder="分账状态" default-value="">
|
||||
<a-select-option value="">全部</a-select-option>
|
||||
|
|
@ -73,31 +73,24 @@
|
|||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
rowKey="payOrderId"
|
||||
:scrollX="1350"
|
||||
:tableRowCrossColor="true"
|
||||
>
|
||||
<template slot="amountSlot" slot-scope="{record}"><b>¥{{ record.amount/100 }}</b></template> <!-- 自定义插槽 -->
|
||||
<template slot="refundAmountSlot" slot-scope="{record}">¥{{ record.refundAmount/100 }}</template> <!-- 自定义插槽 -->
|
||||
<template slot="stateSlot" slot-scope="{record}">
|
||||
<a-tag
|
||||
:key="record.state"
|
||||
:color="record.state === 0?'blue':record.state === 1?'orange':record.state === 2?'green':'volcano'"
|
||||
:color="record.state === 0?'blue':record.state === 1?'orange':record.state === 2?'green':record.state === 6?'':'volcano'"
|
||||
>
|
||||
{{ record.state === 0?'订单生成':record.state === 1?'支付中':record.state === 2?'支付成功':record.state === 3?'支付失败':record.state === 4?'已撤销':record.state === 5?'已退款':record.state === 6?'订单关闭':'未知' }}
|
||||
</a-tag>
|
||||
</template>
|
||||
<template slot="refundStateSlot" slot-scope="{record}">
|
||||
<a-tag
|
||||
:key="record.refundState"
|
||||
:color="record.refundState === 0?'blue':record.refundState === 1?'orange':record.refundState === 2?'green':'volcano'"
|
||||
>
|
||||
{{ record.refundState === 0?'未发起':record.refundState === 1?'部分退款':record.refundState === 2?'全额退款':'未知' }}
|
||||
</a-tag>
|
||||
</template>
|
||||
<template slot="divisionStateSlot" slot-scope="{record}">
|
||||
<a-tag color="blue" v-if="record.divisionState == 0">未发生分账</a-tag>
|
||||
<span v-if="record.divisionState == 0"> - </span>
|
||||
<a-tag color="orange" v-else-if="record.divisionState == 1">待分账</a-tag>
|
||||
<a-tag color="red" v-else-if="record.divisionState == 2">分账处理中</a-tag>
|
||||
<a-tag color="green" v-else-if="record.divisionState == 3">任务已结束</a-tag>
|
||||
<a-tag color="#f50" v-else>未知</a-tag>
|
||||
<span v-else>未知</span>
|
||||
</template>
|
||||
<template slot="notifySlot" slot-scope="{record}">
|
||||
<a-badge :status="record.notifyState === 1?'processing':'error'" :text="record.notifyState === 1?'已发送':'未发送'" />
|
||||
|
|
@ -105,14 +98,31 @@
|
|||
<template slot="orderSlot" slot-scope="{record}">
|
||||
<div class="order-list">
|
||||
<p><span style="color:#729ED5;background:#e7f5f7">支付</span>{{ record.payOrderId }}</p>
|
||||
<p><span style="color:#56cf56;background:#d8eadf">商户</span>{{ record.mchOrderNo }}</p>
|
||||
<p v-if="record.channelOrderNo"><span style="color:#fff;background:#E09C4D">渠道</span>{{ record.channelOrderNo }}</p>
|
||||
<p style="margin-bottom: 0">
|
||||
<span style="color:#56cf56;background:#d8eadf">商户</span>
|
||||
<a-tooltip placement="bottom" style="font-weight: normal;" v-if="record.mchOrderNo.length > record.payOrderId.length">
|
||||
<template slot="title">
|
||||
<span>{{ record.mchOrderNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.mchOrderNo, record.payOrderId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.mchOrderNo }}</span>
|
||||
</p>
|
||||
<p v-if="record.channelOrderNo" style="margin-bottom: 0;margin-top: 10px">
|
||||
<span style="color:#fff;background:#E09C4D;">渠道</span>
|
||||
<a-tooltip placement="bottom" style="font-weight: normal;" v-if="record.channelOrderNo.length > record.payOrderId.length">
|
||||
<template slot="title">
|
||||
<span>{{ record.channelOrderNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.channelOrderNo, record.payOrderId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.channelOrderNo }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
<template slot="opSlot" slot-scope="{record}"> <!-- 操作列插槽 -->
|
||||
<JeepayTableColumns>
|
||||
<a-button type="link" v-if="$access('ENT_PAY_ORDER_VIEW')" @click="detailFunc(record.payOrderId)">详情</a-button>
|
||||
|
||||
<a-button type="link" v-if="$access('ENT_PAY_ORDER_REFUND')" style="color: red" v-show="(record.state === 2 && record.refundState !== 2)" @click="openFunc(record, record.payOrderId)">退款</a-button>
|
||||
</JeepayTableColumns>
|
||||
</template>
|
||||
|
|
@ -193,7 +203,7 @@
|
|||
<a-col :sm="12">
|
||||
<a-descriptions>
|
||||
<a-descriptions-item label="订单状态">
|
||||
<a-tag :color="detailData.state === 0?'blue':detailData.state === 1?'orange':detailData.state === 2?'green':'volcano'">
|
||||
<a-tag :color="detailData.state === 0?'blue':detailData.state === 1?'orange':detailData.state === 2?'green':detailData.state === 6?'':'volcano'">
|
||||
{{ detailData.state === 0?'订单生成':detailData.state === 1?'支付中':detailData.state === 2?'支付成功':detailData.state === 3?'支付失败':detailData.state === 4?'已撤销':detailData.state === 5?'已退款':detailData.state === 6?'订单关闭':'未知' }}
|
||||
</a-tag>
|
||||
</a-descriptions-item>
|
||||
|
|
@ -402,19 +412,19 @@ import moment from 'moment'
|
|||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const tableColumns = [
|
||||
{ key: 'amount', title: '支付金额', ellipsis: true, width: '130px', fixed: 'left', scopedSlots: { customRender: 'amountSlot' } },
|
||||
{ key: 'mchFeeAmount', dataIndex: 'mchFeeAmount', title: '手续费', customRender: (text) => '¥' + (text / 100).toFixed(2) },
|
||||
{ key: 'mchName', title: '商户名称', dataIndex: 'mchName', ellipsis: true, width: '100px' },
|
||||
{ key: 'orderNo', title: '订单号', scopedSlots: { customRender: 'orderSlot' }, width: '260px' },
|
||||
{ key: 'amount', title: '支付金额', ellipsis: true, width: 108, fixed: 'left', scopedSlots: { customRender: 'amountSlot' } },
|
||||
{ key: 'refundAmount', title: '退款金额', width: 108, scopedSlots: { customRender: 'refundAmountSlot' } },
|
||||
{ key: 'mchFeeAmount', dataIndex: 'mchFeeAmount', title: '手续费', customRender: (text) => '¥' + (text / 100).toFixed(2), width: 100 },
|
||||
{ key: 'mchName', title: '商户名称', dataIndex: 'mchName', ellipsis: true, width: 100 },
|
||||
{ key: 'orderNo', title: '订单号', scopedSlots: { customRender: 'orderSlot' }, width: 210 },
|
||||
// { key: 'payOrderId', title: '支付订单号', dataIndex: 'payOrderId' },
|
||||
// { key: 'mchOrderNo', title: '商户订单号', dataIndex: 'mchOrderNo' },
|
||||
{ key: 'wayName', title: '支付方式', dataIndex: 'wayName', width: 150 },
|
||||
{ key: 'wayName', title: '支付方式', dataIndex: 'wayName', width: 120 },
|
||||
{ key: 'state', title: '支付状态', scopedSlots: { customRender: 'stateSlot' }, width: 100 },
|
||||
{ key: 'refundState', title: '退款状态', scopedSlots: { customRender: 'refundStateSlot' }, width: 100 },
|
||||
{ key: 'divisionState', title: '分账状态', scopedSlots: { customRender: 'divisionStateSlot' } },
|
||||
{ key: 'notifyState', title: '回调状态', scopedSlots: { customRender: 'notifySlot' }, width: 100 },
|
||||
{ key: 'createdAt', dataIndex: 'createdAt', title: '创建日期', width: 180 },
|
||||
{ key: 'op', title: '操作', width: '160px', fixed: 'right', align: 'center', scopedSlots: { customRender: 'opSlot' } }
|
||||
{ key: 'divisionState', title: '分账状态', scopedSlots: { customRender: 'divisionStateSlot' }, width: 100 },
|
||||
{ key: 'createdAt', dataIndex: 'createdAt', title: '创建日期', width: 120 },
|
||||
{ key: 'op', title: '操作', width: 120, fixed: 'right', align: 'center', scopedSlots: { customRender: 'opSlot' } }
|
||||
]
|
||||
|
||||
export default {
|
||||
|
|
@ -482,6 +492,10 @@ export default {
|
|||
req.list(API_URL_PAYWAYS_LIST, { 'pageSize': -1 }).then(res => { // 支付方式下拉列表
|
||||
that.payWayList = res.records
|
||||
})
|
||||
},
|
||||
changeStr2ellipsis (orderNo, baseLength) {
|
||||
const halfLengh = parseInt(baseLength / 2)
|
||||
return orderNo.substring(0, halfLengh - 1) + '...' + orderNo.substring(orderNo.length - halfLengh, orderNo.length)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,9 +54,8 @@
|
|||
:reqTableDataFunc="reqTableDataFunc"
|
||||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
:rowSelection="rowSelection"
|
||||
rowKey="refundOrderId"
|
||||
:scrollX="1350"
|
||||
:tableRowCrossColor="true"
|
||||
>
|
||||
<template slot="payAmountSlot" slot-scope="{record}"><b>¥{{ record.payAmount/100 }}</b></template> <!-- 自定义插槽 -->
|
||||
<template slot="refundAmountSlot" slot-scope="{record}"><b>¥{{ record.refundAmount/100 }}</b></template> <!-- 自定义插槽 -->
|
||||
|
|
@ -72,14 +71,32 @@
|
|||
<template slot="payOrderSlot" slot-scope="{record}">
|
||||
<div class="order-list">
|
||||
<p><span style="color:#729ED5;background:#e7f5f7">支付</span>{{ record.payOrderId }}</p>
|
||||
<p v-if="record.channelPayOrderNo"><span style="color:#fff;background:#E09C4D">渠道</span>{{ record.channelPayOrderNo }}</p>
|
||||
<p v-if="record.channelPayOrderNo" style="margin-bottom: 0;">
|
||||
<span style="color:#fff;background:#E09C4D">渠道</span>
|
||||
<a-tooltip placement="bottom" style="font-weight: normal;" v-if="record.channelPayOrderNo.length > record.payOrderId.length">
|
||||
<template slot="title">
|
||||
<span>{{ record.channelPayOrderNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.channelPayOrderNo, record.payOrderId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.channelPayOrderNo }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template slot="refundOrderSlot" slot-scope="{record}">
|
||||
<div class="order-list">
|
||||
<p><span style="color:#729ED5;background:#e7f5f7">退款</span>{{ record.refundOrderId }}</p>
|
||||
<p><span style="color:#56cf56;background:#d8eadf">商户</span>{{ record.mchRefundNo }}</p>
|
||||
<p style="margin-bottom: 0;">
|
||||
<span style="color:#56cf56;background:#d8eadf">商户</span>
|
||||
<a-tooltip placement="bottom" style="font-weight: normal;" v-if="record.mchRefundNo.length > record.payOrderId.length">
|
||||
<template slot="title">
|
||||
<span>{{ record.mchRefundNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.mchRefundNo, record.refundOrderId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.mchRefundNo }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
<template slot="opSlot" slot-scope="{record}"> <!-- 操作列插槽 -->
|
||||
|
|
@ -309,16 +326,15 @@
|
|||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const tableColumns = [
|
||||
{ key: 'payAmount', title: '支付金额', fixed: 'left', scopedSlots: { customRender: 'payAmountSlot' } },
|
||||
{ key: 'refundAmount', title: '退款金额', scopedSlots: { customRender: 'refundAmountSlot' } },
|
||||
{ key: 'pay', title: '退款订单号', scopedSlots: { customRender: 'refundOrderSlot' }, width: '260px' },
|
||||
{ key: 'refund', title: '支付订单号', scopedSlots: { customRender: 'payOrderSlot' }, width: '260px' },
|
||||
// { key: 'refundOrderId', title: '退款订单号', dataIndex: 'refundOrderId' },
|
||||
{ key: 'payAmount', title: '支付金额', ellipsis: true, fixed: 'left', scopedSlots: { customRender: 'payAmountSlot' }, width: 100 },
|
||||
{ key: 'refundAmount', title: '退款金额', ellipsis: true, scopedSlots: { customRender: 'refundAmountSlot' }, width: 100 },
|
||||
{ key: 'pay', title: '退款订单号', scopedSlots: { customRender: 'refundOrderSlot' }, width: 220 },
|
||||
{ key: 'refund', title: '支付订单号', scopedSlots: { customRender: 'payOrderSlot' }, width: 220 },
|
||||
// { key: 'payOrderId', title: '支付订单号', dataIndex: 'payOrderId' },
|
||||
// { key: 'mchRefundNo', title: '商户退款单号', dataIndex: 'mchRefundNo' },
|
||||
{ key: 'state', title: '状态', scopedSlots: { customRender: 'stateSlot' }, width: 100 },
|
||||
{ key: 'createdAt', dataIndex: 'createdAt', title: '创建日期' },
|
||||
{ key: 'op', title: '操作', width: '100px', fixed: 'right', align: 'center', scopedSlots: { customRender: 'opSlot' } }
|
||||
{ key: 'createdAt', dataIndex: 'createdAt', title: '创建日期', width: 120 },
|
||||
{ key: 'op', title: '操作', width: 100, fixed: 'right', scopedSlots: { customRender: 'opSlot' } }
|
||||
]
|
||||
|
||||
export default {
|
||||
|
|
@ -337,17 +353,6 @@
|
|||
}
|
||||
},
|
||||
computed: {
|
||||
rowSelection () {
|
||||
const that = this
|
||||
return {
|
||||
onChange: (selectedRowKeys, selectedRows) => {
|
||||
that.selectedIds = [] // 清空选中数组
|
||||
selectedRows.forEach(function (data) { // 赋值选中参数
|
||||
that.selectedIds.push(data.payOrderId)
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
mounted () {
|
||||
},
|
||||
|
|
@ -380,6 +385,10 @@
|
|||
},
|
||||
onClose () {
|
||||
this.visible = false
|
||||
},
|
||||
changeStr2ellipsis (orderNo, baseLength) {
|
||||
const halfLengh = parseInt(baseLength / 2)
|
||||
return orderNo.substring(0, halfLengh - 1) + '...' + orderNo.substring(orderNo.length - halfLengh, orderNo.length)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@
|
|||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
rowKey="transferId"
|
||||
:scrollX="1350"
|
||||
:tableRowCrossColor="true"
|
||||
>
|
||||
<template slot="transferAmountSlot" slot-scope="{record}"><b>¥{{ record.amount/100 }}</b></template> <!-- 自定义插槽 -->
|
||||
<template slot="stateSlot" slot-scope="{record}">
|
||||
|
|
@ -60,8 +60,26 @@
|
|||
<template slot="orderSlot" slot-scope="{record}">
|
||||
<div class="order-list">
|
||||
<p><span style="color:#729ED5;background:#e7f5f7">转账</span>{{ record.transferId }}</p>
|
||||
<p><span style="color:#56cf56;background:#d8eadf">商户</span>{{ record.mchOrderNo }}</p>
|
||||
<p v-if="record.channelOrderNo"><span style="color:#fff;background:#E09C4D">渠道</span>{{ record.channelOrderNo }}</p>
|
||||
<p style="margin-bottom: 0;">
|
||||
<span style="color:#56cf56;background:#d8eadf">商户</span>
|
||||
<a-tooltip placement="bottom" style="font-weight: normal;" v-if="record.mchOrderNo.length > record.transferId.length">
|
||||
<template slot="title">
|
||||
<span>{{ record.mchOrderNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.mchOrderNo, record.transferId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.mchOrderNo }}</span>
|
||||
</p>
|
||||
<p v-if="record.channelOrderNo" style="margin-bottom: 0;margin-top: 10px">
|
||||
<span style="color:#fff;background:#E09C4D">渠道</span>
|
||||
<a-tooltip placement="bottom" style="font-weight: normal;" v-if="record.channelOrderNo.length > record.transferId.length">
|
||||
<template slot="title">
|
||||
<span>{{ record.channelOrderNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.channelOrderNo, record.transferId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.channelOrderNo }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
<template slot="opSlot" slot-scope="{record}"> <!-- 操作列插槽 -->
|
||||
|
|
@ -87,11 +105,9 @@
|
|||
|
||||
// eslint-disable-next-line no-unused-vars
|
||||
const tableColumns = [
|
||||
{ title: '转账金额', scopedSlots: { customRender: 'transferAmountSlot' } },
|
||||
{ title: '转账金额', scopedSlots: { customRender: 'transferAmountSlot' }, width: 108 },
|
||||
{ title: '商户名称', dataIndex: 'mchName' },
|
||||
{ key: 'orderNo', title: '订单号', scopedSlots: { customRender: 'orderSlot' }, width: '260px' },
|
||||
// { title: '转账订单号', dataIndex: 'transferId' },
|
||||
// { title: '商户转账单号', dataIndex: 'mchOrderNo' },
|
||||
{ key: 'orderNo', title: '订单号', scopedSlots: { customRender: 'orderSlot' }, width: 210 },
|
||||
// { title: '渠道订单号', dataIndex: 'channelOrderNo' },
|
||||
{ title: '收款账号', dataIndex: 'accountNo' },
|
||||
{ title: '收款人姓名', dataIndex: 'accountName' },
|
||||
|
|
@ -135,6 +151,10 @@
|
|||
},
|
||||
disabledDate (current) { // 今日之后日期不可选
|
||||
return current && current > moment().endOf('day')
|
||||
},
|
||||
changeStr2ellipsis (orderNo, baseLength) {
|
||||
const halfLengh = parseInt(baseLength / 2)
|
||||
return orderNo.substring(0, halfLengh - 1) + '...' + orderNo.substring(orderNo.length - halfLengh, orderNo.length)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,7 +24,6 @@
|
|||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
rowKey="wayCode"
|
||||
:scrollX="500"
|
||||
>
|
||||
<template slot="wayCodeSlot" slot-scope="{record}"><b>{{ record.wayCode }}</b></template> <!-- 自定义插槽 -->
|
||||
<template slot="opSlot" slot-scope="{record}"> <!-- 操作列插槽 -->
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@
|
|||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
@btnLoadClose="btnLoading=false"
|
||||
:scrollX="500"
|
||||
rowKey="roleName"
|
||||
>
|
||||
<template slot="roleIdSlot" slot-scope="{record}"><b>{{ record.roleId }}</b></template> <!-- 自定义插槽 -->
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@
|
|||
:searchData="searchData"
|
||||
:rowSelection="rowSelection"
|
||||
rowKey="sysLogId"
|
||||
:scrollX="1200"
|
||||
>
|
||||
<template slot="userNameSlot" slot-scope="{record}"><b>{{ record.userName }}</b></template> <!-- 自定义插槽 -->
|
||||
<template slot="sysTypeSlot" slot-scope="{record}">
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
rowKey="sysUserId"
|
||||
:scrollX="1350"
|
||||
>
|
||||
|
||||
<template slot="avatarSlot" slot-scope="{record}">
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "jeepay-ui-merchant",
|
||||
"version": "1.9.0",
|
||||
"version": "1.10.0",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
|
|
|
|||
|
|
@ -16,6 +16,12 @@
|
|||
:row-selection="rowSelection"
|
||||
:rowKey="rowKey"
|
||||
:scroll="{ x: scrollX }"
|
||||
:customRow="(record, index) => {
|
||||
if(!tableRowCrossColor){
|
||||
return {};
|
||||
}
|
||||
return { style: { 'background-color': index % 2 == 0 ? '#FCFCFC' : '#FFFFFF'} }
|
||||
}"
|
||||
>
|
||||
<!-- 自定义列插槽, 参考:https://github.com/feseed/admin-antd-vue/blob/master/src/components/ShTable.vue -->
|
||||
<!-- eslint-disable-next-line -->
|
||||
|
|
@ -41,7 +47,8 @@ export default {
|
|||
pageSize: { type: Number, default: 10 }, // 默认每页条数
|
||||
rowSelection: Object, // checkbox选择
|
||||
rowKey: { type: [String, Function] }, // 定义rowKey 如果不定义将会出现(树状结构出问题, checkbox不消失等)
|
||||
scrollX: { type: Number, default: 980 } // 定义表格的最小宽度,在小就会出现横向的滚动条
|
||||
scrollX: { type: Number, default: 800 }, // 定义表格的最小宽度,在小就会出现横向的滚动条
|
||||
tableRowCrossColor: { type: Boolean, default: false } // 是隔行换色
|
||||
},
|
||||
|
||||
data () {
|
||||
|
|
@ -117,3 +124,24 @@ export default {
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less">
|
||||
|
||||
// 调整antdv 的table默认padding高度
|
||||
.ant-table-fixed{
|
||||
tr{
|
||||
th{
|
||||
padding: 8px 8px !important;
|
||||
}
|
||||
th:first-child{ // 第一个表格 左填充16, 其他为8
|
||||
padding-left: 16px !important;
|
||||
}
|
||||
td{
|
||||
padding: 8px 8px !important;
|
||||
}
|
||||
td:first-child{
|
||||
padding-left: 16px !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ export default {
|
|||
}
|
||||
return <div style="display:flex; justify-content: space-evenly;"> {firstEL}
|
||||
<a-dropdown>
|
||||
<a-button style="line-height:32px" type="link" class="ant-dropdown-link">更多<a-icon type="down" /></a-button>
|
||||
<a-button style="" type="link" class="ant-dropdown-link">更多<a-icon type="down" /></a-button>
|
||||
<a-menu slot="overlay">
|
||||
{menuEL}
|
||||
</a-menu>
|
||||
|
|
@ -40,3 +40,9 @@ export default {
|
|||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
|
||||
//当前页面的按钮, 减少padding
|
||||
button { padding: 8px !important;}
|
||||
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
:i18nRender="false"
|
||||
v-bind="settings"
|
||||
:breadcrumbRender="handleBreadcrumbRender"
|
||||
:siderWidth="210"
|
||||
>
|
||||
<!-- 1.0.0+ 版本 pro-layout 提供 API,
|
||||
我们推荐使用这种方式进行 LOGO 和 title 自定义
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
@btnLoadClose="btnLoading=false"
|
||||
:scrollX="500"
|
||||
rowKey="receiverGroupId"
|
||||
>
|
||||
<template slot="opSlot" slot-scope="{record}"> <!-- 操作列插槽 -->
|
||||
|
|
|
|||
|
|
@ -45,7 +45,6 @@
|
|||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
@btnLoadClose="btnLoading=false"
|
||||
:scrollX="500"
|
||||
rowKey="receiverId"
|
||||
>
|
||||
|
||||
|
|
|
|||
|
|
@ -33,8 +33,7 @@
|
|||
:reqTableDataFunc="reqTableDataFunc"
|
||||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
:scrollX="1200"
|
||||
rowKey="mchName"
|
||||
rowKey="appId"
|
||||
>
|
||||
<template slot="appIdSlot" slot-scope="{record}">
|
||||
<b>{{ record.appId }}</b>
|
||||
|
|
|
|||
|
|
@ -10,11 +10,6 @@
|
|||
>
|
||||
<a-form-model ref="infoFormModel" :model="saveObject" layout="vertical" :rules="rules">
|
||||
<a-row :gutter="16">
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="支付接口费率" prop="ifRate">
|
||||
<a-input v-model="saveObject.ifRate" placeholder="请输入" suffix="%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="状态" prop="state">
|
||||
<a-radio-group v-model="saveObject.state">
|
||||
|
|
@ -102,8 +97,8 @@ export default {
|
|||
ifParams: {}, // 参数配置对象
|
||||
rules: {
|
||||
infoId: [{ required: true, trigger: 'blur' }],
|
||||
ifCode: [{ required: true, trigger: 'blur' }],
|
||||
ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
ifCode: [{ required: true, trigger: 'blur' }]
|
||||
// ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
},
|
||||
ifParamsRules: {}
|
||||
}
|
||||
|
|
@ -189,7 +184,7 @@ export default {
|
|||
const reqParams = {}
|
||||
reqParams.infoId = that.saveObject.infoId
|
||||
reqParams.ifCode = that.saveObject.ifCode
|
||||
reqParams.ifRate = that.saveObject.ifRate
|
||||
// reqParams.ifRate = that.saveObject.ifRate
|
||||
reqParams.state = that.saveObject.state
|
||||
reqParams.remark = that.saveObject.remark
|
||||
// 支付参数配置不能为空
|
||||
|
|
|
|||
|
|
@ -75,6 +75,7 @@
|
|||
:reqTableDataFunc="reqTableDataFunc"
|
||||
:tableColumns="tableColumns"
|
||||
:searchData="searchData2"
|
||||
rowKey="wayCode"
|
||||
>
|
||||
<template slot="stateSlot" slot-scope="{record}">
|
||||
<a-badge :status="record.passageState === 0?'error':'processing'" :text="record.passageState === 0?'禁用':'启用'" />
|
||||
|
|
@ -169,7 +170,9 @@ export default {
|
|||
},
|
||||
// 刷新支付接口card列表
|
||||
refCardList () {
|
||||
if (this.$refs.infoCard) {
|
||||
this.$refs.infoCard.refCardList()
|
||||
}
|
||||
},
|
||||
// 请求支付通道数据
|
||||
reqTableDataFunc (params) {
|
||||
|
|
|
|||
|
|
@ -10,11 +10,6 @@
|
|||
>
|
||||
<a-form-model ref="infoFormModel" :model="saveObject" layout="vertical" :rules="rules">
|
||||
<a-row :gutter="16">
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="支付接口费率" prop="ifRate">
|
||||
<a-input v-model="saveObject.ifRate" placeholder="请输入" suffix="%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="状态" prop="state">
|
||||
<a-radio-group v-model="saveObject.state">
|
||||
|
|
@ -162,7 +157,7 @@ export default {
|
|||
saveObject: {}, // 保存的对象
|
||||
ifParams: {}, // 参数配置对象
|
||||
rules: {
|
||||
ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
// ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
},
|
||||
ifParamsRules: {
|
||||
appId: [{ trigger: 'blur',
|
||||
|
|
@ -284,7 +279,7 @@ export default {
|
|||
const reqParams = {}
|
||||
reqParams.infoId = that.saveObject.infoId
|
||||
reqParams.ifCode = that.saveObject.ifCode
|
||||
reqParams.ifRate = that.saveObject.ifRate
|
||||
// reqParams.ifRate = that.saveObject.ifRate
|
||||
reqParams.state = that.saveObject.state
|
||||
reqParams.remark = that.saveObject.remark
|
||||
// 支付参数配置不能为空
|
||||
|
|
|
|||
|
|
@ -10,11 +10,6 @@
|
|||
>
|
||||
<a-form-model ref="infoFormModel" :model="saveObject" layout="vertical" :rules="rules">
|
||||
<a-row :gutter="16">
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="支付接口费率" prop="ifRate">
|
||||
<a-input v-model="saveObject.ifRate" placeholder="请输入" suffix="%" />
|
||||
</a-form-model-item>
|
||||
</a-col>
|
||||
<a-col :span="12">
|
||||
<a-form-model-item label="状态" prop="state">
|
||||
<a-radio-group v-model="saveObject.state">
|
||||
|
|
@ -157,7 +152,7 @@ export default {
|
|||
saveObject: {}, // 保存的对象
|
||||
ifParams: { apiVersion: 'V2' }, // 参数配置对象
|
||||
rules: {
|
||||
ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
// ifRate: [{ required: false, pattern: /^(([1-9]{1}\d{0,1})|(0{1}))(\.\d{1,4})?$/, message: '请输入0-100之间的数字,最多四位小数', trigger: 'blur' }]
|
||||
},
|
||||
ifParamsRules: {
|
||||
mchId: [{ trigger: 'blur',
|
||||
|
|
@ -290,7 +285,7 @@ export default {
|
|||
const reqParams = {}
|
||||
reqParams.infoId = that.saveObject.infoId
|
||||
reqParams.ifCode = that.saveObject.ifCode
|
||||
reqParams.ifRate = that.saveObject.ifRate
|
||||
// reqParams.ifRate = that.saveObject.ifRate
|
||||
reqParams.state = that.saveObject.state
|
||||
reqParams.remark = that.saveObject.remark
|
||||
// 支付参数配置不能为空
|
||||
|
|
|
|||
|
|
@ -18,6 +18,14 @@
|
|||
<!-- <jeepay-text-up :placeholder="'支付订单号'" :msg="searchData.payOrderId" v-model="searchData.payOrderId" />-->
|
||||
<!-- <jeepay-text-up :placeholder="'商户订单号'" :msg="searchData.mchOrderNo" v-model="searchData.mchOrderNo" />-->
|
||||
<jeepay-text-up :placeholder="'应用AppId'" :msg="searchData.appId" v-model="searchData.appId"/>
|
||||
<a-form-item v-if="$access('ENT_PAY_ORDER_SEARCH_PAY_WAY')" label="" class="table-head-layout">
|
||||
<a-select v-model="searchData.wayCode" placeholder="支付方式" default-value="">
|
||||
<a-select-option value="">全部</a-select-option>
|
||||
<a-select-option :key="item.wayCode" v-for="item in payWayList" :value="item.wayCode">
|
||||
{{ item.wayName }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
<a-form-item label="" class="table-head-layout">
|
||||
<a-select v-model="searchData.state" placeholder="支付状态" default-value="">
|
||||
<a-select-option value="">全部</a-select-option>
|
||||
|
|
@ -31,15 +39,6 @@
|
|||
</a-select>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item v-if="$access('ENT_PAY_ORDER_SEARCH_PAY_WAY')" label="" class="table-head-layout">
|
||||
<a-select v-model="searchData.wayCode" placeholder="支付方式" default-value="">
|
||||
<a-select-option value="">全部</a-select-option>
|
||||
<a-select-option :key="item.wayCode" v-for="item in payWayList" :value="item.wayCode">
|
||||
{{ item.wayName }}
|
||||
</a-select-option>
|
||||
</a-select>
|
||||
</a-form-item>
|
||||
|
||||
<a-form-item label="" class="table-head-layout">
|
||||
<a-select v-model="searchData.divisionState" placeholder="分账状态" default-value="">
|
||||
<a-select-option value="">全部</a-select-option>
|
||||
|
|
@ -67,24 +66,51 @@
|
|||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
rowKey="payOrderId"
|
||||
:scrollX="1000"
|
||||
:tableRowCrossColor="true"
|
||||
>
|
||||
<template slot="amountSlot" slot-scope="{record}"><b>¥{{ record.amount/100 }}</b></template> <!-- 自定义插槽 -->
|
||||
<template slot="refundAmountSlot" slot-scope="{record}">¥{{ record.refundAmount/100 }}</template> <!-- 自定义插槽 -->
|
||||
<template slot="stateSlot" slot-scope="{record}">
|
||||
<a-tag
|
||||
:key="record.state"
|
||||
:color="record.state === 0?'blue':record.state === 1?'orange':record.state === 2?'green':'volcano'"
|
||||
:color="record.state === 0?'blue':record.state === 1?'orange':record.state === 2?'green':record.state === 6?'':'volcano'"
|
||||
>
|
||||
{{ record.state === 0?'订单生成':record.state === 1?'支付中':record.state === 2?'支付成功':record.state === 3?'支付失败':record.state === 4?'已撤销':record.state === 5?'已退款':record.state === 6?'订单关闭':'未知' }}
|
||||
</a-tag>
|
||||
</template>
|
||||
|
||||
<template slot="divisionStateSlot" slot-scope="{record}">
|
||||
<a-tag color="blue" v-if="record.divisionState == 0">未发生分账</a-tag>
|
||||
<span v-if="record.divisionState == 0">-</span>
|
||||
<a-tag color="orange" v-else-if="record.divisionState == 1">待分账</a-tag>
|
||||
<a-tag color="red" v-else-if="record.divisionState == 2">分账处理中</a-tag>
|
||||
<a-tag color="green" v-else-if="record.divisionState == 3">任务已结束</a-tag>
|
||||
<a-tag color="#f50" v-else>未知</a-tag>
|
||||
<span v-else>未知</span>
|
||||
</template>
|
||||
|
||||
<template slot="orderSlot" slot-scope="{record}">
|
||||
<div class="order-list">
|
||||
<p><span style="color:#729ED5;background:#e7f5f7">支付</span>{{ record.payOrderId }}</p>
|
||||
<p style="margin-bottom: 0">
|
||||
<span style="color:#56cf56;background:#d8eadf">商户</span>
|
||||
<a-tooltip placement="bottom" style="font-weight: normal;" v-if="record.mchOrderNo.length > record.payOrderId.length">
|
||||
<template slot="title">
|
||||
<span>{{ record.mchOrderNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.mchOrderNo, record.payOrderId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.mchOrderNo }}</span>
|
||||
</p>
|
||||
<p v-if="record.channelOrderNo" style="margin-bottom: 0;margin-top: 10px">
|
||||
<span style="color:#fff;background:#E09C4D">渠道</span>
|
||||
<a-tooltip placement="bottom" style="font-weight: normal;" v-if="record.channelOrderNo.length > record.payOrderId.length">
|
||||
<template slot="title">
|
||||
<span>{{ record.channelOrderNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.channelOrderNo, record.payOrderId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.channelOrderNo }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template slot="orderSlot" slot-scope="{record}">
|
||||
|
|
@ -163,7 +189,7 @@
|
|||
<a-col :sm="12">
|
||||
<a-descriptions>
|
||||
<a-descriptions-item label="订单状态">
|
||||
<a-tag :color="detailData.state === 0?'blue':detailData.state === 1?'orange':detailData.state === 2?'green':'volcano'">
|
||||
<a-tag :color="detailData.state === 0?'blue':detailData.state === 1?'orange':detailData.state === 2?'green':detailData.state === 6?'':'volcano'">
|
||||
{{ detailData.state === 0?'订单生成':detailData.state === 1?'支付中':detailData.state === 2?'支付成功':detailData.state === 3?'支付失败':detailData.state === 4?'已撤销':detailData.state === 5?'已退款':detailData.state === 6?'订单关闭':'未知' }}
|
||||
</a-tag>
|
||||
</a-descriptions-item>
|
||||
|
|
@ -364,15 +390,16 @@ import moment from 'moment'
|
|||
// eslint-disable-next-line no-unused-vars
|
||||
const tableColumns = [
|
||||
{ key: 'amount', title: '支付金额', scopedSlots: { customRender: 'amountSlot' } },
|
||||
{ key: 'refundAmount', title: '退款金额', scopedSlots: { customRender: 'refundAmountSlot' } },
|
||||
{ key: 'mchFeeAmount', dataIndex: 'mchFeeAmount', title: '手续费', customRender: (text) => '¥' + (text / 100).toFixed(2) },
|
||||
{ key: 'orderNo', title: '订单号', scopedSlots: { customRender: 'orderSlot' }, width: '260px' },
|
||||
// { key: 'payOrderId', title: '支付订单号', dataIndex: 'payOrderId' },
|
||||
// { key: 'mchOrderNo', title: '商户订单号', dataIndex: 'mchOrderNo' },
|
||||
{ key: 'wayName', title: '支付方式', dataIndex: 'wayName', width: 150 },
|
||||
{ key: 'state', title: '支付状态', scopedSlots: { customRender: 'stateSlot' } },
|
||||
{ key: 'divisionState', title: '分账状态', scopedSlots: { customRender: 'divisionStateSlot' } },
|
||||
{ key: 'divisionState', title: '分账状态', scopedSlots: { customRender: 'divisionStateSlot' }, align: 'center' },
|
||||
{ key: 'createdAt', dataIndex: 'createdAt', title: '创建日期' },
|
||||
{ key: 'op', title: '操作', width: '100px', fixed: 'right', align: 'center', scopedSlots: { customRender: 'opSlot' } }
|
||||
{ key: 'op', title: '操作', width: '120px', fixed: 'right', align: 'center', scopedSlots: { customRender: 'opSlot' } }
|
||||
]
|
||||
|
||||
export default {
|
||||
|
|
@ -439,11 +466,24 @@ export default {
|
|||
req.list(API_URL_PAYWAYS_LIST, { 'pageSize': -1 }).then(res => { // 支付方式下拉列表
|
||||
that.payWayList = res.records
|
||||
})
|
||||
},
|
||||
changeStr2ellipsis (orderNo, baseLength) {
|
||||
const halfLengh = parseInt(baseLength / 2)
|
||||
return orderNo.substring(0, halfLengh - 1) + '...' + orderNo.substring(orderNo.length - halfLengh, orderNo.length)
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less" scoped>
|
||||
|
||||
///deep/ .ant-table-fixed{
|
||||
// tr{
|
||||
// th{
|
||||
// padding: 0px 0px;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
.order-list {
|
||||
-webkit-text-size-adjust:none;
|
||||
font-size: 12px;
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
:reqTableDataFunc="reqTableDataFunc"
|
||||
:tableColumns="tableColumns"
|
||||
rowKey="refundOrderId"
|
||||
:scrollX="1300"
|
||||
:tableRowCrossColor="true"
|
||||
>
|
||||
<template slot="payAmountSlot" slot-scope="{record}"><b>¥{{ record.payAmount/100 }}</b></template> <!-- 自定义插槽 -->
|
||||
<template slot="refundAmountSlot" slot-scope="{record}"><b>¥{{ record.refundAmount/100 }}</b></template> <!-- 自定义插槽 -->
|
||||
|
|
@ -65,14 +65,32 @@
|
|||
<template slot="payOrderSlot" slot-scope="{record}">
|
||||
<div class="order-list">
|
||||
<p><span style="color:#729ED5;background:#e7f5f7">支付</span>{{ record.payOrderId }}</p>
|
||||
<p v-if="record.channelPayOrderNo"><span style="color:#fff;background:#E09C4D">渠道</span>{{ record.channelPayOrderNo }}</p>
|
||||
<p v-if="record.channelPayOrderNo" style="margin-bottom: 0;">
|
||||
<span style="color:#fff;background:#E09C4D">渠道</span>
|
||||
<a-tooltip placement="bottom" style="font-weight: normal;" v-if="record.channelPayOrderNo.length > record.payOrderId.length">
|
||||
<template slot="title">
|
||||
<span>{{ record.channelPayOrderNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.channelPayOrderNo, record.payOrderId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.channelPayOrderNo }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<template slot="refundOrderSlot" slot-scope="{record}">
|
||||
<div class="order-list">
|
||||
<p><span style="color:#729ED5;background:#e7f5f7">退款</span>{{ record.refundOrderId }}</p>
|
||||
<p><span style="color:#56cf56;background:#d8eadf">商户</span>{{ record.mchRefundNo }}</p>
|
||||
<p style="margin-bottom: 0;">
|
||||
<span style="color:#56cf56;background:#d8eadf">商户</span>
|
||||
<a-tooltip placement="bottom" style="font-weight: normal;" v-if="record.mchRefundNo.length > record.refundOrderId.length">
|
||||
<template slot="title">
|
||||
<span>{{ record.mchRefundNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.mchRefundNo, record.refundOrderId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.mchRefundNo }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
<template slot="opSlot" slot-scope="{record}"> <!-- 操作列插槽 -->
|
||||
|
|
@ -362,6 +380,10 @@
|
|||
},
|
||||
onClose () {
|
||||
this.visible = false
|
||||
},
|
||||
changeStr2ellipsis (orderNo, baseLength) {
|
||||
const halfLengh = parseInt(baseLength / 2)
|
||||
return orderNo.substring(0, halfLengh - 1) + '...' + orderNo.substring(orderNo.length - halfLengh, orderNo.length)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@
|
|||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
rowKey="transferId"
|
||||
:scrollX="1350"
|
||||
:tableRowCrossColor="true"
|
||||
>
|
||||
<template slot="transferAmountSlot" slot-scope="{record}"><b>¥{{ record.amount/100 }}</b></template> <!-- 自定义插槽 -->
|
||||
<template slot="stateSlot" slot-scope="{record}">
|
||||
|
|
@ -59,8 +59,26 @@
|
|||
<template slot="orderSlot" slot-scope="{record}">
|
||||
<div class="order-list">
|
||||
<p><span style="color:#729ED5;background:#e7f5f7">转账</span>{{ record.transferId }}</p>
|
||||
<p><span style="color:#56cf56;background:#d8eadf">商户</span>{{ record.mchOrderNo }}</p>
|
||||
<p v-if="record.channelOrderNo"><span style="color:#fff;background:#E09C4D">渠道</span>{{ record.channelOrderNo }}</p>
|
||||
<p style="margin-bottom: 0">
|
||||
<span style="color:#56cf56;background:#d8eadf">商户</span>
|
||||
<a-tooltip v-if="record.mchOrderNo.length > record.transferId.length" placement="bottom" style="font-weight: normal;">
|
||||
<template slot="title">
|
||||
<span>{{ record.mchOrderNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.mchOrderNo, record.transferId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.mchOrderNo }}</span>
|
||||
</p>
|
||||
<p v-if="record.channelOrderNo" style="margin-bottom: 0;margin-top: 10px">
|
||||
<span style="color:#fff;background:#E09C4D">渠道</span>
|
||||
<a-tooltip v-if="record.channelOrderNo.length > record.transferId.length" placement="bottom" style="font-weight: normal;">
|
||||
<template slot="title">
|
||||
<span>{{ record.channelOrderNo }}</span>
|
||||
</template>
|
||||
{{ changeStr2ellipsis(record.channelOrderNo, record.transferId.length) }}
|
||||
</a-tooltip>
|
||||
<span style="font-weight: normal;" v-else>{{ record.channelOrderNo }}</span>
|
||||
</p>
|
||||
</div>
|
||||
</template>
|
||||
<template slot="opSlot" slot-scope="{record}"> <!-- 操作列插槽 -->
|
||||
|
|
@ -133,6 +151,10 @@
|
|||
},
|
||||
disabledDate (current) { // 今日之后日期不可选
|
||||
return current && current > moment().endOf('day')
|
||||
},
|
||||
changeStr2ellipsis (orderNo, baseLength) {
|
||||
const halfLengh = parseInt(baseLength / 2)
|
||||
return orderNo.substring(0, halfLengh - 1) + '...' + orderNo.substring(orderNo.length - halfLengh, orderNo.length)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,7 +27,6 @@
|
|||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
@btnLoadClose="btnLoading=false"
|
||||
:scrollX="500"
|
||||
rowKey="roleId"
|
||||
>
|
||||
<template slot="roleIdSlot" slot-scope="{record}"><b>{{ record.roleId }}</b></template> <!-- 自定义插槽 -->
|
||||
|
|
|
|||
|
|
@ -30,7 +30,6 @@
|
|||
:tableColumns="tableColumns"
|
||||
:searchData="searchData"
|
||||
rowKey="sysUserId"
|
||||
:scrollX="1300"
|
||||
>
|
||||
|
||||
<template slot="avatarSlot" slot-scope="{record}">
|
||||
|
|
|
|||
Loading…
Reference in New Issue