From f9455c981f94d5fd89103b1d332baefd039bebb2 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 25 十月 2024 09:17:14 +0800 Subject: [PATCH] 2024-10-25 --- src/menu/debug/index.jsx | 122 +++++++++++++++++++++++----------------- 1 files changed, 70 insertions(+), 52 deletions(-) diff --git a/src/menu/debug/index.jsx b/src/menu/debug/index.jsx index 6c8e603..b66ef90 100644 --- a/src/menu/debug/index.jsx +++ b/src/menu/debug/index.jsx @@ -292,6 +292,8 @@ components.forEach(item => { if (item.type === 'tabs') { item.subtabs.forEach(tab => { + if (tab.hide === 'true') return + let _mainSearch = mainSearch || [] if (appType !== 'mob') { @@ -385,7 +387,7 @@ getCols(item.cols) if (item.subtype === 'editable' && item.submit.intertype === 'system') { - let sql = this.getEditTableSql(item.submit, item.cols, item.columns) + let sql = this.getEditTableSql(item.submit, item.cols, item.columns, item.setting) children.push({label: '鎻愪氦', sql: sql}) } } else if (item.type === 'card' || item.type === 'carousel' || item.type === 'timeline') { @@ -632,7 +634,7 @@ } }) - if (!_prev) return '' + if (!_prev) return _back let tbs = [] _prev.replace(/\n|\r/g, ' ').split(/\sdeclare\s/ig).forEach(line => { @@ -714,6 +716,11 @@ verify.invalid = 'false' } else if (btn.Ot === 'notRequired') { verify.invalid = 'false' + } + } + if (verify.uniques && verify.uniques.length > 0 && btn.Ot === 'requiredOnce') { + if (component.wrap && (component.wrap.datatype === 'static' || component.wrap.datatype === 'public')) { + verify.uniques = [] } } @@ -872,6 +879,8 @@ } else if (form.type === 'rate') { _type = `decimal(18,2)` } + + if (['appkey'].includes(_key)) return _declarefields.push(`@${_key} ${_type}`) } @@ -879,7 +888,7 @@ // 娣诲姞鏁版嵁涓瓧娈碉紝琛ㄥ崟鍊间紭鍏�(鎸夐挳涓嶉�夎鎴栧琛屾嫾鎺ユ椂璺宠繃) if (btn.Ot !== 'notRequired' && columns.length > 0) { - const setField = (col) => { + columns.forEach(col => { if (!col.field) return let _key = col.field.toLowerCase() @@ -895,37 +904,9 @@ } } - if (!_vars.includes(_key)) { + if (!_vars.includes(_key) && !['appkey'].includes(_key)) { _vars.push(_key) - - if (col.datatype) { - _declarefields.push(`@${_key} ${col.datatype}`) - } else { - if (col.fieldlength && col.fieldlength > 4000) { - col.fieldlength = 'max' - } - - let _type = `nvarchar(${col.fieldlength || 50})` - - if (col.type === 'number') { - let _length = col.decimal ? col.decimal : 0 - _type = `decimal(18,${_length})` - } else if (col.type === 'picture' || col.type === 'textarea') { - _type = `nvarchar(${col.fieldlength || 512})` - } - - _declarefields.push(`@${_key} ${_type}`) - } - } - } - - columns.forEach(col => { - if (col.type === 'colspan' || col.type === 'old_colspan') { - col.subcols.forEach(cell => { - setField(cell) - }) - } else { - setField(col) + _declarefields.push(`@${_key} ${col.datatype || 'nvarchar(50)'}`) } }) } @@ -1154,6 +1135,17 @@ // 鍞竴鎬ч獙璇侊紝蹇呴』瀛樺湪琛ㄥ崟锛堣〃鍗曞瓨鍦ㄦ椂锛屼富閿潎涓哄崟鍊硷級,蹇呴』濉啓鏁版嵁婧愶紝澶氳鎷兼帴鏃朵笉鍙敤 if (formdata && verify.uniques && verify.uniques.length > 0 && btn.Ot !== 'requiredOnce') { + let dateForms = [] + let numForms = [] + formdata.forEach(form => { + let _key = form.key.toLowerCase() + if (form.type === 'date') { + dateForms.push(_key) + } else if (form.type === 'number' || form.type === 'rate') { + numForms.push(_key) + } + }) + verify.uniques.forEach(item => { let _fieldValue = [] // 琛ㄥ崟閿�煎field=value let _value = [] // 琛ㄥ崟鍊硷紝鐢ㄤ簬閿欒鎻愮ず @@ -1167,6 +1159,10 @@ arr.push(_key) if (_key === 'bid') { // 琛ㄥ崟涓病鏈塨id鍒欎娇鐢ㄧ郴缁焍id鍙橀噺 _val = BID + } else if (numForms.includes(_key)) { + _val = '1' + } else if (dateForms.includes(_key)) { + _val = '1949-10-01' } _fieldValue.push(`${_key}='${_val}'`) @@ -1472,13 +1468,7 @@ if (_backCustomScript) { _sql += _backCustomScript } - - _sql = _sql.replace(/@start_type@/ig, `'寮�濮�'`) - _sql = _sql.replace(/@check_type@/ig, `'瀹℃牳'`) - _sql = _sql.replace(/@notice_type@/ig, `'鎶勯��'`) - _sql = _sql.replace(/@check_userids@/ig, `''`) - _sql = _sql.replace(/@notice_userids@/ig, `''`) - _sql = _sql.replace(/@works_flow_sign@/ig, `''`) + _sql = _sql.replace(/@works_flow_code@/ig, `'mk'`) _sql = _sql.replace(/@works_flow_name@/ig, `'mk'`) _sql = _sql.replace(/@works_flow_param@/ig, `''`) @@ -1487,6 +1477,18 @@ _sql = _sql.replace(/@statusname@/ig, `'${statusName}'`) _sql = _sql.replace(/@work_group@/ig, `'mk'`) _sql = _sql.replace(/@work_grade@/ig, `'0'`) + + if (verify.flowType === 'start') { + _sql = _sql.replace(/@start_type@/ig, `'寮�濮�'`) + } else { + _sql = _sql.replace(/@check_type@/ig, `'瀹℃牳'`) + _sql = _sql.replace(/@notice_type@/ig, `'鎶勯��'`) + + _sql = _sql.replace(/@check_userids@/ig, `''`) + _sql = _sql.replace(/@notice_userids@/ig, `''`) + + _sql = _sql.replace(/@works_flow_sign@/ig, `''`) + } } else if (_backCustomScript) { _sql += _backCustomScript } @@ -1776,7 +1778,7 @@ return sql } - getEditTableSql = (verify, cols, columns) => { + getEditTableSql = (verify, cols, columns, setting) => { let btn = verify let userName = sessionStorage.getItem('User_Name') || '' let fullName = sessionStorage.getItem('Full_Name') || '' @@ -1804,30 +1806,46 @@ let vals = [] 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) + forms.forEach(col => { - if (col.type === 'number') { + if (/date/.test(col.datatype)) { + vals.push(`'1949-10-01'`) + } else if (col.type === 'number') { vals.push(`1`) } else { vals.push(`'mk'`) -- Gitblit v1.8.0