From 2404d8a1bed5509432652f11aba6a1efa04aa160 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 18 九月 2020 19:24:26 +0800 Subject: [PATCH] 2020-09-18 --- src/tabviews/commontable/index.jsx | 116 +++++++++++++++++++++++++++++++++++++++++++-------------- 1 files changed, 87 insertions(+), 29 deletions(-) diff --git a/src/tabviews/commontable/index.jsx b/src/tabviews/commontable/index.jsx index 4d7f825..d3c1c80 100644 --- a/src/tabviews/commontable/index.jsx +++ b/src/tabviews/commontable/index.jsx @@ -72,7 +72,9 @@ refreshtabs: null, // 闇�瑕佸埛鏂扮殑鏍囩闆� triggerBtn: null, // 鐐瑰嚮琛ㄦ牸涓垨蹇嵎閿Е鍙戠殑鎸夐挳 tabActive: null, // 鏍囩椤靛睍寮�鎺у埗 - chartId: '' // 灞曞紑鍥捐〃ID + chartId: '', // 灞曞紑鍥捐〃ID + statFields: [], // 鍚堣瀛楁 + statFValue: [] // 鍚堣鍊� } /** @@ -223,34 +225,36 @@ config.setting.execute = config.setting.default !== 'false' // 榛樿sql鏄惁鎵ц锛岃浆涓篵oolean 缁熶竴鏍煎紡 config.setting.customScript = '' // 鑷畾涔夎剼鏈� - if (config.setting.scripts && config.setting.scripts.length > 0) { - let _customScript = '' - config.setting.scripts.forEach(item => { - if (item.status === 'false') return - _customScript += ` - ${item.sql} - ` - }) - config.setting.customScript = _customScript - } - - if (!config.setting.execute) { // 榛樿sql 涓嶆墽琛屾椂 缃┖ - config.setting.dataresource = '' - } else { - config.setting.dataresource = config.setting.dataresource || '' - } - if (/\s/.test(config.setting.dataresource)) { - config.setting.dataresource = '(' + config.setting.dataresource + ') tb' - } - - if (this.props.dataManager) { // 鏁版嵁鏉冮檺 - config.setting.dataresource = config.setting.dataresource.replace(/\$@/ig, '/*') - config.setting.dataresource = config.setting.dataresource.replace(/@\$/ig, '*/') - config.setting.customScript = config.setting.customScript.replace(/\$@/ig, '/*') - config.setting.customScript = config.setting.customScript.replace(/@\$/ig, '*/') - } else { - config.setting.dataresource = config.setting.dataresource.replace(/@\$|\$@/ig, '') - config.setting.customScript = config.setting.customScript.replace(/@\$|\$@/ig, '') + if (config.setting.interType === 'system') { + if (config.setting.scripts && config.setting.scripts.length > 0) { + let _customScript = '' + config.setting.scripts.forEach(item => { + if (item.status === 'false') return + _customScript += ` + ${item.sql} + ` + }) + config.setting.customScript = _customScript + } + + if (!config.setting.execute) { // 榛樿sql 涓嶆墽琛屾椂 缃┖ + config.setting.dataresource = '' + } else { + config.setting.dataresource = config.setting.dataresource || '' + } + if (/\s/.test(config.setting.dataresource)) { + config.setting.dataresource = '(' + config.setting.dataresource + ') tb' + } + + if (this.props.dataManager) { // 鏁版嵁鏉冮檺 + config.setting.dataresource = config.setting.dataresource.replace(/\$@/ig, '/*') + config.setting.dataresource = config.setting.dataresource.replace(/@\$/ig, '*/') + config.setting.customScript = config.setting.customScript.replace(/\$@/ig, '/*') + config.setting.customScript = config.setting.customScript.replace(/@\$/ig, '*/') + } else { + config.setting.dataresource = config.setting.dataresource.replace(/@\$|\$@/ig, '') + config.setting.customScript = config.setting.customScript.replace(/@\$|\$@/ig, '') + } } if (_curUserConfig) { @@ -293,6 +297,7 @@ let _logcolumns = [] // 鏃ュ織鏄剧ず鍒� let _hideCol = [] // 闅愯棌鍙婂悎骞跺垪涓瓧娈电殑uuid闆� let colMap = new Map() // 鐢ㄤ簬瀛楁杩囨护 + let statFields = [] // 鍚堣瀛楁淇℃伅 let _actions = [] // 宸ュ叿鏍忔寜閽� let _operations = [] // 鎿嶄綔鍒楁寜閽紙瀛樺湪鏃讹級 @@ -316,6 +321,9 @@ _logcolumns.push(col) col.nameField && _arrField.push(col.nameField) // 閾炬帴鍚嶅瓧娈� + if (col.Hide !== 'true' && col.type === 'number' && col.sum === 'true') { + statFields.push(col) + } } if (col.type === 'colspan' && col.sublist) { // 绛涢�夐殣钘忓垪 _hideCol = _hideCol.concat(col.sublist) @@ -385,6 +393,7 @@ loadingview: false, chartId: chartId, config: config, + statFields: statFields, tabActive: _tabActive, userConfig: userConfig, setting: config.setting, @@ -397,6 +406,7 @@ }, () => { if (config.setting.onload !== 'false' && valid) { // 鍒濆鍖栧彲鍔犺浇 this.loadmaindata() + this.getStatFieldsValue() } this.setShortcut() }) @@ -564,6 +574,50 @@ } /** + * @description 鑾峰彇鍚堣瀛楁鍊� + */ + getStatFieldsValue = () => { + const { setting, search, BID, orderBy, statFields } = this.state + + if (statFields.length === 0 || setting.interType !== 'system' || !setting.dataresource) return + + let requireFields = search.filter(item => item.required && (!item.value || item.value.length === 0)) + if (requireFields.length > 0) { + return + } + + let _orderBy = orderBy || setting.order + let param = UtilsDM.getStatQueryDataParams(setting, statFields, search, _orderBy, BID, this.props.menuType, this.props.dataManager) + + Api.genericInterface(param).then(res => { + if (res.status) { + let _data = res.data[0] + let values = [] + + if (_data) { + statFields.forEach(item => { + if (_data[item.field] || _data[item.field] === 0) { + values.push({label: item.label, value: _data[item.field]}) + } + }) + } + this.setState({ + statFValue: values + }) + } else { + this.setState({ + statFValue: [] + }) + notification.error({ + top: 92, + message: res.message, + duration: 10 + }) + } + }) + } + + /** * @description 鎼滅储鏉′欢鏀瑰彉鏃讹紝閲嶇疆琛ㄦ牸鏁版嵁 * 鍚湁鍒濆涓嶅姞杞界殑椤甸潰锛屼慨鏀硅缃� */ @@ -577,6 +631,7 @@ setting: {...setting, onload: 'true'} }, () => { this.loadmaindata() + this.getStatFieldsValue() }) } else { this.setState({ @@ -586,6 +641,7 @@ search: searches }, () => { this.loadmaindata() + this.getStatFieldsValue() }) } } @@ -622,6 +678,7 @@ pageIndex: 1 }, () => { this.loadmaindata() + this.getStatFieldsValue() }) } @@ -918,6 +975,7 @@ total={this.state.total} MenuID={this.props.MenuID} loading={this.state.loading} + statFValue={this.state.statFValue} refreshdata={this.refreshbytable} buttonTrigger={this.buttonTrigger} handleTableId={this.handleTableId} -- Gitblit v1.8.0