From 4ed59b0664e2655f51caad0de25004bab2ecc77e Mon Sep 17 00:00:00 2001 From: vapao Date: Fri, 5 Nov 2021 23:14:57 +0800 Subject: [PATCH] =?UTF-8?q?A=20=E8=A1=A8=E6=A0=BC=E5=B1=95=E7=A4=BA?= =?UTF-8?q?=E5=88=97=E7=BC=96=E8=BE=91=E5=90=8E=E8=87=AA=E5=8A=A8=E4=BF=9D?= =?UTF-8?q?=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- spug_web/src/components/TableCard.js | 27 ++++++++++++++++--- spug_web/src/pages/alarm/alarm/Table.js | 1 + spug_web/src/pages/alarm/contact/Table.js | 1 + spug_web/src/pages/alarm/group/Table.js | 1 + spug_web/src/pages/config/app/Table.js | 1 + .../src/pages/config/environment/Table.js | 1 + spug_web/src/pages/config/service/Table.js | 1 + spug_web/src/pages/deploy/app/Table.js | 1 + spug_web/src/pages/deploy/repository/Table.js | 1 + spug_web/src/pages/deploy/request/Table.js | 1 + spug_web/src/pages/exec/template/Table.js | 1 + spug_web/src/pages/host/Table.js | 1 + spug_web/src/pages/monitor/Table.js | 1 + spug_web/src/pages/schedule/Table.js | 1 + spug_web/src/pages/system/account/Table.js | 1 + spug_web/src/pages/system/role/Table.js | 2 +- 16 files changed, 39 insertions(+), 4 deletions(-) diff --git a/spug_web/src/components/TableCard.js b/spug_web/src/components/TableCard.js index b9e2b25..46e974a 100644 --- a/spug_web/src/components/TableCard.js +++ b/spug_web/src/components/TableCard.js @@ -8,6 +8,9 @@ import { Table, Space, Divider, Popover, Checkbox, Button, Input, Select } from import { ReloadOutlined, SettingOutlined, FullscreenOutlined, SearchOutlined } from '@ant-design/icons'; import styles from './index.module.less'; +let TableFields = localStorage.getItem('TableFields') +TableFields = TableFields ? JSON.parse(TableFields) : {} + function Search(props) { let keys = props.keys || ['']; keys = keys.map(x => x.split('/')); @@ -135,13 +138,31 @@ function TableCard(props) { _columns = [props.children.props] } } + let hideFields = _columns.filter(x => x.hide).map(x => x.title) + if (props.tKey) { + if (TableFields[props.tKey]) { + hideFields = TableFields[props.tKey] + } else { + TableFields[props.tKey] = hideFields + localStorage.setItem('TableFields', JSON.stringify(TableFields)) + } + } for (let [index, item] of _columns.entries()) { - if (!item.hide) _fields.push(index) + if (!hideFields.includes(item.title)) _fields.push(index) } setFields(_fields); setColumns(_columns); setDefaultFields(_fields); - }, [props.columns, props.children]) + // eslint-disable-next-line react-hooks/exhaustive-deps + }, []) + + function handleFieldsChange(fields) { + setFields(fields) + if (props.tKey) { + TableFields[props.tKey] = columns.filter((_, index) => !fields.includes(index)).map(x => x.title) + localStorage.setItem('TableFields', JSON.stringify(TableFields)) + } + } return (
@@ -152,7 +173,7 @@ function TableCard(props) { fields={fields} rootRef={rootRef} defaultFields={defaultFields} - onFieldsChange={setFields} + onFieldsChange={handleFieldsChange} onReload={props.onReload}/> store.f_word = e.target.value}/>} loading={store.isFetching} diff --git a/spug_web/src/pages/monitor/Table.js b/spug_web/src/pages/monitor/Table.js index daddc8c..449af4f 100644 --- a/spug_web/src/pages/monitor/Table.js +++ b/spug_web/src/pages/monitor/Table.js @@ -71,6 +71,7 @@ class ComTable extends React.Component { render() { return (