@gct-paas/excel 0.1.27 → 0.1.28-beta.0

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 (216) hide show
  1. package/dist/{VueVideoPlayer-D5r4RRnv.js → VueVideoPlayer-DoCV5anE.js} +2 -2
  2. package/dist/{agg-design-BVxNAUfK.js → agg-design-FWqhGZMN.js} +1 -1
  3. package/dist/{agg-props-BM1V7-82.js → agg-props-Demj2zwb.js} +1 -1
  4. package/dist/{agg-style-bu1csor3.js → agg-style-0D2plP6P.js} +1 -1
  5. package/dist/{align-editor-D2IrDyiX.js → align-editor-BT_0oTzG.js} +1 -1
  6. package/dist/{attach-fields-editor-cbkBKnao.js → attach-fields-editor-Bh-SLSaJ.js} +5 -5
  7. package/dist/{barcode-design-BRx1bmVT.js → barcode-design-B6DeTtec.js} +2 -2
  8. package/dist/base/index.es.js +396 -552
  9. package/dist/{base-font-editor-DvxGgHGz.js → base-font-editor-rUy04_I5.js} +2 -2
  10. package/dist/{boolean-design-bh0IRiJd.js → boolean-design-s-0j811G.js} +2 -2
  11. package/dist/{boolean-props-CblOGRwR.js → boolean-props-BKDCL1yv.js} +3 -3
  12. package/dist/{boolean-style-DwRYZG46.js → boolean-style-z1WMMTXQ.js} +4 -4
  13. package/dist/{cell-upload-C-xtn3eM.js → cell-upload-DIfLFlqF.js} +1 -1
  14. package/dist/{date-range-editor-DgRj3qWq.js → date-range-editor-Bl5qPmvu.js} +2 -2
  15. package/dist/{date-time-design-CmzyZZ0f.js → date-time-design-BTNkgPAM.js} +1 -1
  16. package/dist/{date-time-props-D2g7OYyD.js → date-time-props-DiVxg9n4.js} +3 -3
  17. package/dist/{date-time-style-D1hsou32.js → date-time-style-yt5pO1dc.js} +1 -1
  18. package/dist/{decimal-design-mtrsEocu.js → decimal-design-BW5UQRTH.js} +1 -1
  19. package/dist/{decimal-display-mode-DBBORdt8.js → decimal-display-mode-BWR1rZ3-.js} +2 -2
  20. package/dist/{decimal-props-BAnCY6iG.js → decimal-props-S3vHwaWf.js} +4 -4
  21. package/dist/{decimal-style-B_3SjSrk.js → decimal-style-6q9_KbIT.js} +1 -1
  22. package/dist/{default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-CaXarLgm.js → default-value-editor.vue_vue_type_script_setup_true_name_default-value-editor_lang-B51R6Kdt.js} +2 -2
  23. package/dist/{diagonal-design-CcD7fvfW.js → diagonal-design-BKuv-KYn.js} +2 -2
  24. package/dist/{double-design-7vcqNVyg.js → double-design-CrnloQ6U.js} +1 -1
  25. package/dist/{double-props-B-y0KH2n.js → double-props-CIqRhF3C.js} +4 -4
  26. package/dist/{double-style-CA5tNsrD.js → double-style-BRXKv9Tt.js} +1 -1
  27. package/dist/{dynamic-table-action-C2GfKCbJ.js → dynamic-table-action-B3_wsebH.js} +8 -10
  28. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Dti3Kjh8.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-_s66osEc.js} +2147 -392
  29. package/dist/{edit.utils-CXmmCnxE-Ca3Pb0IU.js → edit.utils-CXmmCnxE-C1IiqVhe.js} +1 -1
  30. package/dist/{enum-design-QV-rTgR9.js → enum-design-4iAQqQWj.js} +2 -2
  31. package/dist/{enum-props-75ShzzCh.js → enum-props-BTNED9Yi.js} +3 -3
  32. package/dist/{enum-style-BMtWgRC6.js → enum-style-BKunBcCU.js} +3 -3
  33. package/dist/excel.css +150 -148
  34. package/dist/{exceljs.min-0mQdhEhP.js → exceljs.min-DqUfJ7Zu.js} +2 -2
  35. package/dist/{expression-design-E4gBR1RY.js → expression-design-Avbzm2SR.js} +1 -1
  36. package/dist/{expression-props-BwPz0GJc.js → expression-props-BJ2AaS83.js} +1 -1
  37. package/dist/{expression-style-D7o1udLl.js → expression-style-Cf0ZciKB.js} +1 -1
  38. package/dist/{file-design-CY5qOoTr.js → file-design-DXTNk70M.js} +1 -1
  39. package/dist/{file-props-zXWQ1bVe.js → file-props-GieYTgUG.js} +2 -2
  40. package/dist/{file-style-BxiYD3KK.js → file-style-CLDdPXPd.js} +1 -1
  41. package/dist/{font-editor-Dvzk8M-U.js → font-editor-DFkc4KNc.js} +3 -3
  42. package/dist/{image-design-lVRSbqr7.js → image-design-DWY2Pn2m.js} +2 -2
  43. package/dist/{image-design-BhK2hIpf.js → image-design-J45gqUS9.js} +1 -1
  44. package/dist/{image-props-BzWQmFnm.js → image-props-DZmoqEbT.js} +1 -1
  45. package/dist/{image-style-COx37YQA.js → image-style-C41-zdmF.js} +1 -1
  46. package/dist/{index-JMdllXCQ.js → index-5k7C2AD1.js} +1 -1
  47. package/dist/{index-gZDQm5ZQ.js → index-B-UBLtsV.js} +1 -1
  48. package/dist/{index-Xo3mSme0.js → index-B3D6zOat.js} +1 -1
  49. package/dist/{index-BQkzdAys.js → index-B9nlN0jW.js} +1 -1
  50. package/dist/{index-CvgNTIj3.js → index-BHIdTmFi.js} +1346 -1286
  51. package/dist/{index-D4c8S3QX.js → index-BNn5fobS.js} +1 -1
  52. package/dist/{index-D_EbV20_.js → index-BlnMSgZL.js} +2 -2
  53. package/dist/{index-DX751NRk.js → index-BsOmgpN3.js} +1 -1
  54. package/dist/{index-Cv8PAOND.js → index-Bs_2N-BE.js} +1 -1
  55. package/dist/{index-BZUfZUe_.js → index-BtUdO868.js} +1 -1
  56. package/dist/{index-DQUYeRO2.js → index-C0K1pWGN.js} +1 -1
  57. package/dist/{index-BKcbh7wy.js → index-C4hw1NhV.js} +1 -1
  58. package/dist/{index-n08cOEu4.js → index-C6-vGm0H.js} +1 -1
  59. package/dist/{index-BKl3sdLV.js → index-CR7wxW9-.js} +1 -1
  60. package/dist/{index-xAiRicc_.js → index-CYKuotDL.js} +27 -22
  61. package/dist/{index-CLiI_jbj.js → index-Cir8zmM7.js} +1 -1
  62. package/dist/{index-CvnUTiu5.js → index-D-uEhZUx.js} +5 -3
  63. package/dist/{index-C3vFg5YC.js → index-DIknXBmB.js} +2 -2
  64. package/dist/{index-sDAMzgHy.js → index-DRfeEqsi.js} +11 -1
  65. package/dist/{index-D1eAo-Nu.js → index-DXZ9-91Q.js} +1 -1
  66. package/dist/{index-BxJDx07D.js → index-Dlcg-_u1.js} +1 -1
  67. package/dist/{index-7I61fuwY.js → index-DpPM2hsI.js} +1 -1
  68. package/dist/{index-_sBfWkw5.js → index-DsVq6bop.js} +1 -1
  69. package/dist/{index-LPi5gPDc.js → index-DxfrB4yU.js} +2 -2
  70. package/dist/{index-BfFR4_sj.js → index-DyTI4fVG.js} +1 -1
  71. package/dist/{index-uPWALfQF.js → index-FJf8yRGg.js} +1 -1
  72. package/dist/{index-C8YcRZdY.js → index-Iri9iQ7A.js} +1 -1
  73. package/dist/{index-BcFJ5NMo.js → index-Izpo3y-u.js} +1 -1
  74. package/dist/{index-FsRMnSH6.js → index-Kc67z3Sn.js} +1 -1
  75. package/dist/{index-Bnw3rp6T.js → index-O2psifaU.js} +5 -3
  76. package/dist/{index--0Kpxacn.js → index-ZKvvKhlF.js} +1 -1
  77. package/dist/{index-BOJ1qa5y.js → index-s5kgaRm2.js} +1 -1
  78. package/dist/{index-DJMQPKtC.js → index-vDKWJHdv.js} +1 -1
  79. package/dist/index.es.js +45 -45
  80. package/dist/{integer-design-B4_XsKZo.js → integer-design-oIq4PZgB.js} +1 -1
  81. package/dist/{integer-props-C6PM1TRQ.js → integer-props-Dv0CFbj2.js} +4 -4
  82. package/dist/{integer-style-BEQYgQr6.js → integer-style-CQsFEa78.js} +1 -1
  83. package/dist/{mb-render-Cuhqw431.js → mb-render-13-1F66x.js} +12 -1
  84. package/dist/{number-input-ex-C-lDRF5x.js → number-input-ex-b3jwWBec.js} +1 -1
  85. package/dist/{org-props-COEjPBZu.js → org-props-CP6UEZUk.js} +2 -2
  86. package/dist/{org-style-BCAm4c-t.js → org-style-CVX9tnGL.js} +1 -1
  87. package/dist/{pagination-design-BCbcTaoL.js → pagination-design-CzI3BVnu.js} +2 -2
  88. package/dist/paper-widget-design-DMIGXtG2.js +4 -0
  89. package/dist/{qrcode-design-DsWOsTMb.js → qrcode-design-eO4Bd2-V.js} +1 -1
  90. package/dist/{ref-autofill-editor-M4SwZwAT.js → ref-autofill-editor-DXDYy7g2.js} +7 -6
  91. package/dist/{ref-props-z-4FJ63a.js → ref-props-Aiwbx2BA.js} +3 -3
  92. package/dist/{ref-style-Cd4xxgki.js → ref-style-BYC5yPHt.js} +1 -1
  93. package/dist/{regex-editor-Clq3qEOM.js → regex-editor-DWglxD2y.js} +2 -2
  94. package/dist/{revo-grid.entry-mK396nD_.js → revo-grid.entry-DxhjfysT.js} +1 -1
  95. package/dist/{revogr-attribution_7.entry-CVFYs2_S.js → revogr-attribution_7.entry-ChJzXX9c.js} +3 -3
  96. package/dist/{revogr-clipboard_3.entry-CXob_C6H.js → revogr-clipboard_3.entry-CTfO-vHs.js} +2 -2
  97. package/dist/{revogr-data_4.entry-DdIOstSg.js → revogr-data_4.entry-DpsZq5Vu.js} +2 -2
  98. package/dist/{revogr-filter-panel.entry-CbN2tKV5.js → revogr-filter-panel.entry-CkNGH07B.js} +1 -1
  99. package/dist/{select-render-type-editor.vue_vue_type_script_setup_true_lang-BRaJttUU.js → select-render-type-editor.vue_vue_type_script_setup_true_lang-D36XgznF.js} +2 -2
  100. package/dist/{serialnumber-design-lwuR-KrB.js → serialnumber-design-cvNqTdU4.js} +1 -1
  101. package/dist/shared/index.es.js +29 -29
  102. package/dist/{signature-design-CWKOqjMe.js → signature-design-CxYVBP9N.js} +1 -1
  103. package/dist/{signature-props-B4yndn4q.js → signature-props-Cs3PONrq.js} +3 -3
  104. package/dist/{signature-style-5DImPCv-.js → signature-style-CAa92-pw.js} +1 -1
  105. package/dist/{single-field-drop-C0IXAiGz.js → single-field-drop-BXX5wlj_.js} +2 -2
  106. package/dist/{size-editor-DKIp_UFV.js → size-editor-B4aRo4sR.js} +1 -1
  107. package/dist/src/assets/svgs/table/index.d.ts +4 -0
  108. package/dist/src/domain/suite/suite-features.d.ts +14 -0
  109. package/dist/src/domain/table/business/preprocess/pretreatment-list/index.d.ts +2 -1
  110. package/dist/src/domain/table/business/preprocess/pretreatment-list/profile/field-keys.d.ts +187 -0
  111. package/dist/src/domain/table/business/preprocess/pretreatment-list/profile/fields.d.ts +2 -0
  112. package/dist/src/domain/table/business/preprocess/pretreatment-list/runtime/register-handlers.d.ts +1 -0
  113. package/dist/src/domain/table/business/preprocess/pretreatment-list/runtime/row-change-handlers.d.ts +26 -0
  114. package/dist/src/domain/table/business/warehouse/device-part-consume/index.d.ts +2 -0
  115. package/dist/src/domain/table/business/warehouse/device-part-consume/profile/field-keys.d.ts +65 -0
  116. package/dist/src/domain/table/business/warehouse/device-part-consume/profile/fields.d.ts +2 -0
  117. package/dist/src/domain/table/business/warehouse/device-part-consume/profile/index.d.ts +3 -0
  118. package/dist/src/domain/table/business/warehouse/device-part-consume/runtime/register-handlers.d.ts +1 -0
  119. package/dist/src/domain/table/business/warehouse/device-part-consume/runtime/row-change-handlers.d.ts +6 -0
  120. package/dist/src/domain/table/business/warehouse/part-stocktake/index.d.ts +2 -0
  121. package/dist/src/domain/table/business/warehouse/part-stocktake/profile/field-keys.d.ts +70 -0
  122. package/dist/src/domain/table/business/warehouse/part-stocktake/profile/fields.d.ts +2 -0
  123. package/dist/src/domain/table/business/warehouse/part-stocktake/profile/index.d.ts +3 -0
  124. package/dist/src/domain/table/business/warehouse/part-stocktake/runtime/register-handlers.d.ts +1 -0
  125. package/dist/src/domain/table/business/warehouse/part-stocktake/runtime/row-change-handlers.d.ts +10 -0
  126. package/dist/src/domain/table/business/warehouse/warehouse-allocate/index.d.ts +2 -1
  127. package/dist/src/domain/table/business/warehouse/warehouse-allocate/profile/field-keys.d.ts +87 -0
  128. package/dist/src/domain/table/business/warehouse/warehouse-allocate/profile/fields.d.ts +2 -0
  129. package/dist/src/domain/table/business/warehouse/warehouse-allocate/runtime/register-handlers.d.ts +1 -0
  130. package/dist/src/domain/table/business/warehouse/warehouse-allocate/runtime/row-change-handlers.d.ts +7 -0
  131. package/dist/src/domain/table/business/warehouse/warehouse-in/index.d.ts +1 -0
  132. package/dist/src/domain/table/business/warehouse/warehouse-in/profile/field-keys.d.ts +39 -0
  133. package/dist/src/domain/table/business/warehouse/warehouse-in/profile/fields.d.ts +2 -0
  134. package/dist/src/domain/table/business/warehouse/warehouse-in/runtime/register-handlers.d.ts +1 -0
  135. package/dist/src/domain/table/business/warehouse/warehouse-in/runtime/row-change-handlers.d.ts +6 -0
  136. package/dist/src/domain/table/business/warehouse/warehouse-inbound/index.d.ts +2 -0
  137. package/dist/src/domain/table/business/warehouse/warehouse-inbound/profile/field-keys.d.ts +33 -0
  138. package/dist/src/domain/table/business/warehouse/warehouse-inbound/profile/fields.d.ts +2 -0
  139. package/dist/src/domain/table/business/warehouse/warehouse-inbound/profile/index.d.ts +3 -0
  140. package/dist/src/domain/table/business/warehouse/warehouse-inbound/runtime/register-handlers.d.ts +1 -0
  141. package/dist/src/domain/table/business/warehouse/warehouse-inbound/runtime/row-change-handlers.d.ts +6 -0
  142. package/dist/src/domain/table/business/warehouse/warehouse-inventory/index.d.ts +2 -1
  143. package/dist/src/domain/table/business/warehouse/warehouse-inventory/profile/field-keys.d.ts +114 -0
  144. package/dist/src/domain/table/business/warehouse/warehouse-inventory/profile/fields.d.ts +2 -0
  145. package/dist/src/domain/table/business/warehouse/warehouse-inventory/runtime/register-handlers.d.ts +1 -0
  146. package/dist/src/domain/table/business/warehouse/warehouse-inventory/runtime/row-change-handlers.d.ts +11 -0
  147. package/dist/src/domain/table/business/warehouse/warehouse-out/index.d.ts +1 -0
  148. package/dist/src/domain/table/business/warehouse/warehouse-out/profile/field-keys.d.ts +84 -0
  149. package/dist/src/domain/table/business/warehouse/warehouse-out/profile/fields.d.ts +2 -0
  150. package/dist/src/domain/table/business/warehouse/warehouse-out/runtime/register-handlers.d.ts +1 -0
  151. package/dist/src/domain/table/business/warehouse/warehouse-out/runtime/row-change-handlers.d.ts +6 -0
  152. package/dist/src/domain/table/business/warehouse/warehouse-outbound/index.d.ts +2 -0
  153. package/dist/src/domain/table/business/warehouse/warehouse-outbound/profile/field-keys.d.ts +64 -0
  154. package/dist/src/domain/table/business/warehouse/warehouse-outbound/profile/fields.d.ts +2 -0
  155. package/dist/src/domain/table/business/warehouse/warehouse-outbound/profile/index.d.ts +3 -0
  156. package/dist/src/domain/table/business/warehouse/warehouse-outbound/runtime/register-handlers.d.ts +1 -0
  157. package/dist/src/domain/table/business/warehouse/warehouse-outbound/runtime/row-change-handlers.d.ts +6 -0
  158. package/dist/src/domain/table/design/autofill-expander.d.ts +19 -0
  159. package/dist/src/domain/table/design/hooks/on-field-attach.d.ts +13 -0
  160. package/dist/src/domain/table/index.d.ts +4 -0
  161. package/dist/src/domain/table/runtime/apply-profile.d.ts +16 -0
  162. package/dist/src/domain/table/runtime/runtime-handlers.d.ts +9 -0
  163. package/dist/src/domain/table/types.d.ts +61 -2
  164. package/dist/src/nocode-base/src/constant/index.d.ts +9 -1
  165. package/dist/src/nocode-base/src/core/sub-table/allocate-table-core.d.ts +12 -7
  166. package/dist/src/nocode-base/src/core/sub-table/index.d.ts +1 -0
  167. package/dist/src/nocode-base/src/core/sub-table/pretreatment-list-table-core.d.ts +12 -5
  168. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +58 -0
  169. package/dist/src/nocode-base/src/core/sub-table/stocktake-table-core.d.ts +17 -19
  170. package/dist/src/nocode-base/src/core/sub-table/utils/pretreatment/field-keys.d.ts +2 -117
  171. package/dist/src/nocode-base/src/core/sub-table/utils/stocktake/field-keys.d.ts +2 -60
  172. package/dist/src/nocode-base/src/hooks/app-info/index.d.ts +4 -0
  173. package/dist/src/nocode-base/src/hooks/form-model/form-model-controller.d.ts +6 -1
  174. package/dist/src/nocode-base/src/hooks/form-model/types.d.ts +5 -0
  175. package/dist/src/nocode-base/src/hooks/material-date/material-date.d.ts +44 -0
  176. package/dist/src/nocode-base/src/hooks/material-date/service.d.ts +4 -0
  177. package/dist/src/nocode-base/src/hooks/material-date/use-material-date.d.ts +2 -0
  178. package/dist/src/nocode-base/src/interface/render.d.ts +2 -1
  179. package/dist/src/nocode-base/src/types/business/allocate.d.ts +8 -0
  180. package/dist/src/nocode-base/src/types/widgets/i-paper.d.ts +14 -0
  181. package/dist/src/nocode-web-render/src/render/sub-table/common/scan-modal.vue.d.ts +2 -3
  182. package/dist/src/online-form/src/views/__cell_widgets__/common/input-prop-editor/input-prop-editor.vue.d.ts +2 -0
  183. package/dist/src/online-form/src/views/designer/constants/index.d.ts +1 -0
  184. package/dist/src/online-form/src/views/designer/enums/index.d.ts +5 -1
  185. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +8 -0
  186. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +11 -17
  187. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +4 -0
  188. package/dist/src/shared/enum/field-type.d.ts +10 -4
  189. package/dist/src/shared/enum/online-form.d.ts +9 -1
  190. package/dist/{text-design-Buv9yt9S.js → text-design-DbDDDCTT.js} +2 -2
  191. package/dist/{text-design-Cvkrx7Ay.js → text-design-vFgsAOs6.js} +2 -2
  192. package/dist/{text-props-CkVBSTXP.js → text-props-LQ8JxfCA.js} +4 -4
  193. package/dist/{text-style-ByQS_L5l.js → text-style-CKBIm6Y6.js} +1 -1
  194. package/dist/{throttle-Cpk1LoGk-G-XhI3O-.js → throttle-Cpk1LoGk-CJfuMBhT.js} +1 -1
  195. package/dist/{timediff-design-DDoTcrkV.js → timediff-design-C7qKjT0h.js} +1 -1
  196. package/dist/{trace-design-BCzk8EyB.js → trace-design-DdHPN-JX.js} +2 -2
  197. package/dist/{trace-props-BL3L-jup.js → trace-props-BSRELXnc.js} +6 -6
  198. package/dist/{trace-style-BlpFFb55.js → trace-style-BOx3LU4R.js} +1 -1
  199. package/dist/{user-props-B-vYJaSq.js → user-props-DCy_CVdE.js} +2 -2
  200. package/dist/{user-style-CbvEdi3Y.js → user-style-BbXij2Ui.js} +1 -1
  201. package/dist/{value-editor.vue_vue_type_style_index_0_lang-s8AB671m.js → value-editor.vue_vue_type_style_index_0_lang-DqIfRgzS.js} +2 -2
  202. package/dist/{version-select-CgXKULuu.js → version-select--5mTgIzw.js} +1 -1
  203. package/dist/web-render/index.es.js +2 -2
  204. package/dist/{widget-barcode-DSSIOMEn.js → widget-barcode-BYZx9koE.js} +4 -4
  205. package/dist/{widget-diagonal-Ce7X4BVB.js → widget-diagonal-CbEoMTV6.js} +3 -3
  206. package/dist/{widget-image-B07sa8Hv.js → widget-image-Bgb0W9tX.js} +5 -5
  207. package/dist/{widget-line-gfOAwJ73.js → widget-line-xBvHpkdt.js} +2 -2
  208. package/dist/{widget-pagination-DQT0Hcnv.js → widget-pagination-BjH75g8_.js} +5 -5
  209. package/dist/{widget-power-DB41Q7HC.js → widget-power-Bvr05ltd.js} +3 -3
  210. package/dist/{widget-qrcode-DPMDGtjU.js → widget-qrcode-Bj-ntq_n.js} +3 -3
  211. package/dist/{widget-rangelimit-BpxO9qfT.js → widget-rangelimit-BHa420t4.js} +3 -3
  212. package/dist/{widget-serialnumber-CM-Lm2mW.js → widget-serialnumber-BoYlmag6.js} +1 -1
  213. package/dist/{widget-text-DnHhMcYh.js → widget-text-_Q96wqKl.js} +5 -5
  214. package/dist/{widget-timediff-CHA6cLPN.js → widget-timediff-DtoWALwY.js} +2 -2
  215. package/package.json +1 -1
  216. package/dist/paper-widget-design-B1eAfVY6.js +0 -4
