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/commontable/index.jsx |   38 +++++++++++++++++++++++++++++++-------
 1 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/src/tabviews/commontable/index.jsx b/src/tabviews/commontable/index.jsx
index afa3d1a..627c9dd 100644
--- a/src/tabviews/commontable/index.jsx
+++ b/src/tabviews/commontable/index.jsx
@@ -67,6 +67,7 @@
     chartId: '',          // 灞曞紑鍥捐〃ID
     statFields: [],       // 鍚堣瀛楁
     statFValue: [],       // 鍚堣鍊�
+    absFields: [],        // 缁濆鍊煎瓧娈�
     debug: sessionStorage.getItem('debug') === 'true'
   }
 
@@ -259,6 +260,7 @@
       let _hideCol = []      // 闅愯棌鍙婂悎骞跺垪涓瓧娈电殑uuid闆�
       let colMap = new Map() // 鐢ㄤ簬瀛楁杩囨护
       let statFields = []    // 鍚堣瀛楁淇℃伅
+      let absFields = []     // 缁濆鍊煎瓧娈�
 
       let _actions = []      // 宸ュ叿鏍忔寜閽�
       let _operations = []   // 鎿嶄綔鍒楁寜閽紙瀛樺湪鏃讹級
@@ -284,6 +286,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) { // 绛涢�夐殣钘忓垪
@@ -355,18 +360,19 @@
       }
 
       this.setState({
-        BID: param && param.BID ? param.BID : '',
         loadingview: false,
-        chartId: chartId,
-        config: config,
-        statFields: statFields,
+        absFields,
+        chartId,
+        config,
+        statFields,
+        userConfig,
         tabActive: _tabActive,
-        userConfig: userConfig,
         setting: config.setting,
         searchlist: config.search,
         actions: _actions,
         columns: _columns,
         arr_field: _arrField.join(','),
+        BID: param && param.BID ? param.BID : '',
         search: Utils.initMainSearch(initSearch) // 鎼滅储鏉′欢鍒濆鍖栵紙鍚湁鏃堕棿鏍煎紡锛岄渶瑕佽浆鍖栵級
       }, () => {
         if (config.setting.onload !== 'false' && valid) { // 鍒濆鍖栧彲鍔犺浇
@@ -464,7 +470,7 @@
    * @description 涓昏〃鏁版嵁鍔犺浇
    */ 
   async loadmaindata () {
-    const { setting, arr_field, BIDs, search, orderBy, BID, pageIndex, pageSize } = this.state
+    const { setting, arr_field, BIDs, search, orderBy, BID, pageIndex, pageSize, absFields } = this.state
     let requireFields = search.filter(item => item.required && (!item.value || item.value.length === 0))
 
     this.setState({
@@ -503,6 +509,15 @@
     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
         }),
@@ -526,7 +541,7 @@
    * @description 鑾峰彇鍗曡鏁版嵁
    */ 
   async loadmainLinedata (id) {
-    const { setting, arr_field, search, orderBy, BID, pageIndex, pageSize } = this.state
+    const { setting, arr_field, search, orderBy, BID, pageIndex, pageSize, absFields } = this.state
 
     this.setState({
       loading: true
@@ -545,6 +560,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