@gct-paas/excel 0.1.32 → 0.1.33-beta.1

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 (159) hide show
  1. package/dist/{BaseComponent-CC5rukQG.js → BaseComponent-CAe1GFCG.js} +1 -1
  2. package/dist/{VueVideoPlayer-h_ZG9FHq.js → VueVideoPlayer-BR4RbIhY.js} +2 -2
  3. package/dist/{align-editor-CnDiBeYX.js → align-editor-jvwZmJhi.js} +1 -1
  4. package/dist/{barcode-design-DKS1-ByA.js → barcode-design-D-RUtBUQ.js} +2 -2
  5. package/dist/base/index.es.js +594 -338
  6. package/dist/{diagonal-design-DsSAdTPc.js → diagonal-design-D0-8xfY9.js} +2 -2
  7. package/dist/{dynamic-table-action-C06Eolmw.js → dynamic-table-action-CuwejY0h.js} +260 -63
  8. package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CeMxIrHD.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CFFrNEYh.js} +6784 -4914
  9. package/dist/{edit.utils-CXmmCnxE-DgR7eBfx.js → edit.utils-CXmmCnxE-DsHacnTy.js} +1 -1
  10. package/dist/excel.css +2050 -1111
  11. package/dist/{exceljs.min-tTYbMh8Q.js → exceljs.min-Cq93OYx0.js} +2 -2
  12. package/dist/{font-editor-Dg4-mIar.js → font-editor-STIcKQS9.js} +3 -3
  13. package/dist/{image-design-DipYIW7J.js → image-design-BE0reQ2L.js} +2 -2
  14. package/dist/{index-BSDIqsy-.js → index-7fOfFIWA.js} +1 -1
  15. package/dist/{index-4oVjbEL5.js → index-B8UxP4I8.js} +2 -2
  16. package/dist/{index-Bbm1OZll.js → index-BDEROc8n.js} +2 -2
  17. package/dist/{index-D77cqI26.js → index-BHKYBIU4.js} +1 -1
  18. package/dist/{index-CRhFD2Ma.js → index-BR8jTu0U.js} +3 -3
  19. package/dist/{index-hdnCCYft.js → index-B_Vz06n5.js} +2 -2
  20. package/dist/{index-CxeNA6if.js → index-Boh-6KTf.js} +3 -3
  21. package/dist/{index-C2LjfZ8T.js → index-ByFo5Dnd.js} +2 -2
  22. package/dist/{index-B2uQ_Gpo.js → index-BzYqBsXt.js} +6 -3
  23. package/dist/{index-8yIbmmaT.js → index-C1qPKXtI.js} +2 -2
  24. package/dist/{index-ClPbkivx.js → index-CTtq3ytv.js} +2 -2
  25. package/dist/{index-CnD1HgLA.js → index-CZ_rns9z.js} +3 -3
  26. package/dist/{index-D7uEmsRJ.js → index-CZjv5O4w.js} +2 -2
  27. package/dist/{index-CoqaGOXy.js → index-CaAA6yTk.js} +2 -2
  28. package/dist/{index-CLijkm1b.js → index-CrlUK3mJ.js} +3 -3
  29. package/dist/{index-7uJnJBMV.js → index-CsE9ftfx.js} +9 -3
  30. package/dist/{index-BzWrm1H6.js → index-CxOH8cdl.js} +1 -1
  31. package/dist/{index-DtBIvDQH.js → index-CzZMgyTs.js} +1 -1
  32. package/dist/{index-DJS-Qycc.js → index-D1qAQzmB.js} +2 -2
  33. package/dist/{index-DyJk8rK7.js → index-D5ZIZcxA.js} +2 -2
  34. package/dist/{index-BX7fyebb.js → index-D5aim6xd.js} +1 -1
  35. package/dist/{index-DwCjfahr.js → index-D9JmIbUb.js} +1 -1
  36. package/dist/{index-MOgjK9eo.js → index-DcN-7DVw.js} +36526 -35225
  37. package/dist/{index-DkBu7mHZ.js → index-Dl5qzD_4.js} +2 -2
  38. package/dist/{index-BhReeJJg.js → index-DogAqNJV.js} +2 -2
  39. package/dist/{index-DWHpkDH4.js → index-DvbyBcoW.js} +3 -3
  40. package/dist/{index-Cl6vrDfE.js → index-DwQuEur6.js} +2 -2
  41. package/dist/{index-B_-itxOF.js → index-GZPHkfRf.js} +2 -2
  42. package/dist/{index-CSgBgTvS.js → index-Gqpg9XkM.js} +2 -2
  43. package/dist/{index-Cca1mHnO.js → index-OQIgIej5.js} +1 -1
  44. package/dist/{index-D6PLyjGU.js → index-TfrN14XT.js} +2 -2
  45. package/dist/{index-15gZRWSR.js → index-uyTvicTO.js} +1 -1
  46. package/dist/{index-DH7pin31.js → index-vCGSByW_.js} +2 -2
  47. package/dist/{index-BVyNEH4i.js → index-wGLH0bRh.js} +1 -1
  48. package/dist/index.es.js +2 -2
  49. package/dist/{mb-render-BVp5fqUK.js → mb-render-CtCYbeiE.js} +1 -1
  50. package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-0eC-BT2j.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-DhcW_QTf.js} +1 -8
  51. package/dist/{pagination-design-BugQ6_X1.js → pagination-design-Dww0Y1-3.js} +2 -2
  52. package/dist/paper-widget-design-D_mxf4dD.js +4 -0
  53. package/dist/{qrcode-design-BvcrdqjC.js → qrcode-design-D0aSeR4l.js} +1 -1
  54. package/dist/{revo-grid.entry-ByZf-Mkh.js → revo-grid.entry-DI2rNob_.js} +1 -1
  55. package/dist/{revogr-attribution_7.entry-Bkbb15P7.js → revogr-attribution_7.entry-CBbD7d-g.js} +3 -3
  56. package/dist/{revogr-clipboard_3.entry-BAsnJv1y.js → revogr-clipboard_3.entry-CLAxZ5jH.js} +2 -2
  57. package/dist/{revogr-data_4.entry-Cpmztqm8.js → revogr-data_4.entry-7VW0g6vl.js} +2 -2
  58. package/dist/{revogr-filter-panel.entry-CUJGzSbz.js → revogr-filter-panel.entry-DGHVS3a2.js} +1 -1
  59. package/dist/{serialnumber-design-CtnZEPSs.js → serialnumber-design-D37xioAJ.js} +1 -1
  60. package/dist/shared/index.es.js +31 -25
  61. package/dist/{single-field-drop-BKf3R6dR.js → single-field-drop-D5eogcuY.js} +2 -2
  62. package/dist/{size-editor-DbOpQm-C.js → size-editor-_oGc1_8M.js} +1 -1
  63. package/dist/src/assets/svgs/table/index.d.ts +1 -0
  64. package/dist/src/domain/field/text/udi-manifest.d.ts +2 -0
  65. package/dist/src/domain/table/business/device/maintenance/index.d.ts +1 -0
  66. package/dist/src/domain/table/business/device/maintenance/profile/field-keys.d.ts +9 -0
  67. package/dist/src/domain/table/business/device/maintenance/profile/fields.d.ts +2 -0
  68. package/dist/src/domain/table/business/device/maintenance/profile/index.d.ts +3 -0
  69. package/dist/src/domain/table/business/device/point-inspection/index.d.ts +1 -0
  70. package/dist/src/domain/table/business/device/point-inspection/profile/field-keys.d.ts +9 -0
  71. package/dist/src/domain/table/business/device/point-inspection/profile/fields.d.ts +2 -0
  72. package/dist/src/domain/table/business/device/point-inspection/profile/index.d.ts +3 -0
  73. package/dist/src/domain/table/business/device/signature-lock.d.ts +9 -0
  74. package/dist/src/domain/table/business/material/material-substitution/index.d.ts +2 -0
  75. package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +75 -0
  76. package/dist/src/domain/table/business/material/material-substitution/profile/fields.d.ts +2 -0
  77. package/dist/src/domain/table/business/material/material-substitution/profile/index.d.ts +4 -0
  78. package/dist/src/domain/table/business/material/material-substitution/runtime/register-handlers.d.ts +1 -0
  79. package/dist/src/domain/table/business/material/material-substitution/runtime/row-change-handlers.d.ts +6 -0
  80. package/dist/src/domain/table/design/create-subtable.d.ts +1 -1
  81. package/dist/src/domain/table/design/hooks/on-field-attach.d.ts +1 -1
  82. package/dist/src/domain/table/design/index.d.ts +1 -1
  83. package/dist/src/domain/table/design/sub-model-matcher.d.ts +1 -0
  84. package/dist/src/domain/table/index.d.ts +3 -2
  85. package/dist/src/domain/table/registry.d.ts +1 -0
  86. package/dist/src/domain/table/types.d.ts +8 -3
  87. package/dist/src/nocode-base/src/components/inspection-decision-prompt-modal.vue.d.ts +7 -0
  88. package/dist/src/nocode-base/src/constant/index.d.ts +17 -1
  89. package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +22 -0
  90. package/dist/src/nocode-base/src/hooks/index.d.ts +2 -1
  91. package/dist/src/nocode-base/src/hooks/inspection-decision-rule/evaluator.d.ts +11 -0
  92. package/dist/src/nocode-base/src/hooks/material-consume/bom-validator.d.ts +10 -2
  93. package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +5 -0
  94. package/dist/src/nocode-base/src/hooks/udi.d.ts +5 -0
  95. package/dist/src/nocode-base/src/hooks/useValidator.d.ts +2 -2
  96. package/dist/src/nocode-base/src/hooks/validation/runValidation.d.ts +2 -0
  97. package/dist/src/nocode-base/src/hooks/validation/useFormValidator.d.ts +4 -0
  98. package/dist/src/nocode-base/src/types/business/index.d.ts +8 -1
  99. package/dist/src/nocode-base/src/types/common/base.d.ts +53 -1
  100. package/dist/src/nocode-base/src/types/fields/i-sign.d.ts +5 -1
  101. package/dist/src/nocode-base/src/types/index.d.ts +1 -1
  102. package/dist/src/nocode-base/src/types/widgets/i-paper.d.ts +3 -1
  103. package/dist/src/online-form/src/components/version-diff/index/types.d.ts +5 -1
  104. package/dist/src/online-form/src/views/designer/constants/index.d.ts +1 -0
  105. package/dist/src/online-form/src/views/designer/enums/index.d.ts +2 -1
  106. package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +48 -0
  107. package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +63 -0
  108. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/decision-rule-condition.vue.d.ts +19 -0
  109. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/decision-rule-group.vue.d.ts +16 -0
  110. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/decision-rule.d.ts +54 -0
  111. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/field-tree-node.vue.d.ts +24 -0
  112. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/field-tree-select.vue.d.ts +30 -0
  113. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/field-tree-utils.d.ts +12 -0
  114. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/inspection-decision-modal.vue.d.ts +9 -0
  115. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/panel-rule-config.vue.d.ts +18 -1
  116. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-button.vue.d.ts +33 -0
  117. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-icon.vue.d.ts +12 -0
  118. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-input.vue.d.ts +23 -0
  119. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-modal.vue.d.ts +36 -0
  120. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-scrollbar.vue.d.ts +21 -0
  121. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-select.vue.d.ts +30 -0
  122. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-switch.vue.d.ts +17 -0
  123. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/gct-text-area.vue.d.ts +20 -0
  124. package/dist/src/online-form/src/views/designer/modules/panel/panel-rule-config/word-ui/index.d.ts +8 -0
  125. package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +30 -0
  126. package/dist/src/online-form/src/views/designer/types/index.d.ts +4 -2
  127. package/dist/src/online-form/src/views/designer/utils/xlsx-parser.d.ts +3 -0
  128. package/dist/src/online-form/src/views/render/__components__/_field_/sign/component/sign-validation.d.ts +13 -0
  129. package/dist/src/shared/components/Signature/card-signer.vue.d.ts +2 -2
  130. package/dist/src/shared/components/Signature/index.d.ts +1 -2
  131. package/dist/src/shared/components/Signature/logic/index.d.ts +8 -23
  132. package/dist/src/shared/components/Signature/types/index.d.ts +4 -1
  133. package/dist/src/shared/components/Signature/ui/password-signer.vue.d.ts +2 -0
  134. package/dist/src/shared/components/Signature/ui/sign-popover-content.vue.d.ts +6 -2
  135. package/dist/src/shared/components/Signature/ui/sign-switcher.vue.d.ts +3 -1
  136. package/dist/src/shared/enum/field-type.d.ts +5 -0
  137. package/dist/src/shared/enum/online-form.d.ts +7 -1
  138. package/dist/{text-design-D9Qm-frB.js → text-design-CHoQtOBi.js} +2 -2
  139. package/dist/{throttle-Cpk1LoGk-CMDdqI7x.js → throttle-Cpk1LoGk-CEvaM6uf.js} +1 -1
  140. package/dist/{timediff-design-D9liVCTr.js → timediff-design-BxItKsBW.js} +1 -1
  141. package/dist/{trace-like-wrapper-DQqwOlxy.js → trace-like-wrapper-BNwwljhN.js} +2 -2
  142. package/dist/{value-editor.vue_vue_type_style_index_0_lang-B-NZBJiV.js → value-editor.vue_vue_type_style_index_0_lang-WwOnevs0.js} +2 -2
  143. package/dist/web-render/index.es.js +3 -3
  144. package/dist/{widget-barcode-CRnaA-B2.js → widget-barcode-CmzvEEWx.js} +4 -4
  145. package/dist/{widget-diagonal-5QDZqvMH.js → widget-diagonal-B6Mvq_Ck.js} +3 -3
  146. package/dist/{widget-image-CkLJ-5pC.js → widget-image-DPd6ZI2K.js} +5 -5
  147. package/dist/{widget-line-DEsmouIk.js → widget-line-BRgNGqLk.js} +2 -2
  148. package/dist/{widget-pagination-Ce7zEUJk.js → widget-pagination-Dn3BpM0I.js} +5 -5
  149. package/dist/{widget-power-CwQz7Uwf.js → widget-power-C6BzkxLE.js} +3 -3
  150. package/dist/{widget-qrcode-CHkKCBRy.js → widget-qrcode-_Fe3bqQy.js} +3 -3
  151. package/dist/{widget-rangelimit-Bki9XhUU.js → widget-rangelimit-Dlt83D9J.js} +3 -3
  152. package/dist/{widget-serialnumber-DI9hVJDB.js → widget-serialnumber-VA2ngpH9.js} +1 -1
  153. package/dist/{widget-text-BM9hrxw_.js → widget-text-CiwYrzt_.js} +5 -5
  154. package/dist/{widget-timediff-Ooda0sMm.js → widget-timediff-Ch3L6a1S.js} +2 -2
  155. package/package.json +1 -1
  156. package/dist/paper-widget-design-C4mfMuuG.js +0 -4
  157. package/dist/src/shared/components/Signature/ui/sign-editor.vue.d.ts +0 -29
  158. package/dist/src/shared/components/Signature/ui/sign-preview.vue.d.ts +0 -18
  159. package/dist/src/shared/components/Signature/ui/sign-switcher-modal.vue.d.ts +0 -116
