@gct-paas/excel 0.1.28-beta.38 → 0.1.28-beta.39

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 (244) hide show
  1. package/dist/{BaseComponent-CRWptIFw.js → BaseComponent-BE08TK7F.js} +1 -1
  2. package/dist/{VueVideoPlayer-zJ8vNC_p.js → VueVideoPlayer-LoMZlxi3.js} +2 -2
  3. package/dist/{agg-props-BYr2M8Ye.js → agg-props-DMG-tjFR.js} +1 -1
  4. package/dist/{agg-style-CYukciFq.js → agg-style-Cx_6YgWb.js} +1 -1
  5. package/dist/{align-editor-eQsBa-y_.js → align-editor-CeD_05TV.js} +1 -1
  6. package/dist/{attach-fields-editor-DcBKJ97a.js → attach-fields-editor-DzuYTsZn.js} +2 -2
  7. package/dist/{barcode-design-D5uhxLVI.js → barcode-design-BVhKLBHS.js} +2 -2
  8. package/dist/base/index.es.js +103 -97
  9. package/dist/{base-font-editor-Cr3hehja.js → base-font-editor-CFoC_Tm1.js} +2 -2
  10. package/dist/{boolean-props-DqzmLs69.js → boolean-props-B22D5axg.js} +3 -3
  11. package/dist/{boolean-style-BwwpiJAP.js → boolean-style-DLDHs2XI.js} +4 -4
  12. package/dist/{date-range-editor-DQhqeZkt.js → date-range-editor-Lnp-HAiz.js} +2 -2
  13. package/dist/{date-time-props-BvnZ5ErM.js → date-time-props-fREzNiKA.js} +3 -3
  14. package/dist/{date-time-style-iE0nExHT.js → date-time-style-CS2cqaf7.js} +1 -1
  15. package/dist/{decimal-display-mode-Cki065zT.js → decimal-display-mode-DYF0ZUgL.js} +2 -2
  16. package/dist/{decimal-props-Bpe9LSRi.js → decimal-props-DkwhIIPG.js} +4 -4
  17. package/dist/{decimal-style-_NLlqIgX.js → decimal-style-Bd_SA_MW.js} +1 -1
  18. package/dist/{default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-BWiM10Zv.js → default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-LuAUu3Yn.js} +2 -2
  19. package/dist/{diagonal-design-u5pK19ru.js → diagonal-design-CAAb5AzJ.js} +2 -2
  20. package/dist/{double-props-opL-TxZh.js → double-props-rwjpW7Tv.js} +6 -5
  21. package/dist/{double-style-COY8EL3y.js → double-style-DpToYWPI.js} +1 -1
  22. package/dist/{dynamic-table-action-DlAOLmCJ.js → dynamic-table-action-mtuMZU7c.js} +250 -117
  23. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-D9auoAWe.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DIBDgGHy.js} +1158 -255
  24. package/dist/{edit.utils-CXmmCnxE-BOvBVi8j.js → edit.utils-CXmmCnxE-DQe1nbqD.js} +1 -1
  25. package/dist/{enum-props-8MMvPTj0.js → enum-props-BVyK3wR6.js} +3 -3
  26. package/dist/{enum-style-BXfXyFF-.js → enum-style-bTMGjbNw.js} +3 -3
  27. package/dist/excel.css +1007 -1026
  28. package/dist/{exceljs.min-CU0smz7k.js → exceljs.min-C_exTIAc.js} +2 -2
  29. package/dist/{expression-props-CQ-c4FU6.js → expression-props-Ba3Hbt9i.js} +1 -1
  30. package/dist/{expression-style-B7bmtfVB.js → expression-style-ZvgoLpHs.js} +1 -1
  31. package/dist/{file-props-DWI0i5ei.js → file-props-BAr6j34p.js} +2 -2
  32. package/dist/{file-style-HbWtcf5f.js → file-style-BCQR3DVa.js} +1 -1
  33. package/dist/{font-editor-BgVy4f8q.js → font-editor-DjvY-w34.js} +3 -3
  34. package/dist/{image-design-CgSO9f2T.js → image-design-BJhMCOLe.js} +2 -2
  35. package/dist/{image-props-L_xju4Dr.js → image-props-ibqLLS0o.js} +1 -1
  36. package/dist/{image-style-COI1uUHm.js → image-style-CAoLOlCG.js} +1 -1
  37. package/dist/{index-C-awIT5U.js → index-B3WV8ard.js} +3 -3
  38. package/dist/{index-D9xq-xyk.js → index-B5MJAVNp.js} +1 -1
  39. package/dist/{index-D1fLMVCS.js → index-BEdFv-Pw.js} +1 -1
  40. package/dist/{index-DjMib8ms.js → index-BHQZDrQr.js} +1 -1
  41. package/dist/{index-Cc07_rJ1.js → index-BUoUjqpq.js} +2 -2
  42. package/dist/{index-CNql0RNJ.js → index-BZ3kybpe.js} +2 -2
  43. package/dist/{index-CIuiRsc0.js → index-BlZ4D7zF.js} +2 -2
  44. package/dist/{index-BZQ2W2Ge.js → index-BtDCOqQ8.js} +2 -2
  45. package/dist/{index-Bv2ud02A.js → index-By36-eC5.js} +3 -3
  46. package/dist/{index-A3y1V-Tb.js → index-C2KEZm5t.js} +3 -3
  47. package/dist/{index-CcY0eaZU.js → index-CFFuFVrE.js} +3 -3
  48. package/dist/{index-CUcDxtTC.js → index-CIGPF6o5.js} +2 -2
  49. package/dist/{index-DdP-n5E-.js → index-CccmS_xG.js} +2 -2
  50. package/dist/{index-COMRzfXz.js → index-Cg-orz8W.js} +2 -2
  51. package/dist/{index-DVkKkSDE.js → index-Cofiy3xZ.js} +2 -2
  52. package/dist/{index-0UiXT_3B.js → index-D02EHGAr.js} +1 -1
  53. package/dist/{index-CFOMa5bv.js → index-DAZgpBi0.js} +2 -2
  54. package/dist/{index-yixrbO6h.js → index-DU2SlUPM.js} +1250 -725
  55. package/dist/{index-BvnPkmH2.js → index-DqWxgb5J.js} +2 -2
  56. package/dist/{index-C_1vH-D_.js → index-DvSttVVp.js} +1 -1
  57. package/dist/{index-DnwXEw-y.js → index-DySv_NU1.js} +1 -1
  58. package/dist/{index-BLjMXTrZ.js → index-OT5k5Tam.js} +1 -1
  59. package/dist/{index-DQpvuqid.js → index-OgnDl0tT.js} +1 -1
  60. package/dist/{index-Dt3rynAG.js → index-T6YaIU2c.js} +1 -1
  61. package/dist/{index-C0CCzhTw.js → index-bKUDTrnd.js} +2 -2
  62. package/dist/{index-CDL2LrXO.js → index-cUXaoxFx.js} +2 -2
  63. package/dist/{index-BhUNwWO6.js → index-fE_FgEQ8.js} +2 -2
  64. package/dist/{index-BLlZKE53.js → index-hLsDYqxf.js} +2 -2
  65. package/dist/{index-D_Nq7yFA.js → index-mFGarpb7.js} +2 -2
  66. package/dist/{index-DBk_AfgR.js → index-rT8_jyRY.js} +2 -2
  67. package/dist/{index-CWuwEips.js → index-ukTuS4Bh.js} +1 -1
  68. package/dist/{index-BDMsVemC.js → index-w7fcTW97.js} +2 -2
  69. package/dist/{index-kGRtT7rc.js → index-zCyjOCaY.js} +2 -2
  70. package/dist/index.es.js +50 -49
  71. package/dist/{integer-props-DNjECzF8.js → integer-props-CBIsaAMc.js} +4 -4
  72. package/dist/{integer-style-wuCoWswU.js → integer-style-BBxkr4QX.js} +1 -1
  73. package/dist/{mb-render-DaX4NYGo.js → mb-render-C3bOewR0.js} +2 -2
  74. package/dist/{org-props-BUMwhrWo.js → org-props-9RaWO3eu.js} +2 -2
  75. package/dist/{org-style-BFzCaJvk.js → org-style-Cf0NWAvx.js} +1 -1
  76. package/dist/{pagination-design-CWE4vytc.js → pagination-design-oBbPAfsv.js} +2 -2
  77. package/dist/paper-widget-design-doII_LY9.js +4 -0
  78. package/dist/{qrcode-design-3Lqus-uz.js → qrcode-design-C9Y5pj44.js} +1 -1
  79. package/dist/{ref-autofill-editor-0EMRe0eC.js → ref-autofill-editor-J6dR1X2Z.js} +2 -2
  80. package/dist/{ref-props-_C5RUomF.js → ref-props-l0df4m8B.js} +3 -3
  81. package/dist/{ref-style-DNZ_sHdO.js → ref-style-Dnej8eF2.js} +1 -1
  82. package/dist/{regex-editor-B7II0PYe.js → regex-editor-DqK2AG_u.js} +2 -2
  83. package/dist/{revo-grid.entry-CbQGWjD9.js → revo-grid.entry--YMKXUN7.js} +1 -1
  84. package/dist/{revogr-attribution_7.entry-B9gzh0Ol.js → revogr-attribution_7.entry-5Wa3Qkl6.js} +3 -3
  85. package/dist/{revogr-clipboard_3.entry-CGVCuz_5.js → revogr-clipboard_3.entry-BxireGGo.js} +2 -2
  86. package/dist/{revogr-data_4.entry-CYvP5b3p.js → revogr-data_4.entry-DGov381k.js} +2 -2
  87. package/dist/{revogr-filter-panel.entry-CAHi7Ra8.js → revogr-filter-panel.entry-B4b9AH_o.js} +1 -1
  88. package/dist/{select-render-type-editor.vue_vue_type_script_setup_true_lang-iTjYxKpV.js → select-render-type-editor.vue_vue_type_script_setup_true_lang-BLDOYGBV.js} +2 -2
  89. package/dist/{serialnumber-design-17dLHBTK.js → serialnumber-design-C4Dr8HOd.js} +1 -1
  90. package/dist/shared/index.es.js +4 -4
  91. package/dist/{signature-props-CyzeG5_U.js → signature-props-D7j5yUe4.js} +3 -3
  92. package/dist/{signature-style-YEuO88iH.js → signature-style-Bin8Bamd.js} +1 -1
  93. package/dist/{single-field-drop-CI75PFPg.js → single-field-drop-B9jbbEMF.js} +2 -2
  94. package/dist/{size-editor-CsqmC7OX.js → size-editor-DwyuiL5v.js} +1 -1
  95. package/dist/src/domain/field/auto-complete/material-container-manifest.d.ts +2 -0
  96. package/dist/src/domain/field/auto-complete/material-no-manifest.d.ts +2 -0
  97. package/dist/src/domain/field/auto-complete/related-lot-no-manifest.d.ts +2 -0
  98. package/dist/src/domain/field/auto-complete/scrap-material-no-manifest.d.ts +2 -0
  99. package/dist/src/domain/field/auto-complete/sterilization-container-manifest.d.ts +2 -0
  100. package/dist/src/domain/field/date/date-manifest.d.ts +2 -0
  101. package/dist/src/domain/field/date/date-time-manifest.d.ts +2 -0
  102. package/dist/src/domain/field/date/production-date-manifest.d.ts +2 -0
  103. package/dist/src/domain/field/date/re-inspection-date-manifest.d.ts +2 -0
  104. package/dist/src/domain/field/date/report-end-time-manifest.d.ts +2 -0
  105. package/dist/src/domain/field/date/report-start-time-manifest.d.ts +2 -0
  106. package/dist/src/domain/field/date/time-manifest.d.ts +2 -0
  107. package/dist/src/domain/field/date/trace-date-manifest.d.ts +2 -0
  108. package/dist/src/domain/field/date/validity-manifest.d.ts +2 -0
  109. package/dist/src/domain/field/date/warehouse-receipt-date-manifest.d.ts +2 -0
  110. package/dist/src/domain/field/index.d.ts +8 -0
  111. package/dist/src/domain/field/number/decimal-manifest.d.ts +2 -0
  112. package/dist/src/domain/field/number/destructive-test-qty-manifest.d.ts +2 -0
  113. package/dist/src/domain/field/number/double-manifest.d.ts +2 -0
  114. package/dist/src/domain/field/number/good-qty-manifest.d.ts +2 -0
  115. package/dist/src/domain/field/number/inspection-qty-manifest.d.ts +2 -0
  116. package/dist/src/domain/field/number/integer-manifest.d.ts +2 -0
  117. package/dist/src/domain/field/number/long-manifest.d.ts +2 -0
  118. package/dist/src/domain/field/number/material-check-qty-manifest.d.ts +2 -0
  119. package/dist/src/domain/field/number/not-good-qty-manifest.d.ts +2 -0
  120. package/dist/src/domain/field/number/of-inst-num-manifest.d.ts +2 -0
  121. package/dist/src/domain/field/number/operation-output-qty-manifest.d.ts +2 -0
  122. package/dist/src/domain/field/number/operation-receive-qty-manifest.d.ts +2 -0
  123. package/dist/src/domain/field/number/product-check-qty-manifest.d.ts +2 -0
  124. package/dist/src/domain/field/number/production-qty-manifest.d.ts +2 -0
  125. package/dist/src/domain/field/number/qty-consumed-manifest.d.ts +2 -0
  126. package/dist/src/domain/field/number/qty-manifest.d.ts +2 -0
  127. package/dist/src/domain/field/number/qty-required-manifest.d.ts +2 -0
  128. package/dist/src/domain/field/number/scrap-qty-manifest.d.ts +2 -0
  129. package/dist/src/domain/field/number/work-hours-manifest.d.ts +2 -0
  130. package/dist/src/domain/field/option/boolean-manifest.d.ts +2 -0
  131. package/dist/src/domain/field/option/enum-manifest.d.ts +2 -0
  132. package/dist/src/domain/field/option/enum-multi-manifest.d.ts +2 -0
  133. package/dist/src/domain/field/option/option-manifest.d.ts +2 -0
  134. package/dist/src/domain/field/option/option-multi-manifest.d.ts +2 -0
  135. package/dist/src/domain/field/rdo-select/product-manifest.d.ts +2 -0
  136. package/dist/src/domain/field/rdo-select/scrap-material-manifest.d.ts +2 -0
  137. package/dist/src/domain/field/select/device-manifest.d.ts +2 -0
  138. package/dist/src/domain/field/select/device-ref-manifest.d.ts +2 -0
  139. package/dist/src/domain/field/select/device-ref-multi-manifest.d.ts +2 -0
  140. package/dist/src/domain/field/select/e-sop-manifest.d.ts +2 -0
  141. package/dist/src/domain/field/select/location-manifest.d.ts +2 -0
  142. package/dist/src/domain/field/select/mfg-order-manifest.d.ts +2 -0
  143. package/dist/src/domain/field/select/model-relation-manifest.d.ts +2 -0
  144. package/dist/src/domain/field/select/not-good-group-manifest.d.ts +2 -0
  145. package/dist/src/domain/field/select/not-good-reason-manifest.d.ts +2 -0
  146. package/dist/src/domain/field/select/org-manifest.d.ts +2 -0
  147. package/dist/src/domain/field/select/org-multi-manifest.d.ts +2 -0
  148. package/dist/src/domain/field/select/production-container-manifest.d.ts +2 -0
  149. package/dist/src/domain/field/select/ref-manifest.d.ts +2 -0
  150. package/dist/src/domain/field/select/ref-multi-manifest.d.ts +2 -0
  151. package/dist/src/domain/field/select/routing-operation-manifest.d.ts +2 -0
  152. package/dist/src/domain/field/select/scrap-group-manifest.d.ts +2 -0
  153. package/dist/src/domain/field/select/scrap-reason-manifest.d.ts +2 -0
  154. package/dist/src/domain/field/select/shopfloor-manifest.d.ts +2 -0
  155. package/dist/src/domain/field/select/target-warehouse-manifest.d.ts +2 -0
  156. package/dist/src/domain/field/select/user-manifest.d.ts +2 -0
  157. package/dist/src/domain/field/select/user-multi-manifest.d.ts +2 -0
  158. package/dist/src/domain/field/select/warehouse-manifest.d.ts +2 -0
  159. package/dist/src/domain/field/text/e-sop-version-manifest.d.ts +2 -0
  160. package/dist/src/domain/field/text/external-reference-no-manifest.d.ts +2 -0
  161. package/dist/src/domain/field/text/long-text-manifest.d.ts +2 -0
  162. package/dist/src/domain/field/text/order-no-manifest.d.ts +2 -0
  163. package/dist/src/domain/field/text/record-no-manifest.d.ts +2 -0
  164. package/dist/src/domain/field/text/text-manifest.d.ts +2 -0
  165. package/dist/src/domain/field/text/warehouse-receipt-no-manifest.d.ts +2 -0
  166. package/dist/src/domain/field/types.d.ts +15 -0
  167. package/dist/src/domain/field/upload/attachment-manifest.d.ts +2 -0
  168. package/dist/src/domain/field/upload/image-manifest.d.ts +2 -0
  169. package/dist/src/domain/field/upload/reporter-manifest.d.ts +2 -0
  170. package/dist/src/domain/field/upload/signature-manifest.d.ts +2 -0
  171. package/dist/src/domain/field/upload/warehouse-manager-manifest.d.ts +2 -0
  172. package/dist/src/domain/index.d.ts +1 -0
  173. package/dist/src/index.d.ts +2 -0
  174. package/dist/src/nocode-base/src/components/document-sub-table-action/type.d.ts +2 -0
  175. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +0 -4
  176. package/dist/src/nocode-base/src/hooks/material-consume/service.d.ts +6 -0
  177. package/dist/src/nocode-base/src/hooks/material-consume-object/bom-validator.d.ts +35 -4
  178. package/dist/src/nocode-base/src/hooks/material-consume-object/index.d.ts +1 -0
  179. package/dist/src/nocode-base/src/hooks/material-consume-object/product-lot-link.d.ts +32 -0
  180. package/dist/src/online-form/src/views/__cell_widgets__/fake-field/fake-input.vue.d.ts +13 -0
  181. package/dist/src/online-form/src/views/__cell_widgets__/fake-field/fake-number-input.vue.d.ts +9 -0
  182. package/dist/src/online-form/src/views/__cell_widgets__/fake-field/fake-option-select.vue.d.ts +11 -0
  183. package/dist/src/online-form/src/views/__cell_widgets__/fake-field/fake-select.vue.d.ts +11 -0
  184. package/dist/src/online-form/src/views/__cell_widgets__/fake-field/index.d.ts +4 -0
  185. package/dist/src/online-form/src/views/__cell_widgets__/field-design-components.d.ts +4 -0
  186. package/dist/src/online-form/src/views/__cell_widgets__/index.d.ts +0 -1
  187. package/dist/src/online-form/src/views/designer/constants/index.d.ts +2 -0
  188. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +8 -0
  189. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +11 -3
  190. package/dist/src/online-form/src/views/designer/modules/base/drag-box.vue.d.ts +1 -1
  191. package/dist/src/online-form/src/views/designer/modules/panel/panel-tmpl-config/ai-tmpl/ai-tmpl-editor-modal.vue.d.ts +30 -0
  192. package/dist/src/online-form/src/views/designer/modules/panel/panel-tmpl-config/ai-tmpl/ai-tmpl-editor.vue.d.ts +6 -17
  193. package/dist/src/online-form/src/views/designer/modules/panel/panel-tmpl-config/ai-tmpl/types.d.ts +20 -0
  194. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +4 -0
  195. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/material-consumption/bom-entry-editor.vue.d.ts +2 -1
  196. package/dist/src/online-form/src/views/designer/utils/cell-content-style.d.ts +20 -1
  197. package/dist/src/shared/components/FieldStateIcon/index.d.ts +3 -0
  198. package/dist/src/shared/enum/field-type.d.ts +10 -0
  199. package/dist/src/shared/utils/field-size.d.ts +2 -4
  200. package/dist/{text-design-BTZ0mtqI.js → text-design-DC9ze0ij.js} +2 -2
  201. package/dist/{text-props-vJ-87old.js → text-props-D3SUlQJY.js} +4 -4
  202. package/dist/{text-style-D2arGMvz.js → text-style-img9gRIf.js} +1 -1
  203. package/dist/{throttle-Cpk1LoGk-Bl6qYqgZ.js → throttle-Cpk1LoGk-BF87UbRK.js} +1 -1
  204. package/dist/{timediff-design-rkGz1ts7.js → timediff-design-Dg2fKTii.js} +1 -1
  205. package/dist/{trace-props-BQD_Xywk.js → trace-props-1lEg9oFn.js} +6 -6
  206. package/dist/{trace-style-uOKEaMFN.js → trace-style-BdsptHpJ.js} +1 -1
  207. package/dist/{user-props-C5gF9jGq.js → user-props-C5mCsB1z.js} +2 -2
  208. package/dist/{user-style-ClQ9OOjC.js → user-style-CnR9vedV.js} +1 -1
  209. package/dist/{value-editor.vue_vue_type_style_index_0_lang-Tu6CH7vM.js → value-editor.vue_vue_type_style_index_0_lang-Bek6fd1A.js} +2 -2
  210. package/dist/{version-select-A7fFfsBp.js → version-select-lUMGIdM0.js} +1 -1
  211. package/dist/web-render/index.es.js +3 -3
  212. package/dist/{widget-barcode-DfLfo4Y0.js → widget-barcode-QVXo7Kp5.js} +4 -4
  213. package/dist/{widget-diagonal-BMKfd1Yy.js → widget-diagonal-CDXwsgKW.js} +3 -3
  214. package/dist/{widget-image-_0cIHDcS.js → widget-image-B5AHMEAU.js} +5 -5
  215. package/dist/{widget-line-Dbc6d_8W.js → widget-line-DUoHdqVu.js} +2 -2
  216. package/dist/{widget-pagination-BEqmGWcG.js → widget-pagination-BJAyuF_9.js} +5 -5
  217. package/dist/{widget-power-DoZlHpoe.js → widget-power-CuHydCIY.js} +3 -3
  218. package/dist/{widget-qrcode-CORMNqxB.js → widget-qrcode-CBsLAOzc.js} +3 -3
  219. package/dist/{widget-rangelimit-C-5WGg-Z.js → widget-rangelimit-Cd32syk3.js} +3 -3
  220. package/dist/{widget-serialnumber-DJVMWOpD.js → widget-serialnumber-Dgxaco3B.js} +1 -1
  221. package/dist/{widget-text-_Otolg2o.js → widget-text-krmbExkJ.js} +5 -5
  222. package/dist/{widget-timediff-DwzRHxgx.js → widget-timediff-DcAkZha3.js} +2 -2
  223. package/package.json +1 -1
  224. package/dist/agg-design-Y3pixDhZ.js +0 -24
  225. package/dist/boolean-design-DtzxKBfF.js +0 -131
  226. package/dist/cell-upload--sHsWvGi.js +0 -35
  227. package/dist/date-time-design-BXc3YAOw.js +0 -64
  228. package/dist/decimal-design-C9VB2rkt.js +0 -29
  229. package/dist/double-design-Co1VAXtv.js +0 -28
  230. package/dist/enum-design-CgD99PB3.js +0 -111
  231. package/dist/expression-design-BJarkNsc.js +0 -24
  232. package/dist/file-design-pkJa3KE3.js +0 -17
  233. package/dist/image-design-CP-YC-8X.js +0 -23
  234. package/dist/integer-design-BrRspAu8.js +0 -28
  235. package/dist/number-input-ex-CFwoEauO.js +0 -69
  236. package/dist/org-design-D07nQTrp.js +0 -31
  237. package/dist/paper-widget-design-sPa-e28z.js +0 -4
  238. package/dist/ref-design-BKiajKEK.js +0 -31
  239. package/dist/signature-design-DZduOqLG.js +0 -20
  240. package/dist/src/shared/utils/field-placeholder.d.ts +0 -4
  241. package/dist/text-design-DWWUChPB.js +0 -39
  242. package/dist/trace-design-R2L3nr3L.js +0 -75
  243. package/dist/user-design-DJ_LJiZa.js +0 -31
  244. /package/dist/src/shared/components/{FieldStateIcon.vue.d.ts → FieldStateIcon/field-state-icon.vue.d.ts} +0 -0
