3h1-ui 2.14.92 → 2.14.94
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/es/index.js +120 -36
- package/es/style.css +14 -10
- package/lib/index.js +120 -36
- package/lib/style.css +14 -10
- package/package.json +2 -2
package/es/index.js
CHANGED
|
@@ -4071,9 +4071,16 @@ const _sfc_main$1q = defineComponent({
|
|
|
4071
4071
|
return prev;
|
|
4072
4072
|
}, []);
|
|
4073
4073
|
});
|
|
4074
|
-
|
|
4075
|
-
props2.immediate && !props2.alwaysLoad
|
|
4076
|
-
|
|
4074
|
+
watch(
|
|
4075
|
+
() => props2.immediate && !props2.alwaysLoad,
|
|
4076
|
+
(val) => {
|
|
4077
|
+
if (val)
|
|
4078
|
+
fetch();
|
|
4079
|
+
},
|
|
4080
|
+
{
|
|
4081
|
+
immediate: true
|
|
4082
|
+
}
|
|
4083
|
+
);
|
|
4077
4084
|
watch(
|
|
4078
4085
|
() => state.value,
|
|
4079
4086
|
(v) => {
|
|
@@ -4132,8 +4139,9 @@ const _sfc_main$1q = defineComponent({
|
|
|
4132
4139
|
function emitChange() {
|
|
4133
4140
|
emit("options-change", unref(getOptions));
|
|
4134
4141
|
}
|
|
4135
|
-
function handleChange(
|
|
4142
|
+
function handleChange(val, ...args) {
|
|
4136
4143
|
emitData.value = args;
|
|
4144
|
+
emit("update:value", val);
|
|
4137
4145
|
}
|
|
4138
4146
|
const filterOption = (input, option) => {
|
|
4139
4147
|
var _a2, _b, _c;
|
|
@@ -7618,6 +7626,10 @@ const _hoisted_5$3 = {
|
|
|
7618
7626
|
const _sfc_main$15 = /* @__PURE__ */ defineComponent({
|
|
7619
7627
|
__name: "Table",
|
|
7620
7628
|
props: {
|
|
7629
|
+
rowKey: {
|
|
7630
|
+
type: String,
|
|
7631
|
+
default: () => "uuid"
|
|
7632
|
+
},
|
|
7621
7633
|
columns: {
|
|
7622
7634
|
type: Array,
|
|
7623
7635
|
default: () => []
|
|
@@ -7647,20 +7659,27 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
|
|
|
7647
7659
|
width: 50,
|
|
7648
7660
|
align: "center"
|
|
7649
7661
|
};
|
|
7650
|
-
return [
|
|
7662
|
+
return [
|
|
7663
|
+
indexColumn,
|
|
7664
|
+
...props2.columns.map((item) => ({
|
|
7665
|
+
...item,
|
|
7666
|
+
type: item.type ? item.type : "input"
|
|
7667
|
+
}))
|
|
7668
|
+
];
|
|
7651
7669
|
});
|
|
7652
7670
|
const plusClickEvent = () => {
|
|
7653
|
-
state.value = [{
|
|
7671
|
+
state.value = [{ [props2.rowKey]: buildUUID() }, ...state.value];
|
|
7654
7672
|
emit("add", state.value);
|
|
7655
7673
|
};
|
|
7656
7674
|
const rowClickEvent = (index2) => {
|
|
7657
7675
|
const tempState = state.value.filter((item) => {
|
|
7658
|
-
return item[
|
|
7676
|
+
return item[props2.rowKey] !== index2;
|
|
7659
7677
|
});
|
|
7660
|
-
tempState.forEach((item) => item[
|
|
7678
|
+
tempState.forEach((item) => item[props2.rowKey] = buildUUID());
|
|
7661
7679
|
state.value = [...tempState];
|
|
7662
7680
|
emit("remove", state.value, index2);
|
|
7663
7681
|
};
|
|
7682
|
+
const getPopupContainer2 = () => document.body;
|
|
7664
7683
|
const loadKv = () => {
|
|
7665
7684
|
const columns = props2.columns;
|
|
7666
7685
|
let dicData = [];
|
|
@@ -7682,6 +7701,20 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
|
|
|
7682
7701
|
}
|
|
7683
7702
|
// { immediate: true }
|
|
7684
7703
|
);
|
|
7704
|
+
watch(
|
|
7705
|
+
() => props2.value,
|
|
7706
|
+
(v) => {
|
|
7707
|
+
if (v.length) {
|
|
7708
|
+
state.value = v.map((ele) => ({
|
|
7709
|
+
...ele,
|
|
7710
|
+
[props2.rowKey]: buildUUID()
|
|
7711
|
+
}));
|
|
7712
|
+
}
|
|
7713
|
+
},
|
|
7714
|
+
{
|
|
7715
|
+
immediate: true
|
|
7716
|
+
}
|
|
7717
|
+
);
|
|
7685
7718
|
const validate = async () => {
|
|
7686
7719
|
try {
|
|
7687
7720
|
for (let formRef of listFormRefs.value) {
|
|
@@ -7702,26 +7735,29 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
|
|
|
7702
7735
|
class: "table-children",
|
|
7703
7736
|
align: "center"
|
|
7704
7737
|
}, {
|
|
7705
|
-
headerCell: withCtx(({ column }) =>
|
|
7706
|
-
|
|
7707
|
-
|
|
7708
|
-
|
|
7709
|
-
|
|
7710
|
-
|
|
7711
|
-
|
|
7712
|
-
|
|
7713
|
-
|
|
7714
|
-
|
|
7715
|
-
|
|
7716
|
-
|
|
7717
|
-
|
|
7718
|
-
|
|
7719
|
-
|
|
7720
|
-
|
|
7738
|
+
headerCell: withCtx(({ column }) => {
|
|
7739
|
+
var _a2;
|
|
7740
|
+
return [
|
|
7741
|
+
column.dataIndex === "index" ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
|
|
7742
|
+
__props.isShowAction ? (openBlock(), createElementBlock("div", {
|
|
7743
|
+
key: 0,
|
|
7744
|
+
class: "shy-table-edit-icon-plus",
|
|
7745
|
+
onClick: plusClickEvent
|
|
7746
|
+
}, [
|
|
7747
|
+
createVNode(unref(PlusCircleFilled$1), { style: { color: "#006eff" } })
|
|
7748
|
+
])) : (openBlock(), createElementBlock("div", _hoisted_1$t, "序号"))
|
|
7749
|
+
], 64)) : (openBlock(), createElementBlock(Fragment, { key: 1 }, [
|
|
7750
|
+
column.required || ((_a2 = column == null ? void 0 : column.rules) == null ? void 0 : _a2.length) ? (openBlock(), createElementBlock("span", _hoisted_2$9, "*")) : createCommentVNode("", true),
|
|
7751
|
+
createElementVNode("span", null, toDisplayString(column.title), 1)
|
|
7752
|
+
], 64))
|
|
7753
|
+
];
|
|
7754
|
+
}),
|
|
7755
|
+
bodyCell: withCtx(({ column, record, index: index2, ...args }) => [
|
|
7756
|
+
column.dataIndex !== "index" && column.type !== "text" ? (openBlock(), createBlock(unref(FormItem), {
|
|
7721
7757
|
required: column.required,
|
|
7722
7758
|
rules: (column == null ? void 0 : column.rules) || [],
|
|
7723
7759
|
name: [_ctx.$attrs.codeField, index2, column.dataIndex],
|
|
7724
|
-
key: record[
|
|
7760
|
+
key: record[__props.rowKey]
|
|
7725
7761
|
}, {
|
|
7726
7762
|
default: withCtx(() => [
|
|
7727
7763
|
column.type === "select" ? (openBlock(), createBlock(unref(Select), {
|
|
@@ -7744,35 +7780,47 @@ const _sfc_main$15 = /* @__PURE__ */ defineComponent({
|
|
|
7744
7780
|
min: column.min,
|
|
7745
7781
|
max: column.max,
|
|
7746
7782
|
precision: column.precision ?? 2
|
|
7747
|
-
}, null, 8, ["value", "onUpdate:value", "min", "max", "precision"])) : (openBlock(), createBlock(unref(Input), {
|
|
7783
|
+
}, null, 8, ["value", "onUpdate:value", "min", "max", "precision"])) : column.type === "input" ? (openBlock(), createBlock(unref(Input), {
|
|
7748
7784
|
key: 3,
|
|
7749
7785
|
value: record[column.dataIndex],
|
|
7750
7786
|
"onUpdate:value": ($event) => record[column.dataIndex] = $event,
|
|
7751
7787
|
disabled: !props2.isShowAction
|
|
7752
|
-
}, null, 8, ["value", "onUpdate:value", "disabled"]))
|
|
7788
|
+
}, null, 8, ["value", "onUpdate:value", "disabled"])) : (openBlock(), createBlock(resolveDynamicComponent(unref(componentMap$2).get(column.type)), mergeProps(
|
|
7789
|
+
{
|
|
7790
|
+
key: 4,
|
|
7791
|
+
allowClear: "",
|
|
7792
|
+
getPopupContainer: getPopupContainer2,
|
|
7793
|
+
style: { width: "100%" }
|
|
7794
|
+
},
|
|
7795
|
+
unref(isFunction$4)(column.componentProps) ? column.componentProps({ record, column, index: index2, ...args }) : column.componentProps,
|
|
7796
|
+
{
|
|
7797
|
+
value: record[column.dataIndex],
|
|
7798
|
+
"onUpdate:value": ($event) => record[column.dataIndex] = $event
|
|
7799
|
+
}
|
|
7800
|
+
), null, 16, ["value", "onUpdate:value"]))
|
|
7753
7801
|
]),
|
|
7754
7802
|
_: 2
|
|
7755
|
-
}, 1032, ["required", "rules", "name"])) : (openBlock(), createElementBlock("div", {
|
|
7803
|
+
}, 1032, ["required", "rules", "name"])) : column.dataIndex === "index" ? (openBlock(), createElementBlock("div", {
|
|
7756
7804
|
class: "table-children-delete-wrapper",
|
|
7757
|
-
key: record[
|
|
7805
|
+
key: record[__props.rowKey]
|
|
7758
7806
|
}, [
|
|
7759
7807
|
__props.isShowAction ? (openBlock(), createElementBlock("span", _hoisted_3$6, toDisplayString(index2 + 1), 1)) : createCommentVNode("", true),
|
|
7760
7808
|
__props.isShowAction ? (openBlock(), createElementBlock("div", {
|
|
7761
7809
|
key: 1,
|
|
7762
7810
|
class: "table-children-delete-item",
|
|
7763
|
-
onClick: ($event) => rowClickEvent(record[
|
|
7811
|
+
onClick: ($event) => rowClickEvent(record[__props.rowKey])
|
|
7764
7812
|
}, [
|
|
7765
7813
|
createVNode(unref(DeleteFilled$1), { style: { color: "#fff" } })
|
|
7766
7814
|
], 8, _hoisted_4$4)) : (openBlock(), createElementBlock("span", _hoisted_5$3, toDisplayString(index2 + 1), 1))
|
|
7767
|
-
]))
|
|
7815
|
+
])) : createCommentVNode("", true)
|
|
7768
7816
|
]),
|
|
7769
7817
|
_: 1
|
|
7770
7818
|
}, 8, ["columns", "data-source"]);
|
|
7771
7819
|
};
|
|
7772
7820
|
}
|
|
7773
7821
|
});
|
|
7774
|
-
const
|
|
7775
|
-
const Table = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["__scopeId", "data-v-
|
|
7822
|
+
const Table_vue_vue_type_style_index_0_scoped_ad73d9b9_lang = "";
|
|
7823
|
+
const Table = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["__scopeId", "data-v-ad73d9b9"]]);
|
|
7776
7824
|
const modal = "";
|
|
7777
7825
|
useI18n$1();
|
|
7778
7826
|
const modalProps = {
|
|
@@ -14711,7 +14759,8 @@ function handleColumnResize(propsRef, columns, wrapRef) {
|
|
|
14711
14759
|
[0, 0]
|
|
14712
14760
|
);
|
|
14713
14761
|
const length = columns.length;
|
|
14714
|
-
const
|
|
14762
|
+
const countWidth = tableWidth ? (tableWidth - sumWidth - selectWidth) / (length - sumLength) : 150;
|
|
14763
|
+
const colWidth = countWidth < 150 ? 150 : countWidth;
|
|
14715
14764
|
columns.forEach((item) => {
|
|
14716
14765
|
if (item.flag)
|
|
14717
14766
|
return;
|
|
@@ -14828,7 +14877,22 @@ function useColumns$1(propsRef, getPaginationRef, tableAction, wrapRef) {
|
|
|
14828
14877
|
return columns.filter((column) => {
|
|
14829
14878
|
return hasPermission(column.auth) && isIfShow(column);
|
|
14830
14879
|
}).map((column) => {
|
|
14831
|
-
|
|
14880
|
+
var _a2, _b;
|
|
14881
|
+
const isSummaryCol = unref(propsRef).showSummaryTotal && ((_b = (_a2 = unref(propsRef).summaryTotalFields) == null ? void 0 : _a2.includes) == null ? void 0 : _b.call(
|
|
14882
|
+
_a2,
|
|
14883
|
+
column.dataIndex
|
|
14884
|
+
));
|
|
14885
|
+
const summaryFormat = (text) => {
|
|
14886
|
+
return text ? isNumber$2(+text) && !isNaN(+text) ? Number.parseFloat((+text).toFixed(2)).toLocaleString("en-US") : text : "";
|
|
14887
|
+
};
|
|
14888
|
+
const {
|
|
14889
|
+
slots,
|
|
14890
|
+
customRender,
|
|
14891
|
+
format = isSummaryCol ? summaryFormat : void 0,
|
|
14892
|
+
edit,
|
|
14893
|
+
editRow,
|
|
14894
|
+
flag
|
|
14895
|
+
} = column;
|
|
14832
14896
|
if (!slots || !(slots == null ? void 0 : slots.title)) {
|
|
14833
14897
|
column.customTitle = column.title;
|
|
14834
14898
|
Reflect.deleteProperty(column, "title");
|
|
@@ -15014,7 +15078,7 @@ function useDataSource(propsRef, {
|
|
|
15014
15078
|
const obj = {};
|
|
15015
15079
|
summaryTotalFields.forEach((field) => {
|
|
15016
15080
|
const total = dataSourceRef.value.reduce((acc, cur) => {
|
|
15017
|
-
return acc + (cur[field] || 0);
|
|
15081
|
+
return +acc + (+cur[field] || 0);
|
|
15018
15082
|
}, 0);
|
|
15019
15083
|
obj[field] = Number.parseFloat(total.toFixed(2)).toLocaleString("en-US");
|
|
15020
15084
|
});
|
|
@@ -15030,7 +15094,9 @@ function useDataSource(propsRef, {
|
|
|
15030
15094
|
immediate: true
|
|
15031
15095
|
}
|
|
15032
15096
|
);
|
|
15097
|
+
let oldSortInfoRef;
|
|
15033
15098
|
function handleTableChange(pagination, filters, sorter) {
|
|
15099
|
+
const isChangeSorter = !eq(oldSortInfoRef, sorter.order);
|
|
15034
15100
|
const { clearSelectOnPageChange, sortFn, filterFn } = unref(propsRef);
|
|
15035
15101
|
if (clearSelectOnPageChange) {
|
|
15036
15102
|
clearSelectedRowKeys();
|
|
@@ -15048,6 +15114,10 @@ function useDataSource(propsRef, {
|
|
|
15048
15114
|
searchState.filterInfo = filterInfo;
|
|
15049
15115
|
params.filterInfo = filterInfo;
|
|
15050
15116
|
}
|
|
15117
|
+
if (isChangeSorter && !unref(propsRef).isSortFetch) {
|
|
15118
|
+
oldSortInfoRef = sorter.order;
|
|
15119
|
+
return;
|
|
15120
|
+
}
|
|
15051
15121
|
fetch(params);
|
|
15052
15122
|
}
|
|
15053
15123
|
function setTableKey(items) {
|
|
@@ -15557,6 +15627,19 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef, getDa
|
|
|
15557
15627
|
nextTick(() => {
|
|
15558
15628
|
debounceRedoHeight();
|
|
15559
15629
|
});
|
|
15630
|
+
const table2 = unref(tableElRef);
|
|
15631
|
+
if (!table2)
|
|
15632
|
+
return;
|
|
15633
|
+
const tableEl = table2.$el;
|
|
15634
|
+
if (!tableEl)
|
|
15635
|
+
return;
|
|
15636
|
+
const bodyEl2 = tableEl.querySelector(".ant-table-tbody");
|
|
15637
|
+
if (!bodyEl2)
|
|
15638
|
+
return;
|
|
15639
|
+
new Sortablejs(bodyEl2, {
|
|
15640
|
+
ghostClass: "bg-gray-100",
|
|
15641
|
+
draggable: ".ant-table-row"
|
|
15642
|
+
});
|
|
15560
15643
|
});
|
|
15561
15644
|
const getScrollX = computed(() => {
|
|
15562
15645
|
var _a2;
|
|
@@ -17281,6 +17364,7 @@ const basicProps$3 = reactive({
|
|
|
17281
17364
|
}
|
|
17282
17365
|
},
|
|
17283
17366
|
inset: Boolean,
|
|
17367
|
+
isSortFetch: { type: Boolean, default: true },
|
|
17284
17368
|
sortFn: {
|
|
17285
17369
|
type: Function,
|
|
17286
17370
|
default: DEFAULT_SORT_FN
|
package/es/style.css
CHANGED
|
@@ -265,6 +265,10 @@ ul {
|
|
|
265
265
|
max-width: 1600px;
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
|
+
.bg-gray-100 {
|
|
269
|
+
--tw-bg-opacity: 1;
|
|
270
|
+
background-color: rgba(243, 244, 246, var(--tw-bg-opacity));
|
|
271
|
+
}
|
|
268
272
|
.border-primary {
|
|
269
273
|
--tw-border-opacity: 1;
|
|
270
274
|
border-color: rgba(24, 144, 255, var(--tw-border-opacity));
|
|
@@ -24871,40 +24875,40 @@ span.iconify {
|
|
|
24871
24875
|
.shy-tinymce-container textarea {
|
|
24872
24876
|
z-index: -1;
|
|
24873
24877
|
visibility: hidden;
|
|
24874
|
-
}.shy-table-edit-icon-plus[data-v-
|
|
24878
|
+
}.shy-table-edit-icon-plus[data-v-ad73d9b9] {
|
|
24875
24879
|
width: 30px;
|
|
24876
24880
|
height: 30px;
|
|
24877
24881
|
font-size: 30px;
|
|
24878
24882
|
cursor: pointer;
|
|
24879
24883
|
display: flex;
|
|
24880
24884
|
}
|
|
24881
|
-
.table-children[data-v-
|
|
24885
|
+
.table-children[data-v-ad73d9b9] .ant-form-item {
|
|
24882
24886
|
margin-bottom: 0 !important;
|
|
24883
24887
|
}
|
|
24884
|
-
.table-children-required[data-v-
|
|
24888
|
+
.table-children-required[data-v-ad73d9b9] {
|
|
24885
24889
|
color: #ff4d4f;
|
|
24886
24890
|
margin-right: 4px;
|
|
24887
24891
|
}
|
|
24888
|
-
.table-children[data-v-
|
|
24892
|
+
.table-children[data-v-ad73d9b9] .ant-table-cell {
|
|
24889
24893
|
padding: 8px !important;
|
|
24890
24894
|
}
|
|
24891
|
-
.table-children[data-v-
|
|
24895
|
+
.table-children[data-v-ad73d9b9] .ant-table-cell .ant-form-item-explain {
|
|
24892
24896
|
display: none;
|
|
24893
24897
|
}
|
|
24894
|
-
.table-children-delete-wrapper[data-v-
|
|
24898
|
+
.table-children-delete-wrapper[data-v-ad73d9b9] {
|
|
24895
24899
|
display: flex;
|
|
24896
24900
|
height: 100%;
|
|
24897
24901
|
justify-content: center;
|
|
24898
24902
|
}
|
|
24899
|
-
.table-children-delete-wrapper:hover .table-children-delete-item[data-v-
|
|
24903
|
+
.table-children-delete-wrapper:hover .table-children-delete-item[data-v-ad73d9b9] {
|
|
24900
24904
|
display: flex;
|
|
24901
24905
|
justify-content: center;
|
|
24902
24906
|
align-items: center;
|
|
24903
24907
|
}
|
|
24904
|
-
.table-children-delete-wrapper:hover .table-children-delete-index[data-v-
|
|
24908
|
+
.table-children-delete-wrapper:hover .table-children-delete-index[data-v-ad73d9b9] {
|
|
24905
24909
|
display: none;
|
|
24906
24910
|
}
|
|
24907
|
-
.table-children-delete-item[data-v-
|
|
24911
|
+
.table-children-delete-item[data-v-ad73d9b9] {
|
|
24908
24912
|
background-color: red;
|
|
24909
24913
|
border-radius: 50%;
|
|
24910
24914
|
width: 30px;
|
|
@@ -24913,7 +24917,7 @@ span.iconify {
|
|
|
24913
24917
|
display: none;
|
|
24914
24918
|
cursor: pointer;
|
|
24915
24919
|
}
|
|
24916
|
-
.table-children-delete-index[data-v-
|
|
24920
|
+
.table-children-delete-index[data-v-ad73d9b9] {
|
|
24917
24921
|
user-select: none;
|
|
24918
24922
|
display: inline-block;
|
|
24919
24923
|
}@media screen and (max-height: 600px) {
|
package/lib/index.js
CHANGED
|
@@ -4095,9 +4095,16 @@ const _sfc_main$1q = vue.defineComponent({
|
|
|
4095
4095
|
return prev;
|
|
4096
4096
|
}, []);
|
|
4097
4097
|
});
|
|
4098
|
-
vue.
|
|
4099
|
-
props2.immediate && !props2.alwaysLoad
|
|
4100
|
-
|
|
4098
|
+
vue.watch(
|
|
4099
|
+
() => props2.immediate && !props2.alwaysLoad,
|
|
4100
|
+
(val) => {
|
|
4101
|
+
if (val)
|
|
4102
|
+
fetch();
|
|
4103
|
+
},
|
|
4104
|
+
{
|
|
4105
|
+
immediate: true
|
|
4106
|
+
}
|
|
4107
|
+
);
|
|
4101
4108
|
vue.watch(
|
|
4102
4109
|
() => state.value,
|
|
4103
4110
|
(v) => {
|
|
@@ -4156,8 +4163,9 @@ const _sfc_main$1q = vue.defineComponent({
|
|
|
4156
4163
|
function emitChange() {
|
|
4157
4164
|
emit("options-change", vue.unref(getOptions));
|
|
4158
4165
|
}
|
|
4159
|
-
function handleChange(
|
|
4166
|
+
function handleChange(val, ...args) {
|
|
4160
4167
|
emitData.value = args;
|
|
4168
|
+
emit("update:value", val);
|
|
4161
4169
|
}
|
|
4162
4170
|
const filterOption = (input, option) => {
|
|
4163
4171
|
var _a2, _b, _c;
|
|
@@ -7642,6 +7650,10 @@ const _hoisted_5$3 = {
|
|
|
7642
7650
|
const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
7643
7651
|
__name: "Table",
|
|
7644
7652
|
props: {
|
|
7653
|
+
rowKey: {
|
|
7654
|
+
type: String,
|
|
7655
|
+
default: () => "uuid"
|
|
7656
|
+
},
|
|
7645
7657
|
columns: {
|
|
7646
7658
|
type: Array,
|
|
7647
7659
|
default: () => []
|
|
@@ -7671,20 +7683,27 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
|
7671
7683
|
width: 50,
|
|
7672
7684
|
align: "center"
|
|
7673
7685
|
};
|
|
7674
|
-
return [
|
|
7686
|
+
return [
|
|
7687
|
+
indexColumn,
|
|
7688
|
+
...props2.columns.map((item) => ({
|
|
7689
|
+
...item,
|
|
7690
|
+
type: item.type ? item.type : "input"
|
|
7691
|
+
}))
|
|
7692
|
+
];
|
|
7675
7693
|
});
|
|
7676
7694
|
const plusClickEvent = () => {
|
|
7677
|
-
state.value = [{
|
|
7695
|
+
state.value = [{ [props2.rowKey]: utils.buildUUID() }, ...state.value];
|
|
7678
7696
|
emit("add", state.value);
|
|
7679
7697
|
};
|
|
7680
7698
|
const rowClickEvent = (index2) => {
|
|
7681
7699
|
const tempState = state.value.filter((item) => {
|
|
7682
|
-
return item[
|
|
7700
|
+
return item[props2.rowKey] !== index2;
|
|
7683
7701
|
});
|
|
7684
|
-
tempState.forEach((item) => item[
|
|
7702
|
+
tempState.forEach((item) => item[props2.rowKey] = utils.buildUUID());
|
|
7685
7703
|
state.value = [...tempState];
|
|
7686
7704
|
emit("remove", state.value, index2);
|
|
7687
7705
|
};
|
|
7706
|
+
const getPopupContainer2 = () => document.body;
|
|
7688
7707
|
const loadKv = () => {
|
|
7689
7708
|
const columns = props2.columns;
|
|
7690
7709
|
let dicData = [];
|
|
@@ -7706,6 +7725,20 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
|
7706
7725
|
}
|
|
7707
7726
|
// { immediate: true }
|
|
7708
7727
|
);
|
|
7728
|
+
vue.watch(
|
|
7729
|
+
() => props2.value,
|
|
7730
|
+
(v) => {
|
|
7731
|
+
if (v.length) {
|
|
7732
|
+
state.value = v.map((ele) => ({
|
|
7733
|
+
...ele,
|
|
7734
|
+
[props2.rowKey]: utils.buildUUID()
|
|
7735
|
+
}));
|
|
7736
|
+
}
|
|
7737
|
+
},
|
|
7738
|
+
{
|
|
7739
|
+
immediate: true
|
|
7740
|
+
}
|
|
7741
|
+
);
|
|
7709
7742
|
const validate = async () => {
|
|
7710
7743
|
try {
|
|
7711
7744
|
for (let formRef of listFormRefs.value) {
|
|
@@ -7726,26 +7759,29 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
|
7726
7759
|
class: "table-children",
|
|
7727
7760
|
align: "center"
|
|
7728
7761
|
}, {
|
|
7729
|
-
headerCell: vue.withCtx(({ column }) =>
|
|
7730
|
-
|
|
7731
|
-
|
|
7732
|
-
|
|
7733
|
-
|
|
7734
|
-
|
|
7735
|
-
|
|
7736
|
-
|
|
7737
|
-
|
|
7738
|
-
|
|
7739
|
-
|
|
7740
|
-
vue.
|
|
7741
|
-
|
|
7742
|
-
|
|
7743
|
-
|
|
7744
|
-
|
|
7762
|
+
headerCell: vue.withCtx(({ column }) => {
|
|
7763
|
+
var _a2;
|
|
7764
|
+
return [
|
|
7765
|
+
column.dataIndex === "index" ? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
7766
|
+
__props.isShowAction ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
7767
|
+
key: 0,
|
|
7768
|
+
class: "shy-table-edit-icon-plus",
|
|
7769
|
+
onClick: plusClickEvent
|
|
7770
|
+
}, [
|
|
7771
|
+
vue.createVNode(vue.unref(PlusCircleFilled$1), { style: { color: "#006eff" } })
|
|
7772
|
+
])) : (vue.openBlock(), vue.createElementBlock("div", _hoisted_1$t, "序号"))
|
|
7773
|
+
], 64)) : (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 1 }, [
|
|
7774
|
+
column.required || ((_a2 = column == null ? void 0 : column.rules) == null ? void 0 : _a2.length) ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_2$9, "*")) : vue.createCommentVNode("", true),
|
|
7775
|
+
vue.createElementVNode("span", null, vue.toDisplayString(column.title), 1)
|
|
7776
|
+
], 64))
|
|
7777
|
+
];
|
|
7778
|
+
}),
|
|
7779
|
+
bodyCell: vue.withCtx(({ column, record, index: index2, ...args }) => [
|
|
7780
|
+
column.dataIndex !== "index" && column.type !== "text" ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.FormItem), {
|
|
7745
7781
|
required: column.required,
|
|
7746
7782
|
rules: (column == null ? void 0 : column.rules) || [],
|
|
7747
7783
|
name: [_ctx.$attrs.codeField, index2, column.dataIndex],
|
|
7748
|
-
key: record[
|
|
7784
|
+
key: record[__props.rowKey]
|
|
7749
7785
|
}, {
|
|
7750
7786
|
default: vue.withCtx(() => [
|
|
7751
7787
|
column.type === "select" ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Select), {
|
|
@@ -7768,35 +7804,47 @@ const _sfc_main$15 = /* @__PURE__ */ vue.defineComponent({
|
|
|
7768
7804
|
min: column.min,
|
|
7769
7805
|
max: column.max,
|
|
7770
7806
|
precision: column.precision ?? 2
|
|
7771
|
-
}, null, 8, ["value", "onUpdate:value", "min", "max", "precision"])) : (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Input), {
|
|
7807
|
+
}, null, 8, ["value", "onUpdate:value", "min", "max", "precision"])) : column.type === "input" ? (vue.openBlock(), vue.createBlock(vue.unref(antDesignVue.Input), {
|
|
7772
7808
|
key: 3,
|
|
7773
7809
|
value: record[column.dataIndex],
|
|
7774
7810
|
"onUpdate:value": ($event) => record[column.dataIndex] = $event,
|
|
7775
7811
|
disabled: !props2.isShowAction
|
|
7776
|
-
}, null, 8, ["value", "onUpdate:value", "disabled"]))
|
|
7812
|
+
}, null, 8, ["value", "onUpdate:value", "disabled"])) : (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(vue.unref(componentMap$2).get(column.type)), vue.mergeProps(
|
|
7813
|
+
{
|
|
7814
|
+
key: 4,
|
|
7815
|
+
allowClear: "",
|
|
7816
|
+
getPopupContainer: getPopupContainer2,
|
|
7817
|
+
style: { width: "100%" }
|
|
7818
|
+
},
|
|
7819
|
+
vue.unref(utils.isFunction)(column.componentProps) ? column.componentProps({ record, column, index: index2, ...args }) : column.componentProps,
|
|
7820
|
+
{
|
|
7821
|
+
value: record[column.dataIndex],
|
|
7822
|
+
"onUpdate:value": ($event) => record[column.dataIndex] = $event
|
|
7823
|
+
}
|
|
7824
|
+
), null, 16, ["value", "onUpdate:value"]))
|
|
7777
7825
|
]),
|
|
7778
7826
|
_: 2
|
|
7779
|
-
}, 1032, ["required", "rules", "name"])) : (vue.openBlock(), vue.createElementBlock("div", {
|
|
7827
|
+
}, 1032, ["required", "rules", "name"])) : column.dataIndex === "index" ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
7780
7828
|
class: "table-children-delete-wrapper",
|
|
7781
|
-
key: record[
|
|
7829
|
+
key: record[__props.rowKey]
|
|
7782
7830
|
}, [
|
|
7783
7831
|
__props.isShowAction ? (vue.openBlock(), vue.createElementBlock("span", _hoisted_3$6, vue.toDisplayString(index2 + 1), 1)) : vue.createCommentVNode("", true),
|
|
7784
7832
|
__props.isShowAction ? (vue.openBlock(), vue.createElementBlock("div", {
|
|
7785
7833
|
key: 1,
|
|
7786
7834
|
class: "table-children-delete-item",
|
|
7787
|
-
onClick: ($event) => rowClickEvent(record[
|
|
7835
|
+
onClick: ($event) => rowClickEvent(record[__props.rowKey])
|
|
7788
7836
|
}, [
|
|
7789
7837
|
vue.createVNode(vue.unref(DeleteFilled$1), { style: { color: "#fff" } })
|
|
7790
7838
|
], 8, _hoisted_4$4)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_5$3, vue.toDisplayString(index2 + 1), 1))
|
|
7791
|
-
]))
|
|
7839
|
+
])) : vue.createCommentVNode("", true)
|
|
7792
7840
|
]),
|
|
7793
7841
|
_: 1
|
|
7794
7842
|
}, 8, ["columns", "data-source"]);
|
|
7795
7843
|
};
|
|
7796
7844
|
}
|
|
7797
7845
|
});
|
|
7798
|
-
const
|
|
7799
|
-
const Table = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["__scopeId", "data-v-
|
|
7846
|
+
const Table_vue_vue_type_style_index_0_scoped_ad73d9b9_lang = "";
|
|
7847
|
+
const Table = /* @__PURE__ */ _export_sfc(_sfc_main$15, [["__scopeId", "data-v-ad73d9b9"]]);
|
|
7800
7848
|
const modal = "";
|
|
7801
7849
|
use.useI18n();
|
|
7802
7850
|
const modalProps = {
|
|
@@ -14735,7 +14783,8 @@ function handleColumnResize(propsRef, columns, wrapRef) {
|
|
|
14735
14783
|
[0, 0]
|
|
14736
14784
|
);
|
|
14737
14785
|
const length = columns.length;
|
|
14738
|
-
const
|
|
14786
|
+
const countWidth = tableWidth ? (tableWidth - sumWidth - selectWidth) / (length - sumLength) : 150;
|
|
14787
|
+
const colWidth = countWidth < 150 ? 150 : countWidth;
|
|
14739
14788
|
columns.forEach((item) => {
|
|
14740
14789
|
if (item.flag)
|
|
14741
14790
|
return;
|
|
@@ -14852,7 +14901,22 @@ function useColumns$1(propsRef, getPaginationRef, tableAction, wrapRef) {
|
|
|
14852
14901
|
return columns.filter((column) => {
|
|
14853
14902
|
return hasPermission(column.auth) && isIfShow(column);
|
|
14854
14903
|
}).map((column) => {
|
|
14855
|
-
|
|
14904
|
+
var _a2, _b;
|
|
14905
|
+
const isSummaryCol = vue.unref(propsRef).showSummaryTotal && ((_b = (_a2 = vue.unref(propsRef).summaryTotalFields) == null ? void 0 : _a2.includes) == null ? void 0 : _b.call(
|
|
14906
|
+
_a2,
|
|
14907
|
+
column.dataIndex
|
|
14908
|
+
));
|
|
14909
|
+
const summaryFormat = (text) => {
|
|
14910
|
+
return text ? utils.isNumber(+text) && !isNaN(+text) ? Number.parseFloat((+text).toFixed(2)).toLocaleString("en-US") : text : "";
|
|
14911
|
+
};
|
|
14912
|
+
const {
|
|
14913
|
+
slots,
|
|
14914
|
+
customRender,
|
|
14915
|
+
format = isSummaryCol ? summaryFormat : void 0,
|
|
14916
|
+
edit,
|
|
14917
|
+
editRow,
|
|
14918
|
+
flag
|
|
14919
|
+
} = column;
|
|
14856
14920
|
if (!slots || !(slots == null ? void 0 : slots.title)) {
|
|
14857
14921
|
column.customTitle = column.title;
|
|
14858
14922
|
Reflect.deleteProperty(column, "title");
|
|
@@ -15038,7 +15102,7 @@ function useDataSource(propsRef, {
|
|
|
15038
15102
|
const obj = {};
|
|
15039
15103
|
summaryTotalFields.forEach((field) => {
|
|
15040
15104
|
const total = dataSourceRef.value.reduce((acc, cur) => {
|
|
15041
|
-
return acc + (cur[field] || 0);
|
|
15105
|
+
return +acc + (+cur[field] || 0);
|
|
15042
15106
|
}, 0);
|
|
15043
15107
|
obj[field] = Number.parseFloat(total.toFixed(2)).toLocaleString("en-US");
|
|
15044
15108
|
});
|
|
@@ -15054,7 +15118,9 @@ function useDataSource(propsRef, {
|
|
|
15054
15118
|
immediate: true
|
|
15055
15119
|
}
|
|
15056
15120
|
);
|
|
15121
|
+
let oldSortInfoRef;
|
|
15057
15122
|
function handleTableChange(pagination, filters, sorter) {
|
|
15123
|
+
const isChangeSorter = !eq(oldSortInfoRef, sorter.order);
|
|
15058
15124
|
const { clearSelectOnPageChange, sortFn, filterFn } = vue.unref(propsRef);
|
|
15059
15125
|
if (clearSelectOnPageChange) {
|
|
15060
15126
|
clearSelectedRowKeys();
|
|
@@ -15072,6 +15138,10 @@ function useDataSource(propsRef, {
|
|
|
15072
15138
|
searchState.filterInfo = filterInfo;
|
|
15073
15139
|
params.filterInfo = filterInfo;
|
|
15074
15140
|
}
|
|
15141
|
+
if (isChangeSorter && !vue.unref(propsRef).isSortFetch) {
|
|
15142
|
+
oldSortInfoRef = sorter.order;
|
|
15143
|
+
return;
|
|
15144
|
+
}
|
|
15075
15145
|
fetch(params);
|
|
15076
15146
|
}
|
|
15077
15147
|
function setTableKey(items) {
|
|
@@ -15581,6 +15651,19 @@ function useTableScroll(propsRef, tableElRef, columnsRef, rowSelectionRef, getDa
|
|
|
15581
15651
|
vue.nextTick(() => {
|
|
15582
15652
|
debounceRedoHeight();
|
|
15583
15653
|
});
|
|
15654
|
+
const table2 = vue.unref(tableElRef);
|
|
15655
|
+
if (!table2)
|
|
15656
|
+
return;
|
|
15657
|
+
const tableEl = table2.$el;
|
|
15658
|
+
if (!tableEl)
|
|
15659
|
+
return;
|
|
15660
|
+
const bodyEl2 = tableEl.querySelector(".ant-table-tbody");
|
|
15661
|
+
if (!bodyEl2)
|
|
15662
|
+
return;
|
|
15663
|
+
new Sortablejs(bodyEl2, {
|
|
15664
|
+
ghostClass: "bg-gray-100",
|
|
15665
|
+
draggable: ".ant-table-row"
|
|
15666
|
+
});
|
|
15584
15667
|
});
|
|
15585
15668
|
const getScrollX = vue.computed(() => {
|
|
15586
15669
|
var _a2;
|
|
@@ -17305,6 +17388,7 @@ const basicProps$3 = vue.reactive({
|
|
|
17305
17388
|
}
|
|
17306
17389
|
},
|
|
17307
17390
|
inset: Boolean,
|
|
17391
|
+
isSortFetch: { type: Boolean, default: true },
|
|
17308
17392
|
sortFn: {
|
|
17309
17393
|
type: Function,
|
|
17310
17394
|
default: DEFAULT_SORT_FN
|
package/lib/style.css
CHANGED
|
@@ -265,6 +265,10 @@ ul {
|
|
|
265
265
|
max-width: 1600px;
|
|
266
266
|
}
|
|
267
267
|
}
|
|
268
|
+
.bg-gray-100 {
|
|
269
|
+
--tw-bg-opacity: 1;
|
|
270
|
+
background-color: rgba(243, 244, 246, var(--tw-bg-opacity));
|
|
271
|
+
}
|
|
268
272
|
.border-primary {
|
|
269
273
|
--tw-border-opacity: 1;
|
|
270
274
|
border-color: rgba(24, 144, 255, var(--tw-border-opacity));
|
|
@@ -24871,40 +24875,40 @@ span.iconify {
|
|
|
24871
24875
|
.shy-tinymce-container textarea {
|
|
24872
24876
|
z-index: -1;
|
|
24873
24877
|
visibility: hidden;
|
|
24874
|
-
}.shy-table-edit-icon-plus[data-v-
|
|
24878
|
+
}.shy-table-edit-icon-plus[data-v-ad73d9b9] {
|
|
24875
24879
|
width: 30px;
|
|
24876
24880
|
height: 30px;
|
|
24877
24881
|
font-size: 30px;
|
|
24878
24882
|
cursor: pointer;
|
|
24879
24883
|
display: flex;
|
|
24880
24884
|
}
|
|
24881
|
-
.table-children[data-v-
|
|
24885
|
+
.table-children[data-v-ad73d9b9] .ant-form-item {
|
|
24882
24886
|
margin-bottom: 0 !important;
|
|
24883
24887
|
}
|
|
24884
|
-
.table-children-required[data-v-
|
|
24888
|
+
.table-children-required[data-v-ad73d9b9] {
|
|
24885
24889
|
color: #ff4d4f;
|
|
24886
24890
|
margin-right: 4px;
|
|
24887
24891
|
}
|
|
24888
|
-
.table-children[data-v-
|
|
24892
|
+
.table-children[data-v-ad73d9b9] .ant-table-cell {
|
|
24889
24893
|
padding: 8px !important;
|
|
24890
24894
|
}
|
|
24891
|
-
.table-children[data-v-
|
|
24895
|
+
.table-children[data-v-ad73d9b9] .ant-table-cell .ant-form-item-explain {
|
|
24892
24896
|
display: none;
|
|
24893
24897
|
}
|
|
24894
|
-
.table-children-delete-wrapper[data-v-
|
|
24898
|
+
.table-children-delete-wrapper[data-v-ad73d9b9] {
|
|
24895
24899
|
display: flex;
|
|
24896
24900
|
height: 100%;
|
|
24897
24901
|
justify-content: center;
|
|
24898
24902
|
}
|
|
24899
|
-
.table-children-delete-wrapper:hover .table-children-delete-item[data-v-
|
|
24903
|
+
.table-children-delete-wrapper:hover .table-children-delete-item[data-v-ad73d9b9] {
|
|
24900
24904
|
display: flex;
|
|
24901
24905
|
justify-content: center;
|
|
24902
24906
|
align-items: center;
|
|
24903
24907
|
}
|
|
24904
|
-
.table-children-delete-wrapper:hover .table-children-delete-index[data-v-
|
|
24908
|
+
.table-children-delete-wrapper:hover .table-children-delete-index[data-v-ad73d9b9] {
|
|
24905
24909
|
display: none;
|
|
24906
24910
|
}
|
|
24907
|
-
.table-children-delete-item[data-v-
|
|
24911
|
+
.table-children-delete-item[data-v-ad73d9b9] {
|
|
24908
24912
|
background-color: red;
|
|
24909
24913
|
border-radius: 50%;
|
|
24910
24914
|
width: 30px;
|
|
@@ -24913,7 +24917,7 @@ span.iconify {
|
|
|
24913
24917
|
display: none;
|
|
24914
24918
|
cursor: pointer;
|
|
24915
24919
|
}
|
|
24916
|
-
.table-children-delete-index[data-v-
|
|
24920
|
+
.table-children-delete-index[data-v-ad73d9b9] {
|
|
24917
24921
|
user-select: none;
|
|
24918
24922
|
display: inline-block;
|
|
24919
24923
|
}@media screen and (max-height: 600px) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "3h1-ui",
|
|
3
|
-
"version": "2.14.
|
|
3
|
+
"version": "2.14.94",
|
|
4
4
|
"description": "",
|
|
5
5
|
"module": "es/index.js",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -29,8 +29,8 @@
|
|
|
29
29
|
"vue-json-pretty": "^2.2.3",
|
|
30
30
|
"vxe-table": "^4.3.6",
|
|
31
31
|
"xe-utils": "^3.5.7",
|
|
32
|
-
"@shy-plugins/tinymce": "^1.0.6",
|
|
33
32
|
"@shy-plugins/use": "1.0.9",
|
|
33
|
+
"@shy-plugins/tinymce": "^1.0.6",
|
|
34
34
|
"@shy-plugins/utils": "1.1.1"
|
|
35
35
|
},
|
|
36
36
|
"types": "es/ui/index.d.ts",
|