@gct-paas/excel 0.1.40-beta.8 → 0.1.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.
Files changed (170) hide show
  1. package/dist/{BaseComponent-CELRDc47.js → BaseComponent-CD_dAL9D.js} +3 -4
  2. package/dist/{VueVideoPlayer-CQ3WMohj.js → VueVideoPlayer-DQQlv_cp.js} +2 -2
  3. package/dist/{align-editor-BjxHuSxl.js → align-editor-DchzBHaC.js} +1 -1
  4. package/dist/{barcode-design-BDHtEF3j.js → barcode-design-BBW5cG3v.js} +2 -3
  5. package/dist/base/index.es.js +306 -465
  6. package/dist/{diagonal-design-DLxRO_uM.js → diagonal-design-CawGqmc7.js} +2 -3
  7. package/dist/{dynamic-table-action-C_1EGXMe.js → dynamic-table-action-Dw7AIthU.js} +942 -315
  8. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-B7k5famp.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DEjLEs33.js} +1246 -1840
  9. package/dist/{edit.utils-CXmmCnxE-C1w2rhHM.js → edit.utils-CXmmCnxE-B7lpVZjb.js} +1 -1
  10. package/dist/excel.css +4642 -3566
  11. package/dist/{exceljs.min-rIUD8u2M.js → exceljs.min-DDPQIUli.js} +2 -2
  12. package/dist/{font-editor-DWmzS_0C.js → font-editor-n8zk8Vt2.js} +3 -3
  13. package/dist/{image-design-Cjob0qMO.js → image-design-D4mIDz9K.js} +2 -2
  14. package/dist/{index--kolAY9o.js → index--MetH_r4.js} +3 -4
  15. package/dist/{index-DJj0H4QE.js → index-1klMDz7G.js} +2 -3
  16. package/dist/{index-B9a9T8if.js → index-4p1VXlOx.js} +1 -2
  17. package/dist/{index-DQNLZ671.js → index-B0u6FHDq.js} +6 -6
  18. package/dist/{index-BeYN1fxt.js → index-BMsHMGap.js} +2 -3
  19. package/dist/{index-nGGsFW_9.js → index-BW95iBc7.js} +2 -3
  20. package/dist/{index-BHxDpc-C.js → index-BWoOPv6-.js} +2 -3
  21. package/dist/{index-CIkhaEj4.js → index-BZ7bC20P.js} +1 -2
  22. package/dist/{index-CQkWk_7M.js → index-BcHwRIXW.js} +3 -4
  23. package/dist/{index-ByeVrxVl.js → index-Bm8wYtHB.js} +1 -2
  24. package/dist/{index-DiNxihKr.js → index-Boy8--Ns.js} +2 -3
  25. package/dist/{index-CQ0BwWRP.js → index-C-NpFAft.js} +3 -3
  26. package/dist/{index-CfyXGhk3.js → index-C4t8sSlN.js} +1 -2
  27. package/dist/{index-RV5ozdPP.js → index-CAc9drK5.js} +1 -2
  28. package/dist/{index-BzBMhjxB.js → index-CI6Hl1Ns.js} +1 -2
  29. package/dist/{index-BlLeFC1A.js → index-CXnuud67.js} +2 -3
  30. package/dist/{index-DdxuhIJY.js → index-CYSJt1Zc.js} +2 -3
  31. package/dist/{index-C-F1u_o7.js → index-Ch88zDje.js} +2 -3
  32. package/dist/{index-CAekmaIN.js → index-CmjTSiUa.js} +2 -3
  33. package/dist/{index-Refavqkv.js → index-DPf5_q0T.js} +5 -5
  34. package/dist/{index-Bn5H-iFV.js → index-DUztXGMj.js} +2 -3
  35. package/dist/{index-poil0x4K.js → index-DfFakGrF.js} +2 -3
  36. package/dist/{index-Bw67kX4Y.js → index-DgybKcgI.js} +2 -3
  37. package/dist/{index-DqomTxsG.js → index-Dh0_kanw.js} +1 -2
  38. package/dist/{index-2X2QGo0A.js → index-DiPWQwMU.js} +29436 -27193
  39. package/dist/{index-CHS101Sz.js → index-DiWzNeZJ.js} +6 -4
  40. package/dist/{index-U90xa0_k.js → index-Do-QyvWW.js} +2 -3
  41. package/dist/{index-Cn2_Yd7q.js → index-DvMu7-8y.js} +1 -2
  42. package/dist/{index-DxaR4DCk.js → index-H4f-e99t.js} +2 -3
  43. package/dist/{index-DMOi4nAC.js → index-S8Dj5ycu.js} +2 -3
  44. package/dist/{index-DxW-5l6p.js → index-TZy8JxSW.js} +5 -8
  45. package/dist/{index-BLpDtBBv.js → index-_Ec5LAW9.js} +2 -2
  46. package/dist/{index-w6agN1-G.js → index-gHOlYnAA.js} +1 -2
  47. package/dist/{index-LOpDQbHn.js → index-r0yHBje3.js} +2 -3
  48. package/dist/{index-BgsXETEd.js → index-r9t3crs-.js} +1 -2
  49. package/dist/index.es.js +10 -14
  50. package/dist/{mb-render-wAlqnYW9.js → mb-render-sgVmAe6_.js} +1 -1
  51. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-BLEHWjXh.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-DDJetWQU.js} +1 -2
  52. package/dist/{pagination-design-CuM2_cOO.js → pagination-design-lckCQWcK.js} +2 -3
  53. package/dist/paper-widget-design-Nd5VjI7n.js +4 -0
  54. package/dist/{print-runtime-instance-xGsbD9K-.js → print-runtime-instance-Dckul2Bk.js} +1 -1
  55. package/dist/{print-snapshot-renderer-DYUY1xCI.js → print-snapshot-renderer-lub7u9sp.js} +3 -3
  56. package/dist/{qrcode-design-CO631M71.js → qrcode-design-M0HzGVjM.js} +1 -1
  57. package/dist/{revo-grid.entry-B7SWMhl1.js → revo-grid.entry-Dr4S1tgO.js} +1 -1
  58. package/dist/{revogr-attribution_7.entry-BkqynH6l.js → revogr-attribution_7.entry-27u9hxgM.js} +3 -3
  59. package/dist/{revogr-clipboard_3.entry-DAHR-Vx9.js → revogr-clipboard_3.entry-DxjljgJl.js} +2 -2
  60. package/dist/{revogr-data_4.entry-CVh6lcCy.js → revogr-data_4.entry-CnSalg4D.js} +2 -2
  61. package/dist/{revogr-filter-panel.entry-BBhV4Xqa.js → revogr-filter-panel.entry-CSsekbYc.js} +1 -1
  62. package/dist/seal-design-kuAsmNq1.js +4 -0
  63. package/dist/{serialnumber-design-DxGYVdk3.js → serialnumber-design-DUiLiTSj.js} +1 -1
  64. package/dist/shared/index.es.js +25 -25
  65. package/dist/{single-field-drop-DpHqYP0Z.js → single-field-drop-CF_r0dCX.js} +2 -2
  66. package/dist/{size-editor-D0jQ3Lrf.js → size-editor-DNMqRicI.js} +1 -1
  67. package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +1 -37
  68. package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +0 -3
  69. package/dist/src/domain/table/business/preprocess/pretreatment-list/profile/field-keys.d.ts +1 -7
  70. package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/fields.d.ts +2 -0
  71. package/dist/src/domain/table/design/autofill-expander.d.ts +0 -2
  72. package/dist/src/domain/table/design/hooks/on-field-attach.d.ts +0 -6
  73. package/dist/src/domain/table/index.d.ts +1 -1
  74. package/dist/src/domain/table/types.d.ts +0 -2
  75. package/dist/src/index.d.ts +0 -8
  76. package/dist/src/nocode-base/src/core/factory/sub-table-factory.d.ts +2 -0
  77. package/dist/src/nocode-base/src/core/sub-table/allocate-table-core.d.ts +2 -1
  78. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +3 -3
  79. package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +0 -1
  80. package/dist/src/nocode-base/src/core/sub-table/utils/sterilize/field-keys.d.ts +2 -1
  81. package/dist/src/nocode-base/src/hooks/material-consume/bom-validator.d.ts +9 -7
  82. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +17 -14
  83. package/dist/src/nocode-base/src/hooks/material-consume/tmpl-bom-controller.d.ts +8 -0
  84. package/dist/src/nocode-base/src/hooks/material-consume/types.d.ts +6 -0
  85. package/dist/src/nocode-base/src/hooks/material-consume-object/initialize-autofill.d.ts +3 -1
  86. package/dist/src/nocode-base/src/hooks/render-page/initialize-runtime.d.ts +7 -3
  87. package/dist/src/nocode-base/src/hooks/render-page/types.d.ts +1 -7
  88. package/dist/src/nocode-base/src/hooks/useCalcFunction.d.ts +2 -8
  89. package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +6 -46
  90. package/dist/src/nocode-base/src/hooks/useRuntimeInstanceServices.d.ts +0 -21
  91. package/dist/src/nocode-base/src/interface/ref-loader.d.ts +1 -12
  92. package/dist/src/nocode-base/src/interface/transform.d.ts +5 -0
  93. package/dist/src/nocode-base/src/runtime/conversions/v1-runtime.d.ts +1 -1
  94. package/dist/src/nocode-base/src/runtime/formula-utils.d.ts +2 -0
  95. package/dist/src/nocode-base/src/runtime/multi-sheet-runtime.d.ts +3 -1
  96. package/dist/src/nocode-base/src/runtime/runtime-context.d.ts +4 -0
  97. package/dist/src/nocode-base/src/runtime/runtime-field-initializer.d.ts +0 -1
  98. package/dist/src/nocode-base/src/runtime/runtime-field-state.d.ts +2 -5
  99. package/dist/src/nocode-base/src/runtime/runtime-form-state-store.d.ts +6 -2
  100. package/dist/src/nocode-base/src/runtime/runtime-instance-registry.d.ts +5 -5
  101. package/dist/src/nocode-base/src/runtime/table-row-identity.d.ts +2 -0
  102. package/dist/src/nocode-base/src/types/common/base.d.ts +0 -4
  103. package/dist/src/online-form/src/components/device/device-select.vue.d.ts +1 -1
  104. package/dist/src/online-form/src/views/__cell_widgets__/cell-widget-design.vue.d.ts +1 -0
  105. package/dist/src/online-form/src/views/__cell_widgets__/common/quick-search-editor/quick-search.util.d.ts +8 -0
  106. package/dist/src/online-form/src/views/designer/constants/index.d.ts +0 -1
  107. package/dist/src/online-form/src/views/designer/conversions/normalize-paper-grid.d.ts +1 -1
  108. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +35 -124
  109. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +16 -63
  110. package/dist/src/online-form/src/views/designer/modules/base/designer-wrapper.vue.d.ts +1 -0
  111. package/dist/src/online-form/src/views/designer/modules/duplicate-field-notice.vue.d.ts +2 -0
  112. package/dist/src/online-form/src/views/designer/modules/panel/panel-data-init-config/object-init/hooks/useObjectInit.d.ts +2 -0
  113. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +12 -6
  114. package/dist/src/online-form/src/views/designer/modules/xlsx-import-summary.vue.d.ts +11 -0
  115. package/dist/src/online-form/src/views/designer/types/index.d.ts +2 -5
  116. package/dist/src/online-form/src/views/designer/types/sheets.d.ts +2 -0
  117. package/dist/src/online-form/src/views/designer/utils/cell-field-placements.d.ts +12 -0
  118. package/dist/src/online-form/src/views/designer/utils/xlsx-parser.d.ts +9 -3
  119. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-media.vue.d.ts +1 -1
  120. package/dist/src/online-form/src/views/render/__components__/_field_/seal/index.d.ts +0 -1
  121. package/dist/src/online-form/src/views/render/__components__/_field_/trace/composables/useReferenceLabel.d.ts +4 -0
  122. package/dist/src/shared/components/DoubleInput/double-input.vue.d.ts +2 -162
  123. package/dist/src/shared/components/Signature/logic/index.d.ts +0 -14
  124. package/dist/src/shared/enum/field-type.d.ts +2 -7
  125. package/dist/src/shared/utils/cell-wrap.d.ts +9 -0
  126. package/dist/src/shared/utils/field-size.d.ts +2 -0
  127. package/dist/src/shared/utils/grid-size.d.ts +2 -0
  128. package/dist/src/shared/utils/lot2sn.d.ts +14 -1
  129. package/dist/src/shared/utils/query-filter.d.ts +24 -0
  130. package/dist/{sub-table-factory-dhsoO5eF.js → sub-table-factory-D-GcNTOB.js} +112 -209
  131. package/dist/{text-design-CCJVszh9.js → text-design-BfZf4B27.js} +5 -5
  132. package/dist/{throttle-Cpk1LoGk-D7Z-44El.js → throttle-Cpk1LoGk-B4SDzSMU.js} +1 -1
  133. package/dist/{timediff-design-DE0Lb5-J.js → timediff-design-BeO94tLR.js} +1 -2
  134. package/dist/{trace-like-wrapper-u1qMVyxo.js → trace-like-wrapper-Xc4cr21n.js} +5 -3
  135. package/dist/{value-editor.vue_vue_type_style_index_0_lang-BDK70sFY.js → value-editor.vue_vue_type_style_index_0_lang-CMpVHBLK.js} +2 -3
  136. package/dist/web-render/index.es.js +3 -4
  137. package/dist/{widget-barcode-BiqBkpJf.js → widget-barcode-CrfBj8iv.js} +4 -5
  138. package/dist/{widget-diagonal-DEPOR_xL.js → widget-diagonal-C3Nho_Um.js} +3 -4
  139. package/dist/{widget-image-CT0b6oE3.js → widget-image-CjsL9QW8.js} +5 -5
  140. package/dist/{widget-line-CencIyCA.js → widget-line-BtvpVv_s.js} +2 -3
  141. package/dist/{widget-pagination-CLokA4N9.js → widget-pagination-DAUQo2nI.js} +5 -6
  142. package/dist/{widget-power-BPxteor_.js → widget-power-yUHZ4Hoc.js} +3 -4
  143. package/dist/{widget-qrcode-gYHAR233.js → widget-qrcode-DJtT9NaM.js} +3 -4
  144. package/dist/{widget-rangelimit-BJKYDkcT.js → widget-rangelimit-BhadVdCu.js} +3 -3
  145. package/dist/{widget-serialnumber-BCPB7hqo.js → widget-serialnumber-WMHB8nl6.js} +1 -1
  146. package/dist/{widget-text-D_CGo-mQ.js → widget-text-C4dD9JF3.js} +5 -5
  147. package/dist/{widget-timediff-cBekBImJ.js → widget-timediff-C9d8_3hY.js} +2 -3
  148. package/package.json +2 -2
  149. package/dist/paper-widget-design-OVR0zocz.js +0 -4
  150. package/dist/seal-design-BnXd0buM.js +0 -4
  151. package/dist/src/domain/document-business/business/product-release/profile.d.ts +0 -2
  152. package/dist/src/domain/document-business/business/product-release/service.d.ts +0 -2
  153. package/dist/src/domain/document-business/index.d.ts +0 -2
  154. package/dist/src/domain/document-business/registry.d.ts +0 -2
  155. package/dist/src/domain/document-business/runtime/field-query-runtime.d.ts +0 -4
  156. package/dist/src/domain/document-business/types.d.ts +0 -24
  157. package/dist/src/domain/field/number/product-release-qty-manifest.d.ts +0 -2
  158. package/dist/src/domain/field/query-filter.d.ts +0 -15
  159. package/dist/src/domain/table/business/material/material-substitution/runtime/select-loaders.d.ts +0 -8
  160. package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/field-keys.d.ts +0 -2
  161. package/dist/src/domain/table/business/warehouse/shared/autofill-source-labels.d.ts +0 -19
  162. package/dist/src/nocode-base/src/hooks/formula-params-cache.d.ts +0 -15
  163. package/dist/src/nocode-base/src/hooks/inspection-module-qty.d.ts +0 -4
  164. package/dist/src/nocode-base/src/hooks/render-page/runtime-data-sources.d.ts +0 -45
  165. package/dist/src/nocode-base/src/hooks/render-page/sterilization-date.d.ts +0 -3
  166. package/dist/src/online-form/src/views/designer/utils/placed-fields.d.ts +0 -9
  167. package/dist/src/online-form/src/views/designer/utils/template-placed-fields.d.ts +0 -7
  168. package/dist/src/shared/components/LimitedNumberInput/limited-number-input.vue.d.ts +0 -41
  169. package/dist/src/shared/components/LimitedNumberInput/number-input-rules.d.ts +0 -16
  170. package/dist/src/shared/utils/withRequestCache.d.ts +0 -27
@@ -1,6 +1,6 @@
1
- import { has, isEmpty, keyBy, pick, isNil, mapKeys, cloneDeep, flatMap, omit, merge, pickBy, isObject as isObject$1, defaults, groupBy, omitBy, isEqual, get as get$1, last, first } from "lodash-es";
1
+ import { has, keyBy, pick, isNil, isEmpty, mapKeys, cloneDeep, flatMap, omit, merge, pickBy, isObject as isObject$1, omitBy, defaults, groupBy, isEqual, get as get$1, last, first } from "lodash-es";
2
2
  import dayjs from "dayjs";
3
- import { computed, defineComponent, ref, onMounted, openBlock, createBlock, Transition, withCtx, withDirectives, createElementVNode, normalizeClass, normalizeStyle, toDisplayString, vShow, createVNode, render as render$1, toRaw, inject, defineAsyncComponent, getCurrentInstance, h as h$1 } from "vue";
3
+ import { computed, toRaw, defineComponent, ref, onMounted, openBlock, createBlock, Transition, withCtx, withDirectives, createElementVNode, normalizeClass, normalizeStyle, toDisplayString, vShow, createVNode, render as render$1, inject, defineAsyncComponent, getCurrentInstance, h as h$1 } from "vue";
4
4
  import { api as api$1 } from "@gct-paas/api";
