@gct-paas/excel 0.1.39-beta.4 → 0.1.39-beta.41

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.
Files changed (128) hide show
  1. package/dist/{BaseComponent-B8_qg2he.js → BaseComponent-hWfUDepU.js} +2 -2
  2. package/dist/{VueVideoPlayer-B-X9Kvhp.js → VueVideoPlayer-CTtss6-e.js} +2 -2
  3. package/dist/{align-editor-1IbAiPBg.js → align-editor-0EJDQ9xk.js} +1 -1
  4. package/dist/{barcode-design-DCm1U-OU.js → barcode-design-CH7C0nTV.js} +2 -2
  5. package/dist/base/index.es.js +545 -244
  6. package/dist/{diagonal-design-DBk2s8UD.js → diagonal-design-CKLfmzt9.js} +2 -2
  7. package/dist/{dynamic-table-action-JSevwsex.js → dynamic-table-action-Dhx1ZQSa.js} +948 -303
  8. 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
  9. package/dist/{edit.utils-CXmmCnxE-88-QvdIv.js → edit.utils-CXmmCnxE-Cj0XviBc.js} +1 -1
  10. package/dist/excel.css +589 -338
  11. package/dist/{exceljs.min-M28cAz_z.js → exceljs.min-BNsMIPFn.js} +2 -2
  12. package/dist/{font-editor-nCQk5D1K.js → font-editor-CHZPtUHX.js} +3 -3
  13. package/dist/{image-design-B84grap7.js → image-design-AOi1nT_M.js} +2 -2
  14. package/dist/{index-jRA6sXVY.js → index-2SyQ6xAT.js} +1 -1
  15. package/dist/{index-UCNknVxk.js → index-B1JboJFx.js} +1 -1
  16. package/dist/{index-DEl0sxMk.js → index-B863k7Jl.js} +6 -5
  17. package/dist/{index-_-ORWa-m.js → index-BFhX3ACB.js} +1 -1
  18. package/dist/{index-CGsTW2E9.js → index-BNKKUueq.js} +2 -2
  19. package/dist/{index-ZEwe0MJj.js → index-BTr11l_g.js} +2 -2
  20. package/dist/{index-DPOE78Jf.js → index-BVSnhxY1.js} +2 -2
  21. package/dist/{index-I2HpU1BP.js → index-BZPA_AiO.js} +3 -3
  22. package/dist/{index-ChncMTkv.js → index-BeFJ_RCt.js} +1 -1
  23. package/dist/{index-DEN3-esb.js → index-BfIS3NOa.js} +6 -3
  24. package/dist/{index-BSXafKJS.js → index-BgV92L3Y.js} +2 -2
  25. package/dist/{index-CCsNdL4I.js → index-Bj3c4vZy.js} +2 -2
  26. package/dist/{index-CBiaZr1j.js → index-Bua1ArJ5.js} +2 -2
  27. package/dist/{index-BrkoN2-J.js → index-CDRNOYDd.js} +6 -5
  28. package/dist/{index-D0Q-6EtG.js → index-CDhZoiEf.js} +1 -1
  29. package/dist/{index-CCp6-NXH.js → index-C__SKZMl.js} +3 -3
  30. package/dist/{index-tZd-Us4e.js → index-Ca0fy776.js} +2 -2
  31. package/dist/{index-CKWcaJGI.js → index-CbXJ1XDJ.js} +5 -7
  32. package/dist/{index-CUHfI8cg.js → index-Cfe2Q-hG.js} +1 -1
  33. package/dist/{index-H_BLk7PI.js → index-CfvZdYSY.js} +2 -2
  34. package/dist/{index-Co1E4H0G.js → index-CiqInN9G.js} +2 -2
  35. package/dist/{index-CX6LqGJP.js → index-Cld2wf77.js} +1 -1
  36. package/dist/{index-D7IBmbmp.js → index-Cy4bHDfG.js} +2 -2
  37. package/dist/{index-bfXiwTE7.js → index-D1bE-oJR.js} +2047 -1745
  38. package/dist/{index-DT87VrvR.js → index-D7kir0tU.js} +2 -2
  39. package/dist/{index-B53fgzJo.js → index-DR6T7C4O.js} +2 -2
  40. package/dist/{index-DCzL4GOP.js → index-DThgFjEo.js} +53 -5
  41. package/dist/{index-BvJ7ZgvI.js → index-DnM4LcB4.js} +2 -2
  42. package/dist/{index-DkvjFyW6.js → index-DnOwWeey.js} +2 -2
  43. package/dist/{index-wcY1RYL_.js → index-ICNCCzD2.js} +2 -2
  44. package/dist/{index-CFjE5779.js → index-LVofttI7.js} +3 -2
  45. package/dist/{index-Doz8Gf_5.js → index-SXIZsVts.js} +1 -1
  46. package/dist/{index-XBuNXPu0.js → index-cnZ4ogvg.js} +2 -2
  47. package/dist/{index-DHHyy4mL.js → index-n97S5YRD.js} +1 -1
  48. package/dist/{index-MJFci9IB.js → index-nl7I1bLi.js} +1 -1
  49. package/dist/index.es.js +2 -2
  50. package/dist/{mb-render-BZDgmpm9.js → mb-render-FUO_-FXR.js} +9 -3
  51. 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
  52. package/dist/{pagination-design-BYqVZGdA.js → pagination-design-BjxLbj93.js} +2 -2
  53. package/dist/paper-widget-design-Cy2MxlCk.js +4 -0
  54. package/dist/{print-runtime-instance-D3BJGzia.js → print-runtime-instance-THb92xUW.js} +1 -1
  55. package/dist/{print-snapshot-renderer-MzkjvlA8.js → print-snapshot-renderer-4jQFaAjJ.js} +3 -3
  56. package/dist/{qrcode-design-B0YGEijA.js → qrcode-design-DM9kEawx.js} +1 -1
  57. package/dist/{revo-grid.entry-DdE6cuGJ.js → revo-grid.entry-DKvA7bUR.js} +1 -1
  58. package/dist/{revogr-attribution_7.entry-Er1fVrov.js → revogr-attribution_7.entry-C2PtJ_Tj.js} +3 -3
  59. package/dist/{revogr-clipboard_3.entry-COq2SN-B.js → revogr-clipboard_3.entry-BM7_JY0U.js} +2 -2
  60. package/dist/{revogr-data_4.entry--CfGDdVK.js → revogr-data_4.entry-CdMQPL7I.js} +2 -2
  61. package/dist/{revogr-filter-panel.entry-DoNXkBy6.js → revogr-filter-panel.entry-BJiGVhcw.js} +1 -1
  62. package/dist/seal-design-C5P3oQIa.js +4 -0
  63. package/dist/{serialnumber-design-fMRSi9jn.js → serialnumber-design-QaDIsxYT.js} +1 -1
  64. package/dist/shared/index.es.js +23 -21
  65. package/dist/{single-field-drop-BycxT2Kf.js → single-field-drop-BAiIyb2u.js} +2 -2
  66. package/dist/{size-editor-BKJfYgbR.js → size-editor-BV0KrQ37.js} +1 -1
  67. package/dist/src/domain/table/business/material/material-balance/profile/fields.d.ts +2 -0
  68. package/dist/src/domain/table/business/preprocess/pretreatment-list/profile/field-keys.d.ts +1 -7
  69. package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/fields.d.ts +2 -0
  70. package/dist/src/nocode-base/src/core/sub-table/allocate-table-core.d.ts +2 -1
  71. package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +2 -1
  72. package/dist/src/nocode-base/src/hooks/form-model/form-model-controller.d.ts +2 -0
  73. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +1 -0
  74. package/dist/src/nocode-base/src/hooks/material-consume/tmpl-bom-controller.d.ts +12 -7
  75. package/dist/src/nocode-base/src/hooks/material-consume-object/bom-validator.d.ts +4 -3
  76. package/dist/src/nocode-base/src/hooks/material-consume-object/initialize-autofill.d.ts +19 -0
  77. package/dist/src/nocode-base/src/hooks/material-consume-object/object-validation-controller.d.ts +24 -0
  78. package/dist/src/nocode-base/src/interface/render.d.ts +3 -1
  79. package/dist/src/nocode-base/src/interface/transform.d.ts +9 -1
  80. package/dist/src/nocode-base/src/runtime/async-task-coordinator.d.ts +6 -2
  81. package/dist/src/nocode-base/src/runtime/multi-sheet-runtime.d.ts +3 -1
  82. package/dist/src/nocode-base/src/runtime/runtime-context.d.ts +4 -0
  83. package/dist/src/nocode-base/src/runtime/runtime-field-initializer.d.ts +1 -1
  84. package/dist/src/nocode-base/src/runtime/runtime-validation-service.d.ts +1 -0
  85. package/dist/src/nocode-base/src/types/render/mc-render.d.ts +1 -1
  86. package/dist/src/nocode-base/src/types/render/sub-table-render.d.ts +5 -1
  87. package/dist/src/nocode-web-render/src/render/sub-table/common/inventory-scan-columns.d.ts +6 -0
  88. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/mc-web-render.d.ts +1 -1
  89. package/dist/src/online-form/src/views/__cell_widgets__/cell-widget-design.vue.d.ts +1 -0
  90. package/dist/src/online-form/src/views/__cell_widgets__/common/display-fields-editor/display-fields.util.d.ts +2 -2
  91. package/dist/src/online-form/src/views/__cell_widgets__/common/quick-search-editor/quick-search.util.d.ts +8 -0
  92. package/dist/src/online-form/src/views/__cell_widgets__/fake-field/fake-option-select.vue.d.ts +1 -0
  93. package/dist/src/online-form/src/views/designer/conversions/normalize-paper-grid.d.ts +3 -0
  94. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +11 -0
  95. package/dist/src/online-form/src/views/designer/modules/base/designer-wrapper.vue.d.ts +1 -0
  96. package/dist/src/online-form/src/views/designer/modules/duplicate-field-notice.vue.d.ts +2 -0
  97. package/dist/src/online-form/src/views/designer/modules/xlsx-import-summary.vue.d.ts +11 -0
  98. package/dist/src/online-form/src/views/designer/types/sheets.d.ts +2 -0
  99. package/dist/src/online-form/src/views/designer/utils/cell-field-placements.d.ts +12 -0
  100. package/dist/src/online-form/src/views/designer/utils/xlsx-parser.d.ts +9 -3
  101. package/dist/src/online-form/src/views/render/__components__/_field_/trace/utils/use-rule-props.d.ts +0 -3
  102. package/dist/src/shared/enum/field-type.d.ts +2 -0
  103. package/dist/src/shared/enum/index.d.ts +2 -0
  104. package/dist/src/shared/enum/product-type.d.ts +9 -0
  105. package/dist/src/shared/enum/production-identification.d.ts +19 -0
  106. package/dist/src/shared/utils/cell-wrap.d.ts +9 -0
  107. package/dist/src/shared/utils/grid-size.d.ts +2 -0
  108. package/dist/{sub-table-factory-BxG7QiiX.js → sub-table-factory-_mm1iwau.js} +19 -7
  109. package/dist/{text-design-BQKYk7aD.js → text-design-DfdH_3_b.js} +5 -4
  110. package/dist/{throttle-Cpk1LoGk-BI0wP2Le.js → throttle-Cpk1LoGk-HQvkISS4.js} +1 -1
  111. package/dist/{timediff-design-O1IfzLVD.js → timediff-design-CKjl56qS.js} +1 -1
  112. package/dist/{trace-like-wrapper-CdKGpstE.js → trace-like-wrapper-D6lJ8e-H.js} +5 -2
  113. package/dist/{value-editor.vue_vue_type_style_index_0_lang-CCv0wmKI.js → value-editor.vue_vue_type_style_index_0_lang-BmQGrlz8.js} +2 -2
  114. package/dist/web-render/index.es.js +3 -3
  115. package/dist/{widget-barcode-CK68yjvd.js → widget-barcode-By9P2d-R.js} +4 -4
  116. package/dist/{widget-diagonal-9F-6feRM.js → widget-diagonal-DMNfA-Tt.js} +3 -3
  117. package/dist/{widget-image-2GcRCaIf.js → widget-image-YM9YaMb-.js} +5 -5
  118. package/dist/{widget-line-flwy9kew.js → widget-line-Dl3TIfBO.js} +2 -2
  119. package/dist/{widget-pagination-pxpEH1UB.js → widget-pagination-9XxvQDIw.js} +5 -5
  120. package/dist/{widget-power-pFQ7lwCW.js → widget-power-A96VVJDG.js} +3 -3
  121. package/dist/{widget-qrcode-D_Ri0RG2.js → widget-qrcode-DWseHVIM.js} +3 -3
  122. package/dist/{widget-rangelimit-DB97heRc.js → widget-rangelimit-DK8oOmC_.js} +3 -3
  123. package/dist/{widget-serialnumber-I35Sov0R.js → widget-serialnumber-pue8WfA9.js} +1 -1
  124. package/dist/{widget-text-C93W0WWM.js → widget-text-B9O9UYK7.js} +5 -5
  125. package/dist/{widget-timediff-S4X81H7c.js → widget-timediff-PwNxXBrF.js} +2 -2
  126. package/package.json +2 -2
  127. package/dist/paper-widget-design-BcSUNaAF.js +0 -4
  128. package/dist/seal-design-CHOawN-k.js +0 -4
@@ -478,6 +478,17 @@ const PaperSizeMap = computed(() => ({
478
478
  size: void 0
479
479
  }
480
480
  }));
