@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
@@ -0,0 +1,6 @@
1
+ import { OverlayLayout } from '../../../core';
2
+ type __VLS_Props = {
3
+ widget: OverlayLayout;
4
+ };
5
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>;
6
+ export default _default;
@@ -31,6 +31,8 @@ export declare class BomEntryValidator {
31
31
  mainMaterialNo: string;
32
32
  /** 物料消耗模式 */
33
33
  noBomMode: boolean;
34
+ /** 自定义需求数量,由表格行手动填写 */
35
+ isCustomRequiredQty: boolean;
34
36
  /** 该明细使用到的产品的id集合 */
35
37
  productIds: string[];
36
38
  /** 物料和code的映射 */
@@ -53,7 +55,9 @@ export declare class BomEntryValidator {
53
55
  /** 表单实例的批次号 */
54
56
  mainMaterialNo: string,
55
57
  /** 物料消耗模式 */
56
- noBomMode: boolean);
58
+ noBomMode: boolean,
59
+ /** 自定义需求数量,由表格行手动填写 */
60
+ isCustomRequiredQty?: boolean);
57
61
  /**
58
62
  * 翻译物料的code
59
63
  * @param productId
@@ -142,6 +146,8 @@ export declare class BomEntriesValidator {
142
146
  mainMaterialNo: string;
143
147
  /** 物料消耗模式 */
144
148
  noBomMode: boolean;
149
+ /** 需求数量由表格行手动填写 */
150
+ isCustomRequiredQty: boolean;
145
151
  bomEntryValidators: BomEntryValidator[];
146
152
  constructor(entries: IBomEntry[],
147
153
  /** 是否启用顺序投料 */
@@ -153,7 +159,9 @@ export declare class BomEntriesValidator {
153
159
  /** 表单实例的批次号 */
154
160
  mainMaterialNo: string,
155
161
  /** 物料消耗模式 */
156
- noBomMode: boolean);
162
+ noBomMode: boolean,
163
+ /** 需求数量由表格行手动填写 */
164
+ isCustomRequiredQty?: boolean);
157
165
  /** 当前批次/生产数量 */
158
166
  get materialNoNum(): number;
159
167
  /**
@@ -144,6 +144,12 @@ export declare class MaterialConsumeTableController {
144
144
  */
145
145
  set actualTableData(value: IMaterialConsumeData[]);
146
146
  constructor(tmplBomController: FormTmplBomController, tmplBom: IFormTmplBom);
147
+ get isCustomRequiredQty(): boolean;
148
+ private getBomGroupForRow;
149
+ private getMatchingBomGroupForRow;
150
+ /** 自定义规则的需求数量在同一 BOM 组内保持一致。 */
151
+ getCustomGroupRequiredQty(row: IMaterialConsumeData): number | undefined;
152
+ private syncCustomGroupRequiredQty;
147
153
  /** 错误信息 */
148
154
  error(message: string): void;
