From f0524f158d89a91ac0dfb758405afa302149442a Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 30 四月 2024 01:57:40 +0800
Subject: [PATCH] 2024-04-30

---
 src/tabviews/treepage/index.jsx                       |    4 +-
 src/menu/datasource/verifycard/utils.jsx              |    5 ++
 src/utils/utils-datamanage.js                         |    7 +++
 src/tabviews/basetable/index.jsx                      |    4 +-
 src/tabviews/custom/index.jsx                         |   11 ++++-
 src/menu/debug/index.jsx                              |    3 +
 src/tabviews/commontable/index.jsx                    |    4 +-
 src/menu/components/table/normal-table/index.jsx      |   28 +++++++-------
 src/menu/datasource/verifycard/customscript/index.jsx |    4 +-
 src/menu/components/table/edit-table/index.jsx        |   20 ++++++---
 src/menu/datasource/verifycard/index.jsx              |    3 +
 11 files changed, 60 insertions(+), 33 deletions(-)

diff --git a/src/menu/components/table/edit-table/index.jsx b/src/menu/components/table/edit-table/index.jsx
index e005989..b4e2f7f 100644
--- a/src/menu/components/table/edit-table/index.jsx
+++ b/src/menu/components/table/edit-table/index.jsx
@@ -297,6 +297,18 @@
     config.absFields = []
     config.mergeCol = false
 
+    let mapCol = (cols) => {
+      cols.forEach(col => {
+        if (col.type === 'number') {
+          if (col.format === 'abs') {
+            config.absFields.push(col.field)
+          }
+        } else if (col.type === 'colspan' && col.subcols) {
+          mapCol(col.subcols)
+        }
+      })
+    }
+
     config.cols.forEach((col, index) => {
       delete col.pops
 
@@ -305,13 +317,7 @@
           config.absFields.push(col.field)
         }
       } else if (col.type === 'colspan' && col.subcols) {
-        col.subcols.forEach(scol => {
-          if (scol.type === 'number') {
-            if (scol.format === 'abs') {
-              config.absFields.push(scol.field)
-            }
-          }
-        })
+        mapCol(col.subcols)
       } else if (col.type === 'text') {
         if (col.editable === 'true' && col.editType === 'popSelect' && /^tab:/.test(col.initval)) {
           config.mergeCol = config.mergeCol || []
diff --git a/src/menu/components/table/normal-table/index.jsx b/src/menu/components/table/normal-table/index.jsx
index 9286025..de2356b 100644
--- a/src/menu/components/table/normal-table/index.jsx
+++ b/src/menu/components/table/normal-table/index.jsx
@@ -330,21 +330,21 @@
 
   updatecolumn = (config) => {
     config.absFields = []
-    config.cols.forEach(col => {
-      if (col.type === 'number') {
-        if (col.format === 'abs') {
-          config.absFields.push(col.field)
-        }
-      } else if (col.type === 'colspan' && col.subcols) {
-        col.subcols.forEach(scol => {
-          if (scol.type === 'number') {
-            if (scol.format === 'abs') {
-              config.absFields.push(scol.field)
-            }
+    config.hasExtend = false
+    let mapCol = (cols) => {
+      cols.forEach(col => {
+        if (col.type === 'number') {
+          if (col.format === 'abs') {
+            config.absFields.push(col.field)
           }
-        })
-      }
-    })
+        } else if (col.type === 'extend') {
+          config.hasExtend = true
+        } else if (col.type === 'colspan' && col.subcols) {
+          mapCol(col.subcols)
+        }
+      })
+    }
+    mapCol(config.cols)
 
     if (config.absFields.length) {
       config.absFields = Array.from(new Set(config.absFields))
diff --git a/src/menu/datasource/verifycard/customscript/index.jsx b/src/menu/datasource/verifycard/customscript/index.jsx
index c44da19..545d436 100644
--- a/src/menu/datasource/verifycard/customscript/index.jsx
+++ b/src/menu/datasource/verifycard/customscript/index.jsx
@@ -210,7 +210,7 @@
   }
 
   render() {
-    const { systemScripts, setting, type } = this.props
+    const { systemScripts, setting, type, hasExtend } = this.props
     const { getFieldDecorator } = this.props.form
     const { usefulFields, skip } = this.state
 
@@ -245,7 +245,7 @@
             <Form.Item label="鍙敤瀛楁" className="field-able">
               <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鍏叡鍊硷紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆�'}><span style={{color: '#1890ff'}}>BID, LoginUID, SessionUid, UserID, Appkey, time_id, typename, datam</span></Tooltip>,&nbsp;
               <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'绯荤粺鍙橀噺锛岀郴缁熶細瀹氫箟鍙橀噺骞惰祴鍊笺��'}><span style={{color: '#fa8c16'}}>UserName, FullName, RoleID, mk_departmentcode, mk_organization, mk_user_type, mk_nation, mk_province, mk_city, mk_district, mk_address</span></Tooltip>,&nbsp;
-              <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鎺掑簭銆佸垎椤典互鍙婃悳绱㈡潯浠跺彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆備娇鐢ˊpageSize@鎴朄orderBy@浠h〃鑷畾涔夊垎椤碉紝鎬绘暟璇蜂互mk_total杩斿洖銆�'}>orderBy, pageSize, pageIndex{usefulFields ? ', ' + usefulFields : ''}{type === 'calendar' ? ', mk_year' : ''}</Tooltip>
+              <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'鎺掑簭銆佸垎椤典互鍙婃悳绱㈡潯浠跺彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆備娇鐢ˊpageSize@鎴朄orderBy@浠h〃鑷畾涔夊垎椤碉紝鎬绘暟璇蜂互mk_total杩斿洖銆�'}>orderBy, pageSize, pageIndex{usefulFields ? ', ' + usefulFields : ''}{type === 'calendar' ? ', mk_year' : ''}{hasExtend ? ', mk_time' : ''}</Tooltip>
               <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'url鍙橀噺锛岃鎸夌収@xxx@鏍煎紡浣跨敤銆�'}>{urlFields ? ', ' : ''}<span style={{color: '#13c2c2'}}>{urlFields}</span></Tooltip>
               {window.GLOB.process ? <Tooltip mouseLeaveDelay={0.3} mouseEnterDelay={0.3} placement="top" title={'宸ヤ綔娴佸彉閲忥紝璇锋寜鐓xxx@鏍煎紡浣跨敤銆�'}>, <span style={{color: 'purple'}}>works_flow_code</span></Tooltip> : null}
             </Form.Item>
diff --git a/src/menu/datasource/verifycard/index.jsx b/src/menu/datasource/verifycard/index.jsx
index b31ecfd..9ea5d86 100644
--- a/src/menu/datasource/verifycard/index.jsx
+++ b/src/menu/datasource/verifycard/index.jsx
@@ -679,7 +679,7 @@
         _columns = [...columns, ...subColumns]
       }
 
-      let r = SettingUtils.getDebugSql(setting, _scripts, _columns, searches, config.subtype)
+      let r = SettingUtils.getDebugSql(setting, _scripts, _columns, searches, config.subtype, config.hasExtend)
 
       let _debugId = md5(r.sql)
       
@@ -1217,6 +1217,7 @@
             }}/> : null}
             <CustomScriptsForm
               type={config.type}
