(function () { var simpleEntityName = 'basMap'; var entityName = 'BasMap'; var primaryKeyField = 'id'; var fieldMeta = dedupeFieldMeta([ { field: 'id', columnName: 'id', label: '#', tableProp: 'id', exportField: 'id', kind: 'text', valueType: 'number', required: true, primaryKey: true, sortable: true, textarea: false, minWidth: 90, enumOptions: [], foreignQuery: '', checkboxActiveRaw: '1', checkboxInactiveRaw: '0' }, { field: 'data', columnName: 'data', label: '实时数据', tableProp: 'data', exportField: 'data', kind: 'text', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'createTime', columnName: 'create_time', label: '创建时间', tableProp: 'createTime$', exportField: 'createTime$', kind: 'date', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 168, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'updateTime', columnName: 'update_time', label: '更新时间', tableProp: 'updateTime$', exportField: 'updateTime$', kind: 'date', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 168, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'lastData', columnName: 'last_data', label: '最近数据', tableProp: 'lastData', exportField: 'lastData', kind: 'text', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'lev', columnName: 'lev', label: '层数', tableProp: 'lev', exportField: 'lev', kind: 'text', valueType: 'number', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: '1', checkboxInactiveRaw: '0' }, { field: 'id', columnName: 'id', label: '#', tableProp: 'id', exportField: 'id', kind: 'text', valueType: 'number', required: true, primaryKey: true, sortable: true, textarea: false, minWidth: 90, enumOptions: [], foreignQuery: '', checkboxActiveRaw: '1', checkboxInactiveRaw: '0' }, { field: 'data', columnName: 'data', label: '实时数据', tableProp: 'data', exportField: 'data', kind: 'text', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'createTime', columnName: 'create_time', label: '创建时间', tableProp: 'createTime$', exportField: 'createTime$', kind: 'date', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 168, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'updateTime', columnName: 'update_time', label: '更新时间', tableProp: 'updateTime$', exportField: 'updateTime$', kind: 'date', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 168, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'lastData', columnName: 'last_data', label: '最近数据', tableProp: 'lastData', exportField: 'lastData', kind: 'text', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'lev', columnName: 'lev', label: '层数', tableProp: 'lev', exportField: 'lev', kind: 'text', valueType: 'number', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: '1', checkboxInactiveRaw: '0' }, { field: 'originData', columnName: 'origin_data', label: '原始地图', tableProp: 'originData', exportField: 'originData', kind: 'text', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'id', columnName: 'id', label: '#', tableProp: 'id', exportField: 'id', kind: 'text', valueType: 'number', required: true, primaryKey: true, sortable: true, textarea: false, minWidth: 90, enumOptions: [], foreignQuery: '', checkboxActiveRaw: '1', checkboxInactiveRaw: '0' }, { field: 'data', columnName: 'data', label: '实时数据', tableProp: 'data', exportField: 'data', kind: 'text', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'createTime', columnName: 'create_time', label: '创建时间', tableProp: 'createTime$', exportField: 'createTime$', kind: 'date', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 168, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'updateTime', columnName: 'update_time', label: '更新时间', tableProp: 'updateTime$', exportField: 'updateTime$', kind: 'date', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 168, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'lastData', columnName: 'last_data', label: '最近数据', tableProp: 'lastData', exportField: 'lastData', kind: 'text', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'lev', columnName: 'lev', label: '层数', tableProp: 'lev', exportField: 'lev', kind: 'text', valueType: 'number', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: '1', checkboxInactiveRaw: '0' }, { field: 'originData', columnName: 'origin_data', label: '原始地图', tableProp: 'originData', exportField: 'originData', kind: 'text', valueType: 'string', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: 'Y', checkboxInactiveRaw: 'N' }, { field: 'baseRow', columnName: 'base_row', label: '基准排', tableProp: 'baseRow', exportField: 'baseRow', kind: 'text', valueType: 'number', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: '1', checkboxInactiveRaw: '0' }, { field: 'baseRowCode', columnName: 'base_row_code', label: '基准排-code', tableProp: 'baseRowCode', exportField: 'baseRowCode', kind: 'text', valueType: 'number', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: '1', checkboxInactiveRaw: '0' }, { field: 'baseBay', columnName: 'base_bay', label: '基准列', tableProp: 'baseBay', exportField: 'baseBay', kind: 'text', valueType: 'number', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: '1', checkboxInactiveRaw: '0' }, { field: 'baseBayCode', columnName: 'base_bay_code', label: '基准列-code', tableProp: 'baseBayCode', exportField: 'baseBayCode', kind: 'text', valueType: 'number', required: false, primaryKey: false, sortable: false, textarea: false, minWidth: 110, enumOptions: [], foreignQuery: '', checkboxActiveRaw: '1', checkboxInactiveRaw: '0' } ]); function formatFieldLabel(field) { var raw = field && field.label ? String(field.label).trim() : ''; if (raw) { return raw; } raw = field && field.columnName ? field.columnName : (field && field.field ? field.field : ''); if (!raw) { return ''; } raw = String(raw) .replace(/\$/g, '') .replace(/([a-z0-9])([A-Z])/g, '$1_$2') .replace(/_/g, ' ') .replace(/\s+/g, ' ') .trim(); return raw.replace(/\b[a-z]/g, function (letter) { return letter.toUpperCase(); }); } function dedupeFieldMeta(list) { var result = []; var seen = {}; (list || []).forEach(function (field) { if (!field || !field.field || seen[field.field]) { return; } field.label = formatFieldLabel(field); seen[field.field] = true; result.push(field); }); return result; } function isEmptyValue(value) { return value === null || value === undefined || value === ''; } function stringValue(value) { return isEmptyValue(value) ? '' : String(value); } function valueOrDash(value) { return isEmptyValue(value) ? '--' : value; } function normalizeOptionValue(field, rawValue) { if (rawValue === null || rawValue === undefined) { return null; } if (rawValue === '') { return ''; } if (field && field.valueType === 'number') { var numberVal = Number(rawValue); return isNaN(numberVal) ? rawValue : numberVal; } return String(rawValue); } function isSearchableField(field) { return !!field && field.kind !== 'image' && !field.textarea; } function isSortableField(field) { if (!field) { return false; } if (field.primaryKey) { return true; } return field.kind !== 'image' && !field.textarea && field.kind !== 'foreign'; } function defaultFieldValue(field) { if (field.primaryKey) { return null; } if (field.kind === 'checkbox') { return normalizeOptionValue(field, field.checkboxInactiveRaw); } return ''; } function defaultSearchFieldValue(field) { if (field.kind === 'date') { return []; } if (field.kind === 'enum' || field.kind === 'checkbox') { return null; } return ''; } function createSearchDefaults() { var result = { condition: '' }; fieldMeta.forEach(function (field) { if (!isSearchableField(field)) { return; } result[field.field] = defaultSearchFieldValue(field); }); return result; } function createSearchDisplayDefaults() { var result = {}; fieldMeta.forEach(function (field) { if (field.kind === 'foreign' && isSearchableField(field)) { result[field.field] = ''; } }); return result; } function createDefaultVisibleColumnKeys() { return fieldMeta.map(function (field) { return field.field; }); } function createFormDefaults() { var result = {}; fieldMeta.forEach(function (field) { result[field.field] = defaultFieldValue(field); }); return result; } function createDisplayDefaults() { var result = {}; fieldMeta.forEach(function (field) { if (field.kind === 'foreign') { result[field.field] = ''; } }); return result; } function createFormRules() { var rules = {}; fieldMeta.forEach(function (field) { if (field.primaryKey || !field.required) { return; } rules[field.field] = [{ required: true, message: (field.kind === 'date' || field.kind === 'enum' ? '请选择' : '请输入') + field.label, trigger: (field.kind === 'date' || field.kind === 'enum') ? 'change' : 'blur' }]; }); return rules; } function getTableValue(row, field) { var prop = field.tableProp || field.field; if (row && !isEmptyValue(row[prop])) { return row[prop]; } return row ? row[field.field] : ''; } function isCheckboxChecked(row, field) { var value = row ? row[field.field] : null; var activeValue = normalizeOptionValue(field, field.checkboxActiveRaw); return String(value) === String(activeValue); } function exportCell(value) { return stringValue(value).replace(/\t/g, ' ').replace(/\r?\n/g, ' '); } function escapeHtml(value) { return exportCell(value) .replace(/&/g, '&') .replace(//g, '>') .replace(/"/g, '"') .replace(/'/g, '''); } function buildPayload(form) { var payload = {}; fieldMeta.forEach(function (field) { var value = form[field.field]; if (field.primaryKey) { if (!isEmptyValue(value)) { payload[field.field] = value; } return; } if (field.kind === 'foreign' && isEmptyValue(value)) { value = null; } if (field.kind === 'enum' && value === '') { value = null; } if (field.kind === 'checkbox' && isEmptyValue(value)) { value = normalizeOptionValue(field, field.checkboxInactiveRaw); } if (field.valueType === 'number' && !isEmptyValue(value)) { value = Number(value); } if (field.valueType === 'number' && value === '') { value = null; } payload[field.field] = value; }); return payload; } function fillFormFromRow(row, form, display) { fieldMeta.forEach(function (field) { if (field.primaryKey) { form[field.field] = row[field.field]; return; } if (field.kind === 'date') { form[field.field] = row[field.tableProp] || row[field.field] || ''; return; } if (field.kind === 'foreign') { form[field.field] = isEmptyValue(row[field.field]) ? '' : normalizeOptionValue(field, row[field.field]); if (display) { display[field.field] = row[field.tableProp] || (isEmptyValue(row[field.field]) ? '' : String(row[field.field])); } return; } if (field.kind === 'enum') { form[field.field] = isEmptyValue(row[field.field]) ? '' : normalizeOptionValue(field, row[field.field]); return; } if (field.kind === 'checkbox') { form[field.field] = isEmptyValue(row[field.field]) ? normalizeOptionValue(field, field.checkboxInactiveRaw) : normalizeOptionValue(field, row[field.field]); return; } form[field.field] = isEmptyValue(row[field.field]) ? '' : (field.valueType === 'number' ? String(row[field.field]) : row[field.field]); }); } function resolveSearchParam(field) { if (field.kind === 'date' && field.columnName) { return field.columnName; } return field.field; } function createDownloadFile(filename, titles, rows) { var html = [ '', '
| ' + escapeHtml(title) + ' | '; }).join(''), '
|---|
| ' + escapeHtml(value) + ' | '; }).join('') + '