From 31e48d99dc0c595fbcf43eea0b9d486025014d02 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 24 七月 2024 11:05:49 +0800 Subject: [PATCH] 2024-07-24 --- src/components/normalform/modalform/index.jsx | 33 +++++++++++++++++++++++++++++++++ 1 files changed, 33 insertions(+), 0 deletions(-) diff --git a/src/components/normalform/modalform/index.jsx b/src/components/normalform/modalform/index.jsx index 59a1ea6..544716e 100644 --- a/src/components/normalform/modalform/index.jsx +++ b/src/components/normalform/modalform/index.jsx @@ -132,6 +132,9 @@ let cell = fieldMap.get(item.field) + cell.$ctrls = cell.$ctrls || [] + cell.$ctrls.push(key) + if (cell.hidden) return if (cell.skip && supItem.forbid) { // 涓婄骇琛ㄥ崟绂佺敤鏃讹紝姝よ〃鍗曚笉鍙楁帶鍒� @@ -161,6 +164,10 @@ formlist = formlist.map(cell => { let item = fieldMap.get(cell.field) + + if (item.$ctrls && item.$ctrls.length === 1) { + delete item.$ctrls + } if (item.linkField) { let supInitVal = fieldMap.get(item.linkField).initval || '' @@ -230,6 +237,32 @@ m.hidden = !cell.values.includes(val) } + if (!m.hidden && m.$ctrls) { + m.$ctrls.forEach(n => { + if (n === current.field || m.hidden) return + + let oth = map.get(n) + let _val = this.record[n] + + if (_val && JSON.stringify(_val) === '[]') { + _val = '' + } + + let p = oth.controlFields.filter(q => q.field === m.field)[0] + + if (oth.hidden || (p.notNull && !_val)) { + m.hidden = true + } else if (oth.type === 'checkbox' || oth.type === 'multiselect') { + let _vals = [...(_val || []), ...p.values] + if (_vals.length === new Set(_vals).size) { + m.hidden = true + } + } else if (!p.values.includes(_val)) { + m.hidden = true + } + }) + } + if (m.hidden) { m.initval = this.record[m.field] } -- Gitblit v1.8.0