@@ -1,8 +1,8 @@
1
1
  import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, createBlock, createCommentVNode } from "vue";
2
- import { b as FormItem } from "./index-yixrbO6h.js";
3
- import { _ as _sfc_main$1, N as NumberRangeEditor, I as IndicesEditor } from "./default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-BWiM10Zv.js";
4
- import { F as FIELD_TYPE } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-D9auoAWe.js";
5
- import { D as DecimalDisplayMode } from "./decimal-display-mode-Cki065zT.js";
2
+ import { F as FormItem } from "./index-DU2SlUPM.js";
3
+ import { _ as _sfc_main$1, N as NumberRangeEditor, I as IndicesEditor } from "./default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-LuAUu3Yn.js";
4
+ import { F as FIELD_TYPE } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DIBDgGHy.js";
5
+ import { D as DecimalDisplayMode } from "./decimal-display-mode-DYF0ZUgL.js";
6
6
  const _sfc_main = /* @__PURE__ */ defineComponent({
7
7
  __name: "double-props",
8
8
  props: {
@@ -31,7 +31,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
31
31
  FIELD_TYPE.SCRAP_QTY,
32
32
  FIELD_TYPE.DESTRUCTIVE_TEST_QTY,
33
33
  FIELD_TYPE.PRODUCT_CHECK_QTY,
34
- FIELD_TYPE.MATERIAL_CHECK_QTY
34
+ FIELD_TYPE.MATERIAL_CHECK_QTY,
35
+ FIELD_TYPE.INSPECTION_QTY
35
36
  ].includes(props.fieldType);
36
37
  });
