From 130afe2d26891f9d4c2edbe980603c93f6fd0d5c Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 05 二月 2024 11:12:48 +0800
Subject: [PATCH] 2024-02-05

---
 src/utils/utils-custom.js |   99 +++++++++++++++++++++++++++++++++++++------------
 1 files changed, 75 insertions(+), 24 deletions(-)

diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index 350ccc7..b95c0eb 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -6,7 +6,7 @@
    * @description 鑾峰彇涓嬬骇妯″潡
    * @return {String}  selfId  褰撳墠缁勪欢id
    */
-  static getSubModules (components, selfId, supId) {
+  static getSubModules (components, selfId, supId, interfaces) {
     let modules = []
     components.forEach(item => {
       if (item.uuid === selfId || item.type === 'navbar') {
@@ -17,6 +17,17 @@
           label: item.name,
           disabled: supId === item.uuid
         })
+
+        if (item.type === 'form' && item.subtype === 'simpleform' && item.wrap.refocus && supId !== item.uuid) {
+          modules.push({
+            value: item.uuid + '$focus-refresh',
+            label: item.name + '锛堝埛鏂�-鑱氱劍锛�',
+          })
+          modules.push({
+            value: item.uuid + '$focus-nofresh',
+            label: item.name + '锛堜笉鍒锋柊-鑱氱劍锛�',
+          })
+        }
       } else if (item.type === 'tabs') {
         if (item.subtype === 'tabletabs') {
           item.subtabs.forEach(tab => {
@@ -83,6 +94,15 @@
         }
       }
     })
+
+    if (interfaces && interfaces.length > 0) {
+      interfaces.forEach(item => {
+        modules.push({
+          value: item.uuid,
+          label: item.name
+        })
+      })
+    }
 
     return modules
   }
@@ -672,11 +692,23 @@
     }
     if (btn.syncComponent && btn.syncComponent[0] === 'multiComponent' && btn.syncComponents) {
       btn.syncComponents = btn.syncComponents.map(m => {
-        m.syncComId = m.syncComId.map(n => md5(commonId + n))
+        m.syncComId = m.syncComId.map(n => {
+          if (/\$focus/.test(n)) {
+            return md5(commonId + n.split('$')[0]) + '$' + n.split('$')[1]
+          }
+
+          return md5(commonId + n)
+        })
         return m
       })
     } else if (btn.syncComponent && btn.syncComponent.length > 0) {
-      btn.syncComponent = btn.syncComponent.map(m => md5(commonId + m))
+      btn.syncComponent = btn.syncComponent.map(m => {
+        if (/\$focus/.test(m)) {
+          return md5(commonId + m.split('$')[0]) + '$' + m.split('$')[1]
+        }
+
+        return md5(commonId + m)
+      })
     }
   }
 
@@ -696,7 +728,7 @@
   * @description 閲嶇疆缁勪欢閰嶇疆
   * @return {String}  item 缁勪欢淇℃伅
   */
-  static resetComponentConfig = (item, appType) => {
+  static resetComponentConfig = (item, appType, commonId) => {
     if (item.type === 'navbar') {
       return item
     }
@@ -704,9 +736,6 @@
     if (item.subtype === 'tablecard') { // 鍏煎
       item.type = 'card'
     }
-
-    item.uuid = this.getuuid()
-    let commonId = this.getuuid()
 
     // 閲嶇疆缁勪欢鍚嶇О
     let sign = this.getSignName()
@@ -931,20 +960,6 @@
       })
     }
 
-    if (item.setting && item.setting.supModule && item.setting.supModule[0] !== 'empty') {
-      item.setting.supModule = ''
-    }
-    
-    if (item.wrap && item.wrap.supType === 'multi') {
-      item.wrap.supType = 'single'
-
-      delete item.supNodes
-    }
-    
-    if (item.wrap && item.wrap.supModule) {
-      item.wrap.supModule = ''
-    }
-
     if (item.wrap && item.wrap.doubleClick) {
       item.wrap.doubleClick = md5(commonId + item.wrap.doubleClick)
     }
@@ -984,7 +999,11 @@
       if (item.type === 'date') {
         value = '1949-10-01 00:00:00.000'
       } else if (item.type === 'datemonth') {
-        value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000'
+        if (item.match === '=') {
+          value = '1949-10'
+        } else {
+          value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000'
+        }
       } else if (item.type === 'dateweek') {
         value = '1949-10-01 00:00:00.000,1949-10-02 00:00:00.000'
       } else if (item.type === 'daterange') {
@@ -1036,9 +1055,16 @@
       searchText.push(`('${item.value}' ${item.match} '%'+${item.key}+'%')`)
     } else if (item.type === 'date') {
       searchText.push('(' + item.key + ' ' + item.match + ' \'' + item.value + '\')')
-    } else if (item.type === 'datemonth' || item.type === 'dateweek' || item.type === 'range') {
+    } else if (item.type === 'dateweek' || item.type === 'range') {
       let val = item.value.split(',')
       searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')')
+    } else if (item.type === 'datemonth') {
+      if (item.match === '=') {
+        searchText.push('(' + item.key + ' = \'' + item.value + '\')')
+      } else {
+        let val = item.value.split(',')
+        searchText.push('(' + item.key + ' >= \'' + val[0] + '\' AND ' + item.key + ' < \'' + val[1] + '\')')
+      }
     } else if (item.type === 'daterange') {
       let val = item.value.split(',')
 
@@ -1081,7 +1107,8 @@
           value: `'${item.value}'`
         })
       }
-    } else if (['dateweek', 'datemonth', 'range'].includes(item.type)) {
+      
+    } else if (['dateweek', 'range'].includes(item.type)) {
       let val = item.value.split(',')
       options.push({
         reg: new RegExp('@' + item.key + '@', 'ig'),
@@ -1090,6 +1117,22 @@
         reg: new RegExp('@' + item.key + '1@', 'ig'),
         value: `'${val[1]}'`
       })
+    } else if (item.type === 'datemonth') {
+      if (item.match === '=') {
+        options.push({
+          reg: new RegExp('@' + item.key + '@', 'ig'),
+          value: `'${item.value}'`
+        })
+      } else {
+        let val = item.value.split(',')
+        options.push({
+          reg: new RegExp('@' + item.key + '@', 'ig'),
+          value: `'${val[0]}'`
+        }, {
+          reg: new RegExp('@' + item.key + '1@', 'ig'),
+          value: `'${val[1]}'`
+        })
+      }
     } else if (item.type === 'daterange') {
       let val = item.value.split(',')
       let _skey = item.key
@@ -1605,6 +1648,14 @@
         }
       }
     }
+
+    if (['pop', 'prompt', 'exec'].includes(cell.OpenType) && cell.verify && !cell.output) {
+      if (cell.verify.noteEnable === 'true') {
+        errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濇湭璁剧疆杩斿洖鍊肩煭淇″彂閫佹棤鏁堬紒`})
+      } else if (cell.verify.emailEnable === 'true') {
+        errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濇湭璁剧疆杩斿洖鍊奸偖浠跺彂閫佹棤鏁堬紒`})
+      }
+    }
   }
 
   if (card.$c_ac) {

--
Gitblit v1.8.0