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