@gct-paas/word 0.1.47-beta.6 → 0.1.47-beta.7

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 (43) hide show
  1. package/dist/core/command/commands/SetMaterialConsumeTable.d.ts +7 -0
  2. package/dist/core/command/types.d.ts +7 -2
  3. package/dist/core/data/DataManager.d.ts +1 -0
  4. package/dist/core/model/document/Wtbl/Calculation.d.ts +4 -0
  5. package/dist/core/model/document/Wtbl/RegionManager.d.ts +5 -1
  6. package/dist/core/model/document/Wtbl.d.ts +5 -1
  7. package/dist/core/model/document/Wtc.d.ts +3 -3
  8. package/dist/core/model/document/wtcRegionRef.d.ts +11 -7
  9. package/dist/core/model/logic/index.d.ts +2 -0
  10. package/dist/core/model/logic/subtable/repeating/MaterialConsumeTableRegion.d.ts +37 -0
  11. package/dist/core/model/logic/types.d.ts +4 -3
  12. package/dist/core/utils/expand.d.ts +5 -3
  13. package/dist/core/view/TableCell.d.ts +5 -3
  14. package/dist/domain/active/active-types.d.ts +2 -0
  15. package/dist/index.es.js +3239 -1106
  16. package/dist/runtime/canvas/table/render/label-parse-rule/index.d.ts +2 -0
  17. package/dist/runtime/canvas/table/render/label-parse-rule/type.d.ts +56 -0
  18. package/dist/runtime/canvas/table/render/label-parse-rule/useLabelParsingRules.d.ts +39 -0
  19. package/dist/runtime/canvas/table/render/material-consume/bom-validator.d.ts +168 -0
  20. package/dist/runtime/canvas/table/render/material-consume/index.d.ts +3 -0
  21. package/dist/runtime/canvas/table/render/material-consume/material-consume-table-controller.d.ts +212 -0
  22. package/dist/runtime/canvas/table/render/material-consume/mc-render.d.ts +47 -0
  23. package/dist/runtime/canvas/table/render/material-consume/mc-web-render.d.ts +21 -0
  24. package/dist/runtime/canvas/table/render/material-consume/service.d.ts +49 -0
  25. package/dist/runtime/canvas/table/render/material-consume/tmpl-bom-controller.d.ts +80 -0
  26. package/dist/runtime/canvas/table/render/table-structure-overlay/sub-table-action.vue.d.ts +1 -0
  27. package/dist/runtime/canvas/table/utils/index.d.ts +9 -1
  28. package/dist/runtime/designer/ribbon/components/sub-table-form-modal.vue.d.ts +2 -1
  29. package/dist/sdk/doc-runtime/factories/useDocumentFactory.d.ts +3 -0
  30. package/dist/suites/edhr/panel-schema/index.d.ts +14 -0
  31. package/dist/suites/edhr/panel-schema/material-consume-table/MaterialConsumeTablePanel.vue.d.ts +8 -0
  32. package/dist/suites/edhr/panel-schema/material-consume-table/bom-entry-editor.vue.d.ts +13 -0
  33. package/dist/suites/edhr/panel-schema/material-consume-table/bom-product-name.vue.d.ts +7 -0
  34. package/dist/suites/edhr/panel-schema/material-consume-table/material-consume-table.basic.d.ts +14 -0
  35. package/dist/suites/edhr/panel-schema/material-consume-table/parse-rule-add-btn.vue.d.ts +13 -0
  36. package/dist/suites/edhr/panel-schema/material-consume-table/parse-rule-editor.vue.d.ts +11 -0
  37. package/dist/suites/edhr/panel-schema/material-consume-table/use-product-translate.d.ts +3 -0
  38. package/dist/suites/shared/panel/modules/table-setting-module.vue.d.ts +2 -1
  39. package/dist/types/material.type.d.ts +132 -0
  40. package/dist/utils/TriggerUtil.d.ts +1 -1
  41. package/dist/utils/symbol/contextKey.d.ts +2 -0
  42. package/dist/word.css +160 -64
  43. package/package.json +2 -2