@@ -6,6 +6,7 @@ import { BusinessSubTableProfile, DataTableProfile, ExcelSubTableCreateTarget, T
6
6
  export declare function resolveCreateTargetByTableType(tableType: SubTableType | string | undefined): ExcelSubTableCreateTarget;
7
7
  export declare function getProfile(type: string): TableProfile | undefined;
8
8
  export declare function getProfileByTableType(tableType: SubTableType | string | undefined): TableProfile | undefined;
9
+ export declare function getBusinessProfileByRefModelType(refModelType: string | undefined | null): BusinessSubTableProfile | undefined;
9
10
  export declare function getAllTableProfiles(): TableProfile[];
10
11
  export declare function getAllDataProfiles(): DataTableProfile[];
11
12
  export declare function getAllBusinessProfiles(): BusinessSubTableProfile[];
@@ -3,7 +3,7 @@ import { SubTableType } from '../../nocode-base/src/constant';
3
3
  /** 数据表 Profile 类型标识 */
4
4
  export type DataTableProfileType = 'dynamic-table' | 'fixed-table' | 'two-d-table';
5
5
  /** 业务表 Profile 类型标识 */
6
- export type BusinessSubTableProfileType = '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' | 'pretreatment-list' | 'entrust-steril-batch-list' | 'check-table';
6
+ export type BusinessSubTableProfileType = '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' | 'pretreatment-list' | 'entrust-steril-batch-list' | 'check-table';
7
7
  export type TableProfileType = DataTableProfileType | BusinessSubTableProfileType;
8
8
  export type TableCategory = 'data' | 'business';
9
9
  /**
@@ -13,7 +13,7 @@ export type TableCategory = 'data' | 'business';
13
13
  */
14
14
  export type ExcelSubTableCreateTarget = 'dynamicTables' | 'fixedTables';
15
15
  /** 工具栏图标 key */
16
- export type TableIconKey = 'dynamic-table' | 'fixed-table' | 'two-d-table' | 'table-header' | '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' | 'entrust-steril-batch-list' | 'pretreatment-list' | 'check-table';
16
+ export type TableIconKey = 'dynamic-table' | 'fixed-table' | 'two-d-table' | 'table-header' | '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' | 'entrust-steril-batch-list' | 'pretreatment-list' | 'check-table';
17
17
  /** 数据表子模型匹配:排除全部业务子模型 */
18
18
  export interface DataTableMatchRule {
19
19
  fieldType: 'master_slave';
@@ -115,7 +115,12 @@ export interface DataTableProfile extends TableProfileDesignBase {
115
115
  export interface BusinessSubTableProfile extends TableProfileDesignBase {
116
116
  type: BusinessSubTableProfileType;
117
117
  category: 'business';
118
- ribbonGroup: string;
118
+ /**
119
+ * 业务表入口类型。
120
+ * fixed-table-model 不注册独立工具栏入口,仅作为固定表的业务模型使用。
121
+ */
122
+ entry?: 'ribbon' | 'fixed-table-model';
123
+ ribbonGroup?: string;
119
124
  /**
120
125
  * Ribbon 可见套件白名单(平台 suiteKey,如 eDHR / EQM)
121
126
  * 省略时:检验表按非 EQM 可见,其余业务表仅 eDHR
@@ -0,0 +1,7 @@
1
+ import { IModal } from '../../../shared/types';
2
+ type __VLS_Props = {
3
+ modal: IModal;
4
+ content: string;
5
+ };
6
+ 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>;
7
+ export default _default;
@@ -305,6 +305,20 @@ export declare enum SignatureNumberTypeEnum {
305
305
  /** 多人签名 */
306
306
  SIGNATURE_MULTIPLE = "signature_multiple"
307
307
  }
308
+ /** 兜底签名配置:个人无上传/手写签名素材时,密码校验通过后展示的样式 */
309
+ export declare enum FallbackSignTypeEnum {
310
+ /** 仅用户名 */
311
+ NAME_ONLY = "name_only",
312
+ /** 用户名 + 签署日期 */
313
+ NAME_AND_DATE = "name_and_date"
314
+ }
315
+ /** 签名图片方向 */
316
+ export declare enum SignatureImageDirectionEnum {
317
+ /** 横向签名 */
318
+ HORIZONTAL = "horizontal",
319
+ /** 竖向签名 */
320
+ VERTICAL = "vertical"
321
+ }
308
322
  /** 布尔显示方式 */
309
323
  export declare enum BooleanShowMode {
310
324
  /**
@@ -631,7 +645,9 @@ export declare enum SubTableType {
631
645
  /** EQM 备件消耗表 */
632
646
  DEVICE_PART_CONSUME = "DEVICE_PART_CONSUME",
633
647
  /** 生产收料表 */
634
- MATERIAL_REQUISITION = "MATERIAL_REQUISITION"
648
+ MATERIAL_REQUISITION = "MATERIAL_REQUISITION",
649
+ /** 物料替换表 */
650
+ MATERIAL_SUBSTITUTION = "MATERIAL_SUBSTITUTION"
635
651
  }
636
652
  /** 纸张大小Map */
637
653
  export declare const PaperSizeMap: import('vue').ComputedRef<{
@@ -1,6 +1,7 @@
1
1
  import { SubTableCore } from './sub-table-core';
2
2
  import { BusinessSubTableProfile } from '../../../../domain/table';
3
3
  import { IDefaultValueMap, IFieldStatus } from '../types';
4
+ import { ScanModalInput } from './utils/scan';
4
5
  /**
5
6
  * Profile 驱动的子表 Core 基类
6
7
  *
@@ -77,3 +78,24 @@ export declare class DevicePartConsumeTableCore extends ProfileDrivenSubTableCor
77
78
  /** 生产收料表 Core */
78
79
  export declare class MaterialRequisitionTableCore extends ProfileDrivenSubTableCore {
79
80
  }
81
+ /**
82
+ * 物料替换表 Core
83
+ * - 被替换物料从历史消耗中选择,并按当前 SN / 工序过滤
84
+ * - 选择后回填批号、物料信息和原上料数量
85
+ * - 替换物料批号回填替换物料信息
86
+ * - 条码映射结果优先填充空行,否则追加新行
87
+ */
88
+ export declare class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
89
+ protected isEmptyScanRow(row: Record<string, unknown>): boolean;
90
+ handleFieldTd: SubTableCore['handleFieldTd'];
91
+ calcFieldQuery: SubTableCore['calcFieldQuery'];
92
+ calcFieldDataSource: SubTableCore['calcFieldDataSource'];
93
+ handleChange(params: {
94
+ rowData: any;
95
+ field: string;
96
+ value: any;
97
+ option?: any;
98
+ }): void;
99
+ calcSubTableActionMenu: SubTableCore['calcSubTableActionMenu'];
100
+ protected onScan(input: ScanModalInput): Promise<void>;
101
+ }
@@ -1,7 +1,7 @@
1
1
  export { useStyles } from './useStyles';
2
2
  export { useRenderPageFactory, type IProps, type IPayload } from './useRenderPageFactory';
3
3
  export { useCurrentPageFormState, useWidgetStaticAttrs, useCalculateFormula, setSelectAnnotationId, setSelectValidatorId, setSelectMobileTdId, getSubTableQuickFillInfo, } from './useRenderData';
4
- export { useValidator, validate, clearFormRules, deleteSubtableRow, insertSubtableRows, settleAndValidateDisplay, requestFullValidation, requestDisplayValidation, registerValidationContext, unregisterValidationContext, } from './useValidator';
4
+ export { useValidator, validate, validateFields, getValidationRuleKeys, clearFormRules, deleteSubtableRow, insertSubtableRows, settleAndValidateDisplay, requestFullValidation, requestDisplayValidation, registerValidationContext, unregisterValidationContext, } from './useValidator';
5
5
  export { relocateDeletedRowsToEnd } from './validation/utils';
6
6
  export { useNocodeEmitter } from './useNocodeEmitter';
7
7
  export { useNocodeFormWidget } from './useFormHook';
@@ -18,3 +18,4 @@ export * from './label-parse-rule';
18
18
  export * from './material-balance';
19
19
  export * from './app-info';
20
20
  export * from './operation-receive-qty';
21
+ export * from './udi';
@@ -0,0 +1,11 @@
1
+ import { IDecisionRuleGroup, IInspectionDecisionRule } from '../../types';
2
+ type FormRow = Record<string, any>;
3
+ /** 安全解析设计端保存的规则树;无效或空配置不命中。 */
4
+ export declare function parseInspectionDecisionRuleTree(dataRuleConfig?: string): IDecisionRuleGroup | null;
5
+ /**
6
+ * 计算规则树。同一子表的条件绑定到同一候选行;引用多个子表时按行组合判断。
7
+ * 子表为空时保留空绑定,使 OR 分组中的主表条件仍可以独立命中。
8
+ */
9
+ export declare function evaluateDecisionRuleTree(root: IDecisionRuleGroup, formState: FormRow): boolean;
10
+ export declare function evaluateInspectionDecisionRule(rule: IInspectionDecisionRule | null | undefined, formState: FormRow | null | undefined): boolean;
11
+ export {};
@@ -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
@@ -125,6 +129,8 @@ export declare class BomEntriesValidator {
125
129
  mainMaterialNo: string;
126
130
  /** 物料消耗模式 */
127
131
  noBomMode: boolean;
132
+ /** 需求数量由表格行手动填写 */
133
+ isCustomRequiredQty: boolean;
128
134
  bomEntryValidators: BomEntryValidator[];
129
135
  constructor(entries: IBomEntry[],
130
136
  /** 是否启用顺序投料 */
@@ -136,7 +142,9 @@ export declare class BomEntriesValidator {
136
142
  /** 表单实例的批次号 */
137
143
  mainMaterialNo: string,
138
144
  /** 物料消耗模式 */
139
- noBomMode: boolean);
145
+ noBomMode: boolean,
146
+ /** 需求数量由表格行手动填写 */
147
+ isCustomRequiredQty?: boolean);
140
148
  /**
141
149
  * 翻译物料的code
142
150
  * @param productId
@@ -103,6 +103,11 @@ export declare class MaterialConsumeTableController {
103
103
  */
104
104
  set actualTableData(value: IMaterialConsumeData[]);
105
105
  constructor(tmplBomController: FormTmplBomController, tmplBom: IFormTmplBom);
106
+ get isCustomRequiredQty(): boolean;
107
+ private getBomGroupForRow;
108
+ /** 自定义规则的需求数量在同一 BOM 组内保持一致。 */
109
+ getCustomGroupRequiredQty(row: IMaterialConsumeData): number | undefined;
110
+ setCustomGroupRequiredQty(row: IMaterialConsumeData, qty: number | undefined): void;
106
111
  /** 错误信息 */
107
112
  error(message: string): void;
108
113
  /**
@@ -0,0 +1,5 @@
1
+ /** paramsConfig 中 containerId 优先;没有时使用 snId。 */
2
+ export declare function resolveUdiQuery(paramsConfig?: Record<string, unknown>): Record<string, string> | undefined;
3
+ /** listAll 返回第一条 UDI;兼容接口返回 data / data.data 的历史形态。 */
4
+ export declare function parseUdi(res: unknown): string | undefined;
5
+ export declare function fetchUdi(paramsConfig?: Record<string, unknown>): Promise<string | undefined>;
@@ -1,4 +1,4 @@
1
- import { requestFullValidation, requestDisplayValidation, registerValidationContext, unregisterValidationContext, clearFormRules, deleteSubtableRow, insertSubtableRows, settleAndValidateDisplay, settleAfterModeSwitch } from './validation/useFormValidator';
1
+ import { validateFields, getValidationRuleKeys, requestFullValidation, requestDisplayValidation, registerValidationContext, unregisterValidationContext, clearFormRules, deleteSubtableRow, insertSubtableRows, settleAndValidateDisplay, settleAfterModeSwitch } from './validation/useFormValidator';
2
2
  import { IPaper, ValidateFieldErrorMap } from '../types';
3
3
  export declare function useValidator(props: any): {
4
4
  widgetStyles: import('vue').ComputedRef<{}>;
@@ -15,4 +15,4 @@ export declare const validate: (formData: any, paper: IPaper, uniqueId?: string)
15
15
  /** 是否已通过 ValidationContext 写入 UI 错误态 */
16
16
  uiApplied?: boolean;
17
17
  } | undefined>;
18
- export { clearFormRules, deleteSubtableRow, insertSubtableRows, settleAndValidateDisplay, settleAfterModeSwitch, requestFullValidation, requestDisplayValidation, registerValidationContext, unregisterValidationContext, };
18
+ export { validateFields, getValidationRuleKeys, clearFormRules, deleteSubtableRow, insertSubtableRows, settleAndValidateDisplay, settleAfterModeSwitch, requestFullValidation, requestDisplayValidation, registerValidationContext, unregisterValidationContext, };
@@ -4,6 +4,8 @@ type RunValidationOptions = {
4
4
  mode?: ValidationRunMode;
5
5
  /** 表单级 keepExceptionHighlight */
6
6
  keepExceptionHighlight?: boolean | null;
7
+ /** 可选的目标字段路径;未传时校验当前表单的全部已注册字段 */
8
+ paths?: Iterable<string>;
7
9
  };
8
10
  /**
9
11
  * 按 mode 过滤规则并执行 async-validator
@@ -17,6 +17,10 @@ export declare function registerValidationContext(ctx: ValidationContext): void;
17
17
  export declare function unregisterValidationContext(uniqueId: string): void;
18
18
  /** 提交全量校验(可编辑字段全部规则) */
19
19
  export declare function validateAllFields(uniqueId: string): Promise<ValidateResult | undefined>;
20
+ /** 针对指定字段路径执行提交级完整校验 */
21
+ export declare function validateFields(uniqueId: string, paths: Iterable<string>): Promise<ValidateResult | undefined>;
22
+ /** 当前已挂载的字段校验路径,供局部业务校验组装目标字段使用 */
23
+ export declare function getValidationRuleKeys(): string[];
20
24
  /** 展示校验:只读含必填;可编辑不含必填 */
21
25
  export declare function validateDisplayFields(uniqueId: string): Promise<ValidateResult | undefined>;
22
26
  /** 防抖请求 display */
@@ -11,7 +11,14 @@ export interface IBusinessScanConfig {
11
11
  disableBarcodeParsing?: boolean;
12
12
  scanParamType?: ScanParamType;
13
13
  }
14
- export type IBizTableConfig = IStocktakeConfig | ISterilizeBatchConfig | IPretreatmentListConfig | IBusinessScanConfig;
14
+ /** 设备点检/保养固定表配置 */
15
+ export interface IFixedDeviceOperationConfig {
16
+ /** 已拖入表单的主表绑定字段 key */
17
+ mainFieldBindings?: string[];
18
+ /** 签名后触发数据锁定的子表内置字段 key */
19
+ dataLockControlField?: 'inspector_' | 'reviewer_';
20
+ }
21
+ export type IBizTableConfig = IStocktakeConfig | ISterilizeBatchConfig | IPretreatmentListConfig | IBusinessScanConfig | IFixedDeviceOperationConfig;
15
22
  export * from './allocate';
16
23
  export * from './sterilize-batch';
17
24
  export * from './pretreatment-list';
@@ -234,6 +234,57 @@ export interface IUnitConversionRule {
234
234
  targetField?: string;
235
235
  }[];
236
236
  }
237
+ export type DecisionRuleRelation = 'AND' | 'OR';
238
+ export type DecisionRuleValueType = 'FIXED' | 'FIELD';
239
+ /** 检验判定规则中的字段信息。 */
240
+ export interface IDecisionRuleField {
241
+ id?: string;
242
+ key: string;
243
+ name: string;
244
+ type: string;
245
+ modelKey: string;
246
+ modelName?: string;
247
+ /** 主表 / 子表 / 对象字段 */
248
+ scope: 'main' | 'sub' | 'object';
249
+ subFieldKey?: string;
250
+ objectFieldKey?: string;
251
+ options?: Array<{
252
+ label: string;
253
+ value: string | number | boolean;
254
+ }>;
255
+ }
256
+ export interface IDecisionRuleRightValue {
257
+ valueType: DecisionRuleValueType;
258
+ result?: string | number | boolean;
259
+ /** FIELD 类型右值的完整字段信息。 */
260
+ field?: IDecisionRuleField;
261
+ }
262
+ export interface IDecisionRuleCondition {
263
+ key: string;
264
+ pid: string;
265
+ level: number;
266
+ firstRow?: boolean;
267
+ class?: string;
268
+ leftValue?: IDecisionRuleField;
269
+ operatorValue?: string;
270
+ rightValue?: IDecisionRuleRightValue[];
271
+ }
272
+ export interface IDecisionRuleGroup {
273
+ key: string;
274
+ pid: string;
275
+ level: number;
276
+ class?: string;
277
+ type: 'group';
278
+ operatorType: DecisionRuleRelation;
279
+ children: Array<IDecisionRuleGroup | IDecisionRuleCondition>;
280
+ }
281
+ /** Paper 级检验判定规则配置。 */
282
+ export interface IInspectionDecisionRule {
283
+ dataRuleEnabled: boolean;
284
+ dataRule: string;
285
+ dataRuleConfig: string;
286
+ prompt: string;
287
+ }
237
288
  /** 流程字段权限信息 */
238
289
  export type IBpmnFieldAuthItem = {
239
290
  /** 字段key */
@@ -427,6 +478,7 @@ export declare enum ScanParamType {
427
478
  }
428
479
  export declare enum RequiredQtyCalcRule {
429
480
  LotQty = "lotQty",
430
- ProductQty = "productQty"
481
+ ProductQty = "productQty",
482
+ Custom = "custom"
431
483
  }
432
484
  export {};
@@ -1,4 +1,4 @@
1
- import { SignatureTypeEnum, SignShowTypeEnum, SignatureTimeTypeEnum, SignatureNumberTypeEnum, ImageDisplayModeEnum } from '../../constant';
1
+ import { SignatureTypeEnum, SignShowTypeEnum, SignatureTimeTypeEnum, SignatureNumberTypeEnum, ImageDisplayModeEnum, FallbackSignTypeEnum, SignatureImageDirectionEnum } from '../../constant';
2
2
  import { BaseCoreComponent, IBindField } from '../common/base';
3
3
  export interface ISignProps extends BaseCoreComponent.FieldBasicProps {
4
4
  /** 签名格式 */
@@ -19,6 +19,10 @@ export interface ISignProps extends BaseCoreComponent.FieldBasicProps {
19
19
  * 老数据缺省为 CUSTOM,无需迁移。
20
20
  */
21
21
  signDisplayMode?: ImageDisplayModeEnum;
22
+ /** 兜底签名配置,缺省为用户名 + 签署日期 */
23
+ fallbackSignType?: FallbackSignTypeEnum;
24
+ /** 签名图片方向,历史数据缺省为横向 */
25
+ signatureImageDirection?: SignatureImageDirectionEnum;
22
26
  }
23
27
  export interface ISign extends BaseCoreComponent.BasicSchema {
24
28
  props: ISignProps;
@@ -1,4 +1,4 @@
1
- export type { BaseCoreComponent, IBindField, IToFieldItem, IUnitConversionRule, ISubTable2DInfo, ICheckTable2DInfo, IBasicInfoItem, ICellBorder, IWikiTreeData, IParseFormulaVar, ParseRuleProps, ICheckDsItem, IMaterialConsumeObjectInfo, IMaterialConsumeTableInfo, } from './common/base';
1
+ export type { BaseCoreComponent, IBindField, IToFieldItem, IUnitConversionRule, IDecisionRuleField, IDecisionRuleRightValue, IDecisionRuleCondition, IDecisionRuleGroup, IInspectionDecisionRule, DecisionRuleRelation, DecisionRuleValueType, ISubTable2DInfo, ICheckTable2DInfo, IBasicInfoItem, ICellBorder, IWikiTreeData, IParseFormulaVar, ParseRuleProps, ICheckDsItem, IMaterialConsumeObjectInfo, IMaterialConsumeTableInfo, } from './common/base';
2
2
  export type { IMarketData, IDealWithItem, IPageItem, IPageData, ISubTableItem, IMergeCells, } from './calc/i-calc';
3
3
  export type * from './common/button';
4
4
  export type * from './fields';
@@ -1,8 +1,10 @@
1
1
  import { PageSizeEnum, ParamModelTypeEnum } from '../../constant';
2
- import { BaseCoreComponent, ISubTable2DInfo, ICheckTable2DInfo, IToFieldItem, IUnitConversionRule, IMaterialConsumeTableInfo, IMaterialConsumeObjectInfo } from '../common/base';
2
+ import { BaseCoreComponent, ISubTable2DInfo, ICheckTable2DInfo, IToFieldItem, IUnitConversionRule, IInspectionDecisionRule, IMaterialConsumeTableInfo, IMaterialConsumeObjectInfo } from '../common/base';
3
3
  export interface IPaperProps {
4
4
  /** 单位转化规则 */
5
5
  unitConversionRules: Array<IUnitConversionRule>;
6
+ /** 检验判定规则 */
7
+ inspectionDecisionRule?: IInspectionDecisionRule;
6
8
  /** 纸张类型 */
7
9
  pageSize: PageSizeEnum;
8
10
  /** 纸张宽度 */
@@ -67,6 +67,8 @@ export declare const DiffedAttrMaps: {
67
67
  expression: string[];
68
68
  signNum: string[];
69
69
  signMode: string[];
70
+ fallbackSign: string[];
71
+ signatureDirection: string[];
70
72
  };
71
73
  export declare enum DiffedAttrCompsEnum {
72
74
  inputAttr = "inputAttr",
@@ -76,6 +78,8 @@ export declare enum DiffedAttrCompsEnum {
76
78
  lowerLimits = "lowerLimits",
77
79
  expression = "attrItem",
78
80
  signNum = "attrItem",
79
- signMode = "attrItem"
81
+ signMode = "attrItem",
82
+ fallbackSign = "attrItem",
83
+ signatureDirection = "attrItem"
80
84
  }
81
85
  export declare const NeedI18nAttrs: string[];
@@ -29,6 +29,7 @@ export declare const FieldTypeToCellWidgetMap: {
29
29
  shopfloor: CellWidgetCategory;
30
30
  integer: CellWidgetCategory;
31
31
  of_inst_num: CellWidgetCategory;
32
+ udi: CellWidgetCategory;
32
33
  production_qty: CellWidgetCategory;
33
34
  long: CellWidgetCategory;
34
35
  double: CellWidgetCategory;
@@ -59,7 +59,8 @@ export declare enum PanelType {
59
59
  WarehouseOutboundTable = 26,
60
60
  PartStocktakeTable = 27,
61
61
  DevicePartConsumeTable = 28,
62
- MaterialRequisitionTable = 29
62
+ MaterialRequisitionTable = 29,
63
+ MaterialSubstitutionTable = 30
63
64
  }
64
65
  /**
65
66
  * 页码样式
@@ -405,6 +405,9 @@ export declare const useAllSpreadSheets: () => {
405
405
  } | undefined;
406
406
  disableBarcodeParsing?: boolean | undefined;
407
407
  scanParamType?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
408
+ } | {
409
+ mainFieldBindings?: string[] | undefined;
410
+ dataLockControlField?: "inspector_" | "reviewer_" | undefined;
408
411
  } | undefined;
409
412
  }[] | undefined;
410
413
  fixedTables?: {
@@ -561,6 +564,9 @@ export declare const useAllSpreadSheets: () => {
561
564
  } | undefined;
562
565
  disableBarcodeParsing?: boolean | undefined;
563
566
  scanParamType?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
567
+ } | {
568
+ mainFieldBindings?: string[] | undefined;
569
+ dataLockControlField?: "inspector_" | "reviewer_" | undefined;
564
570
  } | undefined;
565
571
  }[] | undefined;
566
572
  medias?: {
@@ -656,6 +662,12 @@ export declare const useAllSpreadSheets: () => {
656
662
  targetField?: string | undefined;
657
663
  }[];
658
664
  }[] | undefined;
665
+ inspectionDecisionRule?: {
666
+ dataRuleEnabled: boolean;
667
+ dataRule: string;
668
+ dataRuleConfig: string;
669
+ prompt: string;
670
+ } | undefined;
659
671
  customDataSource?: {
660
672
  id: string;
661
673
  joinModelType: string | undefined;
@@ -1167,6 +1179,9 @@ export declare const useAllSpreadSheets: () => {
1167
1179
  } | undefined;
1168
1180
  disableBarcodeParsing?: boolean | undefined;
1169
1181
  scanParamType?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
1182
+ } | {
1183
+ mainFieldBindings?: string[] | undefined;
1184
+ dataLockControlField?: "inspector_" | "reviewer_" | undefined;
1170
1185
  } | undefined;
1171
1186
  }[] | undefined;
1172
1187
  fixedTables?: {
@@ -1323,6 +1338,9 @@ export declare const useAllSpreadSheets: () => {
1323
1338
  } | undefined;
1324
1339
  disableBarcodeParsing?: boolean | undefined;
1325
1340
  scanParamType?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
1341
+ } | {
1342
+ mainFieldBindings?: string[] | undefined;
1343
+ dataLockControlField?: "inspector_" | "reviewer_" | undefined;
1326
1344
  } | undefined;
1327
1345
  }[] | undefined;
1328
1346
  medias?: {
@@ -1418,6 +1436,12 @@ export declare const useAllSpreadSheets: () => {
1418
1436
  targetField?: string | undefined;
1419
1437
  }[];
1420
1438
  }[] | undefined;
1439
+ inspectionDecisionRule?: {
1440
+ dataRuleEnabled: boolean;
1441
+ dataRule: string;
1442
+ dataRuleConfig: string;
1443
+ prompt: string;
1444
+ } | undefined;
1421
1445
  customDataSource?: {
1422
1446
  id: string;
1423
1447
  joinModelType: string | undefined;
@@ -1927,6 +1951,9 @@ export declare const useAllSpreadSheets: () => {
1927
1951
  } | undefined;
1928
1952
  disableBarcodeParsing?: boolean | undefined;
1929
1953
  scanParamType?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
1954
+ } | {
1955
+ mainFieldBindings?: string[] | undefined;
1956
+ dataLockControlField?: "inspector_" | "reviewer_" | undefined;
1930
1957
  } | undefined;
1931
1958
  }[] | undefined;
1932
1959
  fixedTables?: {
@@ -2083,6 +2110,9 @@ export declare const useAllSpreadSheets: () => {
2083
2110
  } | undefined;
2084
2111
  disableBarcodeParsing?: boolean | undefined;
2085
2112
  scanParamType?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
2113
+ } | {
2114
+ mainFieldBindings?: string[] | undefined;
2115
+ dataLockControlField?: "inspector_" | "reviewer_" | undefined;
2086
2116
  } | undefined;
2087
2117
  }[] | undefined;
2088
2118
  medias?: {
@@ -2178,6 +2208,12 @@ export declare const useAllSpreadSheets: () => {
2178
2208
  targetField?: string | undefined;
2179
2209
  }[];
2180
2210
  }[] | undefined;
2211
+ inspectionDecisionRule?: {
2212
+ dataRuleEnabled: boolean;
2213
+ dataRule: string;
2214
+ dataRuleConfig: string;
2215
+ prompt: string;
2216
+ } | undefined;
2181
2217
  customDataSource?: {
2182
2218
  id: string;
2183
2219
  joinModelType: string | undefined;
@@ -2685,6 +2721,9 @@ export declare const useAllSpreadSheets: () => {
2685
2721
  } | undefined;
2686
2722
  disableBarcodeParsing?: boolean | undefined;
2687
2723
  scanParamType?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
2724
+ } | {
2725
+ mainFieldBindings?: string[] | undefined;
2726
+ dataLockControlField?: "inspector_" | "reviewer_" | undefined;
2688
2727
  } | undefined;
2689
2728
  }[] | undefined;
2690
2729
  fixedTables?: {
@@ -2841,6 +2880,9 @@ export declare const useAllSpreadSheets: () => {
2841
2880
  } | undefined;
2842
2881
  disableBarcodeParsing?: boolean | undefined;
2843
2882
  scanParamType?: import('../../../../../nocode-base/src/types/common/base').ScanParamType | undefined;
2883
+ } | {
2884
+ mainFieldBindings?: string[] | undefined;
2885
+ dataLockControlField?: "inspector_" | "reviewer_" | undefined;
2844
2886
  } | undefined;
2845
2887
  }[] | undefined;
2846
2888
  medias?: {
@@ -2936,6 +2978,12 @@ export declare const useAllSpreadSheets: () => {
2936
2978
  targetField?: string | undefined;
2937
2979
  }[];
2938
2980
  }[] | undefined;
2981
+ inspectionDecisionRule?: {
2982
+ dataRuleEnabled: boolean;
2983
+ dataRule: string;
2984
+ dataRuleConfig: string;
2985
+ prompt: string;
2986
+ } | undefined;
2939
2987
  customDataSource?: {
2940
2988
  id: string;
2941
2989
  joinModelType: string | undefined;