From 88f178df654b08411470a7eab75b3d5fed8817c0 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 03 十一月 2023 01:37:45 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/utils/utils-custom.js |  102 ++++++++++++++++++++++++++++----------------------
 1 files changed, 57 insertions(+), 45 deletions(-)

diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index 59816a5..6e80931 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -558,6 +558,13 @@
         }
 
         item.cols = loopCol(item.cols)
+
+        if (item.colsCtrls) {
+          item.colsCtrls = item.colsCtrls.map(col => {
+            col.cols = col.cols.map(f => md5(commonId + f))
+            return col
+          })
+        }
       } else if (item.type === 'form') {
         item.subcards = item.subcards.map(cell => {
           cell.uuid = this.getuuid()
@@ -851,6 +858,13 @@
       }
 
       item.cols = loopCol(item.cols)
+
+      if (item.colsCtrls) {
+        item.colsCtrls = item.colsCtrls.map(col => {
+          col.cols = col.cols.map(f => md5(commonId + f))
+          return col
+        })
+      }
     } else if (item.type === 'form') {
       item.subcards = item.subcards.map(cell => {
         cell.uuid = this.getuuid()
@@ -919,6 +933,13 @@
     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 = ''
     }
@@ -1546,6 +1567,11 @@
     } else if (card.type !== 'balcony' && !card.setting.supModule) {  // 鎮诞妗嗕笂绾х粍浠堕渶鍗曠嫭璁剧疆
       errors.push({ level: 0, detail: '鏈缃笂绾х粍浠讹紒'})
     }
+    if (card.subtype === 'dualdatacard' && card.subColumns) {
+      card.subColumns.forEach(col => {
+        columns.push(col.field)
+      })
+    }
   } else if ((card.type === 'balcony' || card.type === 'card') && card.wrap.datatype === 'public') {
     columns = card.columns.map(c => c.field)
   }
@@ -1553,6 +1579,31 @@
   let doubleClick = ''
   if (card.type === 'table') {
     doubleClick = card.wrap.doubleClick || ''
+  }
+
+  let checkBtn = (cell) => {
+    if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) {
+      if (!cell.modal || cell.modal.fields.length === 0) {
+        errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`})
+      }
+    } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) {
+      errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣})
+    } else if (cell.OpenType === 'excelOut') {
+      if (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0) {
+        errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣})
+      } else if (cell.intertype === 'system' && cell.verify.dataType !== 'custom' && card.$c_ds && columns.length > 0) {
+        let cols = []
+        cell.verify.columns.forEach(col => {
+          if (col.output === 'false' || col.Column === '$Index') return
+          if (!columns.includes(col.Column)) {
+            cols.push(col.Column)
+          }
+        })
+        if (cols.length) {
+          errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楋紙${cols.join('銆�')}锛夊湪瀛楁闆嗕腑涓嶅瓨鍦紒`})
+        }
+      }
+    }
   }
 
   if (card.$c_ac) {
@@ -1565,15 +1616,7 @@
       //     errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑寮圭獥鏍囩鏈惎鐢╜})
       //   }
       // }
-      if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) {
-        if (!cell.modal || cell.modal.fields.length === 0) {
-          errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`})
-        }
-      } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) {
-        errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣})
-      } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) {
-        errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣})
-      }
+      checkBtn(cell)
       if (doubleClick === cell.uuid) {
         doubleClick = ''
       }
@@ -1586,15 +1629,7 @@
       item.elements.forEach(cell => {
         if (cell.eleType === 'button') {
           if (cell.hidden === 'true') return
-          if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) {
-            if (!cell.modal || cell.modal.fields.length === 0) {
-              errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`})
-            }
-          } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) {
-            errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣})
-          } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) {
-            errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣})
-          }
+          checkBtn(cell)
           if (linkbtn && linkbtn === cell.uuid) {
             linkbtn = ''
           }
@@ -1607,15 +1642,7 @@
         item.backElements.forEach(cell => {
           if (cell.eleType === 'button') {
             if (cell.hidden === 'true') return
-            if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) {
-              if (!cell.modal || cell.modal.fields.length === 0) {
-                errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`})
-              }
-            } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) {
-              errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣})
-            } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) {
-              errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣})
-            }
+            checkBtn(cell)
             if (linkbtn && linkbtn === cell.uuid) {
               linkbtn = ''
             }
@@ -1639,15 +1666,7 @@
     card.elements.forEach(cell => {
       if (cell.eleType === 'button') {
         if (cell.hidden === 'true') return
-        if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) {
-          if (!cell.modal || cell.modal.fields.length === 0) {
-            errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`})
-          }
-        } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) {
-          errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣})
-        } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) {
-          errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣})
-        }
+        checkBtn(cell)
       } else if (cell.datatype === 'dynamic' && cell.field && !columns.includes(cell.field)) {
         errors.push({ level: 1, detail: `鍗$墖涓姩鎬佸瓧娈碘��${cell.field}鈥濇棤鏁坄})
       }
@@ -1660,15 +1679,8 @@
         col.elements.forEach(cell => {
           if (cell.eleType === 'button') {
             if (cell.hidden === 'true') return
-            if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) {
-              if (!cell.modal || cell.modal.fields.length === 0) {
-                errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`})
-              }
-            } else if (cell.OpenType === 'excelIn' && (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0)) {
-              errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎叆鍒楁湭璁剧疆锛乣})
-            } else if (cell.OpenType === 'excelOut' && (!cell.verify || !cell.verify.columns || cell.verify.columns.length === 0)) {
-              errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣})
-            }
+
+            checkBtn(cell)
 
             if (doubleClick === cell.uuid) {
               doubleClick = ''

--
Gitblit v1.8.0