Commit 16aae6bd4b13fec693534e7e5a3616eeac083530

Authored by Min
1 parent a6d5f49a

1.定时轮询刷新设备及目标信息

src/mes/common/siderInfoComponent/index.js
@@ -211,9 +211,15 @@ const useSiderInfoComponentEvent = props => { @@ -211,9 +211,15 @@ const useSiderInfoComponentEvent = props => {
211 211
212 const handleRefreshDeviceTargetInfo = async () => { 212 const handleRefreshDeviceTargetInfo = async () => {
213 const { deviceTargetInfoConfig, deviceTargetInfoData = [{}] } = props; 213 const { deviceTargetInfoConfig, deviceTargetInfoData = [{}] } = props;
  214 + if (!deviceTargetInfoConfig || !props.onGetSqlConditionValues || !props.onGetDataSet) {
  215 + console.log('缺少必要配置或方法');
  216 + return;
  217 + }
  218 +
  219 + console.log('定时刷后台工单', deviceTargetInfoConfig);
214 const conditonValues = props.onGetSqlConditionValues( 220 const conditonValues = props.onGetSqlConditionValues(
215 deviceTargetInfoConfig 221 deviceTargetInfoConfig
216 - ); 222 + ) || {};
217 223
218 const addState = await props.onGetDataSet({ 224 const addState = await props.onGetDataSet({
219 name: "deviceTargetInfo", 225 name: "deviceTargetInfo",
@@ -225,11 +231,24 @@ const useSiderInfoComponentEvent = props => { @@ -225,11 +231,24 @@ const useSiderInfoComponentEvent = props => {
225 addState.deviceTargetInfoData = [ 231 addState.deviceTargetInfoData = [
226 { ...deviceTargetInfoData[0], ...addState.deviceTargetInfoData[0] } 232 { ...deviceTargetInfoData[0], ...addState.deviceTargetInfoData[0] }
227 ]; 233 ];
228 - 234 + console.log('addState.deviceTargetInfoData', addState.deviceTargetInfoData);
229 addState.refreshDeviceTargetInfo = false; 235 addState.refreshDeviceTargetInfo = false;
230 props.onSaveState(addState); 236 props.onSaveState(addState);
231 }; 237 };
232 238
  239 + // 定时轮询刷新设备及目标信息(每100秒刷新一次)
  240 + useEffect(() => {
  241 + // 等待配置加载完成后再启动定时器
  242 + if (!props.deviceTargetInfoConfig || !props.onGetSqlConditionValues || !props.onGetDataSet) {
  243 + return;
  244 + }
  245 + const interval = setInterval(() => {
  246 + handleRefreshDeviceTargetInfo();
  247 + }, 100000);
  248 +
  249 + return () => clearInterval(interval);
  250 + }, [props.deviceTargetInfoConfig, props.onGetSqlConditionValues, props.onGetDataSet]);
  251 +
233 return { 252 return {
234 ...props, 253 ...props,
235 pageloading1, 254 pageloading1,