@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.
Files changed (112) hide show
  1. package/dist/{BaseComponent-vgYIyddq.js → BaseComponent-DXIDs5gk.js} +4 -3
  2. package/dist/{VueVideoPlayer-Ca2aYCnh.js → VueVideoPlayer-DhyIm-g1.js} +2 -2
  3. package/dist/{align-editor-Bpdx7EAg.js → align-editor-BcbgVXRp.js} +1 -1
  4. package/dist/{barcode-design-l88FtSJH.js → barcode-design-BiCt0aS7.js} +3 -2
  5. package/dist/base/index.es.js +156 -13
  6. package/dist/{diagonal-design-BrC_JEX_.js → diagonal-design-DmvWALIE.js} +3 -2
  7. package/dist/{dynamic-table-action--l3y-33T.js → dynamic-table-action-fDIIzS2J.js} +40 -18
  8. 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
  9. package/dist/{edit.utils-CXmmCnxE-CLHOa5aM.js → edit.utils-CXmmCnxE-DxArFSxZ.js} +1 -1
  10. package/dist/excel.css +53 -53
  11. package/dist/{exceljs.min-DC03-hj2.js → exceljs.min-CjKNZPlo.js} +2 -2
  12. package/dist/{font-editor-Cdbnw5gf.js → font-editor-DseGyVgB.js} +3 -3
  13. package/dist/{image-design-B2Ujtrgf.js → image-design-Dr-L9AdG.js} +2 -2
  14. package/dist/{index-CbXb5NUR.js → index-0W-MEvEf.js} +3 -2
  15. package/dist/{index-Dfx_FNTM.js → index-4acBM2Lp.js} +3 -2
  16. package/dist/{index-NJMyznIn.js → index-B29_mID7.js} +4 -3
  17. package/dist/{index-DLURy62t.js → index-B34ZIwqL.js} +3 -2
  18. package/dist/{index-d-BkSigM.js → index-BPgCZjqV.js} +2 -1
  19. package/dist/{index-BObb1Ah_.js → index-BY7RGawr.js} +3 -2
  20. package/dist/{index-BHrga-sR.js → index-BctQMMgh.js} +3 -2
  21. package/dist/{index-BP9XsPy_.js → index-BdJ4ouEl.js} +2 -1
  22. package/dist/{index-BOw6pLMO.js → index-BjI7JCne.js} +5 -4
  23. package/dist/{index-C2NlobVm.js → index-BxZ3M7eP.js} +2 -1
  24. package/dist/{index-BqWM4biL.js → index-C4tVTc9U.js} +3 -2
  25. package/dist/{index-CinlHNlv.js → index-C6dFliaf.js} +2 -1
  26. package/dist/{index-BTt4zC25.js → index-C70T1sVm.js} +847 -478
  27. package/dist/{index-CFr4e8Xs.js → index-C8OPhJhI.js} +2 -1
  28. package/dist/{index-VbeM2qtu.js → index-CAdGL3Vp.js} +3 -2
  29. package/dist/{index-CyRyKW5Z.js → index-CEmRRPE7.js} +3 -2
  30. package/dist/{index-Cy3W1BCw.js → index-CJ9CrORT.js} +4 -3
  31. package/dist/{index-2FOQLZQX.js → index-CScWLXnC.js} +3 -2
  32. package/dist/{index-BwPjN5_z.js → index-CX_eR36M.js} +3 -2
  33. package/dist/{index-qIYTDaGB.js → index-CXh-4yX8.js} +4 -3
  34. package/dist/{index-DHi56KLO.js → index-CewKz2Ro.js} +2 -1
  35. package/dist/{index-BmkcFEIb.js → index-D5IrgJyh.js} +3 -2
  36. package/dist/{index-1RcD_jJ_.js → index-DKRpaNo1.js} +2 -1
  37. package/dist/{index-ElmEtsp1.js → index-DKf57IGi.js} +2 -1
  38. package/dist/{index-BfvMXo6W.js → index-DNC5VG8P.js} +3 -2
  39. package/dist/{index-DoKgmcyb.js → index-DcjOJuDw.js} +3 -2
  40. package/dist/{index-Bt1-V2lW.js → index-DqLVW6ej.js} +4 -3
  41. package/dist/{index-DAOq48BR.js → index-DrmR7WIs.js} +3 -2
  42. package/dist/{index-CosS1BAQ.js → index-DsCTXMxB.js} +2 -1
  43. package/dist/{index-isNDc9Eg.js → index-JkPJqZ_5.js} +3 -2
  44. package/dist/{index-Ls2829xQ.js → index-Nytm1-X9.js} +2 -2
  45. package/dist/{index-q6aP_omk.js → index-hcCJUBne.js} +2 -1
  46. package/dist/{index-CdmpbReR.js → index-iRameN0x.js} +3 -2
  47. package/dist/{index-CCJHoK5a.js → index-lwjRRvDn.js} +3 -2
  48. package/dist/{index-OtzvrfOW.js → index-r4MF8_-h.js} +3 -2
  49. package/dist/index.es.js +4 -2
  50. package/dist/{mb-render-BcBofCau.js → mb-render-BdRsSczc.js} +1 -1
  51. 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
  52. package/dist/{pagination-design-C6BIV4Ko.js → pagination-design-9Z_iRIKM.js} +3 -2
  53. package/dist/paper-widget-design-BGotQsIf.js +4 -0
  54. package/dist/{print-runtime-instance-BuO2RPZB.js → print-runtime-instance-BBOww4jg.js} +1 -1
  55. package/dist/{print-snapshot-renderer-CJiTu8_l.js → print-snapshot-renderer-DGt44saz.js} +3 -3
  56. package/dist/{qrcode-design-DCAMHxR6.js → qrcode-design-qbUjPX-B.js} +1 -1
  57. package/dist/{revo-grid.entry-s6oHfg7z.js → revo-grid.entry-RzymRzb0.js} +1 -1
  58. package/dist/{revogr-attribution_7.entry-CBEbTBbC.js → revogr-attribution_7.entry-CxTEXm8Q.js} +3 -3
  59. package/dist/{revogr-clipboard_3.entry-DtE8OXYS.js → revogr-clipboard_3.entry-DQEid83u.js} +2 -2
  60. package/dist/{revogr-data_4.entry-seTKTkAE.js → revogr-data_4.entry-ASovYZWH.js} +2 -2
  61. package/dist/{revogr-filter-panel.entry-DSQR-lUK.js → revogr-filter-panel.entry-j_V74kgz.js} +1 -1
  62. package/dist/seal-design-DP1XaAY8.js +4 -0
  63. package/dist/{serialnumber-design-B3WHGrfc.js → serialnumber-design-DXKTYOY7.js} +1 -1
  64. package/dist/shared/index.es.js +2 -2
  65. package/dist/{single-field-drop-DFjo8ISo.js → single-field-drop-CLjaHjL-.js} +2 -2
  66. package/dist/{size-editor-DKJpM9UW.js → size-editor-C62H_eRP.js} +1 -1
  67. package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +21 -0
  68. package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +3 -0
  69. package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/field-keys.d.ts +2 -0
  70. package/dist/src/index.d.ts +6 -0
  71. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +2 -2
  72. package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +1 -0
  73. package/dist/src/nocode-base/src/core/sub-table/utils/sterilize/field-keys.d.ts +1 -2
  74. package/dist/src/nocode-base/src/hooks/render-page/runtime-data-sources.d.ts +45 -0
  75. package/dist/src/nocode-base/src/hooks/render-page/types.d.ts +3 -0
  76. package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +39 -0
  77. package/dist/src/nocode-base/src/hooks/useRuntimeInstanceServices.d.ts +21 -0
  78. package/dist/src/nocode-base/src/runtime/conversions/v1-runtime.d.ts +1 -1
  79. package/dist/src/nocode-base/src/runtime/runtime-field-state.d.ts +5 -2
  80. package/dist/src/nocode-base/src/runtime/runtime-instance-registry.d.ts +5 -5
  81. package/dist/src/nocode-base/src/types/common/base.d.ts +2 -0
  82. package/dist/src/online-form/src/components/device/device-select.vue.d.ts +1 -1
  83. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +124 -0
  84. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +62 -0
  85. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +6 -0
  86. package/dist/src/online-form/src/views/designer/types/index.d.ts +5 -0
  87. package/dist/src/online-form/src/views/render/__components__/_field_/_base_/cell/cell-media.vue.d.ts +1 -1
  88. package/dist/src/online-form/src/views/render/__components__/_field_/seal/index.d.ts +1 -0
  89. package/dist/src/shared/components/DoubleInput/double-input.vue.d.ts +162 -2
  90. package/dist/src/shared/components/LimitedNumberInput/limited-number-input.vue.d.ts +41 -0
  91. package/dist/src/shared/components/LimitedNumberInput/number-input-rules.d.ts +16 -0
  92. package/dist/{sub-table-factory-5l0MTqvt.js → sub-table-factory-sn1Ek1c9.js} +16 -14
  93. package/dist/{text-design-B69j6Z_b.js → text-design-CwHfwel0.js} +3 -2
  94. package/dist/{throttle-Cpk1LoGk-DfnQ57mt.js → throttle-Cpk1LoGk-BHDq1lM3.js} +1 -1
  95. package/dist/{timediff-design-BUqlRNkO.js → timediff-design-8kCO3aXz.js} +2 -1
  96. package/dist/{trace-like-wrapper-D5VFdJ3W.js → trace-like-wrapper-CxPz9Trr.js} +3 -2
  97. 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
  98. package/dist/web-render/index.es.js +4 -3
  99. package/dist/{widget-barcode-Bt55wEEk.js → widget-barcode-CRxh3tC2.js} +5 -4
  100. package/dist/{widget-diagonal-BSkoDXjJ.js → widget-diagonal-CO586oV2.js} +4 -3
  101. package/dist/{widget-image-BxycuGZB.js → widget-image-CE6kVnu5.js} +5 -5
  102. package/dist/{widget-line-DZ9sK1Zj.js → widget-line-Br4oIssb.js} +3 -2
  103. package/dist/{widget-pagination-WerXXmx2.js → widget-pagination-BHwjrBV5.js} +6 -5
  104. package/dist/{widget-power-Bln2T1C-.js → widget-power-BySYsE15.js} +4 -3
  105. package/dist/{widget-qrcode-BQWQXzru.js → widget-qrcode-D6b0T_Qa.js} +4 -3
  106. package/dist/{widget-rangelimit-E8yqsqv3.js → widget-rangelimit-DTH7nrqC.js} +3 -3
  107. package/dist/{widget-serialnumber-Css27nM1.js → widget-serialnumber-DVtxhNC3.js} +1 -1
  108. package/dist/{widget-text-CD6_nGlp.js → widget-text-gBGybAXk.js} +5 -5
  109. package/dist/{widget-timediff-DQPeQkkV.js → widget-timediff-aY-maVkE.js} +3 -2
  110. package/package.json +2 -2
  111. package/dist/paper-widget-design-DujWhnh6.js +0 -4
  112. package/dist/seal-design--ciGkbUu.js +0 -4
