@gct-paas/excel 0.1.40-beta.6 → 0.1.40-beta.7
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-Dfx-Xuv4.js → BaseComponent-ByKSQlX5.js} +2 -2
- package/dist/{VueVideoPlayer-DHqhqgGs.js → VueVideoPlayer-D9kpfmiz.js} +2 -2
- package/dist/{align-editor-hvllGvX8.js → align-editor-lWVPNKlR.js} +1 -1
- package/dist/{barcode-design-CzlfYJ3s.js → barcode-design-zpWBlelw.js} +2 -2
- package/dist/base/index.es.js +265 -109
- package/dist/{diagonal-design-DCVidBZD.js → diagonal-design-CzRKVjcY.js} +2 -2
- package/dist/{dynamic-table-action-Dn_iw4tV.js → dynamic-table-action-DkHb1ST4.js} +146 -146
- package/dist/{dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-Cz-fpECL.js → dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js} +536 -495
- package/dist/{edit.utils-CXmmCnxE-BUEfsAZ3.js → edit.utils-CXmmCnxE-DIhkrimt.js} +1 -1
- package/dist/excel.css +9 -9
- package/dist/{exceljs.min-9FX7NALn.js → exceljs.min-DoNsTxQp.js} +2 -2
- package/dist/{font-editor-ClqMOFPr.js → font-editor-N7060zuX.js} +3 -3
- package/dist/{image-design-Cx1YIea4.js → image-design-fXKNGIm3.js} +2 -2
- package/dist/{index-Cl_94fZQ.js → index-7J6OP2x9.js} +2 -2
- package/dist/{index-B4c_0M_d.js → index-8A45IOjw.js} +2 -2
- package/dist/{index-BM1sPB29.js → index-8BLKPnwH.js} +1 -1
- package/dist/{index-B3KkYxiX.js → index-B5FuofNW.js} +2 -2
- package/dist/{index-Dp2q7ZPo.js → index-B6fCHnZl.js} +2 -2
- package/dist/{index-BLrixMsM.js → index-BA4zmgdk.js} +2 -2
- package/dist/{index-mCrtpdq2.js → index-BDRyjPGr.js} +204 -59
- package/dist/{index-CcB9d0A-.js → index-BEX6lJX9.js} +2 -2
- package/dist/{index-CVG3Z6rp.js → index-BJA3YJns.js} +3 -3
- package/dist/{index-COmm7d4j.js → index-BXxzWXS4.js} +1 -1
- package/dist/{index-NqYSNDX9.js → index-Bgh8yfAl.js} +2 -2
- package/dist/{index-D7ZzvopL.js → index-Bh-tmh-F.js} +2 -2
- package/dist/{index-Dru8lW-_.js → index-C4Mlck0_.js} +1 -1
- package/dist/{index-B9xwdsWY.js → index-C5IwDker.js} +4 -4
- package/dist/{index-BWHnHAjs.js → index-C6STl6m-.js} +1 -1
- package/dist/{index-D4zDlgqU.js → index-CCw8gM1y.js} +1 -1
- package/dist/{index-CWjwF2wn.js → index-CZIuP6b-.js} +2 -2
- package/dist/{index-CjCFTTI3.js → index-CaojJi0S.js} +1 -1
- package/dist/{index-BdYI71iy.js → index-CbeaPNDv.js} +2 -2
- package/dist/{index-DCv60fUG.js → index-CfY2WTcN.js} +2 -2
- package/dist/{index-BgzCdSQH.js → index-CtHy6vBq.js} +3 -3
- package/dist/{index-NJZaG-sl.js → index-CuHKZOUw.js} +2 -2
- package/dist/{index-CG5LAGQp.js → index-Cza077GN.js} +2 -2
- package/dist/{index-DkXBzlUL.js → index-DGyygsxH.js} +2 -2
- package/dist/{index-BjSWHyj1.js → index-DSUDSbPf.js} +1 -1
- package/dist/{index-DYyVGkv3.js → index-DeEz6LI3.js} +2 -2
- package/dist/{index-BkoKoZbl.js → index-DgbgqO-w.js} +1 -1
- package/dist/{index-a6chYhIK.js → index-DnHsEIgl.js} +2 -2
- package/dist/{index-BRc6frrP.js → index-Xx36PP2U.js} +2 -2
- package/dist/{index-vEKEZcff.js → index-a0vY4sVG.js} +2 -2
- package/dist/{index-CyPwg8fV.js → index-bRZUDA7R.js} +1 -1
- package/dist/{index-Cj_t_73x.js → index-gEI8m-b5.js} +1 -1
- package/dist/{index-q_pMlfx9.js → index-pSRRsoDQ.js} +3 -3
- package/dist/{index-lf11EIvP.js → index-tjo9dn4X.js} +2 -2
- package/dist/{index-BKnroXXX.js → index-yf50oYV1.js} +3 -3
- package/dist/index.es.js +2 -2
- package/dist/{mb-render-DjSdDuaL.js → mb-render-BCtvoXM-.js} +1 -1
- package/dist/{online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-QrM7rL99.js → online-form-model-select.vue_vue_type_script_setup_true_name_online-form-model-select_lang-DbNfQIzD.js} +1 -1
- package/dist/{pagination-design-DJEw5vlL.js → pagination-design-BLhJhoHb.js} +2 -2
- package/dist/paper-widget-design-B8gKgZep.js +4 -0
- package/dist/{print-runtime-instance-BtxZfq51.js → print-runtime-instance-v1jzD3oO.js} +1 -1
- package/dist/{print-snapshot-renderer-0D5MUsR6.js → print-snapshot-renderer-BSf76qD7.js} +3 -3
- package/dist/{qrcode-design-9jPH-S8z.js → qrcode-design-D9f0hRKd.js} +1 -1
- package/dist/{revo-grid.entry-BhCFcCVS.js → revo-grid.entry-NMojEZjd.js} +1 -1
- package/dist/{revogr-attribution_7.entry-icpuI3V8.js → revogr-attribution_7.entry-jR0LwEie.js} +3 -3
- package/dist/{revogr-clipboard_3.entry-Dm2_h2RL.js → revogr-clipboard_3.entry-DMQ65QLh.js} +2 -2
- package/dist/{revogr-data_4.entry-DlVEyI7J.js → revogr-data_4.entry-Buvf7dRf.js} +2 -2
- package/dist/{revogr-filter-panel.entry-MJr7PMnd.js → revogr-filter-panel.entry-TLjszdsH.js} +1 -1
- package/dist/seal-design-B80mv8SJ.js +4 -0
- package/dist/{serialnumber-design-BsfJH6Kp.js → serialnumber-design-DsSZwN3t.js} +1 -1
- package/dist/shared/index.es.js +9 -9
- package/dist/{single-field-drop-DXjppxDh.js → single-field-drop-DRMCsh_s.js} +2 -2
- package/dist/{size-editor-DzQdRb-7.js → size-editor-m8uyQ1bU.js} +1 -1
- package/dist/src/domain/document-business/business/product-release/profile.d.ts +2 -0
- package/dist/src/domain/document-business/business/product-release/service.d.ts +2 -0
- package/dist/src/domain/document-business/index.d.ts +2 -0
- package/dist/src/domain/document-business/registry.d.ts +2 -0
- package/dist/src/domain/document-business/runtime/field-query-runtime.d.ts +4 -0
- package/dist/src/domain/document-business/types.d.ts +24 -0
- package/dist/src/domain/field/number/product-release-qty-manifest.d.ts +2 -0
- package/dist/src/domain/field/query-filter.d.ts +15 -0
- package/dist/src/domain/table/business/material/material-substitution/profile/field-keys.d.ts +13 -11
- package/dist/src/domain/table/business/material/material-substitution/runtime/select-loaders.d.ts +8 -0
- package/dist/src/nocode-base/src/core/sub-table/profile-driven-sub-table-core.d.ts +3 -3
- package/dist/src/nocode-base/src/hooks/material-consume-object/object-validation-controller.d.ts +24 -0
- package/dist/src/nocode-base/src/hooks/render-page/initialize-runtime.d.ts +1 -0
- package/dist/src/nocode-base/src/hooks/useRenderPageFactory.d.ts +3 -0
- package/dist/src/nocode-base/src/interface/ref-loader.d.ts +12 -1
- package/dist/src/nocode-base/src/types/common/base.d.ts +2 -0
- package/dist/src/online-form/src/views/designer/constants/index.d.ts +1 -0
- package/dist/src/shared/enum/field-type.d.ts +5 -0
- package/dist/src/shared/utils/withRequestCache.d.ts +27 -0
- package/dist/{sub-table-factory-Ddx70uYs.js → sub-table-factory-BxxIXXCZ.js} +194 -85
- package/dist/{text-design-DmLrMqdk.js → text-design-DgOV0ZhV.js} +2 -2
- package/dist/{throttle-Cpk1LoGk-DLVGpnFw.js → throttle-Cpk1LoGk-Dj14U5ox.js} +1 -1
- package/dist/{timediff-design-CYqz1SKQ.js → timediff-design-C0zYdIQI.js} +1 -1
- package/dist/{trace-like-wrapper-CVl0Vm8r.js → trace-like-wrapper-XB73ltP9.js} +2 -2
- package/dist/{value-editor.vue_vue_type_style_index_0_lang-B0aWEk5D.js → value-editor.vue_vue_type_style_index_0_lang-CRFXw695.js} +2 -2
- package/dist/web-render/index.es.js +3 -3
- package/dist/{widget-barcode-DwYihxgd.js → widget-barcode-BLKBY_Dh.js} +4 -4
- package/dist/{widget-diagonal-DWdxDYVl.js → widget-diagonal-LVxcpB3b.js} +3 -3
- package/dist/{widget-image-D1SXIbMU.js → widget-image-Cch0ImSI.js} +5 -5
- package/dist/{widget-line-BNTbSFkx.js → widget-line-CUSNrxgG.js} +2 -2
- package/dist/{widget-pagination-25CKNe-i.js → widget-pagination-CM1S6Ytp.js} +5 -5
- package/dist/{widget-power-BSjWdgM3.js → widget-power-DQJ8F2R7.js} +3 -3
- package/dist/{widget-qrcode-Kbe9Skrd.js → widget-qrcode-BmnaFfc4.js} +3 -3
- package/dist/{widget-rangelimit-TWPoG8DX.js → widget-rangelimit-Db0ZX6Fb.js} +3 -3
- package/dist/{widget-serialnumber-uNkQzBIT.js → widget-serialnumber-BEOWsFs1.js} +1 -1
- package/dist/{widget-text-DH4r60jo.js → widget-text-DZFAhPxy.js} +5 -5
- package/dist/{widget-timediff-Bv8VCgrv.js → widget-timediff-C_Nh7uw-.js} +2 -2
- package/package.json +1 -1
- package/dist/paper-widget-design-C3rm4SzP.js +0 -4
- package/dist/seal-design-CtzWGxnH.js +0 -4
package/dist/src/domain/table/business/material/material-substitution/runtime/select-loaders.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { RefCustomLoader } from '../../../../../../nocode-base/src/interface/ref-loader';
|
|
2
|
+
export declare function flattenMaterialConsumeRecord(item: Record<string, any>): Record<string, any>;
|
|
3
|
+
/** 同一条选中记录的批次名称、ID 和展示名必须一起回填。 */
|
|
4
|
+
export declare function buildTargetMaterialSelectionPatch(record: Record<string, any>): Record<string, unknown>;
|
|
5
|
+
/** 历史消耗只使用当前行生产 SN,未选、LOT 或无法确认类型时阻断查询。 */
|
|
6
|
+
export declare function createMaterialConsumeHistoryLoader(rowData: Record<string, any>, fieldName?: string): RefCustomLoader;
|
|
7
|
+
/** 替换料从 LOT/SN 选择,保存产品 ID,批次身份由行内批号字段保存。 */
|
|
8
|
+
export declare function createTargetMaterialLoader(rowData: Record<string, any>): RefCustomLoader;
|
|
@@ -80,9 +80,9 @@ export declare class MaterialRequisitionTableCore extends ProfileDrivenSubTableC
|
|
|
80
80
|
}
|
|
81
81
|
/**
|
|
82
82
|
* 物料替换表 Core
|
|
83
|
-
* -
|
|
84
|
-
* -
|
|
85
|
-
* -
|
|
83
|
+
* - 被替换物料从当前行生产 SN 的历史消耗中选择,可按行内工序过滤
|
|
84
|
+
* - 替换物料从 LOT/SN 中选择,回填批次和物料信息,保留替换数量
|
|
85
|
+
* - 替换物料批号回填替换物料及其信息
|
|
86
86
|
* - 条码映射结果优先填充空行,否则追加新行
|
|
87
87
|
*/
|
|
88
88
|
export declare class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
|
package/dist/src/nocode-base/src/hooks/material-consume-object/object-validation-controller.d.ts
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IBasicInfoItem, ValidateFieldErrorMap } from '../../types';
|
|
2
|
+
import { RuntimeInstanceRecord } from '../../runtime';
|
|
3
|
+
type Options = {
|
|
4
|
+
record: RuntimeInstanceRecord;
|
|
5
|
+
getInfo(): IBasicInfoItem | undefined;
|
|
6
|
+
isCurrent(): boolean;
|
|
7
|
+
shouldSkip(): boolean;
|
|
8
|
+
applyComments(fields: ValidateFieldErrorMap): void;
|
|
9
|
+
};
|
|
10
|
+
type Result = {
|
|
11
|
+
isValid: boolean;
|
|
12
|
+
fields?: ValidateFieldErrorMap;
|
|
13
|
+
};
|
|
14
|
+
/** 实例级对象错误展示与刷新;数据变化由已有 Store 订阅传入。 */
|
|
15
|
+
export declare function createMaterialConsumeObjectValidation(options: Options): {
|
|
16
|
+
validate: (live?: boolean) => Promise<Result | undefined>;
|
|
17
|
+
requestLive: () => void;
|
|
18
|
+
replaceTableFields: (fields?: ValidateFieldErrorMap) => void;
|
|
19
|
+
clear: () => void;
|
|
20
|
+
beginSubmit(): void;
|
|
21
|
+
endSubmit(): void;
|
|
22
|
+
dispose(): void;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
@@ -41,6 +41,7 @@ export declare function createRuntimeInstanceInitializer(props: IProps, payload:
|
|
|
41
41
|
productSearchFields: string;
|
|
42
42
|
showPrintFieldBg: any;
|
|
43
43
|
paramsConfig: Record<string, any> | undefined;
|
|
44
|
+
businessType: any;
|
|
44
45
|
instanceStatus: any;
|
|
45
46
|
};
|
|
46
47
|
selfInfo: RuntimeSelfInfo;
|
|
@@ -87,6 +87,7 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
|
|
|
87
87
|
renderPurpose?: "print" | "pdf" | undefined;
|
|
88
88
|
showPrintFieldBg?: boolean | undefined;
|
|
89
89
|
paramsConfig?: Record<string, any> | undefined;
|
|
90
|
+
businessType?: string | undefined;
|
|
90
91
|
instanceStatus?: string | undefined;
|
|
91
92
|
}[], IBasicInfoItem[] | {
|
|
92
93
|
key: string;
|
|
@@ -129,6 +130,7 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
|
|
|
129
130
|
renderPurpose?: "print" | "pdf" | undefined;
|
|
130
131
|
showPrintFieldBg?: boolean | undefined;
|
|
131
132
|
paramsConfig?: Record<string, any> | undefined;
|
|
133
|
+
businessType?: string | undefined;
|
|
132
134
|
instanceStatus?: string | undefined;
|
|
133
135
|
}[]>;
|
|
134
136
|
selfInfoList: import('vue').Ref<{
|
|
@@ -196,6 +198,7 @@ export declare function useRenderPageFactory(props: IProps, payload: IPayload):
|
|
|
196
198
|
renderPurpose?: "print" | "pdf" | undefined;
|
|
197
199
|
showPrintFieldBg?: boolean | undefined;
|
|
198
200
|
paramsConfig?: Record<string, any> | undefined;
|
|
201
|
+
businessType?: string | undefined;
|
|
199
202
|
instanceStatus?: string | undefined;
|
|
200
203
|
} | undefined;
|
|
201
204
|
updateRenderModeType: (uniqueId: string, mode: import('..').RenderModeEnum, updateButton?: boolean) => Promise<void>;
|
|
@@ -34,7 +34,18 @@ export type RefCustomLoaderRawResult = RefLoaderNormalizedResult | {
|
|
|
34
34
|
dict?: any;
|
|
35
35
|
pageSize?: number;
|
|
36
36
|
} | any[];
|
|
37
|
-
export type RefCustomLoader = (params: RefCustomLoaderParams) => Promise<RefCustomLoaderRawResult
|
|
37
|
+
export type RefCustomLoader = ((params: RefCustomLoaderParams) => Promise<RefCustomLoaderRawResult>) & {
|
|
38
|
+
/** 下拉展开前校验;未通过时由字段组件弹出 message 并阻止展开。 */
|
|
39
|
+
beforeOpen?: () => Promise<{
|
|
40
|
+
allowed: boolean;
|
|
41
|
+
message?: string;
|
|
42
|
+
}>;
|
|
43
|
+
/** 选项关联同一物料时,仍按批次等独立身份高亮。 */
|
|
44
|
+
getSelectedKey?: () => string | undefined;
|
|
45
|
+
getOptionKey?: (option: RefLoaderNormalizedResult['options'][number]) => string;
|
|
46
|
+
/** 选中后立即与主字段一起回填的关联数据。 */
|
|
47
|
+
getSelectionPatch?: (record: Record<string, any>) => Record<string, unknown>;
|
|
48
|
+
};
|
|
38
49
|
/** 从 queryData 中提取快捷搜索关键字 */
|
|
39
50
|
export declare function extractKeywordFromQueryData(queryData?: Record<string, any>): any;
|
|
40
51
|
/** 将自定义数据源返回值标准化为 ref 组件消费结构 */
|
|
@@ -377,6 +377,8 @@ export interface IBasicInfoItem {
|
|
|
377
377
|
showPrintFieldBg?: boolean;
|
|
378
378
|
/** 填报入参(selfInfo.params + paramExtraProps) */
|
|
379
379
|
paramsConfig?: Record<string, any>;
|
|
380
|
+
/** detail 返回的单据业务类型,供业务字段查询匹配场景。 */
|
|
381
|
+
businessType?: string;
|
|
380
382
|
/** 实例状态 */
|
|
381
383
|
instanceStatus?: string;
|
|
382
384
|
}
|
|
@@ -82,6 +82,7 @@ export declare const FieldTypeToCellWidgetMap: {
|
|
|
82
82
|
scrap_material_no: CellWidgetCategory;
|
|
83
83
|
destructive_test_qty: CellWidgetCategory;
|
|
84
84
|
product_check_qty: CellWidgetCategory;
|
|
85
|
+
product_release_qty: CellWidgetCategory;
|
|
85
86
|
material_check_qty: CellWidgetCategory;
|
|
86
87
|
inspection_qty: CellWidgetCategory;
|
|
87
88
|
inspection_module_qty: CellWidgetCategory;
|
|
@@ -327,6 +327,10 @@ export declare enum FIELD_TYPE {
|
|
|
327
327
|
* 产品检验数量
|
|
328
328
|
*/
|
|
329
329
|
PRODUCT_CHECK_QTY = "product_check_qty",
|
|
330
|
+
/**
|
|
331
|
+
* 放行数量
|
|
332
|
+
*/
|
|
333
|
+
PRODUCT_RELEASE_QTY = "product_release_qty",
|
|
330
334
|
/**
|
|
331
335
|
* 材料检验数量
|
|
332
336
|
*/
|
|
@@ -568,6 +572,7 @@ export declare const FieldIconMap: {
|
|
|
568
572
|
scrap_material_no: string;
|
|
569
573
|
destructive_test_qty: string;
|
|
570
574
|
product_check_qty: string;
|
|
575
|
+
product_release_qty: string;
|
|
571
576
|
material_check_qty: string;
|
|
572
577
|
inspection_qty: string;
|
|
573
578
|
inspection_module_qty: string;
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
type RequestFn<TParams, TResult> = (params: TParams) => Promise<TResult>;
|
|
2
|
+
interface CacheEntry<TResult> {
|
|
3
|
+
data: TResult;
|
|
4
|
+
expireAt: number;
|
|
5
|
+
}
|
|
6
|
+
export declare const withRequestCache: {
|
|
7
|
+
pendingMap: Map<string, Promise<any>>;
|
|
8
|
+
cacheMap: Map<string, CacheEntry<any>>;
|
|
9
|
+
defaultTTL: number;
|
|
10
|
+
/** 生成唯一 key */
|
|
11
|
+
getKey(url: string, params: any): string;
|
|
12
|
+
/**
|
|
13
|
+
* 处理带缓存与去重的请求
|
|
14
|
+
* @param url 唯一逻辑标识(非实际 API 地址)
|
|
15
|
+
* @param params 请求参数
|
|
16
|
+
* @param requestFn 实际请求函数
|
|
17
|
+
* @param ttl 可选,缓存有效期(毫秒)
|
|
18
|
+
*/
|
|
19
|
+
handleRequest<TParams, TResult>(url: string, params: TParams, requestFn: RequestFn<TParams, TResult>, ttl?: number): Promise<TResult>;
|
|
20
|
+
/** 清空全部缓存 */
|
|
21
|
+
clearCache(): void;
|
|
22
|
+
/** 清空 pending 状态 */
|
|
23
|
+
clearPending(): void;
|
|
24
|
+
/** 定期清理过期缓存 */
|
|
25
|
+
cleanupExpiredCache(): void;
|
|
26
|
+
};
|
|
27
|
+
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { shallowReactive } from "vue";
|
|
2
|
-
import { aI as SubTableActionMenuTypeEnum, aJ as getMenuByAction, aK as SubTableActionEnum, aL as resolveScanFillData, ao as SubTableCore, aM as buildDefaultMapFromProfile, aN as buildFieldStatusFromProfile, aO as getRowHandlersForFieldChange, aP as getInsertSubMenu, aQ as resolveScanAdjustType, aR as resolveScanQty, aS as toDateOnly, aT as getCopySubMenu, aU as resolveScanParsedValue, aV as isProductBatchEmptyRow } from "./dynamic-table-action-
|
|
3
|
-
import { p as api,
|
|
2
|
+
import { aI as SubTableActionMenuTypeEnum, aJ as getMenuByAction, aK as SubTableActionEnum, aL as resolveScanFillData, ao as SubTableCore, aM as buildDefaultMapFromProfile, aN as buildFieldStatusFromProfile, aO as getRowHandlersForFieldChange, aP as getInsertSubMenu, aQ as resolveScanAdjustType, aR as resolveScanQty, aS as toDateOnly, aT as getCopySubMenu, aU as resolveScanParsedValue, aV as isProductBatchEmptyRow } from "./dynamic-table-action-DkHb1ST4.js";
|
|
3
|
+
import { p as api, cQ as F$1, aM as resolveLotDisplayLabel, cR as FILL_FROM_TARGET_PRODUCT_OPTION, aY as resolveLotRecordByValue, b0 as ProductionIdentificationTypeEnum, aW as buildLotSnListQuery, cS as F$2, cT as SCAN_ROW_CONTENT_FIELDS, cU as F$3, cV as runRowHandler, c as getProfileByTableType, b as isBusinessSubTableProfile, cW as F$4, cX as F$5, cY as FILL_FROM_SOURCE_PRODUCT_OPTION, cZ as FILL_FROM_TARGET_MATERIAL_NO_OPTION, c_ as FILL_FROM_INVENTORY_OPTION, c$ as FILL_FROM_PART_OPTION, d0 as FILL_FROM_INVENTORY_OPTION$1, d1 as TABLE_TYPE, d2 as FILL_FROM_INVENTORY_OPTION$2, b6 as F$6, d3 as INVENTORY_BASE_FIELDS, d4 as resolveGroupByWarehouse, d5 as AUTO_LOAD_READONLY_SELECT_FIELDS, b5 as STOCKTAKE_DIMENSION, b2 as getParseRuleInfo, d6 as buildFillFromInventoryOption, c5 as calcFillData, d7 as resolveStocktakeInventoryApi, b3 as getParseRuleValue, d8 as F$7, d9 as FILL_FROM_INVENTORY_OPTION$3, da as LOCKED_INPUT_FIELDS, cb as extractKeywordFromQueryData, db as composeProductionLotListQuery, dc as F$8, dd as isProductManuallyEditable, de as applyFillFromMfgOrderOption, df as applyFillFromOption$1, dg as applyFillFromProductOption, aV as LOT_CONTAINER_ROLE, dh as MATERIAL_CONTAINER_ID, di as F$9, dj as PRODUCT_QUICK_SEARCH_FIELDS, dk as PRODUCT_QUICK_SEARCH_EXP, dl as isProductManuallyEditable$1, dm as applyFillFromMaterialNoOption, dn as applyFillFromProductOption$1, dp as F$a, dq as FILL_FROM_INVENTORY_OPTION$4, Z as FormTypeEnum, aH as transformUtils, h as SubTableType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
|
|
4
4
|
import { has, merge } from "lodash-es";
|
|
5
5
|
class RuntimeInstanceController {
|
|
6
6
|
context;
|
|
@@ -284,6 +284,152 @@ async function matchProductionIdentificationScanRecords(parsed) {
|
|
|
284
284
|
);
|
|
285
285
|
return unwrapBizServiceList(result);
|
|
286
286
|
}
|
|
287
|
+
function isBlank$4(value) {
|
|
288
|
+
return value === void 0 || value === null || value === "";
|
|
289
|
+
}
|
|
290
|
+
function flattenMaterialConsumeRecord(item) {
|
|
291
|
+
const result = { ...item };
|
|
292
|
+
for (const field of ["product_id_.name_", "product_id_.code_", "product_id_.spec_"]) {
|
|
293
|
+
result[field] = item[field] ?? item._OPCT?.[field] ?? item.__FOREIGN__?.[field];
|
|
294
|
+
}
|
|
295
|
+
return result;
|
|
296
|
+
}
|
|
297
|
+
const emptyResult = () => ({ data: [], options: [], finished: true, totalCount: 0, totalPage: 0 });
|
|
298
|
+
function buildTargetMaterialSelectionPatch(record) {
|
|
299
|
+
const hasBatch = !isBlank$4(record.name_);
|
|
300
|
+
const label = hasBatch ? resolveLotDisplayLabel(record) : "";
|
|
301
|
+
return {
|
|
302
|
+
...Object.fromEntries(
|
|
303
|
+
FILL_FROM_TARGET_PRODUCT_OPTION.map(({ optionField, toField }) => [
|
|
304
|
+
toField,
|
|
305
|
+
record[optionField]
|
|
306
|
+
])
|
|
307
|
+
),
|
|
308
|
+
[F$1.targetMaterialNoId]: hasBatch ? record.id_ : void 0,
|
|
309
|
+
[F$1.targetMaterialNoLb]: label ? JSON.stringify([label]) : void 0
|
|
310
|
+
};
|
|
311
|
+
}
|
|
312
|
+
function createMaterialConsumeHistoryLoader(rowData, fieldName = "SN") {
|
|
313
|
+
const beforeOpen = async () => {
|
|
314
|
+
const value = rowData[F$1.productionContainer];
|
|
315
|
+
if (isBlank$4(value)) {
|
|
316
|
+
return {
|
|
317
|
+
allowed: false,
|
|
318
|
+
message: window.$t("sys.pageDesigner.pleaseSelectFirstSth", { sth: fieldName })
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
const record = await resolveLotRecordByValue({ id: value });
|
|
322
|
+
if (rowData[F$1.productionContainer] !== value) return { allowed: false };
|
|
323
|
+
const type = record?.production_identification_type_;
|
|
324
|
+
const message = type === ProductionIdentificationTypeEnum.SN ? "" : type === ProductionIdentificationTypeEnum.LOT ? `${fieldName}选择的是 LOT 类型的批次,请选择 SN 类型的批次` : `无法确认${fieldName}的批次信息,请重新选择`;
|
|
325
|
+
return { allowed: !message, message };
|
|
326
|
+
};
|
|
327
|
+
const loader = async ({
|
|
328
|
+
mode,
|
|
329
|
+
queryData = {},
|
|
330
|
+
pageNo = 1,
|
|
331
|
+
pageSize = 20,
|
|
332
|
+
ids = []
|
|
333
|
+
}) => {
|
|
334
|
+
const value = rowData[F$1.productionContainer];
|
|
335
|
+
const operation = rowData[F$1.routingOperation];
|
|
336
|
+
if (isBlank$4(value)) return emptyResult();
|
|
337
|
+
const validation = await beforeOpen();
|
|
338
|
+
const isCurrent = () => rowData[F$1.productionContainer] === value && rowData[F$1.routingOperation] === operation;
|
|
339
|
+
if (!validation.allowed || !isCurrent()) return emptyResult();
|
|
340
|
+
const query = Object.fromEntries(
|
|
341
|
+
Object.entries(queryData).filter(
|
|
342
|
+
([, item]) => Array.isArray(item) ? item.length > 0 : !isBlank$4(item)
|
|
343
|
+
)
|
|
344
|
+
);
|
|
345
|
+
query["production_identification_id_.eq"] = value;
|
|
346
|
+
delete query["routing_operation_id_.eq"];
|
|
347
|
+
if (!isBlank$4(operation)) query["routing_operation_id_.eq"] = operation;
|
|
348
|
+
if (mode === "byIds" && ids.length) query["product_id_.in"] = ids;
|
|
349
|
+
const keys = Object.keys(query);
|
|
350
|
+
const res = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
|
|
351
|
+
{ modelCategory: "entity", modelKey: "em_material_consume", bsKey: "listByPage" },
|
|
352
|
+
{},
|
|
353
|
+
{
|
|
354
|
+
foreignFields: ["product_id_.spec_", "product_id_.code_", "product_id_.name_"],
|
|
355
|
+
query,
|
|
356
|
+
exp: keys.length > 1 ? `AND(${keys.join(",")})` : keys[0] ?? "",
|
|
357
|
+
pageNo,
|
|
358
|
+
pageSize
|
|
359
|
+
}
|
|
360
|
+
);
|
|
361
|
+
if (!isCurrent()) return emptyResult();
|
|
362
|
+
const rows = (Array.isArray(res) ? res : res?.data ?? []).map(flattenMaterialConsumeRecord);
|
|
363
|
+
const totalCount = Number(res?.totalCount ?? rows.length);
|
|
364
|
+
const totalPage = Number(res?.totalPage ?? Math.max(1, Math.ceil(totalCount / pageSize)));
|
|
365
|
+
return {
|
|
366
|
+
data: rows,
|
|
367
|
+
options: rows.map((item) => ({
|
|
368
|
+
label: item["product_id_.name_"] ?? item.material_name_ ?? String(item.product_id_ ?? ""),
|
|
369
|
+
value: item.product_id_,
|
|
370
|
+
disabled: !!item.deleted_,
|
|
371
|
+
_item: item
|
|
372
|
+
})),
|
|
373
|
+
finished: mode === "byIds" || pageNo >= totalPage,
|
|
374
|
+
totalCount,
|
|
375
|
+
totalPage
|
|
376
|
+
};
|
|
377
|
+
};
|
|
378
|
+
loader.beforeOpen = beforeOpen;
|
|
379
|
+
return loader;
|
|
380
|
+
}
|
|
381
|
+
function createTargetMaterialLoader(rowData) {
|
|
382
|
+
const loader = async ({
|
|
383
|
+
mode,
|
|
384
|
+
queryData = {},
|
|
385
|
+
pageNo = 1,
|
|
386
|
+
pageSize = 20,
|
|
387
|
+
ids = []
|
|
388
|
+
}) => {
|
|
389
|
+
const keyword = queryData["name_.iLike"] ?? queryData["name_.like"] ?? "";
|
|
390
|
+
const filters = Object.fromEntries(
|
|
391
|
+
Object.entries(queryData).filter(
|
|
392
|
+
([key, value]) => !key.endsWith(".like") && !key.endsWith(".iLike") && !isBlank$4(value) && (!Array.isArray(value) || value.length > 0)
|
|
393
|
+
)
|
|
394
|
+
);
|
|
395
|
+
if (mode === "byIds" && ids.length) {
|
|
396
|
+
if (!isBlank$4(rowData[F$1.targetMaterialNoId])) {
|
|
397
|
+
filters["id_.eq"] = rowData[F$1.targetMaterialNoId];
|
|
398
|
+
} else {
|
|
399
|
+
filters["product_id_.in"] = ids;
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
const { queryData: query, exp } = buildLotSnListQuery(keyword, filters);
|
|
403
|
+
const res = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
|
|
404
|
+
{
|
|
405
|
+
modelCategory: "entity",
|
|
406
|
+
modelKey: "em_production_identification",
|
|
407
|
+
bsKey: "biz_get_production_identification"
|
|
408
|
+
},
|
|
409
|
+
{},
|
|
410
|
+
{ query, exp, pageNo, pageSize }
|
|
411
|
+
);
|
|
412
|
+
const rows = Array.isArray(res) ? res : res?.data ?? [];
|
|
413
|
+
const totalCount = Number(res?.totalCount ?? rows.length);
|
|
414
|
+
const totalPage = Number(res?.totalPage ?? Math.max(1, Math.ceil(totalCount / pageSize)));
|
|
415
|
+
return {
|
|
416
|
+
data: rows,
|
|
417
|
+
options: rows.map((item) => ({
|
|
418
|
+
label: item.product_id_name_ ?? String(item.product_id_ ?? ""),
|
|
419
|
+
value: item.product_id_,
|
|
420
|
+
disabled: !!item.deleted_,
|
|
421
|
+
_item: item
|
|
422
|
+
})),
|
|
423
|
+
finished: mode === "byIds" || pageNo >= totalPage,
|
|
424
|
+
totalCount,
|
|
425
|
+
totalPage
|
|
426
|
+
};
|
|
427
|
+
};
|
|
428
|
+
loader.getSelectedKey = () => rowData[F$1.targetMaterialNoId];
|
|
429
|
+
loader.getOptionKey = (option) => option._item?.id_ ?? option.value;
|
|
430
|
+
loader.getSelectionPatch = buildTargetMaterialSelectionPatch;
|
|
431
|
+
return loader;
|
|
432
|
+
}
|
|
287
433
|
class ProfileDrivenSubTableCore extends SubTableCore {
|
|
288
434
|
get profile() {
|
|
289
435
|
const profile = getProfileByTableType(this.ctx.widget.props.tableType);
|
|
@@ -345,64 +491,6 @@ const MATERIAL_CONSUME_HISTORY_DISPLAY_FIELDS = [
|
|
|
345
491
|
{ key: "material_name_", name: "物料批号" },
|
|
346
492
|
{ key: "qty_consumed_", name: "已消耗数量" }
|
|
347
493
|
];
|
|
348
|
-
function getForeignProductValue(item, field) {
|
|
349
|
-
return item[field] ?? item._OPCT?.[field] ?? item.__FOREIGN__?.[field];
|
|
350
|
-
}
|
|
351
|
-
function flattenMaterialConsumeRecord(item) {
|
|
352
|
-
return {
|
|
353
|
-
...item,
|
|
354
|
-
"product_id_.name_": getForeignProductValue(item, "product_id_.name_"),
|
|
355
|
-
"product_id_.code_": getForeignProductValue(item, "product_id_.code_"),
|
|
356
|
-
"product_id_.spec_": getForeignProductValue(item, "product_id_.spec_")
|
|
357
|
-
};
|
|
358
|
-
}
|
|
359
|
-
function hasQueryValue(value) {
|
|
360
|
-
if (Array.isArray(value)) return value.length > 0;
|
|
361
|
-
return !isBlank$3(value);
|
|
362
|
-
}
|
|
363
|
-
function createMaterialConsumeHistoryLoader() {
|
|
364
|
-
return async ({ mode, queryData = {}, pageNo = 1, pageSize = 20, ids = [] }) => {
|
|
365
|
-
const query = Object.fromEntries(
|
|
366
|
-
Object.entries(queryData).filter(([, value]) => hasQueryValue(value))
|
|
367
|
-
);
|
|
368
|
-
if (mode === "byIds" && ids.length) {
|
|
369
|
-
query["product_id_.in"] = ids;
|
|
370
|
-
}
|
|
371
|
-
const queryKeys = Object.keys(query);
|
|
372
|
-
const exp = queryKeys.length > 1 ? `AND(${queryKeys.join(",")})` : queryKeys.length === 1 ? queryKeys[0] : "";
|
|
373
|
-
const res = await api.apaas.modelComprehensive.postBizServiceModelCategoryModelKeyBsKey(
|
|
374
|
-
{
|
|
375
|
-
modelCategory: "entity",
|
|
376
|
-
modelKey: "em_material_consume",
|
|
377
|
-
bsKey: "listByPage"
|
|
378
|
-
},
|
|
379
|
-
{},
|
|
380
|
-
{
|
|
381
|
-
foreignFields: ["product_id_.spec_", "product_id_.code_", "product_id_.name_"],
|
|
382
|
-
query,
|
|
383
|
-
exp,
|
|
384
|
-
pageNo,
|
|
385
|
-
pageSize
|
|
386
|
-
}
|
|
387
|
-
);
|
|
388
|
-
const rows = (Array.isArray(res) ? res : res?.data ?? []).map(flattenMaterialConsumeRecord);
|
|
389
|
-
const totalCount = Number(res?.totalCount ?? rows.length);
|
|
390
|
-
const totalPage = Number(res?.totalPage ?? Math.max(1, Math.ceil(totalCount / pageSize)));
|
|
391
|
-
const options = rows.map((item) => ({
|
|
392
|
-
label: getForeignProductValue(item, "product_id_.name_") ?? item.material_name_ ?? String(item.product_id_ ?? ""),
|
|
393
|
-
value: item.product_id_,
|
|
394
|
-
disabled: !!item.deleted_,
|
|
395
|
-
_item: item
|
|
396
|
-
}));
|
|
397
|
-
return {
|
|
398
|
-
data: rows,
|
|
399
|
-
options,
|
|
400
|
-
finished: mode === "byIds" || pageNo >= totalPage,
|
|
401
|
-
totalCount,
|
|
402
|
-
totalPage
|
|
403
|
-
};
|
|
404
|
-
};
|
|
405
|
-
}
|
|
406
494
|
function applyAllocatePartTd(params, partField, mode, inventoryBinding) {
|
|
407
495
|
const { field, tdHandler } = params;
|
|
408
496
|
if (field !== partField) return;
|
|
@@ -486,21 +574,21 @@ class DevicePartConsumeTableCore extends ProfileDrivenSubTableCore {
|
|
|
486
574
|
return this.factory.ctx.paramsConfig?.warehouseId;
|
|
487
575
|
}
|
|
488
576
|
handleFieldTd = (params) => {
|
|
489
|
-
applyAllocatePartTd(params, F$
|
|
490
|
-
formField: F$
|
|
577
|
+
applyAllocatePartTd(params, F$2.part, "inventory", {
|
|
578
|
+
formField: F$2.inventory,
|
|
491
579
|
optionField: "id_"
|
|
492
580
|
});
|
|
493
581
|
super.handleFieldTd(params);
|
|
494
582
|
};
|
|
495
583
|
calcFieldQuery = (params) => {
|
|
496
|
-
if (params.field === F$
|
|
584
|
+
if (params.field === F$2.part) {
|
|
497
585
|
return { warehouse_id_: this.warehouseId };
|
|
498
586
|
}
|
|
499
587
|
};
|
|
500
588
|
handleChange(params) {
|
|
501
589
|
super.handleChange(params);
|
|
502
590
|
const { field, value, option, rowData } = params;
|
|
503
|
-
if (field !== F$
|
|
591
|
+
if (field !== F$2.part || isBlank$3(value) || !option) return;
|
|
504
592
|
applyOptionFill(rowData, option, FILL_FROM_INVENTORY_OPTION$2);
|
|
505
593
|
}
|
|
506
594
|
}
|
|
@@ -512,14 +600,38 @@ class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
|
|
|
512
600
|
}
|
|
513
601
|
handleFieldTd = (params) => {
|
|
514
602
|
const { field, tdHandler } = params;
|
|
515
|
-
if (field === F$
|
|
603
|
+
if (field === F$1.targetProduct) {
|
|
604
|
+
const rules = tdHandler.td.cellWidget.props.autofillRules;
|
|
605
|
+
if (rules) {
|
|
606
|
+
tdHandler.mergeTd({
|
|
607
|
+
cellWidget: {
|
|
608
|
+
props: {
|
|
609
|
+
autofillRules: rules.filter(
|
|
610
|
+
(rule) => rule.fromField !== "qty_consumed_" || rule.toField !== F$1.targetQtyConsumed
|
|
611
|
+
)
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
});
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
if (field === F$1.sourceProduct || field === F$1.targetProduct) {
|
|
516
618
|
tdHandler.mergeTd({
|
|
517
619
|
cellWidget: {
|
|
518
620
|
props: {
|
|
519
|
-
displayFields: MATERIAL_CONSUME_HISTORY_DISPLAY_FIELDS
|
|
621
|
+
displayFields: field === F$1.sourceProduct ? MATERIAL_CONSUME_HISTORY_DISPLAY_FIELDS : [
|
|
622
|
+
{ key: "name_", name: "LOT/SN" },
|
|
623
|
+
{ key: "product_id_code_", name: "物料编码" },
|
|
624
|
+
{ key: "product_id_name_", name: "物料名称" },
|
|
625
|
+
{ key: "product_id_spec_", name: "物料规格" }
|
|
626
|
+
],
|
|
520
627
|
quickSearchable: true,
|
|
521
|
-
quickSearchField: ["material_name_.
|
|
522
|
-
|
|
628
|
+
quickSearchField: field === F$1.sourceProduct ? ["material_name_.iLike"] : [
|
|
629
|
+
"name_.iLike",
|
|
630
|
+
"related_parent_name_.iLike",
|
|
631
|
+
"product_id_code_.iLike",
|
|
632
|
+
"product_id_name_.iLike",
|
|
633
|
+
"spec_.iLike"
|
|
634
|
+
],
|
|
523
635
|
customRefTableMode: "flat",
|
|
524
636
|
newSpecificConfig: { newOptions: [] }
|
|
525
637
|
}
|
|
@@ -529,20 +641,22 @@ class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
|
|
|
529
641
|
super.handleFieldTd(params);
|
|
530
642
|
};
|
|
531
643
|
calcFieldQuery = ({ field, rowData }) => {
|
|
532
|
-
if (field !== F$
|
|
644
|
+
if (field !== F$1.sourceProduct) return;
|
|
533
645
|
const query = {};
|
|
534
|
-
if (!isBlank$3(rowData[F$
|
|
535
|
-
query["production_identification_id_.eq"] = rowData[F$
|
|
646
|
+
if (!isBlank$3(rowData[F$1.productionContainer])) {
|
|
647
|
+
query["production_identification_id_.eq"] = rowData[F$1.productionContainer];
|
|
536
648
|
}
|
|
537
|
-
if (!isBlank$3(rowData[F$
|
|
538
|
-
query["routing_operation_id_.eq"] = rowData[F$
|
|
649
|
+
if (!isBlank$3(rowData[F$1.routingOperation])) {
|
|
650
|
+
query["routing_operation_id_.eq"] = rowData[F$1.routingOperation];
|
|
539
651
|
}
|
|
540
652
|
return query;
|
|
541
653
|
};
|
|
542
|
-
calcFieldDataSource = ({ field }) => {
|
|
543
|
-
if (field === F$
|
|
544
|
-
|
|
654
|
+
calcFieldDataSource = ({ field, rowData }) => {
|
|
655
|
+
if (field === F$1.sourceProduct) {
|
|
656
|
+
const fieldName = this.formModelController?.getSubModelFields(this.subModelKey)?.find((item) => item.key === F$1.productionContainer)?.name;
|
|
657
|
+
return createMaterialConsumeHistoryLoader(rowData, fieldName);
|
|
545
658
|
}
|
|
659
|
+
if (field === F$1.targetProduct) return createTargetMaterialLoader(rowData);
|
|
546
660
|
};
|
|
547
661
|
handleChange(params) {
|
|
548
662
|
super.handleChange(params);
|
|
@@ -550,7 +664,7 @@ class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
|
|
|
550
664
|
if (isBlank$3(value) || !option) return;
|
|
551
665
|
const source = resolveOptionRecord$1(option);
|
|
552
666
|
if (!source) return;
|
|
553
|
-
if (field === F$
|
|
667
|
+
if (field === F$1.sourceProduct) {
|
|
554
668
|
applyOptionFill(
|
|
555
669
|
rowData,
|
|
556
670
|
flattenMaterialConsumeRecord(source),
|
|
@@ -558,16 +672,11 @@ class MaterialSubstitutionTableCore extends ProfileDrivenSubTableCore {
|
|
|
558
672
|
);
|
|
559
673
|
return;
|
|
560
674
|
}
|
|
561
|
-
if (field === F$
|
|
562
|
-
|
|
563
|
-
rowData[F$2.targetMaterialNoId] = void 0;
|
|
564
|
-
rowData[F$2.targetMaterialNoLb] = void 0;
|
|
565
|
-
for (const { optionField, toField } of FILL_FROM_TARGET_PRODUCT_OPTION) {
|
|
566
|
-
rowData[toField] = record[optionField];
|
|
567
|
-
}
|
|
675
|
+
if (field === F$1.targetProduct) {
|
|
676
|
+
Object.assign(rowData, buildTargetMaterialSelectionPatch(source));
|
|
568
677
|
return;
|
|
569
678
|
}
|
|
570
|
-
if (field === F$
|
|
679
|
+
if (field === F$1.targetMaterialNo) {
|
|
571
680
|
applyOptionFill(rowData, source, FILL_FROM_TARGET_MATERIAL_NO_OPTION);
|
|
572
681
|
}
|
|
573
682
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { defineComponent, computed, openBlock, createElementBlock, normalizeStyle, normalizeClass, createCommentVNode, createElementVNode, toDisplayString } from "vue";
|
|
2
2
|
import { pick } from "lodash-es";
|
|
3
|
-
import { R as PaperWidgeValueType, a9 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
3
|
+
import { R as PaperWidgeValueType, a9 as _export_sfc } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
|
|
4
4
|
import "dayjs";
|
|
5
5
|
import "@gct-paas/form-base";
|
|
6
6
|
import "ant-design-vue";
|
|
7
|
-
import { u as useSpreadSheet, h as useModelFields } from "./index-
|
|
7
|
+
import { u as useSpreadSheet, h as useModelFields } from "./index-BDRyjPGr.js";
|
|
8
8
|
const _hoisted_1 = { class: "ws-pre-wrap" };
|
|
9
9
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
10
10
|
__name: "text-design",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { g as getScrollDimension } from "./viewport.helpers-CoCAvmZs-D_JddDC6.js";
|
|
2
|
-
import {
|
|
2
|
+
import { en as isObject, dN as debounce } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
|
|
3
3
|
const initialParams = {
|
|
4
4
|
contentSize: 0,
|
|
5
5
|
clientSize: 0,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, openBlock, createElementBlock, toDisplayString, unref } from "vue";
|
|
2
|
-
import { an as TimeDiffFormat } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
2
|
+
import { an as TimeDiffFormat } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
|
|
3
3
|
import "lodash-es";
|
|
4
4
|
import "dayjs";
|
|
5
5
|
import "@gct-paas/form-base";
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { get, pick } from "lodash-es";
|
|
2
|
-
import { F as FIELD_TYPE,
|
|
2
|
+
import { F as FIELD_TYPE, b1 as BindCmpStyleEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
|
|
3
3
|
import "vue";
|
|
4
4
|
import "dayjs";
|
|
5
5
|
import "@gct-paas/form-base";
|
|
6
6
|
import "ant-design-vue";
|
|
7
|
-
import { i as isSterilizationLotField, a as getSterilizationLotDisplayFields, s as showDisplayAndSearchConfig, r as resolveQuickSearchConfig } from "./index-
|
|
7
|
+
import { i as isSterilizationLotField, a as getSterilizationLotDisplayFields, s as showDisplayAndSearchConfig, r as resolveQuickSearchConfig } from "./index-BDRyjPGr.js";
|
|
8
8
|
function getTraceLikeSelectProps(data) {
|
|
9
9
|
const isSubtableMfgOrder = !!data.info.subModelKey && (data.info.bizType === FIELD_TYPE.MFG_ORDER || data.info.fieldType === FIELD_TYPE.MFG_ORDER);
|
|
10
10
|
const displayFields = (() => {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, createVNode, withCtx, Fragment, renderList, createBlock, createTextVNode, toDisplayString, createElementVNode, unref, createCommentVNode } from "vue";
|
|
2
2
|
import { pick } from "lodash-es";
|
|
3
|
-
import { h as useModelFields, u as useSpreadSheet, m as useDrop, P as PanelType, T as TransferType, V as ValueEditorFieldDropBoxId, S as SingleDrop, o as getFieldIcon } from "./index-
|
|
4
|
-
import { R as PaperWidgeValueType, au as ExpressionModeEnum, aw as ExpressionTabEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
3
|
+
import { h as useModelFields, u as useSpreadSheet, m as useDrop, P as PanelType, T as TransferType, V as ValueEditorFieldDropBoxId, S as SingleDrop, o as getFieldIcon } from "./index-BDRyjPGr.js";
|
|
4
|
+
import { R as PaperWidgeValueType, au as ExpressionModeEnum, aw as ExpressionTabEnum } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
|
|
5
5
|
import "dayjs";
|
|
6
6
|
import "@gct-paas/form-base";
|
|
7
7
|
import "ant-design-vue";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { M as ModalWrapper, _ as _sfc_main$3 } from "../index-
|
|
2
|
-
import { A, B, P, S, j, h, i, u } from "../index-
|
|
1
|
+
import { M as ModalWrapper, _ as _sfc_main$3 } from "../index-DnHsEIgl.js";
|
|
2
|
+
import { A, B, P, S, j, h, i, u } from "../index-DnHsEIgl.js";
|
|
3
3
|
import { message } from "ant-design-vue";
|
|
4
|
-
import { K as useModal, a9 as _export_sfc, p as api,
|
|
4
|
+
import { K as useModal, a9 as _export_sfc, p as api, ch as getParseRuleConfig, b3 as getParseRuleValue, c5 as calcFillData, a_ as getLotLockedReason } from "../dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
|
|
5
5
|
import { defineComponent, ref, resolveComponent, openBlock, createElementBlock, createElementVNode, toDisplayString, Fragment, renderList, normalizeClass, createVNode, createTextVNode, reactive, onMounted, createBlock, unref, withCtx, withKeys, withDirectives, createCommentVNode, vShow, computed, mergeProps, toHandlers } from "vue";
|
|
6
6
|
import { cloneDeep } from "lodash-es";
|
|
7
7
|
import "dayjs";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defineComponent, computed, resolveComponent, openBlock, createElementBlock, Fragment, createVNode, withCtx, renderList, createBlock, createTextVNode, toDisplayString, createElementVNode } from "vue";
|
|
2
|
-
import { u as useSpreadSheet, B as BwipCodeTypeOptions, F as FormItem } from "./index-
|
|
3
|
-
import { _ as _sfc_main$1 } from "./value-editor.vue_vue_type_style_index_0_lang-
|
|
4
|
-
import { q as PaperWidgeType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-
|
|
2
|
+
import { u as useSpreadSheet, B as BwipCodeTypeOptions, F as FormItem } from "./index-BDRyjPGr.js";
|
|
3
|
+
import { _ as _sfc_main$1 } from "./value-editor.vue_vue_type_style_index_0_lang-CRFXw695.js";
|
|
4
|
+
import { q as PaperWidgeType } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
|
|
5
5
|
import "lodash-es";
|
|
6
6
|
import "dayjs";
|
|
7
7
|
import "@gct-paas/form-base";
|
|
8
8
|
import "ant-design-vue";
|
|
9
|
-
import { A as AlignEditor } from "./align-editor-
|
|
9
|
+
import { A as AlignEditor } from "./align-editor-lWVPNKlR.js";
|
|
10
10
|
const _hoisted_1 = { class: "pl-6px" };
|
|
11
11
|
const _hoisted_2 = { class: "flex justify-end" };
|
|
12
12
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { defineComponent, computed, resolveComponent, openBlock, createBlock, normalizeClass, unref, withCtx, createElementVNode, toDisplayString, createVNode, watch, createElementBlock, Fragment, createCommentVNode } from "vue";
|
|
2
|
-
import { F as FormItem, q as SelectEx } from "./index-
|
|
2
|
+
import { F as FormItem, q as SelectEx } from "./index-BDRyjPGr.js";
|
|
3
3
|
import { defaults } from "lodash-es";
|
|
4
|
-
import { F as FIELD_TYPE, a9 as _export_sfc, ak as DiagonalDirection, ao as DiagonalVertex,
|
|
4
|
+
import { F as FIELD_TYPE, a9 as _export_sfc, ak as DiagonalDirection, ao as DiagonalVertex, cs as migrateDiagonalDirectionToVertex } from "./dynamic-table-action.vue_vue_type_style_index_0_scoped_53d7e66c_lang-CAg9oyuD.js";
|
|
5
5
|
import "dayjs";
|
|
6
6
|
import "@gct-paas/form-base";
|
|
7
7
|
import { message } from "ant-design-vue";
|
|
8
8
|
import { a as useNamespace } from "./AntdIcon-DCIaV352.js";
|
|
9
|
-
import { S as SingleFieldDrop } from "./single-field-drop-
|
|
9
|
+
import { S as SingleFieldDrop } from "./single-field-drop-DRMCsh_s.js";
|
|
10
10
|
const _sfc_main$1 = /* @__PURE__ */ defineComponent({
|
|
11
11
|
__name: "diagonal-name-editor",
|
|
12
12
|
props: {
|