From 8a6ce370f1aa1c061b76fa3e9d2d4d1df53ca4c5 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 21 五月 2024 16:38:09 +0800 Subject: [PATCH] Merge branch 'master' into positec --- src/menu/datasource/verifycard/index.jsx | 43 ++++++++++++++++++++++++++++++++++++++----- 1 files changed, 38 insertions(+), 5 deletions(-) diff --git a/src/menu/datasource/verifycard/index.jsx b/src/menu/datasource/verifycard/index.jsx index d083aa3..8fb10d0 100644 --- a/src/menu/datasource/verifycard/index.jsx +++ b/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)) { @@ -679,7 +681,7 @@ _columns = [...columns, ...subColumns] } - let r = SettingUtils.getDebugSql(setting, _scripts, _columns, searches, config.subtype) + let r = SettingUtils.getDebugSql(setting, _scripts, _columns, searches, config.subtype, config.hasExtend) let _debugId = md5(r.sql) @@ -959,6 +961,7 @@ } copyColumns = () => { + const { config } = this.props const { columns, setting } = this.state let m = [] @@ -983,13 +986,40 @@ 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)) insert into #${setting.tableName || 'tb'} (${n.join(',')}) select ${n.join(',')} - from ${setting.dataresource ? `(${setting.dataresource}) tb` : setting.tableName || 'tb'} + from ${setting.dataresource ? `(${setting.dataresource.replace(/\n/g, ' ')}) tb` : setting.tableName || 'tb'} order by @orderBy@ declare @mk_total int @@ -1003,7 +1033,9 @@ delete #${setting.tableName || 'tb'} where sort_id > @pageIndex@*@pageSize@ if @pageIndex_top > 0 - delete #${setting.tableName || 'tb'} where sort_id <= @pageIndex_top` + delete #${setting.tableName || 'tb'} where sort_id <= @pageIndex_top + + drop table #${setting.tableName || 'tb'}${extend}` document.body.appendChild(oInput) oInput.select() @@ -1215,6 +1247,7 @@ }}/> : null} <CustomScriptsForm type={config.type} + hasExtend={config.hasExtend} setting={setting} searches={searches} defaultsql={defaultsql} -- Gitblit v1.8.0