家谱现有接口调试50%

This commit is contained in:
rain
2026-07-09 17:29:25 +08:00
commit 6050508144
262 changed files with 63354 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
(function (root, factory) {
// 表单工具只处理跨页面通用转换,具体业务字段留在页面脚本中组织。
if (typeof module === 'object' && module.exports) {
module.exports = factory();
return;
}
root.FormUtil = factory();
})(typeof globalThis !== 'undefined' ? globalThis : window, function () {
'use strict';
function trimOrUndefined(value) {
if (value === undefined || value === null) return undefined;
var text = String(value).trim();
return text ? text : undefined;
}
function toNumberOrUndefined(value) {
var text = trimOrUndefined(value);
if (text === undefined) return undefined;
var numberValue = Number(text);
return Number.isNaN(numberValue) ? undefined : numberValue;
}
function toBoolean(value) {
if (value === true || value === false) return value;
var text = trimOrUndefined(value);
if (text === undefined) return false;
return !['0', 'false', 'off', 'no'].includes(text.toLowerCase());
}
function getControlValue(control) {
if (!control || control.disabled || !control.name) return undefined;
if (control.type === 'checkbox') return control.checked ? (control.value || 'on') : undefined;
if (control.type === 'radio') return control.checked ? control.value : undefined;
return control.value;
}
function getFormValues(form) {
var values = {};
if (!form || !form.elements) return values;
Array.prototype.forEach.call(form.elements, function (control) {
var value = getControlValue(control);
if (value !== undefined) values[control.name] = value;
});
return values;
}
return {
trimOrUndefined: trimOrUndefined,
toNumberOrUndefined: toNumberOrUndefined,
toBoolean: toBoolean,
getFormValues: getFormValues
};
});