From e659867fb59ad88f121d446e56df53389d88960d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 03 四月 2023 12:09:35 +0800
Subject: [PATCH] 2023-04-03

---
 src/tabviews/zshare/actionList/normalbutton/index.jsx |   99 +++++++++++++++++++++++++++----------------------
 1 files changed, 55 insertions(+), 44 deletions(-)

diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx
index 4b9f777..65f734e 100644
--- a/src/tabviews/zshare/actionList/normalbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -1962,8 +1962,9 @@
     const { btn } = this.props
     const { btnconfig, autoMatic } = this.state
 
-    if (res.message && /^@speak@/.test(res.message)) {
-      res.message = res.message.replace('@speak@', '')
+    let sign = ''
+    if (/^@speak@/i.test(res.message)) {
+      res.message = res.message.replace(/^@speak@/i, '')
       let val = res.message.match(/<<.*>>/)
       res.message = res.message.replace(/\s*<<.*>>\s*/g, '')
       val = val ? val[0].replace(/<<|>>/g, '') : ''
@@ -1977,6 +1978,9 @@
       if (!res.message) {
         res.ErrCode = '-1'
       }
+    } else if (/@close_tab@|@close_popup@|@goback@/i.test(res.message)) {
+      sign = res.message.match(/@close_tab@|@close_popup@|@goback@/i)[0].toLowerCase()
+      res.message = res.message.replace(/@close_tab@|@close_popup@|@goback@/i, '')
     }
 
     if ((res.ErrCode === 'S' || !res.ErrCode) || autoMatic) { // 鎵ц鎴愬姛
@@ -2032,9 +2036,9 @@
       return
     }
 
-    if (btn.execSuccess === 'closetab') {
+    if (btn.execSuccess === 'closetab' || sign === '@close_tab@') {
       MKEmitter.emit('closeTabView', btn.$MenuID)
-    } else if (btn.execSuccess === 'closepoptab') {
+    } else if (btn.execSuccess === 'closepoptab' || sign === '@close_popup@') {
       MKEmitter.emit('popclose')
     } else if (btn.execSuccess !== 'never') {
       MKEmitter.emit('refreshByButtonResult', btn.$menuId, btn.execSuccess, btn, id, this.state.selines)
@@ -2350,12 +2354,13 @@
    * 2銆乪xcel瀵煎嚭锛屽け璐ュ悗鍙栨秷瀵煎嚭鎸夐挳鍔犺浇涓姸鎬�
    * 3銆侀�氱煡涓诲垪琛ㄥ埛鏂�
    */
-  execError = (res) => {
+  execError = (res = {}) => {
     const { btn } = this.props
     const { btnconfig, autoMatic } = this.state
 
-    if (res.message && /^@speak@/.test(res.message)) {
-      res.message = res.message.replace('@speak@', '')
+    let sign = ''
+    if (/^@speak@/i.test(res.message)) {
+      res.message = res.message.replace(/^@speak@/i, '')
       let val = res.message.match(/<<.*>>/)
       res.message = res.message.replace(/\s*<<.*>>\s*/g, '')
       val = val ? val[0].replace(/<<|>>/g, '') : ''
@@ -2369,6 +2374,9 @@
       if (!res.message) {
         res.ErrCode = '-1'
       }
+    } else if (/@close_tab@|@close_popup@|@goback@/i.test(res.message)) {
+      sign = res.message.match(/@close_tab@|@close_popup@|@goback@/i)[0].toLowerCase()
+      res.message = res.message.replace(/@close_tab@|@close_popup@|@goback@/i, '')
     }
 
     if (res.ErrCode === 'E' && !autoMatic) {
@@ -2416,7 +2424,9 @@
       MKEmitter.emit('mkFC', 'focus', btnconfig.setting.errFocus)
     }
 
-    if (btn.execError === 'closepoptab') {
+    if (sign === '@close_tab@') {
+      MKEmitter.emit('closeTabView', btn.$MenuID)
+    } else if (btn.execError === 'closepoptab' || sign === '@close_popup@') {
       MKEmitter.emit('popclose')
     } else if (btn.execError !== 'never') {
       MKEmitter.emit('refreshByButtonResult', btn.$menuId, btn.execError, btn, '', this.state.selines)
@@ -2576,49 +2586,50 @@
 
     btnconfig.fields.forEach(item => {
       if (!item.field) return
+      
       let _item = {
         key: item.field,
         readin: item.readin !== 'false' && item.readin !== 'top',
         fieldlen: item.fieldlength || 50,
         writein: item.writein !== 'false',
-        type: item.type
-      }
-
-      let _initval = item.initval
-      let _readin = item.readin !== 'false'
-      let _format = item.precision || 'day' // 鏃堕棿鏍煎紡鍖�
-
-      if (item.type === 'funcvar') {
-        _initval = ''
-        _readin = false
-        _item.readin = false
-      } else if (item.type === 'linkMain') {
-        _readin = false
-        _item.readin = false
-      } else if (item.type === 'date') {
-        if (_format !== 'day') {
-          _format = 'YYYY-MM-DD HH:mm:ss'
-        } else {
-          _format = 'YYYY-MM-DD'
-        }
-      } else if (item.type === 'datetime') {
-        _item.type = 'date'
-        _format = 'YYYY-MM-DD HH:mm:ss'
+        type: item.type,
+        value: item.initval
       }
 
       let key = item.field.toLowerCase()
+      let _readin = item.readin !== 'false'
 
-      if (_item.type === 'linkMain' && BData.hasOwnProperty(key)) {
-        _initval = BData[key]
-      } else if (_readin && _data.hasOwnProperty(key)) {
-        _initval = _data[key]
-      } else if (_item.type === 'date' && _initval) {
-        _initval = moment().subtract(_initval, 'days').format(_format)
-      } else if (_item.type === 'datemonth' && _initval) {
-        _initval = moment().subtract(_initval, 'month').format('YYYY-MM')
+      if (_item.type === 'date') { // 鏃堕棿鍏煎
+        _item.precision = item.precision || 'day'
+      } else if (_item.type === 'datetime') {
+        _item.type = 'date'
+        _item.precision = 'second'
+      } else if (['funcvar', 'linkMain'].includes(_item.type)) {
+        _readin = false
+        _item.readin = false
+      } else if (['select', 'link', 'radio'].includes(_item.type)) { // 閫変腑绗竴椤�
+        if (/^\s*\$first\s*$/.test(_item.value)) {
+          _item.value = ''
+
+          if (item.resourceType === '0' && item.options[0] && item.options[0].Value) {
+            _item.value = item.options[0].Value
+          }
+        }
       }
 
-      _item.value = _initval === undefined ? '' : _initval
+      if (_item.type === 'funcvar') {
+        _item.value = ''
+      } else if (_item.type === 'linkMain' && BData.hasOwnProperty(key)) {
+        _item.value = BData[key]
+      } else if (_readin && _data.hasOwnProperty(key)) {
+        _item.value = _data[key]
+      } else if (_item.type === 'date' && _item.value) {
+        _item.value = moment().subtract(_item.value, 'days').format(_item.precision === 'day' ? 'YYYY-MM-DD' : 'YYYY-MM-DD HH:mm:ss')
+      } else if (_item.type === 'datemonth' && _item.value) {
+        _item.value = moment().subtract(_item.value, 'month').format('YYYY-MM')
+      }
+
+      _item.value = _item.value === undefined ? '' : _item.value
 
       if (_item.type === 'number' || item.declare === 'decimal') {
         _item.type = 'number'
@@ -2640,10 +2651,10 @@
             _item.value = _item.value.slice(-item.fieldlength)
           }
         }
-      } else if (_item.type.indexOf('date') > -1) {
-        if (item.declareType === 'nvarchar(50)') {
-          _item.type = 'text'
-        }
+      } else if (_item.type === 'datemonth') {
+        _item.type = 'text'
+      } else  if (_item.type === 'date') {
+        _item.type = item.declareType === 'nvarchar(50)' ? 'text' : 'date'
       } else if (_item.type === 'rate') {
         let count = item.rateCount || 5
         _item.value = parseInt(_item.value)

--
Gitblit v1.8.0