+              hasExtend={config.hasExtend}
               setting={setting}
               searches={searches}
               defaultsql={defaultsql}
diff --git a/src/menu/datasource/verifycard/utils.jsx b/src/menu/datasource/verifycard/utils.jsx
index 291ef35..67b552d 100644
--- a/src/menu/datasource/verifycard/utils.jsx
+++ b/src/menu/datasource/verifycard/utils.jsx
@@ -9,7 +9,7 @@
    * @return {Object}  setting       椤甸潰璁剧疆
    * @return {Array}   columns       鏄剧ず瀛楁
    */
-  static getDebugSql (setting, scripts, columns, searches = [], type) {
+  static getDebugSql (setting, scripts, columns, searches = [], type, hasExtend) {
     let sql = ''
     let error = ''
     let _dataresource = ''
@@ -79,6 +79,9 @@
       regs.push({reg: /@works_flow_code@/ig, value: `'${getuuid()}'`})
     }
 
+    if (hasExtend) {
+      regs.push({reg: /@mk_time@/ig, value: '2024-04-29 17:20:00'})
+    }
     if (type === 'calendar') {
       regs.push({reg: /@mk_year@/ig, value: '2024'})
     }
diff --git a/src/menu/debug/index.jsx b/src/menu/debug/index.jsx
index 93bcf14..17a1765 100644
--- a/src/menu/debug/index.jsx
+++ b/src/menu/debug/index.jsx
@@ -1887,6 +1887,9 @@
       { reg: /@typename@/ig, value: `'admin'`},
     )
 
+    if (item.hasExtend) {
+      regs.push({reg: /@mk_time@/ig, value: '2024-04-29 17:20:00'})
+    }
     if (item.type === 'calendar') {
       regoptions.push({ reg: /@mk_year@/ig, value: '2024' })
     }
