From 2ff464f30d94235b3ad04475593b75a74a354de9 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期四, 09 四月 2020 19:04:01 +0800 Subject: [PATCH] 2020-04-09 --- src/templates/zshare/verifycard/index.jsx | 94 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 84 insertions(+), 10 deletions(-) diff --git a/src/templates/zshare/verifycard/index.jsx b/src/templates/zshare/verifycard/index.jsx index c292b7b..452686b 100644 --- a/src/templates/zshare/verifycard/index.jsx +++ b/src/templates/zshare/verifycard/index.jsx @@ -28,6 +28,7 @@ state = { updateloading: false, // 淇敼涓� + initsql: '', // sql楠岃瘉鏃跺彉閲忓0鏄庡強璧嬪�� verify: {}, fields: [], usefulfields: '', @@ -457,11 +458,39 @@ } let _usefulfields = ['BID', 'ID', 'LoginUID', 'SessionUid', 'UserID', 'Appkey', 'UserName', 'FullName'] + let _declare = ['@UserName nvarchar(50)', '@FullName nvarchar(50)'] + let _select = ['@UserName=\'\'', '@FullName=\'\''] let hasBid = false + 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 (_f.field && _f.field.toLowerCase() === 'bid') { hasBid = true @@ -479,18 +508,38 @@ if (columns && columns.length > 0 && this.props.card.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 }) } else { @@ -503,20 +552,43 @@ }) } else { let _usefulfields = ['BID', 'ID', 'LoginUID', 'SessionUid', 'UserID', 'Appkey', 'UserName', 'FullName'] + let _declare = ['@UserName nvarchar(50)', '@FullName nvarchar(50)'] + let _select = ['@UserName=\'\'', '@FullName=\'\''] + let fieldArr = _usefulfields.map(_f => _f.toLowerCase()) if (columns && columns.length > 0 && this.props.card.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({ + initsql: _sql, usefulfields: _usefulfields }) } @@ -588,7 +660,7 @@ // 鑾峰彇鍑瘉浜岀骇鑿滃崟 let defer3 = new Promise(resolve => { - let _voucherSql = 'select ID,ModularCode+ModularName+ModularNo as NameNO,TypeCharOne from sModular where deleted=0' + let _voucherSql = 'select distinct ModularCode as ID,ModularCode+ModularName+ModularNo as NameNO,TypeCharOne from sModular where deleted=0 and Appkey=case when Appkey=\'\' then \'\' else @Appkey@ end order by ModularCode' _voucherSql = Utils.formatOptions(_voucherSql) let voucherParam = { @@ -616,7 +688,7 @@ // 鑾峰彇鍑瘉涓夌骇鑿滃崟 let defer4 = new Promise(resolve => { - let _voucherDetailSql = 'select ModularDetailCode,ModularDetailCode+ModularDetailName as CodeName,BID, VoucherTypeTwo, IDefine1 from sModularDetail where Deleted=0 and VoucherTypeTwo!=\'\'' + let _voucherDetailSql = 'select distinct ModularDetailCode,ModularDetailCode+ModularDetailName as CodeName,ModularCode as BID, VoucherTypeTwo, IDefine1 from sModularDetail where Deleted=0 and VoucherTypeTwo!=\'\' and Appkey=case when Appkey=\'\' then \'\' else @Appkey@ end order by ModularDetailCode' _voucherDetailSql = Utils.formatOptions(_voucherDetailSql) let voucherDetailParam = { @@ -1142,6 +1214,7 @@ <TabPane tab="鑷畾涔夐獙璇�" key="3"> <CustomForm dict={this.props.dict} + initsql={this.state.initsql} usefulfields={this.state.usefulfields} customChange={this.customChange} wrappedComponentRef={(inst) => this.customForm = inst} @@ -1190,6 +1263,7 @@ <TabPane tab="鑷畾涔夎剼鏈�" key="6"> <CustomScript usefulfields={this.state.usefulfields} + initsql={this.state.initsql} dict={this.props.dict} scriptsChange={this.scriptsChange} wrappedComponentRef={(inst) => this.scriptsForm = inst} -- Gitblit v1.8.0