@gct-paas/word 0.2.6 → 0.2.7-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (119) hide show
  1. package/dist/assets/svgs/table/index.d.ts +1 -0
  2. package/dist/base/input/src/input-number.vue.d.ts +1 -0
  3. package/dist/base/message/src/Message.vue.d.ts +2 -0
  4. package/dist/base/message/src/message.d.ts +2 -0
  5. package/dist/base/modal/src/modal.type.d.ts +3 -1
  6. package/dist/base/select/src/basic-select.vue.d.ts +16 -4
  7. package/dist/capabilities/model-field-runtime/types/field.d.ts +4 -0
  8. package/dist/core/command/base/FloatingFieldCommand.d.ts +9 -0
  9. package/dist/core/command/commands/DeleteRow.d.ts +1 -1
  10. package/dist/core/command/commands/InsertFloatingField.d.ts +9 -0
  11. package/dist/core/command/commands/MoveFloatingField.d.ts +10 -0
  12. package/dist/core/command/commands/RemoveFloatingField.d.ts +12 -0
  13. package/dist/core/command/types.d.ts +14 -0
  14. package/dist/core/data/DataManager.d.ts +6 -1
  15. package/dist/core/data/enrichers/udi-enricher.d.ts +23 -0
  16. package/dist/core/data/formula/business-functions.d.ts +4 -0
  17. package/dist/core/data/types/runtime-config.d.ts +11 -0
  18. package/dist/core/event/handlers/IMEHandler.d.ts +1 -0
  19. package/dist/core/index.d.ts +2 -0
  20. package/dist/core/model/document/wtcRegionRef.d.ts +1 -1
  21. package/dist/core/model/logic/subtable/repeating/RepeatingRegion.d.ts +4 -1
  22. package/dist/core/model/overlays/Wlayout.d.ts +4 -0
  23. package/dist/core/runtime/DocumentRuntimeManager.d.ts +34 -0
  24. package/dist/core/view/Doc.d.ts +5 -0
  25. package/dist/core/widget/types.d.ts +2 -2
  26. package/dist/domain/active/active-types.d.ts +3 -1
  27. package/dist/domain/document-rule/index.d.ts +3 -0
  28. package/dist/domain/document-rule/runtime/decision-rule-evaluator.d.ts +13 -0
  29. package/dist/domain/document-rule/runtime/document-rule-runtime.d.ts +19 -0
  30. package/dist/domain/document-rule/types.d.ts +50 -0
  31. package/dist/domain/field/field-props-schema-type.d.ts +1 -1
  32. package/dist/domain/field/field-type.d.ts +58 -0
  33. package/dist/domain/field/seal/seal-binding.d.ts +19 -0
  34. package/dist/domain/field/seal/seal-display.d.ts +32 -0
  35. package/dist/domain/field/seal/seal-value.d.ts +39 -0
  36. package/dist/domain/table/business/device/maintenance/index.d.ts +1 -0
  37. package/dist/domain/table/business/device/maintenance/profile/field-keys.d.ts +9 -0
  38. package/dist/domain/table/business/device/maintenance/profile/fields.d.ts +2 -0
  39. package/dist/domain/table/business/device/maintenance/profile/index.d.ts +3 -0
  40. package/dist/domain/table/business/device/point-inspection/index.d.ts +1 -0
  41. package/dist/domain/table/business/device/point-inspection/profile/field-keys.d.ts +9 -0
  42. package/dist/domain/table/business/device/point-inspection/profile/fields.d.ts +2 -0
  43. package/dist/domain/table/business/device/point-inspection/profile/index.d.ts +3 -0
  44. package/dist/domain/table/business/device/runtime/device-signature-lock-engine.d.ts +13 -0
  45. package/dist/domain/table/business/device/signature-lock.d.ts +26 -0
  46. package/dist/domain/table/business/material/material-requisition/profile/field-keys.d.ts +1 -1
  47. package/dist/domain/table/business/material/material-substitution/actions/scan.d.ts +3 -0
  48. package/dist/domain/table/business/material/material-substitution/index.d.ts +3 -0
  49. package/dist/domain/table/business/material/material-substitution/profile/field-keys.d.ts +39 -0
  50. package/dist/domain/table/business/material/material-substitution/profile/fields.d.ts +2 -0
  51. package/dist/domain/table/business/material/material-substitution/profile/index.d.ts +4 -0
  52. package/dist/domain/table/business/material/material-substitution/runtime/register-handlers.d.ts +1 -0
  53. package/dist/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +3 -0
  54. package/dist/domain/table/business/material/types.d.ts +2 -1
  55. package/dist/domain/table/design/hooks/on-bounded-default-props.d.ts +3 -0
  56. package/dist/domain/table/design/ribbon-options.d.ts +2 -0
  57. package/dist/domain/table/design/sub-model-matcher.d.ts +2 -0
  58. package/dist/domain/table/index.d.ts +2 -0
  59. package/dist/domain/table/registry.d.ts +1 -1
  60. package/dist/domain/table/runtime/table-runtime.d.ts +1 -0
  61. package/dist/domain/table/types.d.ts +11 -3
  62. package/dist/index.es.js +28280 -5497
  63. package/dist/runtime/canvas/node/seal-overlay.vue.d.ts +6 -0
  64. package/dist/runtime/canvas/table/render/material-consume/bom-validator.d.ts +10 -2
  65. package/dist/runtime/canvas/table/render/material-consume/material-consume-table-controller.d.ts +6 -0
  66. package/dist/runtime/designer/ribbon/hooks/useDhrEdition.d.ts +7 -0
  67. package/dist/runtime/interface/computed.d.ts +1 -1
  68. package/dist/runtime/renderer/dialogs/device-scan/submit-device-scan.d.ts +3 -0
  69. package/dist/runtime/renderer/dialogs/document-rule-prompt/document-rule-prompt.vue.d.ts +5 -0
  70. package/dist/runtime/renderer/dialogs/document-rule-prompt/open-document-rule-prompt.d.ts +2 -0
  71. package/dist/runtime/renderer/dialogs/seal/open-seal-flow.d.ts +3 -0
  72. package/dist/runtime/renderer/dialogs/seal/seal-api.d.ts +17 -0
  73. package/dist/runtime/renderer/dialogs/seal/seal-auth-dialog.vue.d.ts +60 -0
  74. package/dist/runtime/renderer/dialogs/seal/seal-confirm-dialog.vue.d.ts +9 -0
  75. package/dist/runtime/renderer/dialogs/seal/seal-runtime.d.ts +30 -0
  76. package/dist/runtime/renderer/dialogs/seal/types.d.ts +24 -0
  77. package/dist/runtime/renderer/dialogs/seal/use-seal-confirm.d.ts +27 -0
  78. package/dist/runtime/renderer/dialogs/signature/authentication/signature-authentication.vue.d.ts +27 -0
  79. package/dist/runtime/renderer/dialogs/signature/authentication/types.d.ts +30 -0
  80. package/dist/runtime/renderer/dialogs/signature/authentication/useSignatureAuthentication.d.ts +29 -0
  81. package/dist/runtime/renderer/dialogs/signature/signature-dialog.vue.d.ts +54 -1
  82. package/dist/runtime/renderer/dialogs/upload-image/base-upload-image.vue.d.ts +1 -0
  83. package/dist/runtime/renderer/dialogs/upload-image/upload-image-dialog.vue.d.ts +1 -0
  84. package/dist/runtime/renderer/dropdowns/components/tables/columns/business/material-consume-history.d.ts +17 -0
  85. package/dist/runtime/renderer/dropdowns/components/tables/composables/useSearchEnter.d.ts +18 -0
  86. package/dist/runtime/renderer/dropdowns/components/tables/composables/useSelectTable.d.ts +2 -0
  87. package/dist/runtime/renderer/dropdowns/components/tables/composables/useTableDropdown.d.ts +2 -1
  88. package/dist/runtime/renderer/dropdowns/components/tables/table-option-dropdown.vue.d.ts +2 -2
  89. package/dist/runtime/validation/layout.d.ts +20 -0
  90. package/dist/runtime/validation/useFormValidator.d.ts +4 -0
  91. package/dist/sdk/doc-runtime/composables/useDocumentRulePrompt.d.ts +3 -0
  92. package/dist/sdk/doc-runtime/factories/useDocumentFactory.d.ts +5 -0
  93. package/dist/sdk/setup.d.ts +2 -0
  94. package/dist/sdk/types/index.d.ts +5 -0
  95. package/dist/sdk/vue/index.d.ts +6 -0
  96. package/dist/suites/edhr/component/gct-seal-render.vue.d.ts +7 -0
  97. package/dist/suites/edhr/manifest/field/business/inspection-module-qty-manifest.d.ts +2 -0
  98. package/dist/suites/edhr/manifest/field/business/udi-manifest.d.ts +2 -0
  99. package/dist/suites/edhr/manifest/field/logic/seal-manifest.d.ts +2 -0
  100. package/dist/suites/edhr/manifest/field/object-type/device-parameter-object-manifest.d.ts +2 -0
  101. package/dist/suites/edhr/manifest/field/object-type/inspection-parameter-object-manifest.d.ts +2 -0
  102. package/dist/suites/edhr/manifest/field/object-type/process-parameter-object-manifest.d.ts +2 -0
  103. package/dist/suites/edhr/manifest/field/trace/inspection-container-manifest.d.ts +2 -0
  104. package/dist/suites/edhr/manifest/field/trace/sterilization-date-manifest.d.ts +2 -0
  105. package/dist/suites/edhr/panel-schema/index.d.ts +1 -0
  106. package/dist/suites/edhr/panel-schema/material-substitution-table/material-substitution-table.basic.d.ts +1 -0
  107. package/dist/suites/edhr/panel-schema/rule/components/add-rule-button.vue.d.ts +8 -3
  108. package/dist/suites/edhr/panel-schema/rule/components/decision-rule-condition.vue.d.ts +19 -0
  109. package/dist/suites/edhr/panel-schema/rule/components/decision-rule-group.vue.d.ts +16 -0
  110. package/dist/suites/edhr/panel-schema/rule/modals/inspection-decision-modal.vue.d.ts +11 -0
  111. package/dist/suites/edhr/panel-schema/rule/modals/open-inspection-decision-modal.d.ts +8 -0
  112. package/dist/suites/edhr/panel-schema/rule/types.d.ts +3 -0
  113. package/dist/suites/edhr/panel-schema/rule/use-rules-config.d.ts +12 -0
  114. package/dist/suites/edhr/panel-schema/rule/utils/decision-rule.d.ts +34 -0
  115. package/dist/suites/shared/panel/modules/field-formula-module/field-formula-module.vue.d.ts +1 -0
  116. package/dist/suites/shared/panel/utils/default-value-visibility.d.ts +3 -0
  117. package/dist/utils/pdf/collect-seal-draw-ops.d.ts +4 -0
  118. package/dist/word.css +1304 -603
  119. package/package.json +4 -4
