From 4141e18a9aee7c2a3887ff99bf0b1343d5771b79 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 09 十一月 2023 15:25:57 +0800 Subject: [PATCH] Merge branch 'develop' --- src/tabviews/custom/components/table/normal-table/index.jsx | 132 +++++++++++++++---------------------------- 1 files changed, 46 insertions(+), 86 deletions(-) diff --git a/src/tabviews/custom/components/table/normal-table/index.jsx b/src/tabviews/custom/components/table/normal-table/index.jsx index e2aac93..136a42c 100644 --- a/src/tabviews/custom/components/table/normal-table/index.jsx +++ b/src/tabviews/custom/components/table/normal-table/index.jsx @@ -38,7 +38,8 @@ pageSize: 10, // 姣忛〉鏁版嵁鏉℃暟 orderBy: '', // 鎺掑簭 search: '', // 鎼滅储鏉′欢鏁扮粍锛屼娇鐢ㄦ椂闇�鍒嗗満鏅鐞� - statFValue: [] // 鍚堣鍊� + statFValue: [], // 鍚堣鍊� + allSearch: null } loaded = false @@ -87,7 +88,7 @@ _data = window.GLOB.SyncData.get(_config.dataName) || [] if (_config.$cache) { - Api.writeCacheConfig(_config.uuid, fromJS(_data).toJS()) + Api.writeCacheConfig(_config.uuid, fromJS(_data).toJS(), BID) } _config.setting.sync = 'false' @@ -138,6 +139,18 @@ _config.style = _config.style || {} + let allSearch = null + if (_config.colsCtrls && _config.colsCtrls.length > 0) { + allSearch = [{key: 'BID', value: BID || ''}] + allSearch.push(..._config.$searches) + if (_config.setting.useMSearch) { + let mainSearch = window.GLOB.SearchBox.get(_config.$searchId) || [] + allSearch.push(...mainSearch) + } + } else { + _config.colsCtrls = null + } + this.setState({ pageSize: setting.pageSize || 10, BID: BID || '', @@ -148,7 +161,8 @@ setting: setting, actions: _config.action, columns: _config.cols, - search: _config.$searches + search: _config.$searches, + allSearch }) } @@ -180,7 +194,6 @@ pageIndex: 1 }, () => { this.loadmaindata(true, 'true', '', 'timer') - this.getStatFieldsValue() }) }) } @@ -207,12 +220,12 @@ } initExec = () => { - const { config, setting } = this.state + const { config, setting, BID } = this.state if (config.$cache) { if (config.$time && !setting.laypage) { if (!this.loaded) { - Api.getLCacheConfig(config.uuid, config.$time).then(res => { + Api.getLCacheConfig(config.uuid, config.$time, BID).then(res => { if (!res.valid && config.setting.onload === 'true') { setTimeout(() => { this.loadmaindata(false, 'true', '', 'init') @@ -247,7 +260,7 @@ } } else { if (!this.loaded) { - Api.getLCacheConfig(config.uuid, 0).then(res => { + Api.getLCacheConfig(config.uuid, 0, BID).then(res => { if (!res.data || this.loaded) return this.setState({data: res.data.map((item, index) => { @@ -278,14 +291,12 @@ if (config.setting.onload === 'true') { setTimeout(() => { this.loadmaindata(false, 'true', '', 'init') - this.getStatFieldsValue() }, config.setting.delay || 0) } } } else if (config.setting.onload === 'true') { setTimeout(() => { this.loadmaindata() - this.getStatFieldsValue() }, config.setting.delay || 0) } } @@ -300,7 +311,7 @@ let _data = window.GLOB.SyncData.get(config.dataName) || [] if (config.$cache) { - Api.writeCacheConfig(config.uuid, fromJS(_data).toJS()) + Api.writeCacheConfig(config.uuid, fromJS(_data).toJS(), BID) } _data = _data.map((item, index) => { @@ -399,7 +410,7 @@ if (result.status) { this.loaded = true if (config.$cache && type === 'init') { - Api.writeCacheConfig(config.uuid, result.data || []) + Api.writeCacheConfig(config.uuid, result.data || [], BID) } if (repage === 'false' && result.data && result.data.length === 0 && result.total > 0 && pageIndex > 1) { @@ -470,9 +481,16 @@ total = data[data.length - 1].mk_total || 0 } + let allSearch = null + if (config.colsCtrls) { + allSearch = [{key: 'BID', value: BID || ''}] + allSearch.push(...searches) + } + this.setState({ data: data, selectedData: [], + allSearch: allSearch, total: total, loading: false }) @@ -521,8 +539,13 @@ /** * @description 鑾峰彇鍗曡鏁版嵁 */ - async loadmainLinedata (id) { + async loadLinedata (id, position) { const { setting, config, search, orderBy, BID, pageIndex, pageSize, BData } = this.state + + if (config.forbidLine) { + this.reloadtable() + return + } let searches = fromJS(search).toJS() if (config.setting.useMSearch) { // 涓昏〃鎼滅储鏉′欢 @@ -544,6 +567,11 @@ let result = await Api.genericInterface(param) if (result.status) { + if (position === 'line_grid' && (!result.data || !result.data[0])) { + this.loadmaindata(true, 'false') + return + } + let data = fromJS(this.state.data).toJS() let selectedData = fromJS(this.state.selectedData).toJS() @@ -639,72 +667,6 @@ } /** - * @description 鑾峰彇鍚堣瀛楁鍊� - */ - getStatFieldsValue = () => { - const { setting, config, search, BID, orderBy } = this.state - - if (setting.supModule && !BID && setting.supKey !== 'false') { // BID 涓嶅瓨鍦ㄦ椂锛屼笉鍋氭煡璇� - this.setState({ - statFValue: [] - }) - return - } - - if (config.statFields.length === 0 || setting.interType !== 'system' || !setting.dataresource) return - - let searches = fromJS(search).toJS() - if (config.setting.useMSearch) { // 涓昏〃鎼滅储鏉′欢 - let mainSearch = window.GLOB.SearchBox.get(config.$searchId) || [] - let keys = config.$s_keys || [] - mainSearch.forEach(item => { - if (keys.includes(item.key.toLowerCase())) return - - searches.push(item) - }) - } - - if (config.$s_req && searches.filter(item => item.required && item.value === '').length > 0) { - return - } - - let _orderBy = orderBy || setting.order - let param = UtilsDM.getStatQueryDataParams(setting, config.statFields, searches, _orderBy, BID) - - Api.genericInterface(param).then(res => { - if (res.status) { - let _data = res.data[0] - let values = [] - - if (_data) { - config.statFields.forEach(item => { - if (_data[item.field] || _data[item.field] === 0) { - let val = +_data[item.field] - if (isNaN(val)) { - val = 0 - } - val = val.toFixed(item.decimal) - values.push({label: item.label, value: val}) - } - }) - } - this.setState({ - statFValue: values - }) - } else { - this.setState({ - statFValue: [] - }) - notification.error({ - top: 92, - message: res.message, - duration: 10 - }) - } - }) - } - - /** * @description 鎼滅储鏉′欢鏀瑰彉鏃讹紝閲嶇疆琛ㄦ牸鏁版嵁 * 鍚湁鍒濆涓嶅姞杞界殑椤甸潰锛屼慨鏀硅缃� */ @@ -714,7 +676,6 @@ search: searches }, () => { this.loadmaindata(true, 'true') - this.getStatFieldsValue() }) } @@ -748,11 +709,9 @@ pageIndex: 1 }, () => { this.loadmaindata(true, 'true', id) - this.getStatFieldsValue() }) } else { this.loadmaindata(true, 'false', id) - this.getStatFieldsValue() } } @@ -789,7 +748,7 @@ if (!id) { this.reloadtable() } else { - this.loadmainLinedata(id) + this.loadLinedata(id) } } @@ -805,7 +764,6 @@ BData: data }, () => { this.loadmaindata(true, 'true') - this.getStatFieldsValue() }) } } @@ -821,9 +779,9 @@ if (config.uuid !== menuId) return - if (position === 'line') { + if (position === 'line' || position === 'line_grid') { if (lines && lines.length === 1) { - this.loadmainLinedata(lines[0].$$uuid) + this.loadLinedata(lines[0].$$uuid, position) } else { this.reloadtable(btn, id) } @@ -869,7 +827,7 @@ } render() { - const { BID, setting, actions, config, columns, selectedData, BData, data } = this.state + const { BID, setting, actions, config, columns, selectedData, BData, data, allSearch } = this.state let style = {...config.style} if (config.wrap.empty === 'hidden' && (!data || data.length === 0)) { @@ -893,9 +851,11 @@ setting={setting} columns={columns} MenuID={config.uuid} + allSearch={allSearch} data={this.state.data} fields={config.columns} total={this.state.total} + colsCtrls={config.colsCtrls} lineMarks={config.lineMarks} loading={this.state.loading} refreshdata={this.refreshbytable} -- Gitblit v1.8.0