@gct-paas/word 0.1.74-beta.46 → 0.1.74-beta.47

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.
@@ -460,6 +460,8 @@ export interface ImplicitFieldDef {
460
460
  export type RuleTrigger = 'always' | 'onRowInit' | 'onFieldChange' | 'onRowConfirm';
461
461
  /** 规则 / 级联执行上下文 */
462
462
  export interface RuleContext {
463
+ /** 当前文档是否为模拟填报 */
464
+ isMockReport: boolean;
463
465
  /** 子表在 rawData 中的 fieldKey */
464
466
  subFieldKey: string;
465
467
  /** 业务子模型 refModelType */
package/dist/index.es.js CHANGED
@@ -1,4 +1,4 @@
1
- /*! @gct-paas/word v0.1.74-beta.46 */
1
+ /*! @gct-paas/word v0.1.74-beta.47 */
2
2
  import { Fragment, Suspense, Teleport, Transition, TransitionGroup, cloneVNode, computed, createApp, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createStaticVNode, createTextVNode, createVNode, defineAsyncComponent, defineComponent, effectScope, 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, toHandlers, toRaw, toRef, toValue, unref, useAttrs, useCssVars, useModel, useSlots, vModelRadio, vModelText, vShow, watch, watchEffect, withCtx, withDirectives, withKeys, withModifiers } from "vue";
3
3
  import St, { PopperWrapper } from "floating-vue";
4
4
  import VueKonva from "vue-konva";
@@ -937,7 +937,7 @@ var init_time = __esmMin((() => {
937
937
  }));
938
938
  //#endregion
939
939
  //#region src/base/calendar/src/calendar.vue?vue&type=script&setup=true&name=calendar&lang.ts
940
- var _hoisted_1$186, _hoisted_2$120, _hoisted_3$90, _hoisted_4$64, _hoisted_5$52, _hoisted_6$36, _hoisted_7$30, _hoisted_8$23, _hoisted_9$17, _hoisted_10$14, _hoisted_11$11, _hoisted_12$9, calendar_vue_vue_type_script_setup_true_name_calendar_lang_default;
940
+ var _hoisted_1$186, _hoisted_2$120, _hoisted_3$90, _hoisted_4$64, _hoisted_5$52, _hoisted_6$37, _hoisted_7$30, _hoisted_8$23, _hoisted_9$17, _hoisted_10$14, _hoisted_11$11, _hoisted_12$9, calendar_vue_vue_type_script_setup_true_name_calendar_lang_default;
941
941
  var init_calendar_vue_vue_type_script_setup_true_name_calendar_lang = __esmMin((() => {
942
942
  init_base$2();
943
943
  init_time();
@@ -947,7 +947,7 @@ var init_calendar_vue_vue_type_script_setup_true_name_calendar_lang = __esmMin((
947
947
  _hoisted_3$90 = { class: "gct-dtp-header" };
948
948
  _hoisted_4$64 = { class: "text" };
949
949
  _hoisted_5$52 = { class: "gct-dtp-head" };
950
- _hoisted_6$36 = { class: "gct-dtp-rows-wrapper" };
950
+ _hoisted_6$37 = { class: "gct-dtp-rows-wrapper" };
951
951
  _hoisted_7$30 = ["onClick"];
952
952
  _hoisted_8$23 = { class: "dtp-day-label" };
953
953
  _hoisted_9$17 = {
@@ -1123,7 +1123,7 @@ var init_calendar_vue_vue_type_script_setup_true_name_calendar_lang = __esmMin((
1123
1123
  key: d
1124
1124
  }, toDisplayString(d), 1);
1125
1125
  }), 128))]),
1126
- createElementVNode("div", _hoisted_6$36, [createVNode(Transition, {
1126
+ createElementVNode("div", _hoisted_6$37, [createVNode(Transition, {
1127
1127
  name: transitionName.value,
1128
1128
  mode: "out-in"
1129
1129
  }, {
@@ -1405,7 +1405,7 @@ var init_dropdown$1 = __esmMin((() => {
1405
1405
  }));
1406
1406
  //#endregion
1407
1407
  //#region src/base/dropdown/src/dropdown-basic-select.vue?vue&type=script&setup=true&name=dropdown-basic-select&lang.ts
1408
- var _hoisted_1$183, _hoisted_2$118, _hoisted_3$88, _hoisted_4$63, _hoisted_5$51, _hoisted_6$35, _hoisted_7$29, _hoisted_8$22, _hoisted_9$16, _hoisted_10$13, dropdown_basic_select_vue_vue_type_script_setup_true_name_dropdown_basic_select_lang_default;
1408
+ var _hoisted_1$183, _hoisted_2$118, _hoisted_3$88, _hoisted_4$63, _hoisted_5$51, _hoisted_6$36, _hoisted_7$29, _hoisted_8$22, _hoisted_9$16, _hoisted_10$13, dropdown_basic_select_vue_vue_type_script_setup_true_name_dropdown_basic_select_lang_default;
1409
1409
  var init_dropdown_basic_select_vue_vue_type_script_setup_true_name_dropdown_basic_select_lang = __esmMin((() => {
1410
1410
  init_dropdown$1();
1411
1411
  init_base$2();
@@ -1417,7 +1417,7 @@ var init_dropdown_basic_select_vue_vue_type_script_setup_true_name_dropdown_basi
1417
1417
  };
1418
1418
  _hoisted_4$63 = ["onClick"];
1419
1419
  _hoisted_5$51 = { class: "option-label" };
1420
- _hoisted_6$35 = { class: "option-right" };
1420
+ _hoisted_6$36 = { class: "option-right" };
1421
1421
  _hoisted_7$29 = {
1422
1422
  key: 1,
1423
1423
  class: "divider"
@@ -1546,7 +1546,7 @@ var init_dropdown_basic_select_vue_vue_type_script_setup_true_name_dropdown_basi
1546
1546
  default: withCtx(() => [createElementVNode("span", _hoisted_5$51, toDisplayString(item.label), 1)]),
1547
1547
  _: 2
1548
1548
  }, 1032, ["disabled"]),
1549
- createElementVNode("div", _hoisted_6$35, [withDirectives(createVNode(unref(icon_default), {
1549
+ createElementVNode("div", _hoisted_6$36, [withDirectives(createVNode(unref(icon_default), {
1550
1550
  class: "edit-icon",
1551
1551
  icon: "icon-sheji-2",
1552
1552
  version: "v1",
@@ -1899,7 +1899,7 @@ var init_icon = __esmMin((() => {
1899
1899
  }));
1900
1900
  //#endregion
1901
1901
  //#region src/base/image-upload/src/image-upload.vue?vue&type=script&setup=true&lang.ts
1902
- var _hoisted_1$179, _hoisted_2$114, _hoisted_3$84, _hoisted_4$62, _hoisted_5$50, _hoisted_6$34, _hoisted_7$28, image_upload_vue_vue_type_script_setup_true_lang_default;
1902
+ var _hoisted_1$179, _hoisted_2$114, _hoisted_3$84, _hoisted_4$62, _hoisted_5$50, _hoisted_6$35, _hoisted_7$28, image_upload_vue_vue_type_script_setup_true_lang_default;
1903
1903
  var init_image_upload_vue_vue_type_script_setup_true_lang = __esmMin((() => {
1904
1904
  init_base$2();
1905
1905
  _hoisted_1$179 = {
@@ -1913,7 +1913,7 @@ var init_image_upload_vue_vue_type_script_setup_true_lang = __esmMin((() => {
1913
1913
  key: 2,
1914
1914
  class: "upload-loading"
1915
1915
  };
1916
- _hoisted_6$34 = ["accept"];
1916
+ _hoisted_6$35 = ["accept"];
1917
1917
  _hoisted_7$28 = ["src"];
1918
1918
  image_upload_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
1919
1919
  __name: "image-upload",
@@ -2001,7 +2001,7 @@ var init_image_upload_vue_vue_type_script_setup_true_lang = __esmMin((() => {
2001
2001
  class: "gct-upload-hidden-input",
2002
2002
  accept: __props.accept,
2003
2003
  onChange: handleChange
2004
- }, null, 40, _hoisted_6$34),
2004
+ }, null, 40, _hoisted_6$35),
2005
2005
  previewUrl.value ? (openBlock(), createElementBlock("div", {
2006
2006
  key: 0,
2007
2007
  class: "preview-mask",
@@ -2032,7 +2032,7 @@ var init_image_upload = __esmMin((() => {
2032
2032
  }));
2033
2033
  //#endregion
2034
2034
  //#region src/base/input/src/input.vue?vue&type=script&setup=true&lang.ts
2035
- var _hoisted_1$178, _hoisted_2$113, _hoisted_3$83, _hoisted_4$61, _hoisted_5$49, _hoisted_6$33, _hoisted_7$27, input_vue_vue_type_script_setup_true_lang_default;
2035
+ var _hoisted_1$178, _hoisted_2$113, _hoisted_3$83, _hoisted_4$61, _hoisted_5$49, _hoisted_6$34, _hoisted_7$27, input_vue_vue_type_script_setup_true_lang_default;
2036
2036
  var init_input_vue_vue_type_script_setup_true_lang = __esmMin((() => {
2037
2037
  init_base$2();
2038
2038
  _hoisted_1$178 = {
@@ -2061,7 +2061,7 @@ var init_input_vue_vue_type_script_setup_true_lang = __esmMin((() => {
2061
2061
  class: "gct-input-count"
2062
2062
  };
2063
2063
  _hoisted_5$49 = { key: 0 };
2064
- _hoisted_6$33 = {
2064
+ _hoisted_6$34 = {
2065
2065
  key: 3,
2066
2066
  class: "gct-input-suffix"
2067
2067
  };
@@ -2278,7 +2278,7 @@ var init_input_vue_vue_type_script_setup_true_lang = __esmMin((() => {
2278
2278
  size: "14"
2279
2279
  })]))])) : createCommentVNode("", true),
2280
2280
  props.showCount ? (openBlock(), createElementBlock("span", _hoisted_4$61, [createTextVNode(toDisplayString(countValue.value), 1), props.maxLength ? (openBlock(), createElementBlock("span", _hoisted_5$49, " / " + toDisplayString(props.maxLength), 1)) : createCommentVNode("", true)])) : createCommentVNode("", true),
2281
- props.suffix ? (openBlock(), createElementBlock("span", _hoisted_6$33, [createElementVNode("span", _hoisted_7$27, toDisplayString(__props.suffix), 1)])) : createCommentVNode("", true)
2281
+ props.suffix ? (openBlock(), createElementBlock("span", _hoisted_6$34, [createElementVNode("span", _hoisted_7$27, toDisplayString(__props.suffix), 1)])) : createCommentVNode("", true)
2282
2282
  ], 2)], 6);
2283
2283
  };
2284
2284
  }
@@ -5116,7 +5116,7 @@ var init_segment_slider = __esmMin((() => {
5116
5116
  }));
5117
5117
  //#endregion
5118
5118
  //#region src/base/select/src/basic-select.vue?vue&type=script&setup=true&name=dropdown-basic-select&lang.ts
5119
- var _hoisted_1$167, _hoisted_2$106, _hoisted_3$76, _hoisted_4$58, _hoisted_5$47, _hoisted_6$32, _hoisted_7$26, _hoisted_8$21, _hoisted_9$15, _hoisted_10$12, _hoisted_11$10, _hoisted_12$8, basic_select_vue_vue_type_script_setup_true_name_dropdown_basic_select_lang_default;
5119
+ var _hoisted_1$167, _hoisted_2$106, _hoisted_3$76, _hoisted_4$58, _hoisted_5$47, _hoisted_6$33, _hoisted_7$26, _hoisted_8$21, _hoisted_9$15, _hoisted_10$12, _hoisted_11$10, _hoisted_12$8, basic_select_vue_vue_type_script_setup_true_name_dropdown_basic_select_lang_default;
5120
5120
  var init_basic_select_vue_vue_type_script_setup_true_name_dropdown_basic_select_lang = __esmMin((() => {
5121
5121
  init_base$2();
5122
5122
  _hoisted_1$167 = { class: "popper-container" };
@@ -5127,7 +5127,7 @@ var init_basic_select_vue_vue_type_script_setup_true_name_dropdown_basic_select_
5127
5127
  key: 2,
5128
5128
  class: "empty"
5129
5129
  };
5130
- _hoisted_6$32 = ["title"];
5130
+ _hoisted_6$33 = ["title"];
5131
5131
  _hoisted_7$26 = { class: "selection-tag-content" };
5132
5132
  _hoisted_8$21 = {
5133
5133
  key: 0,
@@ -5450,7 +5450,7 @@ var init_basic_select_vue_vue_type_script_setup_true_name_dropdown_basic_select_
5450
5450
  key: 0,
5451
5451
  class: "select-selection-item",
5452
5452
  title: selectedOptions.value[0].label
5453
- }, toDisplayString(selectedOptions.value[0].label), 9, _hoisted_6$32)) : createCommentVNode("", true),
5453
+ }, toDisplayString(selectedOptions.value[0].label), 9, _hoisted_6$33)) : createCommentVNode("", true),
5454
5454
  __props.multiple ? (openBlock(), createElementBlock(Fragment, { key: 1 }, [
5455
5455
  (openBlock(true), createElementBlock(Fragment, null, renderList(visibleSelectedOptions.value, (item, idx) => {
5456
5456
  return openBlock(), createElementBlock("span", {
@@ -5543,7 +5543,7 @@ var init_basic_select = __esmMin((() => {
5543
5543
  }));
5544
5544
  //#endregion
5545
5545
  //#region src/base/select/src/searchable-select.vue?vue&type=script&setup=true&lang.ts
5546
- var _hoisted_1$166, _hoisted_2$105, _hoisted_3$75, _hoisted_4$57, _hoisted_5$46, _hoisted_6$31, _hoisted_7$25, _hoisted_8$20, _hoisted_9$14, searchable_select_vue_vue_type_script_setup_true_lang_default;
5546
+ var _hoisted_1$166, _hoisted_2$105, _hoisted_3$75, _hoisted_4$57, _hoisted_5$46, _hoisted_6$32, _hoisted_7$25, _hoisted_8$20, _hoisted_9$14, searchable_select_vue_vue_type_script_setup_true_lang_default;
5547
5547
  var init_searchable_select_vue_vue_type_script_setup_true_lang = __esmMin((() => {
5548
5548
  init_base$2();
5549
5549
  init_scrollbar();
@@ -5562,7 +5562,7 @@ var init_searchable_select_vue_vue_type_script_setup_true_lang = __esmMin((() =>
5562
5562
  };
5563
5563
  _hoisted_4$57 = { class: "gct-ss-list" };
5564
5564
  _hoisted_5$46 = { class: "group-name" };
5565
- _hoisted_6$31 = ["onClick"];
5565
+ _hoisted_6$32 = ["onClick"];
5566
5566
  _hoisted_7$25 = ["onClick"];
5567
5567
  _hoisted_8$20 = { class: "gct-ss-option-label" };
5568
5568
  _hoisted_9$14 = {
@@ -5809,7 +5809,7 @@ var init_searchable_select_vue_vue_type_script_setup_true_lang = __esmMin((() =>
5809
5809
  popper: withCtx(() => [createTextVNode(toDisplayString(item.tip || item.label), 1)]),
5810
5810
  default: withCtx(() => [createElementVNode("span", { class: normalizeClass(["gct-ss-option-label", item.class]) }, toDisplayString(item.label), 3)]),
5811
5811
  _: 2
5812
- }, 1032, ["disabled"])], 64))], 10, _hoisted_6$31);
5812
+ }, 1032, ["disabled"])], 64))], 10, _hoisted_6$32);
5813
5813
  }), 128))]);
5814
5814
  }), 128)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(filteredOptions.value, (item) => {
5815
5815
  return openBlock(), createElementBlock("div", {
@@ -6931,7 +6931,7 @@ var init_use_rdo_tree_options = __esmMin((() => {
6931
6931
  }));
6932
6932
  //#endregion
6933
6933
  //#region src/base/rdo-tree-select/src/rdo-tree-select.vue?vue&type=script&setup=true&name=gct-rdo-tree-select&lang.ts
6934
- var _hoisted_1$161, _hoisted_2$101, _hoisted_3$71, _hoisted_4$54, _hoisted_5$43, _hoisted_6$30, _hoisted_7$24, _hoisted_8$19, _hoisted_9$13, _hoisted_10$11, _hoisted_11$9, _hoisted_12$7, _hoisted_13$6, rdo_tree_select_vue_vue_type_script_setup_true_name_gct_rdo_tree_select_lang_default;
6934
+ var _hoisted_1$161, _hoisted_2$101, _hoisted_3$71, _hoisted_4$54, _hoisted_5$43, _hoisted_6$31, _hoisted_7$24, _hoisted_8$19, _hoisted_9$13, _hoisted_10$11, _hoisted_11$9, _hoisted_12$7, _hoisted_13$6, rdo_tree_select_vue_vue_type_script_setup_true_name_gct_rdo_tree_select_lang_default;
6935
6935
  var init_rdo_tree_select_vue_vue_type_script_setup_true_name_gct_rdo_tree_select_lang = __esmMin((() => {
6936
6936
  init_dropdown();
6937
6937
  init_icon();
@@ -6958,7 +6958,7 @@ var init_rdo_tree_select_vue_vue_type_script_setup_true_name_gct_rdo_tree_select
6958
6958
  "disabled",
6959
6959
  "onKeydown"
6960
6960
  ];
6961
- _hoisted_6$30 = {
6961
+ _hoisted_6$31 = {
6962
6962
  key: 1,
6963
6963
  class: "rdo-tree-select__value"
6964
6964
  };
@@ -7289,7 +7289,7 @@ var init_rdo_tree_select_vue_vue_type_script_setup_true_name_gct_rdo_tree_select
7289
7289
  disabled: __props.disabled,
7290
7290
  onInput: onSearchInput,
7291
7291
  onKeydown: [withKeys(withModifiers(closeSearch, ["stop"]), ["esc"]), withKeys(closeSearch, ["tab"])]
7292
- }, null, 42, _hoisted_5$43)])) : (openBlock(), createElementBlock("span", _hoisted_6$30, [createElementVNode("span", { class: normalizeClass(["rdo-tree-select__value-text", { "is-placeholder": !selectedLabel.value }]) }, toDisplayString(selectedLabel.value || __props.placeholder), 3), selectedDisplay.value.showDefaultTag ? (openBlock(), createElementBlock("span", _hoisted_7$24, "默认")) : createCommentVNode("", true)]))], 2), searchableSuffixIcon.value === "clear" ? (openBlock(), createElementBlock("span", {
7292
+ }, null, 42, _hoisted_5$43)])) : (openBlock(), createElementBlock("span", _hoisted_6$31, [createElementVNode("span", { class: normalizeClass(["rdo-tree-select__value-text", { "is-placeholder": !selectedLabel.value }]) }, toDisplayString(selectedLabel.value || __props.placeholder), 3), selectedDisplay.value.showDefaultTag ? (openBlock(), createElementBlock("span", _hoisted_7$24, "默认")) : createCommentVNode("", true)]))], 2), searchableSuffixIcon.value === "clear" ? (openBlock(), createElementBlock("span", {
7293
7293
  key: 0,
7294
7294
  class: "rdo-tree-select__clear",
7295
7295
  onMousedown: _cache[0] || (_cache[0] = withModifiers(() => {}, ["prevent"])),
@@ -104469,6 +104469,7 @@ var init_table_runtime_context = __esmMin((() => {
104469
104469
  const rowPath = this.rowPath(rowIndex);
104470
104470
  const rowData = this.getRow(rowIndex) ?? {};
104471
104471
  return {
104472
+ isMockReport: this.doc.isMockReport,
104472
104473
  subFieldKey: this.subFieldKey,
104473
104474
  refModelType: this.refModelType,
104474
104475
  rowIndex,
@@ -105484,7 +105485,12 @@ var init_profile$5 = __esmMin((() => {
105484
105485
  }],
105485
105486
  runtimeRules: [{
105486
105487
  when: "always",
105487
- fields: ["qty_consumed_"],
105488
+ fields: ["qty_consumed_", "qty_consumed_total_"],
105489
+ effect: { disabled: true }
105490
+ }, {
105491
+ when: "always",
105492
+ fields: ["qty_required_"],
105493
+ condition: ({ isMockReport }) => isMockReport,
105488
105494
  effect: { disabled: true }
105489
105495
  }],
105490
105496
  theme: {
@@ -126395,7 +126401,7 @@ function getGroupMergeKey(row, validator) {
126395
126401
  function calcGroupQtyConsumedTotal(entryIdx, tableData, validator) {
126396
126402
  if (entryIdx < 0) return 0;
126397
126403
  return tableData.reduce((sum, row) => {
126398
- return validator.resolveEntryIndex(row) === entryIdx ? sum + (row.qty_ ?? 0) : sum;
126404
+ return validator.resolveEntryIndex(row) === entryIdx ? sum + Number(row.qty_ ?? 0) : sum;
126399
126405
  }, 0);
126400
126406
  }
126401
126407
  /** 回写全表 qty_consumed_total_(组内每行写相同值,便于提交) */
@@ -126724,6 +126730,12 @@ var init_material_consume_table_controller = __esmMin((() => {
126724
126730
  "setupScope",
126725
126731
  void 0
126726
126732
  );
126733
+ _defineProperty(
126734
+ this,
126735
+ /** 监听表格字段变更,确保普通输入组件修改 qty_ 后也会刷新派生数量。 */
126736
+ "setupDataUnsubscribe",
126737
+ void 0
126738
+ );
126727
126739
  _defineProperty(
126728
126740
  this,
126729
126741
  /**
@@ -127010,7 +127022,7 @@ var init_material_consume_table_controller = __esmMin((() => {
127010
127022
  * @param opts
127011
127023
  */
127012
127024
  async setup(opts) {
127013
- var _this$setupScope;
127025
+ var _this$setupScope, _this$setupDataUnsubs;
127014
127026
  const sameDoc = this.setupDoc === opts.doc;
127015
127027
  this.tableDataRef = opts.tableDataRef;
127016
127028
  this.mainFormState = opts.mainFormState ?? ref({});
@@ -127018,18 +127030,26 @@ var init_material_consume_table_controller = __esmMin((() => {
127018
127030
  this.dataStatus = opts.dataStatus;
127019
127031
  if (sameDoc) return;
127020
127032
  (_this$setupScope = this.setupScope) === null || _this$setupScope === void 0 || _this$setupScope.stop();
127033
+ (_this$setupDataUnsubs = this.setupDataUnsubscribe) === null || _this$setupDataUnsubs === void 0 || _this$setupDataUnsubs.call(this);
127021
127034
  this.setupScope = effectScope(true);
127022
127035
  this.setupDoc = opts.doc;
127023
127036
  const initializedRowIndexes = this.initTableData(opts.doc.dataManager, opts.subTableInfo.subFieldKey, opts.defaultRowData);
127024
127037
  await hydrateSubtableRowLabels(opts.doc, opts.subTableInfo.subFieldKey, initializedRowIndexes);
127025
127038
  this.setupScope.run(() => {
127026
127039
  watch(() => this.materialNoNum, () => this.syncQtyRequiredFromBom(opts.doc), { immediate: true });
127027
- watch(() => this.tableDataRef.value.map((row) => [
127028
- row.qty_,
127029
- row.product_id_,
127030
- row.bom_entry_id_,
127031
- row.deleted_
127032
- ]), () => this.updateDerivedQtyFields(opts.doc), { deep: true });
127040
+ });
127041
+ const getDerivedQtyInputSnapshot = () => JSON.stringify(this.tableDataRef.value.map((row) => [
127042
+ row.qty_,
127043
+ row.product_id_,
127044
+ row.bom_entry_id_,
127045
+ row.deleted_
127046
+ ]));
127047
+ let derivedQtyInputSnapshot = getDerivedQtyInputSnapshot();
127048
+ this.setupDataUnsubscribe = opts.doc.dataManager.subscribe(opts.subTableInfo.valuePath, () => {
127049
+ const nextSnapshot = getDerivedQtyInputSnapshot();
127050
+ if (nextSnapshot === derivedQtyInputSnapshot) return;
127051
+ derivedQtyInputSnapshot = nextSnapshot;
127052
+ this.updateDerivedQtyFields(opts.doc);
127033
127053
  });
127034
127054
  }
127035
127055
  /**
@@ -127153,16 +127173,22 @@ var init_material_consume_table_controller = __esmMin((() => {
127153
127173
  * @param row
127154
127174
  */
127155
127175
  async editRow(option) {
127156
- var _dataManager$getRawDa;
127157
- if (!this.enableSequenceLoading) return;
127176
+ var _dataManager$getRawDa2;
127158
127177
  const { dataManager, subFieldKey, rowIndex } = option;
127159
- const row = (_dataManager$getRawDa = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa === void 0 ? void 0 : _dataManager$getRawDa[rowIndex];
127178
+ if (!this.enableSequenceLoading) {
127179
+ var _dataManager$getRawDa;
127180
+ MCDataUtil.updateRow(option, false);
127181
+ const unlocked = (_dataManager$getRawDa = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa === void 0 ? void 0 : _dataManager$getRawDa[rowIndex];
127182
+ if (unlocked) this.syncEditingRowDisablement(dataManager, `$.${subFieldKey}[${rowIndex}]`, unlocked);
127183
+ return;
127184
+ }
127185
+ const row = (_dataManager$getRawDa2 = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa2 === void 0 ? void 0 : _dataManager$getRawDa2[rowIndex];
127160
127186
  const entryIdx = this.bomEntriesValidator.resolveEntryIndex(row);
127161
127187
  const targetUtil = entryIdx >= 0 ? this.bomEntriesValidator.bomEntryValidators[entryIdx] : void 0;
127162
127188
  if (!targetUtil) {
127163
- var _dataManager$getRawDa2;
127189
+ var _dataManager$getRawDa3;
127164
127190
  MCDataUtil.updateRow(option, false);
127165
- const unlocked = (_dataManager$getRawDa2 = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa2 === void 0 ? void 0 : _dataManager$getRawDa2[rowIndex];
127191
+ const unlocked = (_dataManager$getRawDa3 = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa3 === void 0 ? void 0 : _dataManager$getRawDa3[rowIndex];
127166
127192
  if (unlocked) this.syncEditingRowDisablement(dataManager, `$.${subFieldKey}[${rowIndex}]`, unlocked);
127167
127193
  return;
127168
127194
  }
@@ -127199,7 +127225,7 @@ var init_material_consume_table_controller = __esmMin((() => {
127199
127225
  * 返回新行在活跃数据中的下标,调用方据此执行 Word 子表行初始化。
127200
127226
  */
127201
127227
  async addGroup(option, doc) {
127202
- var _dataManager$getRawDa3;
127228
+ var _dataManager$getRawDa4;
127203
127229
  const { dataManager, subFieldKey, rowIndex } = option;
127204
127230
  const rawRows = dataManager.getRawData()[subFieldKey] ?? [];
127205
127231
  const activeRows = rawRows.filter((row) => !row.deleted_);
@@ -127238,7 +127264,7 @@ var init_material_consume_table_controller = __esmMin((() => {
127238
127264
  };
127239
127265
  ensureFrontRowKey(newRow);
127240
127266
  if (!dataManager.insertAt(`$.${subFieldKey}`, insertIndex, newRow)) return;
127241
- const insertedRow = (_dataManager$getRawDa3 = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa3 === void 0 ? void 0 : _dataManager$getRawDa3[insertIndex];
127267
+ const insertedRow = (_dataManager$getRawDa4 = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa4 === void 0 ? void 0 : _dataManager$getRawDa4[insertIndex];
127242
127268
  if (insertedRow) {
127243
127269
  this.setDefaultValue(insertedRow, doc);
127244
127270
  dataManager.set(`$.${subFieldKey}[${insertIndex}]`, insertedRow, "user");
@@ -127250,7 +127276,7 @@ var init_material_consume_table_controller = __esmMin((() => {
127250
127276
  * 组内加一行:当前行下方插入,继承 bom_entry_id_。
127251
127277
  */
127252
127278
  addRowForGroup(option, doc) {
127253
- var _dataManager$getRawDa4;
127279
+ var _dataManager$getRawDa5;
127254
127280
  const { dataManager, subFieldKey, rowIndex } = option;
127255
127281
  const currentRow = (dataManager.getRawData()[subFieldKey] ?? []).filter((row) => !row.deleted_)[rowIndex];
127256
127282
  if (!currentRow) return;
@@ -127262,7 +127288,7 @@ var init_material_consume_table_controller = __esmMin((() => {
127262
127288
  ensureFrontRowKey(newRow);
127263
127289
  const insertIndex = rowIndex + 1;
127264
127290
  if (!dataManager.insertAt(`$.${subFieldKey}`, insertIndex, newRow)) return;
127265
- const insertedRow = (_dataManager$getRawDa4 = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa4 === void 0 ? void 0 : _dataManager$getRawDa4[insertIndex];
127291
+ const insertedRow = (_dataManager$getRawDa5 = dataManager.getRawData()[subFieldKey]) === null || _dataManager$getRawDa5 === void 0 ? void 0 : _dataManager$getRawDa5[insertIndex];
127266
127292
  if (insertedRow) {
127267
127293
  this.setDefaultValue(insertedRow, doc);
127268
127294
  dataManager.set(`$.${subFieldKey}[${insertIndex}]`, insertedRow, "user");
@@ -127334,15 +127360,19 @@ var init_material_consume_table_controller = __esmMin((() => {
127334
127360
  /**
127335
127361
  * 组级:更新 qty_consumed_total_(同组 qty_ 之和)
127336
127362
  */
127337
- updateGroupQtyConsumedTotal() {
127338
- syncGroupQtyConsumedTotals(this.actualTableData, this.bomEntriesValidator);
127363
+ updateGroupQtyConsumedTotal(doc) {
127364
+ const rows = this.actualTableData;
127365
+ syncGroupQtyConsumedTotals(rows, this.bomEntriesValidator);
127366
+ rows.forEach((row, rowIndex) => {
127367
+ doc.dataManager.set(`${this.subTableInfo.valuePath}[${rowIndex}].qty_consumed_total_`, row.qty_consumed_total_, "user");
127368
+ });
127339
127369
  }
127340
127370
  /**
127341
127371
  * qty 相关派生字段统一入口(改 qty_ / 扫码 / 删行 等都走这里)
127342
127372
  */
127343
127373
  updateDerivedQtyFields(doc) {
127344
127374
  this.updateRowConsumed(doc);
127345
- this.updateGroupQtyConsumedTotal();
127375
+ this.updateGroupQtyConsumedTotal(doc);
127346
127376
  }
127347
127377
  /**
127348
127378
  * 设置默认值,如工序,需求数量/已消耗数量
@@ -137768,7 +137798,7 @@ var init_xlsx = __esmMin((() => {
137768
137798
  }));
137769
137799
  //#endregion
137770
137800
  //#region src/runtime/renderer/field-preview/attachment-file-popover.vue?vue&type=script&setup=true&lang.ts
137771
- var _hoisted_1$156, _hoisted_2$97, _hoisted_3$67, _hoisted_4$51, _hoisted_5$40, _hoisted_6$29, _hoisted_7$23, attachment_file_popover_vue_vue_type_script_setup_true_lang_default;
137801
+ var _hoisted_1$156, _hoisted_2$97, _hoisted_3$67, _hoisted_4$51, _hoisted_5$40, _hoisted_6$30, _hoisted_7$23, attachment_file_popover_vue_vue_type_script_setup_true_lang_default;
137772
137802
  var init_attachment_file_popover_vue_vue_type_script_setup_true_lang = __esmMin((() => {
137773
137803
  init_base$2();
137774
137804
  init_file();
@@ -137785,7 +137815,7 @@ var init_attachment_file_popover_vue_vue_type_script_setup_true_lang = __esmMin(
137785
137815
  _hoisted_3$67 = { class: "file-icon-wrap" };
137786
137816
  _hoisted_4$51 = ["src"];
137787
137817
  _hoisted_5$40 = { class: "file-meta" };
137788
- _hoisted_6$29 = ["title"];
137818
+ _hoisted_6$30 = ["title"];
137789
137819
  _hoisted_7$23 = { class: "file-size" };
137790
137820
  attachment_file_popover_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
137791
137821
  __name: "attachment-file-popover",
@@ -137856,7 +137886,7 @@ var init_attachment_file_popover_vue_vue_type_script_setup_true_lang = __esmMin(
137856
137886
  }, null, 8, _hoisted_4$51)]), createElementVNode("div", _hoisted_5$40, [createElementVNode("div", {
137857
137887
  class: "file-name",
137858
137888
  title: item.name
137859
- }, toDisplayString(item.name), 9, _hoisted_6$29), createElementVNode("div", _hoisted_7$23, toDisplayString(sizeText(item.size)), 1)])], 8, _hoisted_2$97);
137889
+ }, toDisplayString(item.name), 9, _hoisted_6$30), createElementVNode("div", _hoisted_7$23, toDisplayString(sizeText(item.size)), 1)])], 8, _hoisted_2$97);
137860
137890
  }), 128))])]),
137861
137891
  _: 1
137862
137892
  })], 4);
@@ -137879,7 +137909,7 @@ var init_attachment_file_popover = __esmMin((() => {
137879
137909
  }));
137880
137910
  //#endregion
137881
137911
  //#region src/runtime/renderer/field-preview/image-preview-popover.vue?vue&type=script&setup=true&name=image-preview-popover&lang.ts
137882
- var _hoisted_1$155, _hoisted_2$96, _hoisted_3$66, _hoisted_4$50, _hoisted_5$39, _hoisted_6$28, _hoisted_7$22, _hoisted_8$18, _hoisted_9$12, _hoisted_10$10, _hoisted_11$8, _hoisted_12$6, _hoisted_13$5, MIN_SCALE, MAX_SCALE, SCALE_STEP, image_preview_popover_vue_vue_type_script_setup_true_name_image_preview_popover_lang_default;
137912
+ var _hoisted_1$155, _hoisted_2$96, _hoisted_3$66, _hoisted_4$50, _hoisted_5$39, _hoisted_6$29, _hoisted_7$22, _hoisted_8$18, _hoisted_9$12, _hoisted_10$10, _hoisted_11$8, _hoisted_12$6, _hoisted_13$5, MIN_SCALE, MAX_SCALE, SCALE_STEP, image_preview_popover_vue_vue_type_script_setup_true_name_image_preview_popover_lang_default;
137883
137913
  var init_image_preview_popover_vue_vue_type_script_setup_true_name_image_preview_popover_lang = __esmMin((() => {
137884
137914
  init_base$2();
137885
137915
  init_asset_helper_util();
@@ -137888,7 +137918,7 @@ var init_image_preview_popover_vue_vue_type_script_setup_true_name_image_preview
137888
137918
  _hoisted_3$66 = ["src"];
137889
137919
  _hoisted_4$50 = { class: "image-thumb-mask" };
137890
137920
  _hoisted_5$39 = { class: "lightbox-toolbar" };
137891
- _hoisted_6$28 = {
137921
+ _hoisted_6$29 = {
137892
137922
  key: 0,
137893
137923
  class: "lightbox-index"
137894
137924
  };
@@ -138056,7 +138086,7 @@ var init_image_preview_popover_vue_vue_type_script_setup_true_name_image_preview
138056
138086
  onClick: withModifiers(closePreview, ["self"]),
138057
138087
  onWheel: withModifiers(onWheel, ["prevent"])
138058
138088
  }, [
138059
- createElementVNode("div", _hoisted_5$39, [__props.images.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_6$28, toDisplayString(previewIndex.value + 1) + " / " + toDisplayString(__props.images.length), 1)) : (openBlock(), createElementBlock("span", _hoisted_7$22, "1 / 1")), createElementVNode("div", _hoisted_8$18, [createElementVNode("div", _hoisted_9$12, [
138089
+ createElementVNode("div", _hoisted_5$39, [__props.images.length > 1 ? (openBlock(), createElementBlock("span", _hoisted_6$29, toDisplayString(previewIndex.value + 1) + " / " + toDisplayString(__props.images.length), 1)) : (openBlock(), createElementBlock("span", _hoisted_7$22, "1 / 1")), createElementVNode("div", _hoisted_8$18, [createElementVNode("div", _hoisted_9$12, [
138060
138090
  createElementVNode("button", {
138061
138091
  type: "button",
138062
138092
  title: "垂直翻转",
@@ -138587,7 +138617,7 @@ function useHighlightSearch() {
138587
138617
  var init_useHighlightSearch = __esmMin((() => {}));
138588
138618
  //#endregion
138589
138619
  //#region src/runtime/renderer/dropdowns/components/option-dropdown.vue?vue&type=script&setup=true&lang.ts
138590
- var _hoisted_1$153, _hoisted_2$95, _hoisted_3$65, _hoisted_4$49, _hoisted_5$38, _hoisted_6$27, _hoisted_7$21, _hoisted_8$17, _hoisted_9$11, option_dropdown_vue_vue_type_script_setup_true_lang_default;
138620
+ var _hoisted_1$153, _hoisted_2$95, _hoisted_3$65, _hoisted_4$49, _hoisted_5$38, _hoisted_6$28, _hoisted_7$21, _hoisted_8$17, _hoisted_9$11, option_dropdown_vue_vue_type_script_setup_true_lang_default;
138591
138621
  var init_option_dropdown_vue_vue_type_script_setup_true_lang = __esmMin((() => {
138592
138622
  init_base$2();
138593
138623
  init_useWidgetRenderData();
@@ -138604,7 +138634,7 @@ var init_option_dropdown_vue_vue_type_script_setup_true_lang = __esmMin((() => {
138604
138634
  _hoisted_3$65 = { class: "options-dropdown-container" };
138605
138635
  _hoisted_4$49 = ["onClick", "onContextmenu"];
138606
138636
  _hoisted_5$38 = ["innerHTML", "title"];
138607
- _hoisted_6$27 = { class: "option-right" };
138637
+ _hoisted_6$28 = { class: "option-right" };
138608
138638
  _hoisted_7$21 = {
138609
138639
  key: 0,
138610
138640
  class: "empty"
@@ -138823,7 +138853,7 @@ var init_option_dropdown_vue_vue_type_script_setup_true_lang = __esmMin((() => {
138823
138853
  class: "option-label",
138824
138854
  innerHTML: item.highlightName || item.label,
138825
138855
  title: item.label
138826
- }, null, 8, _hoisted_5$38), createElementVNode("div", _hoisted_6$27, [__props.isMultiple && isSelected(item) ? (openBlock(), createBlock(unref(icon_default), {
138856
+ }, null, 8, _hoisted_5$38), createElementVNode("div", _hoisted_6$28, [__props.isMultiple && isSelected(item) ? (openBlock(), createBlock(unref(icon_default), {
138827
138857
  key: 0,
138828
138858
  class: "check-icon",
138829
138859
  icon: "icon-duigou-da",
@@ -138991,7 +139021,7 @@ var init_tree_node = __esmMin((() => {
138991
139021
  }));
138992
139022
  //#endregion
138993
139023
  //#region src/runtime/renderer/dropdowns/components/tree/tree-dropdown.vue?vue&type=script&setup=true&lang.ts
138994
- var _hoisted_1$151, _hoisted_2$93, _hoisted_3$63, _hoisted_4$48, _hoisted_5$37, _hoisted_6$26, tree_dropdown_vue_vue_type_script_setup_true_lang_default;
139024
+ var _hoisted_1$151, _hoisted_2$93, _hoisted_3$63, _hoisted_4$48, _hoisted_5$37, _hoisted_6$27, tree_dropdown_vue_vue_type_script_setup_true_lang_default;
138995
139025
  var init_tree_dropdown_vue_vue_type_script_setup_true_lang = __esmMin((() => {
138996
139026
  init_base$2();
138997
139027
  init_tree_node();
@@ -139015,7 +139045,7 @@ var init_tree_dropdown_vue_vue_type_script_setup_true_lang = __esmMin((() => {
139015
139045
  key: 1,
139016
139046
  class: "options-footer"
139017
139047
  };
139018
- _hoisted_6$26 = {
139048
+ _hoisted_6$27 = {
139019
139049
  key: 2,
139020
139050
  class: "options-footer"
139021
139051
  };
@@ -139161,7 +139191,7 @@ var init_tree_dropdown_vue_vue_type_script_setup_true_lang = __esmMin((() => {
139161
139191
  }, "全选"), createElementVNode("div", {
139162
139192
  class: "btn-item",
139163
139193
  onClick: withModifiers(handleOk, ["stop"])
139164
- }, "确认")])) : innerValue.value ? (openBlock(), createElementBlock("div", _hoisted_6$26, [createElementVNode("div", {
139194
+ }, "确认")])) : innerValue.value ? (openBlock(), createElementBlock("div", _hoisted_6$27, [createElementVNode("div", {
139165
139195
  class: "btn-center",
139166
139196
  onClick: withModifiers(handleClear, ["stop"])
139167
139197
  }, "清除")])) : createCommentVNode("", true)
@@ -139783,7 +139813,7 @@ var init_pagination_control = __esmMin((() => {
139783
139813
  }));
139784
139814
  //#endregion
139785
139815
  //#region src/runtime/renderer/dropdowns/components/tables/table-option-dropdown.vue?vue&type=script&setup=true&lang.ts
139786
- var _hoisted_1$146, _hoisted_2$91, _hoisted_3$61, _hoisted_4$46, _hoisted_5$35, _hoisted_6$25, _hoisted_7$20, _hoisted_8$16, _hoisted_9$10, _hoisted_10$9, _hoisted_11$7, table_option_dropdown_vue_vue_type_script_setup_true_lang_default;
139816
+ var _hoisted_1$146, _hoisted_2$91, _hoisted_3$61, _hoisted_4$46, _hoisted_5$35, _hoisted_6$26, _hoisted_7$20, _hoisted_8$16, _hoisted_9$10, _hoisted_10$9, _hoisted_11$7, table_option_dropdown_vue_vue_type_script_setup_true_lang_default;
139787
139817
  var init_table_option_dropdown_vue_vue_type_script_setup_true_lang = __esmMin((() => {
139788
139818
  init_base$2();
139789
139819
  init_device_type_select();
@@ -139802,7 +139832,7 @@ var init_table_option_dropdown_vue_vue_type_script_setup_true_lang = __esmMin(((
139802
139832
  class: "options-message"
139803
139833
  };
139804
139834
  _hoisted_5$35 = { class: "options-dropdown-container" };
139805
- _hoisted_6$25 = ["onClick"];
139835
+ _hoisted_6$26 = ["onClick"];
139806
139836
  _hoisted_7$20 = ["title"];
139807
139837
  _hoisted_8$16 = { class: "option-right" };
139808
139838
  _hoisted_9$10 = {
@@ -139922,7 +139952,7 @@ var init_table_option_dropdown_vue_vue_type_script_setup_true_lang = __esmMin(((
139922
139952
  icon: "icon-duigou-da",
139923
139953
  color: "#026ac8",
139924
139954
  version: "v2"
139925
- })) : createCommentVNode("", true)])], 10, _hoisted_6$25);
139955
+ })) : createCommentVNode("", true)])], 10, _hoisted_6$26);
139926
139956
  }), 128)),
139927
139957
  !__props.tableData.length && !__props.loading ? (openBlock(), createElementBlock("div", _hoisted_9$10, " 暂无数据 ")) : createCommentVNode("", true),
139928
139958
  __props.loading ? (openBlock(), createElementBlock("div", _hoisted_10$9, " 加载中... ")) : createCommentVNode("", true)
@@ -141127,7 +141157,7 @@ var init_rdo_table_dropdown = __esmMin((() => {
141127
141157
  }));
141128
141158
  //#endregion
141129
141159
  //#region src/runtime/renderer/dialogs/upload-file/base-upload-file.vue?vue&type=script&setup=true&name=base-upload-image&lang.ts
141130
- var _hoisted_1$142, _hoisted_2$87, _hoisted_3$59, _hoisted_4$44, _hoisted_5$34, _hoisted_6$24, _hoisted_7$19, _hoisted_8$15, _hoisted_9$9, _hoisted_10$8, _hoisted_11$6, _hoisted_12$5, _hoisted_13$4, _hoisted_14$4, base_upload_file_vue_vue_type_script_setup_true_name_base_upload_image_lang_default;
141160
+ var _hoisted_1$142, _hoisted_2$87, _hoisted_3$59, _hoisted_4$44, _hoisted_5$34, _hoisted_6$25, _hoisted_7$19, _hoisted_8$15, _hoisted_9$9, _hoisted_10$8, _hoisted_11$6, _hoisted_12$5, _hoisted_13$4, _hoisted_14$4, base_upload_file_vue_vue_type_script_setup_true_name_base_upload_image_lang_default;
141131
141161
  var init_base_upload_file_vue_vue_type_script_setup_true_name_base_upload_image_lang = __esmMin((() => {
141132
141162
  init_base$2();
141133
141163
  init_core$1();
@@ -141147,7 +141177,7 @@ var init_base_upload_file_vue_vue_type_script_setup_true_name_base_upload_image_
141147
141177
  _hoisted_3$59 = ["multiple", "accept"];
141148
141178
  _hoisted_4$44 = { class: "upload-content" };
141149
141179
  _hoisted_5$34 = { class: "icon" };
141150
- _hoisted_6$24 = {
141180
+ _hoisted_6$25 = {
141151
141181
  key: 0,
141152
141182
  class: "file-box"
141153
141183
  };
@@ -141361,7 +141391,7 @@ var init_base_upload_file_vue_vue_type_script_setup_true_name_base_upload_image_
141361
141391
  size: "56",
141362
141392
  color: "#FDBF5E"
141363
141393
  })]), _cache[2] || (_cache[2] = createElementVNode("div", { class: "text" }, "点击或将文件拖拽到这里上传", -1))])], 34), createVNode(unref(scrollbar_default), { class: "scrollbar" }, {
141364
- default: withCtx(() => [fileList.value.length ? (openBlock(), createElementBlock("div", _hoisted_6$24, [(openBlock(true), createElementBlock(Fragment, null, renderList(fileList.value, (item) => {
141394
+ default: withCtx(() => [fileList.value.length ? (openBlock(), createElementBlock("div", _hoisted_6$25, [(openBlock(true), createElementBlock(Fragment, null, renderList(fileList.value, (item) => {
141365
141395
  return openBlock(), createElementBlock("div", {
141366
141396
  class: "file-item",
141367
141397
  key: item.id
@@ -141488,7 +141518,7 @@ var init_upload_file_dialog = __esmMin((() => {
141488
141518
  }));
141489
141519
  //#endregion
141490
141520
  //#region src/runtime/renderer/dialogs/upload-image/base-upload-image.vue?vue&type=script&setup=true&name=base-upload-image&lang.ts
141491
- var _hoisted_1$140, _hoisted_2$86, _hoisted_3$58, _hoisted_4$43, _hoisted_5$33, _hoisted_6$23, _hoisted_7$18, _hoisted_8$14, _hoisted_9$8, _hoisted_10$7, base_upload_image_vue_vue_type_script_setup_true_name_base_upload_image_lang_default;
141521
+ var _hoisted_1$140, _hoisted_2$86, _hoisted_3$58, _hoisted_4$43, _hoisted_5$33, _hoisted_6$24, _hoisted_7$18, _hoisted_8$14, _hoisted_9$8, _hoisted_10$7, base_upload_image_vue_vue_type_script_setup_true_name_base_upload_image_lang_default;
141492
141522
  var init_base_upload_image_vue_vue_type_script_setup_true_name_base_upload_image_lang = __esmMin((() => {
141493
141523
  init_base$2();
141494
141524
  init_core$1();
@@ -141500,7 +141530,7 @@ var init_base_upload_image_vue_vue_type_script_setup_true_name_base_upload_image
141500
141530
  _hoisted_3$58 = ["multiple", "accept"];
141501
141531
  _hoisted_4$43 = { class: "upload-content" };
141502
141532
  _hoisted_5$33 = { class: "icon" };
141503
- _hoisted_6$23 = {
141533
+ _hoisted_6$24 = {
141504
141534
  key: 0,
141505
141535
  class: "img-box"
141506
141536
  };
@@ -141690,7 +141720,7 @@ var init_base_upload_image_vue_vue_type_script_setup_true_name_base_upload_image
141690
141720
  color: "#026ac8"
141691
141721
  })]), _cache[3] || (_cache[3] = createElementVNode("div", { class: "text" }, "点击或将图片拖拽到这里上传", -1))])], 34),
141692
141722
  createVNode(unref(scrollbar_default), { class: "scrollbar" }, {
141693
- default: withCtx(() => [fileList.value.length ? (openBlock(), createElementBlock("div", _hoisted_6$23, [(openBlock(true), createElementBlock(Fragment, null, renderList(fileList.value, (item) => {
141723
+ default: withCtx(() => [fileList.value.length ? (openBlock(), createElementBlock("div", _hoisted_6$24, [(openBlock(true), createElementBlock(Fragment, null, renderList(fileList.value, (item) => {
141694
141724
  return openBlock(), createElementBlock("div", {
141695
141725
  class: "img-item",
141696
141726
  key: item.id
@@ -142265,7 +142295,7 @@ var init_pic_jinggao = __esmMin((() => {
142265
142295
  }));
142266
142296
  //#endregion
142267
142297
  //#region src/runtime/renderer/dialogs/signature/card-signer.vue?vue&type=script&setup=true&lang.ts
142268
- var _hoisted_1$138, _hoisted_2$85, _hoisted_3$57, _hoisted_4$42, _hoisted_5$32, _hoisted_6$22, card_signer_vue_vue_type_script_setup_true_lang_default;
142298
+ var _hoisted_1$138, _hoisted_2$85, _hoisted_3$57, _hoisted_4$42, _hoisted_5$32, _hoisted_6$23, card_signer_vue_vue_type_script_setup_true_lang_default;
142269
142299
  var init_card_signer_vue_vue_type_script_setup_true_lang = __esmMin((() => {
142270
142300
  init_pic_shuaka();
142271
142301
  init_pic_success();
@@ -142276,7 +142306,7 @@ var init_card_signer_vue_vue_type_script_setup_true_lang = __esmMin((() => {
142276
142306
  _hoisted_3$57 = ["aria-busy"];
142277
142307
  _hoisted_4$42 = ["src"];
142278
142308
  _hoisted_5$32 = { class: "card-message" };
142279
- _hoisted_6$22 = ["disabled"];
142309
+ _hoisted_6$23 = ["disabled"];
142280
142310
  card_signer_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ defineComponent({
142281
142311
  __name: "card-signer",
142282
142312
  props: {
@@ -142436,7 +142466,7 @@ var init_card_signer_vue_vue_type_script_setup_true_lang = __esmMin((() => {
142436
142466
  "aria-label": "刷卡读卡器输入",
142437
142467
  onKeydown: onCardInput,
142438
142468
  onPaste: _cache[1] || (_cache[1] = withModifiers(() => {}, ["prevent"]))
142439
- }, null, 40, _hoisted_6$22), [[vModelText, cardNo.value]])
142469
+ }, null, 40, _hoisted_6$23), [[vModelText, cardNo.value]])
142440
142470
  ]);
142441
142471
  };
142442
142472
  }
@@ -142474,7 +142504,7 @@ var init_security_config = __esmMin((() => {
142474
142504
  }));
142475
142505
  //#endregion
142476
142506
  //#region src/runtime/renderer/dialogs/signature/signature-dialog.vue?vue&type=script&setup=true&lang.ts
142477
- var _hoisted_1$137, _hoisted_2$84, _hoisted_3$56, _hoisted_4$41, _hoisted_5$31, _hoisted_6$21, _hoisted_7$17, _hoisted_8$13, _hoisted_9$7, _hoisted_10$6, _hoisted_11$5, _hoisted_12$4, _hoisted_13$3, _hoisted_14$3, _hoisted_15$3, _hoisted_16$3, _hoisted_17$2, SIGNATURE_PREVIEW_WIDTH, SIGNATURE_PREVIEW_HEIGHT, signature_dialog_vue_vue_type_script_setup_true_lang_default;
142507
+ var _hoisted_1$137, _hoisted_2$84, _hoisted_3$56, _hoisted_4$41, _hoisted_5$31, _hoisted_6$22, _hoisted_7$17, _hoisted_8$13, _hoisted_9$7, _hoisted_10$6, _hoisted_11$5, _hoisted_12$4, _hoisted_13$3, _hoisted_14$3, _hoisted_15$3, _hoisted_16$3, _hoisted_17$2, SIGNATURE_PREVIEW_WIDTH, SIGNATURE_PREVIEW_HEIGHT, signature_dialog_vue_vue_type_script_setup_true_lang_default;
142478
142508
  var init_signature_dialog_vue_vue_type_script_setup_true_lang = __esmMin((() => {
142479
142509
  init_dist_web();
142480
142510
  init_base$2();
@@ -142503,7 +142533,7 @@ var init_signature_dialog_vue_vue_type_script_setup_true_lang = __esmMin((() =>
142503
142533
  };
142504
142534
  _hoisted_4$41 = ["value", "disabled"];
142505
142535
  _hoisted_5$31 = { class: "form-row" };
142506
- _hoisted_6$21 = { class: "control" };
142536
+ _hoisted_6$22 = { class: "control" };
142507
142537
  _hoisted_7$17 = {
142508
142538
  key: 0,
142509
142539
  class: "error"
@@ -142756,7 +142786,7 @@ var init_signature_dialog_vue_vue_type_script_setup_true_lang = __esmMin((() =>
142756
142786
  })
142757
142787
  }, null, 8, ["account", "submit-card"])) : createCommentVNode("", true),
142758
142788
  isShowSignature.value && signMethod.value === "PASSWORD" ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
142759
- createElementVNode("div", _hoisted_5$31, [_cache[10] || (_cache[10] = createElementVNode("div", { class: "label required" }, "账号", -1)), createElementVNode("div", _hoisted_6$21, [createVNode(unref(input_default), {
142789
+ createElementVNode("div", _hoisted_5$31, [_cache[10] || (_cache[10] = createElementVNode("div", { class: "label required" }, "账号", -1)), createElementVNode("div", _hoisted_6$22, [createVNode(unref(input_default), {
142760
142790
  modelValue: formState.username,
142761
142791
  "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => formState.username = $event),
142762
142792
  placeholder: "请输入",
@@ -146233,7 +146263,7 @@ var init_useTableSelection = __esmMin((() => {
146233
146263
  }));
146234
146264
  //#endregion
146235
146265
  //#region src/runtime/canvas/table/design/table-action-overlay/index.vue?vue&type=script&setup=true&name=table-action&lang.ts
146236
- var _hoisted_1$134, _hoisted_2$82, _hoisted_3$55, _hoisted_4$40, _hoisted_5$30, _hoisted_6$20, _hoisted_7$16, _hoisted_8$12, index_vue_vue_type_script_setup_true_name_table_action_lang_default;
146266
+ var _hoisted_1$134, _hoisted_2$82, _hoisted_3$55, _hoisted_4$40, _hoisted_5$30, _hoisted_6$21, _hoisted_7$16, _hoisted_8$12, index_vue_vue_type_script_setup_true_name_table_action_lang_default;
146237
146267
  var init_index_vue_vue_type_script_setup_true_name_table_action_lang = __esmMin((() => {
146238
146268
  init_base$2();
146239
146269
  init_useTableSelection();
@@ -146244,7 +146274,7 @@ var init_index_vue_vue_type_script_setup_true_name_table_action_lang = __esmMin(
146244
146274
  _hoisted_3$55 = ["onClick"];
146245
146275
  _hoisted_4$40 = ["onMousedown"];
146246
146276
  _hoisted_5$30 = { class: "row-headers" };
146247
- _hoisted_6$20 = ["onMouseenter"];
146277
+ _hoisted_6$21 = ["onMouseenter"];
146248
146278
  _hoisted_7$16 = ["onClick"];
146249
146279
  _hoisted_8$12 = ["onMousedown"];
146250
146280
  index_vue_vue_type_script_setup_true_name_table_action_lang_default = /*@__PURE__*/ defineComponent({
@@ -146576,7 +146606,7 @@ var init_index_vue_vue_type_script_setup_true_name_table_action_lang = __esmMin(
146576
146606
  icon: "icon-tianjia",
146577
146607
  color: "#d4d4d4",
146578
146608
  size: "14"
146579
- }, null, 8, ["class"])], 32)) : createCommentVNode("", true)], 40, _hoisted_6$20),
146609
+ }, null, 8, ["class"])], 32)) : createCommentVNode("", true)], 40, _hoisted_6$21),
146580
146610
  !unref(isTableAllSelected)(__props.widget.id) && unref(isTableRowSelected)(__props.widget.id, rowIndex) ? (openBlock(), createElementBlock("div", {
146581
146611
  key: 0,
146582
146612
  class: "row-remove-btn",
@@ -147357,7 +147387,7 @@ var init_business_scan_menu = __esmMin((() => {
147357
147387
  }));
147358
147388
  //#endregion
147359
147389
  //#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
147360
- var _hoisted_1$133, _hoisted_2$81, _hoisted_3$54, _hoisted_4$39, _hoisted_5$29, _hoisted_6$19, _hoisted_7$15, _hoisted_8$11, _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, _hoisted_24, _hoisted_25, _hoisted_26, repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang_default;
147390
+ var _hoisted_1$133, _hoisted_2$81, _hoisted_3$54, _hoisted_4$39, _hoisted_5$29, _hoisted_6$20, _hoisted_7$15, _hoisted_8$11, _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, _hoisted_24, _hoisted_25, _hoisted_26, repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang_default;
147361
147391
  var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang = __esmMin((() => {
147362
147392
  init_base$2();
147363
147393
  init_core$1();
@@ -147375,7 +147405,7 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
147375
147405
  _hoisted_3$54 = { class: "action-menu" };
147376
147406
  _hoisted_4$39 = { class: "item-icon" };
147377
147407
  _hoisted_5$29 = { class: "action-menu" };
147378
- _hoisted_6$19 = { class: "item-icon" };
147408
+ _hoisted_6$20 = { class: "item-icon" };
147379
147409
  _hoisted_7$15 = { class: "item-icon" };
147380
147410
  _hoisted_8$11 = { class: "item-icon" };
147381
147411
  _hoisted_9$6 = {
@@ -147680,7 +147710,7 @@ var init_repeating_table_action_vue_vue_type_script_setup_true_name_sub_table_ac
147680
147710
  key: 0,
147681
147711
  class: "menu-item",
147682
147712
  onClick: _cache[1] || (_cache[1] = ($event) => handleMaterialConsumeAction("edit-row"))
147683
- }, [createElementVNode("div", _hoisted_6$19, [createVNode(unref(icon_default), {
147713
+ }, [createElementVNode("div", _hoisted_6$20, [createVNode(unref(icon_default), {
147684
147714
  icon: "icon-zhongxinbianjidangqianhang",
147685
147715
  size: "20"
147686
147716
  })]), _cache[18] || (_cache[18] = createElementVNode("div", { class: "item-label" }, "重新编辑当前行", -1))])) : createCommentVNode("", true),
@@ -147783,7 +147813,7 @@ var init_repeating_table_action = __esmMin((() => {
147783
147813
  }));
147784
147814
  //#endregion
147785
147815
  //#region src/runtime/canvas/table/render/table-structure-overlay/sub-table-action/bounded-table-action.vue?vue&type=script&setup=true&name=sub-table-action&lang.ts
147786
- var _hoisted_1$132, _hoisted_2$80, _hoisted_3$53, _hoisted_4$38, _hoisted_5$28, bounded_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang_default;
147816
+ var _hoisted_1$132, _hoisted_2$80, _hoisted_3$53, _hoisted_4$38, _hoisted_5$28, _hoisted_6$19, bounded_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang_default;
147787
147817
  var init_bounded_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang = __esmMin((() => {
147788
147818
  init_base$2();
147789
147819
  init_core();
@@ -147793,7 +147823,8 @@ var init_bounded_table_action_vue_vue_type_script_setup_true_name_sub_table_acti
147793
147823
  _hoisted_2$80 = { class: "sub-table-action-popper" };
147794
147824
  _hoisted_3$53 = { class: "action-menu" };
147795
147825
  _hoisted_4$38 = { class: "item-icon scale-large" };
147796
- _hoisted_5$28 = { class: "more-btn" };
147826
+ _hoisted_5$28 = { class: "sub-more-btn" };
147827
+ _hoisted_6$19 = { class: "sub-more-btn-item" };
147797
147828
  bounded_table_action_vue_vue_type_script_setup_true_name_sub_table_action_lang_default = /*@__PURE__*/ defineComponent({
147798
147829
  __name: "bounded-table-action",
147799
147830
  props: {
@@ -147863,10 +147894,10 @@ var init_bounded_table_action_vue_vue_type_script_setup_true_name_sub_table_acti
147863
147894
  class: "menu-item",
147864
147895
  onClick: _cache[0] || (_cache[0] = ($event) => unref(handleOpenFixedQuickFillModal)(props))
147865
147896
  }, [createElementVNode("div", _hoisted_4$38, [createVNode(unref(icon_default), { icon: "icon-zhongxinbianjidangqianhang" })]), _cache[1] || (_cache[1] = createElementVNode("div", { class: "item-label" }, "快速填报", -1))])) : createCommentVNode("", true)])])]),
147866
- default: withCtx(() => [createElementVNode("div", _hoisted_5$28, [createVNode(unref(icon_default), {
147897
+ default: withCtx(() => [createElementVNode("div", _hoisted_5$28, [createElementVNode("div", _hoisted_6$19, [createVNode(unref(icon_default), {
147867
147898
  icon: "icon-gengduo1",
147868
147899
  color: "#fff"
147869
- })])]),
147900
+ })])])]),
147870
147901
  _: 1
147871
147902
  })])], 4)) : createCommentVNode("", true)], 8, ["to"]);
147872
147903
  };
@@ -162895,7 +162926,10 @@ var MaterialConsumeTablePanel_vue_vue_type_script_setup_true_lang_default = /*@_
162895
162926
  const isBomGranted = ref(false);
162896
162927
  const regionRef = computed(() => props.widget.findRegionById(props.active.context.regionId));
162897
162928
  const qtyCalcFieldOptions = computed(() => {
162898
- return fields.value.filter((e) => resolveFieldManifestType(e) === FIELD_TYPE.PRODUCTION_QTY);
162929
+ return fields.value.filter((field) => resolveFieldManifestType(field) === FIELD_TYPE.PRODUCTION_QTY).map((field) => ({
162930
+ label: field.name,
162931
+ value: field.key
162932
+ }));
162899
162933
  });
162900
162934
  const typeLabel = getTableLabelByLayoutType("material-consume-table");
162901
162935
  const { fieldInfo } = useSubTableFieldInfo(() => props.active, () => {
@@ -163055,7 +163089,7 @@ var MaterialConsumeTablePanel_vue_vue_type_script_setup_true_lang_default = /*@_
163055
163089
  init__plugin_vue_export_helper();
163056
163090
  //#endregion
163057
163091
  //#region src/suites/edhr/panel-schema/material-consume-table/material-consume-table.basic.ts
163058
- var schema$14 = createTablePanelSchema("material-consume-table.basic", /* @__PURE__ */ _plugin_vue_export_helper_default(MaterialConsumeTablePanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-0794683d"]]));
163092
+ var schema$14 = createTablePanelSchema("material-consume-table.basic", /* @__PURE__ */ _plugin_vue_export_helper_default(MaterialConsumeTablePanel_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-87032eec"]]));
163059
163093
  //#endregion
163060
163094
  //#region src/suites/edhr/panel-schema/_shared/BoundedSubTablePanel.vue?vue&type=script&setup=true&lang.ts
163061
163095
  init_table$1();
@@ -105,6 +105,8 @@ export declare class MaterialConsumeTableController {
105
105
  private setupDoc?;
106
106
  /** 脱离分页表格组件生命周期,同一文档只保留一组监听。 */
107
107
  private setupScope?;
108
+ /** 监听表格字段变更,确保普通输入组件修改 qty_ 后也会刷新派生数量。 */
109
+ private setupDataUnsubscribe?;
108
110
  /** 批次数量或生产数量 */
109
111
  get materialNoNum(): any;
110
112
  /** 物料消耗模式(自身没有配置的话取环境的默认值) */
@@ -315,7 +317,7 @@ export declare class MaterialConsumeTableController {
315
317
  /**
316
318
  * 组级:更新 qty_consumed_total_(同组 qty_ 之和)
317
319
  */
318
- updateGroupQtyConsumedTotal(): void;
320
+ updateGroupQtyConsumedTotal(doc: Doc): void;
319
321
  /**
320
322
  * qty 相关派生字段统一入口(改 qty_ / 扫码 / 删行 等都走这里)
321
323
  */
package/dist/word.css CHANGED
@@ -11892,23 +11892,23 @@ svg.portrait-icon[data-v-8bdb451e] {
11892
11892
  .bom-entry-item .iconfont.btn-item[data-v-c8fea9fa] {
11893
11893
  margin-right: 8px;
11894
11894
  }
11895
- .panel-material-consume-table[data-v-0794683d] {
11895
+ .panel-material-consume-table[data-v-87032eec] {
11896
11896
  position: relative;
11897
11897
  }
11898
- .panel-material-consume-table .container[data-v-0794683d] {
11898
+ .panel-material-consume-table .container[data-v-87032eec] {
11899
11899
  padding: 16px;
11900
11900
  }
11901
- .panel-material-consume-table .form-custom-label[data-v-0794683d] {
11901
+ .panel-material-consume-table .form-custom-label[data-v-87032eec] {
11902
11902
  display: inline-flex;
11903
11903
  align-items: center;
11904
11904
  gap: 4px;
11905
11905
  }
11906
- .panel-material-consume-table .form-custom-label .icon[data-v-0794683d] {
11906
+ .panel-material-consume-table .form-custom-label .icon[data-v-87032eec] {
11907
11907
  color: #a6a6a6;
11908
11908
  vertical-align: text-top;
11909
11909
  cursor: pointer;
11910
11910
  }
11911
- .panel-material-consume-table .content[data-v-0794683d] {
11911
+ .panel-material-consume-table .content[data-v-87032eec] {
11912
11912
  display: flex;
11913
11913
  align-items: center;
11914
11914
  justify-content: flex-end;
@@ -11916,7 +11916,7 @@ svg.portrait-icon[data-v-8bdb451e] {
11916
11916
  height: 22px;
11917
11917
  line-height: 22px;
11918
11918
  }
11919
- .panel-material-consume-table .entries-container[data-v-0794683d] {
11919
+ .panel-material-consume-table .entries-container[data-v-87032eec] {
11920
11920
  padding: 6px 0;
11921
11921
  }
11922
11922
  .panel-bounded-sub-table[data-v-50f2e798] {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gct-paas/word",
3
- "version": "0.1.74-beta.46",
3
+ "version": "0.1.74-beta.47",
4
4
  "description": "GCT 在线 word",
5
5
  "keywords": [
6
6
  "vue",