@@ -218,6 +218,7 @@ export declare const BASE_FIELD_TYPE: {
218
218
  export type BaseFieldType = (typeof BASE_FIELD_TYPE)[keyof typeof BASE_FIELD_TYPE];
219
219
  /** 业务字段(基础类型上的业务身份)。后续重构前仍并入 FIELD_TYPE,当作一个字段用。 */
220
220
  export declare const BUSINESS_FIELD_TYPE: {
221
+ readonly SEAL: "seal";
221
222
  /**
222
223
  * 关联批次
223
224
  */
@@ -334,6 +335,10 @@ export declare const BUSINESS_FIELD_TYPE: {
334
335
  * 检验数量
335
336
  */
336
337
  readonly INSPECTION_QTY: "inspection_qty";
338
+ /**
339
+ * 受检数量
340
+ */
341
+ readonly INSPECTION_MODULE_QTY: "inspection_module_qty";
337
342
  /**
338
343
  * 工序接收数量
339
344
  */
@@ -386,6 +391,18 @@ export declare const BUSINESS_FIELD_TYPE: {
386
391
  * 物料日期对象
387
392
  */
388
393
  readonly DATE_OBJECT: "date_object";
394
+ /**
395
+ * 检验参数对象
396
+ */
397
+ readonly INSPECTION_PARAMETER_OBJECT: "inspection_parameter_object";
398
+ /**
399
+ * 工艺参数对象
400
+ */
401
+ readonly PROCESS_PARAMETER_OBJECT: "process_parameter_object";
402
+ /**
403
+ * 设备参数对象
404
+ */
405
+ readonly DEVICE_PARAMETER_OBJECT: "device_parameter_object";
389
406
  /**
390
407
  * 有效期
391
408
  */
@@ -418,6 +435,10 @@ export declare const BUSINESS_FIELD_TYPE: {
418
435
  * 表单实例数
419
436
  */
420
437
  readonly OF_INST_NUM: "of_inst_num";
438
+ /**
439
+ * 医疗器械唯一标识
440
+ */
441
+ readonly UDI: "udi";
421
442
  /**
422
443
  * 生产数量
423
444
  */
@@ -434,10 +455,19 @@ export declare const BUSINESS_FIELD_TYPE: {
434
455
  * 灭菌批(追溯)
435
456
  */
436
457
  readonly STERILIZATION_CONTAINER: "sterilization_container";
458
+ /**
459
+ * 检验批
460
+ */
461
+ readonly INSPECTION_CONTAINER: "inspection_container";
462
+ /**
463
+ * 灭菌日期
464
+ */
465
+ readonly STERILIZATION_DATE: "sterilization_date";
437
466
  };
438
467
  export type BusinessFieldType = (typeof BUSINESS_FIELD_TYPE)[keyof typeof BUSINESS_FIELD_TYPE];
439
468
  /** 字段类型 = 基础 + 业务 */
440
469
  export declare const FIELD_TYPE: {
470
+ readonly SEAL: "seal";
441
471
  /**
442
472
  * 关联批次
443
473
  */
@@ -554,6 +584,10 @@ export declare const FIELD_TYPE: {
554
584
  * 检验数量
555
585
  */
556
586
  readonly INSPECTION_QTY: "inspection_qty";
587
+ /**
588
+ * 受检数量
589
+ */
590
+ readonly INSPECTION_MODULE_QTY: "inspection_module_qty";
557
591
  /**
558
592
  * 工序接收数量
559
593
  */
@@ -606,6 +640,18 @@ export declare const FIELD_TYPE: {
606
640
  * 物料日期对象
607
641
  */
608
642
  readonly DATE_OBJECT: "date_object";
643
+ /**
644
+ * 检验参数对象
645
+ */
646
+ readonly INSPECTION_PARAMETER_OBJECT: "inspection_parameter_object";
647
+ /**
648
+ * 工艺参数对象
649
+ */
650
+ readonly PROCESS_PARAMETER_OBJECT: "process_parameter_object";
651
+ /**
652
+ * 设备参数对象
653
+ */
654
+ readonly DEVICE_PARAMETER_OBJECT: "device_parameter_object";
609
655
  /**
610
656
  * 有效期
611
657
  */
@@ -638,6 +684,10 @@ export declare const FIELD_TYPE: {
638
684
  * 表单实例数
639
685
  */
640
686
  readonly OF_INST_NUM: "of_inst_num";
687
+ /**
688
+ * 医疗器械唯一标识
689
+ */
690
+ readonly UDI: "udi";
641
691
  /**
642
692
  * 生产数量
643
693
  */
@@ -654,6 +704,14 @@ export declare const FIELD_TYPE: {
654
704
  * 灭菌批(追溯)
655
705
  */
656
706
  readonly STERILIZATION_CONTAINER: "sterilization_container";
707
+ /**
708
+ * 检验批
709
+ */
710
+ readonly INSPECTION_CONTAINER: "inspection_container";
711
+ /**
712
+ * 灭菌日期
713
+ */
714
+ readonly STERILIZATION_DATE: "sterilization_date";
657
715
  /**
658
716
  * 文本
659
717
  */
@@ -0,0 +1,19 @@
1
+ import { DocModel } from '../../../core/model/DocModel';
2
+ import { Doc } from '../../../core/view/Doc';
3
+ import { Page } from '../../../core/view/Page';
4
+ import { WrField } from '../../../core/model/document';
5
+ import { Wlayout } from '../../../core/model/overlays/Wlayout';
6
+ import { WidgetMeta } from '../../../core/widget/types';
7
+ import { SealPosition } from './seal-value';
8
+ export declare function isMainSealBinding(meta: WidgetMeta, mainModelKey: string): boolean;
9
+ export declare function listSealFields(model?: DocModel): {
10
+ overlay: import('../../../core/model/overlays/Woverlay').Woverlay;
11
+ layout: Wlayout;
12
+ field: WrField;
13
+ }[];
14
+ export type SealFieldEntry = ReturnType<typeof listSealFields>[number];
15
+ export declare function getSealTemplatePosition({ overlay, layout }: SealFieldEntry): SealPosition;
16
+ export declare function getSealInstancePosition(doc: Doc, entry: SealFieldEntry): SealPosition;
17
+ export declare function findSealPage(pages: Page[], position: SealPosition): Page | undefined;
18
+ export declare function getSealPagePosition(doc: Doc, page: Page, x: number, y: number): SealPosition;
19
+ export declare function initializeDocumentSeals(doc: Doc): void;
@@ -0,0 +1,32 @@
1
+ import { Doc } from '../../../core/view/Doc';
2
+ import { ImageWidget } from '../../../core/view/runs/ImageWidget';
3
+ export declare function resolveSealDisplay(doc: Doc, widget: ImageWidget): {
4
+ stamped: boolean;
5
+ visible: boolean;
6
+ hasError: boolean;
7
+ emptySymbol: string;
8
+ showEmptySymbol: boolean;
9
+ placeholder: string;
10
+ requiredBorder: boolean | undefined;
11
+ state: undefined;
12
+ disabled: boolean;
13
+ isReadonly: boolean;
14
+ blocked: boolean;
15
+ } | {
16
+ stamped: boolean;
17
+ visible: boolean;
18
+ hasError: boolean;
19
+ emptySymbol: string;
20
+ showEmptySymbol: boolean;
21
+ placeholder: string;
22
+ requiredBorder: boolean | undefined;
23
+ state: {
24
+ required: boolean;
25
+ readonly: boolean;
26
+ disabled: boolean;
27
+ displayStatus: import('../../../core/widget/state').WidgetDisplayStatus;
28
+ };
29
+ disabled: boolean;
30
+ isReadonly: boolean;
31
+ blocked: boolean;
32
+ };
@@ -0,0 +1,39 @@
1
+ export interface SealPosition {
2
+ sheetId: string;
3
+ pageIndex: number;
4
+ leftMm: number;
5
+ topMm: number;
6
+ }
7
+ export interface SealStamp {
8
+ sealId: string;
9
+ sealName: string;
10
+ sealType: string;
11
+ sealImage: string;
12
+ sealUserId: string;
13
+ sealUserName: string;
14
+ sealUserTime: string;
15
+ }
16
+ export interface SealFieldValue extends SealStamp {
17
+ sealPosition: SealPosition;
18
+ }
19
+ export declare function parseSealValue(raw: unknown): Record<string, unknown> | undefined;
20
+ export declare function isSealPosition(value: unknown): value is SealPosition;
21
+ /** Position is instance metadata, not evidence that the field has been filled. */
22
+ export declare function classifySealValue(raw: unknown): 'empty' | 'stamped' | 'invalid';
23
+ export declare const isSealStamped: (raw: unknown) => boolean;
24
+ export declare function readSealValue(raw: unknown, fallback: SealPosition): SealFieldValue;
25
+ export declare function stampSealValue(raw: unknown, fallback: SealPosition, stamp: SealStamp): string;
26
+ export declare function clearSealValue(raw: unknown, fallback: SealPosition): string;
27
+ export declare function moveSealValue(raw: unknown, fallback: SealPosition, position: SealPosition): string;
28
+ /** Only missing positions are repaired; malformed historical values remain available to validation. */
29
+ export declare function initializeSealValue(raw: unknown, fallback: SealPosition): unknown;
30
+ export declare function normalizeSealDiameter(value: unknown): number;
31
+ export declare const mmToPx: (mm: number) => number;
32
+ export declare const pxToMm: (px: number) => number;
33
+ export declare function clampSealPosition(p: SealPosition, widthPx: number, heightPx: number, diameterMm: number): SealPosition;
34
+ export declare function containSealImage(width: number, height: number, size: number): {
35
+ x: number;
36
+ y: number;
37
+ width: number;
38
+ height: number;
39
+ };
@@ -0,0 +1 @@
1
+ export { profile as maintenanceProfile } from './profile';
@@ -0,0 +1,9 @@
1
+ /** 设备保养表内置字段 key */
2
+ export declare const F: {
3
+ /** 点检日期 */
4
+ readonly inspectionDate: "inspection_date_";
5
+ /** 点检人 */
6
+ readonly inspector: "inspector_";
7
+ /** 复核人 */
8
+ readonly reviewer: "reviewer_";
9
+ };
@@ -0,0 +1,2 @@
1
+ import { BusinessFieldProfile } from '../../../../types';
2
+ export declare const fields: BusinessFieldProfile[];
@@ -0,0 +1,3 @@
1
+ import { BusinessSubTableProfile } from '../../../../types';
2
+ export declare const TABLE_TYPE: "maintenance";
3
+ export declare const profile: BusinessSubTableProfile;
@@ -0,0 +1 @@
1
+ export { profile as pointInspectionProfile } from './profile';
@@ -0,0 +1,9 @@
1
+ /** 设备点检表内置字段 key */
2
+ export declare const F: {
3
+ /** 点检日期 */
4
+ readonly inspectionDate: "inspection_date_";
5
+ /** 点检人 */
6
+ readonly inspector: "inspector_";
7
+ /** 复核人 */
8
+ readonly reviewer: "reviewer_";
9
+ };
@@ -0,0 +1,2 @@
1
+ import { BusinessFieldProfile } from '../../../../types';
2
+ export declare const fields: BusinessFieldProfile[];
@@ -0,0 +1,3 @@
1
+ import { BusinessSubTableProfile } from '../../../../types';
2
+ export declare const TABLE_TYPE: "point-inspection";
3
+ export declare const profile: BusinessSubTableProfile;
@@ -0,0 +1,13 @@
1
+ import { Doc } from '../../../../../core';
2
+ /**
3
+ * 设备点检/保养签字锁定引擎。
4
+ *
5
+ * 由 TableRuntime 生命周期驱动,只在初始化、行初始化或用户数据变更后重算;
6
+ * 不依赖组件是否已挂载,也不在渲染过程中反向写状态。
7
+ */
8
+ export declare class DeviceSignatureLockEngine {
9
+ private readonly doc;
10
+ constructor(doc: Doc);
11
+ apply(): void;
12
+ private collectConstraint;
13
+ }
@@ -0,0 +1,26 @@
1
+ import { Doc } from '../../../../core';
2
+ export type DeviceOperationControlField = 'inspector_' | 'reviewer_';
3
+ export interface FixedDeviceOperationConfig {
4
+ /** 签名后一并锁定的主表字段 */
5
+ mainFieldBindings?: string[];
6
+ /** 触发当前行数据锁定的签名字段 */
7
+ dataLockControlField?: DeviceOperationControlField;
8
+ }
9
+ export interface FixedDeviceOperationFieldState {
10
+ disabled?: boolean;
11
+ readonly?: boolean;
12
+ }
13
+ export interface FixedDeviceOperationTable {
14
+ subFieldKey: string;
15
+ config: FixedDeviceOperationConfig;
16
+ }
17
+ /** 签名字段有有效数据时,认为该行已进入锁定状态。 */
18
+ export declare function hasSignatureValue(value: unknown): boolean;
19
+ export declare function isSignatureLockActive(config: FixedDeviceOperationConfig | undefined, rowData: Record<string, any> | undefined): boolean;
20
+ /** 已保存的固定表行,其控制签名不可再删除。 */
21
+ export declare function isPersistedSignatureLockActive(config: FixedDeviceOperationConfig | undefined, rowData: Record<string, any> | undefined): boolean;
22
+ export declare function getFixedDeviceOperationTables(doc: Doc): FixedDeviceOperationTable[];
23
+ /** 根据字段实际运行时路径解析设备点检/保养表的动态禁用、只读状态。 */
24
+ export declare function resolveFixedDeviceOperationFieldState(doc: Doc, runtimeValuePath: string): FixedDeviceOperationFieldState;
25
+ /** 组装设备点检/保养控制签名前需校验的主表与当前行字段路径。 */
26
+ export declare function resolveDeviceSignatureValidationPaths(doc: Doc, runtimeValuePath: string, candidatePaths: Iterable<string>): string[];
@@ -1,5 +1,5 @@
1
1
  /**
2
- * 生产收料表(MATERIAL_REQUISITION)字段 key
2
+ * 产线收料表(MATERIAL_REQUISITION)字段 key
3
3
  */
4
4
  export declare const F: {
5
5
  /** 物料 */
@@ -0,0 +1,3 @@
1
+ import { BusinessScanHandler } from '../../../shared/scan-action';
2
+ /** 物料替换表:按条码解析规则映射结果填充空行,否则新增一行。 */
3
+ export declare const handleMaterialSubstitutionScan: BusinessScanHandler;
@@ -0,0 +1,3 @@
1
+ export { profile as materialSubstitutionProfile, TABLE_TYPE } from './profile';
2
+ export * from './profile';
3
+ export { handleMaterialSubstitutionScan } from './actions/scan';
@@ -0,0 +1,39 @@
1
+ /**
2
+ * 物料替换表(MATERIAL_SUBSTITUTION)字段 key
3
+ */
4
+ export declare const F: {
5
+ /** 工序节点 */
6
+ readonly routingOperation: "routing_operation_id_";
7
+ /** SN */
8
+ readonly productionContainer: "production_container_id_";
9
+ /** 被替换物料批号 */
10
+ readonly sourceMaterialNo: "source_material_no_";
11
+ /** 被替换物料 */
12
+ readonly sourceProduct: "source_product_id_";
13
+ /** 被替换物料名称 */
14
+ readonly sourceProductName: "source_product_id_name_";
15
+ /** 被替换物料编码 */
16
+ readonly sourceProductCode: "source_product_id_code_";
17
+ /** 被替换物料规格 */
18
+ readonly sourceProductSpec: "source_product_id_spec_";
19
+ /** 原上料数量 */
20
+ readonly sourceQtyConsumed: "source_qty_consumed_";
21
+ /** 替换物料批号 */
22
+ readonly targetMaterialNo: "target_material_no_";
23
+ /** 替换物料 */
24
+ readonly targetProduct: "target_product_id_";
25
+ /** 替换物料名称 */
26
+ readonly targetProductName: "target_product_id_name_";
27
+ /** 替换物料编码 */
28
+ readonly targetProductCode: "target_product_id_code_";
29
+ /** 替换物料规格 */
30
+ readonly targetProductSpec: "target_product_id_spec_";
31
+ /** 替换数量 */
32
+ readonly targetQtyConsumed: "target_qty_consumed_";
33
+ };
34
+ export type MaterialSubstitutionFieldKey = (typeof F)[keyof typeof F];
35
+ /** 设计态固定禁用、运行态只读的物料信息字段 */
36
+ export declare const DISABLED_INPUT_FIELDS: readonly ["source_material_no_", "source_product_id_name_", "source_product_id_code_", "source_product_id_spec_", "source_qty_consumed_", "target_product_id_name_", "target_product_id_code_", "target_product_id_spec_"];
37
+ export declare const CLEAR_ON_SOURCE_PRODUCT_EMPTY: readonly ["source_material_no_", "source_product_id_name_", "source_product_id_code_", "source_product_id_spec_", "source_qty_consumed_"];
38
+ /** 替换物料批号清空 / 手输时需清空的物料字段 */
39
+ export declare const CLEAR_ON_TARGET_MATERIAL_NO_EMPTY: readonly ["target_product_id_name_", "target_product_id_code_", "target_product_id_spec_"];
@@ -0,0 +1,2 @@
1
+ import { BusinessFieldProfile } from '../../../../types';
2
+ export declare const fields: BusinessFieldProfile[];
@@ -0,0 +1,4 @@
1
+ import { BusinessSubTableProfile } from '../../../../types';
2
+ export declare const TABLE_TYPE: "material-substitution";
3
+ export declare const profile: BusinessSubTableProfile;
4
+ export { profile as materialSubstitutionProfile };
@@ -0,0 +1,3 @@
1
+ import { Doc } from '../../../../../../core';
2
+ export declare function handleTargetMaterialNoChange(doc: Doc, subFieldKey: string, rowIndex: number): void;
3
+ export declare function handleSourceProductChange(doc: Doc, subFieldKey: string, rowIndex: number): void;
@@ -190,5 +190,6 @@ export declare enum ScanParamType {
190
190
  /** 需求数量计算规则 */
191
191
  export declare enum RequiredQtyCalcRule {
192
192
  LotQty = "lotQty",
193
- ProductQty = "productQty"
193
+ ProductQty = "productQty",
194
+ Custom = "custom"
194
195
  }
@@ -0,0 +1,3 @@
1
+ import { BoundedWidgetPropsMeta } from '../../../../core/model/logic/subtable/bounded/BoundedRegion';
2
+ /** 根据所选子模型解析固定表创建时的默认配置。 */
3
+ export declare function getDefaultBoundedWidgetProps(refModelType?: string): BoundedWidgetPropsMeta;
@@ -7,6 +7,8 @@ export interface RibbonTableOptionsParams {
7
7
  suiteKey?: string;
8
8
  /** 套件级需从 Ribbon 隐藏的业务表类型 */
9
9
  hiddenBusinessTableTypes?: BusinessSubTableType[];
10
+ /** 是否可使用仅向 eDHR Max / Ultra 开放的业务表 */
11
+ canUseMaxEditionTables?: boolean;
10
12
  }
11
13
  /** 生成 Ribbon「数据表」「业务表」下拉选项 */
12
14
  export declare function getRibbonTableOptions(params?: RibbonTableOptionsParams): {
@@ -1,5 +1,7 @@
1
1
  import { FieldMeta } from '../../../capabilities/model-field-runtime';
2
2
  import { DropdownOption } from '../../../base';
3
+ /** 是否为仅能通过固定表入口选择的业务子模型。 */
4
+ export declare function isFixedOnlyBusinessRefModelType(refModelType: string | undefined | null): boolean;
3
5
  /**
4
6
  * 生成「选择子模型」下拉选项
5
7
  * @param tableTypeOrRibbonAction 表类型或 Ribbon action
@@ -13,5 +13,7 @@ export * from './runtime/table-runtime';
13
13
  export * from './design/hooks/on-subtable-create';
14
14
  export * from './design/hooks/on-field-attach';
15
15
  export * from './design/hooks/on-repeating-default-props';
16
+ export * from './design/hooks/on-bounded-default-props';
16
17
  export * from './design/validate-table-selection';
17
18
  export * from './design/validate-nested-table-region';
19
+ export * from './business/device/signature-lock';
@@ -15,5 +15,5 @@ export declare function getProfileByLayoutType(layoutType: string): TableProfile
15
15
  */
16
16
  export declare function getAllBusinessRefModelTypes(): string[];
17
17
  /** 按 refModelType 获取业务表 Profile */
18
- export declare function getBusinessProfileByRefModelType(refModelType: string): BusinessSubTableProfile | undefined;
18
+ export declare function getBusinessProfileByRefModelType(refModelType: string | undefined | null): BusinessSubTableProfile | undefined;
19
19
  export { ALL_TABLE_PROFILES };
@@ -36,6 +36,7 @@ export declare class TableRuntime {
36
36
  private readonly remoteSync;
37
37
  private readonly initLoad;
38
38
  private readonly mainFieldBind;
39
+ private readonly deviceSignatureLock;
39
40
  constructor(doc: Doc);
40
41
  /** 文档是否包含业务子表 */
41
42
  get hasBusinessTables(): boolean;
@@ -1,5 +1,6 @@
1
1
  import { FIELD_TYPE } from '../field/field-type';
2
2
  import { SubTableLayoutType } from '../../core/model/document/wtcRegionRef';
3
+ import { RequiredQtyCalcRule } from './business/material/types';
3
4
  /**
4
5
  * 数据表类型
5
6
  * @property dynamic-table - 动态表
@@ -20,12 +21,15 @@ export type DataTableType = 'dynamic-table' | 'fixed-table' | 'two-d-table';
20
21
  * @property warehouse-allocate - 库存调拨表
21
22
  * @property material-consume - 物料消耗表
22
23
  * @property material-balance - 物料平衡表
23
- * @property material-requisition - 生产收料表
24
+ * @property material-requisition - 产线收料表
25
+ * @property material-substitution - 物料替换表
26
+ * @property point-inspection - 设备点检表(固定表业务模型)
27
+ * @property maintenance - 设备保养表(固定表业务模型)
24
28
  * @property check-table - 检验表
25
29
  * @property pretreatment-list - 预处理表
26
30
  * @property entrust-steril-batch-list - 委托灭菌生产批次表
27
31
  */
28
- export type BusinessSubTableType = 'warehouse-in' | 'warehouse-inbound' | 'warehouse-out' | 'warehouse-outbound' | 'warehouse-in-out' | 'warehouse-inventory' | 'part-stocktake' | 'device-part-consume' | 'warehouse-allocate' | 'material-consume' | 'material-balance' | 'material-requisition' | 'check-table' | 'pretreatment-list' | 'entrust-steril-batch-list';
32
+ export type BusinessSubTableType = 'warehouse-in' | 'warehouse-inbound' | 'warehouse-out' | 'warehouse-outbound' | 'warehouse-in-out' | 'warehouse-inventory' | 'part-stocktake' | 'device-part-consume' | 'warehouse-allocate' | 'material-consume' | 'material-balance' | 'material-requisition' | 'material-substitution' | 'point-inspection' | 'maintenance' | 'check-table' | 'pretreatment-list' | 'entrust-steril-batch-list';
29
33
  /** 所有子表类型(数据表 + 业务表) */
30
34
  export type TableType = DataTableType | BusinessSubTableType;
31
35
  /**
@@ -105,8 +109,10 @@ export interface BusinessSubTableProfile extends TableProfileBase {
105
109
  category: 'business';
106
110
  type: BusinessSubTableType;
107
111
  match: BusinessTableMatchRule;
112
+ /** fixed-table-model 不注册独立 Ribbon 入口,仅借用固定表选择业务子模型。 */
113
+ entry?: 'ribbon' | 'fixed-table-model';
108
114
  /** Ribbon 业务表分组名 */
109
- ribbonGroup: string;
115
+ ribbonGroup?: string;
110
116
  ribbonGroupDivider?: boolean;
111
117
  /** 仅在这些套件的 Ribbon 中展示;省略则所有套件可见(仍受 suite hidden 列表约束) */
112
118
  ribbonSuites?: SuiteKey[];
@@ -471,6 +477,8 @@ export type RuleTrigger = 'always' | 'onRowInit' | 'onFieldChange' | 'onRowConfi
471
477
  export interface RuleContext {
472
478
  /** 当前文档是否为模拟填报 */
473
479
  isMockReport: boolean;
480
+ /** 物料消耗表的需求数量计算规则 */
481
+ requiredQtyCalcRule?: RequiredQtyCalcRule;
474
482
  /** 子表在 rawData 中的 fieldKey */
475
483
  subFieldKey: string;
476
484
  /** 业务子模型 refModelType */