From b24691f4e391e80607532fe66087bde015ee2dee Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 14 四月 2020 15:34:08 +0800 Subject: [PATCH] 2020-04-14 --- src/templates/zshare/verifycard/index.jsx | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 54 insertions(+), 4 deletions(-) diff --git a/src/templates/zshare/verifycard/index.jsx b/src/templates/zshare/verifycard/index.jsx index ce85f97..9d8f8bf 100644 --- a/src/templates/zshare/verifycard/index.jsx +++ b/src/templates/zshare/verifycard/index.jsx @@ -406,26 +406,76 @@ _fields.push(...group.sublist) }) - let _usefulfields = ['BID', 'ID', 'LoginUID', 'SessionUid', 'UserID', 'Appkey'] + let _usefulfields = ['BID', 'ID', 'LoginUID', 'SessionUid', 'UserID', 'Appkey', 'UserName', 'FullName'] + let _declare = ['@UserName nvarchar(50)', '@FullName nvarchar(50)', '@ErrorCode nvarchar(50)', '@retmsg nvarchar(4000)'] + let _select = ['@UserName=\'\'', '@FullName=\'\'', '@ErrorCode=\'\'', '@retmsg=\'\''] + let fieldArr = _usefulfields.map(_f => _f.toLowerCase()) + _fields.forEach(_f => { if (_f.field) { + if (fieldArr.includes(_f.field.toLowerCase())) return + fieldArr.push(_f.field.toLowerCase()) + _usefulfields.push(_f.field) + + let _fieldlen = _f.fieldlength || 50 + + if (['textarea', 'fileupload', 'multiselect'].includes(_f.type)) { + _fieldlen = _f.fieldlength || 512 + } else if (_f.type === 'number') { + _fieldlen = _f.decimal ? _f.decimal : 0 + } + + let _type = `nvarchar(${_fieldlen})` + + if (_f.type.match(/date/ig)) { + _type = 'datetime' + _select.push(`@${_f.field}='1900-01-01'`) + } else if (_f.type === 'number') { + _type = `decimal(18,${_fieldlen})` + _select.push(`@${_f.field}=0`) + } else { + _select.push(`@${_f.field}=''`) + } + + _declare.push(`@${_f.field} ${_type}`) } }) if (columns && columns.length > 0 && this.props.btnTab.Ot !== 'notRequired') { columns.forEach(_f => { - if (_f.field) { - _usefulfields.push(_f.field) + if (!_f.field || fieldArr.includes(_f.field.toLowerCase())) return + + fieldArr.push(_f.field.toLowerCase()) + + _usefulfields.push(_f.field) + + let _type = `nvarchar(${_f.fieldlength || 50})` + + if (_f.type === 'number') { + _type = `decimal(18,${_f.decimal ? _f.decimal : 0})` + } else if (_f.type === 'picture' || _f.type === 'textarea') { + _type = `nvarchar(${_f.fieldlength || 512})` } + + if (_f.type === 'number') { + _select.push(`@${_f.field}=0`) + } else { + _select.push(`@${_f.field}=''`) + } + + _declare.push(`@${_f.field} ${_type}`) }) } - _usefulfields = Array.from(new Set(_usefulfields)) _usefulfields = _usefulfields.join(', ') + let _sql = `Declare ${_declare.join(', ')} + Select ${_select.join(', ')} + ` this.setState({ fields: _fields, + initsql: _sql, usefulfields: _usefulfields }) return -- Gitblit v1.8.0