From cadfd4ed559fb170bb81d5bafbb6ae9775ba1ddc Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 03 三月 2022 18:18:39 +0800
Subject: [PATCH] 2022-03-03

---
 src/tabviews/custom/components/table/edit-table/index.jsx |   78 +++++++++++----------------------------
 1 files changed, 22 insertions(+), 56 deletions(-)

diff --git a/src/tabviews/custom/components/table/edit-table/index.jsx b/src/tabviews/custom/components/table/edit-table/index.jsx
index 0018d0c..e612d75 100644
--- a/src/tabviews/custom/components/table/edit-table/index.jsx
+++ b/src/tabviews/custom/components/table/edit-table/index.jsx
@@ -50,31 +50,14 @@
    * 1銆� initdata 涓烘墦鍗版椂浣跨敤鐨勬暟鎹泦
    */
   UNSAFE_componentWillMount () {
-    const { data, initdata, BID, BData } = this.props
+    const { BID, BData } = this.props
     let _config = fromJS(this.props.config).toJS()
     let _cols = new Map()
-    let _data = null
-    let _sync = _config.setting.sync === 'true'
     let setting = {..._config.setting, ..._config.wrap, style: {}}
     setting.tableId = Utils.getuuid()
 
-    if (_config.setting.sync === 'true' && data) {
-      _data = data[_config.dataName] || []
-      _sync = false
-    } else if (_config.setting.sync === 'true' && initdata) {
-      _data = initdata || []
-      _sync = false
-    }
-
-    if (_data) {
-      _data = _data.map((item, index) => {
-        item.key = index
-        item.$$uuid = item[_config.setting.primaryKey] || ''
-        item.$$BID = BID || ''
-        item.$$BData = BData || ''
-        item.$Index = index + 1 + ''
-        return item
-      })
+    if (setting.height) {
+      setting.operType = 'btnMode'
     }
 
     _config.columns.forEach(item => {
@@ -83,7 +66,7 @@
     })
 
     let _columns = []
-    // let signAdd = false
+    let signAdd = false
     _config.cols.forEach(column => {
       if (column.Hide === 'true') return
       if (column.type === 'index') {
@@ -91,10 +74,10 @@
         column.type = 'text'
       }
 
-      // if (setting.addable === 'true' && column.type !== 'action' && !signAdd) {
-      //   column.addable = true
-      //   signAdd = true
-      // }
+      if (setting.addable === 'true' && setting.operType === 'buoyMode' && column.type !== 'action' && !signAdd) {
+        column.addable = true
+        signAdd = true
+      }
 
       if (column.marks && column.marks.length === 0) {
         column.marks = ''
@@ -126,13 +109,13 @@
       _columns.push(column)
     })
 
-    // if (setting.delable !== 'false') {
-    //   if (_columns[_columns.length - 1] && _columns[_columns.length - 1].type !== 'action') {
-    //     _columns[_columns.length - 1].delable = true
-    //   } else if (_columns[_columns.length - 2] && _columns[_columns.length - 2].type !== 'action') {
-    //     _columns[_columns.length - 2].delable = true
-    //   }
-    // }
+    if (setting.delable !== 'false' && setting.operType === 'buoyMode') {
+      if (_columns[_columns.length - 1] && _columns[_columns.length - 1].type !== 'action') {
+        _columns[_columns.length - 1].delable = true
+      } else if (_columns[_columns.length - 2] && _columns[_columns.length - 2].type !== 'action') {
+        _columns[_columns.length - 2].delable = true
+      }
+    }
 
     if (setting.color) {
       setting.style.color = setting.color
@@ -150,8 +133,6 @@
       BID: BID || '',
       BData: BData || '',
       title: _config.wrap.title,
-      sync: _sync,
-      data: _data,
       config: _config,
       setting: setting,
       searchlist: _config.search,
@@ -160,13 +141,11 @@
       arr_field: _config.columns.map(col => col.field).join(','),
       search: Utils.initMainSearch(_config.search) // 鎼滅储鏉′欢鍒濆鍖栵紙鍚湁鏃堕棿鏍煎紡锛岄渶瑕佽浆鍖栵級
     }, () => {
-      if (_config.setting.sync !== 'true' && _config.setting.onload === 'true') {
+      if (_config.setting.onload === 'true') {
         setTimeout(() => {
           this.loadmaindata()
           this.getStatFieldsValue()
         }, _config.setting.delay || 0)
-      } else if (_config.setting.onload === 'true') {
-        this.getStatFieldsValue()
       }
     })
   }
@@ -227,6 +206,8 @@
           item.$$BID = BID || ''
           item.$$BData = BData || ''
           item.$Index = start + index + ''
+          item.$type = 'upt'
+          item.$origin = true
           return item
         }),
         total: result.total,
@@ -452,24 +433,9 @@
   }
 
   UNSAFE_componentWillReceiveProps(nextProps) {
-    const { sync, config, BID, BData } = this.state
+    const { config } = this.state
 
-    if (sync && !is(fromJS(this.props.data), fromJS(nextProps.data))) {
-      let _data = []
-      if (nextProps.data && nextProps.data[config.dataName]) {
-        _data = nextProps.data[config.dataName] || []
-        _data = _data.map((item, index) => {
-          item.key = index
-          item.$$uuid = item[config.setting.primaryKey] || ''
-          item.$$BID = BID || ''
-          item.$$BData = BData || ''
-          item.$Index = index + 1 + ''
-          return item
-        })
-      }
-
-      this.setState({sync: false, data: _data})
-    } else if (config.setting.syncRefresh && nextProps.mainSearch && !is(fromJS(this.props.mainSearch), fromJS(nextProps.mainSearch))) {
+    if (config.setting.syncRefresh && nextProps.mainSearch && !is(fromJS(this.props.mainSearch), fromJS(nextProps.mainSearch))) {
       this.setState({pageIndex: 1}, () => {
         this.reloadtable()
       })
@@ -501,7 +467,7 @@
   }
 
   render() {
-    const { BID, setting, searchlist, actions, config, columns, BData } = this.state
+    const { BID, setting, searchlist, actions, config, columns, BData, data } = this.state
 
     return (
       <div className="custom-edit-table" style={config.style}>
@@ -520,10 +486,10 @@
         <div className={'main-table-box ' + (!actions || actions.length === 0 ? 'no-action' : '')}>
           <MainTable
             BID={BID}
+            data={data}
             setting={setting}
             columns={columns}
             MenuID={config.uuid}
-            data={this.state.data}
             submit={config.submit}
             fields={config.columns}
             total={this.state.total}

--
Gitblit v1.8.0