@gct-paas/word 0.1.74-beta.7 → 0.1.74-beta.9

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.
@@ -1,7 +1,8 @@
1
1
  import { Doc, SubRenderer } from '../../../../../../core';
2
- /** 打开扫码弹窗 */
2
+ /** 打开扫码弹窗并处理入行 */
3
3
  export declare function openPretreatmentListScan(options: {
4
4
  doc: Doc;
5
5
  subRenderer: SubRenderer;
6
6
  subFieldKey: string;
7
+ subModelKey?: string;
7
8
  }): Promise<void>;
@@ -2,24 +2,27 @@ import { ParseRuleProps } from '../material/types';
2
2
  import { TriggerName } from '../../../../utils/adapters/TriggerUtil';
3
3
  /** 将 widget 上的条码解析规则 id 字符串转为配置对象 */
4
4
  export declare function toParseRuleConfig(value?: string): ParseRuleProps | undefined;
5
- export interface ScanRuleInfo {
6
- rules_?: string;
5
+ /** CommonScanModal 回传(盘点弹框另有 barcode/type) */
6
+ export type ScanModalInput = {
7
+ str?: string;
8
+ parsedValue?: unknown;
9
+ transformedData?: unknown;
10
+ barcode?: string;
11
+ type?: string;
7
12
  [key: string]: unknown;
8
- }
13
+ };
9
14
  export interface OpenScanWithParseRuleOptions {
10
15
  regionId: string;
11
16
  barcodeParsingRulesId?: string;
12
17
  modalEvent: TriggerName;
13
18
  title?: string;
14
- onScan: (input: {
15
- str: string;
16
- }, ctx: {
17
- parseRuleProps: ParseRuleProps;
18
- scanRuleInfo: ScanRuleInfo;
19
- }) => void | Promise<void>;
19
+ subModelKey?: string;
20
+ mainModelKey?: string;
21
+ /** 与 CommonScanModal.onScan 一致:只收弹框回传的一个对象 */
22
+ onScan: (input: ScanModalInput) => void | Promise<void>;
20
23
  }
21
24
  /**
22
- * 扫码入口脚手架:防重入、校验解析规则、打开 modal、finally 清理
23
- * 业务侧只实现 onScan
25
+ * 扫码入口脚手架:防重入、打开 modal、finally 清理
26
+ * 解析/映射由 CommonScanModal 完成,业务侧直接消费回传对象
24
27
  */
25
28
  export declare function openScanWithParseRule(options: OpenScanWithParseRuleOptions): Promise<void>;
@@ -1,8 +1,13 @@
1
1
  import { DropdownOption, DropdownOptionGroup } from '../../../base';
2
+ import { BusinessSubTableType } from '../types';
2
3
  /** 表头(挂在数据表 Ribbon 首位) */
3
4
  export declare const TABLE_HEADER_RIBBON_OPTION: DropdownOption;
5
+ export interface RibbonTableOptionsParams {
6
+ /** 套件级需从 Ribbon 隐藏的业务表类型 */
7
+ hiddenBusinessTableTypes?: BusinessSubTableType[];
8
+ }
4
9
  /** 生成 Ribbon「数据表」「业务表」下拉选项 */
