会议管理
Some checks are pending
Gitea Actions Demo / Explore-Gitea-Actions (push) Waiting to run

This commit is contained in:
FLL
2025-07-04 17:56:14 +08:00
parent e21c76cc6f
commit e28ddabf57
20 changed files with 1433 additions and 520 deletions

View File

@@ -0,0 +1,142 @@
import type { FormSchemaGetter } from '#/adapter/form';
import type { VxeGridProps } from '#/adapter/vxe-table';
import {getDictOptions} from "#/utils/dict";
import {renderDict} from "#/utils/render";
export const querySchema: FormSchemaGetter = () => [
{
component: 'Input',
fieldName: 'name',
label: '会议室名称',
},
{
component: 'Select',
componentProps: {
options: getDictOptions('meeting_room_status'),
},
fieldName: 'attach',
label: '状态',
},
{
component: 'Input',
fieldName: 'createById',
label: '创建人id',
},
{
component: 'Input',
fieldName: 'updateById',
label: '更新人id',
},
];
export const columns: VxeGridProps['columns'] = [
{ type: 'checkbox', width: 60 },
{
title: '会议室名称',
field: 'name',
},
{
title: '会议室地址',
field: 'location',
},
{
title: '可容纳人数',
field: 'personNumber',
},
{
title: '基础服务',
field: 'baseServiceId',
},
{
title: '基础价格',
field: 'basePrice',
},
{
title: '状态',
field: 'attach',
slots: {
default: ({ row }) => {
return renderDict(row.attach, 'meeting_room_status');
},
},
},
{
title: '创建人id',
field: 'createById',
},
{
title: '更新人id',
field: 'updateById',
},
{
field: 'action',
fixed: 'right',
slots: { default: 'action' },
title: '操作',
width: 180,
},
];
export const modalSchema: FormSchemaGetter = () => [
{
label: '主键',
fieldName: 'id',
component: 'Input',
dependencies: {
show: () => false,
triggerFields: [''],
},
},
{
label: '会议室名称',
fieldName: 'name',
component: 'Input',
rules: 'required',
},
{
label: '会议室地址',
fieldName: 'location',
component: 'Input',
rules: 'required',
},
{
label: '可容纳人数',
fieldName: 'personNumber',
component: 'Input',
rules: 'required',
},
{
label: '基础服务',
fieldName: 'baseServiceId',
component: 'Input',
rules: 'required',
},
{
label: '基础价格',
fieldName: 'basePrice',
component: 'Input',
rules: 'required',
},
{
label: '状态',
fieldName: 'attach',
component: 'Select',
componentProps: {
options: getDictOptions('meeting_room_status'),
},
rules: 'selectRequired',
},
{
label: '创建人id',
fieldName: 'createById',
component: 'Input',
rules: 'required',
},
{
label: '更新人id',
fieldName: 'updateById',
component: 'Input',
rules: 'required',
},
];