@gct-paas/excel 0.1.40-beta.11 → 0.1.40-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{BaseComponent-gj20uBnJ.js → BaseComponent-BNYlBwRp.js} +2 -2
- package/dist/{VueVideoPlayer-BeylL5J6.js → VueVideoPlayer-CA8iKJQb.js} +2 -2
- package/dist/{align-editor-r0dHXFka.js → align-editor-BLoPPjyE.js} +1 -1
- package/dist/{barcode-design-CYvf_EAE.js → barcode-design-Dqvxi5NV.js} +2 -2
- package/dist/base/index.es.js +189 -177
- package/dist/{diagonal-design-oDhnFV7y.js → diagonal-design-DG-Dx4ts.js} +2 -2
- package/dist/{dynamic-table-action-DQwZUD0_.js → dynamic-table-action-Bank1QhA.js} +713 -133
- package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-8yB6zly8.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CMUJIaqF.js} +507 -1096
- package/dist/{edit.utils-CXmmCnxE-Cu6obgSA.js → edit.utils-CXmmCnxE-CjdKEddt.js} +1 -1
- package/dist/excel.css +127 -84
- package/dist/{exceljs.min-Cw2hDE6L.js → exceljs.min-UvFp3sV4.js} +2 -2
- package/dist/{font-editor-B_0EZdyd.js → font-editor-DnMEr3MH.js} +3 -3
- package/dist/{image-design-FDLY6DFg.js → image-design-CwtJAv3F.js} +2 -2
- package/dist/{index-C4ZaFHIk.js → index-3MWFMn8S.js} +3 -3
- package/dist/{index-D1QJAMGR.js → index-Aza4NNmK.js} +2 -2
- package/dist/{index-DEHsGK91.js → index-B5OUUXeo.js} +1 -1
- package/dist/{index-BdFPuj12.js → index-B9lsZxiJ.js} +1 -1
- package/dist/{index-BuAaPDLl.js → index-BBn6MJSx.js} +2 -2
- package/dist/{index-CRIhEnfm.js → index-BKQuT0fA.js} +1 -1
- package/dist/{index-CQTRWLPa.js → index-BPY-u_dg.js} +3 -2
- package/dist/{index-Go0PUrqy.js → index-BQYnbcBb.js} +1 -1
- package/dist/{index-CFVecFFb.js → index-BVs40sek.js} +2 -2
- package/dist/{index-DcjvPNF5.js → index-B_XnofhV.js} +2 -2
- package/dist/{index-BCsDTwbK.js → index-BeVxjuh9.js} +1 -1
- package/dist/{index-Z9jq6KeM.js → index-BggSZyva.js} +2 -2
- package/dist/{index-KxrgWfEL.js → index-BqKnOPo_.js} +1 -1
- package/dist/{index-B2bvlNJo.js → index-BtRVxr4g.js} +2 -2
- package/dist/{index-BZd3wYPr.js → index-C5Ldbkko.js} +2 -2
- package/dist/{index-D3xW5qOp.js → index-CGZ_QXnT.js} +2 -2
- package/dist/{index-73QPpTaL.js → index-CHKEoI0-.js} +3 -3
- package/dist/{index-C0TsnxJJ.js → index-CJiS8qwY.js} +2 -2
- package/dist/{index-Dyfxs8FQ.js → index-CKRFb60x.js} +2 -2
- package/dist/{index-CxcaWxbW.js → index-C_Yhjehy.js} +2 -2
- package/dist/{index-7u6Pmaax.js → index-CaT3CiHe.js} +1 -1
- package/dist/{index-CdKmjzHb.js → index-Cd_mJxU6.js} +3 -3
- package/dist/{index-DOmpZ2Vn.js → index-Cq-XyRHo.js} +2 -2
- package/dist/{index-DGODLCja.js → index-CszU9umD.js} +1 -1
- package/dist/{index-DgLLlaiF.js → index-CwADS2FU.js} +1 -1
- package/dist/{index-CiCgngBb.js → index-D29NlAJu.js} +2 -2
- package/dist/{index-BtTM4eCk.js → index-D5aotGHm.js} +2 -2
- package/dist/{index-ZJQMS_Ik.js → index-DFSzmsEj.js} +2 -2
- package/dist/{index-xJJRBQFw.js → index-DLjQtnue.js} +1745 -1644
- package/dist/{index-C1EtpaAY.js → index-D_SKDlr_.js} +2 -2
- package/dist/{index-4cLi3g2p.js → index-DyW4nBh7.js} +2 -2
- package/dist/{index-xeRTb7EG.js → index-VbBHe0-r.js} +3 -3
- package/dist/{index-Bh8Vsmje.js → index-XT4AMdYd.js} +4 -4
- package/dist/{index-Cg1LuaLW.js → index-bu7pivuw.js} +2 -2
- package/dist/{index-DJiuJgNx.js → index-d8vCiBu7.js} +1 -1
- package/dist/index.es.js +2 -2
- package/dist/{mb-render-_IUbyYCY.js → mb-render-CAIFQRQe.js} +1 -1
- package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-CnQiVFDN.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-Mtk2wCxy.js} +1 -1
- package/dist/{pagination-design-BpXq_uV5.js → pagination-design-BEykgAvG.js} +2 -2
- package/dist/paper-widget-design-ooxHgZry.js +4 -0
- package/dist/{print-runtime-instance-MOb76qZn.js → print-runtime-instance-4ZDfLM5V.js} +1 -1
- package/dist/{print-snapshot-renderer-oKcwQUgc.js → print-snapshot-renderer-zOa_XHc0.js} +3 -3
- package/dist/{qrcode-design-CkkXDXcD.js → qrcode-design-CvYHvmMW.js} +1 -1
- package/dist/{revo-grid.entry-BZADj2ve.js → revo-grid.entry-CAz8pEMB.js} +1 -1
- package/dist/{revogr-attribution_7.entry-DbQASE7d.js → revogr-attribution_7.entry-RBj_kk6o.js} +3 -3
- package/dist/{revogr-clipboard_3.entry-BUDhUelS.js → revogr-clipboard_3.entry-B_WeVhDK.js} +2 -2
- package/dist/{revogr-data_4.entry-0V57Lz9p.js → revogr-data_4.entry-VaYdG5rT.js} +2 -2
- package/dist/{revogr-filter-panel.entry-BJEYteeW.js → revogr-filter-panel.entry-BCwmMUrv.js} +1 -1
- package/dist/seal-design-CG41_ii2.js +4 -0
- package/dist/{serialnumber-design-BbjW4gnZ.js → serialnumber-design-DHQVyTpR.js} +1 -1
- package/dist/shared/index.es.js +22 -22
- package/dist/{single-field-drop-DBjHYyMO.js → single-field-drop-D9h6cfEW.js} +2 -2
- package/dist/{size-editor-CcYZKUn5.js → size-editor-CYH_vGEJ.js} +1 -1
- package/dist/src/nocode-base/src/hooks/material-consume-object/initialize-autofill.d.ts +3 -1
- package/dist/src/nocode-base/src/runtime/multi-sheet-runtime.d.ts +3 -1
- package/dist/src/nocode-base/src/runtime/runtime-context.d.ts +4 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/quick-search-editor/quick-search.util.d.ts +8 -0
- package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +11 -0
- package/dist/src/online-form/src/views/designer/modules/base/designer-wrapper.vue.d.ts +1 -0
- package/dist/src/online-form/src/views/designer/modules/duplicate-field-notice.vue.d.ts +2 -0
- package/dist/src/online-form/src/views/designer/types/sheets.d.ts +2 -0
- package/dist/{sub-table-factory-CUn9Ys8U.js → sub-table-factory-B0zWW-QG.js} +2 -2
- package/dist/{text-design-CJ-LzwEP.js → text-design-DOQAiCNS.js} +2 -2
- package/dist/{throttle-Cpk1LoGk-BVommE6v.js → throttle-Cpk1LoGk-CMJVKhfH.js} +1 -1
- package/dist/{timediff-design-DLlIUaqv.js → timediff-design-BpVtGq2d.js} +1 -1
- package/dist/{trace-like-wrapper-3MK6tjpN.js → trace-like-wrapper-CfQ-z7OG.js} +2 -2
- package/dist/{value-editor.vue_vue_type_style_index_0_lang-CmqBS9Ol.js → value-editor.vue_vue_type_style_index_0_lang-dI4Svbwa.js} +2 -2
- package/dist/web-render/index.es.js +3 -3
- package/dist/{widget-barcode-BzrOK6u9.js → widget-barcode-Q35uB5iK.js} +4 -4
- package/dist/{widget-diagonal-DXnNY3TR.js → widget-diagonal-DqhdnkvW.js} +3 -3
- package/dist/{widget-image-qlZU5zfL.js → widget-image-BXD0sEE3.js} +5 -5
- package/dist/{widget-line-BkFVTPZE.js → widget-line-DH-692Ln.js} +2 -2
- package/dist/{widget-pagination-BI7Vtnio.js → widget-pagination-fIAO2QPA.js} +5 -5
- package/dist/{widget-power-CQaD6Z_a.js → widget-power-DWVhbXTd.js} +3 -3
- package/dist/{widget-qrcode-DNpnyMCx.js → widget-qrcode-Bo1KSkKG.js} +3 -3
- package/dist/{widget-rangelimit-DE7-MYZD.js → widget-rangelimit-BFKtZq_w.js} +3 -3
- package/dist/{widget-serialnumber-CyMnA-nP.js → widget-serialnumber-DZqKmj9h.js} +1 -1
- package/dist/{widget-text-BpZ7YJtP.js → widget-text-CY_4aox8.js} +5 -5
- package/dist/{widget-timediff-DSEwFrr9.js → widget-timediff-CPMbymXT.js} +2 -2
- package/package.json +2 -2
- package/dist/paper-widget-design-CSOyFSja.js +0 -4
- package/dist/seal-design-BMrCPheX.js +0 -4
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { reactive, toRaw, computed, watch, onScopeDispose, inject, h, shallowReactive, markRaw, ref, nextTick, toRef, provide, defineComponent, openBlock, createElementBlock, mergeProps, unref, createElementVNode, normalizeClass, renderSlot, createCommentVNode, createVNode, toDisplayString, Fragment, renderList, onUnmounted, isVNode, onMounted, onBeforeMount, resolveComponent, createBlock, withCtx, createTextVNode } from "vue";
|
|
2
|
-
import {
|
|
3
|
-
import { cloneDeep, isEmpty, has, pickBy, isNil, mergeWith, omit, last, pick, merge } from "lodash-es";
|
|
2
|
+
import { ag as CellWidgetViewState, F as FIELD_TYPE, bd as RenderModeEnum, Y as FormTypeEnum, bt as BpmnNodeTypeEnum, ck as getFieldPlaceholder, bK as MobileFillTypeEnum, C as ComponentTypeEnum, bc as findRuntimeTableRow, aU as renderUtils, $ as PlatformEnum, p as api, bm as uuid2, bU as calcUtils, bY as ensureTableRowKeys, bR as bindRuntimeTableColumns, bb as getRowId, cl as FRONT_ROW_KEY, cb as isTableRowKeyMatch, av as RangeCompareOp, au as RangeValidateMode, bV as decodeTableCellRowKey, bX as ensureFrontRowKey, a$ as getParseRuleInfo, aE as transformUtils, aW as materialCheck, aX as getLotLockedReason, aY as validateReinspectionDate, bg as FormulaRuleFieldKeyEnum, h as SubTableType, b0 as getParseRuleValue, I as CreateType, be as findRuntimeParentRow, aH as Dependency_ENUM, aG as ASSIGNMENTSTRATEGY_ENUM, bx as commonUtils, aL as DeviceLink, a8 as _export_sfc, c5 as getRenderedRuntimeTableCell, A as CellType, cm as resetTableRowIdentity, K as useModal, cn as q, co as QUICK_FILL_ALLOWED_FIELDS, cp as groupFixedTableRows, cq as processQuickFillRows, cr as getIsGroupEmpty } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CMUJIaqF.js";
|
|
4
3
|
import dayjs from "dayjs";
|
|
4
|
+
import { cloneDeep, isEmpty, has, isNil, pickBy, mergeWith, omit, last, pick, merge } from "lodash-es";
|
|
5
5
|
import { a as useNamespace, I as Icon } from "./AntdIcon-DCIaV352.js";
|
|
6
6
|
import "@gct-paas/form-base";
|
|
7
7
|
import { Modal, message } from "ant-design-vue";
|
|
8
|
-
import { u as useFormModel } from "./mb-render-
|
|
8
|
+
import { u as useFormModel } from "./mb-render-CAIFQRQe.js";
|
|
9
9
|
var MaterialConsumptionPatternEnum = /* @__PURE__ */ ((MaterialConsumptionPatternEnum2) => {
|
|
10
10
|
MaterialConsumptionPatternEnum2["RECORD"] = "record";
|
|
11
11
|
MaterialConsumptionPatternEnum2["BOM"] = "bom";
|
|
@@ -772,6 +772,49 @@ function getSubTableQuickFillInfo(subTableFieldId, mobileTdIdGroups) {
|
|
|
772
772
|
if (!subTableFieldId) return;
|
|
773
773
|
return assignWidgetInfo(MobileFillTypeEnum.SUB_TABLE, { rowSubFieldKey: subTableFieldId });
|
|
774
774
|
}
|
|
775
|
+
function getCurrentFormData(_rule, options) {
|
|
776
|
+
if (!_rule._subtableFieldId) return options?.formData;
|
|
777
|
+
return findRuntimeTableRow(options?.formData?.[_rule._subtableFieldId], _rule._rowKey);
|
|
778
|
+
}
|
|
779
|
+
function isSameOptionValue(current, expected) {
|
|
780
|
+
if (typeof expected === "boolean") {
|
|
781
|
+
return renderUtils.getBoolValue(current) === expected;
|
|
782
|
+
}
|
|
783
|
+
if (current === void 0 || current === null || current === "") {
|
|
784
|
+
return false;
|
|
785
|
+
}
|
|
786
|
+
return String(current) === String(expected);
|
|
787
|
+
}
|
|
788
|
+
function isAttachFieldActive(attach, formData) {
|
|
789
|
+
if (attach?.parent && !isAttachFieldActive(attach.parent, formData)) return false;
|
|
790
|
+
if (!attach?.belongFieldId || isNil(attach.optionValue)) {
|
|
791
|
+
return true;
|
|
792
|
+
}
|
|
793
|
+
const row = attach.subtableFieldId ? findRuntimeTableRow(formData?.[attach.subtableFieldId], attach.rowKey) : formData;
|
|
794
|
+
if (attach.subtableFieldId && (!attach.rowKey || !row || row === formData)) {
|
|
795
|
+
return false;
|
|
796
|
+
}
|
|
797
|
+
const raw = row?.[attach.belongFieldId];
|
|
798
|
+
if (attach.multiple) {
|
|
799
|
+
const current = renderUtils.getValue(raw, true);
|
|
800
|
+
if (!Array.isArray(current)) return false;
|
|
801
|
+
return current.some((v) => isSameOptionValue(v, attach.optionValue));
|
|
802
|
+
}
|
|
803
|
+
return isSameOptionValue(raw, attach.optionValue);
|
|
804
|
+
}
|
|
805
|
+
function isReferenceOptionActive(referenceInfo, rowFormData) {
|
|
806
|
+
if (!referenceInfo?.belongFieldId || isNil(referenceInfo.optionValue)) {
|
|
807
|
+
return true;
|
|
808
|
+
}
|
|
809
|
+
return isAttachFieldActive(
|
|
810
|
+
{
|
|
811
|
+
belongFieldId: referenceInfo.belongFieldId,
|
|
812
|
+
optionValue: referenceInfo.optionValue,
|
|
813
|
+
multiple: referenceInfo.multiple
|
|
814
|
+
},
|
|
815
|
+
rowFormData
|
|
816
|
+
);
|
|
817
|
+
}
|
|
775
818
|
function fieldChromeStyles(state) {
|
|
776
819
|
const required4 = state === "required";
|
|
777
820
|
const disabled = state === "disabled";
|
|
@@ -1056,7 +1099,7 @@ function normalizeSheetMetadata(sheet) {
|
|
|
1056
1099
|
};
|
|
1057
1100
|
return { ...sheet, paper, nodes, dataCenter: { [ComponentTypeEnum.PAPER]: paper, ...nodes } };
|
|
1058
1101
|
}
|
|
1059
|
-
function normalizeRuntime(runtime) {
|
|
1102
|
+
function normalizeRuntime(runtime, formType) {
|
|
1060
1103
|
if (typeof runtime === "string") {
|
|
1061
1104
|
if (!runtime.trim()) throw new Error("运行时数据不能为空");
|
|
1062
1105
|
try {
|
|
@@ -1067,7 +1110,16 @@ function normalizeRuntime(runtime) {
|
|
|
1067
1110
|
}
|
|
1068
1111
|
assertObject(runtime, "运行时数据格式无效");
|
|
1069
1112
|
if (runtime.schemaVersion == null || runtime.schemaVersion === 1) {
|
|
1070
|
-
const
|
|
1113
|
+
const legacyRuntime = formType === FormTypeEnum.FILE && runtime[ComponentTypeEnum.PAPER] == null ? {
|
|
1114
|
+
...runtime,
|
|
1115
|
+
[ComponentTypeEnum.PAPER]: {
|
|
1116
|
+
id: ComponentTypeEnum.PAPER,
|
|
1117
|
+
component: ComponentTypeEnum.PAPER,
|
|
1118
|
+
props: {},
|
|
1119
|
+
nextIds: []
|
|
1120
|
+
}
|
|
1121
|
+
} : runtime;
|
|
1122
|
+
const normalized = convertV1Runtime(legacyRuntime);
|
|
1071
1123
|
normalized.sheets.forEach(validateSheetGraph);
|
|
1072
1124
|
return { ...normalized, sheets: normalized.sheets.map(normalizeSheetMetadata) };
|
|
1073
1125
|
}
|
|
@@ -1204,6 +1256,7 @@ function createRuntimeInstanceContext(options) {
|
|
|
1204
1256
|
uniqueId: options.uniqueId,
|
|
1205
1257
|
instanceId: options.instanceId,
|
|
1206
1258
|
templateId: options.templateId,
|
|
1259
|
+
formType: options.formType,
|
|
1207
1260
|
schemaVersion: options.runtime.schemaVersion,
|
|
1208
1261
|
formConfig: options.runtime.formConfig,
|
|
1209
1262
|
defaultData: options.defaultData,
|
|
@@ -1293,7 +1346,7 @@ class RuntimeSheetService {
|
|
|
1293
1346
|
this.calculatingDepth += 1;
|
|
1294
1347
|
let succeeded = false;
|
|
1295
1348
|
try {
|
|
1296
|
-
const pageData = RuntimeSheetService.calculatePages(sheet.dataCenter, this.formState.state);
|
|
1349
|
+
const pageData = this.context.formType === FormTypeEnum.FILE ? [] : RuntimeSheetService.calculatePages(sheet.dataCenter, this.formState.state);
|
|
1297
1350
|
this.assertAlive();
|
|
1298
1351
|
sheet.pageData = pageData;
|
|
1299
1352
|
sheet.paginationError = void 0;
|
|
@@ -2147,7 +2200,7 @@ function format(template) {
|
|
|
2147
2200
|
function isNativeStringType(type4) {
|
|
2148
2201
|
return type4 === "string" || type4 === "url" || type4 === "hex" || type4 === "email" || type4 === "date" || type4 === "pattern";
|
|
2149
2202
|
}
|
|
2150
|
-
function isEmptyValue(value, type4) {
|
|
2203
|
+
function isEmptyValue$1(value, type4) {
|
|
2151
2204
|
if (value === void 0 || value === null) {
|
|
2152
2205
|
return true;
|
|
2153
2206
|
}
|
|
@@ -2306,7 +2359,7 @@ function deepMerge(target, source) {
|
|
|
2306
2359
|
return target;
|
|
2307
2360
|
}
|
|
2308
2361
|
var required$1 = function required(rule, value, source, errors, options, type4) {
|
|
2309
|
-
if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type4 || rule.type))) {
|
|
2362
|
+
if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue$1(value, type4 || rule.type))) {
|
|
2310
2363
|
errors.push(format(options.messages.required, rule.fullField));
|
|
2311
2364
|
}
|
|
2312
2365
|
};
|
|
@@ -2493,11 +2546,11 @@ var string = function string2(rule, value, callback, source, options) {
|
|
|
2493
2546
|
var errors = [];
|
|
2494
2547
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2495
2548
|
if (validate) {
|
|
2496
|
-
if (isEmptyValue(value, "string") && !rule.required) {
|
|
2549
|
+
if (isEmptyValue$1(value, "string") && !rule.required) {
|
|
2497
2550
|
return callback();
|
|
2498
2551
|
}
|
|
2499
2552
|
rules.required(rule, value, source, errors, options, "string");
|
|
2500
|
-
if (!isEmptyValue(value, "string")) {
|
|
2553
|
+
if (!isEmptyValue$1(value, "string")) {
|
|
2501
2554
|
rules.type(rule, value, source, errors, options);
|
|
2502
2555
|
rules.range(rule, value, source, errors, options);
|
|
2503
2556
|
rules.pattern(rule, value, source, errors, options);
|
|
@@ -2512,7 +2565,7 @@ var method2 = function method3(rule, value, callback, source, options) {
|
|
|
2512
2565
|
var errors = [];
|
|
2513
2566
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2514
2567
|
if (validate) {
|
|
2515
|
-
if (isEmptyValue(value) && !rule.required) {
|
|
2568
|
+
if (isEmptyValue$1(value) && !rule.required) {
|
|
2516
2569
|
return callback();
|
|
2517
2570
|
}
|
|
2518
2571
|
rules.required(rule, value, source, errors, options);
|
|
@@ -2529,7 +2582,7 @@ var number2 = function number3(rule, value, callback, source, options) {
|
|
|
2529
2582
|
if (value === "") {
|
|
2530
2583
|
value = void 0;
|
|
2531
2584
|
}
|
|
2532
|
-
if (isEmptyValue(value) && !rule.required) {
|
|
2585
|
+
if (isEmptyValue$1(value) && !rule.required) {
|
|
2533
2586
|
return callback();
|
|
2534
2587
|
}
|
|
2535
2588
|
rules.required(rule, value, source, errors, options);
|
|
@@ -2544,7 +2597,7 @@ var _boolean = function _boolean2(rule, value, callback, source, options) {
|
|
|
2544
2597
|
var errors = [];
|
|
2545
2598
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2546
2599
|
if (validate) {
|
|
2547
|
-
if (isEmptyValue(value) && !rule.required) {
|
|
2600
|
+
if (isEmptyValue$1(value) && !rule.required) {
|
|
2548
2601
|
return callback();
|
|
2549
2602
|
}
|
|
2550
2603
|
rules.required(rule, value, source, errors, options);
|
|
@@ -2558,11 +2611,11 @@ var regexp2 = function regexp3(rule, value, callback, source, options) {
|
|
|
2558
2611
|
var errors = [];
|
|
2559
2612
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2560
2613
|
if (validate) {
|
|
2561
|
-
if (isEmptyValue(value) && !rule.required) {
|
|
2614
|
+
if (isEmptyValue$1(value) && !rule.required) {
|
|
2562
2615
|
return callback();
|
|
2563
2616
|
}
|
|
2564
2617
|
rules.required(rule, value, source, errors, options);
|
|
2565
|
-
if (!isEmptyValue(value)) {
|
|
2618
|
+
if (!isEmptyValue$1(value)) {
|
|
2566
2619
|
rules.type(rule, value, source, errors, options);
|
|
2567
2620
|
}
|
|
2568
2621
|
}
|
|
@@ -2572,7 +2625,7 @@ var integer2 = function integer3(rule, value, callback, source, options) {
|
|
|
2572
2625
|
var errors = [];
|
|
2573
2626
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2574
2627
|
if (validate) {
|
|
2575
|
-
if (isEmptyValue(value) && !rule.required) {
|
|
2628
|
+
if (isEmptyValue$1(value) && !rule.required) {
|
|
2576
2629
|
return callback();
|
|
2577
2630
|
}
|
|
2578
2631
|
rules.required(rule, value, source, errors, options);
|
|
@@ -2587,7 +2640,7 @@ var floatFn = function floatFn2(rule, value, callback, source, options) {
|
|
|
2587
2640
|
var errors = [];
|
|
2588
2641
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2589
2642
|
if (validate) {
|
|
2590
|
-
if (isEmptyValue(value) && !rule.required) {
|
|
2643
|
+
if (isEmptyValue$1(value) && !rule.required) {
|
|
2591
2644
|
return callback();
|
|
2592
2645
|
}
|
|
2593
2646
|
rules.required(rule, value, source, errors, options);
|
|
@@ -2617,7 +2670,7 @@ var object2 = function object3(rule, value, callback, source, options) {
|
|
|
2617
2670
|
var errors = [];
|
|
2618
2671
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2619
2672
|
if (validate) {
|
|
2620
|
-
if (isEmptyValue(value) && !rule.required) {
|
|
2673
|
+
if (isEmptyValue$1(value) && !rule.required) {
|
|
2621
2674
|
return callback();
|
|
2622
2675
|
}
|
|
2623
2676
|
rules.required(rule, value, source, errors, options);
|
|
@@ -2632,7 +2685,7 @@ var enumerable2 = function enumerable3(rule, value, callback, source, options) {
|
|
|
2632
2685
|
var errors = [];
|
|
2633
2686
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2634
2687
|
if (validate) {
|
|
2635
|
-
if (isEmptyValue(value) && !rule.required) {
|
|
2688
|
+
if (isEmptyValue$1(value) && !rule.required) {
|
|
2636
2689
|
return callback();
|
|
2637
2690
|
}
|
|
2638
2691
|
rules.required(rule, value, source, errors, options);
|
|
@@ -2646,11 +2699,11 @@ var pattern2 = function pattern3(rule, value, callback, source, options) {
|
|
|
2646
2699
|
var errors = [];
|
|
2647
2700
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2648
2701
|
if (validate) {
|
|
2649
|
-
if (isEmptyValue(value, "string") && !rule.required) {
|
|
2702
|
+
if (isEmptyValue$1(value, "string") && !rule.required) {
|
|
2650
2703
|
return callback();
|
|
2651
2704
|
}
|
|
2652
2705
|
rules.required(rule, value, source, errors, options);
|
|
2653
|
-
if (!isEmptyValue(value, "string")) {
|
|
2706
|
+
if (!isEmptyValue$1(value, "string")) {
|
|
2654
2707
|
rules.pattern(rule, value, source, errors, options);
|
|
2655
2708
|
}
|
|
2656
2709
|
}
|
|
@@ -2660,11 +2713,11 @@ var date2 = function date3(rule, value, callback, source, options) {
|
|
|
2660
2713
|
var errors = [];
|
|
2661
2714
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2662
2715
|
if (validate) {
|
|
2663
|
-
if (isEmptyValue(value, "date") && !rule.required) {
|
|
2716
|
+
if (isEmptyValue$1(value, "date") && !rule.required) {
|
|
2664
2717
|
return callback();
|
|
2665
2718
|
}
|
|
2666
2719
|
rules.required(rule, value, source, errors, options);
|
|
2667
|
-
if (!isEmptyValue(value, "date")) {
|
|
2720
|
+
if (!isEmptyValue$1(value, "date")) {
|
|
2668
2721
|
var dateObject;
|
|
2669
2722
|
if (value instanceof Date) {
|
|
2670
2723
|
dateObject = value;
|
|
@@ -2690,11 +2743,11 @@ var type2 = function type3(rule, value, callback, source, options) {
|
|
|
2690
2743
|
var errors = [];
|
|
2691
2744
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2692
2745
|
if (validate) {
|
|
2693
|
-
if (isEmptyValue(value, ruleType) && !rule.required) {
|
|
2746
|
+
if (isEmptyValue$1(value, ruleType) && !rule.required) {
|
|
2694
2747
|
return callback();
|
|
2695
2748
|
}
|
|
2696
2749
|
rules.required(rule, value, source, errors, options, ruleType);
|
|
2697
|
-
if (!isEmptyValue(value, ruleType)) {
|
|
2750
|
+
if (!isEmptyValue$1(value, ruleType)) {
|
|
2698
2751
|
rules.type(rule, value, source, errors, options);
|
|
2699
2752
|
}
|
|
2700
2753
|
}
|
|
@@ -2704,7 +2757,7 @@ var any = function any2(rule, value, callback, source, options) {
|
|
|
2704
2757
|
var errors = [];
|
|
2705
2758
|
var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);
|
|
2706
2759
|
if (validate) {
|
|
2707
|
-
if (isEmptyValue(value) && !rule.required) {
|
|
2760
|
+
if (isEmptyValue$1(value) && !rule.required) {
|
|
2708
2761
|
return callback();
|
|
2709
2762
|
}
|
|
2710
2763
|
rules.required(rule, value, source, errors, options);
|
|
@@ -3041,6 +3094,518 @@ Schema.register = function register(type4, validator) {
|
|
|
3041
3094
|
Schema.warning = warning;
|
|
3042
3095
|
Schema.messages = messages;
|
|
3043
3096
|
Schema.validators = validators;
|
|
3097
|
+
const stampKeys = [
|
|
3098
|
+
"sealId",
|
|
3099
|
+
"sealName",
|
|
3100
|
+
"sealType",
|
|
3101
|
+
"sealImage",
|
|
3102
|
+
"sealUserId",
|
|
3103
|
+
"sealUserName",
|
|
3104
|
+
"sealUserTime"
|
|
3105
|
+
];
|
|
3106
|
+
function isSealPosition(value) {
|
|
3107
|
+
if (!value || typeof value !== "object") return false;
|
|
3108
|
+
const p = value;
|
|
3109
|
+
return typeof p.sheetId === "string" && !!p.sheetId && Number.isInteger(p.pageIndex) && p.pageIndex >= 0 && Number.isFinite(p.leftMm) && p.leftMm >= 0 && Number.isFinite(p.topMm) && p.topMm >= 0;
|
|
3110
|
+
}
|
|
3111
|
+
function readSealValue(raw, fallback) {
|
|
3112
|
+
let parsed = {};
|
|
3113
|
+
try {
|
|
3114
|
+
const value = typeof raw === "string" ? JSON.parse(raw || "{}") : raw;
|
|
3115
|
+
if (value && typeof value === "object" && !Array.isArray(value)) parsed = value;
|
|
3116
|
+
} catch {
|
|
3117
|
+
}
|
|
3118
|
+
const stamp = Object.fromEntries(
|
|
3119
|
+
stampKeys.map((key) => [key, typeof parsed[key] === "string" ? parsed[key] : ""])
|
|
3120
|
+
);
|
|
3121
|
+
return {
|
|
3122
|
+
...stamp,
|
|
3123
|
+
sealPosition: { ...isSealPosition(parsed.sealPosition) ? parsed.sealPosition : fallback }
|
|
3124
|
+
};
|
|
3125
|
+
}
|
|
3126
|
+
function isSealStamped(raw) {
|
|
3127
|
+
try {
|
|
3128
|
+
const value = typeof raw === "string" ? JSON.parse(raw || "{}") : raw;
|
|
3129
|
+
return !!value && typeof value.sealId === "string" && !!value.sealId && typeof value.sealImage === "string" && !!value.sealImage;
|
|
3130
|
+
} catch {
|
|
3131
|
+
return false;
|
|
3132
|
+
}
|
|
3133
|
+
}
|
|
3134
|
+
function isValidSealValue(raw) {
|
|
3135
|
+
try {
|
|
3136
|
+
const value = typeof raw === "string" ? JSON.parse(raw || "{}") : raw;
|
|
3137
|
+
return !!value && stampKeys.every((key) => typeof value[key] === "string") && isSealPosition(value.sealPosition) && (stampKeys.every((key) => !value[key]) || stampKeys.every((key) => !!value[key]));
|
|
3138
|
+
} catch {
|
|
3139
|
+
return false;
|
|
3140
|
+
}
|
|
3141
|
+
}
|
|
3142
|
+
function moveSealValue(raw, fallback, position) {
|
|
3143
|
+
return JSON.stringify({ ...readSealValue(raw, fallback), sealPosition: { ...position } });
|
|
3144
|
+
}
|
|
3145
|
+
function stampSealValue(raw, fallback, stamp) {
|
|
3146
|
+
const current = readSealValue(raw, fallback);
|
|
3147
|
+
const next = readSealValue({ ...stamp, sealPosition: current.sealPosition }, fallback);
|
|
3148
|
+
return JSON.stringify(next);
|
|
3149
|
+
}
|
|
3150
|
+
function clearSealValue(raw, fallback) {
|
|
3151
|
+
return JSON.stringify(
|
|
3152
|
+
readSealValue({ sealPosition: readSealValue(raw, fallback).sealPosition }, fallback)
|
|
3153
|
+
);
|
|
3154
|
+
}
|
|
3155
|
+
function normalizeSealDiameter(value) {
|
|
3156
|
+
const diameter = Number(value);
|
|
3157
|
+
return Number.isFinite(diameter) && diameter > 0 ? Math.min(diameter, 200) : 42;
|
|
3158
|
+
}
|
|
3159
|
+
function clampSealPosition(position, widthMm, heightMm, diameterMm) {
|
|
3160
|
+
return {
|
|
3161
|
+
...position,
|
|
3162
|
+
leftMm: Math.max(0, Math.min(position.leftMm, Math.max(0, widthMm - diameterMm))),
|
|
3163
|
+
topMm: Math.max(0, Math.min(position.topMm, Math.max(0, heightMm - diameterMm)))
|
|
3164
|
+
};
|
|
3165
|
+
}
|
|
3166
|
+
function initializeSealFields(fields, formData) {
|
|
3167
|
+
for (const { props } of fields) {
|
|
3168
|
+
if (!props.field || props.isFieldModel || props.subFieldKey) continue;
|
|
3169
|
+
const raw = formData[props.field];
|
|
3170
|
+
if (raw == null || raw === "") {
|
|
3171
|
+
formData[props.field] = JSON.stringify(readSealValue("", props.sealPosition));
|
|
3172
|
+
continue;
|
|
3173
|
+
}
|
|
3174
|
+
try {
|
|
3175
|
+
const parsed = typeof raw === "string" ? JSON.parse(raw) : raw;
|
|
3176
|
+
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) continue;
|
|
3177
|
+
if (!isSealPosition(parsed.sealPosition)) {
|
|
3178
|
+
formData[props.field] = JSON.stringify({
|
|
3179
|
+
...parsed,
|
|
3180
|
+
sealPosition: { ...props.sealPosition }
|
|
3181
|
+
});
|
|
3182
|
+
} else if (typeof raw !== "string") {
|
|
3183
|
+
formData[props.field] = JSON.stringify(parsed);
|
|
3184
|
+
}
|
|
3185
|
+
} catch {
|
|
3186
|
+
}
|
|
3187
|
+
}
|
|
3188
|
+
}
|
|
3189
|
+
const { identify, calculate: calculate$1 } = {
|
|
3190
|
+
identify: (expression) => window.NocodeAdapter.utils?.formulaIdentify?.(expression) ?? [],
|
|
3191
|
+
calculate: (expression, data) => window.NocodeAdapter.utils?.formulaCalculate?.(expression, data)
|
|
3192
|
+
};
|
|
3193
|
+
const getFieldDataValue = (parseInfo, formData) => {
|
|
3194
|
+
const getTextValue = (processedKey, value) => {
|
|
3195
|
+
const textValue = value ?? formData?.[processedKey] ?? "";
|
|
3196
|
+
return Array.isArray(textValue) ? textValue.join() : textValue;
|
|
3197
|
+
};
|
|
3198
|
+
const { type: type4, processed, hashValue } = parseInfo;
|
|
3199
|
+
if (type4 === "hash") {
|
|
3200
|
+
const tableData = toRaw(formData?.[hashValue] || []);
|
|
3201
|
+
return tableData.filter((d) => !d.deleted_).map((row) => getTextValue(processed, row?.[processed])).filter((i) => !isNil(i));
|
|
3202
|
+
}
|
|
3203
|
+
return getTextValue(processed, formData?.[processed]);
|
|
3204
|
+
};
|
|
3205
|
+
const parseFormulaVar = (formulaVar) => {
|
|
3206
|
+
const result = {
|
|
3207
|
+
original: formulaVar,
|
|
3208
|
+
type: "",
|
|
3209
|
+
processed: "",
|
|
3210
|
+
hashValue: "",
|
|
3211
|
+
dataType: ""
|
|
3212
|
+
};
|
|
3213
|
+
if (/^\$([^$]+)\$\.(.+)$/.test(formulaVar)) {
|
|
3214
|
+
const match = formulaVar.match(/^\$([^$]+)\$\.(.+)$/);
|
|
3215
|
+
result.type = "hash";
|
|
3216
|
+
result.processed = match[2];
|
|
3217
|
+
result.hashValue = match[1];
|
|
3218
|
+
result.dataType = "globType";
|
|
3219
|
+
} else if (/^_\.(.+)$/.test(formulaVar)) {
|
|
3220
|
+
const match = formulaVar.match(/^_\.(.+)$/);
|
|
3221
|
+
result.type = "underscore";
|
|
3222
|
+
result.processed = match[1];
|
|
3223
|
+
result.dataType = "currentRowType";
|
|
3224
|
+
} else {
|
|
3225
|
+
result.type = "plain";
|
|
3226
|
+
result.processed = formulaVar;
|
|
3227
|
+
result.dataType = "globType";
|
|
3228
|
+
}
|
|
3229
|
+
return result;
|
|
3230
|
+
};
|
|
3231
|
+
const getParseFormulaVarInfos = (expr) => {
|
|
3232
|
+
const rowArgs = expr ? identify(expr) : [];
|
|
3233
|
+
return {
|
|
3234
|
+
rowArgs,
|
|
3235
|
+
parseInfos: rowArgs.map((curr) => parseFormulaVar(curr))
|
|
3236
|
+
};
|
|
3237
|
+
};
|
|
3238
|
+
const calculateFormula = async (expr, formData, instanceFormState) => {
|
|
3239
|
+
const rowArgs = identify(expr);
|
|
3240
|
+
const formulaData = isEmpty(rowArgs) ? {} : rowArgs.reduce((total, curr) => {
|
|
3241
|
+
const parseInfo = parseFormulaVar(curr);
|
|
3242
|
+
total[curr] = getFieldDataValue(
|
|
3243
|
+
parseInfo,
|
|
3244
|
+
parseInfo.dataType === "currentRowType" ? formData : instanceFormState
|
|
3245
|
+
);
|
|
3246
|
+
return total;
|
|
3247
|
+
}, {});
|
|
3248
|
+
return calculate$1(expr, formulaData);
|
|
3249
|
+
};
|
|
3250
|
+
const isEmptyValue = (value) => {
|
|
3251
|
+
return value === void 0 || value === null || typeof value === "string" && value.trim() === "" || Array.isArray(value) && value.length === 0;
|
|
3252
|
+
};
|
|
3253
|
+
const compareByOp = (left, right, op) => {
|
|
3254
|
+
switch (op) {
|
|
3255
|
+
case RangeCompareOp.LT:
|
|
3256
|
+
return left < right;
|
|
3257
|
+
case RangeCompareOp.LE:
|
|
3258
|
+
return left <= right;
|
|
3259
|
+
case RangeCompareOp.GT:
|
|
3260
|
+
return left > right;
|
|
3261
|
+
case RangeCompareOp.GE:
|
|
3262
|
+
default:
|
|
3263
|
+
return left >= right;
|
|
3264
|
+
}
|
|
3265
|
+
};
|
|
3266
|
+
const rangeCompareMessage = (op, val) => {
|
|
3267
|
+
switch (op) {
|
|
3268
|
+
case RangeCompareOp.LT:
|
|
3269
|
+
return $t("sys.fieldValueNotGreaterOrEqual", { val });
|
|
3270
|
+
case RangeCompareOp.LE:
|
|
3271
|
+
return $t("sys.fieldValueNoMoreThan", { val });
|
|
3272
|
+
case RangeCompareOp.GT:
|
|
3273
|
+
return $t("sys.fieldValueNotLessOrEqual", { val });
|
|
3274
|
+
case RangeCompareOp.GE:
|
|
3275
|
+
default:
|
|
3276
|
+
return $t("sys.fieldValueNotLessThan", { val });
|
|
3277
|
+
}
|
|
3278
|
+
};
|
|
3279
|
+
const toUnixTimestamp = (input) => {
|
|
3280
|
+
if (isNil(input) || input === "") return null;
|
|
3281
|
+
const asNumber = typeof input === "number" || typeof input === "string" && /^-?\d+(\.\d+)?$/.test(input.trim());
|
|
3282
|
+
if (asNumber) {
|
|
3283
|
+
const n = Number(input);
|
|
3284
|
+
if (Number.isNaN(n)) return null;
|
|
3285
|
+
const parsed2 = n > 1e12 ? dayjs(n) : dayjs.unix(n);
|
|
3286
|
+
return parsed2.isValid() ? parsed2.unix() : null;
|
|
3287
|
+
}
|
|
3288
|
+
const parsed = dayjs(input);
|
|
3289
|
+
return parsed.isValid() ? parsed.unix() : null;
|
|
3290
|
+
};
|
|
3291
|
+
const buildError = (validatorInfo, message2) => JSON.stringify({ ...validatorInfo, message: message2 });
|
|
3292
|
+
function areValidationCommentsEqual(left, right) {
|
|
3293
|
+
const serialize = (comments) => JSON.stringify(
|
|
3294
|
+
comments,
|
|
3295
|
+
(_key, value) => value && typeof value === "object" && "message" in value ? { ...value, message: value.message } : value
|
|
3296
|
+
);
|
|
3297
|
+
return serialize(left) === serialize(right);
|
|
3298
|
+
}
|
|
3299
|
+
const createRule = (validator, message2, trigger = "change") => ({
|
|
3300
|
+
required: true,
|
|
3301
|
+
validator,
|
|
3302
|
+
message: message2,
|
|
3303
|
+
trigger
|
|
3304
|
+
});
|
|
3305
|
+
function relocateDeletedRowsToEnd(rows = []) {
|
|
3306
|
+
const active = [];
|
|
3307
|
+
const deleted = [];
|
|
3308
|
+
for (const row of rows) {
|
|
3309
|
+
if (row?.deleted_) deleted.push(row);
|
|
3310
|
+
else active.push(row);
|
|
3311
|
+
}
|
|
3312
|
+
return [...active, ...deleted];
|
|
3313
|
+
}
|
|
3314
|
+
function filterRulesByTrigger(rules2, trigger) {
|
|
3315
|
+
return rules2.filter((rule) => {
|
|
3316
|
+
const ruleTrigger = rule.trigger;
|
|
3317
|
+
if (!ruleTrigger) return trigger === "change";
|
|
3318
|
+
if (trigger === "blur") {
|
|
3319
|
+
return ruleTrigger === "blur" || ruleTrigger === "change";
|
|
3320
|
+
}
|
|
3321
|
+
return ruleTrigger === trigger;
|
|
3322
|
+
});
|
|
3323
|
+
}
|
|
3324
|
+
function assembleRules(input) {
|
|
3325
|
+
const { showRequired, fieldType, validatorInfo, props } = input;
|
|
3326
|
+
const {
|
|
3327
|
+
minlength,
|
|
3328
|
+
maxlength,
|
|
3329
|
+
regex,
|
|
3330
|
+
regexHint,
|
|
3331
|
+
validateTrue,
|
|
3332
|
+
validateFalse,
|
|
3333
|
+
enableRangeValidate,
|
|
3334
|
+
maxValidateMode,
|
|
3335
|
+
minValidateMode,
|
|
3336
|
+
maxCompareOp,
|
|
3337
|
+
minCompareOp,
|
|
3338
|
+
minValue,
|
|
3339
|
+
maxValue,
|
|
3340
|
+
minFormulaExpr,
|
|
3341
|
+
maxFormulaExpr,
|
|
3342
|
+
minDate,
|
|
3343
|
+
maxDate,
|
|
3344
|
+
minDateFormulaExpr,
|
|
3345
|
+
maxDateFormulaExpr,
|
|
3346
|
+
maxDateValidateMode,
|
|
3347
|
+
minDateValidateMode
|
|
3348
|
+
} = props;
|
|
3349
|
+
const resolvedMaxCompareOp = maxCompareOp ?? RangeCompareOp.LE;
|
|
3350
|
+
const resolvedMinCompareOp = minCompareOp ?? RangeCompareOp.GE;
|
|
3351
|
+
const RuleProps = [];
|
|
3352
|
+
if (props.bizType === FIELD_TYPE.SEAL) {
|
|
3353
|
+
if (showRequired) {
|
|
3354
|
+
RuleProps.push(
|
|
3355
|
+
createRule(
|
|
3356
|
+
(_rule, value) => isSealStamped(value),
|
|
3357
|
+
buildError(
|
|
3358
|
+
{ ...validatorInfo, validationCode: "seal-required" },
|
|
3359
|
+
$t("sys.fieldRequired")
|
|
3360
|
+
),
|
|
3361
|
+
"manual"
|
|
3362
|
+
)
|
|
3363
|
+
);
|
|
3364
|
+
}
|
|
3365
|
+
RuleProps.push(
|
|
3366
|
+
createRule(
|
|
3367
|
+
(_rule, value) => isEmptyValue(value) || isValidSealValue(value),
|
|
3368
|
+
buildError(validatorInfo, $t("sys.seal.invalid"))
|
|
3369
|
+
)
|
|
3370
|
+
);
|
|
3371
|
+
return RuleProps;
|
|
3372
|
+
}
|
|
3373
|
+
if (showRequired) {
|
|
3374
|
+
RuleProps.push(
|
|
3375
|
+
createRule(
|
|
3376
|
+
(_rule, value) => !isEmptyValue(value),
|
|
3377
|
+
buildError(validatorInfo, $t("sys.fieldRequired")),
|
|
3378
|
+
"manual"
|
|
3379
|
+
)
|
|
3380
|
+
);
|
|
3381
|
+
}
|
|
3382
|
+
if (!isNil(minlength)) {
|
|
3383
|
+
RuleProps.push(
|
|
3384
|
+
createRule((_rule, value) => {
|
|
3385
|
+
if (isEmptyValue(value)) return true;
|
|
3386
|
+
return String(value).length >= minlength;
|
|
3387
|
+
}, buildError(validatorInfo, $t("sys.fieldLengthNotLessThan", { len: minlength })))
|
|
3388
|
+
);
|
|
3389
|
+
}
|
|
3390
|
+
const effectiveMaxlength = isNil(maxlength) && fieldType === FIELD_TYPE.TEXT ? 1024 : maxlength;
|
|
3391
|
+
if (!isNil(effectiveMaxlength)) {
|
|
3392
|
+
RuleProps.push(
|
|
3393
|
+
createRule((_rule, value) => {
|
|
3394
|
+
if (isEmptyValue(value)) return true;
|
|
3395
|
+
return String(value).length <= effectiveMaxlength;
|
|
3396
|
+
}, buildError(validatorInfo, $t("sys.fieldLengthNoMoreThan", { len: effectiveMaxlength })))
|
|
3397
|
+
);
|
|
3398
|
+
}
|
|
3399
|
+
if (regex) {
|
|
3400
|
+
RuleProps.push(
|
|
3401
|
+
createRule((_rule, value) => {
|
|
3402
|
+
if (isEmptyValue(value)) return true;
|
|
3403
|
+
return new RegExp(regex).test(value);
|
|
3404
|
+
}, buildError(validatorInfo, regexHint ?? $t("sys.fieldFormatError")))
|
|
3405
|
+
);
|
|
3406
|
+
}
|
|
3407
|
+
if (validateTrue) {
|
|
3408
|
+
RuleProps.push({
|
|
3409
|
+
required: true,
|
|
3410
|
+
trigger: "manual",
|
|
3411
|
+
validator: (_rule, value) => value === true,
|
|
3412
|
+
message: buildError(validatorInfo, $t("sys.fieldValueNeedTrue"))
|
|
3413
|
+
});
|
|
3414
|
+
}
|
|
3415
|
+
if (validateFalse) {
|
|
3416
|
+
RuleProps.push({
|
|
3417
|
+
required: true,
|
|
3418
|
+
trigger: "manual",
|
|
3419
|
+
validator: (_rule, value) => value === false,
|
|
3420
|
+
message: buildError(validatorInfo, $t("sys.fieldValueNeedFalse"))
|
|
3421
|
+
});
|
|
3422
|
+
}
|
|
3423
|
+
const configuredMinCoversZero = enableRangeValidate && minValidateMode === RangeValidateMode.Fixed_Number && !isEmptyValue(minValue) && Number(minValue) >= 0 && (resolvedMinCompareOp === RangeCompareOp.GE || resolvedMinCompareOp === RangeCompareOp.GT);
|
|
3424
|
+
if (input.defaultMinValue === 0 && !configuredMinCoversZero) {
|
|
3425
|
+
RuleProps.push(
|
|
3426
|
+
createRule(
|
|
3427
|
+
(_rule, value) => isEmptyValue(value) || Number(value) >= 0,
|
|
3428
|
+
buildError(validatorInfo, rangeCompareMessage(RangeCompareOp.GE, 0))
|
|
3429
|
+
)
|
|
3430
|
+
);
|
|
3431
|
+
}
|
|
3432
|
+
if (!enableRangeValidate) {
|
|
3433
|
+
return RuleProps;
|
|
3434
|
+
}
|
|
3435
|
+
if (minValidateMode === RangeValidateMode.Fixed_Number && !isEmptyValue(minValue)) {
|
|
3436
|
+
RuleProps.push(
|
|
3437
|
+
createRule((_rule, value) => {
|
|
3438
|
+
if (isEmptyValue(value)) return true;
|
|
3439
|
+
return compareByOp(Number(value), Number(minValue), resolvedMinCompareOp);
|
|
3440
|
+
}, buildError(validatorInfo, rangeCompareMessage(resolvedMinCompareOp, minValue)))
|
|
3441
|
+
);
|
|
3442
|
+
}
|
|
3443
|
+
if (minValidateMode === RangeValidateMode.Variable_Validate && minFormulaExpr) {
|
|
3444
|
+
RuleProps.push({
|
|
3445
|
+
required: true,
|
|
3446
|
+
trigger: "change",
|
|
3447
|
+
validator: async (_rule, value, _callback, _source, options) => {
|
|
3448
|
+
const currentFormData = getCurrentFormData(_rule, options);
|
|
3449
|
+
const formulaValue = await calculateFormula(
|
|
3450
|
+
minFormulaExpr,
|
|
3451
|
+
currentFormData,
|
|
3452
|
+
options?.formData
|
|
3453
|
+
);
|
|
3454
|
+
if (isEmptyValue(formulaValue)) {
|
|
3455
|
+
return Promise.resolve();
|
|
3456
|
+
}
|
|
3457
|
+
const parsedMin = parseFloat(formulaValue);
|
|
3458
|
+
if (!isNaN(parsedMin)) {
|
|
3459
|
+
if (isEmptyValue(value)) {
|
|
3460
|
+
return Promise.resolve();
|
|
3461
|
+
}
|
|
3462
|
+
if (!compareByOp(Number(value), parsedMin, resolvedMinCompareOp)) {
|
|
3463
|
+
return Promise.reject(
|
|
3464
|
+
new Error(
|
|
3465
|
+
buildError(validatorInfo, rangeCompareMessage(resolvedMinCompareOp, parsedMin))
|
|
3466
|
+
)
|
|
3467
|
+
);
|
|
3468
|
+
}
|
|
3469
|
+
}
|
|
3470
|
+
return Promise.resolve();
|
|
3471
|
+
}
|
|
3472
|
+
});
|
|
3473
|
+
}
|
|
3474
|
+
if (maxValidateMode === RangeValidateMode.Fixed_Number && !isEmptyValue(maxValue)) {
|
|
3475
|
+
RuleProps.push(
|
|
3476
|
+
createRule((_rule, value) => {
|
|
3477
|
+
if (isEmptyValue(value)) return true;
|
|
3478
|
+
return compareByOp(Number(value), Number(maxValue), resolvedMaxCompareOp);
|
|
3479
|
+
}, buildError(validatorInfo, rangeCompareMessage(resolvedMaxCompareOp, maxValue)))
|
|
3480
|
+
);
|
|
3481
|
+
}
|
|
3482
|
+
if (maxValidateMode === RangeValidateMode.Variable_Validate && maxFormulaExpr) {
|
|
3483
|
+
RuleProps.push({
|
|
3484
|
+
required: true,
|
|
3485
|
+
trigger: "change",
|
|
3486
|
+
validator: async (_rule, value, _callback, _source, options) => {
|
|
3487
|
+
const currentFormData = getCurrentFormData(_rule, options);
|
|
3488
|
+
const formulaValue = await calculateFormula(
|
|
3489
|
+
maxFormulaExpr,
|
|
3490
|
+
currentFormData,
|
|
3491
|
+
options?.formData
|
|
3492
|
+
);
|
|
3493
|
+
if (isEmptyValue(formulaValue)) {
|
|
3494
|
+
return Promise.resolve();
|
|
3495
|
+
}
|
|
3496
|
+
const parsedMax = parseFloat(formulaValue);
|
|
3497
|
+
if (!isNaN(parsedMax)) {
|
|
3498
|
+
if (isEmptyValue(value)) {
|
|
3499
|
+
return Promise.resolve();
|
|
3500
|
+
}
|
|
3501
|
+
if (!compareByOp(Number(value), parsedMax, resolvedMaxCompareOp)) {
|
|
3502
|
+
return Promise.reject(
|
|
3503
|
+
new Error(
|
|
3504
|
+
buildError(validatorInfo, rangeCompareMessage(resolvedMaxCompareOp, parsedMax))
|
|
3505
|
+
)
|
|
3506
|
+
);
|
|
3507
|
+
}
|
|
3508
|
+
}
|
|
3509
|
+
return Promise.resolve();
|
|
3510
|
+
}
|
|
3511
|
+
});
|
|
3512
|
+
}
|
|
3513
|
+
if (minDateValidateMode === RangeValidateMode.Fixed_Number && minDate) {
|
|
3514
|
+
RuleProps.push(
|
|
3515
|
+
createRule((_rule, value) => {
|
|
3516
|
+
if (isEmptyValue(value)) return true;
|
|
3517
|
+
const inputTime = dayjs(value).unix();
|
|
3518
|
+
const minTimestamp = dayjs(minDate).unix();
|
|
3519
|
+
if (!dayjs(value).isValid() || !dayjs(minDate).isValid()) return true;
|
|
3520
|
+
return compareByOp(inputTime, minTimestamp, resolvedMinCompareOp);
|
|
3521
|
+
}, buildError(validatorInfo, rangeCompareMessage(resolvedMinCompareOp, minDate)))
|
|
3522
|
+
);
|
|
3523
|
+
}
|
|
3524
|
+
if (maxDateValidateMode === RangeValidateMode.Fixed_Number && maxDate) {
|
|
3525
|
+
RuleProps.push(
|
|
3526
|
+
createRule((_rule, value) => {
|
|
3527
|
+
if (isEmptyValue(value)) return true;
|
|
3528
|
+
const inputTime = dayjs(value).unix();
|
|
3529
|
+
const maxTimestamp = dayjs(maxDate).unix();
|
|
3530
|
+
if (!dayjs(value).isValid() || !dayjs(maxDate).isValid()) return true;
|
|
3531
|
+
return compareByOp(inputTime, maxTimestamp, resolvedMaxCompareOp);
|
|
3532
|
+
}, buildError(validatorInfo, rangeCompareMessage(resolvedMaxCompareOp, maxDate)))
|
|
3533
|
+
);
|
|
3534
|
+
}
|
|
3535
|
+
if (minDateValidateMode === RangeValidateMode.Variable_Validate && minDateFormulaExpr) {
|
|
3536
|
+
RuleProps.push({
|
|
3537
|
+
required: true,
|
|
3538
|
+
trigger: "change",
|
|
3539
|
+
validator: async (_rule, value, _callback, _source, options) => {
|
|
3540
|
+
const currentFormData = getCurrentFormData(_rule, options);
|
|
3541
|
+
const formulaValue = await calculateFormula(
|
|
3542
|
+
minDateFormulaExpr,
|
|
3543
|
+
currentFormData,
|
|
3544
|
+
options?.formData
|
|
3545
|
+
);
|
|
3546
|
+
const limitTime = toUnixTimestamp(formulaValue);
|
|
3547
|
+
if (limitTime !== null) {
|
|
3548
|
+
if (isEmptyValue(value)) {
|
|
3549
|
+
return Promise.resolve();
|
|
3550
|
+
}
|
|
3551
|
+
if (!dayjs(value).isValid()) {
|
|
3552
|
+
return Promise.resolve();
|
|
3553
|
+
}
|
|
3554
|
+
const inputTime = dayjs(value).unix();
|
|
3555
|
+
const fmt = fieldType === FIELD_TYPE.DATE_TIME ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
|
|
3556
|
+
if (!compareByOp(inputTime, limitTime, resolvedMinCompareOp)) {
|
|
3557
|
+
return Promise.reject(
|
|
3558
|
+
new Error(
|
|
3559
|
+
buildError(
|
|
3560
|
+
validatorInfo,
|
|
3561
|
+
rangeCompareMessage(resolvedMinCompareOp, dayjs.unix(limitTime).format(fmt))
|
|
3562
|
+
)
|
|
3563
|
+
)
|
|
3564
|
+
);
|
|
3565
|
+
}
|
|
3566
|
+
}
|
|
3567
|
+
return Promise.resolve();
|
|
3568
|
+
}
|
|
3569
|
+
});
|
|
3570
|
+
}
|
|
3571
|
+
if (maxDateValidateMode === RangeValidateMode.Variable_Validate && maxDateFormulaExpr) {
|
|
3572
|
+
RuleProps.push({
|
|
3573
|
+
required: true,
|
|
3574
|
+
trigger: "change",
|
|
3575
|
+
validator: async (_rule, value, _callback, _source, options) => {
|
|
3576
|
+
const currentFormData = getCurrentFormData(_rule, options);
|
|
3577
|
+
const formulaValue = await calculateFormula(
|
|
3578
|
+
maxDateFormulaExpr,
|
|
3579
|
+
currentFormData,
|
|
3580
|
+
options?.formData
|
|
3581
|
+
);
|
|
3582
|
+
const limitTime = toUnixTimestamp(formulaValue);
|
|
3583
|
+
if (limitTime !== null) {
|
|
3584
|
+
if (isEmptyValue(value)) {
|
|
3585
|
+
return Promise.resolve();
|
|
3586
|
+
}
|
|
3587
|
+
if (!dayjs(value).isValid()) {
|
|
3588
|
+
return Promise.resolve();
|
|
3589
|
+
}
|
|
3590
|
+
const inputTime = dayjs(value).unix();
|
|
3591
|
+
const fmt = fieldType === FIELD_TYPE.DATE_TIME ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
|
|
3592
|
+
if (!compareByOp(inputTime, limitTime, resolvedMaxCompareOp)) {
|
|
3593
|
+
return Promise.reject(
|
|
3594
|
+
new Error(
|
|
3595
|
+
buildError(
|
|
3596
|
+
validatorInfo,
|
|
3597
|
+
rangeCompareMessage(resolvedMaxCompareOp, dayjs.unix(limitTime).format(fmt))
|
|
3598
|
+
)
|
|
3599
|
+
)
|
|
3600
|
+
);
|
|
3601
|
+
}
|
|
3602
|
+
}
|
|
3603
|
+
return Promise.resolve();
|
|
3604
|
+
}
|
|
3605
|
+
});
|
|
3606
|
+
}
|
|
3607
|
+
return RuleProps;
|
|
3608
|
+
}
|
|
3044
3609
|
function resolveKeepExceptionHighlight(formValue, fieldValue) {
|
|
3045
3610
|
if (typeof fieldValue === "boolean") {
|
|
3046
3611
|
return fieldValue;
|
|
@@ -3166,7 +3731,7 @@ function clearResolvedManualErrors(map, resolvePayload) {
|
|
|
3166
3731
|
if (!payload) continue;
|
|
3167
3732
|
const hasManual = filterRulesByTrigger(payload.rules, "manual").length > 0;
|
|
3168
3733
|
const hasLive = filterRulesByTrigger(payload.rules, "change").length > 0;
|
|
3169
|
-
if (hasManual && !hasLive && !isEmptyValue
|
|
3734
|
+
if (hasManual && !hasLive && !isEmptyValue(payload.value)) {
|
|
3170
3735
|
delete next[path];
|
|
3171
3736
|
}
|
|
3172
3737
|
}
|
|
@@ -3180,7 +3745,7 @@ function mergeLiveValidation(current, liveResult, livePaths, resolvePayload) {
|
|
|
3180
3745
|
continue;
|
|
3181
3746
|
}
|
|
3182
3747
|
const payload = resolvePayload(path);
|
|
3183
|
-
const keepManualComment = !!payload && filterRulesByTrigger(payload.rules, "manual").length > 0 && isEmptyValue
|
|
3748
|
+
const keepManualComment = !!payload && filterRulesByTrigger(payload.rules, "manual").length > 0 && isEmptyValue(payload.value) && !!base[path]?.length;
|
|
3184
3749
|
if (!keepManualComment) {
|
|
3185
3750
|
delete base[path];
|
|
3186
3751
|
}
|
|
@@ -3223,7 +3788,7 @@ function mergeDisplayValidation(current, displayResult, ruleKeys, validatedPaths
|
|
|
3223
3788
|
next[path] = displayResult[path];
|
|
3224
3789
|
} else {
|
|
3225
3790
|
const payload = resolvePayload(path);
|
|
3226
|
-
const keepManualComment = !!payload && filterRulesByTrigger(payload.rules, "manual").length > 0 && isEmptyValue
|
|
3791
|
+
const keepManualComment = !!payload && filterRulesByTrigger(payload.rules, "manual").length > 0 && isEmptyValue(payload.value) && !!next[path]?.length;
|
|
3227
3792
|
if (!keepManualComment) delete next[path];
|
|
3228
3793
|
}
|
|
3229
3794
|
}
|
|
@@ -10437,117 +11002,132 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
10437
11002
|
});
|
|
10438
11003
|
const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-53d7e66c"]]);
|
|
10439
11004
|
export {
|
|
10440
|
-
|
|
10441
|
-
|
|
11005
|
+
DocumentPaper as $,
|
|
11006
|
+
runWithFillProduct as A,
|
|
10442
11007
|
BorderTD as B,
|
|
10443
|
-
|
|
11008
|
+
useNocodeFormWidget as C,
|
|
10444
11009
|
DEFAULT_BOOLEAN_FIELD_WIDTH as D,
|
|
10445
|
-
|
|
10446
|
-
|
|
10447
|
-
|
|
10448
|
-
|
|
10449
|
-
|
|
10450
|
-
|
|
10451
|
-
|
|
10452
|
-
|
|
11010
|
+
applyConsumeObjectTraceChange as E,
|
|
11011
|
+
getObjectBomProductQuery as F,
|
|
11012
|
+
EMPTY_PRODUCT_VERSION_ID as G,
|
|
11013
|
+
normalizeHistoricalAutofillRow as H,
|
|
11014
|
+
readSealValue as I,
|
|
11015
|
+
isSealStamped as J,
|
|
11016
|
+
stampSealValue as K,
|
|
11017
|
+
isValidSealValue as L,
|
|
10453
11018
|
MAX_RUNTIME_SHEETS as M,
|
|
10454
|
-
|
|
10455
|
-
|
|
10456
|
-
|
|
10457
|
-
|
|
10458
|
-
|
|
10459
|
-
|
|
10460
|
-
|
|
10461
|
-
|
|
10462
|
-
|
|
10463
|
-
|
|
10464
|
-
|
|
10465
|
-
|
|
10466
|
-
|
|
10467
|
-
|
|
11019
|
+
clearSealValue as N,
|
|
11020
|
+
parseRuntimeFieldPath as O,
|
|
11021
|
+
NCB_PROVIDE as P,
|
|
11022
|
+
calculateFormula as Q,
|
|
11023
|
+
useStyles as R,
|
|
11024
|
+
useDependency as S,
|
|
11025
|
+
useFieldPresentation as T,
|
|
11026
|
+
useRuntimeEditorFlusher as U,
|
|
11027
|
+
RuntimeFormStateStore as V,
|
|
11028
|
+
createRuntimeInstanceContext as W,
|
|
11029
|
+
RuntimeInstanceRegistry as X,
|
|
11030
|
+
ScanParamType as Y,
|
|
11031
|
+
RequiredQtyCalcRule as Z,
|
|
11032
|
+
moveSealValue as _,
|
|
10468
11033
|
MAX_RUNTIME_SHEET_TITLE_LENGTH as a,
|
|
10469
|
-
|
|
10470
|
-
|
|
10471
|
-
|
|
10472
|
-
|
|
10473
|
-
|
|
10474
|
-
|
|
10475
|
-
|
|
10476
|
-
|
|
10477
|
-
|
|
10478
|
-
|
|
10479
|
-
|
|
10480
|
-
|
|
10481
|
-
|
|
10482
|
-
|
|
10483
|
-
|
|
10484
|
-
|
|
10485
|
-
|
|
10486
|
-
|
|
10487
|
-
|
|
10488
|
-
|
|
10489
|
-
|
|
10490
|
-
|
|
10491
|
-
|
|
10492
|
-
|
|
10493
|
-
|
|
10494
|
-
|
|
10495
|
-
|
|
10496
|
-
|
|
10497
|
-
|
|
10498
|
-
|
|
10499
|
-
|
|
10500
|
-
|
|
10501
|
-
|
|
10502
|
-
|
|
10503
|
-
|
|
10504
|
-
|
|
10505
|
-
|
|
10506
|
-
|
|
10507
|
-
|
|
10508
|
-
|
|
10509
|
-
|
|
10510
|
-
|
|
10511
|
-
|
|
10512
|
-
|
|
10513
|
-
|
|
10514
|
-
|
|
10515
|
-
|
|
10516
|
-
|
|
10517
|
-
|
|
10518
|
-
|
|
10519
|
-
|
|
10520
|
-
|
|
10521
|
-
|
|
10522
|
-
|
|
10523
|
-
|
|
10524
|
-
|
|
10525
|
-
|
|
10526
|
-
|
|
10527
|
-
|
|
11034
|
+
buildDefaultMapFromProfile as a$,
|
|
11035
|
+
DynamicTableAction as a0,
|
|
11036
|
+
_sfc_main$5 as a1,
|
|
11037
|
+
getRuntimeDataFieldId as a2,
|
|
11038
|
+
buildRuntimeFieldPath as a3,
|
|
11039
|
+
resolveRuntimeFieldProps as a4,
|
|
11040
|
+
resolveRuntimeFieldState as a5,
|
|
11041
|
+
assembleRules as a6,
|
|
11042
|
+
isAttachFieldActive as a7,
|
|
11043
|
+
getRuntimeDependencyOutputKey as a8,
|
|
11044
|
+
isRowAddedInCurrentFormChange as a9,
|
|
11045
|
+
RuntimePersistenceCoordinator as aA,
|
|
11046
|
+
RuntimeValidationService as aB,
|
|
11047
|
+
SubTableCore as aC,
|
|
11048
|
+
buildFormChangeDisplayRows as aD,
|
|
11049
|
+
convertV1Runtime as aE,
|
|
11050
|
+
detailsHaveFormChangeRowOps as aF,
|
|
11051
|
+
extractFormChangeRowDetails as aG,
|
|
11052
|
+
getFormChangeRowKey as aH,
|
|
11053
|
+
getFormChangeRowOp as aI,
|
|
11054
|
+
getSubTableQuickFillInfo as aJ,
|
|
11055
|
+
isAnnLocationSelected as aK,
|
|
11056
|
+
isBlank as aL,
|
|
11057
|
+
isFormChangeGhostRow as aM,
|
|
11058
|
+
normalizeHistoricalFieldConfig as aN,
|
|
11059
|
+
pickObjectFieldKeys as aO,
|
|
11060
|
+
recordSubtableRowAdd as aP,
|
|
11061
|
+
recordSubtableRowDelete as aQ,
|
|
11062
|
+
relocateDeletedRowsToEnd as aR,
|
|
11063
|
+
resolveAnnotationFieldLocation as aS,
|
|
11064
|
+
resolveFormChangeRowUi as aT,
|
|
11065
|
+
resolveRowFormChangeMark as aU,
|
|
11066
|
+
setSelectMobileTdId as aV,
|
|
11067
|
+
stripLegacyFormConfigFromPaper as aW,
|
|
11068
|
+
SubTableActionMenuTypeEnum as aX,
|
|
11069
|
+
getMenuByAction as aY,
|
|
11070
|
+
SubTableActionEnum as aZ,
|
|
11071
|
+
resolveScanFillData as a_,
|
|
11072
|
+
MaterialConsumeTableController as aa,
|
|
11073
|
+
setFormulaParamsConfig as ab,
|
|
11074
|
+
normalizeRuntime as ac,
|
|
11075
|
+
initializeSealFields as ad,
|
|
11076
|
+
RuntimeSheetService as ae,
|
|
11077
|
+
validateObjectBomQtyOnSubmit as af,
|
|
11078
|
+
areValidationCommentsEqual as ag,
|
|
11079
|
+
closeValidatorPopovers as ah,
|
|
11080
|
+
enrichFormChangeRowDetails as ai,
|
|
11081
|
+
useMaterialBalance as aj,
|
|
11082
|
+
collectFormChangeFieldLocations as ak,
|
|
11083
|
+
nextFormChangeRowViewHistoryId as al,
|
|
11084
|
+
DeviceConnector as am,
|
|
11085
|
+
DocumentLoading as an,
|
|
11086
|
+
DynamicQuickFillModal as ao,
|
|
11087
|
+
FixedQuickFillModal as ap,
|
|
11088
|
+
FormTmplConfigController as aq,
|
|
11089
|
+
LEGACY_RUNTIME_FORM_CONFIG_KEYS as ar,
|
|
11090
|
+
LEGACY_RUNTIME_SHEET_ID as as,
|
|
11091
|
+
LEGACY_RUNTIME_SHEET_TITLE as at,
|
|
11092
|
+
MCDataUtil as au,
|
|
11093
|
+
OCR_MODEL_PRECISION_ENUM_KEY as av,
|
|
11094
|
+
RuntimeAsyncTaskCoordinator as aw,
|
|
11095
|
+
RuntimeDependencyService as ax,
|
|
11096
|
+
RuntimeFieldRegistry as ay,
|
|
11097
|
+
RuntimeInstanceEventBus as az,
|
|
10528
11098
|
bindFormulaCacheInvalidation as b,
|
|
11099
|
+
buildFieldStatusFromProfile as b0,
|
|
11100
|
+
getRowHandlersForFieldChange as b1,
|
|
11101
|
+
getInsertSubMenu as b2,
|
|
11102
|
+
resolveScanAdjustType as b3,
|
|
11103
|
+
resolveScanQty as b4,
|
|
11104
|
+
toDateOnly as b5,
|
|
11105
|
+
hasSubtableBusinessData as b6,
|
|
11106
|
+
getCopySubMenu as b7,
|
|
11107
|
+
resolveScanParsedValue as b8,
|
|
11108
|
+
isProductBatchEmptyRow as b9,
|
|
10529
11109
|
currentParamsConfig as c,
|
|
10530
11110
|
MULTI_SHEET_SCHEMA_VERSION as d,
|
|
10531
|
-
|
|
10532
|
-
|
|
10533
|
-
|
|
10534
|
-
|
|
10535
|
-
|
|
10536
|
-
|
|
10537
|
-
|
|
10538
|
-
|
|
10539
|
-
|
|
10540
|
-
|
|
10541
|
-
|
|
10542
|
-
|
|
10543
|
-
|
|
10544
|
-
|
|
11111
|
+
getBusinessFieldKey as e,
|
|
11112
|
+
createRuntimeDocumentV2 as f,
|
|
11113
|
+
getParseFormulaVarInfos as g,
|
|
11114
|
+
clampSealPosition as h,
|
|
11115
|
+
normalizeFieldWidth as i,
|
|
11116
|
+
findFieldProfile as j,
|
|
11117
|
+
normalizeHistoricalBusinessRow as k,
|
|
11118
|
+
DeviceLinkTmplUtil as l,
|
|
11119
|
+
normalizeAIOcrTmpl as m,
|
|
11120
|
+
normalizeSealDiameter as n,
|
|
11121
|
+
useWidgetStaticAttrs as o,
|
|
11122
|
+
useRuntimeInstanceServices as p,
|
|
11123
|
+
setSelectAnnotationId as q,
|
|
11124
|
+
useRuntimeRowState as r,
|
|
10545
11125
|
setSelectValidatorId as s,
|
|
10546
|
-
|
|
11126
|
+
getObjectBomMaterialLotQuery as t,
|
|
10547
11127
|
useFormTmplConfig as u,
|
|
10548
|
-
|
|
10549
|
-
|
|
10550
|
-
|
|
10551
|
-
|
|
10552
|
-
|
|
11128
|
+
buildObjectLotExtraQuery as v,
|
|
11129
|
+
resolveObjectFieldKeys as w,
|
|
11130
|
+
MaterialConsumptionPatternEnum as x,
|
|
11131
|
+
validateObjectBomForScan as y,
|
|
11132
|
+
resolveObjectBomEntry as z
|
|
10553
11133
|
};
|