king
2024-05-21 66bdbc1df92e8ec4a5108a4e0323e25a7b9ff8f8
src/menu/datasource/verifycard/index.jsx
@@ -216,9 +216,11 @@
    let columns = config.columns ? fromJS(config.columns).toJS() : []
    let subColumns = config.subColumns ? fromJS(config.subColumns).toJS() : []
    columns.reverse()
    if (!config.fixedCol) {
      columns.reverse()
    }
    subColumns.reverse()
    columns.forEach(col => {
      if (!col.datatype) return
      if (/^nvarchar/.test(col.datatype)) {
@@ -959,6 +961,7 @@
  }
  copyColumns = () => {
    const { config } = this.props
    const { columns, setting } = this.state
    let m = []
@@ -983,6 +986,33 @@
      console.info('select ' + s.join(', '))
    }
    let extend = ''
    if (config.hasExtend) {
      extend = []
      let mapCol = (cols) => {
        cols.forEach(col => {
          if (col.type === 'extend') {
            let datatype = 'Nvarchar(50)'
            columns.forEach(c => {
              if (c.field === col.field) {
                datatype = c.datatype
              }
            })
            for (let i = 1; i < col.quota; i++) {
              extend.push(`${col.field}${i} ${datatype}`)
            }
          } else if (col.type === 'colspan' && col.subcols) {
            mapCol(col.subcols)
          }
        })
      }
      mapCol(config.cols)
      extend = `
      /* 扩展列字段 */
      /* ${extend.join(',')} */
      `
    }
    let oInput = document.createElement('input')
    oInput.value = `create table #${setting.tableName || 'tb'}
    (${m.join(',')},sort_id INT IDENTITY(1,1))
@@ -1005,7 +1035,7 @@
      if @pageIndex_top > 0
        delete #${setting.tableName || 'tb'} where sort_id <= @pageIndex_top
    drop table #${setting.tableName || 'tb'}`
    drop table #${setting.tableName || 'tb'}${extend}`
    document.body.appendChild(oInput)
    oInput.select()