diff --git a/src/tabviews/basetable/index.jsx b/src/tabviews/basetable/index.jsx
index 56d1f89..2382461 100644
--- a/src/tabviews/basetable/index.jsx
+++ b/src/tabviews/basetable/index.jsx
@@ -148,8 +148,8 @@
         try { // 閰嶇疆淇℃伅瑙f瀽
           let userConfig = JSON.parse(window.decodeURIComponent(window.atob(result.LongParamUser)))
           if (userConfig) {
-            shortcuts = userConfig.action
-            userConfig.printers.forEach(item => {
+            shortcuts = userConfig.action || []
+            userConfig.printers && userConfig.printers.forEach(item => {
               window.GLOB.UserCacheMap.set(item.parentId + item.uuid, item)
             })
           }
diff --git a/src/tabviews/commontable/index.jsx b/src/tabviews/commontable/index.jsx
index 41afdfd..e94c925 100644
--- a/src/tabviews/commontable/index.jsx
+++ b/src/tabviews/commontable/index.jsx
@@ -138,8 +138,8 @@
               })
             })
           } else if (userConfig) {
-            shortcuts = userConfig.action
-            userConfig.printers.forEach(item => {
+            shortcuts = userConfig.action || []
+            userConfig.printers && userConfig.printers.forEach(item => {
               window.GLOB.UserCacheMap.set(item.parentId + item.uuid, item)
             })
           }
diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx
index da25be6..be36ae9 100644
--- a/src/tabviews/custom/index.jsx
+++ b/src/tabviews/custom/index.jsx
@@ -2,6 +2,7 @@
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
 import { notification, Spin, Row, Col, Modal } from 'antd'
+import moment from 'moment'
 
 import Api from '@/api'
 import Utils from '@/utils/utils.js'
@@ -182,8 +183,8 @@
         try { // 閰嶇疆淇℃伅瑙f瀽
           let userConfig = JSON.parse(window.decodeURIComponent(window.atob(result.LongParamUser)))
           if (userConfig) {
-            shortcuts = userConfig.action
-            userConfig.printers.forEach(item => {
+            shortcuts = userConfig.action || []
+            userConfig.printers && userConfig.printers.forEach(item => {
               window.GLOB.UserCacheMap.set(item.parentId + item.uuid, item)
             })
           }
@@ -688,6 +689,12 @@
         
         item.cols = getCols(item.cols)
 
+        if (item.hasExtend) {
+          item.setting.hasExtend = true
+          item.setting.extendTime = moment().format('YYYY-MM-DD HH:mm:ss')
+          item.colsCtrls = null
+        }
+
         if (item.subtype === 'editable') {
           item.submit.logLabel = item.$menuname + '-鎻愪氦'
           item.submit.$menuId = item.uuid
diff --git a/src/tabviews/treepage/index.jsx b/src/tabviews/treepage/index.jsx
index 6d08b71..a4c89ae 100644
--- a/src/tabviews/treepage/index.jsx
+++ b/src/tabviews/treepage/index.jsx
@@ -78,8 +78,8 @@
         try { // 閰嶇疆淇℃伅瑙f瀽
           let userConfig = JSON.parse(window.decodeURIComponent(window.atob(result.LongParamUser)))
           if (userConfig) {
-            shortcuts = userConfig.action
-            userConfig.printers.forEach(item => {
+            shortcuts = userConfig.action || []
+            userConfig.printers && userConfig.printers.forEach(item => {
               window.GLOB.UserCacheMap.set(item.parentId + item.uuid, item)
             })
           }
diff --git a/src/utils/utils-datamanage.js b/src/utils/utils-datamanage.js
index 1291a36..6210d62 100644
--- a/src/utils/utils-datamanage.js
+++ b/src/utils/utils-datamanage.js
@@ -48,6 +48,10 @@
       param.mk_year = year
     }
 
+    if (setting.hasExtend) {
+      param.mk_time = setting.extendTime
+    }
+
     if (setting.interType === 'inner') {
       param.func = setting.innerFunc
 
@@ -150,6 +154,9 @@
       { reg: /@typename@/ig, value: `'admin'`},
     )
 
+    if (setting.hasExtend) {
+      regoptions.push({ reg: /@mk_time@/ig, value: setting.extendTime })
+    }
     if (setting.$re_year) {
       regoptions.push({ reg: /@mk_year@/ig, value: year })
     }

--
Gitblit v1.8.0