From f128d679cacda2a6b5b730ad0368b5fe73f887f7 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 14 二月 2025 15:27:02 +0800 Subject: [PATCH] Merge branch 'master' into positec --- src/utils/utils-custom.js | 102 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 101 insertions(+), 1 deletions(-) diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index ea5e994..c78b049 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) { @@ -2083,6 +2102,73 @@ if (doubleClick) { errors.push({ level: 1, detail: `缁戝畾鐨勫弻鍑绘寜閽凡鍒犻櫎`}) } + } + + 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.verify && !item.subButton.output) { + if (item.subButton.verify.noteEnable === 'true') { + errors.push({ level: 0, detail: `${item.subButton.label} 鎸夐挳鏈缃繑鍥炲�肩煭淇″彂閫佹棤鏁堬紒`}) + } else if (item.subButton.verify.emailEnable === 'true') { + errors.push({ level: 0, detail: `${item.subButton.label} 鎸夐挳鏈缃繑鍥炲�奸偖浠跺彂閫佹棤鏁堬紒`}) + } + } + + 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 @@ -5488,6 +5574,7 @@ let _fields = unique.field.split(',') let _fields_ = _fields.map(_field => `a.${_field}=b.${_field}`) _fields_ = _fields_.join(' and ') + _fields_ += ` and a.jskey != b.${setting.primaryKey || 'id'}` let _where = [] _fields.forEach(f => { @@ -5544,6 +5631,7 @@ let declarefields = [] let fields = [] + let upFields = [] forms.forEach(col => { let key = col.field.toLowerCase() @@ -5551,15 +5639,27 @@ declarefields.push(`${col.field} ${col.datatype}`) fields.push(col.field) + upFields.push(`${col.field}=t.${col.field}`) }) fields = fields.join(',') + upFields = upFields.join(',') let _insert = '' if (btn.default !== 'false') { _insert = ` /* 榛樿sql */ - Insert into ${database}${sheet} (${fields},createuserid,createuser,createstaff,bid) + update a set ${upFields},modifydate=getdate(),modifyuserid=@UserID@,modifyuser=@username,modifystaff=@fullname,deleted=0 + from (select * from #${sheet} where data_type='upt') t + inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'} + + update a set deleted=1,modifydate=getdate(),modifyuserid=@UserID@,modifyuser=@username,modifystaff=@fullname + from (select * from #${sheet} where data_type='del') t + inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'} + + delete t from #${sheet} t inner join ${database}${sheet} a on t.jskey=a.${setting.primaryKey || 'id'} + + Insert into ${database}${sheet} (${fields},createuserid,createuser,createstaff,bid) Select ${fields},@UserID@,@username,@fullname,@BID@ From #${sheet} ` } -- Gitblit v1.8.0