@gct-paas/excel 0.1.39-beta.2 → 0.1.40-beta.1
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/dist/{BaseComponent-vgYIyddq.js → BaseComponent-DXIDs5gk.js} +4 -3
- package/dist/{VueVideoPlayer-Ca2aYCnh.js → VueVideoPlayer-DhyIm-g1.js} +2 -2
- package/dist/{align-editor-Bpdx7EAg.js → align-editor-BcbgVXRp.js} +1 -1
- package/dist/{barcode-design-l88FtSJH.js → barcode-design-BiCt0aS7.js} +3 -2
- package/dist/base/index.es.js +156 -13
- package/dist/{diagonal-design-BrC_JEX_.js → diagonal-design-DmvWALIE.js} +3 -2
- package/dist/{dynamic-table-action--l3y-33T.js → dynamic-table-action-fDIIzS2J.js} +40 -18
- package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-D-u5mq0C.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DhWpxyhm.js} +199 -128
- package/dist/{edit.utils-CXmmCnxE-CLHOa5aM.js → edit.utils-CXmmCnxE-DxArFSxZ.js} +1 -1
- package/dist/excel.css +53 -53
- package/dist/{exceljs.min-DC03-hj2.js → exceljs.min-CjKNZPlo.js} +2 -2
- package/dist/{font-editor-Cdbnw5gf.js → font-editor-DseGyVgB.js} +3 -3
- package/dist/{image-design-B2Ujtrgf.js → image-design-Dr-L9AdG.js} +2 -2
- package/dist/{index-CbXb5NUR.js → index-0W-MEvEf.js} +3 -2
- package/dist/{index-Dfx_FNTM.js → index-4acBM2Lp.js} +3 -2
- package/dist/{index-NJMyznIn.js → index-B29_mID7.js} +4 -3
- package/dist/{index-DLURy62t.js → index-B34ZIwqL.js} +3 -2
- package/dist/{index-d-BkSigM.js → index-BPgCZjqV.js} +2 -1
- package/dist/{index-BObb1Ah_.js → index-BY7RGawr.js} +3 -2
- package/dist/{index-BHrga-sR.js → index-BctQMMgh.js} +3 -2
- package/dist/{index-BP9XsPy_.js → index-BdJ4ouEl.js} +2 -1
- package/dist/{index-BOw6pLMO.js → index-BjI7JCne.js} +5 -4
- package/dist/{index-C2NlobVm.js → index-BxZ3M7eP.js} +2 -1
- package/dist/{index-BqWM4biL.js → index-C4tVTc9U.js} +3 -2
- package/dist/{index-CinlHNlv.js → index-C6dFliaf.js} +2 -1
- package/dist/{index-BTt4zC25.js → index-C70T1sVm.js} +847 -478
- package/dist/{index-CFr4e8Xs.js → index-C8OPhJhI.js} +2 -1
- package/dist/{index-VbeM2qtu.js → index-CAdGL3Vp.js} +3 -2
- package/dist/{index-CyRyKW5Z.js → index-CEmRRPE7.js} +3 -2
- package/dist/{index-Cy3W1BCw.js → index-CJ9CrORT.js} +4 -3
- package/dist/{index-2FOQLZQX.js → index-CScWLXnC.js} +3 -2
- package/dist/{index-BwPjN5_z.js → index-CX_eR36M.js} +3 -2
- package/dist/{index-qIYTDaGB.js → index-CXh-4yX8.js} +4 -3
- package/dist/{index-DHi56KLO.js → index-CewKz2Ro.js} +2 -1
- package/dist/{index-BmkcFEIb.js → index-D5IrgJyh.js} +3 -2
- package/dist/{index-1RcD_jJ_.js → index-DKRpaNo1.js} +2 -1
- package/dist/{index-ElmEtsp1.js → index-DKf57IGi.js} +2 -1
- package/dist/{index-BfvMXo6W.js → index-DNC5VG8P.js} +3 -2
- package/dist/{index-DoKgmcyb.js → index-DcjOJuDw.js} +3 -2
- package/dist/{index-Bt1-V2lW.js → index-DqLVW6ej.js} +4 -3
- package/dist/{index-DAOq48BR.js → index-DrmR7WIs.js} +3 -2
- package/dist/{index-CosS1BAQ.js → index-DsCTXMxB.js} +2 -1
- package/dist/{index-isNDc9Eg.js → index-JkPJqZ_5.js} +3 -2
- package/dist/{index-Ls2829xQ.js → index-Nytm1-X9.js} +2 -2
- package/dist/{index-q6aP_omk.js → index-hcCJUBne.js} +2 -1
- package/dist/{index-CdmpbReR.js → index-iRameN0x.js} +3 -2
- package/dist/{index-CCJHoK5a.js → index-lwjRRvDn.js} +3 -2
- package/dist/{index-OtzvrfOW.js → index-r4MF8_-h.js} +3 -2
- package/dist/index.es.js +4 -2
- package/dist/{mb-render-BcBofCau.js → mb-render-BdRsSczc.js} +1 -1
- package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-D8-YBa_f.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-D32c_U8J.js} +2 -1
- package/dist/{pagination-design-C6BIV4Ko.js → pagination-design-9Z_iRIKM.js} +3 -2
- package/dist/paper-widget-design-BGotQsIf.js +4 -0
- package/dist/{print-runtime-instance-BuO2RPZB.js → print-runtime-instance-BBOww4jg.js} +1 -1
- package/dist/{print-snapshot-renderer-CJiTu8_l.js → print-snapshot-renderer-DGt44saz.js} +3 -3
- package/dist/{qrcode-design-DCAMHxR6.js → qrcode-design-qbUjPX-B.js} +1 -1
- package/dist/{revo-grid.entry-s6oHfg7z.js → revo-grid.entry-RzymRzb0.js} +1 -1
- package/dist/{revogr-attribution_7.entry-CBEbTBbC.js → revogr-attribution_7.entry-CxTEXm8Q.js} +3 -3
- package/dist/{revogr-clipboard_3.entry-DtE8OXYS.js → revogr-clipboard_3.entry-DQEid83u.js} +2 -2
- package/dist/{revogr-data_4.entry-seTKTkAE.js → revogr-data_4.entry-ASovYZWH.js} +2 -2
- package/dist/{revogr-filter-panel.entry-DSQR-lUK.js → revogr-filter-panel.entry-j_V74kgz.js} +1 -1
- package/dist/seal-design-DP1XaAY8.js +4 -0
- package/dist/{serialnumber-design-B3WHGrfc.js → serialnumber-design-DXKTYOY7.js} +1 -1
- package/dist/shared/index.es.js +2 -2
- package/dist/{single-field-drop-DFjo8ISo.js → single-field-drop-CLjaHjL-.js} +2 -2
- package/dist/{size-editor-DKJpM9UW.js → size-editor-C62H_eRP.js} +1 -1
- package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +21 -0
- package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +3 -0
- package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/field-keys.d.ts +2 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +2 -2
- package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +1 -0
- package/dist/src/nocode-base/src/core/sub-table/utils/sterilize/field-keys.d.ts +1 -2
- package/dist/src/nocode-base/src/hooks/render-page/runtime-data-sources.d.ts +45 -0
- package/dist/src/nocode-base/src/hooks/render-page/types.d.ts +3 -0
- package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +39 -0
- package/dist/src/nocode-base/src/hooks/useRuntimeInstanceServices.d.ts +21 -0
- package/dist/src/nocode-base/src/runtime/conversions/v1-runtime.d.ts +1 -1
- 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 +5 -5
- package/dist/src/nocode-base/src/types/common/base.d.ts +2 -0
- package/dist/src/online-form/src/components/device/device-select.vue.d.ts +1 -1
- package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +124 -0
- package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +62 -0
- 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/types/index.d.ts +5 -0
- 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_/seal/index.d.ts +1 -0
- 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/{sub-table-factory-5l0MTqvt.js → sub-table-factory-sn1Ek1c9.js} +16 -14
- package/dist/{text-design-B69j6Z_b.js → text-design-CwHfwel0.js} +3 -2
- package/dist/{throttle-Cpk1LoGk-DfnQ57mt.js → throttle-Cpk1LoGk-BHDq1lM3.js} +1 -1
- package/dist/{timediff-design-BUqlRNkO.js → timediff-design-8kCO3aXz.js} +2 -1
- package/dist/{trace-like-wrapper-D5VFdJ3W.js → trace-like-wrapper-CxPz9Trr.js} +3 -2
- package/dist/{value-editor.vue_vue_type_style_index_0_lang-CEuFEVMv.js → value-editor.vue_vue_type_style_index_0_lang-CzEZ0CY7.js} +3 -2
- package/dist/web-render/index.es.js +4 -3
- package/dist/{widget-barcode-Bt55wEEk.js → widget-barcode-CRxh3tC2.js} +5 -4
- package/dist/{widget-diagonal-BSkoDXjJ.js → widget-diagonal-CO586oV2.js} +4 -3
- package/dist/{widget-image-BxycuGZB.js → widget-image-CE6kVnu5.js} +5 -5
- package/dist/{widget-line-DZ9sK1Zj.js → widget-line-Br4oIssb.js} +3 -2
- package/dist/{widget-pagination-WerXXmx2.js → widget-pagination-BHwjrBV5.js} +6 -5
- package/dist/{widget-power-Bln2T1C-.js → widget-power-BySYsE15.js} +4 -3
- package/dist/{widget-qrcode-BQWQXzru.js → widget-qrcode-D6b0T_Qa.js} +4 -3
- package/dist/{widget-rangelimit-E8yqsqv3.js → widget-rangelimit-DTH7nrqC.js} +3 -3
- package/dist/{widget-serialnumber-Css27nM1.js → widget-serialnumber-DVtxhNC3.js} +1 -1
- package/dist/{widget-text-CD6_nGlp.js → widget-text-gBGybAXk.js} +5 -5
- package/dist/{widget-timediff-DQPeQkkV.js → widget-timediff-aY-maVkE.js} +3 -2
- package/package.json +2 -2
- package/dist/paper-widget-design-DujWhnh6.js +0 -4
- package/dist/seal-design--ciGkbUu.js +0 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { n as normalizeFieldWidth } from "./dynamic-table-action
|
|
1
|
+
import { n as normalizeFieldWidth } from "./dynamic-table-action-fDIIzS2J.js";
|
|
2
2
|
import { get, pick } from "lodash-es";
|
|
3
|
-
import { F as FIELD_TYPE } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
3
|
+
import { F as FIELD_TYPE } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DhWpxyhm.js";
|
|
4
4
|
import { f as fontStyleAttrs } from "./config.enum-B8UZQTON.js";
|
|
5
5
|
const DESIGNER_DEFAULT_TYPES = /* @__PURE__ */ new Set([
|
|
6
6
|
FIELD_TYPE.DEVICE,
|
|
@@ -45,7 +45,8 @@ class BaseComponent {
|
|
|
45
45
|
cmpWidth: String(normalizeFieldWidth(data.info?.compWidth)),
|
|
46
46
|
cmpHeight: get(data.info, "compHeight", 30),
|
|
47
47
|
size: get(data.info, "fontSize", 12),
|
|
48
|
-
componentDependency: get(data.info, "componentDependency", void 0)
|
|
48
|
+
componentDependency: get(data.info, "componentDependency", void 0),
|
|
49
|
+
valueChangeDataSourceKeys: get(data.info, "valueChangeDataSourceKeys", void 0)
|
|
49
50
|
};
|
|
50
51
|
}
|
|
51
52
|
getCommonStyle(data) {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { defineComponent, toRaw, shallowRef, computed, ref, readonly, onMounted, watch, normalizeClass, onBeforeUnmount, h as h$1, watchEffect, unref, createVNode, reactive } from "vue";
|
|
2
|
-
import { M as commonjsGlobal, N as getDefaultExportFromCjs } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
3
|
-
import { r as require$$0 } from "./index-
|
|
2
|
+
import { M as commonjsGlobal, N as getDefaultExportFromCjs } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DhWpxyhm.js";
|
|
3
|
+
import { r as require$$0 } from "./index-Nytm1-X9.js";
|
|
4
4
|
var window_1;
|
|
5
5
|
var hasRequiredWindow;
|
|
6
6
|
function requireWindow() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, Fragment, renderList, normalizeClass, createVNode, withCtx, createElementVNode, createTextVNode, toDisplayString } from "vue";
|
|
2
|
-
import { a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
2
|
+
import { a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DhWpxyhm.js";
|
|
3
3
|
const _hoisted_1 = { class: "align-group-box" };
|
|
4
4
|
const _hoisted_2 = ["onClick"];
|
|
5
5
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { defineComponent, ref, computed, watch, openBlock, createElementBlock, normalizeStyle, normalizeClass, createElementVNode, toDisplayString, createCommentVNode } from "vue";
|
|
2
2
|
import { pick } from "lodash-es";
|
|
3
|
-
import { u as useSpreadSheet, h as useModelFields, l as loadBwip } from "./index-
|
|
4
|
-
import { Q as PaperWidgeValueType, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
3
|
+
import { u as useSpreadSheet, h as useModelFields, l as loadBwip } from "./index-C70T1sVm.js";
|
|
4
|
+
import { Q as PaperWidgeValueType, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DhWpxyhm.js";
|
|
5
5
|
import "dayjs";
|
|
6
|
+
import "@gct-paas/form-base";
|
|
6
7
|
import "ant-design-vue";
|
|
7
8
|
const _hoisted_1 = { class: "wrapper" };
|
|
8
9
|
const _hoisted_2 = {
|
package/dist/base/index.es.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import { E as api, $ as PlatformEnum, F as FIELD_TYPE, bi as getRowId, bj as findRuntimeTableRow, b8 as RenderModeEnum, C as ComponentTypeEnum, bv as assembleRules, bw as isAttachFieldActive, aI as Dependency_ENUM, bk as calculateFormula, aH as ASSIGNMENTSTRATEGY_ENUM, R as getParseFormulaVarInfos, bx as fetchHistoryConsume, by as isBomGranted, aW as renderUtils, bu as uuid2, bz as parseFrontConfig, aL as CheckDsTypeEnum, aF as transformUtils, bA as baseDataUtils, bB as initializeSealFields, Y as FormTypeEnum, bC as normalizeToArray, bD as safeParseArray, bE as BpmnNodeTypeEnum, bF as mergeByMultiKey, a8 as _export_sfc, bG as evaluateInspectionDecisionRule, bH as areValidationCommentsEqual, bI as useNocodeEmitter, bJ as commonUtils, aJ as EntityModelCategoryEnum } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
2
|
-
import { aO, aQ, a$, a1, bK, bL, B, bM, y, ai, bN, bO, bP, bh, bQ, aT, ay, aP, aM, aN, bR, aj, an, bS, bT, aG, a3, ah, az, aR, a0, al, L, bU, bV, bW, O, p, P, aa, o, Q, A, bX, bY, ax, aw, a6, a2, a4, a5, a7, f, bZ, am, aq, ak, b_, b$, c0, c1, bg, c2, c3, c4, c5, c6, c7, c8, c9, ca, cb, bl, cc, cd, aZ, ce, b0, b1, cf, cg, ch, ci, cj, ck, cl, cm, cn, co, aY, cp, b2, be, cq, cr, cs, ao, t, aS, ct, cu, bm, a_ } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
3
|
-
import { L as getRuntimeDataFieldId, x as parseRuntimeFieldPath, O as buildRuntimeFieldPath, P as resolveRuntimeFieldProps, Q as resolveRuntimeFieldState, T as getRuntimeDependencyOutputKey, U as isRowAddedInCurrentFormChange, l as MaterialConsumptionPatternEnum, V as MaterialConsumeTableController, W as setFormulaParamsConfig, X as normalizeRuntime, F as createRuntimeInstanceContext, R as RuntimeFormStateStore, Y as RuntimeSheetService, g as getBusinessFieldKey, Z as validateObjectBomQtyOnSubmit, $ as closeValidatorPopovers, a0 as enrichFormChangeRowDetails, N as NCB_PROVIDE, G as RuntimeInstanceRegistry, a1 as useMaterialBalance, a2 as collectFormChangeFieldLocations, a3 as nextFormChangeRowViewHistoryId } from "../dynamic-table-action
|
|
4
|
-
import { B as B2, a4 as a42, b, _, a5 as a52, J, a6 as a62, K, E, a7 as a72, a8, a9, aa as aa2, ab, ac, M, ad, ae, af, ag, ah as ah2, ai as ai2, aj as aj2, ak as ak2, q, al as al2, k, am as am2, c, an as an2, ao as ao2, ap, aq as aq2, j, t as t2, ar, as, at, au, d, w, a, av, aw as aw2, ax as ax2, ay as ay2, az as az2, aA, m, r, aB, o as o2, h, aC, s, aD, z, A as A2, u, p as p2, C, f as f2, i, y as y2, e, v } from "../dynamic-table-action
|
|
5
|
-
import { toRaw, watch, toRef, computed, defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, ref, provide, onUnmounted,
|
|
6
|
-
import { cloneDeep, defaults, isEmpty, merge } from "lodash-es";
|
|
1
|
+
import { E as api, $ as PlatformEnum, F as FIELD_TYPE, bi as getRowId, bj as findRuntimeTableRow, b8 as RenderModeEnum, C as ComponentTypeEnum, bv as assembleRules, bw as isAttachFieldActive, aI as Dependency_ENUM, bk as calculateFormula, aH as ASSIGNMENTSTRATEGY_ENUM, R as getParseFormulaVarInfos, bx as fetchHistoryConsume, by as isBomGranted, aW as renderUtils, bu as uuid2, bz as parseFrontConfig, aL as CheckDsTypeEnum, aF as transformUtils, bA as baseDataUtils, bB as initializeSealFields, Y as FormTypeEnum, bC as normalizeToArray, bD as safeParseArray, bE as BpmnNodeTypeEnum, bF as mergeByMultiKey, a8 as _export_sfc, bG as evaluateInspectionDecisionRule, bH as areValidationCommentsEqual, bI as useNocodeEmitter, bJ as commonUtils, aJ as EntityModelCategoryEnum } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DhWpxyhm.js";
|
|
2
|
+
import { aO, aQ, a$, a1, bK, bL, B, bM, y, ai, bN, bO, bP, bh, bQ, aT, ay, aP, aM, aN, bR, aj, an, bS, bT, aG, a3, ah, az, aR, a0, al, L, bU, bV, bW, O, p, P, aa, o, Q, A, bX, bY, ax, aw, a6, a2, a4, a5, a7, f, bZ, am, aq, ak, b_, b$, c0, c1, bg, c2, c3, c4, c5, c6, c7, c8, c9, ca, cb, bl, cc, cd, aZ, ce, b0, b1, cf, cg, ch, ci, cj, ck, cl, cm, cn, co, aY, cp, b2, be, cq, cr, cs, ao, t, aS, ct, cu, bm, a_ } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DhWpxyhm.js";
|
|
3
|
+
import { L as getRuntimeDataFieldId, x as parseRuntimeFieldPath, O as buildRuntimeFieldPath, P as resolveRuntimeFieldProps, Q as resolveRuntimeFieldState, T as getRuntimeDependencyOutputKey, U as isRowAddedInCurrentFormChange, l as MaterialConsumptionPatternEnum, V as MaterialConsumeTableController, W as setFormulaParamsConfig, X as normalizeRuntime, F as createRuntimeInstanceContext, R as RuntimeFormStateStore, Y as RuntimeSheetService, g as getBusinessFieldKey, Z as validateObjectBomQtyOnSubmit, $ as closeValidatorPopovers, a0 as enrichFormChangeRowDetails, N as NCB_PROVIDE, G as RuntimeInstanceRegistry, a1 as useMaterialBalance, a2 as collectFormChangeFieldLocations, a3 as nextFormChangeRowViewHistoryId } from "../dynamic-table-action-fDIIzS2J.js";
|
|
4
|
+
import { B as B2, a4 as a42, b, _, a5 as a52, J, a6 as a62, K, E, a7 as a72, a8, a9, aa as aa2, ab, ac, M, ad, ae, af, ag, ah as ah2, ai as ai2, aj as aj2, ak as ak2, q, al as al2, k, am as am2, c, an as an2, ao as ao2, ap, aq as aq2, j, t as t2, ar, as, at, au, d, w, a, av, aw as aw2, ax as ax2, ay as ay2, az as az2, aA, m, r, aB, o as o2, h, aC, s, aD, z, A as A2, u, p as p2, C, f as f2, i, y as y2, e, v } from "../dynamic-table-action-fDIIzS2J.js";
|
|
5
|
+
import { toRaw, watch, toRef, computed, defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, shallowRef, markRaw, ref, provide, onUnmounted, reactive, onBeforeUnmount } from "vue";
|
|
6
|
+
import { cloneDeep, defaults, isEmpty, merge, get } from "lodash-es";
|
|
7
7
|
import "dayjs";
|
|
8
|
-
import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "../sub-table-factory-
|
|
9
|
-
import { A as A3, D, M as M2, a as a10, P as P2, b as b3, c as c10, d as d2, e as e2, W, f as f3, g, h as h2 } from "../sub-table-factory-
|
|
10
|
-
import {
|
|
8
|
+
import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "../sub-table-factory-sn1Ek1c9.js";
|
|
9
|
+
import { A as A3, D, M as M2, a as a10, P as P2, b as b3, c as c10, d as d2, e as e2, W, f as f3, g, h as h2 } from "../sub-table-factory-sn1Ek1c9.js";
|
|
10
|
+
import { createDataSourceManager, getLegacyFieldFillTargets, createFieldFillRuntime, isFieldFillTargetProtected, buildDataSourceContext } from "@gct-paas/form-base";
|
|
11
|
+
import { B as B3, F, M as M3, a as a11, u as u2 } from "../mb-render-BdRsSczc.js";
|
|
11
12
|
const InstanceStatusValues = {
|
|
12
13
|
/** 作废状态 */
|
|
13
14
|
ABANDON: "ABANDON",
|
|
@@ -501,7 +502,8 @@ class RuntimeRuleCompiler {
|
|
|
501
502
|
props,
|
|
502
503
|
widget.id,
|
|
503
504
|
entry.row,
|
|
504
|
-
entry.parentRow
|
|
505
|
+
entry.parentRow,
|
|
506
|
+
this.basicInfo.formChangeStatus
|
|
505
507
|
);
|
|
506
508
|
const state = resolveRuntimeFieldState(effectiveProps, this.basicInfo);
|
|
507
509
|
const rules = assembleRules({
|
|
@@ -601,7 +603,8 @@ class RuntimeRuleCompiler {
|
|
|
601
603
|
props,
|
|
602
604
|
widget.id,
|
|
603
605
|
entry.row,
|
|
604
|
-
entry.parentRow
|
|
606
|
+
entry.parentRow,
|
|
607
|
+
this.basicInfo.formChangeStatus
|
|
605
608
|
);
|
|
606
609
|
return [
|
|
607
610
|
entry.key,
|
|
@@ -1110,7 +1113,8 @@ function createRuntimeInstanceInitializer(props, payload, getConsumeData) {
|
|
|
1110
1113
|
const { selfInfo, paramsConfig, fillModeType } = result || {};
|
|
1111
1114
|
setFormulaParamsConfig({
|
|
1112
1115
|
routingParamList: selfInfo?.routingParamList || [],
|
|
1113
|
-
inspectionParamList: selfInfo?.inspectionParamList || []
|
|
1116
|
+
inspectionParamList: selfInfo?.inspectionParamList || [],
|
|
1117
|
+
deviceParamList: selfInfo?.deviceParamList || []
|
|
1114
1118
|
});
|
|
1115
1119
|
let runtimeFormStateStore;
|
|
1116
1120
|
let scriptRunner;
|
|
@@ -2105,6 +2109,135 @@ function createRuntimeValidationBinding(runtimeRegistry, getInfo, platformType)
|
|
|
2105
2109
|
prepareInitialView
|
|
2106
2110
|
};
|
|
2107
2111
|
}
|
|
2112
|
+
function createRuntimeDataSourceBinding(registry, payload) {
|
|
2113
|
+
const dataSourceManagerMap = shallowRef({});
|
|
2114
|
+
async function bindDataSources(record, info, selfInfo) {
|
|
2115
|
+
if (payload.isMockReport || !["instance", "batchInstance"].includes(payload.factoryType)) return;
|
|
2116
|
+
const isDetail = () => typeof payload.isDetailPage === "function" ? payload.isDetailPage() : payload.isDetailPage;
|
|
2117
|
+
if (isDetail()) return;
|
|
2118
|
+
const { context, formState } = record;
|
|
2119
|
+
const { uniqueId, formConfig } = context;
|
|
2120
|
+
const canExecute = () => registry.get(uniqueId) === record && info.renderModeType === RenderModeEnum.FormMode && !isDetail();
|
|
2121
|
+
const getContext = () => buildDataSourceContext({ parameters: info.paramsConfig ?? {}, instance: selfInfo });
|
|
2122
|
+
let fieldFillRuntime;
|
|
2123
|
+
const manager = markRaw(
|
|
2124
|
+
createDataSourceManager({
|
|
2125
|
+
canExecute,
|
|
2126
|
+
initializeOnEnable: false,
|
|
2127
|
+
sources: formConfig.dataSources ?? [],
|
|
2128
|
+
onManualLoad: (key) => fieldFillRuntime?.reapplyDataSource(key),
|
|
2129
|
+
getContext,
|
|
2130
|
+
getInstanceId: () => info.key,
|
|
2131
|
+
getForm: () => formState.state,
|
|
2132
|
+
adapters: payload.dataSourceAdapters
|
|
2133
|
+
})
|
|
2134
|
+
);
|
|
2135
|
+
let taskSequence = 0;
|
|
2136
|
+
async function track(execute) {
|
|
2137
|
+
const result = await record.asyncTasks.run(
|
|
2138
|
+
`data-source:${uniqueId}:${++taskSequence}`,
|
|
2139
|
+
async () => {
|
|
2140
|
+
try {
|
|
2141
|
+
return { ok: true, value: await execute() };
|
|
2142
|
+
} catch (error) {
|
|
2143
|
+
return { ok: false, error };
|
|
2144
|
+
}
|
|
2145
|
+
}
|
|
2146
|
+
);
|
|
2147
|
+
if (!result) throw new Error(`数源实例已释放:${uniqueId}`);
|
|
2148
|
+
if (!result.ok) throw result.error;
|
|
2149
|
+
return result.value;
|
|
2150
|
+
}
|
|
2151
|
+
const exposedManager = markRaw({
|
|
2152
|
+
...manager,
|
|
2153
|
+
query: (...args) => track(() => manager.query(...args)),
|
|
2154
|
+
reload: (...args) => track(() => manager.reload(...args)),
|
|
2155
|
+
reloadAll: () => track(() => manager.reloadAll()),
|
|
2156
|
+
queryOnValueChange: (...args) => track(() => manager.queryOnValueChange(...args)),
|
|
2157
|
+
initialize: () => track(() => manager.initialize())
|
|
2158
|
+
});
|
|
2159
|
+
const protectedTargets = getLegacyFieldFillTargets(formConfig);
|
|
2160
|
+
const targets = /* @__PURE__ */ new Map();
|
|
2161
|
+
for (const { widget } of record.fields.allWidgets()) {
|
|
2162
|
+
const config = widget.props;
|
|
2163
|
+
const fieldKey = config.field;
|
|
2164
|
+
if (!config.subFieldKey && !config.subModelKey && fieldKey) {
|
|
2165
|
+
targets.set(fieldKey, {
|
|
2166
|
+
field: config.isFieldModel ? config.fieldLink || fieldKey : fieldKey,
|
|
2167
|
+
isFieldModel: !!config.isFieldModel
|
|
2168
|
+
});
|
|
2169
|
+
if (config.componentDependency?.configDependency?.assignment?.expression) {
|
|
2170
|
+
protectedTargets.add(fieldKey);
|
|
2171
|
+
}
|
|
2172
|
+
}
|
|
2173
|
+
if (config.enableAutofill !== false) {
|
|
2174
|
+
for (const rule of config.autofillRules ?? []) {
|
|
2175
|
+
if (!rule.toSubModel && rule.toField) protectedTargets.add(rule.toField);
|
|
2176
|
+
}
|
|
2177
|
+
}
|
|
2178
|
+
}
|
|
2179
|
+
fieldFillRuntime = markRaw(
|
|
2180
|
+
createFieldFillRuntime({
|
|
2181
|
+
preserveExistingValues: true,
|
|
2182
|
+
fills: formConfig.fieldFills ?? [],
|
|
2183
|
+
manager,
|
|
2184
|
+
getContext,
|
|
2185
|
+
getForm: () => formState.state,
|
|
2186
|
+
getFormField: (key) => {
|
|
2187
|
+
const target = targets.get(key);
|
|
2188
|
+
return target?.isFieldModel ? formState.state._OPCT?.[target.field] : get(formState.state, key);
|
|
2189
|
+
},
|
|
2190
|
+
hasTargetField: (key) => targets.has(key),
|
|
2191
|
+
canWrite: (key) => canExecute() && targets.has(key) && !isFieldFillTargetProtected(key, protectedTargets, (field) => {
|
|
2192
|
+
const target = targets.get(field);
|
|
2193
|
+
return target?.isFieldModel ? `_OPCT.${target.field}` : target?.field ?? field;
|
|
2194
|
+
}),
|
|
2195
|
+
setField: (key, value) => {
|
|
2196
|
+
if (registry.get(uniqueId) !== record) throw new Error(`字段填充实例已释放:${uniqueId}`);
|
|
2197
|
+
const target = targets.get(key);
|
|
2198
|
+
if (target.isFieldModel) {
|
|
2199
|
+
if (!formState.state._OPCT) formState.setField("_OPCT", { _DICT: {} }, "async");
|
|
2200
|
+
formState.setObjectField(
|
|
2201
|
+
formState.state._OPCT,
|
|
2202
|
+
target.field,
|
|
2203
|
+
value,
|
|
2204
|
+
"async",
|
|
2205
|
+
`_OPCT.${target.field}`
|
|
2206
|
+
);
|
|
2207
|
+
} else {
|
|
2208
|
+
formState.setField(target.field, value, "async");
|
|
2209
|
+
}
|
|
2210
|
+
}
|
|
2211
|
+
})
|
|
2212
|
+
);
|
|
2213
|
+
let initializationStarted = false;
|
|
2214
|
+
async function initializeOnce() {
|
|
2215
|
+
if (initializationStarted || !canExecute()) return;
|
|
2216
|
+
initializationStarted = true;
|
|
2217
|
+
try {
|
|
2218
|
+
await exposedManager.initialize();
|
|
2219
|
+
} catch (error) {
|
|
2220
|
+
initializationStarted = false;
|
|
2221
|
+
throw error;
|
|
2222
|
+
}
|
|
2223
|
+
}
|
|
2224
|
+
const stopModeWatch = watch(canExecute, (enabled) => {
|
|
2225
|
+
if (enabled) void initializeOnce().catch(() => void 0);
|
|
2226
|
+
}, { flush: "sync" });
|
|
2227
|
+
record.dataSourceManager = exposedManager;
|
|
2228
|
+
dataSourceManagerMap.value = { ...dataSourceManagerMap.value, [uniqueId]: exposedManager };
|
|
2229
|
+
registry.registerDisposable(uniqueId, () => {
|
|
2230
|
+
stopModeWatch();
|
|
2231
|
+
record.dataSourceManager = void 0;
|
|
2232
|
+
fieldFillRuntime?.dispose();
|
|
2233
|
+
manager.dispose();
|
|
2234
|
+
const { [uniqueId]: _2, ...rest } = dataSourceManagerMap.value;
|
|
2235
|
+
dataSourceManagerMap.value = rest;
|
|
2236
|
+
});
|
|
2237
|
+
await initializeOnce();
|
|
2238
|
+
}
|
|
2239
|
+
return { dataSourceManagerMap, bindDataSources };
|
|
2240
|
+
}
|
|
2108
2241
|
function createRuntimeAnnotationBinding(runtimeRegistry, basicInfoList, props, payload, updateRenderModeType) {
|
|
2109
2242
|
const normalizeAnnotationLocation = (uniqueId, path, sheetId) => {
|
|
2110
2243
|
const record = runtimeRegistry.require(uniqueId);
|
|
@@ -2209,6 +2342,10 @@ function useRenderPageFactory(props, payload) {
|
|
|
2209
2342
|
const finisher = ref(0);
|
|
2210
2343
|
const runtimeRegistry = new RuntimeInstanceRegistry();
|
|
2211
2344
|
provide(NCB_PROVIDE.RUNTIME_INSTANCE_REGISTRY, runtimeRegistry);
|
|
2345
|
+
const { dataSourceManagerMap, bindDataSources } = createRuntimeDataSourceBinding(
|
|
2346
|
+
runtimeRegistry,
|
|
2347
|
+
payload
|
|
2348
|
+
);
|
|
2212
2349
|
const basicInfoList = ref([]);
|
|
2213
2350
|
const selfInfoList = ref([]);
|
|
2214
2351
|
const { getConsumeData } = useMaterialBalance();
|
|
@@ -2254,6 +2391,7 @@ function useRenderPageFactory(props, payload) {
|
|
|
2254
2391
|
install: async (prepared, isCurrent) => {
|
|
2255
2392
|
clear();
|
|
2256
2393
|
const installed = [];
|
|
2394
|
+
const dataSourceBindings = [];
|
|
2257
2395
|
const installedSelfInfos = /* @__PURE__ */ new Set();
|
|
2258
2396
|
try {
|
|
2259
2397
|
for (const res of prepared) {
|
|
@@ -2282,14 +2420,18 @@ function useRenderPageFactory(props, payload) {
|
|
|
2282
2420
|
basicInfoList.value.push(res.basicInfo);
|
|
2283
2421
|
selfInfoList.value.push(res.selfInfo);
|
|
2284
2422
|
installedSelfInfos.add(selfInfoList.value[selfInfoList.value.length - 1]);
|
|
2285
|
-
|
|
2423
|
+
const reactiveInfo = reactive(res.basicInfo);
|
|
2424
|
+
record.ruleCompiler = markRaw(new RuntimeRuleCompiler(record, reactiveInfo));
|
|
2286
2425
|
bindRuntimeValidation(uniqueId);
|
|
2287
2426
|
bindFormValidationSync(uniqueId);
|
|
2288
2427
|
record.fieldInitializer = markRaw(
|
|
2289
2428
|
new RuntimeFieldInitializer(record, res.basicInfo, res.selfInfo)
|
|
2290
2429
|
);
|
|
2291
2430
|
bindRuntimeBusinessServices(runtimeRegistry, record, res.selfInfo.dataStatus);
|
|
2431
|
+
dataSourceBindings.push(bindDataSources(record, reactiveInfo, res.selfInfo));
|
|
2292
2432
|
}
|
|
2433
|
+
await Promise.all(dataSourceBindings);
|
|
2434
|
+
if (!isCurrent()) return;
|
|
2293
2435
|
await Promise.all(installed.map(prepareInitialView));
|
|
2294
2436
|
if (!isCurrent()) return;
|
|
2295
2437
|
const selfId = Array.isArray(props.selfId) ? props.selfId[0] : props.selfId;
|
|
@@ -2356,6 +2498,7 @@ function useRenderPageFactory(props, payload) {
|
|
|
2356
2498
|
clear();
|
|
2357
2499
|
});
|
|
2358
2500
|
return {
|
|
2501
|
+
dataSourceManagerMap,
|
|
2359
2502
|
counter,
|
|
2360
2503
|
finisher,
|
|
2361
2504
|
loading,
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createBlock } from "vue";
|
|
2
|
-
import { h as useModelFields, D as Diagonal } from "./index-
|
|
3
|
-
import { ao as resolveDiagonalVertex, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
2
|
+
import { h as useModelFields, D as Diagonal } from "./index-C70T1sVm.js";
|
|
3
|
+
import { ao as resolveDiagonalVertex, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DhWpxyhm.js";
|
|
4
4
|
import "lodash-es";
|
|
5
5
|
import "dayjs";
|
|
6
|
+
import "@gct-paas/form-base";
|
|
6
7
|
import "ant-design-vue";
|
|
7
8
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
9
|
__name: "diagonal-design",
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { reactive, toRaw, computed, watch, onScopeDispose, inject, h, shallowReactive, markRaw, ref, nextTick, toRef, provide, 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 { ai as CellWidgetViewState, F as FIELD_TYPE, b8 as RenderModeEnum, Y as FormTypeEnum, bE as BpmnNodeTypeEnum, cv as getFieldPlaceholder, bV as MobileFillTypeEnum, C as ComponentTypeEnum, $ as PlatformEnum, cw as isReferenceOptionActive, E as api, bu as uuid2, c3 as calcUtils, bj as findRuntimeTableRow, c7 as ensureTableRowKeys, c0 as bindRuntimeTableColumns, bi as getRowId, cx as FRONT_ROW_KEY, cm as isTableRowKeyMatch, bw as isAttachFieldActive, cy as filterRulesByTrigger, cz as isEmptyValue$1, c4 as decodeTableCellRowKey, c6 as ensureFrontRowKey, b0 as getParseRuleInfo, aF as transformUtils, aY as materialCheck, aZ as getLotLockedReason, a_ as validateReinspectionDate, bn as FormulaRuleFieldKeyEnum, f as SubTableType, b1 as getParseRuleValue, cA as buildError, H as CreateType, bl as findRuntimeParentRow, aI as Dependency_ENUM, aH as ASSIGNMENTSTRATEGY_ENUM, bJ as commonUtils, aM as DeviceLink, a8 as _export_sfc, cg as getRenderedRuntimeTableCell, y as CellType, cq as relocateDeletedRowsToEnd, cB as resetTableRowIdentity, J as useModal, cC as q, cD as QUICK_FILL_ALLOWED_FIELDS, cE as groupFixedTableRows, cF as processQuickFillRows, cG as getIsGroupEmpty } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
2
|
+
import { ai as CellWidgetViewState, F as FIELD_TYPE, b8 as RenderModeEnum, Y as FormTypeEnum, bE as BpmnNodeTypeEnum, cv as getFieldPlaceholder, bV as MobileFillTypeEnum, C as ComponentTypeEnum, $ as PlatformEnum, cw as isReferenceOptionActive, E as api, bu as uuid2, c3 as calcUtils, bj as findRuntimeTableRow, c7 as ensureTableRowKeys, c0 as bindRuntimeTableColumns, bi as getRowId, cx as FRONT_ROW_KEY, cm as isTableRowKeyMatch, bw as isAttachFieldActive, cy as filterRulesByTrigger, cz as isEmptyValue$1, c4 as decodeTableCellRowKey, c6 as ensureFrontRowKey, b0 as getParseRuleInfo, aF as transformUtils, aY as materialCheck, aZ as getLotLockedReason, a_ as validateReinspectionDate, bn as FormulaRuleFieldKeyEnum, f as SubTableType, b1 as getParseRuleValue, cA as buildError, H as CreateType, bl as findRuntimeParentRow, aI as Dependency_ENUM, aH as ASSIGNMENTSTRATEGY_ENUM, bJ as commonUtils, aM as DeviceLink, a8 as _export_sfc, cg as getRenderedRuntimeTableCell, y as CellType, cq as relocateDeletedRowsToEnd, cB as resetTableRowIdentity, J as useModal, cC as q, cD as QUICK_FILL_ALLOWED_FIELDS, cE as groupFixedTableRows, cF as processQuickFillRows, cG as getIsGroupEmpty } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DhWpxyhm.js";
|
|
3
3
|
import { cloneDeep, isEmpty, has, pickBy, isNil, mergeWith, omit, last, pick, merge } from "lodash-es";
|
|
4
4
|
import dayjs from "dayjs";
|
|
5
5
|
import { a as useNamespace, I as Icon } from "./AntdIcon-DCIaV352.js";
|
|
6
|
+
import "@gct-paas/form-base";
|
|
6
7
|
import { Modal, message } from "ant-design-vue";
|
|
7
|
-
import { u as useFormModel } from "./mb-render-
|
|
8
|
+
import { u as useFormModel } from "./mb-render-BdRsSczc.js";
|
|
8
9
|
var MaterialConsumptionPatternEnum = /* @__PURE__ */ ((MaterialConsumptionPatternEnum2) => {
|
|
9
10
|
MaterialConsumptionPatternEnum2["RECORD"] = "record";
|
|
10
11
|
MaterialConsumptionPatternEnum2["BOM"] = "bom";
|
|
@@ -202,7 +203,7 @@ class RuntimeDependencyService {
|
|
|
202
203
|
await Promise.allSettled(jobs);
|
|
203
204
|
}
|
|
204
205
|
}
|
|
205
|
-
function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow) {
|
|
206
|
+
function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow, formChangeStatus = false) {
|
|
206
207
|
const result = { ...props };
|
|
207
208
|
const { context } = record;
|
|
208
209
|
const tableField = props.subFieldKey;
|
|
@@ -211,7 +212,11 @@ function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow) {
|
|
|
211
212
|
const core = Object.values(context.services.subTableCoreFactory?.coreMap ?? {}).find(
|
|
212
213
|
(item) => item.subFieldKey === tableField
|
|
213
214
|
);
|
|
214
|
-
const status = core?.calcFieldStatus({
|
|
215
|
+
const status = core?.calcFieldStatus({
|
|
216
|
+
rowData: businessRow,
|
|
217
|
+
field: props.field,
|
|
218
|
+
formChangeStatus
|
|
219
|
+
});
|
|
215
220
|
if (status?.disabled != null) result.fieldDisabled = status.disabled;
|
|
216
221
|
if (status?.readonly != null) {
|
|
217
222
|
result.field_readonly = status.readonly;
|
|
@@ -221,7 +226,7 @@ function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow) {
|
|
|
221
226
|
const config = context.businessIndex.fixedTables.find(
|
|
222
227
|
(table) => table.field === tableField
|
|
223
228
|
)?.bizTableConfig;
|
|
224
|
-
if (config?.dataLockControlField) {
|
|
229
|
+
if (!formChangeStatus && config?.dataLockControlField) {
|
|
225
230
|
if (props.field === config.dataLockControlField) {
|
|
226
231
|
if (isPersistedSignatureLockActive(config, businessRow)) {
|
|
227
232
|
result.field_readonly = true;
|
|
@@ -229,7 +234,7 @@ function resolveRuntimeFieldProps(record, props, widgetId, row, parentRow) {
|
|
|
229
234
|
}
|
|
230
235
|
} else if (isSignatureLockActive(config, businessRow)) result.fieldDisabled = true;
|
|
231
236
|
}
|
|
232
|
-
} else if (!tableField && !props.subModelKey) {
|
|
237
|
+
} else if (!formChangeStatus && !tableField && !props.subModelKey) {
|
|
233
238
|
result.fieldDisabled ||= context.businessIndex.fixedTables.some(
|
|
234
239
|
(table) => table.bizTableConfig?.mainFieldBindings?.includes(props.field) && (record.formState.state[table.field] ?? []).some(
|
|
235
240
|
(item) => isSignatureLockActive(table.bizTableConfig, item)
|
|
@@ -365,6 +370,8 @@ function useRuntimeInstanceServices(uniqueIdSource) {
|
|
|
365
370
|
instance,
|
|
366
371
|
/** 控制器负责 Sheet 切换、编辑器收口和提交;尚未挂载时为空。 */
|
|
367
372
|
controller: computed(() => instance.value?.controller),
|
|
373
|
+
/** 全部 Sheet 共享的数源管理器,随实例注册与销毁。 */
|
|
374
|
+
dataSourceManager: computed(() => instance.value?.dataSourceManager),
|
|
368
375
|
/** 表单级配置独立于 Sheet 的 paper;实例未注册时提供空配置。 */
|
|
369
376
|
formConfig: computed(() => instance.value?.context.formConfig ?? {}),
|
|
370
377
|
/** 实例切换时重新取对应 Store;读取数据使用 .value.state,写入使用 Store 方法。 */
|
|
@@ -450,7 +457,14 @@ function useWidgetStaticAttrs(widget) {
|
|
|
450
457
|
const targetFieldId = getRuntimeDataFieldId(widget.props);
|
|
451
458
|
const fieldState = computed(
|
|
452
459
|
() => resolveRuntimeFieldState(
|
|
453
|
-
resolveRuntimeFieldProps(
|
|
460
|
+
resolveRuntimeFieldProps(
|
|
461
|
+
instance.value,
|
|
462
|
+
widget.props,
|
|
463
|
+
widget.id,
|
|
464
|
+
void 0,
|
|
465
|
+
void 0,
|
|
466
|
+
dataRelationShip?.formChangeStatus
|
|
467
|
+
),
|
|
454
468
|
dataRelationShip
|
|
455
469
|
)
|
|
456
470
|
);
|
|
@@ -896,6 +910,8 @@ const LEGACY_RUNTIME_FORM_CONFIG_KEYS = [
|
|
|
896
910
|
"unitConversionRules",
|
|
897
911
|
"inspectionDecisionRule",
|
|
898
912
|
"customDataSource",
|
|
913
|
+
"dataSources",
|
|
914
|
+
"fieldFills",
|
|
899
915
|
"objectInitialValues",
|
|
900
916
|
"javascript",
|
|
901
917
|
"checkSignatureConfig",
|
|
@@ -3577,10 +3593,7 @@ class RuntimeInstanceEventBus {
|
|
|
3577
3593
|
class RuntimeInstanceRegistry {
|
|
3578
3594
|
/** 当前渲染入口的加载状态,由工厂更新;PreviewContainer 直接读取,无需宿主额外传参。 */
|
|
3579
3595
|
loadState = shallowReactive({ loading: false, error: void 0 });
|
|
3580
|
-
/**
|
|
3581
|
-
* 顶层对象使用浅响应式:实例新增、删除需要驱动 Vue 更新;record 内的服务类
|
|
3582
|
-
* 不需要被 Vue 深度代理,各自内部负责自己的响应式状态和生命周期
|
|
3583
|
-
*/
|
|
3596
|
+
/** 顶层容器和记录都只做浅响应式;服务类仍保持原始引用。 */
|
|
3584
3597
|
records = shallowReactive({});
|
|
3585
3598
|
/**
|
|
3586
3599
|
* 统一托管订阅、watch 和编译结果的取消函数
|
|
@@ -3622,8 +3635,9 @@ class RuntimeInstanceRegistry {
|
|
|
3622
3635
|
events,
|
|
3623
3636
|
validation
|
|
3624
3637
|
};
|
|
3625
|
-
|
|
3626
|
-
|
|
3638
|
+
const reactiveRecord = shallowReactive(record);
|
|
3639
|
+
this.records[context.uniqueId] = reactiveRecord;
|
|
3640
|
+
return reactiveRecord;
|
|
3627
3641
|
}
|
|
3628
3642
|
/**
|
|
3629
3643
|
* 在页面回调准备完成后挂载实例控制器
|
|
@@ -6554,9 +6568,9 @@ class SubTableCore {
|
|
|
6554
6568
|
const result = {};
|
|
6555
6569
|
const config = this.bizTableConfig;
|
|
6556
6570
|
if (config?.dataLockControlField && params.field === config.dataLockControlField) {
|
|
6557
|
-
result.readonly = isPersistedSignatureLockActive(config, params.rowData);
|
|
6571
|
+
result.readonly = !params.formChangeStatus && isPersistedSignatureLockActive(config, params.rowData);
|
|
6558
6572
|
} else if (config?.dataLockControlField) {
|
|
6559
|
-
result.disabled = isSignatureLockActive(config, params.rowData);
|
|
6573
|
+
result.disabled = !params.formChangeStatus && isSignatureLockActive(config, params.rowData);
|
|
6560
6574
|
}
|
|
6561
6575
|
return result;
|
|
6562
6576
|
}
|
|
@@ -6702,7 +6716,8 @@ class SubTableCore {
|
|
|
6702
6716
|
}
|
|
6703
6717
|
let currentParamsConfig = {
|
|
6704
6718
|
routingParamList: [],
|
|
6705
|
-
inspectionParamList: []
|
|
6719
|
+
inspectionParamList: [],
|
|
6720
|
+
deviceParamList: []
|
|
6706
6721
|
};
|
|
6707
6722
|
function setFormulaParamsConfig(paramsConfig = {}) {
|
|
6708
6723
|
currentParamsConfig = paramsConfig ?? {};
|
|
@@ -6723,7 +6738,8 @@ async function CALC_IS_QUALIFIED(key, value, paramList) {
|
|
|
6723
6738
|
}
|
|
6724
6739
|
const FORMULA_FUNCS = {
|
|
6725
6740
|
RoutingParamCheck: (key, value) => CALC_IS_QUALIFIED(key, value, currentParamsConfig.routingParamList || []),
|
|
6726
|
-
InspectionParamCheck: (key, value) => CALC_IS_QUALIFIED(key, value, currentParamsConfig.inspectionParamList || [])
|
|
6741
|
+
InspectionParamCheck: (key, value) => CALC_IS_QUALIFIED(key, value, currentParamsConfig.inspectionParamList || []),
|
|
6742
|
+
DeviceParamCheck: (key, value) => CALC_IS_QUALIFIED(key, value, currentParamsConfig.deviceParamList || [])
|
|
6727
6743
|
};
|
|
6728
6744
|
function registerFormulaFuncs() {
|
|
6729
6745
|
const register2 = window.NocodeAdapter.utils?.formulaRegister;
|
|
@@ -7317,6 +7333,10 @@ function useNocodeFormWidget(props, emit) {
|
|
|
7317
7333
|
...colIndex !== void 0 ? { colIndex } : {}
|
|
7318
7334
|
});
|
|
7319
7335
|
}
|
|
7336
|
+
if (eventType === "onChange" && dataRelationShip?.renderModeType === RenderModeEnum.FormMode) {
|
|
7337
|
+
const keys = widget.props?.valueChangeDataSourceKeys;
|
|
7338
|
+
if (keys?.length) await instance.value?.dataSourceManager?.queryOnValueChange(keys);
|
|
7339
|
+
}
|
|
7320
7340
|
if (eventType === "onBlur" && dataRelationShip?.renderModeType === RenderModeEnum.FormMode && !instance.value?.controller?.preparing) {
|
|
7321
7341
|
instance.value?.validation.requestLive("blur", true);
|
|
7322
7342
|
}
|
|
@@ -7399,6 +7419,7 @@ function useDependency(widget, props) {
|
|
|
7399
7419
|
const { isFieldModel, subFieldKey } = widget.props;
|
|
7400
7420
|
const fieldWidget = ref(cloneDeep(props.widget));
|
|
7401
7421
|
const { instance, formStateStore } = useRuntimeInstanceServices();
|
|
7422
|
+
const basicInfo = inject(NCB_PROVIDE.DATA_RELATION_SHIP);
|
|
7402
7423
|
const targetFieldId = getRuntimeDataFieldId(widget.props);
|
|
7403
7424
|
const configDependency = widget.props.componentDependency?.configDependency || {};
|
|
7404
7425
|
const controlledFormData = computed(() => {
|
|
@@ -7417,7 +7438,8 @@ function useDependency(widget, props) {
|
|
|
7417
7438
|
props.widget.props,
|
|
7418
7439
|
props.widget.id,
|
|
7419
7440
|
row,
|
|
7420
|
-
parent
|
|
7441
|
+
parent,
|
|
7442
|
+
basicInfo?.formChangeStatus
|
|
7421
7443
|
);
|
|
7422
7444
|
},
|
|
7423
7445
|
(displayProps) => {
|