5
5
  var PlatformEnum = /* @__PURE__ */ ((PlatformEnum2) => {
6
6
  PlatformEnum2["INTEGRATION_PAAS_DP"] = "INTEGRATION_PAAS_DP";
@@ -642,7 +642,6 @@ var FIELD_TYPE = /* @__PURE__ */ ((FIELD_TYPE2) => {
642
642
  FIELD_TYPE2["SCRAP_MATERIAL_NO"] = "scrap_material_no";
643
643
  FIELD_TYPE2["DESTRUCTIVE_TEST_QTY"] = "destructive_test_qty";
644
644
  FIELD_TYPE2["PRODUCT_CHECK_QTY"] = "product_check_qty";
645
- FIELD_TYPE2["PRODUCT_RELEASE_QTY"] = "product_release_qty";
646
645
  FIELD_TYPE2["MATERIAL_CHECK_QTY"] = "material_check_qty";
647
646
  FIELD_TYPE2["INSPECTION_QTY"] = "inspection_qty";
648
647
  FIELD_TYPE2["INSPECTION_MODULE_QTY"] = "inspection_module_qty";
@@ -743,7 +742,6 @@ const BUSINESS_FIELD_TYPES = [
743
742
  "scrap_material_no",
744
743
  "destructive_test_qty",
745
744
  "product_check_qty",
746
- "product_release_qty",
747
745
  "material_check_qty",
748
746
  "inspection_qty",
749
747
  "inspection_module_qty",
@@ -1062,10 +1060,6 @@ const FieldTypeToJs = {
1062
1060
  "product_check_qty"
1063
1061
  /* PRODUCT_CHECK_QTY */
1064
1062
  ]: "number",
1065
- [
1066
- "product_release_qty"
1067
- /* PRODUCT_RELEASE_QTY */
1068
- ]: "number",
1069
1063
  [
1070
1064
  "material_check_qty"
1071
1065
  /* MATERIAL_CHECK_QTY */
@@ -1471,10 +1465,6 @@ const FieldIconMap = {
1471
1465
  "product_check_qty"
1472
1466
  /* PRODUCT_CHECK_QTY */
1473
1467
  ]: "icon-icon_chanpinjianyanshuliang",
1474
- [
1475
- "product_release_qty"
1476
- /* PRODUCT_RELEASE_QTY */
1477
- ]: "icon-xiaoshu",
1478
1468
  [
1479
1469
  "material_check_qty"
1480
1470
  /* MATERIAL_CHECK_QTY */
@@ -1530,7 +1520,7 @@ const FieldIconMap = {
1530
1520
  [
1531
1521
  "object_type"
1532
1522
  /* OBJECT_TYPE */
1533
- ]: "icon-duixiang",
1523
+ ]: "icon-duixiang bd-iconfont",
1534
1524
  [
1535
1525
  "material_consume"
1536
1526
  /* MATERIAL_CONSUME */
@@ -1962,7 +1952,7 @@ const PRODUCT_QUICK_SEARCH_FIELDS = [
1962
1952
  "spec_.like"
1963
1953
  ];
1964
1954
  const PRODUCT_QUICK_SEARCH_EXP = `OR(${PRODUCT_QUICK_SEARCH_FIELDS.join(",")})`;
1965
- const fields$f = [
1955
+ const fields$g = [
1966
1956
  {
1967
1957
  match: { fieldKey: F$c.product },
1968
1958
  defaultProps: {
@@ -1976,17 +1966,14 @@ const fields$f = [
1976
1966
  autofillTemplates: [
1977
1967
  {
1978
1968
  fromField: "name_",
1979
- fromFieldLabel: "物料名称",
1980
1969
  toField: ({ sourceFieldKey }) => `${normalizeRefFieldKey(sourceFieldKey)}_name_`
1981
1970
  },
1982
1971
  {
1983
1972
  fromField: "code_",
1984
- fromFieldLabel: "物料编码",
1985
1973
  toField: ({ sourceFieldKey }) => `${normalizeRefFieldKey(sourceFieldKey)}_code_`
1986
1974
  },
1987
1975
  {
1988
1976
  fromField: "spec_",
1989
- fromFieldLabel: "物料规格",
1990
1977
  toField: ({ sourceFieldKey }) => `${normalizeRefFieldKey(sourceFieldKey)}_spec_`
1991
1978
  }
1992
1979
  ]
@@ -2023,7 +2010,7 @@ const profile$h = {
2023
2010
  refModelType: "WAREHOUSE_IN",
2024
2011
  tableType: SubTableType.WAREHOUSE_IN
2025
2012
  },
2026
- fields: fields$f,
2013
+ fields: fields$g,
2027
2014
  contextAssignments: [
2028
2015
  { when: "onRowInit", fieldKey: F$c.warehouse, paramKey: "warehouseId", onlyIfEmpty: true },
2029
2016
  { when: "onRowInit", fieldKey: F$c.mfgOrder, paramKey: "mfgOrderId", onlyIfEmpty: true },
@@ -2140,7 +2127,7 @@ const FILL_FROM_INVENTORY_OPTION$4 = [
2140
2127
  { optionField: "validate_", toField: F$b.validity },
2141
2128
  { optionField: "re_inspection_date_", toField: F$b.reInspectionDate }
2142
2129
  ];
2143
- const fields$e = [
2130
+ const fields$f = [
2144
2131
  {
2145
2132
  match: { fieldKey: [...DISABLED_INPUT_FIELDS$8] },
2146
2133
  defaultProps: {
@@ -2173,7 +2160,7 @@ const profile$g = {
2173
2160
  refModelType: "WAREHOUSE_OUT",
2174
2161
  tableType: SubTableType.WAREHOUSE_OUT
2175
2162
  },
2176
- fields: fields$e,
2163
+ fields: fields$f,
2177
2164
  contextAssignments: [
2178
2165
  { when: "onRowInit", fieldKey: F$b.warehouse, paramKey: "warehouseId", onlyIfEmpty: true },
2179
2166
  { when: "onRowInit", fieldKey: F$b.mfgOrder, paramKey: "mfgOrderId", onlyIfEmpty: true },
@@ -2204,24 +2191,6 @@ function handleProductIdChange$3(ctx) {
2204
2191
  registerRowHandler(TABLE_TYPE$f, "on-product-id-change", ({ rowData }) => {
2205
2192
  handleProductIdChange$3({ rowData });
2206
2193
  });
2207
- const PART_OPTION_FIELD_LABELS = {
2208
- part_name_: "备件名称",
2209
- part_code_: "备件编码",
2210
- specification_: "备件规格",
2211
- unit_: "数量单位"
2212
- };
2213
- const INVENTORY_OPTION_FIELD_LABELS = {
2214
- id_: "库存记录",
2215
- part_id_name_: "备件名称",
2216
- part_id_code_: "备件编码",
2217
- part_id_spec_: "备件规格",
2218
- warehouse_id_: "仓库",
2219
- storage_zone_id_: "库区",
2220
- location_id_: "库位",
2221
- uom_id_: "数量单位",
2222
- validate_: "有效期",
2223
- stock_num_: "库存数量"
2224
- };
2225
2194
  const F$a = {
2226
2195
  /** 备件 */
2227
2196
  part: "part_id_",
@@ -2255,7 +2224,7 @@ const FILL_FROM_PART_OPTION = [
2255
2224
  { optionField: "unit_", toField: F$a.qtyUom }
2256
2225
  ];
2257
2226
  const PART_QUICK_SEARCH_FIELDS = ["part_code_.iLike", "part_name_.iLike"];
2258
- const fields$d = [
2227
+ const fields$e = [
2259
2228
  {
2260
2229
  match: { fieldKey: F$a.part },
2261
2230
  defaultProps: {
@@ -2264,7 +2233,6 @@ const fields$d = [
2264
2233
  },
2265
2234
  autofillTemplates: FILL_FROM_PART_OPTION.map(({ optionField, toField }) => ({
2266
2235
  fromField: optionField,
2267
- fromFieldLabel: PART_OPTION_FIELD_LABELS[optionField],
2268
2236
  toField
2269
2237
  }))
2270
2238
  },
@@ -2302,7 +2270,7 @@ const profile$f = {
2302
2270
  refModelType: "WAREHOUSE_INBOUND",
2303
2271
  tableType: SubTableType.WAREHOUSE_INBOUND
2304
2272
  },
2305
- fields: fields$d,
2273
+ fields: fields$e,
2306
2274
  contextAssignments: [
2307
2275
  { when: "onRowInit", fieldKey: F$a.warehouse, paramKey: "warehouseId", onlyIfEmpty: true }
2308
2276
  ],
@@ -2389,12 +2357,11 @@ const FILL_FROM_INVENTORY_OPTION$3 = [
2389
2357
  { optionField: "uom_id_", toField: F$9.qtyUom },
2390
2358
  { optionField: "validate_", toField: F$9.validity }
2391
2359
  ];
2392
- const fields$c = [
2360
+ const fields$d = [
2393
2361
  {
2394
2362
  match: { fieldKey: F$9.part },
2395
2363
  autofillTemplates: FILL_FROM_INVENTORY_OPTION$3.map(({ optionField, toField }) => ({
2396
2364
  fromField: optionField,
2397
- fromFieldLabel: INVENTORY_OPTION_FIELD_LABELS[optionField],
2398
2365
  toField
2399
2366
  }))
2400
2367
  },
@@ -2432,7 +2399,7 @@ const profile$e = {
2432
2399
  refModelType: "WAREHOUSE_OUTBOUND",
2433
2400
  tableType: SubTableType.WAREHOUSE_OUTBOUND
2434
2401
  },
2435
- fields: fields$c,
2402
+ fields: fields$d,
2436
2403
  rowHandlers: [{ when: "onFieldChange", watch: [F$9.part], handler: "on-part-id-change" }],
2437
2404
  runtimeRules: [
2438
2405
  {
@@ -2574,7 +2541,7 @@ const INVENTORY_BASE_FIELDS = [
2574
2541
  F$8.productSpec,
2575
2542
  F$8.warehouse
2576
2543
  ];
2577
- const fields$b = [
2544
+ const fields$c = [
2578
2545
  {
2579
2546
  match: { fieldKey: [...DESIGN_DISABLED_INPUT_FIELDS] },
2580
2547
  defaultProps: {
@@ -2629,7 +2596,7 @@ const profile$d = {
2629
2596
  /** 默认按库位精细 */
2630
2597
  stocktakeDimension: STOCKTAKE_DIMENSION.locationDetail
2631
2598
  },
2632
- fields: fields$b,
2599
+ fields: fields$c,
2633
2600
  contextAssignments: [
2634
2601
  { when: "onRowInit", fieldKey: F$8.warehouse, paramKey: "warehouseId", onlyIfEmpty: true }
2635
2602
  ],
@@ -2819,12 +2786,11 @@ const FILL_FROM_INVENTORY_OPTION$2 = [
2819
2786
  { optionField: "stock_num_", toField: F$7.stock },
2820
2787
  { optionField: "uom_id_", toField: F$7.qtyUom }
2821
2788
  ];
2822
- const fields$a = [
2789
+ const fields$b = [
2823
2790
  {
2824
2791
  match: { fieldKey: F$7.part },
2825
2792
  autofillTemplates: FILL_FROM_INVENTORY_OPTION$2.map(({ optionField, toField }) => ({
2826
2793
  fromField: optionField,
2827
- fromFieldLabel: INVENTORY_OPTION_FIELD_LABELS[optionField],
2828
2794
  toField
2829
2795
  }))
2830
2796
  },
@@ -2861,7 +2827,7 @@ const profile$c = {
2861
2827
  refModelType: "PART_STOCKTAKE",
2862
2828
  tableType: SubTableType.PART_STOCKTAKE
2863
2829
  },
2864
- fields: fields$a,
2830
+ fields: fields$b,
2865
2831
  rowHandlers: [
2866
2832
  { when: "onFieldChange", watch: [F$7.part], handler: "on-part-id-change" },
2867
2833
  {
@@ -2986,12 +2952,11 @@ const FILL_FROM_INVENTORY_OPTION$1 = [
2986
2952
  { optionField: "storage_zone_id_", toField: F$6.storageZone },
2987
2953
  { optionField: "location_id_", toField: F$6.location }
2988
2954
  ];
2989
- const fields$9 = [
2955
+ const fields$a = [
2990
2956
  {
2991
2957
  match: { fieldKey: F$6.part },
2992
2958
  autofillTemplates: FILL_FROM_INVENTORY_OPTION$1.map(({ optionField, toField }) => ({
2993
2959
  fromField: optionField,
2994
- fromFieldLabel: INVENTORY_OPTION_FIELD_LABELS[optionField],
2995
2960
  toField
2996
2961
  }))
2997
2962
  },
@@ -3028,7 +2993,7 @@ const profile$b = {
3028
2993
  refModelType: "DEVICE_PART_CONSUME",
3029
2994
  tableType: SubTableType.DEVICE_PART_CONSUME
3030
2995
  },
3031
- fields: fields$9,
2996
+ fields: fields$a,
3032
2997
  rowHandlers: [{ when: "onFieldChange", watch: [F$6.part], handler: "on-part-id-change" }],
3033
2998
  runtimeRules: [
3034
2999
  {
@@ -3134,7 +3099,7 @@ const FILL_FROM_INVENTORY_OPTION = [
3134
3099
  { optionField: "validate_", toField: F$5.validity },
3135
3100
  { optionField: "re_inspection_date_", toField: F$5.reInspectionDate }
3136
3101
  ];
3137
- const fields$8 = [
3102
+ const fields$9 = [
3138
3103
  {
3139
3104
  match: { fieldKey: [...DISABLED_INPUT_FIELDS$3] },
3140
3105
  defaultProps: {
@@ -3167,7 +3132,7 @@ const profile$a = {
3167
3132
  refModelType: "ALLOCATE",
3168
3133
  tableType: SubTableType.ALLOCATE
3169
3134
  },
3170
- fields: fields$8,
3135
+ fields: fields$9,
3171
3136
  contextAssignments: [
3172
3137
  { when: "onRowInit", fieldKey: F$5.originWarehouse, paramKey: "warehouseId", onlyIfEmpty: true },
3173
3138
  { when: "onRowInit", fieldKey: F$5.mfgOrder, paramKey: "mfgOrderId", onlyIfEmpty: true },
@@ -3198,7 +3163,7 @@ function handleProductIdChange$1(ctx) {
3198
3163
  registerRowHandler(TABLE_TYPE$9, "on-product-id-change", ({ rowData }) => {
3199
3164
  handleProductIdChange$1({ rowData });
3200
3165
  });
3201
- const fields$7 = [
3166
+ const fields$8 = [
3202
3167
  {
3203
3168
  match: { fieldKey: ["qty_", "qty_required_"] },
3204
3169
  defaultProps: {
@@ -3223,14 +3188,14 @@ const profile$9 = {
3223
3188
  refModelType: "MATERIAL_CONSUME",
3224
3189
  tableType: SubTableType.MATERIAL_CONSUMPTION
3225
3190
  },
3226
- fields: fields$7,
3191
+ fields: fields$8,
3227
3192
  theme: {
3228
3193
  color: "#4891B3",
3229
3194
  background: "rgba(72,145,179,0.2)",
3230
3195
  labelBjColor: "rgba(72,145,179,0.8)"
3231
3196
  }
3232
3197
  };
3233
- const fields$6 = [
3198
+ const fields$7 = [
3234
3199
  {
3235
3200
  match: {
3236
3201
  fieldKey: ["amount_received_qty_", "actual_output_qty_", "loss_amount_qty_", "consume_qty_"]
@@ -3240,6 +3205,14 @@ const fields$6 = [
3240
3205
  minValidateMode: RangeValidateMode.Fixed_Number,
3241
3206
  minValue: 0
3242
3207
  }
3208
+ },
3209
+ {
3210
+ match: { fieldKey: ["material_id_", "material_balance_percent_"] },
3211
+ defaultProps: {
3212
+ disabled: true,
3213
+ fieldDisabled: true,
3214
+ required: false
3215
+ }
3243
3216
  }
3244
3217
  ];
3245
3218
  const TABLE_TYPE$7 = "material-balance";
@@ -3257,7 +3230,7 @@ const profile$8 = {
3257
3230
  refModelType: "MATERIAL_BALANCE",
3258
3231
  tableType: SubTableType.MATERIAL_BALANCE
3259
3232
  },
3260
- fields: fields$6,
3233
+ fields: fields$7,
3261
3234
  theme: {
3262
3235
  color: "#6FB38B",
3263
3236
  background: "rgba(111,179,139,0.2)",
@@ -3282,23 +3255,20 @@ const F$4 = {
3282
3255
  };
3283
3256
  const DISABLED_INPUT_FIELDS$2 = [F$4.productName, F$4.productCode, F$4.productSpec];
3284
3257
  const CLEAR_ON_PRODUCT_EMPTY$1 = [F$4.productName, F$4.productCode, F$4.productSpec];
3285
- const fields$5 = [
3258
+ const fields$6 = [
3286
3259
  {
3287
3260
  match: { fieldKey: F$4.product },
3288
3261
  autofillTemplates: [
3289
3262
  {
3290
3263
  fromField: "name_",
3291
- fromFieldLabel: "物料名称",
3292
3264
  toField: ({ sourceFieldKey }) => `${normalizeRefFieldKey(sourceFieldKey)}_name_`
3293
3265
  },
3294
3266
  {
3295
3267
  fromField: "code_",
3296
- fromFieldLabel: "物料编码",
3297
3268
  toField: ({ sourceFieldKey }) => `${normalizeRefFieldKey(sourceFieldKey)}_code_`
3298
3269
  },
3299
3270
  {
3300
3271
  fromField: "spec_",
3301
- fromFieldLabel: "物料规格",
3302
3272
  toField: ({ sourceFieldKey }) => `${normalizeRefFieldKey(sourceFieldKey)}_spec_`
3303
3273
  }
3304
3274
  ]
@@ -3335,7 +3305,7 @@ const profile$7 = {
3335
3305
  refModelType: "MATERIAL_REQUISITION",
3336
3306
  tableType: SubTableType.MATERIAL_REQUISITION
3337
3307
  },
3338
- fields: fields$5,
3308
+ fields: fields$6,
3339
3309
  contextAssignments: [
3340
3310
  { when: "onRowInit", fieldKey: F$4.mfgOrder, paramKey: "mfgOrderId", onlyIfEmpty: true },
3341
3311
  { when: "onRowInit", fieldKey: F$4.lotSn, paramKey: "lotSnId", onlyIfEmpty: true }
@@ -3390,12 +3360,8 @@ const F$3 = {
3390
3360
  targetMaterialNo: "target_material_no_",
3391
3361
  /** 替换物料批号 ID */
3392
3362
  targetMaterialNoId: "target_material_no__id_",
3393
- /** 替换物料批号展示值 */
3394
- targetMaterialNoLb: "target_material_no__lb_",
3395
3363
  /** 替换物料 */
3396
3364
  targetProduct: "target_product_id_",
3397
- /** 替换物料展示值 */
3398
- targetProductLb: "target_product_id__lb_",
3399
3365
  /** 替换物料名称 */
3400
3366
  targetProductName: "target_product_id_name_",
3401
3367
  /** 替换物料编码 */
@@ -3425,24 +3391,21 @@ const CLEAR_ON_SOURCE_PRODUCT_EMPTY = [
3425
3391
  F$3.sourceQtyConsumed
3426
3392
  ];
3427
3393
  const CLEAR_ON_TARGET_MATERIAL_NO_EMPTY = [
3428
- F$3.targetProduct,
3429
- F$3.targetProductLb,
3430
3394
  F$3.targetProductName,
3431
3395
  F$3.targetProductCode,
3432
3396
  F$3.targetProductSpec
3433
3397
  ];
3434
3398
  const FILL_FROM_SOURCE_PRODUCT_OPTION = [
3435
- { optionField: "material_name_", toField: F$3.sourceMaterialNo, name: "物料批号" },
3436
- { optionField: "product_id_.name_", toField: F$3.sourceProductName, name: "物料名称" },
3437
- { optionField: "product_id_.code_", toField: F$3.sourceProductCode, name: "物料编码" },
3438
- { optionField: "product_id_.spec_", toField: F$3.sourceProductSpec, name: "物料规格" },
3439
- { optionField: "qty_consumed_", toField: F$3.sourceQtyConsumed, name: "已消耗数量" }
3399
+ { optionField: "material_name_", toField: F$3.sourceMaterialNo },
3400
+ { optionField: "product_id_.name_", toField: F$3.sourceProductName },
3401
+ { optionField: "product_id_.code_", toField: F$3.sourceProductCode },
3402
+ { optionField: "product_id_.spec_", toField: F$3.sourceProductSpec },
3403
+ { optionField: "qty_consumed_", toField: F$3.sourceQtyConsumed }
3440
3404
  ];
3441
3405
  const FILL_FROM_TARGET_MATERIAL_NO_OPTION = [
3442
- { optionField: "product_id_", toField: F$3.targetProduct, name: "物料" },
3443
- { optionField: "product_id_name_", toField: F$3.targetProductName, name: "物料名称" },
3444
- { optionField: "product_id_code_", toField: F$3.targetProductCode, name: "物料编码" },
3445
- { optionField: "product_id_spec_", toField: F$3.targetProductSpec, name: "物料规格" }
3406
+ { optionField: "product_id_name_", toField: F$3.targetProductName },
3407
+ { optionField: "product_id_code_", toField: F$3.targetProductCode },
3408
+ { optionField: "product_id_spec_", toField: F$3.targetProductSpec }
3446
3409
  ];
3447
3410
  const SCAN_ROW_CONTENT_FIELDS = [
3448
3411
  F$3.sourceMaterialNo,
@@ -3450,49 +3413,21 @@ const SCAN_ROW_CONTENT_FIELDS = [
3450
3413
  F$3.targetMaterialNo,
3451
3414
  F$3.targetProduct
3452
3415
  ];
3453
- const FILL_FROM_TARGET_PRODUCT_OPTION = [
3454
- { optionField: "name_", toField: F$3.targetMaterialNo, name: "物料批号" },
3455
- { optionField: "product_id_name_", toField: F$3.targetProductName, name: "物料名称" },
3456
- { optionField: "product_id_code_", toField: F$3.targetProductCode, name: "物料编码" },
3457
- { optionField: "product_id_spec_", toField: F$3.targetProductSpec, name: "物料规格" }
3458
- ];
3459
- const CLEAR_ON_TARGET_PRODUCT_EMPTY = [
3460
- F$3.targetProductLb,
3461
- F$3.targetMaterialNo,
3462
- F$3.targetMaterialNoId,
3463
- F$3.targetMaterialNoLb,
3464
- F$3.targetProductName,
3465
- F$3.targetProductCode,
3466
- F$3.targetProductSpec,
3467
- F$3.targetQtyConsumed
3468
- ];
3469
- const fields$4 = [
3416
+ const fields$5 = [
3470
3417
  {
3471
- match: { fieldKey: F$3.targetProduct },
3472
- autofillTemplates: FILL_FROM_TARGET_PRODUCT_OPTION.map(({ optionField, toField, name: name2 }) => ({
3418
+ match: { fieldKey: F$3.sourceProduct },
3419
+ autofillTemplates: FILL_FROM_SOURCE_PRODUCT_OPTION.map(({ optionField, toField }) => ({
3473
3420
  fromField: optionField,
3474
- fromFieldLabel: name2,
3475
3421
  toField
3476
3422
  }))
3477
3423
  },
3478
3424
  {
3479
- match: { fieldKey: F$3.sourceProduct },
3480
- autofillTemplates: FILL_FROM_SOURCE_PRODUCT_OPTION.map(({ optionField, toField, name: name2 }) => ({
3425
+ match: { fieldKey: F$3.targetMaterialNo },
3426
+ autofillTemplates: FILL_FROM_TARGET_MATERIAL_NO_OPTION.map(({ optionField, toField }) => ({
3481
3427
  fromField: optionField,
3482
- fromFieldLabel: name2,
3483
3428
  toField
3484
3429
  }))
3485
3430
  },
3486
- {
3487
- match: { fieldKey: F$3.targetMaterialNo },
3488
- autofillTemplates: FILL_FROM_TARGET_MATERIAL_NO_OPTION.map(
3489
- ({ optionField, toField, name: name2 }) => ({
3490
- fromField: optionField,
3491
- fromFieldLabel: name2,
3492
- toField
3493
- })
3494
- )
3495
- },
3496
3431
  {
3497
3432
  match: { fieldKey: F$3.sourceQtyConsumed },
3498
3433
  defaultProps: {
@@ -3537,13 +3472,8 @@ const profile$6 = {
3537
3472
  refModelType: "MATERIAL_SUBSTITUTION",
3538
3473
  tableType: SubTableType.MATERIAL_SUBSTITUTION
3539
3474
  },
3540
- fields: fields$4,
3475
+ fields: fields$5,
3541
3476
  rowHandlers: [
3542
- {
3543
- when: "onFieldChange",
3544
- watch: [F$3.targetProduct],
3545
- handler: "on-target-product-change"
3546
- },
3547
3477
  {
3548
3478
  when: "onFieldChange",
3549
3479
  watch: [F$3.sourceProduct],
@@ -3584,13 +3514,6 @@ function handleTargetMaterialNoChange(ctx) {
3584
3514
  return;
3585
3515
  }
3586
3516
  clearFields$1(ctx.rowData, CLEAR_ON_TARGET_MATERIAL_NO_EMPTY);
3587
- if (isBlank$3(ctx.rowData[F$3.targetMaterialNo])) {
3588
- clearFields$1(ctx.rowData, [F$3.targetMaterialNoId, F$3.targetMaterialNoLb]);
3589
- }
3590
- }
3591
- function handleTargetProductChange(ctx) {
3592
- if (!isBlank$3(ctx.rowData[F$3.targetProduct])) return;
3593
- clearFields$1(ctx.rowData, CLEAR_ON_TARGET_PRODUCT_EMPTY);
3594
3517
  }
3595
3518
  registerRowHandler(TABLE_TYPE$5, "on-source-product-change", ({ rowData }) => {
3596
3519
  handleSourceProductChange({ rowData });
@@ -3598,9 +3521,6 @@ registerRowHandler(TABLE_TYPE$5, "on-source-product-change", ({ rowData }) => {
3598
3521
  registerRowHandler(TABLE_TYPE$5, "on-target-material-no-change", ({ rowData }) => {
3599
3522
  handleTargetMaterialNoChange({ rowData });
3600
3523
  });
3601
- registerRowHandler(TABLE_TYPE$5, "on-target-product-change", ({ rowData }) => {
3602
- handleTargetProductChange({ rowData });
3603
- });
3604
3524
  const F$2 = {
3605
3525
  /** 点检日期 */
3606
3526
  inspectionDate: "inspection_date_",
@@ -3609,7 +3529,7 @@ const F$2 = {
3609
3529
  /** 复核人 */
3610
3530
  reviewer: "reviewer_"
3611
3531
  };
3612
- const fields$3 = [
3532
+ const fields$4 = [
3613
3533
  {
3614
3534
  match: { fieldKey: F$2.inspectionDate },
3615
3535
  defaultProps: {
@@ -3644,7 +3564,7 @@ const profile$5 = {
3644
3564
  refModelType: onlineFormMasterModelTypeEnum.POINT_INSPECTION,
3645
3565
  tableType: SubTableType.FIXED
3646
3566
  },
3647
- fields: fields$3
3567
+ fields: fields$4
3648
3568
  };
3649
3569
  const F$1 = {
3650
3570
  /** 点检日期 */
@@ -3654,7 +3574,7 @@ const F$1 = {
3654
3574
  /** 复核人 */
3655
3575
  reviewer: "reviewer_"
3656
3576
  };
3657
- const fields$2 = [
3577
+ const fields$3 = [
3658
3578
  {
3659
3579
  match: { fieldKey: F$1.inspectionDate },
3660
3580
  defaultProps: {
@@ -3689,21 +3609,40 @@ const profile$4 = {
3689
3609
  refModelType: onlineFormMasterModelTypeEnum.MAINTENANCE,
3690
3610
  tableType: SubTableType.FIXED
3691
3611
  },
3692
- fields: fields$2
3612
+ fields: fields$3
3693
3613
  };
3694
- const LOCKED_INPUT_FIELDS = [
3695
- "product_id_",
3696
- "product_id_name_",
3697
- "product_id_code_",
3698
- "product_id_spec_",
3699
- "mfg_order_code_",
3700
- "mfg_order_id_"
3614
+ const fields$2 = [
3615
+ {
3616
+ match: { fieldKey: "qty_" },
3617
+ defaultProps: {
3618
+ enableRangeValidate: true,
3619
+ minValidateMode: RangeValidateMode.Fixed_Number,
3620
+ minValue: 0
3621
+ }
3622
+ },
3623
+ {
3624
+ match: {
3625
+ fieldKey: [
3626
+ "product_id_",
3627
+ "product_id_name_",
3628
+ "product_id_code_",
3629
+ "product_id_spec_",
3630
+ "mfg_order_id_",
3631
+ "mfg_order_code_"
3632
+ ]
3633
+ },
3634
+ defaultProps: {
3635
+ disabled: true,
3636
+ fieldDisabled: true,
3637
+ required: false
3638
+ }
3639
+ }
3701
3640
  ];
3702
3641
  const TABLE_TYPE$2 = "entrust-steril-batch-list";
3703
3642
  const profile$3 = {
3704
3643
  type: TABLE_TYPE$2,
3705
- label: "生产批次灭菌表",
3706
- labelKey: "dhr.pageDesigner.fieldCmp.sterilize_batch",
3644
+ label: "委托灭菌生产批次表",
3645
+ labelKey: "sys.onlineForm.subTableType.STERILIZE_BATCH",
3707
3646
  category: "business",
3708
3647
  ribbonAction: "entrust-steril-batch-list",
3709
3648
  ribbonGroup: "灭菌",
@@ -3715,20 +3654,7 @@ const profile$3 = {
3715
3654
  refModelType: "PRODUCTION_CONTAINER_LIST_4_STERILIZATION",
3716
3655
  tableType: SubTableType.STERILIZE_BATCH
3717
3656
  },
3718
- fields: [
3719
- {
3720
- match: { fieldKey: "qty_" },
3721
- defaultProps: {
3722
- enableRangeValidate: true,
3723
- minValidateMode: RangeValidateMode.Fixed_Number,
3724
- minValue: 0
3725
- }
3726
- },
3727
- {
3728
- match: { fieldKey: [...LOCKED_INPUT_FIELDS] },
3729
- defaultProps: { required: true, disabled: true, fieldDisabled: true }
3730
- }
3731
- ],
3657
+ fields: fields$2,
3732
3658
  theme: {
3733
3659
  color: "#2196D5",
3734
3660
  background: "rgba(33,150,213,0.2)",
@@ -3815,7 +3741,6 @@ const FILL_FROM_CONTAINER_OPTION = [
3815
3741
  { optionField: F.productName, toField: F.productName },
3816
3742
  { optionField: F.productCode, toField: F.productCode },
3817
3743
  { optionField: F.productSpec, toField: F.productSpec },
3818
- { optionField: F.mfgOrder, toField: F.mfgOrder },
3819
3744
  { optionField: F.mfgOrderCode, toField: F.mfgOrderCode },
3820
3745
  { optionField: "real_start_date_", toField: F.productionDate },
3821
3746
  { optionField: F.qty, toField: F.qty }
@@ -3894,11 +3819,11 @@ const fields$1 = [
3894
3819
  const TABLE_TYPE$1 = "pretreatment-list";
3895
3820
  const profile$2 = {
3896
3821
  type: TABLE_TYPE$1,
3897
- label: "产前表",
3898
- labelKey: "dhr.pageDesigner.fieldCmp.pretreatment_list",
3822
+ label: "预处理表",
3823
+ labelKey: "sys.onlineForm.subTableType.PRETREATMENT_LIST",
3899
3824
  category: "business",
3900
3825
  ribbonAction: "pretreatment-list",
3901
- ribbonGroup: "产前",
3826
+ ribbonGroup: "预处理",
3902
3827
  icon: "pretreatment-list",
3903
3828
  enabled: true,
3904
3829
  seedTableKeyOnCreate: true,
@@ -4238,7 +4163,241 @@ function resolveDesignPanelFeatures(tableType) {
4238
4163
  showConfigSection
4239
4164
  };
4240
4165
  }
4241
- const manifest$1h = {
4166
+ const uuid2 = (len, radix) => {
4167
+ const chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");
4168
+ let uuid = [], i2;
4169
+ radix = radix || chars.length;
4170
+ if (len) {
4171
+ for (i2 = 0; i2 < len; i2++) uuid[i2] = chars[0 | Math.random() * radix];
4172
+ } else {
4173
+ let r;
4174
+ uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-";
4175
+ uuid[14] = "4";
4176
+ for (i2 = 0; i2 < 36; i2++) {
4177
+ if (!uuid[i2]) {
4178
+ r = 0 | Math.random() * 16;
4179
+ uuid[i2] = chars[i2 == 19 ? r & 3 | 8 : r];
4180
+ }
4181
+ }
4182
+ }
4183
+ return uuid.join("");
4184
+ };
4185
+ const normalizeToArray = (val) => Array.isArray(val) ? val.filter((v) => !isNil(v)) : !isNil(val) ? [val] : [];
4186
+ const safeParseArray = (str) => {
4187
+ try {
4188
+ if (!str) return [];
4189
+ const v = JSON.parse(str);
4190
+ return Array.isArray(v) ? v : [];
4191
+ } catch {
4192
+ return [];
4193
+ }
4194
+ };
4195
+ const mergeByMultiKey = (A, B, {
4196
+ keyFields = ["type", "isCustom"],
4197
+ fieldsToMerge = ["alias", "enable"],
4198
+ isAllowMerge = true,
4199
+ isConcat = false
4200
+ } = {}) => {
4201
+ if (!Array.isArray(A)) return [];
4202
+ if (!isAllowMerge || !Array.isArray(B) || B.length === 0) return [...A];
4203
+ if (isConcat && Array.isArray(A) && A.length === 0) return [...B];
4204
+ const keyFn = (item) => keyFields.map((k) => {
4205
+ const v = item?.[k];
4206
+ if (typeof v === "boolean") return String(v);
4207
+ return v == null ? "" : String(v);
4208
+ }).join("::");
4209
+ const bMap = keyBy(B, keyFn);
4210
+ const result = A.map((a) => {
4211
+ const info = bMap[keyFn(a)];
4212
+ return info ? { ...a, ...pick(info, fieldsToMerge) } : { ...a };
4213
+ });
4214
+ return result;
4215
+ };
4216
+ const CLIENT_ROW_UID_KEY = "__gct_rv_uid";
4217
+ const FRONT_ROW_KEY = "front_row_key_";
4218
+ function ensureFrontRowKey(row) {
4219
+ if (!row) return "";
4220
+ const existing = row[FRONT_ROW_KEY];
4221
+ if (existing != null && String(existing).trim() !== "") return String(existing);
4222
+ const uid = Array.isArray(row._2DTABLE_) && row.group_ != null && String(row.group_).trim() !== "" ? `group:${row.group_}` : `r_${Date.now()}_${uuid2(8)}`;
4223
+ row[FRONT_ROW_KEY] = uid;
4224
+ return uid;
4225
+ }
4226
+ const getRowId = (row) => ensureFrontRowKey(row);
4227
+ function ensureTableRowKeys(rows) {
4228
+ if (!Array.isArray(rows)) return;
4229
+ rows.forEach((row) => {
4230
+ if (!row || typeof row !== "object" || Array.isArray(row)) return;
4231
+ ensureFrontRowKey(row);
4232
+ ensureTableRowKeys(row._2DTABLE_);
4233
+ });
4234
+ }
4235
+ function resetTableRowIdentity(row) {
4236
+ delete row.id_;
4237
+ delete row[FRONT_ROW_KEY];
4238
+ if (Array.isArray(row._2DTABLE_) && row.group_ != null) row.group_ = `dyn${uuid2(16)}`;
4239
+ ensureFrontRowKey(row);
4240
+ if (Array.isArray(row._2DTABLE_)) row._2DTABLE_.forEach(resetTableRowIdentity);
4241
+ }
4242
+ const RUNTIME_COLUMN_ROW_KEY = "_column_row_key_";
4243
+ const MAX_FRONT_ROW_KEY_LENGTH = 255;
4244
+ const TABLE_2D_ROW_KEY_PREFIX = "2d1.";
4245
+ function encodeBase64Url(value) {
4246
+ return btoa(
4247
+ Array.from(new TextEncoder().encode(value), (byte) => String.fromCharCode(byte)).join("")
4248
+ ).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
4249
+ }
4250
+ function decodeBase64Url(value) {
4251
+ const base64 = value.replace(/-/g, "+").replace(/_/g, "/");
4252
+ const padded = base64 + "=".repeat((4 - base64.length % 4) % 4);
4253
+ return new TextDecoder().decode(Uint8Array.from(atob(padded), (char) => char.charCodeAt(0)));
4254
+ }
4255
+ function decodeTableCellRowKey(rowKey) {
4256
+ if (typeof rowKey !== "string" || !rowKey.startsWith(TABLE_2D_ROW_KEY_PREFIX)) return void 0;
4257
+ try {
4258
+ const parsed = JSON.parse(decodeBase64Url(rowKey.slice(TABLE_2D_ROW_KEY_PREFIX.length)));
4259
+ if (!Array.isArray(parsed) || parsed.length !== 2 || parsed.some((item) => typeof item !== "string" || item === ""))
4260
+ return void 0;
4261
+ return { cellRowKey: parsed[0], columnRowKey: parsed[1] };
4262
+ } catch {
4263
+ return void 0;
4264
+ }
4265
+ }
4266
+ function encodeTableCellRowKey(cellRowKey, columnRowKey) {
4267
+ const decoded = decodeTableCellRowKey(cellRowKey);
4268
+ const originalCellRowKey = decoded?.cellRowKey ?? String(cellRowKey ?? "");
4269
+ const persistedColumnRowKey = String(columnRowKey ?? "");
4270
+ if (!originalCellRowKey || !persistedColumnRowKey)
4271
+ throw new Error("二维表子行或关联列缺少 front_row_key_");
4272
+ if (decoded?.columnRowKey === persistedColumnRowKey) return String(cellRowKey);
4273
+ const encoded = `${TABLE_2D_ROW_KEY_PREFIX}${encodeBase64Url(
4274
+ JSON.stringify([originalCellRowKey, persistedColumnRowKey])
4275
+ )}`;
4276
+ if (encoded.length > MAX_FRONT_ROW_KEY_LENGTH)
4277
+ throw new Error(`二维表内置关联键长度超过 ${MAX_FRONT_ROW_KEY_LENGTH},不能提交`);
4278
+ return encoded;
4279
+ }
4280
+ function isTableRowKeyMatch(rowKey, expected) {
4281
+ if (rowKey == null || expected == null) return false;
4282
+ const actual = String(rowKey);
4283
+ const target = String(expected);
4284
+ return actual === target || decodeTableCellRowKey(actual)?.cellRowKey === target;
4285
+ }
4286
+ function splitRuntimeDataPath(path) {
4287
+ const parts = path.split(".");
4288
+ const result = [];
4289
+ for (let index2 = 0; index2 < parts.length; index2++) {
4290
+ const part = parts[index2];
4291
+ const candidate = `${part}.${parts[index2 + 1] ?? ""}`;
4292
+ if (part === "2d1" && decodeTableCellRowKey(candidate)) {
4293
+ result.push(candidate);
4294
+ index2++;
4295
+ } else result.push(part);
4296
+ }
4297
+ return result;
4298
+ }
4299
+ function findRuntimeTableRow(rows, rowKey) {
4300
+ if (!rowKey || !Array.isArray(rows)) return void 0;
4301
+ for (const row of rows) {
4302
+ if (!row || row.deleted_) continue;
4303
+ if (isTableRowKeyMatch(row[FRONT_ROW_KEY], rowKey)) return row;
4304
+ const child = findRuntimeTableRow(row._2DTABLE_, rowKey);
4305
+ if (child) return child;
4306
+ }
4307
+ return void 0;
4308
+ }
4309
+ function findRuntimeParentRow(rows, rowKey) {
4310
+ if (!rowKey || !Array.isArray(rows)) return void 0;
4311
+ return rows.find(
4312
+ (row) => !row?.deleted_ && (isTableRowKeyMatch(row[FRONT_ROW_KEY], rowKey) || row._2DTABLE_?.some(
4313
+ (child) => !child?.deleted_ && isTableRowKeyMatch(child[FRONT_ROW_KEY], rowKey)
4314
+ ))
4315
+ );
4316
+ }
4317
+ function findRuntimeTableCell(parent, columnRowKey) {
4318
+ if (!columnRowKey || !Array.isArray(parent?._2DTABLE_)) return void 0;
4319
+ return parent._2DTABLE_.find(
4320
+ (child) => !child?.deleted_ && child[RUNTIME_COLUMN_ROW_KEY] === columnRowKey
4321
+ );
4322
+ }
4323
+ function getRenderedRuntimeTableCell(state, info, parent, displayColumn) {
4324
+ if (!info?.colSubFieldKey) {
4325
+ return parent?._2DTABLE_?.at(displayColumn);
4326
+ }
4327
+ const column = state[info.colSubFieldKey]?.at(displayColumn);
4328
+ return column ? findRuntimeTableCell(parent, ensureFrontRowKey(column)) : void 0;
4329
+ }
4330
+ function bindRuntimeTableColumns(state, relations) {
4331
+ const expandedTables = /* @__PURE__ */ new Set();
4332
+ for (const info of relations) {
4333
+ const rows = state[info.rowSubFieldKey];
4334
+ const columns = info.colSubFieldKey ? state[info.colSubFieldKey] : void 0;
4335
+ if (!Array.isArray(rows) || !Array.isArray(columns)) continue;
4336
+ ensureTableRowKeys(columns);
4337
+ for (const parent of rows) {
4338
+ if (!Array.isArray(parent?._2DTABLE_)) continue;
4339
+ ensureTableRowKeys([parent]);
4340
+ const existingKeys = parent._2DTABLE_.map((child) => child[RUNTIME_COLUMN_ROW_KEY]).filter(Boolean);
4341
+ const bound = new Set(existingKeys);
4342
+ if (bound.size !== existingKeys.length)
4343
+ throw new Error(`二维表「${info.rowSubFieldKey}」存在重复的关联列行键`);
4344
+ const available = columns.filter(
4345
+ (column) => !column.deleted_ && !bound.has(ensureFrontRowKey(column))
4346
+ );
4347
+ for (const child of parent._2DTABLE_) {
4348
+ if (child[RUNTIME_COLUMN_ROW_KEY]) continue;
4349
+ const persistedIdentity = decodeTableCellRowKey(child[FRONT_ROW_KEY]);
4350
+ const reference = info.rowRefFieldKey ? child[info.rowRefFieldKey] : void 0;
4351
+ let businessColumn;
4352
+ if (reference != null && reference !== "" && info.colRefFieldKey) {
4353
+ const matches = columns.filter(
4354
+ (candidate) => String(candidate[info.colRefFieldKey]) === String(reference)
4355
+ );
4356
+ if (matches.length !== 1)
4357
+ throw new Error(
4358
+ `二维表「${info.rowSubFieldKey}」的关联列引用「${reference}」无法唯一匹配`
4359
+ );
4360
+ businessColumn = matches[0];
4361
+ }
4362
+ const persistedColumn = persistedIdentity ? columns.find(
4363
+ (candidate) => ensureFrontRowKey(candidate) === persistedIdentity.columnRowKey
4364
+ ) : void 0;
4365
+ if (persistedIdentity && !persistedColumn)
4366
+ throw new Error(
4367
+ `二维表「${info.rowSubFieldKey}」子行「${child[FRONT_ROW_KEY]}」的内置关联列不存在`
4368
+ );
4369
+ if (businessColumn && persistedColumn && businessColumn !== persistedColumn)
4370
+ throw new Error(
4371
+ `二维表「${info.rowSubFieldKey}」子行「${child[FRONT_ROW_KEY]}」的业务引用与内置关联冲突`
4372
+ );
4373
+ const column = businessColumn ?? persistedColumn ?? available.shift();
4374
+ if (!column) throw new Error(`二维表「${info.rowSubFieldKey}」缺少可绑定的关联列行`);
4375
+ const columnKey = ensureFrontRowKey(column);
4376
+ if (bound.has(columnKey))
4377
+ throw new Error(`二维表「${info.rowSubFieldKey}」重复绑定关联列行「${columnKey}」`);
4378
+ toRaw(child)[RUNTIME_COLUMN_ROW_KEY] = columnKey;
4379
+ bound.add(columnKey);
4380
+ const availablePosition = available.indexOf(column);
4381
+ if (availablePosition >= 0) available.splice(availablePosition, 1);
4382
+ }
4383
+ if (!parent.deleted_) {
4384
+ for (const column of available) {
4385
+ const child = {
4386
+ _DICT: {},
4387
+ _OPCT: {},
4388
+ _MCTABLE: {},
4389
+ [RUNTIME_COLUMN_ROW_KEY]: ensureFrontRowKey(column)
4390
+ };
4391
+ ensureFrontRowKey(child);
4392
+ parent._2DTABLE_.push(child);
4393
+ expandedTables.add(info.rowSubFieldKey);
4394
+ }
4395
+ }
4396
+ }
4397
+ }
4398
+ return Array.from(expandedTables);
4399
+ }
4400
+ const manifest$1g = {
4242
4401
  type: FIELD_TYPE.MATERIAL_CONTAINER,
4243
4402
  design: "fw:auto-complete",
4244
4403
  render: "rd:auto-complete",
@@ -4248,9 +4407,9 @@ const manifest$1h = {
4248
4407
  };
4249
4408
  const __vite_glob_0_0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4250
4409
  __proto__: null,
4251
- manifest: manifest$1h
4410
+ manifest: manifest$1g
4252
4411
  }, Symbol.toStringTag, { value: "Module" }));
4253
- const manifest$1g = {
4412
+ const manifest$1f = {
4254
4413
  type: FIELD_TYPE.MATERIAL_NO,
4255
4414
  design: "fw:auto-complete",
4256
4415
  render: "rd:auto-complete",
@@ -4260,9 +4419,9 @@ const manifest$1g = {
4260
4419
  };
4261
4420
  const __vite_glob_0_1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4262
4421
  __proto__: null,
4263
- manifest: manifest$1g
4422
+ manifest: manifest$1f
4264
4423
  }, Symbol.toStringTag, { value: "Module" }));
4265
- const manifest$1f = {
4424
+ const manifest$1e = {
4266
4425
  type: FIELD_TYPE.RELATED_LOT_NO,
4267
4426
  design: "fw:auto-complete",
4268
4427
  render: "rd:auto-complete",
@@ -4272,9 +4431,9 @@ const manifest$1f = {
4272
4431
  };
4273
4432
  const __vite_glob_0_2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4274
4433
  __proto__: null,
4275
- manifest: manifest$1f
4434
+ manifest: manifest$1e
4276
4435
  }, Symbol.toStringTag, { value: "Module" }));
4277
- const manifest$1e = {
4436
+ const manifest$1d = {
4278
4437
  type: FIELD_TYPE.SCRAP_MATERIAL_NO,
4279
4438
  design: "fw:auto-complete",
4280
4439
  render: "rd:auto-complete",
@@ -4284,9 +4443,9 @@ const manifest$1e = {
4284
4443
  };
4285
4444
  const __vite_glob_0_3 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4286
4445
  __proto__: null,
4287
- manifest: manifest$1e
4446
+ manifest: manifest$1d
4288
4447
  }, Symbol.toStringTag, { value: "Module" }));
4289
- const manifest$1d = {
4448
+ const manifest$1c = {
4290
4449
  type: FIELD_TYPE.STERILIZATION_CONTAINER,
4291
4450
  design: "fw:auto-complete",
4292
4451
  render: "rd:auto-complete",
@@ -4296,9 +4455,9 @@ const manifest$1d = {
4296
4455
  };
4297
4456
  const __vite_glob_0_4 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4298
4457
  __proto__: null,
4299
- manifest: manifest$1d
4458
+ manifest: manifest$1c
4300
4459
  }, Symbol.toStringTag, { value: "Module" }));
4301
- const manifest$1c = {
4460
+ const manifest$1b = {
4302
4461
  type: FIELD_TYPE.DATE,
4303
4462
  design: "fw:date",
4304
4463
  render: "rd:date",
@@ -4308,9 +4467,9 @@ const manifest$1c = {
4308
4467
  };
4309
4468
  const __vite_glob_0_5 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4310
4469
  __proto__: null,
4311
- manifest: manifest$1c
4470
+ manifest: manifest$1b
4312
4471
  }, Symbol.toStringTag, { value: "Module" }));
4313
- const manifest$1b = {
4472
+ const manifest$1a = {
4314
4473
  type: FIELD_TYPE.DATE_TIME,
4315
4474
  design: "fw:date-time",
4316
4475
  render: "rd:date-time",
@@ -4320,9 +4479,9 @@ const manifest$1b = {
4320
4479
  };
4321
4480
  const __vite_glob_0_6 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4322
4481
  __proto__: null,
4323
- manifest: manifest$1b
4482
+ manifest: manifest$1a
4324
4483
  }, Symbol.toStringTag, { value: "Module" }));
4325
- const manifest$1a = {
4484
+ const manifest$19 = {
4326
4485
  type: FIELD_TYPE.PRODUCTION_DATE,
4327
4486
  design: "fw:date",
4328
4487
  render: "rd:date",
@@ -4332,9 +4491,9 @@ const manifest$1a = {
4332
4491
  };
4333
4492
  const __vite_glob_0_7 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4334
4493
  __proto__: null,
4335
- manifest: manifest$1a
4494
+ manifest: manifest$19
4336
4495
  }, Symbol.toStringTag, { value: "Module" }));
4337
- const manifest$19 = {
4496
+ const manifest$18 = {
4338
4497
  type: FIELD_TYPE.RE_INSPECTION_DATE,
4339
4498
  design: "fw:date",
4340
4499
  render: "rd:date",
@@ -4344,9 +4503,9 @@ const manifest$19 = {
4344
4503
  };
4345
4504
  const __vite_glob_0_8 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4346
4505
  __proto__: null,
4347
- manifest: manifest$19
4506
+ manifest: manifest$18
4348
4507
  }, Symbol.toStringTag, { value: "Module" }));
4349
- const manifest$18 = {
4508
+ const manifest$17 = {
4350
4509
  type: FIELD_TYPE.REPORT_END_TIME,
4351
4510
  design: "fw:date-time",
4352
4511
  render: "rd:date-time",
@@ -4356,9 +4515,9 @@ const manifest$18 = {
4356
4515
  };
4357
4516
  const __vite_glob_0_9 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4358
4517
  __proto__: null,
4359
- manifest: manifest$18
4518
+ manifest: manifest$17
4360
4519
  }, Symbol.toStringTag, { value: "Module" }));
4361
- const manifest$17 = {
4520
+ const manifest$16 = {
4362
4521
  type: FIELD_TYPE.REPORT_START_TIME,
4363
4522
  design: "fw:date-time",
4364
4523
  render: "rd:date-time",
@@ -4368,9 +4527,9 @@ const manifest$17 = {
4368
4527
  };
4369
4528
  const __vite_glob_0_10 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4370
4529
  __proto__: null,
4371
- manifest: manifest$17
4530
+ manifest: manifest$16
4372
4531
  }, Symbol.toStringTag, { value: "Module" }));
4373
- const manifest$16 = {
4532
+ const manifest$15 = {
4374
4533
  type: FIELD_TYPE.STERILIZATION_DATE,
4375
4534
  design: "fw:date",
4376
4535
  render: "rd:date",
@@ -4380,9 +4539,9 @@ const manifest$16 = {
4380
4539
  };
4381
4540
  const __vite_glob_0_11 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4382
4541
  __proto__: null,
4383
- manifest: manifest$16
4542
+ manifest: manifest$15
4384
4543
  }, Symbol.toStringTag, { value: "Module" }));
4385
- const manifest$15 = {
4544
+ const manifest$14 = {
4386
4545
  type: FIELD_TYPE.TIME,
4387
4546
  design: "fw:time",
4388
4547
  render: "rd:time",
@@ -4392,9 +4551,9 @@ const manifest$15 = {
4392
4551
  };
4393
4552
  const __vite_glob_0_12 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4394
4553
  __proto__: null,
4395
- manifest: manifest$15
4554
+ manifest: manifest$14
4396
4555
  }, Symbol.toStringTag, { value: "Module" }));
4397
- const manifest$14 = {
4556
+ const manifest$13 = {
4398
4557
  type: FIELD_TYPE.TRACE_DATE,
4399
4558
  design: "fw:date",
4400
4559
  render: "rd:date",
@@ -4404,9 +4563,9 @@ const manifest$14 = {
4404
4563
  };
4405
4564
  const __vite_glob_0_13 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4406
4565
  __proto__: null,
4407
- manifest: manifest$14
4566
+ manifest: manifest$13
4408
4567
  }, Symbol.toStringTag, { value: "Module" }));
4409
- const manifest$13 = {
4568
+ const manifest$12 = {
4410
4569
  type: FIELD_TYPE.VALIDITY,
4411
4570
  design: "fw:date",
4412
4571
  render: "rd:date",
@@ -4416,9 +4575,9 @@ const manifest$13 = {
4416
4575
  };
4417
4576
  const __vite_glob_0_14 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4418
4577
  __proto__: null,
4419
- manifest: manifest$13
4578
+ manifest: manifest$12
4420
4579
  }, Symbol.toStringTag, { value: "Module" }));
4421
- const manifest$12 = {
4580
+ const manifest$11 = {
4422
4581
  type: FIELD_TYPE.WAREHOUSE_RECEIPT_DATE,
4423
4582
  design: "fw:date",
4424
4583
  render: "rd:date",
@@ -4428,9 +4587,9 @@ const manifest$12 = {
4428
4587
  };
4429
4588
  const __vite_glob_0_15 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4430
4589
  __proto__: null,
4431
- manifest: manifest$12
4590
+ manifest: manifest$11
4432
4591
  }, Symbol.toStringTag, { value: "Module" }));
4433
- const manifest$11 = {
4592
+ const manifest$10 = {
4434
4593
  type: FIELD_TYPE.DECIMAL,
4435
4594
  design: "fw:number",
4436
4595
  render: "rd:number",
@@ -4440,9 +4599,9 @@ const manifest$11 = {
4440
4599
  };
4441
4600
  const __vite_glob_0_16 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4442
4601
  __proto__: null,
4443
- manifest: manifest$11
4602
+ manifest: manifest$10
4444
4603
  }, Symbol.toStringTag, { value: "Module" }));
4445
- const manifest$10 = {
4604
+ const manifest$$ = {
4446
4605
  type: FIELD_TYPE.DESTRUCTIVE_TEST_QTY,
4447
4606
  design: "fw:number",
4448
4607
  render: "rd:double",
@@ -4455,9 +4614,9 @@ const manifest$10 = {
4455
4614
  };
4456
4615
  const __vite_glob_0_17 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4457
4616
  __proto__: null,
4458
- manifest: manifest$10
4617
+ manifest: manifest$$
4459
4618
  }, Symbol.toStringTag, { value: "Module" }));
4460
- const manifest$$ = {
4619
+ const manifest$_ = {
4461
4620
  type: FIELD_TYPE.DOUBLE,
4462
4621
  design: "fw:number",
4463
4622
  render: "rd:double",
@@ -4467,9 +4626,9 @@ const manifest$$ = {
4467
4626
  };
4468
4627
  const __vite_glob_0_18 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4469
4628
  __proto__: null,
4470
- manifest: manifest$$
4629
+ manifest: manifest$_
4471
4630
  }, Symbol.toStringTag, { value: "Module" }));
4472
- const manifest$_ = {
4631
+ const manifest$Z = {
4473
4632
  type: FIELD_TYPE.GOOD_QTY,
4474
4633
  design: "fw:number",
4475
4634
  render: "rd:double",
@@ -4482,9 +4641,9 @@ const manifest$_ = {
4482
4641
  };
4483
4642
  const __vite_glob_0_19 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4484
4643
  __proto__: null,
4485
- manifest: manifest$_
4644
+ manifest: manifest$Z
4486
4645
  }, Symbol.toStringTag, { value: "Module" }));
4487
- const manifest$Z = {
4646
+ const manifest$Y = {
4488
4647
  type: FIELD_TYPE.INSPECTION_MODULE_QTY,
4489
4648
  design: "fw:number",
4490
4649
  render: "rd:double",
@@ -4497,9 +4656,9 @@ const manifest$Z = {
4497
4656
  };
4498
4657
  const __vite_glob_0_20 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4499
4658
  __proto__: null,
4500
- manifest: manifest$Z
4659
+ manifest: manifest$Y
4501
4660
  }, Symbol.toStringTag, { value: "Module" }));
4502
- const manifest$Y = {
4661
+ const manifest$X = {
4503
4662
  type: FIELD_TYPE.INSPECTION_QTY,
4504
4663
  design: "fw:number",
4505
4664
  render: "rd:double",
@@ -4512,9 +4671,9 @@ const manifest$Y = {
4512
4671
  };
4513
4672
  const __vite_glob_0_21 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4514
4673
  __proto__: null,
4515
- manifest: manifest$Y
4674
+ manifest: manifest$X
4516
4675
  }, Symbol.toStringTag, { value: "Module" }));
4517
- const manifest$X = {
4676
+ const manifest$W = {
4518
4677
  type: FIELD_TYPE.INTEGER,
4519
4678
  design: "fw:number",
4520
4679
  render: "rd:number",
@@ -4524,9 +4683,9 @@ const manifest$X = {
4524
4683
  };
4525
4684
  const __vite_glob_0_22 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4526
4685
  __proto__: null,
4527
- manifest: manifest$X
4686
+ manifest: manifest$W
4528
4687
  }, Symbol.toStringTag, { value: "Module" }));
4529
- const manifest$W = {
4688
+ const manifest$V = {
4530
4689
  type: FIELD_TYPE.LONG,
4531
4690
  design: "fw:number",
4532
4691
  render: "rd:number",
@@ -4536,9 +4695,9 @@ const manifest$W = {
4536
4695
  };
4537
4696
  const __vite_glob_0_23 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4538
4697
  __proto__: null,
4539
- manifest: manifest$W
4698
+ manifest: manifest$V
4540
4699
  }, Symbol.toStringTag, { value: "Module" }));
4541
- const manifest$V = {
4700
+ const manifest$U = {
4542
4701
  type: FIELD_TYPE.MATERIAL_CHECK_QTY,
4543
4702
  design: "fw:number",
4544
4703
  render: "rd:double",
@@ -4551,9 +4710,9 @@ const manifest$V = {
4551
4710
  };
4552
4711
  const __vite_glob_0_24 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4553
4712
  __proto__: null,
4554
- manifest: manifest$V
4713
+ manifest: manifest$U
4555
4714
  }, Symbol.toStringTag, { value: "Module" }));
4556
- const manifest$U = {
4715
+ const manifest$T = {
4557
4716
  type: FIELD_TYPE.NOT_GOOD_QTY,
4558
4717
  design: "fw:number",
4559
4718
  render: "rd:double",
@@ -4566,9 +4725,9 @@ const manifest$U = {
4566
4725
  };
4567
4726
  const __vite_glob_0_25 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4568
4727
  __proto__: null,
4569
- manifest: manifest$U
4728
+ manifest: manifest$T
4570
4729
  }, Symbol.toStringTag, { value: "Module" }));
4571
- const manifest$T = {
4730
+ const manifest$S = {
4572
4731
  type: FIELD_TYPE.OF_INST_NUM,
4573
4732
  design: "fw:number",
4574
4733
  render: "rd:number",
@@ -4581,9 +4740,9 @@ const manifest$T = {
4581
4740
  };
4582
4741
  const __vite_glob_0_26 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4583
4742
  __proto__: null,
4584
- manifest: manifest$T
4743
+ manifest: manifest$S
4585
4744
  }, Symbol.toStringTag, { value: "Module" }));
4586
- const manifest$S = {
4745
+ const manifest$R = {
4587
4746
  type: FIELD_TYPE.OPERATION_OUTPUT_QTY,
4588
4747
  design: "fw:number",
4589
4748
  render: "rd:double",
@@ -4596,9 +4755,9 @@ const manifest$S = {
4596
4755
  };
4597
4756
  const __vite_glob_0_27 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4598
4757
  __proto__: null,
4599
- manifest: manifest$S
4758
+ manifest: manifest$R
4600
4759
  }, Symbol.toStringTag, { value: "Module" }));
4601
- const manifest$R = {
4760
+ const manifest$Q = {
4602
4761
  type: FIELD_TYPE.OPERATION_RECEIVE_QTY,
4603
4762
  design: "fw:number",
4604
4763
  render: "rd:double",
@@ -4613,26 +4772,11 @@ const manifest$R = {
4613
4772
  }
4614
4773
  };
4615
4774
  const __vite_glob_0_28 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4616
- __proto__: null,
4617
- manifest: manifest$R
4618
- }, Symbol.toStringTag, { value: "Module" }));
4619
- const manifest$Q = {
4620
- type: FIELD_TYPE.PRODUCT_CHECK_QTY,
4621
- design: "fw:number",
4622
- render: "rd:double",
4623
- defaultProps: {
4624
- placeholder: "请输入",
4625
- enableRangeValidate: true,
4626
- minValidateMode: RangeValidateMode.Fixed_Number,
4627
- minValue: 0
4628
- }
4629
- };
4630
- const __vite_glob_0_29 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4631
4775
  __proto__: null,
4632
4776
  manifest: manifest$Q
4633
4777
  }, Symbol.toStringTag, { value: "Module" }));
4634
4778
  const manifest$P = {
4635
- type: FIELD_TYPE.PRODUCT_RELEASE_QTY,
4779
+ type: FIELD_TYPE.PRODUCT_CHECK_QTY,
4636
4780
  design: "fw:number",
4637
4781
  render: "rd:double",
4638
4782
  defaultProps: {
@@ -4642,7 +4786,7 @@ const manifest$P = {
4642
4786
  minValue: 0
4643
4787
  }
4644
4788
  };
4645
- const __vite_glob_0_30 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4789
+ const __vite_glob_0_29 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4646
4790
  __proto__: null,
4647
4791
  manifest: manifest$P
4648
4792
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4657,7 +4801,7 @@ const manifest$O = {
4657
4801
  minValue: 0
4658
4802
  }
4659
4803
  };
4660
- const __vite_glob_0_31 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4804
+ const __vite_glob_0_30 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4661
4805
  __proto__: null,
4662
4806
  manifest: manifest$O
4663
4807
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4672,7 +4816,7 @@ const manifest$N = {
4672
4816
  minValue: 0
4673
4817
  }
4674
4818
  };
4675
- const __vite_glob_0_32 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4819
+ const __vite_glob_0_31 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4676
4820
  __proto__: null,
4677
4821
  manifest: manifest$N
4678
4822
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4687,7 +4831,7 @@ const manifest$M = {
4687
4831
  minValue: 0
4688
4832
  }
4689
4833
  };
4690
- const __vite_glob_0_33 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4834
+ const __vite_glob_0_32 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4691
4835
  __proto__: null,
4692
4836
  manifest: manifest$M
4693
4837
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4702,7 +4846,7 @@ const manifest$L = {
4702
4846
  minValue: 0
4703
4847
  }
4704
4848
  };
4705
- const __vite_glob_0_34 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4849
+ const __vite_glob_0_33 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4706
4850
  __proto__: null,
4707
4851
  manifest: manifest$L
4708
4852
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4717,7 +4861,7 @@ const manifest$K = {
4717
4861
  minValue: 0
4718
4862
  }
4719
4863
  };
4720
- const __vite_glob_0_35 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4864
+ const __vite_glob_0_34 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4721
4865
  __proto__: null,
4722
4866
  manifest: manifest$K
4723
4867
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4732,7 +4876,7 @@ const manifest$J = {
4732
4876
  minValue: 0
4733
4877
  }
4734
4878
  };
4735
- const __vite_glob_0_36 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4879
+ const __vite_glob_0_35 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4736
4880
  __proto__: null,
4737
4881
  manifest: manifest$J
4738
4882
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4744,7 +4888,7 @@ const manifest$I = {
4744
4888
  placeholder: "请选择"
4745
4889
  }
4746
4890
  };
4747
- const __vite_glob_0_37 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4891
+ const __vite_glob_0_36 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4748
4892
  __proto__: null,
4749
4893
  manifest: manifest$I
4750
4894
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4756,7 +4900,7 @@ const manifest$H = {
4756
4900
  placeholder: "请选择"
4757
4901
  }
4758
4902
  };
4759
- const __vite_glob_0_38 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4903
+ const __vite_glob_0_37 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4760
4904
  __proto__: null,
4761
4905
  manifest: manifest$H
4762
4906
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4768,7 +4912,7 @@ const manifest$G = {
4768
4912
  placeholder: "请选择"
4769
4913
  }
4770
4914
  };
4771
- const __vite_glob_0_39 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4915
+ const __vite_glob_0_38 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4772
4916
  __proto__: null,
4773
4917
  manifest: manifest$G
4774
4918
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4780,7 +4924,7 @@ const manifest$F = {
4780
4924
  placeholder: "请选择"
4781
4925
  }
4782
4926
  };
4783
- const __vite_glob_0_40 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4927
+ const __vite_glob_0_39 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4784
4928
  __proto__: null,
4785
4929
  manifest: manifest$F
4786
4930
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4792,7 +4936,7 @@ const manifest$E = {
4792
4936
  placeholder: "请选择"
4793
4937
  }
4794
4938
  };
4795
- const __vite_glob_0_41 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4939
+ const __vite_glob_0_40 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4796
4940
  __proto__: null,
4797
4941
  manifest: manifest$E
4798
4942
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4804,7 +4948,7 @@ const manifest$D = {
4804
4948
  placeholder: "请选择"
4805
4949
  }
4806
4950
  };
4807
- const __vite_glob_0_42 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4951
+ const __vite_glob_0_41 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4808
4952
  __proto__: null,
4809
4953
  manifest: manifest$D
4810
4954
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4816,7 +4960,7 @@ const manifest$C = {
4816
4960
  placeholder: "请选择"
4817
4961
  }
4818
4962
  };
4819
- const __vite_glob_0_43 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4963
+ const __vite_glob_0_42 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4820
4964
  __proto__: null,
4821
4965
  manifest: manifest$C
4822
4966
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4828,7 +4972,7 @@ const manifest$B = {
4828
4972
  placeholder: "请选择"
4829
4973
  }
4830
4974
  };
4831
- const __vite_glob_0_44 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4975
+ const __vite_glob_0_43 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4832
4976
  __proto__: null,
4833
4977
  manifest: manifest$B
4834
4978
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4838,7 +4982,7 @@ const manifest$A = {
4838
4982
  render: "rd:seal",
4839
4983
  defaultProps: { placeholder: "盖章", diameterMm: 42 }
4840
4984
  };
4841
- const __vite_glob_0_45 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4985
+ const __vite_glob_0_44 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4842
4986
  __proto__: null,
4843
4987
  manifest: manifest$A
4844
4988
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4850,7 +4994,7 @@ const manifest$z = {
4850
4994
  placeholder: "请选择"
4851
4995
  }
4852
4996
  };
4853
- const __vite_glob_0_46 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4997
+ const __vite_glob_0_45 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4854
4998
  __proto__: null,
4855
4999
  manifest: manifest$z
4856
5000
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4862,7 +5006,7 @@ const manifest$y = {
4862
5006
  placeholder: "请选择"
4863
5007
  }
4864
5008
  };
4865
- const __vite_glob_0_47 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5009
+ const __vite_glob_0_46 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4866
5010
  __proto__: null,
4867
5011
  manifest: manifest$y
4868
5012
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4874,7 +5018,7 @@ const manifest$x = {
4874
5018
  placeholder: "请选择"
4875
5019
  }
4876
5020
  };
4877
- const __vite_glob_0_48 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5021
+ const __vite_glob_0_47 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4878
5022
  __proto__: null,
4879
5023
  manifest: manifest$x
4880
5024
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4886,7 +5030,7 @@ const manifest$w = {
4886
5030
  placeholder: "请选择"
4887
5031
  }
4888
5032
  };
4889
- const __vite_glob_0_49 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5033
+ const __vite_glob_0_48 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4890
5034
  __proto__: null,
4891
5035
  manifest: manifest$w
4892
5036
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4898,7 +5042,7 @@ const manifest$v = {
4898
5042
  placeholder: "请选择"
4899
5043
  }
4900
5044
  };
4901
- const __vite_glob_0_50 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5045
+ const __vite_glob_0_49 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4902
5046
  __proto__: null,
4903
5047
  manifest: manifest$v
4904
5048
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4910,7 +5054,7 @@ const manifest$u = {
4910
5054
  placeholder: "请选择"
4911
5055
  }
4912
5056
  };
4913
- const __vite_glob_0_51 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5057
+ const __vite_glob_0_50 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4914
5058
  __proto__: null,
4915
5059
  manifest: manifest$u
4916
5060
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4922,7 +5066,7 @@ const manifest$t = {
4922
5066
  placeholder: "请选择"
4923
5067
  }
4924
5068
  };
4925
- const __vite_glob_0_52 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5069
+ const __vite_glob_0_51 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4926
5070
  __proto__: null,
4927
5071
  manifest: manifest$t
4928
5072
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4934,7 +5078,7 @@ const manifest$s = {
4934
5078
  placeholder: "请选择"
4935
5079
  }
4936
5080
  };
4937
- const __vite_glob_0_53 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5081
+ const __vite_glob_0_52 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4938
5082
  __proto__: null,
4939
5083
  manifest: manifest$s
4940
5084
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4946,7 +5090,7 @@ const manifest$r = {
4946
5090
  placeholder: "请选择"
4947
5091
  }
4948
5092
  };
4949
- const __vite_glob_0_54 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5093
+ const __vite_glob_0_53 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4950
5094
  __proto__: null,
4951
5095
  manifest: manifest$r
4952
5096
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4958,7 +5102,7 @@ const manifest$q = {
4958
5102
  placeholder: "请选择"
4959
5103
  }
4960
5104
  };
4961
- const __vite_glob_0_55 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5105
+ const __vite_glob_0_54 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4962
5106
  __proto__: null,
4963
5107
  manifest: manifest$q
4964
5108
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4970,7 +5114,7 @@ const manifest$p = {
4970
5114
  placeholder: "请选择"
4971
5115
  }
4972
5116
  };
4973
- const __vite_glob_0_56 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5117
+ const __vite_glob_0_55 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4974
5118
  __proto__: null,
4975
5119
  manifest: manifest$p
4976
5120
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4982,7 +5126,7 @@ const manifest$o = {
4982
5126
  placeholder: "请选择"
4983
5127
  }
4984
5128
  };
4985
- const __vite_glob_0_57 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5129
+ const __vite_glob_0_56 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4986
5130
  __proto__: null,
4987
5131
  manifest: manifest$o
4988
5132
  }, Symbol.toStringTag, { value: "Module" }));
@@ -4994,7 +5138,7 @@ const manifest$n = {
4994
5138
  placeholder: "请选择"
4995
5139
  }
4996
5140
  };
4997
- const __vite_glob_0_58 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5141
+ const __vite_glob_0_57 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4998
5142
  __proto__: null,
4999
5143
  manifest: manifest$n
5000
5144
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5006,7 +5150,7 @@ const manifest$m = {
5006
5150
  placeholder: "请选择"
5007
5151
  }
5008
5152
  };
5009
- const __vite_glob_0_59 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5153
+ const __vite_glob_0_58 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5010
5154
  __proto__: null,
5011
5155
  manifest: manifest$m
5012
5156
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5018,7 +5162,7 @@ const manifest$l = {
5018
5162
  placeholder: "请选择"
5019
5163
  }
5020
5164
  };
5021
- const __vite_glob_0_60 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5165
+ const __vite_glob_0_59 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5022
5166
  __proto__: null,
5023
5167
  manifest: manifest$l
5024
5168
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5030,7 +5174,7 @@ const manifest$k = {
5030
5174
  placeholder: "请选择"
5031
5175
  }
5032
5176
  };
5033
- const __vite_glob_0_61 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5177
+ const __vite_glob_0_60 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5034
5178
  __proto__: null,
5035
5179
  manifest: manifest$k
5036
5180
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5042,7 +5186,7 @@ const manifest$j = {
5042
5186
  placeholder: "请选择"
5043
5187
  }
5044
5188
  };
5045
- const __vite_glob_0_62 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5189
+ const __vite_glob_0_61 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5046
5190
  __proto__: null,
5047
5191
  manifest: manifest$j
5048
5192
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5054,7 +5198,7 @@ const manifest$i = {
5054
5198
  placeholder: "请选择"
5055
5199
  }
5056
5200
  };
5057
- const __vite_glob_0_63 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5201
+ const __vite_glob_0_62 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5058
5202
  __proto__: null,
5059
5203
  manifest: manifest$i
5060
5204
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5066,7 +5210,7 @@ const manifest$h = {
5066
5210
  placeholder: "请选择"
5067
5211
  }
5068
5212
  };
5069
- const __vite_glob_0_64 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5213
+ const __vite_glob_0_63 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5070
5214
  __proto__: null,
5071
5215
  manifest: manifest$h
5072
5216
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5078,7 +5222,7 @@ const manifest$g = {
5078
5222
  placeholder: "请选择"
5079
5223
  }
5080
5224
  };
5081
- const __vite_glob_0_65 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5225
+ const __vite_glob_0_64 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5082
5226
  __proto__: null,
5083
5227
  manifest: manifest$g
5084
5228
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5090,7 +5234,7 @@ const manifest$f = {
5090
5234
  placeholder: "请选择"
5091
5235
  }
5092
5236
  };
5093
- const __vite_glob_0_66 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5237
+ const __vite_glob_0_65 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5094
5238
  __proto__: null,
5095
5239
  manifest: manifest$f
5096
5240
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5102,7 +5246,7 @@ const manifest$e = {
5102
5246
  placeholder: "请选择"
5103
5247
  }
5104
5248
  };
5105
- const __vite_glob_0_67 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5249
+ const __vite_glob_0_66 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5106
5250
  __proto__: null,
5107
5251
  manifest: manifest$e
5108
5252
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5114,7 +5258,7 @@ const manifest$d = {
5114
5258
  placeholder: "请选择"
5115
5259
  }
5116
5260
  };
5117
- const __vite_glob_0_68 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5261
+ const __vite_glob_0_67 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5118
5262
  __proto__: null,
5119
5263
  manifest: manifest$d
5120
5264
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5126,7 +5270,7 @@ const manifest$c = {
5126
5270
  placeholder: "请输入"
5127
5271
  }
5128
5272
  };
5129
- const __vite_glob_0_69 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5273
+ const __vite_glob_0_68 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5130
5274
  __proto__: null,
5131
5275
  manifest: manifest$c
5132
5276
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5138,7 +5282,7 @@ const manifest$b = {
5138
5282
  placeholder: "请输入"
5139
5283
  }
5140
5284
  };
5141
- const __vite_glob_0_70 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5285
+ const __vite_glob_0_69 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5142
5286
  __proto__: null,
5143
5287
  manifest: manifest$b
5144
5288
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5150,7 +5294,7 @@ const manifest$a = {
5150
5294
  placeholder: "请输入"
5151
5295
  }
5152
5296
  };
5153
- const __vite_glob_0_71 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5297
+ const __vite_glob_0_70 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5154
5298
  __proto__: null,
5155
5299
  manifest: manifest$a
5156
5300
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5162,7 +5306,7 @@ const manifest$9 = {
5162
5306
  placeholder: "请输入"
5163
5307
  }
5164
5308
  };
5165
- const __vite_glob_0_72 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5309
+ const __vite_glob_0_71 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5166
5310
  __proto__: null,
5167
5311
  manifest: manifest$9
5168
5312
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5174,7 +5318,7 @@ const manifest$8 = {
5174
5318
  placeholder: "请输入"
5175
5319
  }
5176
5320
  };
5177
- const __vite_glob_0_73 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5321
+ const __vite_glob_0_72 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5178
5322
  __proto__: null,
5179
5323
  manifest: manifest$8
5180
5324
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5186,7 +5330,7 @@ const manifest$7 = {
5186
5330
  placeholder: "请输入"
5187
5331
  }
5188
5332
  };
5189
- const __vite_glob_0_74 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5333
+ const __vite_glob_0_73 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5190
5334
  __proto__: null,
5191
5335
  manifest: manifest$7
5192
5336
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5198,7 +5342,7 @@ const manifest$6 = {
5198
5342
  placeholder: "请输入"
5199
5343
  }
5200
5344
  };
5201
- const __vite_glob_0_75 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5345
+ const __vite_glob_0_74 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5202
5346
  __proto__: null,
5203
5347
  manifest: manifest$6
5204
5348
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5210,7 +5354,7 @@ const manifest$5 = {
5210
5354
  placeholder: "请输入"
5211
5355
  }
5212
5356
  };
5213
- const __vite_glob_0_76 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5357
+ const __vite_glob_0_75 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5214
5358
  __proto__: null,
5215
5359
  manifest: manifest$5
5216
5360
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5222,7 +5366,7 @@ const manifest$4 = {
5222
5366
  placeholder: "上传附件"
5223
5367
  }
5224
5368
  };
5225
- const __vite_glob_0_77 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5369
+ const __vite_glob_0_76 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5226
5370
  __proto__: null,
5227
5371
  manifest: manifest$4
5228
5372
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5234,7 +5378,7 @@ const manifest$3 = {
5234
5378
  placeholder: "上传图片"
5235
5379
  }
5236
5380
  };
5237
- const __vite_glob_0_78 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5381
+ const __vite_glob_0_77 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5238
5382
  __proto__: null,
5239
5383
  manifest: manifest$3
5240
5384
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5246,7 +5390,7 @@ const manifest$2 = {
5246
5390
  placeholder: "添加签名"
5247
5391
  }
5248
5392
  };
5249
- const __vite_glob_0_79 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5393
+ const __vite_glob_0_78 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5250
5394
  __proto__: null,
5251
5395
  manifest: manifest$2
5252
5396
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5258,7 +5402,7 @@ const manifest$1 = {
5258
5402
  placeholder: "添加签名"
5259
5403
  }
5260
5404
  };
5261
- const __vite_glob_0_80 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5405
+ const __vite_glob_0_79 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5262
5406
  __proto__: null,
5263
5407
  manifest: manifest$1
5264
5408
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5270,7 +5414,7 @@ const manifest = {
5270
5414
  placeholder: "添加签名"
5271
5415
  }
5272
5416
  };
5273
- const __vite_glob_0_81 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5417
+ const __vite_glob_0_80 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
5274
5418
  __proto__: null,
5275
5419
  manifest
5276
5420
  }, Symbol.toStringTag, { value: "Module" }));
