From 675de8166eba668c30fd1587a8ffbc11ddc2f919 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 17 六月 2024 11:38:00 +0800
Subject: [PATCH] 2024-06-17

---
 src/views/printTemplate/index.jsx |   49 +++++++++++++++++++++++++++++++++----------------
 1 files changed, 33 insertions(+), 16 deletions(-)

diff --git a/src/views/printTemplate/index.jsx b/src/views/printTemplate/index.jsx
index 8f72e0c..268344d 100644
--- a/src/views/printTemplate/index.jsx
+++ b/src/views/printTemplate/index.jsx
@@ -35,6 +35,7 @@
 class PrintTemplate extends Component {
   state = {
     config: null,
+    oriConfig: null,
     ID: null,
     editItemId: '',
     editItemType: '',
@@ -67,16 +68,23 @@
   }
 
   UNSAFE_componentWillMount () {
-    let _param = window.atob(this.props.match.params.param)
-    let _params = {}
-    _param.split('&').forEach(cell => {
-      let _cell = cell.split('=')
-      _params[_cell[0]] = _cell[1]
-    })
+    try {
+      let param = JSON.parse(window.decodeURIComponent(window.atob(this.props.match.params.param)))
 
-    this.setState({
-      ID: _params.ID
-    })
+      if (param.lang) {
+        sessionStorage.setItem('lang', param.lang)
+      }
+
+      this.setState({
+        ID: param.ID
+      })
+    } catch (e) {
+      notification.warning({
+        top: 92,
+        message: '妯℃澘淇℃伅瑙f瀽閿欒锛�',
+        duration: 5
+      })
+    }
   }
 
   componentDidMount () {
@@ -88,7 +96,7 @@
       let cy = position.cy
       let _selectItem = null
 
-      let _config = JSON.parse(JSON.stringify(this.state.config))
+      let _config = fromJS(this.state.config).toJS()
 
       _config.elements.forEach(element => {
         let x = +element.left
@@ -156,8 +164,8 @@
         return
       }
 
-      let _selectItem = JSON.parse(JSON.stringify(this.state.config.elements.filter(ele => ele.uuid === this.state.editItemId)[0]))
-      let _preItem = JSON.parse(JSON.stringify(_selectItem))
+      let _selectItem = fromJS(this.state.config.elements.filter(ele => ele.uuid === this.state.editItemId)[0]).toJS()
+      let _preItem = fromJS(_selectItem).toJS()
 
       let position = this.getclickpoint(e)
       let cx = position.cx
@@ -214,7 +222,7 @@
               let result = this.resetItem(_selectItem)
 
               if (!is(fromJS(result), fromJS(_preItem))) {
-                _preItem = JSON.parse(JSON.stringify(result))
+                _preItem = fromJS(result).toJS()
                 this.FormRef.resetForm(result)
 
                 config.elements = config.elements.map(item => {
@@ -261,7 +269,7 @@
               let result = this.resetItem(fromJS(_selectItem).toJS())
 
               if (!is(fromJS(result), fromJS(_preItem))) {
-                _preItem = JSON.parse(JSON.stringify(result))
+                _preItem = fromJS(result).toJS()
                 this.FormRef.resetForm(result)
 
                 config.elements = config.elements.map(item => {
@@ -407,6 +415,7 @@
       this.handleResize()
       this.setState({
         config: _config,
+        oriConfig: fromJS(_config).toJS(),
         editItemId: _config.uuid,
         editItemType: _config.type,
         formlist: getpageform(_config)
@@ -779,9 +788,16 @@
   }
 
   submitConfig = () => {
-    const { config } = this.state
+    const { config, oriConfig } = this.state
 
-    if (config.height / config.width > 10 || config.width / config.height > 10) {
+    if (is(fromJS(config), fromJS(oriConfig))) {
+      notification.success({
+        top: 92,
+        message: '褰撳墠妯℃澘鏈慨鏀癸紝鏃犻渶淇濆瓨銆�',
+        duration: 5
+      })
+      return
+    } else if (config.height / config.width > 10 || config.width / config.height > 10) {
       notification.warning({
         top: 92,
         message: '绾稿紶绾垫í姣斾笉鍙秴杩�10!',
@@ -878,6 +894,7 @@
         })
       }
       this.setState({
+        oriConfig: fromJS(config).toJS(),
         saveloading: false
       })
     })

--
Gitblit v1.8.0