@gct-paas/word 0.1.47-beta.0 → 0.1.47-beta.10

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 (113) hide show
  1. package/dist/base/index.d.ts +1 -0
  2. package/dist/base/input/src/input.vue.d.ts +5 -5
  3. package/dist/base/input/src/text-area.vue.d.ts +4 -4
  4. package/dist/base/rdo-tree-select/index.d.ts +3 -0
  5. package/dist/base/rdo-tree-select/src/display.d.ts +12 -0
  6. package/dist/base/rdo-tree-select/src/rdo-tree-select-more.vue.d.ts +8 -0
  7. package/dist/base/rdo-tree-select/src/rdo-tree-select-node.vue.d.ts +17 -0
  8. package/dist/base/rdo-tree-select/src/rdo-tree-select.vue.d.ts +42 -0
  9. package/dist/base/rdo-tree-select/src/types.d.ts +22 -0
  10. package/dist/base/rdo-tree-select/src/use-rdo-tree-options.d.ts +58 -0
  11. package/dist/base/select/index.d.ts +1 -0
  12. package/dist/base/select/src/searchable-select.vue.d.ts +28 -0
  13. package/dist/capabilities/panel/schema/types.d.ts +14 -4
  14. package/dist/core/command/base/CommandBase.d.ts +3 -0
  15. package/dist/core/command/commands/{Delete2DTable.d.ts → DeleteSubTable.d.ts} +3 -5
  16. package/dist/core/command/commands/SetMaterialConsumeTable.d.ts +7 -0
  17. package/dist/core/command/types.d.ts +9 -17
  18. package/dist/core/cursor/render/cursor-renderer.vue.d.ts +2 -2
  19. package/dist/core/data/DataManager.d.ts +13 -0
  20. package/dist/core/interaction/types.d.ts +5 -0
  21. package/dist/core/interaction/useInteraction.d.ts +19 -0
  22. package/dist/core/layout/LayoutMapper.d.ts +4 -0
  23. package/dist/core/layout/attach-field/AttachFieldContext.d.ts +59 -0
  24. package/dist/core/layout/attach-field/index.d.ts +2 -0
  25. package/dist/core/layout/attach-field/types.d.ts +20 -0
  26. package/dist/core/layout/handlers/fields/AttachFieldHandler.d.ts +10 -0
  27. package/dist/core/layout/handlers/fields/OptionHandler.d.ts +2 -0
  28. package/dist/core/layout/handlers/fields/index.d.ts +1 -0
  29. package/dist/core/model/document/Wtbl/Calculation.d.ts +4 -0
  30. package/dist/core/model/document/Wtbl/RegionManager.d.ts +5 -1
  31. package/dist/core/model/document/Wtbl.d.ts +5 -1
  32. package/dist/core/model/document/Wtc.d.ts +3 -3
  33. package/dist/core/model/document/wtcRegionRef.d.ts +11 -7
  34. package/dist/core/model/logic/index.d.ts +2 -0
  35. package/dist/core/model/logic/subtable/repeating/MaterialConsumeTableRegion.d.ts +37 -0
  36. package/dist/core/model/logic/types.d.ts +4 -3
  37. package/dist/core/utils/expand.d.ts +5 -3
  38. package/dist/core/view/TableCell.d.ts +5 -3
  39. package/dist/domain/active/active-types.d.ts +7 -1
  40. package/dist/domain/field/attach-field.d.ts +15 -0
  41. package/dist/index.es.js +18294 -13496
  42. package/dist/runtime/_register_/composables/panel/useActivePanel.d.ts +2 -0
  43. package/dist/runtime/canvas/__common__/context-menu/resolve-table-menu-index.d.ts +9 -0
  44. package/dist/runtime/canvas/__common__/widget-container/overlay-icon.vue.d.ts +1 -2
  45. package/dist/runtime/canvas/table/render/label-parse-rule/index.d.ts +2 -0
  46. package/dist/runtime/canvas/table/render/label-parse-rule/type.d.ts +56 -0
  47. package/dist/runtime/canvas/table/render/label-parse-rule/useLabelParsingRules.d.ts +39 -0
  48. package/dist/runtime/canvas/table/render/material-consume/bom-validator.d.ts +168 -0
  49. package/dist/runtime/canvas/table/render/material-consume/index.d.ts +3 -0
  50. package/dist/runtime/canvas/table/render/material-consume/material-consume-table-controller.d.ts +212 -0
  51. package/dist/runtime/canvas/table/render/material-consume/mc-render.d.ts +47 -0
  52. package/dist/runtime/canvas/table/render/material-consume/mc-web-render.d.ts +21 -0
  53. package/dist/runtime/canvas/table/render/material-consume/service.d.ts +49 -0
  54. package/dist/runtime/canvas/table/render/material-consume/tmpl-bom-controller.d.ts +80 -0
  55. package/dist/runtime/canvas/table/render/table-structure-overlay/sub-table-action.vue.d.ts +1 -0
  56. package/dist/runtime/canvas/table/utils/index.d.ts +9 -1
  57. package/dist/runtime/canvas/table/utils/useTableSelection.d.ts +19 -0
  58. package/dist/runtime/designer/ribbon/components/sub-table-form-modal.vue.d.ts +2 -1
  59. package/dist/runtime/factories/useFormValidator.d.ts +13 -4
  60. package/dist/runtime/factories/validation-refresh-scheduler.d.ts +7 -0
  61. package/dist/runtime/renderer/dialogs/device-scan/device-scan-dialog.vue.d.ts +198 -0
  62. package/dist/runtime/renderer/dialogs/device-scan/submit-device-scan.d.ts +25 -0
  63. package/dist/runtime/renderer/dialogs/dialog-container.vue.d.ts +3 -0
  64. package/dist/runtime/renderer/dropdowns/components/tables/component/device-type-select.vue.d.ts +11 -0
  65. package/dist/runtime/renderer/dropdowns/components/tables/composables/useTableDropdown.d.ts +9 -2
  66. package/dist/runtime/renderer/dropdowns/components/tables/rdo-table-dropdown.vue.d.ts +12 -12
  67. package/dist/runtime/renderer/dropdowns/components/tables/strategy/selectStrategy.d.ts +15 -4
  68. package/dist/runtime/renderer/dropdowns/components/tables/table-dropdown.vue.d.ts +12 -12
  69. package/dist/runtime/renderer/dropdowns/components/tables/utils/quick-search.d.ts +10 -0
  70. package/dist/runtime/renderer/dropdowns/components/tree/tree-node.vue.d.ts +2 -0
  71. package/dist/runtime/renderer/dropdowns/factories/dropdown-factory.d.ts +15 -4
  72. package/dist/runtime/renderer/dropdowns/factories/index.d.ts +2 -1
  73. package/dist/runtime/renderer/validation/validation-comment-item.vue.d.ts +2 -0
  74. package/dist/sdk/doc-runtime/composables/useValidationFullSync.d.ts +9 -0
  75. package/dist/sdk/doc-runtime/factories/document-initializer.d.ts +21 -0
  76. package/dist/sdk/doc-runtime/factories/useDocumentFactory.d.ts +3 -0
  77. package/dist/sdk/plugins/index.d.ts +1 -1
  78. package/dist/sdk/plugins/register-panel-schemas.d.ts +1 -1
  79. package/dist/suites/edhr/panel-schema/field/field.basic.d.ts +5 -0
  80. package/dist/suites/edhr/panel-schema/index.d.ts +18 -0
  81. package/dist/suites/edhr/panel-schema/material-consume-table/MaterialConsumeTablePanel.vue.d.ts +8 -0
  82. package/dist/suites/edhr/panel-schema/material-consume-table/bom-entry-editor.vue.d.ts +13 -0
  83. package/dist/suites/edhr/panel-schema/material-consume-table/bom-product-name.vue.d.ts +7 -0
  84. package/dist/suites/edhr/panel-schema/material-consume-table/material-consume-table.basic.d.ts +14 -0
  85. package/dist/suites/edhr/panel-schema/material-consume-table/parse-rule-add-btn.vue.d.ts +13 -0
  86. package/dist/suites/edhr/panel-schema/material-consume-table/parse-rule-editor.vue.d.ts +11 -0
  87. package/dist/suites/edhr/panel-schema/material-consume-table/use-product-translate.d.ts +3 -0
  88. package/dist/suites/shared/hooks/panel-props-source.d.ts +36 -0
  89. package/dist/suites/shared/hooks/useAttachedFieldActivate.d.ts +6 -0
  90. package/dist/suites/shared/hooks/useFieldPanel.d.ts +7 -0
  91. package/dist/suites/shared/hooks/useFieldPanelMeta.d.ts +11 -0
  92. package/dist/suites/shared/hooks/usePanelProps.d.ts +4 -0
  93. package/dist/suites/shared/panel/config/editor/attach-fields-editor/resolve-attach-field.d.ts +5 -0
  94. package/dist/suites/shared/panel/config/editor/attach-fields-editor/types.d.ts +4 -0
  95. package/dist/suites/shared/panel/config/editor/enum-opt-editor/types.d.ts +3 -0
  96. package/dist/suites/shared/panel/config/editor/qrcode-parse-editor/types.d.ts +18 -0
  97. package/dist/suites/shared/panel/config/editor/qrcode-parse-editor/utils.d.ts +33 -0
  98. package/dist/suites/shared/panel/modules/field-dependency-module/field-dependency-modal.vue.d.ts +3 -0
  99. package/dist/suites/shared/panel/modules/field-dependency-module/types.d.ts +2 -0
  100. package/dist/suites/shared/panel/modules/field-formula-module/field-formula-module.vue.d.ts +2 -0
  101. package/dist/suites/shared/panel/modules/field-formula-module/formula-field-options.d.ts +2 -0
  102. package/dist/suites/shared/panel/modules/table-setting-module.vue.d.ts +2 -1
  103. package/dist/types/formula.type.d.ts +140 -0
  104. package/dist/types/material.type.d.ts +132 -0
  105. package/dist/utils/TriggerUtil.d.ts +1 -1
  106. package/dist/utils/func/click.d.ts +13 -0
  107. package/dist/utils/func/form.d.ts +26 -0
  108. package/dist/utils/symbol/contextKey.d.ts +2 -0
  109. package/dist/word.css +975 -425
  110. package/package.json +2 -2
  111. package/dist/core/command/commands/DeleteBounded.d.ts +0 -12
  112. package/dist/core/command/commands/DeleteCheckTable.d.ts +0 -12
  113. package/dist/core/command/commands/DeleteRepeating.d.ts +0 -12
