bug:单位用户&个人用户参赛记录

This commit is contained in:
ltx 2026-04-13 10:39:11 +08:00
parent ed6cb2b19e
commit 57b55ca4ec
2 changed files with 63 additions and 89 deletions

View File

@ -1,12 +1,10 @@
<template> <template>
<div class="system-menu-container layout-padding"> <div class="system-menu-container layout-padding">
<ProTable ref="tableRef" :request-api="appuserPageGet" @selection-change="handleSelectionChange" :columns="columns" :pagination="true" <ProTable ref="tableRef" :request-api="appuserPageGet" @selection-change="handleSelectionChange" :columns="columns" :pagination="true" :tool-button="false" :initParams="initParam" row-key="id">
:tool-button="false" :initParams="initParam" row-key="id">
<template #tools> <template #tools>
<el-popconfirm title="确认批量审核吗?" @confirm="onBatchAudit"> <el-popconfirm title="确认批量审核吗?" @confirm="onBatchAudit">
<template #reference> <template #reference>
<el-button v-auth="'user:general:audit'" size="small" type="primary"> 批量审核 <el-button v-auth="'user:general:audit'" size="small" type="primary"> 批量审核 </el-button>
</el-button>
</template> </template>
</el-popconfirm> </el-popconfirm>
</template> </template>
@ -19,36 +17,23 @@
</el-tag> </el-tag>
</template> </template>
<template #idCardImageUrl="scope"> <template #idCardImageUrl="scope">
<PreviewImage <PreviewImage v-if="scope.row.idCardImageUrl" :src="scope.row.idCardImageUrl" width="100px" height="100px" fit="cover" radius="4px" :show-zoom-icon="true" />
v-if="scope.row.idCardImageUrl"
:src="scope.row.idCardImageUrl"
width="100px"
height="100px"
fit="cover"
radius="4px"
:show-zoom-icon="true"
/>
<span v-else>-</span> <span v-else>-</span>
</template> </template>
<template #action="scope"> <template #action="scope">
<el-button v-auth="'user:general:record'" size="small" text type="primary" <el-button v-auth="'user:general:record'" size="small" text type="primary" @click="onOpenMenu(scope.row)"> 参赛记录 </el-button>
@click="onOpenMenu(scope.row)"> 参赛记录 </el-button>
</template> </template>
</ProTable> </ProTable>
<!-- 弹窗 --> <!-- 弹窗 -->
<el-dialog title="参赛记录" v-model="isShowDialog" width="80%" @close="onDialogClose"> <el-dialog title="参赛记录" v-model="isShowDialog" width="80%" @close="onDialogClose">
<ProTable v-if="isShowDialog" ref="table" :request-api="eventrecordPageGet" :columns="columnsUser" :pagination="true" <ProTable v-if="isShowDialog" ref="table" :request-api="eventrecordPageGet" :columns="columnsUser" :pagination="true" :tool-button="false" :initParam="initParamUser">
:tool-button="false" :initParams="initParamUser">
<template #index="scope"> <template #index="scope">
{{ scope.$index + 1 }} {{ scope.$index + 1 }}
</template> </template>
<template #startTime="scope"> <template #startTime="scope"> {{ scope.row.startTime }} -- {{ scope.row.endTime }} </template>
{{ scope.row.startTime }} -- {{ scope.row.endTime }}
</template>
<template #action="scope"> <template #action="scope">
<el-button v-auth="'user:general:record'" size="small" text type="primary" <el-button v-auth="'user:general:record'" size="small" text type="primary" @click="lookBook(scope.row)"> 查看证书 </el-button>
@click="lookBook(scope.row)"> 查看证书 </el-button>
</template> </template>
</ProTable> </ProTable>
<template #footer> <template #footer>
@ -59,11 +44,9 @@
</template> </template>
</el-dialog> </el-dialog>
<!-- 弹窗 --> <!-- 弹窗 -->
<el-dialog title="查看证书" v-model="isShowBook" width="80%"> <el-dialog title="查看证书" v-model="isShowBook" width="80%">
<div> <div>证书</div>
证书
</div>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="onCancelB">取消</el-button> <el-button @click="onCancelB">取消</el-button>
@ -80,8 +63,8 @@ import { ElMessage, ElForm } from 'element-plus';
import SysMenuApi from '/@/api/SysMenuApi'; import SysMenuApi from '/@/api/SysMenuApi';
import { auths } from '/@/utils/authFunction'; import { auths } from '/@/utils/authFunction';
import ProTable from '/@/components/ProTable/index.vue'; import ProTable from '/@/components/ProTable/index.vue';
import { appuserPageGet , appuserAuditPost} from '/@/api/match/appuser'; import { appuserPageGet, appuserAuditPost } from '/@/api/match/appuser';
import { eventrecordPageGet , eventrecordCertificatesGet} from '/@/api/match/eventRecord'; import { eventrecordPageGet, eventrecordCertificatesGet } from '/@/api/match/eventRecord';
import PreviewImage from '/@/components/PreviewImage/index.vue'; import PreviewImage from '/@/components/PreviewImage/index.vue';
const initParam = ref({ const initParam = ref({
@ -176,7 +159,7 @@ const handleSelectionChange = (val) => {
selectedListIds.value = val.map((item) => item.id); selectedListIds.value = val.map((item) => item.id);
}; };
const statusNameList = ['未提交','未审核','已通过','未通过']; const statusNameList = ['未提交', '未审核', '已通过', '未通过'];
const columnsUser = ref([ const columnsUser = ref([
{ prop: 'index', label: '序号', align: 'center' }, { prop: 'index', label: '序号', align: 'center' },
@ -210,7 +193,7 @@ const columnsUser = ref([
isShow: false, isShow: false,
}, },
{ prop: 'action', label: '操作', align: 'center', fixed: 'right'}, { prop: 'action', label: '操作', align: 'center', fixed: 'right' },
]); ]);
const isShowDialog = ref(false); const isShowDialog = ref(false);
@ -240,7 +223,7 @@ const onOpenMenu = (row) => {
const onBatchAudit = async () => { const onBatchAudit = async () => {
console.log(selectedListIds.value); console.log(selectedListIds.value);
const { succeeded, data } = await appuserAuditPost({ ids: selectedListIds.value , status: 2 }); const { succeeded, data } = await appuserAuditPost({ ids: selectedListIds.value, status: 2 });
if (succeeded) { if (succeeded) {
ElMessage.success('操作成功'); ElMessage.success('操作成功');
// initParam.value.refresh = !initParam.value.refresh; // initParam.value.refresh = !initParam.value.refresh;
@ -266,13 +249,12 @@ const lookBook = async (row) => {
} }
}; };
// 对话框关闭时清理 // 对话框关闭时清理
const onDialogClose = () => { const onDialogClose = () => {
// 清理参数,避免下次查询时使用旧参数 // 清理参数,避免下次查询时使用旧参数
initParamUser.value = { initParamUser.value = {
appUserId: null, appUserId: null,
refresh: Date.now() refresh: Date.now(),
}; };
}; };

View File

@ -1,50 +1,44 @@
<template> <template>
<div class="system-menu-container layout-padding"> <div class="system-menu-container layout-padding">
<ProTable ref="tableRef" :request-api="merchantcertificationPageGet" @selection-change="handleSelectionChange" :columns="columns" :pagination="true" <ProTable
:tool-button="false" :initParams="initParam" row-key="id"> ref="tableRef"
:request-api="merchantcertificationPageGet"
@selection-change="handleSelectionChange"
:columns="columns"
:pagination="true"
:tool-button="false"
:initParams="initParam"
row-key="id"
>
<template #tools> <template #tools>
<el-button v-auth="'user:general:audit'" size="small" type="primary" @click="showAuditDialog"> 批量审核 <el-button v-auth="'user:general:audit'" size="small" type="primary" @click="showAuditDialog"> 批量审核 </el-button>
</el-button> </template>
</template>
<template #index="scope"> <template #index="scope">
{{ scope.$index + 1 }} {{ scope.$index + 1 }}
</template> </template>
<template #auditStatus="scope"> <template #auditStatus="scope">
<el-tag :type="getAuditStatusType(scope.row.auditStatus)"> <el-tag :type="getAuditStatusType(scope.row.auditStatus)">
{{ getAuditStatusText(scope.row.auditStatus) }} {{ getAuditStatusText(scope.row.auditStatus) }}
</el-tag> </el-tag>
</template> </template>
<template #businessLicenseUrl="scope"> <template #businessLicenseUrl="scope">
<PreviewImage <PreviewImage v-if="scope.row.businessLicenseUrl" :src="scope.row.businessLicenseUrl" width="100px" height="100px" fit="cover" radius="4px" :show-zoom-icon="true" />
v-if="scope.row.businessLicenseUrl"
:src="scope.row.businessLicenseUrl"
width="100px"
height="100px"
fit="cover"
radius="4px"
:show-zoom-icon="true"
/>
<span v-else>-</span> <span v-else>-</span>
</template> </template>
<template #action="scope"> <template #action="scope">
<el-button v-auth="'user:general:record'" size="small" text type="primary" <el-button v-auth="'user:general:record'" size="small" text type="primary" @click="onOpenMenu(scope.row)"> 参赛记录 </el-button>
@click="onOpenMenu(scope.row)"> 参赛记录 </el-button>
</template> </template>
</ProTable> </ProTable>
<!-- 弹窗 --> <!-- 弹窗 -->
<el-dialog title="参赛记录" v-model="isShowDialog" width="80%" @close="onDialogClose"> <el-dialog title="参赛记录" v-model="isShowDialog" width="80%" @close="onDialogClose">
<ProTable v-if="isShowDialog" ref="table" :request-api="eventrecordPageGet" :columns="columnsUser" :pagination="true" <ProTable v-if="isShowDialog" ref="table" :request-api="eventrecordPageGet" :columns="columnsUser" :pagination="true" :tool-button="false" :initParam="initParamUser">
:tool-button="false" :initParams="initParamUser">
<template #index="scope"> <template #index="scope">
{{ scope.$index + 1 }} {{ scope.$index + 1 }}
</template> </template>
<template #startTime="scope"> <template #startTime="scope"> {{ scope.row.startTime }} -- {{ scope.row.endTime }} </template>
{{ scope.row.startTime }} -- {{ scope.row.endTime }}
</template>
<template #action="scope"> <template #action="scope">
<el-button v-auth="'user:general:record'" size="small" text type="primary" <el-button v-auth="'user:general:record'" size="small" text type="primary" @click="lookBook(scope.row)"> 查看证书 </el-button>
@click="lookBook(scope.row)"> 查看证书 </el-button>
</template> </template>
</ProTable> </ProTable>
<template #footer> <template #footer>
@ -55,11 +49,9 @@
</template> </template>
</el-dialog> </el-dialog>
<!-- 弹窗 --> <!-- 弹窗 -->
<el-dialog title="查看证书" v-model="isShowBook" width="80%"> <el-dialog title="查看证书" v-model="isShowBook" width="80%">
<div> <div>证书</div>
证书
</div>
<template #footer> <template #footer>
<span class="dialog-footer"> <span class="dialog-footer">
<el-button @click="onCancelB">取消</el-button> <el-button @click="onCancelB">取消</el-button>
@ -96,8 +88,8 @@ import { defineAsyncComponent, ref, reactive } from 'vue';
import { ElMessage, ElForm } from 'element-plus'; import { ElMessage, ElForm } from 'element-plus';
import { auths } from '/@/utils/authFunction'; import { auths } from '/@/utils/authFunction';
import ProTable from '/@/components/ProTable/index.vue'; import ProTable from '/@/components/ProTable/index.vue';
import { eventrecordPageGet , eventrecordCertificatesGet} from '/@/api/match/eventRecord'; import { eventrecordPageGet, eventrecordCertificatesGet } from '/@/api/match/eventRecord';
import { merchantcertificationPageGet, merchantcertificationAuditPost} from '/@/api/match/merchantcertification'; import { merchantcertificationPageGet, merchantcertificationAuditPost } from '/@/api/match/merchantcertification';
import PreviewImage from '/@/components/PreviewImage/index.vue'; import PreviewImage from '/@/components/PreviewImage/index.vue';
const initParam = ref({ const initParam = ref({
@ -150,7 +142,7 @@ const columns = ref([
{ prop: 'address', label: '地址' }, { prop: 'address', label: '地址' },
{ prop: 'contactPhone', label: '联系电话', search: { el: 'input' } }, { prop: 'contactPhone', label: '联系电话', search: { el: 'input' } },
{prop: 'businessLicenseUrl', label: '营业执照', width: '130px',}, { prop: 'businessLicenseUrl', label: '营业执照', width: '130px' },
{ {
prop: 'auditStatus', prop: 'auditStatus',
label: '审核状态', label: '审核状态',
@ -158,13 +150,13 @@ const columns = ref([
el: 'select', el: 'select',
}, },
enum: [ enum: [
{ label: '全部', value: '' }, { label: '全部', value: '' },
{ label: '审核拒绝', value: 3 }, { label: '审核拒绝', value: 3 },
{ label: '审核通过', value: 2 }, { label: '审核通过', value: 2 },
{ label: '待审核', value: 1 }, { label: '待审核', value: 1 },
{ label: '待提交', value: 0 }, { label: '待提交', value: 0 },
{ label: '已取消', value: 4 }, { label: '已取消', value: 4 },
], ],
}, },
{ {
prop: 'createdTime', prop: 'createdTime',
@ -215,7 +207,7 @@ const columnsUser = ref([
isShow: false, isShow: false,
}, },
{ prop: 'action', label: '操作', align: 'center', fixed: 'right'}, { prop: 'action', label: '操作', align: 'center', fixed: 'right' },
]); ]);
const isShowDialog = ref(false); const isShowDialog = ref(false);
@ -262,7 +254,7 @@ const lookBook = async (row) => {
const isShowAuditDialog = ref(false); const isShowAuditDialog = ref(false);
const auditForm = reactive({ const auditForm = reactive({
status: 2, // 默认审核通过 status: 2, // 默认审核通过
remark: '' remark: '',
}); });
const showAuditDialog = () => { const showAuditDialog = () => {
@ -280,7 +272,7 @@ const onSubmitAudit = async () => {
const { succeeded, data } = await merchantcertificationAuditPost({ const { succeeded, data } = await merchantcertificationAuditPost({
ids: selectedListIds.value, ids: selectedListIds.value,
status: auditForm.status, status: auditForm.status,
remark: auditForm.remark remark: auditForm.remark,
}); });
if (succeeded) { if (succeeded) {
ElMessage.success('操作成功'); ElMessage.success('操作成功');
@ -297,7 +289,7 @@ const onDialogClose = () => {
// 清理参数,避免下次查询时使用旧参数 // 清理参数,避免下次查询时使用旧参数
initParamUser.value = { initParamUser.value = {
sysUserId: null, sysUserId: null,
refresh: Date.now() refresh: Date.now(),
}; };
}; };