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