37
38
  return (_ctx, _cache) => {
@@ -1,5 +1,5 @@
1
1
  import { defineComponent, computed, openBlock, createBlock } from "vue";
2
- import { B as BaseFontEditor } from "./base-font-editor-Cr3hehja.js";
2
+ import { B as BaseFontEditor } from "./base-font-editor-CFoC_Tm1.js";
3
3
  const _sfc_main = /* @__PURE__ */ defineComponent({
4
4
  __name: "double-style",
5
5
  props: {
@@ -1,10 +1,10 @@
1
- import { computed, watch, toRaw, onUnmounted, markRaw, ref, inject, unref, provide, reactive, defineComponent, openBlock, createElementBlock, mergeProps, createElementVNode, normalizeClass, renderSlot, createCommentVNode, createVNode, toDisplayString, toRef, isVNode, h, onBeforeMount, resolveComponent, createBlock, withCtx, Fragment, renderList, createTextVNode, onMounted } from "vue";
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, onBeforeMount, resolveComponent, createBlock, withCtx, Fragment, renderList, createTextVNode, onMounted } from "vue";
2
2
  import { isNil, cloneDeep, merge, pickBy, mergeWith, omit, last, pick } from "lodash-es";
3
- import { aH as useWidgetStaticAttrs, Z as PlatformEnum, q as ComponentTypeEnum, d4 as assembleRules, d5 as deleteFormRule, d6 as setFormRule, bX as requestDisplayValidation, d7 as isReferenceOptionActive, d8 as validateAllFields, d9 as runValidation, da as ensureFrontRowKey, db as FRONT_ROW_KEY, c8 as getRowId, aX as getParseRuleInfo, aW as transformUtils, a$ as materialCheck, b0 as getLotLockedReason, cG as getReinspectionDate, b8 as FormulaRuleFieldKeyEnum, aP as NCB_PROVIDE, F as FIELD_TYPE, dc as buildError, A as api, l as SubTableType, aY as getParseRuleValue, c2 as uuid2, az as DeviceLink, a4 as _export_sfc, cu as buildFormChangeDisplayRows, d0 as resolveRowFormChangeMark, c$ as resolveFormChangeRowUi, cN as isAnnLocationSelected, d1 as setSelectMobileTdId, cO as isFormChangeGhostRow, y as CellType, aJ as setSelectAnnotationId, cW as recordSubtableRowDelete, cw as deleteSubtableRow, cX as relocateDeletedRowsToEnd, cM as insertSubtableRows, cV as recordSubtableRowAdd, G as useModal, dd as q, de as groupFixedTableRows, df as QUICK_FILL_ALLOWED_FIELDS, dg as processQuickFillRows, dh as getIsGroupEmpty, b6 as RenderModeEnum, cH as getSubTableQuickFillInfo } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-D9auoAWe.js";
3
+ import { aH as useWidgetStaticAttrs, Z as PlatformEnum, q as ComponentTypeEnum, d4 as assembleRules, d5 as deleteFormRule, d6 as setFormRule, bY as requestDisplayValidation, d7 as isReferenceOptionActive, d8 as validateAllFields, d9 as runValidation, da as ensureFrontRowKey, db as FRONT_ROW_KEY, c9 as getRowId, aX as getParseRuleInfo, aW as transformUtils, a$ as materialCheck, b0 as getLotLockedReason, b1 as validateReinspectionDate, b9 as FormulaRuleFieldKeyEnum, aP as NCB_PROVIDE, F as FIELD_TYPE, dc as buildError, A as api, l as SubTableType, aY as getParseRuleValue, c3 as uuid2, az as DeviceLink, a4 as _export_sfc, cu as buildFormChangeDisplayRows, d0 as resolveRowFormChangeMark, c$ as resolveFormChangeRowUi, cN as isAnnLocationSelected, d1 as setSelectMobileTdId, cO as isFormChangeGhostRow, y as CellType, aJ as setSelectAnnotationId, cW as recordSubtableRowDelete, cw as deleteSubtableRow, cX as relocateDeletedRowsToEnd, cM as insertSubtableRows, cV as recordSubtableRowAdd, G as useModal, dd as q, de as groupFixedTableRows, df as QUICK_FILL_ALLOWED_FIELDS, dg as processQuickFillRows, dh as getIsGroupEmpty, b7 as RenderModeEnum, cH as getSubTableQuickFillInfo } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DIBDgGHy.js";
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-DaX4NYGo.js";
7
+ import { u as useFormModel } from "./mb-render-C3bOewR0.js";
8
8
  const InstanceStatusValues = {
9
9
  /** 作废状态 */
10
10
  ABANDON: "ABANDON",
@@ -74,47 +74,12 @@ function useStyles(widget, isArea = false) {
74
74
  });
75
75
  return { otherClass };
76
76
  }
77
- const DEFAULT_FIELD_WIDTH = 160;
77
+ const DEFAULT_FIELD_WIDTH = 75;
78
78
  function normalizeFieldWidth(value) {
79
79
  if (value == null || value === "") return DEFAULT_FIELD_WIDTH;
80
80
  const width = Number(value);
81
81
  return Number.isFinite(width) && width >= 0 ? width : DEFAULT_FIELD_WIDTH;
82
82
  }
83
- function migrateLegacyFieldWidths(runtime, designer) {
84
- if (!runtime || !designer) return;
85
- let design;
86
- try {
87
- design = typeof designer === "string" ? JSON.parse(designer) : designer;
88
- } catch {
89
- return;
90
- }
91
- const defaults = /* @__PURE__ */ new Set();
92
- const explicitLegacyWidths = /* @__PURE__ */ new Set();
93
- const key = (model, field) => model && field ? JSON.stringify([model, field]) : void 0;
94
- const visit = (value, fn) => {
95
- if (!value || typeof value !== "object") return;
96
- fn(value);
97
- Object.values(value).forEach((child) => visit(child, fn));
98
- };
99
- for (const sheet of design.sheets ?? []) {
100
- visit(sheet.paper?.cells, (cell) => {
101
- if (!cell.fieldMeta || !cell.fieldWidget) return;
102
- const id = key(cell.fieldMeta.model, cell.fieldMeta.fieldLink || cell.fieldMeta.field);
103
- if (!id) return;
104
- const width = cell.fieldWidget.compWidth;
105
- if (width == null || width === "") defaults.add(id);
106
- else if (Number(width) === 75) explicitLegacyWidths.add(id);
107
- });
108
- }
109
- visit(runtime, (widget) => {
110
- const props = widget.props;
111
- if (!props || Number(props.cmpWidth) !== 75) return;
112
- const id = key(props.modelKey, props.fieldLink || props.field);
113
- if (id && defaults.has(id) && !explicitLegacyWidths.has(id)) {
114
- props.cmpWidth = String(DEFAULT_FIELD_WIDTH);
115
- }
116
- });
117
- }
118
83
  const constantRequiredStyles = {
119
84
  "--required-border-color": "#ffb0ae",
120
85
  "--required-border-hover-color": "#ff7875",
@@ -1804,7 +1769,7 @@ class MaterialConsumeTableController {
1804
1769
  return;
1805
1770
  }
1806
1771
  try {
1807
- await this.validateReinspectionDate({
1772
+ await validateReinspectionDate({
1808
1773
  product_id_: materialData.materialId,
1809
1774
  material_no_: materialData.productionIdentificationName,
1810
1775
  material_no_id_: materialData.productionIdentificationId
@@ -1935,21 +1900,6 @@ class MaterialConsumeTableController {
1935
1900
  }
1936
1901
  }
1937
1902
  }
1938
- /**
1939
- * 物料+批次查复检日期;缺任一参数不查;无日期放过;小于当天则 throw
1940
- */
1941
- async validateReinspectionDate(opts) {
1942
- if (!opts.product_id_ || !opts.material_no_ && !opts.material_no_id_) return;
1943
- const date = await getReinspectionDate({
1944
- product_id_: opts.product_id_,
1945
- material_no_: opts.material_no_,
1946
- material_no_id_: opts.material_no_id_
1947
- });
1948
- if (!date) return;
1949
- if (dayjs(date).isBefore(dayjs(), "day")) {
1950
- throw new Error($t("sys.retestDateErrorTip"));
1951
- }
1952
- }
1953
1903
  /**
1954
1904
  * 单位转化规则钩子
1955
1905
  * 触发时机:扫码插入自动确认、手动点确认按钮(均汇聚到 confirm)
@@ -2217,7 +2167,7 @@ class MaterialConsumeTableController {
2217
2167
  if (field === "product_id_") {
2218
2168
  if (row._scanFallback) {
2219
2169
  try {
2220
- await this.validateReinspectionDate({
2170
+ await validateReinspectionDate({
2221
2171
  product_id_: row.product_id_,
2222
2172
  material_no_: row.material_no_,
2223
2173
  material_no_id_: row.material_no__id_
@@ -2247,7 +2197,7 @@ class MaterialConsumeTableController {
2247
2197
  }
2248
2198
  if (!value) return;
2249
2199
  try {
2250
- await this.validateReinspectionDate({
2200
+ await validateReinspectionDate({
2251
2201
  product_id_: option.product_id_ ?? row.product_id_,
2252
2202
  material_no_: row.material_no_ ?? value,
2253
2203
  material_no_id_: option.id_
@@ -2319,25 +2269,49 @@ function findObjectBom(formInstBom, belongingObject) {
2319
2269
  const objectBomList = formInstBom.formTmplObjectBomList;
2320
2270
  return objectBomList?.find((item) => item.object_key_ === belongingObject);
2321
2271
  }
2322
- function normalizeSubFields(subFields) {
2272
+ function shouldSkipObjectBomConstraint(objectBom) {
2273
+ if (!objectBom) return true;
2274
+ if (objectBom.personal_bom_enabled_) return true;
2275
+ return objectBom.material_consumption_pattern_ === MaterialConsumptionPatternEnum.RECORD;
2276
+ }
2277
+ function collectObjectBomProductVersionIds(formInstBom, belongingObject) {
2278
+ const objectBom = findObjectBom(formInstBom, belongingObject);
2279
+ if (shouldSkipObjectBomConstraint(objectBom)) return null;
2280
+ const versionIds = /* @__PURE__ */ new Set();
2281
+ (formInstBom.bomEntries ?? []).forEach((entry) => {
2282
+ getGroupProductIds(entry).forEach((id) => {
2283
+ const versionId = id?.split(":").pop();
2284
+ if (versionId) versionIds.add(versionId);
2285
+ });
2286
+ });
2287
+ return versionIds.size ? Array.from(versionIds) : [EMPTY_PRODUCT_VERSION_ID];
2288
+ }
2289
+ function getObjectBomProductQuery(opts) {
2290
+ const ids = collectObjectBomProductVersionIds(opts.formInstBom, opts.belongingObject);
2291
+ return ids ? { "id_.in": ids } : null;
2292
+ }
2293
+ function normalizeSubFields(subFields, options) {
2323
2294
  if (!subFields) return [];
2324
- return (Array.isArray(subFields) ? subFields : Object.values(subFields)).filter(
2325
- (f) => Boolean(f?.used && f?.key)
2326
- );
2295
+ const list = Array.isArray(subFields) ? subFields : Object.values(subFields);
2296
+ const requireUsed = options?.requireUsed !== false;
2297
+ return list.filter((f) => Boolean(f?.key && (!requireUsed || f.used)));
2327
2298
  }
2328
2299
  function matchFieldBiz(f, bizType) {
2329
2300
  return (f.bizType || f.type) === bizType;
2330
2301
  }
2331
- function pickObjectFieldKeys(subFields, belongingObject) {
2332
- const list = normalizeSubFields(subFields).filter(
2302
+ function pickObjectFieldKeys(subFields, belongingObject, options) {
2303
+ const list = normalizeSubFields(subFields, options).filter(
2333
2304
  (f) => !belongingObject || !f.belongingObject || f.belongingObject === belongingObject
2334
2305
  );
2335
2306
  const byBiz = (bizType) => list.find((f) => matchFieldBiz(f, bizType));
2336
2307
  const qtyField = byBiz(FIELD_TYPE.QTY);
2337
2308
  const productField = byBiz(FIELD_TYPE.PRODUCT);
2309
+ const materialNoField = byBiz(FIELD_TYPE.MATERIAL_NO);
2338
2310
  return {
2339
2311
  productKey: productField?.key,
2340
2312
  productFieldName: productField?.name,
2313
+ materialNoKey: materialNoField?.key,
2314
+ materialNoFieldName: materialNoField?.name,
2341
2315
  qtyKey: qtyField?.key,
2342
2316
  qtyRequiredKey: byBiz(FIELD_TYPE.QTY_REQUIRED)?.key,
2343
2317
  qtyFieldName: qtyField?.name
@@ -2426,10 +2400,7 @@ function validateObjectBomForScan(opts) {
2426
2400
  return;
2427
2401
  }
2428
2402
  const objectBom = findObjectBom(formInstBom, belongingObject);
2429
- if (!objectBom) {
2430
- return;
2431
- }
2432
- if (objectBom.personal_bom_enabled_) {
2403
+ if (shouldSkipObjectBomConstraint(objectBom)) {
2433
2404
  return;
2434
2405
  }
2435
2406
  const bomEntries = formInstBom.bomEntries ?? [];
@@ -2438,22 +2409,8 @@ function validateObjectBomForScan(opts) {
2438
2409
  }
2439
2410
  }
2440
2411
  function getObjectBomMaterialLotQuery(opts) {
2441
- const { formInstBom, belongingObject } = opts;
2442
- const objectBom = findObjectBom(formInstBom, belongingObject);
2443
- if (!objectBom || objectBom.personal_bom_enabled_) {
2444
- return null;
2445
- }
2446
- const bomEntries = formInstBom.bomEntries ?? [];
2447
- const versionIds = /* @__PURE__ */ new Set();
2448
- bomEntries.forEach((entry) => {
2449
- getGroupProductIds(entry).forEach((id) => {
2450
- const versionId = id?.split(":").pop();
2451
- if (versionId) versionIds.add(versionId);
2452
- });
2453
- });
2454
- return {
2455
- "product_id_.versionIn": versionIds.size ? Array.from(versionIds) : [EMPTY_PRODUCT_VERSION_ID]
2456
- };
2412
+ const ids = collectObjectBomProductVersionIds(opts.formInstBom, opts.belongingObject);
2413
+ return ids ? { "product_id_.versionIn": ids } : null;
2457
2414
  }
2458
2415
  async function validateObjectBomQtyOnSubmit(opts) {
2459
2416
  const { formState, objectFieldList, formInstBom, showModelKey } = opts;
@@ -2464,6 +2421,10 @@ async function validateObjectBomQtyOnSubmit(opts) {
2464
2421
  const errors = [];
2465
2422
  for (const obj of objectFieldList) {
2466
2423
  if (!obj?.objectField) continue;
2424
+ const objectBom = findObjectBom(formInstBom, obj.objectField);
2425
+ if (objectBom?.material_consumption_pattern_ === MaterialConsumptionPatternEnum.RECORD) {
2426
+ continue;
2427
+ }
2467
2428
  const { productKey, productFieldName, qtyKey, qtyRequiredKey, qtyFieldName } = pickObjectFieldKeys(obj.subFields, obj.objectField);
2468
2429
  const productId = productKey ? formState[productKey] : void 0;
2469
2430
  const objectShowModelName = obj.objectFieldName || obj.objectField;
@@ -2522,6 +2483,127 @@ async function validateObjectBomQtyOnSubmit(opts) {
2522
2483
  }
2523
2484
  return errors;
2524
2485
  }
2486
+ function isBlank$1(value) {
2487
+ return value == null || value === "";
2488
+ }
2489
+ function pickPresent(preferred, fallback) {
2490
+ return isBlank$1(preferred) ? fallback : preferred;
2491
+ }
2492
+ function resolveObjectFieldKeys(opts) {
2493
+ const obj = opts.objectFieldList?.find((item) => item.objectField === opts.belongingObject);
2494
+ const fromList = obj?.subFields ? pickObjectFieldKeys(obj.subFields, opts.belongingObject) : {};
2495
+ const fromFallback = pickObjectFieldKeys(opts.fallbackFields, opts.belongingObject, {
2496
+ requireUsed: false
2497
+ });
2498
+ return {
2499
+ productKey: pickPresent(fromList.productKey, fromFallback.productKey),
2500
+ productFieldName: fromList.productFieldName ?? fromFallback.productFieldName,
2501
+ materialNoKey: pickPresent(fromList.materialNoKey, fromFallback.materialNoKey),
2502
+ materialNoFieldName: fromList.materialNoFieldName ?? fromFallback.materialNoFieldName,
2503
+ qtyKey: pickPresent(fromList.qtyKey, fromFallback.qtyKey),
2504
+ qtyRequiredKey: pickPresent(fromList.qtyRequiredKey, fromFallback.qtyRequiredKey),
2505
+ qtyFieldName: fromList.qtyFieldName ?? fromFallback.qtyFieldName
2506
+ };
2507
+ }
2508
+ function buildObjectLotExtraQuery(productId) {
2509
+ if (isBlank$1(productId)) return {};
2510
+ const versionId = String(productId).split(":").pop();
2511
+ if (!versionId) return {};
2512
+ return { "product_id_.versionEq": versionId };
2513
+ }
2514
+ function clearObjectLotFields(formData, materialNoKey) {
2515
+ if (!materialNoKey) return;
2516
+ formData[materialNoKey] = void 0;
2517
+ formData[`${materialNoKey}_id_`] = void 0;
2518
+ formData[`${materialNoKey}_lb_`] = void 0;
2519
+ }
2520
+ function shouldClearLotOnProductChange(opts) {
2521
+ const { prevProduct, nextProduct, lotValue } = opts;
2522
+ if (isBlank$1(prevProduct) && isBlank$1(nextProduct)) return false;
2523
+ if (prevProduct === nextProduct) return false;
2524
+ if (isBlank$1(prevProduct) && !isBlank$1(nextProduct) && !isBlank$1(lotValue)) {
2525
+ return false;
2526
+ }
2527
+ return true;
2528
+ }
2529
+ let fillingProduct = false;
2530
+ function runWithFillProduct(fn) {
2531
+ fillingProduct = true;
2532
+ try {
2533
+ fn();
2534
+ } finally {
2535
+ nextTick(() => {
2536
+ fillingProduct = false;
2537
+ });
2538
+ }
2539
+ }
2540
+ function fillProductFromLotOption(opts) {
2541
+ const productId = opts.option?.product_id_ ?? opts.option?._item?.product_id_;
2542
+ if (!opts.productKey || isBlank$1(productId)) return;
2543
+ runWithFillProduct(() => {
2544
+ opts.formData[opts.productKey] = productId;
2545
+ });
2546
+ }
2547
+ function resolveLotValidateParams(keys, formData, option) {
2548
+ return {
2549
+ product_id_: option?.product_id_ ?? option?._item?.product_id_ ?? (keys.productKey ? formData[keys.productKey] : void 0),
2550
+ material_no_: option?.name_ ?? option?.__VALUE__ ?? (keys.materialNoKey ? formData[keys.materialNoKey] : void 0),
2551
+ material_no_id_: option?.id_ ?? (keys.materialNoKey ? formData[`${keys.materialNoKey}_id_`] : void 0)
2552
+ };
2553
+ }
2554
+ async function applyConsumeObjectTraceChange(opts) {
2555
+ const { belongingObject, role, formData } = opts;
2556
+ if (!belongingObject || !formData) return {};
2557
+ const keys = resolveObjectFieldKeys({
2558
+ belongingObject,
2559
+ objectFieldList: opts.objectFieldList,
2560
+ fallbackFields: opts.fallbackFields
2561
+ });
2562
+ if (role === FIELD_TYPE.PRODUCT) {
2563
+ if (!("prevProduct" in opts) || fillingProduct) return {};
2564
+ if (shouldClearLotOnProductChange({
2565
+ prevProduct: opts.prevProduct,
2566
+ nextProduct: opts.nextValue,
2567
+ lotValue: keys.materialNoKey ? formData[keys.materialNoKey] : void 0
2568
+ })) {
2569
+ clearObjectLotFields(formData, keys.materialNoKey);
2570
+ }
2571
+ const lotValue = keys.materialNoKey ? formData[keys.materialNoKey] : void 0;
2572
+ if (!isBlank$1(opts.nextValue) && !isBlank$1(lotValue)) {
2573
+ try {
2574
+ await validateReinspectionDate({
2575
+ product_id_: String(opts.nextValue),
2576
+ material_no_: lotValue,
2577
+ material_no_id_: keys.materialNoKey ? formData[`${keys.materialNoKey}_id_`] : void 0
2578
+ });
2579
+ } catch (e) {
2580
+ return { abortReinspection: e?.message || String(e) };
2581
+ }
2582
+ }
2583
+ return {};
2584
+ }
2585
+ if (role === FIELD_TYPE.MATERIAL_NO) {
2586
+ if (opts.option?.is_locked_) {
2587
+ clearObjectLotFields(formData, keys.materialNoKey);
2588
+ return { abortLocked: opts.option.id_ };
2589
+ }
2590
+ const params = resolveLotValidateParams(keys, formData, opts.option);
2591
+ if (isBlank$1(params.material_no_) && isBlank$1(params.material_no_id_)) return {};
2592
+ try {
2593
+ await validateReinspectionDate(params);
2594
+ } catch (e) {
2595
+ clearObjectLotFields(formData, keys.materialNoKey);
2596
+ return { abortReinspection: e?.message || String(e) };
2597
+ }
2598
+ fillProductFromLotOption({
2599
+ formData,
2600
+ productKey: keys.productKey,
2601
+ option: opts.option
2602
+ });
2603
+ return {};
2604
+ }
2605
+ return {};
2606
+ }
2525
2607
  function useMaterialBalance() {
2526
2608
  async function getConsumeData({ cloneRuntimeJson, operationId, materialNo }) {
2527
2609
  const balanceTables = cloneRuntimeJson?.paper?.props?.materialBalanceTableList;
@@ -2583,6 +2665,7 @@ var SubTableActionEnum = /* @__PURE__ */ ((SubTableActionEnum2) => {
2583
2665
  SubTableActionEnum2["CopyRowAfter"] = "copyRowAfter";
2584
2666
  SubTableActionEnum2["CopyRow2Last"] = "copyRow2Last";
2585
2667
  SubTableActionEnum2["DeleteRowCurrent"] = "deleteRowCurrent";
2668
+ SubTableActionEnum2["ClearRowCurrent"] = "clearRowCurrent";
2586
2669
  SubTableActionEnum2["CONFIRM"] = "CONFIRM";
2587
2670
  SubTableActionEnum2["SCAN"] = "SCAN";
2588
2671
  SubTableActionEnum2["VIEW_BOM"] = "VIEW_BOM";
@@ -2671,6 +2754,12 @@ function getMenuByAction(type) {
2671
2754
  key: SubTableActionEnum.DeleteRowCurrent,
2672
2755
  label: "删除行",
2673
2756
  icon: "size24 icon-a-shanchubiaoge"
2757
+ },
2758
+ [SubTableActionEnum.ClearRowCurrent]: {
2759
+ type: SubTableActionMenuTypeEnum.ACTION,
2760
+ key: SubTableActionEnum.ClearRowCurrent,
2761
+ label: "清除内容",
2762
+ icon: "size24 icon-a-shanchubiaoge"
2674
2763
  }
2675
2764
  };
2676
2765
  return map[type];
@@ -4500,6 +4589,23 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
4500
4589
  return row;
4501
4590
  });
4502
4591
  };
4592
+ const PRESERVE_ROW_KEYS = ["id_", FRONT_ROW_KEY, "group_"];
4593
+ const handleClearRow = (rowData) => {
4594
+ const defaultRow = omit(createDefaultRows(1)[0], PRESERVE_ROW_KEYS);
4595
+ const preserved = pick(rowData, PRESERVE_ROW_KEYS);
4596
+ Object.keys(rowData).forEach((key) => {
4597
+ if (!PRESERVE_ROW_KEYS.includes(key)) {
4598
+ delete rowData[key];
4599
+ }
4600
+ });
4601
+ Object.assign(rowData, defaultRow, preserved);
4602
+ tableController.setDefaultValue(rowData);
4603
+ rowData.bom_entry_id_ = void 0;
4604
+ rowData.qty_consumed_total_ = void 0;
4605
+ clearMcValidatorComments();
4606
+ tableController.updateDerivedQtyFields();
4607
+ updateCalcCallback?.(dataRelationShip?.uniqueId);
4608
+ };
4503
4609
  const insertRowsAt = (insertIndex, rows) => {
4504
4610
  if (!rows.length) return;
4505
4611
  insertSubtableRows(field, insertIndex, rows.length);
@@ -4711,12 +4817,29 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
4711
4817
  }
4712
4818
  });
4713
4819
  break;
4820
+ case "clearRowCurrent":
4821
+ Modal.confirm({
4822
+ width: 316,
4823
+ centered: true,
4824
+ class: "confirm-before-delete-modal",
4825
+ icon: h("i", {
4826
+ class: "iconfont icon-jinggao"
4827
+ }),
4828
+ content: "是否确认清除内容?",
4829
+ okText: $t("sys.okText"),
4830
+ cancelText: $t("sys.cancel"),
4831
+ onOk() {
4832
+ handleClearRow(rowData);
4833
+ }
4834
+ });
4835
+ break;
4714
4836
  default:
4715
4837
  handleAction(key, rowData);
4716
4838
  }
4717
4839
  };
4718
4840
  const renderTr2Td = (trKey, trData, rowData, {
4719
4841
  showDelBtn,
4842
+ showClearBtn = false,
4720
4843
  showActionMenu,
4721
4844
  showScanBtn,
4722
4845
  showEditBtn,
@@ -4724,6 +4847,7 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
4724
4847
  dynHeight,
4725
4848
  showInsert1RowBtn
4726
4849
  }) => {
4850
+ const extraRowAction = showDelBtn ? SubTableActionEnum.DeleteRowCurrent : showClearBtn ? SubTableActionEnum.ClearRowCurrent : void 0;
4727
4851
  const menus = [
4728
4852
  {
4729
4853
  type: SubTableActionMenuTypeEnum.SUBTITLE,
@@ -4745,9 +4869,9 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
4745
4869
  showInsert1RowBtn ? getMenuByAction(SubTableActionEnum.Insert1RowAfter) : void 0,
4746
4870
  getMenuByAction(SubTableActionEnum.Insert1GroupAfter),
4747
4871
  // getCopySubMenu(),
4748
- ...showDelBtn ? [{
4872
+ ...extraRowAction ? [{
4749
4873
  type: SubTableActionMenuTypeEnum.DIVIDER
4750
- }, getMenuByAction(SubTableActionEnum.DeleteRowCurrent)] : []
4874
+ }, getMenuByAction(extraRowAction)] : []
4751
4875
  ].filter(Boolean);
4752
4876
  const realRowIndex = dataIdx !== -1 ? resolveRealIndex(dataIdx) : void 0;
4753
4877
  return createVNode("tr", {
@@ -4861,6 +4985,7 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
4861
4985
  return dynamicIds.map((rowId, rowIdx) => {
4862
4986
  const isLastDynRow = rowIdx === lastDynRowIdx;
4863
4987
  const showDelBtn = dataInfo.value.hasSubData && isLastDynRow;
4988
+ const showClearBtn = !dataInfo.value.hasSubData && isLastDynRow;
4864
4989
  const showScanBtn = !isFormChange.value && isLastDynRow;
4865
4990
  const showActionMenu = isLastDynRow;
4866
4991
  const showEditBtn = !isFormChange.value && data.is_confirmed_;
@@ -4869,6 +4994,7 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
4869
4994
  const dynHeight = props.subInfo.dynamicRowHeights?.[rowId]?.[dataIdx];
4870
4995
  return renderTr2Td(`${stableRowKey}_${rowIdx}`, row, data, {
4871
4996
  showDelBtn,
4997
+ showClearBtn,
4872
4998
  showActionMenu,
4873
4999
  showScanBtn,
4874
5000
  showEditBtn,
@@ -5816,49 +5942,56 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
5816
5942
  });
5817
5943
  const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-53d7e66c"]]);
5818
5944
  export {
5819
- validate as A,
5945
+ resolveScanParsedValue as A,
5820
5946
  BorderTD as B,
5821
- validateObjectBomQtyOnSubmit as C,
5947
+ resolveScanFillData as C,
5822
5948
  DeviceLinkTmplUtil as D,
5823
- DeviceConnector as E,
5824
- DocumentLoading as F,
5825
- DynamicQuickFillModal as G,
5826
- FixedQuickFillModal as H,
5949
+ EMPTY_PRODUCT_VERSION_ID as E,
5950
+ isProductBatchEmptyRow as F,
5951
+ useMaterialBalance as G,
5952
+ validate as H,
5827
5953
  InstanceStatusValues as I,
5828
- FormTmplConfigController as J,
5829
- MCDataUtil as K,
5830
- getAppInfo as L,
5954
+ validateObjectBomQtyOnSubmit as J,
5955
+ DeviceConnector as K,
5956
+ DocumentLoading as L,
5831
5957
  MaterialConsumptionPatternEnum as M,
5832
- getSuiteKey as N,
5833
- OCR_MODEL_PRECISION_ENUM_KEY as O,
5834
- isEqmSuite as P,
5958
+ DynamicQuickFillModal as N,
5959
+ FixedQuickFillModal as O,
5960
+ FormTmplConfigController as P,
5961
+ MCDataUtil as Q,
5835
5962
  RequiredQtyCalcRule as R,
5836
5963
  ScanParamType as S,
5964
+ OCR_MODEL_PRECISION_ENUM_KEY as T,
5965
+ getAppInfo as U,
5966
+ getSuiteKey as V,
5967
+ isBlank$1 as W,
5968
+ isEqmSuite as X,
5969
+ pickObjectFieldKeys as Y,
5837
5970
  _sfc_main$5 as _,
5838
5971
  useTmplBom as a,
5839
- useStyles as b,
5840
- useValidator as c,
5841
- DocumentPaper as d,
5842
- DynamicTableAction as e,
5972
+ getObjectBomMaterialLotQuery as b,
5973
+ buildObjectLotExtraQuery as c,
5974
+ runWithFillProduct as d,
5975
+ applyConsumeObjectTraceChange as e,
5843
5976
  fetchOperationReceiveQty as f,
5844
- getObjectBomMaterialLotQuery as g,
5845
- MaterialConsumeTableController as h,
5977
+ getObjectBomProductQuery as g,
5978
+ useStyles as h,
5846
5979
  isEdhrSuite as i,
5847
- SubTableCore as j,
5848
- SubTableActionMenuTypeEnum as k,
5849
- getMenuByAction as l,
5850
- migrateLegacyFieldWidths as m,
5980
+ useValidator as j,
5981
+ DocumentPaper as k,
5982
+ DynamicTableAction as l,
5983
+ MaterialConsumeTableController as m,
5851
5984
  normalizeFieldWidth as n,
5852
- SubTableActionEnum as o,
5853
- getInsertSubMenu as p,
5854
- resolveScanQty as q,
5855
- resolveScanAdjustType as r,
5856
- getCopySubMenu as s,
5857
- toDateOnly as t,
5985
+ SubTableCore as o,
5986
+ SubTableActionMenuTypeEnum as p,
5987
+ getMenuByAction as q,
5988
+ resolveObjectFieldKeys as r,
5989
+ SubTableActionEnum as s,
5990
+ getInsertSubMenu as t,
5858
5991
  useFormTmplConfig as u,
5859
5992
  validateObjectBomForScan as v,
5860
- resolveScanParsedValue as w,
5861
- resolveScanFillData as x,
5862
- isProductBatchEmptyRow as y,
5863
- useMaterialBalance as z
5993
+ resolveScanAdjustType as w,
5994
+ resolveScanQty as x,
5995
+ toDateOnly as y,
5996
+ getCopySubMenu as z
5864
5997
  };