From 5e871a4164869bac7927ea6884dbadd650b1cadf Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 25 五月 2023 11:25:28 +0800
Subject: [PATCH] Merge branch 'master' into positec

---
 src/tabviews/custom/components/table/edit-table/normalTable/index.jsx |  115 +++++++++++++++++++++++----------------------------------
 1 files changed, 47 insertions(+), 68 deletions(-)

diff --git a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
index fe8a4d0..2b09bfb 100644
--- a/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
+++ b/src/tabviews/custom/components/table/edit-table/normalTable/index.jsx
@@ -220,15 +220,7 @@
       }
     }, 50)
 
-    let values = {}
-    // if (col.editField) {
-    //   values[col.field] = label
-    //   values[col.editField] = val
-    // } else {
-      values[col.field] = val
-    // }
-
-    MKEmitter.emit('changeRecord', col.tableId, {...record, ...values})
+    MKEmitter.emit('changeRecord', col.tableId, {...record, [col.field]: val})
   }
 
   onSelectChange = (val, option) => {
@@ -244,12 +236,7 @@
         })
       }
 
-      // if (col.editField) {
-      //   values[col.field] = _option.label
-      //   values[col.editField] = val
-      // } else {
-        values[col.field] = val
-      // }
+      values[col.field] = val
     }
 
     this.setState({editing: false})
@@ -333,22 +320,14 @@
               <Input className={err ? 'has-error' : ''} title={err} id={col.uuid + record.$$uuid} defaultValue={value} onChange={(e) => this.onChange(e.target.value)} onPressEnter={this.enterPress} onBlur={this.onBlur}/>
             </td>)
           } else if (col.editType === 'switch') {
-            let _value = ''
-            // if (col.editField) {
-            //   _value = record[col.editField] !== undefined ? record[col.editField] : ''
-            // } else {
-              _value = record[col.field] !== undefined ? record[col.field] : ''
-            // }
+            let _value = record[col.field] !== undefined ? record[col.field] : ''
+
             return (<td className="editing_table_cell">
               <CusSwitch config={col} defaultValue={_value} autoFocus={true} onChange={this.onSwitchChange} onBlur={this.switchBlur}/>
             </td>)
           } else {
-            let _value = ''
-            // if (col.editField) {
-            //   _value = record[col.editField] !== undefined ? record[col.editField] : ''
-            // } else {
-              _value = record[col.field] !== undefined ? record[col.field] : ''
-            // }
+            let _value = record[col.field] !== undefined ? record[col.field] : ''
+
             return (<td className="editing_table_cell">
               <Select
                 showSearch
@@ -429,7 +408,7 @@
             val = ''
           }
           return (<td className="editing_table_cell">
-            <InputNumber className={err ? 'has-error' : ''} title={err} id={col.uuid + record.$$uuid} defaultValue={val} onChange={(val) => this.onChange(val)} onPressEnter={this.enterPress} onBlur={this.onBlur}/>
+            <InputNumber className={err ? 'has-error' : ''} precision={col.decimal || 0} title={err} id={col.uuid + record.$$uuid} defaultValue={val} onChange={(val) => this.onChange(val)} onPressEnter={this.enterPress} onBlur={this.onBlur}/>
           </td>)
         } else {
           return (<td className={className + ' pointer'} style={style}>
@@ -466,6 +445,10 @@
           // eslint-disable-next-line
           content = eval(content)
         } catch (e) {
+          if (window.debugger) {
+            console.info(content)
+            console.warn(e)
+          }
           content = ''
         }
       }
@@ -474,6 +457,11 @@
 
       if (col.noValue === 'hide' && content === 0) {
         content = ''
+      }
+
+      if (col.round && typeof(content) === 'number') {
+        content = Math.round(content * col.round) / col.round
+        content = content.toFixed(col.decimal)
       }
 
       if (content !== '') {
@@ -505,14 +493,6 @@
         style = {...style, ...col.style}
       }
 
-      children = (
-        <CardCellComponent data={record} cards={config} elements={col.elements}/>
-      )
-    } else if (col.type === 'action') {
-      style.padding = '0px'
-      if (col.style) {
-        style = {...style, ...col.style}
-      }
       children = (
         <CardCellComponent data={record} cards={config} elements={col.elements}/>
       )
@@ -640,15 +620,7 @@
       }
     }, 50)
 
