From 977ce3d348f898d64ea240c8397b83d3e1cc5bb4 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 18 十二月 2019 09:23:05 +0800
Subject: [PATCH] 2019-12-18

---
 src/tabviews/commontable/mainTable/index.jsx |  109 ++++++++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 92 insertions(+), 17 deletions(-)

diff --git a/src/tabviews/commontable/mainTable/index.jsx b/src/tabviews/commontable/mainTable/index.jsx
index 89ddcea..1714101 100644
--- a/src/tabviews/commontable/mainTable/index.jsx
+++ b/src/tabviews/commontable/mainTable/index.jsx
@@ -38,15 +38,6 @@
         width: item.Width || 120,
         render: (text, record) => {
           return this.getContent(item, record)
-          // let content = ''
-          // if (item.field) {
-          //   content = record[item.field] || ''
-          // }
-          // return (
-          //   <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
-          //     {content}
-          //   </div>
-          // )
         }
       }
       _columns.push(cell)
@@ -57,7 +48,69 @@
   }
 
   getContent = (item, record) => {
-    if (item.type === 'operation') {
+    if (item.type === 'text') {
+      let content = ''
+      let match = false
+      if (item.field && record.hasOwnProperty(item.field)) {
+        content = `${record[item.field]}`
+      }
+
+      if (content && item.matchVal && content.indexOf(item.matchVal) > 0) {
+        match = true
+      }
+
+      content = (item.prefix || '') + content + (item.postfix || '')
+
+      return (
+        <div className={match ? item.color : ''}>
+          <div className="background"></div>
+          <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
+            {content}
+          </div>
+        </div>
+      )
+    } else if (item.type === 'number') {
+      let content = ''
+      let match = false
+      if (item.field && record.hasOwnProperty(item.field)) {
+        content = +record[item.field]
+      }
+
+      if (content && item.match && item.matchVal) {
+        if (item.match === '>') {
+          if (content > item.matchVal) {
+            match = true
+          }
+        } else if (item.match === '<') {
+          if (content < item.matchVal) {
+            match = true
+          }
+        } else if (item.match === '>=') {
+          if (content >= item.matchVal) {
+            match = true
+          }
+        } else if (item.match === '<=') {
+          if (content <= item.matchVal) {
+            match = true
+          }
+        }
+      }
+
+      if (content && item.format === 'thdSeparator') {
+
+      }
+
+      content = (item.prefix || '') + content + (item.postfix || '')
+
+      return (
+        <div className={match ? item.color : ''}>
+          <div className={'background'}></div>
+          <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
+            {content}
+          </div>
+        </div>
+      )
+    } else if (item.type === 'operation') {
       return (
         <div className={item.style} style={{ minWidth: (item.Width || 120) + 'px' }}>
           {item.operations.map(btn => {
@@ -70,17 +123,39 @@
           })}
         </div>
       )
-    } else {
-      let content = ''
-      if (item.field) {
-        content = record[item.field] || ''
+    } else if (item.type === 'colspan') {
+      let contents = ''
+      if (item.subColumn.length > 0) {
+        contents = item.subColumn.map(col => {
+          let content = ''
+          if (col.type === 'text' || col.type === 'textarea') {
+            if (col.field && record.hasOwnProperty(col.field)) {
+              content = `${record[col.field]}`
+            }
+
+            content = (col.prefix || '') + content + (col.postfix || '')
+          } else if (col.type === 'number') {
+            if (col.field && record.hasOwnProperty(col.field)) {
+              content = +record[col.field]
+            }
+            if (content && col.format === 'thdSeparator') {
+      
+            }
+            content = (col.prefix || '') + content + (col.postfix || '')
+          }
+          return content
+        })
       }
+
       return (
-        // <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
         <div>
-          <div className={'background'}></div>
           <div className="content" style={{ minWidth: (item.Width || 120) + 'px' }}>
-            {content}
+            {contents && item.order === 'vertical' && contents.map((content, index) => {
+              return (<p key={index}>{content}</p>)
+            })}
+            {contents && item.order === 'horizontal' && contents.map((content, index) => {
+              return (<span key={index}>{content}</span>)
+            })}
           </div>
         </div>
       )

--
Gitblit v1.8.0