@gct-paas/excel 0.1.46-beta.0 → 0.1.48-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-CFGD5e3-.js → BaseComponent-CuX5xLFK.js} +4 -3
- package/dist/{VueVideoPlayer-DQipWL4s.js → VueVideoPlayer-CBBB12Hj.js} +2 -2
- package/dist/{align-editor-DIA-Sr5b.js → align-editor-Df9gS31T.js} +1 -1
- package/dist/{barcode-design-D9Ls08rj.js → barcode-design-B34-4xJ9.js} +3 -2
- package/dist/base/index.es.js +517 -222
- package/dist/{diagonal-design-KNdqRgLq.js → diagonal-design-D0HXMI8w.js} +3 -2
- package/dist/{dynamic-table-action-CtlTUd4B.js → dynamic-table-action-9sxv3gW5.js} +466 -353
- package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-B6nj4U2e.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_8710052f_lang-YSIO0k9J.js} +2296 -593
- package/dist/{edit.utils-CXmmCnxE-CYY_bifY.js → edit.utils-CXmmCnxE-0uJiCs33.js} +1 -1
- package/dist/excel.css +635 -770
- package/dist/{exceljs.min-DfEcTPXD.js → exceljs.min-Doeyz39_.js} +2 -2
- package/dist/{font-editor-DB4he2J9.js → font-editor-B8A9tDhO.js} +3 -3
- package/dist/{image-design-rOmEaCZG.js → image-design-CVyCbbef.js} +3 -8
- package/dist/{index-JLQFFZq9.js → index-7VROqGqR.js} +3 -2
- package/dist/{index-SdRutpZS.js → index-B3hu8heh.js} +3 -2
- package/dist/{index-CpnLf6Iy.js → index-B7Yt5TSq.js} +2 -1
- package/dist/{index-Cfk6mxG5.js → index-BLJdXkdZ.js} +5 -4
- package/dist/{index-BhkWCybQ.js → index-BOO2K9Vu.js} +4 -3
- package/dist/{index-DXPSRog6.js → index-Bb3Ugl3c.js} +3 -2
- package/dist/{index-pRsgFXJb.js → index-Bj2qRb0q.js} +2 -1
- package/dist/{index-1wf4tpUl.js → index-BwyHByzZ.js} +2 -1
- package/dist/{index-CM8R-pbY.js → index-CDObWZ7G.js} +3 -2
- package/dist/{index-DPBhdP8F.js → index-CGU3uK4z.js} +2 -1
- package/dist/{index-D2IE5Zew.js → index-CMmaJ4Ss.js} +3 -2
- package/dist/{index-D0m38QlZ.js → index-CNmwpU3G.js} +7 -3
- package/dist/index-CS1tP-l0.js +36 -0
- package/dist/{index-Bbv8LiZs.js → index-Cn_bmfoD.js} +2 -1
- package/dist/{index-DcIswXbR.js → index-CzztJ4fH.js} +4 -3
- package/dist/{index-BOPEuzVA.js → index-D0VBKmKt.js} +3 -2
- package/dist/{index-CDztXfkq.js → index-DA7GAWZ1.js} +4 -3
- package/dist/{index-TKoxv7rV.js → index-DKKIL32g.js} +3 -2
- package/dist/{index-DfQLZI_l.js → index-DMVIENZW.js} +4 -3
- package/dist/{index-DjJV_0BE.js → index-DU4dWvY6.js} +2 -1
- package/dist/{index-2fHLTqVp.js → index-D_hAd0MQ.js} +4 -3
- package/dist/{index-CTJrYlvQ.js → index-DuuvFB0e.js} +3 -2
- package/dist/{index-BADc-aOX.js → index-FCg2Jzvu.js} +2 -1
- package/dist/{index-CBpqqjSv.js → index-PSQkEXxq.js} +3 -2
- package/dist/{index-CS71sb_3.js → index-R95URjcc.js} +2 -1
- package/dist/{index-CyAp5OEa.js → index-RG23XjoT.js} +2 -1
- package/dist/{index-DXmBMaqr.js → index-TeozNhWH.js} +3 -2
- package/dist/{index-CMXA9Xpg.js → index-Uy8bXkuC.js} +4 -3
- package/dist/{index-D1IVv_4Z.js → index-VrLq9hAc.js} +8850 -3785
- package/dist/{index-r2Upv51M.js → index-XE84LVO7.js} +2 -1
- package/dist/{index-BzZn5yKM.js → index-dUCz8OdV.js} +3 -2
- package/dist/{index-CuKdXss-.js → index-hDsTasdu.js} +3 -2
- package/dist/{index-PWnab8N4.js → index-ucaRXWE8.js} +3 -2
- package/dist/{index-G7xQtwpv.js → index-vEZ4Yr2u.js} +3 -2
- 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-5Zjmkkr-.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-ApLSXGFP.js} +27 -3
- package/dist/{pagination-design-B36t4N6I.js → pagination-design-B5DxwV5F.js} +3 -2
- package/dist/paper-widget-design-A55mbwYv.js +4 -0
- package/dist/{print-runtime-instance-0gFegcDN.js → print-runtime-instance-BDM-anCd.js} +1 -1
- package/dist/{print-snapshot-renderer-IKnILNM6.js → print-snapshot-renderer-kB1Bw7A_.js} +3 -3
- package/dist/{qrcode-design-DnIeMKrq.js → qrcode-design-bN48s3rk.js} +1 -1
- package/dist/{revo-grid.entry-V8C0T90X.js → revo-grid.entry-BXEGtAbW.js} +1 -1
- package/dist/{revogr-attribution_7.entry-CT9PK1mw.js → revogr-attribution_7.entry-CImeTxBl.js} +3 -3
- package/dist/{revogr-clipboard_3.entry-DasvlP7R.js → revogr-clipboard_3.entry-DqcrJ6zB.js} +2 -2
- package/dist/{revogr-data_4.entry-JiuHlIot.js → revogr-data_4.entry-Ccdsy3nO.js} +2 -2
- package/dist/{revogr-filter-panel.entry-eF0Vtn8T.js → revogr-filter-panel.entry-B2xM2jvB.js} +1 -1
- package/dist/seal-design-B3FBumLr.js +4 -0
- package/dist/{serialnumber-design-CeVxP3vz.js → serialnumber-design-BGTOIn2S.js} +1 -1
- package/dist/shared/index.es.js +29 -28
- package/dist/{single-field-drop-BM7Q-JE7.js → single-field-drop-b2b71HAk.js} +2 -3
- package/dist/{size-editor-D48KfbPW.js → size-editor-DtX2f2CF.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/fields/i-timepicker.d.ts +0 -19
- 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 +149 -14
- 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/types/sheets.d.ts +2 -0
- package/dist/src/online-form/src/views/designer/utils/cell-field-placements.d.ts +0 -4
- 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-ZbWFDYMd.js → sub-table-factory-DoEvzrVN.js} +276 -89
- package/dist/{text-design-BuRHlk8u.js → text-design-BQVBFcI0.js} +3 -2
- package/dist/{throttle-Cpk1LoGk-CS3eMK0o.js → throttle-Cpk1LoGk-DR_8z9qq.js} +1 -1
- package/dist/{timediff-design-BkMxQhsZ.js → timediff-design-DioTJEvx.js} +2 -1
- package/dist/{trace-like-wrapper-D_5WQeI5.js → trace-like-wrapper-CjxBkfYK.js} +3 -2
- package/dist/{value-editor.vue_vue_type_style_index_0_lang-ZdsVg_uh.js → value-editor.vue_vue_type_style_index_0_lang-DpfdcyX_.js} +3 -2
- package/dist/{widget-barcode-IxNocg6d.js → widget-barcode-CEn3AYG0.js} +5 -4
- package/dist/{widget-diagonal-CQnQKN5v.js → widget-diagonal-DbOhaNpW.js} +4 -4
- package/dist/{widget-image-BhbWCq1q.js → widget-image-BGP2w2mj.js} +5 -7
- package/dist/{widget-line-DpaLNKD9.js → widget-line-CkSPcw5A.js} +3 -2
- package/dist/{widget-pagination-D4Q7haGt.js → widget-pagination-BH0VtWHT.js} +6 -5
- package/dist/{widget-power-BqpjLznU.js → widget-power-DuTIvdpR.js} +4 -4
- package/dist/{widget-qrcode-Br6Lnsun.js → widget-qrcode-CJJjPnwn.js} +4 -3
- package/dist/{widget-rangelimit-xlR2XStc.js → widget-rangelimit-828JH1wm.js} +3 -4
- package/dist/{widget-serialnumber-a6QRh_Bc.js → widget-serialnumber-CIjY3I-t.js} +1 -1
- package/dist/{widget-text-D03J073B.js → widget-text-C_Ja4yWN.js} +5 -5
- package/dist/{widget-timediff-DEeow0oX.js → widget-timediff-CjmATkLS.js} +3 -2
- package/package.json +2 -6
- package/dist/AntdIcon-DCIaV352.js +0 -1108
- package/dist/index-BKqqEcDK.js +0 -4353
- package/dist/index-CztVDzNB.js +0 -46
- package/dist/mb-render-B4dZIEgs.js +0 -276
- package/dist/paper-widget-design-CcL2k1yc.js +0 -4
- package/dist/seal-design-BJoM9ycE.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/src/online-form/src/views/designer/hooks/useDuplicateFieldNotice.d.ts +0 -26
- package/dist/src/online-form/src/views/designer/modules/sheet/duplicate-field-highlights.vue.d.ts +0 -2
- 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-YSIO0k9J.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-B4dZIEgs.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",
|
|
@@ -3372,21 +3298,6 @@ function filterRulesByTrigger(rules2, trigger) {
|
|
|
3372
3298
|
return ruleTrigger === trigger;
|
|
3373
3299
|
});
|
|
3374
3300
|
}
|
|
3375
|
-
const parseTemporalValue = (value, fieldType) => {
|
|
3376
|
-
if (fieldType !== FIELD_TYPE.TIME) return dayjs(value);
|
|
3377
|
-
if (isEmptyValue(value)) return dayjs(NaN);
|
|
3378
|
-
const time = typeof value === "string" ? value.trim().match(/^(\d{1,2}):(\d{2})(?::(\d{2}))?$/) : null;
|
|
3379
|
-
if (time) {
|
|
3380
|
-
return dayjs(`2000-01-01 ${time[1]}:${time[2]}:${time[3] ?? "00"}`);
|
|
3381
|
-
}
|
|
3382
|
-
const timestamp = toUnixTimestamp(value);
|
|
3383
|
-
return timestamp === null ? dayjs(NaN) : dayjs(`2000-01-01 ${dayjs.unix(timestamp).format("HH:mm:ss")}`);
|
|
3384
|
-
};
|
|
3385
|
-
const resolveLimitTimestamp = (value, fieldType) => {
|
|
3386
|
-
if (fieldType !== FIELD_TYPE.TIME) return toUnixTimestamp(value);
|
|
3387
|
-
const parsed = parseTemporalValue(value, fieldType);
|
|
3388
|
-
return parsed.isValid() ? parsed.unix() : null;
|
|
3389
|
-
};
|
|
3390
3301
|
function assembleRules(input) {
|
|
3391
3302
|
const { showRequired, fieldType, validatorInfo, props } = input;
|
|
3392
3303
|
const {
|
|
@@ -3580,10 +3491,9 @@ function assembleRules(input) {
|
|
|
3580
3491
|
RuleProps.push(
|
|
3581
3492
|
createRule((_rule, value) => {
|
|
3582
3493
|
if (isEmptyValue(value)) return true;
|
|
3583
|
-
const inputTime =
|
|
3584
|
-
const minTimestamp =
|
|
3585
|
-
if (!
|
|
3586
|
-
return true;
|
|
3494
|
+
const inputTime = dayjs(value).unix();
|
|
3495
|
+
const minTimestamp = dayjs(minDate).unix();
|
|
3496
|
+
if (!dayjs(value).isValid() || !dayjs(minDate).isValid()) return true;
|
|
3587
3497
|
return compareByOp(inputTime, minTimestamp, resolvedMinCompareOp);
|
|
3588
3498
|
}, buildError(validatorInfo, rangeCompareMessage(resolvedMinCompareOp, minDate)))
|
|
3589
3499
|
);
|
|
@@ -3592,10 +3502,9 @@ function assembleRules(input) {
|
|
|
3592
3502
|
RuleProps.push(
|
|
3593
3503
|
createRule((_rule, value) => {
|
|
3594
3504
|
if (isEmptyValue(value)) return true;
|
|
3595
|
-
const inputTime =
|
|
3596
|
-
const maxTimestamp =
|
|
3597
|
-
if (!
|
|
3598
|
-
return true;
|
|
3505
|
+
const inputTime = dayjs(value).unix();
|
|
3506
|
+
const maxTimestamp = dayjs(maxDate).unix();
|
|
3507
|
+
if (!dayjs(value).isValid() || !dayjs(maxDate).isValid()) return true;
|
|
3599
3508
|
return compareByOp(inputTime, maxTimestamp, resolvedMaxCompareOp);
|
|
3600
3509
|
}, buildError(validatorInfo, rangeCompareMessage(resolvedMaxCompareOp, maxDate)))
|
|
3601
3510
|
);
|
|
@@ -3611,16 +3520,16 @@ function assembleRules(input) {
|
|
|
3611
3520
|
currentFormData,
|
|
3612
3521
|
options?.formData
|
|
3613
3522
|
);
|
|
3614
|
-
const limitTime =
|
|
3523
|
+
const limitTime = toUnixTimestamp(formulaValue);
|
|
3615
3524
|
if (limitTime !== null) {
|
|
3616
3525
|
if (isEmptyValue(value)) {
|
|
3617
3526
|
return Promise.resolve();
|
|
3618
3527
|
}
|
|
3619
|
-
if (!
|
|
3528
|
+
if (!dayjs(value).isValid()) {
|
|
3620
3529
|
return Promise.resolve();
|
|
3621
3530
|
}
|
|
3622
|
-
const inputTime =
|
|
3623
|
-
const fmt = fieldType === FIELD_TYPE.
|
|
3531
|
+
const inputTime = dayjs(value).unix();
|
|
3532
|
+
const fmt = fieldType === FIELD_TYPE.DATE_TIME ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
|
|
3624
3533
|
if (!compareByOp(inputTime, limitTime, resolvedMinCompareOp)) {
|
|
3625
3534
|
return Promise.reject(
|
|
3626
3535
|
new Error(
|
|
@@ -3647,16 +3556,16 @@ function assembleRules(input) {
|
|
|
3647
3556
|
currentFormData,
|
|
3648
3557
|
options?.formData
|
|
3649
3558
|
);
|
|
3650
|
-
const limitTime =
|
|
3559
|
+
const limitTime = toUnixTimestamp(formulaValue);
|
|
3651
3560
|
if (limitTime !== null) {
|
|
3652
3561
|
if (isEmptyValue(value)) {
|
|
3653
3562
|
return Promise.resolve();
|
|
3654
3563
|
}
|
|
3655
|
-
if (!
|
|
3564
|
+
if (!dayjs(value).isValid()) {
|
|
3656
3565
|
return Promise.resolve();
|
|
3657
3566
|
}
|
|
3658
|
-
const inputTime =
|
|
3659
|
-
const fmt = fieldType === FIELD_TYPE.
|
|
3567
|
+
const inputTime = dayjs(value).unix();
|
|
3568
|
+
const fmt = fieldType === FIELD_TYPE.DATE_TIME ? "YYYY-MM-DD HH:mm:ss" : "YYYY-MM-DD";
|
|
3660
3569
|
if (!compareByOp(inputTime, limitTime, resolvedMaxCompareOp)) {
|
|
3661
3570
|
return Promise.reject(
|
|
3662
3571
|
new Error(
|
|
@@ -4317,10 +4226,7 @@ class RuntimeInstanceEventBus {
|
|
|
4317
4226
|
class RuntimeInstanceRegistry {
|
|
4318
4227
|
/** 当前渲染入口的加载状态,由工厂更新;PreviewContainer 直接读取,无需宿主额外传参。 */
|
|
4319
4228
|
loadState = shallowReactive({ loading: false, error: void 0 });
|
|
4320
|
-
/**
|
|
4321
|
-
* 顶层对象使用浅响应式:实例新增、删除需要驱动 Vue 更新;record 内的服务类
|
|
4322
|
-
* 不需要被 Vue 深度代理,各自内部负责自己的响应式状态和生命周期
|
|
4323
|
-
*/
|
|
4229
|
+
/** 顶层容器和记录都只做浅响应式;服务类仍保持原始引用。 */
|
|
4324
4230
|
records = shallowReactive({});
|
|
4325
4231
|
/**
|
|
4326
4232
|
* 统一托管订阅、watch 和编译结果的取消函数
|
|
@@ -4362,8 +4268,9 @@ class RuntimeInstanceRegistry {
|
|
|
4362
4268
|
events,
|
|
4363
4269
|
validation
|
|
4364
4270
|
};
|
|
4365
|
-
|
|
4366
|
-
|
|
4271
|
+
const reactiveRecord = shallowReactive(record);
|
|
4272
|
+
this.records[context.uniqueId] = reactiveRecord;
|
|
4273
|
+
return reactiveRecord;
|
|
4367
4274
|
}
|
|
4368
4275
|
/**
|
|
4369
4276
|
* 在页面回调准备完成后挂载实例控制器
|
|
@@ -4541,6 +4448,7 @@ class RuntimeInstanceRegistry {
|
|
|
4541
4448
|
this.disposables.get(uniqueId)?.forEach((dispose) => dispose());
|
|
4542
4449
|
this.disposables.delete(uniqueId);
|
|
4543
4450
|
record.fieldInitializer?.dispose();
|
|
4451
|
+
record.defaultValueValidation?.dispose();
|
|
4544
4452
|
record.ruleCompiler?.dispose();
|
|
4545
4453
|
record.validation.dispose();
|
|
4546
4454
|
record.scriptRunner?.dispose();
|
|
@@ -6004,8 +5912,6 @@ class MaterialConsumeTableController {
|
|
|
6004
5912
|
initialDataPrepared = false;
|
|
6005
5913
|
/** 最近一次同步需求数量时使用的数量依赖。 */
|
|
6006
5914
|
syncedMaterialNoNum;
|
|
6007
|
-
/** 多 Sheet / 同屏多实例下,弹层和异步交互使用该键隔离。 */
|
|
6008
|
-
runtimeOwnerId = "";
|
|
6009
5915
|
/** 表单是否已暂存或提交(已处理过则不再跑初始化) */
|
|
6010
5916
|
get isDataProcessed() {
|
|
6011
5917
|
return ["STASH", "SUBMIT"].includes(this.dataStatus ?? "");
|
|
@@ -6113,21 +6019,6 @@ class MaterialConsumeTableController {
|
|
|
6113
6019
|
this.scanRuleProps = toParseRuleConfig(id);
|
|
6114
6020
|
this.scanRuleInfo = await getParseRuleInfo({ id: this.scanRuleProps.parsingRuleId });
|
|
6115
6021
|
}
|
|
6116
|
-
/**
|
|
6117
|
-
* 变更条码规则
|
|
6118
|
-
*/
|
|
6119
|
-
async changeScanRule() {
|
|
6120
|
-
const { id_, base_id_ } = this.scanRuleInfo ?? {};
|
|
6121
|
-
const newConfig = await MaterialConsumeTableController.render.openChangeRuleModal({
|
|
6122
|
-
config: this.scanRuleProps,
|
|
6123
|
-
subModelKey: this.widget.props.modelKey,
|
|
6124
|
-
formModelController: this.formModelController
|
|
6125
|
-
});
|
|
6126
|
-
if (newConfig) {
|
|
6127
|
-
this.scanRuleProps = newConfig;
|
|
6128
|
-
this.scanRuleInfo = await getParseRuleInfo({ id: this.scanRuleProps.parsingRuleId });
|
|
6129
|
-
}
|
|
6130
|
-
}
|
|
6131
6022
|
/**
|
|
6132
6023
|
* 是否人为指定物料
|
|
6133
6024
|
* @readonly
|
|
@@ -6832,6 +6723,31 @@ class MaterialConsumeTableController {
|
|
|
6832
6723
|
await this.applyUnitConversionRules(row);
|
|
6833
6724
|
}
|
|
6834
6725
|
}
|
|
6726
|
+
class MCRender {
|
|
6727
|
+
/**
|
|
6728
|
+
* 提示信息
|
|
6729
|
+
* @param opts
|
|
6730
|
+
*/
|
|
6731
|
+
message(opts) {
|
|
6732
|
+
throw new Error("Function message not implemented.");
|
|
6733
|
+
}
|
|
6734
|
+
async openScanModal(opts) {
|
|
6735
|
+
throw new Error("Function openScanModal not implemented.");
|
|
6736
|
+
}
|
|
6737
|
+
/**
|
|
6738
|
+
* 扫码返回多条候选时,弹窗选择其中一条
|
|
6739
|
+
* 取消返回 undefined
|
|
6740
|
+
*/
|
|
6741
|
+
async openMultiRowsModal(opts) {
|
|
6742
|
+
throw new Error("Function openMultiRowsModal not implemented.");
|
|
6743
|
+
}
|
|
6744
|
+
/**
|
|
6745
|
+
* 关闭当前页面的 form-base 弹层
|
|
6746
|
+
*/
|
|
6747
|
+
destroyAllModals(_ownerId) {
|
|
6748
|
+
throw new Error("Function destroyAllModals not implemented.");
|
|
6749
|
+
}
|
|
6750
|
+
}
|
|
6835
6751
|
var SubTableActionEnum = /* @__PURE__ */ ((SubTableActionEnum2) => {
|
|
6836
6752
|
SubTableActionEnum2["QuickFillRowCurrent"] = "quickFillRowCurrent";
|
|
6837
6753
|
SubTableActionEnum2["InsertRowBefore"] = "insertRowBefore";
|
|
@@ -6843,8 +6759,6 @@ var SubTableActionEnum = /* @__PURE__ */ ((SubTableActionEnum2) => {
|
|
|
6843
6759
|
SubTableActionEnum2["ClearRowCurrent"] = "clearRowCurrent";
|
|
6844
6760
|
SubTableActionEnum2["CONFIRM"] = "CONFIRM";
|
|
6845
6761
|
SubTableActionEnum2["SCAN"] = "SCAN";
|
|
6846
|
-
SubTableActionEnum2["VIEW_BOM"] = "VIEW_BOM";
|
|
6847
|
-
SubTableActionEnum2["CHANGE_PARSE_RULE"] = "CHANGE_PARSE_RULE";
|
|
6848
6762
|
SubTableActionEnum2["RowEdit"] = "rowEdit";
|
|
6849
6763
|
SubTableActionEnum2["Insert1GroupAfter"] = "insert1GroupAfter";
|
|
6850
6764
|
return SubTableActionEnum2;
|
|
@@ -6864,18 +6778,6 @@ function getMenuByAction(type4) {
|
|
|
6864
6778
|
label: "条码扫描",
|
|
6865
6779
|
icon: "size24 icon-saoma1"
|
|
6866
6780
|
},
|
|
6867
|
-
[SubTableActionEnum.VIEW_BOM]: {
|
|
6868
|
-
type: SubTableActionMenuTypeEnum.ACTION,
|
|
6869
|
-
key: SubTableActionEnum.VIEW_BOM,
|
|
6870
|
-
label: "BOM查看",
|
|
6871
|
-
icon: "size24 icon-a-bom11"
|
|
6872
|
-
},
|
|
6873
|
-
[SubTableActionEnum.CHANGE_PARSE_RULE]: {
|
|
6874
|
-
type: SubTableActionMenuTypeEnum.ACTION,
|
|
6875
|
-
key: SubTableActionEnum.CHANGE_PARSE_RULE,
|
|
6876
|
-
label: "条码解析规则变更",
|
|
6877
|
-
icon: "icon-tiaomajiexi"
|
|
6878
|
-
},
|
|
6879
6781
|
[SubTableActionEnum.QuickFillRowCurrent]: {
|
|
6880
6782
|
type: SubTableActionMenuTypeEnum.ACTION,
|
|
6881
6783
|
key: SubTableActionEnum.QuickFillRowCurrent,
|
|
@@ -7059,6 +6961,204 @@ class TdHandler {
|
|
|
7059
6961
|
this.mergeTd({ cellWidget: { props: { newSpecificConfig: { customLoader } } } });
|
|
7060
6962
|
}
|
|
7061
6963
|
}
|
|
6964
|
+
class BaseFormModelFetcher {
|
|
6965
|
+
/** 默认接口 */
|
|
6966
|
+
apis = {
|
|
6967
|
+
getFieldMetaList: api.apaas.fieldMeta.getList,
|
|
6968
|
+
getModelMetaSubModelList: api.apaas.modelComprehensive.getSubModelList,
|
|
6969
|
+
getModelDetail2FieldList: api.apaas.modelMeta.getDetail
|
|
6970
|
+
};
|
|
6971
|
+
/**
|
|
6972
|
+
* 模型映射缓存
|
|
6973
|
+
*/
|
|
6974
|
+
modelMetaMap = {};
|
|
6975
|
+
async load(opts) {
|
|
6976
|
+
const { model } = opts;
|
|
6977
|
+
this.modelMetaMap = {};
|
|
6978
|
+
await this.loadModelFields(model);
|
|
6979
|
+
await this.loadSubModelsFields(model);
|
|
6980
|
+
return Object.values(this.modelMetaMap);
|
|
6981
|
+
}
|
|
6982
|
+
/**
|
|
6983
|
+
* 补全字段信息
|
|
6984
|
+
* @param modelKey 字段所属的模型
|
|
6985
|
+
* @param [fields=[]]
|
|
6986
|
+
* @return {*}
|
|
6987
|
+
*/
|
|
6988
|
+
completeFields(modelKey, fields = []) {
|
|
6989
|
+
return fields.map((field) => {
|
|
6990
|
+
if (!field.modelKey) {
|
|
6991
|
+
field.modelKey = modelKey;
|
|
6992
|
+
}
|
|
6993
|
+
return field;
|
|
6994
|
+
});
|
|
6995
|
+
}
|
|
6996
|
+
/**
|
|
6997
|
+
* 根据模型key加载模型字段
|
|
6998
|
+
*
|
|
6999
|
+
* @param [modelKey=this.model]
|
|
7000
|
+
* @return {*}
|
|
7001
|
+
*/
|
|
7002
|
+
async loadModelFields(modelKey) {
|
|
7003
|
+
if (typeof this.apis.getFieldMetaList !== "function") {
|
|
7004
|
+
return;
|
|
7005
|
+
}
|
|
7006
|
+
const res = await this.apis.getFieldMetaList({
|
|
7007
|
+
modelKey
|
|
7008
|
+
});
|
|
7009
|
+
this.modelMetaMap[modelKey] = {
|
|
7010
|
+
key: modelKey,
|
|
7011
|
+
name: "",
|
|
7012
|
+
fields: this.completeFields(modelKey, res)
|
|
7013
|
+
};
|
|
7014
|
+
return res;
|
|
7015
|
+
}
|
|
7016
|
+
/**
|
|
7017
|
+
* 加载表单所有子表字段对应模型的字段信息集合
|
|
7018
|
+
*/
|
|
7019
|
+
async loadSubModelsFields(modelKey) {
|
|
7020
|
+
const res = await this.apis.getModelMetaSubModelList({
|
|
7021
|
+
modelKey
|
|
7022
|
+
});
|
|
7023
|
+
(res ?? []).forEach((m) => {
|
|
7024
|
+
if (!this.modelMetaMap[m.key]) {
|
|
7025
|
+
this.modelMetaMap[m.key] = {
|
|
7026
|
+
key: m.key,
|
|
7027
|
+
name: m.name,
|
|
7028
|
+
subModel: m.subModel,
|
|
7029
|
+
fields: this.completeFields(m.key, m.fieldMetaList)
|
|
7030
|
+
};
|
|
7031
|
+
}
|
|
7032
|
+
});
|
|
7033
|
+
}
|
|
7034
|
+
}
|
|
7035
|
+
class FormModelController {
|
|
7036
|
+
/** 主模型的key */
|
|
7037
|
+
masterModelKey;
|
|
7038
|
+
/** 主模型的名称 */
|
|
7039
|
+
masterModelName;
|
|
7040
|
+
/** 模型请求器 */
|
|
7041
|
+
fetcher = new BaseFormModelFetcher();
|
|
7042
|
+
/** 模型映射缓存 */
|
|
7043
|
+
modelMetaMap = reactive({});
|
|
7044
|
+
/** 主模型信息 */
|
|
7045
|
+
get masterModel() {
|
|
7046
|
+
return this.modelMetaMap[this.masterModelKey];
|
|
7047
|
+
}
|
|
7048
|
+
/** 获取主模型字段集合 */
|
|
7049
|
+
get masterFields() {
|
|
7050
|
+
return this.masterModel?.fields;
|
|
7051
|
+
}
|
|
7052
|
+
/** 获取子模型 */
|
|
7053
|
+
getSubModel(subModelKey) {
|
|
7054
|
+
return this.modelMetaMap[subModelKey];
|
|
7055
|
+
}
|
|
7056
|
+
/** 获取子模型字段集合 */
|
|
7057
|
+
getSubModelFields(subModelKey) {
|
|
7058
|
+
return this.getSubModel(subModelKey)?.fields;
|
|
7059
|
+
}
|
|
7060
|
+
/**
|
|
7061
|
+
* 表单字段下拉选项(排除系统字段和子表字段)
|
|
7062
|
+
* value 格式为 modelKey.fieldKey,与字段映射存储格式一致
|
|
7063
|
+
*/
|
|
7064
|
+
getFormFieldOptions(subModelKey) {
|
|
7065
|
+
const fields = subModelKey ? this.getSubModelFields(subModelKey) : this.masterModel?.fields;
|
|
7066
|
+
return (fields ?? []).filter(
|
|
7067
|
+
(field) => !this.isSystemField(field) && !this.isSubField(field) && !this.isObjectField(field)
|
|
7068
|
+
).map((field) => ({
|
|
7069
|
+
...field,
|
|
7070
|
+
label: `${field.name}`,
|
|
7071
|
+
value: `${field.modelKey}.${field.key}`
|
|
7072
|
+
}));
|
|
7073
|
+
}
|
|
7074
|
+
/**
|
|
7075
|
+
* 初始化
|
|
7076
|
+
*
|
|
7077
|
+
* @param opts
|
|
7078
|
+
* - model 主模型key
|
|
7079
|
+
* - name 主模型名称
|
|
7080
|
+
*/
|
|
7081
|
+
async init(opts) {
|
|
7082
|
+
this.masterModelKey = opts.model;
|
|
7083
|
+
this.masterModelName = opts.name;
|
|
7084
|
+
await this.load();
|
|
7085
|
+
}
|
|
7086
|
+
/** 刷新数据 */
|
|
7087
|
+
async refresh() {
|
|
7088
|
+
await this.load();
|
|
7089
|
+
}
|
|
7090
|
+
/**
|
|
7091
|
+
* 加载数据并填充到modelMetaMap中
|
|
7092
|
+
* @protected
|
|
7093
|
+
* @return {*}
|
|
7094
|
+
*/
|
|
7095
|
+
async load() {
|
|
7096
|
+
if (!this.masterModelKey) {
|
|
7097
|
+
console.error("缺少主模型的key");
|
|
7098
|
+
return;
|
|
7099
|
+
}
|
|
7100
|
+
const models = await this.fetcher.load({ model: this.masterModelKey });
|
|
7101
|
+
this.modelMetaMap = models.reduce((acc, cur) => {
|
|
7102
|
+
acc[cur.key] = cur;
|
|
7103
|
+
if (cur.key === this.masterModelKey) {
|
|
7104
|
+
cur.name = this.masterModelName;
|
|
7105
|
+
}
|
|
7106
|
+
return acc;
|
|
7107
|
+
}, {});
|
|
7108
|
+
}
|
|
7109
|
+
/** 是否是子模型字段 */
|
|
7110
|
+
isSubField(field) {
|
|
7111
|
+
return field.type === FIELD_TYPE.MASTERSLAVE && field.bindInfo;
|
|
7112
|
+
}
|
|
7113
|
+
/** 是否是预置字段,包括系统字段和业务内置字段 */
|
|
7114
|
+
isPresetField(field) {
|
|
7115
|
+
return [CreateType.BUILTIN, CreateType.SYSTEM].includes(field.createType);
|
|
7116
|
+
}
|
|
7117
|
+
/** 是否是系统字段 */
|
|
7118
|
+
isSystemField(field) {
|
|
7119
|
+
return field.createType === CreateType.SYSTEM;
|
|
7120
|
+
}
|
|
7121
|
+
/** 是否是对象字段类型 */
|
|
7122
|
+
isObjectField(field) {
|
|
7123
|
+
return field.type === FIELD_TYPE.OBJECT_TYPE;
|
|
7124
|
+
}
|
|
7125
|
+
/**
|
|
7126
|
+
* 获取主模型里子表字段对应的子模型key
|
|
7127
|
+
*
|
|
7128
|
+
* @param fieldKey 子表字段在主表里的字段key
|
|
7129
|
+
* @return {*}
|
|
7130
|
+
*/
|
|
7131
|
+
getSubFieldModelKey(fieldKey) {
|
|
7132
|
+
return this.masterFields.find((field) => field.key === fieldKey)?.bindInfo;
|
|
7133
|
+
}
|
|
7134
|
+
/**
|
|
7135
|
+
* 获取字段信息
|
|
7136
|
+
* @param [modelKey=this.masterModelKey] 模型key
|
|
7137
|
+
* @param fieldKey 字段key
|
|
7138
|
+
* @return {*}
|
|
7139
|
+
*/
|
|
7140
|
+
findField(modelKey = this.masterModelKey, fieldKey) {
|
|
7141
|
+
const model = this.modelMetaMap[modelKey];
|
|
7142
|
+
if (!model) {
|
|
7143
|
+
return;
|
|
7144
|
+
}
|
|
7145
|
+
return model.fields.find((field) => field.key === fieldKey);
|
|
7146
|
+
}
|
|
7147
|
+
}
|
|
7148
|
+
const FormModelControllerKey = "GctFormModelController";
|
|
7149
|
+
function useFormModel() {
|
|
7150
|
+
function provideController(c = new FormModelController()) {
|
|
7151
|
+
provide(FormModelControllerKey, c);
|
|
7152
|
+
return c;
|
|
7153
|
+
}
|
|
7154
|
+
function injectController() {
|
|
7155
|
+
return inject(FormModelControllerKey);
|
|
7156
|
+
}
|
|
7157
|
+
return {
|
|
7158
|
+
provideController,
|
|
7159
|
+
injectController
|
|
7160
|
+
};
|
|
7161
|
+
}
|
|
7062
7162
|
const SCAN_ROW_META_KEYS = /* @__PURE__ */ new Set([FRONT_ROW_KEY, "id_", "id", "group_", "deleted_", "delete_"]);
|
|
7063
7163
|
function hasRowId(row) {
|
|
7064
7164
|
const id = row.id_ ?? row.id;
|
|
@@ -7292,8 +7392,6 @@ class SubTableCore {
|
|
|
7292
7392
|
const { actionKey } = params;
|
|
7293
7393
|
if (actionKey === SubTableActionEnum.SCAN) {
|
|
7294
7394
|
this.openScanModal();
|
|
7295
|
-
} else if (actionKey === SubTableActionEnum.CHANGE_PARSE_RULE) {
|
|
7296
|
-
this.changeScanRule();
|
|
7297
7395
|
}
|
|
7298
7396
|
}
|
|
7299
7397
|
/**
|
|
@@ -7340,9 +7438,9 @@ class SubTableCore {
|
|
|
7340
7438
|
const result = {};
|
|
7341
7439
|
const config = this.bizTableConfig;
|
|
7342
7440
|
if (config?.dataLockControlField && params.field === config.dataLockControlField) {
|
|
7343
|
-
result.readonly = isPersistedSignatureLockActive(config, params.rowData);
|
|
7441
|
+
result.readonly = !params.formChangeStatus && isPersistedSignatureLockActive(config, params.rowData);
|
|
7344
7442
|
} else if (config?.dataLockControlField) {
|
|
7345
|
-
result.disabled = isSignatureLockActive(config, params.rowData);
|
|
7443
|
+
result.disabled = !params.formChangeStatus && isSignatureLockActive(config, params.rowData);
|
|
7346
7444
|
}
|
|
7347
7445
|
return result;
|
|
7348
7446
|
}
|
|
@@ -7395,20 +7493,6 @@ class SubTableCore {
|
|
|
7395
7493
|
scanRuleInfo;
|
|
7396
7494
|
/** 解析规则配置对象 */
|
|
7397
7495
|
scanRuleProps;
|
|
7398
|
-
/**
|
|
7399
|
-
* 变更条码规则
|
|
7400
|
-
*/
|
|
7401
|
-
async changeScanRule() {
|
|
7402
|
-
const newConfig = await this.render.openChangeRuleModal({
|
|
7403
|
-
config: this.scanRuleProps,
|
|
7404
|
-
subModelKey: this.subModelKey,
|
|
7405
|
-
formModelController: this.formModelController
|
|
7406
|
-
});
|
|
7407
|
-
if (newConfig) {
|
|
7408
|
-
this.scanRuleProps = newConfig;
|
|
7409
|
-
this.scanRuleInfo = await getParseRuleInfo({ id: newConfig.parsingRuleId });
|
|
7410
|
-
}
|
|
7411
|
-
}
|
|
7412
7496
|
/**
|
|
7413
7497
|
* 打开扫描弹窗
|
|
7414
7498
|
* @param opts
|
|
@@ -7487,37 +7571,71 @@ class SubTableCore {
|
|
|
7487
7571
|
console.log(this.ctx.widget.props.tableTitle, "处理表单按钮点击事件", params);
|
|
7488
7572
|
}
|
|
7489
7573
|
}
|
|
7490
|
-
|
|
7491
|
-
|
|
7492
|
-
|
|
7493
|
-
|
|
7494
|
-
|
|
7495
|
-
|
|
7574
|
+
const STORAGE_KEY = "gct:formula:params:v1";
|
|
7575
|
+
const PARAMS_CHANGED_EVENT = "gct:formula-params-updated:v1";
|
|
7576
|
+
function emptyConfig() {
|
|
7577
|
+
return {
|
|
7578
|
+
routingParamList: [],
|
|
7579
|
+
inspectionParamList: [],
|
|
7580
|
+
deviceParamList: []
|
|
7581
|
+
};
|
|
7496
7582
|
}
|
|
7497
|
-
|
|
7498
|
-
if (!
|
|
7499
|
-
|
|
7583
|
+
function normalizeList(value) {
|
|
7584
|
+
if (!Array.isArray(value)) return [];
|
|
7585
|
+
return value.filter(
|
|
7586
|
+
(item) => item !== null && typeof item === "object" && typeof item.customFieldKey === "string"
|
|
7587
|
+
);
|
|
7588
|
+
}
|
|
7589
|
+
function normalizeConfig(value) {
|
|
7590
|
+
const data = value !== null && typeof value === "object" ? value : {};
|
|
7591
|
+
return {
|
|
7592
|
+
routingParamList: normalizeList(data.routingParamList),
|
|
7593
|
+
inspectionParamList: normalizeList(data.inspectionParamList),
|
|
7594
|
+
deviceParamList: normalizeList(data.deviceParamList)
|
|
7595
|
+
};
|
|
7596
|
+
}
|
|
7597
|
+
let lastRaw;
|
|
7598
|
+
let cachedConfig = emptyConfig();
|
|
7599
|
+
function readFormulaParamsConfig() {
|
|
7600
|
+
const raw = window.localStorage.getItem(STORAGE_KEY);
|
|
7601
|
+
if (raw !== lastRaw) {
|
|
7602
|
+
try {
|
|
7603
|
+
cachedConfig = normalizeConfig(raw ? JSON.parse(raw) : null);
|
|
7604
|
+
} catch {
|
|
7605
|
+
cachedConfig = emptyConfig();
|
|
7606
|
+
}
|
|
7607
|
+
lastRaw = raw;
|
|
7608
|
+
}
|
|
7609
|
+
return cachedConfig;
|
|
7610
|
+
}
|
|
7611
|
+
const currentParamsConfig = {
|
|
7612
|
+
get routingParamList() {
|
|
7613
|
+
return readFormulaParamsConfig().routingParamList;
|
|
7614
|
+
},
|
|
7615
|
+
get inspectionParamList() {
|
|
7616
|
+
return readFormulaParamsConfig().inspectionParamList;
|
|
7500
7617
|
}
|
|
7501
|
-
const config = paramList?.find((e) => e.customFieldKey === key);
|
|
7502
|
-
if (!config) return null;
|
|
7503
|
-
const { upperLimit, lowerLimit } = config;
|
|
7504
|
-
if (lowerLimit == null || upperLimit == null) return null;
|
|
7505
|
-
const actual = Number(value);
|
|
7506
|
-
const min = Number(config.lowerLimit);
|
|
7507
|
-
const max = Number(config.upperLimit);
|
|
7508
|
-
if (![actual, min, max].every(Number.isFinite)) return null;
|
|
7509
|
-
return actual >= min && actual <= max;
|
|
7510
|
-
}
|
|
7511
|
-
const FORMULA_FUNCS = {
|
|
7512
|
-
RoutingParamCheck: (key, value) => CALC_IS_QUALIFIED(key, value, currentParamsConfig.routingParamList || []),
|
|
7513
|
-
InspectionParamCheck: (key, value) => CALC_IS_QUALIFIED(key, value, currentParamsConfig.inspectionParamList || [])
|
|
7514
7618
|
};
|
|
7515
|
-
function
|
|
7516
|
-
const
|
|
7517
|
-
if (
|
|
7518
|
-
|
|
7519
|
-
|
|
7619
|
+
function setFormulaParamsConfig(paramsConfig = {}) {
|
|
7620
|
+
const raw = JSON.stringify(normalizeConfig(paramsConfig));
|
|
7621
|
+
if (window.localStorage.getItem(STORAGE_KEY) === raw) return;
|
|
7622
|
+
window.localStorage.setItem(STORAGE_KEY, raw);
|
|
7623
|
+
window.dispatchEvent(new Event(PARAMS_CHANGED_EVENT));
|
|
7624
|
+
}
|
|
7625
|
+
const boundCalculators = /* @__PURE__ */ new WeakSet();
|
|
7626
|
+
function bindFormulaCacheInvalidation(value) {
|
|
7627
|
+
if (typeof value !== "function") return;
|
|
7628
|
+
const calculator = value;
|
|
7629
|
+
if (typeof calculator.clear !== "function" || boundCalculators.has(calculator)) return;
|
|
7630
|
+
boundCalculators.add(calculator);
|
|
7631
|
+
const clearCache = () => calculator.clear();
|
|
7632
|
+
window.addEventListener(PARAMS_CHANGED_EVENT, clearCache);
|
|
7633
|
+
window.addEventListener("storage", (event) => {
|
|
7634
|
+
if (event.storageArea === window.localStorage && (event.key === STORAGE_KEY || event.key === null)) {
|
|
7635
|
+
clearCache();
|
|
7636
|
+
}
|
|
7520
7637
|
});
|
|
7638
|
+
clearCache();
|
|
7521
7639
|
}
|
|
7522
7640
|
function getGroupProductIds(entry) {
|
|
7523
7641
|
const ids = [entry.product_id_];
|
|
@@ -7960,6 +8078,15 @@ function useNocodeFormWidget(props, emit) {
|
|
|
7960
8078
|
...colIndex !== void 0 ? { colIndex } : {}
|
|
7961
8079
|
});
|
|
7962
8080
|
}
|
|
8081
|
+
if (eventType === "onChange" && dataRelationShip?.renderModeType === RenderModeEnum.FormMode) {
|
|
8082
|
+
const keys = widget.props?.valueChangeDataSourceKeys;
|
|
8083
|
+
if (keys?.length) {
|
|
8084
|
+
const current = value.value;
|
|
8085
|
+
await instance.value?.dataSourceManager?.queryOnValueChange(keys, {
|
|
8086
|
+
cleared: current == null || current === "" || Array.isArray(current) && !current.length
|
|
8087
|
+
});
|
|
8088
|
+
}
|
|
8089
|
+
}
|
|
7963
8090
|
if (eventType === "onBlur" && dataRelationShip?.renderModeType === RenderModeEnum.FormMode && !instance.value?.controller?.preparing) {
|
|
7964
8091
|
instance.value?.validation.requestLive("blur", true);
|
|
7965
8092
|
}
|
|
@@ -8042,6 +8169,7 @@ function useDependency(widget, props) {
|
|
|
8042
8169
|
const { isFieldModel, subFieldKey } = widget.props;
|
|
8043
8170
|
const fieldWidget = ref(cloneDeep(props.widget));
|
|
8044
8171
|
const { instance, formStateStore } = useRuntimeInstanceServices();
|
|
8172
|
+
const basicInfo = inject(NCB_PROVIDE.DATA_RELATION_SHIP);
|
|
8045
8173
|
const targetFieldId = getRuntimeDataFieldId(widget.props);
|
|
8046
8174
|
const configDependency = widget.props.componentDependency?.configDependency || {};
|
|
8047
8175
|
const controlledFormData = computed(() => {
|
|
@@ -8060,7 +8188,8 @@ function useDependency(widget, props) {
|
|
|
8060
8188
|
props.widget.props,
|
|
8061
8189
|
props.widget.id,
|
|
8062
8190
|
row,
|
|
8063
|
-
parent
|
|
8191
|
+
parent,
|
|
8192
|
+
basicInfo?.formChangeStatus
|
|
8064
8193
|
);
|
|
8065
8194
|
},
|
|
8066
8195
|
(displayProps) => {
|
|
@@ -8647,6 +8776,15 @@ async function applyConsumeObjectTraceChange(opts) {
|
|
|
8647
8776
|
}
|
|
8648
8777
|
return {};
|
|
8649
8778
|
}
|
|
8779
|
+
class MBRender {
|
|
8780
|
+
// 多 Sheet / 同屏场景用 ownerId 隔离实例;基类仅声明宿主需要实现的能力。
|
|
8781
|
+
async openConsumeModal(_ownerId, _data) {
|
|
8782
|
+
throw new Error("Function openConsumeModal not implemented.");
|
|
8783
|
+
}
|
|
8784
|
+
destoryConsumeModal(_ownerId) {
|
|
8785
|
+
throw new Error("Function destoryConsumeModal not implemented.");
|
|
8786
|
+
}
|
|
8787
|
+
}
|
|
8650
8788
|
const _hoisted_1$5 = ["data-merge", "data-fill-direction"];
|
|
8651
8789
|
const _hoisted_2$1 = {
|
|
8652
8790
|
key: 0,
|
|
@@ -9063,6 +9201,7 @@ const DocumentSubTable = /* @__PURE__ */ defineComponent({
|
|
|
9063
9201
|
const newRowsData = actionType === "copyRow" ? [cloneDeep(rowData)] : Array.from({
|
|
9064
9202
|
length: rowNum
|
|
9065
9203
|
}, (_, index2) => transformUtils.addSubTableRowItem({
|
|
9204
|
+
defaultValueOrigins: instance.value?.defaultValueValidation?.defaults,
|
|
9066
9205
|
defaultData: currentFieldDefaultData.value,
|
|
9067
9206
|
quickFillData: quickFillDatas?.[index2],
|
|
9068
9207
|
subFieldId: field,
|
|
@@ -9468,8 +9607,6 @@ function waitDomStable(el, idle = 100, timeout = 2e3) {
|
|
|
9468
9607
|
var MaterialConsumeActionType = /* @__PURE__ */ ((MaterialConsumeActionType2) => {
|
|
9469
9608
|
MaterialConsumeActionType2["CONFIRM"] = "CONFIRM";
|
|
9470
9609
|
MaterialConsumeActionType2["SCAN"] = "SCAN";
|
|
9471
|
-
MaterialConsumeActionType2["VIEW_BOM"] = "VIEW_BOM";
|
|
9472
|
-
MaterialConsumeActionType2["CHANGE_PARSE_RULE"] = "CHANGE_PARSE_RULE";
|
|
9473
9610
|
return MaterialConsumeActionType2;
|
|
9474
9611
|
})(MaterialConsumeActionType || {});
|
|
9475
9612
|
const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
|
|
@@ -9620,6 +9757,7 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
|
|
|
9620
9757
|
length: rowNum
|
|
9621
9758
|
}, (_, i) => {
|
|
9622
9759
|
const row = transformUtils.addSubTableRowItem({
|
|
9760
|
+
defaultValueOrigins: instance.value?.defaultValueValidation?.defaults,
|
|
9623
9761
|
defaultData: currentFieldDefaultData.value,
|
|
9624
9762
|
quickFillData: quickFillDatas?.[i],
|
|
9625
9763
|
subFieldId: field,
|
|
@@ -9720,12 +9858,6 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
|
|
|
9720
9858
|
title: props.widget.props.tableTitle
|
|
9721
9859
|
});
|
|
9722
9860
|
break;
|
|
9723
|
-
case MaterialConsumeActionType.VIEW_BOM:
|
|
9724
|
-
tableController.openBomModal();
|
|
9725
|
-
break;
|
|
9726
|
-
case MaterialConsumeActionType.CHANGE_PARSE_RULE:
|
|
9727
|
-
tableController.changeScanRule();
|
|
9728
|
-
break;
|
|
9729
9861
|
}
|
|
9730
9862
|
};
|
|
9731
9863
|
const getNewTdInfo = (tdInfo, rowData, rowIndex) => {
|
|
@@ -9903,10 +10035,6 @@ const MaterialConsumeTable = /* @__PURE__ */ defineComponent({
|
|
|
9903
10035
|
label: "业务操作"
|
|
9904
10036
|
},
|
|
9905
10037
|
showScanBtn ? getMenuByAction(SubTableActionEnum.SCAN) : void 0,
|
|
9906
|
-
// tableController.actualBomEntries?.length
|
|
9907
|
-
// ? getMenuByAction(SubTableActionEnum.VIEW_BOM)
|
|
9908
|
-
// : undefined,
|
|
9909
|
-
// getMenuByAction(SubTableActionEnum.CHANGE_PARSE_RULE),
|
|
9910
10038
|
{
|
|
9911
10039
|
type: SubTableActionMenuTypeEnum.DIVIDER
|
|
9912
10040
|
},
|
|
@@ -10192,7 +10320,6 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
10192
10320
|
showInsertMultiple: { type: Boolean, default: false },
|
|
10193
10321
|
showEditBtn: { type: Boolean, default: false },
|
|
10194
10322
|
isMaterialConsume: { type: Boolean, default: false },
|
|
10195
|
-
showBom: { type: Boolean, default: false },
|
|
10196
10323
|
showScanBtn: { type: Boolean, default: false },
|
|
10197
10324
|
showConfirmBtn: { type: Boolean, default: false },
|
|
10198
10325
|
noPopover: { type: Boolean, default: false },
|
|
@@ -10216,19 +10343,6 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
10216
10343
|
label: "条码扫描",
|
|
10217
10344
|
icon: "size24 icon-saoma1"
|
|
10218
10345
|
},
|
|
10219
|
-
{
|
|
10220
|
-
show: props.showBom,
|
|
10221
|
-
type: "action",
|
|
10222
|
-
key: SubTableActionEnum.VIEW_BOM,
|
|
10223
|
-
label: "BOM查看",
|
|
10224
|
-
icon: "size24 icon-a-bom11"
|
|
10225
|
-
},
|
|
10226
|
-
{
|
|
10227
|
-
type: "action",
|
|
10228
|
-
key: SubTableActionEnum.CHANGE_PARSE_RULE,
|
|
10229
|
-
label: "条码解析规则变更",
|
|
10230
|
-
icon: "icon-tiaomajiexi"
|
|
10231
|
-
},
|
|
10232
10346
|
{
|
|
10233
10347
|
type: "divider"
|
|
10234
10348
|
},
|
|
@@ -10455,7 +10569,7 @@ const _sfc_main$3 = /* @__PURE__ */ defineComponent({
|
|
|
10455
10569
|
};
|
|
10456
10570
|
}
|
|
10457
10571
|
});
|
|
10458
|
-
const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-
|
|
10572
|
+
const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-7047f1a3"]]);
|
|
10459
10573
|
const _sfc_main$2 = /* @__PURE__ */ defineComponent({
|
|
10460
10574
|
__name: "fixed-table-action",
|
|
10461
10575
|
props: {
|
|
@@ -10985,7 +11099,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
10985
11099
|
showInsertMultiple: { type: Boolean, default: true },
|
|
10986
11100
|
showEditBtn: { type: Boolean },
|
|
10987
11101
|
isMaterialConsume: { type: Boolean },
|
|
10988
|
-
showBom: { type: Boolean },
|
|
10989
11102
|
showScanBtn: { type: Boolean },
|
|
10990
11103
|
showConfirmBtn: { type: Boolean },
|
|
10991
11104
|
noPopover: { type: Boolean },
|
|
@@ -11042,7 +11155,6 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
11042
11155
|
showDelBtn: __props.showDelBtn,
|
|
11043
11156
|
showQuickFillBtn: __props.showQuickFillBtn,
|
|
11044
11157
|
noPopover: __props.noPopover,
|
|
11045
|
-
showBom: __props.showBom,
|
|
11046
11158
|
showConfirmBtn: __props.showConfirmBtn,
|
|
11047
11159
|
showEditBtn: __props.showEditBtn,
|
|
11048
11160
|
showInsertMultiple: __props.showInsertMultiple,
|
|
@@ -11050,79 +11162,79 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
11050
11162
|
isMaterialConsume: __props.isMaterialConsume,
|
|
11051
11163
|
menus: __props.menus,
|
|
11052
11164
|
onMenuClick
|
|
11053
|
-
}, null, 8, ["showDelBtn", "showQuickFillBtn", "noPopover", "
|
|
11165
|
+
}, null, 8, ["showDelBtn", "showQuickFillBtn", "noPopover", "showConfirmBtn", "showEditBtn", "showInsertMultiple", "showScanBtn", "isMaterialConsume", "menus"]);
|
|
11054
11166
|
};
|
|
11055
11167
|
}
|
|
11056
11168
|
});
|
|
11057
|
-
const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
11169
|
+
const DynamicTableAction = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8710052f"]]);
|
|
11058
11170
|
export {
|
|
11059
|
-
|
|
11060
|
-
|
|
11171
|
+
ScanParamType as $,
|
|
11172
|
+
MaterialConsumptionPatternEnum as A,
|
|
11061
11173
|
BorderTD as B,
|
|
11062
|
-
|
|
11174
|
+
validateObjectBomForScan as C,
|
|
11063
11175
|
DEFAULT_BOOLEAN_FIELD_WIDTH as D,
|
|
11064
|
-
|
|
11065
|
-
|
|
11066
|
-
|
|
11067
|
-
|
|
11068
|
-
|
|
11069
|
-
|
|
11070
|
-
|
|
11071
|
-
|
|
11176
|
+
resolveObjectBomEntry as E,
|
|
11177
|
+
FormModelController as F,
|
|
11178
|
+
runWithFillProduct as G,
|
|
11179
|
+
useNocodeFormWidget as H,
|
|
11180
|
+
applyConsumeObjectTraceChange as I,
|
|
11181
|
+
getObjectBomProductQuery as J,
|
|
11182
|
+
EMPTY_PRODUCT_VERSION_ID as K,
|
|
11183
|
+
normalizeHistoricalAutofillRow as L,
|
|
11072
11184
|
MAX_RUNTIME_SHEETS as M,
|
|
11073
|
-
|
|
11074
|
-
|
|
11075
|
-
|
|
11076
|
-
|
|
11077
|
-
|
|
11078
|
-
|
|
11079
|
-
|
|
11080
|
-
|
|
11081
|
-
|
|
11082
|
-
|
|
11083
|
-
|
|
11084
|
-
|
|
11085
|
-
|
|
11086
|
-
|
|
11185
|
+
readSealValue as N,
|
|
11186
|
+
isSealStamped as O,
|
|
11187
|
+
stampSealValue as P,
|
|
11188
|
+
isValidSealValue as Q,
|
|
11189
|
+
clearSealValue as R,
|
|
11190
|
+
NCB_PROVIDE as S,
|
|
11191
|
+
calculateFormula as T,
|
|
11192
|
+
useStyles as U,
|
|
11193
|
+
useDependency as V,
|
|
11194
|
+
useFieldPresentation as W,
|
|
11195
|
+
useRuntimeEditorFlusher as X,
|
|
11196
|
+
RuntimeFormStateStore as Y,
|
|
11197
|
+
createRuntimeInstanceContext as Z,
|
|
11198
|
+
RuntimeInstanceRegistry as _,
|
|
11087
11199
|
MAX_RUNTIME_SHEET_TITLE_LENGTH as a,
|
|
11088
|
-
|
|
11089
|
-
|
|
11090
|
-
|
|
11091
|
-
|
|
11092
|
-
|
|
11093
|
-
|
|
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
|
-
|
|
11200
|
+
SubTableActionMenuTypeEnum as a$,
|
|
11201
|
+
RequiredQtyCalcRule as a0,
|
|
11202
|
+
MBRender as a1,
|
|
11203
|
+
MCRender as a2,
|
|
11204
|
+
moveSealValue as a3,
|
|
11205
|
+
DocumentPaper as a4,
|
|
11206
|
+
DynamicTableAction as a5,
|
|
11207
|
+
_sfc_main$5 as a6,
|
|
11208
|
+
resolveRuntimeFieldProps as a7,
|
|
11209
|
+
resolveRuntimeFieldState as a8,
|
|
11210
|
+
assembleRules as a9,
|
|
11211
|
+
RuntimeAsyncTaskCoordinator as aA,
|
|
11212
|
+
RuntimeDependencyService as aB,
|
|
11213
|
+
RuntimeFieldRegistry as aC,
|
|
11214
|
+
RuntimeInstanceEventBus as aD,
|
|
11215
|
+
RuntimePersistenceCoordinator as aE,
|
|
11216
|
+
RuntimeValidationService as aF,
|
|
11217
|
+
SubTableCore as aG,
|
|
11218
|
+
buildFormChangeDisplayRows as aH,
|
|
11219
|
+
convertV1Runtime as aI,
|
|
11220
|
+
detailsHaveFormChangeRowOps as aJ,
|
|
11221
|
+
extractFormChangeRowDetails as aK,
|
|
11222
|
+
getFormChangeRowKey as aL,
|
|
11223
|
+
getFormChangeRowOp as aM,
|
|
11224
|
+
getSubTableQuickFillInfo as aN,
|
|
11225
|
+
isAnnLocationSelected as aO,
|
|
11226
|
+
isBlank as aP,
|
|
11227
|
+
isFormChangeGhostRow as aQ,
|
|
11228
|
+
normalizeHistoricalFieldConfig as aR,
|
|
11229
|
+
pickObjectFieldKeys as aS,
|
|
11230
|
+
recordSubtableRowAdd as aT,
|
|
11231
|
+
recordSubtableRowDelete as aU,
|
|
11232
|
+
relocateDeletedRowsToEnd as aV,
|
|
11233
|
+
resolveAnnotationFieldLocation as aW,
|
|
11234
|
+
resolveFormChangeRowUi as aX,
|
|
11235
|
+
resolveRowFormChangeMark as aY,
|
|
11236
|
+
setSelectMobileTdId as aZ,
|
|
11237
|
+
stripLegacyFormConfigFromPaper as a_,
|
|
11126
11238
|
getRuntimeDependencyOutputKey as aa,
|
|
11127
11239
|
isRowAddedInCurrentFormChange as ab,
|
|
11128
11240
|
resolveFormulaData as ac,
|
|
@@ -11138,53 +11250,54 @@ export {
|
|
|
11138
11250
|
useMaterialBalance as am,
|
|
11139
11251
|
collectFormChangeFieldLocations as an,
|
|
11140
11252
|
nextFormChangeRowViewHistoryId as ao,
|
|
11141
|
-
|
|
11142
|
-
|
|
11143
|
-
|
|
11144
|
-
|
|
11145
|
-
|
|
11146
|
-
|
|
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
|
-
|
|
11253
|
+
BaseFormModelFetcher as ap,
|
|
11254
|
+
DeviceConnector as aq,
|
|
11255
|
+
DocumentLoading as ar,
|
|
11256
|
+
DynamicQuickFillModal as as,
|
|
11257
|
+
FixedQuickFillModal as at,
|
|
11258
|
+
FormTmplConfigController as au,
|
|
11259
|
+
LEGACY_RUNTIME_FORM_CONFIG_KEYS as av,
|
|
11260
|
+
LEGACY_RUNTIME_SHEET_ID as aw,
|
|
11261
|
+
LEGACY_RUNTIME_SHEET_TITLE as ax,
|
|
11262
|
+
MCDataUtil as ay,
|
|
11263
|
+
OCR_MODEL_PRECISION_ENUM_KEY as az,
|
|
11264
|
+
bindFormulaCacheInvalidation as b,
|
|
11265
|
+
getMenuByAction as b0,
|
|
11266
|
+
SubTableActionEnum as b1,
|
|
11267
|
+
resolveScanFillData as b2,
|
|
11268
|
+
resolveScanParsedValue as b3,
|
|
11269
|
+
buildDefaultMapFromProfile as b4,
|
|
11270
|
+
buildFieldStatusFromProfile as b5,
|
|
11271
|
+
getRowHandlersForFieldChange as b6,
|
|
11272
|
+
getInsertSubMenu as b7,
|
|
11273
|
+
resolveScanAdjustType as b8,
|
|
11274
|
+
resolveScanQty as b9,
|
|
11275
|
+
toDateOnly as ba,
|
|
11276
|
+
hasSubtableBusinessData as bb,
|
|
11277
|
+
getCopySubMenu as bc,
|
|
11278
|
+
isProductBatchEmptyRow as bd,
|
|
11279
|
+
currentParamsConfig as c,
|
|
11280
|
+
MULTI_SHEET_SCHEMA_VERSION as d,
|
|
11281
|
+
normalizeGridColumnWidth as e,
|
|
11282
|
+
createRuntimeDocumentV2 as f,
|
|
11283
|
+
getParseFormulaVarInfos as g,
|
|
11284
|
+
clampSealPosition as h,
|
|
11285
|
+
normalizeSealDiameter as i,
|
|
11286
|
+
normalizeFieldWidth as j,
|
|
11287
|
+
isCellAutoLineBreak as k,
|
|
11288
|
+
useFormTmplConfig as l,
|
|
11289
|
+
findFieldProfile as m,
|
|
11177
11290
|
normalizeFieldFontSize as n,
|
|
11178
|
-
|
|
11179
|
-
|
|
11180
|
-
|
|
11181
|
-
|
|
11182
|
-
|
|
11183
|
-
|
|
11184
|
-
|
|
11185
|
-
|
|
11186
|
-
|
|
11187
|
-
|
|
11188
|
-
|
|
11189
|
-
|
|
11291
|
+
normalizeHistoricalBusinessRow as o,
|
|
11292
|
+
DeviceLinkTmplUtil as p,
|
|
11293
|
+
normalizeAIOcrTmpl as q,
|
|
11294
|
+
useWidgetStaticAttrs as r,
|
|
11295
|
+
useRuntimeInstanceServices as s,
|
|
11296
|
+
setSelectValidatorId as t,
|
|
11297
|
+
useFormModel as u,
|
|
11298
|
+
setSelectAnnotationId as v,
|
|
11299
|
+
useRuntimeRowState as w,
|
|
11300
|
+
getObjectBomMaterialLotQuery as x,
|
|
11301
|
+
buildObjectLotExtraQuery as y,
|
|
11302
|
+
resolveObjectFieldKeys as z
|
|
11190
11303
|
};
|