-    let values = {}
-    // if (col.editField) {
-    //   values[col.field] = label
-    //   values[col.editField] = val
-    // } else {
-      values[col.field] = val
-    // }
-
-    MKEmitter.emit('changeRecord', col.tableId, {...record, ...values})
+    MKEmitter.emit('changeRecord', col.tableId, {...record, [col.field]: val})
   }
 
   onSelectChange = (val, option) => {
@@ -664,12 +636,7 @@
         })
       }
 
-      // if (col.editField) {
-      //   values[col.field] = _option.label
-      //   values[col.editField] = val
-      // } else {
-        values[col.field] = val
-      // }
+      values[col.field] = val
     }
 
     setTimeout(() => {
@@ -706,12 +673,7 @@
     let children = null
     if (col.type === 'text') {
       if (col.editable === 'true' && !disabled) {
-        let _value = ''
-        // if (col.editField) {
-        //   _value = record[col.editField] !== undefined ? record[col.editField] : ''
-        // } else {
-          _value = record[col.field] !== undefined ? record[col.field] : ''
-        // }
+        let _value = record[col.field] !== undefined ? record[col.field] : ''
         
         if (!col.editType || col.editType === 'text') {
           children = (<>
@@ -775,6 +737,11 @@
             content = <span style={mark.innerStyle}>{content}</span>
           }
         }
+
+        if (col.editable === 'true' && disabled) {
+          content = <span style={{display: 'inline-block', padding: '0 6px'}}>{content}</span>
+        }
+
         children = content
       }
     } else if (col.type === 'number') {
@@ -786,7 +753,7 @@
         }
 
         children = (<>
-          <InputNumber className={err ? 'has-error' : ''} title={err} id={col.uuid + record.$$uuid} defaultValue={_value} onChange={(val) => this.onChange(val)} onPressEnter={this.enterPress} onBlur={this.onBlur}/>
+          <InputNumber className={err ? 'has-error' : ''} title={err} precision={col.decimal || 0} id={col.uuid + record.$$uuid} defaultValue={_value} onChange={(val) => this.onChange(val)} onPressEnter={this.enterPress} onBlur={this.onBlur}/>
         </>)
       } else {
         let content = ''
@@ -837,6 +804,11 @@
             content = <span style={mark.innerStyle}>{content}</span>
           }
         }
+
+        if (col.editable === 'true' && disabled) {
+          content = <span style={{display: 'inline-block', padding: '0 6px'}}>{content}</span>
+        }
+
         children = content
       }
     } else if (col.type === 'textarea') {
@@ -866,6 +838,10 @@
           // eslint-disable-next-line
           content = eval(content)
         } catch (e) {
+          if (window.debugger) {
+            console.info(content)
+            console.warn(e)
+          }
           content = ''
         }
       }
@@ -874,6 +850,11 @@
 
       if (col.noValue === 'hide' && content === 0) {
         content = ''
+      }
+
+      if (col.round && typeof(content) === 'number') {
+        content = Math.round(content * col.round) / col.round
+        content = content.toFixed(col.decimal)
       }
 
       if (content !== '') {
@@ -905,14 +886,6 @@
         style = {...style, ...col.style}
       }
 
-      children = (
-        <CardCellComponent data={record} cards={config} elements={col.elements}/>
-      )
-    } else if (col.type === 'action') {
-      style.padding = '0px'
-      if (col.style) {
-        style = {...style, ...col.style}
-      }
       children = (
         <CardCellComponent data={record} cards={config} elements={col.elements}/>
       )
@@ -1010,7 +983,7 @@
             onCell: record => ({
               record,
               col: item,
-              config: item.type === 'custom' || item.type === 'action' ? {setting, columns: fields} : null,
+              config: item.type === 'custom' ? {setting, columns: fields} : null,
             })
           }
         }
@@ -1109,7 +1082,13 @@
     if (menuid !== MenuID) return
 
     if (type !== 'line') {
-      this.setState({edData: data})
+      if (setting.editType === 'multi' && data.length > 0) {
+        this.setState({edData: []}, () => {
+          this.setState({edData: data})
+        })
+      } else {
+        this.setState({edData: data})
+      }
 
       if (setting.addable && data.length === 0) {
         setTimeout(() => {

--
Gitblit v1.8.0