@@ -5306,58 +5450,57 @@ function loadFieldMainSet() {
5306
5450
  "./number/operation-output-qty-manifest.ts": __vite_glob_0_27,
5307
5451
  "./number/operation-receive-qty-manifest.ts": __vite_glob_0_28,
5308
5452
  "./number/product-check-qty-manifest.ts": __vite_glob_0_29,
5309
- "./number/product-release-qty-manifest.ts": __vite_glob_0_30,
5310
- "./number/production-qty-manifest.ts": __vite_glob_0_31,
5311
- "./number/qty-consumed-manifest.ts": __vite_glob_0_32,
5312
- "./number/qty-manifest.ts": __vite_glob_0_33,
5313
- "./number/qty-required-manifest.ts": __vite_glob_0_34,
5314
- "./number/scrap-qty-manifest.ts": __vite_glob_0_35,
5315
- "./number/work-hours-manifest.ts": __vite_glob_0_36,
5316
- "./option/boolean-manifest.ts": __vite_glob_0_37,
5317
- "./option/enum-manifest.ts": __vite_glob_0_38,
5318
- "./option/enum-multi-manifest.ts": __vite_glob_0_39,
5319
- "./option/option-manifest.ts": __vite_glob_0_40,
5320
- "./option/option-multi-manifest.ts": __vite_glob_0_41,
5321
- "./rdo-select/e-sop-manifest.ts": __vite_glob_0_42,
5322
- "./rdo-select/product-manifest.ts": __vite_glob_0_43,
5323
- "./rdo-select/scrap-material-manifest.ts": __vite_glob_0_44,
5324
- "./seal/seal-manifest.ts": __vite_glob_0_45,
5325
- "./select/device-manifest.ts": __vite_glob_0_46,
5326
- "./select/device-ref-manifest.ts": __vite_glob_0_47,
5327
- "./select/device-ref-multi-manifest.ts": __vite_glob_0_48,
5328
- "./select/inspection-container-manifest.ts": __vite_glob_0_49,
5329
- "./select/location-manifest.ts": __vite_glob_0_50,
5330
- "./select/mfg-order-manifest.ts": __vite_glob_0_51,
5331
- "./select/model-relation-manifest.ts": __vite_glob_0_52,
5332
- "./select/not-good-group-manifest.ts": __vite_glob_0_53,
5333
- "./select/not-good-reason-manifest.ts": __vite_glob_0_54,
5334
- "./select/operation-manifest.ts": __vite_glob_0_55,
5335
- "./select/org-manifest.ts": __vite_glob_0_56,
5336
- "./select/org-multi-manifest.ts": __vite_glob_0_57,
5337
- "./select/production-container-manifest.ts": __vite_glob_0_58,
5338
- "./select/ref-manifest.ts": __vite_glob_0_59,
5339
- "./select/ref-multi-manifest.ts": __vite_glob_0_60,
5340
- "./select/routing-operation-manifest.ts": __vite_glob_0_61,
5341
- "./select/scrap-group-manifest.ts": __vite_glob_0_62,
5342
- "./select/scrap-reason-manifest.ts": __vite_glob_0_63,
5343
- "./select/shopfloor-manifest.ts": __vite_glob_0_64,
5344
- "./select/target-warehouse-manifest.ts": __vite_glob_0_65,
5345
- "./select/user-manifest.ts": __vite_glob_0_66,
5346
- "./select/user-multi-manifest.ts": __vite_glob_0_67,
5347
- "./select/warehouse-manifest.ts": __vite_glob_0_68,
5348
- "./text/e-sop-version-manifest.ts": __vite_glob_0_69,
5349
- "./text/external-reference-no-manifest.ts": __vite_glob_0_70,
5350
- "./text/long-text-manifest.ts": __vite_glob_0_71,
5351
- "./text/order-no-manifest.ts": __vite_glob_0_72,
5352
- "./text/record-no-manifest.ts": __vite_glob_0_73,
5353
- "./text/text-manifest.ts": __vite_glob_0_74,
5354
- "./text/udi-manifest.ts": __vite_glob_0_75,
5355
- "./text/warehouse-receipt-no-manifest.ts": __vite_glob_0_76,
5356
- "./upload/attachment-manifest.ts": __vite_glob_0_77,
5357
- "./upload/image-manifest.ts": __vite_glob_0_78,
5358
- "./upload/reporter-manifest.ts": __vite_glob_0_79,
5359
- "./upload/signature-manifest.ts": __vite_glob_0_80,
5360
- "./upload/warehouse-manager-manifest.ts": __vite_glob_0_81
5453
+ "./number/production-qty-manifest.ts": __vite_glob_0_30,
5454
+ "./number/qty-consumed-manifest.ts": __vite_glob_0_31,
5455
+ "./number/qty-manifest.ts": __vite_glob_0_32,
5456
+ "./number/qty-required-manifest.ts": __vite_glob_0_33,
5457
+ "./number/scrap-qty-manifest.ts": __vite_glob_0_34,
5458
+ "./number/work-hours-manifest.ts": __vite_glob_0_35,
5459
+ "./option/boolean-manifest.ts": __vite_glob_0_36,
5460
+ "./option/enum-manifest.ts": __vite_glob_0_37,
5461
+ "./option/enum-multi-manifest.ts": __vite_glob_0_38,
5462
+ "./option/option-manifest.ts": __vite_glob_0_39,
5463
+ "./option/option-multi-manifest.ts": __vite_glob_0_40,
5464
+ "./rdo-select/e-sop-manifest.ts": __vite_glob_0_41,
5465
+ "./rdo-select/product-manifest.ts": __vite_glob_0_42,
5466
+ "./rdo-select/scrap-material-manifest.ts": __vite_glob_0_43,
5467
+ "./seal/seal-manifest.ts": __vite_glob_0_44,
5468
+ "./select/device-manifest.ts": __vite_glob_0_45,
5469
+ "./select/device-ref-manifest.ts": __vite_glob_0_46,
5470
+ "./select/device-ref-multi-manifest.ts": __vite_glob_0_47,
5471
+ "./select/inspection-container-manifest.ts": __vite_glob_0_48,
5472
+ "./select/location-manifest.ts": __vite_glob_0_49,
5473
+ "./select/mfg-order-manifest.ts": __vite_glob_0_50,
5474
+ "./select/model-relation-manifest.ts": __vite_glob_0_51,
5475
+ "./select/not-good-group-manifest.ts": __vite_glob_0_52,
5476
+ "./select/not-good-reason-manifest.ts": __vite_glob_0_53,
5477
+ "./select/operation-manifest.ts": __vite_glob_0_54,
5478
+ "./select/org-manifest.ts": __vite_glob_0_55,
5479
+ "./select/org-multi-manifest.ts": __vite_glob_0_56,
5480
+ "./select/production-container-manifest.ts": __vite_glob_0_57,
5481
+ "./select/ref-manifest.ts": __vite_glob_0_58,
5482
+ "./select/ref-multi-manifest.ts": __vite_glob_0_59,
5483
+ "./select/routing-operation-manifest.ts": __vite_glob_0_60,
5484
+ "./select/scrap-group-manifest.ts": __vite_glob_0_61,
5485
+ "./select/scrap-reason-manifest.ts": __vite_glob_0_62,
5486
+ "./select/shopfloor-manifest.ts": __vite_glob_0_63,
5487
+ "./select/target-warehouse-manifest.ts": __vite_glob_0_64,
5488
+ "./select/user-manifest.ts": __vite_glob_0_65,
5489
+ "./select/user-multi-manifest.ts": __vite_glob_0_66,
5490
+ "./select/warehouse-manifest.ts": __vite_glob_0_67,
5491
+ "./text/e-sop-version-manifest.ts": __vite_glob_0_68,
5492
+ "./text/external-reference-no-manifest.ts": __vite_glob_0_69,
5493
+ "./text/long-text-manifest.ts": __vite_glob_0_70,
5494
+ "./text/order-no-manifest.ts": __vite_glob_0_71,
5495
+ "./text/record-no-manifest.ts": __vite_glob_0_72,
5496
+ "./text/text-manifest.ts": __vite_glob_0_73,
5497
+ "./text/udi-manifest.ts": __vite_glob_0_74,
5498
+ "./text/warehouse-receipt-no-manifest.ts": __vite_glob_0_75,
5499
+ "./upload/attachment-manifest.ts": __vite_glob_0_76,
5500
+ "./upload/image-manifest.ts": __vite_glob_0_77,
5501
+ "./upload/reporter-manifest.ts": __vite_glob_0_78,
5502
+ "./upload/signature-manifest.ts": __vite_glob_0_79,
5503
+ "./upload/warehouse-manager-manifest.ts": __vite_glob_0_80
5361
5504
  });
