From 251d38fbae6c39af380cb5794424a5d24e3ba2e4 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 21 十二月 2020 09:47:53 +0800
Subject: [PATCH] 2020-12-21

---
 src/tabviews/subtable/index.jsx |   35 +++++++++++++++++++++++++++++------
 1 files changed, 29 insertions(+), 6 deletions(-)

diff --git a/src/tabviews/subtable/index.jsx b/src/tabviews/subtable/index.jsx
index ee5be01..df9cbc2 100644
--- a/src/tabviews/subtable/index.jsx
+++ b/src/tabviews/subtable/index.jsx
@@ -60,7 +60,8 @@
     pickup: false,        // 瀛愯〃鏁版嵁闅愯棌鏄剧ず鍒囨崲
     chartId: '',          // 灞曞紑鍥捐〃ID
     statFields: [],       // 鍚堣瀛楁
-    statFValue: []        // 鍚堣鍊�
+    statFValue: [],       // 鍚堣鍊�
+    absFields: [],        // 缁濆鍊煎瓧娈�
   }
 
   /**
@@ -132,6 +133,7 @@
       let _hideCol = []      // 闅愯棌鍙婂悎骞跺垪涓瓧娈电殑uuid闆�
       let colMap = new Map()
       let statFields = []    // 鍚堣瀛楁淇℃伅
+      let absFields = []     // 缁濆鍊煎瓧娈�
 
       // 鐗堟湰鍏煎
       config = UtilsUpdate.updateSubTable(config)
@@ -208,6 +210,9 @@
           col.nameField && _arrField.push(col.nameField) // 閾炬帴鍚嶅瓧娈�
           if (col.Hide !== 'true' && col.type === 'number' && col.sum === 'true') {
             statFields.push(col)
+          }
+          if (col.format === 'abs') {
+            absFields.push(col.field)
           }
         }
         if (col.type === 'colspan' && col.sublist) { // 绛涢�夐殣钘忓垪
@@ -332,9 +337,10 @@
 
       this.setState({
         loadingview: false,
-        chartId: chartId,
-        config: config,
-        statFields: statFields,
+        chartId,
+        config,
+        absFields,
+        statFields,
         setting: config.setting,
         searchlist: config.search,
         actions: _actions,
@@ -367,7 +373,7 @@
    */
   async loadmaindata (bid, type) {
     const { mainSearch } = this.props
-    const { setting, arr_field, search, orderBy, pageIndex, pageSize } = this.state
+    const { setting, arr_field, search, orderBy, pageIndex, pageSize, absFields } = this.state
 
     let _BID = this.props.BID
     let searches = fromJS(search).toJS()
@@ -419,6 +425,14 @@
     if (result.status) {
       this.setState({
         data: result.data.map((item, index) => {
+          if (absFields.length) {
+            absFields.forEach(field => {
+              if (!item[field]) return
+              if (isNaN(Math.abs(item[field]))) return
+
+              item[field] = Math.abs(item[field])
+            })
+          }
           item.key = index
           return item
         }),
@@ -444,7 +458,7 @@
    */ 
   async loadmainLinedata (id) {
     const { mainSearch, BID } = this.props
-    const { setting, arr_field, search, orderBy, pageIndex, pageSize } = this.state
+    const { setting, arr_field, search, orderBy, pageIndex, pageSize, absFields } = this.state
 
     let searches = fromJS(search).toJS()
     if (mainSearch && mainSearch.length > 0) { // 涓昏〃鎼滅储鏉′欢
@@ -468,6 +482,15 @@
       if (result.data && result.data[0]) {
         let _data = result.data[0]
 
+        if (absFields.length) {
+          absFields.forEach(field => {
+            if (!_data[field]) return
+            if (isNaN(Math.abs(_data[field]))) return
+            
+            _data[field] = Math.abs(_data[field])
+          })
+        }
+
         try {
           data = data.map(item => {
             if (item[setting.primaryKey] === _data[setting.primaryKey]) {

--
Gitblit v1.8.0