From d070b123d97abba5317c0cb41148e392b5c620c2 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 14 九月 2024 11:32:57 +0800 Subject: [PATCH] 2024-09-14 --- src/utils/utils-custom.js | 77 +++++++++++++++++++++++++------------- 1 files changed, 50 insertions(+), 27 deletions(-) diff --git a/src/utils/utils-custom.js b/src/utils/utils-custom.js index 893d8aa..968cc1c 100644 --- a/src/utils/utils-custom.js +++ b/src/utils/utils-custom.js @@ -3129,7 +3129,7 @@ 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}) } @@ -3214,8 +3214,8 @@ // 鏁版嵁婧恠ql璇彞锛岄澶勭悊锛屾潈闄愰粦鍚嶅崟瀛楁璁剧疆涓洪殣钘忚〃鍗� if (['select', 'link', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(form.type) && form.resourceType === '1') { let msg = getFormSql(form, '琛ㄥ崟') - - sqls.push({uuid: form.uuid, type: 'form', ...msg}) + + sqls.push({uuid: md5(cell.uuid + form.uuid), type: 'form', ...msg}) } else if (form.type === 'popSelect') { let msg = getPopSelectSql(form) @@ -3248,7 +3248,7 @@ if (['select', 'link', 'multiselect', 'radio', 'checkbox', 'checkcard'].includes(form.type) && form.resourceType === '1') { let msg = getFormSql(form, '琛ㄥ崟') - sqls.push({uuid: form.uuid, type: 'form', ...msg}) + sqls.push({uuid: md5(cell.uuid + form.uuid), type: 'form', ...msg}) } else if (form.type === 'popSelect') { let msg = getPopSelectSql(form) @@ -3797,7 +3797,11 @@ let _key = item.key.toLowerCase() keys.push(_key) - values.push('@mk_' + _key + '_mk@') + if (item.type === 'number' || item.type === 'rate') { + values.push('@mk_' + _key + '_mk@') + } else { + values.push(`'@mk_${_key}_mk@'`) + } }) if (!keys.includes(primaryKey.toLowerCase())) { @@ -3841,7 +3845,11 @@ let _key = item.key.toLowerCase() _arr.push(_key) - _form.push(_key + '=@mk_' + _key + '_mk@') + if (item.type === 'number' || item.type === 'rate') { + _form.push(`${_key}=@mk_${_key}_mk@`) + } else { + _form.push(`${_key}='@mk_${_key}_mk@'`) + } }) if (_actionType === 'audit') { @@ -4190,8 +4198,8 @@ columns.forEach(col => { let _key = col.field.toLowerCase() - if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_]', 'ig').test(_sql)) return - if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(_sql)) return + if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_@]', 'ig').test(_sql)) return + // if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(_sql)) return colreps.push(col.field) @@ -4301,6 +4309,7 @@ return true }) + colreps = Array.from(new Set(colreps)) reps = [...reps, ...colreps] return { LText: _sql, md5: md5(_sql), reps } @@ -4447,7 +4456,7 @@ ` } - let testSql = _prev + _back + let testSql = _prev + _back + (btn.output || '') // 娣诲姞鏁版嵁涓瓧娈碉紝琛ㄥ崟鍊间紭鍏�(鎸夐挳涓嶉�夎鎴栧琛屾嫾鎺ユ椂璺宠繃) if (btn.Ot !== 'notRequired' && columns.length > 0) { @@ -4455,8 +4464,8 @@ columns.forEach(col => { let _key = col.field.toLowerCase() - if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_]', 'ig').test(testSql)) return - if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(testSql)) return + if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_@]', 'ig').test(testSql)) return + // if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(testSql)) return colreps.push(col.field) @@ -5149,7 +5158,7 @@ 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)) { @@ -5157,28 +5166,42 @@ } 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 = '' // 鍒濆鍖栬剼鏈� @@ -5530,8 +5553,8 @@ component.columns.forEach(col => { let _key = col.field.toLowerCase() - if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_]', 'ig').test(msg.LText)) return - if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(msg.LText)) return + if (formkeys.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_@]', 'ig').test(msg.LText)) return + // if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(msg.LText)) return colreps.push(col.field) @@ -5617,8 +5640,8 @@ component.columns.forEach(col => { let _key = col.field.toLowerCase() - if (syses.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_]', 'ig').test(_sql)) return - if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(_sql)) return + if (syses.includes(_key) || !new RegExp('@' + _key + '[^0-9a-z_@]', 'ig').test(_sql)) return + // if (_key === 'id' && !/@id[^0-9a-z_@]/ig.test(_sql)) return colreps.push(col.field) -- Gitblit v1.8.0