From d441fa1e1cc80f4ea462a750a42a2b25c1f2b202 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 04 十二月 2020 15:17:51 +0800 Subject: [PATCH] 2020-12-04 --- src/tabviews/custom/index.jsx | 91 ++++++++++++++++++++++----------------------- 1 files changed, 45 insertions(+), 46 deletions(-) diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx index 54586f4..74a4302 100644 --- a/src/tabviews/custom/index.jsx +++ b/src/tabviews/custom/index.jsx @@ -48,6 +48,7 @@ loading: false, // 鍒楄〃鏁版嵁鍔犺浇涓� visible: false, // 鏍囩椤垫帶鍒� treevisible: false, // 鑿滃崟缁撴瀯鏍戝脊妗嗘樉绀洪殣钘忔帶鍒� + debug: sessionStorage.getItem('debug') === 'true' } /** @@ -111,10 +112,11 @@ } // 鏉冮檺杩囨护 + let roleId = sessionStorage.getItem('role_id') || '' // 瑙掕壊ID if (this.props.menuType !== 'HS') { - config.components = this.filterComponent(config.components) + config.components = this.filterComponent(config.components, roleId) } - + // 鑾峰彇涓绘悳绱㈡潯浠� let mainSearch = [] config.components.forEach(component => { @@ -130,16 +132,6 @@ } else if (param.data && param.data[item.field]) { item.initval = param.data[item.field] } - } - - if (!item.blacklist || item.blacklist.length === 0) return item - - let _black = item.blacklist.filter(v => { - return this.props.permRoles.indexOf(v) !== -1 - }) - - if (_black.length > 0) { - item.Hide = 'true' } return item @@ -189,19 +181,18 @@ } } - filterComponent = (components) => { + filterComponent = (components, roleId) => { return components.filter(item => { if (item.type === 'tabs') { - if (item.setting.blacklist && item.setting.blacklist.length > 0) { - let _black = item.setting.blacklist.filter(v => { - return this.props.permRoles.indexOf(v) !== -1 - }) - - if (_black.length > 0) return false + if ( + item.setting.blacklist && item.setting.blacklist.length > 0 && + item.setting.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0 + ) { + return false } item.subtabs = item.subtabs.map(tab => { - tab.components = this.filterComponent(tab.components) + tab.components = this.filterComponent(tab.components, roleId) return tab }) @@ -217,21 +208,31 @@ }) item.parentIds = supIds } else if (item.type === 'pie' || item.type === 'bar' || item.type === 'line') { - if (item.plot.blacklist && item.plot.blacklist.length > 0) { - let _black = item.plot.blacklist.filter(v => { - return this.props.permRoles.indexOf(v) !== -1 - }) - - if (_black.length > 0) return false + if ( + item.plot.blacklist && item.plot.blacklist.length > 0 && + item.plot.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0 + ) { + return false } } else { - if (item.wrap.blacklist && item.wrap.blacklist.length > 0) { - let _black = item.wrap.blacklist.filter(v => { - return this.props.permRoles.indexOf(v) !== -1 - }) - - if (_black.length > 0) return false + if ( + item.wrap.blacklist && item.wrap.blacklist.length > 0 && + item.wrap.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0 + ) { + return false } + } + if (item.search && item.search.length > 0) { + item.search = item.search.map(cell => { + cell.oriInitval = cell.initval + + if (!cell.blacklist || cell.blacklist.length === 0) return cell + if (cell.blacklist.filter(v => roleId.indexOf(v) > -1).length > 0) { + cell.Hide = 'true' + } + + return item + }) } return true }) @@ -282,7 +283,7 @@ component.setting.dataresource = '(' + component.setting.dataresource + ') tb' } - if (this.props.dataManager) { // 鏁版嵁鏉冮檺 + if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺 component.setting.dataresource = component.setting.dataresource.replace(/\$@/ig, '/*') component.setting.dataresource = component.setting.dataresource.replace(/@\$/ig, '*/') _customScript = _customScript.replace(/\$@/ig, '/*') @@ -528,7 +529,7 @@ } getComponents = () => { - const { menuType, dataManager } = this.props + const { menuType } = this.props const { config, BID, data, mainSearch } = this.state if (!config || !config.components) return @@ -537,19 +538,19 @@ if (item.type === 'bar' || item.type === 'line') { return ( <Col span={item.width} key={item.uuid}> - <AntvBarAndLine config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} /> + <AntvBarAndLine config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} /> </Col> ) } else if (item.type === 'pie') { return ( <Col span={item.width} key={item.uuid}> - <AntvPie config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} /> + <AntvPie config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} /> </Col> ) } else if (item.type === 'search') { return ( <Col span={item.width} key={item.uuid}> - <MainSearch config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} refreshdata={this.resetSearch} /> + <MainSearch config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} refreshdata={this.resetSearch} /> </Col> ) } else if (item.type === 'tabs') { @@ -561,25 +562,25 @@ } else if (item.type === 'card' && item.subtype === 'datacard') { return ( <Col span={item.width} key={item.uuid}> - <DataCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} /> + <DataCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} /> </Col> ) } else if (item.type === 'card' && item.subtype === 'propcard') { return ( <Col span={item.width} key={item.uuid}> - <PropCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} /> + <PropCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} /> </Col> ) } else if (item.type === 'table' && item.subtype === 'tablecard') { return ( <Col span={item.width} key={item.uuid}> - <TableCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} /> + <TableCard config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} /> </Col> ) } else if (item.type === 'table' && item.subtype === 'normaltable') { return ( <Col span={item.width} key={item.uuid}> - <NormalTable config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} dataManager={dataManager} /> + <NormalTable config={item} data={data} BID={BID} mainSearch={mainSearch} menuType={menuType} /> </Col> ) } else { @@ -590,13 +591,13 @@ render() { const { menuType, MenuNo } = this.props - const { loadingview, viewlost, config, loading } = this.state + const { debug, loadingview, viewlost, config, loading } = this.state return ( <div className="custom-page-wrap" id={this.state.ContainerId} style={config ? config.style : null}> {(loadingview || loading) ? <Spin size="large" /> : null} <Row>{this.getComponents()}</Row> - {MenuNo && options.sysType !== 'cloud' && menuType !== 'HS' ? <Button + {debug && MenuNo && options.sysType !== 'cloud' && menuType !== 'HS' ? <Button icon="copy" shape="circle" className="common-table-copy" @@ -612,9 +613,7 @@ return { menuType: state.editLevel, refreshTab: state.refreshTab, - permAction: state.permAction, - permRoles: state.permRoles, - dataManager: state.dataManager + permAction: state.permAction } } -- Gitblit v1.8.0