Merge remote-tracking branch 'origin/hui_dev' into leng_dev

This commit is contained in:
lbw 2023-03-01 10:48:39 +08:00
commit f2f47e229d
10 changed files with 351 additions and 250 deletions

View File

@ -34,7 +34,6 @@
<el-col :span="24" class="mb20">
<el-form-item :label="t('channel.returnUrl')" prop="returnUrl">
<el-input :placeholder="t('channel.inputReturnUrlTip')" v-model="form.returnUrl">
<template v-slot:prepend>Https://</template>
</el-input>
</el-form-item>
</el-col>
@ -43,7 +42,6 @@
<el-col :span="24" class="mb20">
<el-form-item :label="t('channel.notifyUrl')" prop="notifyUrl">
<el-input :placeholder="t('channel.inputNotifyUrlTip')" v-model="form.notifyUrl">
<template v-slot:prepend>Https://</template>
</el-input>
</el-form-item>
</el-col>

View File

@ -44,20 +44,25 @@
</div>
</el-row>
<el-table :data="state.dataList" @selection-change="handleSelectionChange" @sort-change="sortChangeHandle"
style="width: 100%" v-loading="state.loading" max-height="300" border>
border max-height="300" style="width: 100%" v-loading="state.loading">
<el-table-column align="center" type="selection" width="60"/>
<el-table-column :label="t('channel.index')" type="index" width="80" fixed/>
<el-table-column :label="t('channel.appId')" prop="appId" show-overflow-tooltip width="160"/>
<el-table-column :label="t('channel.channelName')" prop="channelName" show-overflow-tooltip width="100"/>
<el-table-column :label="t('channel.index')" fixed type="index" width="80"/>
<el-table-column :label="t('channel.appId')" prop="appId" show-overflow-tooltip width="160"/>
<el-table-column :label="t('channel.channelName')" prop="channelName" show-overflow-tooltip
width="100"/>
<el-table-column :label="t('channel.mchId')" prop="mchId" show-overflow-tooltip width="120"/>
<el-table-column :label="t('channel.state')" prop="state" show-overflow-tooltip width="80"/>
<el-table-column :label="t('channel.state')" prop="state" show-overflow-tooltip width="100">
<template #default="scope">
<dict-tag :options="status_type" :value="scope.row.state"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="t('channel.returnUrl')" prop="returnUrl" show-overflow-tooltip width="200"/>
<el-table-column :label="t('channel.notifyUrl')" prop="notifyUrl" show-overflow-tooltip width="200"/>
<el-table-column :label="t('channel.remark')" prop="remark" show-overflow-tooltip width="120"/>
<el-table-column :label="t('channel.param')" prop="param" show-overflow-tooltip width="160"/>
<el-table-column :label="t('channel.createTime')" prop="createTime" show-overflow-tooltip width="180"/>
<el-table-column :label="$t('common.action')" width="150" fixed="right" fixed-hight="100">
<el-table-column :label="$t('common.action')" fixed="right" width="150">
<template #default="scope">
<el-button @click="formDialogRef.openDialog(scope.row.id)" text type="primary"
v-auth="'pay_channel_edit'">{{ $t('common.editBtn') }}

View File

