解决合并出现的问题
This commit is contained in:
parent
4a0e850f42
commit
ec76b555a3
@ -86,31 +86,31 @@ export interface PayRefundExportReqVO {
|
||||
}
|
||||
|
||||
// 查询列表退款订单
|
||||
export const getRefundPageApi = (params: RefundPageReqVO) => {
|
||||
export const getRefundPage = (params: RefundPageReqVO) => {
|
||||
return request.get({ url: '/pay/refund/page', params })
|
||||
}
|
||||
|
||||
// 查询详情退款订单
|
||||
export const getRefundApi = (id: number) => {
|
||||
export const getRefund = (id: number) => {
|
||||
return request.get({ url: '/pay/refund/get?id=' + id })
|
||||
}
|
||||
|
||||
// 新增退款订单
|
||||
export const createRefundApi = (data: RefundVO) => {
|
||||
export const createRefund = (data: RefundVO) => {
|
||||
return request.post({ url: '/pay/refund/create', data })
|
||||
}
|
||||
|
||||
// 修改退款订单
|
||||
export const updateRefundApi = (data: RefundVO) => {
|
||||
export const updateRefund = (data: RefundVO) => {
|
||||
return request.put({ url: '/pay/refund/update', data })
|
||||
}
|
||||
|
||||
// 删除退款订单
|
||||
export const deleteRefundApi = (id: number) => {
|
||||
export const deleteRefund = (id: number) => {
|
||||
return request.delete({ url: '/pay/refund/delete?id=' + id })
|
||||
}
|
||||
|
||||
// 导出退款订单
|
||||
export const exportRefundApi = (params: PayRefundExportReqVO) => {
|
||||
export const exportRefund = (params: PayRefundExportReqVO) => {
|
||||
return request.download({ url: '/pay/refund/export-excel', params })
|
||||
}
|
||||
|
@ -132,7 +132,7 @@ const tableHeight = document.documentElement.scrollHeight - 350 + 'px'
|
||||
/** 查询字典下拉列表 */
|
||||
const dictOptions = ref<DictDataApi.DictTypeVO[]>()
|
||||
const getDictOptions = async () => {
|
||||
dictOptions.value = await DictDataApi.getSimpleDictTypeList()
|
||||
dictOptions.value = await DictDataApi.listSimpleDictTypeApi()
|
||||
}
|
||||
|
||||
watch(
|
||||
|
@ -58,29 +58,6 @@
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
<el-row class="mt-3">
|
||||
<el-col :span="24" class="card-box" shadow="hover">
|
||||
<el-card>
|
||||
<el-table
|
||||
v-loading="keyListLoad"
|
||||
:data="keyList"
|
||||
row-key="id"
|
||||
@row-click="openKeyTemplate"
|
||||
>
|
||||
<el-table-column prop="keyTemplate" label="Key 模板" width="200" />
|
||||
<el-table-column prop="keyType" label="Key 类型" width="100" />
|
||||
<el-table-column prop="valueType" label="Value 类型" />
|
||||
<el-table-column prop="timeoutType" label="超时时间" width="200">
|
||||
<template #default="{ row }">
|
||||
<DictTag :type="DICT_TYPE.INFRA_REDIS_TIMEOUT_TYPE" :value="row?.timeoutType" />
|
||||
<span v-if="row?.timeout > 0">({{ row?.timeout / 1000 }} 秒)</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="memo" label="备注" />
|
||||
</el-table>
|
||||
</el-card>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-scrollbar>
|
||||
<XModal v-model="dialogVisible" :title="keyTemplate + ' 模板'">
|
||||
<el-row>
|
||||
@ -133,28 +110,14 @@ import { RedisKeyInfo, RedisMonitorInfoVO } from '@/api/infra/redis/types'
|
||||
import { DICT_TYPE } from '@/utils/dict'
|
||||
const { t } = useI18n() // 国际化
|
||||
const message = useMessage() // 消息弹窗
|
||||
const keyListLoad = ref(true)
|
||||
const keyList = ref<RedisKeyInfo[]>([])
|
||||
const cache = ref<RedisMonitorInfoVO>()
|
||||
// 基本信息
|
||||
const readRedisInfo = async () => {
|
||||
const data = await RedisApi.getCacheApi()
|
||||
cache.value = data
|
||||
// loadEchartOptions(data.commandStats)
|
||||
const redisKeysInfo = await RedisApi.getKeyDefineListApi()
|
||||
keyList.value = redisKeysInfo
|
||||
keyListLoad.value = false //加载完成
|
||||
}
|
||||
const dialogVisible = ref(false)
|
||||
const keyTemplate = ref('')
|
||||
const cacheKeys = ref()
|
||||
const cacheForm = ref<{
|
||||
key: string
|
||||
value: string
|
||||
}>({
|
||||
key: '',
|
||||
value: ''
|
||||
})
|
||||
// 内存使用情况
|
||||
const usedmemoryEchartChika = reactive<any>({
|
||||
title: {
|
||||
@ -347,23 +310,6 @@ onMounted(() => {
|
||||
// 加载数据
|
||||
getSummary()
|
||||
})
|
||||
const openKeyTemplate = async (row: RedisKeyInfo) => {
|
||||
keyTemplate.value = row.keyTemplate
|
||||
cacheKeys.value = await RedisApi.getKeyListApi(row.keyTemplate)
|
||||
dialogVisible.value = true
|
||||
}
|
||||
const handleDeleteKey = async (row) => {
|
||||
RedisApi.deleteKeyApi(row)
|
||||
message.success(t('common.delSuccess'))
|
||||
}
|
||||
const handleDeleteKeys = async (row) => {
|
||||
RedisApi.deleteKeysApi(row)
|
||||
message.success(t('common.delSuccess'))
|
||||
}
|
||||
const handleKeyValue = async (row) => {
|
||||
const res = await RedisApi.getKeyValueApi(row)
|
||||
cacheForm.value = res
|
||||
}
|
||||
onBeforeMount(() => {
|
||||
readRedisInfo()
|
||||
})
|
||||
|
@ -1,71 +0,0 @@
|
||||
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
// 表单校验
|
||||
export const rules = reactive({
|
||||
name: [required],
|
||||
status: [required],
|
||||
payNotifyUrl: [required],
|
||||
refundNotifyUrl: [required],
|
||||
merchantId: [required]
|
||||
})
|
||||
|
||||
// CrudSchema
|
||||
const crudSchemas = reactive<VxeCrudSchema>({
|
||||
primaryKey: 'id',
|
||||
primaryType: 'seq',
|
||||
primaryTitle: '编号',
|
||||
action: true,
|
||||
columns: [
|
||||
{
|
||||
title: '应用名',
|
||||
field: 'name',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '商户名称',
|
||||
field: 'payMerchant',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: t('common.status'),
|
||||
field: 'status',
|
||||
dictType: DICT_TYPE.COMMON_STATUS,
|
||||
dictClass: 'number',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '支付结果的回调地址',
|
||||
field: 'payNotifyUrl',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '退款结果的回调地址',
|
||||
field: 'refundNotifyUrl',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '商户名称',
|
||||
field: 'merchantName',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '备注',
|
||||
field: 'remark',
|
||||
isTable: false,
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: t('common.createTime'),
|
||||
field: 'createTime',
|
||||
isForm: false,
|
||||
search: {
|
||||
show: true,
|
||||
itemRender: {
|
||||
name: 'XDataTimePicker'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
|
@ -1,70 +0,0 @@
|
||||
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
// 表单校验
|
||||
export const rules = reactive({
|
||||
no: [required],
|
||||
name: [required],
|
||||
shortName: [required],
|
||||
status: [required]
|
||||
})
|
||||
|
||||
// CrudSchema
|
||||
const crudSchemas = reactive<VxeCrudSchema>({
|
||||
primaryKey: 'id',
|
||||
primaryType: 'seq',
|
||||
primaryTitle: '商户编号',
|
||||
action: true,
|
||||
columns: [
|
||||
{
|
||||
title: '商户号',
|
||||
field: 'no',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '商户全称',
|
||||
field: 'code',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '商户简称',
|
||||
field: 'shortName',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: t('common.status'),
|
||||
field: 'status',
|
||||
dictType: DICT_TYPE.COMMON_STATUS,
|
||||
dictClass: 'number',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: t('form.remark'),
|
||||
field: 'remark',
|
||||
isTable: false,
|
||||
form: {
|
||||
component: 'Input',
|
||||
componentProps: {
|
||||
type: 'textarea',
|
||||
rows: 4
|
||||
},
|
||||
colProps: {
|
||||
span: 24
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: t('common.createTime'),
|
||||
field: 'createTime',
|
||||
formatter: 'formatDate',
|
||||
isForm: false,
|
||||
search: {
|
||||
show: true,
|
||||
itemRender: {
|
||||
name: 'XDataTimePicker'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
|
@ -1,164 +0,0 @@
|
||||
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
// 表单校验
|
||||
export const rules = reactive({
|
||||
merchantId: [required],
|
||||
appId: [required],
|
||||
merchantOrderId: [required],
|
||||
subject: [required],
|
||||
body: [required],
|
||||
notifyUrl: [required],
|
||||
notifyStatus: [required],
|
||||
amount: [required],
|
||||
status: [required],
|
||||
userIp: [required],
|
||||
expireTime: [required],
|
||||
refundStatus: [required],
|
||||
refundTimes: [required],
|
||||
refundAmount: [required]
|
||||
})
|
||||
// CrudSchema
|
||||
const crudSchemas = reactive<VxeCrudSchema>({
|
||||
primaryKey: 'id',
|
||||
primaryType: 'seq',
|
||||
primaryTitle: '岗位编号',
|
||||
action: true,
|
||||
columns: [
|
||||
{
|
||||
title: '商户编号',
|
||||
field: 'merchantId',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '应用编号',
|
||||
field: 'appId',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '渠道编号',
|
||||
field: 'channelId'
|
||||
},
|
||||
{
|
||||
title: '渠道编码',
|
||||
field: 'channelCode',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '渠道订单号',
|
||||
field: 'merchantOrderId',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '商品标题',
|
||||
field: 'subject'
|
||||
},
|
||||
{
|
||||
title: '商品描述',
|
||||
field: 'body'
|
||||
},
|
||||
{
|
||||
title: '异步通知地址',
|
||||
field: 'notifyUrl'
|
||||
},
|
||||
{
|
||||
title: '回调状态',
|
||||
field: 'notifyStatus',
|
||||
dictType: DICT_TYPE.PAY_ORDER_NOTIFY_STATUS,
|
||||
dictClass: 'number'
|
||||
},
|
||||
{
|
||||
title: '支付金额',
|
||||
field: 'amount',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '渠道手续费',
|
||||
field: 'channelFeeRate',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '渠道手续金额',
|
||||
field: 'channelFeeAmount',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '支付状态',
|
||||
field: 'status',
|
||||
dictType: DICT_TYPE.PAY_ORDER_STATUS,
|
||||
dictClass: 'number',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '用户 IP',
|
||||
field: 'userIp'
|
||||
},
|
||||
{
|
||||
title: '订单失效时间',
|
||||
field: 'expireTime',
|
||||
formatter: 'formatDate',
|
||||
form: {
|
||||
component: 'DatePicker'
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '支付时间',
|
||||
field: 'successTime',
|
||||
formatter: 'formatDate',
|
||||
form: {
|
||||
component: 'DatePicker'
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '支付通知时间',
|
||||
field: 'notifyTime',
|
||||
formatter: 'formatDate',
|
||||
form: {
|
||||
component: 'DatePicker'
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '拓展编号',
|
||||
field: 'successExtensionId'
|
||||
},
|
||||
{
|
||||
title: '退款状态',
|
||||
field: 'refundStatus',
|
||||
dictType: DICT_TYPE.PAY_ORDER_REFUND_STATUS,
|
||||
dictClass: 'number',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '退款次数',
|
||||
field: 'refundTimes'
|
||||
},
|
||||
{
|
||||
title: '退款总金额',
|
||||
field: 'refundAmount'
|
||||
},
|
||||
{
|
||||
title: '渠道用户编号',
|
||||
field: 'channelUserId'
|
||||
},
|
||||
{
|
||||
title: '渠道订单号',
|
||||
field: 'channelOrderNo'
|
||||
},
|
||||
{
|
||||
title: t('common.createTime'),
|
||||
field: 'createTime',
|
||||
formatter: 'formatDate',
|
||||
isForm: false,
|
||||
form: {
|
||||
component: 'DatePicker'
|
||||
},
|
||||
search: {
|
||||
show: true,
|
||||
itemRender: {
|
||||
name: 'XDataTimePicker'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
|
@ -1,173 +0,0 @@
|
||||
import type { VxeCrudSchema } from '@/hooks/web/useVxeCrudSchemas'
|
||||
const { t } = useI18n() // 国际化
|
||||
|
||||
// CrudSchema
|
||||
const crudSchemas = reactive<VxeCrudSchema>({
|
||||
primaryKey: 'id',
|
||||
primaryType: 'seq',
|
||||
primaryTitle: '序号',
|
||||
action: true,
|
||||
columns: [
|
||||
{
|
||||
title: '商户编号',
|
||||
field: 'merchantId',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '应用编号',
|
||||
field: 'appId',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '渠道编号',
|
||||
field: 'channelId',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '渠道编码',
|
||||
field: 'channelCode',
|
||||
dictType: DICT_TYPE.PAY_CHANNEL_CODE_TYPE,
|
||||
dictClass: 'number',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '支付订单编号',
|
||||
field: 'orderId',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '交易订单号',
|
||||
field: 'tradeNo',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '商户订单号',
|
||||
field: 'merchantOrderId',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '商户退款单号',
|
||||
field: 'merchantRefundNo',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '回调地址',
|
||||
field: 'notifyUrl',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '回调状态',
|
||||
field: 'notifyStatus',
|
||||
dictType: DICT_TYPE.PAY_ORDER_NOTIFY_STATUS,
|
||||
dictClass: 'number',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '退款类型',
|
||||
field: 'type',
|
||||
dictType: DICT_TYPE.PAY_REFUND_ORDER_TYPE,
|
||||
dictClass: 'number',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: t('common.status'),
|
||||
field: 'status',
|
||||
dictType: DICT_TYPE.PAY_REFUND_ORDER_STATUS,
|
||||
dictClass: 'number',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '支付金额',
|
||||
field: 'payAmount',
|
||||
formatter: 'formatAmount',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '退款金额',
|
||||
field: 'refundAmount',
|
||||
formatter: 'formatAmount',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '退款原因',
|
||||
field: 'reason',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '用户IP',
|
||||
field: 'userIp',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '渠道订单号',
|
||||
field: 'channelOrderNo',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '渠道退款单号',
|
||||
field: 'channelRefundNo',
|
||||
isSearch: true
|
||||
},
|
||||
{
|
||||
title: '渠道调用报错时',
|
||||
field: 'channelErrorCode'
|
||||
},
|
||||
{
|
||||
title: '渠道调用报错时',
|
||||
field: 'channelErrorMsg'
|
||||
},
|
||||
{
|
||||
title: '支付渠道的额外参数',
|
||||
field: 'channelExtras'
|
||||
},
|
||||
{
|
||||
title: '退款失效时间',
|
||||
field: 'expireTime',
|
||||
formatter: 'formatDate',
|
||||
isForm: false,
|
||||
search: {
|
||||
show: true,
|
||||
itemRender: {
|
||||
name: 'XDataTimePicker'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '退款成功时间',
|
||||
field: 'successTime',
|
||||
formatter: 'formatDate',
|
||||
isForm: false,
|
||||
search: {
|
||||
show: true,
|
||||
itemRender: {
|
||||
name: 'XDataTimePicker'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '退款通知时间',
|
||||
field: 'notifyTime',
|
||||
formatter: 'formatDate',
|
||||
isForm: false,
|
||||
search: {
|
||||
show: true,
|
||||
itemRender: {
|
||||
name: 'XDataTimePicker'
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
title: t('common.createTime'),
|
||||
field: 'createTime',
|
||||
formatter: 'formatDate',
|
||||
isForm: false,
|
||||
search: {
|
||||
show: true,
|
||||
itemRender: {
|
||||
name: 'XDataTimePicker'
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
})
|
||||
export const { allSchemas } = useVxeCrudSchemas(crudSchemas)
|
@ -147,7 +147,7 @@
|
||||
v-for="item in postOptions"
|
||||
:key="item.id"
|
||||
:label="item.name"
|
||||
:value="(item.id as unknown as number)"
|
||||
:value="item.id as unknown as number"
|
||||
/>
|
||||
</el-select>
|
||||
</template>
|
||||
|
Loading…
Reference in New Issue
Block a user