@gct-paas/word 0.1.64 → 0.1.66
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/core/data/DataManager.d.ts +5 -2
- package/dist/core/data/paths/subtable-path.d.ts +2 -1
- package/dist/core/data/subtable/row.d.ts +2 -6
- package/dist/core/layout/LayoutContext.d.ts +0 -2
- package/dist/domain/table/business/material/types.d.ts +2 -0
- package/dist/domain/table/runtime/engines/row-runtime-engine.d.ts +1 -1
- package/dist/domain/table/runtime/table-runtime-context.d.ts +15 -5
- package/dist/index.es.js +521 -352
- package/dist/runtime/canvas/table/render/material-consume/material-consume-table-controller.d.ts +5 -3
- package/dist/runtime/canvas/table/render/material-consume/service.d.ts +1 -1
- package/dist/suites/shared/panel/config/editor/ref-autofill-editor/autofill-runtime.d.ts +3 -1
- package/dist/word.css +117 -96
- package/package.json +1 -1
package/dist/index.es.js
CHANGED
|
@@ -19240,7 +19240,7 @@ const _hoisted_1$2B = { class: "gct-time-container" };
|
|
|
19240
19240
|
const _hoisted_2$1E = { class: "scrollbar-container" };
|
|
19241
19241
|
const _hoisted_3$1i = ["onClick"];
|
|
19242
19242
|
const _hoisted_4$Y = { class: "gct-time-footer" };
|
|
19243
|
-
const _hoisted_5$
|
|
19243
|
+
const _hoisted_5$N = { class: "gct-right-btns" };
|
|
19244
19244
|
const _sfc_main$3T = /* @__PURE__ */ defineComponent({
|
|
19245
19245
|
__name: "time",
|
|
19246
19246
|
props: {
|
|
@@ -19432,7 +19432,7 @@ const _sfc_main$3T = /* @__PURE__ */ defineComponent({
|
|
|
19432
19432
|
class: "gct-now-btn",
|
|
19433
19433
|
onClick: nowDay
|
|
19434
19434
|
}, "此刻"),
|
|
19435
|
-
createElementVNode("div", _hoisted_5$
|
|
19435
|
+
createElementVNode("div", _hoisted_5$N, [
|
|
19436
19436
|
__props.showClearBtn && __props.modelValue ? (openBlock(), createBlock(unref(GctButton), {
|
|
19437
19437
|
key: 0,
|
|
19438
19438
|
class: "gct-sure-btn",
|
|
@@ -19468,9 +19468,9 @@ const _hoisted_1$2A = { class: "gct-dtp-panel-inner" };
|
|
|
19468
19468
|
const _hoisted_2$1D = { class: "gct-dtp-date" };
|
|
19469
19469
|
const _hoisted_3$1h = { class: "gct-dtp-header" };
|
|
19470
19470
|
const _hoisted_4$X = { class: "text" };
|
|
19471
|
-
const _hoisted_5$
|
|
19472
|
-
const _hoisted_6$
|
|
19473
|
-
const _hoisted_7$
|
|
19471
|
+
const _hoisted_5$M = { class: "gct-dtp-head" };
|
|
19472
|
+
const _hoisted_6$u = { class: "gct-dtp-rows-wrapper" };
|
|
19473
|
+
const _hoisted_7$p = ["onClick"];
|
|
19474
19474
|
const _hoisted_8$j = { class: "dtp-day-label" };
|
|
19475
19475
|
const _hoisted_9$d = {
|
|
19476
19476
|
key: 0,
|
|
@@ -19481,7 +19481,7 @@ const _hoisted_10$b = {
|
|
|
19481
19481
|
class: "gct-dtp-time"
|
|
19482
19482
|
};
|
|
19483
19483
|
const _hoisted_11$8 = { class: "gct-dtp-time-header" };
|
|
19484
|
-
const _hoisted_12$
|
|
19484
|
+
const _hoisted_12$7 = { class: "gct-dtp-time-container" };
|
|
19485
19485
|
const _sfc_main$3S = /* @__PURE__ */ defineComponent({
|
|
19486
19486
|
__name: "calendar",
|
|
19487
19487
|
props: {
|
|
@@ -19677,7 +19677,7 @@ const _sfc_main$3S = /* @__PURE__ */ defineComponent({
|
|
|
19677
19677
|
onClick: withModifiers(nextMonth, ["stop"])
|
|
19678
19678
|
})
|
|
19679
19679
|
]),
|
|
19680
|
-
createElementVNode("div", _hoisted_5$
|
|
19680
|
+
createElementVNode("div", _hoisted_5$M, [
|
|
19681
19681
|
(openBlock(true), createElementBlock(Fragment, null, renderList(weekdayShort.value, (d) => {
|
|
19682
19682
|
return openBlock(), createElementBlock("div", {
|
|
19683
19683
|
class: "day head",
|
|
@@ -19685,7 +19685,7 @@ const _sfc_main$3S = /* @__PURE__ */ defineComponent({
|
|
|
19685
19685
|
}, toDisplayString(d), 1);
|
|
19686
19686
|
}), 128))
|
|
19687
19687
|
]),
|
|
19688
|
-
createElementVNode("div", _hoisted_6$
|
|
19688
|
+
createElementVNode("div", _hoisted_6$u, [
|
|
19689
19689
|
createVNode(Transition, {
|
|
19690
19690
|
name: transitionName.value,
|
|
19691
19691
|
mode: "out-in"
|
|
@@ -19707,7 +19707,7 @@ const _sfc_main$3S = /* @__PURE__ */ defineComponent({
|
|
|
19707
19707
|
onClick: ($event) => onSelectDay(day)
|
|
19708
19708
|
}, [
|
|
19709
19709
|
createElementVNode("div", _hoisted_8$j, toDisplayString(day.label), 1)
|
|
19710
|
-
], 10, _hoisted_7$
|
|
19710
|
+
], 10, _hoisted_7$p);
|
|
19711
19711
|
}), 128))
|
|
19712
19712
|
]);
|
|
19713
19713
|
}), 128))
|
|
@@ -19732,7 +19732,7 @@ const _sfc_main$3S = /* @__PURE__ */ defineComponent({
|
|
|
19732
19732
|
]),
|
|
19733
19733
|
showTimeLocal.value ? (openBlock(), createElementBlock("div", _hoisted_10$b, [
|
|
19734
19734
|
createElementVNode("div", _hoisted_11$8, toDisplayString(timeValue.value), 1),
|
|
19735
|
-
createElementVNode("div", _hoisted_12$
|
|
19735
|
+
createElementVNode("div", _hoisted_12$7, [
|
|
19736
19736
|
createVNode(GctTimer, {
|
|
19737
19737
|
"model-value": timeValue.value,
|
|
19738
19738
|
format: __props.timeFormat,
|
|
@@ -19881,9 +19881,9 @@ const _hoisted_3$1f = {
|
|
|
19881
19881
|
class: "group-label"
|
|
19882
19882
|
};
|
|
19883
19883
|
const _hoisted_4$W = ["onClick"];
|
|
19884
|
-
const _hoisted_5$
|
|
19885
|
-
const _hoisted_6$
|
|
19886
|
-
const _hoisted_7$
|
|
19884
|
+
const _hoisted_5$L = { class: "option-label" };
|
|
19885
|
+
const _hoisted_6$t = { class: "option-right" };
|
|
19886
|
+
const _hoisted_7$o = {
|
|
19887
19887
|
key: 1,
|
|
19888
19888
|
class: "divider"
|
|
19889
19889
|
};
|
|
@@ -20005,11 +20005,11 @@ const _sfc_main$3O = /* @__PURE__ */ defineComponent({
|
|
|
20005
20005
|
createTextVNode(toDisplayString(item.tip || item.label), 1)
|
|
20006
20006
|
]),
|
|
20007
20007
|
default: withCtx(() => [
|
|
20008
|
-
createElementVNode("span", _hoisted_5$
|
|
20008
|
+
createElementVNode("span", _hoisted_5$L, toDisplayString(item.label), 1)
|
|
20009
20009
|
]),
|
|
20010
20010
|
_: 2
|
|
20011
20011
|
}, 1032, ["disabled"]),
|
|
20012
|
-
createElementVNode("div", _hoisted_6$
|
|
20012
|
+
createElementVNode("div", _hoisted_6$t, [
|
|
20013
20013
|
withDirectives(createVNode(unref(GctIcon), {
|
|
20014
20014
|
class: "edit-icon",
|
|
20015
20015
|
icon: "icon-sheji-2",
|
|
@@ -20029,7 +20029,7 @@ const _sfc_main$3O = /* @__PURE__ */ defineComponent({
|
|
|
20029
20029
|
], 64))
|
|
20030
20030
|
], 10, _hoisted_4$W);
|
|
20031
20031
|
}), 128)),
|
|
20032
|
-
group2._showDivider !== false && groupIndex !== normalizedGroupOptions.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_7$
|
|
20032
|
+
group2._showDivider !== false && groupIndex !== normalizedGroupOptions.value.length - 1 ? (openBlock(), createElementBlock("div", _hoisted_7$o)) : createCommentVNode("", true)
|
|
20033
20033
|
], 64);
|
|
20034
20034
|
}), 128)) : (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(normalizedFlatOptions.value, (item) => {
|
|
20035
20035
|
return openBlock(), createElementBlock("div", {
|
|
@@ -20331,12 +20331,12 @@ const _hoisted_1$2t = {
|
|
|
20331
20331
|
const _hoisted_2$1x = ["src"];
|
|
20332
20332
|
const _hoisted_3$1b = { class: "upload-img-mask" };
|
|
20333
20333
|
const _hoisted_4$V = { class: "tip-text" };
|
|
20334
|
-
const _hoisted_5$
|
|
20334
|
+
const _hoisted_5$K = {
|
|
20335
20335
|
key: 2,
|
|
20336
20336
|
class: "upload-loading"
|
|
20337
20337
|
};
|
|
20338
|
-
const _hoisted_6$
|
|
20339
|
-
const _hoisted_7$
|
|
20338
|
+
const _hoisted_6$s = ["accept"];
|
|
20339
|
+
const _hoisted_7$n = ["src"];
|
|
20340
20340
|
const _sfc_main$3J = /* @__PURE__ */ defineComponent({
|
|
20341
20341
|
__name: "image-upload",
|
|
20342
20342
|
props: {
|
|
@@ -20425,7 +20425,7 @@ const _sfc_main$3J = /* @__PURE__ */ defineComponent({
|
|
|
20425
20425
|
createElementVNode("div", _hoisted_4$V, toDisplayString(__props.tip), 1)
|
|
20426
20426
|
])
|
|
20427
20427
|
])),
|
|
20428
|
-
loading.value ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
20428
|
+
loading.value ? (openBlock(), createElementBlock("div", _hoisted_5$K, [..._cache[2] || (_cache[2] = [
|
|
20429
20429
|
createElementVNode("i", { class: "iconfont icon-gongzuotai_gongshi" }, null, -1)
|
|
20430
20430
|
])])) : createCommentVNode("", true)
|
|
20431
20431
|
], 4),
|
|
@@ -20436,13 +20436,13 @@ const _sfc_main$3J = /* @__PURE__ */ defineComponent({
|
|
|
20436
20436
|
class: "gct-upload-hidden-input",
|
|
20437
20437
|
accept: __props.accept,
|
|
20438
20438
|
onChange: handleChange
|
|
20439
|
-
}, null, 40, _hoisted_6$
|
|
20439
|
+
}, null, 40, _hoisted_6$s),
|
|
20440
20440
|
previewUrl.value ? (openBlock(), createElementBlock("div", {
|
|
20441
20441
|
key: 0,
|
|
20442
20442
|
class: "preview-mask",
|
|
20443
20443
|
onClick: _cache[0] || (_cache[0] = ($event) => previewUrl.value = "")
|
|
20444
20444
|
}, [
|
|
20445
|
-
createElementVNode("img", { src: previewUrl.value }, null, 8, _hoisted_7$
|
|
20445
|
+
createElementVNode("img", { src: previewUrl.value }, null, 8, _hoisted_7$n)
|
|
20446
20446
|
])) : createCommentVNode("", true)
|
|
20447
20447
|
], 64);
|
|
20448
20448
|
};
|
|
@@ -20462,12 +20462,12 @@ const _hoisted_4$U = {
|
|
|
20462
20462
|
key: 2,
|
|
20463
20463
|
class: "gct-input-count"
|
|
20464
20464
|
};
|
|
20465
|
-
const _hoisted_5$
|
|
20466
|
-
const _hoisted_6$
|
|
20465
|
+
const _hoisted_5$J = { key: 0 };
|
|
20466
|
+
const _hoisted_6$r = {
|
|
20467
20467
|
key: 3,
|
|
20468
20468
|
class: "gct-input-suffix"
|
|
20469
20469
|
};
|
|
20470
|
-
const _hoisted_7$
|
|
20470
|
+
const _hoisted_7$m = { class: "gct-input-suffix-text" };
|
|
20471
20471
|
const _sfc_main$3I = /* @__PURE__ */ defineComponent({
|
|
20472
20472
|
__name: "input",
|
|
20473
20473
|
props: {
|
|
@@ -20671,10 +20671,10 @@ const _sfc_main$3I = /* @__PURE__ */ defineComponent({
|
|
|
20671
20671
|
])) : createCommentVNode("", true),
|
|
20672
20672
|
props.showCount ? (openBlock(), createElementBlock("span", _hoisted_4$U, [
|
|
20673
20673
|
createTextVNode(toDisplayString(countValue.value), 1),
|
|
20674
|
-
props.maxLength ? (openBlock(), createElementBlock("span", _hoisted_5$
|
|
20674
|
+
props.maxLength ? (openBlock(), createElementBlock("span", _hoisted_5$J, " / " + toDisplayString(props.maxLength), 1)) : createCommentVNode("", true)
|
|
20675
20675
|
])) : createCommentVNode("", true),
|
|
20676
|
-
props.suffix ? (openBlock(), createElementBlock("span", _hoisted_6$
|
|
20677
|
-
createElementVNode("span", _hoisted_7$
|
|
20676
|
+
props.suffix ? (openBlock(), createElementBlock("span", _hoisted_6$r, [
|
|
20677
|
+
createElementVNode("span", _hoisted_7$m, toDisplayString(__props.suffix), 1)
|
|
20678
20678
|
])) : createCommentVNode("", true)
|
|
20679
20679
|
], 2)
|
|
20680
20680
|
], 6);
|
|
@@ -23817,7 +23817,7 @@ const _hoisted_4$T = {
|
|
|
23817
23817
|
key: 2,
|
|
23818
23818
|
class: "gct-input-number-suffix"
|
|
23819
23819
|
};
|
|
23820
|
-
const _hoisted_5$
|
|
23820
|
+
const _hoisted_5$I = { class: "gct-input-number-suffix-text" };
|
|
23821
23821
|
const _sfc_main$3H = /* @__PURE__ */ defineComponent({
|
|
23822
23822
|
__name: "input-number",
|
|
23823
23823
|
props: {
|
|
@@ -24080,7 +24080,7 @@ const _sfc_main$3H = /* @__PURE__ */ defineComponent({
|
|
|
24080
24080
|
], 2)
|
|
24081
24081
|
])) : createCommentVNode("", true),
|
|
24082
24082
|
props.suffix ? (openBlock(), createElementBlock("span", _hoisted_4$T, [
|
|
24083
|
-
createElementVNode("span", _hoisted_5$
|
|
24083
|
+
createElementVNode("span", _hoisted_5$I, toDisplayString(__props.suffix), 1)
|
|
24084
24084
|
])) : createCommentVNode("", true)
|
|
24085
24085
|
], 2);
|
|
24086
24086
|
};
|
|
@@ -25715,12 +25715,12 @@ const _hoisted_1$2i = { class: "popper-container" };
|
|
|
25715
25715
|
const _hoisted_2$1q = { class: "group-name" };
|
|
25716
25716
|
const _hoisted_3$14 = ["onClick"];
|
|
25717
25717
|
const _hoisted_4$Q = ["onClick"];
|
|
25718
|
-
const _hoisted_5$
|
|
25718
|
+
const _hoisted_5$H = {
|
|
25719
25719
|
key: 2,
|
|
25720
25720
|
class: "empty"
|
|
25721
25721
|
};
|
|
25722
|
-
const _hoisted_6$
|
|
25723
|
-
const _hoisted_7$
|
|
25722
|
+
const _hoisted_6$q = ["title"];
|
|
25723
|
+
const _hoisted_7$l = { class: "selection-tag-content" };
|
|
25724
25724
|
const _hoisted_8$h = {
|
|
25725
25725
|
key: 2,
|
|
25726
25726
|
class: "placeholder"
|
|
@@ -25925,7 +25925,7 @@ const _sfc_main$3x = /* @__PURE__ */ defineComponent({
|
|
|
25925
25925
|
], 64))
|
|
25926
25926
|
], 10, _hoisted_4$Q);
|
|
25927
25927
|
}), 128)),
|
|
25928
|
-
!normalizedFlatOptions.value.length ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
25928
|
+
!normalizedFlatOptions.value.length ? (openBlock(), createElementBlock("div", _hoisted_5$H, " 暂无数据 ")) : createCommentVNode("", true)
|
|
25929
25929
|
])
|
|
25930
25930
|
]),
|
|
25931
25931
|
_: 3
|
|
@@ -25942,13 +25942,13 @@ const _sfc_main$3x = /* @__PURE__ */ defineComponent({
|
|
|
25942
25942
|
key: 0,
|
|
25943
25943
|
class: "select-selection-item",
|
|
25944
25944
|
title: selectedOptions.value[0].label
|
|
25945
|
-
}, toDisplayString(selectedOptions.value[0].label), 9, _hoisted_6$
|
|
25945
|
+
}, toDisplayString(selectedOptions.value[0].label), 9, _hoisted_6$q)) : createCommentVNode("", true),
|
|
25946
25946
|
__props.multiple ? (openBlock(true), createElementBlock(Fragment, { key: 1 }, renderList(selectedOptions.value, (item, idx) => {
|
|
25947
25947
|
return openBlock(), createElementBlock("span", {
|
|
25948
25948
|
class: "select-selection-tag",
|
|
25949
25949
|
key: item.value
|
|
25950
25950
|
}, [
|
|
25951
|
-
createElementVNode("span", _hoisted_7$
|
|
25951
|
+
createElementVNode("span", _hoisted_7$l, toDisplayString(item.label), 1),
|
|
25952
25952
|
createVNode(unref(GctIcon), {
|
|
25953
25953
|
class: "selection-tag-remove",
|
|
25954
25954
|
icon: "icon-guanbi-Paddanchuang",
|
|
@@ -25993,12 +25993,17 @@ const _sfc_main$3x = /* @__PURE__ */ defineComponent({
|
|
|
25993
25993
|
const GctSelect = /* @__PURE__ */ _export_sfc(_sfc_main$3x, [["__scopeId", "data-v-24259f13"]]);
|
|
25994
25994
|
const _hoisted_1$2h = ["value", "placeholder", "disabled"];
|
|
25995
25995
|
const _hoisted_2$1p = {
|
|
25996
|
-
key:
|
|
25997
|
-
class: "gct-ss-
|
|
25996
|
+
key: 2,
|
|
25997
|
+
class: "gct-ss-suffix-icon"
|
|
25998
25998
|
};
|
|
25999
|
-
const _hoisted_3$13 = {
|
|
26000
|
-
|
|
26001
|
-
|
|
25999
|
+
const _hoisted_3$13 = {
|
|
26000
|
+
key: 3,
|
|
26001
|
+
class: "gct-ss-suffix-icon"
|
|
26002
|
+
};
|
|
26003
|
+
const _hoisted_4$P = { class: "gct-ss-list" };
|
|
26004
|
+
const _hoisted_5$G = ["onClick"];
|
|
26005
|
+
const _hoisted_6$p = { class: "gct-ss-option-label" };
|
|
26006
|
+
const _hoisted_7$k = {
|
|
26002
26007
|
key: 0,
|
|
26003
26008
|
class: "gct-ss-empty"
|
|
26004
26009
|
};
|
|
@@ -26021,17 +26026,25 @@ const _sfc_main$3w = /* @__PURE__ */ defineComponent({
|
|
|
26021
26026
|
const inputRef = ref();
|
|
26022
26027
|
const dropdownRef = ref();
|
|
26023
26028
|
const isOpen = ref(false);
|
|
26029
|
+
const isHovered = ref(false);
|
|
26024
26030
|
const keyword = ref("");
|
|
26025
26031
|
const dropdownStyle = ref({});
|
|
26026
|
-
const selectedOption = computed(
|
|
26027
|
-
() => props.options.find((o) => o.value === props.modelValue)
|
|
26028
|
-
);
|
|
26032
|
+
const selectedOption = computed(() => props.options.find((o) => o.value === props.modelValue));
|
|
26029
26033
|
const selectedLabel = computed(() => selectedOption.value?.label ?? "");
|
|
26030
26034
|
const inputDisplayValue = computed(() => isOpen.value ? keyword.value : "");
|
|
26035
|
+
const suffixIcon = computed(() => {
|
|
26036
|
+
if (props.allowClear && !props.disabled && !props.readonly && !isOpen.value && !!selectedLabel.value && isHovered.value) {
|
|
26037
|
+
return "clear";
|
|
26038
|
+
}
|
|
26039
|
+
if (isOpen.value) return "search";
|
|
26040
|
+
return "arrow";
|
|
26041
|
+
});
|
|
26031
26042
|
const filteredOptions = computed(() => {
|
|
26032
26043
|
if (!keyword.value.trim()) return props.options;
|
|
26033
26044
|
const kw = keyword.value.trim().toLowerCase();
|
|
26034
|
-
return props.options.filter(
|
|
26045
|
+
return props.options.filter(
|
|
26046
|
+
(o) => String(o.label ?? "").toLowerCase().includes(kw)
|
|
26047
|
+
);
|
|
26035
26048
|
});
|
|
26036
26049
|
function calcDropdownPosition() {
|
|
26037
26050
|
if (!rootRef.value) return;
|
|
@@ -26084,6 +26097,7 @@ const _sfc_main$3w = /* @__PURE__ */ defineComponent({
|
|
|
26084
26097
|
emit("update:modelValue", void 0);
|
|
26085
26098
|
emit("change", void 0);
|
|
26086
26099
|
keyword.value = "";
|
|
26100
|
+
close();
|
|
26087
26101
|
}
|
|
26088
26102
|
function onClickOutside(e) {
|
|
26089
26103
|
if (!isOpen.value) return;
|
|
@@ -26104,9 +26118,12 @@ const _sfc_main$3w = /* @__PURE__ */ defineComponent({
|
|
|
26104
26118
|
window.removeEventListener("resize", onScroll);
|
|
26105
26119
|
window.removeEventListener("scroll", onScroll, true);
|
|
26106
26120
|
});
|
|
26107
|
-
watch(
|
|
26108
|
-
|
|
26109
|
-
|
|
26121
|
+
watch(
|
|
26122
|
+
() => props.modelValue,
|
|
26123
|
+
() => {
|
|
26124
|
+
keyword.value = "";
|
|
26125
|
+
}
|
|
26126
|
+
);
|
|
26110
26127
|
return (_ctx, _cache) => {
|
|
26111
26128
|
return openBlock(), createElementBlock("div", {
|
|
26112
26129
|
ref_key: "rootRef",
|
|
@@ -26115,8 +26132,18 @@ const _sfc_main$3w = /* @__PURE__ */ defineComponent({
|
|
|
26115
26132
|
}, [
|
|
26116
26133
|
createElementVNode("div", {
|
|
26117
26134
|
class: normalizeClass(["gct-ss-trigger", { open: isOpen.value, disabled: __props.disabled, readonly: __props.readonly }]),
|
|
26118
|
-
onClick: onTriggerClick
|
|
26135
|
+
onClick: onTriggerClick,
|
|
26136
|
+
onMouseenter: _cache[1] || (_cache[1] = ($event) => isHovered.value = true),
|
|
26137
|
+
onMouseleave: _cache[2] || (_cache[2] = ($event) => isHovered.value = false)
|
|
26119
26138
|
}, [
|
|
26139
|
+
selectedOption.value?.icon && !isOpen.value ? (openBlock(), createBlock(unref(GctIcon), {
|
|
26140
|
+
key: 0,
|
|
26141
|
+
class: "gct-ss-trigger-icon",
|
|
26142
|
+
icon: selectedOption.value.icon,
|
|
26143
|
+
color: selectedOption.value.iconColor || "#026ac8",
|
|
26144
|
+
size: "16",
|
|
26145
|
+
version: selectedOption.value.iconVersion
|
|
26146
|
+
}, null, 8, ["icon", "color", "version"])) : createCommentVNode("", true),
|
|
26120
26147
|
createElementVNode("input", {
|
|
26121
26148
|
ref_key: "inputRef",
|
|
26122
26149
|
ref: inputRef,
|
|
@@ -26132,9 +26159,11 @@ const _sfc_main$3w = /* @__PURE__ */ defineComponent({
|
|
|
26132
26159
|
withKeys(close, ["tab"])
|
|
26133
26160
|
]
|
|
26134
26161
|
}, null, 42, _hoisted_1$2h),
|
|
26135
|
-
|
|
26136
|
-
key:
|
|
26162
|
+
suffixIcon.value === "clear" ? (openBlock(), createElementBlock("span", {
|
|
26163
|
+
key: 1,
|
|
26137
26164
|
class: "gct-ss-clear",
|
|
26165
|
+
onMousedown: _cache[0] || (_cache[0] = withModifiers(() => {
|
|
26166
|
+
}, ["prevent"])),
|
|
26138
26167
|
onClick: withModifiers(onClear, ["stop"])
|
|
26139
26168
|
}, [
|
|
26140
26169
|
createVNode(unref(GctIcon), {
|
|
@@ -26142,14 +26171,20 @@ const _sfc_main$3w = /* @__PURE__ */ defineComponent({
|
|
|
26142
26171
|
color: "rgba(0,0,0,0.25)",
|
|
26143
26172
|
size: "14"
|
|
26144
26173
|
})
|
|
26145
|
-
])) : (openBlock(), createElementBlock("span", _hoisted_2$1p, [
|
|
26174
|
+
], 32)) : suffixIcon.value === "search" ? (openBlock(), createElementBlock("span", _hoisted_2$1p, [
|
|
26146
26175
|
createVNode(unref(GctIcon), {
|
|
26147
26176
|
icon: "icon-sousuo",
|
|
26148
26177
|
color: "rgba(0, 0, 0, 0.45)",
|
|
26149
26178
|
size: "14"
|
|
26150
26179
|
})
|
|
26180
|
+
])) : (openBlock(), createElementBlock("span", _hoisted_3$13, [
|
|
26181
|
+
createVNode(unref(GctIcon), {
|
|
26182
|
+
icon: "icon-arrow_zhankai",
|
|
26183
|
+
color: "#6b6b6b",
|
|
26184
|
+
version: "v2"
|
|
26185
|
+
})
|
|
26151
26186
|
]))
|
|
26152
|
-
],
|
|
26187
|
+
], 34),
|
|
26153
26188
|
(openBlock(), createBlock(Teleport, { to: "body" }, [
|
|
26154
26189
|
isOpen.value ? (openBlock(), createElementBlock("div", {
|
|
26155
26190
|
key: 0,
|
|
@@ -26157,7 +26192,7 @@ const _sfc_main$3w = /* @__PURE__ */ defineComponent({
|
|
|
26157
26192
|
ref: dropdownRef,
|
|
26158
26193
|
class: "gct-ss-dropdown",
|
|
26159
26194
|
style: normalizeStyle(dropdownStyle.value),
|
|
26160
|
-
onMousedown: _cache[
|
|
26195
|
+
onMousedown: _cache[3] || (_cache[3] = withModifiers(() => {
|
|
26161
26196
|
}, ["prevent"]))
|
|
26162
26197
|
}, [
|
|
26163
26198
|
createVNode(unref(GctScrollbar), {
|
|
@@ -26165,15 +26200,25 @@ const _sfc_main$3w = /* @__PURE__ */ defineComponent({
|
|
|
26165
26200
|
"wrap-style": { maxHeight: "280px" }
|
|
26166
26201
|
}, {
|
|
26167
26202
|
default: withCtx(() => [
|
|
26168
|
-
createElementVNode("div",
|
|
26203
|
+
createElementVNode("div", _hoisted_4$P, [
|
|
26169
26204
|
(openBlock(true), createElementBlock(Fragment, null, renderList(filteredOptions.value, (item) => {
|
|
26170
26205
|
return openBlock(), createElementBlock("div", {
|
|
26171
26206
|
key: item.value,
|
|
26172
26207
|
class: normalizeClass(["gct-ss-option", { selected: item.value === __props.modelValue, disabled: item.disabled }]),
|
|
26173
26208
|
onClick: ($event) => onSelect(item)
|
|
26174
|
-
},
|
|
26209
|
+
}, [
|
|
26210
|
+
item.icon ? (openBlock(), createBlock(unref(GctIcon), {
|
|
26211
|
+
key: 0,
|
|
26212
|
+
class: "gct-ss-option-icon",
|
|
26213
|
+
icon: item.icon,
|
|
26214
|
+
color: item.iconColor || "#026ac8",
|
|
26215
|
+
size: "16",
|
|
26216
|
+
version: item.iconVersion
|
|
26217
|
+
}, null, 8, ["icon", "color", "version"])) : createCommentVNode("", true),
|
|
26218
|
+
createElementVNode("span", _hoisted_6$p, toDisplayString(item.label), 1)
|
|
26219
|
+
], 10, _hoisted_5$G);
|
|
26175
26220
|
}), 128)),
|
|
26176
|
-
!filteredOptions.value.length ? (openBlock(), createElementBlock("div",
|
|
26221
|
+
!filteredOptions.value.length ? (openBlock(), createElementBlock("div", _hoisted_7$k, "暂无数据")) : createCommentVNode("", true)
|
|
26177
26222
|
])
|
|
26178
26223
|
]),
|
|
26179
26224
|
_: 1
|
|
@@ -26184,7 +26229,7 @@ const _sfc_main$3w = /* @__PURE__ */ defineComponent({
|
|
|
26184
26229
|
};
|
|
26185
26230
|
}
|
|
26186
26231
|
});
|
|
26187
|
-
const GctSearchableSelect = /* @__PURE__ */ _export_sfc(_sfc_main$3w, [["__scopeId", "data-v-
|
|
26232
|
+
const GctSearchableSelect = /* @__PURE__ */ _export_sfc(_sfc_main$3w, [["__scopeId", "data-v-a62a8441"]]);
|
|
26188
26233
|
const _hoisted_1$2g = ["disabled"];
|
|
26189
26234
|
const _sfc_main$3v = /* @__PURE__ */ defineComponent({
|
|
26190
26235
|
__name: "switch",
|
|
@@ -26238,7 +26283,7 @@ const _hoisted_3$12 = {
|
|
|
26238
26283
|
class: "selection-col"
|
|
26239
26284
|
};
|
|
26240
26285
|
const _hoisted_4$O = ["onClick"];
|
|
26241
|
-
const _hoisted_5$
|
|
26286
|
+
const _hoisted_5$F = {
|
|
26242
26287
|
key: 0,
|
|
26243
26288
|
class: "selection-col"
|
|
26244
26289
|
};
|
|
@@ -26362,7 +26407,7 @@ const _sfc_main$3u = /* @__PURE__ */ defineComponent({
|
|
|
26362
26407
|
}),
|
|
26363
26408
|
onClick: ($event) => _ctx.$emit("row-click", row)
|
|
26364
26409
|
}, [
|
|
26365
|
-
__props.selectable ? (openBlock(), createElementBlock("td", _hoisted_5$
|
|
26410
|
+
__props.selectable ? (openBlock(), createElementBlock("td", _hoisted_5$F, [
|
|
26366
26411
|
renderSlot(_ctx.$slots, "select", {
|
|
26367
26412
|
row,
|
|
26368
26413
|
checked: getIsSelected(row)
|
|
@@ -26506,7 +26551,7 @@ const _hoisted_2$1n = {
|
|
|
26506
26551
|
};
|
|
26507
26552
|
const _hoisted_3$11 = { class: "rdo-tree-select-node__title" };
|
|
26508
26553
|
const _hoisted_4$N = { class: "rdo-tree-select-node__label" };
|
|
26509
|
-
const _hoisted_5$
|
|
26554
|
+
const _hoisted_5$E = {
|
|
26510
26555
|
key: 0,
|
|
26511
26556
|
class: "rdo-tree-select-node__tag"
|
|
26512
26557
|
};
|
|
@@ -26566,7 +26611,7 @@ const _sfc_main$3r = /* @__PURE__ */ defineComponent({
|
|
|
26566
26611
|
], 2)) : (openBlock(), createElementBlock("span", _hoisted_2$1n)),
|
|
26567
26612
|
createElementVNode("span", _hoisted_3$11, [
|
|
26568
26613
|
createElementVNode("span", _hoisted_4$N, toDisplayString(__props.node.title), 1),
|
|
26569
|
-
__props.node.isDefault && !hasChildren.value ? (openBlock(), createElementBlock("span", _hoisted_5$
|
|
26614
|
+
__props.node.isDefault && !hasChildren.value ? (openBlock(), createElementBlock("span", _hoisted_5$E, "默认")) : createCommentVNode("", true)
|
|
26570
26615
|
])
|
|
26571
26616
|
], 6),
|
|
26572
26617
|
hasChildren.value && expanded.value ? (openBlock(true), createElementBlock(Fragment, { key: 0 }, renderList(__props.node.children, (child) => {
|
|
@@ -27089,7 +27134,7 @@ const _hoisted_4$M = {
|
|
|
27089
27134
|
key: 0,
|
|
27090
27135
|
class: "rdo-tree-select__value-tag"
|
|
27091
27136
|
};
|
|
27092
|
-
const _hoisted_5$
|
|
27137
|
+
const _hoisted_5$D = ["value", "placeholder", "disabled", "onKeydown"];
|
|
27093
27138
|
const _hoisted_6$o = {
|
|
27094
27139
|
key: 1,
|
|
27095
27140
|
class: "rdo-tree-select__value"
|
|
@@ -27098,13 +27143,21 @@ const _hoisted_7$j = {
|
|
|
27098
27143
|
key: 0,
|
|
27099
27144
|
class: "rdo-tree-select__value-tag"
|
|
27100
27145
|
};
|
|
27101
|
-
const _hoisted_8$g =
|
|
27102
|
-
|
|
27103
|
-
|
|
27146
|
+
const _hoisted_8$g = {
|
|
27147
|
+
key: 1,
|
|
27148
|
+
class: "rdo-tree-select__suffix-icon"
|
|
27149
|
+
};
|
|
27150
|
+
const _hoisted_9$b = {
|
|
27151
|
+
key: 2,
|
|
27152
|
+
class: "rdo-tree-select__suffix-icon"
|
|
27153
|
+
};
|
|
27154
|
+
const _hoisted_10$9 = ["title"];
|
|
27155
|
+
const _hoisted_11$7 = { class: "rdo-tree-select__value-text" };
|
|
27156
|
+
const _hoisted_12$6 = {
|
|
27104
27157
|
key: 0,
|
|
27105
27158
|
class: "rdo-tree-select__value-tag"
|
|
27106
27159
|
};
|
|
27107
|
-
const
|
|
27160
|
+
const _hoisted_13$5 = {
|
|
27108
27161
|
key: 1,
|
|
27109
27162
|
class: "rdo-tree-select__placeholder"
|
|
27110
27163
|
};
|
|
@@ -27133,6 +27186,7 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
|
|
|
27133
27186
|
const dropdownRef = ref();
|
|
27134
27187
|
const isOpen = ref(false);
|
|
27135
27188
|
const isDropdownOpen = ref(false);
|
|
27189
|
+
const isHovered = ref(false);
|
|
27136
27190
|
const dropdownStyle = ref({});
|
|
27137
27191
|
const loading = ref(false);
|
|
27138
27192
|
const expandedKeys = ref([]);
|
|
@@ -27155,10 +27209,19 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
|
|
|
27155
27209
|
});
|
|
27156
27210
|
const innerValue = computed(() => props.modelValue || void 0);
|
|
27157
27211
|
const selectedLabel = computed(() => selectedDisplay.value.text || "");
|
|
27158
|
-
const
|
|
27159
|
-
|
|
27160
|
-
|
|
27161
|
-
|
|
27212
|
+
const searchableSuffixIcon = computed(() => {
|
|
27213
|
+
if (props.allowClear && !props.disabled && !isOpen.value && !!selectedLabel.value && isHovered.value) {
|
|
27214
|
+
return "clear";
|
|
27215
|
+
}
|
|
27216
|
+
if (isOpen.value) return "search";
|
|
27217
|
+
return "arrow";
|
|
27218
|
+
});
|
|
27219
|
+
const defaultSuffixIcon = computed(() => {
|
|
27220
|
+
if (props.allowClear && !props.disabled && !!innerValue.value && isHovered.value) {
|
|
27221
|
+
return "clear";
|
|
27222
|
+
}
|
|
27223
|
+
return "arrow";
|
|
27224
|
+
});
|
|
27162
27225
|
const displayTreeData = computed(() => {
|
|
27163
27226
|
if (!props.disabledParent) {
|
|
27164
27227
|
return treeData.value.map((node) => ({ ...node, disabled: false }));
|
|
@@ -27273,14 +27336,6 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
|
|
|
27273
27336
|
keyword.value = "";
|
|
27274
27337
|
activeKeyword.value = "";
|
|
27275
27338
|
}
|
|
27276
|
-
function toggleSearchPanel() {
|
|
27277
|
-
if (props.disabled) return;
|
|
27278
|
-
if (isOpen.value) {
|
|
27279
|
-
closeSearch();
|
|
27280
|
-
return;
|
|
27281
|
-
}
|
|
27282
|
-
void openSearch();
|
|
27283
|
-
}
|
|
27284
27339
|
function onSearchTriggerClick() {
|
|
27285
27340
|
if (props.disabled) return;
|
|
27286
27341
|
if (!isOpen.value) {
|
|
@@ -27291,20 +27346,9 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
|
|
|
27291
27346
|
keyword.value = e.target.value;
|
|
27292
27347
|
debouncedSearch();
|
|
27293
27348
|
}
|
|
27294
|
-
|
|
27295
|
-
debouncedSearch.cancel();
|
|
27296
|
-
keyword.value = "";
|
|
27297
|
-
activeKeyword.value = "";
|
|
27298
|
-
await syncPanelData({ forceRefresh: true });
|
|
27299
|
-
await nextTick();
|
|
27300
|
-
inputRef.value?.focus();
|
|
27301
|
-
}
|
|
27302
|
-
function onClearIconClick() {
|
|
27303
|
-
if (showSearchClearIcon.value) {
|
|
27304
|
-
void clearSearchKeyword();
|
|
27305
|
-
return;
|
|
27306
|
-
}
|
|
27349
|
+
function onSearchClear() {
|
|
27307
27350
|
clearValue();
|
|
27351
|
+
closeSearch();
|
|
27308
27352
|
}
|
|
27309
27353
|
function onClickOutside(e) {
|
|
27310
27354
|
if (!isOpen.value) return;
|
|
@@ -27416,7 +27460,9 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
|
|
|
27416
27460
|
}, [
|
|
27417
27461
|
createElementVNode("div", {
|
|
27418
27462
|
class: normalizeClass(["rdo-tree-select__trigger rdo-tree-select__trigger--searchable", { open: isOpen.value }]),
|
|
27419
|
-
onClick: onSearchTriggerClick
|
|
27463
|
+
onClick: onSearchTriggerClick,
|
|
27464
|
+
onMouseenter: _cache[1] || (_cache[1] = ($event) => isHovered.value = true),
|
|
27465
|
+
onMouseleave: _cache[2] || (_cache[2] = ($event) => isHovered.value = false)
|
|
27420
27466
|
}, [
|
|
27421
27467
|
createElementVNode("div", {
|
|
27422
27468
|
class: normalizeClass(["rdo-tree-select__field", { "is-open": isOpen.value }])
|
|
@@ -27439,7 +27485,7 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
|
|
|
27439
27485
|
withKeys(withModifiers(closeSearch, ["stop"]), ["esc"]),
|
|
27440
27486
|
withKeys(closeSearch, ["tab"])
|
|
27441
27487
|
]
|
|
27442
|
-
}, null, 42, _hoisted_5$
|
|
27488
|
+
}, null, 42, _hoisted_5$D)
|
|
27443
27489
|
])) : (openBlock(), createElementBlock("span", _hoisted_6$o, [
|
|
27444
27490
|
createElementVNode("span", {
|
|
27445
27491
|
class: normalizeClass(["rdo-tree-select__value-text", { "is-placeholder": !selectedLabel.value }])
|
|
@@ -27447,22 +27493,32 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
|
|
|
27447
27493
|
selectedDisplay.value.showDefaultTag ? (openBlock(), createElementBlock("span", _hoisted_7$j, "默认")) : createCommentVNode("", true)
|
|
27448
27494
|
]))
|
|
27449
27495
|
], 2),
|
|
27450
|
-
|
|
27496
|
+
searchableSuffixIcon.value === "clear" ? (openBlock(), createElementBlock("span", {
|
|
27451
27497
|
key: 0,
|
|
27452
|
-
class: "rdo-tree-select__clear
|
|
27453
|
-
|
|
27454
|
-
|
|
27455
|
-
|
|
27456
|
-
|
|
27457
|
-
|
|
27458
|
-
|
|
27459
|
-
|
|
27460
|
-
|
|
27461
|
-
|
|
27462
|
-
|
|
27463
|
-
|
|
27464
|
-
|
|
27465
|
-
|
|
27498
|
+
class: "rdo-tree-select__clear",
|
|
27499
|
+
onMousedown: _cache[0] || (_cache[0] = withModifiers(() => {
|
|
27500
|
+
}, ["prevent"])),
|
|
27501
|
+
onClick: withModifiers(onSearchClear, ["stop"])
|
|
27502
|
+
}, [
|
|
27503
|
+
createVNode(unref(GctIcon), {
|
|
27504
|
+
icon: "icon-cuowu2",
|
|
27505
|
+
color: "rgba(0, 0, 0, 0.25)",
|
|
27506
|
+
size: "14"
|
|
27507
|
+
})
|
|
27508
|
+
], 32)) : searchableSuffixIcon.value === "search" ? (openBlock(), createElementBlock("span", _hoisted_8$g, [
|
|
27509
|
+
createVNode(unref(GctIcon), {
|
|
27510
|
+
icon: "icon-sousuo",
|
|
27511
|
+
color: "rgba(0, 0, 0, 0.45)",
|
|
27512
|
+
size: "14"
|
|
27513
|
+
})
|
|
27514
|
+
])) : (openBlock(), createElementBlock("span", _hoisted_9$b, [
|
|
27515
|
+
createVNode(unref(GctIcon), {
|
|
27516
|
+
icon: "icon-arrow_zhankai",
|
|
27517
|
+
color: "#6b6b6b",
|
|
27518
|
+
version: "v2"
|
|
27519
|
+
})
|
|
27520
|
+
]))
|
|
27521
|
+
], 34),
|
|
27466
27522
|
(openBlock(), createBlock(Teleport, { to: "body" }, [
|
|
27467
27523
|
isOpen.value ? (openBlock(), createElementBlock("div", {
|
|
27468
27524
|
key: 0,
|
|
@@ -27470,7 +27526,7 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
|
|
|
27470
27526
|
ref: searchDropdownRef,
|
|
27471
27527
|
class: "rdo-tree-select__dropdown",
|
|
27472
27528
|
style: normalizeStyle(dropdownStyle.value),
|
|
27473
|
-
onMousedown: _cache[
|
|
27529
|
+
onMousedown: _cache[3] || (_cache[3] = withModifiers(() => {
|
|
27474
27530
|
}, ["prevent"]))
|
|
27475
27531
|
}, [
|
|
27476
27532
|
createVNode(RdoTreeSelectPanel, {
|
|
@@ -27520,31 +27576,41 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
|
|
|
27520
27576
|
]),
|
|
27521
27577
|
default: withCtx(() => [
|
|
27522
27578
|
createElementVNode("div", {
|
|
27523
|
-
class: normalizeClass(["rdo-tree-select__trigger", { active: isDropdownOpen.value }])
|
|
27579
|
+
class: normalizeClass(["rdo-tree-select__trigger", { active: isDropdownOpen.value }]),
|
|
27580
|
+
onMouseenter: _cache[5] || (_cache[5] = ($event) => isHovered.value = true),
|
|
27581
|
+
onMouseleave: _cache[6] || (_cache[6] = ($event) => isHovered.value = false)
|
|
27524
27582
|
}, [
|
|
27525
27583
|
selectedDisplay.value.text ? (openBlock(), createElementBlock("span", {
|
|
27526
27584
|
key: 0,
|
|
27527
27585
|
class: "rdo-tree-select__value",
|
|
27528
27586
|
title: selectedDisplay.value.text
|
|
27529
27587
|
}, [
|
|
27530
|
-
createElementVNode("span",
|
|
27531
|
-
selectedDisplay.value.showDefaultTag ? (openBlock(), createElementBlock("span",
|
|
27532
|
-
], 8,
|
|
27533
|
-
|
|
27588
|
+
createElementVNode("span", _hoisted_11$7, toDisplayString(selectedDisplay.value.text), 1),
|
|
27589
|
+
selectedDisplay.value.showDefaultTag ? (openBlock(), createElementBlock("span", _hoisted_12$6, "默认")) : createCommentVNode("", true)
|
|
27590
|
+
], 8, _hoisted_10$9)) : (openBlock(), createElementBlock("span", _hoisted_13$5, toDisplayString(__props.placeholder), 1)),
|
|
27591
|
+
defaultSuffixIcon.value === "clear" ? (openBlock(), createElementBlock("span", {
|
|
27534
27592
|
key: 2,
|
|
27535
|
-
class: "rdo-tree-select__clear
|
|
27536
|
-
|
|
27537
|
-
|
|
27538
|
-
size: "14",
|
|
27593
|
+
class: "rdo-tree-select__clear",
|
|
27594
|
+
onMousedown: _cache[4] || (_cache[4] = withModifiers(() => {
|
|
27595
|
+
}, ["prevent"])),
|
|
27539
27596
|
onClick: withModifiers(clearValue, ["stop"])
|
|
27540
|
-
}
|
|
27541
|
-
|
|
27542
|
-
|
|
27543
|
-
|
|
27544
|
-
|
|
27545
|
-
|
|
27546
|
-
|
|
27547
|
-
|
|
27597
|
+
}, [
|
|
27598
|
+
createVNode(unref(GctIcon), {
|
|
27599
|
+
icon: "icon-cuowu2",
|
|
27600
|
+
color: "rgba(0, 0, 0, 0.25)",
|
|
27601
|
+
size: "14"
|
|
27602
|
+
})
|
|
27603
|
+
], 32)) : (openBlock(), createElementBlock("span", {
|
|
27604
|
+
key: 3,
|
|
27605
|
+
class: normalizeClass(["rdo-tree-select__suffix-icon", { active: isDropdownOpen.value }])
|
|
27606
|
+
}, [
|
|
27607
|
+
createVNode(unref(GctIcon), {
|
|
27608
|
+
icon: "icon-arrow_zhankai",
|
|
27609
|
+
color: "#6b6b6b",
|
|
27610
|
+
version: "v2"
|
|
27611
|
+
})
|
|
27612
|
+
], 2))
|
|
27613
|
+
], 34)
|
|
27548
27614
|
]),
|
|
27549
27615
|
_: 1
|
|
27550
27616
|
}, 8, ["disabled"])
|
|
@@ -27552,7 +27618,7 @@ const _sfc_main$3p = /* @__PURE__ */ defineComponent({
|
|
|
27552
27618
|
};
|
|
27553
27619
|
}
|
|
27554
27620
|
});
|
|
27555
|
-
const GctRdoTreeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$3p, [["__scopeId", "data-v-
|
|
27621
|
+
const GctRdoTreeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$3p, [["__scopeId", "data-v-77e15b9b"]]);
|
|
27556
27622
|
const _hoisted_1$2b = { class: "gct-datetime-picker" };
|
|
27557
27623
|
const _hoisted_2$1k = {
|
|
27558
27624
|
key: 0,
|
|
@@ -29368,7 +29434,7 @@ const _hoisted_1$2a = { class: "color-picker-container" };
|
|
|
29368
29434
|
const _hoisted_2$1j = { class: "color-submenu-panel" };
|
|
29369
29435
|
const _hoisted_3$Z = { class: "color-content-standard" };
|
|
29370
29436
|
const _hoisted_4$L = { class: "items" };
|
|
29371
|
-
const _hoisted_5$
|
|
29437
|
+
const _hoisted_5$C = ["onClick"];
|
|
29372
29438
|
const _sfc_main$3n = /* @__PURE__ */ defineComponent({
|
|
29373
29439
|
__name: "ColorPicker",
|
|
29374
29440
|
props: /* @__PURE__ */ mergeModels({
|
|
@@ -29429,7 +29495,7 @@ const _sfc_main$3n = /* @__PURE__ */ defineComponent({
|
|
|
29429
29495
|
class: normalizeClass(["color-icon", { active: model.value === c2.color }]),
|
|
29430
29496
|
style: normalizeStyle({ backgroundColor: c2.color }),
|
|
29431
29497
|
onClick: ($event) => handleColorClick(c2.color)
|
|
29432
|
-
}, null, 14, _hoisted_5$
|
|
29498
|
+
}, null, 14, _hoisted_5$C)
|
|
29433
29499
|
]),
|
|
29434
29500
|
_: 2
|
|
29435
29501
|
}, 1024);
|
|
@@ -84171,7 +84237,7 @@ async function applyAutofillOnSubTableRowInit(doc, subFieldKey, rowIndex, fetchS
|
|
|
84171
84237
|
if (!bindings.length) return;
|
|
84172
84238
|
const updates = await buildAutofillUpdatesFromBindings(doc, bindings, {
|
|
84173
84239
|
rawData: doc.dataManager.getRawData(),
|
|
84174
|
-
rowIndexes: [
|
|
84240
|
+
rowIndexes: [rowIndex],
|
|
84175
84241
|
fetchSource
|
|
84176
84242
|
});
|
|
84177
84243
|
if (Object.keys(updates).length) {
|
|
@@ -85085,31 +85151,13 @@ function countActiveSubtableRows(rows) {
|
|
|
85085
85151
|
if (!Array.isArray(rows)) return 0;
|
|
85086
85152
|
return rows.filter((row) => !row?.deleted_).length;
|
|
85087
85153
|
}
|
|
85088
|
-
function resolveSubtableStorageIndex(rows, visibleIndex) {
|
|
85089
|
-
if (!Array.isArray(rows) || visibleIndex < 0) return visibleIndex;
|
|
85090
|
-
let seen = -1;
|
|
85091
|
-
for (let i = 0; i < rows.length; i++) {
|
|
85092
|
-
if (!rows[i]?.deleted_) {
|
|
85093
|
-
seen++;
|
|
85094
|
-
if (seen === visibleIndex) return i;
|
|
85095
|
-
}
|
|
85096
|
-
}
|
|
85097
|
-
return visibleIndex;
|
|
85098
|
-
}
|
|
85099
|
-
function resolveSubtableInsertIndex(rows, visibleIndex) {
|
|
85100
|
-
if (!Array.isArray(rows)) return 0;
|
|
85101
|
-
let seen = -1;
|
|
85102
|
-
for (let i = 0; i < rows.length; i++) {
|
|
85103
|
-
if (!rows[i]?.deleted_) {
|
|
85104
|
-
seen++;
|
|
85105
|
-
if (seen === visibleIndex) return i;
|
|
85106
|
-
}
|
|
85107
|
-
}
|
|
85108
|
-
return rows.length;
|
|
85109
|
-
}
|
|
85110
85154
|
function buildRowGroupKey(row, fieldKeys, separator = "|") {
|
|
85111
85155
|
return fieldKeys.map((key) => String(row[key] ?? "")).join(separator);
|
|
85112
85156
|
}
|
|
85157
|
+
function activeRowIndexes(rows) {
|
|
85158
|
+
const count = countActiveSubtableRows(rows);
|
|
85159
|
+
return Array.from({ length: count }, (_2, index2) => index2);
|
|
85160
|
+
}
|
|
85113
85161
|
function expandInitPathTemplates(templatePath, rawData) {
|
|
85114
85162
|
const parsed = parseValuePath(templatePath);
|
|
85115
85163
|
const hasCrossPlaceholder = templatePath.includes("[n_y]") || templatePath.includes("[n_x]");
|
|
@@ -85117,11 +85165,11 @@ function expandInitPathTemplates(templatePath, rawData) {
|
|
|
85117
85165
|
if (hasCrossPlaceholder) {
|
|
85118
85166
|
const yKey = parsed.parentFieldKey || "";
|
|
85119
85167
|
const xKey = parsed.linkFieldKey || "";
|
|
85120
|
-
const
|
|
85121
|
-
const
|
|
85168
|
+
const yIndexes = activeRowIndexes(get(rawData, yKey));
|
|
85169
|
+
const xIndexes = activeRowIndexes(get(rawData, xKey));
|
|
85122
85170
|
const paths = [];
|
|
85123
|
-
for (
|
|
85124
|
-
for (
|
|
85171
|
+
for (const y2 of yIndexes) {
|
|
85172
|
+
for (const x2 of xIndexes) {
|
|
85125
85173
|
paths.push(replacePathIndexPlaceholders({ templatePath, y: y2, x: x2, n: y2 }));
|
|
85126
85174
|
}
|
|
85127
85175
|
}
|
|
@@ -85129,12 +85177,9 @@ function expandInitPathTemplates(templatePath, rawData) {
|
|
|
85129
85177
|
}
|
|
85130
85178
|
if (hasSinglePlaceholder) {
|
|
85131
85179
|
const tableKey = parsed.parentFieldKey || "";
|
|
85132
|
-
|
|
85133
|
-
|
|
85134
|
-
|
|
85135
|
-
paths.push(replacePathIndexPlaceholders({ templatePath, n: i, y: i, x: i }));
|
|
85136
|
-
}
|
|
85137
|
-
return paths;
|
|
85180
|
+
return activeRowIndexes(get(rawData, tableKey)).map(
|
|
85181
|
+
(i) => replacePathIndexPlaceholders({ templatePath, n: i, y: i, x: i })
|
|
85182
|
+
);
|
|
85138
85183
|
}
|
|
85139
85184
|
return [templatePath];
|
|
85140
85185
|
}
|
|
@@ -85172,9 +85217,9 @@ function parseBusinessFieldChange(changedPath) {
|
|
|
85172
85217
|
}
|
|
85173
85218
|
function countSubTableDataRows(rawData, subFieldKey) {
|
|
85174
85219
|
const existing = get(rawData, subFieldKey);
|
|
85175
|
-
if (Array.isArray(existing)) return existing
|
|
85220
|
+
if (Array.isArray(existing)) return countActiveSubtableRows(existing);
|
|
85176
85221
|
if (existing && typeof existing === "object" && Array.isArray(existing.data)) {
|
|
85177
|
-
return existing.data
|
|
85222
|
+
return countActiveSubtableRows(existing.data);
|
|
85178
85223
|
}
|
|
85179
85224
|
return 0;
|
|
85180
85225
|
}
|
|
@@ -85185,6 +85230,18 @@ function resolveSubTableRowCount(doc, subFieldKey, rawData) {
|
|
|
85185
85230
|
}
|
|
85186
85231
|
function resolveSubTableRowIndexes(doc, subFieldKey, rawData, rowIndexes) {
|
|
85187
85232
|
if (rowIndexes?.length) return rowIndexes;
|
|
85233
|
+
const existing = get(rawData, subFieldKey);
|
|
85234
|
+
if (Array.isArray(existing) && existing.length > 0) {
|
|
85235
|
+
const count2 = countActiveSubtableRows(existing);
|
|
85236
|
+
return Array.from({ length: count2 }, (_2, index2) => index2);
|
|
85237
|
+
}
|
|
85238
|
+
if (existing && typeof existing === "object" && Array.isArray(existing.data)) {
|
|
85239
|
+
const data = existing.data;
|
|
85240
|
+
if (data.length > 0) {
|
|
85241
|
+
const count2 = countActiveSubtableRows(data);
|
|
85242
|
+
return Array.from({ length: count2 }, (_2, index2) => index2);
|
|
85243
|
+
}
|
|
85244
|
+
}
|
|
85188
85245
|
const count = resolveSubTableRowCount(doc, subFieldKey, rawData);
|
|
85189
85246
|
return Array.from({ length: count }, (_2, index2) => index2);
|
|
85190
85247
|
}
|
|
@@ -85429,6 +85486,51 @@ class DataManager {
|
|
|
85429
85486
|
this.doc?.eventManager?.eventBus.emit("field-runtime-config-changed", { path });
|
|
85430
85487
|
}
|
|
85431
85488
|
}
|
|
85489
|
+
getSubFieldConfigMap() {
|
|
85490
|
+
const key = "_subFieldConfig";
|
|
85491
|
+
const params = this.doc?.paramsConfig;
|
|
85492
|
+
const cfg = params?.[key];
|
|
85493
|
+
if (!cfg || typeof cfg !== "object") return void 0;
|
|
85494
|
+
return cfg;
|
|
85495
|
+
}
|
|
85496
|
+
/** 插行后同步 _subFieldConfig 下标 +1 */
|
|
85497
|
+
shiftSubFieldConfigAfterRowInsert(arrayPath, insertIndex) {
|
|
85498
|
+
const cfg = this.getSubFieldConfigMap();
|
|
85499
|
+
if (!cfg) return;
|
|
85500
|
+
const updates = {};
|
|
85501
|
+
const toDelete = [];
|
|
85502
|
+
for (const [path, value] of Object.entries(cfg)) {
|
|
85503
|
+
const parsed = this.parseSubtableFieldPath(path, arrayPath);
|
|
85504
|
+
if (!parsed) continue;
|
|
85505
|
+
const { rowIndex, suffix } = parsed;
|
|
85506
|
+
if (rowIndex >= insertIndex) {
|
|
85507
|
+
toDelete.push(path);
|
|
85508
|
+
updates[`${arrayPath}[${rowIndex + 1}]${suffix}`] = value;
|
|
85509
|
+
}
|
|
85510
|
+
}
|
|
85511
|
+
for (const path of toDelete) delete cfg[path];
|
|
85512
|
+
Object.assign(cfg, updates);
|
|
85513
|
+
}
|
|
85514
|
+
/** 硬删后同步 _subFieldConfig:删该行并对其后行 -1 */
|
|
85515
|
+
shiftSubFieldConfigAfterRowRemove(arrayPath, removeIndex) {
|
|
85516
|
+
const cfg = this.getSubFieldConfigMap();
|
|
85517
|
+
if (!cfg) return;
|
|
85518
|
+
const updates = {};
|
|
85519
|
+
const toDelete = [];
|
|
85520
|
+
for (const [path, value] of Object.entries(cfg)) {
|
|
85521
|
+
const parsed = this.parseSubtableFieldPath(path, arrayPath);
|
|
85522
|
+
if (!parsed) continue;
|
|
85523
|
+
const { rowIndex, suffix } = parsed;
|
|
85524
|
+
if (rowIndex === removeIndex) {
|
|
85525
|
+
toDelete.push(path);
|
|
85526
|
+
} else if (rowIndex > removeIndex) {
|
|
85527
|
+
toDelete.push(path);
|
|
85528
|
+
updates[`${arrayPath}[${rowIndex - 1}]${suffix}`] = value;
|
|
85529
|
+
}
|
|
85530
|
+
}
|
|
85531
|
+
for (const path of toDelete) delete cfg[path];
|
|
85532
|
+
Object.assign(cfg, updates);
|
|
85533
|
+
}
|
|
85432
85534
|
parseSubtableFieldPath(fullPath, arrayPath) {
|
|
85433
85535
|
const head = `${arrayPath}[`;
|
|
85434
85536
|
if (!fullPath.startsWith(head)) return null;
|
|
@@ -85581,12 +85683,6 @@ class DataManager {
|
|
|
85581
85683
|
}
|
|
85582
85684
|
return maxIndex + 1;
|
|
85583
85685
|
}
|
|
85584
|
-
/** 版面可见行下标 → rawData 数组实际下标 */
|
|
85585
|
-
resolveSubtableVisibleIndex(arrayPath, visibleIndex) {
|
|
85586
|
-
const rows = this.getByPath(this.rawData, arrayPath);
|
|
85587
|
-
if (!Array.isArray(rows)) return visibleIndex;
|
|
85588
|
-
return resolveSubtableStorageIndex(rows, visibleIndex);
|
|
85589
|
-
}
|
|
85590
85686
|
assignField(target, fieldPath, value) {
|
|
85591
85687
|
if (!fieldPath.includes(".") && !fieldPath.includes("[")) {
|
|
85592
85688
|
target[fieldPath] = value;
|
|
@@ -86007,10 +86103,11 @@ class DataManager {
|
|
|
86007
86103
|
arr = [{ ...DEFAULT_EMPTY_ITEM }];
|
|
86008
86104
|
this.set(path, arr, "parent");
|
|
86009
86105
|
}
|
|
86010
|
-
const
|
|
86011
|
-
if (
|
|
86106
|
+
const activeCount = countActiveSubtableRows(arr);
|
|
86107
|
+
if (index2 < 0 || index2 > activeCount) {
|
|
86012
86108
|
throw new Error(`Index ${index2} out of bounds for array of length ${arr.length}`);
|
|
86013
86109
|
}
|
|
86110
|
+
const storageIndex = index2;
|
|
86014
86111
|
const oldValue = [...arr];
|
|
86015
86112
|
const tableKey = path.replace(/^\$\./, "").replace(/\[(n|\d+)\]/g, "");
|
|
86016
86113
|
const axisInfo = this.resolveAxisByTableKey(tableKey);
|
|
@@ -86026,6 +86123,7 @@ class DataManager {
|
|
|
86026
86123
|
this.emit(path, arr, oldValue);
|
|
86027
86124
|
this.shiftFieldRuntimeConfigAfterRowInsert(path, storageIndex);
|
|
86028
86125
|
this.shiftDependencyGraphAfterRowInsert(path, storageIndex);
|
|
86126
|
+
this.shiftSubFieldConfigAfterRowInsert(path, storageIndex);
|
|
86029
86127
|
return true;
|
|
86030
86128
|
} catch (error) {
|
|
86031
86129
|
console.error(`Failed to insert value at path "${path}":`, error);
|
|
@@ -86044,10 +86142,11 @@ class DataManager {
|
|
|
86044
86142
|
if (!Array.isArray(arr)) {
|
|
86045
86143
|
throw new Error(`Path "${path}" is not an array`);
|
|
86046
86144
|
}
|
|
86047
|
-
const
|
|
86048
|
-
if (
|
|
86145
|
+
const activeCount = countActiveSubtableRows(arr);
|
|
86146
|
+
if (index2 < 0 || index2 >= activeCount) {
|
|
86049
86147
|
throw new Error(`Index ${index2} out of bounds for array of length ${arr.length}`);
|
|
86050
86148
|
}
|
|
86149
|
+
const storageIndex = index2;
|
|
86051
86150
|
const tableKey = path.replace(/^\$\./, "").replace(/\[(n|\d+)\]/g, "");
|
|
86052
86151
|
const axisInfo = this.resolveAxisByTableKey(tableKey);
|
|
86053
86152
|
const row = arr[storageIndex];
|
|
@@ -86057,15 +86156,21 @@ class DataManager {
|
|
|
86057
86156
|
axis: axisInfo?.axis
|
|
86058
86157
|
})) {
|
|
86059
86158
|
const oldValue2 = this.deepClone(arr);
|
|
86060
|
-
|
|
86159
|
+
const [removedRow] = arr.splice(storageIndex, 1);
|
|
86160
|
+
removedRow.deleted_ = true;
|
|
86161
|
+
arr.push(removedRow);
|
|
86162
|
+
this.shiftFieldRuntimeConfigAfterRowRemove(path, storageIndex);
|
|
86163
|
+
this.shiftDependencyGraphAfterRowRemove(path, storageIndex);
|
|
86164
|
+
this.shiftSubFieldConfigAfterRowRemove(path, storageIndex);
|
|
86061
86165
|
this.emit(path, arr, oldValue2);
|
|
86062
|
-
return
|
|
86166
|
+
return removedRow;
|
|
86063
86167
|
}
|
|
86064
86168
|
const oldValue = [...arr];
|
|
86065
86169
|
const removedValue = arr.splice(storageIndex, 1)[0];
|
|
86066
86170
|
this.emit(path, arr, oldValue);
|
|
86067
86171
|
this.shiftFieldRuntimeConfigAfterRowRemove(path, storageIndex);
|
|
86068
86172
|
this.shiftDependencyGraphAfterRowRemove(path, storageIndex);
|
|
86173
|
+
this.shiftSubFieldConfigAfterRowRemove(path, storageIndex);
|
|
86069
86174
|
if (axisInfo) {
|
|
86070
86175
|
const uidField = axisInfo.axis === "y" ? "__gw_y_uid" : "__gw_x_uid";
|
|
86071
86176
|
this.cleanupCrossByAxisUid(tableKey, axisInfo.axis, removedValue?.[uidField]);
|
|
@@ -87333,21 +87438,33 @@ class TableRuntimeContext {
|
|
|
87333
87438
|
get arrayPath() {
|
|
87334
87439
|
return `$.${this.subFieldKey}`;
|
|
87335
87440
|
}
|
|
87336
|
-
/** 指定行路径 $.subFieldKey[rowIndex] */
|
|
87441
|
+
/** 指定行路径 $.subFieldKey[rowIndex];rowIndex 为存储下标 */
|
|
87337
87442
|
rowPath(rowIndex) {
|
|
87338
87443
|
return `${this.arrayPath}[${rowIndex}]`;
|
|
87339
87444
|
}
|
|
87340
|
-
/**
|
|
87445
|
+
/** 读取指定行数据;rowIndex 为存储下标 */
|
|
87341
87446
|
getRow(rowIndex) {
|
|
87342
87447
|
return this.doc.dataManager.get(this.rowPath(rowIndex));
|
|
87343
87448
|
}
|
|
87344
|
-
/**
|
|
87449
|
+
/**
|
|
87450
|
+
* 子表存储行数(含软删),无数据默认返回 1
|
|
87451
|
+
*/
|
|
87345
87452
|
getRowCount() {
|
|
87346
87453
|
const rows = this.doc.dataManager.getRawData()[this.subFieldKey];
|
|
87347
87454
|
if (Array.isArray(rows) && rows.length > 0) return rows.length;
|
|
87348
87455
|
return 1;
|
|
87349
87456
|
}
|
|
87350
|
-
/**
|
|
87457
|
+
/**
|
|
87458
|
+
* 未软删行的存储下标。无数据时返回 [0](与版面默认空行一致);
|
|
87459
|
+
* 仅剩软删行时返回 []。
|
|
87460
|
+
*/
|
|
87461
|
+
getActiveRowIndexes() {
|
|
87462
|
+
const rows = this.doc.dataManager.getRawData()[this.subFieldKey];
|
|
87463
|
+
if (!Array.isArray(rows) || rows.length === 0) return [0];
|
|
87464
|
+
const count = countActiveSubtableRows(rows);
|
|
87465
|
+
return Array.from({ length: count }, (_2, index2) => index2);
|
|
87466
|
+
}
|
|
87467
|
+
/** 构建单行规则执行上下文;rowIndex 为存储下标 */
|
|
87351
87468
|
buildRuleContext(rowIndex, changedFieldKey) {
|
|
87352
87469
|
const rowPath = this.rowPath(rowIndex);
|
|
87353
87470
|
const rowData = this.getRow(rowIndex) ?? {};
|
|
@@ -87361,9 +87478,12 @@ class TableRuntimeContext {
|
|
|
87361
87478
|
paramsConfig: this.doc.paramsConfig ?? {}
|
|
87362
87479
|
};
|
|
87363
87480
|
}
|
|
87364
|
-
/**
|
|
87481
|
+
/**
|
|
87482
|
+
* 遍历子表数据行,支持指定单行或全量遍历,逐行注入 RuleContext。
|
|
87483
|
+
* rowIndex / 全量遍历均使用存储下标;全量时跳过 deleted_ 行。
|
|
87484
|
+
*/
|
|
87365
87485
|
eachRow(options, iteratee) {
|
|
87366
|
-
const rowIndexes = options.rowIndex !== void 0 ? [options.rowIndex] :
|
|
87486
|
+
const rowIndexes = options.rowIndex !== void 0 ? [options.rowIndex] : this.getActiveRowIndexes();
|
|
87367
87487
|
for (const rowIndex of rowIndexes) {
|
|
87368
87488
|
iteratee(this.buildRuleContext(rowIndex, options.changedFieldKey));
|
|
87369
87489
|
}
|
|
@@ -88027,8 +88147,7 @@ class RemoteSyncEngine {
|
|
|
88027
88147
|
const config = ctx.profile.remoteSync;
|
|
88028
88148
|
const missingKeys = config?.resyncOnInitWhenMissing;
|
|
88029
88149
|
if (!config || !missingKeys?.length) return;
|
|
88030
|
-
const
|
|
88031
|
-
for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
|
|
88150
|
+
for (const rowIndex of ctx.getActiveRowIndexes()) {
|
|
88032
88151
|
const row = ctx.getRow(rowIndex);
|
|
88033
88152
|
if (!row) continue;
|
|
88034
88153
|
if (config.requireAllOf?.some((key) => !isPresent(row[key]))) continue;
|
|
@@ -88210,11 +88329,10 @@ class RowRuntimeEngine {
|
|
|
88210
88329
|
runRowHandler(ctx.profile.type, handler.handler, this.doc, ctx.subFieldKey, rowIndex);
|
|
88211
88330
|
}
|
|
88212
88331
|
}
|
|
88213
|
-
/**
|
|
88332
|
+
/** 初始化时对所有未软删行执行行初始化 */
|
|
88214
88333
|
applyRowInitForAllRows(ctx) {
|
|
88215
88334
|
if (!this.hasRowInit(ctx)) return;
|
|
88216
|
-
const
|
|
88217
|
-
for (let rowIndex = 0; rowIndex < rowCount; rowIndex++) {
|
|
88335
|
+
for (const rowIndex of ctx.getActiveRowIndexes()) {
|
|
88218
88336
|
this.applyRowInit(ctx, rowIndex);
|
|
88219
88337
|
}
|
|
88220
88338
|
}
|
|
@@ -88897,7 +89015,14 @@ const profile$3 = {
|
|
|
88897
89015
|
fieldType: "master_slave",
|
|
88898
89016
|
refModelType: "MATERIAL_CONSUME"
|
|
88899
89017
|
},
|
|
88900
|
-
rowHandlers: [{ when: "onFieldChange", watch: ["qty_"], handler: "on-qty-change" }],
|
|
89018
|
+
rowHandlers: [{ when: "onFieldChange", watch: ["qty_", "product_id_", "material_no_"], handler: "on-qty-change" }],
|
|
89019
|
+
runtimeRules: [
|
|
89020
|
+
{
|
|
89021
|
+
when: "always",
|
|
89022
|
+
fields: ["qty_consumed_"],
|
|
89023
|
+
effect: { disabled: true }
|
|
89024
|
+
}
|
|
89025
|
+
],
|
|
88901
89026
|
theme: {
|
|
88902
89027
|
color: "#4891B3",
|
|
88903
89028
|
background: "rgba(72,145,179,0.2)",
|
|
@@ -89003,7 +89128,7 @@ const _hoisted_1$28 = { class: "material-consume-modal" };
|
|
|
89003
89128
|
const _hoisted_2$1h = { class: "material-consume-table-scroll" };
|
|
89004
89129
|
const _hoisted_3$X = { class: "material-consume-table" };
|
|
89005
89130
|
const _hoisted_4$K = ["title"];
|
|
89006
|
-
const _hoisted_5$
|
|
89131
|
+
const _hoisted_5$B = { class: "qty-col" };
|
|
89007
89132
|
const _sfc_main$3l = /* @__PURE__ */ defineComponent({
|
|
89008
89133
|
__name: "material-consume-modal",
|
|
89009
89134
|
props: {
|
|
@@ -89026,7 +89151,7 @@ const _sfc_main$3l = /* @__PURE__ */ defineComponent({
|
|
|
89026
89151
|
createElementVNode("td", {
|
|
89027
89152
|
title: row.materialLabel
|
|
89028
89153
|
}, toDisplayString(row.materialLabel), 9, _hoisted_4$K),
|
|
89029
|
-
createElementVNode("td", _hoisted_5$
|
|
89154
|
+
createElementVNode("td", _hoisted_5$B, toDisplayString(row.consumeQty), 1)
|
|
89030
89155
|
]);
|
|
89031
89156
|
}), 128))
|
|
89032
89157
|
])
|
|
@@ -99439,22 +99564,6 @@ class LayoutContext {
|
|
|
99439
99564
|
this.paragraph?.addChild(run);
|
|
99440
99565
|
this.layoutRun = run;
|
|
99441
99566
|
}
|
|
99442
|
-
/** 子表可见行下标 → rawData 存储下标(跳过 deleted_ 行) */
|
|
99443
|
-
mapSubtableVisibleIndex(templatePath, visibleIndex, axis) {
|
|
99444
|
-
if (visibleIndex === void 0) return void 0;
|
|
99445
|
-
const parsed = parseValuePath(templatePath);
|
|
99446
|
-
const dm = this.doc.dataManager;
|
|
99447
|
-
if (axis === "n_y" && parsed.parentFieldPath) {
|
|
99448
|
-
return dm.resolveSubtableVisibleIndex(parsed.parentFieldPath, visibleIndex);
|
|
99449
|
-
}
|
|
99450
|
-
if (axis === "n_x" && parsed.linkFieldPath) {
|
|
99451
|
-
return dm.resolveSubtableVisibleIndex(parsed.linkFieldPath, visibleIndex);
|
|
99452
|
-
}
|
|
99453
|
-
if (parsed.isSubTable && parsed.parentFieldPath) {
|
|
99454
|
-
return dm.resolveSubtableVisibleIndex(parsed.parentFieldPath, visibleIndex);
|
|
99455
|
-
}
|
|
99456
|
-
return visibleIndex;
|
|
99457
|
-
}
|
|
99458
99567
|
/**
|
|
99459
99568
|
* 根据 dataIndex 替换 path 中的 [n] 为实际值
|
|
99460
99569
|
* @param path 包含 [n] 的路径,如 "$.items[n].name"
|
|
@@ -99465,8 +99574,8 @@ class LayoutContext {
|
|
|
99465
99574
|
const { type: type4, dataIndex, xDataIndex, yDataIndex, cellZone } = this.cell?.subRenderer || {};
|
|
99466
99575
|
if (isLinkSubTableType(type4) && cellZone === "cross") {
|
|
99467
99576
|
return replacePathIndexPlaceholders({
|
|
99468
|
-
x:
|
|
99469
|
-
y:
|
|
99577
|
+
x: xDataIndex,
|
|
99578
|
+
y: yDataIndex,
|
|
99470
99579
|
templatePath: path
|
|
99471
99580
|
});
|
|
99472
99581
|
}
|
|
@@ -99476,10 +99585,6 @@ class LayoutContext {
|
|
|
99476
99585
|
let n = dataIndex;
|
|
99477
99586
|
if (isLinkSubTableType(type4)) {
|
|
99478
99587
|
n = cellZone === "horizontal" ? yDataIndex : xDataIndex;
|
|
99479
|
-
const axis = cellZone === "horizontal" ? "n_y" : "n_x";
|
|
99480
|
-
n = this.mapSubtableVisibleIndex(path, n, axis);
|
|
99481
|
-
} else {
|
|
99482
|
-
n = this.mapSubtableVisibleIndex(path, n, "n");
|
|
99483
99588
|
}
|
|
99484
99589
|
if (n === void 0) return path;
|
|
99485
99590
|
return replacePathIndexPlaceholder(n, path);
|
|
@@ -108450,6 +108555,9 @@ class BomEntriesValidator {
|
|
|
108450
108555
|
* @param row 单行的数据
|
|
108451
108556
|
*/
|
|
108452
108557
|
validateInBom(row) {
|
|
108558
|
+
if (this.mcPattern === MaterialConsumptionPatternEnum.RECORD) {
|
|
108559
|
+
return;
|
|
108560
|
+
}
|
|
108453
108561
|
if (!row.product_id_) {
|
|
108454
108562
|
throw new Error(
|
|
108455
108563
|
"物料不能为空"
|
|
@@ -108578,9 +108686,7 @@ class BomEntriesValidator {
|
|
|
108578
108686
|
* @return {*}
|
|
108579
108687
|
*/
|
|
108580
108688
|
mergeRowInArr(row, arr) {
|
|
108581
|
-
|
|
108582
|
-
this.validateInBom(row);
|
|
108583
|
-
}
|
|
108689
|
+
this.validateInBom(row);
|
|
108584
108690
|
const newArr = cloneDeep(arr).filter((i) => i.product_id_);
|
|
108585
108691
|
const util = this.findUtilByProductId(row.product_id_);
|
|
108586
108692
|
const sameIndex = findLastIndex(newArr, (i) => {
|
|
@@ -108732,12 +108838,12 @@ class MCDataUtil {
|
|
|
108732
108838
|
});
|
|
108733
108839
|
}
|
|
108734
108840
|
/**
|
|
108735
|
-
* [
|
|
108841
|
+
* 物料消耗模式 BOM 模式需要禁用[需求数量]
|
|
108736
108842
|
* 参顶部[物料消耗表字段控制]
|
|
108737
108843
|
* @param rowPath $.f_sub[n] n 必须为数字
|
|
108738
108844
|
*/
|
|
108739
|
-
static
|
|
108740
|
-
const fields2 = ["
|
|
108845
|
+
static disableQtyRequired(dataManager, rowPath) {
|
|
108846
|
+
const fields2 = ["qty_required_"];
|
|
108741
108847
|
this._updateDisablement({ dataManager, rowPath, fields: fields2, disabled: true });
|
|
108742
108848
|
}
|
|
108743
108849
|
/**
|
|
@@ -108775,6 +108881,7 @@ class MCDataUtil {
|
|
|
108775
108881
|
const { dataManager, subFieldKey, rowIndex } = option;
|
|
108776
108882
|
const rows = dataManager.getRawData()[subFieldKey] ?? [];
|
|
108777
108883
|
const row = rows[rowIndex];
|
|
108884
|
+
if (!row) return;
|
|
108778
108885
|
row.is_confirmed_ = isConfirmed;
|
|
108779
108886
|
rows[rowIndex] = row;
|
|
108780
108887
|
dataManager.set(subFieldKey, rows, "user");
|
|
@@ -108865,7 +108972,7 @@ class MaterialConsumeTableController {
|
|
|
108865
108972
|
return this.tableDataRef.value.filter((i) => !i.deleted_);
|
|
108866
108973
|
}
|
|
108867
108974
|
/**
|
|
108868
|
-
*
|
|
108975
|
+
* 修改表格数据(保留软删行在后缀)
|
|
108869
108976
|
*/
|
|
108870
108977
|
set actualTableData(value) {
|
|
108871
108978
|
const deletedArr = this.tableDataRef.value.filter((i) => i.deleted_);
|
|
@@ -108979,9 +109086,9 @@ class MaterialConsumeTableController {
|
|
|
108979
109086
|
qty_: data.qty,
|
|
108980
109087
|
validate_: data.expiration,
|
|
108981
109088
|
// 记录模式传null,后台就不校验了
|
|
108982
|
-
|
|
109089
|
+
bom_entries_: isRecordPattern ? null : this.actualBomEntries,
|
|
108983
109090
|
operation_id_: this.tmplBomController.operationId
|
|
108984
|
-
});
|
|
109091
|
+
}) || (isRecordPattern ? [{ productionIdentificationName: data.lot }] : null);
|
|
108985
109092
|
if (!arr) {
|
|
108986
109093
|
this.error(
|
|
108987
109094
|
"扫描的物料不存在或不在bom中"
|
|
@@ -108990,7 +109097,7 @@ class MaterialConsumeTableController {
|
|
|
108990
109097
|
return;
|
|
108991
109098
|
}
|
|
108992
109099
|
let materialData = arr[0];
|
|
108993
|
-
if (arr.length > 1) {
|
|
109100
|
+
if (arr.length > 1 && !isRecordPattern) {
|
|
108994
109101
|
const ids = this.actualTableData.map((i) => i.product_id_);
|
|
108995
109102
|
const find = arr.find((j2) => ids.includes(j2.materialId));
|
|
108996
109103
|
if (!find) {
|
|
@@ -109006,6 +109113,9 @@ class MaterialConsumeTableController {
|
|
|
109006
109113
|
qty_: data.qty,
|
|
109007
109114
|
is_confirmed_: false
|
|
109008
109115
|
};
|
|
109116
|
+
if (isRecordPattern && !row.product_id_) {
|
|
109117
|
+
row._scanFallback = true;
|
|
109118
|
+
}
|
|
109009
109119
|
if (this.scanRuleProps?.fillMapArr?.length) {
|
|
109010
109120
|
const fillData = calcFillData(data, this.scanRuleProps.fillMapArr);
|
|
109011
109121
|
console.log("fillData", fillData);
|
|
@@ -109018,14 +109128,14 @@ class MaterialConsumeTableController {
|
|
|
109018
109128
|
try {
|
|
109019
109129
|
const newArr = this.bomEntriesValidator.mergeRowInArr(row, this.actualTableData);
|
|
109020
109130
|
await this.bomEntriesValidator.validateScanCanInsert(newArr);
|
|
109021
|
-
this.
|
|
109131
|
+
this.actualTableData = newArr;
|
|
109022
109132
|
setTimeout(async () => {
|
|
109023
109133
|
const row2 = this.actualTableData.find((i) => !i.is_confirmed_);
|
|
109024
109134
|
const rowIndex = this.actualTableData.findIndex((i) => !i.is_confirmed_);
|
|
109025
109135
|
const { doc, subFieldKey, subModelKey } = option;
|
|
109026
109136
|
await doc.dataManager.whenEmitSettled();
|
|
109027
109137
|
await hydrateSubtableRowLabels(doc, subFieldKey, [rowIndex]);
|
|
109028
|
-
if (row2) {
|
|
109138
|
+
if (row2 && row2.product_id_) {
|
|
109029
109139
|
this.confirm({ dataManager: doc.dataManager, subFieldKey, rowIndex }, subModelKey, doc);
|
|
109030
109140
|
}
|
|
109031
109141
|
});
|
|
@@ -109109,6 +109219,9 @@ class MaterialConsumeTableController {
|
|
|
109109
109219
|
const { dataManager, rowIndex, subFieldKey } = option;
|
|
109110
109220
|
const rows = dataManager.getRawData()[subFieldKey] ?? [];
|
|
109111
109221
|
const row = rows[rowIndex];
|
|
109222
|
+
if (!row.product_id_) {
|
|
109223
|
+
throw new Error("物料不能为空");
|
|
109224
|
+
}
|
|
109112
109225
|
this.validateExpiration(row);
|
|
109113
109226
|
} else {
|
|
109114
109227
|
await this.bomEntriesValidator.validate(this.actualTableData);
|
|
@@ -109226,15 +109339,15 @@ class MaterialConsumeTableController {
|
|
|
109226
109339
|
* - 删除行
|
|
109227
109340
|
*/
|
|
109228
109341
|
updateRowConsumed(doc) {
|
|
109229
|
-
const modifySingleRow = (
|
|
109230
|
-
const
|
|
109342
|
+
const modifySingleRow = (row, rowIndex) => {
|
|
109343
|
+
const fieldKey = `${this.subTableInfo.valuePath}[${rowIndex}].qty_consumed_`;
|
|
109231
109344
|
if (!row.product_id_) {
|
|
109232
|
-
row.
|
|
109345
|
+
doc.dataManager.set(fieldKey, row.qty_ ? Number(row.qty_) : "", "user");
|
|
109233
109346
|
return;
|
|
109234
109347
|
}
|
|
109235
109348
|
let total = 0;
|
|
109236
109349
|
const util = this.bomEntriesValidator.findUtilByProductId(row.product_id_);
|
|
109237
|
-
const beforeArr = this.actualTableData.slice(0,
|
|
109350
|
+
const beforeArr = this.actualTableData.slice(0, rowIndex + 1);
|
|
109238
109351
|
if (util) {
|
|
109239
109352
|
total += util.hasConsumed;
|
|
109240
109353
|
console.log("total", total);
|
|
@@ -109242,14 +109355,13 @@ class MaterialConsumeTableController {
|
|
|
109242
109355
|
filterGroupData.forEach((i) => {
|
|
109243
109356
|
total += Number(i.qty_ || 0) ?? 0;
|
|
109244
109357
|
});
|
|
109245
|
-
const fieldKey = `${this.subTableInfo.valuePath}[${index2}].qty_consumed_`;
|
|
109246
109358
|
doc.dataManager.set(fieldKey, total, "user");
|
|
109247
109359
|
}
|
|
109248
109360
|
};
|
|
109249
109361
|
setTimeout(() => {
|
|
109250
|
-
|
|
109251
|
-
modifySingleRow(
|
|
109252
|
-
}
|
|
109362
|
+
this.actualTableData.forEach((row, rowIndex) => {
|
|
109363
|
+
modifySingleRow(row, rowIndex);
|
|
109364
|
+
});
|
|
109253
109365
|
});
|
|
109254
109366
|
}
|
|
109255
109367
|
/**
|
|
@@ -109299,6 +109411,10 @@ class MaterialConsumeTableController {
|
|
|
109299
109411
|
if (["product_id_", "material_no_"].includes(fieldKey)) {
|
|
109300
109412
|
const rowPath = `${parentFieldPath}[${dataIndex}]`;
|
|
109301
109413
|
if (fieldKey === "product_id_") {
|
|
109414
|
+
const row = doc.dataManager.get(rowPath);
|
|
109415
|
+
if (row._scanFallback) {
|
|
109416
|
+
return;
|
|
109417
|
+
}
|
|
109302
109418
|
const product_id_ = changedData[`${rowPath}.product_id_`];
|
|
109303
109419
|
const versionId = product_id_?.split(":").pop();
|
|
109304
109420
|
if (versionId) {
|
|
@@ -109492,6 +109608,9 @@ const initMaterialConsumeTableConfig = (doc, subConfig, tmplBomC) => {
|
|
|
109492
109608
|
({ personal_bom_enabled_, entries_, table_key_ }) => {
|
|
109493
109609
|
const tableController = tmplBomC?.findTableControllerByField(table_key_);
|
|
109494
109610
|
const useBomMode = tableController?.mcPattern === MaterialConsumptionPatternEnum.BOM;
|
|
109611
|
+
const subFieldKey = table_key_.replace("$.", "");
|
|
109612
|
+
const rows = doc.dataManager.getRawData()[subFieldKey] || [];
|
|
109613
|
+
const activeCount = rows.filter((row) => !row?.deleted_).length;
|
|
109495
109614
|
if (useBomMode) {
|
|
109496
109615
|
const entries = personal_bom_enabled_ ? entries_ : tmplBomC.bomEntries;
|
|
109497
109616
|
const includedIds = [];
|
|
@@ -109502,14 +109621,12 @@ const initMaterialConsumeTableConfig = (doc, subConfig, tmplBomC) => {
|
|
|
109502
109621
|
});
|
|
109503
109622
|
});
|
|
109504
109623
|
subConfig[`${table_key_}[n].product_id_`] = { "id_.in": includedIds };
|
|
109624
|
+
repeat(activeCount || 1, (index2) => {
|
|
109625
|
+
MCDataUtil.disableQtyRequired(doc.dataManager, `${table_key_}[${index2}]`);
|
|
109626
|
+
});
|
|
109505
109627
|
}
|
|
109506
|
-
const subFieldKey = table_key_.replace("$.", "");
|
|
109507
|
-
const rows = doc.dataManager.getRawData()[subFieldKey] || [];
|
|
109508
|
-
const rowCount = rows.length;
|
|
109509
|
-
repeat(rowCount || 1, (index2) => {
|
|
109510
|
-
MCDataUtil.disableQtyFields(doc.dataManager, `${table_key_}[${index2}]`);
|
|
109511
|
-
});
|
|
109512
109628
|
rows.forEach((row, rowIndex) => {
|
|
109629
|
+
if (row?.deleted_) return;
|
|
109513
109630
|
const rowPath = `${table_key_}[${rowIndex}]`;
|
|
109514
109631
|
if (row.product_id_) {
|
|
109515
109632
|
const versionId = row.product_id_.split(":").pop();
|
|
@@ -110128,7 +110245,8 @@ class InitLoadEngine {
|
|
|
110128
110245
|
if (config.rowPatch) {
|
|
110129
110246
|
rows = rows.map((row) => ({ ...row, ...config.rowPatch }));
|
|
110130
110247
|
}
|
|
110131
|
-
this.
|
|
110248
|
+
const deletedRows = this.readExistingRows(subFieldKey).filter((row) => row.deleted_);
|
|
110249
|
+
this.doc.dataManager.set(subFieldKey, [...rows, ...deletedRows], "hydrate");
|
|
110132
110250
|
}
|
|
110133
110251
|
isEnabled(config, regionProps) {
|
|
110134
110252
|
if (config.enabled === true) return true;
|
|
@@ -110144,7 +110262,7 @@ class InitLoadEngine {
|
|
|
110144
110262
|
* @returns true-跳过,false-不跳过
|
|
110145
110263
|
*/
|
|
110146
110264
|
shouldSkip(subFieldKey, config) {
|
|
110147
|
-
const existingRows = this.readExistingRows(subFieldKey);
|
|
110265
|
+
const existingRows = this.readExistingRows(subFieldKey).filter((row) => !row.deleted_);
|
|
110148
110266
|
if (existingRows.length === 0) return false;
|
|
110149
110267
|
if (config.skipWhenNonemptyRows && this.hasNonemptyRow(existingRows)) {
|
|
110150
110268
|
return true;
|
|
@@ -115695,7 +115813,7 @@ const _hoisted_1$22 = { class: "col-headers" };
|
|
|
115695
115813
|
const _hoisted_2$1f = ["onMouseenter"];
|
|
115696
115814
|
const _hoisted_3$W = ["onClick"];
|
|
115697
115815
|
const _hoisted_4$J = ["onMousedown"];
|
|
115698
|
-
const _hoisted_5$
|
|
115816
|
+
const _hoisted_5$A = { class: "row-headers" };
|
|
115699
115817
|
const _hoisted_6$n = ["onMouseenter"];
|
|
115700
115818
|
const _hoisted_7$i = ["onClick"];
|
|
115701
115819
|
const _hoisted_8$f = ["onMousedown"];
|
|
@@ -115989,7 +116107,7 @@ const _sfc_main$2X = /* @__PURE__ */ defineComponent({
|
|
|
115989
116107
|
]);
|
|
115990
116108
|
}), 128))
|
|
115991
116109
|
]),
|
|
115992
|
-
createElementVNode("div", _hoisted_5$
|
|
116110
|
+
createElementVNode("div", _hoisted_5$A, [
|
|
115993
116111
|
(openBlock(true), createElementBlock(Fragment, null, renderList(__props.rows, (row, rowIndex) => {
|
|
115994
116112
|
return openBlock(), createElementBlock("div", {
|
|
115995
116113
|
key: row.id,
|
|
@@ -116287,7 +116405,7 @@ const _hoisted_3$V = {
|
|
|
116287
116405
|
class: "action-menu"
|
|
116288
116406
|
};
|
|
116289
116407
|
const _hoisted_4$I = { class: "item-icon" };
|
|
116290
|
-
const _hoisted_5$
|
|
116408
|
+
const _hoisted_5$z = { class: "item-icon" };
|
|
116291
116409
|
const _hoisted_6$m = { class: "item-icon" };
|
|
116292
116410
|
const _hoisted_7$h = { class: "item-icon scale-large" };
|
|
116293
116411
|
const _hoisted_8$e = {
|
|
@@ -116347,18 +116465,15 @@ const _sfc_main$2T = /* @__PURE__ */ defineComponent({
|
|
|
116347
116465
|
};
|
|
116348
116466
|
const getTableRows = (subFieldKey, visible) => {
|
|
116349
116467
|
const rows = docInst.value.dataManager.getRawData()[subFieldKey] ?? [];
|
|
116350
|
-
|
|
116468
|
+
{
|
|
116351
116469
|
return rows.filter((row) => !row.deleted_);
|
|
116352
116470
|
}
|
|
116353
|
-
return rows;
|
|
116354
116471
|
};
|
|
116355
116472
|
const checkTargetRowThen = (cb) => {
|
|
116356
116473
|
const { dataManager } = docInst.value;
|
|
116357
|
-
const {
|
|
116358
|
-
|
|
116359
|
-
|
|
116360
|
-
allRows.splice(index2, 0, {});
|
|
116361
|
-
dataManager.set(subFieldKey, allRows, "user");
|
|
116474
|
+
const { path, index: index2 } = getCtx();
|
|
116475
|
+
if (!dataManager.get(`${path}[${index2}]`)) {
|
|
116476
|
+
dataManager.insertAt(path, index2, {});
|
|
116362
116477
|
}
|
|
116363
116478
|
setTimeout(cb);
|
|
116364
116479
|
};
|
|
@@ -116383,7 +116498,7 @@ const _sfc_main$2T = /* @__PURE__ */ defineComponent({
|
|
|
116383
116498
|
});
|
|
116384
116499
|
const actionInfo = computed(() => {
|
|
116385
116500
|
const { subFieldKey, index: index2 } = getCtx();
|
|
116386
|
-
const visibleRows = getTableRows(subFieldKey
|
|
116501
|
+
const visibleRows = getTableRows(subFieldKey);
|
|
116387
116502
|
const { isMaterialConsume, isWarehouseInventory, isWarehouseAllocate } = subTableType.value;
|
|
116388
116503
|
const canCopy = !isWarehouseInventory && !isWarehouseAllocate;
|
|
116389
116504
|
const canInsertMulti = !isMaterialConsume && !isWarehouseInventory && !isWarehouseAllocate;
|
|
@@ -116438,10 +116553,10 @@ const _sfc_main$2T = /* @__PURE__ */ defineComponent({
|
|
|
116438
116553
|
await changeWarehouseInventoryParseRule({ doc, subRenderer, subModelKey });
|
|
116439
116554
|
}
|
|
116440
116555
|
};
|
|
116441
|
-
const
|
|
116556
|
+
const getIsIncreasable = () => {
|
|
116442
116557
|
if (subTableType.value.isMaterialConsume) {
|
|
116443
116558
|
const { subFieldKey } = getCtx();
|
|
116444
|
-
const visibleRows = getTableRows(subFieldKey
|
|
116559
|
+
const visibleRows = getTableRows(subFieldKey);
|
|
116445
116560
|
const isAllConfirmed = visibleRows.length && visibleRows.every((row) => row.is_confirmed_);
|
|
116446
116561
|
if (!isAllConfirmed) {
|
|
116447
116562
|
GctMessage.error("同时只能有一条数据开启编辑状态");
|
|
@@ -116450,34 +116565,35 @@ const _sfc_main$2T = /* @__PURE__ */ defineComponent({
|
|
|
116450
116565
|
}
|
|
116451
116566
|
return true;
|
|
116452
116567
|
};
|
|
116453
|
-
const
|
|
116568
|
+
const handleRowIncreased = (subFieldKey, rowIndex) => {
|
|
116454
116569
|
if (subTableType.value.isMaterialConsume) {
|
|
116455
|
-
|
|
116570
|
+
mcTableCtrl.value?.updateRowConsumed(props.doc);
|
|
116571
|
+
if (mcTableCtrl.value?.mcPattern === MaterialConsumptionPatternEnum.BOM) {
|
|
116572
|
+
MCDataUtil.disableQtyRequired(props.doc.dataManager, `$.${subFieldKey}[${rowIndex}]`);
|
|
116573
|
+
}
|
|
116456
116574
|
}
|
|
116457
116575
|
new TableRuntime(props.doc).onRowInit(subFieldKey, rowIndex);
|
|
116458
116576
|
};
|
|
116459
116577
|
const insertRows = (index2, count = 1) => {
|
|
116460
|
-
if (!
|
|
116578
|
+
if (!getIsIncreasable()) return;
|
|
116461
116579
|
const { path, subFieldKey } = getCtx();
|
|
116462
116580
|
props.doc.dataManager.insertAt(path, index2, ...Array.from({ length: count }, () => ({})));
|
|
116463
|
-
|
|
116464
|
-
};
|
|
116465
|
-
const removeRow = () => {
|
|
116466
|
-
const { path, index: index2 } = getCtx();
|
|
116467
|
-
props.doc.dataManager.removeAt(path, index2);
|
|
116468
|
-
mcTableCtrl.value?.updateRowConsumed(props.doc);
|
|
116581
|
+
handleRowIncreased(subFieldKey, index2);
|
|
116469
116582
|
};
|
|
116470
116583
|
const copyRow = () => {
|
|
116471
|
-
if (!
|
|
116584
|
+
if (!getIsIncreasable()) return;
|
|
116472
116585
|
const { path, index: index2, subFieldKey } = getCtx();
|
|
116473
|
-
|
|
116474
|
-
let data = props.doc.dataManager.get(`${path}[${storageIndex}]`) || {};
|
|
116586
|
+
let data = props.doc.dataManager.get(`${path}[${index2}]`) || {};
|
|
116475
116587
|
data = omit(data, "id_");
|
|
116476
116588
|
if (subTableType.value.isMaterialConsume) {
|
|
116477
116589
|
data = omit(data, "is_confirmed_");
|
|
116478
116590
|
}
|
|
116479
116591
|
props.doc.dataManager.insertAt(path, index2 + 1, data);
|
|
116480
|
-
|
|
116592
|
+
handleRowIncreased(subFieldKey, index2 + 1);
|
|
116593
|
+
};
|
|
116594
|
+
const removeRow = () => {
|
|
116595
|
+
const { path, index: index2 } = getCtx();
|
|
116596
|
+
props.doc.dataManager.removeAt(path, index2);
|
|
116481
116597
|
mcTableCtrl.value?.updateRowConsumed(props.doc);
|
|
116482
116598
|
};
|
|
116483
116599
|
const actionHandlers = {
|
|
@@ -116547,7 +116663,7 @@ const _sfc_main$2T = /* @__PURE__ */ defineComponent({
|
|
|
116547
116663
|
class: "menu-item",
|
|
116548
116664
|
onClick: _cache[1] || (_cache[1] = ($event) => handleMaterialConsumeAction("scan"))
|
|
116549
116665
|
}, [
|
|
116550
|
-
createElementVNode("div", _hoisted_5$
|
|
116666
|
+
createElementVNode("div", _hoisted_5$z, [
|
|
116551
116667
|
createVNode(unref(GctIcon), { icon: "icon-saoyisao" })
|
|
116552
116668
|
]),
|
|
116553
116669
|
_cache[17] || (_cache[17] = createElementVNode("div", { class: "item-label" }, "条码扫描", -1))
|
|
@@ -116697,7 +116813,7 @@ const _sfc_main$2T = /* @__PURE__ */ defineComponent({
|
|
|
116697
116813
|
};
|
|
116698
116814
|
}
|
|
116699
116815
|
});
|
|
116700
|
-
const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$2T, [["__scopeId", "data-v-
|
|
116816
|
+
const SubTableAction = /* @__PURE__ */ _export_sfc(_sfc_main$2T, [["__scopeId", "data-v-923a27bd"]]);
|
|
116701
116817
|
const _sfc_main$2S = /* @__PURE__ */ defineComponent({
|
|
116702
116818
|
__name: "index",
|
|
116703
116819
|
props: {
|
|
@@ -118636,7 +118752,7 @@ const _hoisted_1$1X = { class: "color-picker-container" };
|
|
|
118636
118752
|
const _hoisted_2$19 = { class: "color-content-auto" };
|
|
118637
118753
|
const _hoisted_3$S = { class: "color-content-theme" };
|
|
118638
118754
|
const _hoisted_4$H = ["onClick"];
|
|
118639
|
-
const _hoisted_5$
|
|
118755
|
+
const _hoisted_5$y = { class: "color-content-standard" };
|
|
118640
118756
|
const _hoisted_6$l = { class: "items" };
|
|
118641
118757
|
const _hoisted_7$g = ["onClick"];
|
|
118642
118758
|
const _hoisted_8$d = { class: "color-content-used" };
|
|
@@ -118726,7 +118842,7 @@ const _sfc_main$2K = /* @__PURE__ */ defineComponent({
|
|
|
118726
118842
|
]);
|
|
118727
118843
|
}), 128))
|
|
118728
118844
|
]),
|
|
118729
|
-
createElementVNode("div", _hoisted_5$
|
|
118845
|
+
createElementVNode("div", _hoisted_5$y, [
|
|
118730
118846
|
_cache[4] || (_cache[4] = createElementVNode("div", { class: "title" }, "标准色", -1)),
|
|
118731
118847
|
createElementVNode("div", _hoisted_6$l, [
|
|
118732
118848
|
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(colorUtils).standard, (c2, idx) => {
|
|
@@ -119539,7 +119655,7 @@ const _hoisted_1$1R = { class: "items-container" };
|
|
|
119539
119655
|
const _hoisted_2$17 = { class: "ribbon-tab-item" };
|
|
119540
119656
|
const _hoisted_3$Q = { class: "ribbon-tab-item" };
|
|
119541
119657
|
const _hoisted_4$G = { class: "ribbon-tab-item" };
|
|
119542
|
-
const _hoisted_5$
|
|
119658
|
+
const _hoisted_5$x = { class: "ribbon-tab-item" };
|
|
119543
119659
|
const _sfc_main$2E = /* @__PURE__ */ defineComponent({
|
|
119544
119660
|
__name: "word-tab",
|
|
119545
119661
|
setup(__props) {
|
|
@@ -119734,7 +119850,7 @@ const _sfc_main$2E = /* @__PURE__ */ defineComponent({
|
|
|
119734
119850
|
})
|
|
119735
119851
|
]),
|
|
119736
119852
|
_cache[18] || (_cache[18] = createElementVNode("div", { class: "split-divider" }, null, -1)),
|
|
119737
|
-
createElementVNode("div", _hoisted_5$
|
|
119853
|
+
createElementVNode("div", _hoisted_5$x, [
|
|
119738
119854
|
createVNode(ButtonIcon, {
|
|
119739
119855
|
tooltip: "左对齐",
|
|
119740
119856
|
iconExtraProps: { icon: "icon-zuoduiqi2" },
|
|
@@ -119822,7 +119938,7 @@ const _hoisted_1$1O = { class: "toolkit-item" };
|
|
|
119822
119938
|
const _hoisted_2$15 = { class: "toolkit-popper-wrap" };
|
|
119823
119939
|
const _hoisted_3$P = { class: "toolkit-popper-title" };
|
|
119824
119940
|
const _hoisted_4$F = { class: "title" };
|
|
119825
|
-
const _hoisted_5$
|
|
119941
|
+
const _hoisted_5$w = { class: "label" };
|
|
119826
119942
|
const _sfc_main$2B = /* @__PURE__ */ defineComponent({
|
|
119827
119943
|
__name: "toolkit-item",
|
|
119828
119944
|
props: {
|
|
@@ -119879,7 +119995,7 @@ const _sfc_main$2B = /* @__PURE__ */ defineComponent({
|
|
|
119879
119995
|
name: __props.icon,
|
|
119880
119996
|
size: 20
|
|
119881
119997
|
}, null, 8, ["name"]),
|
|
119882
|
-
createElementVNode("span", _hoisted_5$
|
|
119998
|
+
createElementVNode("span", _hoisted_5$w, toDisplayString(__props.label), 1)
|
|
119883
119999
|
], 2)
|
|
119884
120000
|
]),
|
|
119885
120001
|
_: 2
|
|
@@ -120067,7 +120183,7 @@ const _hoisted_1$1N = { class: "field-pallette" };
|
|
|
120067
120183
|
const _hoisted_2$14 = { class: "pallette-search" };
|
|
120068
120184
|
const _hoisted_3$O = { class: "pallette-main" };
|
|
120069
120185
|
const _hoisted_4$E = { class: "main-title" };
|
|
120070
|
-
const _hoisted_5$
|
|
120186
|
+
const _hoisted_5$v = {
|
|
120071
120187
|
key: 0,
|
|
120072
120188
|
class: "main-list"
|
|
120073
120189
|
};
|
|
@@ -120137,7 +120253,7 @@ const _sfc_main$2A = /* @__PURE__ */ defineComponent({
|
|
|
120137
120253
|
]),
|
|
120138
120254
|
createElementVNode("div", _hoisted_3$O, [
|
|
120139
120255
|
createElementVNode("div", _hoisted_4$E, toDisplayString(__props.modelName), 1),
|
|
120140
|
-
filteredFields.value.length ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
120256
|
+
filteredFields.value.length ? (openBlock(), createElementBlock("div", _hoisted_5$v, [
|
|
120141
120257
|
createVNode(unref(GctScrollbar), null, {
|
|
120142
120258
|
default: withCtx(() => [
|
|
120143
120259
|
createElementVNode("div", _hoisted_6$k, [
|
|
@@ -120503,7 +120619,7 @@ const _hoisted_4$D = {
|
|
|
120503
120619
|
key: 1,
|
|
120504
120620
|
class: "title"
|
|
120505
120621
|
};
|
|
120506
|
-
const _hoisted_5$
|
|
120622
|
+
const _hoisted_5$u = {
|
|
120507
120623
|
key: 1,
|
|
120508
120624
|
class: "empty"
|
|
120509
120625
|
};
|
|
@@ -120555,7 +120671,7 @@ const _sfc_main$2w = /* @__PURE__ */ defineComponent({
|
|
|
120555
120671
|
key: 0,
|
|
120556
120672
|
widget: unref(widget),
|
|
120557
120673
|
active: unref(active)
|
|
120558
|
-
}, null, 8, ["widget", "active"])) : (openBlock(), createElementBlock("div", _hoisted_5$
|
|
120674
|
+
}, null, 8, ["widget", "active"])) : (openBlock(), createElementBlock("div", _hoisted_5$u, "请选择一个元素"))
|
|
120559
120675
|
]),
|
|
120560
120676
|
_: 1
|
|
120561
120677
|
})
|
|
@@ -121388,7 +121504,7 @@ const _hoisted_1$1H = { class: "validation-comment-item" };
|
|
|
121388
121504
|
const _hoisted_2$10 = { class: "validation-comment-panel-container" };
|
|
121389
121505
|
const _hoisted_3$K = { class: "comment-header" };
|
|
121390
121506
|
const _hoisted_4$B = { class: "comment-messages" };
|
|
121391
|
-
const _hoisted_5$
|
|
121507
|
+
const _hoisted_5$t = { class: "message-item" };
|
|
121392
121508
|
const _hoisted_6$j = { class: "field-name" };
|
|
121393
121509
|
const _hoisted_7$e = { class: "error-text" };
|
|
121394
121510
|
const _sfc_main$2o = /* @__PURE__ */ defineComponent({
|
|
@@ -121475,7 +121591,7 @@ const _sfc_main$2o = /* @__PURE__ */ defineComponent({
|
|
|
121475
121591
|
]),
|
|
121476
121592
|
createElementVNode("div", _hoisted_4$B, [
|
|
121477
121593
|
(openBlock(true), createElementBlock(Fragment, null, renderList(fieldErrorList.value, (item) => {
|
|
121478
|
-
return openBlock(), createElementBlock("div", _hoisted_5$
|
|
121594
|
+
return openBlock(), createElementBlock("div", _hoisted_5$t, [
|
|
121479
121595
|
createElementVNode("div", _hoisted_6$j, toDisplayString(unref(fieldInfo)?.name) + ":", 1),
|
|
121480
121596
|
createElementVNode("div", _hoisted_7$e, toDisplayString(item.message), 1)
|
|
121481
121597
|
]);
|
|
@@ -121576,7 +121692,7 @@ const _hoisted_1$1F = { class: "cl__item" };
|
|
|
121576
121692
|
const _hoisted_2$$ = { class: "cl__item-panel-container" };
|
|
121577
121693
|
const _hoisted_3$J = { class: "cl__hdr" };
|
|
121578
121694
|
const _hoisted_4$A = { class: "cl__hdr-title" };
|
|
121579
|
-
const _hoisted_5$
|
|
121695
|
+
const _hoisted_5$s = {
|
|
121580
121696
|
key: 0,
|
|
121581
121697
|
class: "cl__hdr-flag"
|
|
121582
121698
|
};
|
|
@@ -121691,7 +121807,7 @@ const _sfc_main$2m = /* @__PURE__ */ defineComponent({
|
|
|
121691
121807
|
createElementVNode("article", _hoisted_2$$, [
|
|
121692
121808
|
createElementVNode("header", _hoisted_3$J, [
|
|
121693
121809
|
createElementVNode("div", _hoisted_4$A, toDisplayString(getHeaderLabel(__props.data.changeType)), 1),
|
|
121694
|
-
__props.data.isCurrentChange ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
121810
|
+
__props.data.isCurrentChange ? (openBlock(), createElementBlock("div", _hoisted_5$s, "本次变更")) : createCommentVNode("", true)
|
|
121695
121811
|
]),
|
|
121696
121812
|
createElementVNode("div", _hoisted_6$i, [
|
|
121697
121813
|
createVNode(unref(GctAvatar), {
|
|
@@ -122288,7 +122404,7 @@ const _hoisted_4$z = {
|
|
|
122288
122404
|
key: 0,
|
|
122289
122405
|
class: "right-container"
|
|
122290
122406
|
};
|
|
122291
|
-
const _hoisted_5$
|
|
122407
|
+
const _hoisted_5$r = {
|
|
122292
122408
|
key: 1,
|
|
122293
122409
|
class: "design-footer"
|
|
122294
122410
|
};
|
|
@@ -122382,7 +122498,7 @@ const _sfc_main$2i = /* @__PURE__ */ defineComponent({
|
|
|
122382
122498
|
])) : createCommentVNode("", true)
|
|
122383
122499
|
], 4)
|
|
122384
122500
|
]),
|
|
122385
|
-
!isPreview.value ? (openBlock(), createElementBlock("footer", _hoisted_5$
|
|
122501
|
+
!isPreview.value ? (openBlock(), createElementBlock("footer", _hoisted_5$r, [
|
|
122386
122502
|
createElementVNode("div", null, [
|
|
122387
122503
|
createElementVNode("span", _hoisted_6$h, " 布局刷新次数:" + toDisplayString(unref(docInfo).updateTick), 1),
|
|
122388
122504
|
createElementVNode("span", _hoisted_7$c, " 模式:" + toDisplayString(unref(docInst)?.modeLabel), 1)
|
|
@@ -127273,7 +127389,7 @@ const _hoisted_3$G = {
|
|
|
127273
127389
|
class: "head"
|
|
127274
127390
|
};
|
|
127275
127391
|
const _hoisted_4$x = { class: "title" };
|
|
127276
|
-
const _hoisted_5$
|
|
127392
|
+
const _hoisted_5$q = {
|
|
127277
127393
|
key: 1,
|
|
127278
127394
|
class: "link"
|
|
127279
127395
|
};
|
|
@@ -127317,7 +127433,7 @@ const _sfc_main$1W = /* @__PURE__ */ defineComponent({
|
|
|
127317
127433
|
onClick: withModifiers(($event) => _ctx.$emit("delete-thead", item), ["stop"])
|
|
127318
127434
|
}, null, 8, ["onClick"])
|
|
127319
127435
|
])) : createCommentVNode("", true),
|
|
127320
|
-
__props.type !== "table-header" && item?.thead ? (openBlock(), createElementBlock("div", _hoisted_5$
|
|
127436
|
+
__props.type !== "table-header" && item?.thead ? (openBlock(), createElementBlock("div", _hoisted_5$q, [
|
|
127321
127437
|
createVNode(unref(GctIcon), {
|
|
127322
127438
|
class: "icon",
|
|
127323
127439
|
icon: "icon-lianjie2",
|
|
@@ -127808,7 +127924,7 @@ const _hoisted_4$v = {
|
|
|
127808
127924
|
key: 1,
|
|
127809
127925
|
class: "error-text map-error"
|
|
127810
127926
|
};
|
|
127811
|
-
const _hoisted_5$
|
|
127927
|
+
const _hoisted_5$p = { class: "qrcode-parse-modal__map" };
|
|
127812
127928
|
const _hoisted_6$f = {
|
|
127813
127929
|
key: 0,
|
|
127814
127930
|
class: "error-text"
|
|
@@ -127987,7 +128103,7 @@ const _sfc_main$1R = /* @__PURE__ */ defineComponent({
|
|
|
127987
128103
|
])) : createCommentVNode("", true),
|
|
127988
128104
|
_cache[2] || (_cache[2] = createElementVNode("div", { class: "qrcode-parse-modal__subtitle" }, "字段映射", -1)),
|
|
127989
128105
|
mapError.value ? (openBlock(), createElementBlock("div", _hoisted_4$v, toDisplayString(mapError.value), 1)) : createCommentVNode("", true),
|
|
127990
|
-
createElementVNode("div", _hoisted_5$
|
|
128106
|
+
createElementVNode("div", _hoisted_5$p, [
|
|
127991
128107
|
(openBlock(true), createElementBlock(Fragment, null, renderList(formState.fillMapArr, (item, index2) => {
|
|
127992
128108
|
return openBlock(), createElementBlock("div", {
|
|
127993
128109
|
key: index2,
|
|
@@ -128451,7 +128567,7 @@ const _hoisted_1$1r = { class: "panel-repeating-sub-table" };
|
|
|
128451
128567
|
const _hoisted_2$S = { class: "container" };
|
|
128452
128568
|
const _hoisted_3$C = { class: "form-custom-label" };
|
|
128453
128569
|
const _hoisted_4$u = { class: "content" };
|
|
128454
|
-
const _hoisted_5$
|
|
128570
|
+
const _hoisted_5$o = { class: "content" };
|
|
128455
128571
|
const _sfc_main$1N = /* @__PURE__ */ defineComponent({
|
|
128456
128572
|
__name: "RepeatingSubTablePanel",
|
|
128457
128573
|
props: {
|
|
@@ -128561,7 +128677,7 @@ const _sfc_main$1N = /* @__PURE__ */ defineComponent({
|
|
|
128561
128677
|
label: "库存自动加载"
|
|
128562
128678
|
}, {
|
|
128563
128679
|
default: withCtx(() => [
|
|
128564
|
-
createElementVNode("div", _hoisted_5$
|
|
128680
|
+
createElementVNode("div", _hoisted_5$o, [
|
|
128565
128681
|
createVNode(unref(GctSwitch), {
|
|
128566
128682
|
modelValue: unref(regionProps).autoLoadInventory,
|
|
128567
128683
|
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(regionProps).autoLoadInventory = $event),
|
|
@@ -128903,7 +129019,7 @@ const _hoisted_3$B = {
|
|
|
128903
129019
|
class: "iconfont icon-drag mover"
|
|
128904
129020
|
};
|
|
128905
129021
|
const _hoisted_4$t = { class: "bom-entry-item-content ks-col" };
|
|
128906
|
-
const _hoisted_5$
|
|
129022
|
+
const _hoisted_5$n = { class: "bom-entry-item-content-item ell overflow-hidden" };
|
|
128907
129023
|
const _hoisted_6$e = ["title"];
|
|
128908
129024
|
const _hoisted_7$9 = { class: "bom-entry-item-btns ml8px" };
|
|
128909
129025
|
const _hoisted_8$8 = ["onClick"];
|
|
@@ -128999,7 +129115,7 @@ const _sfc_main$1H = /* @__PURE__ */ defineComponent({
|
|
|
128999
129115
|
createElementVNode("div", _hoisted_2$Q, [
|
|
129000
129116
|
!__props.disabled ? (openBlock(), createElementBlock("i", _hoisted_3$B)) : createCommentVNode("", true),
|
|
129001
129117
|
createElementVNode("div", _hoisted_4$t, [
|
|
129002
|
-
createElementVNode("div", _hoisted_5$
|
|
129118
|
+
createElementVNode("div", _hoisted_5$n, [
|
|
129003
129119
|
(openBlock(), createBlock(_sfc_main$1I, {
|
|
129004
129120
|
key: element.product_id_,
|
|
129005
129121
|
value: element.product_id_
|
|
@@ -129049,7 +129165,7 @@ const _hoisted_1$1m = { class: "panel-material-consume-table" };
|
|
|
129049
129165
|
const _hoisted_2$P = { class: "container" };
|
|
129050
129166
|
const _hoisted_3$A = { class: "content" };
|
|
129051
129167
|
const _hoisted_4$s = { class: "entries-container" };
|
|
129052
|
-
const _hoisted_5$
|
|
129168
|
+
const _hoisted_5$m = { class: "content" };
|
|
129053
129169
|
const _sfc_main$1G = /* @__PURE__ */ defineComponent({
|
|
129054
129170
|
__name: "MaterialConsumeTablePanel",
|
|
129055
129171
|
props: {
|
|
@@ -129153,7 +129269,7 @@ const _sfc_main$1G = /* @__PURE__ */ defineComponent({
|
|
|
129153
129269
|
createElementVNode("div", { class: "form-custom-label" }, " 按顺序投料 ", -1)
|
|
129154
129270
|
])]),
|
|
129155
129271
|
default: withCtx(() => [
|
|
129156
|
-
createElementVNode("div", _hoisted_5$
|
|
129272
|
+
createElementVNode("div", _hoisted_5$m, [
|
|
129157
129273
|
createVNode(unref(GctSwitch), {
|
|
129158
129274
|
modelValue: unref(regionProps).sequence_loading_enabled_,
|
|
129159
129275
|
"onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => unref(regionProps).sequence_loading_enabled_ = $event),
|
|
@@ -130543,7 +130659,7 @@ const _hoisted_1$1d = { class: "data-source-model-link-wrapper" };
|
|
|
130543
130659
|
const _hoisted_2$I = { class: "model-link-container" };
|
|
130544
130660
|
const _hoisted_3$w = { class: "model-link-content" };
|
|
130545
130661
|
const _hoisted_4$p = { class: "model-link-item" };
|
|
130546
|
-
const _hoisted_5$
|
|
130662
|
+
const _hoisted_5$l = { class: "model-link-item" };
|
|
130547
130663
|
const _sfc_main$1q = /* @__PURE__ */ defineComponent({
|
|
130548
130664
|
__name: "data-source-model-link",
|
|
130549
130665
|
props: {
|
|
@@ -130793,7 +130909,7 @@ const _sfc_main$1q = /* @__PURE__ */ defineComponent({
|
|
|
130793
130909
|
return openBlock(), createElementBlock(Fragment, {
|
|
130794
130910
|
key: item.id
|
|
130795
130911
|
}, [
|
|
130796
|
-
createElementVNode("div", _hoisted_5$
|
|
130912
|
+
createElementVNode("div", _hoisted_5$l, [
|
|
130797
130913
|
createVNode(_sfc_main$1t, {
|
|
130798
130914
|
class: "custom-select",
|
|
130799
130915
|
placeholder: "请选择字段",
|
|
@@ -130971,7 +131087,7 @@ const _hoisted_1$1b = { class: "data-source-field-map-wrapper" };
|
|
|
130971
131087
|
const _hoisted_2$G = { class: "field-map-container" };
|
|
130972
131088
|
const _hoisted_3$u = { class: "field-map-content" };
|
|
130973
131089
|
const _hoisted_4$o = { class: "field-map-item" };
|
|
130974
|
-
const _hoisted_5$
|
|
131090
|
+
const _hoisted_5$k = { class: "blank last" };
|
|
130975
131091
|
const _hoisted_6$d = ["onClick"];
|
|
130976
131092
|
const _sfc_main$1n = /* @__PURE__ */ defineComponent({
|
|
130977
131093
|
__name: "data-source-field-map",
|
|
@@ -131185,7 +131301,7 @@ const _sfc_main$1n = /* @__PURE__ */ defineComponent({
|
|
|
131185
131301
|
field.fieldLink = opt.fieldLink;
|
|
131186
131302
|
}
|
|
131187
131303
|
}, null, 8, ["joinModelType", "joinFormRefId", "joinModelKey", "filterFieldType", "selectCascaderValue", "onUpdate:selectCascaderValue", "selectFieldKey", "onUpdate:selectFieldKey", "onOnSelect"])),
|
|
131188
|
-
createElementVNode("span", _hoisted_5$
|
|
131304
|
+
createElementVNode("span", _hoisted_5$k, [
|
|
131189
131305
|
createElementVNode("i", {
|
|
131190
131306
|
class: "iconfont icon-shanchu",
|
|
131191
131307
|
onClick: ($event) => removeFieldItem(field)
|
|
@@ -131209,7 +131325,7 @@ const _hoisted_1$1a = { class: "param-link-container" };
|
|
|
131209
131325
|
const _hoisted_2$F = { class: "param-link-content" };
|
|
131210
131326
|
const _hoisted_3$t = { class: "param-link-item" };
|
|
131211
131327
|
const _hoisted_4$n = { class: "blank last" };
|
|
131212
|
-
const _hoisted_5$
|
|
131328
|
+
const _hoisted_5$j = ["onClick"];
|
|
131213
131329
|
const _sfc_main$1m = /* @__PURE__ */ defineComponent({
|
|
131214
131330
|
__name: "param-field-link",
|
|
131215
131331
|
props: {
|
|
@@ -131354,7 +131470,7 @@ const _sfc_main$1m = /* @__PURE__ */ defineComponent({
|
|
|
131354
131470
|
createElementVNode("i", {
|
|
131355
131471
|
class: "iconfont icon-shanchu",
|
|
131356
131472
|
onClick: ($event) => removeFieldItem(fieldItem)
|
|
131357
|
-
}, null, 8, _hoisted_5$
|
|
131473
|
+
}, null, 8, _hoisted_5$j)
|
|
131358
131474
|
])
|
|
131359
131475
|
]);
|
|
131360
131476
|
}), 128))
|
|
@@ -131373,7 +131489,7 @@ const _hoisted_1$19 = { class: "item-info" };
|
|
|
131373
131489
|
const _hoisted_2$E = { class: "info-text" };
|
|
131374
131490
|
const _hoisted_3$s = { class: "text-row" };
|
|
131375
131491
|
const _hoisted_4$m = { class: "row-value" };
|
|
131376
|
-
const _hoisted_5$
|
|
131492
|
+
const _hoisted_5$i = { class: "text-row" };
|
|
131377
131493
|
const _hoisted_6$c = { class: "row-value" };
|
|
131378
131494
|
const _hoisted_7$8 = ["onClick"];
|
|
131379
131495
|
const _sfc_main$1l = /* @__PURE__ */ defineComponent({
|
|
@@ -131454,7 +131570,7 @@ const _sfc_main$1l = /* @__PURE__ */ defineComponent({
|
|
|
131454
131570
|
_cache[0] || (_cache[0] = createElementVNode("span", { class: "row-label" }, "字段名称:", -1)),
|
|
131455
131571
|
createElementVNode("span", _hoisted_4$m, toDisplayString(item.objectFieldName), 1)
|
|
131456
131572
|
]),
|
|
131457
|
-
createElementVNode("div", _hoisted_5$
|
|
131573
|
+
createElementVNode("div", _hoisted_5$i, [
|
|
131458
131574
|
_cache[1] || (_cache[1] = createElementVNode("span", { class: "row-label" }, "字段类型:", -1)),
|
|
131459
131575
|
createElementVNode("span", _hoisted_6$c, toDisplayString(getObjectFieldTypeName(item.objectField)), 1)
|
|
131460
131576
|
])
|
|
@@ -131501,7 +131617,7 @@ const _hoisted_1$18 = { class: "panel-data-init" };
|
|
|
131501
131617
|
const _hoisted_2$D = { class: "collapse-inner param-area" };
|
|
131502
131618
|
const _hoisted_3$r = { class: "collapse-inner data-source-area" };
|
|
131503
131619
|
const _hoisted_4$l = { class: "collapse-inner" };
|
|
131504
|
-
const _hoisted_5$
|
|
131620
|
+
const _hoisted_5$h = { class: "collapse-inner data-load-area" };
|
|
131505
131621
|
const _sfc_main$1k = /* @__PURE__ */ defineComponent({
|
|
131506
131622
|
__name: "DataInitPanel",
|
|
131507
131623
|
setup(__props) {
|
|
@@ -131777,7 +131893,7 @@ const _sfc_main$1k = /* @__PURE__ */ defineComponent({
|
|
|
131777
131893
|
title: "数据加载"
|
|
131778
131894
|
}, {
|
|
131779
131895
|
default: withCtx(() => [
|
|
131780
|
-
createElementVNode("div", _hoisted_5$
|
|
131896
|
+
createElementVNode("div", _hoisted_5$h, [
|
|
131781
131897
|
(openBlock(), createBlock(resolveDynamicComponent(dataLoadPanel.value)))
|
|
131782
131898
|
])
|
|
131783
131899
|
]),
|
|
@@ -131932,10 +132048,14 @@ function filterFieldTree(nodes, keyword) {
|
|
|
131932
132048
|
const _hoisted_1$16 = ["value", "placeholder"];
|
|
131933
132049
|
const _hoisted_2$B = {
|
|
131934
132050
|
key: 2,
|
|
131935
|
-
class: "field-tree-
|
|
132051
|
+
class: "field-tree-select__suffix-icon"
|
|
131936
132052
|
};
|
|
131937
|
-
const _hoisted_3$p = {
|
|
131938
|
-
|
|
132053
|
+
const _hoisted_3$p = {
|
|
132054
|
+
key: 3,
|
|
132055
|
+
class: "field-tree-select__suffix-icon"
|
|
132056
|
+
};
|
|
132057
|
+
const _hoisted_4$j = { class: "field-tree-dropdown__list" };
|
|
132058
|
+
const _hoisted_5$g = {
|
|
131939
132059
|
key: 0,
|
|
131940
132060
|
class: "field-tree-dropdown__empty"
|
|
131941
132061
|
};
|
|
@@ -131957,6 +132077,7 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
|
131957
132077
|
const inputRef = ref();
|
|
131958
132078
|
const dropdownRef = ref();
|
|
131959
132079
|
const isOpen = ref(false);
|
|
132080
|
+
const isHovered = ref(false);
|
|
131960
132081
|
const dropdownStyle = ref({});
|
|
131961
132082
|
const { keyword, highlightName } = useHighlightSearch();
|
|
131962
132083
|
const displayTree = computed(() => filterFieldTree(props.treeData, keyword.value));
|
|
@@ -131966,9 +132087,11 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
|
131966
132087
|
);
|
|
131967
132088
|
const selectedLabel = computed(() => selectedNode.value?.label ?? "");
|
|
131968
132089
|
const inputDisplayValue = computed(() => isOpen.value ? keyword.value : "");
|
|
131969
|
-
const
|
|
131970
|
-
(
|
|
131971
|
-
|
|
132090
|
+
const suffixIcon = computed(() => {
|
|
132091
|
+
if (!isOpen.value && !!props.modelValue && isHovered.value) return "clear";
|
|
132092
|
+
if (isOpen.value) return "search";
|
|
132093
|
+
return "arrow";
|
|
132094
|
+
});
|
|
131972
132095
|
function calcDropdownPosition() {
|
|
131973
132096
|
if (!rootRef.value) return;
|
|
131974
132097
|
const rect = rootRef.value.getBoundingClientRect();
|
|
@@ -132012,15 +132135,10 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
|
132012
132135
|
calcDropdownPosition();
|
|
132013
132136
|
}
|
|
132014
132137
|
function onClear() {
|
|
132015
|
-
if (keyword.value.trim()) {
|
|
132016
|
-
keyword.value = "";
|
|
132017
|
-
inputRef.value?.focus();
|
|
132018
|
-
return;
|
|
132019
|
-
}
|
|
132020
132138
|
emit("update:modelValue", void 0);
|
|
132021
132139
|
emit("change", void 0);
|
|
132022
132140
|
keyword.value = "";
|
|
132023
|
-
|
|
132141
|
+
close();
|
|
132024
132142
|
}
|
|
132025
132143
|
function onSelect(value, node) {
|
|
132026
132144
|
emit("update:modelValue", value);
|
|
@@ -132062,7 +132180,9 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
|
132062
132180
|
}, [
|
|
132063
132181
|
createElementVNode("div", {
|
|
132064
132182
|
class: normalizeClass(["field-tree-select__trigger", { open: isOpen.value }]),
|
|
132065
|
-
onClick: onTriggerClick
|
|
132183
|
+
onClick: onTriggerClick,
|
|
132184
|
+
onMouseenter: _cache[1] || (_cache[1] = ($event) => isHovered.value = true),
|
|
132185
|
+
onMouseleave: _cache[2] || (_cache[2] = ($event) => isHovered.value = false)
|
|
132066
132186
|
}, [
|
|
132067
132187
|
selectedNode.value?.icon && !isOpen.value ? (openBlock(), createBlock(unref(GctIcon), {
|
|
132068
132188
|
key: 0,
|
|
@@ -132086,9 +132206,11 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
|
132086
132206
|
withKeys(close, ["tab"])
|
|
132087
132207
|
]
|
|
132088
132208
|
}, null, 42, _hoisted_1$16),
|
|
132089
|
-
|
|
132209
|
+
suffixIcon.value === "clear" ? (openBlock(), createElementBlock("span", {
|
|
132090
132210
|
key: 1,
|
|
132091
132211
|
class: "field-tree-select__clear",
|
|
132212
|
+
onMousedown: _cache[0] || (_cache[0] = withModifiers(() => {
|
|
132213
|
+
}, ["prevent"])),
|
|
132092
132214
|
onClick: withModifiers(onClear, ["stop"])
|
|
132093
132215
|
}, [
|
|
132094
132216
|
createVNode(unref(GctIcon), {
|
|
@@ -132096,14 +132218,20 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
|
132096
132218
|
color: "rgba(0, 0, 0, 0.25)",
|
|
132097
132219
|
size: "14"
|
|
132098
132220
|
})
|
|
132099
|
-
])) : (openBlock(), createElementBlock("span", _hoisted_2$B, [
|
|
132221
|
+
], 32)) : suffixIcon.value === "search" ? (openBlock(), createElementBlock("span", _hoisted_2$B, [
|
|
132100
132222
|
createVNode(unref(GctIcon), {
|
|
132101
132223
|
icon: "icon-sousuo",
|
|
132102
132224
|
color: "rgba(0, 0, 0, 0.45)",
|
|
132103
132225
|
size: "14"
|
|
132104
132226
|
})
|
|
132227
|
+
])) : (openBlock(), createElementBlock("span", _hoisted_3$p, [
|
|
132228
|
+
createVNode(unref(GctIcon), {
|
|
132229
|
+
icon: "icon-arrow_zhankai",
|
|
132230
|
+
color: "#6b6b6b",
|
|
132231
|
+
version: "v2"
|
|
132232
|
+
})
|
|
132105
132233
|
]))
|
|
132106
|
-
],
|
|
132234
|
+
], 34),
|
|
132107
132235
|
(openBlock(), createBlock(Teleport, { to: "body" }, [
|
|
132108
132236
|
isOpen.value ? (openBlock(), createElementBlock("div", {
|
|
132109
132237
|
key: 0,
|
|
@@ -132111,7 +132239,7 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
|
132111
132239
|
ref: dropdownRef,
|
|
132112
132240
|
class: "field-tree-dropdown",
|
|
132113
132241
|
style: normalizeStyle(dropdownStyle.value),
|
|
132114
|
-
onMousedown: _cache[
|
|
132242
|
+
onMousedown: _cache[3] || (_cache[3] = withModifiers(() => {
|
|
132115
132243
|
}, ["prevent"]))
|
|
132116
132244
|
}, [
|
|
132117
132245
|
createVNode(unref(GctScrollbar), {
|
|
@@ -132119,7 +132247,7 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
|
132119
132247
|
"wrap-style": { maxHeight: "280px" }
|
|
132120
132248
|
}, {
|
|
132121
132249
|
default: withCtx(() => [
|
|
132122
|
-
createElementVNode("div",
|
|
132250
|
+
createElementVNode("div", _hoisted_4$j, [
|
|
132123
132251
|
(openBlock(true), createElementBlock(Fragment, null, renderList(displayTree.value, (node) => {
|
|
132124
132252
|
return openBlock(), createBlock(FieldTreeNode, {
|
|
132125
132253
|
key: node.value,
|
|
@@ -132133,7 +132261,7 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
|
132133
132261
|
onSelect
|
|
132134
132262
|
}, null, 8, ["node", "model-value", "force-expand", "default-expanded", "group-only-expand", "highlight-name"]);
|
|
132135
132263
|
}), 128)),
|
|
132136
|
-
!displayTree.value.length ? (openBlock(), createElementBlock("div",
|
|
132264
|
+
!displayTree.value.length ? (openBlock(), createElementBlock("div", _hoisted_5$g, "暂无数据")) : createCommentVNode("", true)
|
|
132137
132265
|
])
|
|
132138
132266
|
]),
|
|
132139
132267
|
_: 1
|
|
@@ -132144,7 +132272,7 @@ const _sfc_main$1i = /* @__PURE__ */ defineComponent({
|
|
|
132144
132272
|
};
|
|
132145
132273
|
}
|
|
132146
132274
|
});
|
|
132147
|
-
const FieldTreeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$1i, [["__scopeId", "data-v-
|
|
132275
|
+
const FieldTreeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$1i, [["__scopeId", "data-v-60520932"]]);
|
|
132148
132276
|
const SOURCE_UNIT_KEY = "sourceUnit";
|
|
132149
132277
|
const TARGET_UNIT_KEY = "targetUnit";
|
|
132150
132278
|
const EXPR_FIELD_TITLE = "规则表达式值";
|
|
@@ -135035,7 +135163,7 @@ const _hoisted_5$a = {
|
|
|
135035
135163
|
};
|
|
135036
135164
|
const _hoisted_6$8 = { class: "form-col" };
|
|
135037
135165
|
const _hoisted_7$5 = {
|
|
135038
|
-
key:
|
|
135166
|
+
key: 2,
|
|
135039
135167
|
class: "error-text"
|
|
135040
135168
|
};
|
|
135041
135169
|
const _hoisted_8$5 = ["onClick"];
|
|
@@ -135064,6 +135192,9 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
|
|
|
135064
135192
|
]
|
|
135065
135193
|
});
|
|
135066
135194
|
const errors = ref({});
|
|
135195
|
+
const isFlatToFieldMode = computed(
|
|
135196
|
+
() => !props.toFieldList.length && props.toSubTables.length > 0
|
|
135197
|
+
);
|
|
135067
135198
|
const fullToFieldTree = computed(
|
|
135068
135199
|
() => buildToFieldTree(props.toModelInfo, props.toFieldList, props.toSubTables)
|
|
135069
135200
|
);
|
|
@@ -135085,31 +135216,59 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
|
|
|
135085
135216
|
const fromMeta = resolveFromFieldMeta(fromField, props.refModelFieldList, props.currentField);
|
|
135086
135217
|
return filterToFieldTreeBySource(fullToFieldTree.value, fromMeta);
|
|
135087
135218
|
}
|
|
135219
|
+
function getToFieldFlatOptions(fromField) {
|
|
135220
|
+
return getToFieldTree(fromField).flatMap(
|
|
135221
|
+
(group2) => (group2.children ?? []).map((child) => ({
|
|
135222
|
+
label: child.label,
|
|
135223
|
+
value: child.value,
|
|
135224
|
+
icon: child.icon,
|
|
135225
|
+
iconVersion: child.iconVersion,
|
|
135226
|
+
iconColor: child.iconColor,
|
|
135227
|
+
_item: child._targetMeta
|
|
135228
|
+
}))
|
|
135229
|
+
);
|
|
135230
|
+
}
|
|
135088
135231
|
function getToFieldValue(rule) {
|
|
135089
135232
|
return encodeToFieldValueFromRule(rule);
|
|
135090
135233
|
}
|
|
135091
|
-
function
|
|
135092
|
-
if (!
|
|
135234
|
+
function applyToFieldMeta(rule, meta) {
|
|
135235
|
+
if (!meta) {
|
|
135093
135236
|
rule.toField = void 0;
|
|
135094
135237
|
rule.toModelKey = void 0;
|
|
135095
135238
|
rule.toSubModel = void 0;
|
|
135096
135239
|
rule.toSubFieldKey = void 0;
|
|
135240
|
+
return;
|
|
135241
|
+
}
|
|
135242
|
+
rule.toField = meta.fieldKey;
|
|
135243
|
+
rule.toModelKey = meta.modelKey;
|
|
135244
|
+
rule.toSubModel = meta.subModel;
|
|
135245
|
+
rule.toSubFieldKey = meta.subFieldKey;
|
|
135246
|
+
}
|
|
135247
|
+
function clearRuleError(rule, field) {
|
|
135248
|
+
if (!errors.value[rule.id]) return;
|
|
135249
|
+
delete errors.value[rule.id][field];
|
|
135250
|
+
if (!Object.keys(errors.value[rule.id]).length) {
|
|
135251
|
+
delete errors.value[rule.id];
|
|
135252
|
+
}
|
|
135253
|
+
}
|
|
135254
|
+
function onToFieldValueChange(rule, value) {
|
|
135255
|
+
if (!value) {
|
|
135256
|
+
applyToFieldMeta(rule);
|
|
135097
135257
|
validateRule(rule);
|
|
135098
135258
|
}
|
|
135099
135259
|
}
|
|
135100
135260
|
function onToFieldChange(rule, node) {
|
|
135101
|
-
|
|
135102
|
-
|
|
135103
|
-
|
|
135104
|
-
|
|
135105
|
-
|
|
135106
|
-
rule
|
|
135107
|
-
|
|
135108
|
-
|
|
135109
|
-
rule.toModelKey = meta.modelKey;
|
|
135110
|
-
rule.toSubModel = meta.subModel;
|
|
135111
|
-
rule.toSubFieldKey = meta.subFieldKey;
|
|
135261
|
+
applyToFieldMeta(rule, node?._targetMeta);
|
|
135262
|
+
validateRule(rule);
|
|
135263
|
+
}
|
|
135264
|
+
function onToFieldFlatChange(rule, value, item) {
|
|
135265
|
+
if (value == null || value === "") {
|
|
135266
|
+
applyToFieldMeta(rule);
|
|
135267
|
+
validateRule(rule);
|
|
135268
|
+
return;
|
|
135112
135269
|
}
|
|
135270
|
+
const meta = item?._item ?? getToFieldFlatOptions(rule.fromField).find((opt) => opt.value === value)?._item;
|
|
135271
|
+
applyToFieldMeta(rule, meta);
|
|
135113
135272
|
validateRule(rule);
|
|
135114
135273
|
}
|
|
135115
135274
|
const ruleDescriptor = {
|
|
@@ -135180,12 +135339,16 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
|
|
|
135180
135339
|
if (index2 > -1) formState.rules.splice(index2, 1);
|
|
135181
135340
|
delete errors.value[rule.id];
|
|
135182
135341
|
}
|
|
135183
|
-
function onFromFieldChange(rule) {
|
|
135342
|
+
async function onFromFieldChange(rule) {
|
|
135343
|
+
const hadToFieldError = !!errors.value[rule.id]?.toField;
|
|
135184
135344
|
rule.toField = void 0;
|
|
135185
135345
|
rule.toModelKey = void 0;
|
|
135186
135346
|
rule.toSubModel = void 0;
|
|
135187
135347
|
rule.toSubFieldKey = void 0;
|
|
135188
|
-
validateRule(rule);
|
|
135348
|
+
await validateRule(rule);
|
|
135349
|
+
if (!hadToFieldError) {
|
|
135350
|
+
clearRuleError(rule, "toField");
|
|
135351
|
+
}
|
|
135189
135352
|
}
|
|
135190
135353
|
const save = async () => {
|
|
135191
135354
|
const ok = await validateForm();
|
|
@@ -135207,7 +135370,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
|
|
|
135207
135370
|
_cache[0] || (_cache[0] = createTextVNode(" 填充规则 ", -1))
|
|
135208
135371
|
]),
|
|
135209
135372
|
createElementVNode("div", _hoisted_2$p, [
|
|
135210
|
-
_cache[2] || (_cache[2] = createStaticVNode('<div class="header" data-v-
|
|
135373
|
+
_cache[2] || (_cache[2] = createStaticVNode('<div class="header" data-v-c4dcc73a><div class="header-title" data-v-c4dcc73a>取值来源</div><div class="header-label" data-v-c4dcc73a>值填充至</div><div class="header-title" data-v-c4dcc73a>目标字段(当前表单模型字段)</div><div class="header-action" data-v-c4dcc73a></div></div>', 1)),
|
|
135211
135374
|
createElementVNode("div", _hoisted_3$e, [
|
|
135212
135375
|
(openBlock(true), createElementBlock(Fragment, null, renderList(formState.rules, (rule) => {
|
|
135213
135376
|
return openBlock(), createElementBlock("div", {
|
|
@@ -135226,16 +135389,25 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
|
|
|
135226
135389
|
]),
|
|
135227
135390
|
_cache[1] || (_cache[1] = createElementVNode("div", { class: "form-table-label" }, "值填充至", -1)),
|
|
135228
135391
|
createElementVNode("div", _hoisted_6$8, [
|
|
135229
|
-
|
|
135392
|
+
isFlatToFieldMode.value ? (openBlock(), createBlock(unref(GctSearchableSelect), {
|
|
135393
|
+
key: 0,
|
|
135394
|
+
"model-value": getToFieldValue(rule),
|
|
135395
|
+
options: getToFieldFlatOptions(rule.fromField),
|
|
135396
|
+
allowClear: "",
|
|
135397
|
+
placeholder: "请选择字段",
|
|
135398
|
+
onChange: (v, item) => onToFieldFlatChange(rule, v, item)
|
|
135399
|
+
}, null, 8, ["model-value", "options", "onChange"])) : (openBlock(), createBlock(FieldTreeSelect, {
|
|
135400
|
+
key: 1,
|
|
135230
135401
|
"model-value": getToFieldValue(rule),
|
|
135231
135402
|
"tree-data": getToFieldTree(rule.fromField),
|
|
135232
135403
|
"group-only-expand": "",
|
|
135233
135404
|
"onUpdate:modelValue": (v) => onToFieldValueChange(rule, v),
|
|
135234
135405
|
onChange: (_2, node) => onToFieldChange(rule, node)
|
|
135235
|
-
}, null, 8, ["model-value", "tree-data", "onUpdate:modelValue", "onChange"]),
|
|
135406
|
+
}, null, 8, ["model-value", "tree-data", "onUpdate:modelValue", "onChange"])),
|
|
135236
135407
|
getError(rule, "toField") ? (openBlock(), createElementBlock("div", _hoisted_7$5, toDisplayString(getError(rule, "toField")), 1)) : createCommentVNode("", true)
|
|
135237
135408
|
]),
|
|
135238
|
-
|
|
135409
|
+
formState.rules.length > 1 ? (openBlock(), createElementBlock("div", {
|
|
135410
|
+
key: 0,
|
|
135239
135411
|
class: "action rule-item__remove",
|
|
135240
135412
|
onClick: withModifiers(($event) => removeRule(rule), ["stop"])
|
|
135241
135413
|
}, [
|
|
@@ -135243,7 +135415,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
|
|
|
135243
135415
|
icon: "icon-shanchu1",
|
|
135244
135416
|
color: "#8B8B8B"
|
|
135245
135417
|
})
|
|
135246
|
-
], 8, _hoisted_8$5)
|
|
135418
|
+
], 8, _hoisted_8$5)) : createCommentVNode("", true)
|
|
135247
135419
|
]);
|
|
135248
135420
|
}), 128))
|
|
135249
135421
|
])
|
|
@@ -135252,7 +135424,7 @@ const _sfc_main$W = /* @__PURE__ */ defineComponent({
|
|
|
135252
135424
|
};
|
|
135253
135425
|
}
|
|
135254
135426
|
});
|
|
135255
|
-
const AutofillRulesModel = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-
|
|
135427
|
+
const AutofillRulesModel = /* @__PURE__ */ _export_sfc(_sfc_main$W, [["__scopeId", "data-v-c4dcc73a"]]);
|
|
135256
135428
|
const _hoisted_1$P = { class: "ref-autofill-editor__extra" };
|
|
135257
135429
|
const _sfc_main$V = /* @__PURE__ */ defineComponent({
|
|
135258
135430
|
__name: "ref-autofill-editor",
|
|
@@ -140658,11 +140830,8 @@ function useTableDropdown(props, searchFilters) {
|
|
|
140658
140830
|
const valuePath = fieldMeta.value?.valuePath;
|
|
140659
140831
|
const subFieldConfig = getSubFieldConfig(docInst.value.paramsConfig);
|
|
140660
140832
|
const extraParams = subFieldConfig.get(valuePath);
|
|
140661
|
-
|
|
140662
|
-
|
|
140663
|
-
const _valuePath = valuePath.replace("[n]", `[${dataIndex}]`);
|
|
140664
|
-
const subParams = subFieldConfig.get(_valuePath);
|
|
140665
|
-
Object.assign(extraParams, subParams);
|
|
140833
|
+
if (runtimeValuePath.value) {
|
|
140834
|
+
Object.assign(extraParams, subFieldConfig.get(runtimeValuePath.value));
|
|
140666
140835
|
}
|
|
140667
140836
|
const { queryData = {}, exp = "" } = buildQuery?.({
|
|
140668
140837
|
keyword,
|