@@ -24,6 +24,7 @@ export * from './table';
24
24
  export * from './tooltip';
25
25
  export * from './tree';
26
26
  export * from './tree-select';
27
+ export * from './rdo-tree-select';
27
28
  export * from './date-time-picker';
28
29
  export * from './color-picker';
29
30
  export * from './avatar';
@@ -15,7 +15,7 @@ declare const __VLS_component: import('vue').DefineComponent<GctInputProps, {
15
15
  focus: () => void;
16
16
  blur: () => void;
17
17
  select: () => void;
18
- inputRef: import('vue').Ref<HTMLInputElement | HTMLTextAreaElement | null, HTMLInputElement | HTMLTextAreaElement | null>;
18
+ inputRef: import('vue').Ref<HTMLTextAreaElement | HTMLInputElement | null, HTMLTextAreaElement | HTMLInputElement | null>;
19
19
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
20
20
  input: (value: string | number, event: Event) => any;
21
21
  search: (value: string | number) => any;
@@ -25,8 +25,8 @@ declare const __VLS_component: import('vue').DefineComponent<GctInputProps, {
25
25
  keydown: (event: KeyboardEvent) => any;
26
26
  keypress: (event: KeyboardEvent) => any;
27
27
  keyup: (event: KeyboardEvent) => any;
28
- "update:modelValue": (value: string | number) => any;
29
28
  clear: () => any;
29
+ "update:modelValue": (value: string | number) => any;
30
30
  pressEnter: (event: KeyboardEvent) => any;
31
31
  }, string, import('vue').PublicProps, Readonly<GctInputProps> & Readonly<{
32
32
  onInput?: ((value: string | number, event: Event) => any) | undefined;
@@ -37,8 +37,8 @@ declare const __VLS_component: import('vue').DefineComponent<GctInputProps, {
37
37
  onKeydown?: ((event: KeyboardEvent) => any) | undefined;
38
38
  onKeypress?: ((event: KeyboardEvent) => any) | undefined;
39
39
  onKeyup?: ((event: KeyboardEvent) => any) | undefined;
40
- "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
41
40
  onClear?: (() => any) | undefined;
41
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
42
42
  onPressEnter?: ((event: KeyboardEvent) => any) | undefined;
43
43
  }>, {
44
44
  name: string;
@@ -47,6 +47,8 @@ declare const __VLS_component: import('vue').DefineComponent<GctInputProps, {
47
47
  readonly: boolean;
48
48
  disabled: boolean;
49
49
  size: import('./types').InputSize;
50
+ autocomplete: string;
51
+ spellcheck: boolean;
50
52
  placeholder: string;
51
53
  modelValue: string | number;
52
54
  prefix: string;
@@ -58,11 +60,9 @@ declare const __VLS_component: import('vue').DefineComponent<GctInputProps, {
58
60
  showPasswordToggle: boolean;
59
61
  maxLength: number;
60
62
  autofocus: boolean;
61
- autocomplete: string;
62
63
  rows: number;
63
64
  bordered: boolean;
64
65
  showSearchButton: boolean;
65
- spellcheck: boolean;
66
66
  customStyle: Record<string, string | number>;
67
67
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
68
68
  inputRef: HTMLInputElement;
@@ -23,8 +23,8 @@ declare const __VLS_component: import('vue').DefineComponent<GctInputProps, {
23
23
  keydown: (event: KeyboardEvent) => any;
24
24
  keypress: (event: KeyboardEvent) => any;
25
25
  keyup: (event: KeyboardEvent) => any;
26
- "update:modelValue": (value: string | number) => any;
27
26
  clear: () => any;
27
+ "update:modelValue": (value: string | number) => any;
28
28
  pressEnter: (event: KeyboardEvent) => any;
29
29
  }, string, import('vue').PublicProps, Readonly<GctInputProps> & Readonly<{
30
30
  onInput?: ((value: string | number, event: Event) => any) | undefined;
@@ -35,23 +35,23 @@ declare const __VLS_component: import('vue').DefineComponent<GctInputProps, {
35
35
  onKeydown?: ((event: KeyboardEvent) => any) | undefined;
36
36
  onKeypress?: ((event: KeyboardEvent) => any) | undefined;
37
37
  onKeyup?: ((event: KeyboardEvent) => any) | undefined;
38
- "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
39
38
  onClear?: (() => any) | undefined;
39
+ "onUpdate:modelValue"?: ((value: string | number) => any) | undefined;
40
40
  onPressEnter?: ((event: KeyboardEvent) => any) | undefined;
41
41
  }>, {
42
42
  name: string;
43
43
  readonly: boolean;
44
44
  disabled: boolean;
45
+ autocomplete: string;
46
+ spellcheck: boolean;
45
47
  placeholder: string;
46
48
  modelValue: string | number;
47
49
  allowClear: boolean;
48
50
  showCount: boolean;
49
51
  maxLength: number;
50
52
  autofocus: boolean;
51
- autocomplete: string;
52
53
  rows: number;
53
54
  bordered: boolean;
54
- spellcheck: boolean;
55
55
  customStyle: Record<string, string | number>;
56
56
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
57
57
  textareaRef: HTMLTextAreaElement;
@@ -0,0 +1,3 @@
1
+ export { default as GctRdoTreeSelect } from './src/rdo-tree-select.vue';
2
+ export type { RdoDisplayInfo } from './src/display';
3
+ export type { RdoTreeNode, RdoListParams } from './src/types';
@@ -0,0 +1,12 @@
1
+ import { RdoTreeNode } from './types';
2
+ export interface RdoDisplayInfo {
3
+ text: string;
4
+ showDefaultTag?: boolean;
5
+ }
6
+ /** 子版本选中:展示 父:子,不展示默认标签 */
7
+ export declare function buildChildDisplay(parentLabel: string, versionLabel: string): RdoDisplayInfo;
8
+ /** 父节点选中且未开启 parentToDefault:仅展示父名称 + 默认标签 */
9
+ export declare function buildParentOnlyDisplay(parentLabel: string): RdoDisplayInfo;
10
+ /** 根据 parentId:childId 解析展示文案 */
11
+ export declare function resolveDisplayByValue(value: string, findChild: (value: string) => RdoTreeNode | undefined, findParent: (parentId: string) => RdoTreeNode | undefined): RdoDisplayInfo | null;
12
+ export declare function resolveNodeDisplay(value: string, node: RdoTreeNode, findChild: (value: string) => RdoTreeNode | undefined, findParent: (parentId: string) => RdoTreeNode | undefined, parentToDefault?: boolean): RdoDisplayInfo;
@@ -0,0 +1,8 @@
1
+ declare const _default: import('vue').DefineComponent<{}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
2
+ "load-more": () => any;
3
+ }, string, import('vue').PublicProps, Readonly<{}> & Readonly<{
4
+ "onLoad-more"?: (() => any) | undefined;
5
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {
6
+ targetRef: HTMLDivElement;
7
+ }, HTMLDivElement>;
8
+ export default _default;
@@ -0,0 +1,17 @@
1
+ import { RdoTreeNode } from './types';
2
+ type __VLS_Props = {
3
+ node: RdoTreeNode;
4
+ level: number;
5
+ expandedKeys: Array<string | number>;
6
+ selectedKey?: string;
7
+ disabledParent?: boolean;
8
+ parentToDefault?: boolean;
9
+ };
10
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
11
+ select: (node: RdoTreeNode) => any;
12
+ toggle: (key: string | number) => any;
13
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
14
+ onSelect?: ((node: RdoTreeNode) => any) | undefined;
15
+ onToggle?: ((key: string | number) => any) | undefined;
16
+ }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
17
+ export default _default;
@@ -0,0 +1,42 @@
1
+ import { RdoDisplayInfo } from './display';
2
+ import { RdoTreeNode } from './types';
3
+ type __VLS_Props = {
4
+ modelValue?: string | null;
5
+ modelKey: string;
6
+ modelCategory?: string;
7
+ placeholder?: string;
8
+ disabledParent?: boolean;
9
+ parentToDefault?: boolean;
10
+ disabled?: boolean;
11
+ allowClear?: boolean;
12
+ popperWidth?: number;
13
+ pageSize?: number;
14
+ };
15
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
16
+ change: (value?: string | null | undefined, node?: RdoTreeNode | undefined, display?: RdoDisplayInfo | undefined) => any;
17
+ "update:modelValue": (value?: string | null | undefined) => any;
18
+ "update:fullPathValue": (value?: string | null | undefined) => any;
19
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
20
+ onChange?: ((value?: string | null | undefined, node?: RdoTreeNode | undefined, display?: RdoDisplayInfo | undefined) => any) | undefined;
21
+ "onUpdate:modelValue"?: ((value?: string | null | undefined) => any) | undefined;
22
+ "onUpdate:fullPathValue"?: ((value?: string | null | undefined) => any) | undefined;
23
+ }>, {
24
+ disabled: boolean;
25
+ pageSize: number;
26
+ placeholder: string;
27
+ popperWidth: number;
28
+ allowClear: boolean;
29
+ disabledParent: boolean;
30
+ parentToDefault: boolean;
31
+ modelCategory: string;
32
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
33
+ dropdownRef: import('vue').CreateComponentPublicInstanceWithMixins<Record<string, any> & {}, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, import('vue').PublicProps, {}, false, {}, {}, {}, {}, string, {}, any, import('vue').ComponentProvideOptions, {
34
+ P: {};
35
+ B: {};
36
+ D: {};
37
+ C: {};
38
+ M: {};
39
+ Defaults: {};
40
+ }, Record<string, any> & {}, {}, {}, {}, {}, {}> | null;
41
+ }, HTMLDivElement>;
42
+ export default _default;
@@ -0,0 +1,22 @@
1
+ export interface RdoTreeNode {
2
+ key: string | number;
3
+ /** 树下拉项展示文案 */
4
+ title: string;
5
+ /** 选中后输入框展示文案(一般为 父:子) */
6
+ displayLabel?: string;
7
+ /** 父节点在列表中是否展示默认标签 */
8
+ showDefaultTag?: boolean;
9
+ children?: RdoTreeNode[];
10
+ /** 实际选中值(子节点为 parentId:childId) */
11
+ rawValue?: string;
12
+ _info?: Record<string, any>;
13
+ /** 是否为默认版本 */
14
+ isDefault?: boolean;
15
+ /** 仅用于“加载更多”占位节点 */
16
+ isLoadMore?: boolean;
17
+ disabled?: boolean;
18
+ }
19
+ export interface RdoListParams {
20
+ pageNo?: number;
21
+ pageSize?: number;
22
+ }
@@ -0,0 +1,58 @@
1
+ import { RdoDisplayInfo } from './display';
2
+ import { RdoListParams, RdoTreeNode } from './types';
3
+ export declare function useRdoTreeOptions(options: {
4
+ modelKey: string;
5
+ modelCategory?: string;
6
+ }): {
7
+ treeData: import('vue').Ref<{
8
+ key: string | number;
9
+ title: string;
10
+ displayLabel?: string | undefined;
11
+ showDefaultTag?: boolean | undefined;
12
+ children?: /*elided*/ any[] | undefined;
13
+ rawValue?: string | undefined;
14
+ _info?: Record<string, any> | undefined;
15
+ isDefault?: boolean | undefined;
16
+ isLoadMore?: boolean | undefined;
17
+ disabled?: boolean | undefined;
18
+ }[], RdoTreeNode[] | {
19
+ key: string | number;
20
+ title: string;
21
+ displayLabel?: string | undefined;
22
+ showDefaultTag?: boolean | undefined;
23
+ children?: /*elided*/ any[] | undefined;
24
+ rawValue?: string | undefined;
25
+ _info?: Record<string, any> | undefined;
26
+ isDefault?: boolean | undefined;
27
+ isLoadMore?: boolean | undefined;
28
+ disabled?: boolean | undefined;
29
+ }[]>;
30
+ loadOptions: (arg?: RdoListParams) => Promise<void>;
31
+ ensureSelectedNode: (id?: string) => Promise<void>;
32
+ getNodeDisplay: (value?: string, parentToDefault?: boolean) => RdoDisplayInfo;
33
+ initByValue: (value?: string, pageSize?: number, parentToDefault?: boolean) => Promise<RdoDisplayInfo | undefined>;
34
+ findChildNode: (value: string) => {
35
+ key: string | number;
36
+ title: string;
37
+ displayLabel?: string | undefined;
38
+ showDefaultTag?: boolean | undefined;
39
+ children?: /*elided*/ any[] | undefined;
40
+ rawValue?: string | undefined;
41
+ _info?: Record<string, any> | undefined;
42
+ isDefault?: boolean | undefined;
43
+ isLoadMore?: boolean | undefined;
44
+ disabled?: boolean | undefined;
45
+ } | undefined;
46
+ findParentNode: (parentId: string) => {
47
+ key: string | number;
48
+ title: string;
49
+ displayLabel?: string | undefined;
50
+ showDefaultTag?: boolean | undefined;
51
+ children?: /*elided*/ any[] | undefined;
52
+ rawValue?: string | undefined;
53
+ _info?: Record<string, any> | undefined;
54
+ isDefault?: boolean | undefined;
55
+ isLoadMore?: boolean | undefined;
56
+ disabled?: boolean | undefined;
57
+ } | undefined;
58
+ };
@@ -1 +1,2 @@
1
1
  export { default as GctSelect } from './src/basic-select.vue';
2
+ export { default as GctSearchableSelect } from './src/searchable-select.vue';
@@ -0,0 +1,28 @@
1
+ import { DropdownOption } from '../../dropdown';
2
+ type __VLS_Props = {
3
+ options: DropdownOption[];
4
+ modelValue?: string | number;
5
+ placeholder?: string;
6
+ disabled?: boolean;
7
+ readonly?: boolean;
8
+ allowClear?: boolean;
9
+ popperWidth?: number;
10
+ };
11
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
12
+ change: (val?: string | number | undefined, item?: DropdownOption | undefined) => any;
13
+ "update:modelValue": (val?: string | number | undefined) => any;
14
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
15
+ onChange?: ((val?: string | number | undefined, item?: DropdownOption | undefined) => any) | undefined;
16
+ "onUpdate:modelValue"?: ((val?: string | number | undefined) => any) | undefined;
17
+ }>, {
18
+ readonly: boolean;
19
+ disabled: boolean;
20
+ options: DropdownOption[];
21
+ placeholder: string;
22
+ allowClear: boolean;
23
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
24
+ rootRef: HTMLDivElement;
25
+ inputRef: HTMLInputElement;
26
+ dropdownRef: HTMLDivElement;
27
+ }, HTMLDivElement>;
28
+ export default _default;
@@ -1,11 +1,21 @@
1
+ import { ActivePanelData } from '../../../domain/active/active-types';
2
+ import { AttachFieldTarget } from '../../../domain/field/attach-field';
3
+ export type PanelBreadcrumbItem = {
4
+ key: string;
5
+ value: string;
6
+ };
7
+ export type PanelTitle = string | PanelBreadcrumbItem[];
8
+ export type PanelTitleContext = {
9
+ active: ActivePanelData | null;
10
+ attachFieldTarget: AttachFieldTarget | null;
11
+ };
1
12
  export interface PanelSchema {
2
13
  /** schema 唯一 key */
3
14
  key: PanelSchemaKey;
4
15
  /** 面板标题 */
5
- title: string | Array<{
6
- key: string;
7
- value: string;
8
- }>;
16
+ title: PanelTitle;
17
+ /** 按当前上下文解析标题(如引用字段面包屑) */
18
+ resolveTitle?: (ctx: PanelTitleContext) => PanelTitle;
9
19
  /** 实际渲染组件 */
10
20
  render: any;
11
21
  }
@@ -3,6 +3,7 @@ import { Doc } from '../../view/Doc';
3
3
  import { Wr, Wp, Wtbl, Wtr, Wtc } from '../../model/document';
4
4
  import { RawElement } from '../../model/types/raw';
5
5
  import { CursorManager } from '../../cursor/CursorManager';
6
+ import { LayoutNode } from '../../view/base/LayoutNode';
6
7
  export declare const SelectionMode: {
7
8
  readonly PP: "PP";
8
9
  readonly PTr: "PTr";
@@ -209,5 +210,7 @@ export declare abstract class CommandBase<T extends CommandType = CommandType> i
209
210
  modelIndex: number;
210
211
  modelParent: Wp;
211
212
  } | undefined;
213
+ /** 设计态删除字段组件后,清理 DataManager 中该字段的 defaults / rawData / 依赖 */
214
+ protected cleanupDesignFieldBinding(run?: LayoutNode): void;
212
215
  }
213
216
  export {};
@@ -2,11 +2,9 @@ import { Doc } from '../../view/Doc';
2
2
  import { CommandPayloadMap } from '../types';
3
3
  import { CommandBase, PostCommandContext } from '../base/CommandBase';
4
4
  /**
5
- * 删除二维表命令
6
- *
7
- * 删除指定的 2d-table 区域
5
+ * 删除子表
8
6
  */
9
- export declare class Delete2DTable extends CommandBase<'delete2DTable'> {
10
- constructor(doc: Doc, payload?: CommandPayloadMap['delete2DTable']);
7
+ export declare class DeleteSubTable extends CommandBase<'deleteSubTable'> {
8
+ constructor(doc: Doc, payload?: CommandPayloadMap['deleteSubTable']);
11
9
  protected execute(): Promise<PostCommandContext>;
12
10
  }
@@ -0,0 +1,7 @@
1
+ import { CommandBase, PostCommandContext } from '../base/CommandBase';
2
+ import { Doc } from '../../view/Doc';
3
+ import { CommandPayloadMap } from '../types';
4
+ export declare class SetMaterialConsumeTable extends CommandBase<'setMaterialConsumeTable'> {
5
+ constructor(doc: Doc, payload?: CommandPayloadMap['setMaterialConsumeTable']);
6
+ protected execute(): Promise<PostCommandContext>;
7
+ }
@@ -3,6 +3,7 @@ import { Doc } from '../view/Doc';
3
3
  import { WidgetMeta } from '../widget/widget-meta';
4
4
  import { WordHighlight } from '../model/types';
5
5
  import { PointerHitResult } from '../cursor/hit/types';
6
+ import { SubTableRegionType } from '../model/document/wtcRegionRef';
6
7
  export interface CursorMeta {
7
8
  nodeId: string;
8
9
  offset: number;
@@ -52,16 +53,14 @@ export declare const CommandType: {
52
53
  readonly deleteTableHeader: "deleteTableHeader";
53
54
  readonly setRepeating: "setRepeating";
54
55
  readonly set2DTable: "set2DTable";
56
+ readonly setMaterialConsumeTable: "setMaterialConsumeTable";
55
57
  readonly setBounded: "setBounded";
56
58
  readonly setBoundedItem: "setBoundedItem";
57
59
  readonly setCheckTable: "setCheckTable";
58
60
  readonly setDataGroup2D: "setDataGroup2D";
59
61
  readonly setSubTableHeader: "setSubTableHeader";
60
- readonly deleteRepeating: "deleteRepeating";
61
- readonly delete2DTable: "delete2DTable";
62
- readonly deleteBounded: "deleteBounded";
62
+ readonly deleteSubTable: "deleteSubTable";
63
63
  readonly deleteBoundedItem: "deleteBoundedItem";
64
- readonly deleteCheckTable: "deleteCheckTable";
65
64
  readonly deleteDataGroup2D: "deleteDataGroup2D";
66
65
  readonly insertRow: "insertRow";
67
66
  readonly insertCol: "insertCol";
@@ -162,6 +161,10 @@ export type CommandPayloadMap = {
162
161
  name: string;
163
162
  valuePath: string;
164
163
  };
164
+ setMaterialConsumeTable: CommandPayload & {
165
+ name: string;
166
+ valuePath: string;
167
+ };
165
168
  setBounded: CommandPayload & {
166
169
  name: string;
167
170
  valuePath: string;
@@ -178,26 +181,15 @@ export type CommandPayloadMap = {
178
181
  setSubTableHeader: CommandPayload & {
179
182
  name: string;
180
183
  };
181
- deleteRepeating: CommandPayload & {
182
- tableId: string;
183
- regionId: string;
184
- };
185
- delete2DTable: CommandPayload & {
186
- tableId: string;
187
- regionId: string;
188
- };
189
- deleteBounded: CommandPayload & {
184
+ deleteSubTable: CommandPayload & {
190
185
  tableId: string;
191
186
  regionId: string;
187
+ regionType: SubTableRegionType;
192
188
  };
193
189
  deleteBoundedItem: CommandPayload & {
194
190
  tableId: string;
195
191
  regionId: string;
196
192
  };
197
- deleteCheckTable: CommandPayload & {
198
- tableId: string;
199
- regionId: string;
200
- };
201
193
  deleteDataGroup2D: CommandPayload & {
202
194
  tableId: string;
203
195
  regionId: string;
@@ -9,10 +9,10 @@ type __VLS_Props = {
9
9
  visible?: boolean;
10
10
  };
11
11
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
12
- visible: boolean;
13
- caretColor: string;
14
12
  caretWidth: number;
13
+ caretColor: string;
15
14
  blinkInterval: number;
16
15
  alwaysVisibleAfterEventMs: number;
16
+ visible: boolean;
17
17
  }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
18
18
  export default _default;
@@ -65,6 +65,7 @@ export declare class DataManager {
65
65
  private scheduleLayout;
66
66
  getLabelPath(path: JsonPath): JsonPath;
67
67
  getHrefPath(path: JsonPath): JsonPath;
68
+ getFieldRuntimeSpecificConfigKeys(): string[];
68
69
  getFieldRuntimeSpecificConfig(path: JsonPath): FieldRuntimeSpecificConfig | undefined;
69
70
  setFieldRuntimeSpecificConfig(path: JsonPath, partial: FieldRuntimeSpecificConfig): void;
70
71
  /** 子表插行后:index 及之后的行配置下标 +1 */
@@ -290,6 +291,18 @@ export declare class DataManager {
290
291
  * 获取父路径
291
292
  */
292
293
  private getParentPath;
294
+ /**
295
+ * 设计态删除字段后,清理该字段在 DataManager 中的绑定数据
296
+ * @param designValuePath 设计时 valuePath(可含 [n] / [n_y][n_x] 通配符)
297
+ * @param runtimeValuePath 版面解析后的具体路径(可选)
298
+ */
299
+ removeFieldBindingData(designValuePath: JsonPath, runtimeValuePath?: JsonPath): void;
300
+ /** 收集与字段绑定相关的路径(含 value / label / href 及通配符变体) */
301
+ private collectFieldBindingPaths;
302
+ /** 收集可从 rawData 删除的具体路径(跳过含通配符的设计路径) */
303
+ private collectConcreteRawDataPaths;
304
+ /** 移除字段注册的组件依赖 */
305
+ private removeFieldDependencies;
293
306
  /**
294
307
  * 设置默认值
295
308
  * @param path jsonpath 路径 (支持 [n] 数组索引和 [n] 通配符)
@@ -1,4 +1,5 @@
1
1
  import { ActivePanelData } from '../../domain/active/active-types';
2
+ import { AttachFieldTarget } from '../../domain/field/attach-field';
2
3
  export type ITableSelection = {
3
4
  tableId: string;
4
5
  axis: 'row' | 'col' | 'all';
@@ -20,6 +21,8 @@ export type InteractionState = {
20
21
  focusTick: number | undefined;
21
22
  /** 当前点击的组件 右侧面板 */
22
23
  panelData: ActivePanelData | null;
24
+ /** 引用字段配置定位(与 panel:attach-field 配合) */
25
+ attachFieldTarget: AttachFieldTarget | null;
23
26
  /** 字段校验批注信息集合 */
24
27
  validationCommentMap: Record<string, Array<{
25
28
  field: string;
@@ -36,5 +39,7 @@ export type InteractionState = {
36
39
  focusAnnotationId: string | null;
37
40
  /** 记录变更的详情信息列表 */
38
41
  annotationList: any[] | null;
42
+ /** 扫码字段模式记忆(true=扫码,false=搜索) */
43
+ scanModeMap: Record<string, boolean>;
39
44
  };
40
45
  export type InteractionType = keyof InteractionState;
@@ -18,11 +18,27 @@ export declare function useInteraction(docRef: Ref<Doc | null>): {
18
18
  readonly context: {
19
19
  readonly mainModelKey?: string | undefined;
20
20
  readonly subFieldKey?: string | undefined;
21
+ readonly parentModelId?: string | undefined;
21
22
  readonly isDataGroup2DClicked?: boolean | undefined;
22
23
  readonly regionId?: string | undefined;
23
24
  readonly secRefId?: string | undefined;
24
25
  };
25
26
  } | null | undefined;
27
+ readonly attachFieldTarget?: {
28
+ readonly kind: "boolean";
29
+ readonly itemsKey: "trueAttachFields" | "falseAttachFields";
30
+ readonly parentModelId: string;
31
+ readonly itemId: string;
32
+ readonly attachFieldLabel: string;
33
+ readonly subFieldKey?: string | undefined;
34
+ } | {
35
+ readonly kind: "enum-option";
36
+ readonly optionId: string;
37
+ readonly parentModelId: string;
38
+ readonly itemId: string;
39
+ readonly attachFieldLabel: string;
40
+ readonly subFieldKey?: string | undefined;
41
+ } | null | undefined;
26
42
  readonly validationCommentMap?: {
27
43
  readonly [x: string]: readonly {
28
44
  readonly field: string;
@@ -35,4 +51,7 @@ export declare function useInteraction(docRef: Ref<Doc | null>): {
35
51
  readonly annotationIds?: readonly string[] | null | undefined;
36
52
  readonly focusAnnotationId?: string | null | undefined;
37
53
  readonly annotationList?: readonly any[] | null | undefined;
54
+ readonly scanModeMap?: {
55
+ readonly [x: string]: boolean;
56
+ } | undefined;
38
57
  };
@@ -16,10 +16,14 @@ export declare class LayoutMapper {
16
16
  /** 组件信息中心 */
17
17
  widgetMetaMap: Map<string, any>;
18
18
  modelMap: Map<string, ModelMode>;
19
+ /** 布局期生成的 model 节点(如布尔/枚举引用字段),不在 doc.model 树中 */
20
+ runtimeModelMap: Map<string, ModelMode>;
19
21
  modelSplitMap: Map<string, string[]>;
20
22
  /** 扁平处理 layout 数据 */
21
23
  buildLayoutIndex(): void;
22
24
  buildModelMap(): void;
25
+ /** 注册布局期生成的 model 节点,供 getModelNodeById 查找 */
26
+ registerRuntimeModelNode(node: ModelMode): void;
23
27
  getBaseMetaNodeById<T extends BaseMetaNode>(id?: string): T | undefined;
24
28
  getBaseMetaNodeByIds<T extends BaseMetaNode>(ids: string[]): T[] | undefined;
25
29
  getLayoutNodeById(id: string): Page | import('../view/base').BandContainer | import('..').Paragraph | import('..').Table | import('../view/TableCell').TableCell | import('../view/TableRow').TableRow | import('..').OverlayLayout | import('../view/base').OverlayContainer | import('..').TextRun | import('..').ImageRun | undefined;
@@ -0,0 +1,59 @@
1
+ import { Doc } from '../..';
2
+ import { BaseMetaNode } from '../types';
3
+ import { WidgetMeta } from '../../widget/widget-meta';
4
+ import { MultipleItem } from '../../../suites/shared/panel/config/editor/attach-fields-editor/types';
5
+ import { AttachFieldTarget } from '../../../domain/field/attach-field';
6
+ import { AttachFieldParentMeta, WidgetOptionLike } from './types';
7
+ export type AttachFieldCursorPin = {
8
+ nodeId: string;
9
+ side: 'before' | 'after';
10
+ };
11
+ /**
12
+ * 引用字段(attach field)运行时上下文。
13
+ */
14
+ export declare class AttachFieldContext {
15
+ /** `widgetMeta.extra.biz` 上标识「此为引用字段」的键 */
16
+ static readonly BIZ_FLAG: "isAttachField";
17
+ /**
18
+ * 为布局生成的 widgetMeta.extra 打上引用字段标记。
19
+ */
20
+ static markAttachFieldMeta(extra?: WidgetMeta['extra']): WidgetMeta['extra'];
21
+ /** 当前 widget 是否为引用字段(非画布拖入的独立字段组件) */
22
+ static isAttachFieldWidget(widgetMeta: WidgetMeta | undefined | null): boolean;
23
+ /** 读取布局阶段写入的「父选项」绑定信息,非引用字段返回 null */
24
+ static getParentMeta(widgetMeta: WidgetMeta | undefined | null): AttachFieldParentMeta | null;
25
+ /** 由父字段 props 与选项值解析列表定位,供面板与画布点击共用 */
26
+ private static resolveListContext;
27
+ /** 根据引用字段 widgetMeta.id 解析画布上的 modelRef.id */
28
+ static resolveAttachFieldModelId(doc: Doc, itemId: string): string | null;
29
+ /** 画布点击引用字段时,生成与 panel 列表点击一致的 `attachFieldTarget` */
30
+ static resolveAttachFieldTarget(doc: Doc, widgetMeta: WidgetMeta): AttachFieldTarget | null;
31
+ private static isFieldMarkerRun;
32
+ /** 引用字段 model 分组内的正文字符 run(排除 [ ] 与间距占位) */
33
+ private static getAttachFieldContentNodes;
34
+ /** 取节点内最后一个字符索引(单字节点为 0) */
35
+ private static getNodeLastCharOffset;
36
+ /**
37
+ * 点击引用字段【/】时,落到内侧首尾字符:
38
+ * 【 → 首字 before;】 → 末字 after
39
+ */
40
+ static resolveAttachFieldMarkerContentPin(doc: Doc, modelId: string, marker: 'left' | 'right'): (AttachFieldCursorPin & {
41
+ offset: number;
42
+ }) | null;
43
+ static getModelSplitNodes(doc: Doc, modelId: string): BaseMetaNode[];
44
+ /**
45
+ * 从父组件 props 解析某一选项下的引用字段列表。
46
+ * - 布尔:`trueAttachFields` / `falseAttachFields`
47
+ * - 枚举:选项对象上的 `attachFields`(通常来自 computedOptions)
48
+ */
49
+ static getOptionAttachFields(widgetProps: Record<string, any> | undefined, option: WidgetOptionLike): MultipleItem[];
50
+ /**
51
+ * 父字段当前值是否包含本引用字段绑定的选项值。
52
+ * 用于条件校验、overlay 禁用等:未选中对应选项时不应要求填写引用字段。
53
+ */
54
+ private static isParentOptionActive;
55
+ /** 引用字段当前是否处于可填报 / 可校验状态。无父绑定信息时视为普通字段,恒为 true。 */
56
+ static isActive(doc: Doc, widgetMeta: WidgetMeta | undefined | null): boolean;
57
+ /** 枚举 / 布尔选项值相等比较(布尔走 toBoolean,其余按字符串) */
58
+ private static isSameOptionValue;
59
+ }
@@ -0,0 +1,2 @@
1
+ export { AttachFieldContext } from './AttachFieldContext';
2
+ export type { AttachFieldParentMeta, WidgetOptionLike } from './types';
@@ -0,0 +1,20 @@
1
+ import { MultipleItem } from '../../../suites/shared/panel/config/editor/attach-fields-editor/types';
2
+ /** 布局时写入引用字段 widgetMeta 的父选项绑定(见 AttachFieldHandler) */
3
+ export type AttachFieldParentMeta = {
4
+ /** 父字段 layout modelRef.id,设计态 hover 委托用 */
5
+ parentModelRefId: string;
6
+ /** 父字段运行时 valuePath,用于读取当前选中值 */
7
+ parentRuntimeValuePath: string;
8
+ /** 本引用字段绑定的选项值(true/false 或枚举项 value) */
9
+ parentOptionValue: unknown;
10
+ /** 父字段是否为多选枚举(fw:enum-multiple) */
11
+ isMultiple: boolean;
12
+ /** 父字段子表 subFieldKey,设计态面板 extra 用 */
13
+ parentSubFieldKey?: string;
14
+ };
15
+ /** 布局解析 computedOptions 时的选项结构(含 attachFields) */
16
+ export type WidgetOptionLike = {
17
+ value: unknown;
18
+ label: string;
19
+ attachFields?: MultipleItem[];
20
+ };
@@ -0,0 +1,10 @@
1
+ import { FieldBaseHandler } from './FieldBaseHandler';
2
+ import { TextRun } from '../../../view/runs/TextRun';
3
+ import { HandlerContext } from '../../types';
4
+ import { WidgetOptionLike } from '../../attach-field/types';
5
+ /** 布尔 / 枚举选项后的引用字段布局 */
6
+ export declare class AttachFieldHandler extends FieldBaseHandler {
7
+ static layoutOptionAttachFields(ctx: HandlerContext, option: WidgetOptionLike, layoutStyle: ReturnType<typeof TextRun.textStyle2LayoutStyle>): void;
8
+ private static buildWidgetMeta;
9
+ private static layoutItem;
10
+ }