@gct-paas/word 0.2.5 → 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 (132) 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/base/utils/image-size-util.d.ts +11 -6
  8. package/dist/capabilities/model-field-runtime/types/field.d.ts +4 -0
  9. package/dist/core/command/base/FloatingFieldCommand.d.ts +9 -0
  10. package/dist/core/command/commands/DeleteRow.d.ts +1 -1
  11. package/dist/core/command/commands/InsertFloatingField.d.ts +9 -0
  12. package/dist/core/command/commands/MoveFloatingField.d.ts +10 -0
  13. package/dist/core/command/commands/RemoveFloatingField.d.ts +12 -0
  14. package/dist/core/command/types.d.ts +14 -0
  15. package/dist/core/data/DataManager.d.ts +6 -1
  16. package/dist/core/data/enrichers/udi-enricher.d.ts +23 -0
  17. package/dist/core/data/formula/business-functions.d.ts +4 -0
  18. package/dist/core/data/types/runtime-config.d.ts +11 -0
  19. package/dist/core/event/handlers/IMEHandler.d.ts +1 -0
  20. package/dist/core/index.d.ts +2 -0
  21. package/dist/core/layout/handlers/fields/signature-decoration-layout.d.ts +14 -0
  22. package/dist/core/model/document/wtcRegionRef.d.ts +1 -1
  23. package/dist/core/model/logic/subtable/repeating/RepeatingRegion.d.ts +4 -1
  24. package/dist/core/model/logic/subtable/shared/merged-table-range.d.ts +4 -0
  25. package/dist/core/model/overlays/Wlayout.d.ts +4 -0
  26. package/dist/core/runtime/DocumentRuntimeManager.d.ts +34 -0
  27. package/dist/core/view/Doc.d.ts +5 -0
  28. package/dist/core/view/runs/ImageRun.d.ts +9 -0
  29. package/dist/core/widget/types.d.ts +2 -2
  30. package/dist/domain/active/active-types.d.ts +3 -1
  31. package/dist/domain/constants/enum/signature.d.ts +14 -0
  32. package/dist/domain/document-rule/index.d.ts +3 -0
  33. package/dist/domain/document-rule/runtime/decision-rule-evaluator.d.ts +13 -0
  34. package/dist/domain/document-rule/runtime/document-rule-runtime.d.ts +19 -0
  35. package/dist/domain/document-rule/types.d.ts +50 -0
  36. package/dist/domain/field/field-props-schema-type.d.ts +1 -1
  37. package/dist/domain/field/field-type.d.ts +58 -0
  38. package/dist/domain/field/seal/seal-binding.d.ts +19 -0
  39. package/dist/domain/field/seal/seal-display.d.ts +32 -0
  40. package/dist/domain/field/seal/seal-value.d.ts +39 -0
  41. package/dist/domain/table/business/device/maintenance/index.d.ts +1 -0
  42. package/dist/domain/table/business/device/maintenance/profile/field-keys.d.ts +9 -0
  43. package/dist/domain/table/business/device/maintenance/profile/fields.d.ts +2 -0
  44. package/dist/domain/table/business/device/maintenance/profile/index.d.ts +3 -0
  45. package/dist/domain/table/business/device/point-inspection/index.d.ts +1 -0
  46. package/dist/domain/table/business/device/point-inspection/profile/field-keys.d.ts +9 -0
  47. package/dist/domain/table/business/device/point-inspection/profile/fields.d.ts +2 -0
  48. package/dist/domain/table/business/device/point-inspection/profile/index.d.ts +3 -0
  49. package/dist/domain/table/business/device/runtime/device-signature-lock-engine.d.ts +13 -0
  50. package/dist/domain/table/business/device/signature-lock.d.ts +26 -0
  51. package/dist/domain/table/business/material/material-requisition/profile/field-keys.d.ts +1 -1
  52. package/dist/domain/table/business/material/material-substitution/actions/scan.d.ts +3 -0
  53. package/dist/domain/table/business/material/material-substitution/index.d.ts +3 -0
  54. package/dist/domain/table/business/material/material-substitution/profile/field-keys.d.ts +39 -0
  55. package/dist/domain/table/business/material/material-substitution/profile/fields.d.ts +2 -0
  56. package/dist/domain/table/business/material/material-substitution/profile/index.d.ts +4 -0
  57. package/dist/domain/table/business/material/material-substitution/runtime/register-handlers.d.ts +1 -0
  58. package/dist/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +3 -0
  59. package/dist/domain/table/business/material/types.d.ts +2 -1
  60. package/dist/domain/table/design/hooks/on-bounded-default-props.d.ts +3 -0
  61. package/dist/domain/table/design/ribbon-options.d.ts +2 -0
  62. package/dist/domain/table/design/sub-model-matcher.d.ts +2 -0
  63. package/dist/domain/table/index.d.ts +2 -0
  64. package/dist/domain/table/registry.d.ts +1 -1
  65. package/dist/domain/table/runtime/table-runtime.d.ts +1 -0
  66. package/dist/domain/table/types.d.ts +11 -3
  67. package/dist/index.es.js +30078 -6424
  68. package/dist/runtime/canvas/node/seal-overlay.vue.d.ts +6 -0
  69. package/dist/runtime/canvas/table/render/material-consume/bom-validator.d.ts +10 -2
  70. package/dist/runtime/canvas/table/render/material-consume/material-consume-table-controller.d.ts +6 -0
  71. package/dist/runtime/canvas/table/render/table-structure-overlay/sub-table-action/fixed-quick-fill-layout.d.ts +30 -0
  72. package/dist/runtime/canvas/table/render/table-structure-overlay/sub-table-action/quick-fill.util.d.ts +2 -1
  73. package/dist/runtime/designer/ribbon/hooks/useDhrEdition.d.ts +7 -0
  74. package/dist/runtime/interface/computed.d.ts +1 -1
  75. package/dist/runtime/renderer/dialogs/device-scan/submit-device-scan.d.ts +3 -0
  76. package/dist/runtime/renderer/dialogs/document-rule-prompt/document-rule-prompt.vue.d.ts +5 -0
  77. package/dist/runtime/renderer/dialogs/document-rule-prompt/open-document-rule-prompt.d.ts +2 -0
  78. package/dist/runtime/renderer/dialogs/seal/open-seal-flow.d.ts +3 -0
  79. package/dist/runtime/renderer/dialogs/seal/seal-api.d.ts +17 -0
  80. package/dist/runtime/renderer/dialogs/seal/seal-auth-dialog.vue.d.ts +60 -0
  81. package/dist/runtime/renderer/dialogs/seal/seal-confirm-dialog.vue.d.ts +9 -0
  82. package/dist/runtime/renderer/dialogs/seal/seal-runtime.d.ts +30 -0
  83. package/dist/runtime/renderer/dialogs/seal/types.d.ts +24 -0
  84. package/dist/runtime/renderer/dialogs/seal/use-seal-confirm.d.ts +27 -0
  85. package/dist/runtime/renderer/dialogs/signature/authentication/signature-authentication.vue.d.ts +27 -0
  86. package/dist/runtime/renderer/dialogs/signature/authentication/types.d.ts +30 -0
  87. package/dist/runtime/renderer/dialogs/signature/authentication/useSignatureAuthentication.d.ts +29 -0
  88. package/dist/runtime/renderer/dialogs/signature/logic.d.ts +5 -1
  89. package/dist/runtime/renderer/dialogs/signature/signature-autofill-runtime.d.ts +14 -0
  90. package/dist/runtime/renderer/dialogs/signature/signature-dialog.vue.d.ts +54 -1
  91. package/dist/runtime/renderer/dialogs/upload-image/base-upload-image.vue.d.ts +1 -0
  92. package/dist/runtime/renderer/dialogs/upload-image/upload-image-dialog.vue.d.ts +1 -0
  93. package/dist/runtime/renderer/dropdowns/components/tables/columns/business/material-consume-history.d.ts +17 -0
  94. package/dist/runtime/renderer/dropdowns/components/tables/composables/useSearchEnter.d.ts +18 -0
  95. package/dist/runtime/renderer/dropdowns/components/tables/composables/useSelectTable.d.ts +2 -0
  96. package/dist/runtime/renderer/dropdowns/components/tables/composables/useTableDropdown.d.ts +2 -1
  97. package/dist/runtime/renderer/dropdowns/components/tables/table-option-dropdown.vue.d.ts +2 -2
  98. package/dist/runtime/validation/layout.d.ts +20 -0
  99. package/dist/runtime/validation/useFormValidator.d.ts +4 -0
  100. package/dist/sdk/doc-runtime/composables/useDocumentRulePrompt.d.ts +3 -0
  101. package/dist/sdk/doc-runtime/factories/useDocumentFactory.d.ts +5 -0
  102. package/dist/sdk/setup.d.ts +2 -0
  103. package/dist/sdk/types/index.d.ts +7 -0
  104. package/dist/sdk/vue/index.d.ts +6 -0
  105. package/dist/suites/edhr/component/gct-seal-render.vue.d.ts +7 -0
  106. package/dist/suites/edhr/manifest/field/_common_/basic.d.ts +5 -0
  107. package/dist/suites/edhr/manifest/field/business/inspection-module-qty-manifest.d.ts +2 -0
  108. package/dist/suites/edhr/manifest/field/business/udi-manifest.d.ts +2 -0
  109. package/dist/suites/edhr/manifest/field/logic/seal-manifest.d.ts +2 -0
  110. package/dist/suites/edhr/manifest/field/object-type/device-parameter-object-manifest.d.ts +2 -0
  111. package/dist/suites/edhr/manifest/field/object-type/inspection-parameter-object-manifest.d.ts +2 -0
  112. package/dist/suites/edhr/manifest/field/object-type/process-parameter-object-manifest.d.ts +2 -0
  113. package/dist/suites/edhr/manifest/field/trace/inspection-container-manifest.d.ts +2 -0
  114. package/dist/suites/edhr/manifest/field/trace/sterilization-date-manifest.d.ts +2 -0
  115. package/dist/suites/edhr/panel-schema/index.d.ts +1 -0
  116. package/dist/suites/edhr/panel-schema/material-substitution-table/material-substitution-table.basic.d.ts +1 -0
  117. package/dist/suites/edhr/panel-schema/rule/components/add-rule-button.vue.d.ts +8 -3
  118. package/dist/suites/edhr/panel-schema/rule/components/decision-rule-condition.vue.d.ts +19 -0
  119. package/dist/suites/edhr/panel-schema/rule/components/decision-rule-group.vue.d.ts +16 -0
  120. package/dist/suites/edhr/panel-schema/rule/modals/inspection-decision-modal.vue.d.ts +11 -0
  121. package/dist/suites/edhr/panel-schema/rule/modals/open-inspection-decision-modal.d.ts +8 -0
  122. package/dist/suites/edhr/panel-schema/rule/types.d.ts +3 -0
  123. package/dist/suites/edhr/panel-schema/rule/use-rules-config.d.ts +12 -0
  124. package/dist/suites/edhr/panel-schema/rule/utils/decision-rule.d.ts +34 -0
  125. package/dist/suites/shared/panel/config/editor/ref-autofill-editor/field-tree-node.vue.d.ts +2 -0
  126. package/dist/suites/shared/panel/config/editor/ref-autofill-editor/field-tree-select.vue.d.ts +4 -0
  127. package/dist/suites/shared/panel/config/editor/ref-autofill-editor/types.d.ts +2 -0
  128. package/dist/suites/shared/panel/modules/field-formula-module/field-formula-module.vue.d.ts +1 -0
  129. package/dist/suites/shared/panel/utils/default-value-visibility.d.ts +3 -0
  130. package/dist/utils/pdf/collect-seal-draw-ops.d.ts +4 -0
  131. package/dist/word.css +1414 -610
  132. 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,30 @@
