init equipment & change-status

This commit is contained in:
MaKarin
2026-04-03 21:45:13 -07:00
parent c89c23fd1d
commit cec42f08d0
87 changed files with 19086 additions and 86 deletions

View File

@@ -0,0 +1,30 @@
import {
AutocompleteInput,
Create,
DateInput,
ReferenceInput,
SelectInput,
SimpleForm,
TextInput as RaTextInput,
} from 'react-admin';
import { equipmentStatusChoices, equipmentOptionText } from '../equipment/shared';
export function ChangeEquipmentStatusCreate() {
return (
<Create>
<SimpleForm>
<ReferenceInput source="equipmentId" reference="equipment">
<AutocompleteInput
label="Оборудование"
optionText={equipmentOptionText}
filterToQuery={(searchText) => ({ q: searchText })}
/>
</ReferenceInput>
<SelectInput source="newStatus" label="Новый статус" choices={equipmentStatusChoices} required />
<DateInput source="date" label="Дата" required />
<RaTextInput source="number" label="Номер" />
<RaTextInput source="responsible" label="Ответственный" />
</SimpleForm>
</Create>
);
}

View File

@@ -0,0 +1,30 @@
import {
AutocompleteInput,
DateInput,
Edit,
ReferenceInput,
SelectInput,
SimpleForm,
TextInput as RaTextInput,
} from 'react-admin';
import { equipmentStatusChoices, equipmentOptionText } from '../equipment/shared';
export function ChangeEquipmentStatusEdit() {
return (
<Edit>
<SimpleForm>
<ReferenceInput source="equipmentId" reference="equipment">
<AutocompleteInput
label="Оборудование"
optionText={equipmentOptionText}
filterToQuery={(searchText) => ({ q: searchText })}
/>
</ReferenceInput>
<SelectInput source="newStatus" label="Новый статус" choices={equipmentStatusChoices} />
<DateInput source="date" label="Дата" />
<RaTextInput source="number" label="Номер" />
<RaTextInput source="responsible" label="Ответственный" />
</SimpleForm>
</Edit>
);
}

View File

@@ -0,0 +1,42 @@
import {
Datagrid,
DateField,
FilterButton,
List,
ReferenceField,
SelectArrayInput,
SelectField,
TextField,
TextInput,
TopToolbar,
} from 'react-admin';
import { equipmentStatusChoices } from '../equipment/shared';
const statusFilters = [
<TextInput key="q" source="q" label="Поиск" alwaysOn />,
<TextInput key="equipmentId" source="equipmentId" label="Оборудование" />,
<SelectArrayInput key="newStatus" source="newStatus" label="Новый статус" choices={equipmentStatusChoices} />,
];
const ListActions = () => (
<TopToolbar>
<FilterButton />
</TopToolbar>
);
export function ChangeEquipmentStatusList() {
return (
<List filters={statusFilters} actions={<ListActions />} sort={{ field: 'date', order: 'DESC' }}>
<Datagrid rowClick="show">
<TextField source="id" />
<ReferenceField source="equipmentId" reference="equipment" link="show">
<TextField source="name" />
</ReferenceField>
<SelectField source="newStatus" choices={equipmentStatusChoices} />
<TextField source="number" />
<DateField source="date" />
<TextField source="responsible" />
</Datagrid>
</List>
);
}

View File

@@ -0,0 +1,19 @@
import { DateField, ReferenceField, SelectField, Show, SimpleShowLayout, TextField } from 'react-admin';
import { equipmentStatusChoices } from '../equipment/shared';
export function ChangeEquipmentStatusShow() {
return (
<Show>
<SimpleShowLayout>
<TextField source="id" />
<ReferenceField source="equipmentId" reference="equipment" link="show">
<TextField source="name" />
</ReferenceField>
<SelectField source="newStatus" choices={equipmentStatusChoices} />
<TextField source="number" />
<DateField source="date" />
<TextField source="responsible" />
</SimpleShowLayout>
</Show>
);
}