From 8f394e7ef20cc0abba3f47c23a63b069e9dd0e45 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 19 十月 2022 15:09:30 +0800 Subject: [PATCH] 2022-10-19 --- src/tabviews/zshare/normalTable/index.jsx | 89 ++++++++++++++++---------------------------- 1 files changed, 32 insertions(+), 57 deletions(-) diff --git a/src/tabviews/zshare/normalTable/index.jsx b/src/tabviews/zshare/normalTable/index.jsx index 4f7ee58..e01df0a 100644 --- a/src/tabviews/zshare/normalTable/index.jsx +++ b/src/tabviews/zshare/normalTable/index.jsx @@ -2,7 +2,7 @@ import PropTypes from 'prop-types' import md5 from 'md5' import { is, fromJS } from 'immutable' -import { Table, Affix, Typography } from 'antd' +import { Table, Typography, Col } from 'antd' import asyncComponent from '@/utils/asyncComponent' import MKEmitter from '@/utils/events.js' @@ -18,6 +18,13 @@ const TabButton = asyncComponent(() => import('@/tabviews/zshare/actionList/tabbutton')) const NewPageButton = asyncComponent(() => import('@/tabviews/zshare/actionList/newpagebutton')) const Video = asyncComponent(() => import('@/components/video')) +const MkPicture = asyncComponent(() => import('@/components/mkPicture')) + +const PicRadio = { + '4:3': '75%', '3:2': '66.67%', '16:9': '56.25%', '2:1': '50%', '3:1': '33.33%', '4:1': '25%', + '5:1': '20%', '6:1': '16.67%', '7:1': '14.29%', '8:1': '12.5%', '9:1': '11.11%', + '10:1': '10%', '3:4': '133.33%', '2:3': '150%', '9:16': '177.78%' +} class BodyRow extends React.Component { shouldComponentUpdate (nextProps) { @@ -548,13 +555,13 @@ } if (content !== '') { - let decimal = item.decimal || 0 + content = Math.round(content * item.round) / item.round + if (item.format === 'percent') { content = content * 100 - decimal = decimal > 2 ? decimal - 2 : 0 } - - content = content.toFixed(decimal) + + content = content.toFixed(item.decimal) if (item.format === 'thdSeparator') { content = content.replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,') @@ -633,6 +640,7 @@ } } else if (item.type === 'picture') { let photos = '' + let style = {borderRadius: '2px'} if (item.field && record.hasOwnProperty(item.field)) { photos = record[item.field] + '' } @@ -642,19 +650,19 @@ photos = photos.split(',').filter(Boolean) } - let maxHeight = item.maxHeight || 128 + if (PicRadio[item.lenWidRadio]) { + style.paddingTop = PicRadio[item.lenWidRadio] + } else { + style.paddingTop = '100%' + } + + let scale = item.scale === 'true' + return ( <div className="picture-col"> - {photos && photos.map((url, i) => { - if (item.scale === 'true') { - return <img style={{maxHeight: maxHeight}} className="image-scale" onClick={(e) => { - e.stopPropagation() - MKEmitter.emit('mkImageScale', url, photos) - }} key={`${i}`} src={url} alt=""/> - } else { - return <img style={{maxHeight: maxHeight}} key={`${i}`} src={url} alt=""/> - } - })} + {photos.map((url, i) => (<Col key={i} span={item.span || 24}> + <MkPicture style={style} scale={scale} url={url} urls={photos}/> + </Col>))} </div> ) } else if (item.type === 'video') { @@ -774,7 +782,6 @@ selectedData={[record]} BData={this.props.BData} MenuID={this.props.MenuID} - setting={this.props.setting} /> ) } else if (btn.OpenType === 'innerpage' || btn.OpenType === 'outerpage') { @@ -785,7 +792,6 @@ disabled={record.$disabled} selectedData={[record]} BData={this.props.BData} - setting={this.props.setting} /> ) } @@ -814,13 +820,13 @@ } if (content !== '') { - let decimal = col.decimal || 0 + content = Math.round(content * col.round) / col.round + if (col.format === 'percent') { content = content * 100 - decimal = decimal > 2 ? decimal - 2 : 0 } - content = content.toFixed(decimal) + content = content.toFixed(col.decimal) if (col.format === 'thdSeparator') { content = content.replace(/\d{1,3}(?=(\d{3})+(\.\d*)?$)/g, '$&,') @@ -863,7 +869,7 @@ } photos.forEach(photo => { - images.push({url: photo, align: col.Align, scale: col.scale === 'true', maxHeight: col.maxHeight || 128}) + images.push({url: photo, align: col.Align, scale: col.scale === 'true'}) }) } else if (col.type === 'text') { let content = record[col.field] @@ -1002,12 +1008,12 @@ <div className="content-fence-top" style={images[0] ? {textAlign: images[0].align} : null}> {images.map((_img, index) => { if (_img.scale) { - return <img style={{maxHeight: _img.maxHeight}} className="image-scale" onClick={(e) => { + return <img className="image-scale" onClick={(e) => { e.stopPropagation() MKEmitter.emit('mkImageScale', _img.url, images.map(g => g.url)) }} key={`${index}`} src={_img.url} alt=""/> } else { - return (<img style={{maxHeight: _img.maxHeight}} key={`${index}`} src={_img.url} alt=""/>) + return (<img key={`${index}`} src={_img.url} alt=""/>) } })} </div> @@ -1024,11 +1030,11 @@ <div className="content-fence-left" style={images[0] ? {textAlign: images[0].align} : null}> {images.map((_img, index) => { if (_img.scale) { - return <img style={{maxHeight: _img.maxHeight}} className="image-scale" onClick={() => { + return <img className="image-scale" onClick={() => { MKEmitter.emit('mkImageScale', _img.url, images.map(g => g.url)) }} key={`${index}`} src={_img.url} alt=""/> } else { - return (<img style={{maxHeight: _img.maxHeight}} key={`${index}`} src={_img.url} alt=""/>) + return (<img key={`${index}`} src={_img.url} alt=""/>) } })} </div> @@ -1233,21 +1239,6 @@ } } - // 琛ㄦ牸澶撮儴鍥哄畾浜庨《閮ㄦ椂锛屽垽鏂窛椤堕儴楂樺害 - let offset = null - if (this.props.tableId === 'mainTable' && setting.columnfixed) { - if (!setting.actionfixed) { - offset = 48 - } else { - let box = document.getElementById(this.props.MenuID + 'mainaction') - if (box) { - offset = 48 + box.offsetHeight - } else { - offset = 105 - } - } - } - // 鏁版嵁鏀惰捣鏃讹紝杩囨护宸查�夋暟鎹� let _data = this.props.data ? this.props.data : [] @@ -1291,22 +1282,6 @@ return ( <div className={'normal-data-table mingke-table ' + (height ? 'fixed-height' : '')}> - {offset && <Affix offsetTop={offset} className="fix-header"> - <Table - size={setting.size || 'middle'} - style={style} - bordered={setting.bordered !== 'false'} - rowSelection={rowSelection} - columns={this.state.columns.map(column => { - return { - align: column.align, - dataIndex: column.dataIndex, - title: column.title, - width: column.width - } - })} - /> - </Affix>} <Table components={components} size={setting.size || 'middle'} -- Gitblit v1.8.0