From d1cd5af5adb53e91efdd278328e1b6f8ad834fb5 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 06 二月 2025 21:11:56 +0800 Subject: [PATCH] Merge branch 'positec' into dms --- src/utils/utils-custom.js | 135 ++++++++++++++++++++++++++++++--------------- 1 files changed, 90 insertions(+), 45 deletions(-) diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index 660986e..59eee91 100644 --- a/src/utils/utils-custom.js +++ b/src/utils/utils-custom.js @@ -451,11 +451,7 @@ card.elements = card.elements.map(cell => { if (cell.eleType === 'button') { cell.uuid = md5(commonId + cell.uuid) - if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) { - cell.pageTemplate = '' - cell.linkmenu = '' - } - this.resetBtn(cell, commonId) + this.resetBtn(cell, commonId, clear) } else { cell.uuid = this.getuuid() } @@ -467,11 +463,7 @@ card.backElements = card.backElements.map(cell => { if (cell.eleType === 'button') { cell.uuid = md5(commonId + cell.uuid) - if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) { - cell.pageTemplate = '' - cell.linkmenu = '' - } - this.resetBtn(cell, commonId) + this.resetBtn(cell, commonId, clear) } else { cell.uuid = this.getuuid() } @@ -491,11 +483,7 @@ item.elements = item.elements.map(cell => { if (cell.eleType === 'button') { cell.uuid = md5(commonId + cell.uuid) - if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) { - cell.pageTemplate = '' - cell.linkmenu = '' - } - this.resetBtn(cell, commonId) + this.resetBtn(cell, commonId, clear) } else { cell.uuid = this.getuuid() } @@ -528,12 +516,7 @@ cell.uuid = md5(commonId + cell.uuid) if (cell.eleType === 'button') { - if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) { - cell.pageTemplate = '' - cell.linkmenu = '' - } - - this.resetBtn(cell, commonId) + this.resetBtn(cell, commonId, clear) } return cell @@ -572,11 +555,15 @@ }) if (cell.subButton) { - this.resetBtn(cell.subButton, commonId) + this.resetBtn(cell.subButton, commonId, clear) } return cell }) + } else if (item.type === 'login') { + if (clear) { + item.wrap.linkmenu = '' + } } if (item.btnlog) { @@ -587,12 +574,7 @@ item.action = item.action.map(cell => { cell.uuid = md5(commonId + cell.uuid) - if (clear && cell.pageTemplate === 'linkpage' && cell.linkmenu) { - cell.pageTemplate = '' - cell.linkmenu = '' - } - - this.resetBtn(cell, commonId) + this.resetBtn(cell, commonId, clear) return cell }) @@ -650,7 +632,7 @@ /** * @description 鎸夐挳閲嶇疆 */ - static resetBtn (btn, commonId) { + static resetBtn (btn, commonId, clear = false) { if (btn.OpenType === 'pop' || (btn.OpenType === 'funcbutton' && btn.execMode === 'pop')) { if (btn.modal && btn.modal.fields && btn.modal.fields.length > 0) { btn.modal.fields = btn.modal.fields.map(m => { @@ -659,6 +641,16 @@ }) } } + + if (clear) { + if (btn.pageTemplate === 'linkpage') { + btn.pageTemplate = '' + } + delete btn.linkmenu + delete btn.openmenu + delete btn.refreshTab + } + if (btn.switchTab && btn.switchTab.length > 0) { btn.switchTab = btn.switchTab.map(m => md5(commonId + m)) } @@ -666,6 +658,15 @@ btn.anchors = btn.anchors.map(m => md5(commonId + m)) } if (btn.syncComponent && btn.syncComponent[0] === 'multiComponent' && btn.syncComponents) { + if (btn.syncComponents[0] && Array.isArray(btn.syncComponents[0])) { + btn.syncComponents = btn.syncComponents.map((item, i) => { + return { + syncComId: item, + label: '', + uuid: 'fixed' + i + } + }) + } btn.syncComponents = btn.syncComponents.map(m => { m.syncComId = m.syncComId.map(n => { if (/\$focus/.test(n)) { @@ -1960,14 +1961,14 @@ if (cell.OpenType === 'form' && cell.formType === 'count_line') return if (cell.intertype === 'system') { - if (cell.Ot === 'notRequired' && cell.verify && cell.verify.voucher && cell.verify.voucher.enabled) { - errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅娇鐢ㄤ簡鍒涘缓鍑瘉鍑芥暟锛岄渶瑕侀�夋嫨琛岋紒`}) - } + // if (cell.Ot === 'notRequired' && cell.verify && cell.verify.voucher && cell.verify.voucher.enabled) { + // errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅娇鐢ㄤ簡鍒涘缓鍑瘉鍑芥暟锛岄渶瑕侀�夋嫨琛岋紒`}) + // } } else if (cell.intertype === 'custom' || cell.intertype === 'outer') { if (cell.callbackType === 'script' && (!cell.verify || !cell.verify.cbScripts || cell.verify.cbScripts.filter(item => item.status !== 'false').length === 0)) { errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅娇鐢ㄤ簡鑷畾涔夎剼鏈洖璋冿紝鍥炶皟鑴氭湰涓嶅彲涓虹┖锛乣}) - } else if (cell.procMode === 'system' && cell.Ot === 'notRequired' && cell.verify && cell.verify.voucher && cell.verify.voucher.enabled) { - errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅娇鐢ㄤ簡鍒涘缓鍑瘉鍑芥暟锛岄渶瑕侀�夋嫨琛岋紒`}) + // } else if (cell.procMode === 'system' && cell.Ot === 'notRequired' && cell.verify && cell.verify.voucher && cell.verify.voucher.enabled) { + // errors.push({ level: 0, detail: `鎸夐挳鈥�${cell.label}鈥濅娇鐢ㄤ簡鍒涘缓鍑瘉鍑芥暟锛岄渶瑕侀�夋嫨琛岋紒`}) } } } else if (cell.OpenType === 'funcbutton') { @@ -3532,6 +3533,11 @@ isconst: item.constant === 'true' } + if (item.type === 'linkMain' && item.verifyVal === 'true') { + _item.$verify = true + _item.label = item.label + } + if (_item.type === 'datemonth') { _item.type = 'text' } else if (_item.type === 'number' || _item.type === 'rate') { @@ -3570,8 +3576,19 @@ formdata.push(item) } + let verifyValSql = '' // 鑾峰彇瀛楁閿�煎 formdata && formdata.forEach(form => { + if (form.$verify) { + verifyValSql += ` + if @${form.key}=${form.type === 'number' ? 0 : `''`} + begin + select @errorcode='E',@retmsg='${form.label}锛屽叧鑱斾富琛ㄥけ鏁�' + goto aaa + end + ` + } + let _key = form.key.toLowerCase() if (!formkeys.includes(_key)) { @@ -3746,22 +3763,21 @@ if (formdata && verify.billcodes && verify.billcodes.length > 0) { verify.billcodes.forEach(item => { let _key = item.field.toLowerCase() - let _linkKey = item.linkField ? item.linkField.toLowerCase() : '' if (!formkeys.includes(_key)) return // 琛ㄥ崟涓笉鍚崟鍙风敓鎴愬瓧娈� let _lpline = '' if (item.TypeCharOne === 'Lp') { - if (_linkKey === 'bid' && BID) { // 鏇挎崲bid + if (/^BID$/ig.test(item.linkField)) { _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@BID@,48)` } else { - _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${_linkKey},48)` + _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${item.linkField},48)` } } else if (item.TypeCharOne === 'BN') { - if (_linkKey === 'bid' && BID) { // 鏇挎崲bid + if (/^BID$/ig.test(item.linkField)) { _lpline = `set @ModularDetailCode= 'BN'+ right(@BID@,48)` } else { - _lpline = `set @ModularDetailCode= 'BN'+ right(@${_linkKey},48)` + _lpline = `set @ModularDetailCode= 'BN'+ right(@${item.linkField},48)` } } else { _lpline = `set @ModularDetailCode= right('${item.ModularDetailCode}',50)` @@ -3874,15 +3890,20 @@ let hasvoucher = false // 鍑瘉-鏄剧ず鍒椾腑閫夊彇,蹇呴』閫夎 - if (verify.voucher && verify.voucher.enabled && btn.Ot !== 'requiredOnce') { + if (verify.voucher && verify.voucher.enabled) { let _voucher = verify.voucher + let linkField = `@${_voucher.linkField}` + + if (/^BID$/ig.test(_voucher.linkField)) { + linkField = BID + } hasvoucher = true _sql += ` /* 鍒涘缓鍑瘉 */ exec s_BVoucher_Create - @Bill ='0', + @Bill = ${linkField}, @BVoucherType ='${_voucher.BVoucherType}', @VoucherTypeOne ='${_voucher.VoucherTypeOne}', @VoucherTypeTwo ='${_voucher.VoucherTypeTwo}', @@ -4077,7 +4098,9 @@ _sql += ` /* 宸ヤ綔娴佸紓甯竤ql */ if @works_flow_error@ != '' - select @ErrorCode='E',@retmsg=@works_flow_error@ goto aaa + begin + select @ErrorCode='E',@retmsg=@works_flow_error@ goto aaa + end /* 宸ヤ綔娴侀粯璁ql */ insert into s_my_works_flow (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,work_group,works_flow_detail_id,work_grade,bid,createuserid,CreateUser,CreateStaff,upid) @@ -4096,7 +4119,9 @@ _sql += ` /* 宸ヤ綔娴佸紓甯竤ql */ if @works_flow_error@ != '' - select @ErrorCode='E',@retmsg=@works_flow_error@ goto aaa + begin + select @ErrorCode='E',@retmsg=@works_flow_error@ goto aaa + end if @works_flow_countersign@ = 'Y' begin @@ -4270,6 +4295,10 @@ } } else if (_backCustomScript) { _sql += _backCustomScript + } + + if (verifyValSql) { + _sql += verifyValSql } if (verify.workFlow === 'true' && process) { @@ -5228,7 +5257,9 @@ sql += ` /* 宸ヤ綔娴佸紓甯竤ql */ if @works_flow_error@ != '' - select @ErrorCode='E',@retmsg=@works_flow_error@ goto aaa + begin + select @ErrorCode='E',@retmsg=@works_flow_error@ goto aaa + end /* 宸ヤ綔娴侀粯璁ql */ insert into s_my_works_flow (works_flow_id,works_flow_code,works_flow_name,works_flow_param,status,statusname,work_group,works_flow_detail_id,work_grade,bid,createuserid,CreateUser,CreateStaff,upid) @@ -5457,6 +5488,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 => { @@ -5513,6 +5545,7 @@ let declarefields = [] let fields = [] + let upFields = [] forms.forEach(col => { let key = col.field.toLowerCase() @@ -5520,15 +5553,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