feat 支付基础常量数据

This commit is contained in:
DaxPay
2024-07-15 15:40:34 +08:00
parent 597075be98
commit 17dc6983a5
9 changed files with 316 additions and 51 deletions

View File

@@ -7,7 +7,7 @@ import { BaseEntity } from '#/web'
*/
export const page = (params) => {
return defHttp.get<Result<PageResult<ChannelConst>>>({
url: '/const/method',
url: '/const/method/page',
params,
})
}
@@ -17,20 +17,20 @@ export const page = (params) => {
*/
export const get = (id) => {
return defHttp.get<Result<ChannelConst>>({
url: '/const/method',
url: '/const/method/findById',
params: { id },
})
}
export interface ChannelConst extends BaseEntity {
/** 编码 */
code: string
code?: string
/** 名称 */
name: string
name?: string
/** 接口地址 */
api: string
api?: string
/** 是否启用 */
enable: boolean
enable?: boolean
/** 备注 */
remark: string
remark?: string
}

View File

@@ -0,0 +1,89 @@
<template>
<div>
<div class="m-3 p-3 pt-5 bg-white">
<b-query
:query-params="model.queryParam"
:fields="fields"
@query="queryPage"
@reset="resetQueryParams"
/>
</div>
<div class="m-3 p-3 bg-white">
<vxe-toolbar ref="xToolbar" custom :refresh="{ queryMethod: queryPage }" />
<vxe-table row-id="id" ref="xTable" :data="pagination.records" :loading="loading">
<vxe-column type="seq" :width="60" />
<vxe-column field="code" title="编码" :min-width="100" />
<vxe-column field="name" title="名称" min :min-width="100" />
<vxe-column field="api" title="接口" :min-width="220" />
<vxe-column field="enable" title="是否启用" :min-width="50">
<template #default="{ row }">
<a-tag v-if="row.enable" color="green">启用</a-tag>
<a-tag v-else color="red">停用</a-tag>
</template>
</vxe-column>
<vxe-column field="remark" title="备注" :min-width="200" />
</vxe-table>
<vxe-pager
size="medium"
:loading="loading"
:current-page="pagination.current"
:page-size="pagination.size"
:total="pagination.total"
@page-change="handleTableChange"
/>
</div>
</div>
</template>
<script lang="ts" setup>
import { onMounted, ref } from 'vue'
import { page } from './ApiConst.api'
import useTablePage from '@/hooks/bootx/useTablePage'
import { VxeTableInstance, VxeToolbarInstance } from 'vxe-table'
import BQuery from '/@/components/Bootx/Query/BQuery.vue'
import { QueryField } from '@/components/Bootx/Query/Query'
// 使用hooks
const {
handleTableChange,
pageQueryResHandel,
resetQueryParams,
pagination,
pages,
model,
loading,
} = useTablePage(queryPage)
// 查询条件
const fields = [
{ field: 'code', type: 'string', name: '编码', placeholder: '请输入编码' },
{ field: 'name', type: 'string', name: '名称', placeholder: '请输入名称' },
] as QueryField[]
const xTable = ref<VxeTableInstance>()
const xToolbar = ref<VxeToolbarInstance>()
onMounted(() => {
vxeBind()
queryPage()
})
function vxeBind() {
xTable.value?.connect(xToolbar.value as VxeToolbarInstance)
}
/**
* 分页查询
*/
function queryPage() {
loading.value = true
page({
...model.queryParam,
...pages,
}).then(({ data }) => {
pageQueryResHandel(data)
})
return Promise.resolve()
}
</script>
<style lang="less" scoped></style>

View File

@@ -7,7 +7,7 @@ import { BaseEntity } from '#/web'
*/
export const page = (params) => {
return defHttp.get<Result<PageResult<ChannelConst>>>({
url: '/const/method',
url: '/const/channel/page',
params,
})
}
@@ -16,18 +16,18 @@ export const page = (params) => {
*/
export const get = (id) => {
return defHttp.get<Result<ChannelConst>>({
url: '/const/method',
url: '/const/channel/findById',
params: { id },
})
}
export interface ChannelConst extends BaseEntity {
/** 编码 */
code: string
code?: string
/** 名称 */
name: string
name?: string
/** 是否启用 */
enable: boolean
enable?: boolean
/** 备注 */
remark: string
remark?: string
}

View File

@@ -0,0 +1,88 @@
<template>
<div>
<div class="m-3 p-3 pt-5 bg-white">
<b-query
:query-params="model.queryParam"
:fields="fields"
@query="queryPage"
@reset="resetQueryParams"
/>
</div>
<div class="m-3 p-3 bg-white">
<vxe-toolbar ref="xToolbar" custom :refresh="{ queryMethod: queryPage }" />
<vxe-table row-id="id" ref="xTable" :data="pagination.records" :loading="loading">
<vxe-column type="seq" width="60" />
<vxe-column field="code" title="编码" />
<vxe-column field="name" title="名称" />
<vxe-column field="enable" title="是否启用">
<template #default="{ row }">
<a-tag v-if="row.enable" color="green">启用</a-tag>
<a-tag v-else color="red">停用</a-tag>
</template>
</vxe-column>
<vxe-column field="remark" title="备注" />
</vxe-table>
<vxe-pager
size="medium"
:loading="loading"
:current-page="pagination.current"
:page-size="pagination.size"
:total="pagination.total"
@page-change="handleTableChange"
/>
</div>
</div>
</template>
<script lang="ts" setup>
import { onMounted, ref } from 'vue'
import { page } from './ChannelConst.api'
import useTablePage from '@/hooks/bootx/useTablePage'
import { VxeTableInstance, VxeToolbarInstance } from 'vxe-table'
import BQuery from '/@/components/Bootx/Query/BQuery.vue'
import { QueryField } from '@/components/Bootx/Query/Query'
// 使用hooks
const {
handleTableChange,
pageQueryResHandel,
resetQueryParams,
pagination,
pages,
model,
loading,
} = useTablePage(queryPage)
// 查询条件
const fields = [
{ field: 'code', type: 'string', name: '编码', placeholder: '请输入操作模块' },
{ field: 'name', type: 'string', name: '名称', placeholder: '请输入账号名称' },
] as QueryField[]
const xTable = ref<VxeTableInstance>()
const xToolbar = ref<VxeToolbarInstance>()
onMounted(() => {
vxeBind()
queryPage()
})
function vxeBind() {
xTable.value?.connect(xToolbar.value as VxeToolbarInstance)
}
/**
* 分页查询
*/
function queryPage() {
loading.value = true
page({
...model.queryParam,
...pages,
}).then(({ data }) => {
pageQueryResHandel(data)
})
return Promise.resolve()
}
</script>
<style lang="less" scoped></style>

View File

@@ -7,7 +7,7 @@ import { BaseEntity } from '#/web'
*/
export const page = (params) => {
return defHttp.get<Result<PageResult<MethodConst>>>({
url: '/const/method',
url: '/const/method/page',
params,
})
}
@@ -16,18 +16,18 @@ export const page = (params) => {
*/
export const get = (id) => {
return defHttp.get<Result<MethodConst>>({
url: '/const/method',
url: '/const/method/findById',
params: { id },
})
}
export interface MethodConst extends BaseEntity {
/** 编码 */
code: string
code?: string
/** 名称 */
name: string
name?: string
/** 是否启用 */
enable: boolean
enable?: boolean
/** 备注 */
remark: string
remark?: string
}

View File

@@ -0,0 +1,88 @@
<template>
<div>
<div class="m-3 p-3 pt-5 bg-white">
<b-query
:query-params="model.queryParam"
:fields="fields"
@query="queryPage"
@reset="resetQueryParams"
/>
</div>
<div class="m-3 p-3 bg-white">
<vxe-toolbar ref="xToolbar" custom :refresh="{ queryMethod: queryPage }" />
<vxe-table row-id="id" ref="xTable" :data="pagination.records" :loading="loading">
<vxe-column type="seq" width="60" />
<vxe-column field="code" title="编码" />
<vxe-column field="name" title="名称" />
<vxe-column field="enable" title="是否启用">
<template #default="{ row }">
<a-tag v-if="row.enable" color="green">启用</a-tag>
<a-tag v-else color="red">停用</a-tag>
</template>
</vxe-column>
<vxe-column field="remark" title="备注" />
</vxe-table>
<vxe-pager
size="medium"
:loading="loading"
:current-page="pagination.current"
:page-size="pagination.size"
:total="pagination.total"
@page-change="handleTableChange"
/>
</div>
</div>
</template>
<script lang="ts" setup>
import { onMounted, ref } from 'vue'
import { page } from './MethodConst.api'
import useTablePage from '@/hooks/bootx/useTablePage'
import { VxeTableInstance, VxeToolbarInstance } from 'vxe-table'
import BQuery from '/@/components/Bootx/Query/BQuery.vue'
import { QueryField } from '@/components/Bootx/Query/Query'
// 使用hooks
const {
handleTableChange,
pageQueryResHandel,
resetQueryParams,
pagination,
pages,
model,
loading,
} = useTablePage(queryPage)
// 查询条件
const fields = [
{ field: 'code', type: 'string', name: '编码', placeholder: '请输入编码' },
{ field: 'name', type: 'string', name: '名称', placeholder: '请输入名称' },
] as QueryField[]
const xTable = ref<VxeTableInstance>()
const xToolbar = ref<VxeToolbarInstance>()
onMounted(() => {
vxeBind()
queryPage()
})
function vxeBind() {
xTable.value?.connect(xToolbar.value as VxeToolbarInstance)
}
/**
* 分页查询
*/
function queryPage() {
loading.value = true
page({
...model.queryParam,
...pages,
}).then(({ data }) => {
pageQueryResHandel(data)
})
return Promise.resolve()
}
</script>
<style lang="less" scoped></style>

View File

@@ -54,21 +54,21 @@ export const del = (id) => {
*/
export interface MchApp extends BaseEntity {
// 商户号
mchNo: string
mchNo?: string
// 应用号
appId: string
appId?: string
// 应用名称
appName: string
appName?: string
// 签名方式
signType: string
signType?: string
// 公钥
publicKey: string
publicKey?: string
// 私钥
privateKey: string
privateKey?: string
// 异步消息通知类型
notifyType: string
// 状态
notifyUrl: string
notifyType?: string
// 通知地址, http/WebSocket 需要配置
status: string
notifyUrl?: string
// 状态
status?: string
}

View File

@@ -54,21 +54,21 @@ export const del = (id) => {
*/
export interface Merchant extends BaseEntity {
// 商户号
mchNo: string
mchNo?: string
// 商户名称
mchName: string
mchName?: string
// 公司名称
companyName: string
companyName?: string
// 证件类型
idType: string
idType?: string
// 证件号
idNo: string
idNo?: string
// 联系方式
contact: string
contact?: string
// 法人名称
legalPerson: string
legalPerson?: string
// 法人证件号码
legalPersonIdNo: string
legalPersonIdNo?: string
// 状态
status: string
status?: string
}

View File

@@ -19,22 +19,20 @@
</template>
</vxe-toolbar>
<vxe-table ref="xTable" key-field="id" :data="pagination.records" :loading="loading">
<vxe-column type="seq" width="60" />
<vxe-column field="mchNo" title="编码" />
<vxe-column field="mchName" title="名称" />
<vxe-column field="companyName" title="公司名称" />
<vxe-column field="idType" title="证件类型">
<vxe-column type="seq" :width="60" />
<vxe-column field="mchNo" title="编码" :min-width="100" />
<vxe-column field="mchName" title="名称" :min-width="100" />
<vxe-column field="companyName" title="公司名称" :min-width="150" />
<vxe-column field="idType" title="证件类型" :min-width="80">
<template #default="{ row }">
<a-tag v-if="row.idType === '0'" color="green">身份证</a-tag>
<a-tag v-else-if="row.idType === '1'" color="blue">护照</a-tag>
<a-tag v-else-if="row.idType === '2'" color="red">港澳通行证</a-tag>
<a-tag color="green">{{ dictConvert('idType', row.idType) }}</a-tag>
</template>
</vxe-column>
<vxe-column field="tel" title="联系方式" />
<vxe-column field="legalPerson" title="法人名称" />
<vxe-column field="tel" title="联系方式" />
<vxe-column field="createTime" title="创建时间" />
<vxe-column fixed="right" width="150" :showOverflow="false" title="操作">
<vxe-column field="tel" title="联系方式" :min-width="100" />
<vxe-column field="legalPerson" title="法人名称" :min-width="80" />
<vxe-column field="tel" title="联系方式" :min-width="100" />
<vxe-column field="createTime" title="创建时间" :min-width="80" />
<vxe-column fixed="right" :width="150" :showOverflow="false" title="操作">
<template #default="{ row }">
<span>
<a-link @click="show(row)">查看</a-link>
@@ -72,6 +70,7 @@
import { useMessage } from '@/hooks/web/useMessage'
import { VxeTableInstance, VxeToolbarInstance } from 'vxe-table'
import ALink from '@/components/Link/Link.vue'
import { useDict } from '@/hooks/bootx/useDict'
// 使用hooks
const {
@@ -84,6 +83,7 @@
loading,
} = useTablePage(queryPage)
const { createMessage, createConfirm } = useMessage()
const { dictConvert } = useDict()
// 查询条件
const fields = [
{ field: 'code', formType: STRING, name: '编码', placeholder: '请输入终端编码' },