From f1a4a2e83a5a3a3f8636c0d85a3a02471c5b07e7 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 05 三月 2025 15:39:52 +0800 Subject: [PATCH] Merge branch 'positec' into dms --- src/utils/utils-custom.js | 122 ++++++++++++++++++++++++++++++++++++++++ 1 files changed, 121 insertions(+), 1 deletions(-) diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index 59eee91..dc7f0de 100644 --- a/src/utils/utils-custom.js +++ b/src/utils/utils-custom.js @@ -1886,6 +1886,25 @@ 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 === 'pop') { + let forms = [] + cell.modal.fields.forEach(n => { + if (n.type === 'funcvar' && n.field) { + forms.push(n.field) + } + }) + if (cell.verify && cell.verify.billcodes && cell.verify.billcodes.length > 0) { + let bills = cell.verify.billcodes.filter(item => item.status !== 'false').map(item => item.field) + bills.forEach(n => { + if (!forms.includes(n)) { + errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑鍗曞彿鐢熸垚鐨勫嚱鏁板彉閲忊��${n}鈥濅笉瀛樺湪`}) + } + }) + forms = forms.filter(n => !bills.includes(n)) + } + if (forms.length) { + errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅腑鍑芥暟鍙橀噺琛ㄥ崟鈥�${forms.join(',')}鈥濆皻鏈娇鐢╜}) + } } } else if (cell.OpenType === 'excelIn') { if (!cell.verify || !cell.verify.sheet || !cell.verify.columns || cell.verify.columns.length === 0) { @@ -1917,8 +1936,12 @@ 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.wxNote === 'true') { + errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濇湭璁剧疆杩斿洖鍊煎叕浼楀彿娑堟伅鏃犳晥锛乣}) } else if (cell.verify.emailEnable === 'true') { errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濇湭璁剧疆杩斿洖鍊奸偖浠跺彂閫佹棤鏁堬紒`}) + } else if (cell.verify.DeepSeekable === 'true') { + errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濇湭璁剧疆杩斿洖鍊糄eekSeek鏃犳晥锛乣}) } } @@ -2085,6 +2108,80 @@ } } + if (card.$c_fc) { + let idCtrl = false + let supModule = '' + + if (card.wrap.datatype === 'dynamic') { + supModule = card.setting.supModule ? card.setting.supModule[card.setting.supModule.length - 1] || '' : '' + if (supModule === 'empty') { + supModule = '' + } + } else { + if (card.wrap.datatype === 'static') { + supModule = card.wrap.supModule ? card.wrap.supModule[card.wrap.supModule.length - 1] : '' + } else { + supModule = null + } + } + + card.subcards.forEach(item => { + if (item.subButton.intertype === 'system' && !item.subButton.sqlType) { + errors.push({ level: 0, detail: `${item.subButton.label} 鎸夐挳璇疯缃搷浣滅被鍨媊}) + } + if (item.subButton.Ot === 'requiredSgl' && card.wrap.datatype === 'static') { + errors.push({ level: 0, detail: `${item.subButton.label} 鎸夐挳閫夎鏃朵笉鍙娇鐢ㄩ潤鎬佹暟鎹簮`}) + } + if (item.subButton.verify && !item.subButton.output) { + if (item.subButton.verify.noteEnable === 'true') { + errors.push({ level: 0, detail: `${item.subButton.label} 鎸夐挳鏈缃繑鍥炲�肩煭淇″彂閫佹棤鏁堬紒`}) + } else if (item.subButton.verify.wxNote === 'true') { + errors.push({ level: 0, detail: `${item.subButton.label} 鎸夐挳鏈缃繑鍥炲�煎叕浼楀彿娑堟伅鏃犳晥锛乣}) + } else if (item.subButton.verify.emailEnable === 'true') { + errors.push({ level: 0, detail: `${item.subButton.label} 鎸夐挳鏈缃繑鍥炲�奸偖浠跺彂閫佹棤鏁堬紒`}) + } else if (item.subButton.verify.DeepSeekable === 'true') { + errors.push({ level: 0, detail: `${item.subButton.label} 鎸夐挳鏈缃繑鍥炲�糄eekSeek鏃犳晥锛乣}) + } + } + + let forms = [] + item.fields.forEach(m => { + if (m.type === 'funcvar' && m.field) { + forms.push(m.field) + } + if (m.dataSource && /@ID@/ig.test(m.dataSource)) { + idCtrl = true + } + if (m.type === 'linkMain' && !supModule && supModule !== null) { + if (item.setting && item.setting.title) { + errors.push({ level: 1, detail: `璇锋鏌ュ垎缁勨��${item.setting.title}鈥濅腑鍏宠仈涓昏〃鈥�${m.label}鈥濇槸鍚︽湁鏁坄}) + } else { + errors.push({ level: 1, detail: `璇锋鏌ュ叧鑱斾富琛ㄢ��${m.label}鈥濇槸鍚︽湁鏁坄}) + } + } + }) + + if (item.subButton.verify && item.subButton.verify.billcodes && item.subButton.verify.billcodes.length > 0) { + let bills = item.subButton.verify.billcodes.filter(item => item.status !== 'false').map(item => item.field) + bills.forEach(n => { + if (!forms.includes(n)) { + errors.push({ level: 0, detail: `鎸夐挳鈥�${item.subButton.label}鈥濅腑鍗曞彿鐢熸垚鐨勫嚱鏁板彉閲忊��${n}鈥濅笉瀛樺湪`}) + } + }) + forms = forms.filter(n => !bills.includes(n)) + } + if (forms.length) { + if (item.setting && item.setting.title) { + errors.push({ level: 0, detail: `鍒嗙粍鈥�${item.setting.title}鈥濅腑鍑芥暟鍙橀噺琛ㄥ崟鈥�${forms.join(',')}鈥濆皻鏈娇鐢╜}) + } else { + errors.push({ level: 0, detail: `鍑芥暟鍙橀噺琛ㄥ崟鈥�${forms.join(',')}鈥濆皻鏈娇鐢╜}) + } + } + }) + + card.idCtrl = idCtrl + } + return errors } @@ -2106,6 +2203,7 @@ let _ch_d = sql.match(/@check\$/ig) let _m_b = sql.match(/\$@/ig) let _m_d = sql.match(/@\$/ig) + let caseErr = false _quot = _quot ? _quot.length : 0 _lparen = _lparen ? _lparen.length : 0 @@ -2114,6 +2212,14 @@ _ch_d = _ch_d ? _ch_d.length : 0 _m_b = _m_b ? _m_b.length : 0 _m_d = _m_d ? _m_d.length : 0 + + if (/case\s+when\s+[\s\S]+\send(\s|\n|$)/ig.test(sql)) { + sql.match(/case\s+when\s+[\s\S]+\send(\s|\n|$)/ig).forEach(line => { + if (!/\selse\s/ig.test(line)) { + caseErr = true + } + }) + } if (_quot % 2 !== 0) { notification.warning({ @@ -2236,9 +2342,23 @@ }) return false } else if (/\sdecimal\(8,/ig.test(sql)) { + let lines = '' + sql.split(/\n/).forEach((s, i) => { + if (/(^|\s)decimal\(8,/ig.test(s)) { + lines = '绗�' + (i + 1) + '琛屼腑' + } + }) + notification.warning({ top: 92, - message: `涓嶅彲浣跨敤 decimal(8`, + message: `${lines}涓嶅彲浣跨敤 decimal(8`, + duration: 5 + }) + return false + } else if (caseErr) { + notification.warning({ + top: 92, + message: 'case when 璇彞闇�瑕佹湁 else', duration: 5 }) return false -- Gitblit v1.8.0