From 75623dd039b742dbb44fb4c6b4af563404ed9c7f Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 03 二月 2020 16:06:04 +0800 Subject: [PATCH] 2020-02-03 --- src/utils/utils.js | 59 +++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 37 insertions(+), 22 deletions(-) diff --git a/src/utils/utils.js b/src/utils/utils.js index f4c00ea..3492fa5 100644 --- a/src/utils/utils.js +++ b/src/utils/utils.js @@ -405,37 +405,39 @@ } /** - * @description 鑾峰彇涓嬫媺鎼滅储鏌ヨsql + * @description 鑾峰彇涓嬫媺鎼滅储鏌ヨ鏉′欢 * @return {String} item 鎼滅储鏉′欢淇℃伅 */ - static getSelectQuerySql (item) { + static getSelectQueryOptions (item) { + let arrfield = [item.valueField, item.valueText] + + if (item.type === 'link') { + arrfield.push(item.linkField) + } else if (item.type === 'select' && item.linkSubField && item.linkSubField.length > 0) { + arrfield.push(...item.linkSubField) + } + + arrfield = Array.from(new Set(arrfield)) + let _datasource = item.dataSource let sql = '' - let _field = item.valueField + ',' + item.valueText - - if (item.valueField === item.valueText) { - _field = item.valueField - } if (/\s/.test(_datasource)) { // 鎷兼帴鍒悕 _datasource = '(' + _datasource + ') tb' } - if (item.type === 'link') { - sql = 'select ' + _field + ',' + item.linkField + ' from ' + _datasource - } else { - let _linkSubField = '' // 涓嬫媺鑿滃崟鍏宠仈琛ㄥ崟 - if (item.linkSubField && item.linkSubField.length > 0) { - _linkSubField = ',' + item.linkSubField.join(',') - } - sql = 'select ' + _field + _linkSubField + ' from ' + _datasource - } + arrfield = arrfield.join(',') if (item.orderBy) { - sql = sql + ' order by ' + item.orderBy + ' ' + item.orderType + sql = 'select distinct ' + arrfield + ',' + item.orderBy + ' as orderfield from ' + _datasource + ' order by orderfield ' + item.orderType + } else { + sql = 'select distinct ' + arrfield + ' from ' + _datasource } - return sql + return { + sql: sql, + field: arrfield + } } /** @@ -546,14 +548,21 @@ }) } - if (verify && verify.billcodes.length > 0) { + if (verify && verify.billcodes.length > 0) { // 鍗曞彿鐢熸垚 verify.billcodes.forEach(item => { let _ModularDetailCode = '' if (item.TypeCharOne === 'Lp' || item.TypeCharOne === 'BN') { - _ModularDetailCode = item.TypeCharOne + item.linkField + let _val = '' + if (item.linkField === 'BID' && BID) { // 鏇挎崲bid + _val = BID + } else if (data.hasOwnProperty(item.linkField)) { + _val = data[item.linkField] + } + _ModularDetailCode = item.TypeCharOne + _val } else { _ModularDetailCode = item.ModularDetailCode } + _sql += `Declare @${item.field} nvarchar(50) select @BillCode='', @${item.field}='' exec s_get_BillCode @@ -598,7 +607,10 @@ let keys = [] let values = [] formdata.forEach(item => { - if (item.type === 'number') { + if (item.type === 'funcvar') { + keys.push(item.key) + values.push('@' + item.key) + } else if (item.type === 'number') { keys.push(item.key) values.push(item.value) } else { @@ -606,6 +618,7 @@ values.push('\'' + item.value + '\'') } }) + keys = keys.join(',') values = values.join(',') _sql += `declare @UserName nvarchar(50),@FullName nvarchar(50) @@ -615,7 +628,9 @@ } else if (btn.OpenType === 'pop' && btn.sqlType === 'update') { let _form = [] formdata.forEach(item => { - if (item.type === 'number') { + if (item.type === 'funcvar') { + _form.push(item.key + '=@' + item.key) + } else if (item.type === 'number') { _form.push(item.key + '=' + item.value) } else { _form.push(item.key + '=\'' + item.value + '\'') -- Gitblit v1.8.0