@gct-paas/excel 0.1.39-beta.4 → 0.1.39-beta.40
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-B8_qg2he.js → BaseComponent-DidQ_7a_.js} +2 -2
- package/dist/{VueVideoPlayer-B-X9Kvhp.js → VueVideoPlayer-CTtss6-e.js} +2 -2
- package/dist/{align-editor-1IbAiPBg.js → align-editor-0EJDQ9xk.js} +1 -1
- package/dist/{barcode-design-DCm1U-OU.js → barcode-design-B8Wx_KI7.js} +2 -2
- package/dist/base/index.es.js +545 -244
- package/dist/{diagonal-design-DBk2s8UD.js → diagonal-design-Be5dGB14.js} +2 -2
- package/dist/{dynamic-table-action-JSevwsex.js → dynamic-table-action-Bmdi7alJ.js} +949 -304
- package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-ClcBVLO0.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-vRTNdchM.js} +636 -1140
- package/dist/{edit.utils-CXmmCnxE-88-QvdIv.js → edit.utils-CXmmCnxE-Cj0XviBc.js} +1 -1
- package/dist/excel.css +527 -327
- package/dist/{exceljs.min-M28cAz_z.js → exceljs.min-wH4A-2gc.js} +2 -2
- package/dist/{font-editor-nCQk5D1K.js → font-editor-B57ztQI3.js} +3 -3
- package/dist/{image-design-B84grap7.js → image-design-AOi1nT_M.js} +2 -2
- package/dist/{index-jRA6sXVY.js → index-2SyQ6xAT.js} +1 -1
- package/dist/{index-B53fgzJo.js → index-4GNzFs_7.js} +2 -2
- package/dist/{index-H_BLk7PI.js → index-B0Vbs0k9.js} +2 -2
- package/dist/{index-UCNknVxk.js → index-B1JboJFx.js} +1 -1
- package/dist/{index-bfXiwTE7.js → index-B57o3Egn.js} +1834 -1644
- package/dist/{index-_-ORWa-m.js → index-BFhX3ACB.js} +1 -1
- package/dist/{index-BvJ7ZgvI.js → index-BK6FsaFW.js} +2 -2
- package/dist/{index-XBuNXPu0.js → index-BKkc9PaW.js} +2 -2
- package/dist/{index-Co1E4H0G.js → index-BMrT49e4.js} +2 -2
- package/dist/{index-CKWcaJGI.js → index-BNIABvw9.js} +5 -7
- package/dist/{index-D7IBmbmp.js → index-BU9aiCZH.js} +2 -2
- package/dist/{index-DT87VrvR.js → index-B_f2z7Fg.js} +2 -2
- package/dist/{index-ChncMTkv.js → index-BeFJ_RCt.js} +1 -1
- package/dist/{index-tZd-Us4e.js → index-Bserup-h.js} +2 -2
- package/dist/{index-DEl0sxMk.js → index-Bx6NpFE9.js} +6 -5
- package/dist/{index-CCsNdL4I.js → index-C8iDQtRr.js} +2 -2
- package/dist/{index-I2HpU1BP.js → index-CC2qut8m.js} +3 -3
- package/dist/{index-D0Q-6EtG.js → index-CDhZoiEf.js} +1 -1
- package/dist/{index-DPOE78Jf.js → index-CF39ggy5.js} +2 -2
- package/dist/{index-CUHfI8cg.js → index-Cfe2Q-hG.js} +1 -1
- package/dist/{index-CX6LqGJP.js → index-Cld2wf77.js} +1 -1
- package/dist/{index-BSXafKJS.js → index-CqqJ3his.js} +2 -2
- package/dist/{index-CFjE5779.js → index-D0drNdqI.js} +3 -2
- package/dist/{index-CGsTW2E9.js → index-D7ovxfg9.js} +2 -2
- package/dist/{index-DkvjFyW6.js → index-DM7iO1vz.js} +2 -2
- package/dist/{index-wcY1RYL_.js → index-DQBCQIUX.js} +2 -2
- package/dist/{index-CCp6-NXH.js → index-DT3EoOVp.js} +3 -3
- package/dist/{index-DCzL4GOP.js → index-DThgFjEo.js} +53 -5
- package/dist/{index-BrkoN2-J.js → index-NNGcsmsY.js} +6 -5
- package/dist/{index-CBiaZr1j.js → index-PFPhIStD.js} +2 -2
- package/dist/{index-Doz8Gf_5.js → index-SXIZsVts.js} +1 -1
- package/dist/{index-ZEwe0MJj.js → index-aGcBuVIb.js} +2 -2
- package/dist/{index-DEN3-esb.js → index-jvotzKm2.js} +3 -3
- package/dist/{index-DHHyy4mL.js → index-n97S5YRD.js} +1 -1
- package/dist/{index-MJFci9IB.js → index-nl7I1bLi.js} +1 -1
- package/dist/index.es.js +2 -2
- package/dist/{mb-render-BZDgmpm9.js → mb-render-FUO_-FXR.js} +9 -3
- package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-Ciue53Ue.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-DOYhOffQ.js} +8 -1
- package/dist/{pagination-design-BYqVZGdA.js → pagination-design-CcNfWRta.js} +2 -2
- package/dist/paper-widget-design-Dbo_qYm8.js +4 -0
- package/dist/{print-runtime-instance-D3BJGzia.js → print-runtime-instance-wqeNIemM.js} +1 -1
- package/dist/{print-snapshot-renderer-MzkjvlA8.js → print-snapshot-renderer-CPFIw63J.js} +3 -3
- package/dist/{qrcode-design-B0YGEijA.js → qrcode-design-BjA8SQXf.js} +1 -1
- package/dist/{revo-grid.entry-DdE6cuGJ.js → revo-grid.entry-DKvA7bUR.js} +1 -1
- package/dist/{revogr-attribution_7.entry-Er1fVrov.js → revogr-attribution_7.entry-C2PtJ_Tj.js} +3 -3
- package/dist/{revogr-clipboard_3.entry-COq2SN-B.js → revogr-clipboard_3.entry-BM7_JY0U.js} +2 -2
- package/dist/{revogr-data_4.entry--CfGDdVK.js → revogr-data_4.entry-CdMQPL7I.js} +2 -2
- package/dist/{revogr-filter-panel.entry-DoNXkBy6.js → revogr-filter-panel.entry-BJiGVhcw.js} +1 -1
- package/dist/seal-design-B2qsDyWv.js +4 -0
- package/dist/{serialnumber-design-fMRSi9jn.js → serialnumber-design-QaDIsxYT.js} +1 -1
- package/dist/shared/index.es.js +23 -21
- package/dist/{single-field-drop-BycxT2Kf.js → single-field-drop-BA3lBMcJ.js} +2 -2
- package/dist/{size-editor-BKJfYgbR.js → size-editor-BV0KrQ37.js} +1 -1
- package/dist/src/domain/table/business/material/material-balance/profile/fields.d.ts +2 -0
- package/dist/src/domain/table/business/preprocess/pretreatment-list/profile/field-keys.d.ts +1 -7
- package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/fields.d.ts +2 -0
- package/dist/src/nocode-base/src/core/sub-table/allocate-table-core.d.ts +2 -1
- package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +2 -1
- package/dist/src/nocode-base/src/hooks/form-model/form-model-controller.d.ts +2 -0
- package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +1 -0
- package/dist/src/nocode-base/src/hooks/material-consume/tmpl-bom-controller.d.ts +12 -7
- package/dist/src/nocode-base/src/hooks/material-consume-object/bom-validator.d.ts +4 -3
- package/dist/src/nocode-base/src/hooks/material-consume-object/initialize-autofill.d.ts +19 -0
- package/dist/src/nocode-base/src/hooks/material-consume-object/object-validation-controller.d.ts +24 -0
- package/dist/src/nocode-base/src/interface/render.d.ts +3 -1
- package/dist/src/nocode-base/src/interface/transform.d.ts +9 -1
- package/dist/src/nocode-base/src/runtime/async-task-coordinator.d.ts +6 -2
- 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/nocode-base/src/runtime/runtime-field-initializer.d.ts +1 -1
- package/dist/src/nocode-base/src/runtime/runtime-validation-service.d.ts +1 -0
- package/dist/src/nocode-base/src/types/render/mc-render.d.ts +1 -1
- package/dist/src/nocode-base/src/types/render/sub-table-render.d.ts +5 -1
- package/dist/src/nocode-web-render/src/render/sub-table/common/inventory-scan-columns.d.ts +6 -0
- package/dist/src/nocode-web-render/src/render/sub-table/material-consume/mc-web-render.d.ts +1 -1
- package/dist/src/online-form/src/views/__cell_widgets__/cell-widget-design.vue.d.ts +1 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/display-fields-editor/display-fields.util.d.ts +2 -2
- 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/__cell_widgets__/fake-field/fake-option-select.vue.d.ts +1 -0
- package/dist/src/online-form/src/views/designer/conversions/normalize-paper-grid.d.ts +3 -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/src/online-form/src/views/render/__components__/_field_/trace/utils/use-rule-props.d.ts +0 -3
- package/dist/src/shared/enum/field-type.d.ts +2 -0
- package/dist/src/shared/enum/index.d.ts +2 -0
- package/dist/src/shared/enum/product-type.d.ts +9 -0
- package/dist/src/shared/enum/production-identification.d.ts +19 -0
- package/dist/src/shared/utils/cell-wrap.d.ts +9 -0
- package/dist/src/shared/utils/grid-size.d.ts +2 -0
- package/dist/{sub-table-factory-BxG7QiiX.js → sub-table-factory-BP2eBKGz.js} +19 -7
- package/dist/{text-design-BQKYk7aD.js → text-design-CZkgq9OB.js} +5 -4
- package/dist/{throttle-Cpk1LoGk-BI0wP2Le.js → throttle-Cpk1LoGk-HQvkISS4.js} +1 -1
- package/dist/{timediff-design-O1IfzLVD.js → timediff-design-CKjl56qS.js} +1 -1
- package/dist/{trace-like-wrapper-CdKGpstE.js → trace-like-wrapper-CuKzkv-c.js} +2 -2
- package/dist/{value-editor.vue_vue_type_style_index_0_lang-CCv0wmKI.js → value-editor.vue_vue_type_style_index_0_lang-Vw4MwIVM.js} +2 -2
- package/dist/web-render/index.es.js +3 -3
- package/dist/{widget-barcode-CK68yjvd.js → widget-barcode-W5MQVGy_.js} +4 -4
- package/dist/{widget-diagonal-9F-6feRM.js → widget-diagonal-BYx_rmij.js} +3 -3
- package/dist/{widget-image-2GcRCaIf.js → widget-image-Btu_5z7c.js} +5 -5
- package/dist/{widget-line-flwy9kew.js → widget-line-B7NFA4CC.js} +2 -2
- package/dist/{widget-pagination-pxpEH1UB.js → widget-pagination-DLS5-U_l.js} +5 -5
- package/dist/{widget-power-pFQ7lwCW.js → widget-power-BTR1uZ_X.js} +3 -3
- package/dist/{widget-qrcode-D_Ri0RG2.js → widget-qrcode-CJmioStY.js} +3 -3
- package/dist/{widget-rangelimit-DB97heRc.js → widget-rangelimit-DfuNVDsE.js} +3 -3
- package/dist/{widget-serialnumber-I35Sov0R.js → widget-serialnumber-KeVYJBn8.js} +1 -1
- package/dist/{widget-text-C93W0WWM.js → widget-text-D6PjB04d.js} +5 -5
- package/dist/{widget-timediff-S4X81H7c.js → widget-timediff-CSKXudmS.js} +2 -2
- package/package.json +2 -2
- package/dist/paper-widget-design-BcSUNaAF.js +0 -4
- package/dist/seal-design-CHOawN-k.js +0 -4
package/dist/base/index.es.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { E as api,
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { B as B2,
|
|
1
|
+
import { E as api, _ as PlatformEnum, F as FIELD_TYPE, bb as getRowId, bc as findRuntimeTableRow, b4 as RenderModeEnum, C as ComponentTypeEnum, aF as Dependency_ENUM, aE as ASSIGNMENTSTRATEGY_ENUM, bm as fetchHistoryConsume, bn as isBomGranted, aT as renderUtils, bl as uuid2, bo as parseFrontConfig, aI as CheckDsTypeEnum, aC as transformUtils, bp as baseDataUtils, X as FormTypeEnum, bq as normalizeToArray, br as safeParseArray, bs as BpmnNodeTypeEnum, bt as mergeByMultiKey, a7 as _export_sfc, bu as evaluateInspectionDecisionRule, bv as useNocodeEmitter, bw as commonUtils, aG as EntityModelCategoryEnum } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-vRTNdchM.js";
|
|
2
|
+
import { aL, aN, aZ, a0, bx, by, B, bz, y, af, bA, bB, bC, ba, bD, aQ, av, aM, aJ, aK, bE, ag, ak, bF, bG, aD, a2, ae, aw, aO, $, ai, L, bH, bI, bJ, O, p, P, a9, o, Q, A, bK, bL, au, at, a5, a1, a3, a4, a6, f, bM, aj, an, ah, bN, bO, bP, bQ, b9, bR, bS, bT, bU, bV, bW, bX, bY, bZ, b_, bd, b$, c0, aW, c1, a_, a$, c2, c3, c4, c5, c6, c7, c8, c9, ca, cb, aV, cc, b0, b7, cd, ce, al, t, aP, cf, cg, be, aX } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-vRTNdchM.js";
|
|
3
|
+
import { a2 as getRuntimeDataFieldId, O as parseRuntimeFieldPath, a3 as buildRuntimeFieldPath, a4 as resolveRuntimeFieldProps, a5 as resolveRuntimeFieldState, a6 as assembleRules, a7 as isAttachFieldActive, P as calculateFormula, a8 as getRuntimeDependencyOutputKey, a9 as isRowAddedInCurrentFormChange, g as getParseFormulaVarInfos, w as MaterialConsumptionPatternEnum, aa as MaterialConsumeTableController, ab as setFormulaParamsConfig, ac as normalizeRuntime, V as createRuntimeInstanceContext, ad as initializeSealFields, U as RuntimeFormStateStore, ae as RuntimeSheetService, c as getBusinessFieldKey, af as validateObjectBomQtyOnSubmit, ag as areValidationCommentsEqual, ah as closeValidatorPopovers, ai as enrichFormChangeRowDetails, N as NCB_PROVIDE, W as RuntimeInstanceRegistry, aj as useMaterialBalance, ak as collectFormChangeFieldLocations, al as nextFormChangeRowViewHistoryId } from "../dynamic-table-action-Bmdi7alJ.js";
|
|
4
|
+
import { B as B2, am, k, a1 as a12, an as an2, $ as $2, ao, a0 as a02, F, ap, aq, ar, as, at as at2, M, a, au as au2, b, av as av2, aw as aw2, ax, ay, az, aA, aB, aC, C, aD as aD2, t as t2, aE, d, aF, aG, aH, aI, r, E, aJ as aJ2, aK as aK2, aL as aL2, aM as aM2, l, G, j, aN as aN2, aO as aO2, aP as aP2, aQ as aQ2, aR, aS, aT, y as y2, v, aU, z, p as p2, aV as aV2, s, aW as aW2, R, S, u, A as A2, T, o as o2, q, Q as Q2, m, x } from "../dynamic-table-action-Bmdi7alJ.js";
|
|
5
5
|
import { toRaw, watch, toRef, computed, defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, ref, provide, onUnmounted, markRaw, reactive, onBeforeUnmount } from "vue";
|
|
6
6
|
import { cloneDeep, defaults, isEmpty, merge } from "lodash-es";
|
|
7
7
|
import "dayjs";
|
|
8
|
-
import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "../sub-table-factory-
|
|
9
|
-
import { A as A3, D, M as M2, a as
|
|
10
|
-
import { B as B3, F as F2, M as M3, a as
|
|
8
|
+
import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "../sub-table-factory-BP2eBKGz.js";
|
|
9
|
+
import { A as A3, D, M as M2, a as a7, P as P2, b as b2, c, d as d2, e, W, f as f2, g, h } from "../sub-table-factory-BP2eBKGz.js";
|
|
10
|
+
import { B as B3, F as F2, M as M3, a as a8, u as u2 } from "../mb-render-FUO_-FXR.js";
|
|
11
11
|
const InstanceStatusValues = {
|
|
12
12
|
/** 作废状态 */
|
|
13
13
|
ABANDON: "ABANDON",
|
|
@@ -190,7 +190,7 @@ class RuntimeFieldInitializer {
|
|
|
190
190
|
await Promise.resolve();
|
|
191
191
|
this.scheduled = false;
|
|
192
192
|
if (!signal.aborted && !this.disposed) await this.initialize();
|
|
193
|
-
}).catch((
|
|
193
|
+
}).catch(() => void 0).finally(() => this.tasks.delete("initialize:structure"));
|
|
194
194
|
});
|
|
195
195
|
}
|
|
196
196
|
record;
|
|
@@ -203,7 +203,7 @@ class RuntimeFieldInitializer {
|
|
|
203
203
|
disposed = false;
|
|
204
204
|
scheduled = false;
|
|
205
205
|
unsubscribe;
|
|
206
|
-
/**
|
|
206
|
+
/** 初次加载等待全部目标;默认值请求失败保留在任务中心供诊断,但不阻止提交。 */
|
|
207
207
|
async initialize() {
|
|
208
208
|
if (this.disposed || this.info.renderPurpose || this.info.platformType === PlatformEnum.INTEGRATION_PAAS_DP)
|
|
209
209
|
return;
|
|
@@ -247,7 +247,8 @@ class RuntimeFieldInitializer {
|
|
|
247
247
|
modelKey: props.modelKey,
|
|
248
248
|
subModelKey: props.subModelKey
|
|
249
249
|
},
|
|
250
|
-
sheetId
|
|
250
|
+
sheetId,
|
|
251
|
+
blockOnFailure: false
|
|
251
252
|
}
|
|
252
253
|
).finally(() => this.tasks.delete(key));
|
|
253
254
|
pending.push(task);
|
|
@@ -259,7 +260,7 @@ class RuntimeFieldInitializer {
|
|
|
259
260
|
this.record.asyncTasks.cancel(key);
|
|
260
261
|
this.tasks.delete(key);
|
|
261
262
|
}
|
|
262
|
-
await Promise.
|
|
263
|
+
await Promise.allSettled(pending);
|
|
263
264
|
}
|
|
264
265
|
request(key, fetch) {
|
|
265
266
|
const existing = this.requests.get(key);
|
|
@@ -805,6 +806,10 @@ class FormTmplBomController {
|
|
|
805
806
|
field2TableMap = {};
|
|
806
807
|
/** 默认物料消耗模式 */
|
|
807
808
|
defaultMCPattern = MaterialConsumptionPatternEnum.RECORD;
|
|
809
|
+
/** 表单实例身份与 BOM 数据是否存在无关,模板展示也会创建完整控制器。 */
|
|
810
|
+
hasFormInstance = false;
|
|
811
|
+
/** 按页面中的表解析后的配置,页面与打印共用。 */
|
|
812
|
+
resolvedTmplBomList = [];
|
|
808
813
|
constructor() {
|
|
809
814
|
}
|
|
810
815
|
/**
|
|
@@ -822,7 +827,9 @@ class FormTmplBomController {
|
|
|
822
827
|
productQty: this.productQty,
|
|
823
828
|
historyData: this.historyData,
|
|
824
829
|
field2TableMap: this.field2TableMap,
|
|
825
|
-
defaultMCPattern: this.defaultMCPattern
|
|
830
|
+
defaultMCPattern: this.defaultMCPattern,
|
|
831
|
+
hasFormInstance: this.hasFormInstance,
|
|
832
|
+
resolvedTmplBomList: this.resolvedTmplBomList
|
|
826
833
|
})
|
|
827
834
|
);
|
|
828
835
|
(view.tmplBomList ?? []).forEach((config) => {
|
|
@@ -874,11 +881,11 @@ class FormTmplBomController {
|
|
|
874
881
|
* @readonly
|
|
875
882
|
*/
|
|
876
883
|
get bomEntries() {
|
|
877
|
-
return this.formInstBom?.bomEntries;
|
|
884
|
+
return this.formInstBom?.bomEntries ?? [];
|
|
878
885
|
}
|
|
879
886
|
/** 表单模板bom信息配置列表 */
|
|
880
887
|
get tmplBomList() {
|
|
881
|
-
return this.
|
|
888
|
+
return this.resolvedTmplBomList;
|
|
882
889
|
}
|
|
883
890
|
/**
|
|
884
891
|
* bom那边指定的当前工序的开关
|
|
@@ -887,30 +894,55 @@ class FormTmplBomController {
|
|
|
887
894
|
get enableSequenceLoading() {
|
|
888
895
|
return !!this.formInstBom?.sequenceEntries?.[0]?.enabled_;
|
|
889
896
|
}
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
897
|
+
createDefaultConfig(table) {
|
|
898
|
+
return {
|
|
899
|
+
table_key_: `${table.tableKey}:${table.masterSubField}`,
|
|
900
|
+
material_loading_model_enabled_: false,
|
|
901
|
+
material_consumption_pattern_: MaterialConsumptionPatternEnum.RECORD,
|
|
902
|
+
bom_init_enabled_: false,
|
|
903
|
+
personal_bom_enabled_: false,
|
|
904
|
+
sequence_loading_enabled_: false,
|
|
905
|
+
entries_: []
|
|
906
|
+
};
|
|
907
|
+
}
|
|
908
|
+
/** 有实例时读取实例配置,无实例时仅创建默认展示控制器。 */
|
|
893
909
|
async init(data) {
|
|
894
|
-
|
|
895
|
-
|
|
910
|
+
this.hasFormInstance = data.hasFormInstance;
|
|
911
|
+
this.operationId = data.operationId ?? "";
|
|
912
|
+
this.materialNo = data.materialNo ?? "";
|
|
913
|
+
this.formInstBom = this.hasFormInstance ? data.formInstBom ?? null : null;
|
|
914
|
+
this.productQty = this.formInstBom ? data.productQty ?? 0 : data.productQty;
|
|
915
|
+
this.historyData = [];
|
|
916
|
+
this.defaultMCPattern = MaterialConsumptionPatternEnum.RECORD;
|
|
917
|
+
this.tableControllers = {};
|
|
918
|
+
this.field2TableMap = {};
|
|
919
|
+
const instanceConfigs = new Map(
|
|
920
|
+
(this.formInstBom?.formTmplBomList ?? []).filter((config) => !config.deleted_ && config.table_key_).map((config) => [config.table_key_, config])
|
|
921
|
+
);
|
|
922
|
+
this.resolvedTmplBomList = data.materialConsumeTableList.map((table) => {
|
|
923
|
+
const key = `${table.tableKey}:${table.masterSubField}`;
|
|
924
|
+
const source = instanceConfigs.get(key);
|
|
925
|
+
if (!source) return this.createDefaultConfig(table);
|
|
926
|
+
const config = cloneDeep(source);
|
|
927
|
+
config.entries_ ??= [];
|
|
928
|
+
return config;
|
|
929
|
+
});
|
|
930
|
+
if (this.formInstBom) {
|
|
931
|
+
if (this.formInstBom.productionIdentificationId && this.operationId) {
|
|
932
|
+
this.historyData = await fetchHistoryConsume({
|
|
933
|
+
production_identification_id_: this.formInstBom.productionIdentificationId,
|
|
934
|
+
routing_operation_id_: this.operationId
|
|
935
|
+
});
|
|
936
|
+
}
|
|
937
|
+
const isGranted = await isBomGranted();
|
|
938
|
+
this.defaultMCPattern = isGranted ? MaterialConsumptionPatternEnum.BOM : MaterialConsumptionPatternEnum.RECORD;
|
|
896
939
|
}
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
production_identification_id_: this.formInstBom.productionIdentificationId,
|
|
903
|
-
routing_operation_id_: this.operationId
|
|
940
|
+
data.materialConsumeTableList.forEach((table, index) => {
|
|
941
|
+
const config = this.resolvedTmplBomList[index];
|
|
942
|
+
const controller = new MaterialConsumeTableController(this, config);
|
|
943
|
+
this.tableControllers[table.tableKey] = controller;
|
|
944
|
+
this.field2TableMap[table.masterSubField] = table.tableKey;
|
|
904
945
|
});
|
|
905
|
-
const isGranted = await isBomGranted();
|
|
906
|
-
this.defaultMCPattern = isGranted ? MaterialConsumptionPatternEnum.BOM : MaterialConsumptionPatternEnum.RECORD;
|
|
907
|
-
this.tableControllers = {};
|
|
908
|
-
this.tmplBomList.forEach((cur) => {
|
|
909
|
-
const controller = new MaterialConsumeTableController(this, cur);
|
|
910
|
-
const [tableKey, fieldKey] = cur.table_key_.split(":");
|
|
911
|
-
this.tableControllers[tableKey] = controller;
|
|
912
|
-
this.field2TableMap[fieldKey] = tableKey;
|
|
913
|
-
}, {});
|
|
914
946
|
}
|
|
915
947
|
/**
|
|
916
948
|
* 根据字段key获取子表控制器
|
|
@@ -957,7 +989,7 @@ class FormTmplBomController {
|
|
|
957
989
|
}
|
|
958
990
|
async submitValidate() {
|
|
959
991
|
const results = await Promise.all(
|
|
960
|
-
Object.values(this.tableControllers).map((
|
|
992
|
+
Object.values(this.tableControllers).map((c10) => c10.submitValidate())
|
|
961
993
|
);
|
|
962
994
|
const fields = {};
|
|
963
995
|
let isValid = true;
|
|
@@ -971,6 +1003,79 @@ class FormTmplBomController {
|
|
|
971
1003
|
};
|
|
972
1004
|
}
|
|
973
1005
|
}
|
|
1006
|
+
async function prepareObjectProductDefaults({
|
|
1007
|
+
enabled,
|
|
1008
|
+
fields,
|
|
1009
|
+
objectInitialValues = [],
|
|
1010
|
+
onWarning
|
|
1011
|
+
}) {
|
|
1012
|
+
const defaults2 = /* @__PURE__ */ new WeakMap();
|
|
1013
|
+
if (!enabled) return defaults2;
|
|
1014
|
+
const requests = /* @__PURE__ */ new Map();
|
|
1015
|
+
const tasks = [];
|
|
1016
|
+
function fetchProduct(productId) {
|
|
1017
|
+
const existing = requests.get(productId);
|
|
1018
|
+
if (existing) return existing;
|
|
1019
|
+
const request = (async () => {
|
|
1020
|
+
const result = await api.apaas.modelComprehensive.getBizServiceModelCategoryModelKeyBsKey(
|
|
1021
|
+
{
|
|
1022
|
+
modelCategory: "entity",
|
|
1023
|
+
modelKey: "em_product",
|
|
1024
|
+
bsKey: "rdoGetVersionById"
|
|
1025
|
+
},
|
|
1026
|
+
// 沿用现有接口约定,传完整默认值,不拆分版本 ID。
|
|
1027
|
+
{ id: productId }
|
|
1028
|
+
);
|
|
1029
|
+
const product = result?.data;
|
|
1030
|
+
if (!product || typeof product !== "object" || Array.isArray(product) || Object.keys(product).length === 0) {
|
|
1031
|
+
return void 0;
|
|
1032
|
+
}
|
|
1033
|
+
return { ...product, _DICT: result?.dict ?? product._DICT };
|
|
1034
|
+
})();
|
|
1035
|
+
requests.set(productId, request);
|
|
1036
|
+
return request;
|
|
1037
|
+
}
|
|
1038
|
+
for (const entry of fields) {
|
|
1039
|
+
if (!entry || typeof entry !== "object") continue;
|
|
1040
|
+
const field = entry;
|
|
1041
|
+
if (typeof field.fieldId !== "string" || !field.belongingObject || field.fieldType !== FIELD_TYPE.PRODUCT || field.isFieldModel || field.subFieldKey || field.subModelKey) {
|
|
1042
|
+
continue;
|
|
1043
|
+
}
|
|
1044
|
+
const configured = objectInitialValues.find(
|
|
1045
|
+
(item) => item.objectField === field.belongingObject
|
|
1046
|
+
);
|
|
1047
|
+
if (!configured?.values || !Object.prototype.hasOwnProperty.call(configured.values, field.fieldId)) {
|
|
1048
|
+
continue;
|
|
1049
|
+
}
|
|
1050
|
+
const productDefault = {
|
|
1051
|
+
value: configured.values[field.fieldId]
|
|
1052
|
+
};
|
|
1053
|
+
defaults2.set(entry, productDefault);
|
|
1054
|
+
const productId = productDefault.value;
|
|
1055
|
+
const needsAutofill = field.enableAutofill !== false && field.autofillRules?.some((rule) => !!rule.toField);
|
|
1056
|
+
if (!needsAutofill || typeof productId !== "string" || productId === "") continue;
|
|
1057
|
+
tasks.push(
|
|
1058
|
+
fetchProduct(productId).then(
|
|
1059
|
+
(sourceData) => {
|
|
1060
|
+
if (!sourceData) {
|
|
1061
|
+
const objectName = configured.objectFieldName || field.belongingObject;
|
|
1062
|
+
onWarning?.(
|
|
1063
|
+
`「数据 → 对象初始化 → ${objectName} → 配置」中的默认物料未查到详情(字段 ${field.fieldId},物料 ${productId}),已跳过自动填充。`
|
|
1064
|
+
);
|
|
1065
|
+
return;
|
|
1066
|
+
}
|
|
1067
|
+
productDefault.sourceData = sourceData;
|
|
1068
|
+
},
|
|
1069
|
+
(error) => {
|
|
1070
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
1071
|
+
throw new Error(`对象初始化数据填充失败,字段 ${field.fieldId}:${reason}`);
|
|
1072
|
+
}
|
|
1073
|
+
)
|
|
1074
|
+
);
|
|
1075
|
+
}
|
|
1076
|
+
await Promise.all(tasks);
|
|
1077
|
+
return defaults2;
|
|
1078
|
+
}
|
|
974
1079
|
async function getModelQueries(opts) {
|
|
975
1080
|
const isEdhr = await isEdhrSuite();
|
|
976
1081
|
if (!isEdhr || !opts.mainMaterialNo) {
|
|
@@ -1115,13 +1220,14 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
|
|
|
1115
1220
|
let runtimeFormStateStore;
|
|
1116
1221
|
let scriptRunner;
|
|
1117
1222
|
try {
|
|
1118
|
-
const normalizedRuntime = normalizeRuntime(selfInfo?.runtimeJson || "{}");
|
|
1223
|
+
const normalizedRuntime = normalizeRuntime(selfInfo?.runtimeJson || "{}", selfInfo.formType);
|
|
1119
1224
|
const tid = result.tid;
|
|
1120
1225
|
const uniqueId = `${tid}_${uuid2(8)}`;
|
|
1121
1226
|
const runtimeContext = createRuntimeInstanceContext({
|
|
1122
1227
|
uniqueId,
|
|
1123
1228
|
instanceId: id,
|
|
1124
1229
|
templateId: tid,
|
|
1230
|
+
formType: selfInfo.formType,
|
|
1125
1231
|
runtime: normalizedRuntime,
|
|
1126
1232
|
defaultData: {}
|
|
1127
1233
|
});
|
|
@@ -1263,6 +1369,8 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
|
|
|
1263
1369
|
}
|
|
1264
1370
|
await tmplBomC.init({
|
|
1265
1371
|
formInstBom: selfInfo.formInstBom,
|
|
1372
|
+
materialConsumeTableList: businessIndex.materialConsumeTableList,
|
|
1373
|
+
hasFormInstance: isFormInstance,
|
|
1266
1374
|
operationId: paramsConfig?.routingOperationId,
|
|
1267
1375
|
materialNo,
|
|
1268
1376
|
productQty: paramsConfig?.productQty
|
|
@@ -1334,7 +1442,16 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
|
|
|
1334
1442
|
params: { id: paramsConfig?.warehouseId }
|
|
1335
1443
|
}
|
|
1336
1444
|
]);
|
|
1445
|
+
const objectProductDefaults = await prepareObjectProductDefaults({
|
|
1446
|
+
enabled: fillModeType === RenderModeEnum.FormMode && selfInfo.dataStatus !== "STASH" && selfInfo.dataStatus !== "SUBMIT",
|
|
1447
|
+
fields: fieldInfoMap.useDefaultValueFields,
|
|
1448
|
+
objectInitialValues: runtimeContext.formConfig.objectInitialValues,
|
|
1449
|
+
onWarning: (content) => {
|
|
1450
|
+
window.NocodeAdapter.openUtil?.message({ type: "warning", content, duration: 8 });
|
|
1451
|
+
}
|
|
1452
|
+
});
|
|
1337
1453
|
const defaultDataMap = renderUtils.getDefaultValueMapByField({
|
|
1454
|
+
objectProductDefaults,
|
|
1338
1455
|
defaultValueFields: fieldInfoMap.useDefaultValueFields,
|
|
1339
1456
|
mainMaterialNo: paramsConfig?.materialNo || selfInfo.materialNo,
|
|
1340
1457
|
mainRelatedLotNo: paramsConfig?.relatedLotNo,
|
|
@@ -1424,6 +1541,15 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
|
|
|
1424
1541
|
});
|
|
1425
1542
|
initializeSealFields(floatingFields, formState);
|
|
1426
1543
|
}
|
|
1544
|
+
await transformUtils.getEventInitDataLoaded({
|
|
1545
|
+
formConfig: runtimeContext.formConfig,
|
|
1546
|
+
formState,
|
|
1547
|
+
viewMode: fillModeType,
|
|
1548
|
+
dataStatus: selfInfo.dataStatus,
|
|
1549
|
+
ofCtx: { formPrint: payload.formPrint, id: result.id }
|
|
1550
|
+
}).catch((error) => {
|
|
1551
|
+
console.error("Error in getEventInitDataLoaded:", error);
|
|
1552
|
+
});
|
|
1427
1553
|
runtimeFormStateStore = new RuntimeFormStateStore(
|
|
1428
1554
|
formState,
|
|
1429
1555
|
// 子表信息覆盖普通/固定/检验表、二维关联列以及各类业务表;不能只依赖已放置字段。
|
|
@@ -1542,6 +1668,18 @@ function bindRuntimeBusinessServices(runtimeRegistry, record, dataStatus) {
|
|
|
1542
1668
|
uniqueId,
|
|
1543
1669
|
() => MaterialConsumeTableController.render?.destroyAllModals(uniqueId)
|
|
1544
1670
|
);
|
|
1671
|
+
runtimeRegistry.registerDisposable(
|
|
1672
|
+
uniqueId,
|
|
1673
|
+
watch(
|
|
1674
|
+
() => record.context.activeSheetId,
|
|
1675
|
+
(next, previous) => {
|
|
1676
|
+
if (next !== previous) {
|
|
1677
|
+
MaterialConsumeTableController.render?.destroyAllModals(uniqueId);
|
|
1678
|
+
}
|
|
1679
|
+
},
|
|
1680
|
+
{ flush: "sync" }
|
|
1681
|
+
)
|
|
1682
|
+
);
|
|
1545
1683
|
if (!mcList.length) return;
|
|
1546
1684
|
const tmplBomC = record.context.services.tmplBomController;
|
|
1547
1685
|
if (!tmplBomC) return;
|
|
@@ -1838,7 +1976,13 @@ function createRuntimePersistenceAccess(runtimeRegistry, props, payload) {
|
|
|
1838
1976
|
const signatureKeys = (runtimeRecord.context.businessIndex.useSignatureFields || []).map(
|
|
1839
1977
|
(item) => item.fieldId
|
|
1840
1978
|
);
|
|
1841
|
-
const idsFormState = transformUtils.getFormDataIdsMap(
|
|
1979
|
+
const idsFormState = transformUtils.getFormDataIdsMap(
|
|
1980
|
+
newFormState,
|
|
1981
|
+
signatureKeys,
|
|
1982
|
+
(path) => runtimeRecord.fields.findByPath(path).some(
|
|
1983
|
+
({ widget, subFieldKey }) => subFieldKey !== path && [FIELD_TYPE.DATE, FIELD_TYPE.DATE_TIME].includes(widget?.props.fieldType)
|
|
1984
|
+
)
|
|
1985
|
+
);
|
|
1842
1986
|
if (saveToken ? !runtimeRecord.persistence.completeSave(saveToken) : requestedRevision !== runtimeRecord.formState.revision) {
|
|
1843
1987
|
return false;
|
|
1844
1988
|
}
|
|
@@ -1915,6 +2059,139 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
1915
2059
|
}
|
|
1916
2060
|
});
|
|
1917
2061
|
const InspectionDecisionPromptModal = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9c14035f"]]);
|
|
2062
|
+
function createMaterialConsumeObjectValidation(options) {
|
|
2063
|
+
const { record, getInfo, isCurrent, shouldSkip, applyComments } = options;
|
|
2064
|
+
let enabled = false;
|
|
2065
|
+
let disposed = false;
|
|
2066
|
+
let submitting = 0;
|
|
2067
|
+
let generation = 0;
|
|
2068
|
+
let lastRevision = -1;
|
|
2069
|
+
let timer;
|
|
2070
|
+
let paths = /* @__PURE__ */ new Set();
|
|
2071
|
+
const unlocated = /* @__PURE__ */ new Set();
|
|
2072
|
+
const alive = () => !disposed && isCurrent();
|
|
2073
|
+
function cancelLive() {
|
|
2074
|
+
generation++;
|
|
2075
|
+
if (timer !== void 0) clearTimeout(timer);
|
|
2076
|
+
timer = void 0;
|
|
2077
|
+
}
|
|
2078
|
+
function calcObjectError(error) {
|
|
2079
|
+
const info = getInfo();
|
|
2080
|
+
const modelKey = info?.modelKey || record.context.businessIndex.modelDisplay.key;
|
|
2081
|
+
const descriptor = record.fields.findField({ modelKey, fieldId: error.field });
|
|
2082
|
+
const props = descriptor?.widget?.props;
|
|
2083
|
+
if (!props?.field || descriptor?.subFieldKey || props.subFieldKey) {
|
|
2084
|
+
const key = modelKey + "." + error.field;
|
|
2085
|
+
if (!unlocated.has(key)) {
|
|
2086
|
+
unlocated.add(key);
|
|
2087
|
+
console.warn("物料消耗对象错误未定位到主表控件,保留在校验清单:", key);
|
|
2088
|
+
}
|
|
2089
|
+
return { error, path: void 0 };
|
|
2090
|
+
}
|
|
2091
|
+
const path = buildRuntimeFieldPath({
|
|
2092
|
+
...props,
|
|
2093
|
+
modelKey: props.modelKey ?? info?.modelKey,
|
|
2094
|
+
fieldId: props.field
|
|
2095
|
+
});
|
|
2096
|
+
return { error: { ...error, field: path }, path };
|
|
2097
|
+
}
|
|
2098
|
+
function replaceObjectFields(fields) {
|
|
2099
|
+
if (!alive()) return;
|
|
2100
|
+
const next = { ...getInfo()?.mcValidatorMessageMap ?? {} };
|
|
2101
|
+
paths.forEach((path) => delete next[path]);
|
|
2102
|
+
Object.assign(next, fields);
|
|
2103
|
+
paths = new Set(Object.keys(fields));
|
|
2104
|
+
applyComments(next);
|
|
2105
|
+
}
|
|
2106
|
+
function replaceTableFields(fields) {
|
|
2107
|
+
if (!alive()) return;
|
|
2108
|
+
const current = getInfo()?.mcValidatorMessageMap ?? {};
|
|
2109
|
+
const next = { ...fields ?? {} };
|
|
2110
|
+
paths.forEach((path) => {
|
|
2111
|
+
if (current[path]) {
|
|
2112
|
+
next[path] = [...next[path] ?? [], ...current[path]];
|
|
2113
|
+
}
|
|
2114
|
+
});
|
|
2115
|
+
applyComments(next);
|
|
2116
|
+
}
|
|
2117
|
+
function clear() {
|
|
2118
|
+
cancelLive();
|
|
2119
|
+
enabled = false;
|
|
2120
|
+
lastRevision = -1;
|
|
2121
|
+
replaceObjectFields({});
|
|
2122
|
+
}
|
|
2123
|
+
async function validate(live = false) {
|
|
2124
|
+
cancelLive();
|
|
2125
|
+
if (!alive()) return;
|
|
2126
|
+
if (shouldSkip()) {
|
|
2127
|
+
clear();
|
|
2128
|
+
return { isValid: true };
|
|
2129
|
+
}
|
|
2130
|
+
const ticket = generation;
|
|
2131
|
+
const revision = record.formState.revision;
|
|
2132
|
+
const info = getInfo();
|
|
2133
|
+
const display = record.context.businessIndex.modelDisplay;
|
|
2134
|
+
const errors = await validateObjectBomQtyOnSubmit({
|
|
2135
|
+
formState: record.formState.state,
|
|
2136
|
+
objectFieldList: record.context.formConfig.objectFieldList,
|
|
2137
|
+
formInstBom: record.context.services.tmplBomController?.formInstBom,
|
|
2138
|
+
showModelName: display.name,
|
|
2139
|
+
showModelKey: display.key || info?.modelKey || ""
|
|
2140
|
+
});
|
|
2141
|
+
if (!alive() || generation !== ticket || record.formState.revision !== revision || live && getInfo()?.renderModeType !== RenderModeEnum.FormMode)
|
|
2142
|
+
return;
|
|
2143
|
+
const fields = {};
|
|
2144
|
+
const comments = {};
|
|
2145
|
+
for (const source of errors) {
|
|
2146
|
+
const adapted = calcObjectError(source);
|
|
2147
|
+
(fields[adapted.error.field] ??= []).push(adapted.error);
|
|
2148
|
+
if (adapted.path) (comments[adapted.path] ??= []).push(adapted.error);
|
|
2149
|
+
}
|
|
2150
|
+
enabled = !!record.context.formConfig.objectFieldList?.length;
|
|
2151
|
+
lastRevision = revision;
|
|
2152
|
+
replaceObjectFields(comments);
|
|
2153
|
+
return { isValid: !errors.length, fields: Object.keys(fields).length ? fields : void 0 };
|
|
2154
|
+
}
|
|
2155
|
+
function requestLive() {
|
|
2156
|
+
cancelLive();
|
|
2157
|
+
if (!alive() || !enabled || submitting > 0 || getInfo()?.renderModeType !== RenderModeEnum.FormMode)
|
|
2158
|
+
return;
|
|
2159
|
+
const ticket = generation;
|
|
2160
|
+
timer = setTimeout(() => {
|
|
2161
|
+
timer = void 0;
|
|
2162
|
+
void (async () => {
|
|
2163
|
+
await record.controller?.waitUntilPrepared();
|
|
2164
|
+
await record.asyncTasks.waitForRequired();
|
|
2165
|
+
if (!alive() || generation !== ticket || submitting > 0 || getInfo()?.renderModeType !== RenderModeEnum.FormMode)
|
|
2166
|
+
return;
|
|
2167
|
+
await validate(true);
|
|
2168
|
+
})().catch((error) => {
|
|
2169
|
+
if (alive()) console.error("物料消耗对象实时校验失败", error);
|
|
2170
|
+
});
|
|
2171
|
+
}, 300);
|
|
2172
|
+
}
|
|
2173
|
+
return {
|
|
2174
|
+
validate,
|
|
2175
|
+
requestLive,
|
|
2176
|
+
replaceTableFields,
|
|
2177
|
+
clear,
|
|
2178
|
+
beginSubmit() {
|
|
2179
|
+
submitting++;
|
|
2180
|
+
cancelLive();
|
|
2181
|
+
},
|
|
2182
|
+
endSubmit() {
|
|
2183
|
+
submitting--;
|
|
2184
|
+
if (alive() && submitting === 0 && enabled && lastRevision !== record.formState.revision)
|
|
2185
|
+
requestLive();
|
|
2186
|
+
},
|
|
2187
|
+
dispose() {
|
|
2188
|
+
disposed = true;
|
|
2189
|
+
cancelLive();
|
|
2190
|
+
paths.clear();
|
|
2191
|
+
unlocated.clear();
|
|
2192
|
+
}
|
|
2193
|
+
};
|
|
2194
|
+
}
|
|
1918
2195
|
function applyValidationComments(info, comments, kind) {
|
|
1919
2196
|
if (!info) return;
|
|
1920
2197
|
const locationKey = kind === "field" ? "validatorLocationList" : "mcValidatorLocationList";
|
|
@@ -1932,6 +2209,29 @@ function applyValidationComments(info, comments, kind) {
|
|
|
1932
2209
|
info[messageKey] = map;
|
|
1933
2210
|
}
|
|
1934
2211
|
function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType) {
|
|
2212
|
+
const objectValidations = /* @__PURE__ */ new WeakMap();
|
|
2213
|
+
function getObjectValidation(record) {
|
|
2214
|
+
const existing = objectValidations.get(record);
|
|
2215
|
+
if (existing) return existing;
|
|
2216
|
+
const uniqueId = record.context.uniqueId;
|
|
2217
|
+
const validation = createMaterialConsumeObjectValidation({
|
|
2218
|
+
record,
|
|
2219
|
+
getInfo: () => getInfo(uniqueId),
|
|
2220
|
+
isCurrent: () => runtimeRegistry.get(uniqueId) === record,
|
|
2221
|
+
shouldSkip: () => {
|
|
2222
|
+
const skip = syncInspectionDecisionRule(uniqueId);
|
|
2223
|
+
if (skip) clearInspectionValidationState(uniqueId);
|
|
2224
|
+
return skip;
|
|
2225
|
+
},
|
|
2226
|
+
applyComments: (fields) => applyValidationComments(getInfo(uniqueId), fields, "material")
|
|
2227
|
+
});
|
|
2228
|
+
objectValidations.set(record, validation);
|
|
2229
|
+
runtimeRegistry.registerDisposable(uniqueId, () => {
|
|
2230
|
+
validation.dispose();
|
|
2231
|
+
objectValidations.delete(record);
|
|
2232
|
+
});
|
|
2233
|
+
return validation;
|
|
2234
|
+
}
|
|
1935
2235
|
const inspectionDecisionMatched = /* @__PURE__ */ new WeakMap();
|
|
1936
2236
|
const inspectionDecisionPrompting = /* @__PURE__ */ new WeakSet();
|
|
1937
2237
|
function openInspectionDecisionPrompt(uniqueId, content) {
|
|
@@ -1972,11 +2272,14 @@ function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType)
|
|
|
1972
2272
|
return matched;
|
|
1973
2273
|
}
|
|
1974
2274
|
function clearInspectionValidationState(uniqueId) {
|
|
2275
|
+
const record = runtimeRegistry.get(uniqueId);
|
|
2276
|
+
if (record) objectValidations.get(record)?.clear();
|
|
1975
2277
|
applyValidationComments(getInfo(uniqueId), null, "field");
|
|
1976
2278
|
applyValidationComments(getInfo(uniqueId), null, "material");
|
|
1977
2279
|
}
|
|
1978
2280
|
function bindFormValidationSync(uniqueId) {
|
|
1979
2281
|
const record = runtimeRegistry.require(uniqueId);
|
|
2282
|
+
const objects = getObjectValidation(record);
|
|
1980
2283
|
syncInspectionDecisionRule(uniqueId);
|
|
1981
2284
|
const stop = record.formState.subscribe(() => {
|
|
1982
2285
|
if (runtimeRegistry.get(uniqueId) !== record) return;
|
|
@@ -1987,6 +2290,7 @@ function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType)
|
|
|
1987
2290
|
uniqueId,
|
|
1988
2291
|
!suppressed && info.renderModeType === RenderModeEnum.FormMode
|
|
1989
2292
|
);
|
|
2293
|
+
objects.requestLive();
|
|
1990
2294
|
if (suppressed) return;
|
|
1991
2295
|
if (info.renderModeType === RenderModeEnum.FormMode) {
|
|
1992
2296
|
record.validation.requestLive("change");
|
|
@@ -2019,48 +2323,43 @@ function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType)
|
|
|
2019
2323
|
}
|
|
2020
2324
|
async function runSubmissionValidation(uniqueId) {
|
|
2021
2325
|
const record = runtimeRegistry.require(uniqueId);
|
|
2022
|
-
const
|
|
2023
|
-
|
|
2024
|
-
|
|
2025
|
-
|
|
2026
|
-
|
|
2027
|
-
|
|
2028
|
-
const res = await record.validation.validate();
|
|
2029
|
-
if (!res || runtimeRegistry.get(uniqueId) !== record) return;
|
|
2030
|
-
const revision = record.formState.revision;
|
|
2031
|
-
if (bomC) {
|
|
2032
|
-
const bomRes = await bomC.submitValidate();
|
|
2033
|
-
if (runtimeRegistry.get(uniqueId) !== record || record.formState.revision !== revision)
|
|
2034
|
-
return;
|
|
2035
|
-
applyValidationComments(getInfo(uniqueId), bomRes.fields ?? null, "material");
|
|
2036
|
-
if (!bomRes.isValid) {
|
|
2037
|
-
merge(res, bomRes);
|
|
2038
|
-
return res;
|
|
2326
|
+
const objects = getObjectValidation(record);
|
|
2327
|
+
objects.beginSubmit();
|
|
2328
|
+
try {
|
|
2329
|
+
if (syncInspectionDecisionRule(uniqueId)) {
|
|
2330
|
+
clearInspectionValidationState(uniqueId);
|
|
2331
|
+
return { isValid: true };
|
|
2039
2332
|
}
|
|
2040
|
-
const
|
|
2041
|
-
|
|
2042
|
-
|
|
2043
|
-
const
|
|
2044
|
-
|
|
2045
|
-
|
|
2046
|
-
|
|
2047
|
-
|
|
2048
|
-
|
|
2049
|
-
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
const
|
|
2054
|
-
|
|
2055
|
-
|
|
2056
|
-
|
|
2057
|
-
|
|
2058
|
-
|
|
2059
|
-
|
|
2060
|
-
|
|
2333
|
+
const res = await record.validation.validate();
|
|
2334
|
+
if (!res || runtimeRegistry.get(uniqueId) !== record) return;
|
|
2335
|
+
const revision = record.formState.revision;
|
|
2336
|
+
const bomC = record.context.services.tmplBomController;
|
|
2337
|
+
if (bomC) {
|
|
2338
|
+
const bomRes = await bomC.submitValidate();
|
|
2339
|
+
if (runtimeRegistry.get(uniqueId) !== record || record.formState.revision !== revision)
|
|
2340
|
+
return;
|
|
2341
|
+
objects.replaceTableFields(bomRes.fields);
|
|
2342
|
+
if (!bomRes.isValid) {
|
|
2343
|
+
merge(res, bomRes);
|
|
2344
|
+
return res;
|
|
2345
|
+
}
|
|
2346
|
+
const objectRes = await objects.validate();
|
|
2347
|
+
if (!objectRes || runtimeRegistry.get(uniqueId) !== record || record.formState.revision !== revision)
|
|
2348
|
+
return;
|
|
2349
|
+
if (!objectRes.isValid) {
|
|
2350
|
+
const fields = { ...res.fields ?? {} };
|
|
2351
|
+
for (const [path, errors] of Object.entries(objectRes.fields ?? {})) {
|
|
2352
|
+
fields[path] = [...fields[path] ?? [], ...errors];
|
|
2353
|
+
}
|
|
2354
|
+
return { ...res, isValid: false, fields };
|
|
2355
|
+
}
|
|
2356
|
+
} else {
|
|
2357
|
+
objects.clear();
|
|
2061
2358
|
}
|
|
2359
|
+
return res;
|
|
2360
|
+
} finally {
|
|
2361
|
+
objects.endSubmit();
|
|
2062
2362
|
}
|
|
2063
|
-
return res;
|
|
2064
2363
|
}
|
|
2065
2364
|
function updateRenderModeType(uniqueId, mode, updateButton = false) {
|
|
2066
2365
|
const record = runtimeRegistry.require(uniqueId);
|
|
@@ -2078,7 +2377,9 @@ function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType)
|
|
|
2078
2377
|
if (!isCurrent() || runtimeRegistry.get(uniqueId) !== record) return;
|
|
2079
2378
|
await record.validation.settleAfterModeSwitch(mode === RenderModeEnum.FormMode);
|
|
2080
2379
|
}).catch((error) => {
|
|
2081
|
-
if (runtimeRegistry.get(uniqueId)
|
|
2380
|
+
if (runtimeRegistry.get(uniqueId) !== record) return;
|
|
2381
|
+
if (error instanceof Error && error.message.startsWith("以下异步任务执行失败:")) return;
|
|
2382
|
+
console.error("表单模式准备失败", error);
|
|
2082
2383
|
});
|
|
2083
2384
|
}
|
|
2084
2385
|
async function prepareInitialView(record) {
|
|
@@ -2472,7 +2773,7 @@ function useEbrWikiFactoryV2(props, payload) {
|
|
|
2472
2773
|
}
|
|
2473
2774
|
watch(
|
|
2474
2775
|
[() => props.materialNo, () => edhrCounter.value],
|
|
2475
|
-
async ([newMaterialNo,
|
|
2776
|
+
async ([newMaterialNo, _]) => {
|
|
2476
2777
|
if (isEmpty(newMaterialNo)) return;
|
|
2477
2778
|
loading.value = true;
|
|
2478
2779
|
clear();
|
|
@@ -2651,7 +2952,7 @@ function useEbrWikiFactoryV2(props, payload) {
|
|
|
2651
2952
|
);
|
|
2652
2953
|
watch(
|
|
2653
2954
|
[() => selectSelfInfo.value, () => instanceCounter.value],
|
|
2654
|
-
([newSelectSelfInfo,
|
|
2955
|
+
([newSelectSelfInfo, _]) => {
|
|
2655
2956
|
if (newSelectSelfInfo && payload.pageType === "record-change") {
|
|
2656
2957
|
emitter.emit(EmitterEnum.__on_select_ebr_doc_instance_id, {
|
|
2657
2958
|
instanceId: newSelectSelfInfo.id
|
|
@@ -3007,9 +3308,9 @@ class FormAnnotationController {
|
|
|
3007
3308
|
const items = this.normalizeAllResponse(res);
|
|
3008
3309
|
this.applyAnnotationItems(items, () => true);
|
|
3009
3310
|
return items;
|
|
3010
|
-
} catch (
|
|
3011
|
-
console.error("加载所有批注信息 error",
|
|
3012
|
-
throw
|
|
3311
|
+
} catch (e2) {
|
|
3312
|
+
console.error("加载所有批注信息 error", e2);
|
|
3313
|
+
throw e2;
|
|
3013
3314
|
}
|
|
3014
3315
|
};
|
|
3015
3316
|
handleOpenAnnotation = async () => {
|
|
@@ -3056,250 +3357,250 @@ function filterAnnotationItemsUpToCurrent(items) {
|
|
|
3056
3357
|
});
|
|
3057
3358
|
}
|
|
3058
3359
|
export {
|
|
3059
|
-
|
|
3360
|
+
aL as AITooltips,
|
|
3060
3361
|
A3 as AllocateTableCore,
|
|
3061
3362
|
B3 as BaseFormModelFetcher,
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3363
|
+
aN as BinarizeMethodOptions,
|
|
3364
|
+
aZ as BindCmpStyleEnum,
|
|
3365
|
+
a0 as BooleanShowMode,
|
|
3065
3366
|
B2 as BorderTD,
|
|
3066
3367
|
BpmnNodeTypeEnum,
|
|
3067
|
-
|
|
3068
|
-
|
|
3368
|
+
bx as BpmnSignatureTypeEnum,
|
|
3369
|
+
by as ButtonTypeEnum,
|
|
3069
3370
|
B as BwipCodeType,
|
|
3070
|
-
|
|
3371
|
+
bz as CHECK_TABLE_MEDPRO_PROTOCOL_KEY,
|
|
3071
3372
|
y as CellType,
|
|
3072
|
-
|
|
3373
|
+
af as CellWidgetViewState,
|
|
3073
3374
|
CheckDsTypeEnum,
|
|
3074
|
-
|
|
3375
|
+
bA as CodeRunner,
|
|
3075
3376
|
ComponentTypeEnum,
|
|
3076
|
-
|
|
3077
|
-
|
|
3078
|
-
|
|
3079
|
-
|
|
3080
|
-
|
|
3081
|
-
|
|
3082
|
-
|
|
3083
|
-
|
|
3084
|
-
|
|
3085
|
-
|
|
3086
|
-
|
|
3377
|
+
bB as Config_Fields,
|
|
3378
|
+
bC as ControlStatusEnum,
|
|
3379
|
+
ba as DEVICE_GROUP_QUERY_KEY,
|
|
3380
|
+
bD as DEVICE_SEARCH_API,
|
|
3381
|
+
aQ as DateFormat,
|
|
3382
|
+
av as DecimalDisplayMode,
|
|
3383
|
+
aM as DenoiseMethodOptions,
|
|
3384
|
+
am as DeviceConnector,
|
|
3385
|
+
aJ as DeviceLink,
|
|
3386
|
+
k as DeviceLinkTmplUtil,
|
|
3387
|
+
aK as DeviceParamsTypeTitle,
|
|
3087
3388
|
D as DevicePartConsumeTableCore,
|
|
3088
|
-
|
|
3089
|
-
|
|
3090
|
-
|
|
3091
|
-
|
|
3092
|
-
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3389
|
+
bE as DeviceStatus,
|
|
3390
|
+
ag as DiagonalDirection,
|
|
3391
|
+
ak as DiagonalVertex,
|
|
3392
|
+
a12 as DocumentLayout,
|
|
3393
|
+
an2 as DocumentLoading,
|
|
3394
|
+
$2 as DocumentPaper,
|
|
3395
|
+
ao as DynamicQuickFillModal,
|
|
3396
|
+
a02 as DynamicTableAction,
|
|
3397
|
+
bF as EBR_PROVIDE_ENUM,
|
|
3398
|
+
bG as EFieldBizTypeEnum,
|
|
3399
|
+
F as EMPTY_PRODUCT_VERSION_ID,
|
|
3400
|
+
aD as EmptySymbol,
|
|
3401
|
+
a2 as FallbackSignTypeEnum,
|
|
3402
|
+
ae as FieldSysVarDefaultValueEnum,
|
|
3102
3403
|
FillingTypeEnum,
|
|
3103
|
-
|
|
3404
|
+
ap as FixedQuickFillModal,
|
|
3104
3405
|
FormAnnotationController,
|
|
3105
3406
|
F2 as FormModelController,
|
|
3106
3407
|
FormTmplBomController,
|
|
3107
|
-
|
|
3408
|
+
aq as FormTmplConfigController,
|
|
3108
3409
|
FormTypeEnum,
|
|
3109
|
-
|
|
3410
|
+
aw as ImageDisplayModeEnum,
|
|
3110
3411
|
InstanceStatusValues,
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3412
|
+
aO as JoinModelTypeEum,
|
|
3413
|
+
ar as LEGACY_RUNTIME_FORM_CONFIG_KEYS,
|
|
3414
|
+
as as LEGACY_RUNTIME_SHEET_ID,
|
|
3415
|
+
at2 as LEGACY_RUNTIME_SHEET_TITLE,
|
|
3416
|
+
$ as LabelPosition,
|
|
3417
|
+
ai as LineDirection,
|
|
3117
3418
|
L as LineType,
|
|
3118
|
-
|
|
3419
|
+
bH as MAX_FRONT_ROW_KEY_LENGTH,
|
|
3119
3420
|
M as MAX_RUNTIME_SHEETS,
|
|
3120
3421
|
a as MAX_RUNTIME_SHEET_TITLE_LENGTH,
|
|
3121
3422
|
M3 as MBRender,
|
|
3122
|
-
|
|
3123
|
-
|
|
3423
|
+
au2 as MCDataUtil,
|
|
3424
|
+
a8 as MCRender,
|
|
3124
3425
|
b as MULTI_SHEET_SCHEMA_VERSION,
|
|
3125
3426
|
MaterialConsumeTableController,
|
|
3126
3427
|
MaterialConsumptionPatternEnum,
|
|
3127
3428
|
M2 as MaterialRequisitionTableCore,
|
|
3128
3429
|
MaterialStatusEnum,
|
|
3129
|
-
|
|
3130
|
-
|
|
3430
|
+
a7 as MaterialSubstitutionTableCore,
|
|
3431
|
+
bI as MobileFillTypeEnum,
|
|
3131
3432
|
NCB_PROVIDE,
|
|
3132
|
-
|
|
3133
|
-
|
|
3433
|
+
av2 as OCR_MODEL_PRECISION_ENUM_KEY,
|
|
3434
|
+
bJ as OfficeTypeEnum,
|
|
3134
3435
|
O as Orientation,
|
|
3135
3436
|
p as PageSizeEnum,
|
|
3136
3437
|
P as PaginationFormat,
|
|
3137
|
-
|
|
3438
|
+
a9 as PaperSizeMap,
|
|
3138
3439
|
o as PaperWidgeType,
|
|
3139
3440
|
Q as PaperWidgeValueType,
|
|
3140
3441
|
A as ParamModelTypeEnum,
|
|
3141
3442
|
P2 as PartStocktakeTableCore,
|
|
3142
3443
|
PlatformEnum,
|
|
3143
|
-
|
|
3144
|
-
|
|
3145
|
-
|
|
3146
|
-
|
|
3147
|
-
|
|
3148
|
-
|
|
3444
|
+
bK as PosEnum,
|
|
3445
|
+
b2 as PretreatmentListTableCore,
|
|
3446
|
+
c as ProfileDrivenSubTableCore,
|
|
3447
|
+
bL as RUNTIME_COLUMN_ROW_KEY,
|
|
3448
|
+
au as RangeCompareOp,
|
|
3449
|
+
at as RangeValidateMode,
|
|
3149
3450
|
RenderModeEnum,
|
|
3150
|
-
|
|
3151
|
-
|
|
3152
|
-
|
|
3451
|
+
aw2 as RuntimeAsyncTaskCoordinator,
|
|
3452
|
+
ax as RuntimeDependencyService,
|
|
3453
|
+
ay as RuntimeFieldRegistry,
|
|
3153
3454
|
RuntimeFormStateStore,
|
|
3154
3455
|
RuntimeInstanceController,
|
|
3155
|
-
|
|
3456
|
+
az as RuntimeInstanceEventBus,
|
|
3156
3457
|
RuntimeInstanceRegistry,
|
|
3157
|
-
|
|
3458
|
+
aA as RuntimePersistenceCoordinator,
|
|
3158
3459
|
RuntimeRuleCompiler,
|
|
3159
3460
|
RuntimeSheetService,
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
|
|
3163
|
-
|
|
3164
|
-
|
|
3165
|
-
|
|
3461
|
+
aB as RuntimeValidationService,
|
|
3462
|
+
a5 as SignShowTypeEnum,
|
|
3463
|
+
a1 as SignatureImageDirectionEnum,
|
|
3464
|
+
a3 as SignatureNumberTypeEnum,
|
|
3465
|
+
a4 as SignatureTimeTypeEnum,
|
|
3466
|
+
a6 as SignatureTypeEnum,
|
|
3166
3467
|
d2 as SterilizeBatchTableCore,
|
|
3167
|
-
|
|
3168
|
-
|
|
3468
|
+
e as StocktakeTableCore,
|
|
3469
|
+
aC as SubTableCore,
|
|
3169
3470
|
SubTableCoreFactory,
|
|
3170
3471
|
f as SubTableType,
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3472
|
+
bM as SummaryApproveHisTypeEnum,
|
|
3473
|
+
aj as TimeDiffFormat,
|
|
3474
|
+
an as ViewTypeEnum,
|
|
3174
3475
|
W as WarehouseInTableCore,
|
|
3175
|
-
|
|
3476
|
+
f2 as WarehouseInboundTableCore,
|
|
3176
3477
|
g as WarehouseOutTableCore,
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3478
|
+
h as WarehouseOutboundTableCore,
|
|
3479
|
+
ah as WidgetImageSizeMode,
|
|
3480
|
+
bN as applyCheckDsDataToRuntime,
|
|
3481
|
+
C as applyConsumeObjectTraceChange,
|
|
3482
|
+
bO as applyMedProCheckDsDataToRuntime,
|
|
3182
3483
|
baseDataUtils,
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3484
|
+
bP as bindRuntimeTableColumns,
|
|
3485
|
+
bQ as buildDeviceBaseQuery,
|
|
3486
|
+
b9 as buildDeviceFilterQuery,
|
|
3487
|
+
aD2 as buildFormChangeDisplayRows,
|
|
3488
|
+
t2 as buildObjectLotExtraQuery,
|
|
3188
3489
|
buildRuntimeFieldPath,
|
|
3189
|
-
|
|
3190
|
-
|
|
3490
|
+
bR as calcFillData,
|
|
3491
|
+
bS as calcUtils,
|
|
3191
3492
|
calculateFormula,
|
|
3192
3493
|
collectAnnotationItemsByLocation,
|
|
3193
3494
|
collectFormChangeFieldLocations,
|
|
3194
3495
|
commonUtils,
|
|
3195
3496
|
convertHistoricalAnnotationLocation,
|
|
3196
|
-
|
|
3197
|
-
|
|
3497
|
+
aE as convertV1Runtime,
|
|
3498
|
+
d as createRuntimeDocumentV2,
|
|
3198
3499
|
createRuntimeInstanceContext,
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
|
|
3500
|
+
bT as decodeTableCellRowKey,
|
|
3501
|
+
aF as detailsHaveFormChangeRowOps,
|
|
3502
|
+
bU as encodeTableCellRowKey,
|
|
3202
3503
|
enrichFormChangeRowDetails,
|
|
3203
|
-
|
|
3204
|
-
|
|
3205
|
-
|
|
3206
|
-
|
|
3207
|
-
|
|
3208
|
-
|
|
3504
|
+
bV as ensureFrontRowKey,
|
|
3505
|
+
bW as ensureTableRowKeys,
|
|
3506
|
+
aG as extractFormChangeRowDetails,
|
|
3507
|
+
bX as extractKeywordFromQueryData,
|
|
3508
|
+
bY as fetchCheckDsDataForTable,
|
|
3509
|
+
bZ as fetchCustomCheckDsData,
|
|
3209
3510
|
fetchHistoryConsume,
|
|
3210
|
-
|
|
3511
|
+
b_ as fetchMedProCheckDsData,
|
|
3211
3512
|
fetchOperationReceiveQty,
|
|
3212
3513
|
fetchUdi,
|
|
3213
3514
|
filterAnnotationItemsUpToCurrent,
|
|
3214
|
-
|
|
3215
|
-
|
|
3515
|
+
bd as findRuntimeParentRow,
|
|
3516
|
+
b$ as findRuntimeTableCell,
|
|
3216
3517
|
findRuntimeTableRow,
|
|
3217
3518
|
getAppInfo,
|
|
3218
3519
|
getBusinessFieldKey,
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
|
|
3222
|
-
|
|
3223
|
-
|
|
3224
|
-
|
|
3520
|
+
c0 as getCheckTableSnapshotKey,
|
|
3521
|
+
aH as getFormChangeRowKey,
|
|
3522
|
+
aI as getFormChangeRowOp,
|
|
3523
|
+
aW as getLotLockedReason,
|
|
3524
|
+
r as getObjectBomMaterialLotQuery,
|
|
3525
|
+
E as getObjectBomProductQuery,
|
|
3225
3526
|
getParseFormulaVarInfos,
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3527
|
+
c1 as getParseRuleConfig,
|
|
3528
|
+
a_ as getParseRuleInfo,
|
|
3529
|
+
a$ as getParseRuleValue,
|
|
3530
|
+
c2 as getReinspectionDate,
|
|
3531
|
+
c3 as getRenderedRuntimeTableCell,
|
|
3231
3532
|
getRuntimeDataFieldId,
|
|
3232
3533
|
getRuntimeDependencyOutputKey,
|
|
3233
|
-
|
|
3534
|
+
aJ2 as getSubTableQuickFillInfo,
|
|
3234
3535
|
getSuiteKey,
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3536
|
+
c4 as handleOldConfig,
|
|
3537
|
+
c5 as hasAnyCheckTableSnapshot,
|
|
3538
|
+
c6 as hasByTableCheckTableSnapshot,
|
|
3539
|
+
c7 as hasSharedCheckTableSnapshot,
|
|
3540
|
+
aK2 as isAnnLocationSelected,
|
|
3541
|
+
aL2 as isBlank,
|
|
3241
3542
|
isBomGranted,
|
|
3242
3543
|
isEdhrSuite,
|
|
3243
3544
|
isEqmSuite,
|
|
3244
|
-
|
|
3245
|
-
|
|
3545
|
+
aM2 as isFormChangeGhostRow,
|
|
3546
|
+
c8 as isMedProSuite,
|
|
3246
3547
|
isRowAddedInCurrentFormChange,
|
|
3247
|
-
|
|
3248
|
-
|
|
3249
|
-
|
|
3250
|
-
|
|
3251
|
-
|
|
3548
|
+
c9 as isTableRowKeyMatch,
|
|
3549
|
+
ca as jsonSchemaUtils,
|
|
3550
|
+
cb as judgeUnique,
|
|
3551
|
+
aV as materialCheck,
|
|
3552
|
+
cc as migrateDiagonalDirectionToVertex,
|
|
3252
3553
|
nextFormChangeRowViewHistoryId,
|
|
3253
|
-
|
|
3254
|
-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
|
|
3554
|
+
l as normalizeAIOcrTmpl,
|
|
3555
|
+
G as normalizeHistoricalAutofillRow,
|
|
3556
|
+
j as normalizeHistoricalBusinessRow,
|
|
3557
|
+
aN2 as normalizeHistoricalFieldConfig,
|
|
3558
|
+
b0 as normalizeRefLoaderResult,
|
|
3258
3559
|
normalizeRuntime,
|
|
3259
3560
|
parseFrontConfig,
|
|
3260
3561
|
parseRuntimeFieldPath,
|
|
3261
3562
|
parseUdi,
|
|
3262
|
-
|
|
3263
|
-
|
|
3264
|
-
|
|
3265
|
-
|
|
3266
|
-
|
|
3563
|
+
aO2 as pickObjectFieldKeys,
|
|
3564
|
+
aP2 as recordSubtableRowAdd,
|
|
3565
|
+
aQ2 as recordSubtableRowDelete,
|
|
3566
|
+
b7 as refUtils,
|
|
3567
|
+
aR as relocateDeletedRowsToEnd,
|
|
3267
3568
|
renderUtils,
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3569
|
+
cd as requestMedProCheckDsData,
|
|
3570
|
+
ce as requestNonMedProCheckDsData,
|
|
3571
|
+
aS as resolveAnnotationFieldLocation,
|
|
3572
|
+
al as resolveDiagonalVertex,
|
|
3272
3573
|
t as resolveFieldRenderComponent,
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3574
|
+
aT as resolveFormChangeRowUi,
|
|
3575
|
+
y2 as resolveObjectBomEntry,
|
|
3576
|
+
v as resolveObjectFieldKeys,
|
|
3577
|
+
aU as resolveRowFormChangeMark,
|
|
3277
3578
|
resolveUdiQuery,
|
|
3278
|
-
|
|
3279
|
-
|
|
3280
|
-
|
|
3579
|
+
z as runWithFillProduct,
|
|
3580
|
+
p2 as setSelectAnnotationId,
|
|
3581
|
+
aV2 as setSelectMobileTdId,
|
|
3281
3582
|
s as setSelectValidatorId,
|
|
3282
|
-
|
|
3283
|
-
|
|
3284
|
-
|
|
3583
|
+
aP as sqlUtils,
|
|
3584
|
+
cf as stockCheck,
|
|
3585
|
+
aW2 as stripLegacyFormConfigFromPaper,
|
|
3285
3586
|
transformUtils,
|
|
3286
|
-
|
|
3587
|
+
R as useDependency,
|
|
3287
3588
|
useEbrWikiFactoryV2,
|
|
3288
|
-
|
|
3589
|
+
S as useFieldPresentation,
|
|
3289
3590
|
u2 as useFormModel,
|
|
3290
3591
|
u as useFormTmplConfig,
|
|
3291
3592
|
useMaterialBalance,
|
|
3292
3593
|
useNocodeEmitter,
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3594
|
+
A2 as useNocodeFormWidget,
|
|
3595
|
+
cg as useOnlineFormActionButton,
|
|
3596
|
+
be as useOnlineFormTransformField2Component,
|
|
3296
3597
|
useRenderPageFactory,
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3598
|
+
T as useRuntimeEditorFlusher,
|
|
3599
|
+
o2 as useRuntimeInstanceServices,
|
|
3600
|
+
q as useRuntimeRowState,
|
|
3601
|
+
Q2 as useStyles,
|
|
3602
|
+
m as useWidgetStaticAttrs,
|
|
3603
|
+
x as validateObjectBomForScan,
|
|
3303
3604
|
validateObjectBomQtyOnSubmit,
|
|
3304
|
-
|
|
3605
|
+
aX as validateReinspectionDate
|
|
3305
3606
|
};
|