149
155
  /**
@@ -0,0 +1,7 @@
1
+ import { Ref } from 'vue';
2
+ /**
3
+ * Word 设计器加载 DHR 版本授权;非 eDHR 套件不请求,加载失败时按无授权处理。
4
+ */
5
+ export declare function useDhrEdition(suiteKey: string): {
6
+ canUseMaxEditionTables: Ref<boolean>;
7
+ };
@@ -38,4 +38,4 @@ export declare function fetchAutofillSource(field: FieldDataBindingMeta, context
38
38
  /** 默认值-数据填充 */
39
39
  export declare function loadDefaultValueByAutofillRules(instances: any[], autofillRules: any[], field: FieldDataBindingMeta, context: Record<string, unknown>, autofillEnabled?: boolean, rawData?: Record<string, unknown>): Promise<Record<string, unknown>>;
40
40
  /** 选择值-数据填充 */
41
- export declare function loadDataValuesByAutofillRules(record: Record<string, unknown>, autofillRules: any[], sourceValuePath: string, autofillEnabled?: boolean, doc?: Doc): Record<string, unknown>;
41
+ export declare function loadDataValuesByAutofillRules(record: Record<string, unknown> | null | undefined, autofillRules: any[], sourceValuePath: string, autofillEnabled?: boolean, doc?: Doc): Record<string, unknown>;
@@ -1,5 +1,6 @@
1
1
  import { FIELD_TYPE } from '../../../../domain/field/field-type';
2
2
  import { ParseRules } from '../../../../suites/shared/panel/config/editor/qrcode-parse-editor/types';
3
+ import { ParseRuleConfig } from '../../../../suites/shared/panel/config/editor/qrcode-parse-editor/utils';
3
4
  export type DeviceScanFieldInfo = {
4
5
  key: string;
5
6
  modelKey: string;
@@ -21,6 +22,8 @@ export type DeviceScanSubmitResult = {
21
22
  ok: false;
22
23
  message: string;
23
24
  };
25
+ export declare function getRuleCodeByFieldType(parsed: Record<string, any>, config: ParseRuleConfig | undefined, fieldType?: FIELD_TYPE): string | undefined;
26
+ export declare function appendFillMapPayload(payload: Record<string, any>, parsed: Record<string, any>, parseRules: ParseRules | undefined, runtimeValuePath: string): void;
24
27
  /** 解析条码、校验设备编码、查询设备并生成写入 payload */
25
28
  export declare function submitDeviceScan(params: DeviceScanSubmitParams): Promise<DeviceScanSubmitResult>;
26
29
  export declare function showDeviceScanError(message: string): void;
@@ -0,0 +1,5 @@
1
+ type __VLS_Props = {
2
+ message: string;
3
+ };
4
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
5
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import { IModalInstance } from '../../../../base/modal';
2
+ export declare function openDocumentRulePrompt(message: string, onClosed?: () => void): IModalInstance;
@@ -0,0 +1,3 @@
1
+ import { SealFlowContext } from './types';
2
+ import { SealStamp } from '../../../../domain/field/seal/seal-value';
3
+ export declare function openSealFlow(ctx: SealFlowContext): Promise<SealStamp | undefined>;
@@ -0,0 +1,17 @@
1
+ import { api } from '../../../../utils/adapters/api';
2
+ export interface SealDetail {
3
+ id?: string;
4
+ name?: string;
5
+ code?: string;
6
+ sealImage?: string;
7
+ }
8
+ export declare const sealRequestConfig: NonNullable<Parameters<typeof api.platform.sealManagement.getInfo>[1]> & {
9
+ errorMessageMode: 'none';
10
+ };
11
+ export declare const getSealDetail: (id: string) => Promise<SealDetail>;
12
+ export declare const verifySealPassword: (request: {
13
+ id: string;
14
+ password: string;
15
+ }) => Promise<boolean>;
16
+ export declare const getSealUserTime: () => string;
17
+ export declare function isValidSealDetail(detail: SealDetail, id: string): boolean;
@@ -0,0 +1,60 @@
1
+ import { AuthenticationAttempt, AuthenticationState } from '../signature/authentication/types';
2
+ import { AuthResult, SealStepContext } from './types';
3
+ type __VLS_Props = {
4
+ context: SealStepContext;
5
+ onResult(result: AuthResult): void;
6
+ };
7
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
8
+ authRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
9
+ defaultLoginAccount?: string;
10
+ enableSignPassword?: number;
11
+ imageDirection?: string;
12
+ showForm?: boolean;
13
+ disabled?: boolean;
14
+ submitCard: (code: string) => Promise<void>;
15
+ }> & Readonly<{
16
+ "onState-change"?: ((state: AuthenticationState) => any) | undefined;
17
+ "onCard-complete"?: (() => any) | undefined;
18
+ }>, {
19
+ authenticatePassword(): Promise<AuthenticationAttempt | undefined>;
20
+ authenticateCard(code: string): Promise<AuthenticationAttempt>;
21
+ hasInput(): boolean;
22
+ reset(): void;
23
+ invalidate(): void;
24
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
25
+ "state-change": (state: AuthenticationState) => any;
26
+ "card-complete": () => any;
27
+ }, import('vue').PublicProps, {
28
+ disabled: boolean;
29
+ enableSignPassword: number;
30
+ showForm: boolean;
31
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
32
+ P: {};
33
+ B: {};
34
+ D: {};
35
+ C: {};
36
+ M: {};
37
+ Defaults: {};
38
+ }, Readonly<{
39
+ defaultLoginAccount?: string;
40
+ enableSignPassword?: number;
41
+ imageDirection?: string;
42
+ showForm?: boolean;
43
+ disabled?: boolean;
44
+ submitCard: (code: string) => Promise<void>;
45
+ }> & Readonly<{
46
+ "onState-change"?: ((state: AuthenticationState) => any) | undefined;
47
+ "onCard-complete"?: (() => any) | undefined;
48
+ }>, {
49
+ authenticatePassword(): Promise<AuthenticationAttempt | undefined>;
50
+ authenticateCard(code: string): Promise<AuthenticationAttempt>;
51
+ hasInput(): boolean;
52
+ reset(): void;
53
+ invalidate(): void;
54
+ }, {}, {}, {}, {
55
+ disabled: boolean;
56
+ enableSignPassword: number;
57
+ showForm: boolean;
58
+ }> | null;
59
+ }, HTMLDivElement>;
60
+ export default _default;
@@ -0,0 +1,9 @@
1
+ import { SignInfo } from '../signature/logic';
2
+ import { ConfirmResult, SealStepContext } from './types';
3
+ type __VLS_Props = {
4
+ context: SealStepContext;
5
+ info: SignInfo;
6
+ onResult(result: ConfirmResult): void;
7
+ };
8
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
9
+ export default _default;
@@ -0,0 +1,30 @@
1
+ import { Doc } from '../../../../core/view/Doc';
2
+ import { SealFieldEntry } from '../../../../domain/field/seal/seal-binding';
3
+ import { SealPosition } from '../../../../domain/field/seal/seal-value';
4
+ export declare function sealPermissions(doc: Doc, entry: SealFieldEntry): {
5
+ canMove: boolean;
6
+ canStamp: boolean;
7
+ };
8
+ /** The flow belongs to the field, not to a layout component that is recreated after a move. */
9
+ export declare class SealRuntime {
10
+ private doc;
11
+ private initializeField?;
12
+ private pending;
13
+ private busy;
14
+ private disposed;
15
+ private epoch;
16
+ private off;
17
+ constructor(doc: Doc, initializeField?: ((field: SealFieldEntry["field"]) => void) | undefined);
18
+ onInit(): Promise<void>;
19
+ onHydrate(): void;
20
+ onFieldChanges(): void;
21
+ private prune;
22
+ private cancel;
23
+ destroy(): void;
24
+ private entry;
25
+ isBusy(id: string): boolean;
26
+ stamp(id: string): Promise<void>;
27
+ clear(id: string): void;
28
+ move(id: string, position: SealPosition): void;
29
+ }
30
+ export declare function getSealRuntime(doc: Doc, initializeField?: (field: SealFieldEntry['field']) => void): SealRuntime;
@@ -0,0 +1,24 @@
1
+ import { SignInfo } from '../signature/logic';
2
+ import { SealStamp } from '../../../../domain/field/seal/seal-value';
3
+ export interface SealFlowContext {
4
+ sealId: string;
5
+ defaultLoginAccount?: string;
6
+ enableSignPassword?: number;
7
+ signal?: AbortSignal;
8
+ isActive(): boolean;
9
+ }
10
+ export interface SealStepContext extends SealFlowContext {
11
+ registerInvalidate(invalidate: () => void): void;
12
+ }
13
+ export type AuthResult = {
14
+ action: 'next';
15
+ info: SignInfo;
16
+ } | {
17
+ action: 'cancel';
18
+ };
19
+ export type ConfirmResult = {
20
+ action: 'done';
21
+ stamp: SealStamp;
22
+ } | {
23
+ action: 'back' | 'cancel';
24
+ };
@@ -0,0 +1,27 @@
1
+ import { SignInfo } from '../signature/logic';
2
+ import { SealStamp } from '../../../../domain/field/seal/seal-value';
3
+ import { SealDetail } from './seal-api';
4
+ export interface SealConfirmDependencies {
5
+ sealId: string;
6
+ info: SignInfo;
7
+ isActive(): boolean;
8
+ fetchDetail(id: string): Promise<SealDetail>;
9
+ verifyPassword(request: {
10
+ id: string;
11
+ password: string;
12
+ }): Promise<boolean>;
13
+ now(): string;
14
+ }
15
+ export declare function useSealConfirm(deps: SealConfirmDependencies): {
16
+ detail: import('vue').Ref<SealDetail | undefined, SealDetail | undefined>;
17
+ loading: import('vue').Ref<boolean, boolean>;
18
+ submitting: import('vue').Ref<boolean, boolean>;
19
+ password: import('vue').Ref<string, string>;
20
+ passwordStatus: import('vue').Ref<"idle" | "invalid" | "validating" | "valid", "idle" | "invalid" | "validating" | "valid">;
21
+ passwordError: import('vue').Ref<string, string>;
22
+ error: import('vue').Ref<string, string>;
23
+ loadDetail: () => Promise<void>;
24
+ validatePassword: () => Promise<boolean>;
25
+ confirm: () => Promise<SealStamp | undefined>;
26
+ dispose: () => void;
27
+ };
@@ -0,0 +1,27 @@
1
+ import { AuthenticationState } from './types';
2
+ type __VLS_Props = {
3
+ defaultLoginAccount?: string;
4
+ enableSignPassword?: number;
5
+ imageDirection?: string;
6
+ showForm?: boolean;
7
+ disabled?: boolean;
8
+ submitCard: (code: string) => Promise<void>;
9
+ };
10
+ declare const _default: import('vue').DefineComponent<__VLS_Props, {
11
+ authenticatePassword(): Promise<import('./types').AuthenticationAttempt | undefined>;
12
+ authenticateCard(code: string): Promise<import('./types').AuthenticationAttempt>;
13
+ hasInput(): boolean;
14
+ reset(): void;
15
+ invalidate(): void;
16
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
17
+ "state-change": (state: AuthenticationState) => any;
18
+ "card-complete": () => any;
19
+ }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
20
+ "onState-change"?: ((state: AuthenticationState) => any) | undefined;
21
+ "onCard-complete"?: (() => any) | undefined;
22
+ }>, {
23
+ disabled: boolean;
24
+ enableSignPassword: number;
25
+ showForm: boolean;
26
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
27
+ export default _default;
@@ -0,0 +1,30 @@
1
+ import { SignInfo } from '../logic';
2
+ export type AuthenticationMethod = 'PASSWORD' | 'CARD';
3
+ export type AuthenticationCardStatus = 'waiting' | 'success' | 'warning' | 'error';
4
+ export interface AuthenticationAttempt {
5
+ info: SignInfo;
6
+ /** Recheck after asynchronous business validation, before committing. */
7
+ isCurrent(): boolean;
8
+ }
9
+ export interface AuthenticationOptions {
10
+ defaultLoginAccount(): string | undefined;
11
+ enableSignPassword(): number;
12
+ imageDirection(): string | undefined;
13
+ isActive?: () => boolean;
14
+ }
15
+ export interface AuthenticationExpose {
16
+ authenticatePassword(): Promise<AuthenticationAttempt | undefined>;
17
+ authenticateCard(code: string): Promise<AuthenticationAttempt>;
18
+ hasInput(): boolean;
19
+ reset(): void;
20
+ invalidate(): void;
21
+ }
22
+ export interface AuthenticationState {
23
+ ready: boolean;
24
+ loading: boolean;
25
+ method: AuthenticationMethod | '';
26
+ cardStatus: AuthenticationCardStatus;
27
+ }
28
+ export declare class AuthenticationCancelled extends Error {
29
+ constructor();
30
+ }
@@ -0,0 +1,29 @@
1
+ import { AuthenticationAttempt, AuthenticationMethod, AuthenticationOptions } from './types';
2
+ type Field = 'username' | 'password';
3
+ export declare function useSignatureAuthentication(options: AuthenticationOptions): {
4
+ formState: {
5
+ username?: string | undefined;
6
+ password?: string | undefined;
7
+ };
8
+ errors: {
9
+ password: string;
10
+ username: string;
11
+ };
12
+ methods: import('vue').ComputedRef<("CARD" | "PASSWORD")[]>;
13
+ signMethod: import('vue').Ref<"" | AuthenticationMethod, "" | AuthenticationMethod>;
14
+ signWay: import('vue').ComputedRef<{
15
+ label: string;
16
+ type: string;
17
+ }>;
18
+ configLoading: import('vue').Ref<boolean, boolean>;
19
+ configError: import('vue').Ref<string, string>;
20
+ busy: import('vue').Ref<boolean, boolean>;
21
+ ready: import('vue').ComputedRef<boolean>;
22
+ authenticatePassword: () => Promise<AuthenticationAttempt | undefined>;
23
+ authenticateCard: (code: string) => Promise<AuthenticationAttempt>;
24
+ validateField: (field: Field) => Promise<void>;
25
+ hasInput: () => boolean;
26
+ reset: () => void;
27
+ invalidate: () => void;
28
+ };
29
+ export {};
@@ -1,5 +1,6 @@
1
1
  import { ExternalComponentType } from '../../../../core/widget';
2
2
  import { WidgetNode } from '../../../canvas/types';
3
+ import { AuthenticationState } from './authentication/types';
3
4
  type __VLS_Props = {
4
5
  widgetType: ExternalComponentType;
5
6
  widget: WidgetNode;
@@ -19,5 +20,57 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
19
20
  } | undefined>;
20
21
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
21
22
  enableSignPassword: number;
22
- }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
23
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
24
+ authenticationRef: import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{
25
+ defaultLoginAccount?: string;
26
+ enableSignPassword?: number;
27
+ imageDirection?: string;
28
+ showForm?: boolean;
29
+ disabled?: boolean;
30
+ submitCard: (code: string) => Promise<void>;
31
+ }> & Readonly<{
32
+ "onState-change"?: ((state: AuthenticationState) => any) | undefined;
33
+ "onCard-complete"?: (() => any) | undefined;
34
+ }>, {
35
+ authenticatePassword(): Promise<import('./authentication/types').AuthenticationAttempt | undefined>;
36
+ authenticateCard(code: string): Promise<import('./authentication/types').AuthenticationAttempt>;
37
+ hasInput(): boolean;
38
+ reset(): void;
39
+ invalidate(): void;
40
+ }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
41
+ "state-change": (state: AuthenticationState) => any;
42
+ "card-complete": () => any;
43
+ }, import('vue').PublicProps, {
44
+ disabled: boolean;
45
+ enableSignPassword: number;
46
+ showForm: boolean;
47
+ }, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {}, HTMLDivElement, import('vue').ComponentProvideOptions, {
48
+ P: {};
49
+ B: {};
50
+ D: {};
51
+ C: {};
52
+ M: {};
53
+ Defaults: {};
54
+ }, Readonly<{
55
+ defaultLoginAccount?: string;
56
+ enableSignPassword?: number;
57
+ imageDirection?: string;
58
+ showForm?: boolean;
59
+ disabled?: boolean;
60
+ submitCard: (code: string) => Promise<void>;
61
+ }> & Readonly<{
62
+ "onState-change"?: ((state: AuthenticationState) => any) | undefined;
63
+ "onCard-complete"?: (() => any) | undefined;
64
+ }>, {
65
+ authenticatePassword(): Promise<import('./authentication/types').AuthenticationAttempt | undefined>;
66
+ authenticateCard(code: string): Promise<import('./authentication/types').AuthenticationAttempt>;
67
+ hasInput(): boolean;
68
+ reset(): void;
69
+ invalidate(): void;
70
+ }, {}, {}, {}, {
71
+ disabled: boolean;
72
+ enableSignPassword: number;
73
+ showForm: boolean;
74
+ }> | null;
75
+ }, HTMLDivElement>;
23
76
  export default _default;