@@ -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,7 +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 { SubTableBodyType } from '../model/document/wtcRegionRef';
6
+ import { SubTableRegionType } from '../model/document/wtcRegionRef';
7
7
  export interface CursorMeta {
8
8
  nodeId: string;
9
9
  offset: number;
@@ -53,6 +53,7 @@ export declare const CommandType: {
53
53
  readonly deleteTableHeader: "deleteTableHeader";
54
54
  readonly setRepeating: "setRepeating";
55
55
  readonly set2DTable: "set2DTable";
56
+ readonly setMaterialConsumeTable: "setMaterialConsumeTable";
56
57
  readonly setBounded: "setBounded";
57
58
  readonly setBoundedItem: "setBoundedItem";
58
59
  readonly setCheckTable: "setCheckTable";
@@ -160,6 +161,10 @@ export type CommandPayloadMap = {
160
161
  name: string;
161
162
  valuePath: string;
162
163
  };
164
+ setMaterialConsumeTable: CommandPayload & {
165
+ name: string;
166
+ valuePath: string;
167
+ };
163
168
  setBounded: CommandPayload & {
164
169
  name: string;
165
170
  valuePath: string;
@@ -179,7 +184,7 @@ export type CommandPayloadMap = {
179
184
  deleteSubTable: CommandPayload & {
180
185
  tableId: string;
181
186
  regionId: string;
182
- regionType: SubTableBodyType;
187
+ regionType: SubTableRegionType;
183
188
  };
184
189
  deleteBoundedItem: CommandPayload & {
185
190
  tableId: string;
@@ -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 */
@@ -16,6 +16,10 @@ export declare class WtblCalculation {
16
16
  * 处理 2d-table 数据
17
17
  */
18
18
  private static process2DTable;
19
+ /**
20
+ * 处理 materialConsumeTable 数据
21
+ */
22
+ private static processMaterialConsumeTable;
19
23
  /**
20
24
  * 处理 bounded 数据
21
25
  */
@@ -1,4 +1,4 @@
1
- import { BoundedRegionOptions, CheckTableRegionOptions, RepeatingRegionOptions, TableRegion, TableHeaderRegionOptions, SubTableHeaderRegionOptions, _2DTableRegionOptions, BoundedRegion, CheckTableRegion, RepeatingRegion, TableHeaderRegion, SubTableHeaderRegion, _2DTableRegion } from '../../logic';
1
+ import { BoundedRegionOptions, CheckTableRegionOptions, RepeatingRegionOptions, TableRegion, TableHeaderRegionOptions, SubTableHeaderRegionOptions, _2DTableRegionOptions, MaterialConsumeTableRegionOptions, MaterialConsumeTableRegion, BoundedRegion, CheckTableRegion, RepeatingRegion, TableHeaderRegion, SubTableHeaderRegion, _2DTableRegion } from '../../logic';
2
2
  import { Wtbl } from '../Wtbl';
3
3
  /** 矩形区域边界(行/列起止索引) */
4
4
  type RegionBounds = Pick<TableRegion, 'start' | 'end'>;
@@ -33,6 +33,10 @@ export declare class WtblRegionManager {
33
33
  * 设置二维表区域
34
34
  */
35
35
  static set2DTable(table: Wtbl, options: Omit<_2DTableRegionOptions, 'table'>): _2DTableRegion;
36
+ /**
37
+ * 设置物料消耗表
38
+ */
39
+ static setMaterialConsumeTable(table: Wtbl, options: Omit<MaterialConsumeTableRegionOptions, 'table'>): MaterialConsumeTableRegion;
36
40
  /**
37
41
  * 设置有界区域(子表体)
38
42
  */
@@ -3,7 +3,7 @@ import { Wbody } from './Wbody';
3
3
  import { Wtr } from './Wtr';
4
4
  import { Wtc } from './Wtc';
5
5
  import { ModelGroup, ModelGroupOptions } from '../base';
6
- import { TableRegion, BoundedRegionOptions, CheckTableRegionOptions, RepeatingRegionOptions, _2DTableRegionOptions, TableHeaderRegion, SubTableHeaderRegion, TableHeaderRegionOptions, SubTableHeaderRegionOptions, CheckTableRegion, BoundedRegion, RepeatingRegion, _2DTableRegion } from '../logic';
6
+ import { TableRegion, BoundedRegionOptions, CheckTableRegionOptions, RepeatingRegionOptions, _2DTableRegionOptions, TableHeaderRegion, SubTableHeaderRegion, TableHeaderRegionOptions, SubTableHeaderRegionOptions, CheckTableRegion, MaterialConsumeTableRegion, MaterialConsumeTableRegionOptions, BoundedRegion, RepeatingRegion, _2DTableRegion } from '../logic';
7
7
  import { WtblPr } from './WtblPr';
8
8
  export declare class Wtbl extends ModelGroup {
9
9
  name: 'w:tbl';
@@ -27,6 +27,9 @@ export declare class Wtbl extends ModelGroup {
27
27
  get _2DTable(): _2DTableRegion[];
28
28
  get2DTableById(id: string): _2DTableRegion | undefined;
29
29
  get has2DTable(): boolean;
30
+ get materialConsumeTable(): MaterialConsumeTableRegion[];
31
+ getMaterialConsumeTableById(id: string): MaterialConsumeTableRegion | undefined;
32
+ get hasMaterialConsumeTable(): boolean;
30
33
  get bounded(): BoundedRegion[];
31
34
  getBoundedById(id: string): BoundedRegion | undefined;
32
35
  get hasBounded(): boolean;
@@ -59,6 +62,7 @@ export declare class Wtbl extends ModelGroup {
59
62
  splitAt(index: number): [Wtbl | null, Wtbl | null];
60
63
  setRepeating(options: Omit<RepeatingRegionOptions, 'table'>): RepeatingRegion;
61
64
  set2DTable(options: Omit<_2DTableRegionOptions, 'table'>): _2DTableRegion;
65
+ setMaterialConsumeTable(options: Omit<MaterialConsumeTableRegionOptions, 'table'>): MaterialConsumeTableRegion;
62
66
  setBounded(options: Omit<BoundedRegionOptions, 'table'>): BoundedRegion;
63
67
  setCheckTable(options: Omit<CheckTableRegionOptions, 'table'>): CheckTableRegion;
64
68
  setTableHeader(options: Omit<TableHeaderRegionOptions, 'table'>): TableHeaderRegion;
@@ -3,7 +3,7 @@ import { Wtr } from './Wtr';
3
3
  import { Wp } from './Wp';
4
4
  import { ModelGroup, ModelGroupOptions } from '../base';
5
5
  import { Wtbl } from './Wtbl';
6
- import { SubTableBodyType, SubTableItemType, TableHeaderRefType, WtcHeaderRef, WtcSubTableItemRef, WtcSubTableRef } from './wtcRegionRef';
6
+ import { SubTableRegionType, SubTableItemType, TableHeaderRegionType, WtcHeaderRef, WtcSubTableItemRef, WtcSubTableRef } from './wtcRegionRef';
7
7
  /** 单元格上需随行列复制同步的引用字段 */
8
8
  export declare const WTC_REF_KEYS: readonly ["mergeId", "subTable", "subTableItem", "header"];
9
9
  /**
@@ -78,11 +78,11 @@ export declare class Wtc extends ModelGroup {
78
78
  */
79
79
  isRoot: boolean;
80
80
  };
81
- setSubTable(type: SubTableBodyType, regionId: string): void;
81
+ setSubTable(type: SubTableRegionType, regionId: string): void;
82
82
  clearSubTable(): void;
83
83
  setSubTableItem(type: SubTableItemType, regionId: string): void;
84
84
  clearSubTableItem(): void;
85
- setHeaderRef(type: TableHeaderRefType, regionId: string): void;
85
+ setHeaderRef(type: TableHeaderRegionType, regionId: string): void;
86
86
  clearHeaderRef(): void;
87
87
  /** 按 regionId 清除单元格上的子表 / 表头引用 */
88
88
  clearRegionRef(regionId: string): void;
@@ -1,10 +1,15 @@
1
1
  /** 子表主体类型(repeating 在 layout 层映射为 dynamic-table) */
2
- export type SubTableBodyType = 'repeating' | 'bounded' | '2d-table' | 'check-table';
2
+ export type SubTableRegionType = 'repeating' | 'bounded' | '2d-table' | 'check-table' | 'material-consume-table';
3
+ export type TableHeaderRegionType = 'table-header' | 'sub-table-header';
4
+ export type TableRegionType = SubTableRegionType | TableHeaderRegionType;
5
+ export declare const SUB_TABLE_REGION_TYPES: string[];
6
+ export type SubTableLayoutType = 'dynamic-table' | 'fixed-table' | '2d-table' | 'check-table' | 'material-consume-table';
7
+ export type TableHeaderLayoutType = 'table-header';
8
+ export type TableLayoutType = SubTableLayoutType | TableHeaderLayoutType;
3
9
  /** 子表内数据分组 / 数据关联 */
4
10
  export type SubTableItemType = 'bounded-item' | 'data-group-2d';
5
- export type TableHeaderRefType = 'table-header' | 'sub-table-header';
6
11
  export type WtcSubTableRef = {
7
- type: SubTableBodyType;
12
+ type: SubTableRegionType;
8
13
  regionId: string;
9
14
  };
10
15
  export type WtcSubTableItemRef = {
@@ -12,9 +17,8 @@ export type WtcSubTableItemRef = {
12
17
  regionId: string;
13
18
  };
14
19
  export type WtcHeaderRef = {
15
- type: TableHeaderRefType;
20
+ type: TableHeaderRegionType;
16
21
  regionId: string;
17
22
  };
18
- export type LayoutSubTableType = 'dynamic-table' | 'fixed-table' | '2d-table' | 'check-table' | 'table-header';
19
- export declare function bodyTypeToLayoutType(type: SubTableBodyType): LayoutSubTableType;
20
- export declare function headerTypeToLayoutType(type: TableHeaderRefType): 'table-header';
23
+ export declare function tableRegionTypeToLayoutType(type: SubTableRegionType): SubTableLayoutType;
24
+ export declare function headerRegionTypeToLayoutType(type: TableHeaderRegionType): TableHeaderLayoutType;
@@ -6,6 +6,8 @@ export type { TableHeaderRegionOptions } from './header/TableHeaderRegion';
6
6
  export type { SubTableHeaderRegionOptions } from './header/SubTableHeaderRegion';
7
7
  export { RepeatingRegion } from './subtable/repeating/RepeatingRegion';
8
8
  export type { RepeatingRegionOptions, RepeatingWidgetMeta } from './subtable/repeating/RepeatingRegion';
9
+ export { MaterialConsumeTableRegion } from './subtable/repeating/MaterialConsumeTableRegion';
10
+ export type { MaterialConsumeTableRegionOptions, MaterialConsumeTableWidgetMeta } from './subtable/repeating/MaterialConsumeTableRegion';
9
11
  export { BoundedRegion } from './subtable/bounded/BoundedRegion';
10
12
  export { BoundedItemRegion } from './subtable/bounded/BoundedItemRegion';
11
13
  export type { BoundedRegionOptions, BoundedWidgetMeta } from './subtable/bounded/BoundedRegion';
@@ -0,0 +1,37 @@
1
+ import { Wtbl } from '../../../document';
2
+ import { Region, RegionOptions } from '../../base/Region';
3
+ import { RegionJson } from '../../../types';
4
+ export type MaterialConsumeTableWidgetPropsMeta = {
5
+ table_key_: string;
6
+ barcode_parsing_rules_id_?: string;
7
+ personal_bom_enabled_?: boolean;
8
+ entries_?: any[];
9
+ sequence_loading_enabled_?: boolean;
10
+ [key: string]: any;
11
+ };
12
+ export type MaterialConsumeTableWidgetMeta = {
13
+ props: MaterialConsumeTableWidgetPropsMeta;
14
+ };
15
+ export type MaterialConsumeTableRegionOptions = RegionOptions & {
16
+ name: string;
17
+ valuePath: string;
18
+ widgetMeta: MaterialConsumeTableWidgetMeta;
19
+ };
20
+ export type MaterialConsumeTableRegionJson = RegionJson & {
21
+ name: string;
22
+ valuePath: string;
23
+ widgetMeta: MaterialConsumeTableWidgetMeta;
24
+ };
25
+ export declare class MaterialConsumeTableRegion extends Region {
26
+ type: "material-consume-table";
27
+ name: string;
28
+ valuePath: string;
29
+ widgetMeta: MaterialConsumeTableWidgetMeta;
30
+ constructor(options: MaterialConsumeTableRegionOptions);
31
+ get subFieldKey(): string;
32
+ get linkFieldKey(): string;
33
+ get subValuePath(): string;
34
+ get linkValuePath(): string;
35
+ toJSON(): MaterialConsumeTableRegionJson;
36
+ static fromJSON(json: MaterialConsumeTableRegionJson, table: Wtbl): MaterialConsumeTableRegion;
37
+ }
@@ -4,7 +4,8 @@ import { CheckTableRegion } from './subtable/link/CheckTableRegion';
4
4
  import { TableHeaderRegion } from './header/TableHeaderRegion';
5
5
  import { SubTableHeaderRegion } from './header/SubTableHeaderRegion';
6
6
  import { _2DTableRegion } from './subtable/link/_2DTableRegion';
7
- /** 表格上可注册的全部逻辑区域 */
8
- export type TableRegion = RepeatingRegion | _2DTableRegion | BoundedRegion | CheckTableRegion | TableHeaderRegion | SubTableHeaderRegion;
7
+ import { MaterialConsumeTableRegion } from './subtable/repeating/MaterialConsumeTableRegion';
9
8
  /** 可作为子表体的区域类型 */
10
- export type SubTableRegion = RepeatingRegion | BoundedRegion;
9
+ export type SubTableRegion = RepeatingRegion | BoundedRegion | CheckTableRegion | _2DTableRegion | MaterialConsumeTableRegion;
10
+ /** 表格上可注册的全部逻辑区域 */
11
+ export type TableRegion = SubTableRegion | TableHeaderRegion | SubTableHeaderRegion;
@@ -1,6 +1,6 @@
1
1
  import { DataManager } from '../data/DataManager';
2
2
  import { Wtr, Wtbl, Wtc } from '../model/document';
3
- import { RepeatingRegion, BoundedRegion, TableHeaderRegion, SubTableHeaderRegion, CheckTableRegion, _2DTableRegion } from '../model/logic';
3
+ import { RepeatingRegion, BoundedRegion, TableHeaderRegion, SubTableHeaderRegion, CheckTableRegion, _2DTableRegion, MaterialConsumeTableRegion, SubTableRegion } from '../model/logic';
4
4
  import { LinkSubTableCellZone } from '../layout/linkSubTableLayout';
5
5
  import { Doc } from '../view/Doc';
6
6
  /** 表格矩形范围(含起止行列,均为闭区间) */
@@ -27,6 +27,7 @@ export type CellFragment = {
27
27
  yDataIndex?: number;
28
28
  repeatingId?: string;
29
29
  _2DTableId?: string;
30
+ materialConsumeTableId?: string;
30
31
  boundedId?: string;
31
32
  checkTableId?: string;
32
33
  mergeFromId?: string;
@@ -46,7 +47,6 @@ type IndexMap = Map<string, {
46
47
  refPos?: string;
47
48
  refCellId?: string;
48
49
  }>;
49
- type SubTableRegion = RepeatingRegion | BoundedRegion | CheckTableRegion | _2DTableRegion;
50
50
  export declare class TableExpander {
51
51
  table: Wtbl;
52
52
  doc: Doc;
@@ -58,6 +58,7 @@ export declare class TableExpander {
58
58
  /** 模板行索引 → 各类逻辑区域(用于按行分发展开策略) */
59
59
  rowIndexRepeatingMapper: Map<number, RepeatingRegion>;
60
60
  rowIndex2DTableMapper: Map<number, _2DTableRegion>;
61
+ rowIndexMaterialConsumeTableMapper: Map<number, MaterialConsumeTableRegion>;
61
62
  rowIndexBoundedMapper: Map<number, BoundedRegion>;
62
63
  rowIndexCheckTableMapper: Map<number, CheckTableRegion>;
63
64
  rowIndexTableHeaderMapper: Map<number, TableHeaderRegion | SubTableHeaderRegion>;
@@ -92,9 +93,10 @@ export declare class TableExpander {
92
93
  private mergeIndexMap;
93
94
  private initializeRows;
94
95
  /** 编辑模式只展开一份;预览/填报模式按数据路径长度重复 */
95
- getRepeatCount(region: RepeatingRegion | _2DTableRegion): number;
96
+ getRepeatCount(region: RepeatingRegion | _2DTableRegion | MaterialConsumeTableRegion): number;
96
97
  private initializeRepeatingRowsInRange;
97
98
  private initialize2DTableRowsInRange;
99
+ private initializeMaterialConsumeTableRowsInRange;
98
100
  /**
99
101
  * 循环子表与二维子表共用的纵向展开逻辑:
100
102
  * 按数据条数复制行块,区域外最后一行单元格需合并 rowspan 以覆盖重复产生的额外行。
@@ -3,8 +3,9 @@ import { LayoutGroup, LayoutGroupOptions } from './base';
3
3
  import { IContainerMetrics, Border } from './types';
4
4
  import { Table } from './Table';
5
5
  import { TableRow } from './TableRow';
6
- import { RepeatingWidgetMeta, BoundedWidgetMeta, CheckTableWidgetMeta, _2DTableWidgetMeta } from '../model/logic';
6
+ import { RepeatingWidgetMeta, BoundedWidgetMeta, CheckTableWidgetMeta, _2DTableWidgetMeta, MaterialConsumeTableWidgetMeta } from '../model/logic';
7
7
  import { LinkSubTableCellZone } from '../layout/linkSubTableLayout';
8
+ import { TableLayoutType } from '../model/document/wtcRegionRef';
8
9
  export interface TableCellOptions extends LayoutGroupOptions {
9
10
  colspan?: number;
10
11
  rowspan?: number;
@@ -16,10 +17,11 @@ export interface TableCellOptions extends LayoutGroupOptions {
16
17
  }
17
18
  export type SubRenderer = {
18
19
  id: string;
19
- type: 'dynamic-table' | '2d-table' | 'fixed-table' | 'check-table' | 'table-header';
20
+ type: TableLayoutType;
21
+ tableName?: string;
20
22
  dataIndex?: number;
21
23
  valuePath: string;
22
- widgetMeta?: RepeatingWidgetMeta | BoundedWidgetMeta | CheckTableWidgetMeta | _2DTableWidgetMeta;
24
+ widgetMeta?: RepeatingWidgetMeta | BoundedWidgetMeta | CheckTableWidgetMeta | _2DTableWidgetMeta | MaterialConsumeTableWidgetMeta;
23
25
  xDataIndex?: number;
24
26
  yDataIndex?: number;
25
27
  /** 用来标记二维表的子类型 交叉 / 横向 / 纵向 */
@@ -12,6 +12,8 @@ export type PanelType =
12
12
  | 'panel:dynamic-table'
13
13
  /** 二维表 */
14
14
  | 'panel:2d-table'
15
+ /** 物料消耗表 */
16
+ | 'panel:material-consume-table'
15
17
  /** 固定表 */
16
18
  | 'panel:fixed-table'
17
19
  /** 检验表 */