5
- export declare function getRibbonTableOptions(): {
10
+ export declare function getRibbonTableOptions(params?: RibbonTableOptionsParams): {
6
11
  dataTables: DropdownOption[];
7
12
  businessTables: DropdownOptionGroup[];
8
13
  };
package/dist/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @gct-paas/word v0.1.74-beta.7 */
1
+ /*! @gct-paas/word v0.1.74-beta.9 */
2
2
  import { Fragment, Suspense, Teleport, Transition, TransitionGroup, cloneVNode, computed, createApp, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, getCurrentInstance, getCurrentScope, guardReactiveProps, h, inject, isRef, isVNode, markRaw, mergeModels, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeMount, onBeforeUnmount, onMounted, onScopeDispose, onUnmounted, openBlock, provide, reactive, readonly, ref, render, renderList, renderSlot, resolveComponent, resolveDynamicComponent, shallowRef, toDisplayString, toRaw, toRef, toValue, unref, useCssVars, useModel, useSlots, vModelText, vShow, watch, watchEffect, withCtx, withDirectives, withKeys, withModifiers } from "vue";
3
3
  import FloatingVue, { PopperWrapper } from "floating-vue";
4
4
  import VueKonva from "vue-konva";
@@ -99233,32 +99233,21 @@ function toParseRuleConfig$1(value) {
99233
99233
  return parseBarcodeParsingRulesId(value);
99234
99234
  }
99235
99235
  /**
99236
- * 扫码入口脚手架:防重入、校验解析规则、打开 modal、finally 清理
99237
- * 业务侧只实现 onScan
99236
+ * 扫码入口脚手架:防重入、打开 modal、finally 清理
99237
+ * 解析/映射由 CommonScanModal 完成,业务侧直接消费回传对象
99238
99238
  */
99239
99239
  async function openScanWithParseRule(options) {
99240
- const { regionId, barcodeParsingRulesId, modalEvent, title, onScan } = options;
99240
+ const { regionId, barcodeParsingRulesId, modalEvent, title, subModelKey, mainModelKey, onScan } = options;
99241
99241
  if (scanningRegionIds.has(regionId)) return;
99242
99242
  const parseRuleProps = toParseRuleConfig$1(barcodeParsingRulesId);
99243
- if (!(parseRuleProps === null || parseRuleProps === void 0 ? void 0 : parseRuleProps.parsingRuleId)) {
99244
- GctMessage.error("未配置解析规则,无法使用扫码功能");
99245
- return;
99246
- }
99247
- const scanRuleInfo = await getParseRuleInfo({ id: parseRuleProps.parsingRuleId });
99248
- if (!(scanRuleInfo === null || scanRuleInfo === void 0 ? void 0 : scanRuleInfo.rules_)) {
99249
- GctMessage.error("未配置解析规则,无法使用扫码功能");
99250
- return;
99251
- }
99252
99243
  scanningRegionIds.add(regionId);
99253
99244
  try {
99254
99245
  await triggerUtil.handle(modalEvent, {
99255
99246
  title: title || "操作",
99256
- onScan: async (input) => {
99257
- await onScan(input, {
99258
- parseRuleProps,
99259
- scanRuleInfo
99260
- });
99261
- }
99247
+ ...parseRuleProps ? { scanRules: parseRuleProps } : {},
99248
+ ...subModelKey ? { subModelKey } : {},
99249
+ ...mainModelKey ? { __mainModelKey: mainModelKey } : {},
99250
+ onScan
99262
99251
  });
99263
99252
  } finally {
99264
99253
  scanningRegionIds.delete(regionId);
@@ -99266,9 +99255,7 @@ async function openScanWithParseRule(options) {
99266
99255
  }
99267
99256
  var scanningRegionIds;
99268
99257
  var init_scan_action = __esmMin((() => {
99269
- init_base$2();
99270
99258
  init_utils$2();
99271
- init_label_parse_rule();
99272
99259
  init_TriggerUtil();
99273
99260
  scanningRegionIds = /* @__PURE__ */ new Set();
99274
99261
  }));
@@ -99497,7 +99484,17 @@ async function openWarehouseInventoryScan(options) {
99497
99484
  barcodeParsingRulesId: regionProps === null || regionProps === void 0 ? void 0 : regionProps.barcode_parsing_rules_id_,
99498
99485
  modalEvent: "OPEN_WAREHOUSE_INVENTORY_TABLE_SCAN_MODAL",
99499
99486
  title: subRenderer.tableName || "操作",
99500
- onScan: async (scanInput, { parseRuleProps, scanRuleInfo }) => {
99487
+ onScan: async (scanInput) => {
99488
+ const parseRuleProps = toParseRuleConfig$1(regionProps === null || regionProps === void 0 ? void 0 : regionProps.barcode_parsing_rules_id_);
99489
+ if (!(parseRuleProps === null || parseRuleProps === void 0 ? void 0 : parseRuleProps.parsingRuleId)) {
99490
+ GctMessage.error("未配置解析规则,无法使用扫码功能");
99491
+ return;
99492
+ }
99493
+ const scanRuleInfo = await getParseRuleInfo({ id: parseRuleProps.parsingRuleId });
99494
+ if (!(scanRuleInfo === null || scanRuleInfo === void 0 ? void 0 : scanRuleInfo.rules_)) {
99495
+ GctMessage.error("未配置解析规则,无法使用扫码功能");
99496
+ return;
99497
+ }
99501
99498
  await parseAndMergeScanRow(doc, subFieldKey, scanInput, scanRuleInfo.rules_, parseRuleProps);
99502
99499
  }
99503
99500
  });
@@ -99865,7 +99862,6 @@ var init_register_handlers$4 = __esmMin((() => {
99865
99862
  //#region src/domain/table/business/warehouse/warehouse-allocate/actions/scan.ts
99866
99863
  var init_scan$2 = __esmMin((() => {
99867
99864
  init_base$2();
99868
- init_label_parse_rule();
99869
99865
  init_data();
99870
99866
  init_api$1();
99871
99867
  init_form_value();
@@ -100655,17 +100651,155 @@ var init_register_handlers$1 = __esmMin((() => {
100655
100651
  }));
100656
100652
  //#endregion
100657
100653
  //#region src/domain/table/business/preprocess/pretreatment-list/actions/scan.ts
100654
+ /** 将生产标识记录映射为多选弹框行 */
100655
+ function toMultiRowsItem(record) {
100656
+ return {
100657
+ ...record,
100658
+ materialId: record.product_id_,
100659
+ productId: record.product_id_name_ ?? record.product_id_code_ ?? record.product_id_,
100660
+ materialNo: record.name_,
100661
+ productionIdentificationId: record.id_,
100662
+ productionIdentificationName: record.name_
100663
+ };
100664
+ }
100665
+ function isProductionLotOrSn(record) {
100666
+ const type = record.production_identification_type_;
100667
+ return type === "LOT" || type === "SN";
100668
+ }
100669
+ /** CommonScanModal 回传:{ str, parsedValue, transformedData } */
100670
+ function resolveParsed(input) {
100671
+ if (input.parsedValue && typeof input.parsedValue === "object") return input.parsedValue;
100672
+ }
100673
+ function resolveFillData(input) {
100674
+ if (input.transformedData && typeof input.transformedData === "object") return input.transformedData;
100675
+ return {};
100676
+ }
100677
+ /**
100678
+ * 按解析结果匹配下拉同源数据(生产标识:物料批次 / 生产批次 LOT·SN)
100679
+ * 支持批号 name_、物料编码 product_id_code_
100680
+ */
100681
+ async function fetchScanCandidates(parsed, api) {
100682
+ const typeQuery = buildLikeQuery([], "", {
100683
+ "production_identification_type_.in": [
100684
+ "MATERIAL",
100685
+ "LOT",
100686
+ "SN"
100687
+ ],
100688
+ "production_identification_type_.isNull": null
100689
+ }, { filterCombine: "or" });
100690
+ const exactQuery = {};
100691
+ const exactKeys = [];
100692
+ if (parsed.lot) {
100693
+ exactQuery.name_ = parsed.lot;
100694
+ exactKeys.push("name_");
100695
+ }
100696
+ if (parsed.materialCode) {
100697
+ exactQuery.product_id_code_ = parsed.materialCode;
100698
+ exactKeys.push("product_id_code_");
100699
+ }
100700
+ if (!exactKeys.length) return [];
100701
+ const queryData = {
100702
+ ...typeQuery.queryData,
100703
+ ...exactQuery
100704
+ };
100705
+ const nameExp = exactKeys.length <= 1 ? exactKeys[0] : `AND(${exactKeys.join(",")})`;
100706
+ return unwrapBizServiceList(await callBizService(api, {
100707
+ query: queryData,
100708
+ exp: typeQuery.exp && nameExp ? `AND(${nameExp},${typeQuery.exp})` : nameExp || typeQuery.exp
100709
+ }));
100710
+ }
100711
+ /** 多条候选 → 打开 multi-rows 弹框选一条 */
100712
+ async function pickOneRecord(records) {
100713
+ if (records.length === 1) return records[0];
100714
+ const res = await triggerUtil.handle("OPEN_PRETREATMENT_LIST_TABLE_MULTI_ROWS_MODAL", { rows: records.map(toMultiRowsItem) });
100715
+ if (!(res === null || res === void 0 ? void 0 : res.ok) || !res.data) return void 0;
100716
+ return res.data;
100717
+ }
100718
+ /** 生产批次/SN → 回填生产批次号字段,并互斥清空物料批号/工单 */
100719
+ function buildProductionContainerApply(record, rowPatch) {
100720
+ return {
100721
+ [F$2.productionContainer]: record.id_,
100722
+ [F$2.product]: record.product_id_,
100723
+ [F$2.productName]: record.product_id_name_,
100724
+ [F$2.productCode]: record.product_id_code_,
100725
+ [F$2.productSpec]: record.product_id_spec_,
100726
+ [F$2.mfgOrderCode]: record.mfg_order_code_,
100727
+ [F$2.qty]: record.qty_,
100728
+ [F$2.productionDate]: toDateOnly(record.real_start_date_),
100729
+ [F$2.materialContainer]: void 0,
100730
+ [MATERIAL_CONTAINER_ID]: void 0,
100731
+ [F$2.mfgOrder]: void 0,
100732
+ ...rowPatch
100733
+ };
100734
+ }
100735
+ /** 打开扫码弹窗并处理入行 */
100736
+ async function openPretreatmentListScan(options) {
100737
+ var _subRenderer$widgetMe;
100738
+ const { doc, subRenderer, subFieldKey, subModelKey } = options;
100739
+ const regionProps = (_subRenderer$widgetMe = subRenderer.widgetMeta) === null || _subRenderer$widgetMe === void 0 ? void 0 : _subRenderer$widgetMe.props;
100740
+ await openScanWithParseRule({
100741
+ regionId: subRenderer.id,
100742
+ barcodeParsingRulesId: regionProps === null || regionProps === void 0 ? void 0 : regionProps.barcode_parsing_rules_id_,
100743
+ modalEvent: "OPEN_PRETREATMENT_LIST_TABLE_SCAN_MODAL",
100744
+ title: subRenderer.tableName || "操作",
100745
+ subModelKey,
100746
+ mainModelKey: doc.mainModelKey,
100747
+ onScan: async (input) => {
100748
+ console.log("tangjian1111", input);
100749
+ const ctx = TableRuntimeContext.find(doc, subFieldKey);
100750
+ const remoteSync = ctx === null || ctx === void 0 ? void 0 : ctx.profile.remoteSync;
100751
+ if (!ctx || !remoteSync) return;
100752
+ const parsed = resolveParsed(input);
100753
+ if (!(parsed === null || parsed === void 0 ? void 0 : parsed.lot) && !(parsed === null || parsed === void 0 ? void 0 : parsed.materialCode)) {
100754
+ GctMessage.error(SCAN_NOT_FOUND_MSG);
100755
+ return;
100756
+ }
100757
+ const records = await fetchScanCandidates(parsed, remoteSync.api);
100758
+ if (!records.length) {
100759
+ GctMessage.error(SCAN_NOT_FOUND_MSG);
100760
+ return;
100761
+ }
100762
+ const selected = await pickOneRecord(records);
100763
+ if (!selected) return;
100764
+ const fillData = resolveFillData(input);
100765
+ const rowPatch = {
100766
+ ...parsed.qty != null ? { [F$2.qty]: parsed.qty } : {},
100767
+ ...fillData
100768
+ };
100769
+ const arrayPath = `$.${subFieldKey}`;
100770
+ const rowIndex = doc.dataManager.countActiveSubtableRows(arrayPath);
100771
+ doc.dataManager.insertAt(arrayPath, rowIndex, {});
100772
+ const remoteSyncEngine = new RemoteSyncEngine(doc);
100773
+ if (isProductionLotOrSn(selected)) {
100774
+ await remoteSyncEngine.applyToRow(ctx, rowIndex, remoteSync, buildProductionContainerApply(selected, rowPatch));
100775
+ return;
100776
+ }
100777
+ await remoteSyncEngine.applySyncResult(ctx, rowIndex, remoteSync, [selected], "", rowPatch);
100778
+ }
100779
+ });
100780
+ }
100781
+ var SCAN_NOT_FOUND_MSG;
100658
100782
  var init_scan$1 = __esmMin((() => {
100659
100783
  init_base$2();
100660
- init_label_parse_rule();
100784
+ init_form_value();
100661
100785
  init_remote_sync_engine();
100662
100786
  init_table_runtime_context();
100663
100787
  init_biz_service_api();
100664
100788
  init_quick_search();
100665
100789
  init_scan_action();
100790
+ init_TriggerUtil();
100791
+ init_field_keys$1();
100792
+ SCAN_NOT_FOUND_MSG = "扫描的批次/物料不存在";
100666
100793
  }));
100667
100794
  //#endregion
100668
100795
  //#region src/domain/table/business/preprocess/pretreatment-list/actions/change-parse-rule.ts
100796
+ /** 变更预处理表条码解析规则(填报态) */
100797
+ async function changePretreatmentListParseRule(options) {
100798
+ return changeBarcodeParseRule({
100799
+ ...options,
100800
+ modalEvent: "OPEN_PRETREATMENT_LIST_TABLE_PARSE_RULE_MODAL"
100801
+ });
100802
+ }
100669
100803
  var init_change_parse_rule$1 = __esmMin((() => {
100670
100804
  init_change_parse_rule$4();
100671
100805
  }));
@@ -100883,7 +101017,6 @@ var init_register_handlers = __esmMin((() => {
100883
101017
  //#region src/domain/table/business/sterilize/entrust-steril-batch-list/actions/scan.ts
100884
101018
  var init_scan = __esmMin((() => {
100885
101019
  init_base$2();
100886
- init_label_parse_rule();
100887
101020
  init_remote_sync_engine();
100888
101021
  init_table_runtime_context();
100889
101022
  init_biz_service_api();
@@ -125954,7 +126087,17 @@ var SingleTemplateStrategy = class extends DocRequestStrategy {
125954
126087
  requestInfo,
125955
126088
  fillModeType: this.payload.renderModeType || DocModeTypeConst.Fill,
125956
126089
  btnModelType: this.payload.renderModeType || DocModeTypeConst.Fill,
125957
- query: this.props.requestQuery ?? {}
126090
+ query: this.props.requestQuery ?? {},
126091
+ paramsConfig: {
126092
+ lotSnId: "h58a81Qq7xYRODPI",
126093
+ materialNo: "",
126094
+ mfgOrderId: "Tf4SXIWAWkXACeOQ",
126095
+ onlineFormOfflineVersion: null,
126096
+ onlineFormTmplCode: null,
126097
+ onlineFormTmplName: "业务表优化",
126098
+ onlineFormTmplVersion: "1",
126099
+ warehouseId: "sg9KZhzWPoHDC15I"
126100
+ }
125958
126101
  };
125959
126102
  }
125960
126103
  };
@@ -126169,7 +126312,8 @@ var init_useDependency = __esmMin((() => {
126169
126312
  //#endregion
126170
126313
  //#region src/domain/table/design/ribbon-options.ts
126171
126314
  /** 生成 Ribbon「数据表」「业务表」下拉选项 */
126172
- function getRibbonTableOptions() {
126315
+ function getRibbonTableOptions(params = {}) {
126316
+ const hidden = new Set(params.hiddenBusinessTableTypes ?? []);
126173
126317
  return {
126174
126318
  dataTables: [TABLE_HEADER_RIBBON_OPTION, ...getProfilesByCategory("data").map((profile) => ({
126175
126319
  value: profile.ribbonAction,
@@ -126179,12 +126323,12 @@ function getRibbonTableOptions() {
126179
126323
  businessTables: BUSINESS_RIBBON_GROUPS.map((group) => ({
126180
126324
  label: group.label,
126181
126325
  _showDivider: group.showDivider,
126182
- options: group.tableTypes.map((type) => getProfile(type)).filter((profile) => Boolean(profile)).map((profile) => ({
126326
+ options: group.tableTypes.filter((type) => !hidden.has(type)).map((type) => getProfile(type)).filter((profile) => Boolean(profile)).map((profile) => ({
126183
126327
  value: profile.ribbonAction,
126184
126328
  label: profile.label,
126185
126329
  disabled: profile.enabled === false
126186
126330
  }))
126187
- }))
126331
+ })).filter((group) => group.options.length > 0)
126188
126332
  };
126189
126333
  }
126190
126334
  var TABLE_HEADER_RIBBON_OPTION, BUSINESS_RIBBON_GROUPS;
@@ -136920,7 +137064,7 @@ var init_quick_fill_util = __esmMin((() => {
136920
137064
  }));
136921
137065
  //#endregion
136922
137066
  //#region src/runtime/canvas/table/render/table-structure-overlay/sub-table-action/repeating-table-action.vue?vue&type=script&setup=true&name=sub-table-action&lang.ts
136923
- var _hoisted_1$131, _hoisted_2$80, _hoisted_3$54, _hoisted_4$39, _hoisted_5$30, _hoisted_6$18, _hoisted_7$14, _hoisted_8$10, _hoisted_9$6, _hoisted_10$5, _hoisted_11$4, _hoisted_12$3, _hoisted_13$2, _hoisted_14$2, _hoisted_15$2, _hoisted_16$2, _hoisted_17$1, _hoisted_18$1, _hoisted_19, _hoisted_20, _hoisted_21, repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang_default;
137067
+ var _hoisted_1$131, _hoisted_2$80, _hoisted_3$54, _hoisted_4$39, _hoisted_5$30, _hoisted_6$18, _hoisted_7$14, _hoisted_8$10, _hoisted_9$6, _hoisted_10$5, _hoisted_11$4, _hoisted_12$3, _hoisted_13$2, _hoisted_14$2, _hoisted_15$2, _hoisted_16$2, _hoisted_17$1, _hoisted_18$1, _hoisted_19, _hoisted_20, _hoisted_21, _hoisted_22, _hoisted_23, repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang_default;
136924
137068
  var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang = __esmMin((() => {
136925
137069
  init_base$2();
136926
137070
  init_core$1();
@@ -136952,20 +137096,25 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
136952
137096
  };
136953
137097
  _hoisted_9$6 = { class: "item-icon" };
136954
137098
  _hoisted_10$5 = { class: "item-icon scale-large" };
136955
- _hoisted_11$4 = { class: "action-menu" };
136956
- _hoisted_12$3 = { class: "item-icon scale-large" };
136957
- _hoisted_13$2 = { class: "item-icon" };
136958
- _hoisted_14$2 = { class: "item-icon" };
136959
- _hoisted_15$2 = { class: "item-icon scale-large" };
136960
- _hoisted_16$2 = { class: "item-label flex-between-center" };
137099
+ _hoisted_11$4 = {
137100
+ key: 2,
137101
+ class: "action-menu"
137102
+ };
137103
+ _hoisted_12$3 = { class: "item-icon" };
137104
+ _hoisted_13$2 = { class: "action-menu" };
137105
+ _hoisted_14$2 = { class: "item-icon scale-large" };
137106
+ _hoisted_15$2 = { class: "item-icon" };
137107
+ _hoisted_16$2 = { class: "item-icon" };
136961
137108
  _hoisted_17$1 = { class: "item-icon scale-large" };
136962
137109
  _hoisted_18$1 = { class: "item-label flex-between-center" };
136963
- _hoisted_19 = {
136964
- key: 2,
137110
+ _hoisted_19 = { class: "item-icon scale-large" };
137111
+ _hoisted_20 = { class: "item-label flex-between-center" };
137112
+ _hoisted_21 = {
137113
+ key: 3,
136965
137114
  class: "action-menu"
136966
137115
  };
136967
- _hoisted_20 = { class: "item-icon" };
136968
- _hoisted_21 = { class: "more-btn" };
137116
+ _hoisted_22 = { class: "item-icon" };
137117
+ _hoisted_23 = { class: "more-btn" };
136969
137118
  repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang_default = /*@__PURE__*/ defineComponent({
136970
137119
  __name: "repeating-table-action",
136971
137120
  props: {
@@ -137034,9 +137183,9 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
137034
137183
  var _subRenderer$widgetMe, _visibleRows$index;
137035
137184
  const { subRenderer, subFieldKey, index } = getCtx();
137036
137185
  const visibleRows = getTableRows(subFieldKey, true);
137037
- const { isMaterialConsume, isWarehouseInventory, isWarehouseAllocate } = subTableType.value;
137186
+ const { isMaterialConsume, isWarehouseInventory, isWarehouseAllocate, isPretreatmentList } = subTableType.value;
137038
137187
  const canQuickFill = !!((_subRenderer$widgetMe = subRenderer.widgetMeta) === null || _subRenderer$widgetMe === void 0 || (_subRenderer$widgetMe = _subRenderer$widgetMe.props) === null || _subRenderer$widgetMe === void 0 ? void 0 : _subRenderer$widgetMe.quickFill);
137039
- const canCopy = !isWarehouseInventory && !isWarehouseAllocate;
137188
+ const canCopy = !isWarehouseInventory && !isWarehouseAllocate && !isPretreatmentList;
137040
137189
  const canInsertMulti = !isMaterialConsume;
137041
137190
  const canDelete = visibleRows.length > 1 && (isMaterialConsume ? props.isLastRow : true);
137042
137191
  const isConfirmed = !!((_visibleRows$index = visibleRows[index]) === null || _visibleRows$index === void 0 ? void 0 : _visibleRows$index.is_confirmed_);
@@ -137100,6 +137249,22 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
137100
137249
  subModelKey
137101
137250
  });
137102
137251
  };
137252
+ const handlePretreatmentListAction = async (val) => {
137253
+ const { doc } = props;
137254
+ const { subRenderer, valuePath, subFieldKey, subModelKey } = getCtx();
137255
+ if (!valuePath || !subFieldKey) return;
137256
+ if (val === "scan") openPretreatmentListScan({
137257
+ doc,
137258
+ subRenderer,
137259
+ subFieldKey,
137260
+ subModelKey
137261
+ });
137262
+ else if (val === "change-rule") await changePretreatmentListParseRule({
137263
+ doc,
137264
+ subRenderer,
137265
+ subModelKey
137266
+ });
137267
+ };
137103
137268
  /**
137104
137269
  * 行 增加前(插入、复制)校验
137105
137270
  */
@@ -137196,86 +137361,90 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
137196
137361
  }, {
137197
137362
  popper: withCtx(() => [createElementVNode("div", _hoisted_2$80, [
137198
137363
  subTableType.value.isMaterialConsume ? (openBlock(), createElementBlock("div", _hoisted_3$54, [
137199
- _cache[21] || (_cache[21] = createElementVNode("div", { class: "menu-title" }, "业务操作", -1)),
137364
+ _cache[22] || (_cache[22] = createElementVNode("div", { class: "menu-title" }, "业务操作", -1)),
137200
137365
  actionInfo.value.canEdit ? (openBlock(), createElementBlock("div", {
137201
137366
  key: 0,
137202
137367
  class: "menu-item",
137203
137368
  onClick: _cache[0] || (_cache[0] = ($event) => handleMaterialConsumeAction("edit-row"))
137204
- }, [createElementVNode("div", _hoisted_4$39, [createVNode(unref(icon_default), { icon: "icon-bianji" })]), _cache[17] || (_cache[17] = createElementVNode("div", { class: "item-label" }, "编辑行", -1))])) : createCommentVNode("", true),
137369
+ }, [createElementVNode("div", _hoisted_4$39, [createVNode(unref(icon_default), { icon: "icon-bianji" })]), _cache[18] || (_cache[18] = createElementVNode("div", { class: "item-label" }, "编辑行", -1))])) : createCommentVNode("", true),
137205
137370
  __props.isLastRow ? (openBlock(), createElementBlock("div", {
137206
137371
  key: 1,
137207
137372
  class: "menu-item",
137208
137373
  onClick: _cache[1] || (_cache[1] = ($event) => handleMaterialConsumeAction("scan"))
137209
- }, [createElementVNode("div", _hoisted_5$30, [createVNode(unref(icon_default), { icon: "icon-saoyisao" })]), _cache[18] || (_cache[18] = createElementVNode("div", { class: "item-label" }, "条码扫描", -1))])) : createCommentVNode("", true),
137374
+ }, [createElementVNode("div", _hoisted_5$30, [createVNode(unref(icon_default), { icon: "icon-saoyisao" })]), _cache[19] || (_cache[19] = createElementVNode("div", { class: "item-label" }, "条码扫描", -1))])) : createCommentVNode("", true),
137210
137375
  __props.isLastRow ? (openBlock(), createElementBlock("div", {
137211
137376
  key: 2,
137212
137377
  class: "menu-item",
137213
137378
  onClick: _cache[2] || (_cache[2] = ($event) => handleMaterialConsumeAction("view-bom"))
137214
- }, [createElementVNode("div", _hoisted_6$18, [createVNode(unref(icon_default), { icon: "icon-a-bom11" })]), _cache[19] || (_cache[19] = createElementVNode("div", { class: "item-label" }, "BOM", -1))])) : createCommentVNode("", true),
137379
+ }, [createElementVNode("div", _hoisted_6$18, [createVNode(unref(icon_default), { icon: "icon-a-bom11" })]), _cache[20] || (_cache[20] = createElementVNode("div", { class: "item-label" }, "BOM", -1))])) : createCommentVNode("", true),
137215
137380
  __props.isLastRow ? (openBlock(), createElementBlock("div", {
137216
137381
  key: 3,
137217
137382
  class: "menu-item",
137218
137383
  onClick: _cache[3] || (_cache[3] = ($event) => handleMaterialConsumeAction("change-rule"))
137219
- }, [createElementVNode("div", _hoisted_7$14, [createVNode(unref(icon_default), { icon: "icon-tiaomajiexi" })]), _cache[20] || (_cache[20] = createElementVNode("div", { class: "item-label" }, "条码解析规则变更", -1))])) : createCommentVNode("", true)
137384
+ }, [createElementVNode("div", _hoisted_7$14, [createVNode(unref(icon_default), { icon: "icon-tiaomajiexi" })]), _cache[21] || (_cache[21] = createElementVNode("div", { class: "item-label" }, "条码解析规则变更", -1))])) : createCommentVNode("", true)
137220
137385
  ])) : createCommentVNode("", true),
137221
137386
  subTableType.value.isWarehouseInventory ? (openBlock(), createElementBlock("div", _hoisted_8$10, [
137222
- _cache[24] || (_cache[24] = createElementVNode("div", { class: "menu-title" }, "业务操作", -1)),
137387
+ _cache[25] || (_cache[25] = createElementVNode("div", { class: "menu-title" }, "业务操作", -1)),
137223
137388
  createElementVNode("div", {
137224
137389
  class: "menu-item",
137225
137390
  onClick: _cache[4] || (_cache[4] = ($event) => handleWarehouseInventoryAction("scan"))
137226
- }, [createElementVNode("div", _hoisted_9$6, [createVNode(unref(icon_default), { icon: "icon-saoyisao" })]), _cache[22] || (_cache[22] = createElementVNode("div", { class: "item-label" }, " 条码扫描 ", -1))]),
137391
+ }, [createElementVNode("div", _hoisted_9$6, [createVNode(unref(icon_default), { icon: "icon-saoyisao" })]), _cache[23] || (_cache[23] = createElementVNode("div", { class: "item-label" }, " 条码扫描 ", -1))]),
137227
137392
  createElementVNode("div", {
137228
137393
  class: "menu-item",
137229
137394
  onClick: _cache[5] || (_cache[5] = ($event) => handleWarehouseInventoryAction("change-rule"))
137230
- }, [createElementVNode("div", _hoisted_10$5, [createVNode(unref(icon_default), { icon: "icon-tiaomajiexi" })]), _cache[23] || (_cache[23] = createElementVNode("div", { class: "item-label" }, " 条码解析规则变更 ", -1))])
137395
+ }, [createElementVNode("div", _hoisted_10$5, [createVNode(unref(icon_default), { icon: "icon-tiaomajiexi" })]), _cache[24] || (_cache[24] = createElementVNode("div", { class: "item-label" }, " 条码解析规则变更 ", -1))])
137231
137396
  ])) : createCommentVNode("", true),
137232
- createElementVNode("div", _hoisted_11$4, [
137397
+ subTableType.value.isPretreatmentList ? (openBlock(), createElementBlock("div", _hoisted_11$4, [_cache[27] || (_cache[27] = createElementVNode("div", { class: "menu-title" }, "业务操作", -1)), createElementVNode("div", {
137398
+ class: "menu-item",
137399
+ onClick: _cache[6] || (_cache[6] = ($event) => handlePretreatmentListAction("scan"))
137400
+ }, [createElementVNode("div", _hoisted_12$3, [createVNode(unref(icon_default), { icon: "icon-saoyisao" })]), _cache[26] || (_cache[26] = createElementVNode("div", { class: "item-label" }, " 条码扫描 ", -1))])])) : createCommentVNode("", true),
137401
+ createElementVNode("div", _hoisted_13$2, [
137233
137402
  actionInfo.value.canQuickFill ? (openBlock(), createElementBlock("div", {
137234
137403
  key: 0,
137235
137404
  class: "menu-item",
137236
- onClick: _cache[6] || (_cache[6] = ($event) => unref(handleOpenDynamicQuickFillModal)(props))
137237
- }, [createElementVNode("div", _hoisted_12$3, [createVNode(unref(icon_default), { icon: "icon-zhongxinbianjidangqianhang" })]), _cache[25] || (_cache[25] = createElementVNode("div", { class: "item-label" }, "快速填报", -1))])) : createCommentVNode("", true),
137238
- _cache[30] || (_cache[30] = createElementVNode("div", { class: "menu-title" }, "行编辑", -1)),
137405
+ onClick: _cache[7] || (_cache[7] = ($event) => unref(handleOpenDynamicQuickFillModal)(props))
137406
+ }, [createElementVNode("div", _hoisted_14$2, [createVNode(unref(icon_default), { icon: "icon-zhongxinbianjidangqianhang" })]), _cache[28] || (_cache[28] = createElementVNode("div", { class: "item-label" }, "快速填报", -1))])) : createCommentVNode("", true),
137407
+ _cache[33] || (_cache[33] = createElementVNode("div", { class: "menu-title" }, "行编辑", -1)),
137239
137408
  createElementVNode("div", {
137240
137409
  class: "menu-item",
137241
- onClick: _cache[7] || (_cache[7] = ($event) => handleAction("insertRowAfter"))
137242
- }, [createElementVNode("div", _hoisted_13$2, [createVNode(unref(icon_default), { icon: "icon-tianjia" })]), _cache[26] || (_cache[26] = createElementVNode("div", { class: "item-label" }, " 加一行 ", -1))]),
137410
+ onClick: _cache[8] || (_cache[8] = ($event) => handleAction("insertRowAfter"))
137411
+ }, [createElementVNode("div", _hoisted_15$2, [createVNode(unref(icon_default), { icon: "icon-tianjia" })]), _cache[29] || (_cache[29] = createElementVNode("div", { class: "item-label" }, " 加一行 ", -1))]),
137243
137412
  actionInfo.value.canCopy ? (openBlock(), createElementBlock("div", {
137244
137413
  key: 1,
137245
137414
  class: "menu-item",
137246
- onClick: _cache[8] || (_cache[8] = ($event) => handleAction("copyCurrentRow"))
137247
- }, [createElementVNode("div", _hoisted_14$2, [createVNode(unref(icon_default), { icon: "icon-fuzhihang" })]), _cache[27] || (_cache[27] = createElementVNode("div", { class: "item-label" }, " 复制行 ", -1))])) : createCommentVNode("", true),
137415
+ onClick: _cache[9] || (_cache[9] = ($event) => handleAction("copyCurrentRow"))
137416
+ }, [createElementVNode("div", _hoisted_16$2, [createVNode(unref(icon_default), { icon: "icon-fuzhihang" })]), _cache[30] || (_cache[30] = createElementVNode("div", { class: "item-label" }, " 复制行 ", -1))])) : createCommentVNode("", true),
137248
137417
  actionInfo.value.canInsertMulti ? (openBlock(), createElementBlock("div", {
137249
137418
  key: 2,
137250
137419
  class: "menu-item",
137251
- onClick: _cache[11] || (_cache[11] = ($event) => handleAction("insertRowBeforeMore"))
137252
- }, [createElementVNode("div", _hoisted_15$2, [createVNode(unref(icon_default), { icon: "icon-shangfangcharuhang" })]), createElementVNode("div", _hoisted_16$2, [_cache[28] || (_cache[28] = createElementVNode("div", null, " 在上方插入行 ", -1)), createVNode(unref(input_number_default), {
137420
+ onClick: _cache[12] || (_cache[12] = ($event) => handleAction("insertRowBeforeMore"))
137421
+ }, [createElementVNode("div", _hoisted_17$1, [createVNode(unref(icon_default), { icon: "icon-shangfangcharuhang" })]), createElementVNode("div", _hoisted_18$1, [_cache[31] || (_cache[31] = createElementVNode("div", null, " 在上方插入行 ", -1)), createVNode(unref(input_number_default), {
137253
137422
  modelValue: formState.upRowNum,
137254
- "onUpdate:modelValue": _cache[9] || (_cache[9] = ($event) => formState.upRowNum = $event),
137423
+ "onUpdate:modelValue": _cache[10] || (_cache[10] = ($event) => formState.upRowNum = $event),
137255
137424
  min: 1,
137256
137425
  integer: "",
137257
137426
  style: { "width": "68px" },
137258
- onClick: _cache[10] || (_cache[10] = withModifiers(() => {}, ["stop"]))
137427
+ onClick: _cache[11] || (_cache[11] = withModifiers(() => {}, ["stop"]))
137259
137428
  }, null, 8, ["modelValue"])])])) : createCommentVNode("", true),
137260
137429
  actionInfo.value.canInsertMulti ? (openBlock(), createElementBlock("div", {
137261
137430
  key: 3,
137262
137431
  class: "menu-item",
137263
- onClick: _cache[14] || (_cache[14] = ($event) => handleAction("insertRowAfterMore"))
137264
- }, [createElementVNode("div", _hoisted_17$1, [createVNode(unref(icon_default), { icon: "icon-xiafangcharuhang" })]), createElementVNode("div", _hoisted_18$1, [_cache[29] || (_cache[29] = createElementVNode("div", null, " 在下方插入行 ", -1)), createVNode(unref(input_number_default), {
137432
+ onClick: _cache[15] || (_cache[15] = ($event) => handleAction("insertRowAfterMore"))
137433
+ }, [createElementVNode("div", _hoisted_19, [createVNode(unref(icon_default), { icon: "icon-xiafangcharuhang" })]), createElementVNode("div", _hoisted_20, [_cache[32] || (_cache[32] = createElementVNode("div", null, " 在下方插入行 ", -1)), createVNode(unref(input_number_default), {
137265
137434
  modelValue: formState.downRowNum,
137266
- "onUpdate:modelValue": _cache[12] || (_cache[12] = ($event) => formState.downRowNum = $event),
137435
+ "onUpdate:modelValue": _cache[13] || (_cache[13] = ($event) => formState.downRowNum = $event),
137267
137436
  min: 1,
137268
137437
  integer: "",
137269
137438
  style: { "width": "68px" },
137270
- onClick: _cache[13] || (_cache[13] = withModifiers(() => {}, ["stop"]))
137439
+ onClick: _cache[14] || (_cache[14] = withModifiers(() => {}, ["stop"]))
137271
137440
  }, null, 8, ["modelValue"])])])) : createCommentVNode("", true)
137272
137441
  ]),
137273
- actionInfo.value.canDelete ? (openBlock(), createElementBlock("div", _hoisted_19, [createElementVNode("div", {
137442
+ actionInfo.value.canDelete ? (openBlock(), createElementBlock("div", _hoisted_21, [createElementVNode("div", {
137274
137443
  class: "menu-item",
137275
- onClick: _cache[15] || (_cache[15] = ($event) => handleAction("deleteRowCurrent"))
137276
- }, [createElementVNode("div", _hoisted_20, [createVNode(unref(icon_default), { icon: "icon-shanchu1" })]), _cache[31] || (_cache[31] = createElementVNode("div", { class: "item-label" }, " 删除行 ", -1))])])) : createCommentVNode("", true)
137444
+ onClick: _cache[16] || (_cache[16] = ($event) => handleAction("deleteRowCurrent"))
137445
+ }, [createElementVNode("div", _hoisted_22, [createVNode(unref(icon_default), { icon: "icon-shanchu1" })]), _cache[34] || (_cache[34] = createElementVNode("div", { class: "item-label" }, " 删除行 ", -1))])])) : createCommentVNode("", true)
137277
137446
  ])]),
137278
- default: withCtx(() => [createElementVNode("div", _hoisted_21, [createVNode(unref(icon_default), {
137447
+ default: withCtx(() => [createElementVNode("div", _hoisted_23, [createVNode(unref(icon_default), {
137279
137448
  icon: "icon-gengduo1",
137280
137449
  color: "#fff"
137281
137450
  })])]),
@@ -137283,7 +137452,7 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
137283
137452
  })), subTableType.value.isMaterialConsume && __props.isLastRow && actionInfo.value.canConfirm ? (openBlock(), createElementBlock("div", {
137284
137453
  key: 2,
137285
137454
  class: "confirm-btn",
137286
- onClick: _cache[16] || (_cache[16] = ($event) => handleMaterialConsumeAction("confirm"))
137455
+ onClick: _cache[17] || (_cache[17] = ($event) => handleMaterialConsumeAction("confirm"))
137287
137456
  }, [createVNode(unref(icon_default), {
137288
137457
  icon: "icon-tijiao1",
137289
137458
  color: "#4ec262"
@@ -140210,6 +140379,35 @@ var set_table_header_form_modal_vue_vue_type_script_setup_true_lang_default = /*
140210
140379
  init__plugin_vue_export_helper();
140211
140380
  var set_table_header_form_modal_default = /*#__PURE__*/ _plugin_vue_export_helper_default(set_table_header_form_modal_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-63b235d6"]]);
140212
140381
  //#endregion
140382
+ //#region src/suites/shared/suite-features.ts
140383
+ var DEFAULT_SUITE_FEATURES = {
140384
+ hiddenBusinessTableTypes: [],
140385
+ showRulePanel: true,
140386
+ showObjectInit: true,
140387
+ showDataLoad: true
140388
+ };
140389
+ var SUITE_FEATURES_MAP = { eqm: {
140390
+ hiddenBusinessTableTypes: [
140391
+ "warehouse-in",
140392
+ "warehouse-out",
140393
+ "warehouse-inventory",
140394
+ "warehouse-allocate",
140395
+ "material-consume",
140396
+ "material-balance",
140397
+ "entrust-steril-batch-list",
140398
+ "pretreatment-list",
140399
+ "check-table"
140400
+ ],
140401
+ showRulePanel: false,
140402
+ showObjectInit: false,
140403
+ showDataLoad: false
140404
+ } };
140405
+ /** 按套件 key 取可见性配置,未知套件回落默认 */
140406
+ function getSuiteFeatures(suiteKey) {
140407
+ if (!suiteKey) return DEFAULT_SUITE_FEATURES;
140408
+ return SUITE_FEATURES_MAP[suiteKey] ?? DEFAULT_SUITE_FEATURES;
140409
+ }
140410
+ //#endregion
140213
140411
  //#region src/assets/svgs/table/category/data-table.svg
140214
140412
  var data_table_default = "data:image/svg+xml,%3c?xml%20version='1.0'%20standalone='no'?%3e%3c!DOCTYPE%20svg%20PUBLIC%20'-//W3C//DTD%20SVG%201.1//EN'%20'http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd'%3e%3csvg%20t='1781603088074'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='73543'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='200'%20height='200'%3e%3cpath%20d='M667.9552%20867.84h185.1392V421.9904h-185.1392v445.8496z%20m-255.5904%200h199.3216V421.9904H412.3648v445.8496z%20m-241.4592%200h185.088V421.9904H170.9056v445.8496z%20m0-502.1184h682.1376V156.16H170.9056v209.5616zM909.3632%20885.76a38.4%2038.4%200%200%201-38.4%2038.4H153.088a38.4%2038.4%200%200%201-38.4-38.4V153.6c0-29.696%2024.064-53.76%2053.76-53.76H855.552c29.696%200%2053.76%2024.064%2053.76%2053.76v732.16z'%20fill='%23434855'%20p-id='73544'%3e%3c/path%3e%3cpath%20d='M854.1696%20616.96v56.32H170.8032v-56.32h683.3664z'%20fill='%23026AC8'%20p-id='73545'%3e%3c/path%3e%3c/svg%3e";
140215
140413
  //#endregion
@@ -140364,9 +140562,10 @@ var table_ribbon_group_vue_vue_type_script_setup_true_name_table_ribbon_group_la
140364
140562
  __name: "table-ribbon-group",
140365
140563
  setup(__props) {
140366
140564
  const { docInst } = useDocPubApiContext();
140565
+ const designCtx = useDesignSuiteContext();
140367
140566
  const { interaction } = useTableSelection();
140368
140567
  const { fields } = useModelData(toRef(docInst.value, "mainModelKey"));
140369
- const ribbonOptions = getRibbonTableOptions();
140568
+ const ribbonOptions = getRibbonTableOptions({ hiddenBusinessTableTypes: getSuiteFeatures(designCtx.suiteKey).hiddenBusinessTableTypes });
140370
140569
  const dataTableOptions = ribbonOptions.dataTables;
140371
140570
  const businessTableOptions = ribbonOptions.businessTables;
140372
140571
  const subTableRibbonActions = computed(() => {
@@ -140539,7 +140738,8 @@ var table_ribbon_group_vue_vue_type_script_setup_true_name_table_ribbon_group_la
140539
140738
  }, null, 8, ["name"])])]),
140540
140739
  _: 1
140541
140740
  }, 8, ["options"]),
140542
- createVNode(unref(dropdown_basic_select_default), {
140741
+ unref(businessTableOptions).length ? (openBlock(), createBlock(unref(dropdown_basic_select_default), {
140742
+ key: 0,
140543
140743
  class: "gct-dropdown-basic-select--icon",
140544
140744
  tooltip: "业务表",
140545
140745
  options: unref(businessTableOptions),
@@ -140560,7 +140760,7 @@ var table_ribbon_group_vue_vue_type_script_setup_true_name_table_ribbon_group_la
140560
140760
  type: "ribbonAction"
140561
140761
  }, null, 8, ["name"])])]),
140562
140762
  _: 1
140563
- }, 8, ["options"])
140763
+ }, 8, ["options"])) : createCommentVNode("", true)
140564
140764
  ]);
140565
140765
  };
140566
140766
  }
@@ -140568,7 +140768,7 @@ var table_ribbon_group_vue_vue_type_script_setup_true_name_table_ribbon_group_la
140568
140768
  //#endregion
140569
140769
  //#region src/runtime/designer/ribbon/components/table-ribbon-group.vue
140570
140770
  init__plugin_vue_export_helper();
140571
- var table_ribbon_group_default = /*#__PURE__*/ _plugin_vue_export_helper_default(table_ribbon_group_vue_vue_type_script_setup_true_name_table_ribbon_group_lang_default, [["__scopeId", "data-v-d0d6afad"]]);
140771
+ var table_ribbon_group_default = /*#__PURE__*/ _plugin_vue_export_helper_default(table_ribbon_group_vue_vue_type_script_setup_true_name_table_ribbon_group_lang_default, [["__scopeId", "data-v-455cd860"]]);
140572
140772
  //#endregion
140573
140773
  //#region src/runtime/designer/ribbon/constant/font.ts
140574
140774
  /** 字重 */
@@ -141584,7 +141784,9 @@ var toolkit_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
141584
141784
  __name: "toolkit",
141585
141785
  setup(__props) {
141586
141786
  const { docInst } = useDocPubApiContext();
141787
+ const designCtx = useDesignSuiteContext();
141587
141788
  const interCtx = useInteractionContext();
141789
+ const suiteFeatures = getSuiteFeatures(designCtx.suiteKey);
141588
141790
  const fieldToolkitRef = ref();
141589
141791
  const widgetToolkitRef = ref();
141590
141792
  const activeToolkit = ref(null);
@@ -141669,7 +141871,8 @@ var toolkit_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
141669
141871
  onClose: _cache[4] || (_cache[4] = ($event) => handleToolkitClose("data-init")),
141670
141872
  onVisibleChange: _cache[5] || (_cache[5] = ($event) => handleVisibleChange("data-init", $event))
141671
141873
  }, null, 8, ["active"]),
141672
- createVNode(toolkit_item_default, {
141874
+ unref(suiteFeatures).showRulePanel ? (openBlock(), createBlock(toolkit_item_default, {
141875
+ key: 0,
141673
141876
  noDropdown: "",
141674
141877
  icon: "rule",
141675
141878
  label: "规则",
@@ -141677,7 +141880,7 @@ var toolkit_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
141677
141880
  active: activePanelToolkit.value === "rule",
141678
141881
  onClose: _cache[6] || (_cache[6] = ($event) => handleToolkitClose("rule")),
141679
141882
  onVisibleChange: _cache[7] || (_cache[7] = ($event) => handleVisibleChange("rule", $event))
141680
- }, null, 8, ["active"])
141883
+ }, null, 8, ["active"])) : createCommentVNode("", true)
141681
141884
  ]);
141682
141885
  };
141683
141886
  }
