From 24bfb39e86c7a265803486bc4b546ea2bfaef4a5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期日, 02 四月 2023 23:40:30 +0800
Subject: [PATCH] 2023-04-02

---
 src/tabviews/zshare/actionList/normalbutton/index.jsx |   65 ++++++++++++++------------------
 1 files changed, 29 insertions(+), 36 deletions(-)

diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx
index 699bebe..65f734e 100644
--- a/src/tabviews/zshare/actionList/normalbutton/index.jsx
+++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx
@@ -2586,57 +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
+        type: item.type,
+        value: item.initval
       }
 
-      let _initval = item.initval
+      let key = item.field.toLowerCase()
       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') {
+      if (_item.type === 'date') { // 鏃堕棿鍏煎
+        _item.precision = item.precision || 'day'
+      } else if (_item.type === 'datetime') {
         _item.type = 'date'
-        _format = 'YYYY-MM-DD HH:mm:ss'
-      } else if (['select', 'link', 'radio'].includes(item.type)) { // 閫変腑绗竴椤�
-        if (typeof(_initval) === 'string' && _initval.indexOf('$first') > -1) {
-          _initval = ''
+        _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) {
-            _initval = item.options[0].Value
+            _item.value = item.options[0].Value
           }
         }
       }
 
-      let key = item.field.toLowerCase()
-
-      if (_item.type === 'linkMain' && BData.hasOwnProperty(key)) {
-        _initval = BData[key]
+      if (_item.type === 'funcvar') {
+        _item.value = ''
+      } else if (_item.type === 'linkMain' && BData.hasOwnProperty(key)) {
+        _item.value = 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')
+        _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 = _initval === undefined ? '' : _initval
+      _item.value = _item.value === undefined ? '' : _item.value
 
       if (_item.type === 'number' || item.declare === 'decimal') {
         _item.type = 'number'
@@ -2658,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