From 7f70cb15d035f0c233b9e62b9e43aa985317c908 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@163.com> Date: 星期一, 04 十一月 2024 10:22:45 +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