@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.
- package/README.md +3 -4
- package/dist/{BaseComponent-BujOt502.js → BaseComponent-BShN-6c8.js} +4 -3
- package/dist/{VueVideoPlayer-B8GR2HPo.js → VueVideoPlayer-DH8pXh28.js} +2 -2
- package/dist/{align-editor--BUxJjPg.js → align-editor-DJ859WQZ.js} +1 -1
- package/dist/{barcode-design-DGX6Ol4t.js → barcode-design-Gq8_VO9l.js} +3 -2
- package/dist/base/index.es.js +517 -222
- package/dist/{diagonal-design-oiPfvxr7.js → diagonal-design-C2Ybg80S.js} +3 -2
- package/dist/{dynamic-table-action-Bhkrp7KE.js → dynamic-table-action-B3QEu1gT.js} +452 -322
- 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
- package/dist/{edit.utils-CXmmCnxE-BXlWf2Zf.js → edit.utils-CXmmCnxE-wWPJuGRP.js} +1 -1
- package/dist/excel.css +614 -723
- package/dist/{exceljs.min-Ta0dJQqu.js → exceljs.min-D9sk8ogV.js} +2 -2
- package/dist/{font-editor-Dmj2hu7T.js → font-editor-CRxKpZ5w.js} +3 -3
- package/dist/{image-design-C3yJcthI.js → image-design-D6Mh4gmF.js} +3 -8
- package/dist/{index-C4SreE7Q.js → index-B10CES7y.js} +3 -2
- package/dist/{index-wKwGHLnP.js → index-BHaAq-DQ.js} +2 -1
- package/dist/{index-DMAuxwlt.js → index-BIks4AlA.js} +2 -1
- package/dist/{index-CMN1t7G7.js → index-BItsxlLG.js} +4 -3
- package/dist/{index-1kD3Vcrg.js → index-BLwPDGyh.js} +3 -2
- package/dist/{index-KQqw3i9h.js → index-BMBgoKQJ.js} +3 -2
- package/dist/{index-DF8n1Gru.js → index-Ba7SenEy.js} +4 -3
- package/dist/{index-DRKCOV3w.js → index-BaQxoGFV.js} +2 -1
- package/dist/{index-BDr7t7vL.js → index-BbNwGIpN.js} +2 -1
- package/dist/{index-DdOpcuy6.js → index-BdkVqSGZ.js} +8995 -3731
- package/dist/{index-GIYmXP7h.js → index-BfGKeHIi.js} +3 -2
- package/dist/{index-B0Qf1-mt.js → index-BkCygM2H.js} +4 -3
- package/dist/{index-CEYSrHod.js → index-Bkx2ZZxc.js} +3 -2
- package/dist/{index-OwTnsnnd.js → index-BzHOWFfJ.js} +3 -2
- package/dist/{index-CaLRSpkL.js → index-BzTGz-yp.js} +3 -2
- package/dist/{index-L7CRRS4N.js → index-C9oFT3gk.js} +3 -2
- package/dist/{index-C6WDE2xc.js → index-CCXIoitH.js} +2 -1
- package/dist/{index-IOqBW_eS.js → index-CfMaU3Cq.js} +7 -3
- package/dist/{index-D9lmC_sX.js → index-CkYFepvp.js} +4 -3
- package/dist/{index-B2VHOqo4.js → index-CqZOsGgU.js} +3 -2
- package/dist/{index-BOMuRlHQ.js → index-D8Pv4_xg.js} +3 -2
- package/dist/{index-BtAlyN0W.js → index-D925vhPg.js} +3 -2
- package/dist/{index-BEEhGWk7.js → index-DECfc3al.js} +3 -2
- package/dist/{index-CUTV5Yr2.js → index-DS1bbdtf.js} +5 -4
- package/dist/{index-DBSvao2o.js → index-DVloZxGE.js} +2 -1
- package/dist/{index-BlCF32GJ.js → index-DpPtXY8I.js} +4 -3
- package/dist/{index-UnwowxL3.js → index-DpQIy9xD.js} +2 -1
- package/dist/{index-DLTES9Zq.js → index-IY_wwSl8.js} +3 -2
- package/dist/{index-BwuwoFQQ.js → index-MWQxnJy_.js} +3 -2
- package/dist/{index-B4ZpSIPH.js → index-caGeDRoA.js} +4 -3
- package/dist/{index-Bd15pfRH.js → index-eHOXhn3S.js} +2 -1
- package/dist/{index-DQC7zJRO.js → index-emsDlrTV.js} +2 -1
- package/dist/{index-B4hIBKZ6.js → index-vrDKB2Af.js} +3 -2
- package/dist/{index-CZo7qVZK.js → index-xTI_Fqhb.js} +2 -1
- package/dist/index.es.js +52 -46
- 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
- package/dist/{pagination-design-CNML3qGx.js → pagination-design-BO_7vrQd.js} +3 -2
- package/dist/paper-widget-design-18uum1H9.js +4 -0
- package/dist/{print-runtime-instance-DKR1MX8-.js → print-runtime-instance-B1Q_Xc8x.js} +1 -1
- package/dist/{print-snapshot-renderer-BIWDQkSC.js → print-snapshot-renderer-wEKNMo0m.js} +3 -3
- package/dist/{qrcode-design-CUQ4gaJ0.js → qrcode-design-CeNvj_74.js} +1 -1
- package/dist/{revo-grid.entry-Be5Mx_h7.js → revo-grid.entry-iJpKwgs4.js} +1 -1
- package/dist/{revogr-attribution_7.entry-DmJFrubR.js → revogr-attribution_7.entry-C-cdTXU8.js} +3 -3
- package/dist/{revogr-clipboard_3.entry-COcvqK0w.js → revogr-clipboard_3.entry-BHJgHR9f.js} +2 -2
- package/dist/{revogr-data_4.entry-Dc4luGHv.js → revogr-data_4.entry-R_-ZZIdp.js} +2 -2
- package/dist/{revogr-filter-panel.entry-B1l-ouo-.js → revogr-filter-panel.entry-RU6Tewnq.js} +1 -1
- package/dist/seal-design-BnQkmNDo.js +4 -0
- package/dist/{serialnumber-design-hcI8TwmS.js → serialnumber-design-b0I5H8lq.js} +1 -1
- package/dist/shared/index.es.js +29 -28
- package/dist/{single-field-drop-CnuMgeEW.js → single-field-drop-Bj73o6Jt.js} +2 -3
- package/dist/{size-editor-D4ZNlV-c.js → size-editor-Bps566OT.js} +1 -1
- package/dist/src/adapter/adapter.d.ts +1 -1
- package/dist/src/adapter/index.d.ts +2 -0
- package/dist/src/{nocode-web-render/src/render/sub-table/common → adapter/web}/inventory-scan-columns.d.ts +1 -1
- 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
- package/dist/src/{nocode-web-render/src/render/sub-table/material-balance → adapter/web}/material-consume-modal.vue.d.ts +1 -1
- package/dist/src/adapter/web/material-consume-render.d.ts +25 -0
- package/dist/src/{nocode-web-render/src/render/common → adapter/web}/open-util.d.ts +1 -1
- package/dist/src/{nocode-web-render/src/render/sub-table/stocktake/stocktake-web-render.d.ts → adapter/web/stocktake-render.d.ts} +2 -2
- package/dist/src/{nocode-web-render/src/render/sub-table/common → adapter/web}/sub-table-render.d.ts +2 -5
- package/dist/src/domain/document-business/business/product-release/profile.d.ts +2 -0
- package/dist/src/domain/document-business/business/product-release/service.d.ts +2 -0
- package/dist/src/domain/document-business/index.d.ts +2 -0
- package/dist/src/domain/document-business/registry.d.ts +2 -0
- package/dist/src/domain/document-business/runtime/field-query-runtime.d.ts +4 -0
- package/dist/src/domain/document-business/types.d.ts +24 -0
- package/dist/src/domain/field/number/product-release-qty-manifest.d.ts +2 -0
- package/dist/src/domain/field/query-filter.d.ts +15 -0
- package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +37 -1
- package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +7 -0
- package/dist/src/domain/table/business/material/material-substitution/runtime/select-loaders.d.ts +12 -0
- package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/field-keys.d.ts +2 -0
- package/dist/src/domain/table/business/warehouse/shared/autofill-source-labels.d.ts +19 -0
- package/dist/src/domain/table/design/autofill-expander.d.ts +2 -0
- package/dist/src/domain/table/design/hooks/on-field-attach.d.ts +6 -0
- package/dist/src/domain/table/index.d.ts +1 -1
- package/dist/src/domain/table/types.d.ts +2 -0
- package/dist/src/index.d.ts +8 -0
- package/dist/src/nocode-base/src/components/document-sub-table-action/dynamic-table-action.vue.d.ts +0 -2
- package/dist/src/nocode-base/src/components/document-sub-table-action/sub-table-action.vue.d.ts +0 -3
- package/dist/src/nocode-base/src/components/document-sub-table-action/type.d.ts +0 -4
- package/dist/src/nocode-base/src/components/material-consume/types.d.ts +1 -5
- package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +4 -4
- package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +1 -4
- package/dist/src/nocode-base/src/core/sub-table/utils/sterilize/field-keys.d.ts +1 -2
- package/dist/src/nocode-base/src/hooks/formula-params-cache.d.ts +15 -0
- package/dist/src/nocode-base/src/hooks/inspection-module-qty.d.ts +4 -0
- package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +0 -6
- package/dist/src/nocode-base/src/hooks/material-consume/mc-render.d.ts +1 -28
- package/dist/src/nocode-base/src/hooks/render-page/initial-value-data-sources.d.ts +3 -0
- package/dist/src/nocode-base/src/hooks/render-page/initialize-runtime.d.ts +9 -8
- package/dist/src/nocode-base/src/hooks/render-page/runtime-data-sources.d.ts +51 -0
- package/dist/src/nocode-base/src/hooks/render-page/sterilization-date.d.ts +3 -0
- package/dist/src/nocode-base/src/hooks/render-page/types.d.ts +7 -1
- package/dist/src/nocode-base/src/hooks/useCalcFunction.d.ts +8 -2
- package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +55 -6
- package/dist/src/nocode-base/src/hooks/useRuntimeInstanceServices.d.ts +24 -0
- package/dist/src/nocode-base/src/interface/ref-loader.d.ts +12 -1
- package/dist/src/nocode-base/src/interface/render.d.ts +2 -1
- package/dist/src/nocode-base/src/interface/transform.d.ts +3 -0
- package/dist/src/nocode-base/src/runtime/conversions/v1-runtime.d.ts +1 -1
- package/dist/src/nocode-base/src/runtime/designer-default-values.d.ts +23 -0
- package/dist/src/nocode-base/src/runtime/runtime-default-value-validation.d.ts +23 -0
- package/dist/src/nocode-base/src/runtime/runtime-field-initializer.d.ts +1 -0
- package/dist/src/nocode-base/src/runtime/runtime-field-state.d.ts +5 -2
- package/dist/src/nocode-base/src/runtime/runtime-instance-registry.d.ts +8 -5
- package/dist/src/nocode-base/src/types/common/base.d.ts +8 -2
- package/dist/src/nocode-base/src/types/render/mc-render.d.ts +2 -15
- package/dist/src/nocode-base/src/types/render/sub-table-render.d.ts +0 -10
- package/dist/src/online-form/src/components/device/device-select.vue.d.ts +1 -1
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/base-vxe-table.vue.d.ts +1 -1
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/default-value-rdo-editor.vue.d.ts +4 -4
- package/dist/src/online-form/src/views/__cell_widgets__/common/default-value-rdo-editor/rdo-table-dropdown.vue.d.ts +3 -3
- package/dist/src/online-form/src/views/designer/constants/index.d.ts +1 -0
- package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +144 -0
- package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +87 -4
- package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/message-rule-config/rule-modal.vue.d.ts +32 -0
- 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
- package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +6 -0
- package/dist/src/online-form/src/views/designer/modules/panel/sub-table/panel-check-table/select-check-ds-modal.vue.d.ts +3 -3
- package/dist/src/online-form/src/views/designer/types/index.d.ts +12 -1
- package/dist/src/online-form/src/views/designer/utils/placed-fields.d.ts +9 -0
- package/dist/src/online-form/src/views/designer/utils/template-placed-fields.d.ts +7 -0
- package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-auto-complete.vue.d.ts +2 -2
- package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-date-picker.vue.d.ts +2 -2
- package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-media.vue.d.ts +1 -1
- package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-text-input.vue.d.ts +2 -2
- package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-textarea.vue.d.ts +2 -2
- package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-floating-field.vue.d.ts +0 -1
- package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/seal-runtime-layer.vue.d.ts +0 -1
- package/dist/src/online-form/src/views/render/__components__/_field_/seal/component/use-seal-stamp.d.ts +1 -4
- package/dist/src/online-form/src/views/render/__components__/_field_/seal/index.d.ts +1 -0
- package/dist/src/online-form/src/views/render/__components__/_field_/trace/common/base-vxe-table.vue.d.ts +1 -1
- package/dist/src/shared/components/ColorPicker/src/ColorPicker.vue.d.ts +1 -1
- package/dist/src/shared/components/DoubleInput/double-input.vue.d.ts +162 -2
- package/dist/src/shared/components/LimitedNumberInput/limited-number-input.vue.d.ts +41 -0
- package/dist/src/shared/components/LimitedNumberInput/number-input-rules.d.ts +16 -0
- package/dist/src/shared/components/Signature/logic/index.d.ts +14 -0
- package/dist/src/shared/enum/field-type.d.ts +8 -3
- package/dist/src/{nocode-web-render/src → shared}/hooks/useWebUpload.d.ts +1 -1
- package/dist/src/shared/index.d.ts +1 -0
- package/dist/src/shared/types/index.d.ts +1 -0
- package/dist/src/shared/types/upload.d.ts +11 -0
- package/dist/src/shared/utils/withRequestCache.d.ts +27 -0
- package/dist/{sub-table-factory-Df_Z-LYK.js → sub-table-factory-CykoFqnP.js} +276 -89
- package/dist/{text-design-gySXbKUQ.js → text-design-kWxwqj3H.js} +3 -2
- package/dist/{throttle-Cpk1LoGk-DEDsjc1B.js → throttle-Cpk1LoGk-B3zgXjle.js} +1 -1
- package/dist/{timediff-design-BHLUYM_L.js → timediff-design-sh7-fMvN.js} +2 -1
- package/dist/{trace-like-wrapper-CD0q7Bpg.js → trace-like-wrapper-ByePbRT3.js} +3 -2
- 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
- package/dist/{widget-barcode-Dho-QBc4.js → widget-barcode-BP0WV4jM.js} +5 -4
- package/dist/{widget-diagonal-LOzS5LGZ.js → widget-diagonal-Cwfunmde.js} +4 -4
- package/dist/{widget-image-CE9y7lzB.js → widget-image-3xm-HfRy.js} +5 -7
- package/dist/{widget-line-DK-tRBi0.js → widget-line-B2Q3DwW6.js} +3 -2
- package/dist/{widget-pagination-JLrTk_QY.js → widget-pagination-CV9ShZXH.js} +6 -5
- package/dist/{widget-power-B136JrJ6.js → widget-power-Bc0Fv3R6.js} +4 -4
- package/dist/{widget-qrcode-CQ79eZwR.js → widget-qrcode-D_LkgIb2.js} +4 -3
- package/dist/{widget-rangelimit-DORQgXtz.js → widget-rangelimit-Db1rsnwU.js} +3 -4
- package/dist/{widget-serialnumber-BvhwTK5N.js → widget-serialnumber-BqZ3zJst.js} +1 -1
- package/dist/{widget-text-D6au0tli.js → widget-text-IJbtzWxl.js} +5 -5
- package/dist/{widget-timediff-C3SAIS2-.js → widget-timediff-Bp8U1rzO.js} +3 -2
- package/package.json +2 -6
- package/dist/AntdIcon-DCIaV352.js +0 -1108
- package/dist/index-B6csmYLK.js +0 -4353
- package/dist/mb-render-CQlqaMrC.js +0 -276
- package/dist/paper-widget-design-B8WyX87-.js +0 -4
- package/dist/seal-design-Q8W8Umib.js +0 -4
- package/dist/src/nocode-web-render/src/components/print-fill-background-selector.vue.d.ts +0 -2
- package/dist/src/nocode-web-render/src/hooks/index.d.ts +0 -2
- package/dist/src/nocode-web-render/src/hooks/userFormPrint.d.ts +0 -15
- package/dist/src/nocode-web-render/src/index.d.ts +0 -6
- package/dist/src/nocode-web-render/src/logic/index.d.ts +0 -1
- package/dist/src/nocode-web-render/src/render/common/index.d.ts +0 -2
- package/dist/src/nocode-web-render/src/render/common/modal-manager.d.ts +0 -20
- package/dist/src/nocode-web-render/src/render/index.d.ts +0 -10
- package/dist/src/nocode-web-render/src/render/parse-rule/index.d.ts +0 -3
- package/dist/src/nocode-web-render/src/render/parse-rule/parse-rule-modal.vue.d.ts +0 -15
- package/dist/src/nocode-web-render/src/render/sub-table/allocate/allocate-web-render.d.ts +0 -4
- package/dist/src/nocode-web-render/src/render/sub-table/allocate/index.d.ts +0 -1
- package/dist/src/nocode-web-render/src/render/sub-table/common/multi-rows-modal.vue.d.ts +0 -15
- package/dist/src/nocode-web-render/src/render/sub-table/common/scan-modal.vue.d.ts +0 -19
- package/dist/src/nocode-web-render/src/render/sub-table/index.d.ts +0 -3
- package/dist/src/nocode-web-render/src/render/sub-table/material-balance/index.d.ts +0 -1
- package/dist/src/nocode-web-render/src/render/sub-table/material-consume/bom-modal.vue.d.ts +0 -11
- package/dist/src/nocode-web-render/src/render/sub-table/material-consume/index.d.ts +0 -4
- package/dist/src/nocode-web-render/src/render/sub-table/material-consume/mc-web-render.d.ts +0 -42
- package/dist/src/nocode-web-render/src/render/sub-table/stocktake/index.d.ts +0 -2
- package/dist/src/nocode-web-render/src/types/hooks/index.d.ts +0 -1
- package/dist/src/nocode-web-render/src/types/index.d.ts +0 -1
- package/dist/web-render/index.d.ts +0 -1
- package/dist/web-render/index.es.js +0 -595
- /package/dist/src/{nocode-web-render/src/adapter/index.d.ts → adapter/web/setup.d.ts} +0 -0
- /package/dist/src/{nocode-web-render/src/logic/utils.d.ts → adapter/web/upload.d.ts} +0 -0
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import { reactive, toRaw, computed, watch, onScopeDispose, inject, h, shallowReactive, markRaw, ref, toRef,
|
|
2
|
-
import {
|
|
1
|
+
import { reactive, toRaw, computed, watch, onScopeDispose, inject, h, shallowReactive, markRaw, ref, toRef, provide, nextTick, defineComponent, openBlock, createElementBlock, mergeProps, unref, createElementVNode, normalizeClass, renderSlot, createCommentVNode, createVNode, toDisplayString, Fragment, renderList, onUnmounted, isVNode, onMounted, onBeforeMount, resolveComponent, createBlock, withCtx, createTextVNode } from "vue";
|
|
2
|
+
import { cx as splitRuntimeDataPath, am as CellWidgetViewState, F as FIELD_TYPE, bo as RenderModeEnum, a1 as FormTypeEnum, bJ as BpmnNodeTypeEnum, by as getRuntimeDataFieldId, cA as getFieldPlaceholder, b_ as MobileFillTypeEnum, C as ComponentTypeEnum, a4 as PlatformEnum, cB as isReferenceOptionActive, p as api, bx as uuid2, c8 as calcUtils, M as getBusinessFieldKey, bn as findRuntimeTableRow, cc as ensureTableRowKeys, c5 as bindRuntimeTableColumns, bm as getRowId, cC as FRONT_ROW_KEY, cr as isTableRowKeyMatch, aB as RangeCompareOp, aA as RangeValidateMode, cD as getCurrentFormData, bB as isAttachFieldActive, bl as parseRuntimeFieldPath, c9 as decodeTableCellRowKey, cb as ensureFrontRowKey, bb as getParseRuleInfo, aN as transformUtils, b5 as materialCheck, b6 as getLotLockedReason, b7 as validateReinspectionDate, br as FormulaRuleFieldKeyEnum, bA as buildRuntimeFieldPath, Q as CreateType, h as SubTableType, bc as getParseRuleValue, bp as findRuntimeParentRow, aQ as Dependency_ENUM, aP as ASSIGNMENTSTRATEGY_ENUM, bO as commonUtils, aU as DeviceLink, ad as useNamespace, ae as _export_sfc, I as Icon, cl as getRenderedRuntimeTableCell, H as CellType, cE as resetTableRowIdentity, U as useModal, cF as q, cG as QUICK_FILL_ALLOWED_FIELDS, cH as groupFixedTableRows, cI as processQuickFillRows, cJ as getIsGroupEmpty } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-BY59Q_d_.js";
|
|
3
3
|
import dayjs from "dayjs";
|
|
4
4
|
import { cloneDeep, isEmpty, isNil, pickBy, mergeWith, omit, last, pick, merge } from "lodash-es";
|
|
5
|
-
import
|
|
5
|
+
import "@gct-paas/form-base";
|
|
6
6
|
import { Modal, message } from "ant-design-vue";
|
|
7
|
-
import { u as useFormModel } from "./mb-render-CQlqaMrC.js";
|
|
8
7
|
var MaterialConsumptionPatternEnum = /* @__PURE__ */ ((MaterialConsumptionPatternEnum2) => {
|
|
9
8
|
MaterialConsumptionPatternEnum2["RECORD"] = "record";
|
|
10
9
|
MaterialConsumptionPatternEnum2["BOM"] = "bom";
|
|
@@ -279,7 +278,7 @@ class RuntimeDependencyService {
|
|
|
279
278
|
await Promise.allSettled(jobs);
|
|
280
279
|
}
|
|
281
280
|
}
|
|
282
|
-
function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow) {
|
|
281
|
+
function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow, formChangeStatus = false) {
|
|
283
282
|
const result = { ...props };
|
|
284
283
|
const { context } = record;
|
|
285
284
|
const tableField = props.subFieldKey;
|
|
@@ -288,7 +287,11 @@ function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow) {
|
|
|
288
287
|
const core = Object.values(context.services.subTableCoreFactory?.coreMap ?? {}).find(
|
|
289
288
|
(item) => item.subFieldKey === tableField
|
|
290
289
|
);
|
|
291
|
-
const status = core?.calcFieldStatus({
|
|
290
|
+
const status = core?.calcFieldStatus({
|
|
291
|
+
rowData: businessRow,
|
|
292
|
+
field: props.field,
|
|
293
|
+
formChangeStatus
|
|
294
|
+
});
|
|
292
295
|
if (status?.disabled != null) result.fieldDisabled = status.disabled;
|
|
293
296
|
if (status?.readonly != null) {
|
|
294
297
|
result.field_readonly = status.readonly;
|
|
@@ -298,7 +301,7 @@ function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow) {
|
|
|
298
301
|
const config = context.businessIndex.fixedTables.find(
|
|
299
302
|
(table) => table.field === tableField
|
|
300
303
|
)?.bizTableConfig;
|
|
301
|
-
if (config?.dataLockControlField) {
|
|
304
|
+
if (!formChangeStatus && config?.dataLockControlField) {
|
|
302
305
|
if (props.field === config.dataLockControlField) {
|
|
303
306
|
if (isPersistedSignatureLockActive(config, businessRow)) {
|
|
304
307
|
result.field_readonly = true;
|
|
@@ -306,7 +309,7 @@ function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow) {
|
|
|
306
309
|
}
|
|
307
310
|
} else if (isSignatureLockActive(config, businessRow)) result.fieldDisabled = true;
|
|
308
311
|
}
|
|
309
|
-
} else if (!tableField && !props.subModelKey) {
|
|
312
|
+
} else if (!formChangeStatus && !tableField && !props.subModelKey) {
|
|
310
313
|
result.fieldDisabled ||= context.businessIndex.fixedTables.some(
|
|
311
314
|
(table) => table.bizTableConfig?.mainFieldBindings?.includes(props.field) && (record.formState.state[table.field] ?? []).some(
|
|
312
315
|
(item) => isSignatureLockActive(table.bizTableConfig, item)
|
|
@@ -369,51 +372,6 @@ function resolveRuntimeFieldState(props, info) {
|
|
|
369
372
|
keepExceptionHighlight: typeof props.keepExceptionHighlight === "boolean" ? props.keepExceptionHighlight : void 0
|
|
370
373
|
};
|
|
371
374
|
}
|
|
372
|
-
function getRuntimeDataFieldId(props = {}) {
|
|
373
|
-
return props.field ? props.isFieldModel ? props.fieldLink ?? "" : props.field : "";
|
|
374
|
-
}
|
|
375
|
-
function getBusinessFieldKey(field) {
|
|
376
|
-
return [field.subModelKey ?? field.modelKey ?? "", field.fieldId ?? ""].join(":");
|
|
377
|
-
}
|
|
378
|
-
const FIELD_POSITION_PREFIX = "runtime_field_";
|
|
379
|
-
function buildRuntimeFieldPath(position) {
|
|
380
|
-
if (!position.fieldId) throw new Error("运行时字段位置缺少 fieldId");
|
|
381
|
-
if (position.subFieldKey && !position.rowKey) throw new Error("子表字段位置缺少 front_row_key_");
|
|
382
|
-
const serialized = JSON.stringify([
|
|
383
|
-
position.modelKey ?? "",
|
|
384
|
-
position.subModelKey ?? "",
|
|
385
|
-
position.subFieldKey ?? "",
|
|
386
|
-
position.rowKey ?? "",
|
|
387
|
-
position.fieldId
|
|
388
|
-
]);
|
|
389
|
-
return FIELD_POSITION_PREFIX + btoa(
|
|
390
|
-
Array.from(new TextEncoder().encode(serialized), (byte) => String.fromCharCode(byte)).join(
|
|
391
|
-
""
|
|
392
|
-
)
|
|
393
|
-
).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
394
|
-
}
|
|
395
|
-
function parseRuntimeFieldPath(path) {
|
|
396
|
-
if (!path.startsWith(FIELD_POSITION_PREFIX)) return void 0;
|
|
397
|
-
try {
|
|
398
|
-
const encoded = path.slice(FIELD_POSITION_PREFIX.length).replace(/-/g, "+").replace(/_/g, "/");
|
|
399
|
-
const parts = JSON.parse(
|
|
400
|
-
new TextDecoder().decode(Uint8Array.from(atob(encoded), (char) => char.charCodeAt(0)))
|
|
401
|
-
);
|
|
402
|
-
if (!Array.isArray(parts) || parts.length !== 5 || parts.some((part) => typeof part !== "string"))
|
|
403
|
-
return void 0;
|
|
404
|
-
const [modelKey, subModelKey, subFieldKey, rowKey, fieldId] = parts;
|
|
405
|
-
if (!fieldId || subFieldKey && !rowKey) return void 0;
|
|
406
|
-
return {
|
|
407
|
-
modelKey: modelKey || void 0,
|
|
408
|
-
subModelKey: subModelKey || void 0,
|
|
409
|
-
subFieldKey: subFieldKey || void 0,
|
|
410
|
-
rowKey: rowKey || void 0,
|
|
411
|
-
fieldId
|
|
412
|
-
};
|
|
413
|
-
} catch {
|
|
414
|
-
return void 0;
|
|
415
|
-
}
|
|
416
|
-
}
|
|
417
375
|
function isCellAutoLineBreak(style) {
|
|
418
376
|
const whiteSpace = style?.whiteSpace ?? style?.["white-space"];
|
|
419
377
|
const wordBreak = style?.wordBreak ?? style?.["word-break"];
|
|
@@ -447,6 +405,8 @@ function useRuntimeInstanceServices(uniqueIdSource) {
|
|
|
447
405
|
instance,
|
|
448
406
|
/** 控制器负责 Sheet 切换、编辑器收口和提交;尚未挂载时为空。 */
|
|
449
407
|
controller: computed(() => instance.value?.controller),
|
|
408
|
+
/** 全部 Sheet 共享的数源管理器,随实例注册与销毁。 */
|
|
409
|
+
dataSourceManager: computed(() => instance.value?.dataSourceManager),
|
|
450
410
|
/** 表单级配置独立于 Sheet 的 paper;实例未注册时提供空配置。 */
|
|
451
411
|
formConfig: computed(() => instance.value?.context.formConfig ?? {}),
|
|
452
412
|
/** 实例切换时重新取对应 Store;读取数据使用 .value.state,写入使用 Store 方法。 */
|
|
@@ -532,7 +492,14 @@ function useWidgetStaticAttrs(widget) {
|
|
|
532
492
|
const targetFieldId = getRuntimeDataFieldId(widget.props);
|
|
533
493
|
const fieldState = computed(
|
|
534
494
|
() => resolveRuntimeFieldState(
|
|
535
|
-
resolveRuntimeFieldProps(
|
|
495
|
+
resolveRuntimeFieldProps(
|
|
496
|
+
instance.value,
|
|
497
|
+
widget.props,
|
|
498
|
+
widget.id,
|
|
499
|
+
void 0,
|
|
500
|
+
void 0,
|
|
501
|
+
dataRelationShip?.formChangeStatus
|
|
502
|
+
),
|
|
536
503
|
dataRelationShip
|
|
537
504
|
)
|
|
538
505
|
);
|
|
@@ -780,49 +747,6 @@ function getSubTableQuickFillInfo(subTableFieldId, mobileTdIdGroups) {
|
|
|
780
747
|
if (!subTableFieldId) return;
|
|
781
748
|
return assignWidgetInfo(MobileFillTypeEnum.SUB_TABLE, { rowSubFieldKey: subTableFieldId });
|
|
782
749
|
}
|
|
783
|
-
function getCurrentFormData(_rule, options) {
|
|
784
|
-
if (!_rule._subtableFieldId) return options?.formData;
|
|
785
|
-
return findRuntimeTableRow(options?.formData?.[_rule._subtableFieldId], _rule._rowKey);
|
|
786
|
-
}
|
|
787
|
-
function isSameOptionValue(current, expected) {
|
|
788
|
-
if (typeof expected === "boolean") {
|
|
789
|
-
return renderUtils.getBoolValue(current) === expected;
|
|
790
|
-
}
|
|
791
|
-
if (current === void 0 || current === null || current === "") {
|
|
792
|
-
return false;
|
|
793
|
-
}
|
|
794
|
-
return String(current) === String(expected);
|
|
795
|
-
}
|
|
796
|
-
function isAttachFieldActive(attach, formData) {
|
|
797
|
-
if (attach?.parent && !isAttachFieldActive(attach.parent, formData)) return false;
|
|
798
|
-
if (!attach?.belongFieldId || isNil(attach.optionValue)) {
|
|
799
|
-
return true;
|
|
800
|
-
}
|
|
801
|
-
const row = attach.subtableFieldId ? findRuntimeTableRow(formData?.[attach.subtableFieldId], attach.rowKey) : formData;
|
|
802
|
-
if (attach.subtableFieldId && (!attach.rowKey || !row || row === formData)) {
|
|
803
|
-
return false;
|
|
804
|
-
}
|
|
805
|
-
const raw = row?.[attach.belongFieldId];
|
|
806
|
-
if (attach.multiple) {
|
|
807
|
-
const current = renderUtils.getValue(raw, true);
|
|
808
|
-
if (!Array.isArray(current)) return false;
|
|
809
|
-
return current.some((v) => isSameOptionValue(v, attach.optionValue));
|
|
810
|
-
}
|
|
811
|
-
return isSameOptionValue(raw, attach.optionValue);
|
|
812
|
-
}
|
|
813
|
-
function isReferenceOptionActive(referenceInfo, rowFormData) {
|
|
814
|
-
if (!referenceInfo?.belongFieldId || isNil(referenceInfo.optionValue)) {
|
|
815
|
-
return true;
|
|
816
|
-
}
|
|
817
|
-
return isAttachFieldActive(
|
|
818
|
-
{
|
|
819
|
-
belongFieldId: referenceInfo.belongFieldId,
|
|
820
|
-
optionValue: referenceInfo.optionValue,
|
|
821
|
-
multiple: referenceInfo.multiple
|
|
822
|
-
},
|
|
823
|
-
rowFormData
|
|
824
|
-
);
|
|
825
|
-
}
|
|
826
750
|
function fieldChromeStyles(state) {
|
|
827
751
|
const required4 = state === "required";
|
|
828
752
|
const disabled = state === "disabled";
|
|
@@ -1026,6 +950,8 @@ const LEGACY_RUNTIME_FORM_CONFIG_KEYS = [
|
|
|
1026
950
|
"unitConversionRules",
|
|
1027
951
|
"inspectionDecisionRule",
|
|
1028
952
|
"customDataSource",
|
|
953
|
+
"dataSources",
|
|
954
|
+
"fieldFills",
|
|
1029
955
|
"objectInitialValues",
|
|
1030
956
|
"javascript",
|
|
1031
957
|
"checkSignatureConfig",
|
|
@@ -4323,10 +4249,7 @@ class RuntimeInstanceEventBus {
|
|
|
4323
4249
|
class RuntimeInstanceRegistry {
|
|
4324
4250
|
/** 当前渲染入口的加载状态,由工厂更新;PreviewContainer 直接读取,无需宿主额外传参。 */
|
|
4325
4251
|
loadState = shallowReactive({ loading: false, error: void 0 });
|
|
4326
|
-
/**
|
|
4327
|
-
* 顶层对象使用浅响应式:实例新增、删除需要驱动 Vue 更新;record 内的服务类
|
|
4328
|
-
* 不需要被 Vue 深度代理,各自内部负责自己的响应式状态和生命周期
|
|
4329
|
-
*/
|
|
4252
|
+
/** 顶层容器和记录都只做浅响应式;服务类仍保持原始引用。 */
|
|
4330
4253
|
records = shallowReactive({});
|
|
4331
4254
|
/**
|
|
4332
4255
|
* 统一托管订阅、watch 和编译结果的取消函数
|
|
@@ -4368,8 +4291,9 @@ class RuntimeInstanceRegistry {
|
|
|
4368
4291
|
events,
|
|
4369
4292
|
validation
|
|
4370
4293
|
};
|
|
4371
|
-
|
|
4372
|
-
|
|
4294
|
+
const reactiveRecord = shallowReactive(record);
|
|
4295
|
+
this.records[context.uniqueId] = reactiveRecord;
|
|
4296
|
+
return reactiveRecord;
|
|
4373
4297
|
}
|
|
4374
4298
|
/**
|
|
4375
4299
|
* 在页面回调准备完成后挂载实例控制器
|
|
@@ -4547,6 +4471,7 @@ class RuntimeInstanceRegistry {
|
|
|
4547
4471
|
this.disposables.get(uniqueId)?.forEach((dispose) => dispose());
|
|
4548
4472
|
this.disposables.delete(uniqueId);
|
|
4549
4473
|
record.fieldInitializer?.dispose();
|
|
4474
|
+
record.defaultValueValidation?.dispose();
|
|
4550
4475
|
record.ruleCompiler?.dispose();
|
|
4551
4476
|
record.validation.dispose();
|
|
4552
4477
|
record.scriptRunner?.dispose();
|
|
@@ -6010,8 +5935,6 @@ class MaterialConsumeTableController {
|
|
|
6010
5935
|
initialDataPrepared = false;
|
|
6011
5936
|
/** 最近一次同步需求数量时使用的数量依赖。 */
|
|
6012
5937
|
syncedMaterialNoNum;
|
|
6013
|
-
/** 多 Sheet / 同屏多实例下,弹层和异步交互使用该键隔离。 */
|
|
6014
|
-
runtimeOwnerId = "";
|
|
6015
5938
|
/** 表单是否已暂存或提交(已处理过则不再跑初始化) */
|
|
6016
5939
|
get isDataProcessed() {
|
|
6017
5940
|
return ["STASH", "SUBMIT"].includes(this.dataStatus ?? "");
|
|
@@ -6119,21 +6042,6 @@ class MaterialConsumeTableController {
|
|
|
6119
6042
|
this.scanRuleProps = toParseRuleConfig(id);
|
|
6120
6043
|
this.scanRuleInfo = await getParseRuleInfo({ id: this.scanRuleProps.parsingRuleId });
|
|
6121
6044
|
}
|
|
6122
|
-
/**
|
|
6123
|
-
* 变更条码规则
|
|
6124
|
-
*/
|
|
6125
|
-
async changeScanRule() {
|
|
6126
|
-
const { id_, base_id_ } = this.scanRuleInfo ?? {};
|
|
6127
|
-
const newConfig = await MaterialConsumeTableController.render.openChangeRuleModal({
|
|
6128
|
-
config: this.scanRuleProps,
|
|
6129
|
-
subModelKey: this.widget.props.modelKey,
|
|
6130
|
-
formModelController: this.formModelController
|
|
6131
|
-
});
|
|
6132
|
-
if (newConfig) {
|
|
6133
|
-
this.scanRuleProps = newConfig;
|
|
6134
|
-
this.scanRuleInfo = await getParseRuleInfo({ id: this.scanRuleProps.parsingRuleId });
|
|
6135
|
-
}
|
|
6136
|
-
}
|
|
6137
6045
|
/**
|
|
6138
6046
|
* 是否人为指定物料
|
|
6139
6047
|
* @readonly
|
|
@@ -6838,6 +6746,31 @@ class MaterialConsumeTableController {
|
|
|
6838
6746
|
await this.applyUnitConversionRules(row);
|
|
6839
6747
|
}
|
|
6840
6748
|
}
|
|
6749
|
+
class MCRender {
|
|
6750
|
+
/**
|
|
6751
|
+
* 提示信息
|
|
6752
|
+
* @param opts
|
|
6753
|
+
*/
|
|
6754
|
+
message(opts) {
|
|
6755
|
+
throw new Error("Function message not implemented.");
|
|
6756
|
+
}
|
|
6757
|
+
async openScanModal(opts) {
|
|
6758
|
+
throw new Error("Function openScanModal not implemented.");
|
|
6759
|
+
}
|
|
6760
|
+
/**
|
|
6761
|
+
* 扫码返回多条候选时,弹窗选择其中一条
|
|
6762
|
+
* 取消返回 undefined
|
|
6763
|
+
*/
|
|
6764
|
+
async openMultiRowsModal(opts) {
|
|
6765
|
+
throw new Error("Function openMultiRowsModal not implemented.");
|
|
6766
|
+
}
|
|
6767
|
+
/**
|
|
6768
|
+
* 关闭当前页面的 form-base 弹层
|
|
6769
|
+
*/
|
|
6770
|
+
destroyAllModals(_ownerId) {
|
|
6771
|
+
throw new Error("Function destroyAllModals not implemented.");
|
|
6772
|
+
}
|
|
6773
|
+
}
|
|
6841
6774
|
var SubTableActionEnum = /* @__PURE__ */ ((SubTableActionEnum2) => {
|
|
6842
6775
|
SubTableActionEnum2["QuickFillRowCurrent"] = "quickFillRowCurrent";
|
|
6843
6776
|
SubTableActionEnum2["InsertRowBefore"] = "insertRowBefore";
|
|
@@ -6849,8 +6782,6 @@ var SubTableActionEnum = /* @__PURE__ */ ((SubTableActionEnum2) => {
|
|
|
6849
6782
|
SubTableActionEnum2["ClearRowCurrent"] = "clearRowCurrent";
|
|
6850
6783
|
SubTableActionEnum2["CONFIRM"] = "CONFIRM";
|
|
6851
6784
|
SubTableActionEnum2["SCAN"] = "SCAN";
|
|
6852
|
-
SubTableActionEnum2["VIEW_BOM"] = "VIEW_BOM";
|
|
6853
|
-
SubTableActionEnum2["CHANGE_PARSE_RULE"] = "CHANGE_PARSE_RULE";
|
|
6854
6785
|
SubTableActionEnum2["RowEdit"] = "rowEdit";
|
|
6855
6786
|
SubTableActionEnum2["Insert1GroupAfter"] = "insert1GroupAfter";
|
|
6856
6787
|
return SubTableActionEnum2;
|
|
@@ -6870,18 +6801,6 @@ function getMenuByAction(type4) {
|
|
|
6870
6801
|
label: "条码扫描",
|
|
6871
6802
|
icon: "size24 icon-saoma1"
|
|
6872
6803
|
},
|
|
6873
|
-
[SubTableActionEnum.VIEW_BOM]: {
|
|
6874
|
-
type: SubTableActionMenuTypeEnum.ACTION,
|
|
6875
|
-
key: SubTableActionEnum.VIEW_BOM,
|
|
6876
|
-
label: "BOM查看",
|
|
6877
|
-
icon: "size24 icon-a-bom11"
|
|
6878
|
-
},
|
|
6879
|
-
[SubTableActionEnum.CHANGE_PARSE_RULE]: {
|
|
6880
|
-
type: SubTableActionMenuTypeEnum.ACTION,
|
|
6881
|
-
key: SubTableActionEnum.CHANGE_PARSE_RULE,
|
|
6882
|
-
label: "条码解析规则变更",
|
|
6883
|
-
icon: "icon-tiaomajiexi"
|
|
6884
|
-
},
|
|
6885
6804
|
[SubTableActionEnum.QuickFillRowCurrent]: {
|
|
6886
6805
|
type: SubTableActionMenuTypeEnum.ACTION,
|
|
6887
6806
|
key: SubTableActionEnum.QuickFillRowCurrent,
|
|
@@ -7065,6 +6984,204 @@ class TdHandler {
|
|
|
7065
6984
|
this.mergeTd({ cellWidget: { props: { newSpecificConfig: { customLoader } } } });
|
|
7066
6985
|
}
|
|
7067
6986
|
}
|
|
6987
|
+
class BaseFormModelFetcher {
|
|
6988
|
+
/** 默认接口 */
|
|
6989
|
+
apis = {
|
|
6990
|
+
getFieldMetaList: api.apaas.fieldMeta.getList,
|
|
6991
|
+
getModelMetaSubModelList: api.apaas.modelComprehensive.getSubModelList,
|
|
6992
|
+
getModelDetail2FieldList: api.apaas.modelMeta.getDetail
|
|
6993
|
+
};
|
|
6994
|
+
/**
|
|
6995
|
+
* 模型映射缓存
|
|
6996
|
+
*/
|
|
6997
|
+
modelMetaMap = {};
|
|
6998
|
+
async load(opts) {
|
|
6999
|
+
const { model } = opts;
|
|
7000
|
+
this.modelMetaMap = {};
|
|
7001
|
+
await this.loadModelFields(model);
|
|
7002
|
+
await this.loadSubModelsFields(model);
|
|
7003
|
+
return Object.values(this.modelMetaMap);
|
|
7004
|
+
}
|
|
7005
|
+
/**
|
|
7006
|
+
* 补全字段信息
|
|
7007
|
+
* @param modelKey 字段所属的模型
|
|
7008
|
+
* @param [fields=[]]
|
|
7009
|
+
* @return {*}
|
|
7010
|
+
*/
|
|
7011
|
+
completeFields(modelKey, fields = []) {
|
|
7012
|
+
return fields.map((field) => {
|
|
7013
|
+
if (!field.modelKey) {
|
|
7014
|
+
field.modelKey = modelKey;
|
|
7015
|
+
}
|
|
7016
|
+
return field;
|
|
7017
|
+
});
|
|
7018
|
+
}
|
|
7019
|
+
/**
|
|
7020
|
+
* 根据模型key加载模型字段
|
|
7021
|
+
*
|
|
7022
|
+
* @param [modelKey=this.model]
|
|
7023
|
+
* @return {*}
|
|
7024
|
+
*/
|
|
7025
|
+
async loadModelFields(modelKey) {
|
|
7026
|
+
if (typeof this.apis.getFieldMetaList !== "function") {
|
|
7027
|
+
return;
|
|
7028
|
+
}
|
|
7029
|
+
const res = await this.apis.getFieldMetaList({
|
|
7030
|
+
modelKey
|
|
7031
|
+
});
|
|
7032
|
+
this.modelMetaMap[modelKey] = {
|
|
7033
|
+
key: modelKey,
|
|
7034
|
+
name: "",
|
|
7035
|
+
fields: this.completeFields(modelKey, res)
|
|
7036
|
+
};
|
|
7037
|
+
return res;
|
|
7038
|
+
}
|
|
7039
|
+
/**
|
|
7040
|
+
* 加载表单所有子表字段对应模型的字段信息集合
|
|
7041
|
+
*/
|
|
7042
|
+
async loadSubModelsFields(modelKey) {
|
|
7043
|
+
const res = await this.apis.getModelMetaSubModelList({
|
|
7044
|
+
modelKey
|
|
7045
|
+
});
|
|
7046
|
+
(res ?? []).forEach((m) => {
|
|
7047
|
+
if (!this.modelMetaMap[m.key]) {
|
|
7048
|
+
this.modelMetaMap[m.key] = {
|
|
7049
|
+
key: m.key,
|
|
7050
|
+
name: m.name,
|
|
7051
|
+
subModel: m.subModel,
|
|
7052
|
+
fields: this.completeFields(m.key, m.fieldMetaList)
|
|
7053
|
+
};
|
|
7054
|
+
}
|
|
7055
|
+
});
|
|
7056
|
+
}
|
|
7057
|
+
}
|
|
7058
|
+
class FormModelController {
|
|
7059
|
+
/** 主模型的key */
|
|
7060
|
+
masterModelKey;
|
|
7061
|
+
/** 主模型的名称 */
|
|
7062
|
+
masterModelName;
|
|
7063
|
+
/** 模型请求器 */
|
|
7064
|
+
fetcher = new BaseFormModelFetcher();
|
|
7065
|
+
/** 模型映射缓存 */
|
|
7066
|
+
modelMetaMap = reactive({});
|
|
7067
|
+
/** 主模型信息 */
|
|
7068
|
+
get masterModel() {
|
|
7069
|
+
return this.modelMetaMap[this.masterModelKey];
|
|
7070
|
+
}
|
|
7071
|
+
/** 获取主模型字段集合 */
|
|
7072
|
+
get masterFields() {
|
|
7073
|
+
return this.masterModel?.fields;
|
|
7074
|
+
}
|
|
7075
|
+
/** 获取子模型 */
|
|
7076
|
+
getSubModel(subModelKey) {
|
|
7077
|
+
return this.modelMetaMap[subModelKey];
|
|
7078
|
+
}
|
|
7079
|
+
/** 获取子模型字段集合 */
|
|
7080
|
+
getSubModelFields(subModelKey) {
|
|
7081
|
+
return this.getSubModel(subModelKey)?.fields;
|
|
7082
|
+
}
|
|
7083
|
+
/**
|
|
7084
|
+
* 表单字段下拉选项(排除系统字段和子表字段)
|
|
7085
|
+
* value 格式为 modelKey.fieldKey,与字段映射存储格式一致
|
|
7086
|
+
*/
|
|
7087
|
+
getFormFieldOptions(subModelKey) {
|
|
7088
|
+
const fields = subModelKey ? this.getSubModelFields(subModelKey) : this.masterModel?.fields;
|
|
7089
|
+
return (fields ?? []).filter(
|
|
7090
|
+
(field) => !this.isSystemField(field) && !this.isSubField(field) && !this.isObjectField(field)
|
|
7091
|
+
).map((field) => ({
|
|
7092
|
+
...field,
|
|
7093
|
+
label: `${field.name}`,
|
|
7094
|
+
value: `${field.modelKey}.${field.key}`
|
|
7095
|
+
}));
|
|
7096
|
+
}
|
|
7097
|
+
/**
|
|
7098
|
+
* 初始化
|
|
7099
|
+
*
|
|
7100
|
+
* @param opts
|
|
7101
|
+
* - model 主模型key
|
|
7102
|
+
* - name 主模型名称
|
|
7103
|
+
*/
|
|
7104
|
+
async init(opts) {
|
|
7105
|
+
this.masterModelKey = opts.model;
|
|
7106
|
+
this.masterModelName = opts.name;
|
|
7107
|
+
await this.load();
|
|
7108
|
+
}
|
|
7109
|
+
/** 刷新数据 */
|
|
7110
|
+
async refresh() {
|
|
7111
|
+
await this.load();
|
|
7112
|
+
}
|
|
7113
|
+
/**
|
|
7114
|
+
* 加载数据并填充到modelMetaMap中
|
|
7115
|
+
* @protected
|
|
7116
|
+
* @return {*}
|
|
7117
|
+
*/
|
|
7118
|
+
async load() {
|
|
7119
|
+
if (!this.masterModelKey) {
|
|
7120
|
+
console.error("缺少主模型的key");
|
|
7121
|
+
return;
|
|
7122
|
+
}
|
|
7123
|
+
const models = await this.fetcher.load({ model: this.masterModelKey });
|
|
7124
|
+
this.modelMetaMap = models.reduce((acc, cur) => {
|
|
7125
|
+
acc[cur.key] = cur;
|
|
7126
|
+
if (cur.key === this.masterModelKey) {
|
|
7127
|
+
cur.name = this.masterModelName;
|
|
7128
|
+
}
|
|
7129
|
+
return acc;
|
|
7130
|
+
}, {});
|
|
7131
|
+
}
|
|
7132
|
+
/** 是否是子模型字段 */
|
|
7133
|
+
isSubField(field) {
|
|
7134
|
+
return field.type === FIELD_TYPE.MASTERSLAVE && field.bindInfo;
|
|
7135
|
+
}
|
|
7136
|
+
/** 是否是预置字段,包括系统字段和业务内置字段 */
|
|
7137
|
+
isPresetField(field) {
|
|
7138
|
+
return [CreateType.BUILTIN, CreateType.SYSTEM].includes(field.createType);
|
|
7139
|
+
}
|
|
7140
|
+
/** 是否是系统字段 */
|
|
7141
|
+
isSystemField(field) {
|
|
7142
|
+
return field.createType === CreateType.SYSTEM;
|
|
7143
|
+
}
|
|
7144
|
+
/** 是否是对象字段类型 */
|
|
7145
|
+
isObjectField(field) {
|
|
7146
|
+
return field.type === FIELD_TYPE.OBJECT_TYPE;
|
|
7147
|
+
}
|
|
7148
|
+
/**
|
|
7149
|
+
* 获取主模型里子表字段对应的子模型key
|
|
7150
|
+
*
|
|
7151
|
+
* @param fieldKey 子表字段在主表里的字段key
|
|
7152
|
+
* @return {*}
|
|
7153
|
+
*/
|
|
7154
|
+
getSubFieldModelKey(fieldKey) {
|
|
7155
|
+
return this.masterFields.find((field) => field.key === fieldKey)?.bindInfo;
|
|
7156
|
+
}
|
|
7157
|
+
/**
|
|
7158
|
+
* 获取字段信息
|
|
7159
|
+
* @param [modelKey=this.masterModelKey] 模型key
|
|
7160
|
+
* @param fieldKey 字段key
|
|
7161
|
+
* @return {*}
|
|
7162
|
+
*/
|
|
7163
|
+
findField(modelKey = this.masterModelKey, fieldKey) {
|
|
7164
|
+
const model = this.modelMetaMap[modelKey];
|
|
7165
|
+
if (!model) {
|
|
7166
|
+
return;
|
|
7167
|
+
}
|
|
7168
|
+
return model.fields.find((field) => field.key === fieldKey);
|
|
7169
|
+
}
|
|
7170
|
+
}
|
|
7171
|
+
const FormModelControllerKey = "GctFormModelController";
|
|
7172
|
+
function useFormModel() {
|
|
7173
|
+
function provideController(c = new FormModelController()) {
|
|
7174
|
+
provide(FormModelControllerKey, c);
|
|
7175
|
+
return c;
|
|
7176
|
+
}
|
|
7177
|
+
function injectController() {
|
|
7178
|
+
return inject(FormModelControllerKey);
|
|
7179
|
+
}
|
|
7180
|
+
return {
|
|
7181
|
+
provideController,
|
|
7182
|
+
injectController
|
|
7183
|
+
};
|
|
7184
|
+
}
|
|
7068
7185
|
const SCAN_ROW_META_KEYS = /* @__PURE__ */ new Set([FRONT_ROW_KEY, "id_", "id", "group_", "deleted_", "delete_"]);
|
|
7069
7186
|
function hasRowId(row) {
|
|
7070
7187
|
const id = row.id_ ?? row.id;
|
|
@@ -7298,8 +7415,6 @@ class SubTableCore {
|
|
|
7298
7415
|
const { actionKey } = params;
|
|
7299
7416
|
if (actionKey === SubTableActionEnum.SCAN) {
|
|
7300
7417
|
this.openScanModal();
|
|
7301
|
-
} else if (actionKey === SubTableActionEnum.CHANGE_PARSE_RULE) {
|
|
7302
|
-
this.changeScanRule();
|
|
7303
7418
|
}
|
|
7304
7419
|
}
|
|
7305
7420
|
/**
|
|
@@ -7346,9 +7461,9 @@ class SubTableCore {
|
|
|
7346
7461
|
const result = {};
|
|
7347
7462
|
const config = this.bizTableConfig;
|
|
7348
7463
|
if (config?.dataLockControlField && params.field === config.dataLockControlField) {
|
|
7349
|
-
result.readonly = isPersistedSignatureLockActive(config, params.rowData);
|
|
7464
|
+
result.readonly = !params.formChangeStatus && isPersistedSignatureLockActive(config, params.rowData);
|
|
7350
7465
|
} else if (config?.dataLockControlField) {
|
|
7351
|
-
result.disabled = isSignatureLockActive(config, params.rowData);
|
|
7466
|
+
result.disabled = !params.formChangeStatus && isSignatureLockActive(config, params.rowData);
|
|
7352
7467
|
}
|
|
7353
7468
|
return result;
|
|
7354
7469
|
}
|
|
@@ -7401,20 +7516,6 @@ class SubTableCore {
|
|
|
7401
7516
|
scanRuleInfo;
|
|
7402
7517
|
/** 解析规则配置对象 */
|
|
7403
7518
|
scanRuleProps;
|
|
7404
|
-
/**
|
|
7405
|
-
* 变更条码规则
|
|
7406
|
-
*/
|
|
7407
|
-
async changeScanRule() {
|
|
7408
|
-
const newConfig = await this.render.openChangeRuleModal({
|
|
7409
|
-
config: this.scanRuleProps,
|
|
7410
|
-
subModelKey: this.subModelKey,
|
|
7411
|
-
formModelController: this.formModelController
|
|
7412
|
-
});
|
|
7413
|
-
if (newConfig) {
|
|
7414
|
-
this.scanRuleProps = newConfig;
|
|
7415
|
-
this.scanRuleInfo = await getParseRuleInfo({ id: newConfig.parsingRuleId });
|
|
7416
|
-
}
|
|
7417
|
-
}
|
|
7418
7519
|
/**
|
|
7419
7520
|
* 打开扫描弹窗
|
|
7420
7521
|
* @param opts
|
|
@@ -7493,37 +7594,71 @@ class SubTableCore {
|
|
|
7493
7594
|
console.log(this.ctx.widget.props.tableTitle, "处理表单按钮点击事件", params);
|
|
7494
7595
|
}
|
|
7495
7596
|
}
|
|
7496
|
-
|
|
7497
|
-
|
|
7498
|
-
|
|
7499
|
-
|
|
7500
|
-
|
|
7501
|
-
|
|
7597
|
+
const STORAGE_KEY = "gct:formula:params:v1";
|
|
7598
|
+
const PARAMS_CHANGED_EVENT = "gct:formula-params-updated:v1";
|
|
7599
|
+
function emptyConfig() {
|
|
7600
|
+
return {
|
|
7601
|
+
routingParamList: [],
|
|
7602
|
+
inspectionParamList: [],
|
|
7603
|
+
deviceParamList: []
|
|
7604
|
+
};
|
|
7502
7605
|
}
|
|
7503
|
-
|
|
7504
|
-
if (!
|
|
7505
|
-
|
|
7606
|
+
function normalizeList(value) {
|
|
7607
|
+
if (!Array.isArray(value)) return [];
|
|
7608
|
+
return value.filter(
|
|
7609
|
+
(item) => item !== null && typeof item === "object" && typeof item.customFieldKey === "string"
|
|
7610
|
+
);
|
|
7611
|
+
}
|
|
7612
|
+
function normalizeConfig(value) {
|
|
7613
|
+
const data = value !== null && typeof value === "object" ? value : {};
|
|
7614
|
+
return {
|
|
7615
|
+
routingParamList: normalizeList(data.routingParamList),
|
|
7616
|
+
inspectionParamList: normalizeList(data.inspectionParamList),
|
|
7617
|
+
deviceParamList: normalizeList(data.deviceParamList)
|
|
7618
|
+
};
|
|
7619
|
+
}
|
|
7620
|
+
let lastRaw;
|
|
7621
|
+
let cachedConfig = emptyConfig();
|
|
7622
|
+
function readFormulaParamsConfig() {
|
|
7623
|
+
const raw = window.localStorage.getItem(STORAGE_KEY);
|
|
7624
|
+
if (raw !== lastRaw) {
|
|
7625
|
+
try {
|
|
7626
|
+
cachedConfig = normalizeConfig(raw ? JSON.parse(raw) : null);
|
|
7627
|
+
} catch {
|
|
7628
|
+
cachedConfig = emptyConfig();
|
|
7629
|
+
}
|
|
7630
|
+
lastRaw = raw;
|
|
7631
|
+
}
|
|
7632
|
+
return cachedConfig;
|
|
7633
|
+
}
|
|
7634
|
+
const currentParamsConfig = {
|
|
7635
|
+
get routingParamList() {
|
|
7636
|
+
return readFormulaParamsConfig().routingParamList;
|
|
7637
|
+
},
|
|
7638
|
+
get inspectionParamList() {
|
|
7639
|
+
return readFormulaParamsConfig().inspectionParamList;
|
|
7506
7640
|
}
|
|
7507
|
-
const config = paramList?.find((e) => e.customFieldKey === key);
|
|
7508
|
-
if (!config) return null;
|
|
7509
|
-
const { upperLimit, lowerLimit } = config;
|
|
7510
|
-
if (lowerLimit == null || upperLimit == null) return null;
|
|
7511
|
-
const actual = Number(value);
|
|
7512
|
-
const min = Number(config.lowerLimit);
|
|
7513
|
-
const max = Number(config.upperLimit);
|
|
7514
|
-
if (![actual, min, max].every(Number.isFinite)) return null;
|
|
7515
|
-
return actual >= min && actual <= max;
|
|
7516
|
-
}
|
|
7517
|
-
const FORMULA_FUNCS = {
|
|
7518
|
-
RoutingParamCheck: (key, value) => CALC_IS_QUALIFIED(key, value, currentParamsConfig.routingParamList || []),
|
|
7519
|
-
InspectionParamCheck: (key, value) => CALC_IS_QUALIFIED(key, value, currentParamsConfig.inspectionParamList || [])
|
|
7520
7641
|
};
|
|
7521
|
-
function
|
|
7522
|
-
const
|
|
7523
|
-
if (
|
|
7524
|
-
|
|
7525
|
-
|
|
7642
|
+
function setFormulaParamsConfig(paramsConfig = {}) {
|
|
7643
|
+
const raw = JSON.stringify(normalizeConfig(paramsConfig));
|
|
7644
|
+
if (window.localStorage.getItem(STORAGE_KEY) === raw) return;
|
|
7645
|
+
window.localStorage.setItem(STORAGE_KEY, raw);
|
|
7646
|
+
window.dispatchEvent(new Event(PARAMS_CHANGED_EVENT));
|
|
7647
|
+
}
|
|
7648
|
+
const boundCalculators = /* @__PURE__ */ new WeakSet();
|
|
7649
|
+
function bindFormulaCacheInvalidation(value) {
|
|
7650
|
+
if (typeof value !== "function") return;
|
|
7651
|
+
const calculator = value;
|
|
7652
|
+
if (typeof calculator.clear !== "function" || boundCalculators.has(calculator)) return;
|
|
7653
|
+
boundCalculators.add(calculator);
|
|
7654
|
+
const clearCache = () => calculator.clear();
|
|
7655
|
+
window.addEventListener(PARAMS_CHANGED_EVENT, clearCache);
|
|
7656
|
+
window.addEventListener("storage", (event) => {
|
|
7657
|
+
if (event.storageArea === window.localStorage && (event.key === STORAGE_KEY || event.key === null)) {
|
|
7658
|
+
clearCache();
|
|
7659
|
+
}
|
|
7526
7660
|
});
|
|
7661
|
+
clearCache();
|
|
7527
7662
|
}
|
|
7528
7663
|
function getGroupProductIds(entry) {
|
|
7529
7664
|
const ids = [entry.product_id_];
|
|
@@ -7966,6 +8101,15 @@ function useNocodeFormWidget(props, emit) {
|
|
|
7966
8101
|
...colIndex !== void 0 ? { colIndex } : {}
|
|
7967
8102
|
});
|
|
7968
8103
|
}
|
|
8104
|
+
if (eventType === "onChange" && dataRelationShip?.renderModeType === RenderModeEnum.FormMode) {
|
|
8105
|
+
const keys = widget.props?.valueChangeDataSourceKeys;
|
|
8106
|
+
if (keys?.length) {
|
|
8107
|
+
const current = value.value;
|
|
8108
|
+
await instance.value?.dataSourceManager?.queryOnValueChange(keys, {
|
|
8109
|
+
cleared: current == null || current === "" || Array.isArray(current) && !current.length
|
|
8110
|
+
});
|
|
8111
|
+
}
|
|
8112
|
+
}
|
|
7969
8113
|
if (eventType === "onBlur" && dataRelationShip?.renderModeType === RenderModeEnum.FormMode && !instance.value?.controller?.preparing) {
|
|
7970
8114
|
instance.value?.validation.requestLive("blur", true);
|
|
7971
8115
|
}
|
|
@@ -8048,6 +8192,7 @@ function useDependency(widget, props) {
|
|
|
8048
8192
|
const { isFieldModel, subFieldKey } = widget.props;
|
|
8049
8193
|
const fieldWidget = ref(cloneDeep(props.widget));
|
|
8050
8194
|
const { instance, formStateStore } = useRuntimeInstanceServices();
|
|
8195
|
+
const basicInfo = inject(NCB_PROVIDE.DATA_RELATION_SHIP);
|
|
8051
8196
|
const targetFieldId = getRuntimeDataFieldId(widget.props);
|
|
8052
8197
|
const configDependency = widget.props.componentDependency?.configDependency || {};
|
|
8053
8198
|
const controlledFormData = computed(() => {
|
|
@@ -8066,7 +8211,8 @@ function useDependency(widget, props) {
|
|
|
8066
8211
|
props.widget.props,
|
|
8067
8212
|
props.widget.id,
|
|
8068
8213
|
row,
|
|
8069
|
-
parent
|
|
8214
|
+
parent,
|
|
8215
|
+
basicInfo?.formChangeStatus
|
|
8070
8216
|
);
|
|
8071
8217
|
},
|
|
8072
8218
|
(displayProps) => {
|
|
@@ -8653,6 +8799,15 @@ async function applyConsumeObjectTraceChange(opts) {
|
|
|
8653
8799
|
}
|
|
8654
8800
|
return {};
|
|
8655
8801
|
}
|
|
8802
|
+
class MBRender {
|
|
8803
|
+
// 多 Sheet / 同屏场景用 ownerId 隔离实例;基类仅声明宿主需要实现的能力。
|
|
8804
|
+
async openConsumeModal(_ownerId, _data) {
|
|
8805
|
+
throw new Error("Function openConsumeModal not implemented.");
|
|
8806
|
+
}
|
|
8807
|
+
destoryConsumeModal(_ownerId) {
|
|
8808
|
+
throw new Error("Function destoryConsumeModal not implemented.");
|
|
8809
|
+
}
|
|
8810
|
+
}
|
|
8656
8811
|
const _hoisted_1$5 = ["data-merge", "data-fill-direction"];
|
|
8657
8812
|
const _hoisted_2$1 = {
|
|
8658
8813
|
key: 0,
|
|
@@ -9069,6 +9224,7 @@ const DocumentSubTable = /* @__PURE__ */ defineComponent({
|
|
|
9069
9224
|
const newRowsData = actionType === "copyRow" ? [cloneDeep(rowData)] : Array.from({
|
|
9070
9225
|
length: rowNum
|
|
9071
9226
|
}, (_, index2) => transformUtils.addSubTableRowItem({
|
|
9227
|
+
defaultValueOrigins: instance.value?.defaultValueValidation?.defaults,
|
|
9072
9228
|
defaultData: currentFieldDefaultData.value,
|
|
9073
9229
|
quickFillData: quickFillDatas?.[index2],
|
|
9074
9230
|
subFieldId: field,
|
|
@@ -9474,8 +9630,6 @@ function waitDomStable(el, idle = 100, timeout = 2e3) {
|
|
|
9474
9630
|
var MaterialConsumeActionType = /* @__PURE__ */ ((MaterialConsumeActionType2) => {
|
|
9475
9631
|
MaterialConsumeActionType2["CONFIRM"] = "CONFIRM";
|
|
9476
9632
|
MaterialConsumeActionType2["SCAN"] = "SCAN";
|
|
9477
|
-
MaterialConsumeActionType2["VIEW_BOM"] = "VIEW_BOM";
|
|
9478
|
-
MaterialConsumeActionType2["CHANGE_PARSE_RULE"] = "CHANGE_PARSE_RULE";
|
|
9479
9633
|
return MaterialConsumeActionType2;
|
|
9480
9634
|
})(MaterialConsumeActionType || {});
|
|
9481
9635
|
const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
|
|
@@ -9626,6 +9780,7 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
|
|
|
9626
9780
|
length: rowNum
|
|
9627
9781
|
}, (_, i) => {
|
|
9628
9782
|
const row = transformUtils.addSubTableRowItem({
|
|
9783
|
+
defaultValueOrigins: instance.value?.defaultValueValidation?.defaults,
|
|
9629
9784
|
defaultData: currentFieldDefaultData.value,
|
|
9630
9785
|
quickFillData: quickFillDatas?.[i],
|
|
9631
9786
|
subFieldId: field,
|
|
@@ -9726,12 +9881,6 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
|
|
|
9726
9881
|
title: props.widget.props.tableTitle
|
|
9727
9882
|
});
|
|
9728
9883
|
break;
|
|
9729
|
-
case MaterialConsumeActionType.VIEW_BOM:
|
|
9730
|
-
tableController.openBomModal();
|
|
9731
|
-
break;
|
|
9732
|
-
case MaterialConsumeActionType.CHANGE_PARSE_RULE:
|
|
9733
|
-
tableController.changeScanRule();
|
|
9734
|
-
break;
|
|
9735
9884
|
}
|
|
9736
9885
|
};
|
|
9737
9886
|
const getNewTdInfo = (tdInfo, rowData, rowIndex) => {
|
|
@@ -9909,10 +10058,6 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
|
|
|
9909
10058
|
label: "业务操作"
|
|
9910
10059
|
},
|
|
9911
10060
|
showScanBtn ? getMenuByAction(SubTableActionEnum.SCAN) : void 0,
|
|
9912
|
-
// tableController.actualBomEntries?.length
|
|
9913
|
-
// ? getMenuByAction(SubTableActionEnum.VIEW_BOM)
|
|
9914
|
-
// : undefined,
|
|
9915
|
-
// getMenuByAction(SubTableActionEnum.CHANGE_PARSE_RULE),
|
|
9916
10061
|
{
|
|
9917
10062
|
type: SubTableActionMenuTypeEnum.DIVIDER
|
|
9918
10063
|
},
|
|
@@ -10198,7 +10343,6 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
10198
10343
|
showInsertMultiple: { type: Boolean, default: false },
|
|
10199
10344
|
showEditBtn: { type: Boolean, default: false },
|
|
10200
10345
|
isMaterialConsume: { type: Boolean, default: false },
|
|
10201
|
-
showBom: { type: Boolean, default: false },
|
|
10202
10346
|
showScanBtn: { type: Boolean, default: false },
|
|
10203
10347
|
showConfirmBtn: { type: Boolean, default: false },
|
|
10204
10348
|
noPopover: { type: Boolean, default: false },
|
|
@@ -10222,19 +10366,6 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
10222
10366
|
label: "条码扫描",
|
|
10223
10367
|
icon: "size24 icon-saoma1"
|
|
10224
10368
|
},
|
|
10225
|
-
{
|
|
10226
|
-
show: props.showBom,
|
|
10227
|
-
type: "action",
|
|
10228
|
-
key: SubTableActionEnum.VIEW_BOM,
|
|
10229
|
-
label: "BOM查看",
|
|
10230
|
-
icon: "size24 icon-a-bom11"
|
|
10231
|
-
},
|
|
10232
|
-
{
|
|
10233
|
-
type: "action",
|
|
10234
|
-
key: SubTableActionEnum.CHANGE_PARSE_RULE,
|
|
10235
|
-
label: "条码解析规则变更",
|
|
10236
|
-
icon: "icon-tiaomajiexi"
|
|
10237
|
-
},
|
|
10238
10369
|
{
|
|
10239
10370
|
type: "divider"
|
|
10240
10371
|
},
|
|
@@ -10461,7 +10592,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
10461
10592
|
};
|
|
10462
10593
|
}
|
|
10463
10594
|
});
|
|
10464
|
-
const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
10595
|
+
const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-7047f1a3"]]);
|
|
10465
10596
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
10466
10597
|
__name: "fixed-table-action",
|
|
10467
10598
|
props: {
|
|
@@ -10991,7 +11122,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
10991
11122
|
showInsertMultiple: { type: Boolean, default: true },
|
|
10992
11123
|
showEditBtn: { type: Boolean },
|
|
10993
11124
|
isMaterialConsume: { type: Boolean },
|
|
10994
|
-
showBom: { type: Boolean },
|
|
10995
11125
|
showScanBtn: { type: Boolean },
|
|
10996
11126
|
showConfirmBtn: { type: Boolean },
|
|
10997
11127
|
noPopover: { type: Boolean },
|
|
@@ -11048,7 +11178,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
11048
11178
|
showDelBtn: __props.showDelBtn,
|
|
11049
11179
|
showQuickFillBtn: __props.showQuickFillBtn,
|
|
11050
11180
|
noPopover: __props.noPopover,
|
|
11051
|
-
showBom: __props.showBom,
|
|
11052
11181
|
showConfirmBtn: __props.showConfirmBtn,
|
|
11053
11182
|
showEditBtn: __props.showEditBtn,
|
|
11054
11183
|
showInsertMultiple: __props.showInsertMultiple,
|
|
@@ -11056,79 +11185,79 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
11056
11185
|
isMaterialConsume: __props.isMaterialConsume,
|
|
11057
11186
|
menus: __props.menus,
|
|
11058
11187
|
onMenuClick
|
|
11059
|
-
}, null, 8, ["showDelBtn", "showQuickFillBtn", "noPopover", "
|
|
11188
|
+
}, null, 8, ["showDelBtn", "showQuickFillBtn", "noPopover", "showConfirmBtn", "showEditBtn", "showInsertMultiple", "showScanBtn", "isMaterialConsume", "menus"]);
|
|
11060
11189
|
};
|
|
11061
11190
|
}
|
|
11062
11191
|
});
|
|
11063
|
-
const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
11192
|
+
const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8710052f"]]);
|
|
11064
11193
|
export {
|
|
11065
|
-
|
|
11066
|
-
|
|
11194
|
+
ScanParamType as $,
|
|
11195
|
+
MaterialConsumptionPatternEnum as A,
|
|
11067
11196
|
BorderTD as B,
|
|
11068
|
-
|
|
11197
|
+
validateObjectBomForScan as C,
|
|
11069
11198
|
DEFAULT_BOOLEAN_FIELD_WIDTH as D,
|
|
11070
|
-
|
|
11071
|
-
|
|
11072
|
-
|
|
11073
|
-
|
|
11074
|
-
|
|
11075
|
-
|
|
11076
|
-
|
|
11077
|
-
|
|
11199
|
+
resolveObjectBomEntry as E,
|
|
11200
|
+
FormModelController as F,
|
|
11201
|
+
runWithFillProduct as G,
|
|
11202
|
+
useNocodeFormWidget as H,
|
|
11203
|
+
applyConsumeObjectTraceChange as I,
|
|
11204
|
+
getObjectBomProductQuery as J,
|
|
11205
|
+
EMPTY_PRODUCT_VERSION_ID as K,
|
|
11206
|
+
normalizeHistoricalAutofillRow as L,
|
|
11078
11207
|
MAX_RUNTIME_SHEETS as M,
|
|
11079
|
-
|
|
11080
|
-
|
|
11081
|
-
|
|
11082
|
-
|
|
11083
|
-
|
|
11084
|
-
|
|
11085
|
-
|
|
11086
|
-
|
|
11087
|
-
|
|
11088
|
-
|
|
11089
|
-
|
|
11090
|
-
|
|
11091
|
-
|
|
11092
|
-
|
|
11208
|
+
readSealValue as N,
|
|
11209
|
+
isSealStamped as O,
|
|
11210
|
+
stampSealValue as P,
|
|
11211
|
+
isValidSealValue as Q,
|
|
11212
|
+
clearSealValue as R,
|
|
11213
|
+
NCB_PROVIDE as S,
|
|
11214
|
+
calculateFormula as T,
|
|
11215
|
+
useStyles as U,
|
|
11216
|
+
useDependency as V,
|
|
11217
|
+
useFieldPresentation as W,
|
|
11218
|
+
useRuntimeEditorFlusher as X,
|
|
11219
|
+
RuntimeFormStateStore as Y,
|
|
11220
|
+
createRuntimeInstanceContext as Z,
|
|
11221
|
+
RuntimeInstanceRegistry as _,
|
|
11093
11222
|
MAX_RUNTIME_SHEET_TITLE_LENGTH as a,
|
|
11094
|
-
|
|
11095
|
-
|
|
11096
|
-
|
|
11097
|
-
|
|
11098
|
-
|
|
11099
|
-
|
|
11100
|
-
|
|
11101
|
-
|
|
11102
|
-
|
|
11103
|
-
|
|
11104
|
-
|
|
11105
|
-
|
|
11106
|
-
|
|
11107
|
-
|
|
11108
|
-
|
|
11109
|
-
|
|
11110
|
-
|
|
11111
|
-
|
|
11112
|
-
|
|
11113
|
-
|
|
11114
|
-
|
|
11115
|
-
|
|
11116
|
-
|
|
11117
|
-
|
|
11118
|
-
|
|
11119
|
-
|
|
11120
|
-
|
|
11121
|
-
|
|
11122
|
-
|
|
11123
|
-
|
|
11124
|
-
|
|
11125
|
-
|
|
11126
|
-
|
|
11127
|
-
|
|
11128
|
-
|
|
11129
|
-
|
|
11130
|
-
|
|
11131
|
-
|
|
11223
|
+
SubTableActionMenuTypeEnum as a$,
|
|
11224
|
+
RequiredQtyCalcRule as a0,
|
|
11225
|
+
MBRender as a1,
|
|
11226
|
+
MCRender as a2,
|
|
11227
|
+
moveSealValue as a3,
|
|
11228
|
+
DocumentPaper as a4,
|
|
11229
|
+
DynamicTableAction as a5,
|
|
11230
|
+
_sfc_main$5 as a6,
|
|
11231
|
+
resolveRuntimeFieldProps as a7,
|
|
11232
|
+
resolveRuntimeFieldState as a8,
|
|
11233
|
+
assembleRules as a9,
|
|
11234
|
+
RuntimeAsyncTaskCoordinator as aA,
|
|
11235
|
+
RuntimeDependencyService as aB,
|
|
11236
|
+
RuntimeFieldRegistry as aC,
|
|
11237
|
+
RuntimeInstanceEventBus as aD,
|
|
11238
|
+
RuntimePersistenceCoordinator as aE,
|
|
11239
|
+
RuntimeValidationService as aF,
|
|
11240
|
+
SubTableCore as aG,
|
|
11241
|
+
buildFormChangeDisplayRows as aH,
|
|
11242
|
+
convertV1Runtime as aI,
|
|
11243
|
+
detailsHaveFormChangeRowOps as aJ,
|
|
11244
|
+
extractFormChangeRowDetails as aK,
|
|
11245
|
+
getFormChangeRowKey as aL,
|
|
11246
|
+
getFormChangeRowOp as aM,
|
|
11247
|
+
getSubTableQuickFillInfo as aN,
|
|
11248
|
+
isAnnLocationSelected as aO,
|
|
11249
|
+
isBlank as aP,
|
|
11250
|
+
isFormChangeGhostRow as aQ,
|
|
11251
|
+
normalizeHistoricalFieldConfig as aR,
|
|
11252
|
+
pickObjectFieldKeys as aS,
|
|
11253
|
+
recordSubtableRowAdd as aT,
|
|
11254
|
+
recordSubtableRowDelete as aU,
|
|
11255
|
+
relocateDeletedRowsToEnd as aV,
|
|
11256
|
+
resolveAnnotationFieldLocation as aW,
|
|
11257
|
+
resolveFormChangeRowUi as aX,
|
|
11258
|
+
resolveRowFormChangeMark as aY,
|
|
11259
|
+
setSelectMobileTdId as aZ,
|
|
11260
|
+
stripLegacyFormConfigFromPaper as a_,
|
|
11132
11261
|
getRuntimeDependencyOutputKey as aa,
|
|
11133
11262
|
isRowAddedInCurrentFormChange as ab,
|
|
11134
11263
|
resolveFormulaData as ac,
|
|
@@ -11144,53 +11273,54 @@ export {
|
|
|
11144
11273
|
useMaterialBalance as am,
|
|
11145
11274
|
collectFormChangeFieldLocations as an,
|
|
11146
11275
|
nextFormChangeRowViewHistoryId as ao,
|
|
11147
|
-
|
|
11148
|
-
|
|
11149
|
-
|
|
11150
|
-
|
|
11151
|
-
|
|
11152
|
-
|
|
11153
|
-
|
|
11154
|
-
|
|
11155
|
-
|
|
11156
|
-
|
|
11157
|
-
|
|
11158
|
-
|
|
11159
|
-
|
|
11160
|
-
|
|
11161
|
-
|
|
11162
|
-
|
|
11163
|
-
|
|
11164
|
-
|
|
11165
|
-
|
|
11166
|
-
|
|
11167
|
-
|
|
11168
|
-
|
|
11169
|
-
|
|
11170
|
-
|
|
11171
|
-
|
|
11172
|
-
|
|
11173
|
-
|
|
11174
|
-
|
|
11175
|
-
|
|
11176
|
-
|
|
11177
|
-
|
|
11178
|
-
|
|
11179
|
-
|
|
11180
|
-
|
|
11181
|
-
|
|
11182
|
-
|
|
11276
|
+
BaseFormModelFetcher as ap,
|
|
11277
|
+
DeviceConnector as aq,
|
|
11278
|
+
DocumentLoading as ar,
|
|
11279
|
+
DynamicQuickFillModal as as,
|
|
11280
|
+
FixedQuickFillModal as at,
|
|
11281
|
+
FormTmplConfigController as au,
|
|
11282
|
+
LEGACY_RUNTIME_FORM_CONFIG_KEYS as av,
|
|
11283
|
+
LEGACY_RUNTIME_SHEET_ID as aw,
|
|
11284
|
+
LEGACY_RUNTIME_SHEET_TITLE as ax,
|
|
11285
|
+
MCDataUtil as ay,
|
|
11286
|
+
OCR_MODEL_PRECISION_ENUM_KEY as az,
|
|
11287
|
+
bindFormulaCacheInvalidation as b,
|
|
11288
|
+
getMenuByAction as b0,
|
|
11289
|
+
SubTableActionEnum as b1,
|
|
11290
|
+
resolveScanFillData as b2,
|
|
11291
|
+
resolveScanParsedValue as b3,
|
|
11292
|
+
buildDefaultMapFromProfile as b4,
|
|
11293
|
+
buildFieldStatusFromProfile as b5,
|
|
11294
|
+
getRowHandlersForFieldChange as b6,
|
|
11295
|
+
getInsertSubMenu as b7,
|
|
11296
|
+
resolveScanAdjustType as b8,
|
|
11297
|
+
resolveScanQty as b9,
|
|
11298
|
+
toDateOnly as ba,
|
|
11299
|
+
hasSubtableBusinessData as bb,
|
|
11300
|
+
getCopySubMenu as bc,
|
|
11301
|
+
isProductBatchEmptyRow as bd,
|
|
11302
|
+
currentParamsConfig as c,
|
|
11303
|
+
MULTI_SHEET_SCHEMA_VERSION as d,
|
|
11304
|
+
normalizeGridColumnWidth as e,
|
|
11305
|
+
createRuntimeDocumentV2 as f,
|
|
11306
|
+
getParseFormulaVarInfos as g,
|
|
11307
|
+
clampSealPosition as h,
|
|
11308
|
+
normalizeSealDiameter as i,
|
|
11309
|
+
normalizeFieldWidth as j,
|
|
11310
|
+
isCellAutoLineBreak as k,
|
|
11311
|
+
useFormTmplConfig as l,
|
|
11312
|
+
findFieldProfile as m,
|
|
11183
11313
|
normalizeFieldFontSize as n,
|
|
11184
|
-
|
|
11185
|
-
|
|
11186
|
-
|
|
11187
|
-
|
|
11188
|
-
|
|
11189
|
-
|
|
11190
|
-
|
|
11191
|
-
|
|
11192
|
-
|
|
11193
|
-
|
|
11194
|
-
|
|
11195
|
-
|
|
11314
|
+
normalizeHistoricalBusinessRow as o,
|
|
11315
|
+
DeviceLinkTmplUtil as p,
|
|
11316
|
+
normalizeAIOcrTmpl as q,
|
|
11317
|
+
useWidgetStaticAttrs as r,
|
|
11318
|
+
useRuntimeInstanceServices as s,
|
|
11319
|
+
setSelectValidatorId as t,
|
|
11320
|
+
useFormModel as u,
|
|
11321
|
+
setSelectAnnotationId as v,
|
|
11322
|
+
useRuntimeRowState as w,
|
|
11323
|
+
getObjectBomMaterialLotQuery as x,
|
|
11324
|
+
buildObjectLotExtraQuery as y,
|
|
11325
|
+
resolveObjectFieldKeys as z
|
|
11196
11326
|
};
|