From c7aece35a62b6e91fd98a625bf0e53f64bfbd18d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 17 八月 2023 16:22:15 +0800
Subject: [PATCH] 2023-08-17
---
src/utils/utils-custom.js | 250 ++++++++++++++++++++++----------------------------
1 files changed, 110 insertions(+), 140 deletions(-)
diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js
index 9763056..9f42868 100644
--- a/src/utils/utils-custom.js
+++ b/src/utils/utils-custom.js
@@ -19,6 +19,8 @@
} else if (item.type === 'tabs') {
if (item.subtype === 'tabletabs') {
item.subtabs.forEach(tab => {
+ if (tab.components[0].uuid === selfId) return
+
modules.push({
value: tab.components[0].uuid,
label: tab.label,
@@ -517,73 +519,44 @@
})
}
} else if (item.type === 'table' && item.cols) {
- let loopCol = (col) => {
- col.subcols = col.subcols.map(c => {
- c.uuid = md5(commonId + c.uuid)
-
- if (c.type === 'colspan' && c.subcols) {
- c = loopCol(c)
- } else if (c.type === 'custom' && c.elements) {
- c.elements = c.elements.map(cell => {
- cell.uuid = this.getuuid()
+ let loopCol = (cols) => {
+ return cols.map(col => {
+ if (col.type === 'action') {
+ col.type = 'custom'
+ }
- return cell
- })
- } else if (c.type === 'action' && c.elements) {
- c.elements = c.elements.map(cell => {
+ col.uuid = md5(commonId + col.uuid)
+
+ if (col.type === 'colspan' && col.subcols) {
+ col.subcols = loopCol(col.subcols)
+ } else if (col.type === 'custom' && col.elements) {
+ col.elements = col.elements.map(cell => {
cell.uuid = md5(commonId + cell.uuid)
- if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
- cell.pageTemplate = ''
- cell.linkmenu = ''
- }
+ if (cell.eleType === 'button') {
+ if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) {
+ cell.pageTemplate = ''
+ cell.linkmenu = ''
+ }
- this.resetBtn(cell, commonId)
+ this.resetBtn(cell, commonId)
+ }
return cell
})
+ } else if (col.editable === 'true' && col.enter && col.enter !== '$next' && col.enter !== '$sub') {
+ if (/\$next_/.test(col.enter)) {
+ col.enter = '$next_' + md5(commonId + col.enter.split('_')[1])
+ } else {
+ col.enter = md5(commonId + col.enter)
+ }
}
- return c
- })
-
- return col
- }
- item.cols = item.cols.map(col => {
- col.uuid = md5(commonId + col.uuid)
-
- if (col.type === 'colspan' && col.subcols) {
- col = loopCol(col)
- } else if (col.type === 'custom' && col.elements) {
- col.elements = col.elements.map(cell => {
- cell.uuid = this.getuuid()
- return cell
- })
- } else if (col.type === 'action' && col.elements) {
- col.elements = col.elements.map(cell => {
- cell.uuid = md5(commonId + cell.uuid)
- this.resetBtn(cell, commonId)
- return cell
- })
- }
- return col
- })
-
- if (item.subtype === 'editable') {
- item.cols = item.cols.map(col => {
- if (col.editable === 'true' && col.enter) {
- col.enter = md5(commonId + col.enter)
- } else if (col.type === 'colspan' && col.subcols) {
- col.subcols = col.subcols.map(c => {
- if (c.editable === 'true' && c.enter) {
- c.enter = md5(commonId + c.enter)
- }
- return c
- })
- }
return col
})
}
+
+ item.cols = loopCol(item.cols)
} else if (item.type === 'form') {
item.subcards = item.subcards.map(cell => {
cell.uuid = this.getuuid()
@@ -688,7 +661,12 @@
if (btn.anchors && btn.anchors.length > 0) {
btn.anchors = btn.anchors.map(m => md5(commonId + m))
}
- if (btn.syncComponent && btn.syncComponent.length > 0) {
+ if (btn.syncComponent && btn.syncComponent[0] === 'multiComponent' && btn.syncComponents) {
+ btn.syncComponents = btn.syncComponents.map(m => {
+ m.syncComId = m.syncComId.map(n => md5(commonId + n))
+ return m
+ })
+ } else if (btn.syncComponent && btn.syncComponent.length > 0) {
btn.syncComponent = btn.syncComponent.map(m => md5(commonId + m))
}
}
@@ -724,13 +702,13 @@
// 閲嶇疆缁勪欢鍚嶇О
let sign = this.getSignName()
if (item.plot) { // 鍥捐〃
- item.plot.name = item.plot.name + sign
+ item.plot.name = (item.plot.name || '') + sign
item.name = item.plot.name
} else if (item.wrap) { // 閫氱敤
- item.wrap.name = item.wrap.name + sign
+ item.wrap.name = (item.wrap.name || '') + sign
item.name = item.wrap.name
} else if (item.setting) { // 鍒嗙粍銆佹爣绛鹃〉绛�
- item.setting.name = item.setting.name + sign
+ item.setting.name = (item.setting.name || '') + sign
item.name = item.setting.name
}
@@ -831,63 +809,47 @@
})
}
} else if (item.type === 'table' && item.cols) {
- let loopCol = (col) => {
- col.subcols = col.subcols.map(c => {
- c.uuid = this.getuuid()
+ let loopCol = (cols) => {
+ return cols.map(col => {
+ if (col.type === 'action') {
+ col.type = 'custom'
+ }
- if (c.type === 'colspan' && c.subcols) {
- c = loopCol(c)
- } else if (c.type === 'custom' && c.elements) {
- c.elements = c.elements.map(cell => {
- cell.uuid = this.getuuid()
+ col.uuid = md5(commonId + col.uuid)
+
+ if (col.type === 'colspan' && col.subcols) {
+ col.subcols = loopCol(col.subcols)
+ } else if (col.type === 'custom' && col.elements) {
+ if (sessionStorage.getItem('editMenuType') === 'popview') {
+ col.elements = col.elements.filter(c => c.eleType !== 'button' || (c.OpenType !== 'popview' && c.OpenType !== 'funcbutton'))
+ }
+ col.elements = col.elements.map(cell => {
+ cell.uuid = md5(commonId + cell.uuid)
+ if (cell.eleType === 'button') {
+ if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) {
+ if (cell.modal && cell.modal.fields.length > 0) {
+ cell.modal.fields = cell.modal.fields.map(m => {
+ m.uuid = this.getuuid()
+ return m
+ })
+ }
+ }
+ }
return cell
})
- }
- return c
- })
-
- return col
- }
-
- item.cols = item.cols.map(col => {
- col.uuid = md5(commonId + col.uuid)
-
- if (col.type === 'colspan' && col.subcols) {
- col = loopCol(col)
- } else if (col.type === 'custom' && col.elements) {
- col.elements = col.elements.map(cell => {
- cell.uuid = this.getuuid()
- return cell
- })
- } else if (col.type === 'action' && col.elements) {
- if (sessionStorage.getItem('editMenuType') === 'popview') {
- col.elements = col.elements.filter(c => c.OpenType !== 'popview' && c.OpenType !== 'funcbutton')
- }
- col.elements = col.elements.map(cell => {
- cell.uuid = md5(commonId + cell.uuid)
- if (cell.OpenType === 'pop' || (cell.OpenType === 'funcbutton' && cell.execMode === 'pop')) {
- if (cell.modal && cell.modal.fields.length > 0) {
- cell.modal.fields = cell.modal.fields.map(m => {
- m.uuid = this.getuuid()
- return m
- })
- }
+ } else if (col.editable === 'true' && col.enter && col.enter !== '$next' && col.enter !== '$sub') { // 鍙紪杈戣〃
+ if (/\$next_/.test(col.enter)) {
+ col.enter = '$next_' + md5(commonId + col.enter.split('_')[1])
+ } else {
+ col.enter = md5(commonId + col.enter)
}
-
- return cell
- })
- }
- return col
- })
-
- if (item.subtype === 'editable') {
- item.cols = item.cols.map(col => {
- if (col.editable === 'true' && col.enter) {
- col.enter = md5(commonId + col.enter)
}
+
return col
})
}
+
+ item.cols = loopCol(item.cols)
} else if (item.type === 'form') {
item.subcards = item.subcards.map(cell => {
cell.uuid = this.getuuid()
@@ -1094,23 +1056,31 @@
})
}
- config.cols && config.cols.forEach(col => {
- if (col.type === 'action') {
- col.elements.forEach(cell => {
- if (['form', 'pop', 'prompt', 'exec', 'excelIn', 'excelOut'].includes(cell.OpenType)) {
- action.push(cell)
- } else if (cell.OpenType === 'funcbutton' && cell.funcType === 'print' && cell.verify) {
- action.push(cell)
- } else if (cell.OpenType === 'popview') {
- if (pops) {
- pops.push({...cell, parentId: config.uuid})
- } else if (cell.config && cell.config.$tables) {
- tables.push(...cell.config.$tables)
- }
+ if (config.cols) {
+ let loopCol = (cols) => {
+ cols.forEach(col => {
+ if (col.type === 'colspan') {
+ loopCol(col.subcols)
+ } else if (col.type === 'custom') {
+ col.elements.forEach(cell => {
+ if (cell.eleType !== 'button') return
+ if (['form', 'pop', 'prompt', 'exec', 'excelIn', 'excelOut'].includes(cell.OpenType)) {
+ action.push(cell)
+ } else if (cell.OpenType === 'funcbutton' && cell.funcType === 'print' && cell.verify) {
+ action.push(cell)
+ } else if (cell.OpenType === 'popview') {
+ if (pops) {
+ pops.push({...cell, parentId: config.uuid})
+ } else if (cell.config && cell.config.$tables) {
+ tables.push(...cell.config.$tables)
+ }
+ }
+ })
}
})
}
- })
+ loopCol(config.cols)
+ }
config.elements && config.elements.forEach(cell => {
if (cell.eleType !== 'button') return
@@ -1394,27 +1364,27 @@
if (card.$c_cl) {
card.cols.forEach(col => {
- if (col.type === 'action') {
+ if (col.type === 'custom') {
col.elements.forEach(cell => {
- 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}鈥濅腑琛ㄥ崟灏氭湭娣诲姞`})
+ 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}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣})
}
- } 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}鈥濅腑瀵煎嚭鍒楁湭璁剧疆锛乣})
- }
- if (doubleClick === cell.uuid) {
- doubleClick = ''
- }
- })
- } else if (col.type === 'custom') {
- col.elements.forEach(cell => {
- if (cell.datatype === 'dynamic' && cell.field && !columns.includes(cell.field)) {
- errors.push({ level: 1, detail: `鏄剧ず鍒椻��${col.label}鈥濅腑鍔ㄦ�佸瓧娈碘��${cell.field}鈥濇棤鏁坄})
+ if (doubleClick === cell.uuid) {
+ doubleClick = ''
+ }
+ } else {
+ if (cell.datatype === 'dynamic' && cell.field && !columns.includes(cell.field)) {
+ errors.push({ level: 1, detail: `鏄剧ず鍒椻��${col.label}鈥濅腑鍔ㄦ�佸瓧娈碘��${cell.field}鈥濇棤鏁坄})
+ }
}
})
} else if (col.field && !columns.includes(col.field)) {
--
Gitblit v1.8.0