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 |  361 ++++++++++++++++++++++++++++++---------------------
 1 files changed, 214 insertions(+), 147 deletions(-)

diff --git a/src/tabviews/zshare/normalTable/index.jsx b/src/tabviews/zshare/normalTable/index.jsx
index 02a78f8..e01df0a 100644
--- a/src/tabviews/zshare/normalTable/index.jsx
+++ b/src/tabviews/zshare/normalTable/index.jsx
@@ -1,12 +1,13 @@
 import React, {Component} from 'react'
 import PropTypes from 'prop-types'
 import md5 from 'md5'
-import { connect } from 'react-redux'
 import { is, fromJS } from 'immutable'
-import { Table, Affix, Typography, Icon } from 'antd'
+import { Table, Typography, Col } from 'antd'
 
 import asyncComponent from '@/utils/asyncComponent'
 import MKEmitter from '@/utils/events.js'
+import MkIcon from '@/components/mk-icon'
+import Encrypts from '@/components/encrypts'
 import '@/assets/css/table.scss'
 import './index.scss'
 
@@ -16,6 +17,14 @@
 const PopupButton = asyncComponent(() => import('@/tabviews/zshare/actionList/popupbutton'))
 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) {
@@ -45,7 +54,6 @@
     total: PropTypes.any,            // 鎬绘暟
     loading: PropTypes.bool,         // 琛ㄦ牸鍔犺浇涓�
     refreshdata: PropTypes.func,     // 琛ㄦ牸涓帓搴忓垪銆侀〉鐮佺殑鍙樺寲鏃跺埛鏂�
-    handleTableId: PropTypes.func,   // 鏁版嵁鍒囨崲
     chgSelectData: PropTypes.func,   // 鏁版嵁鍒囨崲
   }
 
@@ -56,11 +64,12 @@
     columns: null,        // 鏄剧ず鍒�
     lineMarks: null,      // 琛屾爣璁�
     activeIndex: null,    // 鏍囪褰撳墠閫変腑琛�
