From dbc911dbb044895f98a49ef69ef5a5800a4aba3e Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期日, 15 九月 2024 20:26:39 +0800 Subject: [PATCH] 2024-09-15 --- src/tabviews/custom/components/share/normalTable/index.jsx | 101 ++++++++++++++++++++++++++------------------------ 1 files changed, 53 insertions(+), 48 deletions(-) diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx index a468ec1..b01e03d 100644 --- a/src/tabviews/custom/components/share/normalTable/index.jsx +++ b/src/tabviews/custom/components/share/normalTable/index.jsx @@ -236,6 +236,9 @@ } if (col.format === 'percent') { content = content * 100 + if (!col.round) { + content = +content.toFixed(2) + } } else if (col.format === 'abs') { content = Math.abs(content) } @@ -428,7 +431,7 @@ content = '' } } catch (e) { - console.info(content) + window.mkInfo(content) console.warn(e) content = '' } @@ -446,7 +449,12 @@ content = <span dangerouslySetInnerHTML={{__html: content}}></span> } else if (content !== '') { content = `${col.prefix || ''}${content}${col.postfix || ''}` - content = content.replace(/\n/ig, '<br/>').replace(/\s/ig, ' ') + if (!col.evalchars || col.evalchars.includes('enter')) { + content = content.replace(/\n/ig, '<br/>') + } + if (!col.evalchars || col.evalchars.includes('space')) { + content = content.replace(/\s/ig, ' ') + } content = <span dangerouslySetInnerHTML={{__html: content}}></span> } @@ -806,15 +814,27 @@ this.props.refreshdata({pageIndex}) } - mkCheckTopLine = (menuId, id, type) => { + mkCheckTopLine = (menuId, id, selected) => { const { MenuID, data, setting } = this.props - if (MenuID !== menuId || !data || data.length === 0) return + if (MenuID !== menuId) return + if (!data || data.length === 0) { + MKEmitter.emit('resetSelectLine', menuId, '', '') + return + } - if (type === 'sign') { - let index = '' - let keys = [] - let items = [] + let index = -1 + let keys = [] + let items = [] + + if (id) { + index = data.findIndex(item => item.$$uuid === id && !item.$disabled) + } + + if (index !== -1) { + keys = [index] + items = [data[index]] + } else if (selected === 'sign') { data.forEach((item, i) => { if (!item.$disabled && item.selected === 'true') { items.push(item) @@ -822,33 +842,25 @@ index = i } }) - - this.changedata(index) - this.setState({ selectedRowKeys: keys, activeIndex: index }) - this.props.chgSelectData(items) - - if (setting.$hasSyncModule) { - MKEmitter.emit('syncBalconyData', MenuID, items, data.length === keys.length) + } else if (selected !== 'false') { + if (!data[0].$disabled) { + index = 0 + keys = [index] + items = [data[index]] } + } + + if (index === -1) { + MKEmitter.emit('resetSelectLine', menuId, '', '') return } - let index = 0 - if (id) { - index = data.findIndex(item => item.$$uuid === id) - if (index === -1) { - index = 0 - } - } - - if (data[index].$disabled) return - this.changedata(index) - this.setState({ selectedRowKeys: [index], activeIndex: index }) - this.props.chgSelectData([data[index]]) + this.setState({ selectedRowKeys: keys, activeIndex: index }) + this.props.chgSelectData(items) if (setting.$hasSyncModule) { - MKEmitter.emit('syncBalconyData', MenuID, [data[index]], data.length === 1) + MKEmitter.emit('syncBalconyData', MenuID, items, data.length === keys.length) } } @@ -868,7 +880,7 @@ MKEmitter.emit('resetSelectLine', MenuID, '', '') MKEmitter.emit('syncBalconyData', MenuID, data, data.length > 0) if (data.length === 0) { - message.warning('鏈幏鍙栧埌鏁版嵁锛�') + message.warning(window.GLOB.dict['no_data'] || '鏈幏鍙栧埌鏁版嵁锛�') } } else { this.setState({ @@ -1023,22 +1035,9 @@ if (setting.$hasSyncModule) { MKEmitter.emit('syncBalconyData', MenuID, selects, data.length === selects.length) } - } else if (type === 'false') { - this.setState({ - selectedRowKeys: [], - activeIndex: null, - pickup: false - }) - } else if (type === 'repage') { - this.setState({ - pageIndex: Index, - selectedRowKeys: [], - activeIndex: null, - pickup: false - }) } else { this.setState({ - pageIndex: 1, + pageIndex: type === 'false' ? this.state.pageIndex : 1, selectedRowKeys: [], activeIndex: null, pickup: false @@ -1158,7 +1157,7 @@ pageSizeOptions: pageOptions, showSizeChanger: true, total: this.props.total || 0, - showTotal: (total, range) => `${range[0]}-${range[1]} 鍏� ${total} 鏉 + showTotal: (total, range) => `${range[0]}-${range[1]} ${window.GLOB.dict['of'] || '鍏�'} ${total} ${window.GLOB.dict['items'] || '鏉�'}` } } @@ -1169,8 +1168,14 @@ } let height = setting.height || false - if (height && height <= 100) { - height = height + 'vh' + if (height) { + if (height <= 100) { + if (height < 0) { + height = `calc(100vh - ${-height}px)` + } else { + height = height + 'vh' + } + } } let loading = this.props.loading if (setting.mask === 'hidden') { @@ -1195,9 +1200,9 @@ } return ( - <div className={`normal-custom-table ${setting.tableHeader || ''} ${setting.parity === 'true' ? 'mk-parity' : ''} ${height ? 'fixed-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || 'middle'} table-col-${columns.length} ${fixed}`} style={style}> + <div className={`normal-custom-table ${setting.tableHeader || ''} ${setting.parity === 'true' ? 'mk-parity' : ''} ${height ? 'fixed-table-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || 'middle'} table-col-${columns.length} ${fixed}`} style={style}> {(setting.tableType === 'radio' || setting.tableType === 'checkbox') && data && data.length > 0 ? - <Switch title="鏀惰捣" className="main-pickup" checkedChildren="寮�" unCheckedChildren="鍏�" checked={pickup} onChange={this.pickupChange} /> : null + <Switch title="鏀惰捣" className="main-pickup" checkedChildren={window.GLOB.dict['open'] || '寮�'} unCheckedChildren={window.GLOB.dict['shut'] || '鍏�'} checked={pickup} onChange={this.pickupChange} /> : null } <Table components={components} -- Gitblit v1.8.0