From 11745b05b3ecdd3a3dc6f64793dc83a095de2b09 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 12 五月 2022 10:19:52 +0800 Subject: [PATCH] 2022-05-12 --- src/tabviews/custom/components/table/normal-table/index.jsx | 72 +++++++++++++++++++++++------------- 1 files changed, 46 insertions(+), 26 deletions(-) diff --git a/src/tabviews/custom/components/table/normal-table/index.jsx b/src/tabviews/custom/components/table/normal-table/index.jsx index 9e5dac6..b592956 100644 --- a/src/tabviews/custom/components/table/normal-table/index.jsx +++ b/src/tabviews/custom/components/table/normal-table/index.jsx @@ -71,6 +71,8 @@ if (setting.selected !== 'always' && setting.selected !== 'init') { setting.selected = 'false' + } else { + setting.orisel = true } if (_config.setting.sync === 'true' && data) { @@ -85,6 +87,7 @@ _data = _data.map((item, index) => { item.key = index item.$$uuid = item[_config.setting.primaryKey] || '' + item.$$key = '' + item.key + item.$$uuid item.$$BID = BID || '' item.$$BData = BData || '' item.$Index = index + 1 + '' @@ -109,14 +112,15 @@ } _config.columns.forEach(item => { + if (item.type !== 'number') return _cols.set(item.field, item) }) _config.cols.forEach(column => { if (column.type === 'custom') { column.elements = column.elements.map(item => { - if (item.field && _cols.has(item.field)) { - item.col = _cols.get(item.field) + if (item.eleType === 'number' && item.field && _cols.has(item.field) && typeof(item.decimal) !== 'number') { + item.decimal = _cols.get(item.field).decimal || 0 } return item }) @@ -154,8 +158,10 @@ search: Utils.initMainSearch(_config.search) // 鎼滅储鏉′欢鍒濆鍖栵紙鍚湁鏃堕棿鏍煎紡锛岄渶瑕佽浆鍖栵級 }, () => { if (_config.setting.sync !== 'true' && _config.setting.onload === 'true') { - this.loadmaindata() - this.getStatFieldsValue() + setTimeout(() => { + this.loadmaindata() + this.getStatFieldsValue() + }, _config.setting.delay || 0) } else if (_config.setting.onload === 'true') { this.getStatFieldsValue() } @@ -167,16 +173,17 @@ * @param { Boolean } reset 琛ㄦ牸鏄惁閲嶇疆 * @param { String } repage 琛ㄦ牸鏄惁閲嶇疆椤电爜 */ - async loadmaindata (reset, repage) { + async loadmaindata (reset, repage, id) { const { mainSearch } = this.props const { setting, config, arr_field, search, orderBy, BID, pageIndex, pageSize, BData } = this.state - if (setting.supModule && !BID) { // BID 涓嶅瓨鍦ㄦ椂锛屼笉鍋氭煡璇� + if (setting.supModule && !BID && setting.supKey !== 'false') { // BID 涓嶅瓨鍦ㄦ椂锛屼笉鍋氭煡璇� this.setState({ data: [], selectedData: [], total: 0 }) + MKEmitter.emit('resetSelectLine', config.uuid, '', '') // 骞挎挱鏁版嵁鍒囨崲 reset && MKEmitter.emit('resetTable', config.uuid, repage) // 鍒楄〃閲嶇疆 if (setting.$hasSyncModule) { @@ -209,9 +216,9 @@ let result = await Api.genericInterface(param) if (result.status) { - if (setting.selected !== 'false' && result.data && result.data.length > 0) { + if ((setting.selected !== 'false' || (setting.orisel && id)) && result.data && result.data.length > 0) { setTimeout(() => { - MKEmitter.emit('mkCheckTopLine', config.uuid) + MKEmitter.emit('mkCheckTopLine', config.uuid, id) }, 200) if (setting.selected === 'init') { this.setState({setting: {...setting, selected: 'false'}}) @@ -234,6 +241,7 @@ data: result.data.map((item, index) => { item.key = index item.$$uuid = item[setting.primaryKey] || '' + item.$$key = '' + item.key + item.$$uuid item.$$BID = BID || '' item.$$BData = BData || '' item.$Index = start + index + '' @@ -299,6 +307,7 @@ data = data.map(item => { if (item.$$uuid === _data.$$uuid) { _data.key = item.key + _data.$$key = '' + item.key + item.$$uuid _data.$Index = item.$Index return _data } else { @@ -314,6 +323,8 @@ } catch (e) { console.warn('鏁版嵁鏌ヨ閿欒') } + + MKEmitter.emit('resetSelectLine', config.uuid, _data.$$uuid || '', _data) } this.setState({ @@ -340,7 +351,7 @@ const { mainSearch } = this.props const { setting, config, search, BID, orderBy } = this.state - if (setting.supModule && !BID) { // BID 涓嶅瓨鍦ㄦ椂锛屼笉鍋氭煡璇� + if (setting.supModule && !BID && setting.supKey !== 'false') { // BID 涓嶅瓨鍦ㄦ椂锛屼笉鍋氭煡璇� this.setState({ statFValue: [] }) @@ -450,16 +461,16 @@ /** * @description 琛ㄦ牸鍒锋柊 */ - reloadtable = (btn) => { + reloadtable = (btn, id) => { if (!btn || btn.resetPageIndex !== 'false') { this.setState({ pageIndex: 1 }, () => { - this.loadmaindata(true, 'true') + this.loadmaindata(true, 'true', id) this.getStatFieldsValue() }) } else { - this.loadmaindata(true, 'false') + this.loadmaindata(true, 'false', id) this.getStatFieldsValue() } } @@ -495,7 +506,6 @@ const { config } = this.state if (config.uuid !== menuId) return - if (id === 'empty') return if (!id) { this.reloadtable() @@ -531,20 +541,29 @@ if (config.uuid !== menuId) return - if (position === 'line' && lines && lines.length === 1) { - this.loadmainLinedata(lines[0].$$uuid) - } else { - this.reloadtable(btn) // 鏁版嵁鍒锋柊 + let supModule = config.setting.supModule + + btn.syncComponentId && MKEmitter.emit('reloadData', btn.syncComponentId) + + if (!btn.syncComponentId || btn.syncComponentId !== supModule) { + if (position === 'line') { + if (lines && lines.length === 1) { + this.loadmainLinedata(lines[0].$$uuid) + } else { + this.reloadtable(btn, id) + } + } else if (position === 'mainline' || position === 'popclose') { // 鍒锋柊婧愮粍浠舵椂锛岄檮甯﹀埛鏂颁笂绾ц涓庡綋鍓嶇粍浠� + if (supModule && BID) { + MKEmitter.emit('reloadData', supModule, BID) + } else { + this.reloadtable(btn, id) + } + } else { + this.reloadtable(btn, id) + } } - if (btn.syncComponentId && btn.syncComponentId !== config.uuid && btn.syncComponentId !== config.setting.supModule) { - MKEmitter.emit('reloadData', btn.syncComponentId) // 鍚岀骇鏍囩鍒锋柊 - } - - if (position === 'mainline' && config.setting.supModule) { // 涓昏〃琛屽埛鏂� - MKEmitter.emit('reloadData', config.setting.supModule, (BID || 'empty')) - } else if (position === 'popclose') { // 鏍囩鍏抽棴鍒锋柊 - config.setting.supModule && MKEmitter.emit('reloadData', config.setting.supModule, (BID || 'empty')) + if (position === 'popclose') { // 鎵ц鍚姩寮圭獥鐨勬寜閽墍閫夋嫨鐨勫埛鏂伴」 btn.$tabId && MKEmitter.emit('refreshPopButton', btn.$tabId) } } @@ -559,6 +578,7 @@ _data = _data.map((item, index) => { item.key = index item.$$uuid = item[config.setting.primaryKey] || '' + item.$$key = '' + item.key + item.$$uuid item.$$BID = BID || '' item.$$BData = BData || '' item.$Index = index + 1 + '' @@ -623,7 +643,7 @@ } return ( - <div className="custom-normal-table" style={style}> + <div className="custom-normal-table" id={'anchor' + config.uuid} style={style}> {config.wrap.collapse === 'true' ? <Collapse bordered={false} defaultActiveKey="1" expandIconPosition="right"> <Panel forceRender={true} header={<NormalHeader config={config}/>} key="1"> {searchlist && searchlist.length ? -- Gitblit v1.8.0