From ac0ba5423f9d0206d5a637ed8338e80d37333972 Mon Sep 17 00:00:00 2001
From: luxiaotao1123 <t1341870251@163.com>
Date: 星期五, 29 十一月 2024 15:19:26 +0800
Subject: [PATCH] #
---
zy-acs-flow/src/map/insight/agv/AgvControl.jsx | 99 +++++++++++++++++++++++++++++++++++++------------
1 files changed, 74 insertions(+), 25 deletions(-)
diff --git a/zy-acs-flow/src/map/insight/agv/AgvControl.jsx b/zy-acs-flow/src/map/insight/agv/AgvControl.jsx
index c90adf0..a350946 100644
--- a/zy-acs-flow/src/map/insight/agv/AgvControl.jsx
+++ b/zy-acs-flow/src/map/insight/agv/AgvControl.jsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { useEffect } from 'react';
import { useTranslate } from "react-admin";
import { useForm, Controller } from 'react-hook-form';
import {
@@ -18,12 +18,14 @@
import CheckOutlinedIcon from '@mui/icons-material/CheckOutlined';
import RestartAltIcon from '@mui/icons-material/RestartAlt';
import useCoolHook from './useCoolHook';
+import { handleControlAgv } from '../../http';
function AgvControl(props) {
+ const { curAgvNo } = props;
const theme = useTheme();
const translate = useTranslate();
- const { control, handleSubmit, reset, watch } = useForm({
+ const { control, handleSubmit, reset, watch, setValue } = useForm({
defaultValues: {
taskMode: 'MOVE',
startCode: '',
@@ -36,17 +38,25 @@
});
const taskModes = [
- { value: 'MOVE', label: '绉诲姩' },
- { value: 'TO_CHARGE', label: '鍘诲厖鐢�' },
- { value: 'TO_STANDBY', label: '鍘诲緟鏈轰綅' },
- { value: 'LOC_TO_LOC', label: '搴撲綅鍒板簱浣�' },
- { value: 'LOC_TO_STA', label: '搴撲綅鍒扮珯鐐�' },
- { value: 'STA_TO_LOC', label: '绔欑偣鍒板簱浣�' },
- { value: 'STA_TO_STA', label: '绔欑偣鍒扮珯鐐�' },
+ { value: 'MOVE', label: translate('page.map.insight.control.type.MOVE') },
+ { value: 'TO_CHARGE', label: translate('page.map.insight.control.type.TO_CHARGE') },
+ { value: 'TO_STANDBY', label: translate('page.map.insight.control.type.TO_STANDBY') },
+ { value: 'LOC_TO_LOC', label: translate('page.map.insight.control.type.LOC_TO_LOC') },
+ { value: 'LOC_TO_STA', label: translate('page.map.insight.control.type.LOC_TO_STA') },
+ { value: 'STA_TO_LOC', label: translate('page.map.insight.control.type.STA_TO_LOC') },
+ { value: 'STA_TO_STA', label: translate('page.map.insight.control.type.STA_TO_STA') },
];
+ useEffect(() => {
+ reset();
+ }, [curAgvNo, reset]);
+
const onSubmit = (data) => {
- console.log(data);
+ if (curAgvNo) {
+ handleControlAgv({ agvNo: curAgvNo, ...data }, () => {
+
+ });
+ }
};
const taskMode = watch('taskMode');
@@ -74,29 +84,71 @@
const {
options: endCodeOptions,
setInputValue: setEndCodeInputValue,
+ resetInput: resetEndCodeInput,
} = useCoolHook('/code/page', 'data');
const {
options: startLocOptions,
setInputValue: setStartLocInputValue,
+ resetInput: resetStartLocInput,
} = useCoolHook('/loc/page', 'locNo');
const {
options: endLocOptions,
setInputValue: setEndLocInputValue,
+ resetInput: resetEndLocInput,
} = useCoolHook('/loc/page', 'locNo');
const {
options: startStaOptions,
setInputValue: setStartStaInputValue,
+ resetInput: resetStartStaInput,
} = useCoolHook('/sta/page', 'staNo');
const {
options: endStaOptions,
setInputValue: setEndStaInputValue,
+ resetInput: resetEndStaInput,
} = useCoolHook('/sta/page', 'staNo');
+ useEffect(() => {
+ const fieldsToClear = ['endCode', 'startLocNo', 'endLocNo', 'startStaNo', 'endStaNo'];
+ fieldsToClear.forEach(field => {
+ if (!showField(field)) {
+ setValue(field, '');
+
+ switch (field) {
+ case 'endCode':
+ resetEndCodeInput();
+ break;
+ case 'startLocNo':
+ resetStartLocInput();
+ break;
+ case 'endLocNo':
+ resetEndLocInput();
+ break;
+ case 'startStaNo':
+ resetStartStaInput();
+ break;
+ case 'endStaNo':
+ resetEndStaInput();
+ break;
+ default:
+ break;
+ }
+ }
+ });
+ }, [
+ taskMode,
+ setValue,
+ showField,
+ resetEndCodeInput,
+ resetStartLocInput,
+ resetEndLocInput,
+ resetStartStaInput,
+ resetEndStaInput
+ ]);
return (
<>
<form onSubmit={handleSubmit(onSubmit)}>
@@ -145,12 +197,12 @@
<Controller
name="startCode"
control={control}
- rules={{ required: '璧峰鍦伴潰鐮佷笉鑳戒负绌�' }}
+ rules={{ required: translate('ra.validation.required') }}
render={({ field, fieldState }) => (
<TextField
{...field}
fullWidth
- label="璧峰鍦伴潰鐮�"
+ label={translate('page.map.insight.control.startCode')}
error={!!fieldState.error}
helperText={fieldState.error?.message}
/>
@@ -164,7 +216,7 @@
<Controller
name="endCode"
control={control}
- rules={{ required: '鐩爣鍦伴潰鐮佷笉鑳戒负绌�' }}
+ rules={{ required: translate('ra.validation.required') }}
render={({ field, fieldState }) => {
const selectedOption = endCodeOptions.find(option => option.id === field.value) || null;
return (
@@ -182,7 +234,7 @@
renderInput={(params) => (
<TextField
{...params}
- label="鐩爣鍦伴潰鐮�"
+ label={translate('page.map.insight.control.endCode')}
error={!!fieldState.error}
helperText={fieldState.error?.message}
/>
@@ -199,7 +251,7 @@
<Controller
name="startLocNo"
control={control}
- rules={{ required: '璧峰搴撲綅涓嶈兘涓虹┖' }}
+ rules={{ required: translate('ra.validation.required') }}
render={({ field, fieldState }) => {
const selectedOption = startLocOptions.find(option => option.id === field.value) || null;
return (
@@ -217,7 +269,7 @@
renderInput={(params) => (
<TextField
{...params}
- label="璧峰搴撲綅"
+ label={translate('page.map.insight.control.startLoc')}
error={!!fieldState.error}
helperText={fieldState.error?.message}
/>
@@ -234,7 +286,7 @@
<Controller
name="endLocNo"
control={control}
- rules={{ required: '鐩爣搴撲綅涓嶈兘涓虹┖' }}
+ rules={{ required: translate('ra.validation.required') }}
render={({ field, fieldState }) => {
const selectedOption = endLocOptions.find(option => option.id === field.value) || null;
return (
@@ -252,7 +304,7 @@
renderInput={(params) => (
<TextField
{...params}
- label="鐩爣搴撲綅"
+ label={translate('page.map.insight.control.endLoc')}
error={!!fieldState.error}
helperText={fieldState.error?.message}
/>
@@ -269,7 +321,7 @@
<Controller
name="startStaNo"
control={control}
- rules={{ required: '璧峰绔欑偣涓嶈兘涓虹┖' }}
+ rules={{ required: translate('ra.validation.required') }}
render={({ field, fieldState }) => {
const selectedOption = startStaOptions.find(option => option.id === field.value) || null;
return (
@@ -287,7 +339,7 @@
renderInput={(params) => (
<TextField
{...params}
- label="璧峰绔欑偣"
+ label={translate('page.map.insight.control.startSta')}
error={!!fieldState.error}
helperText={fieldState.error?.message}
/>
@@ -304,7 +356,7 @@
<Controller
name="endStaNo"
control={control}
- rules={{ required: '鐩爣绔欑偣涓嶈兘涓虹┖' }}
+ rules={{ required: translate('ra.validation.required') }}
render={({ field, fieldState }) => {
const selectedOption = endStaOptions.find(option => option.id === field.value) || null;
return (
@@ -322,7 +374,7 @@
renderInput={(params) => (
<TextField
{...params}
- label="鐩爣绔欑偣"
+ label={translate('page.map.insight.control.endSta')}
error={!!fieldState.error}
helperText={fieldState.error?.message}
/>
@@ -350,9 +402,6 @@
variant="outlined"
color="primary"
type="submit"
- onClick={() => {
-
- }}
sx={{
borderColor: theme => theme.palette.primary.main,
color: theme => theme.palette.primary.main,
--
Gitblit v1.9.1