From 836dc03f4dd7f3e5e1770723f5b406c4bb1c1a18 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 31 五月 2023 13:32:56 +0800
Subject: [PATCH] 2023-05-31

---
 src/tabviews/custom/components/share/normalTable/index.jsx |   69 ++++++++++++++++++++++++----------
 1 files changed, 48 insertions(+), 21 deletions(-)

diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index 9efe403..83b7612 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -6,13 +6,13 @@
 
 import asyncComponent from '@/utils/asyncComponent'
 import { getMark } from '@/utils/utils.js'
-import MkIcon from '@/components/mk-icon'
 import MKEmitter from '@/utils/events.js'
 import Encrypts from '@/components/encrypts'
 import './index.scss'
 
 const { Paragraph } = Typography
 const Video = asyncComponent(() => import('@/components/video'))
+const MkIcon = asyncComponent(() => import('@/components/mk-icon'))
 const MkPicture = asyncComponent(() => import('@/components/mkPicture'))
 const CardCellComponent = asyncComponent(() => import('@/tabviews/custom/components/card/cardcellList'))
 const PicRadio = {
@@ -340,7 +340,16 @@
           // eslint-disable-next-line
           content = eval(content)
         } catch (e) {
+          if (window.debugger) {
+            console.info(content)
+            console.warn(e)
+          }
           content = ''
+        }
+
+        if (col.round && typeof(content) === 'number') {
+          content = Math.round(content * col.round) / col.round
+          content = content.toFixed(col.decimal)
         }
       }
 
@@ -348,11 +357,8 @@
 
       if (content !== '') {
         content = `${col.prefix || ''}${content}${col.postfix || ''}`
-
-        if (col.eval === 'false') {
-          content = content.replace(/\n/ig, '<br/>').replace(/\s/ig, '&nbsp;')
-          content = <span dangerouslySetInnerHTML={{__html: content}}></span>
-        }
+        content = content.replace(/\n/ig, '<br/>').replace(/\s/ig, '&nbsp;')
+        content = <span dangerouslySetInnerHTML={{__html: content}}></span>
       }
 
       if (col.marks) {
@@ -378,14 +384,6 @@
         style = {...style, ...col.style}
       }
 
-      resProps.children = (
-        <CardCellComponent data={record} cards={config} elements={col.elements}/>
-      )
-    } else if (col.type === 'action') {
-      style.padding = '0px'
-      if (col.style) {
-        style = {...style, ...col.style}
-      }
       resProps.children = (
         <CardCellComponent data={record} cards={config} elements={col.elements}/>
       )
@@ -480,7 +478,7 @@
               onCell: record => ({
                 record,
                 col: item,
-                config: item.type === 'custom' || item.type === 'action' ? {setting, columns: fields} : null,
+                config: item.type === 'custom' ? {setting, columns: fields} : null,
                 triggerLink: this.triggerLink
               })
             }
@@ -504,6 +502,8 @@
           width: item.Width || 120
         })
       })
+
+      orderfields = null
     }
 
     if (rowspans.length === 0) {
@@ -816,7 +816,9 @@
       pickup: false
     })
 
-    sorter.field = orderfields[sorter.field] || ''
+    if (orderfields) {
+      sorter.field = orderfields[sorter.field] || ''
+    }
 
     this.props.refreshdata(pagination, filters, sorter)
   }
@@ -837,13 +839,20 @@
     MKEmitter.emit('resetSelectLine', MenuID, _id, _data)
   }
 
-  resetTable = (id, repage) => {
+  resetTable = (id, repage, pageIndex) => {
     const { MenuID } = this.props
 
     if (id !== MenuID) return
 
     if (repage === 'false') {
       this.setState({
+        selectedRowKeys: [],
+        activeIndex: null,
+        pickup: false
+      })
+    } else if (repage === 'repage') {
+      this.setState({
+        pageIndex: pageIndex,
         selectedRowKeys: [],
         activeIndex: null,
         pickup: false
@@ -929,7 +938,7 @@
 
   render() {
     const { setting, statFValue, lineMarks, data } = this.props
-    const { selectedRowKeys, activeIndex, pickup, tableId, pageOptions } = this.state
+    const { selectedRowKeys, activeIndex, pickup, tableId, pageOptions, columns } = this.state
 
     // 璁剧疆琛ㄦ牸閫夋嫨灞炴�э細鍗曢�夈�佸閫夈�佷笉鍙��
     let rowSelection = null
@@ -979,9 +988,26 @@
     }
 
     let height = setting.height || false
+    if (height && height <= 100) {
+      height = height + 'vh'
+    }
+    let loading = this.props.loading
+    if (setting.mask === 'hidden') {
+      loading = false
+    }
+
+    let fixed = ''
+    if (setting.colfixed && setting.colfixed.length) {
+      if (setting.colfixed.includes('first')) {
+        fixed = 'mk-fixed-first-col'
+      }
+      if (setting.colfixed.includes('last')) {
+        fixed += ' mk-fixed-last-col'
+      }
+    }
 
     return (
-      <div className={`normal-custom-table ${setting.tableHeader || ''} ${height ? 'fixed-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || ''}`} id={tableId}>
+      <div className={`normal-custom-table ${setting.tableHeader || ''} ${height ? 'fixed-height' : ''} ${setting.mode || ''} table-vertical-${setting.vertical || 'middle'} table-col-${columns.length} ${fixed}`} id={tableId}>
         {(setting.tableType === 'radio' || setting.tableType === 'checkbox') && data && data.length > 0 ?
           <Switch title="鏀惰捣" className="main-pickup" checkedChildren="寮�" unCheckedChildren="鍏�" checked={pickup} onChange={this.pickupChange} /> : null
         }
@@ -990,14 +1016,15 @@
           size={setting.size || 'middle'}
           bordered={setting.bordered !== 'false'}
           rowSelection={rowSelection}
-          columns={this.state.columns}
+          columns={columns}
           dataSource={_data}
-          loading={this.props.loading}
+          loading={loading}
           scroll={{ x: '100%', y: height }}
           onRow={(record, index) => {
             return {
               lineMarks: setting.tableMode !== 'fast' ? lineMarks : null,
               data: record,
+              title: setting.tipField ? record[setting.tipField] : '',
               className: index === activeIndex ? ' mk-row-active ' : '',
               onClick: () => {this.changeRow(record, index)},
               onDoubleClick: () => {this.doubleClickLine(record)}

--
Gitblit v1.8.0