From fa381753ef2a2b25b1c0722549ac17e333da79be Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 06 九月 2022 22:50:54 +0800 Subject: [PATCH] 2022-09-06 --- src/tabviews/custom/components/card/prop-card/index.jsx | 76 +++++++++++++++++++++++--------------- 1 files changed, 46 insertions(+), 30 deletions(-) diff --git a/src/tabviews/custom/components/card/prop-card/index.jsx b/src/tabviews/custom/components/card/prop-card/index.jsx index 34bbdfd..f07fb25 100644 --- a/src/tabviews/custom/components/card/prop-card/index.jsx +++ b/src/tabviews/custom/components/card/prop-card/index.jsx @@ -16,11 +16,9 @@ class PropCard extends Component { static propTpyes = { - BID: PropTypes.any, // 鐖剁骇Id data: PropTypes.array, // 缁熶竴鏌ヨ鏁版嵁 config: PropTypes.object, // 缁勪欢閰嶇疆淇℃伅 mainSearch: PropTypes.any, // 澶栧眰鎼滅储鏉′欢 - menuType: PropTypes.any, // 鑿滃崟绫诲瀷 } state = { @@ -36,12 +34,24 @@ } UNSAFE_componentWillMount () { - const { data, initdata, BID, BData } = this.props + const { data, initdata } = this.props let _config = fromJS(this.props.config).toJS() let _cols = new Map() let _data = { $$empty: true } let _sync = false + + let BID = '' + let BData = '' + + if (_config.setting.supModule) { + BData = window.GLOB.CacheData.get(_config.setting.supModule) + } else { + BData = window.GLOB.CacheData.get(_config.$pageId) + } + if (BData) { + BID = BData.$BID || '' + } if (_config.wrap.datatype !== 'static') { _sync = _config.setting.sync === 'true' @@ -118,7 +128,7 @@ setTimeout(() => { this.loadData() }, _config.setting.delay || 0) - } else if ((!_sync || _config.wrap.priKeyType === 'static') && selected !== 'false') { + } else if (!_sync && selected !== 'false') { setTimeout(() => { this.checkTopLine() }, 200) @@ -169,7 +179,7 @@ _data.$$uuid = _data[config.setting.primaryKey] || '' this.setState({sync: false, data: _data}, () => { - if (config.wrap.priKeyType !== 'static' && selected !== 'false') { + if (selected !== 'false') { setTimeout(() => { this.checkTopLine() }, 200) @@ -205,11 +215,20 @@ if (!config.timer) return - const _change = { '5s': 5000, '15s': 15000, '30s': 30000, '1min': 60000, '5min': 300000, '10min': 600000, '15min': 900000, '30min': 1800000, '1hour': 3600000 } + const _change = { '2s': 2000, '5s': 5000, '15s': 15000, '30s': 30000, '1min': 60000, '5min': 300000, '10min': 600000, '15min': 900000, '30min': 1800000, '1hour': 3600000 } let timer = _change[config.timer] + let repeats = config.timerRepeats || 0 if (!timer) return + + if (repeats > 0 && repeats <=3) { + this.setState({timer, repeats}) + this.timer = setTimeout(() => { + this.timerTask(repeats) + }, timer) + return + } let _param = { func: 's_get_timers_role', @@ -231,22 +250,29 @@ }) return } else if (result.run_type) { - this.setState({timer}) + this.setState({timer, repeats}) this.timer = setTimeout(() => { - this.timerTask() + this.timerTask(repeats) }, timer) } }) } - timerTask = () => { - const { timer } = this.state + timerTask = (times) => { + const { timer, repeats } = this.state if (!timer) return this.loadData(true) + if (repeats) { + times = times - 1 + if (times <= 0) { + clearTimeout(this.timer) + return + } + } this.timer = setTimeout(() => { - this.timerTask() + this.timerTask(times) }, timer) } @@ -261,20 +287,10 @@ if (config.uuid !== menuId) return - let supModule = config.setting.supModule - - btn.syncComponentId && MKEmitter.emit('reloadData', btn.syncComponentId) - - if (!btn.syncComponentId || btn.syncComponentId !== supModule) { - if (position === 'mainline' || position === 'popclose') { // 鍒锋柊婧愮粍浠舵椂锛岄檮甯﹀埛鏂颁笂绾ц涓庡綋鍓嶇粍浠� - if (supModule && BID) { - MKEmitter.emit('reloadData', supModule, BID) - } else { - this.loadData() - } - } else { - this.loadData() - } + if ((position === 'mainline' || position === 'popclose') && config.setting.supModule && BID) { // 鍒锋柊婧愮粍浠舵椂锛岄檮甯﹀埛鏂颁笂绾ц涓庡綋鍓嶇粍浠� + MKEmitter.emit('reloadData', config.setting.supModule, BID) + } else { + this.loadData() } if (position === 'popclose') { // 鎵ц鍚姩寮圭獥鐨勬寜閽墍閫夋嫨鐨勫埛鏂伴」 @@ -297,7 +313,7 @@ /** * @description 瀵煎嚭Excel鏃讹紝鑾峰彇椤甸潰鎼滅储鎺掑簭绛夊弬鏁� */ - queryModuleParam = (menuId, btnId) => { + queryModuleParam = (menuId, callback) => { const { mainSearch } = this.props const { config } = this.state @@ -305,7 +321,7 @@ let searches = config.setting.useMSearch && mainSearch ? mainSearch : [] - MKEmitter.emit('returnModuleParam', config.uuid, btnId, { + callback({ arr_field: '', orderBy: '', search: searches, @@ -322,7 +338,7 @@ } async loadData (hastimer) { - const { mainSearch, menuType } = this.props + const { mainSearch } = this.props const { config, arr_field, BID, BData, selected } = this.state if (config.wrap.datatype === 'static') { @@ -351,7 +367,7 @@ } let _orderBy = config.setting.order || '' - let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, 1, 1, BID, menuType) + let param = UtilsDM.getQueryDataParams(config.setting, arr_field, searches, _orderBy, 1, 1, BID) let result = await Api.genericInterface(param) if (result.status) { @@ -371,7 +387,7 @@ data: _data, loading: false }, () => { - if (config.wrap.priKeyType !== 'static' && selected !== 'false') { + if (selected !== 'false') { this.checkTopLine() } }) -- Gitblit v1.8.0