@@ -141685,7 +141888,7 @@ var toolkit_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineCo
141685
141888
  //#endregion
141686
141889
  //#region src/runtime/designer/toolkit/toolkit.vue
141687
141890
  init__plugin_vue_export_helper();
141688
- var toolkit_default = /*#__PURE__*/ _plugin_vue_export_helper_default(toolkit_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-f9443079"]]);
141891
+ var toolkit_default = /*#__PURE__*/ _plugin_vue_export_helper_default(toolkit_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-bf7d3bfc"]]);
141689
141892
  //#endregion
141690
141893
  //#region src/runtime/designer/panel/panel-nav.ts
141691
141894
  /** 面包屑点击后保持当前 panel,不做跳转 */
@@ -154384,6 +154587,7 @@ var DataInitPanel_vue_vue_type_script_setup_true_name_panel_data_init_lang_defau
154384
154587
  setup(__props) {
154385
154588
  const { docInst } = useDocPubApiContext();
154386
154589
  const designCtx = useDesignSuiteContext();
154590
+ const suiteFeatures = getSuiteFeatures(designCtx.suiteKey);
154387
154591
  const modelList = ref([]);
154388
154592
  const dbList = ref([]);
154389
154593
  const ipaasList = ref([]);
@@ -154660,7 +154864,8 @@ var DataInitPanel_vue_vue_type_script_setup_true_name_panel_data_init_lang_defau
154660
154864
  })])]),
