@gct-paas/excel 0.1.49 → 0.1.51-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 (207) hide show
  1. package/README.md +3 -4
  2. package/dist/{BaseComponent-BujOt502.js → BaseComponent-BShN-6c8.js} +4 -3
  3. package/dist/{VueVideoPlayer-B8GR2HPo.js → VueVideoPlayer-DH8pXh28.js} +2 -2
  4. package/dist/{align-editor--BUxJjPg.js → align-editor-DJ859WQZ.js} +1 -1
  5. package/dist/{barcode-design-DGX6Ol4t.js → barcode-design-Gq8_VO9l.js} +3 -2
  6. package/dist/base/index.es.js +517 -222
  7. package/dist/{diagonal-design-oiPfvxr7.js → diagonal-design-C2Ybg80S.js} +3 -2
  8. package/dist/{dynamic-table-action-Bhkrp7KE.js → dynamic-table-action-B3QEu1gT.js} +452 -322
  9. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CidYX2eX.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BY59Q_d_.js} +2296 -593
  10. package/dist/{edit.utils-CXmmCnxE-BXlWf2Zf.js → edit.utils-CXmmCnxE-wWPJuGRP.js} +1 -1
  11. package/dist/excel.css +614 -723
  12. package/dist/{exceljs.min-Ta0dJQqu.js → exceljs.min-D9sk8ogV.js} +2 -2
  13. package/dist/{font-editor-Dmj2hu7T.js → font-editor-CRxKpZ5w.js} +3 -3
  14. package/dist/{image-design-C3yJcthI.js → image-design-D6Mh4gmF.js} +3 -8
  15. package/dist/{index-C4SreE7Q.js → index-B10CES7y.js} +3 -2
  16. package/dist/{index-wKwGHLnP.js → index-BHaAq-DQ.js} +2 -1
  17. package/dist/{index-DMAuxwlt.js → index-BIks4AlA.js} +2 -1
  18. package/dist/{index-CMN1t7G7.js → index-BItsxlLG.js} +4 -3
  19. package/dist/{index-1kD3Vcrg.js → index-BLwPDGyh.js} +3 -2
  20. package/dist/{index-KQqw3i9h.js → index-BMBgoKQJ.js} +3 -2
  21. package/dist/{index-DF8n1Gru.js → index-Ba7SenEy.js} +4 -3
  22. package/dist/{index-DRKCOV3w.js → index-BaQxoGFV.js} +2 -1
  23. package/dist/{index-BDr7t7vL.js → index-BbNwGIpN.js} +2 -1
  24. package/dist/{index-DdOpcuy6.js → index-BdkVqSGZ.js} +8995 -3731
  25. package/dist/{index-GIYmXP7h.js → index-BfGKeHIi.js} +3 -2
  26. package/dist/{index-B0Qf1-mt.js → index-BkCygM2H.js} +4 -3
  27. package/dist/{index-CEYSrHod.js → index-Bkx2ZZxc.js} +3 -2
  28. package/dist/{index-OwTnsnnd.js → index-BzHOWFfJ.js} +3 -2
  29. package/dist/{index-CaLRSpkL.js → index-BzTGz-yp.js} +3 -2
  30. package/dist/{index-L7CRRS4N.js → index-C9oFT3gk.js} +3 -2
  31. package/dist/{index-C6WDE2xc.js → index-CCXIoitH.js} +2 -1
  32. package/dist/{index-IOqBW_eS.js → index-CfMaU3Cq.js} +7 -3
  33. package/dist/{index-D9lmC_sX.js → index-CkYFepvp.js} +4 -3
  34. package/dist/{index-B2VHOqo4.js → index-CqZOsGgU.js} +3 -2
  35. package/dist/{index-BOMuRlHQ.js → index-D8Pv4_xg.js} +3 -2
  36. package/dist/{index-BtAlyN0W.js → index-D925vhPg.js} +3 -2
  37. package/dist/{index-BEEhGWk7.js → index-DECfc3al.js} +3 -2
  38. package/dist/{index-CUTV5Yr2.js → index-DS1bbdtf.js} +5 -4
  39. package/dist/{index-DBSvao2o.js → index-DVloZxGE.js} +2 -1
  40. package/dist/{index-BlCF32GJ.js → index-DpPtXY8I.js} +4 -3
  41. package/dist/{index-UnwowxL3.js → index-DpQIy9xD.js} +2 -1
  42. package/dist/{index-DLTES9Zq.js → index-IY_wwSl8.js} +3 -2
  43. package/dist/{index-BwuwoFQQ.js → index-MWQxnJy_.js} +3 -2
  44. package/dist/{index-B4ZpSIPH.js → index-caGeDRoA.js} +4 -3
  45. package/dist/{index-Bd15pfRH.js → index-eHOXhn3S.js} +2 -1
  46. package/dist/{index-DQC7zJRO.js → index-emsDlrTV.js} +2 -1
  47. package/dist/{index-B4hIBKZ6.js → index-vrDKB2Af.js} +3 -2
  48. package/dist/{index-CZo7qVZK.js → index-xTI_Fqhb.js} +2 -1
  49. package/dist/index.es.js +52 -46
  50. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-219qzsVL.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-BftaGVRR.js} +27 -3
  51. package/dist/{pagination-design-CNML3qGx.js → pagination-design-BO_7vrQd.js} +3 -2
  52. package/dist/paper-widget-design-18uum1H9.js +4 -0
  53. package/dist/{print-runtime-instance-DKR1MX8-.js → print-runtime-instance-B1Q_Xc8x.js} +1 -1
  54. package/dist/{print-snapshot-renderer-BIWDQkSC.js → print-snapshot-renderer-wEKNMo0m.js} +3 -3
  55. package/dist/{qrcode-design-CUQ4gaJ0.js → qrcode-design-CeNvj_74.js} +1 -1
  56. package/dist/{revo-grid.entry-Be5Mx_h7.js → revo-grid.entry-iJpKwgs4.js} +1 -1
  57. package/dist/{revogr-attribution_7.entry-DmJFrubR.js → revogr-attribution_7.entry-C-cdTXU8.js} +3 -3
  58. package/dist/{revogr-clipboard_3.entry-COcvqK0w.js → revogr-clipboard_3.entry-BHJgHR9f.js} +2 -2
  59. package/dist/{revogr-data_4.entry-Dc4luGHv.js → revogr-data_4.entry-R_-ZZIdp.js} +2 -2
  60. package/dist/{revogr-filter-panel.entry-B1l-ouo-.js → revogr-filter-panel.entry-RU6Tewnq.js} +1 -1
  61. package/dist/seal-design-BnQkmNDo.js +4 -0
  62. package/dist/{serialnumber-design-hcI8TwmS.js → serialnumber-design-b0I5H8lq.js} +1 -1
  63. package/dist/shared/index.es.js +29 -28
  64. package/dist/{single-field-drop-CnuMgeEW.js → single-field-drop-Bj73o6Jt.js} +2 -3
  65. package/dist/{size-editor-D4ZNlV-c.js → size-editor-Bps566OT.js} +1 -1
  66. package/dist/src/adapter/adapter.d.ts +1 -1
  67. package/dist/src/adapter/index.d.ts +2 -0
  68. package/dist/src/{nocode-web-render/src/render/sub-table/common → adapter/web}/inventory-scan-columns.d.ts +1 -1
  69. package/dist/src/{nocode-web-render/src/render/sub-table/material-balance/mb-web-render.d.ts → adapter/web/material-balance-render.d.ts} +1 -1
  70. package/dist/src/{nocode-web-render/src/render/sub-table/material-balance → adapter/web}/material-consume-modal.vue.d.ts +1 -1
  71. package/dist/src/adapter/web/material-consume-render.d.ts +25 -0
  72. package/dist/src/{nocode-web-render/src/render/common → adapter/web}/open-util.d.ts +1 -1
  73. package/dist/src/{nocode-web-render/src/render/sub-table/stocktake/stocktake-web-render.d.ts → adapter/web/stocktake-render.d.ts} +2 -2
  74. package/dist/src/{nocode-web-render/src/render/sub-table/common → adapter/web}/sub-table-render.d.ts +2 -5
  75. package/dist/src/domain/document-business/business/product-release/profile.d.ts +2 -0
  76. package/dist/src/domain/document-business/business/product-release/service.d.ts +2 -0
  77. package/dist/src/domain/document-business/index.d.ts +2 -0
  78. package/dist/src/domain/document-business/registry.d.ts +2 -0
  79. package/dist/src/domain/document-business/runtime/field-query-runtime.d.ts +4 -0
  80. package/dist/src/domain/document-business/types.d.ts +24 -0
  81. package/dist/src/domain/field/number/product-release-qty-manifest.d.ts +2 -0
  82. package/dist/src/domain/field/query-filter.d.ts +15 -0
  83. package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +37 -1
  84. package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +7 -0
  85. package/dist/src/domain/table/business/material/material-substitution/runtime/select-loaders.d.ts +12 -0
  86. package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/field-keys.d.ts +2 -0
  87. package/dist/src/domain/table/business/warehouse/shared/autofill-source-labels.d.ts +19 -0
  88. package/dist/src/domain/table/design/autofill-expander.d.ts +2 -0
  89. package/dist/src/domain/table/design/hooks/on-field-attach.d.ts +6 -0
  90. package/dist/src/domain/table/index.d.ts +1 -1
  91. package/dist/src/domain/table/types.d.ts +2 -0
  92. package/dist/src/index.d.ts +8 -0
  93. package/dist/src/nocode-base/src/components/document-sub-table-action/dynamic-table-action.vue.d.ts +0 -2
  94. package/dist/src/nocode-base/src/components/document-sub-table-action/sub-table-action.vue.d.ts +0 -3
  95. package/dist/src/nocode-base/src/components/document-sub-table-action/type.d.ts +0 -4
  96. package/dist/src/nocode-base/src/components/material-consume/types.d.ts +1 -5
  97. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +4 -4
  98. package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +1 -4
  99. package/dist/src/nocode-base/src/core/sub-table/utils/sterilize/field-keys.d.ts +1 -2
  100. package/dist/src/nocode-base/src/hooks/formula-params-cache.d.ts +15 -0
  101. package/dist/src/nocode-base/src/hooks/inspection-module-qty.d.ts +4 -0
  102. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +0 -6
  103. package/dist/src/nocode-base/src/hooks/material-consume/mc-render.d.ts +1 -28
  104. package/dist/src/nocode-base/src/hooks/render-page/initial-value-data-sources.d.ts +3 -0
  105. package/dist/src/nocode-base/src/hooks/render-page/initialize-runtime.d.ts +9 -8
  106. package/dist/src/nocode-base/src/hooks/render-page/runtime-data-sources.d.ts +51 -0
  107. package/dist/src/nocode-base/src/hooks/render-page/sterilization-date.d.ts +3 -0
  108. package/dist/src/nocode-base/src/hooks/render-page/types.d.ts +7 -1
  109. package/dist/src/nocode-base/src/hooks/useCalcFunction.d.ts +8 -2
  110. package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +55 -6
  111. package/dist/src/nocode-base/src/hooks/useRuntimeInstanceServices.d.ts +24 -0
  112. package/dist/src/nocode-base/src/interface/ref-loader.d.ts +12 -1
  113. package/dist/src/nocode-base/src/interface/render.d.ts +2 -1
  114. package/dist/src/nocode-base/src/interface/transform.d.ts +3 -0
  115. package/dist/src/nocode-base/src/runtime/conversions/v1-runtime.d.ts +1 -1
  116. package/dist/src/nocode-base/src/runtime/designer-default-values.d.ts +23 -0
  117. package/dist/src/nocode-base/src/runtime/runtime-default-value-validation.d.ts +23 -0
  118. package/dist/src/nocode-base/src/runtime/runtime-field-initializer.d.ts +1 -0
  119. package/dist/src/nocode-base/src/runtime/runtime-field-state.d.ts +5 -2
  120. package/dist/src/nocode-base/src/runtime/runtime-instance-registry.d.ts +8 -5
  121. package/dist/src/nocode-base/src/types/common/base.d.ts +8 -2
  122. package/dist/src/nocode-base/src/types/render/mc-render.d.ts +2 -15
  123. package/dist/src/nocode-base/src/types/render/sub-table-render.d.ts +0 -10
  124. package/dist/src/online-form/src/components/device/device-select.vue.d.ts +1 -1
  125. package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/base-vxe-table.vue.d.ts +1 -1
  126. package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/default-value-rdo-editor.vue.d.ts +4 -4
  127. package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/rdo-table-dropdown.vue.d.ts +3 -3
  128. package/dist/src/online-form/src/views/designer/constants/index.d.ts +1 -0
  129. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +144 -0
  130. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +87 -4
  131. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/message-rule-config/rule-modal.vue.d.ts +32 -0
  132. package/dist/src/{nocode-web-render/src/render/parse-rule → online-form/src/views/designer/modules/panel/sub-table/comps}/add-rule-btn.vue.d.ts +1 -1
  133. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +6 -0
  134. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/panel-check-table/select-check-ds-modal.vue.d.ts +3 -3
  135. package/dist/src/online-form/src/views/designer/types/index.d.ts +12 -1
  136. package/dist/src/online-form/src/views/designer/utils/placed-fields.d.ts +9 -0
  137. package/dist/src/online-form/src/views/designer/utils/template-placed-fields.d.ts +7 -0
  138. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-auto-complete.vue.d.ts +2 -2
  139. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-date-picker.vue.d.ts +2 -2
  140. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-media.vue.d.ts +1 -1
  141. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-text-input.vue.d.ts +2 -2
  142. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-textarea.vue.d.ts +2 -2
  143. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-floating-field.vue.d.ts +0 -1
  144. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-runtime-layer.vue.d.ts +0 -1
  145. package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/use-seal-stamp.d.ts +1 -4
  146. package/dist/src/online-form/src/views/render/__components__/_field_/seal/index.d.ts +1 -0
  147. package/dist/src/online-form/src/views/render/__components__/_field_/trace/common/base-vxe-table.vue.d.ts +1 -1
  148. package/dist/src/shared/components/ColorPicker/src/ColorPicker.vue.d.ts +1 -1
  149. package/dist/src/shared/components/DoubleInput/double-input.vue.d.ts +162 -2
  150. package/dist/src/shared/components/LimitedNumberInput/limited-number-input.vue.d.ts +41 -0
  151. package/dist/src/shared/components/LimitedNumberInput/number-input-rules.d.ts +16 -0
  152. package/dist/src/shared/components/Signature/logic/index.d.ts +14 -0
  153. package/dist/src/shared/enum/field-type.d.ts +8 -3
  154. package/dist/src/{nocode-web-render/src → shared}/hooks/useWebUpload.d.ts +1 -1
  155. package/dist/src/shared/index.d.ts +1 -0
  156. package/dist/src/shared/types/index.d.ts +1 -0
  157. package/dist/src/shared/types/upload.d.ts +11 -0
  158. package/dist/src/shared/utils/withRequestCache.d.ts +27 -0
  159. package/dist/{sub-table-factory-Df_Z-LYK.js → sub-table-factory-CykoFqnP.js} +276 -89
  160. package/dist/{text-design-gySXbKUQ.js → text-design-kWxwqj3H.js} +3 -2
  161. package/dist/{throttle-Cpk1LoGk-DEDsjc1B.js → throttle-Cpk1LoGk-B3zgXjle.js} +1 -1
  162. package/dist/{timediff-design-BHLUYM_L.js → timediff-design-sh7-fMvN.js} +2 -1
  163. package/dist/{trace-like-wrapper-CD0q7Bpg.js → trace-like-wrapper-ByePbRT3.js} +3 -2
  164. package/dist/{value-editor.vue_vue_type_style_index_0_lang-Dp_NLPcS.js → value-editor.vue_vue_type_style_index_0_lang-BuGHTPEo.js} +3 -2
  165. package/dist/{widget-barcode-Dho-QBc4.js → widget-barcode-BP0WV4jM.js} +5 -4
  166. package/dist/{widget-diagonal-LOzS5LGZ.js → widget-diagonal-Cwfunmde.js} +4 -4
  167. package/dist/{widget-image-CE9y7lzB.js → widget-image-3xm-HfRy.js} +5 -7
  168. package/dist/{widget-line-DK-tRBi0.js → widget-line-B2Q3DwW6.js} +3 -2
  169. package/dist/{widget-pagination-JLrTk_QY.js → widget-pagination-CV9ShZXH.js} +6 -5
  170. package/dist/{widget-power-B136JrJ6.js → widget-power-Bc0Fv3R6.js} +4 -4
  171. package/dist/{widget-qrcode-CQ79eZwR.js → widget-qrcode-D_LkgIb2.js} +4 -3
  172. package/dist/{widget-rangelimit-DORQgXtz.js → widget-rangelimit-Db1rsnwU.js} +3 -4
  173. package/dist/{widget-serialnumber-BvhwTK5N.js → widget-serialnumber-BqZ3zJst.js} +1 -1
  174. package/dist/{widget-text-D6au0tli.js → widget-text-IJbtzWxl.js} +5 -5
  175. package/dist/{widget-timediff-C3SAIS2-.js → widget-timediff-Bp8U1rzO.js} +3 -2
  176. package/package.json +2 -6
  177. package/dist/AntdIcon-DCIaV352.js +0 -1108
  178. package/dist/index-B6csmYLK.js +0 -4353
  179. package/dist/mb-render-CQlqaMrC.js +0 -276
  180. package/dist/paper-widget-design-B8WyX87-.js +0 -4
  181. package/dist/seal-design-Q8W8Umib.js +0 -4
  182. package/dist/src/nocode-web-render/src/components/print-fill-background-selector.vue.d.ts +0 -2
  183. package/dist/src/nocode-web-render/src/hooks/index.d.ts +0 -2
  184. package/dist/src/nocode-web-render/src/hooks/userFormPrint.d.ts +0 -15
  185. package/dist/src/nocode-web-render/src/index.d.ts +0 -6
  186. package/dist/src/nocode-web-render/src/logic/index.d.ts +0 -1
  187. package/dist/src/nocode-web-render/src/render/common/index.d.ts +0 -2
  188. package/dist/src/nocode-web-render/src/render/common/modal-manager.d.ts +0 -20
  189. package/dist/src/nocode-web-render/src/render/index.d.ts +0 -10
  190. package/dist/src/nocode-web-render/src/render/parse-rule/index.d.ts +0 -3
  191. package/dist/src/nocode-web-render/src/render/parse-rule/parse-rule-modal.vue.d.ts +0 -15
  192. package/dist/src/nocode-web-render/src/render/sub-table/allocate/allocate-web-render.d.ts +0 -4
  193. package/dist/src/nocode-web-render/src/render/sub-table/allocate/index.d.ts +0 -1
  194. package/dist/src/nocode-web-render/src/render/sub-table/common/multi-rows-modal.vue.d.ts +0 -15
  195. package/dist/src/nocode-web-render/src/render/sub-table/common/scan-modal.vue.d.ts +0 -19
  196. package/dist/src/nocode-web-render/src/render/sub-table/index.d.ts +0 -3
  197. package/dist/src/nocode-web-render/src/render/sub-table/material-balance/index.d.ts +0 -1
  198. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/bom-modal.vue.d.ts +0 -11
  199. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/index.d.ts +0 -4
  200. package/dist/src/nocode-web-render/src/render/sub-table/material-consume/mc-web-render.d.ts +0 -42
  201. package/dist/src/nocode-web-render/src/render/sub-table/stocktake/index.d.ts +0 -2
  202. package/dist/src/nocode-web-render/src/types/hooks/index.d.ts +0 -1
  203. package/dist/src/nocode-web-render/src/types/index.d.ts +0 -1
  204. package/dist/web-render/index.d.ts +0 -1
  205. package/dist/web-render/index.es.js +0 -595
  206. /package/dist/src/{nocode-web-render/src/adapter/index.d.ts → adapter/web/setup.d.ts} +0 -0
  207. /package/dist/src/{nocode-web-render/src/logic/utils.d.ts → adapter/web/upload.d.ts} +0 -0
