5 changed files with 148 additions and 76 deletions
-
60src/pages/measure/components/MeasureAction.tsx
-
118src/pages/measure/components/MeasureConfig.tsx
-
36src/services/measure/analysis.ts
-
3src/services/wsTypes.ts
-
7src/store/features/contextSlice.ts
@ -1,57 +1,91 @@ |
|||
import { Button, Form, Input, Select } from "antd"; |
|||
import { Button, Form, Input, message } from "antd"; |
|||
import { useEffect } from "react"; |
|||
import { useSelector } from "react-redux"; |
|||
import { useNavigate } from "react-router"; |
|||
import { createMeasure } from "../../../services/measure/analysis"; |
|||
|
|||
export default function MeasureConfig() { |
|||
const navigate = useNavigate() |
|||
const onFinish = (values: any) => { |
|||
console.log('Received values of form: ', values); |
|||
navigate('../action') |
|||
}; |
|||
const navigate = useNavigate(); |
|||
const [messageApi, contextHolder] = message.useMessage(); |
|||
//@ts-ignore
|
|||
const context = useSelector(store => store.context); |
|||
const onFinish = (values: any) => { |
|||
console.log("Received values of form: ", values); |
|||
createMeasure({ |
|||
operatorName: values["username"], |
|||
name: values["measureName"], |
|||
lineName: values["lineName"], |
|||
location: values["position"], |
|||
}).then(res => { |
|||
if (res.status !== 0) { |
|||
messageApi.error(res.data.info); |
|||
} else { |
|||
navigate("../action"); |
|||
} |
|||
}); |
|||
}; |
|||
|
|||
const [form] = Form.useForm(); |
|||
useEffect(() => { |
|||
form.setFieldsValue({ |
|||
username: context.loginUser.nickname || "", |
|||
}); |
|||
}, [context.loginUser.nickname, form]); |
|||
return ( |
|||
<div className="h-full flex justify-center items-center"> |
|||
<Form |
|||
name="basic" |
|||
labelCol={{ span: 8 }} |
|||
wrapperCol={{ span: 16 }} |
|||
style={{ minWidth: 360, maxWidth: 600 }} |
|||
size="large" |
|||
initialValues={{ remember: true }} |
|||
onFinish={onFinish} |
|||
// onFinishFailed={onFinishFailed}
|
|||
autoComplete="off"> |
|||
<Form.Item label="操作员" name="username" rules={[{ required: true, message: "Please input your username!" }]}> |
|||
<Input /> |
|||
</Form.Item> |
|||
<> |
|||
{contextHolder} |
|||
|
|||
<div className="h-full flex justify-center items-center"> |
|||
<Form |
|||
form={form} |
|||
labelCol={{ span: 8 }} |
|||
wrapperCol={{ span: 16 }} |
|||
style={{ minWidth: 360, maxWidth: 600 }} |
|||
size="large" |
|||
initialValues={{ remember: true }} |
|||
onFinish={onFinish} |
|||
// onFinishFailed={onFinishFailed}
|
|||
autoComplete="off"> |
|||
<Form.Item label="操作员" name="username"> |
|||
<Input disabled /> |
|||
</Form.Item> |
|||
|
|||
<Form.Item label="轨型" name="trackType"> |
|||
{/* <Form.Item label="轨型" name="trackType"> |
|||
<Select> |
|||
<Select.Option value="demo">Demo</Select.Option> |
|||
</Select> |
|||
</Form.Item> |
|||
<Form.Item label="核校" name="calibrationType"> |
|||
</Form.Item> */} |
|||
{/* <Form.Item label="核校" name="calibrationType"> |
|||
<Select> |
|||
<Select.Option value="demo">Demo</Select.Option> |
|||
</Select> |
|||
</Form.Item> |
|||
<Form.Item label="测量名称" name="measureName" rules={[{ required: true, message: "Please input your username!" }]}> |
|||
<Input /> |
|||
</Form.Item> |
|||
<Form.Item label="线路名称" name="lineName" rules={[{ required: true, message: "Please input your username!" }]}> |
|||
<Input /> |
|||
</Form.Item> |
|||
<Form.Item label="位置" name="position" rules={[{ required: true, message: "Please input your username!" }]}> |
|||
<Input /> |
|||
</Form.Item> |
|||
<Form.Item label="方向" name="direction" rules={[{ required: true, message: "Please input your username!" }]}> |
|||
</Form.Item> */} |
|||
<Form.Item |
|||
label="测量名称" |
|||
name="measureName" |
|||
rules={[{ required: true, message: "Please input your username!" }]}> |
|||
<Input /> |
|||
</Form.Item> |
|||
<Form.Item |
|||
label="线路名称" |
|||
name="lineName" |
|||
rules={[{ required: true, message: "Please input your username!" }]}> |
|||
<Input /> |
|||
</Form.Item> |
|||
<Form.Item label="位置" name="position" rules={[{ required: true, message: "Please input your username!" }]}> |
|||
<Input /> |
|||
</Form.Item> |
|||
{/* <Form.Item label="方向" name="direction" rules={[{ required: true, message: "Please input your username!" }]}> |
|||
<Input /> |
|||
</Form.Item> |
|||
</Form.Item> */} |
|||
|
|||
<Form.Item label={null}> |
|||
<Button type="primary" size="large" style={{ width: 220 }} htmlType="submit"> |
|||
开始测量 |
|||
</Button> |
|||
</Form.Item> |
|||
</Form> |
|||
</div> |
|||
<Form.Item label={null}> |
|||
<Button type="primary" size="large" style={{ width: 220 }} htmlType="submit"> |
|||
开始测量 |
|||
</Button> |
|||
</Form.Item> |
|||
</Form> |
|||
</div> |
|||
</> |
|||
); |
|||
} |
@ -1,16 +1,46 @@ |
|||
import httpRequest, { type BaseResponse } from "../httpRequest"; |
|||
import type { DetailTable } from "../../services/measure/type"; |
|||
|
|||
export function startMeasurement() { |
|||
return httpRequest<BaseResponse>({ |
|||
url: "/measurement-task/start-measurement", |
|||
method: "POST", |
|||
}); |
|||
} |
|||
|
|||
export function stopMeasurement() { |
|||
return httpRequest<BaseResponse>({ |
|||
url: "/measurement-task/stop-measurement", |
|||
method: "POST", |
|||
}); |
|||
} |
|||
export function saveMeasurement() { |
|||
return httpRequest<BaseResponse>({ |
|||
url: "/measurement-task/save-report", |
|||
method: "POST", |
|||
}); |
|||
} |
|||
|
|||
export function getDetailList() { |
|||
return httpRequest<BaseResponse<{list:DetailTable[]}>>({ |
|||
return httpRequest<BaseResponse<{ list: DetailTable[] }>>({ |
|||
url: "/measurement-task/cache-measurement", |
|||
method: "POST", |
|||
}); |
|||
} |
|||
} |
|||
|
|||
export type MeasureRecord = { |
|||
operatorName: "张三"; //操作员名称
|
|||
// trackShapeCode: "code01"; //轨形code
|
|||
// verificationMethodCode: "code01"; //核校方式code
|
|||
name: "某某铁路"; ///测量名称
|
|||
lineName: "河北段"; //线路名称
|
|||
location: "100米处"; //位置
|
|||
// direction: "左"; //方向
|
|||
}; |
|||
|
|||
export function createMeasure(params: MeasureRecord) { |
|||
return httpRequest<BaseResponse>({ |
|||
url: "/measurement-task/cache-measurement", |
|||
params, |
|||
method: "POST", |
|||
}); |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue