| | |
| | | getCallBackSql = (result, record) => { |
| | | const { btn } = this.props |
| | | let lines = [] |
| | | let pre = btn.callbackType === 'script' ? '@' : '' |
| | | let pre = '' |
| | | let tables = [] |
| | | |
| | | if (btn.callbackType === 'script') { // 使用自定义脚本 |
| | | pre = '@' |
| | | |
| | | btn.verify.cbScripts.forEach(script => { |
| | | if (script.status === 'false') return |
| | | |
| | | if (/\s#[a-z0-9_]+(\s|\()/ig.test(script.sql)) { |
| | | tables.push(...script.sql.match(/\s#[a-z0-9_]+(\s|\()/ig)) |
| | | } |
| | | }) |
| | | |
| | | tables = tables.map(tb => tb.replace(/\s|\(/g, '')) |
| | | } |
| | | |
| | | let errSql = '' |
| | | if (result.$ErrCode === 'E') { |
| | |
| | | let vals = [] |
| | | let subObjs = [] |
| | | let id = Utils.getuuid() |
| | | let tbName = pre + tb |
| | | |
| | | if (tables.includes('#' + tb)) { |
| | | tbName = '#' + tb |
| | | } |
| | | |
| | | delete obj.$$key |
| | | |
| | |
| | | |
| | | lines.push({ |
| | | table: md5(tb + keys), |
| | | insert: `Insert into ${pre}${tb} (${keys},[mk_level],[mk_id],[mk_bid])`, |
| | | insert: `Insert into ${tbName} (${keys},[mk_level],[mk_id],[mk_bid])`, |
| | | select: `Select ${vals.join(',')},'${level}','${id}','${bid}'` |
| | | }) |
| | | |
| | |
| | | } |
| | | |
| | | if (window.GLOB.debugger === true) { |
| | | console.info('%c' + btn.logLabel + '(回调)', 'color: blue') |
| | | console.info(sql.replace(/\n\s{8}/ig, '\n')) |
| | | } |
| | | |
| | |
| | | result.rduri = btn.interface |
| | | } |
| | | |
| | | if (/function:/i.test(result.rduri)) { |
| | | let rduri = result.rduri |
| | | try { |
| | | rduri = rduri.replace(/function:/i, '') |
| | | // eslint-disable-next-line |
| | | let func = new Function(rduri) |
| | | result.rduri = func() |
| | | } catch (e) { |
| | | console.warn(e) |
| | | } |
| | | } |
| | | |
| | | let host = window.GLOB.baseurl.replace(/http(s):\/\//, '') |
| | | if (result.rduri.indexOf(host) === -1 && /\/dostars/.test(result.rduri)) { |
| | | result.$login = true |