5362
5505
  const map = {};
5363
5506
  Object.entries(manifestModules).forEach(([path, exports2]) => {
@@ -5535,82 +5678,6 @@ function toPx(length, element) {
5535
5678
  return unit == "px" ? val : pxPerUnit(unit, element) * val;
5536
5679
  }
5537
5680
  var src = toPx;
5538
- const uuid2 = (len, radix) => {
5539
- const chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz".split("");
5540
- let uuid = [], i2;
5541
- radix = radix || chars.length;
5542
- if (len) {
5543
- for (i2 = 0; i2 < len; i2++) uuid[i2] = chars[0 | Math.random() * radix];
5544
- } else {
5545
- let r;
5546
- uuid[8] = uuid[13] = uuid[18] = uuid[23] = "-";
5547
- uuid[14] = "4";
5548
- for (i2 = 0; i2 < 36; i2++) {
5549
- if (!uuid[i2]) {
5550
- r = 0 | Math.random() * 16;
5551
- uuid[i2] = chars[i2 == 19 ? r & 3 | 8 : r];
5552
- }
5553
- }
5554
- }
5555
- return uuid.join("");
5556
- };
5557
- const normalizeToArray = (val) => Array.isArray(val) ? val.filter((v) => !isNil(v)) : !isNil(val) ? [val] : [];
5558
- const safeParseArray = (str) => {
5559
- try {
5560
- if (!str) return [];
5561
- const v = JSON.parse(str);
5562
- return Array.isArray(v) ? v : [];
5563
- } catch {
5564
- return [];
5565
- }
5566
- };
5567
- const mergeByMultiKey = (A, B, {
5568
- keyFields = ["type", "isCustom"],
5569
- fieldsToMerge = ["alias", "enable"],
5570
- isAllowMerge = true,
5571
- isConcat = false
5572
- } = {}) => {
5573
- if (!Array.isArray(A)) return [];
5574
- if (!isAllowMerge || !Array.isArray(B) || B.length === 0) return [...A];
5575
- if (isConcat && Array.isArray(A) && A.length === 0) return [...B];
5576
- const keyFn = (item) => keyFields.map((k) => {
5577
- const v = item?.[k];
5578
- if (typeof v === "boolean") return String(v);
5579
- return v == null ? "" : String(v);
5580
- }).join("::");
5581
- const bMap = keyBy(B, keyFn);
5582
- const result = A.map((a) => {
5583
- const info = bMap[keyFn(a)];
5584
- return info ? { ...a, ...pick(info, fieldsToMerge) } : { ...a };
5585
- });
5586
- return result;
5587
- };
5588
- const CLIENT_ROW_UID_KEY = "__gct_rv_uid";
5589
- const FRONT_ROW_KEY = "front_row_key_";
5590
- function ensureFrontRowKey(row) {
5591
- if (!row) return "";
5592
- const existing = row[FRONT_ROW_KEY];
5593
- if (existing != null && String(existing).trim() !== "") return String(existing);
5594
- const uid = Array.isArray(row._2DTABLE_) && row.group_ != null && String(row.group_).trim() !== "" ? `group:${row.group_}` : `r_${Date.now()}_${uuid2(8)}`;
5595
- row[FRONT_ROW_KEY] = uid;
5596
- return uid;
5597
- }
5598
- const getRowId = (row) => ensureFrontRowKey(row);
5599
- function ensureTableRowKeys(rows) {
5600
- if (!Array.isArray(rows)) return;
5601
- rows.forEach((row) => {
5602
- if (!row || typeof row !== "object" || Array.isArray(row)) return;
5603
- ensureFrontRowKey(row);
5604
- ensureTableRowKeys(row._2DTABLE_);
5605
- });
5606
- }
5607
- function resetTableRowIdentity(row) {
5608
- delete row.id_;
5609
- delete row[FRONT_ROW_KEY];
5610
- if (Array.isArray(row._2DTABLE_) && row.group_ != null) row.group_ = `dyn${uuid2(16)}`;
5611
- ensureFrontRowKey(row);
5612
- if (Array.isArray(row._2DTABLE_)) row._2DTABLE_.forEach(resetTableRowIdentity);
5613
- }
5614
5681
  var Syntax;
5615
5682
  (function(Syntax2) {
5616
5683
  Syntax2["AssignmentExpression"] = "AssignmentExpression";
@@ -59789,151 +59856,6 @@ async function requestNonMedProCheckDsData(payload) {
59789
59856
  }
59790
59857
  return Object.keys(byTable).length > 0 ? { byTable } : void 0;
59791
59858
  }
59792
- const RUNTIME_COLUMN_ROW_KEY = "_column_row_key_";
59793
- const MAX_FRONT_ROW_KEY_LENGTH = 255;
59794
- const TABLE_2D_ROW_KEY_PREFIX = "2d1.";
59795
- function encodeBase64Url(value) {
59796
- return btoa(
59797
- Array.from(new TextEncoder().encode(value), (byte) => String.fromCharCode(byte)).join("")
59798
- ).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
59799
- }
59800
- function decodeBase64Url(value) {
59801
- const base64 = value.replace(/-/g, "+").replace(/_/g, "/");
59802
- const padded = base64 + "=".repeat((4 - base64.length % 4) % 4);
59803
- return new TextDecoder().decode(Uint8Array.from(atob(padded), (char) => char.charCodeAt(0)));
59804
- }
59805
- function decodeTableCellRowKey(rowKey) {
59806
- if (typeof rowKey !== "string" || !rowKey.startsWith(TABLE_2D_ROW_KEY_PREFIX)) return void 0;
59807
- try {
59808
- const parsed = JSON.parse(decodeBase64Url(rowKey.slice(TABLE_2D_ROW_KEY_PREFIX.length)));
59809
- if (!Array.isArray(parsed) || parsed.length !== 2 || parsed.some((item) => typeof item !== "string" || item === ""))
59810
- return void 0;
59811
- return { cellRowKey: parsed[0], columnRowKey: parsed[1] };
59812
- } catch {
59813
- return void 0;
59814
- }
59815
- }
59816
- function encodeTableCellRowKey(cellRowKey, columnRowKey) {
59817
- const decoded = decodeTableCellRowKey(cellRowKey);
59818
- const originalCellRowKey = decoded?.cellRowKey ?? String(cellRowKey ?? "");
59819
- const persistedColumnRowKey = String(columnRowKey ?? "");
59820
- if (!originalCellRowKey || !persistedColumnRowKey)
59821
- throw new Error("二维表子行或关联列缺少 front_row_key_");
59822
- if (decoded?.columnRowKey === persistedColumnRowKey) return String(cellRowKey);
59823
- const encoded = `${TABLE_2D_ROW_KEY_PREFIX}${encodeBase64Url(
59824
- JSON.stringify([originalCellRowKey, persistedColumnRowKey])
59825
- )}`;
59826
- if (encoded.length > MAX_FRONT_ROW_KEY_LENGTH)
59827
- throw new Error(`二维表内置关联键长度超过 ${MAX_FRONT_ROW_KEY_LENGTH},不能提交`);
59828
- return encoded;
59829
- }
59830
- function isTableRowKeyMatch(rowKey, expected) {
59831
- if (rowKey == null || expected == null) return false;
59832
- const actual = String(rowKey);
59833
- const target = String(expected);
59834
- return actual === target || decodeTableCellRowKey(actual)?.cellRowKey === target;
59835
- }
59836
- function findRuntimeTableRow(rows, rowKey) {
59837
- if (!rowKey || !Array.isArray(rows)) return void 0;
59838
- for (const row of rows) {
59839
- if (!row || row.deleted_) continue;
59840
- if (isTableRowKeyMatch(row[FRONT_ROW_KEY], rowKey)) return row;
59841
- const child = findRuntimeTableRow(row._2DTABLE_, rowKey);
59842
- if (child) return child;
59843
- }
59844
- return void 0;
59845
- }
59846
- function findRuntimeParentRow(rows, rowKey) {
59847
- if (!rowKey || !Array.isArray(rows)) return void 0;
59848
- return rows.find(
59849
- (row) => !row?.deleted_ && (isTableRowKeyMatch(row[FRONT_ROW_KEY], rowKey) || row._2DTABLE_?.some(
59850
- (child) => !child?.deleted_ && isTableRowKeyMatch(child[FRONT_ROW_KEY], rowKey)
59851
- ))
59852
- );
59853
- }
59854
- function findRuntimeTableCell(parent, columnRowKey) {
59855
- if (!columnRowKey || !Array.isArray(parent?._2DTABLE_)) return void 0;
59856
- return parent._2DTABLE_.find(
59857
- (child) => !child?.deleted_ && child[RUNTIME_COLUMN_ROW_KEY] === columnRowKey
59858
- );
59859
- }
59860
- function getRenderedRuntimeTableCell(state, info, parent, displayColumn) {
59861
- if (!info?.colSubFieldKey) {
59862
- return parent?._2DTABLE_?.at(displayColumn);
59863
- }
59864
- const column = state[info.colSubFieldKey]?.at(displayColumn);
59865
- return column ? findRuntimeTableCell(parent, ensureFrontRowKey(column)) : void 0;
59866
- }
59867
- function bindRuntimeTableColumns(state, relations) {
59868
- const expandedTables = /* @__PURE__ */ new Set();
59869
- for (const info of relations) {
59870
- const rows = state[info.rowSubFieldKey];
59871
- const columns = info.colSubFieldKey ? state[info.colSubFieldKey] : void 0;
59872
- if (!Array.isArray(rows) || !Array.isArray(columns)) continue;
59873
- ensureTableRowKeys(columns);
59874
- for (const parent of rows) {
59875
- if (!Array.isArray(parent?._2DTABLE_)) continue;
59876
- ensureTableRowKeys([parent]);
59877
- const existingKeys = parent._2DTABLE_.map((child) => child[RUNTIME_COLUMN_ROW_KEY]).filter(Boolean);
59878
- const bound = new Set(existingKeys);
59879
- if (bound.size !== existingKeys.length)
59880
- throw new Error(`二维表「${info.rowSubFieldKey}」存在重复的关联列行键`);
59881
- const available = columns.filter(
59882
- (column) => !column.deleted_ && !bound.has(ensureFrontRowKey(column))
59883
- );
59884
- for (const child of parent._2DTABLE_) {
59885
- if (child[RUNTIME_COLUMN_ROW_KEY]) continue;
59886
- const persistedIdentity = decodeTableCellRowKey(child[FRONT_ROW_KEY]);
59887
- const reference = info.rowRefFieldKey ? child[info.rowRefFieldKey] : void 0;
59888
- let businessColumn;
59889
- if (reference != null && reference !== "" && info.colRefFieldKey) {
59890
- const matches = columns.filter(
59891
- (candidate) => String(candidate[info.colRefFieldKey]) === String(reference)
59892
- );
59893
- if (matches.length !== 1)
59894
- throw new Error(
59895
- `二维表「${info.rowSubFieldKey}」的关联列引用「${reference}」无法唯一匹配`
59896
- );
59897
- businessColumn = matches[0];
59898
- }
59899
- const persistedColumn = persistedIdentity ? columns.find(
59900
- (candidate) => ensureFrontRowKey(candidate) === persistedIdentity.columnRowKey
59901
- ) : void 0;
59902
- if (persistedIdentity && !persistedColumn)
59903
- throw new Error(
59904
- `二维表「${info.rowSubFieldKey}」子行「${child[FRONT_ROW_KEY]}」的内置关联列不存在`
59905
- );
59906
- if (businessColumn && persistedColumn && businessColumn !== persistedColumn)
59907
- throw new Error(
59908
- `二维表「${info.rowSubFieldKey}」子行「${child[FRONT_ROW_KEY]}」的业务引用与内置关联冲突`
59909
- );
59910
- const column = businessColumn ?? persistedColumn ?? available.shift();
59911
- if (!column) throw new Error(`二维表「${info.rowSubFieldKey}」缺少可绑定的关联列行`);
59912
- const columnKey = ensureFrontRowKey(column);
59913
- if (bound.has(columnKey))
59914
- throw new Error(`二维表「${info.rowSubFieldKey}」重复绑定关联列行「${columnKey}」`);
59915
- toRaw(child)[RUNTIME_COLUMN_ROW_KEY] = columnKey;
59916
- bound.add(columnKey);
59917
- const availablePosition = available.indexOf(column);
59918
- if (availablePosition >= 0) available.splice(availablePosition, 1);
59919
- }
59920
- if (!parent.deleted_) {
59921
- for (const column of available) {
59922
- const child = {
59923
- _DICT: {},
59924
- _OPCT: {},
59925
- _MCTABLE: {},
59926
- [RUNTIME_COLUMN_ROW_KEY]: ensureFrontRowKey(column)
59927
- };
59928
- ensureFrontRowKey(child);
59929
- parent._2DTABLE_.push(child);
59930
- expandedTables.add(info.rowSubFieldKey);
59931
- }
59932
- }
59933
- }
59934
- }
59935
- return Array.from(expandedTables);
59936
- }
59937
59859
  const DEFAULT_FROM_STATE = {
59938
59860
  _DICT: {},
59939
59861
  //翻译的字段
@@ -60632,27 +60554,7 @@ const transformUtils = {
60632
60554
  merge(formState, payload.defaultData);
60633
60555
  }
60634
60556
  if (!isEmpty(payload.paramData)) {
60635
- const paramData = cloneDeep(payload.paramData);
60636
- subTableInfo?.forEach((subInfo) => {
60637
- const defaultRows = formState[subInfo.field];
60638
- const mappedRows = paramData[subInfo.field]?.data;
60639
- if (!Array.isArray(defaultRows) || !defaultRows.length || !mappedRows?.length) return;
60640
- const rows = cloneDeep(defaultRows);
60641
- const is2DTable = subInfo.subTable2d && subInfo.key === "dyn" || subInfo.checkTable2d && subInfo.key === "newfixed";
60642
- if (is2DTable) {
60643
- const crossFieldKeys = subInfo.crossFieldKeys ?? [];
60644
- merge(rows[0], omit(mappedRows[0], [...crossFieldKeys, "group_"]));
60645
- mappedRows.forEach((mappedRow, index2) => {
60646
- if (rows[0]._2DTABLE_?.[index2]) {
60647
- merge(rows[0]._2DTABLE_[index2], pick(mappedRow, crossFieldKeys));
60648
- }
60649
- });
60650
- } else {
60651
- merge(rows[0], mappedRows[0]);
60652
- }
60653
- paramData[subInfo.field] = rows;
60654
- });
60655
- merge(formState, paramData);
60557
+ merge(formState, payload.paramData);
60656
60558
  }
60657
60559
  if (!isEmpty(payload.customData)) {
60658
60560
  const mergeKeys = [...subTableInfo?.map((e) => e.field) || [], "_DICT", "_OPCT"];
@@ -60759,11 +60661,18 @@ const transformUtils = {
60759
60661
  /** 数据转成真实提交数据(二维表要平铺);layout 是所有 Sheet 的业务表汇总索引。 */
60760
60662
  getSubmitFormData: (formData, layout) => {
60761
60663
  const {
60664
+ subTableInfo = [],
60665
+ businessTableFields = [],
60762
60666
  subTable2DList = [],
60763
60667
  checkTable2DList = [],
60764
60668
  materialConsumeTableList = []
60765
60669
  } = layout || {};
60766
60670
  const list2D = [...subTable2DList, ...checkTable2DList];
60671
+ const businessFields = new Set(businessTableFields);
60672
+ const fixedTableFields = new Set(
60673
+ subTableInfo.filter((table) => table.key === "newfixed").map((table) => table.field)
60674
+ );
60675
+ const structuralColumnFields = new Set(list2D.map((table) => table.colSubFieldKey));
60767
60676
  bindRuntimeTableColumns(formData, list2D);
60768
60677
  const filterKeys = [
60769
60678
  "_DICT",
@@ -60781,6 +60690,15 @@ const transformUtils = {
60781
60690
  if (isObject$1(value)) return !isEmpty(value);
60782
60691
  return true;
60783
60692
  });
60693
+ const hasSubTableSubmitData = (row) => (
60694
+ // __CHILDREN__ 包含嵌套业务记录,不能与客户端元数据一起忽略。
60695
+ Array.isArray(row.__CHILDREN__) && row.__CHILDREN__.some((child) => isObject$1(child) && hasSubTableSubmitData(child)) || hasBusinessData(
60696
+ omitBy(
60697
+ row,
60698
+ (_value, key) => key.startsWith("_") || key.endsWith("_lb_") || key === "deleted_" || key === "delete_"
60699
+ )
60700
+ )
60701
+ );
60784
60702
  const realFormData = Object.keys(formData).reduce((acc, fieldKey) => {
60785
60703
  const info = list2D.find(
60786
60704
  (item) => (item.subTable2d || item.checkTable2d) && item.rowSubFieldKey === fieldKey
@@ -60838,6 +60756,8 @@ const transformUtils = {
60838
60756
  );
60839
60757
  acc[fieldKey] = arr;
60840
60758
  } else if (Array.isArray(formData[fieldKey])) {
60759
+ const shouldFilterEmptyRows = businessFields.has(fieldKey) && !structuralColumnFields.has(fieldKey);
60760
+ const preserveFixedRowPositions = shouldFilterEmptyRows && fixedTableFields.has(fieldKey) && formData[fieldKey].some(hasSubTableSubmitData);
60841
60761
  acc[fieldKey] = formData[fieldKey].map(
60842
60762
  (item) => Object.fromEntries(
60843
60763
  Object.entries(item).filter(([key, value]) => {
@@ -60846,6 +60766,8 @@ const transformUtils = {
60846
60766
  return true;
60847
60767
  })
60848
60768
  )
60769
+ ).filter(
60770
+ (row) => !shouldFilterEmptyRows || preserveFixedRowPositions || hasSubTableSubmitData(row)
60849
60771
  );
60850
60772
  } else {
60851
60773
  acc[fieldKey] = formData[fieldKey];
@@ -61021,122 +60943,106 @@ async function generateSnByRuleId(id) {
61021
60943
  return preview(res.data.config_);
61022
60944
  }
61023
60945
  }
61024
- const withRequestCache = {
61025
- pendingMap: /* @__PURE__ */ new Map(),
61026
- cacheMap: /* @__PURE__ */ new Map(),
61027
- defaultTTL: 2 * 60 * 1e3,
61028
- // 默认缓存有效期 2分钟
61029
- /** 生成唯一 key */
61030
- getKey(url, params) {
61031
- return `${url}_${JSON.stringify(params)}`;
61032
- },
61033
- /**
61034
- * 处理带缓存与去重的请求
61035
- * @param url 唯一逻辑标识(非实际 API 地址)
61036
- * @param params 请求参数
61037
- * @param requestFn 实际请求函数
61038
- * @param ttl 可选,缓存有效期(毫秒)
61039
- */
61040
- async handleRequest(url, params, requestFn, ttl) {
61041
- const key = this.getKey(url, params);
61042
- const now2 = Date.now();
61043
- const cacheTTL = ttl ?? this.defaultTTL;
61044
- this.cleanupExpiredCache();
61045
- const cached = this.cacheMap.get(key);
61046
- if (cached && cached.expireAt > now2) {
61047
- console.info(`[cache] 命中缓存: ${key}`);
61048
- return cached.data;
61049
- } else if (cached) {
61050
- this.cacheMap.delete(key);
61051
- }
61052
- if (this.pendingMap.has(key)) {
61053
- console.warn(`[pending] 返回进行中的 Promise: ${key}`);
61054
- return this.pendingMap.get(key);
61055
- }
61056
- const reqPromise = requestFn(params).then((res) => {
61057
- this.cacheMap.set(key, {
61058
- data: res,
61059
- expireAt: Date.now() + cacheTTL
61060
- });
61061
- return res;
61062
- }).finally(() => {
61063
- this.pendingMap.delete(key);
60946
+ const EMPTY_QUERY_VALUE = "__excel_no_matching_query_value__";
60947
+ function joinAnd$1(expressions) {
60948
+ if (expressions.length === 0) return "";
60949
+ if (expressions.length === 1) return expressions[0];
60950
+ return `AND(${expressions.join(",")})`;
60951
+ }
60952
+ function joinOr$1(expressions) {
60953
+ if (expressions.length === 0) return "";
60954
+ if (expressions.length === 1) return expressions[0];
60955
+ return `OR(${expressions.join(",")})`;
60956
+ }
60957
+ function buildLikeQuery(searchFields, keyword, extraQuery = {}, options) {
60958
+ const queryData = { ...extraQuery };
60959
+ const orExpKeys = new Set(
60960
+ Array.isArray(queryData.__orExpKeys) ? queryData.__orExpKeys : []
60961
+ );
60962
+ delete queryData.__orExpKeys;
60963
+ const filterKeys = Object.keys(queryData);
60964
+ const searchKeys = [];
60965
+ if (keyword?.trim()) {
60966
+ searchFields.forEach((field) => {
60967
+ const key = field.includes(".") ? field : `${field}.iLike`;
60968
+ queryData[key] = keyword;
60969
+ searchKeys.push(key);
61064
60970
  });
61065
- this.pendingMap.set(key, reqPromise);
61066
- return reqPromise;
61067
- },
61068
- /** 清空全部缓存 */
61069
- clearCache() {
61070
- this.cacheMap.clear();
61071
- },
61072
- /** 清空 pending 状态 */
61073
- clearPending() {
61074
- this.pendingMap.clear();
61075
- },
61076
- /** 定期清理过期缓存 */
61077
- cleanupExpiredCache() {
61078
- const now2 = Date.now();
61079
- let count = 0;
61080
- for (const [key, entry] of this.cacheMap.entries()) {
61081
- if (entry.expireAt <= now2) {
61082
- this.cacheMap.delete(key);
61083
- count++;
61084
- }
61085
- }
61086
- if (count > 0) {
61087
- console.debug(`[cache] 清理过期缓存 ${count} 项`);
61088
- }
61089
60971
  }
61090
- };
60972
+ const filterCombine = options?.filterCombine ?? "and";
60973
+ let filterExp = "";
60974
+ if (orExpKeys.size > 0 && filterCombine === "and") {
60975
+ const orKeys = filterKeys.filter((key) => orExpKeys.has(key));
60976
+ const andKeys = filterKeys.filter((key) => !orExpKeys.has(key));
60977
+ const orExp = joinOr$1(orKeys);
60978
+ const andExp = joinAnd$1(andKeys);
60979
+ filterExp = andExp && orExp ? `AND(${andExp},${orExp})` : andExp || orExp;
60980
+ } else {
60981
+ filterExp = filterCombine === "or" ? joinOr$1(filterKeys) : joinAnd$1(filterKeys);
60982
+ }
60983
+ const searchExp = joinOr$1(searchKeys);
60984
+ return {
60985
+ queryData,
60986
+ exp: filterExp && searchExp ? `AND(${filterExp},${searchExp})` : filterExp || searchExp
60987
+ };
60988
+ }
60989
+ function splitAndTerms(expression) {
60990
+ if (!expression.startsWith("AND(") || !expression.endsWith(")")) return [expression];
60991
+ const inner = expression.slice(4, -1);
60992
+ const terms = [];
60993
+ let depth = 0;
60994
+ let start = 0;
60995
+ for (let index2 = 0; index2 < inner.length; index2++) {
60996
+ const char = inner[index2];
60997
+ if (char === "(") depth++;
60998
+ if (char === ")" && --depth < 0) return [expression];
60999
+ if (char === "," && depth === 0) {
61000
+ terms.push(inner.slice(start, index2).trim());
61001
+ start = index2 + 1;
61002
+ }
61003
+ }
61004
+ terms.push(inner.slice(start).trim());
61005
+ if (depth !== 0 || terms.some((term) => !term)) return [expression];
61006
+ return terms.flatMap(splitAndTerms);
61007
+ }
61008
+ function combineQueryExpressions(...expressions) {
61009
+ return joinAnd$1([...new Set(expressions.filter(Boolean).flatMap(splitAndTerms))]);
61010
+ }
61011
+ function mergeQueryFilters(query, filters) {
61012
+ if (!filters.length) return query;
61013
+ const queryData = { ...query.queryData };
61014
+ const baseExp = query.exp || joinAnd$1(Object.keys(queryData));
61015
+ const expressions = new Set(baseExp ? splitAndTerms(baseExp) : []);
61016
+ for (const filter of filters) {
61017
+ const key = `${filter.field}.${filter.operator}`;
61018
+ let values = [...new Set(filter.values)];
61019
+ const existing = queryData[key];
61020
+ if (Array.isArray(existing) && existing.length) {
61021
+ const existingValues = new Set(existing.map(String));
61022
+ values = values.filter((value) => existingValues.has(value));
61023
+ }
61024
+ queryData[key] = values.length ? values : [EMPTY_QUERY_VALUE];
61025
+ expressions.add(key);
61026
+ }
61027
+ return { ...query, queryData, exp: joinAnd$1([...expressions]) };
61028
+ }
61091
61029
  const LOT_CONTAINER_ROLE = {
61092
61030
  /** 关联批父节点 */
61093
61031
  RELATED_PARENT: "related_parent",
61094
61032
  /** 关联批子批次 */
61095
61033
  RELATED_CHILD: "related_child"
61096
61034
  };
61097
- function joinAnd$1(keys2) {
61098
- if (keys2.length === 0) return "";
61099
- if (keys2.length === 1) return keys2[0];
61100
- return `AND(${keys2.join(",")})`;
61101
- }
61102
- function joinOr$1(keys2) {
61103
- if (keys2.length === 0) return "";
61104
- if (keys2.length === 1) return keys2[0];
61105
- return `OR(${keys2.join(",")})`;
61106
- }
61107
- function toILikeKey(field) {
61108
- return field.includes(".") ? field : `${field}.iLike`;
61109
- }
61110
61035
  function omitLikeQueryKeys(queryData = {}) {
61111
61036
  return Object.fromEntries(
61112
61037
  Object.entries(queryData).filter(([key]) => !key.endsWith(".like") && !key.endsWith(".iLike"))
61113
61038
  );
61114
61039
  }
61115
- function buildLotLikeQuery(searchFields, keyword, extraQuery = {}) {
61116
- const queryData = { ...extraQuery };
61117
- const filterKeys = Object.keys(queryData);
61118
- const searchKeys = [];
61119
- if (keyword?.trim()) {
61120
- searchFields.forEach((field) => {
61121
- const key = toILikeKey(field);
61122
- queryData[key] = keyword;
61123
- searchKeys.push(key);
61124
- });
61125
- }
61126
- const filterExp = joinAnd$1(filterKeys);
61127
- const likeExp = joinOr$1(searchKeys);
61128
- const exp = filterExp && likeExp ? `AND(${filterExp},${likeExp})` : filterExp || likeExp;
61129
- return { queryData, exp };
61040
+ function buildLotLikeQuery(...args) {
61041
+ return buildLikeQuery(...args);
61130
61042
  }
61131
61043
  function buildLotSnListQuery(keyword = "", extraQuery = {}) {
61132
61044
  return buildLotLikeQuery(
61133
- [
61134
- "name_.iLike:batch",
61135
- "related_parent_name_.iLike:related",
61136
- "product_id_$code_.iLike",
61137
- "product_id_$name_.iLike",
61138
- "product_id_$spec_.iLike"
61139
- ],
61045
+ ["name_", "related_parent_name_", "product_id_code_", "product_id_name_", "spec_"],
61140
61046
  keyword,
61141
61047
  {
61142
61048
  "container_role_.ne": LOT_CONTAINER_ROLE.RELATED_PARENT,
@@ -61169,6 +61075,38 @@ function buildInspectionLotListQuery(keyword = "", extraQuery = {}) {
61169
61075
  function composeProductionLotListQuery(queryData = {}, keyword = "") {
61170
61076
  return buildProductionLotListQuery(keyword, omitLikeQueryKeys(queryData));
61171
61077
  }
61078
+ function buildMaterialLotListQuery(keyword = "", extraQuery = {}) {
61079
+ return buildLikeQuery(["name_", "product_id_code_", "product_id_name_", "spec_"], keyword, {
61080
+ "production_identification_type_.eq": ProductionIdentificationTypeEnum.MATERIAL,
61081
+ "production_identification_type_.isNull": null,
61082
+ "container_role_.ne": LOT_CONTAINER_ROLE.RELATED_PARENT,
61083
+ __orExpKeys: ["production_identification_type_.eq", "production_identification_type_.isNull"],
61084
+ ...extraQuery
61085
+ });
61086
+ }
61087
+ function composeMaterialLotListQuery(queryData = {}, exp = "") {
61088
+ const query = { ...queryData };
61089
+ const searchAliases = {
61090
+ "material_no_.like": "name_.like",
61091
+ "material_no_.iLike": "name_.iLike"
61092
+ };
61093
+ for (const [alias, key] of Object.entries(searchAliases)) {
61094
+ if (!Object.prototype.hasOwnProperty.call(query, alias)) continue;
61095
+ query[key] = query[alias];
61096
+ delete query[alias];
61097
+ }
61098
+ const searchExp = (exp || "").replace(/[^(),\s]+/g, (key) => searchAliases[key] ?? key);
61099
+ const referencedKeys = new Set(searchExp.match(/[^(),\s]+/g) ?? []);
61100
+ const filters = Object.fromEntries(
61101
+ Object.entries(query).filter(([key]) => !referencedKeys.has(key))
61102
+ );
61103
+ const baseQuery = buildMaterialLotListQuery("", filters);
61104
+ delete query.__orExpKeys;
61105
+ return {
61106
+ queryData: { ...baseQuery.queryData, ...query },
61107
+ exp: combineQueryExpressions(baseQuery.exp, searchExp)
61108
+ };
61109
+ }
61172
61110
  const CACHE_TTL = 30 * 1e3;
61173
61111
  const recordCache = /* @__PURE__ */ new Map();
61174
61112
  function isPresent(value) {
@@ -61262,11 +61200,11 @@ function buildDeviceBaseQuery(extraQuery) {
61262
61200
  const { "device_type_id_.eq": deviceTypeId, ...extra } = extraQuery ?? {};
61263
61201
  return {
61264
61202
  "state_.eq": DeviceStatus.IN_USE,
61265
- "next_calibration_date_.ge": today,
61266
- "next_calibration_date_.isNull": null,
61203
+ "last_calibration_date_.ge": today,
61204
+ "last_calibration_date_.isNull": null,
61267
61205
  ...extra,
61268
61206
  ...deviceTypeId ? { "device_type_id_.eq": deviceTypeId } : {},
61269
- __orExpKeys: ["next_calibration_date_.ge", "next_calibration_date_.isNull"]
61207
+ __orExpKeys: ["last_calibration_date_.ge", "last_calibration_date_.isNull"]
61270
61208
  };
61271
61209
  }
61272
61210
  function buildDeviceFilterQuery(extraQuery) {
@@ -61608,6 +61546,73 @@ async function syncReInspectionDate(form, belongingObject, modelFields) {
61608
61546
  form.row[path] = resolved.value;
61609
61547
  }
61610
61548
  registerDateObjectHandler("sync-re-inspection-date", syncReInspectionDate);
61549
+ const requestUtils = {
61550
+ pendingMap: /* @__PURE__ */ new Map(),
61551
+ cacheMap: /* @__PURE__ */ new Map(),
61552
+ defaultTTL: 2 * 60 * 1e3,
61553
+ // 默认缓存有效期 2分钟
61554
+ /** 生成唯一 key */
61555
+ getKey(url, params) {
61556
+ return `${url}_${JSON.stringify(params)}`;
61557
+ },
61558
+ /**
61559
+ * 处理带缓存与去重的请求
61560
+ * @param url 唯一逻辑标识(非实际 API 地址)
61561
+ * @param params 请求参数
61562
+ * @param requestFn 实际请求函数
61563
+ * @param ttl 可选,缓存有效期(毫秒)
61564
+ */
61565
+ async handleRequest(url, params, requestFn, ttl) {
61566
+ const key = this.getKey(url, params);
61567
+ const now2 = Date.now();
61568
+ const cacheTTL = ttl ?? this.defaultTTL;
61569
+ this.cleanupExpiredCache();
61570
+ const cached = this.cacheMap.get(key);
61571
+ if (cached && cached.expireAt > now2) {
61572
+ console.info(`[cache] 命中缓存: ${key}`);
61573
+ return cached.data;
61574
+ } else if (cached) {
61575
+ this.cacheMap.delete(key);
61576
+ }
61577
+ if (this.pendingMap.has(key)) {
61578
+ console.warn(`[pending] 返回进行中的 Promise: ${key}`);
61579
+ return this.pendingMap.get(key);
61580
+ }
61581
+ const reqPromise = requestFn(params).then((res) => {
61582
+ this.cacheMap.set(key, {
61583
+ data: res,
61584
+ expireAt: Date.now() + cacheTTL
61585
+ });
61586
+ return res;
61587
+ }).finally(() => {
61588
+ this.pendingMap.delete(key);
61589
+ });
61590
+ this.pendingMap.set(key, reqPromise);
61591
+ return reqPromise;
61592
+ },
61593
+ /** 清空全部缓存 */
61594
+ clearCache() {
61595
+ this.cacheMap.clear();
61596
+ },
61597
+ /** 清空 pending 状态 */
61598
+ clearPending() {
61599
+ this.pendingMap.clear();
61600
+ },
61601
+ /** 定期清理过期缓存 */
61602
+ cleanupExpiredCache() {
61603
+ const now2 = Date.now();
61604
+ let count = 0;
61605
+ for (const [key, entry] of this.cacheMap.entries()) {
61606
+ if (entry.expireAt <= now2) {
61607
+ this.cacheMap.delete(key);
61608
+ count++;
61609
+ }
61610
+ }
61611
+ if (count > 0) {
61612
+ console.debug(`[cache] 清理过期缓存 ${count} 项`);
61613
+ }
61614
+ }
61615
+ };
61611
61616
  async function getDeptList() {
61612
61617
  const data = await api.apaas.designerCommon.getGetCanBeUsedOrg() || [];
61613
61618
  data?.forEach((i2) => {
@@ -61637,7 +61642,7 @@ async function getEnumList(modelKey, fieldKey) {
61637
61642
  };
61638
61643
  }
61639
61644
  async function getUserList(modelKey, fieldKey) {
61640
- const result = await withRequestCache.handleRequest(
61645
+ const result = await requestUtils.handleRequest(
61641
61646
  "/api/getUserList",
61642
61647
  { modelKey, fieldKey, onlyHasSeat: true, pageSize: 999 },
61643
61648
  api.apaas.designerCommon.getGetCanBeUsedOrgUser
@@ -61677,17 +61682,6 @@ async function getRefList({
61677
61682
  totalCount: 0
61678
61683
  };
61679
61684
  }
61680
- if ((bizType || fieldType) === FIELD_TYPE.E_SOP || refModelKey === "em_document") {
61681
- const settings = window.NocodeAdapter.hooks?.useBusinessSetting?.();
61682
- await settings?.ensureBusinessSettingLoaded?.();
61683
- if (settings?.businessSetting?.enableSopDocApprove) {
61684
- queryData = {
61685
- ...queryData,
61686
- operating_state_: true,
61687
- approve_status_: "EFFECTIVE"
61688
- };
61689
- }
61690
- }
61691
61685
  const params = {
61692
61686
  modelKey,
61693
61687
  fieldKey,
@@ -61713,7 +61707,7 @@ async function getRefList({
61713
61707
  }
61714
61708
  const useAvailableRoutingOperation = isRoutingOperationFieldType(fieldType, bizType);
61715
61709
  const url = useAvailableRoutingOperation ? "/api/routingOperation/available" : "/api/getRefList";
61716
- return withRequestCache.handleRequest(url, params, async (props) => {
61710
+ return requestUtils.handleRequest(url, params, async (props) => {
61717
61711
  const {
61718
61712
  modelKey: modelKey2,
61719
61713
  fieldKey: fieldKey2,
@@ -61822,7 +61816,7 @@ async function getLot2SnList({
61822
61816
  }
61823
61817
  const url = "/api/lot2SnList/v2";
61824
61818
  const params = { queryData, exp, pageNo, pageSize };
61825
- return withRequestCache.handleRequest(url, params, async (props) => {
61819
+ return requestUtils.handleRequest(url, params, async (props) => {
61826
61820
  const apiParams = {
61827
61821
  modelCategory: EntityModelCategoryEnum.ENTITY,
61828
61822
  modelKey: "em_production_identification",
@@ -61862,7 +61856,7 @@ async function getSterilizeLotList({
61862
61856
  } = {}) {
61863
61857
  const url = "/api/sterilizeLotList";
61864
61858
  const params = { queryData, pageNo, pageSize };
61865
- return withRequestCache.handleRequest(url, params, async (props) => {
61859
+ return requestUtils.handleRequest(url, params, async (props) => {
61866
61860
  const apiParams = {
61867
61861
  modelCategory: EntityModelCategoryEnum.ENTITY,
61868
61862
  modelKey: "em_production_identification",
@@ -61899,7 +61893,7 @@ async function getDeviceList({
61899
61893
  } = {}) {
61900
61894
  const url = "/api/deviceSearch";
61901
61895
  const params = { queryData, exp, pageNo, pageSize };
61902
- return withRequestCache.handleRequest(url, params, async (props) => {
61896
+ return requestUtils.handleRequest(url, params, async (props) => {
61903
61897
  const res = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
61904
61898
  DEVICE_SEARCH_API,
61905
61899
  {},
@@ -61927,25 +61921,18 @@ async function getDeviceList({
61927
61921
  async function getMaterialLotList({ queryData = {}, exp = "", pageNo = 1, pageSize = 20 } = {}) {
61928
61922
  const url = "/api/materialLotList";
61929
61923
  const params = { queryData, exp, pageNo, pageSize };
61930
- return withRequestCache.handleRequest(url, params, async (props) => {
61924
+ return requestUtils.handleRequest(url, params, async (props) => {
61931
61925
  const params2 = {
61932
61926
  modelCategory: EntityModelCategoryEnum.ENTITY,
61933
61927
  modelKey: "em_production_identification",
61934
61928
  bsKey: "biz_get_production_identification"
61935
61929
  };
61930
+ const materialQuery = composeMaterialLotListQuery(props.queryData, props.exp);
61936
61931
  const queryParams = {
61937
61932
  pageNo: props.pageNo,
61938
61933
  pageSize: props.pageSize,
61939
- exp: refUtils.splicingExp(
61940
- "AND(OR(production_identification_type_.eq,production_identification_type_.isNull),container_role_.ne)",
61941
- props.exp
61942
- ),
61943
- query: {
61944
- "production_identification_type_.eq": ProductionIdentificationTypeEnum.MATERIAL,
61945
- "production_identification_type_.isNull": null,
61946
- "container_role_.ne": LOT_CONTAINER_ROLE.RELATED_PARENT,
61947
- ...props.queryData
61948
- }
61934
+ exp: materialQuery.exp,
61935
+ query: materialQuery.queryData
61949
61936
  };
61950
61937
  const res = await api.apaas.modelComprehensive.postBizServiceGeneralModelCategoryModelKeyBsKey(
61951
61938
  params2,
@@ -62232,7 +62219,7 @@ const renderUtils = {
62232
62219
  if ([FIELD_TYPE.INTEGER, FIELD_TYPE.LONG].includes(fieldType)) {
62233
62220
  const _val_ = parseInt(value);
62234
62221
  return isNaN(_val_) ? void 0 : _val_;
62235
- } else if ([FIELD_TYPE.DECIMAL, FIELD_TYPE.PRODUCT_RELEASE_QTY].includes(fieldType)) {
62222
+ } else if (fieldType === FIELD_TYPE.DECIMAL) {
62236
62223
  const _val_ = parseFloat(value);
62237
62224
  return isNaN(_val_) ? void 0 : _val_;
62238
62225
  } else if (fieldType === FIELD_TYPE.BOOLEAN) {
@@ -62940,7 +62927,7 @@ const renderUtils = {
62940
62927
  for (const dataCenter of dataCenters) {
62941
62928
  await processWidgets(dataCenter, pushField);
62942
62929
  }
62943
- withRequestCache.clearCache();
62930
+ requestUtils.clearCache();
62944
62931
  },
62945
62932
  /** 获取默认值集合 */
62946
62933
  getDefaultValueMapByField: ({
@@ -63027,7 +63014,7 @@ const renderUtils = {
63027
63014
  case FIELD_TYPE.ORG_MULTI:
63028
63015
  return defaultOrgId;
63029
63016
  case FIELD_TYPE.MATERIAL_NO:
63030
- return mainMaterialNo;
63017
+ return bizType === FIELD_TYPE.MATERIAL_CONTAINER ? defaultValue : mainMaterialNo;
63031
63018
  case FIELD_TYPE.RELATED_LOT_NO:
63032
63019
  return mainRelatedLotNo;
63033
63020
  case FIELD_TYPE.PRODUCT:
@@ -64352,12 +64339,16 @@ const calcUtils = {
64352
64339
  (acc, item) => {
64353
64340
  acc.containerIds.push(item.trId);
64354
64341
  Object.entries(item.mergeCells).forEach(([key, value]) => {
64342
+ const sourceTdId = value.dataFsSymbol.replace("gct.", "");
64343
+ if ((item.status === calcUtils.GH || item.status === calcUtils.SH) && value.tdId === sourceTdId) {
64344
+ delete staticMergeRemaining[sourceTdId];
64345
+ }
64355
64346
  const rowH = pageItem.dynHeights.get(item.uuid);
64356
64347
  const rowContrib = Array.isArray(rowH) ? rowH.reduce((a, b) => a + b, 0) : rowH ?? item.height ?? 0;
64357
64348
  if (!acc.mergeCells[key]) {
64358
64349
  acc.mergeCells[key] = {
64359
64350
  firstTdId: value.tdId,
64360
- sourceTdId: value.dataFsSymbol.replace("gct.", ""),
64351
+ sourceTdId,
64361
64352
  rowspan: 1,
64362
64353
  // 初始值为 1
64363
64354
  borderAttrs: value.borderAttrs,
@@ -64508,10 +64499,14 @@ const calcUtils = {
64508
64499
  if (!groups.has(sheetId)) groups.set(sheetId, []);
64509
64500
  groups.get(sheetId).push(id);
64510
64501
  }
64511
- if (groups.size) return [...groups.entries()].flatMap(([sheetId, ids]) => {
64512
- const partition = { ...runtimeJson, paper: { ...root2, nextIds: ids, props: { ...root2.props, floatingFieldIds: [] } } };
64513
- return calcUtils.initCalc(partition, formState).map((page, pageIndex) => ({ ...page, sheetId, pageIndex }));
64514
- });
64502
+ if (groups.size)
64503
+ return [...groups.entries()].flatMap(([sheetId, ids]) => {
64504
+ const partition = {
64505
+ ...runtimeJson,
64506
+ paper: { ...root2, nextIds: ids, props: { ...root2.props, floatingFieldIds: [] } }
64507
+ };
64508
+ return calcUtils.initCalc(partition, formState).map((page, pageIndex) => ({ ...page, sheetId, pageIndex }));
64509
+ });
64515
64510
  }
64516
64511
  const baseMarketObj = calcUtils.marketOverview(runtimeJson, formState);
64517
64512
  const paper = runtimeJson[ComponentTypeEnum.PAPER];
@@ -64934,140 +64929,238 @@ function resolveFieldRenderComponent(props) {
64934
64929
  }
64935
64930
  return resolveRenderComponent(props.bizType, props.fieldType);
64936
64931
  }
64937
- function getCurrentFormData(_rule, options) {
64938
- if (!_rule._subtableFieldId) return options?.formData;
64939
- return findRuntimeTableRow(options?.formData?.[_rule._subtableFieldId], _rule._rowKey);
64940
- }
64941
- function isSameOptionValue(current, expected) {
64942
- if (typeof expected === "boolean") {
64943
- return renderUtils.getBoolValue(current) === expected;
64944
- }
64945
- if (current === void 0 || current === null || current === "") {
64946
- return false;
64947
- }
64948
- return String(current) === String(expected);
64949
- }
64950
- function isAttachFieldActive(attach, formData) {
64951
- if (attach?.parent && !isAttachFieldActive(attach.parent, formData)) return false;
64952
- if (!attach?.belongFieldId || isNil(attach.optionValue)) {
64953
- return true;
64954
- }
64955
- const row = attach.subtableFieldId ? findRuntimeTableRow(formData?.[attach.subtableFieldId], attach.rowKey) : formData;
64956
- if (attach.subtableFieldId && (!attach.rowKey || !row || row === formData)) {
64957
- return false;
64958
- }
64959
- const raw = row?.[attach.belongFieldId];
64960
- if (attach.multiple) {
64961
- const current = renderUtils.getValue(raw, true);
64962
- if (!Array.isArray(current)) return false;
64963
- return current.some((v) => isSameOptionValue(v, attach.optionValue));
64964
- }
64965
- return isSameOptionValue(raw, attach.optionValue);
64932
+ const getApi$1 = api.apaas.modelComprehensive.getBizServiceModelCategoryModelKeyBsKey;
64933
+ const postApi = api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey;
64934
+ async function materialCheck(params) {
64935
+ const res = await postApi(
64936
+ {
64937
+ bsKey: "biz_single_material_check",
64938
+ modelKey: "em_material_loading",
64939
+ modelCategory: "entity"
64940
+ },
64941
+ {},
64942
+ params
64943
+ );
64944
+ return res;
64966
64945
  }
64967
- function isReferenceOptionActive(referenceInfo, rowFormData) {
64968
- if (!referenceInfo?.belongFieldId || isNil(referenceInfo.optionValue)) {
64969
- return true;
64970
- }
64971
- return isAttachFieldActive(
64946
+ async function stockCheck(params) {
64947
+ await postApi(
64972
64948
  {
64973
- belongFieldId: referenceInfo.belongFieldId,
64974
- optionValue: referenceInfo.optionValue,
64975
- multiple: referenceInfo.multiple
64949
+ bsKey: "biz_form_single_confirm",
64950
+ modelKey: "em_material_loading",
64951
+ modelCategory: "entity"
64976
64952
  },
64977
- rowFormData
64953
+ {},
64954
+ {
64955
+ entry: params.entry,
64956
+ material_id_: params.row.product_id_,
64957
+ production_identification_name_: params.row.material_no_,
64958
+ qty_: params.row.qty_,
64959
+ operation_id_: params.row.routing_operation_id_,
64960
+ main_material_no_: params.mainMaterialNo
64961
+ }
64978
64962
  );
64979
64963
  }
64980
- const stampKeys = [
64981
- "sealId",
64982
- "sealName",
64983
- "sealType",
64984
- "sealImage",
64985
- "sealUserId",
64986
- "sealUserName",
64987
- "sealUserTime"
64988
- ];
64989
- function isSealPosition(value) {
64990
- if (!value || typeof value !== "object") return false;
64991
- const p2 = value;
64992
- 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;
64964
+ async function fetchHistoryConsume(params) {
64965
+ const res = await postApi(
64966
+ {
64967
+ bsKey: "listAll",
64968
+ modelKey: "em_material_consume",
64969
+ modelCategory: "entity"
64970
+ },
64971
+ {},
64972
+ {
64973
+ query: params
64974
+ }
64975
+ );
64976
+ console.log("查询历史消耗数据", res);
64977
+ const arr = res.data ?? [];
64978
+ arr.map((i2) => {
64979
+ i2.qty_ = i2.qty_consumed_;
64980
+ });
64981
+ return arr;
64993
64982
  }
64994
- function readSealValue(raw, fallback) {
64995
- let parsed = {};
64996
- try {
64997
- const value = typeof raw === "string" ? JSON.parse(raw || "{}") : raw;
64998
- if (value && typeof value === "object" && !Array.isArray(value)) parsed = value;
64999
- } catch {
65000
- }
65001
- const stamp = Object.fromEntries(
65002
- stampKeys.map((key) => [key, typeof parsed[key] === "string" ? parsed[key] : ""])
64983
+ async function judgeUnique(opts) {
64984
+ const res = await postApi(
64985
+ {
64986
+ bsKey: "biz_form_unique",
64987
+ modelKey: "em_material_loading",
64988
+ modelCategory: "entity"
64989
+ },
64990
+ {},
64991
+ {
64992
+ model_key_: opts.modelKey,
64993
+ datas_: opts.data
64994
+ }
65003
64995
  );
65004
- return {
65005
- ...stamp,
65006
- sealPosition: { ...isSealPosition(parsed.sealPosition) ? parsed.sealPosition : fallback }
65007
- };
64996
+ return res;
65008
64997
  }
65009
- function isSealStamped(raw) {
64998
+ async function isBomGranted() {
65010
64999
  try {
65011
- const value = typeof raw === "string" ? JSON.parse(raw || "{}") : raw;
65012
- return !!value && typeof value.sealId === "string" && !!value.sealId && typeof value.sealImage === "string" && !!value.sealImage;
65013
- } catch {
65000
+ const res = await getApi$1(
65001
+ {
65002
+ modelKey: "em_product_bom",
65003
+ bsKey: "biz_bom_granted",
65004
+ modelCategory: "entity"
65005
+ },
65006
+ {},
65007
+ {}
65008
+ );
65009
+ return res ?? false;
65010
+ } catch (error) {
65011
+ console.log("");
65014
65012
  return false;
65015
65013
  }
65016
65014
  }
65017
- function isValidSealValue(raw) {
65018
- try {
65019
- const value = typeof raw === "string" ? JSON.parse(raw || "{}") : raw;
65020
- return !!value && stampKeys.every((key) => typeof value[key] === "string") && isSealPosition(value.sealPosition) && (stampKeys.every((key) => !value[key]) || stampKeys.every((key) => !!value[key]));
65021
- } catch {
65022
- return false;
65015
+ async function getReinspectionDate(params) {
65016
+ if (!params.material_no_id_ && !params.material_no_) return;
65017
+ ({
65018
+ "product_id_.versionIn": [params.product_id_.split(":").pop()]
65019
+ });
65020
+ if (params.material_no_id_) {
65021
+ params.material_no_id_;
65022
+ } else {
65023
+ params.material_no_;
65023
65024
  }
65025
+ const res = await postApi(
65026
+ {
65027
+ modelCategory: "entity",
65028
+ modelKey: "em_production_identification",
65029
+ bsKey: "getOne"
65030
+ },
65031
+ {},
65032
+ {
65033
+ query: {
65034
+ name_: params.material_no_,
65035
+ id_: params.material_no_id_,
65036
+ "product_id_.versionEq": params.product_id_
65037
+ }
65038
+ }
65039
+ );
65040
+ const record = res?.data?.[0] ?? res?.data;
65041
+ const raw = record?.re_inspection_date_ ?? record?.retest_date_;
65042
+ if (raw == null || raw === "") return;
65043
+ const parsed = dayjs(raw);
65044
+ if (!parsed.isValid()) return;
65045
+ return parsed.format("YYYY-MM-DD");
65024
65046
  }
65025
- function moveSealValue(raw, fallback, position) {
65026
- return JSON.stringify({ ...readSealValue(raw, fallback), sealPosition: { ...position } });
65027
- }
65028
- function stampSealValue(raw, fallback, stamp) {
65029
- const current = readSealValue(raw, fallback);
65030
- const next = readSealValue({ ...stamp, sealPosition: current.sealPosition }, fallback);
65031
- return JSON.stringify(next);
65047
+ async function validateReinspectionDate(opts) {
65048
+ if (!opts.product_id_ || !opts.material_no_ && !opts.material_no_id_) return;
65049
+ const date = await getReinspectionDate({
65050
+ product_id_: opts.product_id_,
65051
+ material_no_: opts.material_no_,
65052
+ material_no_id_: opts.material_no_id_
65053
+ });
65054
+ if (!date) return;
65055
+ if (dayjs(date).isBefore(dayjs(), "day")) {
65056
+ throw new Error($t("sys.retestDateErrorTip"));
65057
+ }
65032
65058
  }
65033
- function clearSealValue(raw, fallback) {
65034
- return JSON.stringify(
65035
- readSealValue({ sealPosition: readSealValue(raw, fallback).sealPosition }, fallback)
65059
+ async function getLotLockedReason(production_identification_id_) {
65060
+ const { data = {}, dict = {} } = await postApi(
65061
+ {
65062
+ modelCategory: "entity",
65063
+ modelKey: "em_production_identification_lock_record",
65064
+ bsKey: "biz_get_one_lock_record"
65065
+ },
65066
+ {},
65067
+ {
65068
+ production_identification_id_
65069
+ }
65036
65070
  );
65071
+ return $t("sys.lotLockedReason", {
65072
+ name: dict.lock_user_id_[data.lock_user_id_],
65073
+ reason: data.lock_reason_
65074
+ });
65037
65075
  }
65038
- function normalizeSealDiameter(value) {
65039
- const diameter = Number(value);
65040
- return Number.isFinite(diameter) && diameter > 0 ? Math.min(diameter, 200) : 42;
65076
+ var Config_Fields = /* @__PURE__ */ ((Config_Fields2) => {
65077
+ Config_Fields2["materialCode"] = "materialCode";
65078
+ Config_Fields2["lot"] = "lot";
65079
+ Config_Fields2["qty"] = "qty";
65080
+ Config_Fields2["expiration"] = "expiration";
65081
+ Config_Fields2["deviceCode"] = "deviceCode";
65082
+ Config_Fields2["other"] = "other";
65083
+ return Config_Fields2;
65084
+ })(Config_Fields || {});
65085
+ const getApi = api.apaas.modelComprehensive.getBizServiceModelCategoryModelKeyBsKey;
65086
+ async function getParseRuleInfo(params) {
65087
+ const res = await getApi(
65088
+ {
65089
+ bsKey: "rdoGetVersionById",
65090
+ modelKey: "em_barcode_parsing_rules",
65091
+ modelCategory: "entity"
65092
+ },
65093
+ params
65094
+ );
65095
+ return res.data;
65041
65096
  }
65042
- function clampSealPosition(position, widthMm, heightMm, diameterMm) {
65043
- return {
65044
- ...position,
65045
- leftMm: Math.max(0, Math.min(position.leftMm, Math.max(0, widthMm - diameterMm))),
65046
- topMm: Math.max(0, Math.min(position.topMm, Math.max(0, heightMm - diameterMm)))
65047
- };
65097
+ function handleOldConfig(config) {
65098
+ if (config.list && !config.fieldList) {
65099
+ config.fieldList = config.list.map((type) => {
65100
+ return {
65101
+ type,
65102
+ key: type === Config_Fields.other ? uuid2(32) : type
65103
+ };
65104
+ });
65105
+ delete config.list;
65106
+ }
65107
+ config.fieldList.forEach((item) => {
65108
+ if (!item.key) {
65109
+ item.key = item.type === Config_Fields.other ? uuid2(32) : item.type;
65110
+ }
65111
+ });
65112
+ return config;
65048
65113
  }
65049
- function initializeSealFields(fields2, formData) {
65050
- for (const { props } of fields2) {
65051
- if (!props.field || props.isFieldModel || props.subFieldKey) continue;
65052
- const raw = formData[props.field];
65053
- if (raw == null || raw === "") {
65054
- formData[props.field] = JSON.stringify(readSealValue("", props.sealPosition));
65055
- continue;
65114
+ function getParseRuleValue(labelStr, labelRule) {
65115
+ if (!labelRule) {
65116
+ throw new Error("请传入解析规则");
65117
+ }
65118
+ const ruleObj = JSON.parse(labelRule);
65119
+ const ruleConfig = handleOldConfig(ruleObj);
65120
+ const { separator, nullSymbol, fieldList } = ruleConfig;
65121
+ const labelArr = labelStr.split(separator);
65122
+ return labelArr.reduce((obj, e, idx) => {
65123
+ const field = fieldList[idx];
65124
+ if (field) {
65125
+ let val = nullSymbol && e === nullSymbol ? null : e;
65126
+ if (val !== null) {
65127
+ switch (field.type) {
65128
+ case Config_Fields.qty:
65129
+ val = Number(val);
65130
+ break;
65131
+ case Config_Fields.expiration:
65132
+ val = dayjs(val, field.format).format("YYYY-MM-DD HH:mm:ss");
65133
+ break;
65134
+ }
65135
+ }
65136
+ obj[field.key] = val;
65056
65137
  }
65057
- try {
65058
- const parsed = typeof raw === "string" ? JSON.parse(raw) : raw;
65059
- if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) continue;
65060
- if (!isSealPosition(parsed.sealPosition)) {
65061
- formData[props.field] = JSON.stringify({
65062
- ...parsed,
65063
- sealPosition: { ...props.sealPosition }
65138
+ return obj;
65139
+ }, {});
65140
+ }
65141
+ async function getParseRuleConfig(id) {
65142
+ const res = await getParseRuleInfo({ id });
65143
+ if (res?.rules_) {
65144
+ const ruleObj = JSON.parse(res.rules_);
65145
+ const ruleConfig = handleOldConfig(ruleObj);
65146
+ return ruleConfig;
65147
+ }
65148
+ }
65149
+ function calcFillData(data, fillMapArr) {
65150
+ const obj = {};
65151
+ if (fillMapArr?.length) {
65152
+ fillMapArr.forEach((i2) => {
65153
+ const fromKey = i2.barcodeField;
65154
+ if (fromKey && fromKey in data) {
65155
+ const val = data[fromKey];
65156
+ i2.formFields?.forEach((key) => {
65157
+ const toKey2 = key.split(".")[1];
65158
+ obj[toKey2] = val;
65064
65159
  });
65065
- } else if (typeof raw !== "string") {
65066
- formData[props.field] = JSON.stringify(parsed);
65067
65160
  }
65068
- } catch {
65069
- }
65161
+ });
65070
65162
  }
65163
+ return obj;
65071
65164
  }
65072
65165
  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;
65073
65166
  function clone(configObject) {
@@ -66400,674 +66493,6 @@ function toFixedPoint(str, e, z) {
66400
66493
  return str;
66401
66494
  }
66402
66495
  var BigNumber = clone();
66403
- const { identify, calculate } = {
66404
- identify: (expression) => window.NocodeAdapter.utils?.formulaIdentify?.(expression) ?? [],
66405
- calculate: (expression, data) => window.NocodeAdapter.utils?.formulaCalculate?.(expression, data)
66406
- };
66407
- const getFieldDataValue = (parseInfo, formData) => {
66408
- const getTextValue = (processedKey, value) => {
66409
- const textValue = value ?? formData?.[processedKey] ?? "";
66410
- return Array.isArray(textValue) ? textValue.join() : textValue;
66411
- };
66412
- const { type, processed, hashValue } = parseInfo;
66413
- if (type === "hash") {
66414
- const tableData = toRaw(formData?.[hashValue] || []);
66415
- return tableData.filter((d) => !d.deleted_).map((row) => getTextValue(processed, row?.[processed])).filter((i2) => !isNil(i2));
66416
- }
66417
- return getTextValue(processed, formData?.[processed]);
66418
- };
66419
- const parseFormulaVar = (formulaVar) => {
66420
- const result = {
66421
- original: formulaVar,
66422
- type: "",
66423
- processed: "",
66424
- hashValue: "",
66425
- dataType: ""
66426
- };
66427
- if (/^\$([^$]+)\$\.(.+)$/.test(formulaVar)) {
66428
- const match = formulaVar.match(/^\$([^$]+)\$\.(.+)$/);
66429
- result.type = "hash";
66430
- result.processed = match[2];
66431
- result.hashValue = match[1];
66432
- result.dataType = "globType";
66433
- } else if (/^_\.(.+)$/.test(formulaVar)) {
66434
- const match = formulaVar.match(/^_\.(.+)$/);
66435
- result.type = "underscore";
66436
- result.processed = match[1];
66437
- result.dataType = "currentRowType";
66438
- } else {
66439
- result.type = "plain";
66440
- result.processed = formulaVar;
66441
- result.dataType = "globType";
66442
- }
66443
- return result;
66444
- };
66445
- const getParseFormulaVarInfos = (expr) => {
66446
- const rowArgs = expr ? identify(expr) : [];
66447
- return {
66448
- rowArgs,
66449
- parseInfos: rowArgs.map((curr) => parseFormulaVar(curr))
66450
- };
66451
- };
66452
- const calculateFormula = async (expr, formData, instanceFormState) => {
66453
- const rowArgs = identify(expr);
66454
- const formulaData = isEmpty(rowArgs) ? {} : rowArgs.reduce((total, curr) => {
66455
- const parseInfo = parseFormulaVar(curr);
66456
- total[curr] = getFieldDataValue(
66457
- parseInfo,
66458
- parseInfo.dataType === "currentRowType" ? formData : instanceFormState
66459
- );
66460
- return total;
66461
- }, {});
66462
- return calculate(expr, formulaData);
66463
- };
66464
- const isEmptyValue = (value) => {
66465
- return value === void 0 || value === null || typeof value === "string" && value.trim() === "" || Array.isArray(value) && value.length === 0;
66466
- };
66467
- const compareByOp = (left, right, op) => {
66468
- switch (op) {
66469
- case RangeCompareOp.LT:
66470
- return left < right;
66471
- case RangeCompareOp.LE:
66472
- return left <= right;
66473
- case RangeCompareOp.GT:
66474
- return left > right;
66475
- case RangeCompareOp.GE:
66476
- default:
66477
- return left >= right;
66478
- }
66479
- };
66480
- const rangeCompareMessage = (op, val) => {
66481
- switch (op) {
66482
- case RangeCompareOp.LT:
66483
- return $t("sys.fieldValueNotGreaterOrEqual", { val });
66484
- case RangeCompareOp.LE:
66485
- return $t("sys.fieldValueNoMoreThan", { val });
66486
- case RangeCompareOp.GT:
66487
- return $t("sys.fieldValueNotLessOrEqual", { val });
66488
- case RangeCompareOp.GE:
66489
- default:
66490
- return $t("sys.fieldValueNotLessThan", { val });
66491
- }
66492
- };
66493
- const toUnixTimestamp = (input) => {
66494
- if (isNil(input) || input === "") return null;
66495
- const asNumber = typeof input === "number" || typeof input === "string" && /^-?\d+(\.\d+)?$/.test(input.trim());
66496
- if (asNumber) {
66497
- const n = Number(input);
66498
- if (Number.isNaN(n)) return null;
66499
- const parsed2 = n > 1e12 ? dayjs(n) : dayjs.unix(n);
66500
- return parsed2.isValid() ? parsed2.unix() : null;
66501
- }
66502
- const parsed = dayjs(input);
66503
- return parsed.isValid() ? parsed.unix() : null;
66504
- };
66505
- const buildError = (validatorInfo, message2) => JSON.stringify({ ...validatorInfo, message: message2 });
66506
- function areValidationCommentsEqual(left, right) {
66507
- const serialize = (comments) => JSON.stringify(
66508
- comments,
66509
- (_key, value) => value && typeof value === "object" && "message" in value ? { ...value, message: value.message } : value
66510
- );
66511
- return serialize(left) === serialize(right);
66512
- }
66513
- const createRule = (validator, message2, trigger = "change") => ({
66514
- required: true,
66515
- validator,
66516
- message: message2,
66517
- trigger
66518
- });
66519
- function relocateDeletedRowsToEnd(rows = []) {
66520
- const active = [];
66521
- const deleted = [];
66522
- for (const row of rows) {
66523
- if (row?.deleted_) deleted.push(row);
66524
- else active.push(row);
66525
- }
66526
- return [...active, ...deleted];
66527
- }
66528
- const MAX_NUMERIC_DIGITS = 15;
66529
- const NUMERIC_FIELD_TYPES = /* @__PURE__ */ new Set([
66530
- FIELD_TYPE.INTEGER,
66531
- FIELD_TYPE.LONG,
66532
- FIELD_TYPE.DOUBLE,
66533
- FIELD_TYPE.DECIMAL
66534
- ]);
66535
- function filterRulesByTrigger(rules, trigger) {
66536
- return rules.filter((rule) => {
66537
- const ruleTrigger = rule.trigger;
66538
- if (!ruleTrigger) return trigger === "change";
66539
- if (trigger === "blur") {
66540
- return ruleTrigger === "blur" || ruleTrigger === "change";
66541
- }
66542
- return ruleTrigger === trigger;
66543
- });
66544
- }
66545
- function assembleRules(input) {
66546
- const { showRequired, fieldType, validatorInfo, props } = input;
66547
- const {
66548
- minlength,
66549
- maxlength,
66550
- regex,
66551
- regexHint,
66552
- validateTrue,
66553
- validateFalse,
66554
- enableRangeValidate,
66555
- maxValidateMode,
66556
- minValidateMode,
66557
- maxCompareOp,
66558
- minCompareOp,
66559
- minValue,
66560
- maxValue,
66561
- minFormulaExpr,
66562
- maxFormulaExpr,
66563
- minDate,
66564
- maxDate,
66565
- minDateFormulaExpr,
66566
- maxDateFormulaExpr,
66567
- maxDateValidateMode,
66568
- minDateValidateMode
66569
- } = props;
66570
- const resolvedMaxCompareOp = maxCompareOp ?? RangeCompareOp.LE;
66571
- const resolvedMinCompareOp = minCompareOp ?? RangeCompareOp.GE;
66572
- const RuleProps = [];
66573
- if (props.bizType === FIELD_TYPE.SEAL) {
66574
- if (showRequired) {
66575
- RuleProps.push(
66576
- createRule(
66577
- (_rule, value) => isSealStamped(value),
66578
- buildError(
66579
- { ...validatorInfo, validationCode: "seal-required" },
66580
- $t("sys.fieldRequired")
66581
- ),
66582
- "manual"
66583
- )
66584
- );
66585
- }
66586
- RuleProps.push(createRule((_rule, value) => isEmptyValue(value) || isValidSealValue(value), buildError(validatorInfo, $t("sys.seal.invalid"))));
66587
- return RuleProps;
66588
- }
66589
- if (showRequired) {
66590
- RuleProps.push(
66591
- createRule(
66592
- (_rule, value) => !isEmptyValue(value),
66593
- buildError(validatorInfo, $t("sys.fieldRequired")),
66594
- "manual"
66595
- )
66596
- );
66597
- }
66598
- if (!isNil(minlength)) {
66599
- RuleProps.push(
66600
- createRule((_rule, value) => {
66601
- if (isEmptyValue(value)) return true;
66602
- return String(value).length >= minlength;
66603
- }, buildError(validatorInfo, $t("sys.fieldLengthNotLessThan", { len: minlength })))
66604
- );
66605
- }
66606
- const effectiveMaxlength = isNil(maxlength) && fieldType === FIELD_TYPE.TEXT ? 1024 : maxlength;
66607
- if (!isNil(effectiveMaxlength)) {
66608
- RuleProps.push(
66609
- createRule((_rule, value) => {
66610
- if (isEmptyValue(value)) return true;
66611
- return String(value).length <= effectiveMaxlength;
66612
- }, buildError(validatorInfo, $t("sys.fieldLengthNoMoreThan", { len: effectiveMaxlength })))
66613
- );
66614
- }
66615
- if (regex) {
66616
- RuleProps.push(
66617
- createRule((_rule, value) => {
66618
- if (isEmptyValue(value)) return true;
66619
- return new RegExp(regex).test(value);
66620
- }, buildError(validatorInfo, regexHint ?? $t("sys.fieldFormatError")))
66621
- );
66622
- }
66623
- if (validateTrue) {
66624
- RuleProps.push({
66625
- required: true,
66626
- trigger: "manual",
66627
- validator: (_rule, value) => value === true,
66628
- message: buildError(validatorInfo, $t("sys.fieldValueNeedTrue"))
66629
- });
66630
- }
66631
- if (validateFalse) {
66632
- RuleProps.push({
66633
- required: true,
66634
- trigger: "manual",
66635
- validator: (_rule, value) => value === false,
66636
- message: buildError(validatorInfo, $t("sys.fieldValueNeedFalse"))
66637
- });
66638
- }
66639
- const maxMode = maxValidateMode ?? RangeValidateMode.No_Validate;
66640
- const minMode = minValidateMode ?? RangeValidateMode.No_Validate;
66641
- const shouldValidateNumericLength = !enableRangeValidate || maxMode === RangeValidateMode.No_Validate || minMode === RangeValidateMode.No_Validate;
66642
- if (shouldValidateNumericLength && NUMERIC_FIELD_TYPES.has(fieldType ?? "")) {
66643
- RuleProps.push(
66644
- createRule((_rule, value) => {
66645
- if (isEmptyValue(value)) return true;
66646
- const raw = String(value).trim();
66647
- const text = /e/i.test(raw) ? new BigNumber(raw).toFixed() : raw;
66648
- return text.replace(/[+\-.]/g, "").length <= MAX_NUMERIC_DIGITS;
66649
- }, buildError(validatorInfo, $t("sys.fieldNumericDigitsNoMoreThan")))
66650
- );
66651
- }
66652
- const configuredMinCoversZero = enableRangeValidate && minValidateMode === RangeValidateMode.Fixed_Number && !isEmptyValue(minValue) && Number(minValue) >= 0 && (resolvedMinCompareOp === RangeCompareOp.GE || resolvedMinCompareOp === RangeCompareOp.GT);
66653
- if (input.defaultMinValue === 0 && !configuredMinCoversZero) {
66654
- RuleProps.push(
66655
- createRule(
66656
- (_rule, value) => isEmptyValue(value) || Number(value) >= 0,
66657
- buildError(validatorInfo, rangeCompareMessage(RangeCompareOp.GE, 0))
66658
- )
66659
- );
66660
- }
66661
- if (!enableRangeValidate) {
66662
- return RuleProps;
66663
- }
66664
- if (minValidateMode === RangeValidateMode.Fixed_Number && !isEmptyValue(minValue)) {
66665
- RuleProps.push(
66666
- createRule((_rule, value) => {
66667
- if (isEmptyValue(value)) return true;
66668
- return compareByOp(Number(value), Number(minValue), resolvedMinCompareOp);
66669
- }, buildError(validatorInfo, rangeCompareMessage(resolvedMinCompareOp, minValue)))
66670
- );
66671
- }
66672
- if (minValidateMode === RangeValidateMode.Variable_Validate && minFormulaExpr) {
66673
- RuleProps.push({
66674
- required: true,
66675
- trigger: "change",
66676
- validator: async (_rule, value, _callback, _source, options) => {
66677
- const currentFormData = getCurrentFormData(_rule, options);
66678
- const formulaValue = await calculateFormula(
66679
- minFormulaExpr,
66680
- currentFormData,
66681
- options?.formData
66682
- );
66683
- if (isEmptyValue(formulaValue)) {
66684
- return Promise.resolve();
66685
- }
66686
- const parsedMin = parseFloat(formulaValue);
66687
- if (!isNaN(parsedMin)) {
66688
- if (isEmptyValue(value)) {
66689
- return Promise.resolve();
66690
- }
66691
- if (!compareByOp(Number(value), parsedMin, resolvedMinCompareOp)) {
66692
- return Promise.reject(
66693
- new Error(
66694
- buildError(validatorInfo, rangeCompareMessage(resolvedMinCompareOp, parsedMin))
66695
- )
66696
- );
66697
- }
66698
- }
66699
- return Promise.resolve();
66700
- }
66701
- });
66702
- }
66703
- if (maxValidateMode === RangeValidateMode.Fixed_Number && !isEmptyValue(maxValue)) {
66704
- RuleProps.push(
66705
- createRule((_rule, value) => {
66706
- if (isEmptyValue(value)) return true;
66707
- return compareByOp(Number(value), Number(maxValue), resolvedMaxCompareOp);
66708
- }, buildError(validatorInfo, rangeCompareMessage(resolvedMaxCompareOp, maxValue)))
66709
- );
66710
- }
66711
- if (maxValidateMode === RangeValidateMode.Variable_Validate && maxFormulaExpr) {
66712
- RuleProps.push({
66713
- required: true,
66714
- trigger: "change",
66715
- validator: async (_rule, value, _callback, _source, options) => {
66716
- const currentFormData = getCurrentFormData(_rule, options);
66717
- const formulaValue = await calculateFormula(
66718
- maxFormulaExpr,
66719
- currentFormData,
66720
- options?.formData
66721
- );
66722
- if (isEmptyValue(formulaValue)) {
66723
- return Promise.resolve();
66724
- }
66725
- const parsedMax = parseFloat(formulaValue);
66726
- if (!isNaN(parsedMax)) {
66727
- if (isEmptyValue(value)) {
66728
- return Promise.resolve();
66729
- }
66730
- if (!compareByOp(Number(value), parsedMax, resolvedMaxCompareOp)) {
66731
- return Promise.reject(
66732
- new Error(
66733
- buildError(validatorInfo, rangeCompareMessage(resolvedMaxCompareOp, parsedMax))
66734
- )
66735
- );
66736
- }
66737
- }
66738
- return Promise.resolve();
66739
- }
66740
- });
66741
- }
66742
- if (minDateValidateMode === RangeValidateMode.Fixed_Number && minDate) {
66743
- RuleProps.push(
66744
- createRule((_rule, value) => {
66745
- if (isEmptyValue(value)) return true;
66746
- const inputTime = dayjs(value).unix();
66747
- const minTimestamp = dayjs(minDate).unix();
66748
- if (!dayjs(value).isValid() || !dayjs(minDate).isValid()) return true;
66749
- return compareByOp(inputTime, minTimestamp, resolvedMinCompareOp);
66750
- }, buildError(validatorInfo, rangeCompareMessage(resolvedMinCompareOp, minDate)))
66751
- );
66752
- }
66753
- if (maxDateValidateMode === RangeValidateMode.Fixed_Number && maxDate) {
66754
- RuleProps.push(
66755
- createRule((_rule, value) => {
66756
- if (isEmptyValue(value)) return true;
66757
- const inputTime = dayjs(value).unix();
66758
- const maxTimestamp = dayjs(maxDate).unix();
66759
- if (!dayjs(value).isValid() || !dayjs(maxDate).isValid()) return true;
66760
- return compareByOp(inputTime, maxTimestamp, resolvedMaxCompareOp);
66761
- }, buildError(validatorInfo, rangeCompareMessage(resolvedMaxCompareOp, maxDate)))
66762
- );
66763
- }
66764
- if (minDateValidateMode === RangeValidateMode.Variable_Validate && minDateFormulaExpr) {
66765
- RuleProps.push({
66766
- required: true,
66767
- trigger: "change",
66768
- validator: async (_rule, value, _callback, _source, options) => {
66769
- const currentFormData = getCurrentFormData(_rule, options);
66770
- const formulaValue = await calculateFormula(
66771
- minDateFormulaExpr,
66772
- currentFormData,
66773
- options?.formData
66774
- );
66775
- const limitTime = toUnixTimestamp(formulaValue);
66776
- if (limitTime !== null) {
66777
- if (isEmptyValue(value)) {
66778
- return Promise.resolve();
66779
- }
66780
- if (!dayjs(value).isValid()) {
66781
- return Promise.resolve();
66782
- }
66783
- const inputTime = dayjs(value).unix();
66784
- const fmt = fieldType === FIELD_TYPE.DATE_TIME ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
66785
- if (!compareByOp(inputTime, limitTime, resolvedMinCompareOp)) {
66786
- return Promise.reject(
66787
- new Error(
66788
- buildError(
66789
- validatorInfo,
66790
- rangeCompareMessage(resolvedMinCompareOp, dayjs.unix(limitTime).format(fmt))
66791
- )
66792
- )
66793
- );
66794
- }
66795
- }
66796
- return Promise.resolve();
66797
- }
66798
- });
66799
- }
66800
- if (maxDateValidateMode === RangeValidateMode.Variable_Validate && maxDateFormulaExpr) {
66801
- RuleProps.push({
66802
- required: true,
66803
- trigger: "change",
66804
- validator: async (_rule, value, _callback, _source, options) => {
66805
- const currentFormData = getCurrentFormData(_rule, options);
66806
- const formulaValue = await calculateFormula(
66807
- maxDateFormulaExpr,
66808
- currentFormData,
66809
- options?.formData
66810
- );
66811
- const limitTime = toUnixTimestamp(formulaValue);
66812
- if (limitTime !== null) {
66813
- if (isEmptyValue(value)) {
66814
- return Promise.resolve();
66815
- }
66816
- if (!dayjs(value).isValid()) {
66817
- return Promise.resolve();
66818
- }
66819
- const inputTime = dayjs(value).unix();
66820
- const fmt = fieldType === FIELD_TYPE.DATE_TIME ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
66821
- if (!compareByOp(inputTime, limitTime, resolvedMaxCompareOp)) {
66822
- return Promise.reject(
66823
- new Error(
66824
- buildError(
66825
- validatorInfo,
66826
- rangeCompareMessage(resolvedMaxCompareOp, dayjs.unix(limitTime).format(fmt))
66827
- )
66828
- )
66829
- );
66830
- }
66831
- }
66832
- return Promise.resolve();
66833
- }
66834
- });
66835
- }
66836
- return RuleProps;
66837
- }
66838
- const getApi$1 = api.apaas.modelComprehensive.getBizServiceModelCategoryModelKeyBsKey;
66839
- const postApi = api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey;
66840
- async function materialCheck(params) {
66841
- const res = await postApi(
66842
- {
66843
- bsKey: "biz_single_material_check",
66844
- modelKey: "em_material_loading",
66845
- modelCategory: "entity"
66846
- },
66847
- {},
66848
- params
66849
- );
66850
- return res;
66851
- }
66852
- async function stockCheck(params) {
66853
- await postApi(
66854
- {
66855
- bsKey: "biz_form_single_confirm",
66856
- modelKey: "em_material_loading",
66857
- modelCategory: "entity"
66858
- },
66859
- {},
66860
- {
66861
- entry: params.entry,
66862
- material_id_: params.row.product_id_,
66863
- production_identification_name_: params.row.material_no_,
66864
- qty_: params.row.qty_,
66865
- operation_id_: params.row.routing_operation_id_,
66866
- main_material_no_: params.mainMaterialNo
66867
- }
66868
- );
66869
- }
66870
- async function fetchHistoryConsume(params) {
66871
- const res = await postApi(
66872
- {
66873
- bsKey: "listAll",
66874
- modelKey: "em_material_consume",
66875
- modelCategory: "entity"
66876
- },
66877
- {},
66878
- {
66879
- query: params
66880
- }
66881
- );
66882
- console.log("查询历史消耗数据", res);
66883
- const arr = res.data ?? [];
66884
- arr.map((i2) => {
66885
- i2.qty_ = i2.qty_consumed_;
66886
- });
66887
- return arr;
66888
- }
66889
- async function judgeUnique(opts) {
66890
- const res = await postApi(
66891
- {
66892
- bsKey: "biz_form_unique",
66893
- modelKey: "em_material_loading",
66894
- modelCategory: "entity"
66895
- },
66896
- {},
66897
- {
66898
- model_key_: opts.modelKey,
66899
- datas_: opts.data
66900
- }
66901
- );
66902
- return res;
66903
- }
66904
- async function isBomGranted() {
66905
- try {
66906
- const res = await getApi$1(
66907
- {
66908
- modelKey: "em_product_bom",
66909
- bsKey: "biz_bom_granted",
66910
- modelCategory: "entity"
66911
- },
66912
- {},
66913
- {}
66914
- );
66915
- return res ?? false;
66916
- } catch (error) {
66917
- console.log("");
66918
- return false;
66919
- }
66920
- }
66921
- async function getReinspectionDate(params) {
66922
- if (!params.material_no_id_ && !params.material_no_) return;
66923
- ({
66924
- "product_id_.versionIn": [params.product_id_.split(":").pop()]
66925
- });
66926
- if (params.material_no_id_) {
66927
- params.material_no_id_;
66928
- } else {
66929
- params.material_no_;
66930
- }
66931
- const res = await postApi(
66932
- {
66933
- modelCategory: "entity",
66934
- modelKey: "em_production_identification",
66935
- bsKey: "getOne"
66936
- },
66937
- {},
66938
- {
66939
- query: {
66940
- name_: params.material_no_,
66941
- id_: params.material_no_id_,
66942
- "product_id_.versionEq": params.product_id_
66943
- }
66944
- }
66945
- );
66946
- const record = res?.data?.[0] ?? res?.data;
66947
- const raw = record?.re_inspection_date_ ?? record?.retest_date_;
66948
- if (raw == null || raw === "") return;
66949
- const parsed = dayjs(raw);
66950
- if (!parsed.isValid()) return;
66951
- return parsed.format("YYYY-MM-DD");
66952
- }
66953
- async function validateReinspectionDate(opts) {
66954
- if (!opts.product_id_ || !opts.material_no_ && !opts.material_no_id_) return;
66955
- const date = await getReinspectionDate({
66956
- product_id_: opts.product_id_,
66957
- material_no_: opts.material_no_,
66958
- material_no_id_: opts.material_no_id_
66959
- });
66960
- if (!date) return;
66961
- if (dayjs(date).isBefore(dayjs(), "day")) {
66962
- throw new Error($t("sys.retestDateErrorTip"));
66963
- }
66964
- }
66965
- async function getLotLockedReason(production_identification_id_) {
66966
- const { data = {}, dict = {} } = await postApi(
66967
- {
66968
- modelCategory: "entity",
66969
- modelKey: "em_production_identification_lock_record",
66970
- bsKey: "biz_get_one_lock_record"
66971
- },
66972
- {},
66973
- {
66974
- production_identification_id_
66975
- }
66976
- );
66977
- return $t("sys.lotLockedReason", {
66978
- name: dict.lock_user_id_[data.lock_user_id_],
66979
- reason: data.lock_reason_
66980
- });
66981
- }
66982
- var Config_Fields = /* @__PURE__ */ ((Config_Fields2) => {
66983
- Config_Fields2["materialCode"] = "materialCode";
66984
- Config_Fields2["lot"] = "lot";
66985
- Config_Fields2["qty"] = "qty";
66986
- Config_Fields2["expiration"] = "expiration";
66987
- Config_Fields2["deviceCode"] = "deviceCode";
66988
- Config_Fields2["other"] = "other";
66989
- return Config_Fields2;
66990
- })(Config_Fields || {});
66991
- const getApi = api.apaas.modelComprehensive.getBizServiceModelCategoryModelKeyBsKey;
66992
- async function getParseRuleInfo(params) {
66993
- const res = await getApi(
66994
- {
66995
- bsKey: "rdoGetVersionById",
66996
- modelKey: "em_barcode_parsing_rules",
66997
- modelCategory: "entity"
66998
- },
66999
- params
67000
- );
67001
- return res.data;
67002
- }
67003
- function handleOldConfig(config) {
67004
- if (config.list && !config.fieldList) {
67005
- config.fieldList = config.list.map((type) => {
67006
- return {
67007
- type,
67008
- key: type === Config_Fields.other ? uuid2(32) : type
67009
- };
67010
- });
67011
- delete config.list;
67012
- }
67013
- config.fieldList.forEach((item) => {
67014
- if (!item.key) {
67015
- item.key = item.type === Config_Fields.other ? uuid2(32) : item.type;
67016
- }
67017
- });
67018
- return config;
67019
- }
67020
- function getParseRuleValue(labelStr, labelRule) {
67021
- if (!labelRule) {
67022
- throw new Error("请传入解析规则");
67023
- }
67024
- const ruleObj = JSON.parse(labelRule);
67025
- const ruleConfig = handleOldConfig(ruleObj);
67026
- const { separator, nullSymbol, fieldList } = ruleConfig;
67027
- const labelArr = labelStr.split(separator);
67028
- return labelArr.reduce((obj, e, idx) => {
67029
- const field = fieldList[idx];
67030
- if (field) {
67031
- let val = nullSymbol && e === nullSymbol ? null : e;
67032
- if (val !== null) {
67033
- switch (field.type) {
67034
- case Config_Fields.qty:
67035
- val = Number(val);
67036
- break;
67037
- case Config_Fields.expiration:
67038
- val = dayjs(val, field.format).format("YYYY-MM-DD HH:mm:ss");
67039
- break;
67040
- }
67041
- }
67042
- obj[field.key] = val;
67043
- }
67044
- return obj;
67045
- }, {});
67046
- }
67047
- async function getParseRuleConfig(id) {
67048
- const res = await getParseRuleInfo({ id });
67049
- if (res?.rules_) {
67050
- const ruleObj = JSON.parse(res.rules_);
67051
- const ruleConfig = handleOldConfig(ruleObj);
67052
- return ruleConfig;
67053
- }
67054
- }
67055
- function calcFillData(data, fillMapArr) {
67056
- const obj = {};
67057
- if (fillMapArr?.length) {
67058
- fillMapArr.forEach((i2) => {
67059
- const fromKey = i2.barcodeField;
67060
- if (fromKey && fromKey in data) {
67061
- const val = data[fromKey];
67062
- i2.formFields?.forEach((key) => {
67063
- const toKey2 = key.split(".")[1];
67064
- obj[toKey2] = val;
67065
- });
67066
- }
67067
- });
67068
- }
67069
- return obj;
67070
- }
67071
66496
  const NUMBER_FIELD_TYPES = /* @__PURE__ */ new Set([
67072
66497
  FIELD_TYPE.INTEGER,
67073
66498
  FIELD_TYPE.LONG,
@@ -67531,27 +66956,27 @@ var loadModule = (cmpMeta, hostRef, hmrVersionId) => {
67531
66956
  case "revo-grid":
67532
66957
  return import(
67533
66958
  /* webpackMode: "lazy" */
67534
- "./revo-grid.entry-B7SWMhl1.js"
66959
+ "./revo-grid.entry-Dr4S1tgO.js"
67535
66960
  ).then(processMod, consoleError);
67536
66961
  case "revogr-filter-panel":
67537
66962
  return import(
67538
66963
  /* webpackMode: "lazy" */
67539
- "./revogr-filter-panel.entry-BBhV4Xqa.js"
66964
+ "./revogr-filter-panel.entry-CSsekbYc.js"
67540
66965
  ).then(processMod, consoleError);
67541
66966
  case "revogr-attribution_7":
67542
66967
  return import(
67543
66968
  /* webpackMode: "lazy" */
67544
- "./revogr-attribution_7.entry-BkqynH6l.js"
66969
+ "./revogr-attribution_7.entry-27u9hxgM.js"
67545
66970
  ).then(processMod, consoleError);
67546
66971
  case "revogr-clipboard_3":
67547
66972
  return import(
67548
66973
  /* webpackMode: "lazy" */
67549
- "./revogr-clipboard_3.entry-DAHR-Vx9.js"
66974
+ "./revogr-clipboard_3.entry-DxjljgJl.js"
67550
66975
  ).then(processMod, consoleError);
67551
66976
  case "revogr-data_4":
67552
66977
  return import(
67553
66978
  /* webpackMode: "lazy" */
67554
- "./revogr-data_4.entry-CVh6lcCy.js"
66979
+ "./revogr-data_4.entry-CnSalg4D.js"
67555
66980
  ).then(processMod, consoleError);
67556
66981
  }
67557
66982
  }
@@ -77787,363 +77212,344 @@ function groupFixedTableRows(rows, options) {
77787
77212
  return result;
77788
77213
  }
77789
77214
  export {
77790
- isDateObjectField as $,
77791
- CellType as A,
77215
+ LabelPosition as $,
77216
+ ParamModelTypeEnum as A,
77792
77217
  BwipCodeType as B,
77793
77218
  ComponentTypeEnum as C,
77794
77219
  DateObjectContext as D,
77795
- isDynamicCellSubTable as E,
77220
+ api as E,
77796
77221
  FIELD_TYPE as F,
77797
- ParamModelTypeEnum as G,
77798
- FieldTypeToJs as H,
77799
- CreateType as I,
77800
- uuid2$1 as J,
77801
- useModal as K,
77222
+ FieldTypeToJs as G,
77223
+ CreateType as H,
77224
+ uuid2$1 as I,
77225
+ useModal as J,
77226
+ requireEstraverse as K,
77802
77227
  LineType as L,
77803
- requireEstraverse as M,
77804
- commonjsGlobal as N,
77228
+ commonjsGlobal as M,
77229
+ getDefaultExportFromCjs as N,
77805
77230
  Orientation as O,
77806
77231
  PaginationFormat as P,
77807
- getDefaultExportFromCjs as Q,
77808
- PaperWidgeValueType as R,
77232
+ PaperWidgeValueType as Q,
77233
+ onlineFormMasterModelTypeEnum as R,
77809
77234
  SUB_TABLE_PANEL_TYPE_NAME as S,
77810
77235
  TRACE_FIELD_TYPES as T,
77811
- getParseFormulaVarInfos as U,
77812
- onlineFormMasterModelTypeEnum as V,
77236
+ UniqueConstraintType as U,
77237
+ FieldDefaultValueTypeEnum as V,
77813
77238
  WAREHOUSE_FIELD_TYPES as W,
77814
- UniqueConstraintType as X,
77815
- FieldDefaultValueTypeEnum as Y,
77816
- FormTypeEnum as Z,
77817
- mitt as _,
77239
+ FormTypeEnum as X,
77240
+ mitt as Y,
77241
+ isDateObjectField as Z,
77242
+ PlatformEnum as _,
77818
77243
  getProfile as a,
77819
- validateReinspectionDate as a$,
77820
- PlatformEnum as a0,
77821
- LabelPosition as a1,
77822
- BooleanShowMode as a2,
77823
- SignatureImageDirectionEnum as a3,
77824
- FallbackSignTypeEnum as a4,
77825
- SignatureNumberTypeEnum as a5,
77826
- SignatureTimeTypeEnum as a6,
77827
- SignShowTypeEnum as a7,
77828
- SignatureTypeEnum as a8,
77829
- _export_sfc as a9,
77830
- getSubTableTypeByRefModelType as aA,
77831
- findFieldMain as aB,
77832
- DecimalDisplayMode as aC,
77833
- ImageDisplayModeEnum as aD,
77834
- FormDesignEnum as aE,
77835
- BASIC_FIELD_TYPES as aF,
77836
- getAllTableProfiles as aG,
77837
- transformUtils as aH,
77838
- EmptySymbol as aI,
77839
- ASSIGNMENTSTRATEGY_ENUM as aJ,
77840
- Dependency_ENUM as aK,
77841
- EntityModelCategoryEnum as aL,
77842
- resolveLotDisplayLabel as aM,
77843
- CheckDsTypeEnum as aN,
77844
- DeviceLink as aO,
77845
- DeviceParamsTypeTitle as aP,
77846
- AITooltips as aQ,
77847
- DenoiseMethodOptions as aR,
77848
- BinarizeMethodOptions as aS,
77849
- DateFormat as aT,
77850
- withRequestCache as aU,
77851
- LOT_CONTAINER_ROLE as aV,
77852
- buildLotSnListQuery as aW,
77853
- renderUtils as aX,
77854
- resolveLotRecordByValue as aY,
77855
- materialCheck as aZ,
77856
- getLotLockedReason as a_,
77857
- normalizeFieldType as aa,
77858
- PaperSizeMap as ab,
77859
- clampSealPosition as ac,
77860
- normalizeSealDiameter as ad,
77861
- getFieldMain as ae,
77862
- buildUUID as af,
77863
- FieldIconMap as ag,
77864
- BigNumber as ah,
77865
- FieldSysVarDefaultValueEnum as ai,
77866
- CellWidgetViewState as aj,
77867
- DiagonalDirection as ak,
77868
- WidgetImageSizeMode as al,
77869
- LineDirection as am,
77870
- TimeDiffFormat as an,
77871
- DiagonalVertex as ao,
77872
- resolveDiagonalVertex as ap,
77873
- getThemeColorByTableType as aq,
77874
- ViewTypeEnum as ar,
77875
- isDynamicSubTablePanelType as as,
77876
- isFixedSubTablePanelType as at,
77877
- ExpressionModeEnum as au,
77878
- ReturnTypeEnum as av,
77879
- ExpressionTabEnum as aw,
77880
- RangeValidateMode as ax,
77881
- RangeCompareOp as ay,
77882
- getExclusiveBusinessTypeTokens as az,
77244
+ BindCmpStyleEnum as a$,
77245
+ BooleanShowMode as a0,
77246
+ SignatureImageDirectionEnum as a1,
77247
+ FallbackSignTypeEnum as a2,
77248
+ SignatureNumberTypeEnum as a3,
77249
+ SignatureTimeTypeEnum as a4,
77250
+ SignShowTypeEnum as a5,
77251
+ SignatureTypeEnum as a6,
77252
+ _export_sfc as a7,
77253
+ normalizeFieldType as a8,
77254
+ PaperSizeMap as a9,
77255
+ FormDesignEnum as aA,
77256
+ BASIC_FIELD_TYPES as aB,
77257
+ getAllTableProfiles as aC,
77258
+ transformUtils as aD,
77259
+ EmptySymbol as aE,
77260
+ ASSIGNMENTSTRATEGY_ENUM as aF,
77261
+ Dependency_ENUM as aG,
77262
+ EntityModelCategoryEnum as aH,
77263
+ resolveLotDisplayLabel as aI,
77264
+ CheckDsTypeEnum as aJ,
77265
+ DeviceLink as aK,
77266
+ DeviceParamsTypeTitle as aL,
77267
+ AITooltips as aM,
77268
+ DenoiseMethodOptions as aN,
77269
+ BinarizeMethodOptions as aO,
77270
+ JoinModelTypeEum as aP,
77271
+ sqlUtils as aQ,
77272
+ DateFormat as aR,
77273
+ LOT_CONTAINER_ROLE as aS,
77274
+ buildLotSnListQuery as aT,
77275
+ renderUtils as aU,
77276
+ resolveLotRecordByValue as aV,
77277
+ materialCheck as aW,
77278
+ getLotLockedReason as aX,
77279
+ validateReinspectionDate as aY,
77280
+ buildMaterialLotListQuery as aZ,
77281
+ ProductionIdentificationTypeEnum as a_,
77282
+ getFieldMain as aa,
77283
+ buildUUID as ab,
77284
+ FieldIconMap as ac,
77285
+ BigNumber as ad,
77286
+ FieldSysVarDefaultValueEnum as ae,
77287
+ CellWidgetViewState as af,
77288
+ DiagonalDirection as ag,
77289
+ WidgetImageSizeMode as ah,
77290
+ LineDirection as ai,
77291
+ TimeDiffFormat as aj,
77292
+ DiagonalVertex as ak,
77293
+ resolveDiagonalVertex as al,
77294
+ getThemeColorByTableType as am,
77295
+ ViewTypeEnum as an,
77296
+ isDynamicSubTablePanelType as ao,
77297
+ isFixedSubTablePanelType as ap,
77298
+ ExpressionModeEnum as aq,
77299
+ ReturnTypeEnum as ar,
77300
+ ExpressionTabEnum as as,
77301
+ RangeValidateMode as at,
77302
+ RangeCompareOp as au,
77303
+ getExclusiveBusinessTypeTokens as av,
77304
+ getSubTableTypeByRefModelType as aw,
77305
+ findFieldMain as ax,
77306
+ DecimalDisplayMode as ay,
77307
+ ImageDisplayModeEnum as az,
77883
77308
  isBusinessSubTableProfile as b,
77884
- RUNTIME_COLUMN_ROW_KEY as b$,
77885
- ProductionIdentificationTypeEnum as b0,
77886
- BindCmpStyleEnum as b1,
77887
- getParseRuleInfo as b2,
77888
- getParseRuleValue as b3,
77889
- normalizeRefLoaderResult as b4,
77890
- STOCKTAKE_DIMENSION as b5,
77891
- F$8 as b6,
77892
- resolveStocktakeSelectApi as b7,
77893
- readSealValue as b8,
77894
- isSealStamped as b9,
77895
- isBomGranted as bA,
77896
- parseFrontConfig as bB,
77897
- baseDataUtils as bC,
77898
- initializeSealFields as bD,
77899
- normalizeToArray as bE,
77900
- safeParseArray as bF,
77901
- BpmnNodeTypeEnum as bG,
77902
- mergeByMultiKey as bH,
77903
- evaluateInspectionDecisionRule as bI,
77904
- areValidationCommentsEqual as bJ,
77905
- useNocodeEmitter as bK,
77906
- commonUtils as bL,
77907
- BpmnSignatureTypeEnum as bM,
77908
- ButtonTypeEnum as bN,
77909
- CHECK_TABLE_MEDPRO_PROTOCOL_KEY as bO,
77910
- CodeRunner as bP,
77911
- Config_Fields as bQ,
77912
- ControlStatusEnum as bR,
77913
- DEVICE_SEARCH_API as bS,
77914
- DeviceStatus as bT,
77915
- EBR_PROVIDE_ENUM as bU,
77916
- EFieldBizTypeEnum as bV,
77917
- JoinModelTypeEum as bW,
77918
- MAX_FRONT_ROW_KEY_LENGTH as bX,
77919
- MobileFillTypeEnum as bY,
77920
- OfficeTypeEnum as bZ,
77921
- PosEnum as b_,
77922
- RenderModeEnum as ba,
77923
- stampSealValue as bb,
77924
- isValidSealValue as bc,
77925
- clearSealValue as bd,
77926
- normalizeProductionContainerOptions as be,
77927
- buildProductionLotListQuery as bf,
77928
- refUtils as bg,
77929
- buildInspectionLotListQuery as bh,
77930
- buildDeviceFilterQuery as bi,
77931
- DEVICE_GROUP_QUERY_KEY as bj,
77932
- getRowId as bk,
77933
- findRuntimeTableRow as bl,
77934
- calculateFormula as bm,
77935
- findRuntimeParentRow as bn,
77936
- useOnlineFormTransformField2Component as bo,
77937
- FormulaRuleFieldKeyEnum as bp,
77938
- formulaRuleFieldDict as bq,
77939
- resolveDesignPanelFeatures as br,
77940
- BIZ_TABLE_CONFIG_SEED_TYPES as bs,
77941
- STOCKTAKE_DIMENSION_OPTIONS as bt,
77942
- isRepeatingSubTablePanelType as bu,
77943
- moveSealValue as bv,
77944
- uuid2 as bw,
77945
- assembleRules as bx,
77946
- isAttachFieldActive as by,
77947
- fetchHistoryConsume as bz,
77309
+ fetchCustomCheckDsData as b$,
77310
+ getParseRuleInfo as b0,
77311
+ getParseRuleValue as b1,
77312
+ normalizeRefLoaderResult as b2,
77313
+ STOCKTAKE_DIMENSION as b3,
77314
+ F$8 as b4,
77315
+ resolveStocktakeSelectApi as b5,
77316
+ RenderModeEnum as b6,
77317
+ normalizeProductionContainerOptions as b7,
77318
+ buildProductionLotListQuery as b8,
77319
+ refUtils as b9,
77320
+ ButtonTypeEnum as bA,
77321
+ CHECK_TABLE_MEDPRO_PROTOCOL_KEY as bB,
77322
+ CodeRunner as bC,
77323
+ Config_Fields as bD,
77324
+ ControlStatusEnum as bE,
77325
+ DEVICE_SEARCH_API as bF,
77326
+ DeviceStatus as bG,
77327
+ EBR_PROVIDE_ENUM as bH,
77328
+ EFieldBizTypeEnum as bI,
77329
+ MAX_FRONT_ROW_KEY_LENGTH as bJ,
77330
+ MobileFillTypeEnum as bK,
77331
+ OfficeTypeEnum as bL,
77332
+ PosEnum as bM,
77333
+ RUNTIME_COLUMN_ROW_KEY as bN,
77334
+ SummaryApproveHisTypeEnum as bO,
77335
+ applyCheckDsDataToRuntime as bP,
77336
+ applyMedProCheckDsDataToRuntime as bQ,
77337
+ bindRuntimeTableColumns as bR,
77338
+ buildDeviceBaseQuery as bS,
77339
+ calcFillData as bT,
77340
+ calcUtils as bU,
77341
+ decodeTableCellRowKey as bV,
77342
+ encodeTableCellRowKey as bW,
77343
+ ensureFrontRowKey as bX,
77344
+ ensureTableRowKeys as bY,
77345
+ extractKeywordFromQueryData as bZ,
77346
+ fetchCheckDsDataForTable as b_,
77347
+ buildInspectionLotListQuery as ba,
77348
+ buildDeviceFilterQuery as bb,
77349
+ DEVICE_GROUP_QUERY_KEY as bc,
77350
+ getRowId as bd,
77351
+ findRuntimeTableRow as be,
77352
+ findRuntimeParentRow as bf,
77353
+ useOnlineFormTransformField2Component as bg,
77354
+ FormulaRuleFieldKeyEnum as bh,
77355
+ formulaRuleFieldDict as bi,
77356
+ resolveDesignPanelFeatures as bj,
77357
+ BIZ_TABLE_CONFIG_SEED_TYPES as bk,
77358
+ STOCKTAKE_DIMENSION_OPTIONS as bl,
77359
+ isRepeatingSubTablePanelType as bm,
77360
+ uuid2 as bn,
77361
+ fetchHistoryConsume as bo,
77362
+ isBomGranted as bp,
77363
+ parseFrontConfig as bq,
77364
+ baseDataUtils as br,
77365
+ normalizeToArray as bs,
77366
+ safeParseArray as bt,
77367
+ BpmnNodeTypeEnum as bu,
77368
+ mergeByMultiKey as bv,
77369
+ evaluateInspectionDecisionRule as bw,
77370
+ useNocodeEmitter as bx,
77371
+ commonUtils as by,
77372
+ BpmnSignatureTypeEnum as bz,
77948
77373
  getProfileByTableType as c,
77949
- FILL_FROM_PART_OPTION as c$,
77950
- SummaryApproveHisTypeEnum as c0,
77951
- applyCheckDsDataToRuntime as c1,
77952
- applyMedProCheckDsDataToRuntime as c2,
77953
- bindRuntimeTableColumns as c3,
77954
- buildDeviceBaseQuery as c4,
77955
- calcFillData as c5,
77956
- calcUtils as c6,
77957
- decodeTableCellRowKey as c7,
77958
- encodeTableCellRowKey as c8,
77959
- ensureFrontRowKey as c9,
77960
- isReferenceOptionActive as cA,
77961
- FRONT_ROW_KEY as cB,
77962
- filterRulesByTrigger as cC,
77963
- isEmptyValue as cD,
77964
- buildError as cE,
77965
- resetTableRowIdentity as cF,
77966
- q as cG,
77967
- QUICK_FILL_ALLOWED_FIELDS as cH,
77968
- groupFixedTableRows as cI,
77969
- processQuickFillRows as cJ,
77970
- getIsGroupEmpty as cK,
77971
- getAugmentedNamespace as cL,
77972
- CardControlEnum as cM,
77973
- EntityModelTypeEnum as cN,
77974
- RecordNoGenerateEnum as cO,
77975
- TagTypeEnum as cP,
77976
- F$3 as cQ,
77977
- FILL_FROM_TARGET_PRODUCT_OPTION as cR,
77978
- F$6 as cS,
77979
- SCAN_ROW_CONTENT_FIELDS as cT,
77980
- F$7 as cU,
77981
- runRowHandler as cV,
77982
- F$a as cW,
77983
- F$9 as cX,
77984
- FILL_FROM_SOURCE_PRODUCT_OPTION as cY,
77985
- FILL_FROM_TARGET_MATERIAL_NO_OPTION as cZ,
77986
- FILL_FROM_INVENTORY_OPTION$2 as c_,
77987
- ensureTableRowKeys as ca,
77988
- extractKeywordFromQueryData as cb,
77989
- fetchCheckDsDataForTable as cc,
77990
- fetchCustomCheckDsData as cd,
77991
- fetchMedProCheckDsData as ce,
77992
- findRuntimeTableCell as cf,
77993
- getCheckTableSnapshotKey as cg,
77994
- getParseRuleConfig as ch,
77995
- getReinspectionDate as ci,
77996
- getRenderedRuntimeTableCell as cj,
77997
- handleOldConfig as ck,
77998
- hasAnyCheckTableSnapshot as cl,
77999
- hasByTableCheckTableSnapshot as cm,
78000
- hasSharedCheckTableSnapshot as cn,
78001
- isMedProSuite as co,
78002
- isTableRowKeyMatch as cp,
78003
- jsonSchemaUtils as cq,
78004
- judgeUnique as cr,
78005
- migrateDiagonalDirectionToVertex as cs,
78006
- relocateDeletedRowsToEnd as ct,
78007
- requestMedProCheckDsData as cu,
78008
- requestNonMedProCheckDsData as cv,
78009
- sqlUtils as cw,
78010
- stockCheck as cx,
78011
- useOnlineFormActionButton as cy,
78012
- getFieldPlaceholder as cz,
77374
+ F$c as c$,
77375
+ fetchMedProCheckDsData as c0,
77376
+ findRuntimeTableCell as c1,
77377
+ getCheckTableSnapshotKey as c2,
77378
+ getParseRuleConfig as c3,
77379
+ getReinspectionDate as c4,
77380
+ getRenderedRuntimeTableCell as c5,
77381
+ handleOldConfig as c6,
77382
+ hasAnyCheckTableSnapshot as c7,
77383
+ hasByTableCheckTableSnapshot as c8,
77384
+ hasSharedCheckTableSnapshot as c9,
77385
+ F$7 as cA,
77386
+ runRowHandler as cB,
77387
+ F$a as cC,
77388
+ F$9 as cD,
77389
+ FILL_FROM_SOURCE_PRODUCT_OPTION as cE,
77390
+ FILL_FROM_TARGET_MATERIAL_NO_OPTION as cF,
77391
+ FILL_FROM_INVENTORY_OPTION$2 as cG,
77392
+ FILL_FROM_PART_OPTION as cH,
77393
+ FILL_FROM_INVENTORY_OPTION$3 as cI,
77394
+ TABLE_TYPE$b as cJ,
77395
+ FILL_FROM_INVENTORY_OPTION$1 as cK,
77396
+ INVENTORY_BASE_FIELDS as cL,
77397
+ resolveGroupByWarehouse as cM,
77398
+ AUTO_LOAD_READONLY_SELECT_FIELDS as cN,
77399
+ buildFillFromInventoryOption as cO,
77400
+ resolveStocktakeInventoryApi as cP,
77401
+ F$5 as cQ,
77402
+ FILL_FROM_INVENTORY_OPTION as cR,
77403
+ composeProductionLotListQuery as cS,
77404
+ F as cT,
77405
+ isProductManuallyEditable as cU,
77406
+ applyFillFromMfgOrderOption as cV,
77407
+ applyFillFromOption as cW,
77408
+ applyFillFromProductOption as cX,
77409
+ mergeQueryFilters as cY,
77410
+ composeMaterialLotListQuery as cZ,
77411
+ MATERIAL_CONTAINER_ID as c_,
77412
+ isMedProSuite as ca,
77413
+ isTableRowKeyMatch as cb,
77414
+ jsonSchemaUtils as cc,
77415
+ judgeUnique as cd,
77416
+ migrateDiagonalDirectionToVertex as ce,
77417
+ requestMedProCheckDsData as cf,
77418
+ requestNonMedProCheckDsData as cg,
77419
+ splitRuntimeDataPath as ch,
77420
+ stockCheck as ci,
77421
+ useOnlineFormActionButton as cj,
77422
+ getFieldPlaceholder as ck,
77423
+ FRONT_ROW_KEY as cl,
77424
+ resetTableRowIdentity as cm,
77425
+ q as cn,
77426
+ QUICK_FILL_ALLOWED_FIELDS as co,
77427
+ groupFixedTableRows as cp,
77428
+ processQuickFillRows as cq,
77429
+ getIsGroupEmpty as cr,
77430
+ getAugmentedNamespace as cs,
77431
+ CardControlEnum as ct,
77432
+ EntityModelTypeEnum as cu,
77433
+ RecordNoGenerateEnum as cv,
77434
+ TagTypeEnum as cw,
77435
+ F$6 as cx,
77436
+ SCAN_ROW_CONTENT_FIELDS as cy,
77437
+ F$3 as cz,
78013
77438
  getBusinessProfileByRefModelType as d,
78014
- nextCell as d$,
78015
- FILL_FROM_INVENTORY_OPTION$3 as d0,
78016
- TABLE_TYPE$b as d1,
78017
- FILL_FROM_INVENTORY_OPTION$1 as d2,
78018
- INVENTORY_BASE_FIELDS as d3,
78019
- resolveGroupByWarehouse as d4,
78020
- AUTO_LOAD_READONLY_SELECT_FIELDS as d5,
78021
- buildFillFromInventoryOption as d6,
78022
- resolveStocktakeInventoryApi as d7,
78023
- F$5 as d8,
78024
- FILL_FROM_INVENTORY_OPTION as d9,
78025
- isStretchPlugin as dA,
78026
- AutoSizeColumnPlugin as dB,
78027
- FilterPlugin as dC,
78028
- ExportFilePlugin as dD,
78029
- SortingPlugin as dE,
78030
- ColumnMovePlugin as dF,
78031
- ThemeService as dG,
78032
- h as dH,
78033
- Host as dI,
78034
- getElement as dJ,
78035
- BasePlugin as dK,
78036
- reduce as dL,
78037
- columnTypes as dM,
78038
- debounce$1 as dN,
78039
- RESIZE_INTERVAL as dO,
78040
- DimensionStore as dP,
78041
- gatherTrimmedItems as dQ,
78042
- getColumnSizes as dR,
78043
- getItemByIndex as dS,
78044
- DataStore as dT,
78045
- getSourceItem as dU,
78046
- getSourceItemVirtualIndexByProp as dV,
78047
- getColumnType as dW,
78048
- setSourceByPhysicalIndex as dX,
78049
- setSourceByVirtualIndex as dY,
78050
- SelectionStore as dZ,
78051
- cropCellToMax as d_,
78052
- LOCKED_INPUT_FIELDS as da,
78053
- composeProductionLotListQuery as db,
78054
- F as dc,
78055
- isProductManuallyEditable as dd,
78056
- applyFillFromMfgOrderOption as de,
78057
- applyFillFromOption as df,
78058
- applyFillFromProductOption as dg,
78059
- MATERIAL_CONTAINER_ID as dh,
78060
- F$c as di,
78061
- PRODUCT_QUICK_SEARCH_FIELDS as dj,
78062
- PRODUCT_QUICK_SEARCH_EXP as dk,
78063
- isProductManuallyEditable$1 as dl,
78064
- applyFillFromMaterialNoOption as dm,
78065
- applyFillFromProductOption$1 as dn,
78066
- F$b as dp,
78067
- FILL_FROM_INVENTORY_OPTION$4 as dq,
78068
- registerInstance as dr,
78069
- createEvent as ds,
78070
- getColumnByProp as dt,
78071
- timeout as du,
78072
- getVisibleSourceItem as dv,
78073
- getColumns as dw,
78074
- rowTypes as dx,
78075
- GroupingRowPlugin as dy,
78076
- StretchColumn as dz,
77439
+ CELL_HANDLER_CLASS as d$,
77440
+ PRODUCT_QUICK_SEARCH_FIELDS as d0,
77441
+ PRODUCT_QUICK_SEARCH_EXP as d1,
77442
+ isProductManuallyEditable$1 as d2,
77443
+ applyFillFromMaterialNoOption as d3,
77444
+ applyFillFromProductOption$1 as d4,
77445
+ F$b as d5,
77446
+ FILL_FROM_INVENTORY_OPTION$4 as d6,
77447
+ registerInstance as d7,
77448
+ createEvent as d8,
77449
+ getColumnByProp as d9,
77450
+ DataStore as dA,
77451
+ getSourceItem as dB,
77452
+ getSourceItemVirtualIndexByProp as dC,
77453
+ getColumnType as dD,
77454
+ setSourceByPhysicalIndex as dE,
77455
+ setSourceByVirtualIndex as dF,
77456
+ SelectionStore as dG,
77457
+ cropCellToMax as dH,
77458
+ nextCell as dI,
77459
+ isRowType as dJ,
77460
+ ViewportStore as dK,
77461
+ AndOrButton as dL,
77462
+ ReorderButton as dM,
77463
+ TrashButton as dN,
77464
+ isFilterBtn as dO,
77465
+ ColumnService as dP,
77466
+ MOBILE_CLASS as dQ,
77467
+ SELECTION_BORDER_CLASS as dR,
77468
+ getCellData as dS,
77469
+ getCellEditor as dT,
77470
+ getRange as dU,
77471
+ isRangeSingleCell as dV,
77472
+ codesLetter as dW,
77473
+ calculateRowHeaderSize as dX,
77474
+ ROW_HEADER_TYPE as dY,
77475
+ getScrollbarSize as dZ,
77476
+ FOCUS_CLASS as d_,
77477
+ timeout as da,
77478
+ getVisibleSourceItem as db,
77479
+ getColumns as dc,
77480
+ rowTypes as dd,
77481
+ GroupingRowPlugin as de,
77482
+ StretchColumn as df,
77483
+ isStretchPlugin as dg,
77484
+ AutoSizeColumnPlugin as dh,
77485
+ FilterPlugin as di,
77486
+ ExportFilePlugin as dj,
77487
+ SortingPlugin as dk,
77488
+ ColumnMovePlugin as dl,
77489
+ ThemeService as dm,
77490
+ h as dn,
77491
+ Host as dp,
77492
+ getElement as dq,
77493
+ BasePlugin as dr,
77494
+ reduce as ds,
77495
+ columnTypes as dt,
77496
+ debounce$1 as du,
77497
+ RESIZE_INTERVAL as dv,
77498
+ DimensionStore as dw,
77499
+ gatherTrimmedItems as dx,
77500
+ getColumnSizes as dy,
77501
+ getItemByIndex as dz,
78077
77502
  expandAutofillTemplates as e,
78078
- isRowType as e0,
78079
- ViewportStore as e1,
78080
- AndOrButton as e2,
78081
- ReorderButton as e3,
78082
- TrashButton as e4,
78083
- isFilterBtn as e5,
78084
- ColumnService as e6,
78085
- MOBILE_CLASS as e7,
78086
- SELECTION_BORDER_CLASS as e8,
78087
- getCellData as e9,
78088
- isRowDragService as eA,
78089
- DRAG_ICON_CLASS as eB,
78090
- DRAGGABLE_CLASS as eC,
78091
- getCellDataParsed as eD,
78092
- GROUP_EXPAND_EVENT as eE,
78093
- isGrouping as eF,
78094
- HEADER_ROW_CLASS as eG,
78095
- HEADER_ACTUAL_ROW_CLASS as eH,
78096
- ROW_FOCUSED_CLASS as eI,
78097
- HEADER_SORTABLE_CLASS as eJ,
78098
- MIN_COL_SIZE as eK,
78099
- FilterButton as eL,
78100
- HeaderCellRenderer as eM,
78101
- HEADER_CLASS as eN,
78102
- getCellEditor as ea,
78103
- getRange as eb,
78104
- isRangeSingleCell as ec,
78105
- codesLetter as ed,
78106
- calculateRowHeaderSize as ee,
78107
- ROW_HEADER_TYPE as ef,
78108
- getScrollbarSize as eg,
78109
- FOCUS_CLASS as eh,
78110
- CELL_HANDLER_CLASS as ei,
78111
- TMP_SELECTION_BG_CLASS as ej,
78112
- getItemByPosition as ek,
78113
- EDIT_INPUT_WR as el,
78114
- keyValues as em,
78115
- isObject as en,
78116
- DRAGG_TEXT as eo,
78117
- PSEUDO_GROUP_ITEM as ep,
78118
- GROUP_EXPANDED as eq,
78119
- GROUP_DEPTH as er,
78120
- GROUP_EXPAND_BTN as es,
78121
- DATA_ROW as et,
78122
- isGroupingColumn as eu,
78123
- GROUP_COLUMN_PROP as ev,
78124
- getCellRaw as ew,
78125
- DATA_COL as ex,
78126
- CELL_CLASS as ey,
78127
- Build as ez,
78128
- resolveAutofillToField as f,
77503
+ TMP_SELECTION_BG_CLASS as e0,
77504
+ getItemByPosition as e1,
77505
+ EDIT_INPUT_WR as e2,
77506
+ keyValues as e3,
77507
+ isObject as e4,
77508
+ DRAGG_TEXT as e5,
77509
+ PSEUDO_GROUP_ITEM as e6,
77510
+ GROUP_EXPANDED as e7,
77511
+ GROUP_DEPTH as e8,
77512
+ GROUP_EXPAND_BTN as e9,
77513
+ DATA_ROW as ea,
77514
+ isGroupingColumn as eb,
77515
+ GROUP_COLUMN_PROP as ec,
77516
+ getCellRaw as ed,
77517
+ DATA_COL as ee,
77518
+ CELL_CLASS as ef,
77519
+ Build as eg,
77520
+ isRowDragService as eh,
77521
+ DRAG_ICON_CLASS as ei,
77522
+ DRAGGABLE_CLASS as ej,
77523
+ getCellDataParsed as ek,
77524
+ GROUP_EXPAND_EVENT as el,
77525
+ isGrouping as em,
77526
+ HEADER_ROW_CLASS as en,
77527
+ HEADER_ACTUAL_ROW_CLASS as eo,
77528
+ ROW_FOCUSED_CLASS as ep,
77529
+ HEADER_SORTABLE_CLASS as eq,
77530
+ MIN_COL_SIZE as er,
77531
+ FilterButton as es,
77532
+ HeaderCellRenderer as et,
77533
+ HEADER_CLASS as eu,
77534
+ SubTableType as f,
78129
77535
  getAllDataProfiles as g,
78130
- SubTableType as h,
77536
+ getAllBusinessRefModelTypes as h,
78131
77537
  isDataTableProfile as i,
78132
- getAllBusinessRefModelTypes as j,
78133
- isBlank as k,
78134
- isSameFieldValue as l,
78135
- runDateObjectHandler as m,
78136
- companionIdKey as n,
78137
- companionLabelKey as o,
78138
- api as p,
78139
- PaperWidgeType as q,
77538
+ isBlank as j,
77539
+ isSameFieldValue as k,
77540
+ runDateObjectHandler as l,
77541
+ companionIdKey as m,
77542
+ companionLabelKey as n,
77543
+ PaperWidgeType as o,
77544
+ PageSizeEnum as p,
77545
+ BUSINESS_FIELD_TYPES as q,
78140
77546
  resolveCreateTargetByTableType as r,
78141
- PageSizeEnum as s,
78142
- src as t,
78143
- BUSINESS_FIELD_TYPES as u,
78144
- resolveFieldRenderComponent as v,
78145
- parse as w,
78146
- estraverse as x,
78147
- Syntax as y,
78148
- isDynamicCreateTarget as z
77547
+ src as s,
77548
+ resolveFieldRenderComponent as t,
77549
+ parse as u,
77550
+ estraverse as v,
77551
+ Syntax as w,
77552
+ isDynamicCreateTarget as x,
77553
+ CellType as y,
77554
+ isDynamicCellSubTable as z
78149
77555
  };