From 2aa5ab63b4bbce5c36dbb3511b205b3b5f6af9bd Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 07 五月 2024 11:34:20 +0800 Subject: [PATCH] 2024-05-07 --- src/tabviews/custom/components/table/normal-table/index.jsx | 152 ++++++++++++++++++++++++++++++++++---------------- 1 files changed, 103 insertions(+), 49 deletions(-) diff --git a/src/tabviews/custom/components/table/normal-table/index.jsx b/src/tabviews/custom/components/table/normal-table/index.jsx index a1492a3..88851eb 100644 --- a/src/tabviews/custom/components/table/normal-table/index.jsx +++ b/src/tabviews/custom/components/table/normal-table/index.jsx @@ -1,7 +1,7 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { is, fromJS } from 'immutable' -import { notification, Collapse, Modal } from 'antd' +import { Collapse } from 'antd' import Api from '@/api' import UtilsDM from '@/utils/utils-datamanage.js' @@ -43,6 +43,7 @@ } loaded = false + supModules = [] /** * @description 鍒濆鍖栧鐞� @@ -151,6 +152,10 @@ _config.colsCtrls = null } + // if (_config.hasExtend) { + + // } + this.setState({ pageSize: setting.pageSize || 10, BID: BID || '', @@ -199,6 +204,8 @@ } this.initExec() + + this.autoExec() } /** @@ -301,6 +308,25 @@ } } + autoExec = (times) => { + const { config } = this.state + + if (!config.wrap.autoExec) return + + let btn = document.getElementById('button' + config.wrap.autoExec) + + this.autoTimer && clearTimeout(this.autoTimer) + + if (btn) { + MKEmitter.emit('triggerBtnId', config.wrap.autoExec, []) + } else if (!times || times < 20) { + times = times ? times + 1 : 1 + this.autoTimer = setTimeout(() => { + this.autoExec(times) + }, 1000) + } + } + transferSyncData = (syncId) => { const { config } = this.state @@ -369,6 +395,7 @@ this.setState({ data: [], selectedData: [], + loading: false, total: 0 }) @@ -379,6 +406,7 @@ } this.loaded = true + this.requestId = '' return } @@ -406,8 +434,12 @@ let _orderBy = orderBy || setting.order let param = UtilsDM.getQueryDataParams(setting, searches, _orderBy, pageIndex, pageSize, BID) - let result = await Api.genericInterface(param) + this.requestId = config.uuid + new Date().getTime() + + let result = await Api.genericInterface(param, '', '', this.requestId) if (result.status) { + if (result.$requestId && this.requestId !== result.$requestId) return + this.loaded = true if (config.$cache && type === 'init') { Api.writeCacheConfig(config.uuid, result.data || [], BID) @@ -502,37 +534,14 @@ } } - if (result.message) { - if (result.ErrCode === 'Y') { - Modal.success({ - title: result.message - }) - } else if (result.ErrCode === 'S') { - notification.success({ - top: 92, - message: result.message, - duration: 2 - }) - } - } + UtilsDM.querySuccess(result) } else { this.setState({ loading: false }) this.timer && this.timer.stop() - if (!result.message) return - if (result.ErrCode === 'N') { - Modal.error({ - title: result.message, - }) - } else if (result.ErrCode !== '-2') { - notification.error({ - top: 92, - message: result.message, - duration: 10 - }) - } + UtilsDM.queryFail(result) } } @@ -658,11 +667,8 @@ this.setState({ loading: false }) - notification.error({ - top: 92, - message: result.message, - duration: 10 - }) + + UtilsDM.queryFail(result) } } @@ -753,18 +759,41 @@ } resetParentParam = (MenuID, id, data) => { - const { setting } = this.state + const { config, setting } = this.state - if (!setting.supModule || setting.supModule !== MenuID) return + if (config.supNodes) { + if (!config.supNodes.includes(MenuID)) return + this.supModules = this.supModules.filter(item => item.key !== MenuID) + let bid = '' + let _data = null - if (id !== this.state.BID || id !== '') { - this.setState({ - pageIndex: 1, - BID: id, - BData: data - }, () => { - this.loadmaindata(true, 'true') - }) + if (id) { + this.supModules.push({key: MenuID, value: id, data}) + } + if (this.supModules.length > 0) { + bid = this.supModules[this.supModules.length - 1].value + _data = this.supModules[this.supModules.length - 1].data + } + + if (bid !== this.state.BID || bid !== '') { + this.setState({ BID: bid, BData: _data, pageIndex: 1 }, () => { + this.loadmaindata(true, 'true') + }) + } + } else { + if (!setting.supModule || setting.supModule !== MenuID) return + + if (id !== this.state.BID || id !== '') { + this.setState({ + pageIndex: 1, + BID: id, + BData: data + }, () => { + if (!setting.checkBid) { + this.loadmaindata(true, 'true') + } + }) + } } } @@ -779,16 +808,41 @@ if (config.uuid !== menuId) return - if (position === 'line' || position === 'line_grid') { - if (lines && lines.length === 1) { - this.loadLinedata(lines[0].$$uuid, position) + if (config.supNodes) { + if (position === 'mainline' || position === 'popclose') { + let supNode = this.supModules[this.supModules.length - 1] + config.supNodes.forEach((item, i) => { + setTimeout(() => { + if (supNode && supNode.key === item) { + MKEmitter.emit('reloadData', item, supNode.value) + } else { + MKEmitter.emit('reloadData', item) + } + }, i * 10) + }) + } else { + if (position === 'line' || position === 'line_grid') { + if (lines && lines.length === 1) { + this.loadLinedata(lines[0].$$uuid, position) + } else { + this.reloadtable(btn, id) + } + } else { + this.reloadtable(btn, id) + } + } + } else { + if (position === 'line' || position === 'line_grid') { + if (lines && lines.length === 1) { + this.loadLinedata(lines[0].$$uuid, position) + } else { + this.reloadtable(btn, id) + } + } else if ((position === 'mainline' || position === 'popclose') && config.setting.supModule && BID) { // 鍒锋柊婧愮粍浠舵椂锛岄檮甯﹀埛鏂颁笂绾ц涓庡綋鍓嶇粍浠� + MKEmitter.emit('reloadData', config.setting.supModule, BID) } else { this.reloadtable(btn, id) } - } else if ((position === 'mainline' || position === 'popclose') && config.setting.supModule && BID) { // 鍒锋柊婧愮粍浠舵椂锛岄檮甯﹀埛鏂颁笂绾ц涓庡綋鍓嶇粍浠� - MKEmitter.emit('reloadData', config.setting.supModule, BID) - } else { - this.reloadtable(btn, id) } } -- Gitblit v1.8.0