1
+ import { Doc } from '../../../../../../core';
2
+ import { BoundedRegion } from '../../../../../../core/model/logic/subtable/bounded/BoundedRegion';
3
+ /** 与宿主固定表弹窗约定的输入位置及字段映射。 */
4
+ export interface FixedQuickFillCell {
5
+ row: number;
6
+ col: number;
7
+ groupIndex: number;
8
+ prop: string;
9
+ }
10
+ export interface QuickFillLayoutCell {
11
+ hidden: boolean;
12
+ inItem: boolean;
13
+ groupIndex?: number;
14
+ prop?: string;
15
+ }
16
+ /** 仅为绑定到数据分组的字段提供输入位置,避免空白格吞掉连续粘贴的值。 */
17
+ export declare function compactFixedQuickFillLayout(rows: QuickFillLayoutCell[][]): {
18
+ rowCount: number;
19
+ colCount: number;
20
+ dgRowCount: number;
21
+ dgColCount: number;
22
+ cells: FixedQuickFillCell[];
23
+ };
24
+ export declare function createFixedQuickFillLayout(doc: Doc, region: BoundedRegion): {
25
+ rowCount: number;
26
+ colCount: number;
27
+ dgRowCount: number;
28
+ dgColCount: number;
29
+ cells: FixedQuickFillCell[];
30
+ };
@@ -1,4 +1,5 @@
1
1
  import { Doc } from '../../../../../../core';
