@gct-paas/excel 0.1.39-beta.8 → 0.1.39
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.
- package/dist/{BaseComponent-Dri2NRAY.js → BaseComponent-vcQYIdIV.js} +2 -2
- package/dist/{VueVideoPlayer-DPJyefX-.js → VueVideoPlayer-i-e8JA1p.js} +2 -2
- package/dist/{align-editor-BvGUsoz3.js → align-editor-BHe6RawU.js} +1 -1
- package/dist/{barcode-design-C8V6Zzz_.js → barcode-design-B2QebWCm.js} +2 -2
- package/dist/base/index.es.js +624 -264
- package/dist/{diagonal-design-DXfWVZvL.js → diagonal-design-Di8yoq2q.js} +2 -2
- package/dist/{dynamic-table-action-BQfJFJ4j.js → dynamic-table-action-ixEHBudI.js} +1041 -368
- package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-DZRtpBe8.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js} +1039 -1409
- package/dist/{edit.utils-CXmmCnxE-CvJGxh2v.js → edit.utils-CXmmCnxE-Dq-jFR6z.js} +1 -1
- package/dist/excel.css +616 -351
- package/dist/{exceljs.min-BfRvRgvB.js → exceljs.min-Biokosoj.js} +2 -2
- package/dist/{font-editor-C-R6CAVG.js → font-editor-B8l8oZMc.js} +3 -3
- package/dist/{image-design-A8_t4F3t.js → image-design-BI6ld3iT.js} +2 -2
- package/dist/{index-DFNVqlgA.js → index-0QNiqIDD.js} +1 -1
- package/dist/{index-Caygbi4F.js → index-4DBBFAz2.js} +2 -2
- package/dist/{index-DERot0lx.js → index-5-uaHPu2.js} +2 -2
- package/dist/{index-H2nF4SP8.js → index-849t15XD.js} +2 -2
- package/dist/{index-C3k8QiLF.js → index-ACzLWeSq.js} +2 -2
- package/dist/{index-DkwkBWEP.js → index-B-2uV1do.js} +2 -2
- package/dist/{index-bH6ERrWd.js → index-B-in7hrx.js} +2 -2
- package/dist/{index-B-Kwr44d.js → index-B1qdPPcT.js} +1 -1
- package/dist/{index-B_GyS-E2.js → index-B2-4fQY4.js} +1 -1
- package/dist/{index-Bl5PEJrh.js → index-BC-WTGht.js} +6 -3
- package/dist/{index-CJdwj04Z.js → index-BWibgLgR.js} +1 -1
- package/dist/{index-DWVhXPb-.js → index-BY-gcezU.js} +2 -2
- package/dist/{index-BLmR9aiG.js → index-B_8k4BAM.js} +1 -1
- package/dist/{index-CTASuQPn.js → index-BaiFrPHF.js} +1 -1
- package/dist/{index-C-k8dFLv.js → index-BgCtUVN4.js} +2 -2
- package/dist/{index-DkDetjLm.js → index-Boq5CJjh.js} +3 -3
- package/dist/{index-CfGLFrkj.js → index-BwN8dOzz.js} +1 -1
- package/dist/{index-CCBueGEh.js → index-Bz-WrsTI.js} +6 -5
- package/dist/{index-DqkPgoly.js → index-C4P86Gyr.js} +2 -2
- package/dist/{index-CRloZ0HP.js → index-C68Ddx67.js} +2 -2
- package/dist/{index-afC-rHNa.js → index-CDYkiSAG.js} +2 -2
- package/dist/{index-DpMV2Mnw.js → index-CKQht60B.js} +6 -5
- package/dist/{index-BUK-p31i.js → index-CM549sqd.js} +3 -2
- package/dist/{index-DmBx27M9.js → index-CNNAdkvj.js} +2 -2
- package/dist/{index-Bs8Xs0bo.js → index-CTmqu_l0.js} +1 -1
- package/dist/{index-DY7Xkd8n.js → index-CbwfhoZc.js} +2 -2
- package/dist/{index-D9444n1O.js → index-CbzO_9_B.js} +2 -2
- package/dist/{index-BE-3UQG0.js → index-CqJMdCBq.js} +50 -3
- package/dist/{index-BYH3tYm7.js → index-DJWuge8D.js} +5 -7
- package/dist/{index-D9OUmbBs.js → index-DdeccRDL.js} +1 -1
- package/dist/{index-P9ZTqL1i.js → index-T4KiEmZK.js} +3 -3
- package/dist/{index-DsLZqLga.js → index-aGBVmmIs.js} +2 -2
- package/dist/{index-luggjixn.js → index-bLaVMu7L.js} +2454 -1959
- package/dist/{index-DPHGDezJ.js → index-n8fyvJSm.js} +1 -1
- package/dist/{index-D1jXU0ka.js → index-rMox9ntl.js} +2 -2
- package/dist/index.es.js +2 -2
- package/dist/{mb-render-DybPk-KF.js → mb-render-BhZlu6KQ.js} +8 -2
- package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-BEX02BrW.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-1sgb8Alq.js} +8 -1
- package/dist/{pagination-design-CpZhqHAZ.js → pagination-design-DvqAcQIp.js} +2 -2
- package/dist/paper-widget-design-D_kqGHiq.js +4 -0
- package/dist/{print-runtime-instance-DP1Lp8e2.js → print-runtime-instance-CmWFXzPQ.js} +1 -1
- package/dist/{print-snapshot-renderer-Cf73dKcd.js → print-snapshot-renderer-DsksM5OJ.js} +3 -3
- package/dist/{qrcode-design-BDVFS0l9.js → qrcode-design-CuDgywl1.js} +1 -1
- package/dist/{revo-grid.entry-EvEm_y2W.js → revo-grid.entry-BqAGRHgf.js} +1 -1
- package/dist/{revogr-attribution_7.entry-DgE6PR1L.js → revogr-attribution_7.entry-Dl-LcgkK.js} +3 -3
- package/dist/{revogr-clipboard_3.entry-CNDxeVhF.js → revogr-clipboard_3.entry-CT01IdhF.js} +2 -2
- package/dist/{revogr-data_4.entry-DKwV9DMF.js → revogr-data_4.entry-fH5V7Zgk.js} +2 -2
- package/dist/{revogr-filter-panel.entry-1SAhHHfl.js → revogr-filter-panel.entry-DiC81RU-.js} +1 -1
- package/dist/seal-design-CZ8RLM62.js +4 -0
- package/dist/{serialnumber-design-Cs3B0ZNE.js → serialnumber-design-CVO53aOV.js} +1 -1
- package/dist/shared/index.es.js +23 -21
- package/dist/{single-field-drop-Ijh7_RRT.js → single-field-drop-B51_f5z6.js} +2 -2
- package/dist/{size-editor-B2TfX4_r.js → size-editor-BeSNExEt.js} +1 -1
- package/dist/src/domain/table/business/material/material-balance/profile/fields.d.ts +2 -0
- package/dist/src/domain/table/business/preprocess/pretreatment-list/profile/field-keys.d.ts +1 -7
- package/dist/src/domain/table/business/sterilize/entrust-steril-batch-list/profile/fields.d.ts +2 -0
- package/dist/src/nocode-base/src/core/factory/sub-table-factory.d.ts +2 -0
- package/dist/src/nocode-base/src/core/sub-table/allocate-table-core.d.ts +2 -1
- package/dist/src/nocode-base/src/core/sub-table/sub-table-core.d.ts +2 -1
- package/dist/src/nocode-base/src/hooks/form-model/form-model-controller.d.ts +2 -0
- package/dist/src/nocode-base/src/hooks/material-consume/bom-validator.d.ts +9 -7
- package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts +18 -14
- package/dist/src/nocode-base/src/hooks/material-consume/tmpl-bom-controller.d.ts +20 -7
- package/dist/src/nocode-base/src/hooks/material-consume/types.d.ts +6 -0
- package/dist/src/nocode-base/src/hooks/material-consume-object/bom-validator.d.ts +4 -3
- package/dist/src/nocode-base/src/hooks/material-consume-object/initialize-autofill.d.ts +19 -0
- package/dist/src/nocode-base/src/hooks/material-consume-object/object-validation-controller.d.ts +24 -0
- package/dist/src/nocode-base/src/interface/render.d.ts +3 -1
- package/dist/src/nocode-base/src/interface/transform.d.ts +14 -1
- package/dist/src/nocode-base/src/runtime/formula-utils.d.ts +2 -0
- package/dist/src/nocode-base/src/runtime/multi-sheet-runtime.d.ts +3 -1
- package/dist/src/nocode-base/src/runtime/runtime-context.d.ts +4 -0
- package/dist/src/nocode-base/src/runtime/runtime-form-state-store.d.ts +6 -2
- package/dist/src/nocode-base/src/runtime/table-row-identity.d.ts +2 -0
- package/dist/src/nocode-base/src/types/render/sub-table-render.d.ts +5 -1
- package/dist/src/nocode-web-render/src/render/sub-table/common/inventory-scan-columns.d.ts +6 -0
- package/dist/src/online-form/src/views/__cell_widgets__/cell-widget-design.vue.d.ts +2 -0
- package/dist/src/online-form/src/views/__cell_widgets__/common/display-fields-editor/display-fields.util.d.ts +2 -2
- package/dist/src/online-form/src/views/__cell_widgets__/common/quick-search-editor/quick-search.util.d.ts +8 -0
- package/dist/src/online-form/src/views/__cell_widgets__/fake-field/fake-option-select.vue.d.ts +1 -0
- package/dist/src/online-form/src/views/designer/conversions/normalize-paper-grid.d.ts +3 -0
- package/dist/src/online-form/src/views/designer/hooks/useAllSpreadSheets.d.ts +35 -0
- package/dist/src/online-form/src/views/designer/hooks/useSpreadSheet.d.ts +16 -1
- package/dist/src/online-form/src/views/designer/modules/base/designer-wrapper.vue.d.ts +1 -0
- package/dist/src/online-form/src/views/designer/modules/duplicate-field-notice.vue.d.ts +2 -0
- package/dist/src/online-form/src/views/designer/modules/panel/panel-data-init-config/object-init/hooks/useObjectInit.d.ts +2 -0
- package/dist/src/online-form/src/views/designer/modules/panel/sub-table/comps/use-dynamic-sub-table-panel.d.ts +12 -0
- package/dist/src/online-form/src/views/designer/modules/xlsx-import-summary.vue.d.ts +11 -0
- package/dist/src/online-form/src/views/designer/types/index.d.ts +2 -0
- package/dist/src/online-form/src/views/designer/types/sheets.d.ts +2 -0
- package/dist/src/online-form/src/views/designer/utils/cell-field-placements.d.ts +12 -0
- package/dist/src/online-form/src/views/designer/utils/xlsx-parser.d.ts +9 -3
- package/dist/src/online-form/src/views/render/__components__/_field_/trace/composables/useReferenceLabel.d.ts +4 -0
- package/dist/src/online-form/src/views/render/__components__/_field_/trace/utils/use-rule-props.d.ts +0 -3
- package/dist/src/shared/enum/field-type.d.ts +2 -0
- package/dist/src/shared/enum/index.d.ts +2 -0
- package/dist/src/shared/enum/product-type.d.ts +9 -0
- package/dist/src/shared/enum/production-identification.d.ts +19 -0
- package/dist/src/shared/utils/cell-wrap.d.ts +9 -0
- package/dist/src/shared/utils/grid-size.d.ts +2 -0
- package/dist/src/shared/utils/lot2sn.d.ts +14 -1
- package/dist/src/shared/utils/query-filter.d.ts +24 -0
- package/dist/{sub-table-factory-CNkIUJTC.js → sub-table-factory-sC8iCJWs.js} +38 -18
- package/dist/{text-design-BaDQZeS2.js → text-design-DK_QWoro.js} +5 -4
- package/dist/{throttle-Cpk1LoGk-Ch-cqj2G.js → throttle-Cpk1LoGk-BreMfOwP.js} +1 -1
- package/dist/{timediff-design-DASqeRcJ.js → timediff-design-Iwg0BNOb.js} +1 -1
- package/dist/{trace-like-wrapper-B1n1LPhU.js → trace-like-wrapper-D0pPaeII.js} +5 -2
- package/dist/{value-editor.vue_vue_type_style_index_0_lang-_7d452gl.js → value-editor.vue_vue_type_style_index_0_lang-B4gIt1fw.js} +2 -2
- package/dist/web-render/index.es.js +3 -3
- package/dist/{widget-barcode-D3nGm6wi.js → widget-barcode-DSBywfHB.js} +4 -4
- package/dist/{widget-diagonal-CrTfSw6w.js → widget-diagonal-DiBbiuEA.js} +3 -3
- package/dist/{widget-image-Bq3B9IR0.js → widget-image-DUtfyekO.js} +5 -5
- package/dist/{widget-line-BE8D0_Mn.js → widget-line-6Ngl_4mJ.js} +2 -2
- package/dist/{widget-pagination-CJZ-nXas.js → widget-pagination-DXmnbvtx.js} +5 -5
- package/dist/{widget-power-CUVtkygi.js → widget-power-DbsY-uwC.js} +3 -3
- package/dist/{widget-qrcode-DDqtIjp6.js → widget-qrcode-LsBgDKds.js} +3 -3
- package/dist/{widget-rangelimit-CiXyiZ4L.js → widget-rangelimit-DJ_5u-vA.js} +3 -3
- package/dist/{widget-serialnumber-DdV7rw4j.js → widget-serialnumber-TEVkPcgx.js} +1 -1
- package/dist/{widget-text-B5pDJ4lb.js → widget-text-DD-xuVwh.js} +5 -5
- package/dist/{widget-timediff-D_BS7hfR.js → widget-timediff-DQV78xgH.js} +2 -2
- package/package.json +2 -2
- package/dist/paper-widget-design-o-K-d1mV.js +0 -4
- package/dist/seal-design-D2dtOjZh.js +0 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { f as fontStyleAttrs } from "./config.enum-B8UZQTON.js";
|
|
2
|
-
import { C as ComponentTypeEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
2
|
+
import { C as ComponentTypeEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
3
3
|
import "vue";
|
|
4
4
|
import { pick } from "lodash-es";
|
|
5
5
|
import "dayjs";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { get, pick } from "lodash-es";
|
|
2
|
-
import { C as ComponentTypeEnum,
|
|
2
|
+
import { C as ComponentTypeEnum, a_ as BindCmpStyleEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
3
3
|
import "vue";
|
|
4
4
|
import "dayjs";
|
|
5
5
|
import "ant-design-vue";
|
|
6
|
-
import { B as BaseComponent } from "./BaseComponent-
|
|
6
|
+
import { B as BaseComponent } from "./BaseComponent-vcQYIdIV.js";
|
|
7
7
|
class Textarea extends BaseComponent {
|
|
8
8
|
component = ComponentTypeEnum.Textarea;
|
|
9
9
|
wrapperCmpConfig({ data }) {
|
package/dist/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { G, H, J, K, M, N, O, Q, U, B, W, X, Y, Z, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, x, a9, aa, y, ab, P, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, h } from "./index-
|
|
2
|
-
import { O as O2, _, V } from "./online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-
|
|
1
|
+
import { G, H, J, K, M, N, O, Q, U, B, W, X, Y, Z, $, a0, a1, a2, a3, a4, a5, a6, a7, a8, x, a9, aa, y, ab, P, ac, ad, ae, af, ag, ah, ai, aj, ak, al, am, an, ao, ap, aq, ar, as, at, h } from "./index-bLaVMu7L.js";
|
|
2
|
+
import { O as O2, _, V } from "./online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-1sgb8Alq.js";
|
|
3
3
|
export {
|
|
4
4
|
G as AiTmplEditor,
|
|
5
5
|
H as AiTmplModal,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { reactive, inject, provide } from "vue";
|
|
2
|
-
import { E as api, F as FIELD_TYPE, H as CreateType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
2
|
+
import { E as api, F as FIELD_TYPE, H as CreateType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
3
3
|
class MCRender {
|
|
4
4
|
/**
|
|
5
5
|
* 提示信息
|
|
@@ -162,7 +162,9 @@ class FormModelController {
|
|
|
162
162
|
*/
|
|
163
163
|
getFormFieldOptions(subModelKey) {
|
|
164
164
|
const fields = subModelKey ? this.getSubModelFields(subModelKey) : this.masterModel?.fields;
|
|
165
|
-
return (fields ?? []).filter(
|
|
165
|
+
return (fields ?? []).filter(
|
|
166
|
+
(field) => !this.isSystemField(field) && !this.isSubField(field) && !this.isObjectField(field)
|
|
167
|
+
).map((field) => ({
|
|
166
168
|
...field,
|
|
167
169
|
label: `${field.name}`,
|
|
168
170
|
value: `${field.modelKey}.${field.key}`
|
|
@@ -215,6 +217,10 @@ class FormModelController {
|
|
|
215
217
|
isSystemField(field) {
|
|
216
218
|
return field.createType === CreateType.SYSTEM;
|
|
217
219
|
}
|
|
220
|
+
/** 是否是对象字段类型 */
|
|
221
|
+
isObjectField(field) {
|
|
222
|
+
return field.type === FIELD_TYPE.OBJECT_TYPE;
|
|
223
|
+
}
|
|
218
224
|
/**
|
|
219
225
|
* 获取主模型里子表字段对应的子模型key
|
|
220
226
|
*
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { createVNode, defineComponent, computed, openBlock, createElementBlock, normalizeStyle, normalizeClass, unref, Fragment, createElementVNode, createTextVNode, toDisplayString, renderList, createBlock, createCommentVNode, ref, onMounted, resolveComponent, nextTick, watch, withCtx, withKeys, mergeProps, h, toRaw, withModifiers } from "vue";
|
|
2
2
|
import { I as Icon, a as useNamespace } from "./AntdIcon-DCIaV352.js";
|
|
3
|
-
import {
|
|
3
|
+
import { X as FormTypeEnum, a7 as _export_sfc, ax as FormDesignEnum, E as api, J as useModal, bD as ControlStatusEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
4
4
|
import { isArray, cloneDeep, orderBy } from "lodash-es";
|
|
5
5
|
import "dayjs";
|
|
6
6
|
import { Form } from "ant-design-vue";
|
|
7
7
|
import { VxeTable, VxeColumn } from "vxe-table";
|
|
8
|
+
var ProductTypeEnum = /* @__PURE__ */ ((ProductTypeEnum2) => {
|
|
9
|
+
ProductTypeEnum2["RAW_MATERIAL"] = "rawMaterial";
|
|
10
|
+
ProductTypeEnum2["SEMI_FINISHED_PRODUCT"] = "semiFinishedProduct";
|
|
11
|
+
ProductTypeEnum2["FINISHED_PRODUCT"] = "finishedProduct";
|
|
12
|
+
return ProductTypeEnum2;
|
|
13
|
+
})(ProductTypeEnum || {});
|
|
8
14
|
var SEARCH_SEVICE = /* @__PURE__ */ ((SEARCH_SEVICE2) => {
|
|
9
15
|
SEARCH_SEVICE2["EQ"] = "eq";
|
|
10
16
|
SEARCH_SEVICE2["IEQ"] = "iEq";
|
|
@@ -1270,6 +1276,7 @@ export {
|
|
|
1270
1276
|
CloseOutlined as C,
|
|
1271
1277
|
EmptyImg as E,
|
|
1272
1278
|
OnlineFormModelModal as O,
|
|
1279
|
+
ProductTypeEnum as P,
|
|
1273
1280
|
SEARCH_SEVICE as S,
|
|
1274
1281
|
VersionSelect as V,
|
|
1275
1282
|
_sfc_main as _
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, toDisplayString } from "vue";
|
|
2
|
-
import { P as PaginationFormat } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
2
|
+
import { P as PaginationFormat } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
3
3
|
import "lodash-es";
|
|
4
4
|
import "dayjs";
|
|
5
5
|
import "ant-design-vue";
|
|
6
|
-
import { j as calcText } from "./index-
|
|
6
|
+
import { j as calcText } from "./index-bLaVMu7L.js";
|
|
7
7
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
8
|
__name: "pagination-design",
|
|
9
9
|
props: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { d as captureRuntimePrintSnapshot, w as waitPrintFonts, e as waitPrintImages, p as printPagesInIframe } from "./index-
|
|
1
|
+
import { d as captureRuntimePrintSnapshot, w as waitPrintFonts, e as waitPrintImages, p as printPagesInIframe } from "./index-bLaVMu7L.js";
|
|
2
2
|
async function printRuntimeInstance(record, basicInfo, renderSnapshot, signal, options = {}) {
|
|
3
3
|
if (!record.controller) throw new Error("表单尚未完成初始化,暂时无法打印");
|
|
4
4
|
const snapshot = await record.controller.preparePrintSnapshot(
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, provide, ref, onErrorCaptured, onBeforeUnmount, openBlock, createBlock, unref } from "vue";
|
|
2
|
-
import {
|
|
3
|
-
import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "./sub-table-factory-
|
|
4
|
-
import { _ as _sfc_main$1 } from "./index-
|
|
2
|
+
import { U as RuntimeFormStateStore, W as RuntimeInstanceRegistry, N as NCB_PROVIDE } from "./dynamic-table-action-ixEHBudI.js";
|
|
3
|
+
import { S as SubTableCoreFactory, R as RuntimeInstanceController } from "./sub-table-factory-sC8iCJWs.js";
|
|
4
|
+
import { _ as _sfc_main$1 } from "./index-bLaVMu7L.js";
|
|
5
5
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
6
|
__name: "print-snapshot-renderer",
|
|
7
7
|
props: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, ref, computed, watch, openBlock, createElementBlock, normalizeClass, createElementVNode } from "vue";
|
|
2
|
-
import { B as BwipCodeTypeOptions, l as loadBwip } from "./index-
|
|
2
|
+
import { B as BwipCodeTypeOptions, l as loadBwip } from "./index-bLaVMu7L.js";
|
|
3
3
|
const _hoisted_1 = ["src"];
|
|
4
4
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5
5
|
__name: "qrcode-design",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { d6 as registerInstance, d7 as createEvent, d8 as getColumnByProp, d9 as timeout, da as getVisibleSourceItem, db as getColumns, dc as rowTypes, dd as GroupingRowPlugin, de as StretchColumn, df as isStretchPlugin, dg as AutoSizeColumnPlugin, dh as FilterPlugin, di as ExportFilePlugin, dj as SortingPlugin, dk as ColumnMovePlugin, dl as ThemeService, dm as h, dn as Host, dp as getElement, dq as BasePlugin, dr as reduce, ds as columnTypes, dt as debounce, du as RESIZE_INTERVAL, dv as DimensionStore, dw as gatherTrimmedItems, dx as getColumnSizes, dy as getItemByIndex, dz as DataStore, dA as getSourceItem, dB as getSourceItemVirtualIndexByProp, dC as getColumnType, dD as setSourceByPhysicalIndex, dE as setSourceByVirtualIndex, dF as SelectionStore, dG as cropCellToMax, dH as nextCell, dI as isRowType, dJ as ViewportStore } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
2
2
|
import { H as HEADER_SLOT, D as DATA_SLOT, g as getScrollDimension, v as viewportDataPartition, F as FOOTER_SLOT, C as CONTENT_SLOT } from "./viewport.helpers-CoCAvmZs-D_JddDC6.js";
|
|
3
3
|
import { g as getPropertyFromEvent } from "./events-BvSmBueA-VK7djXcC.js";
|
|
4
4
|
class ColumnDataProvider {
|
package/dist/{revogr-attribution_7.entry-DgE6PR1L.js → revogr-attribution_7.entry-Dl-LcgkK.js}
RENAMED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { d6 as registerInstance, dm as h, dn as Host, d7 as createEvent, dA as getSourceItem, dp as getElement, dO as ColumnService, dP as MOBILE_CLASS, dQ as SELECTION_BORDER_CLASS, dR as getCellData, dS as getCellEditor, dT as getRange, dU as isRangeSingleCell, dV as codesLetter, dJ as ViewportStore, dz as DataStore, dW as calculateRowHeaderSize, dX as ROW_HEADER_TYPE, dY as getScrollbarSize, dZ as FOCUS_CLASS, dy as getItemByIndex, d9 as timeout, d_ as CELL_HANDLER_CLASS, dt as debounce, d$ as TMP_SELECTION_BG_CLASS, du as RESIZE_INTERVAL, e0 as getItemByPosition } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
2
2
|
import { v as verifyTouchTarget, g as getPropertyFromEvent } from "./events-BvSmBueA-VK7djXcC.js";
|
|
3
|
-
import { i as isEditInput, a as isShortcutModifier, b as isClear, c as isTab, d as isEnterKeyValue, e as isCopy, f as isCut, g as isPaste, h as isAll } from "./edit.utils-CXmmCnxE-
|
|
3
|
+
import { i as isEditInput, a as isShortcutModifier, b as isClear, c as isTab, d as isEnterKeyValue, e as isCopy, f as isCut, g as isPaste, h as isAll } from "./edit.utils-CXmmCnxE-Dq-jFR6z.js";
|
|
4
4
|
import { H as HEADER_SLOT } from "./viewport.helpers-CoCAvmZs-D_JddDC6.js";
|
|
5
|
-
import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from "./throttle-Cpk1LoGk-
|
|
5
|
+
import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from "./throttle-Cpk1LoGk-BreMfOwP.js";
|
|
6
6
|
const Attribution = class {
|
|
7
7
|
constructor(hostRef) {
|
|
8
8
|
registerInstance(this, hostRef);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { d as isEnterKeyValue, c as isTab, j as isEditorCtrConstructible } from "./edit.utils-CXmmCnxE-
|
|
1
|
+
import { d9 as timeout, d6 as registerInstance, d7 as createEvent, dm as h, e1 as EDIT_INPUT_WR, dn as Host, dp as getElement, dt as debounce, e4 as DRAGG_TEXT, dA as getSourceItem, e0 as getItemByPosition } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
2
|
+
import { d as isEnterKeyValue, c as isTab, j as isEditorCtrConstructible } from "./edit.utils-CXmmCnxE-Dq-jFR6z.js";
|
|
3
3
|
class TextEditor {
|
|
4
4
|
constructor(data, saveCallback) {
|
|
5
5
|
this.data = data;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from "./throttle-Cpk1LoGk-
|
|
1
|
+
import { e5 as PSEUDO_GROUP_ITEM, e6 as GROUP_EXPANDED, e7 as GROUP_DEPTH, dm as h, e8 as GROUP_EXPAND_BTN, e9 as DATA_ROW, dA as getSourceItem, ea as isGroupingColumn, eb as GROUP_COLUMN_PROP, ec as getCellRaw, ed as DATA_COL, ee as CELL_CLASS, ef as Build, eg as isRowDragService, eh as DRAG_ICON_CLASS, ei as DRAGGABLE_CLASS, ej as getCellDataParsed, ek as GROUP_EXPAND_EVENT, d6 as registerInstance, d7 as createEvent, dO as ColumnService, el as isGrouping, dn as Host, dp as getElement, dy as getItemByIndex, em as HEADER_ROW_CLASS, en as HEADER_ACTUAL_ROW_CLASS, eo as ROW_FOCUSED_CLASS, ep as HEADER_SORTABLE_CLASS, eq as MIN_COL_SIZE, dZ as FOCUS_CLASS, er as FilterButton, es as HeaderCellRenderer, et as HEADER_CLASS } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
2
|
+
import { L as LocalScrollTimer, a as LocalScrollService, g as getContentSize, t as throttle } from "./throttle-Cpk1LoGk-BreMfOwP.js";
|
|
3
3
|
import { H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from "./viewport.helpers-CoCAvmZs-D_JddDC6.js";
|
|
4
4
|
const SortingSign = ({ column }) => {
|
|
5
5
|
var _a;
|
package/dist/{revogr-filter-panel.entry-1SAhHHfl.js → revogr-filter-panel.entry-DiC81RU-.js}
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { d6 as registerInstance, d7 as createEvent, dt as debounce, dm as h, dK as AndOrButton, dL as ReorderButton, dM as TrashButton, dN as isFilterBtn, dn as Host, dp as getElement } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
2
2
|
(function closest() {
|
|
3
3
|
if (!Element.prototype.matches) {
|
|
4
4
|
Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, createElementVNode, toDisplayString } from "vue";
|
|
2
|
-
import {
|
|
2
|
+
import { a7 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
3
3
|
const _hoisted_1 = { class: "absolute top-0px left-0px h-full w-full serialnumber-area" };
|
|
4
4
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
5
5
|
__name: "serialnumber-design",
|
package/dist/shared/index.es.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { O, _, S, V as V2 } from "../online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-
|
|
1
|
+
import { aE, ay, q, cs, H, aF, aG, ct, aq, as, F, V, ac, G, ax, bg, aZ, cu, ar, T, cv, U, W, bh, a8, R } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
2
|
+
import { O, _, P, S, V as V2 } from "../online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-1sgb8Alq.js";
|
|
3
3
|
var Platform = /* @__PURE__ */ ((Platform2) => {
|
|
4
4
|
Platform2["WEB"] = "web";
|
|
5
5
|
Platform2["MOBILE"] = "mobile";
|
|
@@ -49,41 +49,43 @@ var GctMqttTopsEnum = /* @__PURE__ */ ((GctMqttTopsEnum2) => {
|
|
|
49
49
|
return GctMqttTopsEnum2;
|
|
50
50
|
})(GctMqttTopsEnum || {});
|
|
51
51
|
export {
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
aE as ASSIGNMENTSTRATEGY_ENUM,
|
|
53
|
+
ay as BASIC_FIELD_TYPES,
|
|
54
54
|
q as BUSINESS_FIELD_TYPES,
|
|
55
55
|
ButtonOpeEnum,
|
|
56
56
|
ButtonSize,
|
|
57
57
|
ButtonStyle,
|
|
58
58
|
ButtonType,
|
|
59
59
|
ButtonType_vant,
|
|
60
|
-
|
|
60
|
+
cs as CardControlEnum,
|
|
61
61
|
H as CreateType,
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
62
|
+
aF as Dependency_ENUM,
|
|
63
|
+
aG as EntityModelCategoryEnum,
|
|
64
|
+
ct as EntityModelTypeEnum,
|
|
65
|
+
aq as ExpressionModeEnum,
|
|
66
|
+
as as ExpressionTabEnum,
|
|
67
67
|
F as FIELD_TYPE,
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
V as FieldDefaultValueTypeEnum,
|
|
69
|
+
ac as FieldIconMap,
|
|
70
70
|
G as FieldTypeToJs,
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
ax as FormDesignEnum,
|
|
72
|
+
bg as FormulaRuleFieldKeyEnum,
|
|
73
73
|
GctMqttTopsEnum,
|
|
74
74
|
O as OnlineFormModelModal,
|
|
75
75
|
_ as OnlineFormModelSelect,
|
|
76
76
|
Platform,
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
P as ProductTypeEnum,
|
|
78
|
+
aZ as ProductionIdentificationTypeEnum,
|
|
79
|
+
cu as RecordNoGenerateEnum,
|
|
80
|
+
ar as ReturnTypeEnum,
|
|
79
81
|
S as SEARCH_SEVICE,
|
|
80
82
|
SignatureTypeEnum,
|
|
81
83
|
T as TRACE_FIELD_TYPES,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
+
cv as TagTypeEnum,
|
|
85
|
+
U as UniqueConstraintType,
|
|
84
86
|
V2 as VersionSelect,
|
|
85
87
|
W as WAREHOUSE_FIELD_TYPES,
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
88
|
+
bh as formulaRuleFieldDict,
|
|
89
|
+
a8 as normalizeFieldType,
|
|
90
|
+
R as onlineFormMasterModelTypeEnum
|
|
89
91
|
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createBlock, unref, normalizeClass } from "vue";
|
|
2
2
|
import { a as useNamespace } from "./AntdIcon-DCIaV352.js";
|
|
3
|
-
import { m as useDrop, T as TransferType, h as useModelFields, o as getFieldIcon, S as SingleDrop } from "./index-
|
|
4
|
-
import {
|
|
3
|
+
import { m as useDrop, T as TransferType, h as useModelFields, o as getFieldIcon, S as SingleDrop } from "./index-bLaVMu7L.js";
|
|
4
|
+
import { a7 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
5
5
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
6
|
__name: "single-field-drop",
|
|
7
7
|
props: {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, createVNode } from "vue";
|
|
2
|
-
import {
|
|
2
|
+
import { a7 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CKf2tZG7.js";
|
|
3
3
|
const _hoisted_1 = { class: "row" };
|
|
4
4
|
const _hoisted_2 = { class: "row mt-6px" };
|
|
5
5
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -51,7 +51,7 @@ export declare const CLEAR_ON_MATERIAL_CONTAINER_SELECT: readonly ["production_c
|
|
|
51
51
|
export declare const CLEAR_ON_PRODUCT_EMPTY: readonly ["product_id_name_", "product_id_code_", "product_id_spec_"];
|
|
52
52
|
/** 相关字段变更时需重算物料禁用态 */
|
|
53
53
|
export declare const PRODUCT_EDITABILITY_WATCH: readonly ["material_container_no_", "material_container_no__id_", "mfg_order_id_", "production_container_id_"];
|
|
54
|
-
/** 生产批次 /
|
|
54
|
+
/** 生产批次 / 物料批选项回填:仅带出工单号,工单选择项保持互斥 */
|
|
55
55
|
export declare const FILL_FROM_CONTAINER_OPTION: readonly [{
|
|
56
56
|
readonly optionField: "product_id_";
|
|
57
57
|
readonly toField: "product_id_";
|
|
@@ -64,9 +64,6 @@ export declare const FILL_FROM_CONTAINER_OPTION: readonly [{
|
|
|
64
64
|
}, {
|
|
65
65
|
readonly optionField: "product_id_spec_";
|
|
66
66
|
readonly toField: "product_id_spec_";
|
|
67
|
-
}, {
|
|
68
|
-
readonly optionField: "mfg_order_id_";
|
|
69
|
-
readonly toField: "mfg_order_id_";
|
|
70
67
|
}, {
|
|
71
68
|
readonly optionField: "mfg_order_code_";
|
|
72
69
|
readonly toField: "mfg_order_code_";
|
|
@@ -127,9 +124,6 @@ export declare const fillFromOption: readonly [{
|
|
|
127
124
|
}, {
|
|
128
125
|
readonly optionField: "product_id_spec_";
|
|
129
126
|
readonly toField: "product_id_spec_";
|
|
130
|
-
}, {
|
|
131
|
-
readonly optionField: "mfg_order_id_";
|
|
132
|
-
readonly toField: "mfg_order_id_";
|
|
133
127
|
}, {
|
|
134
128
|
readonly optionField: "mfg_order_code_";
|
|
135
129
|
readonly toField: "mfg_order_code_";
|
|
@@ -35,6 +35,8 @@ export declare class SubTableCoreFactory {
|
|
|
35
35
|
initSubTableCore(context: RuntimePageCtx): void;
|
|
36
36
|
/** 通过tid获取子表核心 */
|
|
37
37
|
getSubCoreByTid(tid: string): SubTableCore | undefined;
|
|
38
|
+
/** 只按已注册的业务类型识别,普通数据表及未知类型不参与空行过滤。 */
|
|
39
|
+
getBusinessTableFields(): string[];
|
|
38
40
|
/**
|
|
39
41
|
* 初始化表单数据
|
|
40
42
|
* @param params
|
|
@@ -5,13 +5,14 @@ import { ScanModalInput } from './utils/scan';
|
|
|
5
5
|
* 库存调拨表 Core
|
|
6
6
|
* - Profile:禁用字段 / 行默认值 / 物料清空
|
|
7
7
|
* - 物料走库存选择(allocateProduct)+ FILL_FROM_INVENTORY_OPTION
|
|
8
|
-
* -
|
|
8
|
+
* - 扫码:库存匹配,优先填充物料和批次均为空的行,否则新增一行
|
|
9
9
|
*/
|
|
10
10
|
export declare class AllocateTableCore extends ProfileDrivenSubTableCore {
|
|
11
11
|
/** 绘制UI相关工具 */
|
|
12
12
|
get render(): import('../..').ISubTableRender;
|
|
13
13
|
/** 指定的仓库id */
|
|
14
14
|
get warehouseId(): any;
|
|
15
|
+
protected isEmptyScanRow(row: Record<string, unknown>): boolean;
|
|
15
16
|
handleFieldTd: SubTableCore['handleFieldTd'];
|
|
16
17
|
calcFieldQuery: SubTableCore['calcFieldQuery'];
|
|
17
18
|
calcSubTableActionMenu: SubTableCore['calcSubTableActionMenu'];
|
|
@@ -3,6 +3,7 @@ import { SubTableActionEnum } from '../../components/document-sub-table-action';
|
|
|
3
3
|
import { IDefaultValueMap, IFieldStatus, IRuntimeSubTableCtx } from '../types';
|
|
4
4
|
import { TdHandler } from '../utils/td-handler';
|
|
5
5
|
import { SubTableCoreFactory } from '../factory/sub-table-factory';
|
|
6
|
+
import { ScanRecordPickerOptions } from '../../types/render/sub-table-render';
|
|
6
7
|
import { FormModelController } from '../../hooks/form-model';
|
|
7
8
|
import { RefCustomLoader } from '../../interface/ref-loader';
|
|
8
9
|
/**
|
|
@@ -187,7 +188,7 @@ export declare class SubTableCore {
|
|
|
187
188
|
/**
|
|
188
189
|
* 扫码多条候选时选择一行(1 条自动选中)
|
|
189
190
|
*/
|
|
190
|
-
protected pickScanRecord(records: Record<string, unknown>[]): Promise<Record<string, unknown> | undefined>;
|
|
191
|
+
protected pickScanRecord(records: Record<string, unknown>[], options?: ScanRecordPickerOptions): Promise<Record<string, unknown> | undefined>;
|
|
191
192
|
/**
|
|
192
193
|
* 处理扫码弹窗回调
|
|
193
194
|
* 参数由扫码弹窗决定
|
|
@@ -53,6 +53,8 @@ export declare class FormModelController {
|
|
|
53
53
|
isPresetField(field: FieldMetaDTO): boolean;
|
|
54
54
|
/** 是否是系统字段 */
|
|
55
55
|
isSystemField(field: FieldMetaDTO): boolean;
|
|
56
|
+
/** 是否是对象字段类型 */
|
|
57
|
+
isObjectField(field: FieldMetaDTO): boolean;
|
|
56
58
|
/**
|
|
57
59
|
* 获取主模型里子表字段对应的子模型key
|
|
58
60
|
*
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { IBomEntry, IMaterialConsumeData } from './types';
|
|
2
|
+
type ConsumeDataSource = 'current' | 'history';
|
|
2
3
|
/** 行级校验错误:提交时挂到对应单元格,扫码/切组仍可读 message */
|
|
3
4
|
export declare class McRowValidateError extends Error {
|
|
4
5
|
readonly targetFieldId: 'product_id_' | 'material_no_' | 'qty_' | 'expiration_date_';
|
|
@@ -69,9 +70,9 @@ export declare class BomEntryValidator {
|
|
|
69
70
|
* @param arr
|
|
70
71
|
* @return {*}
|
|
71
72
|
*/
|
|
72
|
-
filterGroupData(arr: IMaterialConsumeData[]): IMaterialConsumeData[];
|
|
73
|
-
/**
|
|
74
|
-
isRowInGroup(row: IMaterialConsumeData): boolean;
|
|
73
|
+
filterGroupData(arr: IMaterialConsumeData[], source?: ConsumeDataSource): IMaterialConsumeData[];
|
|
74
|
+
/** 按数据来源优先匹配关联标识,无关联标识时按物料判断。 */
|
|
75
|
+
isRowInGroup(row: IMaterialConsumeData, source?: ConsumeDataSource): boolean;
|
|
75
76
|
/** 组内已选中的物料(整批替代;不排除当前行) */
|
|
76
77
|
getGroupExistingProductId(tableData: IMaterialConsumeData[]): string | undefined;
|
|
77
78
|
/**
|
|
@@ -98,17 +99,17 @@ export declare class BomEntryValidator {
|
|
|
98
99
|
* @param arr
|
|
99
100
|
* @return {*}
|
|
100
101
|
*/
|
|
101
|
-
calcQtyConsumed(arr?: IMaterialConsumeData[]): number;
|
|
102
|
+
calcQtyConsumed(arr?: IMaterialConsumeData[], source?: ConsumeDataSource): number;
|
|
102
103
|
/** 上下限校验统一按需求单位口径取转换数量,历史数据未转换时兼容原数量。 */
|
|
103
|
-
calcQtyForBounds(arr: IMaterialConsumeData[]): number;
|
|
104
|
+
calcQtyForBounds(arr: IMaterialConsumeData[], source?: ConsumeDataSource): number;
|
|
104
105
|
/**
|
|
105
106
|
* 计算自定义的数量校验的最大值和最小值
|
|
106
107
|
* @param data
|
|
107
108
|
* @return {*}
|
|
108
109
|
*/
|
|
109
110
|
calcCustomNumberLimit(data: IMaterialConsumeData): Promise<{
|
|
110
|
-
max:
|
|
111
|
-
min:
|
|
111
|
+
max: number | undefined;
|
|
112
|
+
min: number | undefined;
|
|
112
113
|
}>;
|
|
113
114
|
/**
|
|
114
115
|
* 通用校验 5:本组上料数量是否满足 qty_validation_rule_。
|
|
@@ -249,3 +250,4 @@ export declare class BomEntriesValidator {
|
|
|
249
250
|
export declare function isRowInBomGroup(row: IMaterialConsumeData, util: BomEntryValidator): boolean;
|
|
250
251
|
/** 设置整组编辑态:editing=true → is_confirmed_=false */
|
|
251
252
|
export declare function setGroupEditState(table: IMaterialConsumeData[], util: BomEntryValidator, editing: boolean): void;
|
|
253
|
+
export {};
|
package/dist/src/nocode-base/src/hooks/material-consume/material-consume-table-controller.d.ts
CHANGED
|
@@ -42,8 +42,10 @@ export declare class MaterialConsumeTableController {
|
|
|
42
42
|
mainFormState: Ref<any>;
|
|
43
43
|
/** 表单数据状态(由 factory bindRuntime 注入):未填报 / STASH / SUBMIT */
|
|
44
44
|
dataStatus?: string;
|
|
45
|
-
/**
|
|
46
|
-
private
|
|
45
|
+
/** 实例数据只在 LOADED 前准备一次,运行时绑定不再重新生成行。 */
|
|
46
|
+
private initialDataPrepared;
|
|
47
|
+
/** 最近一次同步需求数量时使用的数量依赖。 */
|
|
48
|
+
private syncedMaterialNoNum;
|
|
47
49
|
/** 多 Sheet / 同屏多实例下,弹层和异步交互使用该键隔离。 */
|
|
48
50
|
private runtimeOwnerId;
|
|
49
51
|
/** 表单是否已暂存或提交(已处理过则不再跑初始化) */
|
|
@@ -52,6 +54,7 @@ export declare class MaterialConsumeTableController {
|
|
|
52
54
|
get materialNoNum(): any;
|
|
53
55
|
/** 物料消耗模式(自身没有配置的话取环境的默认值) */
|
|
54
56
|
get mcPattern(): MaterialConsumptionPatternEnum;
|
|
57
|
+
get hasFormInstance(): boolean;
|
|
55
58
|
/**
|
|
56
59
|
* 解析规则数据对象
|
|
57
60
|
*/
|
|
@@ -171,21 +174,20 @@ export declare class MaterialConsumeTableController {
|
|
|
171
174
|
openScanModal(opts: {
|
|
172
175
|
title: string;
|
|
173
176
|
}): Promise<void>;
|
|
174
|
-
/**
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
177
|
+
/** Store 创建前准备物料行和数量,全部 Sheet 的 LOADED 共用这份数据。 */
|
|
178
|
+
prepareInitialData(opts: {
|
|
179
|
+
formState: Record<string, any>;
|
|
180
|
+
field: string;
|
|
181
|
+
dataStatus?: string;
|
|
182
|
+
defaultRowData?: Record<string, any>;
|
|
183
|
+
}): void;
|
|
184
|
+
/** 数量依赖实际变化时才重算,避免首次绑定覆盖 LOADED 中的回填。 */
|
|
185
|
+
syncQtyRequiredFromBomIfChanged(): void;
|
|
186
|
+
/** 只绑定运行时 Store,不重新生成行或修改行内容。 */
|
|
183
187
|
bindRuntime(opts: {
|
|
184
|
-
ownerId: string;
|
|
185
188
|
tableDataRef: Ref<any>;
|
|
186
189
|
mainFormState?: Ref<any>;
|
|
187
190
|
dataStatus?: string;
|
|
188
|
-
defaultRowData?: Record<string, any>;
|
|
189
191
|
}): void;
|
|
190
192
|
/**
|
|
191
193
|
* 消耗表组件挂载时调用:只同步视图依赖,不初始化数据、不注册 watch。
|
|
@@ -265,8 +267,10 @@ export declare class MaterialConsumeTableController {
|
|
|
265
267
|
* qty 相关派生字段统一入口(改 qty_ / 扫码 / 删行 等都走这里)
|
|
266
268
|
*/
|
|
267
269
|
updateDerivedQtyFields(): void;
|
|
270
|
+
/** 同步 BOM 主物料的需求数量单位,未关联 BOM 的行保留原单位。 */
|
|
271
|
+
private syncRequiredUomFromBom;
|
|
268
272
|
/**
|
|
269
|
-
*
|
|
273
|
+
* 设置默认值,如工序,需求数量/需求数量单位/已消耗数量
|
|
270
274
|
* @param row
|
|
271
275
|
*/
|
|
272
276
|
setDefaultValue(row: IMaterialConsumeData): void;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { IBomEntry, IFormTmplBom, IMaterialConsumeData } from './types';
|
|
2
|
-
import { BaseCoreComponent } from '../../types';
|
|
2
|
+
import { BaseCoreComponent, IMaterialConsumeTableInfo } from '../../types';
|
|
3
3
|
import { MaterialConsumeTableController } from './material-consume-table-controller';
|
|
4
4
|
import { FormInstBomResponse } from '@gct-paas/api/apaas';
|
|
5
5
|
import { MaterialConsumptionPatternEnum } from '../../constant';
|
|
@@ -25,6 +25,10 @@ export declare class FormTmplBomController {
|
|
|
25
25
|
field2TableMap: Record<string, string>;
|
|
26
26
|
/** 默认物料消耗模式 */
|
|
27
27
|
defaultMCPattern: MaterialConsumptionPatternEnum;
|
|
28
|
+
/** 表单实例身份与 BOM 数据是否存在无关,模板展示也会创建完整控制器。 */
|
|
29
|
+
hasFormInstance: boolean;
|
|
30
|
+
/** 按页面中的表解析后的配置,页面与打印共用。 */
|
|
31
|
+
private resolvedTmplBomList;
|
|
28
32
|
constructor();
|
|
29
33
|
/**
|
|
30
34
|
* 创建独立的打印展示控制器:不请求 BOM/历史消耗,不初始化或修正已填报行。
|
|
@@ -57,13 +61,14 @@ export declare class FormTmplBomController {
|
|
|
57
61
|
* @readonly
|
|
58
62
|
*/
|
|
59
63
|
get enableSequenceLoading(): boolean;
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
*/
|
|
64
|
+
private createDefaultConfig;
|
|
65
|
+
/** 有实例时读取实例配置,无实例时仅创建默认展示控制器。 */
|
|
63
66
|
init(data: {
|
|
64
|
-
formInstBom
|
|
65
|
-
|
|
66
|
-
|
|
67
|
+
formInstBom?: FormInstBomResponse | null;
|
|
68
|
+
materialConsumeTableList: IMaterialConsumeTableInfo[];
|
|
69
|
+
hasFormInstance: boolean;
|
|
70
|
+
operationId?: string;
|
|
71
|
+
materialNo?: string;
|
|
67
72
|
productQty?: number;
|
|
68
73
|
}): Promise<void>;
|
|
69
74
|
/**
|
|
@@ -84,6 +89,14 @@ export declare class FormTmplBomController {
|
|
|
84
89
|
* @param defaultMap
|
|
85
90
|
*/
|
|
86
91
|
handleDefaultMap(defaultMap: Record<string, any>): void;
|
|
92
|
+
/** 全部 Sheet 的消耗表统一在 LOADED 前准备。 */
|
|
93
|
+
initializeFormState(opts: {
|
|
94
|
+
formState: Record<string, any>;
|
|
95
|
+
dataStatus?: string;
|
|
96
|
+
defaultDataMap: Record<string, any>;
|
|
97
|
+
}): void;
|
|
98
|
+
/** 钩子若修改数量依赖,在创建 Store 和分页前按原规则重算。 */
|
|
99
|
+
finalizeInitialQuantities(): void;
|
|
87
100
|
submitValidate(): Promise<{
|
|
88
101
|
isValid: boolean;
|
|
89
102
|
fields: Record<string, any[]> | undefined;
|
|
@@ -4,6 +4,8 @@ import { RequiredQtyCalcRule, ScanParamType } from '../../types/common/base';
|
|
|
4
4
|
export interface IBomEntry {
|
|
5
5
|
/** 明细id */
|
|
6
6
|
id_: string;
|
|
7
|
+
/** 父级关联 ID */
|
|
8
|
+
parent_id_?: string;
|
|
7
9
|
/** 排序字段 */
|
|
8
10
|
sort_num_: number;
|
|
9
11
|
/** 物料id */
|
|
@@ -18,6 +20,8 @@ export interface IBomEntry {
|
|
|
18
20
|
product_spec_: string;
|
|
19
21
|
/** 单位用量 */
|
|
20
22
|
qty_required_: number;
|
|
23
|
+
/** 主物料配置的需求数量单位 */
|
|
24
|
+
uom_id_?: string;
|
|
21
25
|
/** 删除标记 */
|
|
22
26
|
deleted_?: boolean;
|
|
23
27
|
/** 上料方式 */
|
|
@@ -160,6 +164,8 @@ export interface IMaterialConsumeData {
|
|
|
160
164
|
deleted_?: boolean;
|
|
161
165
|
/** 后端需要的bom明细id */
|
|
162
166
|
bom_entry_id_?: string;
|
|
167
|
+
/** 历史消耗的 BOM 父级关联标识,用于匹配 BOM 明细的 parent_id_ */
|
|
168
|
+
bom_entry_parent_id_?: string;
|
|
163
169
|
/** 扫码未回填 product_id_ 的兜底行标记(记录模式内部瞬态,行生命周期内持久,不向后端提交) */
|
|
164
170
|
_scanFallback?: boolean;
|
|
165
171
|
/** 本次上料汇总数量 */
|
|
@@ -62,9 +62,10 @@ export declare function getObjectBomMaterialLotQuery(opts: {
|
|
|
62
62
|
} | null;
|
|
63
63
|
/**
|
|
64
64
|
* 表单提交:校验所有物料消耗对象(失败打在对应单元格,收集全部错误)
|
|
65
|
-
* -
|
|
66
|
-
* -
|
|
67
|
-
* -
|
|
65
|
+
* - 物料范围:无配置 / 人为指定 / 记录模式,不校验物料是否属于 BOM
|
|
66
|
+
* - 记录模式:仅开启人为指定时,继续执行数量校验
|
|
67
|
+
* - BOM 模式未开人为指定:有物料则必须在实例 BOM 中
|
|
68
|
+
* - 数量与需求数量均有值、非查看类型且开启数量校验时,执行数量规则
|
|
68
69
|
* - 人为指定:用 objectBom.entries_[0];否则用 bomEntries 中与对象物料匹配的明细
|
|
69
70
|
*/
|
|
70
71
|
export declare function validateObjectBomQtyOnSubmit(opts: {
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export interface ObjectProductDefault {
|
|
2
|
+
value: unknown;
|
|
3
|
+
sourceData?: Record<string, any>;
|
|
4
|
+
}
|
|
5
|
+
/** 准备数据和生成默认值使用同一份字段列表,按字段对象隔离不同对象的默认值。 */
|
|
6
|
+
export type ObjectProductDefaultMap = WeakMap<object, ObjectProductDefault>;
|
|
7
|
+
interface Options {
|
|
8
|
+
enabled: boolean;
|
|
9
|
+
fields: readonly unknown[];
|
|
10
|
+
objectInitialValues?: readonly {
|
|
11
|
+
objectField: string;
|
|
12
|
+
objectFieldName?: string;
|
|
13
|
+
values?: Record<string, any>;
|
|
14
|
+
}[];
|
|
15
|
+
onWarning?: (message: string) => void;
|
|
16
|
+
}
|
|
17
|
+
/** 只解析对象物料默认值、查询对应详情;赋值和填充统一由默认值入口执行。 */
|
|
18
|
+
export declare function prepareObjectProductDefaults({ enabled, fields, objectInitialValues, onWarning, }: Options): Promise<ObjectProductDefaultMap>;
|
|
19
|
+
export {};
|