-    rowspans: null        // 琛屽悎骞跺瓧娈典俊鎭�
+    rowspans: null,       // 琛屽悎骞跺瓧娈典俊鎭�
+    pageOptions: []
   }
 
   UNSAFE_componentWillMount () {
-    const { menuType, memberLevel, pageSize, setting } = this.props
+    const { pageSize, setting } = this.props
     let columns = fromJS(this.props.columns).toJS()
     let lineMarks = []
     let _columns = []
@@ -104,18 +113,27 @@
         _columns.push(cell)
       })
     } else {
-      if (window.GLOB.dataFormat && menuType !== 'HS' && memberLevel) {
+      if (window.GLOB.dataFormat && !window.GLOB.mkHS) {
         _format = true
   
-        if (memberLevel >= 30) {
+        if (window.GLOB.memberLevel >= 30) {
           radio = 20
-        } else if (memberLevel >= 20) {
+        } else if (window.GLOB.memberLevel >= 20) {
           radio = 10
         }
       }
   
-      columns.forEach((item, index) => {
-        if (item.hidden === true || item.Hide === 'true') return
+      columns.forEach(item => {
+        if (item.hidden === true || item.Hide === 'true') {
+          if (item.marks) { // 鎻愬彇琛屾爣璁�
+            item.marks.forEach(mark => {
+              if (mark.signType !== 'line') return
+
+              lineMarks.push(mark)
+            })
+          }
+          return
+        }
         let cell = null
   
         if (item.type === 'colspan') {
@@ -215,15 +233,28 @@
           }
         }
         
-        _columns.push(cell)
+        if (item.type === 'action' && item.position === 'left') {
+          _columns.unshift(cell)
+        } else {
+          _columns.push(cell)
+        }
       })
   
       if (rowspans.length === 0) {
         rowspans = null
       }
     }
-    
+
+    let size = (setting.pageSize || 10) + ''
+    let pageOptions = ['10', '25', '50', '100', '500', '1000']
+
+    if (!pageOptions.includes(size)) {
+      pageOptions.push(size)
+      pageOptions = pageOptions.sort((a, b) => a - b)
+    }
+
     this.setState({
+      pageOptions,
       columns: _columns,
       pageSize: pageSize ? pageSize : 10,
       lineMarks,
@@ -237,6 +268,8 @@
 
   componentDidMount () {
     MKEmitter.addListener('resetTable', this.resetTable)
+    MKEmitter.addListener('autoQueryData', this.autoQueryData)
+    MKEmitter.addListener('autoSelectData', this.autoSelectData)
     MKEmitter.addListener('mkTableCheckTopLine', this.mkTableCheckTopLine)
   }
 
@@ -248,15 +281,64 @@
       return
     }
     MKEmitter.removeListener('resetTable', this.resetTable)
+    MKEmitter.removeListener('autoQueryData', this.autoQueryData)
+    MKEmitter.removeListener('autoSelectData', this.autoSelectData)
     MKEmitter.removeListener('mkTableCheckTopLine', this.mkTableCheckTopLine)
   }
 
-  mkTableCheckTopLine = (id) => {
+  mkTableCheckTopLine = (menuid, id) => {
+    const {MenuID, data} = this.props
+
+    if (menuid !== MenuID || data.length === 0) return
+
+    let index = 0
+    if (id) {
+      index = data.findIndex(item => item.$$uuid === id)
+      if (index === -1) {
+        index = 0
+      }
+    }
+
+    this.changeRow(data[index], index)
+  }
+
+  autoSelectData = (id, index) => {
     if (id !== this.props.MenuID) return
 
-    if (this.props.data.length > 0) {
-      this.changeRow(null, 0)
+    const { pageSize, pageIndex } = this.state
+
+    let i = index - (pageIndex - 1) * pageSize - 1
+
+    if (this.props.data[i]) {
+      this.changeRow(this.props.data[i], i)
+      MKEmitter.emit('autoTransSelectData', this.props.MenuID, this.props.data[i])
+    } else {
+      MKEmitter.emit('autoMaticOver', this.props.MenuID)
     }
+  }
+
+  autoQueryData = (id, index) => {
+    if (id !== this.props.MenuID) return
+
+    const { total } = this.props
+    const { pageSize } = this.state
+
+    if (index !== 1 && (!total || index > total)) {
+      MKEmitter.emit('autoMaticOver', this.props.MenuID)
+      return
+    }
+
+    console.clear()
+
+    let pageIndex = Math.ceil(index / pageSize)
+
+    this.setState({
+      pageIndex: pageIndex,
+      selectedRowKeys: [],
+      activeIndex: null
+    })
+
+    this.props.refreshdata({pageIndex})
   }
 
   // 瀛楁閫忚
@@ -287,34 +369,20 @@
     } else if (item.linkurl) {
       let src = item.linkurl
 
-      if (src.indexOf('paramsmain/') > -1) {
-        try {
-          let _url = item.linkurl.split('paramsmain/')[0] + 'paramsmain/'
-          let _param = JSON.parse(window.decodeURIComponent(window.atob(item.linkurl.split('paramsmain/')[1])))
-          _param.UserID = sessionStorage.getItem('UserID')
-          _param.LoginUID = sessionStorage.getItem('LoginUID')
-          _param.User_Name = sessionStorage.getItem('User_Name')
-          _param.param = __param
-          src = _url + window.btoa(window.encodeURIComponent(JSON.stringify(_param)))
-        } catch (e) {
-          console.warn('鑿滃崟鍙傛暟瑙f瀽閿欒锛�')
-        }
-      } else {
-        let con = '?'
+      let con = '?'
 
-        if (/\?/ig.test(src)) {
-          con = '&'
-        }
-
-        if (item.linkfields && item.linkfields.length > 0) {
-          item.linkfields.forEach(field => {
-            if (field.toLowerCase() === 'id') return
-            con += `${field}=${record[field] || ''}&`
-          })
-        }
-        
-        src = src + `${con}id=${record.$$uuid}&appkey=${window.GLOB.appkey}&userid=${sessionStorage.getItem('UserID')}&LoginUID=${sessionStorage.getItem('LoginUID') || ''}`
+      if (/\?/ig.test(src)) {
+        con = '&'
       }
+
+      if (item.linkfields && item.linkfields.length > 0) {
+        item.linkfields.forEach(field => {
+          if (field.toLowerCase() === 'id') return
+          con += `${field}=${record[field] || ''}&`
+        })
+      }
+      
+      src = src + `${con}id=${record.$$uuid}&appkey=${window.GLOB.appkey}&userid=${sessionStorage.getItem('UserID')}&LoginUID=${sessionStorage.getItem('LoginUID') || ''}`
 
       window.open(src)
     }
@@ -327,40 +395,30 @@
     let icon = ''
 
     marks.some(mark => {
-      let originVal = record[mark.field] + ''
+      let originVal = record[mark.field]
       let contrastVal = ''
       if (mark.contrastType === 'static') {
-        contrastVal = mark.contrastValue + ''
+        contrastVal = mark.contrastValue
       } else {
-        contrastVal = record[mark.contrastField] + ''
+        contrastVal = record[mark.contrastField]
       }
+
+      if (originVal === undefined || contrastVal === undefined) return false
 
       if (mark.match === '=') {
         className = originVal === contrastVal ? mark.color[1] : ''
       } else if (mark.match === '!=') {
         className = originVal !== contrastVal ? mark.color[1] : ''
       } else if (mark.match === 'like') {
+        originVal = originVal + ''
+        contrastVal = contrastVal + ''
         className = originVal.indexOf(contrastVal) > -1 ? mark.color[1] : ''
       } else if (mark.match === '>') {
-        try {
-          originVal = parseFloat(originVal)
-          contrastVal = parseFloat(contrastVal)
-        } catch (e) {
-          originVal = NaN
-        }
-
-        if (!isNaN(originVal) && !isNaN(contrastVal) && originVal > contrastVal) {
+        if (parseFloat(originVal) > parseFloat(contrastVal)) {
           className = mark.color[1]
         }
       } else if (mark.match === '<') {
-        try {
-          originVal = parseFloat(originVal)
-          contrastVal = parseFloat(contrastVal)
-        } catch (e) {
-          originVal = NaN
-        }
-
-        if (!isNaN(originVal) && !isNaN(contrastVal) && originVal < contrastVal) {
+        if (parseFloat(originVal) < parseFloat(contrastVal)) {
           className = mark.color[1]
         }
       }
@@ -376,7 +434,7 @@
         if (mark.position === 'front') {
           position = 'front'
         }
-        icon = <Icon className={'font ' + className} type={mark.icon} />
+        icon = <MkIcon className={'font ' + className} type={mark.icon} />
         className = ''
       }
 
@@ -404,9 +462,13 @@
           content = `${content.substr(0, 4)}-${content.substr(5, 2)}-${content.substr(8, 2)}`
         } else if (item.textFormat === 'YYYY-MM-DD HH:mm:ss' && /^[1-9]\d{3}(-|\/)(0[1-9]|1[0-2])(-|\/)(0[1-9]|[1-2][0-9]|3[0-1]).([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/.test(content)) {
           content = `${content.substr(0, 4)}-${content.substr(5, 2)}-${content.substr(8, 2)} ${content.substr(11, 2)}:${content.substr(14, 2)}:${content.substr(17, 2)}`
+        } else if (item.textFormat === 'encryption') {
+          content = <span>{item.prefix || ''}<Encrypts value={content} />{item.postfix || ''}</span>
         }
   
-        content = (item.prefix || '') + content + (item.postfix || '')
+        if (item.textFormat !== 'encryption') {
+          content = (item.prefix || '') + content + (item.postfix || '')
+        }
       }
       
       if (item.marks) {
@@ -428,7 +490,7 @@
         content = md5(content)
       }
 
-      if (item.linkThdMenu || item.linkurl) {
+      if (!record.$disabled && (item.linkThdMenu || item.linkurl)) {
         if (item.rowspan === 'true') {
           return {
             children: (
@@ -493,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, '$&,')
@@ -527,7 +589,7 @@
         content = md5(content)
       }
 
-      if (item.linkThdMenu || item.linkurl) {
+      if (!record.$disabled && (item.linkThdMenu || item.linkurl)) {
         if (item.rowspan === 'true') {
           return {
             children: (
@@ -578,26 +640,45 @@
       }
     } else if (item.type === 'picture') {
       let photos = ''
+      let style = {borderRadius: '2px'}
       if (item.field && record.hasOwnProperty(item.field)) {
         photos = record[item.field] + ''
-        photos = photos.split(',').filter(Boolean)
+      }
+      if (/^data:image/.test(photos)) {
+        photos = [photos]
       } else {
-        photos = ''
+        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') {
+      let url = ''
+      if (item.field && record.hasOwnProperty(item.field)) {
+        url = record[item.field] + ''
+      }
+
+      if (!url) {
+        return (
+          <div className="video-wrap"></div>
+        )
+      }
+      return (
+        <div className="video-wrap">
+          <Video card={item} value={url}/>
         </div>
       )
     } else if (item.type === 'textarea') {
@@ -647,6 +728,10 @@
         _href += '?' + _param
       }
 
+      if (_href && /^https/.test(window.location.protocol)) { // https杞崲
+        _href = _href.replace(/^http:/ig, 'https:')
+      }
+
       if (item.blur) {
         content = md5(content)
       }
@@ -668,6 +753,7 @@
                   key={btn.uuid}
                   btn={btn}
                   BID={record.$$BID}
+                  disabled={record.$disabled}
                   selectedData={[record]}
                   BData={this.props.BData}
                   setting={this.props.setting}
@@ -681,6 +767,7 @@
                   key={btn.uuid}
                   btn={btn}
                   BID={record.$$BID}
+                  disabled={record.$disabled}
                   selectedData={[record]}
                   BData={this.props.BData}
                   setting={this.props.setting}
@@ -691,9 +778,10 @@
                 <TabButton
                   key={btn.uuid}
                   btn={btn}
+                  disabled={record.$disabled}
                   selectedData={[record]}
+                  BData={this.props.BData}
                   MenuID={this.props.MenuID}
-                  setting={this.props.setting}
                 />
               )
             } else if (btn.OpenType === 'innerpage' || btn.OpenType === 'outerpage') {
@@ -701,8 +789,9 @@
                 <NewPageButton
                   key={btn.uuid}
                   btn={btn}
+                  disabled={record.$disabled}
                   selectedData={[record]}
-                  setting={this.props.setting}
+                  BData={this.props.BData}
                 />
               )
             }
@@ -731,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, '$&,')
@@ -769,13 +858,18 @@
           let photos = []
           try {
             photos = record[col.field] + ''
-            photos = photos.split(',').filter(Boolean)
+
+            if (/^data:image/.test(photos)) {
+              photos = [photos]
+            } else {
+              photos = photos.split(',').filter(Boolean)
+            }
           } catch (e) {
             photos = []
           }
 
           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]
@@ -785,9 +879,13 @@
               content = `${content.substr(0, 4)}-${content.substr(5, 2)}-${content.substr(8, 2)}`
             } else if (col.textFormat === 'YYYY-MM-DD HH:mm:ss' && /^[1-9]\d{3}(-|\/)(0[1-9]|1[0-2])(-|\/)(0[1-9]|[1-2][0-9]|3[0-1]).([0-1][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/.test(content)) {
               content = `${content.substr(0, 4)}-${content.substr(5, 2)}-${content.substr(8, 2)} ${content.substr(11, 2)}:${content.substr(14, 2)}:${content.substr(17, 2)}`
+            } else if (col.textFormat === 'encryption') {
+              content = <span>{col.prefix || ''}<Encrypts value={content} />{col.postfix || ''}</span>
             }
-
-            content = (col.prefix || '') + content + (col.postfix || '')
+      
+            if (col.textFormat !== 'encryption') {
+              content = (col.prefix || '') + content + (col.postfix || '')
+            }
           }
 
           if (col.marks) {
@@ -830,6 +928,10 @@
             }
 
             _href += '?' + _param
+          }
+
+          if (_href && /^https/.test(window.location.protocol)) { // https杞崲
+            _href = _href.replace(/^http:/ig, 'https:')
           }
 
           if (item.blur) {
@@ -906,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>
@@ -928,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>
@@ -950,11 +1052,12 @@
    * 
    */
   onSelectChange = selectedRowKeys => {
-    const { setting } = this.props
+    const { setting, data } = this.props
 
     let index = ''
     let _activeIndex = null
     if (selectedRowKeys.length > 0) {
+      selectedRowKeys = selectedRowKeys.filter(key => !data[key].$disabled)
       index = selectedRowKeys.slice(-1)[0]
     }
 
@@ -966,7 +1069,7 @@
 
     this.setState({ selectedRowKeys, activeIndex: _activeIndex })
 
-    let selects = this.props.data.filter((item, _index) => selectedRowKeys.includes(_index))
+    let selects = data.filter((item, _index) => selectedRowKeys.includes(_index) && !item.$disabled)
 
     this.props.chgSelectData(selects)
   }
@@ -976,6 +1079,7 @@
    */
   changeRow = (record, index) => {
     if (!this.props.setting.tableType || this.props.pickup) return
+    if (record.$disabled) return
     
     let newkeys = fromJS(this.state.selectedRowKeys).toJS()
 
@@ -1016,7 +1120,9 @@
   }
 
   changedata = (index) => {
-    const { data, setting } = this.props
+    const { data, setting, tableId, ContainerId } = this.props
+
+    if (!tableId || !ContainerId) return
 
     let _id = ''
     let _data = ''
@@ -1026,13 +1132,13 @@
       _data = data[index] || ''
     }
 
-    this.props.handleTableId(this.props.tableId, _id, _data)
+    MKEmitter.emit('changeTableLine', ContainerId, tableId, _id, _data)
   }
 
   resetTable = (id, repage) => {
-    const { MenuID, tableId } = this.props
+    const { tableId } = this.props
 
-    if (id !== (MenuID + tableId)) return
+    if (id !== tableId) return
 
     if (repage === 'false') {
       this.setState({
@@ -1106,13 +1212,14 @@
     const { setting } = this.props
 
     if (!setting.doubleClick) return
+    if (record.$disabled) return
 
-    MKEmitter.emit('triggerBtnId', setting.doubleClick, [record])
+    MKEmitter.emit('triggerBtnId', setting.doubleClick, [record], 'linkbtn')
   }
 
   render() {
     const { setting, pickup, statFValue } = this.props
-    const { selectedRowKeys, lineMarks, activeIndex } = this.state
+    const { selectedRowKeys, lineMarks, activeIndex, pageOptions } = this.state
 
     let components = {
       body: {}
@@ -1132,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 : []
 
@@ -1161,7 +1253,7 @@
       _pagination = {
         current: this.state.pageIndex,
         pageSize: this.state.pageSize,
-        pageSizeOptions: ['10', '25', '50', '100', '500', '1000'],
+        pageSizeOptions: pageOptions,
         showSizeChanger: true,
         total: this.props.total || 0,
         showTotal: (total, range) => `${range[0]}-${range[1]} ${this.props.dict['main.pagination.of']} ${total} ${this.props.dict['main.pagination.items']}`
@@ -1190,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'}
@@ -1216,7 +1292,9 @@
           dataSource={_data}
           rowClassName={(record) => {
             let className = ''
-            if ((setting.tableType === 'checkbox' || setting.tableType === 'radio') && record.key === activeIndex) {
+            if (record.$disabled) {
+              className = 'mk-disabled '
+            } else if ((setting.tableType === 'checkbox' || setting.tableType === 'radio') && record.key === activeIndex) {
               className = 'mk-row-active '
             }
 
@@ -1292,15 +1370,4 @@
   }
 }
 
-const mapStateToProps = (state) => {
-  return {
-    menuType: state.editLevel,
-    memberLevel: state.memberLevel
-  }
-}
-
-const mapDispatchToProps = () => {
-  return {}
-}
-
-export default connect(mapStateToProps, mapDispatchToProps)(NormalTable)
\ No newline at end of file
+export default NormalTable
\ No newline at end of file

--
Gitblit v1.8.0