From bc5ec1017fd8a140ec5c30ea9e8ea839d5bf1bda Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 15 十二月 2020 16:22:20 +0800 Subject: [PATCH] 2020-12-15 --- src/utils/utils.js | 99 +++++++++++++++++++++++++++++-------------------- 1 files changed, 59 insertions(+), 40 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index 4631294..cca9ea7 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -440,7 +440,7 @@ newsearches[item.key] = item.value ? item.value[0] + ' 00:00:00.000' : '' newsearches[item.key + '1'] = item.value ? _endval + ' 00:00:00.000' : '' - } else if (item.type === 'text') { + } else if (item.type === 'text' || item.type === 'select') { item.key.split(',').forEach(field => { // 缁煎悎鎼滅储锛屾墍瀛楁鎷兼帴 newsearches[field] = item.value }) @@ -473,17 +473,13 @@ if (item.forbid || !item.value || (item.type === 'multiselect' && item.value.length === 0)) return searchText += (searchText !== '' ? ' AND ' : '') - if (item.type === 'text') { + if (item.type === 'text' || item.type === 'select') { // 缁煎悎鎼滅储锛屾枃鏈垨涓嬫媺锛屾墍鏈夊瓧娈垫嫾鎺� let str = item.match === '=' ? '' : '%' - let fields = item.key.split(',').map(field => { // 缁煎悎鎼滅储锛屾墍瀛楁鎷兼帴 + let fields = item.key.split(',').map(field => { return field + ' ' + item.match + ' \'' + str + item.value + str + '\'' }) searchText += '(' + fields.join(' OR ') + ')' - } else if (item.type === 'select') { - let str = item.match === '=' ? '' : '%' - - searchText += item.key + ' ' + item.match + ' \'' + str + item.value + str + '\'' } else if (item.type === 'multiselect') { searchText += `'${item.value}' ` + item.match + ' \'%\'+' + item.key + '+\'%\'' @@ -595,12 +591,12 @@ item.value = item.value ? item.value.join(',') : item.value options.push(item) - } else if (item.type === 'text') { + } else if (item.type === 'text' || item.type === 'select') { item.key.split(',').forEach(field => { // 缁煎悎鎼滅储锛屾墍瀛楁鎷兼帴 let cell = JSON.parse(JSON.stringify(item)) cell.key = field - options.push(item) + options.push(cell) }) } else { options.push(item) @@ -645,6 +641,13 @@ options.push({ key: item.key + '1', value: '0' + }) + } else if (search.type === 'text' || search.type === 'select') { + item.key.split(',').forEach(field => { + let cell = JSON.parse(JSON.stringify(item)) + cell.key = field + + options.push(cell) }) } else { options.push(item) @@ -1052,7 +1055,7 @@ let primaryId = param.ID let BID = param.BID let verify = btn.verify || {} - let _formFieldValue = {} + let datavars = {} // 澹版槑鐨勫彉閲忥紝琛ㄥ崟鍙婃樉绀哄垪 let _actionType = null let appkey = window.GLOB.appkey || '' let sessionUid = localStorage.getItem('SessionUid') || '' @@ -1108,8 +1111,8 @@ form.value = form.value.replace(/^(\s*)@bid@(\s*)$/ig, BID) } - _formFieldValue[form.key] = form.value let _key = form.key.toLowerCase() + datavars[_key] = form.value if (!_initvars.includes(_key)) { _initvars.push(_key) @@ -1147,15 +1150,22 @@ } }) + if (data) { + Object.keys(data).forEach(key => { + data[key.toLowerCase()] = data[key] + }) + } + // 娣诲姞鏁版嵁涓瓧娈碉紝琛ㄥ崟鍊间紭鍏�(鎸夐挳涓嶉�夎鎴栧琛屾嫾鎺ユ椂璺宠繃) if (data && btn.Ot !== 'notRequired' && btn.Ot !== 'requiredOnce') { - _formFieldValue = {...data, ..._formFieldValue} + datavars = {...data, ...datavars} + const setField = (col) => { if (!col.field) return let _key = col.field.toLowerCase() if (!_initvars.includes(_key)) { - let _val = data.hasOwnProperty(col.field) ? data[col.field] : '' + let _val = datavars.hasOwnProperty(_key) ? datavars[_key] : '' _initvars.push(_key) _initColfields.push(`@${_key}='${_val}'`) @@ -1256,9 +1266,18 @@ // 鍚敤璐︽湡楠岃瘉 if (verify.accountdate === 'true') { + let orgcode = `''` + let date = `''` + if (verify.accountfield && _initvars.includes(verify.accountfield.toLowerCase())) { + orgcode = '@' + verify.accountfield + } + if (verify.voucherdate && _initvars.includes(verify.voucherdate.toLowerCase())) { + date = '@' + verify.voucherdate + } + _sql += ` /* 璐︽湡楠岃瘉 */ - exec s_FIBVoucherDateCheck @ErrorCode=@ErrorCode OUTPUT,@retmsg=@retmsg OUTPUT + exec s_FIBVoucherDateCheck @OrgCode=${orgcode},@FIBVoucherDate=${date},@ErrorCode=@ErrorCode OUTPUT,@retmsg=@retmsg OUTPUT if @ErrorCode!='' GOTO aaa ` @@ -1339,23 +1358,26 @@ let keys = formdata.map(item => item.key.toLowerCase()) // 琛ㄥ崟瀛楁 verify.billcodes.forEach(item => { - if (!keys.includes(item.field.toLowerCase())) return // 琛ㄥ崟涓笉鍚崟鍙风敓鎴愬瓧娈� + let _key = item.field.toLowerCase() + let _linkKey = item.linkField ? item.linkField.toLowerCase() : '' + + if (!keys.includes(_key)) return // 琛ㄥ崟涓笉鍚崟鍙风敓鎴愬瓧娈� let _ModularDetailCode = '' let _lpline = '' if (item.TypeCharOne === 'Lp') { - if (item.linkField === 'BID' && BID) { // 鏇挎崲bid + if (_linkKey === 'bid' && BID) { // 鏇挎崲bid _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@BID@,48)` } else { - _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${item.linkField},48)` + _lpline = `set @ModularDetailCode= 'Lp'+ right('${item.mark || btn.uuid}'+@${_linkKey},48)` } _ModularDetailCode = '@ModularDetailCode' } else if (item.TypeCharOne === 'BN') { let _val = '' - if (item.linkField === 'BID' && BID) { // 鏇挎崲bid + if (_linkKey === 'bid' && BID) { // 鏇挎崲bid _val = BID - } else if (data && data.hasOwnProperty(item.linkField)) { - _val = data[item.linkField] + } else if (data && data.hasOwnProperty(_linkKey)) { + _val = data[_linkKey] } _ModularDetailCode = `'${item.TypeCharOne + _val}'` } else { @@ -1363,7 +1385,6 @@ } let _declare = '' - let _key = item.field.toLowerCase() if (!_vars.includes(_key)) { _declare = `Declare @${_key} nvarchar(50)` @@ -1396,12 +1417,6 @@ // 鍞竴鎬ч獙璇侊紝蹇呴』瀛樺湪琛ㄥ崟锛堣〃鍗曞瓨鍦ㄦ椂锛屼富閿潎涓哄崟鍊硷級,蹇呴』濉啓鏁版嵁婧愶紝澶氳鎷兼帴鏃朵笉鍙敤 if (formdata && verify.uniques && verify.uniques.length > 0 && btn.Ot !== 'requiredOnce') { - let hasBid = false // 妫�楠岃〃鍗曞強鍒楀瓧娈典腑鏄惁鏈塨id - let _keys_ = Object.keys(_formFieldValue).map(key => key.toLowerCase()) - if (_keys_.includes('bid')) { - hasBid = true - } - verify.uniques.forEach(item => { let _fieldValue = [] // 琛ㄥ崟閿�煎field=value let _value = [] // 琛ㄥ崟鍊硷紝鐢ㄤ簬閿欒鎻愮ず @@ -1409,20 +1424,22 @@ let arr = [] // 楠岃瘉涓婚敭 item.field.split(',').forEach((_field, index) => { - let _fval = `'${_formFieldValue[_field]}'` + let _key = _field.toLowerCase() + let _val = datavars[_key] !== undefined ? datavars[_key] : '' + let _fval = `'${_val}'` - if (_field.toLowerCase() === 'bid' && !hasBid) { // 琛ㄥ崟涓病鏈塨id鍒欎娇鐢ㄧ郴缁焍id鍙橀噺 + if (_key === 'bid' && !datavars.bid) { // 琛ㄥ崟涓病鏈塨id鍒欎娇鐢ㄧ郴缁焍id鍙橀噺 _fval = '@BID@' } - if (_field.toLowerCase() === 'bid' && tab && tab.foreignKey) { + if (_key === 'bid' && tab && tab.foreignKey) { arr.push(tab.foreignKey.toLowerCase()) _fieldValue.push(`${tab.foreignKey}=${_fval}`) } else { - arr.push(_field.toLowerCase()) - _fieldValue.push(`${_field}=${_fval}`) + arr.push(_key) + _fieldValue.push(`${_key}=${_fval}`) } - _value.push(`${_labels[index] || ''}锛�${_formFieldValue[_field] || ''}`) + _value.push(`${_labels[index] || ''}锛�${_val || ''}`) }) let _verifyType = '' @@ -1489,7 +1506,7 @@ _sql += ` /* 鍒涘缓鍑瘉 */ exec s_BVoucher_Create - @Bill ='${data[_voucher.linkField]}', + @Bill ='${data[_voucher.linkField.toLowerCase()]}', @BVoucherType ='${_voucher.BVoucherType}', @VoucherTypeOne ='${_voucher.VoucherTypeOne}', @VoucherTypeTwo ='${_voucher.VoucherTypeTwo}', @@ -1514,9 +1531,10 @@ formdata.forEach(item => { if (item.writein === false) return + let _key = item.key.toLowerCase() - keys.push(item.key.toLowerCase()) - values.push('@' + item.key) + keys.push(_key) + values.push('@' + _key) }) if (!keys.includes(primaryKey.toLowerCase())) { @@ -1537,13 +1555,13 @@ } if (!keys.includes('bid')) { if (tab && tab.foreignKey && !keys.includes(tab.foreignKey.toLowerCase())) { - keys.push(tab.foreignKey) + keys.push(tab.foreignKey.toLowerCase()) } else { keys.push('bid') } values.push('@BID@') } else if (tab && tab.foreignKey && !keys.includes(tab.foreignKey.toLowerCase())) { - keys.push(tab.foreignKey) + keys.push(tab.foreignKey.toLowerCase()) values.push('@BID@') } @@ -1559,9 +1577,10 @@ formdata.forEach(item => { if (item.writein === false) return + let _key = item.key.toLowerCase() - _arr.push(item.key.toLowerCase()) - _form.push(item.key + '=@' + item.key) + _arr.push(_key) + _form.push(_key + '=@' + _key) }) if (_actionType === 'audit') { -- Gitblit v1.8.0