@@ -0,0 +1,3 @@
1
+ import { BusinessSubTableProfile } from '../../../../types';
2
+ export declare const TABLE_TYPE: "warehouse-outbound";
3
+ export declare const profile: BusinessSubTableProfile;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * 备件清空时,同步清空库存回填字段
3
+ */
4
+ export declare function handlePartIdChange(ctx: {
5
+ rowData: Record<string, any>;
6
+ }): void;
@@ -0,0 +1,19 @@
1
+ import { AutofillTemplate } from '../types';
2
+ /**
3
+ * 关联字段 key 规范化:去掉末尾 `_`,用于生成填充目标字段名
4
+ * @example product_id_ → product_id → product_id_name_
5
+ */
6
+ export declare function normalizeRefFieldKey(fieldKey: string): string;
7
+ interface ExpandAutofillContext {
8
+ /** 拖入的源字段 key,如 product_id_ */
9
+ sourceFieldKey: string;
10
+ }
11
+ /**
12
+ * 将字段 Profile 中的 autofillTemplates 展开为 widget.autofillRules
13
+ */
14
+ export declare function expandAutofillTemplates(templates: AutofillTemplate[], ctx: ExpandAutofillContext): Array<{
15
+ fromField: string;
16
+ toField: string;
17
+ id?: string;
18
+ }>;
19
+ export {};
@@ -0,0 +1,13 @@
1
+ interface ApplyFieldProfileInput {
2
+ /** 字段 key,如 product_id_name_ */
3
+ fieldKey?: string;
4
+ /** 字段 bizType */
5
+ bizType?: string;
6
+ /** 子表 SubTableType */
7
+ subModelType?: string;
8
+ }
9
+ /**
10
+ * 按子表类型 + 字段 key 应用 Profile,返回合并后的 widget 配置片段
11
+ */
12
+ export declare function applyFieldProfileOnAttach<T extends Record<string, unknown>>(widget: T, field: ApplyFieldProfileInput): T;
13
+ export {};
@@ -1,8 +1,12 @@
1
1
  export { getBusinessRibbonMenuGroups, getDataRibbonMenuItems } from './design/ribbon-options';
