From e5fc2d92b1036aabf9ffc2c9706ed401bd9735c8 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 09 九月 2021 18:14:29 +0800
Subject: [PATCH] 2021-09-09

---
 src/tabviews/custom/components/share/normalTable/index.jsx |   84 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 72 insertions(+), 12 deletions(-)

diff --git a/src/tabviews/custom/components/share/normalTable/index.jsx b/src/tabviews/custom/components/share/normalTable/index.jsx
index 2d53f40..b71831a 100644
--- a/src/tabviews/custom/components/share/normalTable/index.jsx
+++ b/src/tabviews/custom/components/share/normalTable/index.jsx
@@ -3,7 +3,7 @@
 import md5 from 'md5'
 import { connect } from 'react-redux'
 import { is, fromJS } from 'immutable'
-import { Table, Typography, Icon, Col, Switch } from 'antd'
+import { Table, Typography, Icon, Col, Switch, message } from 'antd'
 
 import { modifyTabview } from '@/store/action'
 import asyncComponent from '@/utils/asyncComponent'
@@ -51,7 +51,7 @@
           try {
             originVal = parseFloat(originVal)
             contrastVal = parseFloat(contrastVal)
-          } catch {
+          } catch (e) {
             originVal = NaN
           }
   
@@ -62,7 +62,7 @@
           try {
             originVal = parseFloat(originVal)
             contrastVal = parseFloat(contrastVal)
-          } catch {
+          } catch (e) {
             originVal = NaN
           }
   
@@ -120,7 +120,7 @@
         try {
           originVal = parseFloat(originVal)
           contrastVal = parseFloat(contrastVal)
-        } catch {
+        } catch (e) {
           originVal = NaN
         }
 
@@ -131,7 +131,7 @@
         try {
           originVal = parseFloat(originVal)
           contrastVal = parseFloat(contrastVal)
-        } catch {
+        } catch (e) {
           originVal = NaN
         }
 
@@ -223,7 +223,7 @@
         if (isNaN(content)) {
           content = ''
         }
-      } catch {
+      } catch (e) {
         content = ''
       }
 
@@ -275,6 +275,7 @@
 
       let cols = 24 / (col.picSort || 1)
       let paddingTop = '100%'
+      let scale = col.scale === 'true'
 
       if (PicRadio[col.lenWidRadio]) {
         paddingTop = PicRadio[col.lenWidRadio]
@@ -282,9 +283,12 @@
 
       resProps.children = (
         <div>
-          {photos.map((url, i) => (
+          {photos && photos.map((url, i) => (
             <Col key={i} span={cols}>
-              <div className="ant-mk-picture" style={{paddingTop, backgroundImage: `url('${url}')`}}></div>
+              <div className={'ant-mk-picture' + (scale ? ' scale' : '')} onClick={() => {
+                if (!scale) return
+                MKEmitter.emit('mkImageScale', url, photos)
+              }} style={{paddingTop, backgroundImage: `url('${url}')`}}></div>
             </Col>
           ))}
         </div>
@@ -328,7 +332,7 @@
         
         try {
           _param = window.btoa(_quary)
-        } catch {
+        } catch (e) {
           _param = window.btoa(window.encodeURIComponent(_quary))
         }
         
@@ -496,6 +500,8 @@
   }
 
   componentDidMount () {
+    MKEmitter.addListener('mkCheckTopLine', this.mkCheckTopLine)
+    MKEmitter.addListener('mkCheckAll', this.mkCheckAll)
     MKEmitter.addListener('resetTable', this.resetTable)
   }
 
@@ -506,7 +512,54 @@
     this.setState = () => {
       return
     }
+    MKEmitter.removeListener('mkCheckTopLine', this.mkCheckTopLine)
+    MKEmitter.removeListener('mkCheckAll', this.mkCheckAll)
     MKEmitter.removeListener('resetTable', this.resetTable)
+  }
+
+  mkCheckTopLine = (menuId) => {
+    const { MenuID, data, setting } = this.props
+
+    if (MenuID !== menuId || !data || data.length === 0) return
+
+    this.changedata(0)
+    this.setState({ selectedRowKeys: [0], activeIndex: 0 })
+    this.props.chgSelectData([data[0]])
+
+    if (setting.$hasSyncModule) {
+      MKEmitter.emit('syncBalconyData', MenuID, [data[0]], data.length === 1)
+    }
+  }
+
+  mkCheckAll = (menuId, checked) => {
+    const { MenuID, data } = this.props
+
+    if (MenuID !== menuId) return
+
+    if (checked) {
+      this.setState({
+        activeIndex: '',
+        selectedRowKeys: data.map((item, index) => index)
+      })
+
+      this.props.chgSelectData(data)
+
+      MKEmitter.emit('resetSelectLine', MenuID, '', '')
+      MKEmitter.emit('syncBalconyData', MenuID, data, data.length > 0)
+      if (data.length === 0) {
+        message.warning('鏈幏鍙栧埌鏁版嵁锛�')
+      }
+    } else {
+      this.setState({
+        activeIndex: '',
+        selectedRowKeys: [],
+      })
+
+      this.props.chgSelectData([])
+  
+      MKEmitter.emit('resetSelectLine', MenuID, '', '')
+      MKEmitter.emit('syncBalconyData', MenuID, [], false)
+    }
   }
 
   // 瀛楁閫忚
@@ -557,7 +610,7 @@
           _param.User_Name = sessionStorage.getItem('User_Name')
           _param.param = __param
           src = _url + window.btoa(window.encodeURIComponent(JSON.stringify(_param)))
-        } catch {
+        } catch (e) {
           console.warn('鑿滃崟鍙傛暟瑙f瀽閿欒锛�')
         }
       } else {
@@ -585,7 +638,7 @@
    * 
    */
   onSelectChange = selectedRowKeys => {
-    const { setting } = this.props
+    const { setting, MenuID, data } = this.props
 
     let index = ''
     let _activeIndex = null
@@ -604,13 +657,16 @@
     let selects = this.props.data.filter((item, _index) => selectedRowKeys.includes(_index))
 
     this.props.chgSelectData(selects)
+    if (setting.$hasSyncModule) {
+      MKEmitter.emit('syncBalconyData', MenuID, selects, data.length === selects.length)
+    }
   }
 
   /**
    * @description 鐐瑰嚮鏁磋锛岃Е鍙戝垏鎹紝 鍒ゆ柇鏄惁鍙�夛紝鍗曢�夋垨澶氶�夛紝杩涜瀵瑰簲鎿嶄綔
    */
   changeRow = (record, index) => {
-    const { setting } = this.props
+    const { setting, MenuID, data } = this.props
 
     if (!setting.tableType || this.state.pickup) return
     
@@ -640,6 +696,10 @@
     let selects = this.props.data.filter((item, _index) => newkeys.includes(_index))
     
     this.props.chgSelectData(selects)
+
+    if (setting.$hasSyncModule) {
+      MKEmitter.emit('syncBalconyData', MenuID, selects, data.length === selects.length)
+    }
   }
 
   changeTable = (pagination, filters, sorter) => {

--
Gitblit v1.8.0