新增商家详情

This commit is contained in:
2023-10-09 09:56:56 +08:00
parent afe3d71ca5
commit b541e8ae61
4 changed files with 214 additions and 100 deletions

View File

@@ -198,3 +198,29 @@ export function messageChannel(userId, merchantCode) {
url: `/merchantChannel/messageChannel/${userId}/${merchantCode}`
})
}
/**
* ip记录
* @param {*} data
* @returns
*/
export function userIpPage(params) {
return request({
method: 'get',
url: `/merchantChannel/userIpPage`,
params
})
}
/**
* 后台进件
* @param {*} params
* @returns
*/
export function manualMerchantIncom(params) {
return request({
method: 'get',
url: `/merchantChannel/manualMerchantIncom`,
params
})
}

View File

@@ -1,92 +1,109 @@
<!-- 通道进件信息 -->
<template>
<el-form ref="formRef" :model="form" label-width="120" label-position="left">
<div class="title_wrap">
<el-text>通道进件组1</el-text>
<div v-for="(item, index) in form" :key="index">
<div class="title_wrap">
<el-text>通道进件组{{ index + 1 }}</el-text>
</div>
<!-- <el-form-item label="审核备注组" class="mt15">
<el-select v-model="item.remake">
<el-option :value="value.rejectname" :label="value.rejectname" v-for="value in reviewRemarks"
:key="value.rejectname" />
</el-select>
</el-form-item> -->
<el-form-item label="审核备注" class="mt15">
<el-input type="textarea" :autosize="{ minRows: 4 }" v-model="item.remake" placeholder="请输入审核备注"
style="width: 50%" :disabled="item.thirdStatus != '-100'" />
</el-form-item>
<el-form-item label="通道选择">
<el-radio-group v-model="item.channel" :disabled="item.thirdStatus != '-100'">
<el-radio :label="value.id" v-for="value in merchantChannels" :key="value.id">
{{ value.channelname }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="默认结算方式">
<el-input v-model="item.valid" disabled placeholder="请输入默认结算方式" style="width: 50%" />
</el-form-item>
<el-form-item label="审核状态">
<el-select v-model="item.status" :disabled="item.thirdStatus != '-100'">
<el-option :value="value.status" :label="value.label" v-for="value in status" :key="value.status" />
</el-select>
</el-form-item>
<el-form-item v-if="item.thirdStatus == '-100'">
<el-space>
<el-button type="primary" :loading="loading" @click="submitHandle(1, index)">通过</el-button>
<el-button type="danger" :loading="loading" @click="submitHandle(2, index)">驳回</el-button>
<el-button type="danger" :loading="loading" @click="submitHandle(2, index)">驳回并禁止进件</el-button>
</el-space>
</el-form-item>
</div>
<el-form-item label="审核备注组" class="mt15">
<el-select v-model="form.remarkGroup">
<el-option :value="0" label="退回" />
<el-option :value="1" label="通过" />
</el-select>
</el-form-item>
<el-form-item label="审核备注">
<el-input type="textarea" :autosize="{ minRows: 4 }" v-model="form.remark" placeholder="请输入审核备注"
style="width: 50%" />
</el-form-item>
<el-form-item label="通道选择">
<el-radio-group disabled v-model="form.aisle">
<el-radio :label="1">随行付</el-radio>
<el-radio :label="2">银盛</el-radio>
<el-radio :label="3">拉卡拉</el-radio>
<el-radio :label="4">银盛D1</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="默认结算方式">
<el-input v-model="form.settle" placeholder="请输入默认结算方式" style="width: 50%" />
</el-form-item>
<el-form-item label="审核状态">
<el-input v-model="form.authStatus" disabled style="width: 50%" />
</el-form-item>
<div class="title_wrap">
<el-text>通道进件组2</el-text>
</div>
<el-form-item label="审核备注组" class="mt15">
<el-select v-model="form.remarkGroup">
<el-option :value="0" label="退回" />
<el-option :value="1" label="通过" />
</el-select>
</el-form-item>
<el-form-item label="审核备注">
<el-input type="textarea" :autosize="{ minRows: 4 }" v-model="form.remark" placeholder="请输入审核备注"
style="width: 50%" />
</el-form-item>
<el-form-item label="通道选择">
<el-radio-group disabled v-model="form.aisle">
<el-radio :label="1">随行付</el-radio>
<el-radio :label="2">银盛</el-radio>
<el-radio :label="3">拉卡拉</el-radio>
<el-radio :label="4">银盛D1</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="默认结算方式">
<el-input v-model="form.settle" placeholder="请输入默认结算方式" style="width: 50%" />
</el-form-item>
<el-form-item label="审核状态">
<el-input v-model="form.authStatus" disabled style="width: 50%" />
</el-form-item>
<el-form-item>
<el-space>
<el-button type="primary">通过</el-button>
<el-button type="danger">驳回</el-button>
<el-button type="danger">驳回并禁止进件</el-button>
</el-space>
</el-form-item>
</el-form>
</template>
<script setup>
import { messageChannel } from '@/api/shop.js'
import { ElMessage } from 'element-plus'
import { messageChannel, manualMerchantIncom } from '@/api/shop.js'
import { useRoute } from 'vue-router'
const route = useRoute()
const form = reactive({
remarkGroup: 0,
remark: '',
aisle: '',
settle: '',
authStatus: ''
})
const reviewRemarks = ref([])
const merchantChannels = ref([])
const status = ref([
{
status: '0',
label: '待审核'
},
{
status: '1',
label: '审核中'
},
{
status: '2',
label: '审核失败'
},
{
status: '3',
label: '审核通过'
}
])
const form = ref([])
const loading = ref(false)
// 通道进件信息
async function messageChannelAjax() {
try {
const res = await messageChannel(route.query.id, route.query.merchantcode)
reviewRemarks.value = res.reviewRemarks
merchantChannels.value = res.merchantChannels
form.value = res.merchantChannelMessage
} catch (error) {
console.error('通道进件信息===', error)
}
}
// 提交进件信息
async function submitHandle(state, index) {
try {
loading.value = true
await manualMerchantIncom({
type: state,
errMsg: form.value[index].remake || '',
userId: route.query.id,
channelId: form.value[index].channel || '',
merchantCode: route.query.merchantcode
})
loading.value = false
ElMessage.success('提交成功')
messageChannelAjax()
} catch (error) {
loading.value = false
console.error('提交进件信息', error)
}
}
onMounted(() => {
messageChannelAjax()
})

View File

@@ -47,7 +47,13 @@
</div>
<div class="mt15">
<el-table :data="tableOptions.list" border height="200" v-loading="tableOptions.loading">
<el-table-column prop="id" label="ID"></el-table-column>
<el-table-column prop="ip" label="IP地址"></el-table-column>
<el-table-column prop="remark" label="操作"></el-table-column>
<el-table-column prop="createtime" label="操作时间">
<template #default="scope">
{{ dayjs(scope.row.createtime).format('YYYY-MM-DD HH:mm:ss') }}
</template>
</el-table-column>
</el-table>
<div class="mt15">
<el-pagination layout="prev, pager, next, total, sizes, jumper" background
@@ -62,7 +68,7 @@
</template>
<script setup>
import { connectInfo, merchBaseInfo, merchantInfoDetail } from '@/api/shop.js'
import { connectInfo, merchBaseInfo, merchantInfoDetail, merchBaseAccount, messageChannel, userIpPage } from '@/api/shop.js'
import authentication from './components/authentication.vue'
import shopInfo from './components/shopInfo.vue'
@@ -70,6 +76,8 @@ import settleInfo from './components/settleInfo.vue'
import aisleInfo from './components/aisleInfo.vue'
import { useRoute } from 'vue-router'
import { reactive } from 'vue'
import { dayjs } from 'element-plus'
const route = useRoute()
const authInfo = ref({})
@@ -83,28 +91,24 @@ const componentList = {
4: aisleInfo
}
const navs = ref([
{
type: 1,
label: '实名认证信息',
show: true
},
{
type: 2,
label: '商户基本信息',
show: true
},
{
type: 3,
label: '结算信息',
show: true
},
{
type: 4,
label: '通道进件信息',
show: true
}
])
const navs = reactive([])
// {
// type: 1,
// label: '实名认证信息'
// },
// {
// type: 2,
// label: '商户基本信息'
// },
// {
// type: 3,
// label: '结算信息'
// },
// {
// type: 4,
// label: '通道进件信息'
// }
// 表格参数
const tableOptions = reactive({
@@ -118,6 +122,7 @@ const tableOptions = reactive({
// 分页回调
function paginationChange() {
tableOptions.loading = true
userIpPageAjax()
}
// 实名认证信息页面(实名个数)
@@ -130,15 +135,35 @@ async function connectInfoAjax() {
}
}
// ip记录
async function userIpPageAjax() {
try {
const res = await userIpPage({
userId: route.query.id,
currPage: tableOptions.pageNum,
size: tableOptions.pageSzie
})
tableOptions.loading = false
tableOptions.list = res.list
tableOptions.total = res.total
} catch (error) {
console.log('ip记录', error)
}
}
// 实名认证信息
async function merchantInfoDetailAjax() {
try {
const res = await merchantInfoDetail(route.query.id)
navs.value[0].show = false
type.value = 2
if (res.bankCard.bankname) {
navs.push(
{
type: 1,
label: '实名认证信息'
}
)
}
} catch (error) {
navs.value[0].show = false
type.value = 2
console.error('实名认证信息===', error)
}
}
@@ -147,16 +172,62 @@ async function merchantInfoDetailAjax() {
async function merchBaseInfoAjax() {
try {
const res = await merchBaseInfo(route.query.id)
if (res.merchantBaseInfo.mccname) {
navs.push(
{
type: 2,
label: '商户基本信息'
}
)
}
} catch (error) {
console.log('商户基本信息===', error)
}
}
onMounted(() => {
// 结算信息
async function merchBaseAccountAjax() {
try {
const res = await merchBaseAccount(route.query.id)
if (res.D0.bankCard) {
navs.push(
{
type: 3,
label: '结算信息'
}
)
}
} catch (error) {
console.log('结算信息===', error)
}
}
// 通道进件信息
async function messageChannelAjax() {
try {
const res = await messageChannel(route.query.id, route.query.merchantcode)
if (res.merchantChannelMessage.length) {
navs.push(
{
type: 4,
label: '通道进件信息'
}
)
}
} catch (error) {
console.log('通道进件信息===', error)
}
}
onMounted(async () => {
tableOptions.loading = false
merchantInfoDetailAjax()
merchBaseInfoAjax()
connectInfoAjax()
userIpPageAjax()
await merchantInfoDetailAjax()
await merchBaseInfoAjax()
await merchBaseAccountAjax()
await messageChannelAjax()
type.value = navs[0].type
})
</script>