2
2
  export { resolveSubTableCreate, resolvePanelTypeByTableType } from './design/create-subtable';
3
+ export { applyFieldProfileOnAttach } from './design/hooks/on-field-attach';
3
4
  export { SUB_TABLE_PANEL_TYPE_NAME, isDynamicSubTablePanelType, isFixedSubTablePanelType, isRepeatingSubTablePanelType, } from './design/panel-type';
4
5
  export { resolveDesignPanelFeatures, BIZ_TABLE_CONFIG_SEED_TYPES } from './design/panel-features';
5
6
  export { resolveTableLabelKey } from './design/label';
6
7
  export { isAllowedRefModelForCreate, isAllowedRefModelForDynamicLink, } from './design/sub-model-matcher';
7
8
  export { getAllTableProfiles, getExclusiveBusinessTypeTokens, getProfileByTableType, getSubTableTypeByRefModelType, getThemeColorByTableType, isDynamicCellSubTable, isDynamicCreateTarget, resolveCreateTargetByTableType, } from './registry';
8
9
  export { isBusinessSubTableProfile, isDataTableProfile, type BusinessSubTableProfile, type TableProfile, } from './types';
10
+ export { buildDefaultMapFromProfile, buildFieldStatusFromProfile, findFieldProfile, getRowHandlersForFieldChange, } from './runtime/apply-profile';
11
+ export { registerRowHandler, runRowHandler } from './runtime/runtime-handlers';
12
+ export { normalizeRefFieldKey, expandAutofillTemplates } from './design/autofill-expander';
@@ -0,0 +1,16 @@
1
+ import { BusinessFieldProfile, BusinessSubTableProfile } from '../types';
2
+ /** 取某字段的 Profile 声明 */
3
+ export declare function findFieldProfile(profile: BusinessSubTableProfile | undefined, fieldKey: string): BusinessFieldProfile | undefined;
4
+ /** onRowInit contextAssignments → calcDefaultMap */
5
+ export declare function buildDefaultMapFromProfile(profile: BusinessSubTableProfile | undefined, paramsConfig: Record<string, any> | undefined): Record<string, unknown>;
6
+ /** runtimeRules + fields.defaultProps → calcFieldStatus */
7
+ export declare function buildFieldStatusFromProfile(params: {
8
+ profile: BusinessSubTableProfile | undefined;
9
+ field: string;
10
+ }): {
11
+ readonly?: boolean;
12
+ disabled?: boolean;
13
+ required?: boolean;
14
+ };
15
+ /** 取 onFieldChange 时应执行的 rowHandlers */
16
+ export declare function getRowHandlersForFieldChange(profile: BusinessSubTableProfile | undefined, changedField: string): string[];
@@ -0,0 +1,9 @@
1
+ export interface RowChangeHandlerContext {
2
+ rowData: Record<string, any>;
3
+ changedField: string;
4
+ }
5
+ export type RowChangeHandler = (ctx: RowChangeHandlerContext) => void;
6
+ /** 注册行变更处理器,key 为 `{profileType}:{handlerName}` */
7
+ export declare function registerRowHandler(profileType: string, handlerName: string, handler: RowChangeHandler): void;
8
+ /** 执行已注册的行变更处理器 */
9
+ export declare function runRowHandler(profileType: string, handlerName: string, ctx: RowChangeHandlerContext): void;
@@ -1,8 +1,9 @@
1
+ import { FIELD_TYPE } from '../../shared/enum';
1
2
  import { SubTableType } from '../../nocode-base/src/constant';
