@gct-paas/word 0.1.74-beta.35 → 0.1.74-beta.36

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.es.js CHANGED
@@ -1,5 +1,5 @@
1
- /*! @gct-paas/word v0.1.74-beta.35 */
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, toHandlers, toRaw, toRef, toValue, unref, useAttrs, useCssVars, useModel, useSlots, vModelRadio, vModelText, vShow, watch, watchEffect, withCtx, withDirectives, withKeys, withModifiers } from "vue";
1
+ /*! @gct-paas/word v0.1.74-beta.36 */
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";
5
5
  import { HttpUtil, api } from "@gct-paas/api";
@@ -126376,6 +126376,18 @@ var init_material_consume_table_controller = __esmMin((() => {
126376
126376
  "dataStatus",
126377
126377
  void 0
126378
126378
  );
126379
+ _defineProperty(
126380
+ this,
126381
+ /** 当前控制器已绑定的文档。一个文档可能拆成多个画布表格组件。 */
126382
+ "setupDoc",
126383
+ void 0
126384
+ );
126385
+ _defineProperty(
126386
+ this,
126387
+ /** 脱离分页表格组件生命周期,同一文档只保留一组监听。 */
126388
+ "setupScope",
126389
+ void 0
126390
+ );
126379
126391
  _defineProperty(
126380
126392
  this,
126381
126393
  /**
@@ -126455,20 +126467,23 @@ var init_material_consume_table_controller = __esmMin((() => {
126455
126467
  */
126456
126468
  initTableData(dataManager, subFieldKey, defaultData) {
126457
126469
  if (this.isDataProcessed) return;
126470
+ const existingRows = dataManager.getRawData()[subFieldKey];
126471
+ if (Array.isArray(existingRows) && existingRows.some((row) => row && !row.deleted_ && !row.__gw_default)) return;
126458
126472
  const rows = this.calcFormState();
126459
126473
  if (!(rows === null || rows === void 0 ? void 0 : rows.length)) return;
126460
126474
  const tableRows = transformUtils.transformSourceData2SubTable(rows, {}, defaultData);
126461
126475
  tableRows.forEach((row, i) => {
126462
126476
  ensureFrontRowKey(row);
126463
- const option = {
126464
- dataManager,
126465
- subFieldKey,
126466
- rowIndex: i
126467
- };
126468
- if (i === 0) MCDataUtil.updateRow(option, false);
126469
- else MCDataUtil.updateRow(option, this.enableSequenceLoading);
126477
+ row.is_confirmed_ = i > 0 && this.enableSequenceLoading;
126470
126478
  });
126471
126479
  this.actualTableData = tableRows;
126480
+ tableRows.forEach((row, i) => {
126481
+ MCDataUtil.updateConfirmableFieldsDisablement({
126482
+ dataManager,
126483
+ rowPath: `$.${subFieldKey}[${i}]`,
126484
+ disabled: !!row.is_confirmed_
126485
+ });
126486
+ });
126472
126487
  }
126473
126488
  /**
126474
126489
  * 根据数据计算需要禁用的字段
@@ -126638,18 +126653,26 @@ var init_material_consume_table_controller = __esmMin((() => {
126638
126653
  * @param opts
126639
126654
  */
126640
126655
  async setup(opts) {
126656
+ var _this$setupScope;
126657
+ const sameDoc = this.setupDoc === opts.doc;
126641
126658
  this.tableDataRef = opts.tableDataRef;
126642
126659
  this.mainFormState = opts.mainFormState ?? ref({});
126643
126660
  this.subTableInfo = opts.subTableInfo;
126644
126661
  this.dataStatus = opts.dataStatus;
126662
+ if (sameDoc) return;
126663
+ (_this$setupScope = this.setupScope) === null || _this$setupScope === void 0 || _this$setupScope.stop();
126664
+ this.setupScope = effectScope(true);
126665
+ this.setupDoc = opts.doc;
126645
126666
  this.initTableData(opts.doc.dataManager, opts.subTableInfo.subFieldKey, opts.defaultRowData);
126646
- watch(() => this.materialNoNum, () => this.syncQtyRequiredFromBom(opts.doc), { immediate: true });
126647
- watch(() => this.tableDataRef.value.map((row) => [
126648
- row.qty_,
126649
- row.product_id_,
126650
- row.bom_entry_id_,
126651
- row.deleted_
126652
- ]), () => this.updateDerivedQtyFields(opts.doc), { deep: true });
126667
+ this.setupScope.run(() => {
126668
+ watch(() => this.materialNoNum, () => this.syncQtyRequiredFromBom(opts.doc), { immediate: true });
126669
+ watch(() => this.tableDataRef.value.map((row) => [
126670
+ row.qty_,
126671
+ row.product_id_,
126672
+ row.bom_entry_id_,
126673
+ row.deleted_
126674
+ ]), () => this.updateDerivedQtyFields(opts.doc), { deep: true });
126675
+ });
126653
126676
  }
126654
126677
  /**
126655
126678
  * 按当前 materialNoNum 回写各行 qty_required_(校验侧 total 已通过 getter 实时读取)
@@ -137758,17 +137781,17 @@ var init_tree_node_vue_vue_type_script_setup_true_lang = __esmMin((() => {
137758
137781
  });
137759
137782
  }));
137760
137783
  //#endregion
137761
- //#region src/runtime/renderer/dropdowns/components/tree/tree-node.vue?vue&type=style&index=0&scoped=6969370b&lang.less
137762
- var init_tree_node_vue_vue_type_style_index_0_scoped_6969370b_lang = __esmMin((() => {}));
137784
+ //#region src/runtime/renderer/dropdowns/components/tree/tree-node.vue?vue&type=style&index=0&scoped=6d1436ce&lang.less
137785
+ var init_tree_node_vue_vue_type_style_index_0_scoped_6d1436ce_lang = __esmMin((() => {}));
137763
137786
  //#endregion
137764
137787
  //#region src/runtime/renderer/dropdowns/components/tree/tree-node.vue
137765
137788
  var tree_node_default;
137766
137789
  var init_tree_node = __esmMin((() => {
137767
137790
  init_tree_node_vue_vue_type_script_setup_true_lang();
137768
137791
  init_tree_node_vue_vue_type_script_setup_true_lang();
137769
- init_tree_node_vue_vue_type_style_index_0_scoped_6969370b_lang();
137792
+ init_tree_node_vue_vue_type_style_index_0_scoped_6d1436ce_lang();
137770
137793
  init__plugin_vue_export_helper();
137771
- tree_node_default = /*#__PURE__*/ _plugin_vue_export_helper_default(tree_node_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-6969370b"]]);
137794
+ tree_node_default = /*#__PURE__*/ _plugin_vue_export_helper_default(tree_node_vue_vue_type_script_setup_true_lang_default, [["__scopeId", "data-v-6d1436ce"]]);
137772
137795
  }));
137773
137796
  //#endregion
137774
137797
  //#region src/runtime/renderer/dropdowns/components/tree/tree-dropdown.vue?vue&type=script&setup=true&lang.ts
@@ -139559,8 +139582,9 @@ var init_table_dropdown_vue_vue_type_script_setup_true_lang = __esmMin((() => {
139559
139582
  const onChangeSelect = async (row) => {
139560
139583
  var _row$_item;
139561
139584
  const { belongingObject, fieldType } = props.widget.widgetMeta.field;
139562
- if (belongingObject && fieldType === FIELD_TYPE.MATERIAL_NO && row.is_locked_) {
139563
- GctMessage.error(await getLotLockedReason(row.id_));
139585
+ const selectedOption = (row === null || row === void 0 ? void 0 : row._item) ?? row;
139586
+ if (belongingObject && fieldType === FIELD_TYPE.MATERIAL_NO && (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.is_locked_)) {
139587
+ GctMessage.error(await getLotLockedReason(selectedOption.id_));
139564
139588
  return;
139565
139589
  }
139566
139590
  const { __VALUE__ } = row || {};
@@ -93,6 +93,10 @@ export declare class MaterialConsumeTableController {
93
93
  dataStatus?: string;
94
94
  /** 表单是否已暂存或提交(已处理过则不再跑初始化) */
95
95
  get isDataProcessed(): boolean;
96
+ /** 当前控制器已绑定的文档。一个文档可能拆成多个画布表格组件。 */
97
+ private setupDoc?;
98
+ /** 脱离分页表格组件生命周期,同一文档只保留一组监听。 */
99
+ private setupScope?;
96
100
  /** 批次数量或生产数量 */
97
101
  get materialNoNum(): any;
98
102
  /** 物料消耗模式(自身没有配置的话取环境的默认值) */
package/dist/word.css CHANGED
@@ -8752,31 +8752,32 @@ textarea[data-v-a7d89044]::placeholder {
8752
8752
  word-break: break-all;
8753
8753
  pointer-events: none;
8754
8754
  }
8755
- .tree-node[data-v-6969370b] {
8755
+ .tree-node[data-v-6d1436ce] {
8756
8756
  display: flex;
8757
8757
  align-items: center;
8758
8758
  height: 30px;
8759
+ padding-right: 4px;
8759
8760
  cursor: pointer;
8760
8761
  transition: all 0.2s ease;
8761
8762
  }
8762
- .tree-node[data-v-6969370b]:hover:not(.disabled) {
8763
+ .tree-node[data-v-6d1436ce]:hover:not(.disabled) {
8763
8764
  background: #f2f5f8;
8764
8765
  }
8765
- .tree-node.selected[data-v-6969370b] {
8766
+ .tree-node.selected[data-v-6d1436ce] {
8766
8767
  background: #e6f7ff;
8767
8768
  }
8768
- .tree-node.disabled[data-v-6969370b] {
8769
+ .tree-node.disabled[data-v-6d1436ce] {
8769
8770
  opacity: 0.3;
8770
8771
  pointer-events: none;
8771
8772
  }
8772
- .tree-node .expand-icon[data-v-6969370b] {
8773
+ .tree-node .expand-icon[data-v-6d1436ce] {
8773
8774
  width: 16px;
8774
8775
  display: inline-flex;
8775
8776
  align-items: center;
8776
8777
  justify-content: center;
8777
8778
  margin-right: 4px;
8778
8779
  }
8779
- .tree-node .node-label[data-v-6969370b] {
8780
+ .tree-node .node-label[data-v-6d1436ce] {
8780
8781
  flex: 1;
8781
8782
  font-size: 13px;
8782
8783
  color: #212528;
@@ -8784,9 +8785,10 @@ textarea[data-v-a7d89044]::placeholder {
8784
8785
  overflow: hidden;
8785
8786
  text-overflow: ellipsis;
8786
8787
  }
8787
- .tree-node .node-right[data-v-6969370b] {
8788
+ .tree-node .node-right[data-v-6d1436ce] {
8788
8789
  margin-left: 8px;
8789
8790
  display: inline-flex;
8791
+ flex-shrink: 0;
8790
8792
  align-items: center;
8791
8793
  }
8792
8794
  .tree-dropdown[data-v-c2f538d9] {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gct-paas/word",
3
- "version": "0.1.74-beta.35",
3
+ "version": "0.1.74-beta.36",
4
4
  "description": "GCT 在线 word",
5
5
  "keywords": [
6
6
  "vue",