From 0bbaa727cdfc65622e33e91c4bf694c83f184535 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期日, 04 二月 2024 23:12:14 +0800
Subject: [PATCH] 2024-02-04

---
 src/tabviews/zshare/mutilform/index.jsx |   75 ++++++++++++++++++++++++++-----------
 1 files changed, 52 insertions(+), 23 deletions(-)

diff --git a/src/tabviews/zshare/mutilform/index.jsx b/src/tabviews/zshare/mutilform/index.jsx
index eff2368..9ab8e55 100644
--- a/src/tabviews/zshare/mutilform/index.jsx
+++ b/src/tabviews/zshare/mutilform/index.jsx
@@ -47,7 +47,8 @@
     send_type: '',
     timestamp: '',
     n_id: '',
-    focusId: ''
+    focusId: '',
+    reFocusId: ''
   }
 
   record = {}
@@ -310,8 +311,8 @@
           validator: (rule, value, callback) => {
             if (/'/.test(value)) {
               callback('涓嶅彲浣跨敤鑻辨枃鐘舵�佺殑鍗曞紩鍙凤紒')
-            } else if (/--/.test(value)) {
-              callback('涓嶅彲浣跨敤 -- 锛�')
+            // } else if (/--/.test(value)) {
+            //   callback('涓嶅彲浣跨敤 -- 锛�')
             } else {
               callback()
             }
@@ -425,8 +426,8 @@
           validator: (rule, value, callback) => {
             if (/'/.test(value)) {
               callback('涓嶅彲浣跨敤鑻辨枃鐘舵�佺殑鍗曞紩鍙凤紒')
-            } else if (/--/.test(value)) {
-              callback('涓嶅彲浣跨敤 -- 锛�')
+            // } else if (/--/.test(value)) {
+            //   callback('涓嶅彲浣跨敤 -- 锛�')
             } else {
               callback()
             }
@@ -680,14 +681,24 @@
       focusItem = fieldMap.get(action.setting.focus)
     }
 
-    this.setState({ formlist, ID, focusId: focusItem ? focusItem.uuid : '' }, () => {
+    let reFocusItem = null
+    if (action.setting.refocus && fieldMap.has(action.setting.refocus)) {
+      reFocusItem = fieldMap.get(action.setting.refocus)
+    }
+
+    this.setState({
+      formlist,
+      ID,
+      focusId: focusItem ? focusItem.uuid : '',
+      reFocusId: reFocusItem ? reFocusItem.uuid : ''
+    }, () => {
       if (unload) return
       
       if (focusItem) {
         if (focusItem.type === 'text' || focusItem.type === 'number') {
           setTimeout(() => {
             MKEmitter.emit('mkFC', 'focus', focusItem.uuid)
-          }, 50)
+          }, 20)
         } else {
           setTimeout(() => {
             MKEmitter.emit('mkFC', 'focus', focusItem.uuid)
@@ -722,9 +733,9 @@
     MKEmitter.removeListener('resetForms', this.resetForms)
   }
 
-  resetForms = (id) => {
+  resetForms = (id, data) => {
     const { action } = this.props
-    const { focusId } = this.state
+    const { focusId, reFocusId } = this.state
 
     if (id !== action.uuid) return
 
@@ -735,8 +746,14 @@
       if (item.type !== 'text' && item.type !== 'number') return item
 
       if (resetForms.includes(item.field)) {
-        item.initval = item.orgval
-        this.record[item.field] = item.orgval
+        let key = item.field.toLowerCase()
+        if (typeof(data[key]) !== 'undefined') {
+          item.initval = data[key]
+          this.record[item.field] = data[key]
+        } else {
+          item.initval = item.orgval
+          this.record[item.field] = item.orgval
+        }
       }
 
       return item
@@ -760,10 +777,10 @@
       })
     })
 
-    if (focusId || this.submitId) {
+    if (reFocusId || focusId || this.submitId) {
       setTimeout(() => {
-        MKEmitter.emit('mkFC', 'focus', this.submitId || focusId)
-      }, 50)
+        MKEmitter.emit('mkFC', 'focus', this.submitId || reFocusId || focusId)
+      }, 20)
     }
   }
 
@@ -834,9 +851,13 @@
     }
 
     if (param.LText) {
-      param.LText = Utils.formatOptions(param.LText)
+      if (window.GLOB.execType === 'x') {
+        param.exec_type = 'x'
+      }
+
+      param.LText = Utils.formatOptions(param.LText, param.exec_type)
       param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
-      param.secretkey = Utils.encrypt(param.LText, param.timestamp)
+      param.secretkey = Utils.encrypt(window.GLOB.execType === 'x' ? '' : param.LText, param.timestamp)
 
       if (window.GLOB.mkHS) { // 浜戠鏁版嵁楠岃瘉
         param.open_key = Utils.encryptOpenKey(param.secretkey, param.timestamp)
@@ -869,9 +890,13 @@
     }
 
     if (mainparam.LText) {
-      mainparam.LText = Utils.formatOptions(mainparam.LText)
+      if (window.GLOB.execType === 'x') {
+        mainparam.exec_type = 'x'
+      }
+
+      mainparam.LText = Utils.formatOptions(mainparam.LText, mainparam.exec_type)
       mainparam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
-      mainparam.secretkey = Utils.encrypt(mainparam.LText, mainparam.timestamp)
+      mainparam.secretkey = Utils.encrypt(window.GLOB.execType === 'x' ? '' : mainparam.LText, mainparam.timestamp)
 
       if (window.GLOB.mainSystemApi) {
         mainparam.rduri = window.GLOB.mainSystemApi
@@ -933,10 +958,14 @@
       if (window.GLOB.debugger) {
         console.info(param.LText)
       }
+
+      if (window.GLOB.execType === 'x') {
+        param.exec_type = 'x'
+      }
   
-      param.LText = Utils.formatOptions(param.LText)
+      param.LText = Utils.formatOptions(param.LText, param.exec_type)
       param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss')
-      param.secretkey = Utils.encrypt(param.LText, param.timestamp)
+      param.secretkey = Utils.encrypt(window.GLOB.execType === 'x' ? '' : param.LText, param.timestamp)
 
       if (form.database === 'sso' && window.GLOB.mainSystemApi) {
         param.rduri = window.GLOB.mainSystemApi
@@ -1232,9 +1261,9 @@
           className = 'checkcard'
           content = (<MKCheckCard config={item} onChange={(val, other) => this.recordChange({[item.field]: val, ...other}, item)}/>)
         } else if (item.type === 'switch') {
-          content = (<MKSwitch config={item} onChange={(val, other) => this.recordChange({[item.field]: val, ...other}, item)}/>)
+          content = (<MKSwitch config={item} onChange={(val, other) => this.recordChange({[item.field]: val, ...other}, item)} onSubmit={this.props.inputSubmit}/>)
         } else if (item.type === 'check') {
-          content = (<MKCheck config={item} onChange={(val) => this.recordChange({[item.field]: val}, item)}/>)
+          content = (<MKCheck config={item} onChange={(val) => this.recordChange({[item.field]: val}, item)} onSubmit={this.props.inputSubmit}/>)
         } else if (item.type === 'checkbox') {
           content = (<MKCheckbox config={item} onChange={(val) => this.recordChange({[item.field]: val})}/>)
         } else if (item.type === 'radio') {
@@ -1244,7 +1273,7 @@
         } else if (item.type === 'fileupload') {
           className = item.readonly ? 'readonly' : ''
           className += item.fileType === 'picture-card' ? ' file-upload' : ''
-          content = (<MKFileUpload config={item} onChange={(val, other = {}) => this.recordChange({[item.field]: val, ...other})} />)
+          content = (<MKFileUpload config={item} data={this.record} onChange={(val, other = {}) => this.recordChange({[item.field]: val, ...other})} />)
         } else if (item.type === 'textarea') {
           content = (<MKTextArea config={item} onChange={(val, defer) => !defer && this.recordChange({[item.field]: val})}/>)
         } else if (item.type === 'rate') {

--
Gitblit v1.8.0