@gct-paas/excel 0.1.33-beta.0 → 0.1.33-beta.2

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 (162) hide show
  1. package/dist/{BaseComponent-BQ1yDI7t.js → BaseComponent-iMG-slZ6.js} +1 -1
  2. package/dist/{VueVideoPlayer-B_ZVi5G-.js → VueVideoPlayer-D0SQGvMx.js} +2 -2
  3. package/dist/{align-editor-B_lvWYQG.js → align-editor-Ss2gJqa-.js} +1 -1
  4. package/dist/{barcode-design-Cfys0qZp.js → barcode-design-BR54lzNP.js} +2 -2
  5. package/dist/base/index.es.js +593 -337
  6. package/dist/{diagonal-design-COCeFGwR.js → diagonal-design-CJWfwmxE.js} +2 -2
  7. package/dist/{dynamic-table-action-Cu1Le9hH.js → dynamic-table-action-CmCkKNy1.js} +154 -47
  8. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-b00q9wdA.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Rn52Yoy5.js} +6744 -6227
  9. package/dist/{edit.utils-CXmmCnxE-BOncn5LV.js → edit.utils-CXmmCnxE-CaZYkGtk.js} +1 -1
  10. package/dist/excel.css +2092 -1255
  11. package/dist/{exceljs.min-c52EOEt7.js → exceljs.min-CPqsNaat.js} +2 -2
  12. package/dist/{font-editor-DQPdqXg5.js → font-editor-BascUFg2.js} +3 -3
  13. package/dist/{image-design-cooz4TPa.js → image-design-hTV7cmpq.js} +2 -2
  14. package/dist/{index-BfGmSyp1.js → index-0naSKwsT.js} +1 -1
  15. package/dist/{index-CO4nNHM3.js → index-2cn_RO0y.js} +3 -3
  16. package/dist/{index-XnJJgOdm.js → index-AB4yCMyX.js} +2 -2
  17. package/dist/{index-Xtis59gq.js → index-B4O876kc.js} +3 -3
  18. package/dist/{index-ulKkTYuc.js → index-B93hJuCY.js} +2 -2
  19. package/dist/{index-BemQL5y4.js → index-Bb9_9KOc.js} +1 -1
  20. package/dist/{index-CwWF4fNs.js → index-BpIDnEb4.js} +9 -3
  21. package/dist/{index-Dw_qNOpG.js → index-BrTAmCnc.js} +2 -2
  22. package/dist/{index-BuEjse-J.js → index-Bs12lNOF.js} +1 -1
  23. package/dist/{index-Bb2S-dei.js → index-C17RBnDD.js} +2 -2
  24. package/dist/{index-DyDtfr2s.js → index-CBWRF4iQ.js} +1 -1
  25. package/dist/{index-B8_k53zw.js → index-CCXNE6Ql.js} +2 -2
  26. package/dist/{index-Dj0L8eKP.js → index-CFuJks3C.js} +2 -2
  27. package/dist/{index-9oHgC7oG.js → index-CO3IUige.js} +3 -3
  28. package/dist/{index-Dnau-LCe.js → index-CbVXT1EA.js} +6 -3
  29. package/dist/{index-Cmn7U02v.js → index-Cjnc37XN.js} +3 -3
  30. package/dist/{index-cSg5gTIu.js → index-Cz5LjlUS.js} +2 -2
  31. package/dist/{index-Brh1l6iq.js → index-CzST9LRd.js} +2 -2
  32. package/dist/{index-BLK7v5CG.js → index-D1uEF2Q-.js} +1 -1
  33. package/dist/{index-Oi_LYhHE.js → index-DIBG4TOH.js} +2 -2
  34. package/dist/{index-BZn98fN7.js → index-DL0STF2C.js} +2 -2
  35. package/dist/{index-DaEaDjdh.js → index-DR2i2wAk.js} +2 -2
  36. package/dist/{index-Cvkw3W_d.js → index-D_jEtEOJ.js} +36970 -34590
  37. package/dist/{index-BOR2505F.js → index-Dd2Vzf8C.js} +2 -2
  38. package/dist/{index-ZAtxWzkI.js → index-Dsg2tRIM.js} +3 -3
  39. package/dist/{index-CNCGtCtF.js → index-DwXGYgpd.js} +2 -2
  40. package/dist/{index-n5VrYAZv.js → index-DyYU91oc.js} +2 -2
  41. package/dist/{index-DzbK_ZWg.js → index-EpRxP-KJ.js} +2 -2
  42. package/dist/{index-B8f6-KiD.js → index-KYZ_LYw8.js} +1 -1
  43. package/dist/{index-BYqRgQVr.js → index-QOhjFhUU.js} +1 -1
  44. package/dist/{index-OI5mKlGl.js → index-hQB6BP8F.js} +1 -1
  45. package/dist/{index-DSuZfLKu.js → index-m1firQQM.js} +1 -1
  46. package/dist/{index-GAho8RX_.js → index-w1K0Xebt.js} +2 -2
  47. package/dist/{index-BBcfyTk1.js → index-xkbxNAKp.js} +2 -2
  48. package/dist/index.es.js +2 -2
  49. package/dist/{mb-render-DriWft67.js → mb-render-lZnQMwuY.js} +1 -1
  50. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-CcJt835R.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-Dxi-5wnV.js} +1 -8
  51. package/dist/{pagination-design-Bl-7ZdF0.js → pagination-design-BQ-_HVZH.js} +2 -2
  52. package/dist/paper-widget-design-STFSgVx4.js +4 -0
  53. package/dist/{qrcode-design-Bz74HviL.js → qrcode-design-CKvV5FgN.js} +1 -1
  54. package/dist/{revo-grid.entry-DyC3Ie1V.js → revo-grid.entry-BxGIzM1P.js} +1 -1
  55. package/dist/{revogr-attribution_7.entry-BX3LvtVl.js → revogr-attribution_7.entry-D-RfLR2_.js} +3 -3
  56. package/dist/{revogr-clipboard_3.entry-CIsl8Vf6.js → revogr-clipboard_3.entry-CZXj_qxx.js} +2 -2
  57. package/dist/{revogr-data_4.entry-DZN_LFSr.js → revogr-data_4.entry-3DDluLT2.js} +2 -2
  58. package/dist/{revogr-filter-panel.entry-B6YKEctL.js → revogr-filter-panel.entry-DIcPvy6A.js} +1 -1
  59. package/dist/{serialnumber-design-Ad6LwvpG.js → serialnumber-design-BgIZu0sW.js} +1 -1
  60. package/dist/shared/index.es.js +31 -25
  61. package/dist/{single-field-drop-BUs_erWr.js → single-field-drop-Do6tRaIk.js} +2 -2
  62. package/dist/{size-editor-Vti8btyq.js → size-editor-B5f5QFKt.js} +1 -1
  63. package/dist/src/assets/svgs/table/index.d.ts +1 -0
  64. package/dist/src/domain/field/text/udi-manifest.d.ts +2 -0
  65. package/dist/src/domain/table/business/device/maintenance/index.d.ts +1 -0
  66. package/dist/src/domain/table/business/device/maintenance/profile/field-keys.d.ts +9 -0
  67. package/dist/src/domain/table/business/device/maintenance/profile/fields.d.ts +2 -0
  68. package/dist/src/domain/table/business/device/maintenance/profile/index.d.ts +3 -0
  69. package/dist/src/domain/table/business/device/point-inspection/index.d.ts +1 -0
  70. package/dist/src/domain/table/business/device/point-inspection/profile/field-keys.d.ts +9 -0
  71. package/dist/src/domain/table/business/device/point-inspection/profile/fields.d.ts +2 -0
  72. package/dist/src/domain/table/business/device/point-inspection/profile/index.d.ts +3 -0
  73. package/dist/src/domain/table/business/device/signature-lock.d.ts +9 -0
  74. package/dist/src/domain/table/business/material/material-requisition/profile/field-keys.d.ts +1 -1
  75. package/dist/src/domain/table/business/material/material-substitution/index.d.ts +2 -0
  76. package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +75 -0
  77. package/dist/src/domain/table/business/material/material-substitution/profile/fields.d.ts +2 -0
  78. package/dist/src/domain/table/business/material/material-substitution/profile/index.d.ts +4 -0
  79. package/dist/src/domain/table/business/material/material-substitution/runtime/register-handlers.d.ts +1 -0
  80. package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +6 -0
  81. package/dist/src/domain/table/design/create-subtable.d.ts +1 -1
  82. package/dist/src/domain/table/design/hooks/on-field-attach.d.ts +1 -1
  83. package/dist/src/domain/table/design/index.d.ts +1 -1
  84. package/dist/src/domain/table/design/ribbon-options.d.ts +1 -0
  85. package/dist/src/domain/table/design/sub-model-matcher.d.ts +1 -0
  86. package/dist/src/domain/table/index.d.ts +3 -2
  87. package/dist/src/domain/table/registry.d.ts +1 -0
  88. package/dist/src/domain/table/types.d.ts +8 -3
  89. package/dist/src/nocode-base/src/components/inspection-decision-prompt-modal.vue.d.ts +7 -0
  90. package/dist/src/nocode-base/src/constant/index.d.ts +18 -2
  91. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +23 -1
  92. package/dist/src/nocode-base/src/hooks/index.d.ts +2 -1
  93. package/dist/src/nocode-base/src/hooks/inspection-decision-rule/evaluator.d.ts +11 -0
  94. package/dist/src/nocode-base/src/hooks/udi.d.ts +5 -0
  95. package/dist/src/nocode-base/src/hooks/useValidator.d.ts +2 -2
  96. package/dist/src/nocode-base/src/hooks/validation/runValidation.d.ts +2 -0
  97. package/dist/src/nocode-base/src/hooks/validation/useFormValidator.d.ts +4 -0
  98. package/dist/src/nocode-base/src/types/business/index.d.ts +8 -1
  99. package/dist/src/nocode-base/src/types/common/base.d.ts +51 -0
  100. package/dist/src/nocode-base/src/types/fields/i-sign.d.ts +5 -1
  101. package/dist/src/nocode-base/src/types/index.d.ts +1 -1
  102. package/dist/src/nocode-base/src/types/widgets/i-paper.d.ts +3 -1
  103. package/dist/src/nocode-web-render/src/render/sub-table/common/sub-table-render.d.ts +1 -1
  104. package/dist/src/nocode-web-render/src/render/sub-table/stocktake/stocktake-web-render.d.ts +1 -1
  105. package/dist/src/online-form/src/components/version-diff/index/types.d.ts +5 -1
  106. package/dist/src/online-form/src/views/designer/constants/index.d.ts +1 -0
  107. package/dist/src/online-form/src/views/designer/enums/index.d.ts +2 -1
  108. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +48 -0
  109. package/dist/src/online-form/src/views/designer/hooks/useDhrEdition.d.ts +7 -0
  110. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +63 -0
  111. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/decision-rule-condition.vue.d.ts +19 -0
  112. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/decision-rule-group.vue.d.ts +16 -0
  113. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/decision-rule.d.ts +54 -0
  114. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/field-tree-node.vue.d.ts +24 -0
  115. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/field-tree-select.vue.d.ts +30 -0
  116. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/field-tree-utils.d.ts +12 -0
  117. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/inspection-decision-modal.vue.d.ts +9 -0
  118. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/panel-rule-config.vue.d.ts +18 -1
  119. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-button.vue.d.ts +33 -0
  120. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-icon.vue.d.ts +12 -0
  121. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-input.vue.d.ts +23 -0
  122. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-modal.vue.d.ts +36 -0
  123. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-scrollbar.vue.d.ts +21 -0
  124. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-select.vue.d.ts +30 -0
  125. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-switch.vue.d.ts +17 -0
  126. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-text-area.vue.d.ts +20 -0
  127. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/index.d.ts +8 -0
  128. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +30 -0
  129. package/dist/src/online-form/src/views/designer/types/index.d.ts +4 -2
  130. package/dist/src/online-form/src/views/designer/utils/xlsx-parser.d.ts +3 -0
  131. package/dist/src/online-form/src/views/render/__components__/_field_/sign/component/sign-validation.d.ts +13 -0
  132. package/dist/src/shared/components/Signature/card-signer.vue.d.ts +2 -2
  133. package/dist/src/shared/components/Signature/index.d.ts +1 -2
  134. package/dist/src/shared/components/Signature/logic/index.d.ts +8 -23
  135. package/dist/src/shared/components/Signature/types/index.d.ts +4 -1
  136. package/dist/src/shared/components/Signature/ui/password-signer.vue.d.ts +2 -0
  137. package/dist/src/shared/components/Signature/ui/sign-popover-content.vue.d.ts +6 -2
  138. package/dist/src/shared/components/Signature/ui/sign-switcher.vue.d.ts +3 -1
  139. package/dist/src/shared/enum/field-type.d.ts +5 -0
  140. package/dist/src/shared/enum/online-form.d.ts +8 -2
  141. package/dist/{text-design-5_QVg_51.js → text-design-C8QBoCib.js} +2 -2
  142. package/dist/{throttle-Cpk1LoGk-BEdxlFV2.js → throttle-Cpk1LoGk-D8x0_nKc.js} +1 -1
  143. package/dist/{timediff-design-Bq8bixda.js → timediff-design-CsDLmpYK.js} +1 -1
  144. package/dist/{trace-like-wrapper-BADoff39.js → trace-like-wrapper-fqCKv1tP.js} +2 -2
  145. package/dist/{value-editor.vue_vue_type_style_index_0_lang-Ctur5316.js → value-editor.vue_vue_type_style_index_0_lang-BiFdaVMQ.js} +2 -2
  146. package/dist/web-render/index.es.js +3 -3
  147. package/dist/{widget-barcode-BZPMW3xm.js → widget-barcode-DWJWHhHw.js} +4 -4
  148. package/dist/{widget-diagonal-CEK9zT4F.js → widget-diagonal-ChaNFnER.js} +3 -3
  149. package/dist/{widget-image-BREa1eP3.js → widget-image-B6V9q5Dd.js} +5 -5
  150. package/dist/{widget-line-D1gy7UjT.js → widget-line-8n0EWml2.js} +2 -2
  151. package/dist/{widget-pagination-C6IuJtde.js → widget-pagination-CVgdkFav.js} +5 -5
  152. package/dist/{widget-power-CMbgf3lp.js → widget-power-CRvjhBum.js} +3 -3
  153. package/dist/{widget-qrcode-DYV1Thgb.js → widget-qrcode-DPP5sjhy.js} +3 -3
  154. package/dist/{widget-rangelimit-DIFMYtBx.js → widget-rangelimit-ceyBLia0.js} +3 -3
  155. package/dist/{widget-serialnumber-BhTM0Hxl.js → widget-serialnumber-NUpJm-iS.js} +1 -1
  156. package/dist/{widget-text-Drnj12hi.js → widget-text-B9yOrDvs.js} +5 -5
  157. package/dist/{widget-timediff-BKmpj3uq.js → widget-timediff-BKWA2ekE.js} +2 -2
  158. package/package.json +2 -2
  159. package/dist/paper-widget-design-CUHfm9rZ.js +0 -4
  160. package/dist/src/shared/components/Signature/ui/sign-editor.vue.d.ts +0 -29
  161. package/dist/src/shared/components/Signature/ui/sign-preview.vue.d.ts +0 -18
  162. package/dist/src/shared/components/Signature/ui/sign-switcher-modal.vue.d.ts +0 -116