@ -3,14 +3,20 @@
<el-card class="layout-padding-auto">
<el-row class="mb8" v-show="showSearch">
<el-form :inline="true" :model="state.queryForm" @keyup.enter="getDataList" ref="queryRef">
<el-form-item :label="$t('order.goodsOrderId')" prop="goodsOrderId">
<el-input :placeholder="t('order.inputGoodsOrderIdTip')" style="max-width: 180px"
v-model="state.queryForm.goodsOrderId"/>
</el-form-item>
<el-form-item :label="$t('order.goodsName')" prop="goodsName">
<el-input :placeholder="t('order.inputGoodsNameTip')" style="max-width: 180px"
v-model="state.queryForm.goodsName"/>
<el-form-item :label="t('order.status')" prop="status">
<el-select :placeholder="t('order.inputStatusTip')" v-model="state.queryForm.status">
<el-option
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in dictType">
</el-option>
</el-select>
</el-form-item>
<el-form-item :label="$t('order.payOrderId')" prop="payOrderId">
<el-input :placeholder="t('order.inputPayOrderIdTip')" style="max-width: 180px"
v-model="state.queryForm.payOrderId"/>
@ -45,16 +51,21 @@
</div>
</el-row>
<el-table :data="state.dataList" @selection-change="handleSelectionChange" @sort-change="sortChangeHandle"
style="width: 100%" v-loading="state.loading">
border style="width: 100%" v-loading="state.loading">
<el-table-column align="center" type="selection" width="60"/>
<el-table-column :label="t('order.index')" type="index" width="80"/>
<el-table-column :label="t('order.goodsOrderId')" prop="goodsOrderId" show-overflow-tooltip/>
<el-table-column :label="t('order.goodsId')" prop="goodsId" show-overflow-tooltip/>
<el-table-column :label="t('order.goodsName')" prop="goodsName" show-overflow-tooltip/>
<el-table-column :label="t('order.amount')" prop="amount" show-overflow-tooltip/>
<el-table-column :label="t('order.userId')" prop="userId" show-overflow-tooltip/>
<el-table-column :label="t('order.status')" prop="status" show-overflow-tooltip/>
<el-table-column :label="t('order.status')" prop="status" show-overflow-tooltip>
<template #default="scope">
<dict-tag :options="dictType" :value="scope.row.status"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="t('order.payOrderId')" prop="payOrderId" show-overflow-tooltip/>
<el-table-column :label="t('order.createTime')" prop="createTime" show-overflow-tooltip/>
<el-table-column :label="$t('common.action')" width="150">
<template #default="scope">
<el-button @click="formDialogRef.openDialog(scope.row.goodsOrderId)" text type="primary"
@ -102,6 +113,23 @@
pageList: fetchList
})
const dictType = ref([
{
label: '处理失败',
value: '-1'
},
{
label: '订单生成',
value: '0'
}, {
label: '支付成功',
value: '1'
}, {
label: '处理完成',
value: '2'
}
])
// table hook
const {
@ -120,22 +148,17 @@
selectObjs.value = []
getDataList()
}
const dictType = ref([
{
label: '处理失败',
value: '-1'
},
{
label: '订单生成',
value: '0'
}, {
label: '支付成功',
value: '1'
}, {
label: '处理完成',
value: '2'
}
])
const filterDh = (value, objs) => {
objs.forEach(item => {
if (value == item.value) {
status
return item.label
}
})
return value
}
// excel
const exportExcel = () => {

View File

@ -5,156 +5,172 @@
v-loading="loading">
<el-row :gutter="24">
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.payOrderId')" prop="payOrderId">
<el-input :placeholder="t('order.inputPayOrderIdTip')" v-model="form.payOrderId"/>
<el-form-item :label="t('refund.payOrderId')" prop="payOrderId">
<el-input :placeholder="t('refund.inputPayOrderIdTip')" v-model="form.payOrderId"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.channelPayOrderNo')" prop="channelPayOrderNo">
<el-input :placeholder="t('order.inputChannelPayOrderNoTip')" v-model="form.channelPayOrderNo"/>
<el-form-item :label="t('refund.channelPayOrderNo')" prop="channelPayOrderNo">
<el-input :placeholder="t('refund.inputChannelPayOrderNoTip')"
v-model="form.channelPayOrderNo"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.mchId')" prop="mchId">
<el-input :placeholder="t('order.inputMchIdTip')" v-model="form.mchId"/>
<el-form-item :label="t('refund.mchId')" prop="mchId">
<el-input :placeholder="t('refund.inputMchIdTip')" v-model="form.mchId"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.mchRefundNo')" prop="mchRefundNo">
<el-input :placeholder="t('order.inputMchRefundNoTip')" v-model="form.mchRefundNo"/>
<el-form-item :label="t('refund.mchRefundNo')" prop="mchRefundNo">
<el-input :placeholder="t('refund.inputMchRefundNoTip')" v-model="form.mchRefundNo"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.channelId')" prop="channelId">
<el-input :placeholder="t('order.inputChannelIdTip')" v-model="form.channelId"/>
<el-form-item :label="t('refund.channelId')" prop="channelId">
<el-input :placeholder="t('refund.inputChannelIdTip')" v-model="form.channelId"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.payAmount')" prop="payAmount">
<el-input :placeholder="t('order.inputPayAmountTip')" v-model="form.payAmount"/>
<el-form-item :label="t('refund.payAmount')" prop="payAmount">
<el-input :placeholder="t('refund.inputPayAmountTip')" v-model="form.payAmount"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.refundAmount')" prop="refundAmount">
<el-input-number :max="1000" :min="1" :placeholder="t('order.inputRefundAmountTip')"
<el-form-item :label="t('refund.refundAmount')" prop="refundAmount">
<el-input-number :max="1000" :min="1" :placeholder="t('refund.inputRefundAmountTip')"
v-model="form.refundAmount"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.currency')" prop="currency">
<el-input :placeholder="t('order.inputCurrencyTip')" v-model="form.currency"/>
<el-form-item :label="t('refund.currency')" prop="currency">
<el-input :placeholder="t('refund.inputCurrencyTip')" v-model="form.currency"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.status')" prop="status">
<el-input-number :max="1000" :min="1" :placeholder="t('order.inputStatusTip')"
<el-form-item :label="t('refund.status')" prop="status">
<el-input-number :max="1000" :min="1" :placeholder="t('refund.inputStatusTip')"
v-model="form.status"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.result')" prop="result">
<el-input-number :max="1000" :min="1" :placeholder="t('order.inputResultTip')"
v-model="form.result"></el-input-number>
<el-form-item :label="t('refund.status')" prop="status">
<el-select :placeholder="t('refund.inputStatusTip')" v-model="form.status">
<el-option :key="item.value" :label="item.label" :value="item.value"
v-for="item in dictType">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('refund.result')" prop="result">
<el-select :placeholder="t('refund.inputResultTip')" v-model="form.result">
<el-option :key="item.value" :label="item.label" :value="item.value"
v-for="item in dictResult">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('refund.clientIp')" prop="clientIp">
<el-input :placeholder="t('refund.inputClientIpTip')" v-model="form.clientIp"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.clientIp')" prop="clientIp">
<el-input :placeholder="t('order.inputClientIpTip')" v-model="form.clientIp"/>
<el-form-item :label="t('refund.device')" prop="device">
<el-input :placeholder="t('refund.inputDeviceTip')" v-model="form.device"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.device')" prop="device">
<el-input :placeholder="t('order.inputDeviceTip')" v-model="form.device"/>
<el-form-item :label="t('refund.remark')" prop="remark">
<el-input :placeholder="t('refund.inputRemarkTip')" v-model="form.remark"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.remark')" prop="remark">
<el-input :placeholder="t('order.inputRemarkTip')" v-model="form.remark"/>
<el-form-item :label="t('refund.channelUser')" prop="channelUser">
<el-input :placeholder="t('refund.inputChannelUserTip')" v-model="form.channelUser"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.channelUser')" prop="channelUser">
<el-input :placeholder="t('order.inputChannelUserTip')" v-model="form.channelUser"/>
<el-form-item :label="t('refund.username')" prop="username">
<el-input :placeholder="t('refund.inputUsernameTip')" v-model="form.username"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.username')" prop="username">
<el-input :placeholder="t('order.inputUsernameTip')" v-model="form.username"/>
<el-form-item :label="t('refund.channelMchId')" prop="channelMchId">
<el-input :placeholder="t('refund.inputChannelMchIdTip')" v-model="form.channelMchId"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.channelMchId')" prop="channelMchId">
<el-input :placeholder="t('order.inputChannelMchIdTip')" v-model="form.channelMchId"/>
<el-form-item :label="t('refund.channelOrderNo')" prop="channelOrderNo">
<el-input :placeholder="t('refund.inputChannelOrderNoTip')" v-model="form.channelOrderNo"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.channelOrderNo')" prop="channelOrderNo">
<el-input :placeholder="t('order.inputChannelOrderNoTip')" v-model="form.channelOrderNo"/>
<el-form-item :label="t('refund.channelErrCode')" prop="channelErrCode">
<el-input :placeholder="t('refund.inputChannelErrCodeTip')" v-model="form.channelErrCode"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.channelErrCode')" prop="channelErrCode">
<el-input :placeholder="t('order.inputChannelErrCodeTip')" v-model="form.channelErrCode"/>
<el-form-item :label="t('refund.channelErrMsg')" prop="channelErrMsg">
<el-input :placeholder="t('refund.inputChannelErrMsgTip')" v-model="form.channelErrMsg"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.channelErrMsg')" prop="channelErrMsg">
<el-input :placeholder="t('order.inputChannelErrMsgTip')" v-model="form.channelErrMsg"/>
<el-form-item :label="t('refund.extra')" prop="extra">
<el-input :placeholder="t('refund.inputExtraTip')" v-model="form.extra"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.extra')" prop="extra">
<el-input :placeholder="t('order.inputExtraTip')" v-model="form.extra"/>
<el-form-item :label="t('refund.notifyUrl')" prop="notifyUrl">
<el-input :placeholder="t('refund.inputNotifyUrlTip')" v-model="form.notifyUrl"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.notifyUrl')" prop="notifyUrl">
<el-input :placeholder="t('order.inputNotifyUrlTip')" v-model="form.notifyUrl"/>
<el-form-item :label="t('refund.param1')" prop="param1">
<el-input :placeholder="t('refund.inputParam1Tip')" v-model="form.param1"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.param1')" prop="param1">
<el-input :placeholder="t('order.inputParam1Tip')" v-model="form.param1"/>
<el-form-item :label="t('refund.param2')" prop="param2">
<el-input :placeholder="t('refund.inputParam2Tip')" v-model="form.param2"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.param2')" prop="param2">
<el-input :placeholder="t('order.inputParam2Tip')" v-model="form.param2"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.expireTime')" prop="expireTime">
<el-date-picker :placeholder="t('order.inputExpireTimeTip')" :value-format="dateTimeStr"
<el-form-item :label="t('refund.expireTime')" prop="expireTime">
<el-date-picker :placeholder="t('refund.inputExpireTimeTip')" :value-format="dateTimeStr"
type="datetime" v-model="form.expireTime"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('order.refundSuccTime')" prop="refundSuccTime">
<el-date-picker :placeholder="t('order.inputRefundSuccTimeTip')" :value-format="dateTimeStr"
<el-form-item :label="t('refund.refundSuccTime')" prop="refundSuccTime">
<el-date-picker :placeholder="t('refund.inputRefundSuccTimeTip')" :value-format="dateTimeStr"
type="datetime" v-model="form.refundSuccTime"></el-date-picker>
</el-form-item>
</el-col>
@ -234,6 +250,42 @@
getpayRefundOrderData(id)
}
};
const dictType = ref([
{
label: '订单生成',
value: '0'
}, {
label: '退款中',
value: '1'
}, {
label: '退款成功',
value: '2'
},
{
label: '退款失败',
value: '3'
},
{
label: '业务处理完成',
value: '4'
},
])
const dictResult = ref([
{
label: '不确认结果',
value: '0'
}, {
label: '等待手动处理',
value: '1'
}, {
label: '确认成功',
value: '2'
},
{
label: '确认失败',
value: '3'
},
])
//
const onSubmit = () => {

View File

@ -1,5 +1,5 @@
export default {
order: {
refund: {
index: 'index',
importpayRefundOrderTip: 'import PayRefundOrder',
refundOrderId: 'refundOrderId',

View File

@ -1,5 +1,5 @@
export default {
order: {
refund: {
index: '序号',
importpayRefundOrderTip: '导入退款订单表',
refundOrderId: '退款订单号',

View File

@ -3,17 +3,17 @@
<el-card class="layout-padding-auto">
<el-row class="mb8" v-show="showSearch">
<el-form :inline="true" :model="state.queryForm" @keyup.enter="getDataList" ref="queryRef">
<el-form-item :label="$t('order.refundOrderId')" prop="refundOrderId">
<el-input :placeholder="t('order.inputRefundOrderIdTip')"
<el-form-item :label="$t('refund.refundOrderId')" prop="refundOrderId">
<el-input :placeholder="t('refund.inputRefundOrderIdTip')"
style="max-width: 180px"
v-model="state.queryForm.refundOrderId"/>
</el-form-item>
<el-form-item :label="$t('order.payOrderId')" prop="payOrderId">
<el-input :placeholder="t('order.inputPayOrderIdTip')" style="max-width: 180px"
<el-form-item :label="$t('refund.payOrderId')" prop="payOrderId">
<el-input :placeholder="t('refund.inputPayOrderIdTip')" style="max-width: 180px"
v-model="state.queryForm.payOrderId"/>
</el-form-item>
<el-form-item :label="$t('order.mchId')" prop="mchId">
<el-input :placeholder="t('order.inputMchIdTip')" style="max-width: 180px"
<el-form-item :label="$t('refund.mchId')" prop="mchId">
<el-input :placeholder="t('refund.inputMchIdTip')" style="max-width: 180px"
v-model="state.queryForm.mchId"/>
</el-form-item>
<el-form-item class="ml2">
@ -36,7 +36,8 @@
v-auth="'pay_order_export'">
{{ $t('common.exportBtn') }}
</el-button>
<el-button :disabled="multiple" @click="handleDelete(selectObjs)" class="ml10" formDialogRef icon="Delete"
<el-button :disabled="multiple" @click="handleDelete(selectObjs)" class="ml10" formDialogRef
icon="Delete"
type="primary" v-auth="'pay_order_del'">
{{ $t('common.delBtn') }}
</el-button>
@ -45,36 +46,36 @@
</div>
</el-row>
<el-table :data="state.dataList" @selection-change="handleSelectionChange" @sort-change="sortChangeHandle"
style="width: 100%" v-loading="state.loading">
border style="width: 100%" v-loading="state.loading">
<el-table-column align="center" type="selection" width="60"/>
<el-table-column :label="t('order.index')" type="index" width="80"/>
<el-table-column :label="t('order.refundOrderId')" prop="refundOrderId" show-overflow-tooltip/>
<el-table-column :label="t('order.payOrderId')" prop="payOrderId" show-overflow-tooltip/>
<el-table-column :label="t('order.channelPayOrderNo')" prop="channelPayOrderNo" show-overflow-tooltip/>
<el-table-column :label="t('order.mchId')" prop="mchId" show-overflow-tooltip/>
<el-table-column :label="t('order.mchRefundNo')" prop="mchRefundNo" show-overflow-tooltip/>
<el-table-column :label="t('order.channelId')" prop="channelId" show-overflow-tooltip/>
<el-table-column :label="t('order.payAmount')" prop="payAmount" show-overflow-tooltip/>
<el-table-column :label="t('order.refundAmount')" prop="refundAmount" show-overflow-tooltip/>
<el-table-column :label="t('order.currency')" prop="currency" show-overflow-tooltip/>
<el-table-column :label="t('order.status')" prop="status" show-overflow-tooltip/>
<el-table-column :label="t('order.result')" prop="result" show-overflow-tooltip/>
<el-table-column :label="t('order.clientIp')" prop="clientIp" show-overflow-tooltip/>
<el-table-column :label="t('order.device')" prop="device" show-overflow-tooltip/>
<el-table-column :label="t('order.remark')" prop="remark" show-overflow-tooltip/>
<el-table-column :label="t('order.channelUser')" prop="channelUser" show-overflow-tooltip/>
<el-table-column :label="t('order.username')" prop="username" show-overflow-tooltip/>
<el-table-column :label="t('order.channelMchId')" prop="channelMchId" show-overflow-tooltip/>
<el-table-column :label="t('order.channelOrderNo')" prop="channelOrderNo" show-overflow-tooltip/>
<el-table-column :label="t('order.channelErrCode')" prop="channelErrCode" show-overflow-tooltip/>
<el-table-column :label="t('order.channelErrMsg')" prop="channelErrMsg" show-overflow-tooltip/>
<el-table-column :label="t('order.extra')" prop="extra" show-overflow-tooltip/>
<el-table-column :label="t('order.notifyUrl')" prop="notifyUrl" show-overflow-tooltip/>
<el-table-column :label="t('order.param1')" prop="param1" show-overflow-tooltip/>
<el-table-column :label="t('order.param2')" prop="param2" show-overflow-tooltip/>
<el-table-column :label="t('order.expireTime')" prop="expireTime" show-overflow-tooltip/>
<el-table-column :label="t('order.refundSuccTime')" prop="refundSuccTime" show-overflow-tooltip/>
<el-table-column :label="$t('common.action')" width="150">
<el-table-column :label="t('refund.index')" fixed type="index" width="80"/>
<el-table-column :label="t('refund.refundOrderId')" prop="refundOrderId" show-overflow-tooltip/>
<el-table-column :label="t('refund.payOrderId')" prop="payOrderId" show-overflow-tooltip/>
<el-table-column :label="t('refund.channelPayOrderNo')" prop="channelPayOrderNo" show-overflow-tooltip/>
<el-table-column :label="t('refund.mchId')" prop="mchId" show-overflow-tooltip/>
<el-table-column :label="t('refund.mchRefundNo')" prop="mchRefundNo" show-overflow-tooltip/>
<el-table-column :label="t('refund.channelId')" prop="channelId" show-overflow-tooltip/>
<el-table-column :label="t('refund.payAmount')" prop="payAmount" show-overflow-tooltip/>
<el-table-column :label="t('refund.refundAmount')" prop="refundAmount" show-overflow-tooltip/>
<el-table-column :label="t('refund.currency')" prop="currency" show-overflow-tooltip/>
<el-table-column :label="t('refund.status')" prop="status" show-overflow-tooltip/>
<el-table-column :label="t('refund.result')" prop="result" show-overflow-tooltip/>
<el-table-column :label="t('refund.clientIp')" prop="clientIp" show-overflow-tooltip/>
<el-table-column :label="t('refund.device')" prop="device" show-overflow-tooltip/>
<el-table-column :label="t('refund.remark')" prop="remark" show-overflow-tooltip/>
<el-table-column :label="t('refund.channelUser')" prop="channelUser" show-overflow-tooltip/>
<el-table-column :label="t('refund.username')" prop="username" show-overflow-tooltip/>
<el-table-column :label="t('refund.channelMchId')" prop="channelMchId" show-overflow-tooltip/>
<el-table-column :label="t('refund.channelOrderNo')" prop="channelOrderNo" show-overflow-tooltip/>
<el-table-column :label="t('refund.channelErrCode')" prop="channelErrCode" show-overflow-tooltip/>
<el-table-column :label="t('refund.channelErrMsg')" prop="channelErrMsg" show-overflow-tooltip/>
<el-table-column :label="t('refund.extra')" prop="extra" show-overflow-tooltip/>
<el-table-column :label="t('refund.notifyUrl')" prop="notifyUrl" show-overflow-tooltip/>
<el-table-column :label="t('refund.param1')" prop="param1" show-overflow-tooltip/>
<el-table-column :label="t('refund.param2')" prop="param2" show-overflow-tooltip/>
<el-table-column :label="t('refund.expireTime')" prop="expireTime" show-overflow-tooltip/>
<el-table-column :label="t('refund.refundSuccTime')" prop="refundSuccTime" show-overflow-tooltip/>
<el-table-column :label="$t('common.action')" fixed="right" width="150">
<template #default="scope">
<el-button @click="formDialogRef.openDialog(scope.row.refundOrderId)" text type="primary"
v-auth="'pay_order_edit'">{{ $t('common.editBtn') }}
@ -121,6 +122,27 @@
pageList: fetchList
})
const dictType = ref([
{
label: '订单生成',
value: '0'
}, {
label: '退款中',
value: '1'
}, {
label: '退款成功',
value: '2'
},
{
label: '退款失败',
value: '3'
},
{
label: '业务处理完成',
value: '4'
},
])
// table hook
const {
getDataList,
@ -141,7 +163,7 @@
// excel
const exportExcel = () => {
downBlobFile('/pay/order/export', state.queryForm, 'order.xlsx')
downBlobFile('/admin/refund/export', state.queryForm, 'refund.xlsx')
}
//

View File

@ -4,28 +4,60 @@
<el-form :model="form" :rules="dataRules" formDialogRef label-width="90px" ref="dataFormRef"
v-loading="loading">
<el-row :gutter="24">
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.orderId')" prop="orderId">
<el-input :placeholder="t('trade.inputOrderIdTip')" v-model="form.orderId"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.channelId')" prop="channelId">
<el-input :placeholder="t('trade.inputChannelIdTip')" v-model="form.channelId"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.channelMchId')" prop="channelMchId">
<el-input :placeholder="t('trade.inputChannelMchIdTip')" v-model="form.channelMchId"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.channelOrderNo')" prop="channelOrderNo">
<el-input :placeholder="t('trade.inputChannelOrderNoTip')" v-model="form.channelOrderNo"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.body')" prop="body">
<el-input :placeholder="t('trade.inputBodyTip')" v-model="form.body"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.amount')" prop="amount">
<el-input :placeholder="t('trade.inputAmountTip')" v-model="form.amount"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.currency')" prop="currency">
<el-input :placeholder="t('trade.inputCurrencyTip')" v-model="form.currency"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.status')" prop="status">
<el-input-number :max="1000" :min="1" :placeholder="t('trade.inputStatusTip')"
v-model="form.status"></el-input-number>
<el-select v-model="form.status" :placeholder="t('trade.inputStatusTip')">
<el-option :key="item.value" :label="item.label" :value="item.value"
v-for="item in dictType">
</el-option>
</el-select>
</el-form-item>
</el-col>
@ -35,100 +67,27 @@
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.device')" prop="device">
<el-input :placeholder="t('trade.inputDeviceTip')" v-model="form.device"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.subject')" prop="subject">
<el-input :placeholder="t('trade.inputSubjectTip')" v-model="form.subject"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.body')" prop="body">
<el-input :placeholder="t('trade.inputBodyTip')" v-model="form.body"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.extra')" prop="extra">
<el-input :placeholder="t('trade.inputExtraTip')" v-model="form.extra"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.channelMchId')" prop="channelMchId">
<el-input :placeholder="t('trade.inputChannelMchIdTip')" v-model="form.channelMchId"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.channelOrderNo')" prop="channelOrderNo">
<el-input :placeholder="t('trade.inputChannelOrderNoTip')" v-model="form.channelOrderNo"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.errCode')" prop="errCode">
<el-input :placeholder="t('trade.inputErrCodeTip')" v-model="form.errCode"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.errMsg')" prop="errMsg">
<el-input :placeholder="t('trade.inputErrMsgTip')" v-model="form.errMsg"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.param1')" prop="param1">
<el-input :placeholder="t('trade.inputParam1Tip')" v-model="form.param1"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.param2')" prop="param2">
<el-input :placeholder="t('trade.inputParam2Tip')" v-model="form.param2"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.notifyUrl')" prop="notifyUrl">
<el-input :placeholder="t('trade.inputNotifyUrlTip')" v-model="form.notifyUrl"/>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.notifyCount')" prop="notifyCount">
<el-input-number :max="1000" :min="1" :placeholder="t('trade.inputNotifyCountTip')"
v-model="form.notifyCount"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.lastNotifyTime')" prop="lastNotifyTime">
<el-input-number :max="1000" :min="1" :placeholder="t('trade.inputLastNotifyTimeTip')"
v-model="form.lastNotifyTime"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.expireTime')" prop="expireTime">
<el-input-number :max="1000" :min="1" :placeholder="t('trade.inputExpireTimeTip')"
v-model="form.expireTime"></el-input-number>
</el-form-item>
</el-col>
<el-col :span="12" class="mb20">
<el-form-item :label="t('trade.paySuccTime')" prop="paySuccTime">
<el-input-number :max="1000" :min="1" :placeholder="t('trade.inputPaySuccTimeTip')"
v-model="form.paySuccTime"></el-input-number>
<el-input :placeholder="t('trade.inputPaySuccTimeTip')" v-model="form.paySuccTime"/>
</el-form-item>
</el-col>
<!-- <el-col :span="12" class="mb20">-->
<!-- <el-form-item :label="t('trade.paySuccTime')" prop="paySuccTime">-->
<!-- <el-date-picker-->
<!-- :label="t('trade.paySuccTime')"-->
<!-- v-model="form.paySuccTime"-->
<!-- type="datetime"-->
<!-- :placeholder="t('trade.inputPaySuccTimeTip')"-->
<!-- align="right"-->
<!-- :picker-options="pickerOptions">-->
<!-- </el-date-picker>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
</el-row>
</el-form>
<template #footer>
@ -201,6 +160,23 @@
}
};
const dictType = ref([
{
label: '订单生成',
value: '0'
}, {
label: '支付中(未使用)',
value: '1'
}, {
label: '支付成功',
value: '2'
},
{
label: '业务处理完成',
value: '3'
},
])
//
const onSubmit = () => {
dataFormRef.value.validate((valid: boolean) => {

View File

@ -22,7 +22,7 @@ export default {
notifyCount: '通知次数',
lastNotifyTime: '最后一次通知时间',
expireTime: '订单失效时间',
paySuccTime: '订单支付成功时间',
paySuccTime: '成功时间',
createTime: '创建时间',
updateTime: '更新时间',
delFlag: ' delFlag',
@ -31,7 +31,7 @@ export default {
inputChannelIdTip: '请输入 渠道ID',
inputAmountTip: '请输入 支付金额',
inputCurrencyTip: '请输入 三位货币代码',
inputStatusTip: '请输入支付状态,0-订单生成,1-支付中(目前未使用),2-支付成功,3-业务处理完成',
inputStatusTip: '请输入支付状态',
inputClientIpTip: '请输入 客户端IP',
inputDeviceTip: '请输入 设备',
inputSubjectTip: '请输入 商品标题',

View File

@ -7,10 +7,20 @@
<el-input :placeholder="t('trade.inputOrderIdTip')" style="max-width: 180px"
v-model="state.queryForm.orderId"/>
</el-form-item>
<el-form-item :label="$t('trade.subject')" prop="subject">
<el-input :placeholder="t('trade.inputSubjectTip')" style="max-width: 180px"
v-model="state.queryForm.subject"/>
<el-form-item :label="t('trade.status')" prop="status">
<el-select :placeholder="t('trade.inputStatusTip')" v-model="state.queryForm.status">
<el-option
:key="item.value"
:label="item.label"
:value="item.value"
v-for="item in dictType">
</el-option>
</el-select>
</el-form-item>
<el-form-item class="ml2">
<el-button @click="getDataList" formDialogRef icon="search" type="primary">
{{ $t('common.queryBtn') }}
@ -41,37 +51,35 @@
</div>
</el-row>
<el-table :data="state.dataList" @selection-change="handleSelectionChange" @sort-change="sortChangeHandle"
style="width: 100%" v-loading="state.loading">
border style="width: 100%" v-loading="state.loading">
<el-table-column align="center" type="selection" width="60"/>
<el-table-column :label="t('trade.index')" type="index" width="80"/>
<el-table-column :label="t('trade.orderId')" prop="orderId" show-overflow-tooltip/>
<el-table-column :label="t('trade.channelId')" prop="channelId" show-overflow-tooltip/>
<el-table-column :label="t('trade.amount')" prop="amount" show-overflow-tooltip/>
<el-table-column :label="t('trade.currency')" prop="currency" show-overflow-tooltip/>
<el-table-column :label="t('trade.status')" prop="status" show-overflow-tooltip/>
<el-table-column :label="t('trade.clientIp')" prop="clientIp" show-overflow-tooltip/>
<el-table-column :label="t('trade.device')" prop="device" show-overflow-tooltip/>
<el-table-column :label="t('trade.subject')" prop="subject" show-overflow-tooltip/>
<el-table-column :label="t('trade.body')" prop="body" show-overflow-tooltip/>
<el-table-column :label="t('trade.extra')" prop="extra" show-overflow-tooltip/>
<el-table-column :label="t('trade.channelMchId')" prop="channelMchId" show-overflow-tooltip/>
<el-table-column :label="t('trade.channelOrderNo')" prop="channelOrderNo" show-overflow-tooltip/>
<el-table-column :label="t('trade.errCode')" prop="errCode" show-overflow-tooltip/>
<el-table-column :label="t('trade.errMsg')" prop="errMsg" show-overflow-tooltip/>
<el-table-column :label="t('trade.param1')" prop="param1" show-overflow-tooltip/>
<el-table-column :label="t('trade.param2')" prop="param2" show-overflow-tooltip/>
<el-table-column :label="t('trade.notifyUrl')" prop="notifyUrl" show-overflow-tooltip/>
<el-table-column :label="t('trade.notifyCount')" prop="notifyCount" show-overflow-tooltip/>
<el-table-column :label="t('trade.lastNotifyTime')" prop="lastNotifyTime" show-overflow-tooltip/>
<el-table-column :label="t('trade.expireTime')" prop="expireTime" show-overflow-tooltip/>
<el-table-column :label="t('trade.paySuccTime')" prop="paySuccTime" show-overflow-tooltip/>
<el-table-column :label="$t('common.action')" width="150">
<el-table-column :label="t('trade.index')" fixed type="index" width="80"/>
<el-table-column :label="t('trade.orderId')" prop="orderId" show-overflow-tooltip width="120"/>
<el-table-column :label="t('trade.channelId')" prop="channelId" show-overflow-tooltip width="120"/>
<el-table-column :label="t('trade.channelMchId')" prop="channelMchId" show-overflow-tooltip
width="120"/>
<el-table-column :label="t('trade.channelOrderNo')" prop="channelOrderNo" show-overflow-tooltip
width="120"/>
<el-table-column :label="t('trade.body')" prop="body" show-overflow-tooltip width="120"/>
<el-table-column :label="t('trade.amount')" prop="amount" show-overflow-tooltip width="120"/>
<el-table-column :label="t('trade.currency')" prop="currency" show-overflow-tooltip width="120"/>
<el-table-column :label="t('trade.status')" prop="status" show-overflow-tooltip width="120">
<template #default="scope">
<dict-tag :options="dictType" :value="scope.row.status"></dict-tag>
</template>
</el-table-column>
<el-table-column :label="t('trade.clientIp')" prop="clientIp" show-overflow-tooltip width="120"/>
<el-table-column :label="t('trade.paySuccTime')" prop="paySuccTime" show-overflow-tooltip width="120"/>
<el-table-column :label="t('trade.createTime')" prop="device" show-overflow-tooltip width="160"/>
<el-table-column :label="$t('common.action')" fixed="right" width="150">
<template #default="scope">
<el-button @click="formDialogRef.openDialog(scope.row.orderId)" text type="primary"
v-auth="'pay_trade_edit'">{{ $t('common.editBtn') }}
</el-button>
<el-button @click="handleDelete([scope.row.orderId])" text type="primary"
v-auth="'sys_trade_del'">{{
v-auth="'pay_trade_del'">{{
$t('common.delBtn')
}}
</el-button>
@ -112,6 +120,23 @@
pageList: fetchList
})
const dictType = ref([
{
label: '订单生成',
value: '0'
}, {
label: '支付中(未使用)',
value: '1'
}, {
label: '支付成功',
value: '2'
},
{
label: '业务处理完成',
value: '3'
},
])
// table hook
const {
getDataList,