tachybase_todo/packages/plugin-action-logs/src/collections/action_logs.ts

221 lines
4.8 KiB
TypeScript

import { TableOptions } from '@nocobase/database';
import { LOG_TYPE_CREATE, LOG_TYPE_UPDATE, LOG_TYPE_DESTROY } from '../constants';
export default {
name: 'action_logs',
title: '操作记录',
developerMode: true,
internal: true,
createdBy: false,
updatedBy: false,
updatedAt: false,
logging: false,
fields: [
{
interface: 'createdAt',
name: 'created_at',
type: 'date',
title: '操作时间',
showTime: true,
component: {
showInTable: true,
showInDetail: true,
},
},
{
interface: 'linkTo',
type: 'belongsTo',
name: 'user',
target: 'users',
title: '操作用户',
appends: true,
labelField: 'nickname',
component: {
showInTable: true,
showInDetail: true,
},
},
{
interface: 'linkTo',
type: 'belongsTo',
name: 'collection',
target: 'collections',
title: '数据表',
targetKey: 'name',
appends: true,
labelField: 'title',
component: {
showInTable: true,
showInDetail: true,
},
},
{
interface: 'select',
type: 'string',
name: 'type',
title: '操作类型',
filterable: true,
dataSource: [
{ value: LOG_TYPE_CREATE, label: '新增', color: 'blue' },
{ value: LOG_TYPE_UPDATE, label: '更新', color: 'volcano' },
{ value: LOG_TYPE_DESTROY, label: '删除', color: 'magenta' },
],
component: {
showInTable: true,
showInDetail: true,
},
},
{
type: 'integer',
name: 'index',
title: '数据ID',
component: {
showInTable: true,
},
},
{
interface: 'subTable',
type: 'hasMany',
name: 'changes',
target: 'action_changes',
title: '数据变动',
component: {
showInDetail: true,
},
}
],
actions: [
{
type: 'filter',
name: 'filter',
title: '筛选'
},
{
type: 'list',
name: 'list',
title: '查看',
// sort: '-created_at'
},
],
views_v2: [
{
developerMode: true,
type: 'table',
name: 'table',
title: '全部数据',
labelField: 'created_at',
actions: [
{
name: 'filter',
type: 'filter',
title: '过滤',
},
],
fields: ['created_at', 'user', 'collection', 'type', 'index'],
detailsOpenMode: 'drawer', // window
details: ['descriptions'],
sort: ['-created_at'],
},
{
developerMode: true,
type: 'table',
name: 'create',
title: '新增数据',
labelField: 'created_at',
actions: [
{
name: 'filter',
type: 'filter',
title: '过滤',
},
],
fields: ['created_at', 'user', 'collection', 'type', 'index'],
detailsOpenMode: 'drawer', // window
details: ['descriptions'],
filter: {
and: [
{
type: 'create',
}
],
},
sort: ['-created_at'],
},
{
developerMode: true,
type: 'table',
name: 'update',
title: '更新数据',
labelField: 'created_at',
actions: [
{
name: 'filter',
type: 'filter',
title: '过滤',
},
],
fields: ['created_at', 'user', 'collection', 'type', 'index'],
detailsOpenMode: 'drawer', // window
details: ['descriptions'],
filter: {
and: [
{
type: 'update',
}
],
},
sort: ['-created_at'],
},
{
developerMode: true,
type: 'table',
name: 'destroy',
title: '删除数据',
labelField: 'created_at',
actions: [
{
name: 'filter',
type: 'filter',
title: '过滤',
},
],
fields: ['created_at', 'user', 'collection', 'type', 'index'],
detailsOpenMode: 'drawer', // window
details: ['descriptions'],
filter: {
and: [
{
type: 'destroy',
}
],
},
sort: ['-created_at'],
},
{
type: 'table',
name: 'table2',
title: '操作日志列表',
labelField: 'created_at',
actions: [
{
name: 'filter',
type: 'filter',
title: '过滤',
},
],
fields: ['created_at', 'user', 'type', 'index'],
detailsOpenMode: 'drawer', // window
details: ['descriptions'],
sort: ['created_at'],
},
{
developerMode: true,
type: 'descriptions',
name: 'descriptions',
title: '详情',
fields: ['created_at', 'user', 'collection', 'type', 'index', 'changes'],
actions: [],
},
],
} as TableOptions;