admin-vben5/apps/web-antd/src/views/property/visitorManagement/data.ts
2025-06-18 11:03:42 +08:00

197 lines
3.8 KiB
TypeScript

import type { FormSchemaGetter } from '#/adapter/form';
import type { VxeGridProps } from '#/adapter/vxe-table';
export const querySchema: FormSchemaGetter = () => [
{
component: 'Input',
fieldName: 'visitorName',
label: '访客姓名',
},
{
component: 'Input',
fieldName: 'visitorPhone',
label: '访客电话',
},
{
component: 'Input',
fieldName: 'visitingReason',
label: '拜访事由',
},
{
component: 'DatePicker',
componentProps: {
showTime: true,
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
},
fieldName: 'visitingBeginTime',
label: '拜访开始时间',
},
{
component: 'DatePicker',
componentProps: {
showTime: true,
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
},
fieldName: 'visitingEndTime',
label: '拜访结束时间',
},
{
component: 'Input',
fieldName: 'bookingParkingSpace',
label: '预约车位',
},
{
component: 'Input',
fieldName: 'licensePlate',
label: '车牌号',
},
{
component: 'Input',
fieldName: 'facePictures',
label: '人脸图片',
},
{
component: 'RadioGroup',
componentProps: {
buttonStyle: 'solid',
optionType: 'button',
},
fieldName: 'serveStatus',
label: '预约状态',
},
];
// 需要使用i18n注意这里要改成getter形式 否则切换语言不会刷新
// export const columns: () => VxeGridProps['columns'] = () => [
export const columns: VxeGridProps['columns'] = [
{ type: 'checkbox', width: 60 },
{
title: 'id',
field: 'id',
},
{
title: '访客姓名',
field: 'visitorName',
},
{
title: '访客电话',
field: 'visitorPhone',
},
{
title: '拜访事由',
field: 'visitingReason',
},
{
title: '拜访开始时间',
field: 'visitingBeginTime',
},
{
title: '拜访结束时间',
field: 'visitingEndTime',
},
{
title: '预约车位',
field: 'bookingParkingSpace',
},
{
title: '车牌号',
field: 'licensePlate',
},
{
title: '人脸图片',
field: 'facePictures',
},
{
title: '预约状态',
field: 'serveStatus',
},
{
field: 'action',
fixed: 'right',
slots: { default: 'action' },
title: '操作',
width: 180,
},
];
export const modalSchema: FormSchemaGetter = () => [
{
label: 'id',
fieldName: 'id',
component: 'Input',
dependencies: {
show: () => false,
triggerFields: [''],
},
},
{
label: '访客姓名',
fieldName: 'visitorName',
component: 'Input',
rules: 'required',
},
{
label: '访客电话',
fieldName: 'visitorPhone',
component: 'Input',
rules: 'required',
},
{
label: '拜访事由',
fieldName: 'visitingReason',
component: 'Input',
rules: 'required',
},
{
label: '拜访开始时间',
fieldName: 'visitingBeginTime',
component: 'DatePicker',
componentProps: {
showTime: true,
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
},
rules: 'required',
},
{
label: '拜访结束时间',
fieldName: 'visitingEndTime',
component: 'DatePicker',
componentProps: {
showTime: true,
format: 'YYYY-MM-DD HH:mm:ss',
valueFormat: 'YYYY-MM-DD HH:mm:ss',
},
rules: 'required',
},
{
label: '预约车位',
fieldName: 'bookingParkingSpace',
component: 'Input',
rules: 'required',
},
{
label: '车牌号',
fieldName: 'licensePlate',
component: 'Input',
},
{
label: '人脸图片',
fieldName: 'facePictures',
component: 'Input',
rules: 'required',
},
{
label: '预约状态',
fieldName: 'serveStatus',
component: 'RadioGroup',
componentProps: {
buttonStyle: 'solid',
optionType: 'button',
},
},
];