feat: add IM governance admin enhancements

This commit is contained in:
richjohnrambo
2026-08-21 16:06:29 +08:00
parent 543c7b624e
commit 21a5b97ac8
34 changed files with 2621 additions and 135 deletions
+28 -8
View File
@@ -1,10 +1,15 @@
<template>
<div>
<div class="n-layout-page-header">
<n-card :bordered="false" title="IM实名审核"></n-card>
<n-card :bordered="false" title="IM实名审核" />
</div>
<n-card :bordered="false" class="proCard">
<BasicForm ref="searchFormRef" @register="register" @submit="reloadTable" @reset="reloadTable" />
<BasicForm
ref="searchFormRef"
@register="register"
@submit="reloadTable"
@reset="reloadTable"
/>
<BasicTable
ref="actionRef"
:columns="columns"
@@ -24,6 +29,7 @@
import { useDialog, useMessage } from 'naive-ui';
import { BasicTable, TableAction } from '@/components/Table';
import { BasicForm, useForm } from '@/components/Form/index';
import { useUserStore } from '@/store/modules/user';
import { List, Review } from '@/api/imRealname';
import { columns, loadOptions, loadTenantOptions, schemas, State, tenantOptions } from './model';
import { adaTableScrollX } from '@/utils/hotgo';
@@ -31,10 +37,17 @@
const message = useMessage();
const dialog = useDialog();
const userStore = useUserStore();
const isPlatformAdmin = computed(() => userStore.isCompanyDept);
const actionRef = ref();
const searchFormRef = ref<any>({});
const viewRef = ref();
const tenantSchema = schemas.value.find((item) => item.field === 'tenantId');
if (tenantSchema) {
tenantSchema.ifShow = () => isPlatformAdmin.value;
}
const actionColumn = reactive({
width: 200,
title: '操作',
@@ -44,7 +57,11 @@
return h(TableAction as any, {
style: 'button',
actions: [
{ label: '详情', onClick: () => viewRef.value.openModal(record), auth: ['/imRealname/view'] },
{
label: '详情',
onClick: () => viewRef.value.openModal(record),
auth: ['/imRealname/view'],
},
{
label: '通过',
onClick: () => handleReview(record, 'verified'),
@@ -71,7 +88,8 @@
const loadDataTable = async (res) => {
const params = { ...searchFormRef.value?.formModel, ...res };
if (!params.tenantId) return { list: [], page: 1, pageCount: 0, totalCount: 0 };
if (isPlatformAdmin.value && !params.tenantId)
return { list: [], page: 1, pageCount: 0, totalCount: 0 };
return await List(params);
};
@@ -98,10 +116,12 @@
onMounted(async () => {
loadOptions();
await loadTenantOptions();
if (tenantOptions.value.length > 0) {
await setFieldsValue({ tenantId: tenantOptions.value[0].value });
reloadTable();
if (isPlatformAdmin.value) {
await loadTenantOptions();
if (tenantOptions.value.length > 0) {
await setFieldsValue({ tenantId: tenantOptions.value[0].value });
}
}
reloadTable();
});
</script>