From fc8c8d714687a22f711d642d192bd4149f3b7e88 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 22 四月 2024 11:15:14 +0800
Subject: [PATCH] 2024-04-22

---
 src/tabviews/zshare/automatic/index.jsx |   60 +++++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 41 insertions(+), 19 deletions(-)

diff --git a/src/tabviews/zshare/automatic/index.jsx b/src/tabviews/zshare/automatic/index.jsx
index 6644e5e..d165c28 100644
--- a/src/tabviews/zshare/automatic/index.jsx
+++ b/src/tabviews/zshare/automatic/index.jsx
@@ -1,14 +1,15 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
-import { Button, message } from 'antd'
+import { Button, message, Tooltip } from 'antd'
 
 import MKEmitter from '@/utils/events.js'
-import './index.scss'
+// import './index.scss'
 
 class AutoMatic extends Component {
   static propTpyes = {
     autoMatic: PropTypes.object,
+    tabId: PropTypes.string,
     config: PropTypes.object
   }
 
@@ -21,10 +22,18 @@
   timer = null
 
   UNSAFE_componentWillMount() {
-    const { autoMatic } = this.props
+    const { autoMatic, tabId } = this.props
 
     if (autoMatic.gap && autoMatic.gap >= 1) {
       this.setState({gap: autoMatic.gap * 1000})
+    }
+
+    if (tabId && tabId === sessionStorage.getItem('autoExecId')) {
+      sessionStorage.removeItem('autoExecId')
+
+      setTimeout(() => {
+        this.trigger()
+      }, 10000)
     }
   }
 
@@ -129,7 +138,13 @@
             let node = document.querySelector('.ant-modal-confirm-btns >.ant-btn-primary')
             node && node.click()
           } else if (autoMatic.OpenType === 'pop') {
-            MKEmitter.emit('triggerBtnPopSubmit', autoMatic.action)
+            let node = document.querySelector('.ant-modal-confirm-btns >.ant-btn-primary')
+
+            if (node) {
+              node.click()
+            } else {
+              MKEmitter.emit('triggerBtnPopSubmit', autoMatic.action)
+            }
           }
         }, delay)
       }
@@ -174,7 +189,7 @@
   }
 
   autoMaticOver = (MenuID) => {
-    const { config, autoMatic } = this.props
+    const { config, autoMatic, tabId } = this.props
 
     if (!this.state.running || MenuID !== config.MenuID) return
 
@@ -183,16 +198,24 @@
     if (autoMatic.onFinish !== 'over') {
       let interval = autoMatic.interval * 1000 || 10
 
-      if (autoMatic.restart === 'first') {
-        this.setState({line: 1})
+      if (autoMatic.restart === 'refresh') {
+        this.timer = setTimeout(() => {
+          sessionStorage.setItem('ThirdMenu', tabId)
+          sessionStorage.setItem('autoExecId', tabId)
+          window.location.reload()
+        }, interval)
       } else {
-        this.setState({line: this.state.line + 1})
+        if (autoMatic.restart === 'first') {
+          this.setState({line: 1})
+        } else {
+          this.setState({line: this.state.line + 1})
+        }
+  
+        this.timer = setTimeout(() => {
+          this.setState({running: true})
+          MKEmitter.emit('autoQueryData', config.MenuID, this.state.line)
+        }, interval)
       }
-
-      this.timer = setTimeout(() => {
-        this.setState({running: true})
-        MKEmitter.emit('autoQueryData', config.MenuID, this.state.line)
-      }, interval)
     }
   }
 
@@ -200,12 +223,11 @@
     const { running } = this.state
 
     return (
-      <Button
-        icon={running ? 'pause' : 'forward'}
-        shape="circle"
-        className={'auto-matic ' + (window.GLOB.systemType === 'production' ? 'low' : '')}
-        onClick={this.trigger}
-      />
+      <div className="tool-wrap">
+        <Tooltip placement="left" title="鏃犱汉鍊煎畧">
+          <Button icon={running ? 'pause' : 'forward'} shape="circle" onClick={this.trigger}/>
+        </Tooltip>
+      </div>
     )
   }
 }

--
Gitblit v1.8.0