@@ -1,6 +1,6 @@
1
1
  import { defineComponent, computed, openBlock, createBlock } from "vue";
2
- import { d as useModelFields, D as Diagonal } from "./index-Cvkw3W_d.js";
3
- import { ai as resolveDiagonalVertex, a4 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-b00q9wdA.js";
2
+ import { d as useModelFields, D as Diagonal } from "./index-D_jEtEOJ.js";
3
+ import { al as resolveDiagonalVertex, a7 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Rn52Yoy5.js";
4
4
  import "lodash-es";
5
5
  import "dayjs";
6
6
  import "ant-design-vue";
@@ -1,10 +1,10 @@
1
1
  import { computed, watch, toRaw, onUnmounted, markRaw, ref, inject, unref, provide, nextTick, reactive, defineComponent, openBlock, createElementBlock, mergeProps, createElementVNode, normalizeClass, renderSlot, createCommentVNode, createVNode, toDisplayString, toRef, isVNode, h, onMounted, onBeforeMount, resolveComponent, createBlock, withCtx, Fragment, renderList, createTextVNode } from "vue";
2
- import { C as ComponentTypeEnum, aQ as useWidgetStaticAttrs, Z as PlatformEnum, da as assembleRules, db as deleteFormRule, dc as setFormRule, c3 as requestDisplayValidation, dd as isReferenceOptionActive, de as validateAllFields, df as runValidation, dg as ensureFrontRowKey, dh as FRONT_ROW_KEY, cg as getRowId, b2 as getParseRuleInfo, bc as transformUtils, aZ as materialCheck, a_ as getLotLockedReason, a$ as validateReinspectionDate, bi as FormulaRuleFieldKeyEnum, aX as NCB_PROVIDE, F as FIELD_TYPE, di as buildError, z as api, l as SubTableType, b3 as getParseRuleValue, ca as uuid2, aI as DeviceLink, a4 as _export_sfc, cA as buildFormChangeDisplayRows, d6 as resolveRowFormChangeMark, d5 as resolveFormChangeRowUi, cT as isAnnLocationSelected, d7 as setSelectMobileTdId, cU as isFormChangeGhostRow, x as CellType, aS as setSelectAnnotationId, d0 as recordSubtableRowDelete, cC as deleteSubtableRow, d1 as relocateDeletedRowsToEnd, cS as insertSubtableRows, c$ as recordSubtableRowAdd, G as useModal, dj as q, dk as groupFixedTableRows, dl as QUICK_FILL_ALLOWED_FIELDS, dm as processQuickFillRows, dn as getIsGroupEmpty, bg as RenderModeEnum, cN as getSubTableQuickFillInfo } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-b00q9wdA.js";
2
+ import { C as ComponentTypeEnum, aT as useWidgetStaticAttrs, _ as PlatformEnum, dk as assembleRules, dl as deleteFormRule, dm as setFormRule, cc as requestDisplayValidation, dn as isReferenceOptionActive, dp as validateAllFields, dq as runValidation, dr as ensureFrontRowKey, ds as FRONT_ROW_KEY, cq as getRowId, b5 as getParseRuleInfo, bf as transformUtils, b0 as materialCheck, b1 as getLotLockedReason, b2 as validateReinspectionDate, bn as FormulaRuleFieldKeyEnum, a_ as NCB_PROVIDE, F as FIELD_TYPE, dt as buildError, A as api, m as SubTableType, du as isPersistedSignatureLockActive, dv as isSignatureLockActive, b6 as getParseRuleValue, ck as uuid2, aL as DeviceLink, a7 as _export_sfc, cK as buildFormChangeDisplayRows, dg as resolveRowFormChangeMark, df as resolveFormChangeRowUi, d1 as isAnnLocationSelected, dh as setSelectMobileTdId, d2 as isFormChangeGhostRow, y as CellType, aV as setSelectAnnotationId, da as recordSubtableRowDelete, cM as deleteSubtableRow, db as relocateDeletedRowsToEnd, d0 as insertSubtableRows, d9 as recordSubtableRowAdd, H as useModal, dw as q, dx as groupFixedTableRows, dy as QUICK_FILL_ALLOWED_FIELDS, dz as processQuickFillRows, dA as getIsGroupEmpty, bl as RenderModeEnum, cX as getSubTableQuickFillInfo } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Rn52Yoy5.js";
3
3
  import { isNil, cloneDeep, merge, pickBy, mergeWith, omit, last, pick } from "lodash-es";
4
4
  import dayjs from "dayjs";
5
5
  import { u as useNamespace } from "./use-namespace-BxkK4ofX.js";
6
6
  import { Modal, message } from "ant-design-vue";
7
- import { u as useFormModel } from "./mb-render-DriWft67.js";
7
+ import { u as useFormModel } from "./mb-render-lZnQMwuY.js";
8
8
  const InstanceStatusValues = {
9
9
  /** 作废状态 */
10
10
  ABANDON: "ABANDON",
@@ -1266,7 +1266,9 @@ function buildMaterialNoQuery(options) {
1266
1266
  };
1267
1267
  } else {
1268
1268
  const productQuery = buildProductIdQuery(options);
1269
- if (!productQuery || isEmptyProductQuery(productQuery)) {
1269
+ if (!productQuery) {
1270
+ baseQuery = { "product_id_.versionIn": null };
1271
+ } else if (isEmptyProductQuery(productQuery)) {
1270
1272
  baseQuery = { "product_id_.versionIn": [EMPTY_PRODUCT_VERSION_ID] };
1271
1273
  } else {
1272
1274
  const versionIds = productQuery["id_.in"].filter((id) => Boolean(id));
@@ -2591,11 +2593,11 @@ async function validateObjectBomQtyOnSubmit(opts) {
2591
2593
  }
2592
2594
  return errors;
2593
2595
  }
2594
- function isBlank$1(value) {
2596
+ function isBlank$2(value) {
2595
2597
  return value == null || value === "";
2596
2598
  }
2597
2599
  function pickPresent(preferred, fallback) {
2598
- return isBlank$1(preferred) ? fallback : preferred;
2600
+ return isBlank$2(preferred) ? fallback : preferred;
2599
2601
  }
2600
2602
  function resolveObjectFieldKeys(opts) {
2601
2603
  const obj = opts.objectFieldList?.find((item) => item.objectField === opts.belongingObject);
@@ -2615,7 +2617,7 @@ function resolveObjectFieldKeys(opts) {
2615
2617
  };
2616
2618
  }
2617
2619
  function buildObjectLotExtraQuery(productId) {
2618
- if (isBlank$1(productId)) return {};
2620
+ if (isBlank$2(productId)) return {};
2619
2621
  const versionId = String(productId).split(":").pop();
2620
2622
  if (!versionId) return {};
2621
2623
  return { "product_id_.versionEq": versionId };
@@ -2628,9 +2630,9 @@ function clearObjectLotFields(formData, materialNoKey) {
2628
2630
  }
2629
2631
  function shouldClearLotOnProductChange(opts) {
2630
2632
  const { prevProduct, nextProduct, lotValue } = opts;
2631
- if (isBlank$1(prevProduct) && isBlank$1(nextProduct)) return false;
2633
+ if (isBlank$2(prevProduct) && isBlank$2(nextProduct)) return false;
2632
2634
  if (prevProduct === nextProduct) return false;
2633
- if (isBlank$1(prevProduct) && !isBlank$1(nextProduct) && !isBlank$1(lotValue)) {
2635
+ if (isBlank$2(prevProduct) && !isBlank$2(nextProduct) && !isBlank$2(lotValue)) {
2634
2636
  return false;
2635
2637
  }
2636
2638
  return true;
@@ -2648,7 +2650,7 @@ function runWithFillProduct(fn) {
2648
2650
  }
2649
2651
  function fillProductFromLotOption(opts) {
2650
2652
  const productId = opts.option?.product_id_ ?? opts.option?._item?.product_id_;
2651
- if (!opts.productKey || isBlank$1(productId)) return;
2653
+ if (!opts.productKey || isBlank$2(productId)) return;
2652
2654
  runWithFillProduct(() => {
2653
2655
  opts.formData[opts.productKey] = productId;
2654
2656
  });
@@ -2679,7 +2681,7 @@ async function applyConsumeObjectTraceChange(opts) {
2679
2681
  }
2680
2682
  if (keys.bomEntryIdKey) {
2681
2683
  formData[keys.bomEntryIdKey] = null;
2682
- if (!isBlank$1(opts.nextValue) && opts.formInstBom) {
2684
+ if (!isBlank$2(opts.nextValue) && opts.formInstBom) {
2683
2685
  const entry = resolveObjectBomEntry({
2684
2686
  formInstBom: opts.formInstBom,
2685
2687
  belongingObject,
@@ -2689,7 +2691,7 @@ async function applyConsumeObjectTraceChange(opts) {
2689
2691
  }
2690
2692
  }
2691
2693
  const lotValue = keys.materialNoKey ? formData[keys.materialNoKey] : void 0;
2692
- if (!isBlank$1(opts.nextValue) && !isBlank$1(lotValue)) {
2694
+ if (!isBlank$2(opts.nextValue) && !isBlank$2(lotValue)) {
2693
2695
  try {
2694
2696
  await validateReinspectionDate({
2695
2697
  product_id_: String(opts.nextValue),
@@ -2708,7 +2710,7 @@ async function applyConsumeObjectTraceChange(opts) {
2708
2710
  return { abortLocked: opts.option.id_ };
2709
2711
  }
2710
2712
  const params = resolveLotValidateParams(keys, formData, opts.option);
2711
- if (isBlank$1(params.material_no_) && isBlank$1(params.material_no_id_)) return {};
2713
+ if (isBlank$2(params.material_no_) && isBlank$2(params.material_no_id_)) return {};
2712
2714
  try {
2713
2715
  await validateReinspectionDate(params);
2714
2716
  } catch (e) {
@@ -2722,7 +2724,7 @@ async function applyConsumeObjectTraceChange(opts) {
2722
2724
  });
2723
2725
  if (keys.bomEntryIdKey && opts.formInstBom) {
2724
2726
  const productId = opts.option?.product_id_ ?? opts.option?._item?.product_id_;
2725
- if (!isBlank$1(productId)) {
2727
+ if (!isBlank$2(productId)) {
2726
2728
  const entry = resolveObjectBomEntry({
2727
2729
  formInstBom: opts.formInstBom,
2728
2730
  belongingObject,
@@ -2978,6 +2980,7 @@ class TdHandler {
2978
2980
  set fieldReadonly(val) {
2979
2981
  this.cloneTd();
2980
2982
  this.td.cellWidget.props.readonly = val;
2983
+ this.td.cellWidget.props.field_readonly = val;
2981
2984
  if (val) {
2982
2985
  this.td.cellWidget.props.disabled = false;
2983
2986
  }
@@ -3289,6 +3292,12 @@ class SubTableCore {
3289
3292
  */
3290
3293
  calcFieldStatus(params) {
3291
3294
  const result = {};
3295
+ const config = this.bizTableConfig;
3296
+ if (config?.dataLockControlField && params.field === config.dataLockControlField) {
3297
+ result.readonly = isPersistedSignatureLockActive(config, params.rowData);
3298
+ } else if (config?.dataLockControlField) {
3299
+ result.disabled = isSignatureLockActive(config, params.rowData);
3300
+ }
3292
3301
  return result;
3293
3302
  }
3294
3303
  /**
@@ -3846,7 +3855,7 @@ const OPERATION_RECEIVE_QTY_API = {
3846
3855
  modelKey: "em_routing_operation_number",
3847
3856
  bsKey: "getOne"
3848
3857
  };
3849
- function isBlank(value) {
3858
+ function isBlank$1(value) {
3850
3859
  return value == null || value === "";
3851
3860
  }
3852
3861
  function unwrapBizPayload(res) {
@@ -3861,7 +3870,7 @@ function unwrapBizPayload(res) {
3861
3870
  async function fetchOperationReceiveQty(paramsConfig) {
3862
3871
  const containerId = paramsConfig?.containerId;
3863
3872
  const routingOperationId = paramsConfig?.routingOperationId;
3864
- if (isBlank(containerId) || isBlank(routingOperationId)) return void 0;
3873
+ if (isBlank$1(containerId) || isBlank$1(routingOperationId)) return void 0;
3865
3874
  try {
3866
3875
  const res = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
3867
3876
  OPERATION_RECEIVE_QTY_API,
@@ -3882,6 +3891,74 @@ async function fetchOperationReceiveQty(paramsConfig) {
3882
3891
  return void 0;
3883
3892
  }
3884
3893
  }
3894
+ const UDI_API = {
3895
+ modelCategory: "entity",
3896
+ modelKey: "em_production_identification_udi",
3897
+ bsKey: "listAll"
3898
+ };
3899
+ function isPresent(value) {
3900
+ return value !== void 0 && value !== null && value !== "";
3901
+ }
3902
+ function isBlank(value) {
3903
+ return value === void 0 || value === null || value === "";
3904
+ }
3905
+ function unwrapUdiList(res) {
3906
+ if (Array.isArray(res)) return res;
3907
+ if (!res || typeof res !== "object") return [];
3908
+ const data = res.data;
3909
+ if (Array.isArray(data)) return data;
3910
+ if (data && typeof data === "object" && Array.isArray(data.data)) {
3911
+ return data.data;
3912
+ }
3913
+ return [];
3914
+ }
3915
+ function resolveUdiQuery(paramsConfig) {
3916
+ const containerId = paramsConfig?.containerId;
3917
+ if (!isBlank(containerId)) {
3918
+ return { production_identification_id_: String(containerId) };
3919
+ }
3920
+ const snId = paramsConfig?.snId;
3921
+ if (!isBlank(snId)) {
3922
+ return { production_identification_id_: String(snId) };
3923
+ }
3924
+ return void 0;
3925
+ }
3926
+ function parseUdi(res) {
3927
+ const row = unwrapUdiList(res)[0];
3928
+ if (!row) return void 0;
3929
+ const value = row.udi_;
3930
+ return isPresent(value) ? String(value) : void 0;
3931
+ }
3932
+ const inflightUdiByQuery = /* @__PURE__ */ new Map();
3933
+ const resolvedUdiByQuery = /* @__PURE__ */ new Map();
3934
+ async function fetchUdi(paramsConfig) {
3935
+ const query = resolveUdiQuery(paramsConfig);
3936
+ if (!query) return void 0;
3937
+ const cacheKey = JSON.stringify(query);
3938
+ if (resolvedUdiByQuery.has(cacheKey)) return resolvedUdiByQuery.get(cacheKey);
3939
+ const existing = inflightUdiByQuery.get(cacheKey);
3940
+ if (existing) return existing;
3941
+ const task = (async () => {
3942
+ try {
3943
+ const res = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
3944
+ UDI_API,
3945
+ {},
3946
+ { query, pageNo: 1, pageSize: 1 }
3947
+ );
3948
+ const udi = parseUdi(res);
3949
+ resolvedUdiByQuery.set(cacheKey, udi);
3950
+ return udi;
3951
+ } catch {
3952
+ return void 0;
3953
+ }
3954
+ })();
3955
+ inflightUdiByQuery.set(cacheKey, task);
3956
+ try {
3957
+ return await task;
3958
+ } finally {
3959
+ inflightUdiByQuery.delete(cacheKey);
3960
+ }
3961
+ }
3885
3962
  const _hoisted_1$5 = ["data-merge", "data-fill-direction"];
3886
3963
  const _hoisted_2$1 = {
3887
3964
  key: 0,
@@ -5818,6 +5895,33 @@ const DocumentPaper = /* @__PURE__ */ defineComponent({
5818
5895
  }
5819
5896
  return attrInfo;
5820
5897
  };
5898
+ const applyFixedTableSignatureLock = (tdInfo) => {
5899
+ if (!tdInfo.props?.isNewFixedTableTd || !tdInfo.cellWidget?.props?.field) {
5900
+ return tdInfo;
5901
+ }
5902
+ const tableField = tdInfo.props.fixedTableFieldId;
5903
+ const table = fixedTables.value.find((item) => item.field === tableField);
5904
+ const config2 = table?.bizTableConfig;
5905
+ if (!config2?.dataLockControlField) return tdInfo;
5906
+ const rowIndex = tdInfo.cellFixedTableDataIdx ?? 0;
5907
+ const rowData = props.formState?.[tableField]?.[rowIndex];
5908
+ const isControlField = tdInfo.cellWidget.props.field === config2.dataLockControlField;
5909
+ const locked = isSignatureLockActive(config2, rowData) && !isControlField;
5910
+ const controlFieldReadonly = isControlField && isPersistedSignatureLockActive(config2, rowData);
5911
+ const originalProps = tdInfo.cellWidget.props;
5912
+ return {
5913
+ ...tdInfo,
5914
+ cellWidget: {
5915
+ ...tdInfo.cellWidget,
5916
+ props: {
5917
+ ...originalProps,
5918
+ fieldDisabled: locked ? true : originalProps.fieldDisabled,
5919
+ field_readonly: controlFieldReadonly ? true : originalProps.field_readonly,
5920
+ readonly: controlFieldReadonly ? true : originalProps.readonly
5921
+ }
5922
+ }
5923
+ };
5924
+ };
5821
5925
  onMounted(async () => {
5822
5926
  if (props.basicInfo.renderModeType === RenderModeEnum.ViewMode) {
5823
5927
  await waitDomStable(mainTableRef.value, void 0, void 0, props.basicInfo.__isPrintRender);
@@ -5872,7 +5976,7 @@ const DocumentPaper = /* @__PURE__ */ defineComponent({
5872
5976
  "key": `${trId}_${trIndex}`,
5873
5977
  "height": height
5874
5978
  }, [tdIds.map((tdId) => {
5875
- const tdInfo = props.widgetCenter[tdId];
5979
+ const tdInfo = applyFixedTableSignatureLock(props.widgetCenter[tdId]);
5876
5980
  const tdAttrs = {
5877
5981
  key: tdId,
5878
5982
  id: tdId,
@@ -6132,57 +6236,60 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
6132
6236
  });
6133
6237
  const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-53d7e66c"]]);
6134
6238
  export {
6135
- getCopySubMenu as A,
6239
+ parseUdi as $,
6240
+ resolveScanQty as A,
6136
6241
  BorderTD as B,
6137
- resolveScanParsedValue as C,
6242
+ toDateOnly as C,
6138
6243
  DeviceLinkTmplUtil as D,
6139
6244
  EMPTY_PRODUCT_VERSION_ID as E,
6140
- resolveScanFillData as F,
6141
- isProductBatchEmptyRow as G,
6142
- useMaterialBalance as H,
6245
+ getCopySubMenu as F,
6246
+ resolveScanParsedValue as G,
6247
+ isProductBatchEmptyRow as H,
6143
6248
  InstanceStatusValues as I,
6144
- validate as J,
6145
- validateObjectBomQtyOnSubmit as K,
6146
- DeviceConnector as L,
6249
+ useMaterialBalance as J,
6250
+ validate as K,
6251
+ validateObjectBomQtyOnSubmit as L,
6147
6252
  MaterialConsumptionPatternEnum as M,
6148
- DocumentLoading as N,
6149
- DynamicQuickFillModal as O,
6150
- FixedQuickFillModal as P,
6151
- FormTmplConfigController as Q,
6253
+ DeviceConnector as N,
6254
+ DocumentLoading as O,
6255
+ DynamicQuickFillModal as P,
6256
+ FixedQuickFillModal as Q,
6152
6257
  RequiredQtyCalcRule as R,
6153
6258
  ScanParamType as S,
6154
- MCDataUtil as T,
6155
- OCR_MODEL_PRECISION_ENUM_KEY as U,
6156
- getAppInfo as V,
6157
- getSuiteKey as W,
6158
- isBlank$1 as X,
6159
- isEqmSuite as Y,
6160
- pickObjectFieldKeys as Z,
6259
+ FormTmplConfigController as T,
6260
+ MCDataUtil as U,
6261
+ OCR_MODEL_PRECISION_ENUM_KEY as V,
6262
+ getAppInfo as W,
6263
+ getSuiteKey as X,
6264
+ isBlank$2 as Y,
6265
+ isEqmSuite as Z,
6161
6266
  _sfc_main$5 as _,
6162
6267
  useTmplBom as a,
6268
+ pickObjectFieldKeys as a0,
6269
+ resolveUdiQuery as a1,
6163
6270
  buildObjectLotExtraQuery as b,
6164
6271
  resolveObjectBomEntry as c,
6165
6272
  runWithFillProduct as d,
6166
6273
  applyConsumeObjectTraceChange as e,
6167
- fetchOperationReceiveQty as f,
6274
+ fetchUdi as f,
6168
6275
  getObjectBomMaterialLotQuery as g,
6169
- getObjectBomProductQuery as h,
6276
+ fetchOperationReceiveQty as h,
6170
6277
  isEdhrSuite as i,
6171
- useStyles as j,
6172
- useValidator as k,
6173
- DocumentPaper as l,
6174
- DynamicTableAction as m,
6278
+ getObjectBomProductQuery as j,
6279
+ useStyles as k,
6280
+ useValidator as l,
6281
+ DocumentPaper as m,
6175
6282
  normalizeFieldWidth as n,
6176
- MaterialConsumeTableController as o,
6177
- SubTableCore as p,
6283
+ DynamicTableAction as o,
6284
+ MaterialConsumeTableController as p,
6178
6285
  SubTableActionMenuTypeEnum as q,
6179
6286
  resolveObjectFieldKeys as r,
6180
6287
  getMenuByAction as s,
6181
6288
  SubTableActionEnum as t,
6182
6289
  useFormTmplConfig as u,
6183
6290
  validateObjectBomForScan as v,
6184
- getInsertSubMenu as w,
6185
- resolveScanAdjustType as x,
6186
- resolveScanQty as y,
6187
- toDateOnly as z
6291
+ resolveScanFillData as w,
6292
+ SubTableCore as x,
6293
+ getInsertSubMenu as y,
6294
+ resolveScanAdjustType as z
6188
6295
  };