From 8904592cf12f091aece5d6fc564fd8478fc8988b Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 13 二月 2020 20:04:56 +0800 Subject: [PATCH] 2020-02-13 --- src/tabviews/commontable/index.jsx | 234 +++++++++++++++++++++++++++++++--------------------------- 1 files changed, 125 insertions(+), 109 deletions(-) diff --git a/src/tabviews/commontable/index.jsx b/src/tabviews/commontable/index.jsx index 57e5426..5b5d3df 100644 --- a/src/tabviews/commontable/index.jsx +++ b/src/tabviews/commontable/index.jsx @@ -20,6 +20,7 @@ import './index.scss' const SubTabTable = asyncComponent(() => import('@/tabviews/subtabtable')) +const FormTab = asyncComponent(() => import('@/tabviews/formtab')) const { TabPane } = Tabs class NormalTable extends Component { @@ -32,6 +33,7 @@ state = { dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, ContainerId: Utils.getuuid(), // 鑿滃崟澶栧眰html Id + view: 'commontable', // 褰撳墠椤甸潰榛樿涓轰富琛� loadingview: true, // 椤甸潰鍔犺浇涓� viewlost: false, // 椤甸潰涓㈠け锛�1銆佹湭鑾峰彇鍒伴厤缃�-椤甸潰涓㈠け锛�2銆侀〉闈㈡湭鍚敤 lostmsg: '', // 椤甸潰涓㈠け鏃剁殑鎻愮ず淇℃伅 @@ -524,6 +526,7 @@ */ reloadview = () => { this.setState({ + view: 'commontable', loadingview: true, viewlost: false, lostmsg: '', @@ -731,6 +734,16 @@ tabs.splice(index + 1, 0, newtab) this.props.modifyTabview(tabs) + } else if (btn.OpenType === 'blank') { + this.setState({ + view: 'formtab', + tabBtn: btn, + tabParam: { + btn: btn, + data: data, + arr_field: this.state.arr_field + } + }) } } @@ -760,121 +773,124 @@ } render() { - const { setting, searchlist, actions, columns, loadingview, viewlost, setsingle, pickup, isLinkMain, config } = this.state + const { view, setting, searchlist, actions, columns, loadingview, viewlost, setsingle, pickup, isLinkMain, config } = this.state return ( - <div className={'commontable ' + (isLinkMain ? 'pick-control' : '')} id={this.state.ContainerId}> - {loadingview && <Spin size="large" />} - {searchlist && searchlist.length > 0 ? - <MainSearch - dict={this.state.dict} - searchlist={searchlist} - refreshdata={this.refreshbysearch} - /> : null - } - {actions && setting.onload !== 'false' ? - <MainAction - ref="mainButton" - BID="" - type="main" - setting={setting} - actions={actions} - dict={this.state.dict} - MenuID={this.props.MenuID} - logcolumns={this.state.logcolumns} - ContainerId={this.state.ContainerId} - refreshdata={this.refreshbyaction} - triggerPopview={this.triggerPopview} - gettableselected={this.gettableselected} - /> : null - } - {columns && setting.onload !== 'false' ? - <div className="main-table-box"> - {isLinkMain ? - <div className="pickchange"> - {setting.tableType === 'checkbox' ? <Switch title="鍗曢�夊垏鎹�" checkedChildren="鍗�" unCheckedChildren="澶�" defaultChecked={setsingle} onChange={this.checkChange} /> : null} - {this.state.BIDs.mainTable && (setting.tableType === 'radio' || setsingle) ? <Switch title="鏀惰捣" checkedChildren="寮�" unCheckedChildren="鍏�" defaultChecked={pickup} onChange={this.pickupChange} /> : null} - </div> : null - } - <MainTable - ref="mainTable" - pickup={pickup} - setting={setting} - columns={columns} - setsingle={setsingle} + <div> + {view === 'commontable' ? <div className={'commontable ' + (isLinkMain ? 'pick-control' : '')} id={this.state.ContainerId}> + {loadingview && <Spin size="large" />} + {searchlist && searchlist.length > 0 ? + <MainSearch dict={this.state.dict} - data={this.state.data} - total={this.state.total} + searchlist={searchlist} + refreshdata={this.refreshbysearch} + /> : null + } + {actions && setting.onload !== 'false' ? + <MainAction + ref="mainButton" + BID="" + type="main" + setting={setting} + actions={actions} + dict={this.state.dict} MenuID={this.props.MenuID} - loading={this.state.loading} - refreshdata={this.refreshbytable} - buttonTrigger={this.buttonTrigger} - handleTableId={this.handleTableId} - /> - </div> : null - } - {setting && setting.onload !== 'false' && - config.tabgroups.map(group => { - if (config[group].length === 0) return null + logcolumns={this.state.logcolumns} + ContainerId={this.state.ContainerId} + refreshdata={this.refreshbyaction} + triggerPopview={this.triggerPopview} + gettableselected={this.gettableselected} + /> : null + } + {columns && setting.onload !== 'false' ? + <div className="main-table-box"> + {isLinkMain ? + <div className="pickchange"> + {setting.tableType === 'checkbox' ? <Switch title="鍗曢�夊垏鎹�" checkedChildren="鍗�" unCheckedChildren="澶�" defaultChecked={setsingle} onChange={this.checkChange} /> : null} + {this.state.BIDs.mainTable && (setting.tableType === 'radio' || setsingle) ? <Switch title="鏀惰捣" checkedChildren="寮�" unCheckedChildren="鍏�" defaultChecked={pickup} onChange={this.pickupChange} /> : null} + </div> : null + } + <MainTable + ref="mainTable" + pickup={pickup} + setting={setting} + columns={columns} + setsingle={setsingle} + dict={this.state.dict} + data={this.state.data} + total={this.state.total} + MenuID={this.props.MenuID} + loading={this.state.loading} + refreshdata={this.refreshbytable} + buttonTrigger={this.buttonTrigger} + handleTableId={this.handleTableId} + /> + </div> : null + } + {setting && setting.onload !== 'false' && + config.tabgroups.map(group => { + if (config[group].length === 0) return null - return ( - <Tabs defaultActiveKey="0" key={group}> - {config[group].map((_tab, index) => { - return ( - <TabPane tab={ - <span> - {_tab.icon ? <Icon type={_tab.icon} /> : null} - {_tab.label} - </span> - } key={`${index}`}> - {_tab.type === 'SubTable' ? - <SubTable - Tab={_tab} - MenuID={_tab.linkTab} - SupMenuID={this.props.MenuID} - ContainerId={this.state.ContainerId} - BID={this.state.BIDs[_tab.supMenu] || ''} - BData={this.state.BIDs[_tab.supMenu + 'data'] || ''} - handleTableId={this.handleTableId} - handleMainTable={this.handleMainTable} - /> : null} - </TabPane> - ) - })} - </Tabs> - ) - }) - } - <Modal - className="popview-modal" - title={this.state.popAction.label} - width={'80vw'} - maskClosable={false} - visible={this.state.visible} - onCancel={this.popclose} - footer={[ - <Button key="cancel" onClick={this.popclose}>{this.state.dict['main.close']}</Button> - ]} - destroyOnClose - > - {<SubTabTable - BID={''} - SupMenuID={this.props.MenuID} - MenuID={this.state.popAction.linkTab} - BData={this.state.BIDs['mainTabledata'] || ''} - ContainerId={this.state.ContainerId} - ID={this.state.popData ? this.state.popData[setting.primaryKey] : ''} - refreshSupView={this.reloadtable} - />} - </Modal> - <BackTop> - <div className="ant-back-top"> - <div className="ant-back-top-content"> - <div className="ant-back-top-icon"></div> + return ( + <Tabs defaultActiveKey="0" key={group}> + {config[group].map((_tab, index) => { + return ( + <TabPane tab={ + <span> + {_tab.icon ? <Icon type={_tab.icon} /> : null} + {_tab.label} + </span> + } key={`${index}`}> + {_tab.type === 'SubTable' ? + <SubTable + Tab={_tab} + MenuID={_tab.linkTab} + SupMenuID={this.props.MenuID} + ContainerId={this.state.ContainerId} + BID={this.state.BIDs[_tab.supMenu] || ''} + BData={this.state.BIDs[_tab.supMenu + 'data'] || ''} + handleTableId={this.handleTableId} + handleMainTable={this.handleMainTable} + /> : null} + </TabPane> + ) + })} + </Tabs> + ) + }) + } + <Modal + className="popview-modal" + title={this.state.popAction.label} + width={'80vw'} + maskClosable={false} + visible={this.state.visible} + onCancel={this.popclose} + footer={[ + <Button key="cancel" onClick={this.popclose}>{this.state.dict['main.close']}</Button> + ]} + destroyOnClose + > + {<SubTabTable + BID={''} + SupMenuID={this.props.MenuID} + MenuID={this.state.popAction.linkTab} + BData={this.state.BIDs['mainTabledata'] || ''} + ContainerId={this.state.ContainerId} + ID={this.state.popData ? this.state.popData[setting.primaryKey] : ''} + refreshSupView={this.reloadtable} + />} + </Modal> + <BackTop> + <div className="ant-back-top"> + <div className="ant-back-top-content"> + <div className="ant-back-top-icon"></div> + </div> </div> - </div> - </BackTop> - {viewlost ? <NotFount msg={this.state.lostmsg} /> : null} + </BackTop> + {viewlost ? <NotFount msg={this.state.lostmsg} /> : null} + </div> : null} + {view === 'formtab' ? <FormTab MenuID={this.state.tabBtn.uuid} param={this.state.tabParam}/> : null} </div> ) } -- Gitblit v1.8.0