154661
154865
  _: 1
154662
154866
  }),
154663
- createVNode(unref(collapse_default), {
154867
+ unref(suiteFeatures).showObjectInit ? (openBlock(), createBlock(unref(collapse_default), {
154868
+ key: 0,
154664
154869
  class: "panel-collapse",
154665
154870
  title: "对象初始化"
154666
154871
  }, {
@@ -154669,9 +154874,9 @@ var DataInitPanel_vue_vue_type_script_setup_true_name_panel_data_init_lang_defau
154669
154874
  onChange: handleObjectListChange
154670
154875
  }, null, 8, ["list"])])]),
154671
154876
  _: 1
154672
- }),
154673
- dataLoadPanel.value ? (openBlock(), createBlock(unref(collapse_default), {
154674
- key: 0,
154877
+ })) : createCommentVNode("", true),
154878
+ unref(suiteFeatures).showDataLoad && dataLoadPanel.value ? (openBlock(), createBlock(unref(collapse_default), {
154879
+ key: 1,
154675
154880
  class: "panel-collapse",
154676
154881
  title: "数据加载"
154677
154882
  }, {
@@ -154690,7 +154895,7 @@ init__plugin_vue_export_helper();
154690
154895
  var schema$5 = {
154691
154896
  key: "data-init.basic",
154692
154897
  title: "数据",
154693
- render: /* @__PURE__ */ _plugin_vue_export_helper_default(DataInitPanel_vue_vue_type_script_setup_true_name_panel_data_init_lang_default, [["__scopeId", "data-v-6415a3a8"]])
154898
+ render: /* @__PURE__ */ _plugin_vue_export_helper_default(DataInitPanel_vue_vue_type_script_setup_true_name_panel_data_init_lang_default, [["__scopeId", "data-v-9d28e8b9"]])
154694
154899
  };
154695
154900
  //#endregion
154696
154901
  //#region src/suites/shared/panel/config/editor/ref-autofill-editor/field-tree-node.vue?vue&type=script&setup=true&lang.ts
@@ -164625,7 +164830,10 @@ init_registry$3();
164625
164830
  init_registry$2();
164626
164831
  init_registry$1();
164627
164832
  var SUITE_KEY = "eqm";
164628
- /** 当前复用 edhr 全套能力,后续 eqm 差异化时再拆分 */
164833
+ /**
164834
+ * 当前复用 edhr 能力;可见性差异见 `suites/shared/suite-features.ts`。
164835
+ * 后续将新增备件入库表、备件出库表、备件消耗表。
164836
+ */
164629
164837
  function installEqmSuite() {
164630
164838
  FieldEngine.bootstrap({
164631
164839
  suiteKey: SUITE_KEY,
@@ -0,0 +1,17 @@
1
+ import { BusinessSubTableType } from '../../domain/table/types';
2
+ /**
3
+ * 套件级 UI / 能力可见性
4
+ * 默认全开;各套件按需覆盖。
5
+ */
6
+ export interface SuiteFeatures {
7
+ /** Ribbon「业务表」中隐藏的表类型 */
8
+ hiddenBusinessTableTypes: BusinessSubTableType[];
9
+ /** 设计态左侧 toolkit「规则」入口 */
10
+ showRulePanel: boolean;
11
+ /** 数据面板「对象初始化」区块 */
12
+ showObjectInit: boolean;
13
+ /** 数据面板「数据加载」区块 */
14
+ showDataLoad: boolean;
15
+ }
16
+ /** 按套件 key 取可见性配置,未知套件回落默认 */
17
+ export declare function getSuiteFeatures(suiteKey?: string): SuiteFeatures;
@@ -1,4 +1,4 @@
1
- export type TriggerName = 'OPEN_COMMON_CONFIRM_MODAL' | 'OPEN_DOC_SIGNATURE_RULE_CONFIG_MODAL' | 'OPEN_DATA_INIT_DATASOURCE_FORM_MODEL_MODAL' | 'OPEN_DATA_INIT_DATASOURCE_INPUT_PARAMS_MODAL' | 'OPEN_DATA_INIT_DATASOURCE_OUTPUT_PARAMS_MODAL' | 'OPEN_DATA_INIT_OBJ_INIT_EDIT_MODEL' | 'OPEN_FIELD_HYPERLINK_MODAL' | 'OPEN_FIELD_ONLINE_FORM_TMPL_MODAL' | 'OPEN_DISPLAY_FIELDS_TRANSFER_MODAL' | 'OPEN_QUICK_FILL_MODAL' | 'OPEN_CHECK_TABLE_DS_MODAL' | 'OPEN_MATERIAL_CONSUME_TABLE_PARSE_RULE_MODAL' | 'OPEN_MATERIAL_CONSUME_TABLE_ADD_MATERIAL_MODAL' | 'OPEN_MATERIAL_CONSUME_TABLE_SCAN_MODAL' | 'OPEN_MATERIAL_CONSUME_TABLE_BOM_MODAL' | 'OPEN_WAREHOUSE_INVENTORY_TABLE_SCAN_MODAL' | 'OPEN_WAREHOUSE_INVENTORY_TABLE_PARSE_RULE_MODAL' | 'OPEN_WAREHOUSE_ALLOCATE_TABLE_SCAN_MODAL' | 'OPEN_WAREHOUSE_ALLOCATE_TABLE_PARSE_RULE_MODAL' | 'OPEN_ENTRUST_STERIL_BATCH_LIST_TABLE_SCAN_MODAL' | 'OPEN_ENTRUST_STERIL_BATCH_LIST_TABLE_PARSE_RULE_MODAL' | 'OPEN_PRETREATMENT_LIST_TABLE_SCAN_MODAL' | 'OPEN_PRETREATMENT_LIST_TABLE_PARSE_RULE_MODAL' | 'OPEN_E_SOP_VIEW_MODAL' | 'OPEN_FORMULA_EDITOR_MODAL';
1
+ export type TriggerName = 'OPEN_COMMON_CONFIRM_MODAL' | 'OPEN_DOC_SIGNATURE_RULE_CONFIG_MODAL' | 'OPEN_DATA_INIT_DATASOURCE_FORM_MODEL_MODAL' | 'OPEN_DATA_INIT_DATASOURCE_INPUT_PARAMS_MODAL' | 'OPEN_DATA_INIT_DATASOURCE_OUTPUT_PARAMS_MODAL' | 'OPEN_DATA_INIT_OBJ_INIT_EDIT_MODEL' | 'OPEN_FIELD_HYPERLINK_MODAL' | 'OPEN_FIELD_ONLINE_FORM_TMPL_MODAL' | 'OPEN_DISPLAY_FIELDS_TRANSFER_MODAL' | 'OPEN_QUICK_FILL_MODAL' | 'OPEN_CHECK_TABLE_DS_MODAL' | 'OPEN_MATERIAL_CONSUME_TABLE_PARSE_RULE_MODAL' | 'OPEN_MATERIAL_CONSUME_TABLE_ADD_MATERIAL_MODAL' | 'OPEN_MATERIAL_CONSUME_TABLE_SCAN_MODAL' | 'OPEN_MATERIAL_CONSUME_TABLE_BOM_MODAL' | 'OPEN_WAREHOUSE_INVENTORY_TABLE_SCAN_MODAL' | 'OPEN_WAREHOUSE_INVENTORY_TABLE_PARSE_RULE_MODAL' | 'OPEN_WAREHOUSE_ALLOCATE_TABLE_SCAN_MODAL' | 'OPEN_WAREHOUSE_ALLOCATE_TABLE_PARSE_RULE_MODAL' | 'OPEN_ENTRUST_STERIL_BATCH_LIST_TABLE_SCAN_MODAL' | 'OPEN_ENTRUST_STERIL_BATCH_LIST_TABLE_PARSE_RULE_MODAL' | 'OPEN_PRETREATMENT_LIST_TABLE_SCAN_MODAL' | 'OPEN_PRETREATMENT_LIST_TABLE_MULTI_ROWS_MODAL' | 'OPEN_PRETREATMENT_LIST_TABLE_PARSE_RULE_MODAL' | 'OPEN_E_SOP_VIEW_MODAL' | 'OPEN_FORMULA_EDITOR_MODAL';
2
2
  export type TriggerHandler = (name: TriggerName, options?: any) => Promise<any>;
3
3
  interface TriggerUtilHandlers {
4
4
  handle?: TriggerHandler;
package/dist/word.css CHANGED
@@ -10258,13 +10258,13 @@ textarea[data-v-3889688c]::placeholder {
10258
10258
  vertical-align: middle;
10259
10259
  flex-shrink: 0;
10260
10260
  }
10261
- .ribbon-tab-item[data-v-d0d6afad] {
10261
+ .ribbon-tab-item[data-v-455cd860] {
10262
10262
  display: inline-flex;
10263
10263
  flex-shrink: 0;
10264
10264
  align-items: center;
10265
10265
  gap: 6px;
10266
10266
  }
10267
- .split-divider[data-v-d0d6afad] {
10267
+ .split-divider[data-v-455cd860] {
10268
10268
  display: inline-block;
10269
10269
  flex-shrink: 0;
10270
10270
  width: 1px;
@@ -10272,7 +10272,7 @@ textarea[data-v-3889688c]::placeholder {
10272
10272
  margin: 0 6px;
10273
10273
  background-color: rgba(13, 13, 13, 0.12);
10274
10274
  }
10275
- .option-svg-icon[data-v-d0d6afad] {
10275
+ .option-svg-icon[data-v-455cd860] {
10276
10276
  display: inline-flex;
10277
10277
  flex-shrink: 0;
10278
10278
  width: 16px;
@@ -10576,22 +10576,22 @@ ul li[data-v-393cb2aa] {
10576
10576
  ul li .widget-icon[data-v-393cb2aa] {
10577
10577
  margin-right: 6px;
10578
10578
  }
10579
- .designer_toolkit-wrapper[data-v-f9443079] {
10579
+ .designer_toolkit-wrapper[data-v-bf7d3bfc] {
10580
+ display: flex;
10580
10581
  position: relative;
10581
- background: #fff;
10582
+ flex-direction: column;
10582
10583
  width: 48px;
10583
10584
  height: 100%;
10584
- display: flex;
10585
- flex-direction: column;
10586
10585
  overflow: hidden;
10586
+ background: #fff;
10587
10587
  }
10588
- .designer_toolkit-wrapper[data-v-f9443079]::after {
10588
+ .designer_toolkit-wrapper[data-v-bf7d3bfc]::after {
10589
10589
  content: '';
10590
10590
  position: absolute;
10591
+ right: 0;
10591
10592
  width: 1px;
10592
10593
  height: 100%;
10593
10594
  background-color: #e0e3eb;
10594
- right: 0;
10595
10595
  }
10596
10596
  .panel-breadcrumb-separator[data-v-46228402] {
10597
10597
  display: block;
@@ -12265,15 +12265,15 @@ svg.portrait-icon[data-v-8bdb451e] {
12265
12265
  .object-item .item-button[data-v-c8f4ed0b] {
12266
12266
  margin-top: 8px;
12267
12267
  }
12268
- .panel-data-init[data-v-6415a3a8] {
12268
+ .panel-data-init[data-v-9d28e8b9] {
12269
12269
  height: 100%;
12270
12270
  background-color: #fff;
12271
12271
  }
12272
- .panel-data-init .collapse-inner[data-v-6415a3a8] {
12272
+ .panel-data-init .collapse-inner[data-v-9d28e8b9] {
12273
12273
  position: relative;
12274
12274
  padding: 16px;
12275
12275
  }
12276
- .panel-data-init .param-area .param-item[data-v-6415a3a8] {
12276
+ .panel-data-init .param-area .param-item[data-v-9d28e8b9] {
12277
12277
  position: relative;
12278
12278
  margin-bottom: 8px;
12279
12279
  padding: 8px;
@@ -12281,16 +12281,16 @@ svg.portrait-icon[data-v-8bdb451e] {
12281
12281
  border-radius: 4px;
12282
12282
  background: #fcfcfc;
12283
12283
  }
12284
- .panel-data-init .param-area .param-item[data-v-6415a3a8]:last-of-type {
12284
+ .panel-data-init .param-area .param-item[data-v-9d28e8b9]:last-of-type {
12285
12285
  margin-bottom: 16px;
12286
12286
  }
12287
- .panel-data-init .data-source-area[data-v-6415a3a8] .data-source-item.is-last .data-source-field-map-wrapper.is-last .line {
12287
+ .panel-data-init .data-source-area[data-v-9d28e8b9] .data-source-item.is-last .data-source-field-map-wrapper.is-last .line {
12288
12288
  display: none;
12289
12289
  }
12290
- .panel-data-init .data-source-area[data-v-6415a3a8] .data-source-item.is-last .data-source-title.is-child.is-last .line::after {
12290
+ .panel-data-init .data-source-area[data-v-9d28e8b9] .data-source-item.is-last .data-source-title.is-child.is-last .line::after {
12291
12291
  display: none;
12292
12292
  }
12293
- .panel-data-init .data-load-area[data-v-6415a3a8] {
12293
+ .panel-data-init .data-load-area[data-v-9d28e8b9] {
12294
12294
  background: #f7f8fa;
12295
12295
  padding: 0;
12296
12296
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gct-paas/word",
3
- "version": "0.1.74-beta.7",
3
+ "version": "0.1.74-beta.9",
4
4
  "description": "GCT 在线 word",
5
5
  "keywords": [
6
6
  "vue",