@@ -15,6 +15,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
15
15
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
16
16
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
17
17
  }>, {}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
18
+ videoRef: HTMLVideoElement;
18
19
  inputRef: HTMLInputElement;
19
20
  }, HTMLDivElement>;
20
21
  export default _default;
@@ -30,6 +30,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {
30
30
  }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
31
31
  "update:modelValue": (...args: any[]) => void;
32
32
  }, import('vue').PublicProps, {}, false, {}, {}, import('vue').GlobalComponents, import('vue').GlobalDirectives, string, {
33
+ videoRef: HTMLVideoElement;
33
34
  inputRef: HTMLInputElement;
34
35
  }, HTMLDivElement, import('vue').ComponentProvideOptions, {
35
36
  P: {};
@@ -0,0 +1,17 @@
1
+ export declare const materialConsumeHistoryColumns: ({
2
+ field: string;
3
+ type: string;
4
+ minWidth: number;
5
+ width: number;
6
+ showOverflow: boolean;
7
+ } | {
8
+ title: string;
9
+ field: string;
10
+ minWidth: number;
11
+ formatter: ({ row }: any) => unknown;
12
+ } | {
13
+ title: string;
14
+ field: string;
15
+ minWidth: number;
16
+ formatter?: undefined;
17
+ })[];
@@ -0,0 +1,18 @@
1
+ import { Ref } from 'vue';
2
+ import { FIELD_TYPE } from '../../../../../../domain/field/field-type';
3
+ import { RuleParseData } from '../../../../../../suites/shared/panel/config/editor/qrcode-parse-editor/utils';
4
+ import { ParseRules } from '../../../../../../suites/shared/panel/config/editor/qrcode-parse-editor/types';
5
+ import { FetcherResult } from './useSelectTable';
6
+ /** 防抖查询与回车查询共用关键词,但只有回车确认的最新结果可以自动回填。 */
7
+ export declare function useSearchEnter(options: {
8
+ keyword: Ref<string | undefined>;
9
+ filters?: () => unknown;
10
+ search: () => Promise<FetcherResult>;
11
+ fetchByCode: (code: string) => Promise<FetcherResult>;
12
+ parseRules: () => ParseRules | undefined;
13
+ fieldType: () => FIELD_TYPE | undefined;
14
+ select: (row: any, parsed?: RuleParseData) => unknown;
15
+ }): {
16
+ onSearchEnter: (event: KeyboardEvent) => Promise<void>;
17
+ scheduleSearch: import('lodash-es').DebouncedFunc<() => void>;
18
+ };
@@ -3,6 +3,8 @@ import { Ref, ComputedRef } from 'vue';
3
3
  * Fetcher 返回结果类型
4
4
  */
5
5
  type FetcherResult = {
6
+ /** 请求已被新查询取代,禁止回填。 */
7
+ stale?: boolean;
6
8
  /** 展示的数据 table 或 tree */
7
9
  data: any[];
8
10
  /** 总页数 */
@@ -4,11 +4,12 @@ export interface TableDropdownSearchFilters {
4
4
  deviceTypeId?: string;
5
5
  }
6
6
  export declare function useTableDropdown(props: any, searchFilters?: MaybeRef<TableDropdownSearchFilters | undefined>): {
7
- fetcher: ({ keyword, pageNo, pageSize, deviceTypeId, }: {
7
+ fetcher: ({ keyword, pageNo, pageSize, deviceTypeId, exactCode, }: {
8
8
  keyword?: string;
9
9
  pageNo: number;
10
10
  pageSize: number;
11
11
  deviceTypeId?: string;
12
+ exactCode?: string;
12
13
  }) => Promise<FetcherResult>;
13
14
  columns: import('vue').ComputedRef<any>;
14
15
  fieldInfo: import('vue').ComputedRef<import('../../../../../../capabilities/model-field-runtime').FieldMeta | null>;
@@ -16,7 +16,7 @@ type __VLS_Props = {
16
16
  hasNextPage: boolean;
17
17
  };
18
18
  declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {} & {
19
- search: () => any;
19
+ search: (event: KeyboardEvent) => any;
20
20
  clear: () => any;
21
21
  "load-more": () => any;
22
22
  "change-select": (row: any) => any;
@@ -24,7 +24,7 @@ declare const _default: import('vue').DefineComponent<__VLS_Props, {}, {}, {}, {
24
24
  "manual-input": () => any;
25
25
  "device-type-change": (value?: string | undefined) => any;
26
26
  }, string, import('vue').PublicProps, Readonly<__VLS_Props> & Readonly<{
27
- onSearch?: (() => any) | undefined;
27
+ onSearch?: ((event: KeyboardEvent) => any) | undefined;
28
28
  onClear?: (() => any) | undefined;
29
29
  "onLoad-more"?: (() => any) | undefined;
30
30
  "onChange-select"?: ((row: any) => any) | undefined;
@@ -9,6 +9,26 @@ export declare function buildWidgetPathIndex(doc: Doc): Map<string, any>;
9
9
  export declare function listWidgetNodes(doc: Doc): WidgetLayoutEntry[];
10
10
  /** 校验批注连线坐标:优先按 valuePath 存取,兼容旧版 modelId */
11
11
  export declare function getValidationCommentPoints(widgetMeta: any, runtimeValuePath: string, modelId?: string): any;
12
+ /** Floating seals do not mount the inline field overlay that normally records these points. */
13
+ export declare function getSealValidationCommentPoints(doc: Doc, widget: any): {
14
+ fieldLeft?: undefined;
15
+ fieldTop?: undefined;
16
+ startX?: undefined;
17
+ startY?: undefined;
18
+ lineWidth?: undefined;
19
+ midX?: undefined;
20
+ midY?: undefined;
21
+ panelLeft?: undefined;
22
+ } | {
23
+ fieldLeft: number;
24
+ fieldTop: number;
25
+ startX: number;
26
+ startY: number;
27
+ lineWidth: number;
28
+ midX: number;
29
+ midY: number;
30
+ panelLeft: number;
31
+ };
12
32
  /** 收集当前文档里所有可校验字段的 runtime valuePath */
13
33
  export declare function listWidgetValuePaths(doc: Doc): string[];
14
34
  /** 由 modelId 解析运行时 valuePath(优先布局 run,兼容子表行) */
@@ -12,6 +12,10 @@ export declare function disposeDocValidationScheduler(doc: Doc): void;
12
12
  export declare const validateAllFields: (doc: Doc, options?: {
13
13
  showComments?: boolean;
14
14
  }) => Promise<Record<string, any[]> | null>;
15
+ /** 对指定运行时字段路径执行提交级完整校验。 */
16
+ export declare const validateFields: (doc: Doc, paths: Iterable<string>, options?: {
17
+ showComments?: boolean;
18
+ }) => Promise<Record<string, any[]> | null>;
15
19
  type ValidateOptions = {
16
20
  /** 调用方已 settle 时可跳过,避免打开时重复等待 */
17
21
  settle?: boolean;
@@ -0,0 +1,3 @@
1
+ import { DocumentFactory } from '../factories/useDocumentFactory';
2
+ /** 将文档规则提示事件桥接到 UI;不参与规则计算和数据监听。 */
3
+ export declare function useDocumentRulePrompt(factory: DocumentFactory): void;
@@ -4,6 +4,7 @@ import { DocInfo, FieldPermissionInfo, IDeviceConfig } from '../../types';
4
4
  import { DesignSuiteContext } from '../../../runtime/_register_/context/DesignSuiteContext';
5
5
  import { OnlineFormInstanceResponse, OnlineFormTmplResponse } from '@gct-paas/api/apaas';
6
6
  import { FormTmplBomController } from '../../../runtime/canvas/table/render/material-consume';
7
+ import { DataSourceManager, DataSourceManagerOptions } from '@gct-paas/form-base';
7
8
  export interface IDocProps {
8
9
  /** 文档实例id或者文档模板id */
9
10
  requestId: MaybeRef<string | undefined>;
@@ -27,6 +28,8 @@ export interface IDocInstancePayload {
27
28
  export interface IDocPayload extends IDocTemplatePayload, IDocInstancePayload {
28
29
  /** 工厂类型 */
29
30
  factoryType: 'template' | 'instance';
31
+ /** 表单、实体和业务等数源的宿主查询适配器。 */
32
+ dataSourceAdapters?: DataSourceManagerOptions['adapters'];
30
33
  /** 模型 key */
31
34
  modelKey?: ModelKey;
32
35
  /** 设备配置信息 */
@@ -48,6 +51,8 @@ export interface IDocPayload extends IDocTemplatePayload, IDocInstancePayload {
48
51
  }
49
52
  /** 文档加载工厂 — 只负责响应式加载与生命周期,不包含业务操作 */
50
53
  export interface DocumentFactory {
54
+ /** 当前填报实例的数源查询、状态与手动刷新入口。 */
55
+ dataSourceManager: ShallowRef<DataSourceManager | undefined>;
51
56
  /** 文档引擎实例 */
52
57
  docIns: ShallowRef<Doc | null>;
53
58
  /** 文档页面信息(响应式,驱动 canvas 渲染) */
@@ -17,6 +17,8 @@ export interface SetupPlatformAdaptersOptions {
17
17
  formulaIdentify?: any;
18
18
  /** 公式计算(可选) */
19
19
  formulaCalculate?: any;
20
+ /** 注入业务函数 */
21
+ formulaRegister?: any;
20
22
  /** 触发主工程交互(可选) */
21
23
  triggerHandler?: TriggerHandler;
22
24
  /** 需要安装的 Suite 插件列表 */