2
+ import { BoundedRegion } from '../../../../../../core/model/logic/subtable/bounded/BoundedRegion';
2
3
  export declare const getTableColumns: (doc: Doc, subFieldKey: string, isDynamic: boolean) => ({
3
4
  fieldType: any;
4
5
  field: any;
@@ -26,6 +27,6 @@ export declare const hasFixedTableEmptyGroup: (doc: Doc, subFieldKey: string) =>
26
27
  */
27
28
  export declare const handleOpenFixedQuickFillModal: ({ doc, table, cell, }: {
28
29
  doc: Doc;
29
- table: any;
30
+ table: BoundedRegion;
30
31
  cell: any;
31
32
  }) => void;
@@ -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 {};
@@ -7,6 +7,10 @@ export interface SignInfo {
7
7
  historyId: string;
8
8
  /** 签名用户姓名 */
9
9
  username: string;
10
+ /** 签名用户 ID,人员关联字段使用此值 */
11
+ userId?: string;
12
+ /** 签名图片方向 */
13
+ signatureImageDirection?: string;
10
14
  }
11
15
  /**
12
16
  * 通过账户密码获取签名图片
@@ -14,7 +18,7 @@ export interface SignInfo {
14
18
  * @param {string} password
15
19
  * @param {string} type
16
20
  */
17
- export declare function getSignImgByAccount(username: string, password: string, type: string): Promise<SignInfo>;
21
+ export declare function getSignImgByAccount(username: string, password: string, type: string, signatureImageDirection?: string): Promise<SignInfo>;
18
22
  /** 从接口异常中提取签名错误提示 */
19
23
  export declare function getSignatureErrorMessage(error: unknown): string;
20
24
  export declare function getSignWay(enableSignPassword: number): {
@@ -0,0 +1,14 @@
1
+ import { AutofillRule } from '../../../../suites/shared/panel/config/editor/ref-autofill-editor/types';
2
+ import { MultipleItem } from '../../../../suites/shared/panel/config/editor/attach-fields-editor/types';
3
+ import { SignInfo } from './logic';
4
+ interface SignatureAutofillConfig {
5
+ signatureConfigVersion?: number;
6
+ signatureNumber?: string;
7
+ autofillEnabled?: boolean;
8
+ autofillRules?: AutofillRule[];
9
+ signatureType?: string;
10
+ signTimeType?: string;
11
+ populateFields?: MultipleItem[];
12
+ }
13
+ export declare function buildSignatureAutofillValues(config: SignatureAutofillConfig, signature: Pick<SignInfo, 'userId' | 'time'>, sourceValuePath: string): Record<string, unknown>;
14
+ 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;