2
3
  /** 数据表 Profile 类型标识 */
3
4
  export type DataTableProfileType = 'dynamic-table' | 'fixed-table' | 'two-d-table';
4
5
  /** 业务表 Profile 类型标识 */
5
- export type BusinessSubTableProfileType = 'warehouse-in' | 'warehouse-out' | 'warehouse-in-out' | 'warehouse-inventory' | 'warehouse-allocate' | 'material-consume' | 'material-balance' | 'pretreatment-list' | 'entrust-steril-batch-list' | 'check-table';
6
+ export type BusinessSubTableProfileType = 'warehouse-in' | 'warehouse-inbound' | 'warehouse-out' | 'warehouse-outbound' | 'warehouse-in-out' | 'warehouse-inventory' | 'part-stocktake' | 'device-part-consume' | 'warehouse-allocate' | 'material-consume' | 'material-balance' | 'pretreatment-list' | 'entrust-steril-batch-list' | 'check-table';
6
7
  export type TableProfileType = DataTableProfileType | BusinessSubTableProfileType;
7
8
  export type TableCategory = 'data' | 'business';
8
9
  /**
@@ -12,7 +13,7 @@ export type TableCategory = 'data' | 'business';
12
13
  */
13
14
  export type ExcelSubTableCreateTarget = 'dynamicTables' | 'fixedTables';
