| | |
| | | |
| | | if (item.subtype === 'editable' && item.submit.intertype === 'system') { |
| | | item.submit.logLabel = item.$menuname + '-提交' |
| | | let msg = getEditTableSql(item.submit, item.cols, item.columns) |
| | | let msg = getEditTableSql(item.submit, item.cols, item.columns, item.setting) |
| | | |
| | | sqls.push({uuid: 'submit_' + item.uuid, type: 'editable', ...msg}) |
| | | } |
| | |
| | | return {LText: sql, md5: md5(sql), reps} |
| | | } |
| | | |
| | | let getEditTableSql = (btn, cols, columns) => { |
| | | let getEditTableSql = (btn, cols, columns, setting) => { |
| | | let sheet = btn.sheet.replace(/@db@/ig, '') |
| | | let database = '' |
| | | if (/@db@/ig.test(btn.sheet)) { |
| | |
| | | } |
| | | |
| | | let forms = [] |
| | | let _fields = {} |
| | | |
| | | columns.forEach(col => { |
| | | _fields[col.field] = col.datatype |
| | | }) |
| | | let _forms = {} |
| | | let index = 0 |
| | | |
| | | let getColumns = (cols) => { |
| | | cols.forEach(item => { |
| | | if (item.type === 'colspan') { |
| | | getColumns(item.subcols) |
| | | } else if (item.editable === 'true') { |
| | | forms.push({ |
| | | field: item.field, |
| | | type: item.type, |
| | | datatype: _fields[item.field] || 'nvarchar(50)' |
| | | }) |
| | | item.$sort = index |
| | | _forms[item.field] = item |
| | | index++ |
| | | } |
| | | }) |
| | | } |
| | | |
| | | getColumns(cols) |
| | | |
| | | columns.forEach(item => { |
| | | if (item.field === setting.primaryKey) return |
| | | |
| | | if (_forms[item.field]) { |
| | | let _item = {..._forms[item.field]} |
| | | if (_item.editType === 'date') { |
| | | _item.datatype = _item.declareType || 'datetime' |
| | | } else { |
| | | _item.datatype = item.datatype |
| | | } |
| | | |
| | | forms.push(_item) |
| | | } else { |
| | | forms.push({...item, $sort: 999}) |
| | | } |
| | | }) |
| | | |
| | | forms.sort((a, b) => a.$sort - b.$sort) |
| | | |
| | | let sql = '' |
| | | |
| | | let _initCustomScript = '' // 初始化脚本 |