Commit 16aae6bd4b13fec693534e7e5a3616eeac083530

Authored by Min
1 parent a6d5f49a

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

src/mes/common/siderInfoComponent/index.js
... ... @@ -211,9 +211,15 @@ const useSiderInfoComponentEvent = props => {
211 211  
212 212 const handleRefreshDeviceTargetInfo = async () => {
213 213 const { deviceTargetInfoConfig, deviceTargetInfoData = [{}] } = props;
  214 + if (!deviceTargetInfoConfig || !props.onGetSqlConditionValues || !props.onGetDataSet) {
  215 + console.log('缺少必要配置或方法');
  216 + return;
  217 + }
  218 +
  219 + console.log('定时刷后台工单', deviceTargetInfoConfig);
214 220 const conditonValues = props.onGetSqlConditionValues(
215 221 deviceTargetInfoConfig
216   - );
  222 + ) || {};
217 223  
218 224 const addState = await props.onGetDataSet({
219 225 name: "deviceTargetInfo",
... ... @@ -225,11 +231,24 @@ const useSiderInfoComponentEvent = props => {
225 231 addState.deviceTargetInfoData = [
226 232 { ...deviceTargetInfoData[0], ...addState.deviceTargetInfoData[0] }
227 233 ];
228   -
  234 + console.log('addState.deviceTargetInfoData', addState.deviceTargetInfoData);
229 235 addState.refreshDeviceTargetInfo = false;
230 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 252 return {
234 253 ...props,
235 254 pageloading1,
... ...