parent
							
								
									e782c49e4b
								
							
						
					
					
						commit
						428d4a7137
					
				@ -0,0 +1,168 @@
 | 
				
			||||
import React, { useEffect } from "react";
 | 
				
			||||
import { Modal, Form, Input, DatePicker } from "antd";
 | 
				
			||||
import dayjs from "dayjs";
 | 
				
			||||
import { taskController } from "../../../API/LayoutApi/tasks";
 | 
				
			||||
 | 
				
			||||
interface ShiftAndCoDriverEditModalProps {
 | 
				
			||||
  open: boolean;
 | 
				
			||||
  onCancel: () => void;
 | 
				
			||||
  recordTask?: any;
 | 
				
			||||
}
 | 
				
			||||
 | 
				
			||||
const ShiftAndCoDriverEditModal: React.FC<ShiftAndCoDriverEditModalProps> = ({
 | 
				
			||||
  open,
 | 
				
			||||
  onCancel,
 | 
				
			||||
  recordTask,
 | 
				
			||||
}) => {
 | 
				
			||||
  const [form] = Form.useForm();
 | 
				
			||||
 | 
				
			||||
  useEffect(() => {
 | 
				
			||||
    if (recordTask) {
 | 
				
			||||
      form.setFieldsValue({
 | 
				
			||||
        shift_date: recordTask.shift_date ? dayjs(recordTask.shift_date) : null,
 | 
				
			||||
        shift_location: recordTask.shift_location,
 | 
				
			||||
 | 
				
			||||
        cycle_date: recordTask.cycle_date ? dayjs(recordTask.cycle_date) : null,
 | 
				
			||||
        cycle_location: recordTask.cycle_location,
 | 
				
			||||
 | 
				
			||||
        pickup_date: recordTask.pickup_date
 | 
				
			||||
          ? dayjs(recordTask.pickup_date)
 | 
				
			||||
          : null,
 | 
				
			||||
        pickup_location: recordTask.pickup_location,
 | 
				
			||||
 | 
				
			||||
        driver_name: recordTask.driver_name,
 | 
				
			||||
        co_driver_name: recordTask.co_driver_name,
 | 
				
			||||
        co_driver_pickup_location: recordTask.co_driver_pickup_location,
 | 
				
			||||
        co_driver_pickup_date: recordTask.co_driver_pickup_date
 | 
				
			||||
          ? dayjs(recordTask.co_driver_pickup_date)
 | 
				
			||||
          : null,
 | 
				
			||||
        co_driver_drop_date: recordTask.co_driver_drop_date
 | 
				
			||||
          ? dayjs(recordTask.co_driver_drop_date)
 | 
				
			||||
          : null,
 | 
				
			||||
        co_driver_drop_location: recordTask.co_driver_drop_location,
 | 
				
			||||
      });
 | 
				
			||||
    }
 | 
				
			||||
  }, [recordTask, form]);
 | 
				
			||||
 | 
				
			||||
  const handleOk = async () => {
 | 
				
			||||
    try {
 | 
				
			||||
      const values = await form.validateFields();
 | 
				
			||||
      // Date fieldlarni string formatga o'tkazib yuboramiz
 | 
				
			||||
      const formattedValues = {
 | 
				
			||||
        ...values,
 | 
				
			||||
        shift_date: values.shift_date ? values.shift_date.toISOString() : null,
 | 
				
			||||
        pickup_date: values.pickup_date
 | 
				
			||||
          ? values.pickup_date.toISOString()
 | 
				
			||||
          : null,
 | 
				
			||||
        cycle_date: values.cycle_date ? values.cycle_date.toISOString() : null,
 | 
				
			||||
        co_driver_pickup_date: values.co_driver_pickup_date
 | 
				
			||||
          ? values.co_driver_pickup_date.toISOString()
 | 
				
			||||
          : null,
 | 
				
			||||
        co_driver_drop_date: values.co_driver_drop_date
 | 
				
			||||
          ? values.co_driver_drop_date.toISOString()
 | 
				
			||||
          : null,
 | 
				
			||||
      };
 | 
				
			||||
      taskController.taskPatch(formattedValues, recordTask.id);
 | 
				
			||||
      onCancel();
 | 
				
			||||
      form.resetFields();
 | 
				
			||||
    } catch (error) {
 | 
				
			||||
      console.log("Validation Failed:", error);
 | 
				
			||||
    }
 | 
				
			||||
  };
 | 
				
			||||
 | 
				
			||||
  return (
 | 
				
			||||
    <Modal
 | 
				
			||||
      open={open}
 | 
				
			||||
      title="Edit Shift & Co-Driver Data"
 | 
				
			||||
      okText="Save"
 | 
				
			||||
      cancelText="Cancel"
 | 
				
			||||
      onCancel={onCancel}
 | 
				
			||||
      onOk={handleOk}
 | 
				
			||||
      destroyOnClose
 | 
				
			||||
    >
 | 
				
			||||
      <Form form={form} layout="vertical">
 | 
				
			||||
        {/* shift */}
 | 
				
			||||
        <Form.Item label="Shift Date" name="shift_date">
 | 
				
			||||
          <DatePicker
 | 
				
			||||
            style={{ width: "100%" }}
 | 
				
			||||
            format="MM-DD-YYYY hh:mm:ss A"
 | 
				
			||||
            showTime={{ format: "hh:mm:ss A" }}
 | 
				
			||||
          />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
 | 
				
			||||
        <Form.Item label="Shift Location" name="shift_location">
 | 
				
			||||
          <Input placeholder="Enter location" />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
 | 
				
			||||
        {/* cycle */}
 | 
				
			||||
 | 
				
			||||
        <Form.Item label="Cycle Date" name="cycle_date">
 | 
				
			||||
          <DatePicker
 | 
				
			||||
            style={{ width: "100%" }}
 | 
				
			||||
            format="MM-DD-YYYY hh:mm:ss A"
 | 
				
			||||
            showTime={{ format: "hh:mm:ss A" }}
 | 
				
			||||
          />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
 | 
				
			||||
        <Form.Item label="Cycle Location" name="cycle_location">
 | 
				
			||||
          <Input placeholder="Enter location" />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
 | 
				
			||||
        {/* pick up */}
 | 
				
			||||
 | 
				
			||||
        <Form.Item label="Pick Up Date" name="pickup_date">
 | 
				
			||||
          <DatePicker
 | 
				
			||||
            style={{ width: "100%" }}
 | 
				
			||||
            format="MM-DD-YYYY hh:mm:ss A"
 | 
				
			||||
            showTime={{ format: "hh:mm:ss A" }}
 | 
				
			||||
          />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
 | 
				
			||||
        <Form.Item label="Pick Up Location" name="cycle_location">
 | 
				
			||||
          <Input placeholder="Enter location" />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
 | 
				
			||||
        {/* co driver */}
 | 
				
			||||
 | 
				
			||||
        <Form.Item label="Driver Name" name="driver_name">
 | 
				
			||||
          <Input placeholder="Driver name" />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
 | 
				
			||||
        <Form.Item label="Co-Driver Name" name="co_driver_name">
 | 
				
			||||
          <Input placeholder="Co-driver name" />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
 | 
				
			||||
        <Form.Item label="Co-Driver Pick Up Date" name="co_driver_pickup_date">
 | 
				
			||||
          <DatePicker
 | 
				
			||||
            style={{ width: "100%" }}
 | 
				
			||||
            format="MM-DD-YYYY hh:mm:ss A"
 | 
				
			||||
            showTime={{ format: "hh:mm:ss A" }}
 | 
				
			||||
          />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
 | 
				
			||||
        <Form.Item
 | 
				
			||||
          label="Co-Driver Pick Up Location"
 | 
				
			||||
          name="co_driver_pickup_location"
 | 
				
			||||
        >
 | 
				
			||||
          <Input placeholder="Enter pickup location" />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
 | 
				
			||||
        <Form.Item label="Co-Driver Drop Date" name="co_driver_drop_date">
 | 
				
			||||
          <DatePicker
 | 
				
			||||
            style={{ width: "100%" }}
 | 
				
			||||
            format="MM-DD-YYYY hh:mm:ss A"
 | 
				
			||||
            showTime={{ format: "hh:mm:ss A" }}
 | 
				
			||||
          />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
        <Form.Item
 | 
				
			||||
          label="Co-Driver Drop Location"
 | 
				
			||||
          name="co_driver_drop_location"
 | 
				
			||||
        >
 | 
				
			||||
          <Input placeholder="Drop location" />
 | 
				
			||||
        </Form.Item>
 | 
				
			||||
      </Form>
 | 
				
			||||
    </Modal>
 | 
				
			||||
  );
 | 
				
			||||
};
 | 
				
			||||
 | 
				
			||||
export default ShiftAndCoDriverEditModal;
 | 
				
			||||
					Loading…
					
					
				
		Reference in new issue