14
15
  /** 工具栏图标 key */
15
- export type TableIconKey = 'dynamic-table' | 'fixed-table' | 'two-d-table' | 'table-header' | 'warehouse-in' | 'warehouse-out' | 'warehouse-in-out' | 'warehouse-inventory' | 'warehouse-allocate' | 'material-consume' | 'material-balance' | 'entrust-steril-batch-list' | 'pretreatment-list' | 'check-table';
16
+ export type TableIconKey = 'dynamic-table' | 'fixed-table' | 'two-d-table' | 'table-header' | 'warehouse-in' | 'warehouse-inbound' | 'warehouse-out' | 'warehouse-outbound' | 'warehouse-in-out' | 'warehouse-inventory' | 'part-stocktake' | 'device-part-consume' | 'warehouse-allocate' | 'material-consume' | 'material-balance' | 'entrust-steril-batch-list' | 'pretreatment-list' | 'check-table';
16
17
  /** 数据表子模型匹配:排除全部业务子模型 */
17
18
  export interface DataTableMatchRule {
18
19
  fieldType: 'master_slave';
@@ -32,6 +33,51 @@ export interface BusinessTableRibbonGroup {
32
33
  showDivider?: boolean;
33
34
  tableTypes: BusinessSubTableProfileType[];
34
35
  }
36
+ /** context → 行字段赋值 */
37
+ export interface ContextAssignmentDef {
38
+ when: 'onRowInit' | 'onMainFieldChange' | 'onInitLoad';
39
+ mainFieldKey?: string;
40
+ paramKey: string;
41
+ fieldKey: string;
42
+ onlyIfEmpty?: boolean;
43
+ }
44
+ /** 数据填充模板:拖入关联字段时展开为 autofillRules(设计态消费) */
45
+ export interface AutofillTemplate {
46
+ fromField: string;
47
+ toField: string | ((ctx: {
48
+ sourceFieldKey: string;
49
+ }) => string);
50
+ }
51
+ /** 运行时规则触发时机 */
52
+ export type RuleTrigger = 'always' | 'onRowInit' | 'onFieldChange' | 'onRowConfirm';
53
+ /** 运行时规则效果 */
54
+ export interface FieldRuntimeEffect {
55
+ readonly?: boolean;
56
+ disabled?: boolean;
57
+ required?: boolean;
58
+ }
59
+ /** 字段态规则 */
60
+ export interface RuntimeRuleDef {
61
+ fields: string[];
62
+ when?: RuleTrigger;
63
+ watch?: string[];
64
+ effect: FieldRuntimeEffect;
65
+ }
66
+ /** 行级处理器声明 */
67
+ export interface RowHandlerDef {
68
+ when: RuleTrigger;
69
+ watch?: string[];
70
+ handler: string;
71
+ }
72
+ /** 业务表字段 Profile */
73
+ export interface BusinessFieldProfile {
74
+ match: {
75
+ fieldKey?: string | string[];
76
+ bizType?: FIELD_TYPE | string;
77
+ };
78
+ defaultProps?: Record<string, unknown>;
79
+ autofillTemplates?: AutofillTemplate[];
80
+ }
35
81
  /** Profile 设计态公共字段 */
36
82
  interface TableProfileDesignBase {
37
83
  label: string;
@@ -70,7 +116,20 @@ export interface BusinessSubTableProfile extends TableProfileDesignBase {
70
116
  type: BusinessSubTableProfileType;
71
117
  category: 'business';
72
118
  ribbonGroup: string;
119
+ /**
120
+ * Ribbon 可见套件白名单(平台 suiteKey,如 eDHR / EQM)
121
+ * 省略时:检验表按非 EQM 可见,其余业务表仅 eDHR
122
+ */
123
+ ribbonSuites?: string[];
73
124
  match: BusinessTableMatchRule;
125
+ /** 字段级行为(设计态 autofill + defaultProps) */
126
+ fields?: BusinessFieldProfile[];
127
+ /** 插行 / 初始化时从 context 写入行字段 */
128
+ contextAssignments?: ContextAssignmentDef[];
129
+ /** 字段只读 / 禁用规则 */
130
+ runtimeRules?: RuntimeRuleDef[];
131
+ /** 行变更处理器(按 handler 名注册) */
132
+ rowHandlers?: RowHandlerDef[];
74
133
  }
75
134
  export type TableProfile = DataTableProfile | BusinessSubTableProfile;
76
135
  export declare function isBusinessSubTableProfile(profile: TableProfile): profile is BusinessSubTableProfile;
@@ -617,7 +617,15 @@ export declare enum SubTableType {
617
617
  /** 出库明细表 */
618
618
  WAREHOUSE_OUT = "WAREHOUSE_OUT",
619
619
  /** 出入库明细表(兼容老文档) */
620
- WAREHOUSE_IN_OUT = "WAREHOUSE_IN_OUT"
620
+ WAREHOUSE_IN_OUT = "WAREHOUSE_IN_OUT",
621
+ /** EQM 入库明细表 */
622
+ WAREHOUSE_INBOUND = "WAREHOUSE_INBOUND",
623
+ /** EQM 出库明细表 */
624
+ WAREHOUSE_OUTBOUND = "WAREHOUSE_OUTBOUND",
625
+ /** EQM 备件库存盘点表 */
626
+ PART_STOCKTAKE = "PART_STOCKTAKE",
627
+ /** EQM 备件消耗表 */
628
+ DEVICE_PART_CONSUME = "DEVICE_PART_CONSUME"
621
629
  }
622
630
  /** 纸张大小Map */
623
631
  export declare const PaperSizeMap: import('vue').ComputedRef<{
@@ -1,21 +1,26 @@
1
+ import { ProfileDrivenSubTableCore } from './profile-driven-sub-table-core';
1
2
  import { SubTableCore } from './sub-table-core';
2
3
  /**
3
- * 调拨表核心
4
- * @export
5
- * @class StocktakeTableCore
4
+ * 库存调拨表 Core
5
+ * - Profile:禁用字段 / 行默认值 / 物料清空
6
+ * - 物料走库存选择(allocateProduct)+ FILL_FROM_INVENTORY_OPTION
7
+ * - 保留扫码、提交源/目标仓校验、库位查询
6
8
  */
7
- export declare class AllocateTableCore extends SubTableCore {
9
+ export declare class AllocateTableCore extends ProfileDrivenSubTableCore {
8
10
  /** 绘制UI相关工具 */
9
11
  get render(): import('../..').ISubTableRender;
10
12
  /** 指定的仓库id */
11
13
  get warehouseId(): any;
12
14
  compUnmount(): Promise<void>;
13
- calcDefaultMap: SubTableCore['calcDefaultMap'];
14
15
  handleFieldTd: SubTableCore['handleFieldTd'];
15
- calcFieldStatus: SubTableCore['calcFieldStatus'];
16
16
  calcFieldQuery: SubTableCore['calcFieldQuery'];
17
17
  calcSubTableActionMenu: SubTableCore['calcSubTableActionMenu'];
18
- handleChange: SubTableCore['handleChange'];
18
+ handleChange(params: {
19
+ rowData: any;
20
+ field: string;
21
+ value: any;
22
+ option?: any;
23
+ }): void;
19
24
  protected onScan({ str }: {
20
25
  str: string;
21
26
  }): Promise<void>;
@@ -1,4 +1,5 @@
1
1
  export * from './sub-table-core';
2
+ export * from './profile-driven-sub-table-core';
2
3
  export * from './stocktake-table-core';
3
4
  export * from './allocate-table-core';
4
5
  export * from './sterilize-batch-table-core';
@@ -1,12 +1,14 @@
1
+ import { ProfileDrivenSubTableCore } from './profile-driven-sub-table-core';
1
2
  import { SubTableCore } from './sub-table-core';
2
3
  import { IFieldStatus } from '../types';
3
4
  import { SubTableActionEnum } from '../../components/document-sub-table-action';
4
5
  /**
5
- * 预处理表核心
6
- * @export
7
- * @class PretreatmentListTableCore
6
+ * 预处理表 Core
7
+ * - Profile:禁用字段 / 身份字段清空
8
+ * - 自定义数据源:生产批次 / 工单 / 物料批号
9
+ * - 选中后 fillFromOption 回填
8
10
  */
9
- export declare class PretreatmentListTableCore extends SubTableCore {
11
+ export declare class PretreatmentListTableCore extends ProfileDrivenSubTableCore {
10
12
  /** 触发扫码时的目标行 */
11
13
  private scanTargetRow?;
12
14
  /** 绘制UI相关工具,一期复用调拨表扫码弹窗 */
@@ -24,7 +26,12 @@ export declare class PretreatmentListTableCore extends SubTableCore {
24
26
  field: string;
25
27
  }): IFieldStatus;
26
28
  calcFieldDataSource: SubTableCore['calcFieldDataSource'];
27
- handleChange: SubTableCore['handleChange'];
29
+ handleChange(params: {
30
+ rowData: any;
31
+ field: string;
32
+ value: any;
33
+ option?: any;
34
+ }): void;
28
35
  protected onScan({ str }: {
29
36
  str: string;
30
37
  }): Promise<void>;
@@ -0,0 +1,58 @@
1
+ import { SubTableCore } from './sub-table-core';
2
+ import { BusinessSubTableProfile } from '../../../../domain/table';
3
+ import { IDefaultValueMap, IFieldStatus } from '../types';
4
+ /**
5
+ * Profile 驱动的子表 Core 基类
6
+ *
7
+ * 将 BusinessSubTableProfile 声明转为 defaultMap / status / change 行为。
8
+ */
9
+ export declare class ProfileDrivenSubTableCore extends SubTableCore {
10
+ get profile(): BusinessSubTableProfile | undefined;
11
+ calcDefaultMap(): IDefaultValueMap;
12
+ calcFieldStatus(params: {
13
+ rowData: any;
14
+ field: string;
15
+ }): IFieldStatus;
16
+ handleChange(params: {
17
+ rowData: any;
18
+ field: string;
19
+ value: any;
20
+ option?: any;
21
+ }): void;
22
+ }
23
+ /**
24
+ * 入库明细表 Core
25
+ */
26
+ export declare class WarehouseInTableCore extends ProfileDrivenSubTableCore {
27
+ }
28
+ /**
29
+ * EQM 入库明细表 Core
30
+ */
31
+ export declare class WarehouseInboundTableCore extends ProfileDrivenSubTableCore {
32
+ }
33
+ /**
34
+ * 出库明细表 Core
35
+ * - 物料走库存选择(allocateProduct)
36
+ * - 选中后按 FILL_FROM_INVENTORY_OPTION 回填
37
+ * - 查询条件带页面仓库 id
38
+ */
39
+ export declare class WarehouseOutTableCore extends ProfileDrivenSubTableCore {
40
+ get warehouseId(): any;
41
+ handleFieldTd: SubTableCore['handleFieldTd'];
42
+ calcFieldQuery: SubTableCore['calcFieldQuery'];
43
+ handleChange(params: {
44
+ rowData: any;
45
+ field: string;
46
+ value: any;
47
+ option?: any;
48
+ }): void;
49
+ }
50
+ /**
51
+ * EQM 出库 / 盘点 / 消耗:Profile 驱动(库存选择后续按备件能力补齐)
52
+ */
53
+ export declare class WarehouseOutboundTableCore extends ProfileDrivenSubTableCore {
54
+ }
55
+ export declare class PartStocktakeTableCore extends ProfileDrivenSubTableCore {
56
+ }
57
+ export declare class DevicePartConsumeTableCore extends ProfileDrivenSubTableCore {
58
+ }
@@ -1,17 +1,22 @@
1
+ import { ProfileDrivenSubTableCore } from './profile-driven-sub-table-core';
1
2
  import { SubTableCore } from './sub-table-core';
2
3
  import { IFieldStatus } from '../types';
3
4
  /**
4
- * 盘点表核心
5
- * @export
6
- * @class StocktakeTableCore
5
+ * 库存盘点表 Core
6
+ * - Profile:只读信息字段 / 行默认仓库 / 物料清空 / 盘点衍生
7
+ * - 物料:allocateProduct + FILL_FROM_INVENTORY_OPTION
8
+ * - 保留:按 row_source_ 禁用、自动加载、扫码合并
7
9
  */
8
- export declare class StocktakeTableCore extends SubTableCore {
10
+ export declare class StocktakeTableCore extends ProfileDrivenSubTableCore {
9
11
  initData: any[];
10
12
  get isGroupByWarehouse(): boolean;
11
13
  get paramsWarehouseId(): any;
12
- /** 绘制UI相关工具 */
13
14
  get render(): import('../..').ISubTableRender;
14
15
  compUnmount(): Promise<void>;
16
+ /**
17
+ * 运行态禁用优先按 row_source_(manual / auto / scan),
18
+ * Profile READONLY_INFO_FIELDS 作为基线由 super 合并。
19
+ */
15
20
  calcFieldStatus(params: {
16
21
  rowData: any;
17
22
  field: string;
@@ -19,24 +24,17 @@ export declare class StocktakeTableCore extends SubTableCore {
19
24
  calcFieldQuery: SubTableCore['calcFieldQuery'];
20
25
  handleFieldTd: SubTableCore['handleFieldTd'];
21
26
  calcSubTableActionMenu: SubTableCore['calcSubTableActionMenu'];
22
- /**
23
- * 初始化时,需要执行的异步方法
24
- */
25
27
  init(): Promise<void>;
26
- /**
27
- * @param params 初始化塞默认数据,不能用异步,只有未填报时才会执行
28
- * @returns
29
- */
30
- handleInitializeFormState(params: {
31
- /** 所有的表单数据 */
28
+ handleInitializeFormState(_params: {
32
29
  formState: any;
33
- /** 所有的默认值 */
34
30
  defaultMap: Record<string, any>;
35
31
  }): any[];
36
- handleChange: SubTableCore['handleChange'];
37
- /**
38
- * 解析扫码的数据
39
- */
32
+ handleChange(params: {
33
+ rowData: any;
34
+ field: string;
35
+ value: any;
36
+ option?: any;
37
+ }): void;
40
38
  protected onScan({ barcode, type }: {
41
39
  barcode: any;
42
40
  type: any;
@@ -1,119 +1,4 @@
1
1
  /**
2
- * 预处理表字段 key 统一定义
2
+ * 预处理表字段 key — 统一从 domain Profile 导出,保持原 import 路径兼容
3
3
  */
4
- /** 单字段 key */
5
- export declare const F: {
6
- /** 物料 */
7
- readonly product: "product_id_";
8
- /** 物料名称 */
9
- readonly productName: "product_id_name_";
10
- /** 编码 */
11
- readonly productCode: "product_id_code_";
12
- /** 规格 */
13
- readonly productSpec: "product_id_spec_";
14
- /** 生产批次号 */
15
- readonly productionContainer: "production_container_id_";
16
- /** 生产批次号标签 */
17
- readonly productionContainerLb: "production_container_id__lb_";
18
- /** 数量 */
19
- readonly qty: "qty_";
20
- /** 工单号 */
21
- readonly mfgOrderCode: "mfg_order_code_";
22
- /** 工单 */
23
- readonly mfgOrder: "mfg_order_id_";
24
- /** 生产日期 */
25
- readonly productionDate: "production_date_";
26
- /** 物料批号 */
27
- readonly materialContainerNo: "material_container_no_";
28
- /** 物料批号 ID */
29
- readonly materialContainerNoId: "material_container_no__id_";
30
- };
31
- /** 预处理表:必然禁用字段(展示字段,禁止手填) */
32
- export declare const PRETREATMENT_ALWAYS_DISABLED_FIELDS: readonly ["product_id_code_", "product_id_spec_", "product_id_name_"];
33
- /** 工单清空时联动清空 */
34
- export declare const CLEAR_ON_MFG_ORDER_EMPTY: readonly ["mfg_order_code_", "product_id_", "product_id_name_", "product_id_code_", "product_id_spec_", "qty_", "production_date_"];
35
- /** 生产批次号清空时联动清空 */
36
- export declare const CLEAR_ON_PROD_CONTAINER_EMPTY: readonly ["product_id_", "product_id_name_", "product_id_code_", "product_id_spec_", "qty_", "mfg_order_code_", "mfg_order_id_", "production_date_"];
37
- /** 物料批号清空时联动清空 */
38
- export declare const CLEAR_ON_MATERIAL_CONTAINER_EMPTY: readonly ["product_id_", "product_id_name_", "product_id_code_", "product_id_spec_", "qty_", "mfg_order_code_", "mfg_order_id_", "production_date_", "material_container_no__id_", "production_container_id_"];
39
- /**
40
- * 生产批次号 / 工单 / 物料批号 三选一互斥:
41
- * 选中某一项时清空另外两项(及物料批关联 id)
42
- */
43
- export declare const CLEAR_ON_MFG_ORDER_SELECT: readonly ["production_container_id_", "material_container_no_", "material_container_no__id_"];
44
- export declare const CLEAR_ON_PROD_CONTAINER_SELECT: readonly ["mfg_order_id_", "mfg_order_code_", "material_container_no_", "material_container_no__id_"];
45
- export declare const CLEAR_ON_MATERIAL_CONTAINER_SELECT: readonly ["production_container_id_", "mfg_order_id_", "mfg_order_code_"];
46
- /** 数据源回填映射 */
47
- export declare const fillFromOption: ({
48
- optionField: "product_id_";
49
- toField: "product_id_";
50
- } | {
51
- optionField: "product_id_name_";
52
- toField: "product_id_name_";
53
- } | {
54
- optionField: "product_id_code_";
55
- toField: "product_id_code_";
56
- } | {
57
- optionField: "product_id_spec_";
58
- toField: "product_id_spec_";
59
- } | {
60
- optionField: "mfg_order_id_";
61
- toField: "mfg_order_id_";
62
- } | {
63
- optionField: "mfg_order_code_";
64
- toField: "mfg_order_code_";
65
- } | {
66
- optionField: string;
67
- toField: "production_date_";
68
- } | {
69
- optionField: "qty_";
70
- toField: "qty_";
71
- })[];
72
- /** 工单实体(em_mfg_order)回填映射:id_/code_ → 行内 mfg_order_id_/mfg_order_code_ */
73
- export declare const fillFromMfgOrderOption: readonly [{
74
- readonly optionField: "id_";
75
- readonly toField: "mfg_order_id_";
76
- }, {
77
- readonly optionField: "code_";
78
- readonly toField: "mfg_order_code_";
79
- }, {
80
- readonly optionField: "product_id_";
81
- readonly toField: "product_id_";
82
- }, {
83
- readonly optionField: "product_id_name_";
84
- readonly toField: "product_id_name_";
85
- }, {
86
- readonly optionField: "product_id_code_";
87
- readonly toField: "product_id_code_";
88
- }, {
89
- readonly optionField: "product_id_spec_";
90
- readonly toField: "product_id_spec_";
91
- }, {
92
- readonly optionField: "real_start_date_";
93
- readonly toField: "production_date_";
94
- }, {
95
- readonly optionField: "qty_";
96
- readonly toField: "qty_";
97
- }];
98
- /** 物料字段回填映射 */
99
- export declare const fillFromProductOption: ({
100
- optionField: string;
101
- toField: "product_id_name_";
102
- } | {
103
- optionField: string;
104
- toField: "product_id_code_";
105
- } | {
106
- optionField: string;
107
- toField: "product_id_spec_";
108
- })[];
109
- /** 物料字段清空时联动清空(仅 fillFromProductOption 负责填充的字段) */
110
- export declare const CLEAR_ON_PRODUCT_EMPTY: readonly ["product_id_name_", "product_id_code_", "product_id_spec_"];
111
- /**
112
- * 根据 fillFromOption 映射关系,将对象 B 中的字段值回填到对象 A
113
- * B 中不存在的字段不会修改 A 中对应属性
114
- */
115
- export declare function applyFillFromOption<T extends Record<string, any>>(A: T, B: Record<string, any>): T;
116
- /** 根据 fillFromProductOption 映射关系,将物料选项回填到当前行 */
117
- export declare function applyFillFromProductOption<T extends Record<string, any>>(A: T, B: Record<string, any>): T;
118
- /** 根据 fillFromMfgOrderOption 映射关系,将工单选项回填到当前行 */
119
- export declare function applyFillFromMfgOrderOption<T extends Record<string, any>>(A: T, B: Record<string, any>): T;
4
+ export * from '../../../../../../domain/table/business/preprocess/pretreatment-list/profile/field-keys';
@@ -1,62 +1,4 @@
1
1
  /**
2
- * 盘点表字段 key 统一定义
2
+ * 盘点表字段 key — 统一从 domain Profile 导出,保持原 import 路径兼容
3
3
  */
4
- /** 单字段 key */
5
- export declare const F: {
6
- readonly batch: "production_identification_id_";
7
- readonly batchLb: "production_identification_id__lb_";
8
- readonly product: "product_id_";
9
- readonly productLb: "product_id__lb_";
10
- readonly productName: "product_id_name_";
11
- readonly productCode: "product_id_code_";
12
- readonly productSpec: "product_id_spec_";
13
- readonly warehouse: "warehouse_id_";
14
- readonly location: "location_id_";
15
- readonly locationLb: "location_id__lb_";
16
- readonly stock: "stock_num_";
17
- readonly stocktake: "stocktake_num_";
18
- readonly diff: "diff_num_";
19
- readonly stocktakeStatus: "stocktake_status_";
20
- readonly stocktakeStatusLb: "stocktake_status__lb_";
21
- readonly matno: "material_no_";
22
- readonly matcode: "product_code_";
23
- readonly locationAutoResolved: "_location_auto_resolved_";
24
- readonly inventoryLocationIds: "_inventory_location_ids_";
25
- readonly rowSource: "row_source_";
26
- };
27
- export type InventoryFieldKey = (typeof F)[keyof typeof F];
28
- /** 含 label 的身份字段组 */
29
- export declare const BATCH_IDENTITY: readonly ["production_identification_id_", "production_identification_id__lb_"];
30
- export declare const PRODUCT_IDENTITY: readonly ["product_id_", "product_id__lb_"];
31
- export declare const PRODUCT_DESC: readonly ["product_id_name_", "product_id_code_", "product_id_spec_"];
32
- export declare const LOCATION_FIELDS: readonly ["location_id_", "location_id__lb_"];
33
- export declare const STOCK_FIELDS: readonly ["stock_num_", "stocktake_num_"];
34
- /** remoteSync 触发字段(含仅触发、不入请求的库位) */
35
- export declare const INVENTORY_IDENTITY_FIELDS: readonly ["production_identification_id_", "warehouse_id_", "location_id_", "product_id_"];
36
- /** remoteSync 请求体字段 */
37
- export declare const INVENTORY_REMOTE_SYNC_REQUEST_FIELDS: readonly ["production_identification_id_", "warehouse_id_", "product_id_", "material_no_", "product_code_"];
38
- /** remoteSync 仅触发、排除出请求的字段 */
39
- export declare const INVENTORY_REMOTE_SYNC_EXCLUDE_REQUEST_FIELDS: readonly ["location_id_"];
40
- export declare const INVENTORY_INFO_APPLY_FIELDS: readonly ["production_identification_id_", "product_id_name_", "product_id_code_", "product_id_spec_", "warehouse_id_", "location_id_", "stock_num_"];
41
- /** remoteSync 查无数据时清空的字段 */
42
- export declare const INVENTORY_INFO_CLEAR_FIELDS: readonly ["production_identification_id_", "production_identification_id__lb_", "product_id_", "product_id__lb_", "product_id_name_", "product_id_code_", "product_id_spec_", "location_id_", "location_id__lb_", "stock_num_", "stocktake_num_"];
43
- /** 行变更 handler:批次清空 / 切换时的字段集 */
44
- export declare const CLEAR_ON_BATCH_EMPTY: readonly ["product_id_", "product_id__lb_", "product_id_name_", "product_id_code_", "product_id_spec_", "location_id_", "location_id__lb_", "stock_num_", "stocktake_num_"];
45
- export declare const CLEAR_ON_BATCH_SWITCH: readonly ["location_id_", "location_id__lb_", "stock_num_", "stocktake_num_"];
46
- /** 行变更 handler:物料清空 / 切换时的字段集 */
47
- export declare const CLEAR_ON_PRODUCT_EMPTY: readonly ["production_identification_id_", "production_identification_id__lb_", "product_id_name_", "product_id_code_", "product_id_spec_", "location_id_", "location_id__lb_", "stock_num_", "stocktake_num_"];
48
- export declare const CLEAR_ON_PRODUCT_SWITCH: readonly ["production_identification_id_", "production_identification_id__lb_", "location_id_", "location_id__lb_", "stock_num_", "stocktake_num_"];
49
- /** runtimeRules:始终只读的信息字段 */
50
- export declare const READONLY_INFO_FIELDS: readonly ["product_id_name_", "product_id_code_", "product_id_spec_", "warehouse_id_", "stock_num_", "diff_num_", "stocktake_status_"];
51
- /** auto 行只读的可选字段 */
52
- export declare const AUTO_LOAD_READONLY_SELECT_FIELDS: readonly ["product_id_", "production_identification_id_", "location_id_"];
53
- /** scan 行只读:物料/批次;库位待选时可编辑,单库位自动解析后走 _location_auto_resolved_ 只读 */
54
- export declare const SCAN_READONLY_SELECT_FIELDS: readonly ["product_id_", "production_identification_id_"];
55
- /** rowHandlers:盘点衍生字段监听 */
56
- export declare const STOCKTAKE_DERIVED_WATCH_FIELDS: readonly ["stocktake_num_", "stock_num_"];
57
- /** 按批次+物料+仓库分组 */
58
- export declare const WAREHOUSE_IDENTITY_GROUP_KEYS: readonly ["production_identification_id_", "product_id_", "warehouse_id_"];
59
- /** 扫码合并键(含库位) */
60
- export declare const SCAN_MERGE_GROUP_KEYS: readonly ["production_identification_id_", "product_id_", "warehouse_id_", "location_id_"];
61
- /** 库存唯一标识基础字段 */
62
- export declare const INVENTORY_BASE_FIELDS: readonly ["production_identification_id_", "product_id_", "product_id_name_", "product_id_code_", "product_id_spec_", "warehouse_id_"];
4
+ export * from '../../../../../../domain/table/business/warehouse/warehouse-inventory/profile/field-keys';
@@ -16,3 +16,7 @@ export declare function getSuiteKey(): Promise<string | undefined>;
16
16
  * @return {*}
17
17
  */
18
18
  export declare function isEdhrSuite(): Promise<boolean>;
19
+ /**
20
+ * 是否是 EQM 应用套件
21
+ */
22
+ export declare function isEqmSuite(): Promise<boolean>;
@@ -1,5 +1,5 @@
1
1
  import { Ref } from 'vue';
2
- import { IFormModel, IFormModelFetcher } from './types';
2
+ import { FormFieldOption, IFormModel, IFormModelFetcher } from './types';
3
3
  import { FieldMetaDTO } from '@gct-paas/api/apaas';
4
4
  /**
5
5
  * 表单模型处理
@@ -23,6 +23,11 @@ export declare class FormModelController {
23
23
  getSubModel(subModelKey: string): any;
24
24
  /** 获取子模型字段集合 */
25
25
  getSubModelFields(subModelKey: string): any;
26
+ /**
27
+ * 表单字段下拉选项(排除系统字段和子表字段)
28
+ * value 格式为 modelKey.fieldKey,与字段映射存储格式一致
29
+ */
30
+ getFormFieldOptions(subModelKey?: string): FormFieldOption[];
26
31
  /**
27
32
  * 初始化
28
33
  *
@@ -9,6 +9,11 @@ export interface IFormModel {
9
9
  /** 字段列表 */
10
10
  fields: FieldMetaDTO[];
11
11
  }
12
+ /** 表单字段下拉选项,value 为 modelKey.fieldKey */
13
+ export interface FormFieldOption {
14
+ label: string;
15
+ value: string;
16
+ }
12
17
  /**
13
18
  * 表单模型加载请求器接口
14
19
  * @export