481
+ var ProductionIdentificationTypeEnum = /* @__PURE__ */ ((ProductionIdentificationTypeEnum2) => {
482
+ ProductionIdentificationTypeEnum2["MATERIAL"] = "MATERIAL";
483
+ ProductionIdentificationTypeEnum2["LOT"] = "LOT";
484
+ ProductionIdentificationTypeEnum2["SN"] = "SN";
485
+ ProductionIdentificationTypeEnum2["STERILIZATION"] = "STERILIZATION";
486
+ ProductionIdentificationTypeEnum2["INSPECTION_CONTAINER"] = "INSPECTION_CONTAINER";
487
+ ProductionIdentificationTypeEnum2["LEGACY_INSPECTION"] = "inspection";
488
+ ProductionIdentificationTypeEnum2["PACK_BOX"] = "PACK_BOX";
489
+ ProductionIdentificationTypeEnum2["UDI"] = "UDI";
490
+ return ProductionIdentificationTypeEnum2;
491
+ })(ProductionIdentificationTypeEnum || {});
481
492
  var CardControlEnum = /* @__PURE__ */ ((CardControlEnum2) => {
482
493
  CardControlEnum2["CHECK"] = "check";
483
494
  CardControlEnum2["CHECK2TIP"] = "check2tip";
@@ -1506,6 +1517,14 @@ const FieldIconMap = {
1506
1517
  "qty"
1507
1518
  /* QTY */
1508
1519
  ]: "icon-shuliang",
1520
+ [
1521
+ "object_type"
1522
+ /* OBJECT_TYPE */
1523
+ ]: "icon-duixiang bd-iconfont",
1524
+ [
1525
+ "material_consume"
1526
+ /* MATERIAL_CONSUME */
1527
+ ]: "icon-field-product",
1509
1528
  [
1510
1529
  "model_relation"
1511
1530
  /* MODEL_RELATION */
@@ -1916,7 +1935,7 @@ const PRODUCT_QUICK_SEARCH_FIELDS = [
1916
1935
  "spec_.like"
1917
1936
  ];
1918
1937
  const PRODUCT_QUICK_SEARCH_EXP = `OR(${PRODUCT_QUICK_SEARCH_FIELDS.join(",")})`;
1919
- const fields$d = [
1938
+ const fields$f = [
1920
1939
  {
1921
1940
  match: { fieldKey: F$c.product },
1922
1941
  defaultProps: {
@@ -1966,7 +1985,7 @@ const profile$h = {
1966
1985
  refModelType: "WAREHOUSE_IN",
1967
1986
  tableType: SubTableType.WAREHOUSE_IN
1968
1987
  },
1969
- fields: fields$d,
1988
+ fields: fields$f,
1970
1989
  contextAssignments: [
1971
1990
  { when: "onRowInit", fieldKey: F$c.warehouse, paramKey: "warehouseId", onlyIfEmpty: true },
1972
1991
  { when: "onRowInit", fieldKey: F$c.mfgOrder, paramKey: "mfgOrderId", onlyIfEmpty: true },
@@ -2083,7 +2102,7 @@ const FILL_FROM_INVENTORY_OPTION$4 = [
2083
2102
  { optionField: "validate_", toField: F$b.validity },
2084
2103
  { optionField: "re_inspection_date_", toField: F$b.reInspectionDate }
2085
2104
  ];
2086
- const fields$c = [
2105
+ const fields$e = [
2087
2106
  {
2088
2107
  match: { fieldKey: [...DISABLED_INPUT_FIELDS$8] },
2089
2108
  defaultProps: {
@@ -2108,7 +2127,7 @@ const profile$g = {
2108
2127
  refModelType: "WAREHOUSE_OUT",
2109
2128
  tableType: SubTableType.WAREHOUSE_OUT
2110
2129
  },
2111
- fields: fields$c,
2130
+ fields: fields$e,
2112
2131
  contextAssignments: [
2113
2132
  { when: "onRowInit", fieldKey: F$b.warehouse, paramKey: "warehouseId", onlyIfEmpty: true },
2114
2133
  { when: "onRowInit", fieldKey: F$b.mfgOrder, paramKey: "mfgOrderId", onlyIfEmpty: true },
@@ -2170,7 +2189,7 @@ const FILL_FROM_PART_OPTION = [
2170
2189
  { optionField: "unit_", toField: F$a.qtyUom }
2171
2190
  ];
2172
2191
  const PART_QUICK_SEARCH_FIELDS = ["part_code_.iLike", "part_name_.iLike"];
2173
- const fields$b = [
2192
+ const fields$d = [
2174
2193
  {
2175
2194
  match: { fieldKey: F$a.part },
2176
2195
  defaultProps: {
@@ -2208,7 +2227,7 @@ const profile$f = {
2208
2227
  refModelType: "WAREHOUSE_INBOUND",
2209
2228
  tableType: SubTableType.WAREHOUSE_INBOUND
2210
2229
  },
2211
- fields: fields$b,
2230
+ fields: fields$d,
2212
2231
  contextAssignments: [
2213
2232
  { when: "onRowInit", fieldKey: F$a.warehouse, paramKey: "warehouseId", onlyIfEmpty: true }
2214
2233
  ],
@@ -2293,7 +2312,7 @@ const FILL_FROM_INVENTORY_OPTION$3 = [
2293
2312
  { optionField: "uom_id_", toField: F$9.qtyUom },
2294
2313
  { optionField: "validate_", toField: F$9.validity }
2295
2314
  ];
2296
- const fields$a = [
2315
+ const fields$c = [
2297
2316
  {
2298
2317
  match: { fieldKey: F$9.part },
2299
2318
  autofillTemplates: FILL_FROM_INVENTORY_OPTION$3.map(({ optionField, toField }) => ({
@@ -2327,7 +2346,7 @@ const profile$e = {
2327
2346
  refModelType: "WAREHOUSE_OUTBOUND",
2328
2347
  tableType: SubTableType.WAREHOUSE_OUTBOUND
2329
2348
  },
2330
- fields: fields$a,
2349
+ fields: fields$c,
2331
2350
  rowHandlers: [{ when: "onFieldChange", watch: [F$9.part], handler: "on-part-id-change" }],
2332
2351
  runtimeRules: [
2333
2352
  {
@@ -2469,7 +2488,7 @@ const INVENTORY_BASE_FIELDS = [
2469
2488
  F$8.productSpec,
2470
2489
  F$8.warehouse
2471
2490
  ];
2472
- const fields$9 = [
2491
+ const fields$b = [
2473
2492
  {
2474
2493
  match: { fieldKey: [...DESIGN_DISABLED_INPUT_FIELDS] },
2475
2494
  defaultProps: {
@@ -2524,7 +2543,7 @@ const profile$d = {
2524
2543
  /** 默认按库位精细 */
2525
2544
  stocktakeDimension: STOCKTAKE_DIMENSION.locationDetail
2526
2545
  },
2527
- fields: fields$9,
2546
+ fields: fields$b,
2528
2547
  contextAssignments: [
2529
2548
  { when: "onRowInit", fieldKey: F$8.warehouse, paramKey: "warehouseId", onlyIfEmpty: true }
2530
2549
  ],
@@ -2714,7 +2733,7 @@ const FILL_FROM_INVENTORY_OPTION$2 = [
2714
2733
  { optionField: "stock_num_", toField: F$7.stock },
2715
2734
  { optionField: "uom_id_", toField: F$7.qtyUom }
2716
2735
  ];
2717
- const fields$8 = [
2736
+ const fields$a = [
2718
2737
  {
2719
2738
  match: { fieldKey: F$7.part },
2720
2739
  autofillTemplates: FILL_FROM_INVENTORY_OPTION$2.map(({ optionField, toField }) => ({
@@ -2755,7 +2774,7 @@ const profile$c = {
2755
2774
  refModelType: "PART_STOCKTAKE",
2756
2775
  tableType: SubTableType.PART_STOCKTAKE
2757
2776
  },
2758
- fields: fields$8,
2777
+ fields: fields$a,
2759
2778
  rowHandlers: [
2760
2779
  { when: "onFieldChange", watch: [F$7.part], handler: "on-part-id-change" },
2761
2780
  {
@@ -2880,7 +2899,7 @@ const FILL_FROM_INVENTORY_OPTION$1 = [
2880
2899
  { optionField: "storage_zone_id_", toField: F$6.storageZone },
2881
2900
  { optionField: "location_id_", toField: F$6.location }
2882
2901
  ];
2883
- const fields$7 = [
2902
+ const fields$9 = [
2884
2903
  {
2885
2904
  match: { fieldKey: F$6.part },
2886
2905
  autofillTemplates: FILL_FROM_INVENTORY_OPTION$1.map(({ optionField, toField }) => ({
@@ -2921,7 +2940,7 @@ const profile$b = {
2921
2940
  refModelType: "DEVICE_PART_CONSUME",
2922
2941
  tableType: SubTableType.DEVICE_PART_CONSUME
2923
2942
  },
2924
- fields: fields$7,
2943
+ fields: fields$9,
2925
2944
  rowHandlers: [{ when: "onFieldChange", watch: [F$6.part], handler: "on-part-id-change" }],
2926
2945
  runtimeRules: [
2927
2946
  {
@@ -3027,7 +3046,7 @@ const FILL_FROM_INVENTORY_OPTION = [
3027
3046
  { optionField: "validate_", toField: F$5.validity },
3028
3047
  { optionField: "re_inspection_date_", toField: F$5.reInspectionDate }
3029
3048
  ];
3030
- const fields$6 = [
3049
+ const fields$8 = [
3031
3050
  {
3032
3051
  match: { fieldKey: [...DISABLED_INPUT_FIELDS$3] },
3033
3052
  defaultProps: {
@@ -3052,7 +3071,7 @@ const profile$a = {
3052
3071
  refModelType: "ALLOCATE",
3053
3072
  tableType: SubTableType.ALLOCATE
3054
3073
  },
3055
- fields: fields$6,
3074
+ fields: fields$8,
3056
3075
  contextAssignments: [
3057
3076
  { when: "onRowInit", fieldKey: F$5.originWarehouse, paramKey: "warehouseId", onlyIfEmpty: true },
3058
3077
  { when: "onRowInit", fieldKey: F$5.mfgOrder, paramKey: "mfgOrderId", onlyIfEmpty: true },
@@ -3104,6 +3123,16 @@ const profile$9 = {
3104
3123
  labelBjColor: "rgba(72,145,179,0.8)"
3105
3124
  }
3106
3125
  };
3126
+ const fields$7 = [
3127
+ {
3128
+ match: { fieldKey: ["material_id_", "material_balance_percent_"] },
3129
+ defaultProps: {
3130
+ disabled: true,
3131
+ fieldDisabled: true,
3132
+ required: false
3133
+ }
3134
+ }
3135
+ ];
3107
3136
  const TABLE_TYPE$7 = "material-balance";
3108
3137
  const profile$8 = {
3109
3138
  type: TABLE_TYPE$7,
@@ -3119,6 +3148,7 @@ const profile$8 = {
3119
3148
  refModelType: "MATERIAL_BALANCE",
3120
3149
  tableType: SubTableType.MATERIAL_BALANCE
3121
3150
  },
3151
+ fields: fields$7,
3122
3152
  theme: {
3123
3153
  color: "#6FB38B",
3124
3154
  background: "rgba(111,179,139,0.2)",
@@ -3141,7 +3171,7 @@ const F$4 = {
3141
3171
  };
3142
3172
  const DISABLED_INPUT_FIELDS$2 = [F$4.productName, F$4.productCode, F$4.productSpec];
3143
3173
  const CLEAR_ON_PRODUCT_EMPTY$1 = [F$4.productName, F$4.productCode, F$4.productSpec];
3144
- const fields$5 = [
3174
+ const fields$6 = [
3145
3175
  {
3146
3176
  match: { fieldKey: F$4.product },
3147
3177
  autofillTemplates: [
@@ -3183,7 +3213,7 @@ const profile$7 = {
3183
3213
  refModelType: "MATERIAL_REQUISITION",
3184
3214
  tableType: SubTableType.MATERIAL_REQUISITION
3185
3215
  },
3186
- fields: fields$5,
3216
+ fields: fields$6,
3187
3217
  contextAssignments: [
3188
3218
  { when: "onRowInit", fieldKey: F$4.mfgOrder, paramKey: "mfgOrderId", onlyIfEmpty: true },
3189
3219
  { when: "onRowInit", fieldKey: F$4.lotSn, paramKey: "lotSnId", onlyIfEmpty: true }
@@ -3291,7 +3321,7 @@ const SCAN_ROW_CONTENT_FIELDS = [
3291
3321
  F$3.targetMaterialNo,
3292
3322
  F$3.targetProduct
3293
3323
  ];
3294
- const fields$4 = [
3324
+ const fields$5 = [
3295
3325
  {
3296
3326
  match: { fieldKey: F$3.sourceProduct },
3297
3327
  autofillTemplates: FILL_FROM_SOURCE_PRODUCT_OPTION.map(({ optionField, toField }) => ({
@@ -3339,7 +3369,7 @@ const profile$6 = {
3339
3369
  refModelType: "MATERIAL_SUBSTITUTION",
3340
3370
  tableType: SubTableType.MATERIAL_SUBSTITUTION
3341
3371
  },
3342
- fields: fields$4,
3372
+ fields: fields$5,
3343
3373
  rowHandlers: [
3344
3374
  {
3345
3375
  when: "onFieldChange",
@@ -3396,7 +3426,7 @@ const F$2 = {
3396
3426
  /** 复核人 */
3397
3427
  reviewer: "reviewer_"
3398
3428
  };
3399
- const fields$3 = [
3429
+ const fields$4 = [
3400
3430
  {
3401
3431
  match: { fieldKey: F$2.inspectionDate },
3402
3432
  defaultProps: {
@@ -3431,7 +3461,7 @@ const profile$5 = {
3431
3461
  refModelType: onlineFormMasterModelTypeEnum.POINT_INSPECTION,
3432
3462
  tableType: SubTableType.FIXED
3433
3463
  },
3434
- fields: fields$3
3464
+ fields: fields$4
3435
3465
  };
3436
3466
  const F$1 = {
3437
3467
  /** 点检日期 */
@@ -3441,7 +3471,7 @@ const F$1 = {
3441
3471
  /** 复核人 */
3442
3472
  reviewer: "reviewer_"
3443
3473
  };
3444
- const fields$2 = [
3474
+ const fields$3 = [
3445
3475
  {
3446
3476
  match: { fieldKey: F$1.inspectionDate },
3447
3477
  defaultProps: {
@@ -3476,8 +3506,27 @@ const profile$4 = {
3476
3506
  refModelType: onlineFormMasterModelTypeEnum.MAINTENANCE,
3477
3507
  tableType: SubTableType.FIXED
3478
3508
  },
3479
- fields: fields$2
3509
+ fields: fields$3
3480
3510
  };
3511
+ const fields$2 = [
3512
+ {
3513
+ match: {
3514
+ fieldKey: [
3515
+ "product_id_",
3516
+ "product_id_name_",
3517
+ "product_id_code_",
3518
+ "product_id_spec_",
3519
+ "mfg_order_id_",
3520
+ "mfg_order_code_"
3521
+ ]
3522
+ },
3523
+ defaultProps: {
3524
+ disabled: true,
3525
+ fieldDisabled: true,
3526
+ required: false
3527
+ }
3528
+ }
3529
+ ];
3481
3530
  const TABLE_TYPE$2 = "entrust-steril-batch-list";
3482
3531
  const profile$3 = {
3483
3532
  type: TABLE_TYPE$2,
@@ -3494,6 +3543,7 @@ const profile$3 = {
3494
3543
  refModelType: "PRODUCTION_CONTAINER_LIST_4_STERILIZATION",
3495
3544
  tableType: SubTableType.STERILIZE_BATCH
3496
3545
  },
3546
+ fields: fields$2,
3497
3547
  theme: {
3498
3548
  color: "#2196D5",
3499
3549
  background: "rgba(33,150,213,0.2)",
@@ -3580,7 +3630,6 @@ const FILL_FROM_CONTAINER_OPTION = [
3580
3630
  { optionField: F.productName, toField: F.productName },
3581
3631
  { optionField: F.productCode, toField: F.productCode },
3582
3632
  { optionField: F.productSpec, toField: F.productSpec },
3583
- { optionField: F.mfgOrder, toField: F.mfgOrder },
3584
3633
  { optionField: F.mfgOrderCode, toField: F.mfgOrderCode },
3585
3634
  { optionField: "real_start_date_", toField: F.productionDate },
3586
3635
  { optionField: F.qty, toField: F.qty }
@@ -60291,6 +60340,21 @@ const transformUtils = {
60291
60340
  }
60292
60341
  return {};
60293
60342
  },
60343
+ /** 数据加载完成事件;全部 Sheet 的数据合并后、创建 Store 和分页前只执行一次。 */
60344
+ getEventInitDataLoaded: async (payload) => {
60345
+ const { formConfig, formState, viewMode, dataStatus, ofCtx } = payload;
60346
+ if (viewMode !== RenderModeEnum.FormMode || !formConfig?.javascript) return;
60347
+ const codeInstance = setCodeRunner(formConfig.javascript, formState, ofCtx);
60348
+ try {
60349
+ if (typeof codeInstance.exports?.GCT_BUILT_IN_DATA_LOADED !== "function") return;
60350
+ await codeInstance.invoke("GCT_BUILT_IN_DATA_LOADED", {
60351
+ isDataProcessed: dataStatus === "STASH" || dataStatus === "SUBMIT",
60352
+ formState
60353
+ });
60354
+ } finally {
60355
+ codeInstance.dispose();
60356
+ }
60357
+ },
60294
60358
  /** 创建字段事件执行器;注册后由 RuntimeInstanceRecord 持有,全部 Sheet 共用。 */
60295
60359
  createScriptRunner: (payload) => {
60296
60360
  const { formConfig, viewMode, ofCtx } = payload || {};
@@ -60513,12 +60577,11 @@ const transformUtils = {
60513
60577
  console.log("0506 数据转成真实提交数据(二维表要平铺)", realFormData);
60514
60578
  return omit(realFormData, filterKeys);
60515
60579
  },
60516
- getFormDataIdsMap: (formData, preserveKeys = []) => {
60517
- const preserveKeySet = /* @__PURE__ */ new Set([FRONT_ROW_KEY, ...preserveKeys.filter(Boolean)]);
60518
- const shouldKeepAsIs = (key, isFirstLevel) => key === "id_" || isFirstLevel && key.startsWith("record_no_") || preserveKeySet.has(key);
60519
- const processEntry = (entry, isFirstLevel = false) => {
60580
+ getFormDataIdsMap: (formData, preserveKeys = [], shouldPreserveField) => {
60581
+ const preserveKeySet = /* @__PURE__ */ new Set([FRONT_ROW_KEY, "group_", ...preserveKeys.filter(Boolean)]);
60582
+ const processEntry = (entry, isFirstLevel = false, path = "") => {
60520
60583
  if (Array.isArray(entry)) {
60521
- const processed = entry.map((item) => processEntry(item, false)).filter(Boolean);
60584
+ const processed = entry.map((item, index2) => processEntry(item, false, `${path}.${index2}`)).filter(Boolean);
60522
60585
  return processed.length ? processed : void 0;
60523
60586
  }
60524
60587
  if (entry && typeof entry === "object") {
@@ -60526,23 +60589,15 @@ const transformUtils = {
60526
60589
  if ("id_" in entry) {
60527
60590
  result.id_ = entry.id_;
60528
60591
  }
60529
- if (isFirstLevel) {
60530
- for (const [key, value] of Object.entries(entry)) {
60531
- if (key.startsWith("record_no_")) {
60532
- result[key] = value;
60533
- }
60534
- }
60535
- }
60536
60592
  for (const [key, value] of Object.entries(entry)) {
60537
- if (preserveKeySet.has(key) && !(key in result)) {
60593
+ const fieldPath = path ? `${path}.${key}` : key;
60594
+ if (key === "id_" || isFirstLevel && key.startsWith("record_no_") || preserveKeySet.has(key) || shouldPreserveField?.(fieldPath)) {
60538
60595
  result[key] = value;
60539
- }
60540
- }
60541
- for (const [key, value] of Object.entries(entry)) {
60542
- if (shouldKeepAsIs(key, isFirstLevel)) continue;
60543
- const processed = processEntry(value, false);
60544
- if (processed !== void 0) {
60545
- result[key] = processed;
60596
+ } else {
60597
+ const processed = processEntry(value, false, fieldPath);
60598
+ if (processed !== void 0) {
60599
+ result[key] = processed;
60600
+ }
60546
60601
  }
60547
60602
  }
60548
60603
  return Object.keys(result).length ? result : void 0;
@@ -60729,14 +60784,21 @@ function buildLotLikeQuery(searchFields, keyword, extraQuery = {}) {
60729
60784
  return { queryData, exp };
60730
60785
  }
60731
60786
  function buildLotSnListQuery(keyword = "", extraQuery = {}) {
60732
- return buildLotLikeQuery(["name_", "related_parent_name_", "product_id_code_", "product_id_name_", "spec_"], keyword, {
60733
- "container_role_.ne": LOT_CONTAINER_ROLE.RELATED_PARENT,
60734
- ...extraQuery
60735
- });
60787
+ return buildLotLikeQuery(
60788
+ ["name_", "related_parent_name_", "product_id_code_", "product_id_name_", "spec_"],
60789
+ keyword,
60790
+ {
60791
+ "container_role_.ne": LOT_CONTAINER_ROLE.RELATED_PARENT,
60792
+ ...extraQuery
60793
+ }
60794
+ );
60736
60795
  }
60737
60796
  function buildProductionLotListQuery(keyword = "", extraQuery = {}) {
60738
60797
  return buildLotLikeQuery(["name_", "related_parent_name_"], keyword, {
60739
- "production_identification_type_.in": ["LOT", "SN"],
60798
+ "production_identification_type_.in": [
60799
+ ProductionIdentificationTypeEnum.LOT,
60800
+ ProductionIdentificationTypeEnum.SN
60801
+ ],
60740
60802
  is_rework_: 0,
60741
60803
  "container_role_.ne": LOT_CONTAINER_ROLE.RELATED_PARENT,
60742
60804
  ...extraQuery
@@ -60744,7 +60806,10 @@ function buildProductionLotListQuery(keyword = "", extraQuery = {}) {
60744
60806
  }
60745
60807
  function buildInspectionLotListQuery(keyword = "", extraQuery = {}) {
60746
60808
  return buildLotLikeQuery(["name_", "related_parent_name_"], keyword, {
60747
- "production_identification_type_.eq": "inspection",
60809
+ "production_identification_type_.in": [
60810
+ ProductionIdentificationTypeEnum.INSPECTION_CONTAINER,
60811
+ ProductionIdentificationTypeEnum.LEGACY_INSPECTION
60812
+ ],
60748
60813
  is_rework_: 0,
60749
60814
  "container_role_.ne": LOT_CONTAINER_ROLE.RELATED_PARENT,
60750
60815
  ...extraQuery
@@ -61513,7 +61578,7 @@ async function getSterilizeLotList({
61513
61578
  {},
61514
61579
  {
61515
61580
  query: {
61516
- production_identification_type_: "STERILIZATION",
61581
+ production_identification_type_: ProductionIdentificationTypeEnum.STERILIZATION,
61517
61582
  "container_role_.ne": LOT_CONTAINER_ROLE.RELATED_PARENT,
61518
61583
  ...props.queryData
61519
61584
  },
@@ -61581,7 +61646,7 @@ async function getMaterialLotList({ queryData = {}, exp = "", pageNo = 1, pageSi
61581
61646
  props.exp
61582
61647
  ),
61583
61648
  query: {
61584
- "production_identification_type_.eq": "MATERIAL",
61649
+ "production_identification_type_.eq": ProductionIdentificationTypeEnum.MATERIAL,
61585
61650
  "production_identification_type_.isNull": null,
61586
61651
  "container_role_.ne": LOT_CONTAINER_ROLE.RELATED_PARENT,
61587
61652
  ...props.queryData
@@ -62585,6 +62650,7 @@ const renderUtils = {
62585
62650
  /** 获取默认值集合 */
62586
62651
  getDefaultValueMapByField: ({
62587
62652
  defaultValueFields,
62653
+ objectProductDefaults = /* @__PURE__ */ new WeakMap(),
62588
62654
  mainMaterialNo = void 0,
62589
62655
  mainRelatedLotNo = void 0,
62590
62656
  mainProductName = void 0,
@@ -62620,7 +62686,10 @@ const renderUtils = {
62620
62686
  };
62621
62687
  const getDefaultValue = (field) => {
62622
62688
  const { fieldType, timeType, dateType, defaultValue, belongingObject, bizType } = field;
62623
- if (belongingObject && (fieldType === FIELD_TYPE.PRODUCT || fieldType === FIELD_TYPE.MATERIAL_NO)) {
62689
+ if (belongingObject && fieldType === FIELD_TYPE.PRODUCT) {
62690
+ return objectProductDefaults.get(field)?.value;
62691
+ }
62692
+ if (belongingObject && fieldType === FIELD_TYPE.MATERIAL_NO) {
62624
62693
  return void 0;
62625
62694
  }
62626
62695
  if (bizType === FIELD_TYPE.WAREHOUSE || fieldType === FIELD_TYPE.WAREHOUSE) {
@@ -62688,6 +62757,7 @@ const renderUtils = {
62688
62757
  assignValue(key, `${fieldId}_id_`, mainSterilizationLotId);
62689
62758
  }
62690
62759
  if (!configuredDefaultFields.has(field) && enableAutofill !== false && Array.isArray(autofillRules) && autofillRules.length > 0) {
62760
+ const isObjectProduct = !!field.belongingObject && fieldType === FIELD_TYPE.PRODUCT;
62691
62761
  let sourceData = fieldType === FIELD_TYPE.PRODUCT ? productData : fieldType === FIELD_TYPE.ROUTING_OPERATION ? operationData : null;
62692
62762
  if (fieldType === FIELD_TYPE.MFG_ORDER) {
62693
62763
  sourceData = mfgOrderData;
@@ -62707,14 +62777,19 @@ const renderUtils = {
62707
62777
  if (bizType === FIELD_TYPE.WAREHOUSE) {
62708
62778
  sourceData = warehouseData;
62709
62779
  }
62780
+ if (isObjectProduct) {
62781
+ sourceData = objectProductDefaults.get(field)?.sourceData;
62782
+ }
62710
62783
  if (sourceData) {
62711
- autofillRules.forEach(({ fromField, toField, toFieldType }) => {
62784
+ autofillRules.forEach(({ fromField, toField, toFieldType, fromSubTableField }) => {
62785
+ if (!toField) return;
62786
+ const targetKey = isObjectProduct ? fromSubTableField || key : key;
62712
62787
  if (fromField === "uom_id_" && sourceData?.[fromField] && toFieldType !== FIELD_TYPE.REF) {
62713
- const dictVal = sourceData?._DICT?.[fromField][sourceData?.[fromField]];
62788
+ const dictVal = sourceData?._DICT?.[fromField]?.[sourceData?.[fromField]];
62714
62789
  const val = Array.isArray(dictVal) ? dictVal[0] : dictVal || sourceData?.[fromField];
62715
- assignValue(key, toField, val);
62790
+ assignValue(targetKey, toField, val);
62716
62791
  } else {
62717
- assignValue(key, toField, sourceData?.[fromField]);
62792
+ assignValue(targetKey, toField, sourceData?.[fromField]);
62718
62793
  }
62719
62794
  });
62720
62795
  }
@@ -64564,140 +64639,238 @@ function resolveFieldRenderComponent(props) {
64564
64639
  }
64565
64640
  return resolveRenderComponent(props.bizType, props.fieldType);
64566
64641
  }
64567
- function getCurrentFormData(_rule, options) {
64568
- if (!_rule._subtableFieldId) return options?.formData;
64569
- return findRuntimeTableRow(options?.formData?.[_rule._subtableFieldId], _rule._rowKey);
64570
- }
64571
- function isSameOptionValue(current, expected) {
64572
- if (typeof expected === "boolean") {
64573
- return renderUtils.getBoolValue(current) === expected;
64574
- }
64575
- if (current === void 0 || current === null || current === "") {
64576
- return false;
64577
- }
64578
- return String(current) === String(expected);
64579
- }
64580
- function isAttachFieldActive(attach, formData) {
64581
- if (attach?.parent && !isAttachFieldActive(attach.parent, formData)) return false;
64582
- if (!attach?.belongFieldId || isNil(attach.optionValue)) {
64583
- return true;
64584
- }
64585
- const row = attach.subtableFieldId ? findRuntimeTableRow(formData?.[attach.subtableFieldId], attach.rowKey) : formData;
64586
- if (attach.subtableFieldId && (!attach.rowKey || !row || row === formData)) {
64587
- return false;
64588
- }
64589
- const raw = row?.[attach.belongFieldId];
64590
- if (attach.multiple) {
64591
- const current = renderUtils.getValue(raw, true);
64592
- if (!Array.isArray(current)) return false;
64593
- return current.some((v) => isSameOptionValue(v, attach.optionValue));
64594
- }
64595
- return isSameOptionValue(raw, attach.optionValue);
64642
+ const getApi$1 = api.apaas.modelComprehensive.getBizServiceModelCategoryModelKeyBsKey;
64643
+ const postApi = api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey;
64644
+ async function materialCheck(params) {
64645
+ const res = await postApi(
64646
+ {
64647
+ bsKey: "biz_single_material_check",
64648
+ modelKey: "em_material_loading",
64649
+ modelCategory: "entity"
64650
+ },
64651
+ {},
64652
+ params
64653
+ );
64654
+ return res;
64596
64655
  }
64597
- function isReferenceOptionActive(referenceInfo, rowFormData) {
64598
- if (!referenceInfo?.belongFieldId || isNil(referenceInfo.optionValue)) {
64599
- return true;
64600
- }
64601
- return isAttachFieldActive(
64656
+ async function stockCheck(params) {
64657
+ await postApi(
64602
64658
  {
64603
- belongFieldId: referenceInfo.belongFieldId,
64604
- optionValue: referenceInfo.optionValue,
64605
- multiple: referenceInfo.multiple
64659
+ bsKey: "biz_form_single_confirm",
64660
+ modelKey: "em_material_loading",
64661
+ modelCategory: "entity"
64606
64662
  },
64607
- rowFormData
64663
+ {},
64664
+ {
64665
+ entry: params.entry,
64666
+ material_id_: params.row.product_id_,
64667
+ production_identification_name_: params.row.material_no_,
64668
+ qty_: params.row.qty_,
64669
+ operation_id_: params.row.routing_operation_id_,
64670
+ main_material_no_: params.mainMaterialNo
64671
+ }
64608
64672
  );
64609
64673
  }
64610
- const stampKeys = [
64611
- "sealId",
64612
- "sealName",
64613
- "sealType",
64614
- "sealImage",
64615
- "sealUserId",
64616
- "sealUserName",
64617
- "sealUserTime"
64618
- ];
64619
- function isSealPosition(value) {
64620
- if (!value || typeof value !== "object") return false;
64621
- const p2 = value;
64622
- return typeof p2.sheetId === "string" && !!p2.sheetId && Number.isInteger(p2.pageIndex) && p2.pageIndex >= 0 && Number.isFinite(p2.leftMm) && p2.leftMm >= 0 && Number.isFinite(p2.topMm) && p2.topMm >= 0;
64674
+ async function fetchHistoryConsume(params) {
64675
+ const res = await postApi(
64676
+ {
64677
+ bsKey: "listAll",
64678
+ modelKey: "em_material_consume",
64679
+ modelCategory: "entity"
64680
+ },
64681
+ {},
64682
+ {
64683
+ query: params
64684
+ }
64685
+ );
64686
+ console.log("查询历史消耗数据", res);
64687
+ const arr = res.data ?? [];
64688
+ arr.map((i2) => {
64689
+ i2.qty_ = i2.qty_consumed_;
64690
+ });
64691
+ return arr;
64623
64692
  }
64624
- function readSealValue(raw, fallback) {
64625
- let parsed = {};
64626
- try {
64627
- const value = typeof raw === "string" ? JSON.parse(raw || "{}") : raw;
64628
- if (value && typeof value === "object" && !Array.isArray(value)) parsed = value;
64629
- } catch {
64630
- }
64631
- const stamp = Object.fromEntries(
64632
- stampKeys.map((key) => [key, typeof parsed[key] === "string" ? parsed[key] : ""])
64693
+ async function judgeUnique(opts) {
64694
+ const res = await postApi(
64695
+ {
64696
+ bsKey: "biz_form_unique",
64697
+ modelKey: "em_material_loading",
64698
+ modelCategory: "entity"
64699
+ },
64700
+ {},
64701
+ {
64702
+ model_key_: opts.modelKey,
64703
+ datas_: opts.data
64704
+ }
64633
64705
  );
64634
- return {
64635
- ...stamp,
64636
- sealPosition: { ...isSealPosition(parsed.sealPosition) ? parsed.sealPosition : fallback }
64637
- };
64706
+ return res;
64638
64707
  }
64639
- function isSealStamped(raw) {
64708
+ async function isBomGranted() {
64640
64709
  try {
64641
- const value = typeof raw === "string" ? JSON.parse(raw || "{}") : raw;
64642
- return !!value && typeof value.sealId === "string" && !!value.sealId && typeof value.sealImage === "string" && !!value.sealImage;
64643
- } catch {
64710
+ const res = await getApi$1(
64711
+ {
64712
+ modelKey: "em_product_bom",
64713
+ bsKey: "biz_bom_granted",
64714
+ modelCategory: "entity"
64715
+ },
64716
+ {},
64717
+ {}
64718
+ );
64719
+ return res ?? false;
64720
+ } catch (error) {
64721
+ console.log("");
64644
64722
  return false;
64645
64723
  }
64646
64724
  }
64647
- function isValidSealValue(raw) {
64648
- try {
64649
- const value = typeof raw === "string" ? JSON.parse(raw || "{}") : raw;
64650
- return !!value && stampKeys.every((key) => typeof value[key] === "string") && isSealPosition(value.sealPosition) && (stampKeys.every((key) => !value[key]) || stampKeys.every((key) => !!value[key]));
64651
- } catch {
64652
- return false;
64725
+ async function getReinspectionDate(params) {
64726
+ if (!params.material_no_id_ && !params.material_no_) return;
64727
+ ({
64728
+ "product_id_.versionIn": [params.product_id_.split(":").pop()]
64729
+ });
64730
+ if (params.material_no_id_) {
64731
+ params.material_no_id_;
64732
+ } else {
64733
+ params.material_no_;
64653
64734
  }
64735
+ const res = await postApi(
64736
+ {
64737
+ modelCategory: "entity",
64738
+ modelKey: "em_production_identification",
64739
+ bsKey: "getOne"
64740
+ },
64741
+ {},
64742
+ {
64743
+ query: {
64744
+ name_: params.material_no_,
64745
+ id_: params.material_no_id_,
64746
+ "product_id_.versionEq": params.product_id_
64747
+ }
64748
+ }
64749
+ );
64750
+ const record = res?.data?.[0] ?? res?.data;
64751
+ const raw = record?.re_inspection_date_ ?? record?.retest_date_;
64752
+ if (raw == null || raw === "") return;
64753
+ const parsed = dayjs(raw);
64754
+ if (!parsed.isValid()) return;
64755
+ return parsed.format("YYYY-MM-DD");
64654
64756
  }
64655
- function moveSealValue(raw, fallback, position) {
64656
- return JSON.stringify({ ...readSealValue(raw, fallback), sealPosition: { ...position } });
64657
- }
64658
- function stampSealValue(raw, fallback, stamp) {
64659
- const current = readSealValue(raw, fallback);
64660
- const next = readSealValue({ ...stamp, sealPosition: current.sealPosition }, fallback);
64661
- return JSON.stringify(next);
64757
+ async function validateReinspectionDate(opts) {
64758
+ if (!opts.product_id_ || !opts.material_no_ && !opts.material_no_id_) return;
64759
+ const date = await getReinspectionDate({
64760
+ product_id_: opts.product_id_,
64761
+ material_no_: opts.material_no_,
64762
+ material_no_id_: opts.material_no_id_
64763
+ });
64764
+ if (!date) return;
64765
+ if (dayjs(date).isBefore(dayjs(), "day")) {
64766
+ throw new Error($t("sys.retestDateErrorTip"));
64767
+ }
64662
64768
  }
64663
- function clearSealValue(raw, fallback) {
64664
- return JSON.stringify(
64665
- readSealValue({ sealPosition: readSealValue(raw, fallback).sealPosition }, fallback)
64769
+ async function getLotLockedReason(production_identification_id_) {
64770
+ const { data = {}, dict = {} } = await postApi(
64771
+ {
64772
+ modelCategory: "entity",
64773
+ modelKey: "em_production_identification_lock_record",
64774
+ bsKey: "biz_get_one_lock_record"
64775
+ },
64776
+ {},
64777
+ {
64778
+ production_identification_id_
64779
+ }
64666
64780
  );
64781
+ return $t("sys.lotLockedReason", {
64782
+ name: dict.lock_user_id_[data.lock_user_id_],
64783
+ reason: data.lock_reason_
64784
+ });
64667
64785
  }
64668
- function normalizeSealDiameter(value) {
64669
- const diameter = Number(value);
64670
- return Number.isFinite(diameter) && diameter > 0 ? Math.min(diameter, 200) : 42;
64786
+ var Config_Fields = /* @__PURE__ */ ((Config_Fields2) => {
64787
+ Config_Fields2["materialCode"] = "materialCode";
64788
+ Config_Fields2["lot"] = "lot";
64789
+ Config_Fields2["qty"] = "qty";
64790
+ Config_Fields2["expiration"] = "expiration";
64791
+ Config_Fields2["deviceCode"] = "deviceCode";
64792
+ Config_Fields2["other"] = "other";
64793
+ return Config_Fields2;
64794
+ })(Config_Fields || {});
64795
+ const getApi = api.apaas.modelComprehensive.getBizServiceModelCategoryModelKeyBsKey;
64796
+ async function getParseRuleInfo(params) {
64797
+ const res = await getApi(
64798
+ {
64799
+ bsKey: "rdoGetVersionById",
64800
+ modelKey: "em_barcode_parsing_rules",
64801
+ modelCategory: "entity"
64802
+ },
64803
+ params
64804
+ );
64805
+ return res.data;
64671
64806
  }
64672
- function clampSealPosition(position, widthMm, heightMm, diameterMm) {
64673
- return {
64674
- ...position,
64675
- leftMm: Math.max(0, Math.min(position.leftMm, Math.max(0, widthMm - diameterMm))),
64676
- topMm: Math.max(0, Math.min(position.topMm, Math.max(0, heightMm - diameterMm)))
64677
- };
64807
+ function handleOldConfig(config) {
64808
+ if (config.list && !config.fieldList) {
64809
+ config.fieldList = config.list.map((type) => {
64810
+ return {
64811
+ type,
64812
+ key: type === Config_Fields.other ? uuid2(32) : type
64813
+ };
64814
+ });
64815
+ delete config.list;
64816
+ }
64817
+ config.fieldList.forEach((item) => {
64818
+ if (!item.key) {
64819
+ item.key = item.type === Config_Fields.other ? uuid2(32) : item.type;
64820
+ }
64821
+ });
64822
+ return config;
64678
64823
  }
64679
- function initializeSealFields(fields2, formData) {
64680
- for (const { props } of fields2) {
64681
- if (!props.field || props.isFieldModel || props.subFieldKey) continue;
64682
- const raw = formData[props.field];
64683
- if (raw == null || raw === "") {
64684
- formData[props.field] = JSON.stringify(readSealValue("", props.sealPosition));
64685
- continue;
64824
+ function getParseRuleValue(labelStr, labelRule) {
64825
+ if (!labelRule) {
64826
+ throw new Error("请传入解析规则");
64827
+ }
64828
+ const ruleObj = JSON.parse(labelRule);
64829
+ const ruleConfig = handleOldConfig(ruleObj);
64830
+ const { separator, nullSymbol, fieldList } = ruleConfig;
64831
+ const labelArr = labelStr.split(separator);
64832
+ return labelArr.reduce((obj, e, idx) => {
64833
+ const field = fieldList[idx];
64834
+ if (field) {
64835
+ let val = nullSymbol && e === nullSymbol ? null : e;
64836
+ if (val !== null) {
64837
+ switch (field.type) {
64838
+ case Config_Fields.qty:
64839
+ val = Number(val);
64840
+ break;
64841
+ case Config_Fields.expiration:
64842
+ val = dayjs(val, field.format).format("YYYY-MM-DD HH:mm:ss");
64843
+ break;
64844
+ }
64845
+ }
64846
+ obj[field.key] = val;
64686
64847
  }
64687
- try {
64688
- const parsed = typeof raw === "string" ? JSON.parse(raw) : raw;
64689
- if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) continue;
64690
- if (!isSealPosition(parsed.sealPosition)) {
64691
- formData[props.field] = JSON.stringify({
64692
- ...parsed,
64693
- sealPosition: { ...props.sealPosition }
64848
+ return obj;
64849
+ }, {});
64850
+ }
64851
+ async function getParseRuleConfig(id) {
64852
+ const res = await getParseRuleInfo({ id });
64853
+ if (res?.rules_) {
64854
+ const ruleObj = JSON.parse(res.rules_);
64855
+ const ruleConfig = handleOldConfig(ruleObj);
64856
+ return ruleConfig;
64857
+ }
64858
+ }
64859
+ function calcFillData(data, fillMapArr) {
64860
+ const obj = {};
64861
+ if (fillMapArr?.length) {
64862
+ fillMapArr.forEach((i2) => {
64863
+ const fromKey = i2.barcodeField;
64864
+ if (fromKey && fromKey in data) {
64865
+ const val = data[fromKey];
64866
+ i2.formFields?.forEach((key) => {
64867
+ const toKey2 = key.split(".")[1];
64868
+ obj[toKey2] = val;
64694
64869
  });
64695
- } else if (typeof raw !== "string") {
64696
- formData[props.field] = JSON.stringify(parsed);
64697
64870
  }
64698
- } catch {
64699
- }
64871
+ });
64700
64872
  }
64873
+ return obj;
64701
64874
  }
64702
64875
  var isNumeric = /^-?(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?$/i, mathceil = Math.ceil, mathfloor = Math.floor, bignumberError = "[BigNumber Error] ", tooManyDigits = bignumberError + "Number primitive has more than 15 significant digits: ", BASE = 1e14, LOG_BASE = 14, MAX_SAFE_INTEGER$2 = 9007199254740991, POWS_TEN = [1, 10, 100, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13], SQRT_BASE = 1e7, MAX = 1e9;
64703
64876
  function clone(configObject) {
@@ -66030,665 +66203,6 @@ function toFixedPoint(str, e, z) {
66030
66203
  return str;
66031
66204
  }
66032
66205
  var BigNumber = clone();
66033
- const { identify, calculate } = {
66034
- identify: (expression) => window.NocodeAdapter.utils?.formulaIdentify?.(expression) ?? [],
66035
- calculate: (expression, data) => window.NocodeAdapter.utils?.formulaCalculate?.(expression, data)
66036
- };
66037
- const getFieldDataValue = (parseInfo, formData) => {
66038
- const getTextValue = (processedKey, value) => {
66039
- const textValue = value ?? formData?.[processedKey] ?? "";
66040
- return Array.isArray(textValue) ? textValue.join() : textValue;
66041
- };
66042
- const { type, processed, hashValue } = parseInfo;
66043
- if (type === "hash") {
66044
- const tableData = toRaw(formData?.[hashValue] || []);
66045
- return tableData.filter((d) => !d.deleted_).map((row) => getTextValue(processed, row?.[processed])).filter((i2) => !isNil(i2));
66046
- }
66047
- return getTextValue(processed, formData?.[processed]);
66048
- };
66049
- const parseFormulaVar = (formulaVar) => {
66050
- const result = {
66051
- original: formulaVar,
66052
- type: "",
66053
- processed: "",
66054
- hashValue: "",
66055
- dataType: ""
66056
- };
66057
- if (/^\$([^$]+)\$\.(.+)$/.test(formulaVar)) {
66058
- const match = formulaVar.match(/^\$([^$]+)\$\.(.+)$/);
66059
- result.type = "hash";
66060
- result.processed = match[2];
66061
- result.hashValue = match[1];
66062
- result.dataType = "globType";
66063
- } else if (/^_\.(.+)$/.test(formulaVar)) {
66064
- const match = formulaVar.match(/^_\.(.+)$/);
66065
- result.type = "underscore";
66066
- result.processed = match[1];
66067
- result.dataType = "currentRowType";
66068
- } else {
66069
- result.type = "plain";
66070
- result.processed = formulaVar;
66071
- result.dataType = "globType";
66072
- }
66073
- return result;
66074
- };
66075
- const getParseFormulaVarInfos = (expr) => {
66076
- const rowArgs = expr ? identify(expr) : [];
66077
- return {
66078
- rowArgs,
66079
- parseInfos: rowArgs.map((curr) => parseFormulaVar(curr))
66080
- };
66081
- };
66082
- const calculateFormula = async (expr, formData, instanceFormState) => {
66083
- const rowArgs = identify(expr);
66084
- const formulaData = isEmpty(rowArgs) ? {} : rowArgs.reduce((total, curr) => {
66085
- const parseInfo = parseFormulaVar(curr);
66086
- total[curr] = getFieldDataValue(
66087
- parseInfo,
66088
- parseInfo.dataType === "currentRowType" ? formData : instanceFormState
66089
- );
66090
- return total;
66091
- }, {});
66092
- return calculate(expr, formulaData);
66093
- };
66094
- const isEmptyValue = (value) => {
66095
- return value === void 0 || value === null || typeof value === "string" && value.trim() === "" || Array.isArray(value) && value.length === 0;
66096
- };
66097
- const compareByOp = (left, right, op) => {
66098
- switch (op) {
66099
- case RangeCompareOp.LT:
66100
- return left < right;
66101
- case RangeCompareOp.LE:
66102
- return left <= right;
66103
- case RangeCompareOp.GT:
66104
- return left > right;
66105
- case RangeCompareOp.GE:
66106
- default:
66107
- return left >= right;
66108
- }
66109
- };
66110
- const rangeCompareMessage = (op, val) => {
66111
- switch (op) {
66112
- case RangeCompareOp.LT:
66113
- return $t("sys.fieldValueNotGreaterOrEqual", { val });
66114
- case RangeCompareOp.LE:
66115
- return $t("sys.fieldValueNoMoreThan", { val });
66116
- case RangeCompareOp.GT:
66117
- return $t("sys.fieldValueNotLessOrEqual", { val });
66118
- case RangeCompareOp.GE:
66119
- default:
66120
- return $t("sys.fieldValueNotLessThan", { val });
66121
- }
66122
- };
66123
- const toUnixTimestamp = (input) => {
66124
- if (isNil(input) || input === "") return null;
66125
- const asNumber = typeof input === "number" || typeof input === "string" && /^-?\d+(\.\d+)?$/.test(input.trim());
66126
- if (asNumber) {
66127
- const n = Number(input);
66128
- if (Number.isNaN(n)) return null;
66129
- const parsed2 = n > 1e12 ? dayjs(n) : dayjs.unix(n);
66130
- return parsed2.isValid() ? parsed2.unix() : null;
66131
- }
66132
- const parsed = dayjs(input);
66133
- return parsed.isValid() ? parsed.unix() : null;
66134
- };
66135
- const buildError = (validatorInfo, message2) => JSON.stringify({ ...validatorInfo, message: message2 });
66136
- function areValidationCommentsEqual(left, right) {
66137
- const serialize = (comments) => JSON.stringify(
66138
- comments,
66139
- (_key, value) => value && typeof value === "object" && "message" in value ? { ...value, message: value.message } : value
66140
- );
66141
- return serialize(left) === serialize(right);
66142
- }
66143
- const createRule = (validator, message2, trigger = "change") => ({
66144
- required: true,
66145
- validator,
66146
- message: message2,
66147
- trigger
66148
- });
66149
- function relocateDeletedRowsToEnd(rows = []) {
66150
- const active = [];
66151
- const deleted = [];
66152
- for (const row of rows) {
66153
- if (row?.deleted_) deleted.push(row);
66154
- else active.push(row);
66155
- }
66156
- return [...active, ...deleted];
66157
- }
66158
- const MAX_NUMERIC_DIGITS = 15;
66159
- const NUMERIC_FIELD_TYPES = /* @__PURE__ */ new Set([
66160
- FIELD_TYPE.INTEGER,
66161
- FIELD_TYPE.LONG,
66162
- FIELD_TYPE.DOUBLE,
66163
- FIELD_TYPE.DECIMAL
66164
- ]);
66165
- function filterRulesByTrigger(rules, trigger) {
66166
- return rules.filter((rule) => {
66167
- const ruleTrigger = rule.trigger;
66168
- if (!ruleTrigger) return trigger === "change";
66169
- if (trigger === "blur") {
66170
- return ruleTrigger === "blur" || ruleTrigger === "change";
66171
- }
66172
- return ruleTrigger === trigger;
66173
- });
66174
- }
66175
- function assembleRules(input) {
66176
- const { showRequired, fieldType, validatorInfo, props } = input;
66177
- const {
66178
- minlength,
66179
- maxlength,
66180
- regex,
66181
- regexHint,
66182
- validateTrue,
66183
- validateFalse,
66184
- enableRangeValidate,
66185
- maxValidateMode,
66186
- minValidateMode,
66187
- maxCompareOp,
66188
- minCompareOp,
66189
- minValue,
66190
- maxValue,
66191
- minFormulaExpr,
66192
- maxFormulaExpr,
66193
- minDate,
66194
- maxDate,
66195
- minDateFormulaExpr,
66196
- maxDateFormulaExpr,
66197
- maxDateValidateMode,
66198
- minDateValidateMode
66199
- } = props;
66200
- const resolvedMaxCompareOp = maxCompareOp ?? RangeCompareOp.LE;
66201
- const resolvedMinCompareOp = minCompareOp ?? RangeCompareOp.GE;
66202
- const RuleProps = [];
66203
- if (props.bizType === FIELD_TYPE.SEAL) {
66204
- if (showRequired) {
66205
- RuleProps.push(
66206
- createRule(
66207
- (_rule, value) => isSealStamped(value),
66208
- buildError(
66209
- { ...validatorInfo, validationCode: "seal-required" },
66210
- $t("sys.fieldRequired")
66211
- ),
66212
- "manual"
66213
- )
66214
- );
66215
- }
66216
- RuleProps.push(createRule((_rule, value) => isEmptyValue(value) || isValidSealValue(value), buildError(validatorInfo, $t("sys.seal.invalid"))));
66217
- return RuleProps;
66218
- }
66219
- if (showRequired) {
66220
- RuleProps.push(
66221
- createRule(
66222
- (_rule, value) => !isEmptyValue(value),
66223
- buildError(validatorInfo, $t("sys.fieldRequired")),
66224
- "manual"
66225
- )
66226
- );
66227
- }
66228
- if (!isNil(minlength)) {
66229
- RuleProps.push(
66230
- createRule((_rule, value) => {
66231
- if (isEmptyValue(value)) return true;
66232
- return String(value).length >= minlength;
66233
- }, buildError(validatorInfo, $t("sys.fieldLengthNotLessThan", { len: minlength })))
66234
- );
66235
- }
66236
- const effectiveMaxlength = isNil(maxlength) && fieldType === FIELD_TYPE.TEXT ? 1024 : maxlength;
66237
- if (!isNil(effectiveMaxlength)) {
66238
- RuleProps.push(
66239
- createRule((_rule, value) => {
66240
- if (isEmptyValue(value)) return true;
66241
- return String(value).length <= effectiveMaxlength;
66242
- }, buildError(validatorInfo, $t("sys.fieldLengthNoMoreThan", { len: effectiveMaxlength })))
66243
- );
66244
- }
66245
- if (regex) {
66246
- RuleProps.push(
66247
- createRule((_rule, value) => {
66248
- if (isEmptyValue(value)) return true;
66249
- return new RegExp(regex).test(value);
66250
- }, buildError(validatorInfo, regexHint ?? $t("sys.fieldFormatError")))
66251
- );
66252
- }
66253
- if (validateTrue) {
66254
- RuleProps.push({
66255
- required: true,
66256
- trigger: "manual",
66257
- validator: (_rule, value) => value === true,
66258
- message: buildError(validatorInfo, $t("sys.fieldValueNeedTrue"))
66259
- });
66260
- }
66261
- if (validateFalse) {
66262
- RuleProps.push({
66263
- required: true,
66264
- trigger: "manual",
66265
- validator: (_rule, value) => value === false,
66266
- message: buildError(validatorInfo, $t("sys.fieldValueNeedFalse"))
66267
- });
66268
- }
66269
- const maxMode = maxValidateMode ?? RangeValidateMode.No_Validate;
66270
- const minMode = minValidateMode ?? RangeValidateMode.No_Validate;
66271
- const shouldValidateNumericLength = !enableRangeValidate || maxMode === RangeValidateMode.No_Validate || minMode === RangeValidateMode.No_Validate;
66272
- if (shouldValidateNumericLength && NUMERIC_FIELD_TYPES.has(fieldType ?? "")) {
66273
- RuleProps.push(
66274
- createRule((_rule, value) => {
66275
- if (isEmptyValue(value)) return true;
66276
- const raw = String(value).trim();
66277
- const text = /e/i.test(raw) ? new BigNumber(raw).toFixed() : raw;
66278
- return text.replace(/[+\-.]/g, "").length <= MAX_NUMERIC_DIGITS;
66279
- }, buildError(validatorInfo, $t("sys.fieldNumericDigitsNoMoreThan")))
66280
- );
66281
- }
66282
- if (!enableRangeValidate) {
66283
- return RuleProps;
66284
- }
66285
- if (minValidateMode === RangeValidateMode.Fixed_Number && !isEmptyValue(minValue)) {
66286
- RuleProps.push(
66287
- createRule((_rule, value) => {
66288
- if (isEmptyValue(value)) return true;
66289
- return compareByOp(Number(value), Number(minValue), resolvedMinCompareOp);
66290
- }, buildError(validatorInfo, rangeCompareMessage(resolvedMinCompareOp, minValue)))
66291
- );
66292
- }
66293
- if (minValidateMode === RangeValidateMode.Variable_Validate && minFormulaExpr) {
66294
- RuleProps.push({
66295
- required: true,
66296
- trigger: "change",
66297
- validator: async (_rule, value, _callback, _source, options) => {
66298
- const currentFormData = getCurrentFormData(_rule, options);
66299
- const formulaValue = await calculateFormula(
66300
- minFormulaExpr,
66301
- currentFormData,
66302
- options?.formData
66303
- );
66304
- if (isEmptyValue(formulaValue)) {
66305
- return Promise.resolve();
66306
- }
66307
- const parsedMin = parseFloat(formulaValue);
66308
- if (!isNaN(parsedMin)) {
66309
- if (isEmptyValue(value)) {
66310
- return Promise.resolve();
66311
- }
66312
- if (!compareByOp(Number(value), parsedMin, resolvedMinCompareOp)) {
66313
- return Promise.reject(
66314
- new Error(
66315
- buildError(validatorInfo, rangeCompareMessage(resolvedMinCompareOp, parsedMin))
66316
- )
66317
- );
66318
- }
66319
- }
66320
- return Promise.resolve();
66321
- }
66322
- });
66323
- }
66324
- if (maxValidateMode === RangeValidateMode.Fixed_Number && !isEmptyValue(maxValue)) {
66325
- RuleProps.push(
66326
- createRule((_rule, value) => {
66327
- if (isEmptyValue(value)) return true;
66328
- return compareByOp(Number(value), Number(maxValue), resolvedMaxCompareOp);
66329
- }, buildError(validatorInfo, rangeCompareMessage(resolvedMaxCompareOp, maxValue)))
66330
- );
66331
- }
66332
- if (maxValidateMode === RangeValidateMode.Variable_Validate && maxFormulaExpr) {
66333
- RuleProps.push({
66334
- required: true,
66335
- trigger: "change",
66336
- validator: async (_rule, value, _callback, _source, options) => {
66337
- const currentFormData = getCurrentFormData(_rule, options);
66338
- const formulaValue = await calculateFormula(
66339
- maxFormulaExpr,
66340
- currentFormData,
66341
- options?.formData
66342
- );
66343
- if (isEmptyValue(formulaValue)) {
66344
- return Promise.resolve();
66345
- }
66346
- const parsedMax = parseFloat(formulaValue);
66347
- if (!isNaN(parsedMax)) {
66348
- if (isEmptyValue(value)) {
66349
- return Promise.resolve();
66350
- }
66351
- if (!compareByOp(Number(value), parsedMax, resolvedMaxCompareOp)) {
66352
- return Promise.reject(
66353
- new Error(
66354
- buildError(validatorInfo, rangeCompareMessage(resolvedMaxCompareOp, parsedMax))
66355
- )
66356
- );
66357
- }
66358
- }
66359
- return Promise.resolve();
66360
- }
66361
- });
66362
- }
66363
- if (minDateValidateMode === RangeValidateMode.Fixed_Number && minDate) {
66364
- RuleProps.push(
66365
- createRule((_rule, value) => {
66366
- if (isEmptyValue(value)) return true;
66367
- const inputTime = dayjs(value).unix();
66368
- const minTimestamp = dayjs(minDate).unix();
66369
- if (!dayjs(value).isValid() || !dayjs(minDate).isValid()) return true;
66370
- return compareByOp(inputTime, minTimestamp, resolvedMinCompareOp);
66371
- }, buildError(validatorInfo, rangeCompareMessage(resolvedMinCompareOp, minDate)))
66372
- );
66373
- }
66374
- if (maxDateValidateMode === RangeValidateMode.Fixed_Number && maxDate) {
66375
- RuleProps.push(
66376
- createRule((_rule, value) => {
66377
- if (isEmptyValue(value)) return true;
66378
- const inputTime = dayjs(value).unix();
66379
- const maxTimestamp = dayjs(maxDate).unix();
66380
- if (!dayjs(value).isValid() || !dayjs(maxDate).isValid()) return true;
66381
- return compareByOp(inputTime, maxTimestamp, resolvedMaxCompareOp);
66382
- }, buildError(validatorInfo, rangeCompareMessage(resolvedMaxCompareOp, maxDate)))
66383
- );
66384
- }
66385
- if (minDateValidateMode === RangeValidateMode.Variable_Validate && minDateFormulaExpr) {
66386
- RuleProps.push({
66387
- required: true,
66388
- trigger: "change",
66389
- validator: async (_rule, value, _callback, _source, options) => {
66390
- const currentFormData = getCurrentFormData(_rule, options);
66391
- const formulaValue = await calculateFormula(
66392
- minDateFormulaExpr,
66393
- currentFormData,
66394
- options?.formData
66395
- );
66396
- const limitTime = toUnixTimestamp(formulaValue);
66397
- if (limitTime !== null) {
66398
- if (isEmptyValue(value)) {
66399
- return Promise.resolve();
66400
- }
66401
- if (!dayjs(value).isValid()) {
66402
- return Promise.resolve();
66403
- }
66404
- const inputTime = dayjs(value).unix();
66405
- const fmt = fieldType === FIELD_TYPE.DATE_TIME ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
66406
- if (!compareByOp(inputTime, limitTime, resolvedMinCompareOp)) {
66407
- return Promise.reject(
66408
- new Error(
66409
- buildError(
66410
- validatorInfo,
66411
- rangeCompareMessage(resolvedMinCompareOp, dayjs.unix(limitTime).format(fmt))
66412
- )
66413
- )
66414
- );
66415
- }
66416
- }
66417
- return Promise.resolve();
66418
- }
66419
- });
66420
- }
66421
- if (maxDateValidateMode === RangeValidateMode.Variable_Validate && maxDateFormulaExpr) {
66422
- RuleProps.push({
66423
- required: true,
66424
- trigger: "change",
66425
- validator: async (_rule, value, _callback, _source, options) => {
66426
- const currentFormData = getCurrentFormData(_rule, options);
66427
- const formulaValue = await calculateFormula(
66428
- maxDateFormulaExpr,
66429
- currentFormData,
66430
- options?.formData
66431
- );
66432
- const limitTime = toUnixTimestamp(formulaValue);
66433
- if (limitTime !== null) {
66434
- if (isEmptyValue(value)) {
66435
- return Promise.resolve();
66436
- }
66437
- if (!dayjs(value).isValid()) {
66438
- return Promise.resolve();
66439
- }
66440
- const inputTime = dayjs(value).unix();
66441
- const fmt = fieldType === FIELD_TYPE.DATE_TIME ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
66442
- if (!compareByOp(inputTime, limitTime, resolvedMaxCompareOp)) {
66443
- return Promise.reject(
66444
- new Error(
66445
- buildError(
66446
- validatorInfo,
66447
- rangeCompareMessage(resolvedMaxCompareOp, dayjs.unix(limitTime).format(fmt))
66448
- )
66449
- )
66450
- );
66451
- }
66452
- }
66453
- return Promise.resolve();
66454
- }
66455
- });
66456
- }
66457
- return RuleProps;
66458
- }
66459
- const getApi$1 = api.apaas.modelComprehensive.getBizServiceModelCategoryModelKeyBsKey;
66460
- const postApi = api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey;
66461
- async function materialCheck(params) {
66462
- const res = await postApi(
66463
- {
66464
- bsKey: "biz_single_material_check",
66465
- modelKey: "em_material_loading",
66466
- modelCategory: "entity"
66467
- },
66468
- {},
66469
- params
66470
- );
66471
- return res;
66472
- }
66473
- async function stockCheck(params) {
66474
- await postApi(
66475
- {
66476
- bsKey: "biz_form_single_confirm",
66477
- modelKey: "em_material_loading",
66478
- modelCategory: "entity"
66479
- },
66480
- {},
66481
- {
66482
- entry: params.entry,
66483
- material_id_: params.row.product_id_,
66484
- production_identification_name_: params.row.material_no_,
66485
- qty_: params.row.qty_,
66486
- operation_id_: params.row.routing_operation_id_,
66487
- main_material_no_: params.mainMaterialNo
66488
- }
66489
- );
66490
- }
66491
- async function fetchHistoryConsume(params) {
66492
- const res = await postApi(
66493
- {
66494
- bsKey: "listAll",
66495
- modelKey: "em_material_consume",
66496
- modelCategory: "entity"
66497
- },
66498
- {},
66499
- {
66500
- query: params
66501
- }
66502
- );
66503
- console.log("查询历史消耗数据", res);
66504
- const arr = res.data ?? [];
66505
- arr.map((i2) => {
66506
- i2.qty_ = i2.qty_consumed_;
66507
- });
66508
- return arr;
66509
- }
66510
- async function judgeUnique(opts) {
66511
- const res = await postApi(
66512
- {
66513
- bsKey: "biz_form_unique",
66514
- modelKey: "em_material_loading",
66515
- modelCategory: "entity"
66516
- },
66517
- {},
66518
- {
66519
- model_key_: opts.modelKey,
66520
- datas_: opts.data
66521
- }
66522
- );
66523
- return res;
66524
- }
66525
- async function isBomGranted() {
66526
- try {
66527
- const res = await getApi$1(
66528
- {
66529
- modelKey: "em_product_bom",
66530
- bsKey: "biz_bom_granted",
66531
- modelCategory: "entity"
66532
- },
66533
- {},
66534
- {}
66535
- );
66536
- return res ?? false;
66537
- } catch (error) {
66538
- console.log("");
66539
- return false;
66540
- }
66541
- }
66542
- async function getReinspectionDate(params) {
66543
- if (!params.material_no_id_ && !params.material_no_) return;
66544
- ({
66545
- "product_id_.versionIn": [params.product_id_.split(":").pop()]
66546
- });
66547
- if (params.material_no_id_) {
66548
- params.material_no_id_;
66549
- } else {
66550
- params.material_no_;
66551
- }
66552
- const res = await postApi(
66553
- {
66554
- modelCategory: "entity",
66555
- modelKey: "em_production_identification",
66556
- bsKey: "getOne"
66557
- },
66558
- {},
66559
- {
66560
- query: {
66561
- name_: params.material_no_,
66562
- id_: params.material_no_id_,
66563
- "product_id_.versionEq": params.product_id_
66564
- }
66565
- }
66566
- );
66567
- const record = res?.data?.[0] ?? res?.data;
66568
- const raw = record?.re_inspection_date_ ?? record?.retest_date_;
66569
- if (raw == null || raw === "") return;
66570
- const parsed = dayjs(raw);
66571
- if (!parsed.isValid()) return;
66572
- return parsed.format("YYYY-MM-DD");
66573
- }
66574
- async function validateReinspectionDate(opts) {
66575
- if (!opts.product_id_ || !opts.material_no_ && !opts.material_no_id_) return;
66576
- const date = await getReinspectionDate({
66577
- product_id_: opts.product_id_,
66578
- material_no_: opts.material_no_,
66579
- material_no_id_: opts.material_no_id_
66580
- });
66581
- if (!date) return;
66582
- if (dayjs(date).isBefore(dayjs(), "day")) {
66583
- throw new Error($t("sys.retestDateErrorTip"));
66584
- }
66585
- }
66586
- async function getLotLockedReason(production_identification_id_) {
66587
- const { data = {}, dict = {} } = await postApi(
66588
- {
66589
- modelCategory: "entity",
66590
- modelKey: "em_production_identification_lock_record",
66591
- bsKey: "biz_get_one_lock_record"
66592
- },
66593
- {},
66594
- {
66595
- production_identification_id_
66596
- }
66597
- );
66598
- return $t("sys.lotLockedReason", {
66599
- name: dict.lock_user_id_[data.lock_user_id_],
66600
- reason: data.lock_reason_
66601
- });
66602
- }
66603
- var Config_Fields = /* @__PURE__ */ ((Config_Fields2) => {
66604
- Config_Fields2["materialCode"] = "materialCode";
66605
- Config_Fields2["lot"] = "lot";
66606
- Config_Fields2["qty"] = "qty";
66607
- Config_Fields2["expiration"] = "expiration";
66608
- Config_Fields2["deviceCode"] = "deviceCode";
66609
- Config_Fields2["other"] = "other";
66610
- return Config_Fields2;
66611
- })(Config_Fields || {});
66612
- const getApi = api.apaas.modelComprehensive.getBizServiceModelCategoryModelKeyBsKey;
66613
- async function getParseRuleInfo(params) {
66614
- const res = await getApi(
66615
- {
66616
- bsKey: "rdoGetVersionById",
66617
- modelKey: "em_barcode_parsing_rules",
66618
- modelCategory: "entity"
66619
- },
66620
- params
66621
- );
66622
- return res.data;
66623
- }
66624
- function handleOldConfig(config) {
66625
- if (config.list && !config.fieldList) {
66626
- config.fieldList = config.list.map((type) => {
66627
- return {
66628
- type,
66629
- key: type === Config_Fields.other ? uuid2(32) : type
66630
- };
66631
- });
66632
- delete config.list;
66633
- }
66634
- config.fieldList.forEach((item) => {
66635
- if (!item.key) {
66636
- item.key = item.type === Config_Fields.other ? uuid2(32) : item.type;
66637
- }
66638
- });
66639
- return config;
66640
- }
66641
- function getParseRuleValue(labelStr, labelRule) {
66642
- if (!labelRule) {
66643
- throw new Error("请传入解析规则");
66644
- }
66645
- const ruleObj = JSON.parse(labelRule);
66646
- const ruleConfig = handleOldConfig(ruleObj);
66647
- const { separator, nullSymbol, fieldList } = ruleConfig;
66648
- const labelArr = labelStr.split(separator);
66649
- return labelArr.reduce((obj, e, idx) => {
66650
- const field = fieldList[idx];
66651
- if (field) {
66652
- let val = nullSymbol && e === nullSymbol ? null : e;
66653
- if (val !== null) {
66654
- switch (field.type) {
66655
- case Config_Fields.qty:
66656
- val = Number(val);
66657
- break;
66658
- case Config_Fields.expiration:
66659
- val = dayjs(val, field.format).format("YYYY-MM-DD HH:mm:ss");
66660
- break;
66661
- }
66662
- }
66663
- obj[field.key] = val;
66664
- }
66665
- return obj;
66666
- }, {});
66667
- }
66668
- async function getParseRuleConfig(id) {
66669
- const res = await getParseRuleInfo({ id });
66670
- if (res?.rules_) {
66671
- const ruleObj = JSON.parse(res.rules_);
66672
- const ruleConfig = handleOldConfig(ruleObj);
66673
- return ruleConfig;
66674
- }
66675
- }
66676
- function calcFillData(data, fillMapArr) {
66677
- const obj = {};
66678
- if (fillMapArr?.length) {
66679
- fillMapArr.forEach((i2) => {
66680
- const fromKey = i2.barcodeField;
66681
- if (fromKey && fromKey in data) {
66682
- const val = data[fromKey];
66683
- i2.formFields?.forEach((key) => {
66684
- const toKey2 = key.split(".")[1];
66685
- obj[toKey2] = val;
66686
- });
66687
- }
66688
- });
66689
- }
66690
- return obj;
66691
- }
66692
66206
  const NUMBER_FIELD_TYPES = /* @__PURE__ */ new Set([
66693
66207
  FIELD_TYPE.INTEGER,
66694
66208
  FIELD_TYPE.LONG,
@@ -67152,27 +66666,27 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
67152
66666
  case "revo-grid":
67153
66667
  return import(
67154
66668
  /* webpackMode: "lazy" */
67155
- "./revo-grid.entry-DdE6cuGJ.js"
66669
+ "./revo-grid.entry-DKvA7bUR.js"
67156
66670
  ).then(processMod, consoleError);
67157
66671
  case "revogr-filter-panel":
67158
66672
  return import(
67159
66673
  /* webpackMode: "lazy" */
67160
- "./revogr-filter-panel.entry-DoNXkBy6.js"
66674
+ "./revogr-filter-panel.entry-BJiGVhcw.js"
67161
66675
  ).then(processMod, consoleError);
67162
66676
  case "revogr-attribution_7":
67163
66677
  return import(
67164
66678
  /* webpackMode: "lazy" */
67165
- "./revogr-attribution_7.entry-Er1fVrov.js"
66679
+ "./revogr-attribution_7.entry-C2PtJ_Tj.js"
67166
66680
  ).then(processMod, consoleError);
67167
66681
  case "revogr-clipboard_3":
67168
66682
  return import(
67169
66683
  /* webpackMode: "lazy" */
67170
- "./revogr-clipboard_3.entry-COq2SN-B.js"
66684
+ "./revogr-clipboard_3.entry-BM7_JY0U.js"
67171
66685
  ).then(processMod, consoleError);
67172
66686
  case "revogr-data_4":
67173
66687
  return import(
67174
66688
  /* webpackMode: "lazy" */
67175
- "./revogr-data_4.entry--CfGDdVK.js"
66689
+ "./revogr-data_4.entry-CdMQPL7I.js"
67176
66690
  ).then(processMod, consoleError);
67177
66691
  }
67178
66692
  }
@@ -77408,7 +76922,7 @@ function groupFixedTableRows(rows, options) {
77408
76922
  return result;
77409
76923
  }
77410
76924
  export {
77411
- PlatformEnum as $,
76925
+ LabelPosition as $,
77412
76926
  ParamModelTypeEnum as A,
77413
76927
  BwipCodeType as B,
77414
76928
  ComponentTypeEnum as C,
@@ -77426,320 +76940,302 @@ export {
77426
76940
  Orientation as O,
77427
76941
  PaginationFormat as P,
77428
76942
  PaperWidgeValueType as Q,
77429
- getParseFormulaVarInfos as R,
76943
+ onlineFormMasterModelTypeEnum as R,
77430
76944
  SUB_TABLE_PANEL_TYPE_NAME as S,
77431
76945
  TRACE_FIELD_TYPES as T,
77432
- onlineFormMasterModelTypeEnum as U,
77433
- UniqueConstraintType as V,
76946
+ UniqueConstraintType as U,
76947
+ FieldDefaultValueTypeEnum as V,
77434
76948
  WAREHOUSE_FIELD_TYPES as W,
77435
- FieldDefaultValueTypeEnum as X,
77436
- FormTypeEnum as Y,
77437
- mitt as Z,
77438
- isDateObjectField as _,
76949
+ FormTypeEnum as X,
76950
+ mitt as Y,
76951
+ isDateObjectField as Z,
76952
+ PlatformEnum as _,
77439
76953
  getProfile as a,
77440
- BindCmpStyleEnum as a$,
77441
- LabelPosition as a0,
77442
- BooleanShowMode as a1,
77443
- SignatureImageDirectionEnum as a2,
77444
- FallbackSignTypeEnum as a3,
77445
- SignatureNumberTypeEnum as a4,
77446
- SignatureTimeTypeEnum as a5,
77447
- SignShowTypeEnum as a6,
77448
- SignatureTypeEnum as a7,
77449
- _export_sfc as a8,
77450
- normalizeFieldType as a9,
77451
- FormDesignEnum as aA,
77452
- BASIC_FIELD_TYPES as aB,
77453
- getExclusiveBusinessTypeTokens as aC,
77454
- getSubTableTypeByRefModelType as aD,
77455
- getAllTableProfiles as aE,
77456
- transformUtils as aF,
77457
- EmptySymbol as aG,
77458
- ASSIGNMENTSTRATEGY_ENUM as aH,
77459
- Dependency_ENUM as aI,
77460
- EntityModelCategoryEnum as aJ,
77461
- resolveLotDisplayLabel as aK,
77462
- CheckDsTypeEnum as aL,
77463
- DeviceLink as aM,
77464
- DeviceParamsTypeTitle as aN,
77465
- AITooltips as aO,
77466
- DenoiseMethodOptions as aP,
77467
- BinarizeMethodOptions as aQ,
77468
- JoinModelTypeEum as aR,
77469
- sqlUtils as aS,
77470
- DateFormat as aT,
77471
- LOT_CONTAINER_ROLE as aU,
77472
- buildLotSnListQuery as aV,
77473
- renderUtils as aW,
77474
- resolveLotRecordByValue as aX,
77475
- materialCheck as aY,
77476
- getLotLockedReason as aZ,
77477
- validateReinspectionDate as a_,
77478
- PaperSizeMap as aa,
77479
- clampSealPosition as ab,
77480
- normalizeSealDiameter as ac,
77481
- getFieldMain as ad,
77482
- buildUUID as ae,
77483
- FieldIconMap as af,
77484
- BigNumber as ag,
77485
- FieldSysVarDefaultValueEnum as ah,
77486
- CellWidgetViewState as ai,
77487
- DiagonalDirection as aj,
77488
- WidgetImageSizeMode as ak,
77489
- LineDirection as al,
77490
- TimeDiffFormat as am,
77491
- DiagonalVertex as an,
77492
- resolveDiagonalVertex as ao,
77493
- getThemeColorByTableType as ap,
77494
- ViewTypeEnum as aq,
77495
- isDynamicSubTablePanelType as ar,
77496
- isFixedSubTablePanelType as as,
77497
- ExpressionModeEnum as at,
77498
- ReturnTypeEnum as au,
77499
- ExpressionTabEnum as av,
77500
- RangeValidateMode as aw,
77501
- RangeCompareOp as ax,
77502
- DecimalDisplayMode as ay,
77503
- ImageDisplayModeEnum as az,
76954
+ getParseRuleValue as a$,
76955
+ BooleanShowMode as a0,
76956
+ SignatureImageDirectionEnum as a1,
76957
+ FallbackSignTypeEnum as a2,
76958
+ SignatureNumberTypeEnum as a3,
76959
+ SignatureTimeTypeEnum as a4,
76960
+ SignShowTypeEnum as a5,
76961
+ SignatureTypeEnum as a6,
76962
+ _export_sfc as a7,
76963
+ normalizeFieldType as a8,
76964
+ PaperSizeMap as a9,
76965
+ getSubTableTypeByRefModelType as aA,
76966
+ getAllTableProfiles as aB,
76967
+ transformUtils as aC,
76968
+ EmptySymbol as aD,
76969
+ ASSIGNMENTSTRATEGY_ENUM as aE,
76970
+ Dependency_ENUM as aF,
76971
+ EntityModelCategoryEnum as aG,
76972
+ resolveLotDisplayLabel as aH,
76973
+ CheckDsTypeEnum as aI,
76974
+ DeviceLink as aJ,
76975
+ DeviceParamsTypeTitle as aK,
76976
+ AITooltips as aL,
76977
+ DenoiseMethodOptions as aM,
76978
+ BinarizeMethodOptions as aN,
76979
+ JoinModelTypeEum as aO,
76980
+ sqlUtils as aP,
76981
+ DateFormat as aQ,
76982
+ LOT_CONTAINER_ROLE as aR,
76983
+ buildLotSnListQuery as aS,
76984
+ renderUtils as aT,
76985
+ resolveLotRecordByValue as aU,
76986
+ materialCheck as aV,
76987
+ getLotLockedReason as aW,
76988
+ validateReinspectionDate as aX,
76989
+ ProductionIdentificationTypeEnum as aY,
76990
+ BindCmpStyleEnum as aZ,
76991
+ getParseRuleInfo as a_,
76992
+ getFieldMain as aa,
76993
+ buildUUID as ab,
76994
+ FieldIconMap as ac,
76995
+ BigNumber as ad,
76996
+ FieldSysVarDefaultValueEnum as ae,
76997
+ CellWidgetViewState as af,
76998
+ DiagonalDirection as ag,
76999
+ WidgetImageSizeMode as ah,
77000
+ LineDirection as ai,
77001
+ TimeDiffFormat as aj,
77002
+ DiagonalVertex as ak,
77003
+ resolveDiagonalVertex as al,
77004
+ getThemeColorByTableType as am,
77005
+ ViewTypeEnum as an,
77006
+ isDynamicSubTablePanelType as ao,
77007
+ isFixedSubTablePanelType as ap,
77008
+ ExpressionModeEnum as aq,
77009
+ ReturnTypeEnum as ar,
77010
+ ExpressionTabEnum as as,
77011
+ RangeValidateMode as at,
77012
+ RangeCompareOp as au,
77013
+ DecimalDisplayMode as av,
77014
+ ImageDisplayModeEnum as aw,
77015
+ FormDesignEnum as ax,
77016
+ BASIC_FIELD_TYPES as ay,
77017
+ getExclusiveBusinessTypeTokens as az,
77504
77018
  isBusinessSubTableProfile as b,
77505
- applyMedProCheckDsDataToRuntime as b$,
77506
- getParseRuleInfo as b0,
77507
- getParseRuleValue as b1,
77508
- normalizeRefLoaderResult as b2,
77509
- STOCKTAKE_DIMENSION as b3,
77510
- F$8 as b4,
77511
- resolveStocktakeSelectApi as b5,
77512
- readSealValue as b6,
77513
- isSealStamped as b7,
77514
- RenderModeEnum as b8,
77515
- stampSealValue as b9,
77516
- baseDataUtils as bA,
77517
- initializeSealFields as bB,
77518
- normalizeToArray as bC,
77519
- safeParseArray as bD,
77520
- BpmnNodeTypeEnum as bE,
77521
- mergeByMultiKey as bF,
77522
- evaluateInspectionDecisionRule as bG,
77523
- areValidationCommentsEqual as bH,
77524
- useNocodeEmitter as bI,
77525
- commonUtils as bJ,
77526
- BpmnSignatureTypeEnum as bK,
77527
- ButtonTypeEnum as bL,
77528
- CHECK_TABLE_MEDPRO_PROTOCOL_KEY as bM,
77529
- CodeRunner as bN,
77530
- Config_Fields as bO,
77531
- ControlStatusEnum as bP,
77532
- DEVICE_SEARCH_API as bQ,
77533
- DeviceStatus as bR,
77534
- EBR_PROVIDE_ENUM as bS,
77535
- EFieldBizTypeEnum as bT,
77536
- MAX_FRONT_ROW_KEY_LENGTH as bU,
77537
- MobileFillTypeEnum as bV,
77538
- OfficeTypeEnum as bW,
77539
- PosEnum as bX,
77540
- RUNTIME_COLUMN_ROW_KEY as bY,
77541
- SummaryApproveHisTypeEnum as bZ,
77542
- applyCheckDsDataToRuntime as b_,
77543
- isValidSealValue as ba,
77544
- clearSealValue as bb,
77545
- normalizeProductionContainerOptions as bc,
77546
- buildProductionLotListQuery as bd,
77547
- refUtils as be,
77548
- buildInspectionLotListQuery as bf,
77549
- buildDeviceFilterQuery as bg,
77550
- DEVICE_GROUP_QUERY_KEY as bh,
77551
- getRowId as bi,
77552
- findRuntimeTableRow as bj,
77553
- calculateFormula as bk,
77554
- findRuntimeParentRow as bl,
77555
- useOnlineFormTransformField2Component as bm,
77556
- FormulaRuleFieldKeyEnum as bn,
77557
- formulaRuleFieldDict as bo,
77558
- resolveDesignPanelFeatures as bp,
77559
- BIZ_TABLE_CONFIG_SEED_TYPES as bq,
77560
- STOCKTAKE_DIMENSION_OPTIONS as br,
77561
- isRepeatingSubTablePanelType as bs,
77562
- moveSealValue as bt,
77563
- uuid2 as bu,
77564
- assembleRules as bv,
77565
- isAttachFieldActive as bw,
77566
- fetchHistoryConsume as bx,
77567
- isBomGranted as by,
77568
- parseFrontConfig as bz,
77019
+ findRuntimeTableCell as b$,
77020
+ normalizeRefLoaderResult as b0,
77021
+ STOCKTAKE_DIMENSION as b1,
77022
+ F$8 as b2,
77023
+ resolveStocktakeSelectApi as b3,
77024
+ RenderModeEnum as b4,
77025
+ normalizeProductionContainerOptions as b5,
77026
+ buildProductionLotListQuery as b6,
77027
+ refUtils as b7,
77028
+ buildInspectionLotListQuery as b8,
77029
+ buildDeviceFilterQuery as b9,
77030
+ CodeRunner as bA,
77031
+ Config_Fields as bB,
77032
+ ControlStatusEnum as bC,
77033
+ DEVICE_SEARCH_API as bD,
77034
+ DeviceStatus as bE,
77035
+ EBR_PROVIDE_ENUM as bF,
77036
+ EFieldBizTypeEnum as bG,
77037
+ MAX_FRONT_ROW_KEY_LENGTH as bH,
77038
+ MobileFillTypeEnum as bI,
77039
+ OfficeTypeEnum as bJ,
77040
+ PosEnum as bK,
77041
+ RUNTIME_COLUMN_ROW_KEY as bL,
77042
+ SummaryApproveHisTypeEnum as bM,
77043
+ applyCheckDsDataToRuntime as bN,
77044
+ applyMedProCheckDsDataToRuntime as bO,
77045
+ bindRuntimeTableColumns as bP,
77046
+ buildDeviceBaseQuery as bQ,
77047
+ calcFillData as bR,
77048
+ calcUtils as bS,
77049
+ decodeTableCellRowKey as bT,
77050
+ encodeTableCellRowKey as bU,
77051
+ ensureFrontRowKey as bV,
77052
+ ensureTableRowKeys as bW,
77053
+ extractKeywordFromQueryData as bX,
77054
+ fetchCheckDsDataForTable as bY,
77055
+ fetchCustomCheckDsData as bZ,
77056
+ fetchMedProCheckDsData as b_,
77057
+ DEVICE_GROUP_QUERY_KEY as ba,
77058
+ getRowId as bb,
77059
+ findRuntimeTableRow as bc,
77060
+ findRuntimeParentRow as bd,
77061
+ useOnlineFormTransformField2Component as be,
77062
+ FormulaRuleFieldKeyEnum as bf,
77063
+ formulaRuleFieldDict as bg,
77064
+ resolveDesignPanelFeatures as bh,
77065
+ BIZ_TABLE_CONFIG_SEED_TYPES as bi,
77066
+ STOCKTAKE_DIMENSION_OPTIONS as bj,
77067
+ isRepeatingSubTablePanelType as bk,
77068
+ uuid2 as bl,
77069
+ fetchHistoryConsume as bm,
77070
+ isBomGranted as bn,
77071
+ parseFrontConfig as bo,
77072
+ baseDataUtils as bp,
77073
+ normalizeToArray as bq,
77074
+ safeParseArray as br,
77075
+ BpmnNodeTypeEnum as bs,
77076
+ mergeByMultiKey as bt,
77077
+ evaluateInspectionDecisionRule as bu,
77078
+ useNocodeEmitter as bv,
77079
+ commonUtils as bw,
77080
+ BpmnSignatureTypeEnum as bx,
77081
+ ButtonTypeEnum as by,
77082
+ CHECK_TABLE_MEDPRO_PROTOCOL_KEY as bz,
77569
77083
  getProfileByTableType as c,
77570
- resolveGroupByWarehouse as c$,
77571
- bindRuntimeTableColumns as c0,
77572
- buildDeviceBaseQuery as c1,
77573
- calcFillData as c2,
77574
- calcUtils as c3,
77575
- decodeTableCellRowKey as c4,
77576
- encodeTableCellRowKey as c5,
77577
- ensureFrontRowKey as c6,
77578
- ensureTableRowKeys as c7,
77579
- extractKeywordFromQueryData as c8,
77580
- fetchCheckDsDataForTable as c9,
77581
- buildError as cA,
77582
- resetTableRowIdentity as cB,
77583
- q as cC,
77584
- QUICK_FILL_ALLOWED_FIELDS as cD,
77585
- groupFixedTableRows as cE,
77586
- processQuickFillRows as cF,
77587
- getIsGroupEmpty as cG,
77588
- getAugmentedNamespace as cH,
77589
- CardControlEnum as cI,
77590
- EntityModelTypeEnum as cJ,
77591
- RecordNoGenerateEnum as cK,
77592
- TagTypeEnum as cL,
77593
- F$6 as cM,
77594
- SCAN_ROW_CONTENT_FIELDS as cN,
77595
- F$3 as cO,
77596
- F$7 as cP,
77597
- runRowHandler as cQ,
77598
- F$a as cR,
77599
- F$9 as cS,
77600
- FILL_FROM_SOURCE_PRODUCT_OPTION as cT,
77601
- FILL_FROM_TARGET_MATERIAL_NO_OPTION as cU,
77602
- FILL_FROM_INVENTORY_OPTION$2 as cV,
77603
- FILL_FROM_PART_OPTION as cW,
77604
- FILL_FROM_INVENTORY_OPTION$3 as cX,
77605
- TABLE_TYPE$b as cY,
77606
- FILL_FROM_INVENTORY_OPTION$1 as cZ,
77607
- INVENTORY_BASE_FIELDS as c_,
77608
- fetchCustomCheckDsData as ca,
77609
- fetchMedProCheckDsData as cb,
77610
- findRuntimeTableCell as cc,
77611
- getCheckTableSnapshotKey as cd,
77612
- getParseRuleConfig as ce,
77613
- getReinspectionDate as cf,
77614
- getRenderedRuntimeTableCell as cg,
77615
- handleOldConfig as ch,
77616
- hasAnyCheckTableSnapshot as ci,
77617
- hasByTableCheckTableSnapshot as cj,
77618
- hasSharedCheckTableSnapshot as ck,
77619
- isMedProSuite as cl,
77620
- isTableRowKeyMatch as cm,
77621
- jsonSchemaUtils as cn,
77622
- judgeUnique as co,
77623
- migrateDiagonalDirectionToVertex as cp,
77624
- relocateDeletedRowsToEnd as cq,
77625
- requestMedProCheckDsData as cr,
77626
- requestNonMedProCheckDsData as cs,
77627
- stockCheck as ct,
77628
- useOnlineFormActionButton as cu,
77629
- getFieldPlaceholder as cv,
77630
- isReferenceOptionActive as cw,
77631
- FRONT_ROW_KEY as cx,
77632
- filterRulesByTrigger as cy,
77633
- isEmptyValue as cz,
77084
+ applyFillFromProductOption$1 as c$,
77085
+ getCheckTableSnapshotKey as c0,
77086
+ getParseRuleConfig as c1,
77087
+ getReinspectionDate as c2,
77088
+ getRenderedRuntimeTableCell as c3,
77089
+ handleOldConfig as c4,
77090
+ hasAnyCheckTableSnapshot as c5,
77091
+ hasByTableCheckTableSnapshot as c6,
77092
+ hasSharedCheckTableSnapshot as c7,
77093
+ isMedProSuite as c8,
77094
+ isTableRowKeyMatch as c9,
77095
+ F$9 as cA,
77096
+ FILL_FROM_SOURCE_PRODUCT_OPTION as cB,
77097
+ FILL_FROM_TARGET_MATERIAL_NO_OPTION as cC,
77098
+ FILL_FROM_INVENTORY_OPTION$2 as cD,
77099
+ FILL_FROM_PART_OPTION as cE,
77100
+ FILL_FROM_INVENTORY_OPTION$3 as cF,
77101
+ TABLE_TYPE$b as cG,
77102
+ FILL_FROM_INVENTORY_OPTION$1 as cH,
77103
+ INVENTORY_BASE_FIELDS as cI,
77104
+ resolveGroupByWarehouse as cJ,
77105
+ AUTO_LOAD_READONLY_SELECT_FIELDS as cK,
77106
+ buildFillFromInventoryOption as cL,
77107
+ resolveStocktakeInventoryApi as cM,
77108
+ F$5 as cN,
77109
+ FILL_FROM_INVENTORY_OPTION as cO,
77110
+ composeProductionLotListQuery as cP,
77111
+ F as cQ,
77112
+ isProductManuallyEditable as cR,
77113
+ applyFillFromMfgOrderOption as cS,
77114
+ applyFillFromOption as cT,
77115
+ applyFillFromProductOption as cU,
77116
+ MATERIAL_CONTAINER_ID as cV,
77117
+ F$c as cW,
77118
+ PRODUCT_QUICK_SEARCH_FIELDS as cX,
77119
+ PRODUCT_QUICK_SEARCH_EXP as cY,
77120
+ isProductManuallyEditable$1 as cZ,
77121
+ applyFillFromMaterialNoOption as c_,
77122
+ jsonSchemaUtils as ca,
77123
+ judgeUnique as cb,
77124
+ migrateDiagonalDirectionToVertex as cc,
77125
+ requestMedProCheckDsData as cd,
77126
+ requestNonMedProCheckDsData as ce,
77127
+ stockCheck as cf,
77128
+ useOnlineFormActionButton as cg,
77129
+ getFieldPlaceholder as ch,
77130
+ FRONT_ROW_KEY as ci,
77131
+ resetTableRowIdentity as cj,
77132
+ q as ck,
77133
+ QUICK_FILL_ALLOWED_FIELDS as cl,
77134
+ groupFixedTableRows as cm,
77135
+ processQuickFillRows as cn,
77136
+ getIsGroupEmpty as co,
77137
+ getAugmentedNamespace as cp,
77138
+ CardControlEnum as cq,
77139
+ EntityModelTypeEnum as cr,
77140
+ RecordNoGenerateEnum as cs,
77141
+ TagTypeEnum as ct,
77142
+ F$6 as cu,
77143
+ SCAN_ROW_CONTENT_FIELDS as cv,
77144
+ F$3 as cw,
77145
+ F$7 as cx,
77146
+ runRowHandler as cy,
77147
+ F$a as cz,
77634
77148
  getBusinessProfileByRefModelType as d,
77635
- isFilterBtn as d$,
77636
- AUTO_LOAD_READONLY_SELECT_FIELDS as d0,
77637
- buildFillFromInventoryOption as d1,
77638
- resolveStocktakeInventoryApi as d2,
77639
- F$5 as d3,
77640
- FILL_FROM_INVENTORY_OPTION as d4,
77641
- composeProductionLotListQuery as d5,
77642
- F as d6,
77643
- isProductManuallyEditable as d7,
77644
- applyFillFromMfgOrderOption as d8,
77645
- applyFillFromOption as d9,
77646
- ThemeService as dA,
77647
- h as dB,
77648
- Host as dC,
77649
- getElement as dD,
77650
- BasePlugin as dE,
77651
- reduce as dF,
77652
- columnTypes as dG,
77653
- debounce$1 as dH,
77654
- RESIZE_INTERVAL as dI,
77655
- DimensionStore as dJ,
77656
- gatherTrimmedItems as dK,
77657
- getColumnSizes as dL,
77658
- getItemByIndex as dM,
77659
- DataStore as dN,
77660
- getSourceItem as dO,
77661
- getSourceItemVirtualIndexByProp as dP,
77662
- getColumnType as dQ,
77663
- setSourceByPhysicalIndex as dR,
77664
- setSourceByVirtualIndex as dS,
77665
- SelectionStore as dT,
77666
- cropCellToMax as dU,
77667
- nextCell as dV,
77668
- isRowType as dW,
77669
- ViewportStore as dX,
77670
- AndOrButton as dY,
77671
- ReorderButton as dZ,
77672
- TrashButton as d_,
77673
- applyFillFromProductOption as da,
77674
- MATERIAL_CONTAINER_ID as db,
77675
- F$c as dc,
77676
- PRODUCT_QUICK_SEARCH_FIELDS as dd,
77677
- PRODUCT_QUICK_SEARCH_EXP as de,
77678
- isProductManuallyEditable$1 as df,
77679
- applyFillFromMaterialNoOption as dg,
77680
- applyFillFromProductOption$1 as dh,
77681
- F$b as di,
77682
- FILL_FROM_INVENTORY_OPTION$4 as dj,
77683
- registerInstance as dk,
77684
- createEvent as dl,
77685
- getColumnByProp as dm,
77686
- timeout as dn,
77687
- getVisibleSourceItem as dp,
77688
- getColumns as dq,
77689
- rowTypes as dr,
77690
- GroupingRowPlugin as ds,
77691
- StretchColumn as dt,
77692
- isStretchPlugin as du,
77693
- AutoSizeColumnPlugin as dv,
77694
- FilterPlugin as dw,
77695
- ExportFilePlugin as dx,
77696
- SortingPlugin as dy,
77697
- ColumnMovePlugin as dz,
77149
+ isObject as d$,
77150
+ F$b as d0,
77151
+ FILL_FROM_INVENTORY_OPTION$4 as d1,
77152
+ registerInstance as d2,
77153
+ createEvent as d3,
77154
+ getColumnByProp as d4,
77155
+ timeout as d5,
77156
+ getVisibleSourceItem as d6,
77157
+ getColumns as d7,
77158
+ rowTypes as d8,
77159
+ GroupingRowPlugin as d9,
77160
+ setSourceByVirtualIndex as dA,
77161
+ SelectionStore as dB,
77162
+ cropCellToMax as dC,
77163
+ nextCell as dD,
77164
+ isRowType as dE,
77165
+ ViewportStore as dF,
77166
+ AndOrButton as dG,
77167
+ ReorderButton as dH,
77168
+ TrashButton as dI,
77169
+ isFilterBtn as dJ,
77170
+ ColumnService as dK,
77171
+ MOBILE_CLASS as dL,
77172
+ SELECTION_BORDER_CLASS as dM,
77173
+ getCellData as dN,
77174
+ getCellEditor as dO,
77175
+ getRange as dP,
77176
+ isRangeSingleCell as dQ,
77177
+ codesLetter as dR,
77178
+ calculateRowHeaderSize as dS,
77179
+ ROW_HEADER_TYPE as dT,
77180
+ getScrollbarSize as dU,
77181
+ FOCUS_CLASS as dV,
77182
+ CELL_HANDLER_CLASS as dW,
77183
+ TMP_SELECTION_BG_CLASS as dX,
77184
+ getItemByPosition as dY,
77185
+ EDIT_INPUT_WR as dZ,
77186
+ keyValues as d_,
77187
+ StretchColumn as da,
77188
+ isStretchPlugin as db,
77189
+ AutoSizeColumnPlugin as dc,
77190
+ FilterPlugin as dd,
77191
+ ExportFilePlugin as de,
77192
+ SortingPlugin as df,
77193
+ ColumnMovePlugin as dg,
77194
+ ThemeService as dh,
77195
+ h as di,
77196
+ Host as dj,
77197
+ getElement as dk,
77198
+ BasePlugin as dl,
77199
+ reduce as dm,
77200
+ columnTypes as dn,
77201
+ debounce$1 as dp,
77202
+ RESIZE_INTERVAL as dq,
77203
+ DimensionStore as dr,
77204
+ gatherTrimmedItems as ds,
77205
+ getColumnSizes as dt,
77206
+ getItemByIndex as du,
77207
+ DataStore as dv,
77208
+ getSourceItem as dw,
77209
+ getSourceItemVirtualIndexByProp as dx,
77210
+ getColumnType as dy,
77211
+ setSourceByPhysicalIndex as dz,
77698
77212
  expandAutofillTemplates as e,
77699
- ColumnService as e0,
77700
- MOBILE_CLASS as e1,
77701
- SELECTION_BORDER_CLASS as e2,
77702
- getCellData as e3,
77703
- getCellEditor as e4,
77704
- getRange as e5,
77705
- isRangeSingleCell as e6,
77706
- codesLetter as e7,
77707
- calculateRowHeaderSize as e8,
77708
- ROW_HEADER_TYPE as e9,
77709
- HEADER_ROW_CLASS as eA,
77710
- HEADER_ACTUAL_ROW_CLASS as eB,
77711
- ROW_FOCUSED_CLASS as eC,
77712
- HEADER_SORTABLE_CLASS as eD,
77713
- MIN_COL_SIZE as eE,
77714
- FilterButton as eF,
77715
- HeaderCellRenderer as eG,
77716
- HEADER_CLASS as eH,
77717
- getScrollbarSize as ea,
77718
- FOCUS_CLASS as eb,
77719
- CELL_HANDLER_CLASS as ec,
77720
- TMP_SELECTION_BG_CLASS as ed,
77721
- getItemByPosition as ee,
77722
- EDIT_INPUT_WR as ef,
77723
- keyValues as eg,
77724
- isObject as eh,
77725
- DRAGG_TEXT as ei,
77726
- PSEUDO_GROUP_ITEM as ej,
77727
- GROUP_EXPANDED as ek,
77728
- GROUP_DEPTH as el,
77729
- GROUP_EXPAND_BTN as em,
77730
- DATA_ROW as en,
77731
- isGroupingColumn as eo,
77732
- GROUP_COLUMN_PROP as ep,
77733
- getCellRaw as eq,
77734
- DATA_COL as er,
77735
- CELL_CLASS as es,
77736
- Build as et,
77737
- isRowDragService as eu,
77738
- DRAG_ICON_CLASS as ev,
77739
- DRAGGABLE_CLASS as ew,
77740
- getCellDataParsed as ex,
77741
- GROUP_EXPAND_EVENT as ey,
77742
- isGrouping as ez,
77213
+ DRAGG_TEXT as e0,
77214
+ PSEUDO_GROUP_ITEM as e1,
77215
+ GROUP_EXPANDED as e2,
77216
+ GROUP_DEPTH as e3,
77217
+ GROUP_EXPAND_BTN as e4,
77218
+ DATA_ROW as e5,
77219
+ isGroupingColumn as e6,
77220
+ GROUP_COLUMN_PROP as e7,
77221
+ getCellRaw as e8,
77222
+ DATA_COL as e9,
77223
+ CELL_CLASS as ea,
77224
+ Build as eb,
77225
+ isRowDragService as ec,
77226
+ DRAG_ICON_CLASS as ed,
77227
+ DRAGGABLE_CLASS as ee,
77228
+ getCellDataParsed as ef,
77229
+ GROUP_EXPAND_EVENT as eg,
77230
+ isGrouping as eh,
77231
+ HEADER_ROW_CLASS as ei,
77232
+ HEADER_ACTUAL_ROW_CLASS as ej,
77233
+ ROW_FOCUSED_CLASS as ek,
77234
+ HEADER_SORTABLE_CLASS as el,
77235
+ MIN_COL_SIZE as em,
77236
+ FilterButton as en,
77237
+ HeaderCellRenderer as eo,
77238
+ HEADER_CLASS as ep,
77743
77239
  SubTableType as f,
77744
77240
  getAllDataProfiles as g,
77745
77241
  getAllBusinessRefModelTypes as h,