@@ -1,6 +1,6 @@
1
- import { n as normalizeFieldWidth } from "./dynamic-table-action--l3y-33T.js";
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-D-u5mq0C.js";
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-D-u5mq0C.js";
3
- import { r as require$$0 } from "./index-Ls2829xQ.js";
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-D-u5mq0C.js";
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-BTt4zC25.js";
4
- import { Q as PaperWidgeValueType, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-D-u5mq0C.js";
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 = {
@@ -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-D-u5mq0C.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-D-u5mq0C.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--l3y-33T.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--l3y-33T.js";
5
- import { toRaw, watch, toRef, computed, defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, ref, provide, onUnmounted, markRaw, reactive, onBeforeUnmount } from "vue";
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-5l0MTqvt.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-5l0MTqvt.js";
10
- import { B as B3, F, M as M3, a as a11, u as u2 } from "../mb-render-BcBofCau.js";
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
- record.ruleCompiler = markRaw(new RuntimeRuleCompiler(record, reactive(res.basicInfo)));
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-BTt4zC25.js";
3
- import { ao as resolveDiagonalVertex, a8 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-D-u5mq0C.js";
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-D-u5mq0C.js";
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-BcBofCau.js";
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({ rowData: businessRow, field: props.field });
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(instance.value, widget.props, widget.id),
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
- this.records[context.uniqueId] = markRaw(record);
3626
- return record;
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) => {