You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

91 lines
2.6 KiB

5 months ago
5 months ago
  1. import { Button, Form, Input, message } from "antd";
  2. import { useEffect } from "react";
  3. import { useNavigate } from "react-router";
  4. import { createMeasure } from "../../../services/measure/analysis";
  5. import { useAppSelector } from "../../../utils/hooks";
  6. export default function MeasureConfig() {
  7. const navigate = useNavigate();
  8. const [messageApi, contextHolder] = message.useMessage();
  9. const context = useAppSelector(store => store.context);
  10. const onFinish = (values: any) => {
  11. console.log("Received values of form: ", values);
  12. createMeasure({
  13. operatorName: values["username"],
  14. name: values["measureName"],
  15. lineName: values["lineName"],
  16. location: values["position"],
  17. }).then(res => {
  18. if (res.status !== 0) {
  19. messageApi.error(res.data.info);
  20. } else {
  21. navigate("../action");
  22. }
  23. });
  24. };
  25. const [form] = Form.useForm();
  26. useEffect(() => {
  27. form.setFieldsValue({
  28. username: context.user.loginUser.nickname || "",
  29. });
  30. }, [context.user.loginUser.nickname, form]);
  31. return (
  32. <>
  33. {contextHolder}
  34. <div className="h-full flex justify-center items-center">
  35. <Form
  36. form={form}
  37. labelCol={{ span: 8 }}
  38. wrapperCol={{ span: 16 }}
  39. style={{ minWidth: 360, maxWidth: 600 }}
  40. size="large"
  41. initialValues={{ remember: true }}
  42. onFinish={onFinish}
  43. // onFinishFailed={onFinishFailed}
  44. autoComplete="off">
  45. <Form.Item label="操作员" name="username">
  46. <Input disabled />
  47. </Form.Item>
  48. {/* <Form.Item label="" name="trackType">
  49. <Select>
  50. <Select.Option value="demo">Demo</Select.Option>
  51. </Select>
  52. </Form.Item> */}
  53. {/* <Form.Item label="" name="calibrationType">
  54. <Select>
  55. <Select.Option value="demo">Demo</Select.Option>
  56. </Select>
  57. </Form.Item> */}
  58. <Form.Item
  59. label="测量名称"
  60. name="measureName"
  61. rules={[{ required: true, message: "Please input your username!" }]}>
  62. <Input />
  63. </Form.Item>
  64. <Form.Item
  65. label="线路名称"
  66. name="lineName"
  67. rules={[{ required: true, message: "Please input your username!" }]}>
  68. <Input />
  69. </Form.Item>
  70. <Form.Item label="位置" name="position" rules={[{ required: true, message: "Please input your username!" }]}>
  71. <Input />
  72. </Form.Item>
  73. {/* <Form.Item label="" name="direction" rules={[{ required: true, message: "Please input your username!" }]}>
  74. <Input />
  75. </Form.Item> */}
  76. <Form.Item label={null}>
  77. <Button type="primary" size="large" style={{ width: 220 }} htmlType="submit">
  78. </Button>
  79. </Form.Item>
  80. </Form>
  81. </div>
  82. </>
  83. );
  84. }