@@ -1,595 +0,0 @@
1
- import { M as ModalWrapper, _ as _sfc_main$3 } from "../index-B6csmYLK.js";
2
- import { A, B, P, S, j, h, i, u } from "../index-B6csmYLK.js";
3
- import { message } from "ant-design-vue";
4
- import { J as useModal, a7 as _export_sfc, E as api, c3 as getParseRuleConfig, b1 as getParseRuleValue, bT as calcFillData, aX as getLotLockedReason } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CidYX2eX.js";
5
- import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, Fragment, renderList, normalizeClass, createVNode, createTextVNode, reactive, onMounted, createBlock, unref, withCtx, withKeys, withDirectives, createCommentVNode, vShow, computed, mergeProps, toHandlers } from "vue";
6
- import { cloneDeep } from "lodash-es";
7
- import "dayjs";
8
- import { VxeGrid } from "vxe-table";
9
- const _hoisted_1$2 = { class: "print-fill-background-selector" };
10
- const _hoisted_2$1 = { class: "selector-title" };
11
- const _hoisted_3$1 = { class: "selector-options" };
12
- const _hoisted_4$1 = ["onClick"];
13
- const _hoisted_5$1 = { class: "preview-card" };
14
- const _hoisted_6$1 = { class: "preview-sheet" };
15
- const _hoisted_7$1 = { class: "radio-label" };
16
- const _sfc_main$2 = /* @__PURE__ */ defineComponent({
17
- __name: "print-fill-background-selector",
18
- setup(__props) {
19
- const selected = ref(false);
20
- const options = [
21
- { label: $t("sys.printFillAreaBgYes"), value: true },
22
- { label: $t("sys.printFillAreaBgNo"), value: false }
23
- ];
24
- useModal(async () => ({ ok: true, data: [{ showPrintFieldBg: selected.value }] }));
25
- return (_ctx, _cache) => {
26
- const _component_a_radio = resolveComponent("a-radio");
27
- return openBlock(), createElementBlock("div", _hoisted_1$2, [
28
- createElementVNode("div", _hoisted_2$1, toDisplayString(_ctx.$t("sys.printFillAreaBg")), 1),
29
- createElementVNode("div", _hoisted_3$1, [
30
- (openBlock(), createElementBlock(Fragment, null, renderList(options, (option) => {
31
- return createElementVNode("button", {
32
- key: String(option.value),
33
- type: "button",
34
- class: normalizeClass(["selector-option", selected.value === option.value && "is-selected"]),
35
- onClick: ($event) => selected.value = option.value
36
- }, [
37
- createElementVNode("span", _hoisted_5$1, [
38
- createElementVNode("span", _hoisted_6$1, [
39
- createElementVNode("span", {
40
- class: normalizeClass(["preview-value", option.value && "with-background"])
41
- }, "aaa", 2)
42
- ])
43
- ]),
44
- createElementVNode("span", _hoisted_7$1, [
45
- createVNode(_component_a_radio, {
46
- checked: selected.value === option.value
47
- }, null, 8, ["checked"]),
48
- createTextVNode(" " + toDisplayString(option.label), 1)
49
- ])
50
- ], 10, _hoisted_4$1);
51
- }), 64))
52
- ])
53
- ]);
54
- };
55
- }
56
- });
57
- const PrintFillBackgroundSelector = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-a96546b6"]]);
58
- var PrintModeEnum = /* @__PURE__ */ ((PrintModeEnum2) => {
59
- PrintModeEnum2["ASYNC"] = "async";
60
- PrintModeEnum2["SYNC"] = "sync";
61
- return PrintModeEnum2;
62
- })(PrintModeEnum || {});
63
- var FileModeEnum = /* @__PURE__ */ ((FileModeEnum2) => {
64
- FileModeEnum2["ZIP"] = "zip";
65
- FileModeEnum2["UN_ZIP"] = "unZip";
66
- return FileModeEnum2;
67
- })(FileModeEnum || {});
68
- const printPolling = useSingletonPolling();
69
- async function formPrint(tmplInstantId, printConfig) {
70
- if (!printConfig) {
71
- const result = await window.NocodeAdapter.utils.overlay.modal(
72
- PrintFillBackgroundSelector,
73
- {},
74
- {
75
- title: $t("sys.onlineForm.singlePrint"),
76
- width: 640,
77
- okText: $t("sys.okText"),
78
- showFooter: true
79
- }
80
- );
81
- if (!result.ok) return;
82
- printConfig = {
83
- apiMode: "sync",
84
- fileMode: "unZip",
85
- showPrintFieldBg: result.data?.[0]?.showPrintFieldBg ?? false
86
- };
87
- }
88
- const key = await api.apaas.fileTask.postSubmit({
89
- tmplInstantId,
90
- type: "FORM",
91
- showPrintFieldBg: printConfig?.showPrintFieldBg
92
- });
93
- if (!key) return;
94
- const hide = message.loading("打印中...", 0);
95
- printPolling.start((signal) => pollPrintStatus(key, signal)).then(async (content) => {
96
- hide();
97
- message.success(content.message);
98
- const url = `/minio/${content.appId}/${content.url}`;
99
- switch (printConfig?.fileMode) {
100
- case "zip":
101
- downloadByUrl({ url });
102
- break;
103
- case "unZip":
104
- await unzipUrl({ url: `/${content.url}`, appId: content.appId });
105
- break;
106
- default:
107
- downloadByUrl({ url });
108
- break;
109
- }
110
- }).catch((err) => {
111
- hide();
112
- if (err?.name === "AbortError") return;
113
- message.error(err.message);
114
- });
115
- }
116
- async function pollPrintStatus(id, signal) {
117
- let retry = 0;
118
- while (retry < 100) {
119
- if (signal?.aborted) {
120
- throw new DOMException("轮询已中断", "AbortError");
121
- }
122
- const { status, url, appId } = await api.platform.fileTask.getInfo({ id }) || {};
123
- if (status === "SUCCEED" && url && appId) {
124
- return { message: "打印成功", url, appId };
125
- }
126
- if (status === "FAIL") {
127
- throw new Error("打印失败");
128
- }
129
- retry++;
130
- await sleep(3e3, signal);
131
- }
132
- throw new Error("打印超时");
133
- }
134
- function sleep(ms, signal) {
135
- return new Promise((resolve, reject) => {
136
- const timer = setTimeout(resolve, ms);
137
- if (signal) {
138
- signal.addEventListener(
139
- "abort",
140
- () => {
141
- clearTimeout(timer);
142
- reject(new DOMException("Aborted", "AbortError"));
143
- },
144
- { once: true }
145
- );
146
- }
147
- });
148
- }
149
- function useSingletonPolling() {
150
- let controller = null;
151
- async function start(task) {
152
- if (controller) {
153
- controller.abort();
154
- }
155
- const currentController = new AbortController();
156
- controller = currentController;
157
- try {
158
- return await task(currentController.signal);
159
- } finally {
160
- if (controller === currentController) {
161
- controller = null;
162
- }
163
- }
164
- }
165
- function stop() {
166
- if (controller) {
167
- controller.abort();
168
- controller = null;
169
- }
170
- }
171
- return { start, stop };
172
- }
173
- function downloadByUrl({
174
- url,
175
- target = "_blank",
176
- fileName
177
- }) {
178
- const isChrome = window.navigator.userAgent.toLowerCase().indexOf("chrome") > -1;
179
- const isSafari = window.navigator.userAgent.toLowerCase().indexOf("safari") > -1;
180
- if (/(iP)/g.test(window.navigator.userAgent)) {
181
- console.error("Your browser does not support download!");
182
- return false;
183
- }
184
- if (isChrome || isSafari) {
185
- const link = document.createElement("a");
186
- link.href = url;
187
- link.target = target;
188
- if (link.download !== void 0) {
189
- link.download = fileName || url.substring(url.lastIndexOf("/") + 1, url.length);
190
- }
191
- if (document.createEvent) {
192
- const e = document.createEvent("MouseEvents");
193
- e.initEvent("click", true, true);
194
- link.dispatchEvent(e);
195
- return true;
196
- }
197
- }
198
- if (url.indexOf("?") === -1) {
199
- url += "?download";
200
- }
201
- window.open(url, target);
202
- return true;
203
- }
204
- async function unzipUrl({ url, appId }) {
205
- const unzipUrl2 = await window.NocodeAdapter.apis?.postMedproFileUnzip?.({ url }, { url });
206
- const path = /^https?:\/\//.test(unzipUrl2) ? unzipUrl2 : /^\/w/.test(unzipUrl2) ? `${window.NocodeAdapter.minioPath}/${appId}/${unzipUrl2}` : `${window.NocodeAdapter.minioPath}/${appId}/${unzipUrl2}`;
207
- console.log("unzipUrl", unzipUrl2);
208
- const newWindow = window.open(`${path}`, "_blank", "noopener,noreferrer");
209
- if (newWindow) newWindow.opener = null;
210
- }
211
- const IconScan = "data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_401_32653)'%3e%3cpath%20d='M8.41026%205.53845H6.03849C5.76236%205.53845%205.5385%205.7623%205.5385%206.03844L5.53847%207.26153V8.41025'%20stroke='%231A1D23'%20stroke-width='1.5'%20stroke-linecap='square'/%3e%3cpath%20d='M8.41026%2018.4615H6.03849C5.76236%2018.4615%205.5385%2018.2377%205.5385%2017.9616L5.53847%2016.7385V15.5898'%20stroke='%231A1D23'%20stroke-width='1.5'%20stroke-linecap='square'/%3e%3cpath%20d='M15.5897%205.53845H17.9615C18.2376%205.53845%2018.4615%205.76231%2018.4615%206.03845L18.4615%208.41025'%20stroke='%231A1D23'%20stroke-width='1.5'%20stroke-linecap='square'/%3e%3cpath%20d='M15.5897%2018.4615H17.9615C18.2376%2018.4615%2018.4615%2018.2377%2018.4615%2017.9616L18.4615%2016.7385V15.5898'%20stroke='%231A1D23'%20stroke-width='1.5'%20stroke-linecap='square'/%3e%3cpath%20d='M23.8461%2012H0.153809'%20stroke='url(%23paint0_linear_401_32653)'%20stroke-width='2'%20stroke-linecap='square'/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_401_32653'%20x1='0.153809'%20y1='12.5'%20x2='23.8461'%20y2='12.5'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23026AC8'%20stop-opacity='0'/%3e%3cstop%20offset='0.5'%20stop-color='%23026AC8'/%3e%3cstop%20offset='1'%20stop-color='%23026AC8'%20stop-opacity='0'/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_401_32653'%3e%3crect%20width='24'%20height='24'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e";
212
- const _hoisted_1$1 = {
213
- class: /* @__PURE__ */ normalizeClass(["scan-modal__content"])
214
- };
215
- const _hoisted_2 = ["src"];
216
- const _hoisted_3 = { class: "scan-modal__rule-control" };
217
- const _hoisted_4 = { class: "scan-modal__subtitle" };
218
- const _hoisted_5 = {
219
- key: 0,
220
- class: "mb12px"
221
- };
222
- const _hoisted_6 = { class: "scan-modal__map" };
223
- const _hoisted_7 = {
224
- key: 0,
225
- class: "scan-modal__row scan-modal__row--header"
226
- };
227
- const _hoisted_8 = { class: "scan-modal__barcodeField scan-modal__col-label is-required" };
228
- const _hoisted_9 = { class: "scan-modal__formFields scan-modal__col-label is-required" };
229
- const _hoisted_10 = { class: "scan-modal__row--content" };
230
- const _hoisted_11 = { class: "scan-modal__actions" };
231
- const _hoisted_12 = ["onClick", "title"];
232
- const _sfc_main$1 = /* @__PURE__ */ defineComponent({
233
- __name: "scan-modal",
234
- props: {
235
- modal: {},
236
- scanParam: {},
237
- scanRules: {},
238
- formFieldOptions: {},
239
- onScan: { type: Function },
240
- ruleTip: {}
241
- },
242
- setup(__props) {
243
- const modalOptions = reactive({
244
- width: 460,
245
- draggable: true,
246
- showFooter: false,
247
- canFullscreen: false,
248
- wrapClassName: "gct-draggable-modal",
249
- mask: false,
250
- maskClosable: false,
251
- title: "扫码录入"
252
- });
253
- const props = __props;
254
- const formState = ref({
255
- parsingRuleId: props.scanRules?.parsingRuleId,
256
- fillMapArr: cloneDeep(props.scanRules?.fillMapArr) ?? []
257
- });
258
- const scanRuleInfo = ref();
259
- const configExpanded = ref(false);
260
- onMounted(async () => {
261
- if (formState.value.parsingRuleId) {
262
- initRuleFieldOptions(formState.value.parsingRuleId);
263
- scanRuleInfo.value = await getParseRuleConfig(formState.value.parsingRuleId);
264
- }
265
- });
266
- const ruleFieldOptions = ref([]);
267
- const onEnter = (...args) => {
268
- console.log("onEnter", args, formState.value);
269
- let parsedValue, transformedData = {};
270
- const fillMaps = formState.value.fillMapArr;
271
- if (scanRuleInfo.value) {
272
- parsedValue = getParseRuleValue(formState.value.str, JSON.stringify(scanRuleInfo.value));
273
- } else if (props.scanParam) {
274
- parsedValue = { [props.scanParam]: formState.value.str };
275
- }
276
- if (fillMaps?.length) transformedData = calcFillData(parsedValue, fillMaps);
277
- props.onScan({ str: formState.value.str, parsedValue, transformedData });
278
- formState.value.str = "";
279
- };
280
- const initRuleFieldOptions = async (id) => {
281
- if (!id) {
282
- ruleFieldOptions.value = [];
283
- return;
284
- }
285
- const config = await getParseRuleConfig(id);
286
- if (!config) {
287
- ruleFieldOptions.value = [];
288
- return;
289
- }
290
- scanRuleInfo.value = config;
291
- ruleFieldOptions.value = config.fieldList.map((field) => {
292
- return {
293
- label: field.alias ?? $t(`sys.edhr.labelConfigFields.${field.type}`),
294
- value: field.key
295
- };
296
- });
297
- };
298
- const onRuleChange = (rule) => {
299
- if (rule === formState.value.parsingRuleId) {
300
- return;
301
- }
302
- formState.value.parsingRuleId = rule;
303
- formState.value.fillMapArr = [];
304
- initRuleFieldOptions(rule);
305
- };
306
- const addFieldMap = () => {
307
- if (!formState.value.fillMapArr) {
308
- formState.value.fillMapArr = [];
309
- }
310
- formState.value.fillMapArr.push({});
311
- };
312
- const removeField = (index) => {
313
- formState.value.fillMapArr?.splice(index, 1);
314
- };
315
- const filterFormFieldOption = (input, option) => {
316
- return option.label.toLowerCase().includes(input.toLowerCase());
317
- };
318
- return (_ctx, _cache) => {
319
- const _component_a_input = resolveComponent("a-input");
320
- const _component_a_form_item = resolveComponent("a-form-item");
321
- const _component_a_divider = resolveComponent("a-divider");
322
- const _component_a_alert = resolveComponent("a-alert");
323
- const _component_a_select = resolveComponent("a-select");
324
- const _component_a_button = resolveComponent("a-button");
325
- const _component_a_form = resolveComponent("a-form");
326
- return openBlock(), createBlock(unref(ModalWrapper), {
327
- opts: modalOptions,
328
- class: normalizeClass(["scan-modal"])
329
- }, {
330
- default: withCtx(() => [
331
- createElementVNode("div", _hoisted_1$1, [
332
- createVNode(_component_a_form_item, {
333
- required: "",
334
- class: "scan-form-item"
335
- }, {
336
- default: withCtx(() => [
337
- createVNode(_component_a_input, {
338
- value: formState.value.str,
339
- "onUpdate:value": _cache[0] || (_cache[0] = ($event) => formState.value.str = $event),
340
- size: "large",
341
- placeholder: "请扫码录入",
342
- onKeyup: withKeys(onEnter, ["enter"])
343
- }, {
344
- prefix: withCtx(() => [
345
- createElementVNode("img", {
346
- src: unref(IconScan),
347
- width: "24",
348
- height: "24"
349
- }, null, 8, _hoisted_2)
350
- ]),
351
- _: 1
352
- }, 8, ["value"])
353
- ]),
354
- _: 1
355
- }),
356
- createVNode(_component_a_divider, { style: { "width": "calc(100% + 48px)", "margin": "28px 0 16px -24px" } }),
357
- createVNode(_component_a_form_item, {
358
- class: "scan-modal__rule",
359
- label: _ctx.$t("sys.edhr.mcTable.parseRule") + ":",
360
- name: "parsingRuleId"
361
- }, {
362
- default: withCtx(() => [
363
- createElementVNode("div", _hoisted_3, [
364
- createVNode(_sfc_main$3, {
365
- "model-value": formState.value.parsingRuleId,
366
- "onUpdate:modelValue": onRuleChange,
367
- modelKey: "em_barcode_parsing_rules"
368
- }, null, 8, ["model-value"]),
369
- createElementVNode("div", {
370
- class: "primary-gct cursor-pointer whitespace-nowrap",
371
- onClick: _cache[1] || (_cache[1] = ($event) => configExpanded.value = !configExpanded.value)
372
- }, [
373
- createTextVNode(toDisplayString(configExpanded.value ? _ctx.$t("sys.collapseConfig") : _ctx.$t("sys.expandConfig")) + " ", 1),
374
- createElementVNode("i", {
375
- class: normalizeClass(["iconfont ml4px", configExpanded.value ? "icon-arrow_up_pad" : "icon-arrow_down_pad"])
376
- }, null, 2)
377
- ])
378
- ])
379
- ]),
380
- _: 1
381
- }, 8, ["label"]),
382
- withDirectives(createElementVNode("div", null, [
383
- createElementVNode("div", _hoisted_4, toDisplayString(_ctx.$t("sys.onlineForm.fieldMapping")), 1),
384
- __props.ruleTip ? (openBlock(), createElementBlock("div", _hoisted_5, [
385
- createVNode(_component_a_alert, {
386
- message: __props.ruleTip,
387
- type: "info",
388
- "show-icon": ""
389
- }, null, 8, ["message"])
390
- ])) : createCommentVNode("", true),
391
- createElementVNode("div", _hoisted_6, [
392
- createVNode(_component_a_form, {
393
- ref: "formRef",
394
- model: formState.value,
395
- layout: "vertical"
396
- }, {
397
- default: withCtx(() => [
398
- formState.value.fillMapArr?.length ? (openBlock(), createElementBlock("div", _hoisted_7, [
399
- createElementVNode("div", _hoisted_8, toDisplayString(_ctx.$t("sys.onlineForm.barcodeField")), 1),
400
- createElementVNode("div", _hoisted_9, toDisplayString(_ctx.$t("sys.onlineForm.formFields")), 1)
401
- ])) : createCommentVNode("", true),
402
- createElementVNode("div", _hoisted_10, [
403
- (openBlock(true), createElementBlock(Fragment, null, renderList(formState.value.fillMapArr, (item, i2) => {
404
- return openBlock(), createElementBlock("div", {
405
- class: "scan-modal__row",
406
- key: i2
407
- }, [
408
- createVNode(_component_a_form_item, {
409
- class: "scan-modal__barcodeField",
410
- name: ["fillMapArr", i2, "barcodeField"],
411
- rules: [{ required: true, message: _ctx.$t("sys.chooseText") }]
412
- }, {
413
- default: withCtx(() => [
414
- createVNode(_component_a_select, {
415
- value: item.barcodeField,
416
- "onUpdate:value": ($event) => item.barcodeField = $event,
417
- placeholder: _ctx.$t("sys.chooseText"),
418
- options: ruleFieldOptions.value
419
- }, null, 8, ["value", "onUpdate:value", "placeholder", "options"])
420
- ]),
421
- _: 2
422
- }, 1032, ["name", "rules"]),
423
- _cache[2] || (_cache[2] = createElementVNode("div", { class: "scan-modal__divider" }, [
424
- createElementVNode("i", { class: "gct-iconfont icon-lianjie text-[#8B8B8B] text-12px" })
425
- ], -1)),
426
- createVNode(_component_a_form_item, {
427
- class: "scan-modal__formFields",
428
- name: ["fillMapArr", i2, "formFields"],
429
- rules: [{ required: true, message: _ctx.$t("sys.chooseText") }]
430
- }, {
431
- default: withCtx(() => [
432
- createVNode(_component_a_select, {
433
- value: item.formFields,
434
- "onUpdate:value": ($event) => item.formFields = $event,
435
- mode: "multiple",
436
- "allow-clear": "",
437
- "show-search": "",
438
- placeholder: _ctx.$t("sys.chooseText"),
439
- options: __props.formFieldOptions,
440
- "filter-option": filterFormFieldOption
441
- }, null, 8, ["value", "onUpdate:value", "placeholder", "options"])
442
- ]),
443
- _: 2
444
- }, 1032, ["name", "rules"]),
445
- createElementVNode("div", _hoisted_11, [
446
- createElementVNode("i", {
447
- onClick: ($event) => removeField(i2),
448
- class: "scan-modal__remove-btn iconfont icon-shanchu1 text-[#8B8B8B]",
449
- title: _ctx.$t("sys.delete")
450
- }, null, 8, _hoisted_12)
451
- ])
452
- ]);
453
- }), 128))
454
- ]),
455
- createVNode(_component_a_button, {
456
- class: "scan-modal__add-btn",
457
- type: "link",
458
- onClick: addFieldMap
459
- }, {
460
- default: withCtx(() => [
461
- _cache[3] || (_cache[3] = createElementVNode("i", { class: "iconfont icon-tianjia" }, null, -1)),
462
- createTextVNode(" " + toDisplayString(_ctx.$t("sys.onlineForm.addFieldMapping")), 1)
463
- ]),
464
- _: 1
465
- })
466
- ]),
467
- _: 1
468
- }, 8, ["model"])
469
- ])
470
- ], 512), [
471
- [vShow, configExpanded.value]
472
- ])
473
- ])
474
- ]),
475
- _: 1
476
- }, 8, ["opts"]);
477
- };
478
- }
479
- });
480
- const scanModal = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-168f8868"]]);
481
- const _hoisted_1 = {
482
- class: /* @__PURE__ */ normalizeClass(["multi-rows-modal__content"])
483
- };
484
- const _sfc_main = /* @__PURE__ */ defineComponent({
485
- __name: "multi-rows-modal",
486
- props: {
487
- modal: {},
488
- rows: {}
489
- },
490
- setup(__props) {
491
- const modalOptions = reactive({
492
- width: 800,
493
- draggable: true,
494
- showFooter: true,
495
- canFullscreen: false,
496
- title: $t("sys.kit.selectMaterial"),
497
- wrapClassName: "gct-draggable-modal"
498
- });
499
- const props = __props;
500
- const selectedRow = ref();
501
- const tableData = computed(
502
- () => (props.rows ?? []).map((row, index) => ({
503
- ...row,
504
- _rowKey: `${row.materialId ?? ""}_${row.productionIdentificationId ?? ""}_${index}`
505
- }))
506
- );
507
- const gridOptions = reactive({
508
- round: true,
509
- maxHeight: 420,
510
- rowConfig: {
511
- isHover: true,
512
- keyField: "_rowKey"
513
- },
514
- radioConfig: {
515
- trigger: "row",
516
- highlight: true
517
- },
518
- columns: [
519
- { type: "radio", width: 48 },
520
- {
521
- field: "productId",
522
- title: $t("sys.model.product"),
523
- showOverflow: "tooltip",
524
- minWidth: 140
525
- },
526
- {
527
- field: "materialNo",
528
- title: $t("sys.edhr.materialNo"),
529
- showOverflow: "tooltip",
530
- minWidth: 160
531
- }
532
- ]
533
- });
534
- const gridEvents = {
535
- radioChange({ row }) {
536
- selectedRow.value = row;
537
- }
538
- };
539
- const doOk = async () => {
540
- if (!selectedRow.value) {
541
- message.error($t("请选择一条数据"));
542
- return false;
543
- }
544
- const {
545
- _rowKey: _,
546
- productionIdentificationIsLocked,
547
- productionIdentificationId,
548
- ...rest
549
- } = selectedRow.value;
550
- if (productionIdentificationIsLocked) {
551
- const msg = await getLotLockedReason(productionIdentificationId);
552
- message.error(msg);
553
- throw new Error("物料批次已被锁定");
554
- }
555
- return {
556
- ok: true,
557
- data: rest
558
- };
559
- };
560
- return (_ctx, _cache) => {
561
- return openBlock(), createBlock(unref(ModalWrapper), {
562
- opts: modalOptions,
563
- class: normalizeClass(["multi-rows-modal"]),
564
- "do-ok": doOk
565
- }, {
566
- default: withCtx(() => [
567
- createElementVNode("div", _hoisted_1, [
568
- createVNode(unref(VxeGrid), mergeProps({
569
- class: "multi-rows-modal__grid default vxetable",
570
- data: tableData.value,
571
- "max-height": "420px"
572
- }, gridOptions, toHandlers(gridEvents)), null, 16, ["data"])
573
- ])
574
- ]),
575
- _: 1
576
- }, 8, ["opts"]);
577
- };
578
- }
579
- });
580
- const multiRowsModal = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-f7a49d08"]]);
581
- export {
582
- A as AddRuleBtn,
583
- B as BomViewerModal,
584
- scanModal as CommonScanModal,
585
- FileModeEnum,
586
- multiRowsModal as MultiRowsModal,
587
- P as ParseRuleModal,
588
- PrintModeEnum,
589
- S as StocktakeWebRender,
590
- formPrint,
591
- j as initRenderToAdapter,
592
- h as initWebNocodeAdapter,
593
- i as initWebPaasUploadApis,
594
- u as useWebUpload
595
- };