feat: deal product services
This commit is contained in:
@@ -0,0 +1,26 @@
|
||||
import {FC} from "react";
|
||||
import {SegmentedControl, SegmentedControlProps} from "@mantine/core";
|
||||
import {ServiceType} from "../../../../shared/enums/ServiceType.ts";
|
||||
|
||||
|
||||
type Props = Omit<SegmentedControlProps, 'data'>;
|
||||
const data = [
|
||||
{
|
||||
label: 'Для товара',
|
||||
value: ServiceType.PRODUCT_SERVICE.toString()
|
||||
},
|
||||
{
|
||||
label: 'Для сделки',
|
||||
value: ServiceType.DEAL_SERVICE.toString()
|
||||
}
|
||||
]
|
||||
const ServiceTypeSegmentedControl: FC<Props> = (props) => {
|
||||
|
||||
return (
|
||||
<SegmentedControl
|
||||
data={data}
|
||||
{...props}
|
||||
/>
|
||||
)
|
||||
}
|
||||
export default ServiceTypeSegmentedControl
|
||||
@@ -44,7 +44,6 @@ const CreateServiceModal = ({
|
||||
})
|
||||
|
||||
|
||||
console.log(form.values)
|
||||
const onCancelClick = () => {
|
||||
context.closeContextModal(id);
|
||||
}
|
||||
|
||||
@@ -9,4 +9,9 @@
|
||||
padding: rem(5);
|
||||
gap: rem(10);
|
||||
display: flex;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.top-panel-last-item {
|
||||
margin-left: auto;
|
||||
}
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import {FC} from "react";
|
||||
import {FC, useState} from "react";
|
||||
import ServicesTable from "../components/ServicesTable/ServicesTable.tsx";
|
||||
import useServicesList from "../hooks/useServicesList.tsx";
|
||||
import PageBlock from "../../../components/PageBlock/PageBlock.tsx";
|
||||
@@ -7,10 +7,12 @@ import {Button, Text} from "@mantine/core";
|
||||
import {ServiceCategorySchema, ServiceSchema, ServiceService} from "../../../client";
|
||||
import {notifications} from "../../../shared/lib/notifications.ts";
|
||||
import {modals} from "@mantine/modals";
|
||||
import ServiceTypeSegmentedControl from "../components/ServiceTypeSegmentedControl/ServiceTypeSegmentedControl.tsx";
|
||||
import {ServiceType} from "../../../shared/enums/ServiceType.ts";
|
||||
|
||||
export const ServicesPage: FC = () => {
|
||||
const {services, refetch} = useServicesList();
|
||||
|
||||
const [serviceType, setServiceType] = useState(ServiceType.DEAL_SERVICE)
|
||||
// region Service create
|
||||
const onCreateClick = () => {
|
||||
modals.openContextModal({
|
||||
@@ -90,13 +92,18 @@ export const ServicesPage: FC = () => {
|
||||
<div className={styles['top-panel']}>
|
||||
<Button onClick={onCreateClick} variant={"default"}>Создать услугу</Button>
|
||||
<Button onClick={onCreateCategoryClick} variant={"default"}>Создать категорию</Button>
|
||||
<ServiceTypeSegmentedControl
|
||||
className={styles['top-panel-last-item']}
|
||||
value={serviceType.toString()}
|
||||
onChange={(event) => setServiceType(parseInt(event))}
|
||||
/>
|
||||
</div>
|
||||
</PageBlock>
|
||||
<PageBlock>
|
||||
<ServicesTable
|
||||
onDelete={onServiceDelete}
|
||||
onChange={onServiceUpdate}
|
||||
items={services}
|
||||
items={services.filter(service => service.serviceType == serviceType)}
|
||||
/>
|
||||
</PageBlock>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user