king
2020-04-14 b24691f4e391e80607532fe66087bde015ee2dee
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