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 ++++++++++++++--- src/tabviews/subtabtable/index.jsx | 25 +++++++++--- src/templates/zshare/formconfig.jsx | 3 + src/tabviews/commontable/index.jsx | 38 +++++++++++++++--- 4 files changed, 82 insertions(+), 19 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]) { 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]) { diff --git a/src/tabviews/subtabtable/index.jsx b/src/tabviews/subtabtable/index.jsx index aef5022..55d904d 100644 --- a/src/tabviews/subtabtable/index.jsx +++ b/src/tabviews/subtabtable/index.jsx @@ -58,7 +58,8 @@ search: '', // 鎼滅储鏉′欢鏁扮粍锛屼娇鐢ㄦ椂闇�鍒嗗満鏅鐞� chartId: '', // 灞曞紑鍥捐〃ID statFields: [], // 鍚堣瀛楁 - statFValue: [] // 鍚堣鍊� + statFValue: [], // 鍚堣鍊� + absFields: [], // 缁濆鍊煎瓧娈� } /** @@ -106,6 +107,7 @@ let _hideCol = [] // 闅愯棌鍙婂悎骞跺垪涓瓧娈电殑uuid闆� let colMap = new Map() let statFields = [] // 鍚堣瀛楁淇℃伅 + let absFields = [] // 缁濆鍊煎瓧娈� // 鐗堟湰鍏煎 config = UtilsUpdate.updateSubTable(config) @@ -138,7 +140,6 @@ duration: 5 }) } - // 鏉冮檺杩囨护 if (this.props.menuType !== 'HS') { @@ -187,6 +188,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) { // 绛涢�夐殣钘忓垪 @@ -288,9 +292,10 @@ this.setState({ loadingview: false, - chartId: chartId, - config: config, - statFields: statFields, + chartId, + config, + absFields, + statFields, setting: config.setting, searchlist: config.search, actions: _actions, @@ -321,7 +326,7 @@ */ async loadmaindata () { 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) { // 涓昏〃鎼滅储鏉′欢 @@ -358,6 +363,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 }), diff --git a/src/templates/zshare/formconfig.jsx b/src/templates/zshare/formconfig.jsx index cdeae62..32401b9 100644 --- a/src/templates/zshare/formconfig.jsx +++ b/src/templates/zshare/formconfig.jsx @@ -1256,6 +1256,9 @@ }, { value: 'percent', text: '鐧惧垎姣�' + }, { + value: 'abs', + text: '缁濆鍊�' }], required: false }, -- Gitblit v1.8.0