add table表格导出

This commit is contained in:
Theluyuan 2023-05-04 15:49:04 +08:00
parent b6f6487089
commit a5df1c4555
5 changed files with 172 additions and 132 deletions

View File

@ -43,7 +43,7 @@ const _hoisted_10$2 = {
key: 1,
class: "layui-table-cell-expand-icon-spaced"
};
const _hoisted_11$1 = { key: 0 };
const _hoisted_11$2 = { key: 0 };
const _hoisted_12$1 = { key: 1 };
const _hoisted_13$1 = {
key: 0,
@ -482,7 +482,7 @@ const _sfc_main$3 = defineComponent({
_: 2
}, 1032, ["content"])) : (openBlock(), createElementBlock(Fragment, { key: 4 }, [
column.edit ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
!editIndex.value[columnIndex] ? (openBlock(), createElementBlock("span", _hoisted_11$1, toDisplayString(__props.data[column.key]), 1)) : (openBlock(), createBlock(_component_lay_input, {
!editIndex.value[columnIndex] ? (openBlock(), createElementBlock("span", _hoisted_11$2, toDisplayString(__props.data[column.key]), 1)) : (openBlock(), createBlock(_component_lay_input, {
key: 1,
autofocus: true,
modelValue: __props.data[column.key],
@ -645,18 +645,19 @@ const _hoisted_4$1 = /* @__PURE__ */ createElementVNode("i", {
class: "layui-icon layui-icon-right",
style: { "float": "right" }
}, null, -1);
const _hoisted_5$1 = {
const _hoisted_5$1 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon soul-icon-download" }, null, -1);
const _hoisted_6$1 = {
class: "soulbox",
style: { "left": "100%", "top": "65px" }
};
const _hoisted_6$1 = {
const _hoisted_7$1 = {
class: "check",
style: { "min-width": "190px" }
};
const _hoisted_7$1 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE623", -1);
const _hoisted_8$1 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE63E", -1);
const _hoisted_9$1 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE614", -1);
const _hoisted_10$1 = { style: { "max-height": "300px", "overflow": "auto" } };
const _hoisted_8$1 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE623", -1);
const _hoisted_9$1 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE63E", -1);
const _hoisted_10$1 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE614", -1);
const _hoisted_11$1 = { style: { "max-height": "300px", "overflow": "auto" } };
const _sfc_main$1 = defineComponent({
__name: "soultable",
props: {
@ -665,7 +666,7 @@ const _sfc_main$1 = defineComponent({
list: { default: [] },
soulkey: { default: "" }
},
emits: ["asc", "desc", "sx"],
emits: ["asc", "desc", "sx", "daochu"],
setup(__props, { emit }) {
const props = __props;
function asc(event) {
@ -674,6 +675,9 @@ const _sfc_main$1 = defineComponent({
function desc(event) {
emit("desc", event);
}
function daochu() {
emit("daochu");
}
const sel = ref([]);
const list = ref([]);
const alllist = ref([]);
@ -757,9 +761,18 @@ const _sfc_main$1 = defineComponent({
_hoisted_3$1,
createTextVNode(" \u7B5B\u9009\u6570\u636E "),
_hoisted_4$1
], 32)
], 32),
createElementVNode("li", {
onClick: daochu,
class: "soul-sort",
"data-value": "desc",
style: { "border-bottom": "1px solid rgb(230, 230, 230)" }
}, [
_hoisted_5$1,
createTextVNode(" \u5BFC\u51FAexcel ")
])
]),
withDirectives(createElementVNode("div", _hoisted_5$1, [
withDirectives(createElementVNode("div", _hoisted_6$1, [
createVNode(_sfc_main$8, {
"prefix-icon": "layui-icon-search",
modelValue: seltext.value,
@ -767,13 +780,13 @@ const _sfc_main$1 = defineComponent({
size: "sm",
placeholder: "\u5173\u952E\u5B57\u641C\u7D22"
}, null, 8, ["modelValue"]),
createElementVNode("div", _hoisted_6$1, [
createElementVNode("div", _hoisted_7$1, [
createElementVNode("div", {
class: "multiOption",
"data-type": "all",
onClick: _cache[2] || (_cache[2] = ($event) => select(1))
}, [
_hoisted_7$1,
_hoisted_8$1,
createTextVNode(" \u5168\u9009 ")
]),
createElementVNode("div", {
@ -781,7 +794,7 @@ const _sfc_main$1 = defineComponent({
"data-type": "none",
onClick: _cache[3] || (_cache[3] = ($event) => select(2))
}, [
_hoisted_8$1,
_hoisted_9$1,
createTextVNode(" \u6E05\u7A7A ")
]),
createElementVNode("div", {
@ -789,11 +802,11 @@ const _sfc_main$1 = defineComponent({
"data-type": "reverse",
onClick: _cache[4] || (_cache[4] = ($event) => select(3))
}, [
_hoisted_9$1,
_hoisted_10$1,
createTextVNode("\u53CD\u9009 ")
])
]),
createElementVNode("ul", _hoisted_10$1, [
createElementVNode("ul", _hoisted_11$1, [
createVNode(_sfc_main$9, {
modelValue: sel.value,
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => sel.value = $event)
@ -1761,6 +1774,7 @@ const _sfc_main = defineComponent({
left: soulleft.value,
onAsc: asc,
onDesc: desc,
onDaochu: exportData,
list: props.dataSource,
soulkey: column.key,
onSx: sx

View File

@ -11583,7 +11583,7 @@ const _hoisted_10$a = {
key: 1,
class: "layui-iconpicker-page"
};
const _hoisted_11$9 = {
const _hoisted_11$a = {
id: "layui-laypage-1",
class: "layui-laypage layui-laypage-default"
};
@ -11780,7 +11780,7 @@ const _sfc_main$1u = defineComponent({
})
]),
__props.page ? (openBlock(), createElementBlock("div", _hoisted_10$a, [
createElementVNode("div", _hoisted_11$9, [
createElementVNode("div", _hoisted_11$a, [
createElementVNode("span", _hoisted_12$7, "\u5171 " + toDisplayString$1(total.value) + " \u4E2A", 1),
createElementVNode("a", {
href: "javascript:;",
@ -18260,7 +18260,7 @@ const _hoisted_10$9 = {
key: 1,
class: "layui-table-cell-expand-icon-spaced"
};
const _hoisted_11$8 = { key: 0 };
const _hoisted_11$9 = { key: 0 };
const _hoisted_12$6 = { key: 1 };
const _hoisted_13$6 = {
key: 0,
@ -18699,7 +18699,7 @@ const _sfc_main$H = defineComponent({
_: 2
}, 1032, ["content"])) : (openBlock(), createElementBlock(Fragment, { key: 4 }, [
column.edit ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
!editIndex.value[columnIndex] ? (openBlock(), createElementBlock("span", _hoisted_11$8, toDisplayString$1(__props.data[column.key]), 1)) : (openBlock(), createBlock(_component_lay_input, {
!editIndex.value[columnIndex] ? (openBlock(), createElementBlock("span", _hoisted_11$9, toDisplayString$1(__props.data[column.key]), 1)) : (openBlock(), createBlock(_component_lay_input, {
key: 1,
autofocus: true,
modelValue: __props.data[column.key],
@ -18809,7 +18809,7 @@ const _hoisted_9$8 = {
class: "layui-laypage-skip"
};
const _hoisted_10$8 = ["disabled"];
const _hoisted_11$7 = { key: 5 };
const _hoisted_11$8 = { key: 5 };
const __default__$D = {
name: "LayPage"
};
@ -18986,7 +18986,7 @@ const _sfc_main$G = defineComponent({
disabled: currentPageShow.value > maxPage.value || currentPageShow.value == currentPage.value
}, toDisplayString$1(unref(t)("page.confirm")), 9, _hoisted_10$8)
])) : createCommentVNode("", true),
__props.count ? (openBlock(), createElementBlock("span", _hoisted_11$7, "\u5171" + toDisplayString$1(__props.count) + "\u6761", 1)) : createCommentVNode("", true)
__props.count ? (openBlock(), createElementBlock("span", _hoisted_11$8, "\u5171" + toDisplayString$1(__props.count) + "\u6761", 1)) : createCommentVNode("", true)
]);
};
}
@ -19069,18 +19069,19 @@ const _hoisted_4$k = /* @__PURE__ */ createElementVNode("i", {
class: "layui-icon layui-icon-right",
style: { "float": "right" }
}, null, -1);
const _hoisted_5$g = {
const _hoisted_5$g = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon soul-icon-download" }, null, -1);
const _hoisted_6$d = {
class: "soulbox",
style: { "left": "100%", "top": "65px" }
};
const _hoisted_6$d = {
const _hoisted_7$c = {
class: "check",
style: { "min-width": "190px" }
};
const _hoisted_7$c = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE623", -1);
const _hoisted_8$9 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE63E", -1);
const _hoisted_9$7 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE614", -1);
const _hoisted_10$7 = { style: { "max-height": "300px", "overflow": "auto" } };
const _hoisted_8$9 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE623", -1);
const _hoisted_9$7 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE63E", -1);
const _hoisted_10$7 = /* @__PURE__ */ createElementVNode("i", { class: "soul-icon" }, "\uE614", -1);
const _hoisted_11$7 = { style: { "max-height": "300px", "overflow": "auto" } };
const _sfc_main$E = defineComponent({
__name: "soultable",
props: {
@ -19089,7 +19090,7 @@ const _sfc_main$E = defineComponent({
list: { default: [] },
soulkey: { default: "" }
},
emits: ["asc", "desc", "sx"],
emits: ["asc", "desc", "sx", "daochu"],
setup(__props, { emit }) {
const props = __props;
function asc(event) {
@ -19098,6 +19099,9 @@ const _sfc_main$E = defineComponent({
function desc(event) {
emit("desc", event);
}
function daochu() {
emit("daochu");
}
const sel = ref([]);
const list = ref([]);
const alllist = ref([]);
@ -19181,9 +19185,18 @@ const _sfc_main$E = defineComponent({
_hoisted_3$p,
createTextVNode(" \u7B5B\u9009\u6570\u636E "),
_hoisted_4$k
], 32)
], 32),
createElementVNode("li", {
onClick: daochu,
class: "soul-sort",
"data-value": "desc",
style: { "border-bottom": "1px solid rgb(230, 230, 230)" }
}, [
_hoisted_5$g,
createTextVNode(" \u5BFC\u51FAexcel ")
])
]),
withDirectives(createElementVNode("div", _hoisted_5$g, [
withDirectives(createElementVNode("div", _hoisted_6$d, [
createVNode(_sfc_main$1w, {
"prefix-icon": "layui-icon-search",
modelValue: seltext.value,
@ -19191,13 +19204,13 @@ const _sfc_main$E = defineComponent({
size: "sm",
placeholder: "\u5173\u952E\u5B57\u641C\u7D22"
}, null, 8, ["modelValue"]),
createElementVNode("div", _hoisted_6$d, [
createElementVNode("div", _hoisted_7$c, [
createElementVNode("div", {
class: "multiOption",
"data-type": "all",
onClick: _cache[2] || (_cache[2] = ($event) => select(1))
}, [
_hoisted_7$c,
_hoisted_8$9,
createTextVNode(" \u5168\u9009 ")
]),
createElementVNode("div", {
@ -19205,7 +19218,7 @@ const _sfc_main$E = defineComponent({
"data-type": "none",
onClick: _cache[3] || (_cache[3] = ($event) => select(2))
}, [
_hoisted_8$9,
_hoisted_9$7,
createTextVNode(" \u6E05\u7A7A ")
]),
createElementVNode("div", {
@ -19213,11 +19226,11 @@ const _sfc_main$E = defineComponent({
"data-type": "reverse",
onClick: _cache[4] || (_cache[4] = ($event) => select(3))
}, [
_hoisted_9$7,
_hoisted_10$7,
createTextVNode("\u53CD\u9009 ")
])
]),
createElementVNode("ul", _hoisted_10$7, [
createElementVNode("ul", _hoisted_11$7, [
createVNode(_sfc_main$$, {
modelValue: sel.value,
"onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => sel.value = $event)
@ -20185,6 +20198,7 @@ const _sfc_main$D = defineComponent({
left: soulleft.value,
onAsc: asc,
onDesc: desc,
onDaochu: exportData,
list: props.dataSource,
soulkey: column.key,
onSx: sx

View File

@ -1135,6 +1135,7 @@ window.addEventListener("click", heddin);
v-show="soulkey == column.key"
@asc="asc"
@desc="desc"
@daochu="exportData"
:list="props.dataSource"
:soulkey="column.key"
@sx="sx"

View File

@ -22,6 +22,14 @@
<i class="soul-icon soul-icon-drop-list"></i> 筛选数据
<i class="layui-icon layui-icon-right" style="float: right"></i>
</li>
<li
@click="daochu"
class="soul-sort"
data-value="desc"
style="border-bottom: 1px solid rgb(230, 230, 230)"
>
<i class="soul-icon soul-icon-download"></i> 导出excel
</li>
<!-- <li class="soul-condition" style=""><i class="soul-icon soul-icon-query"></i> 筛选条件 <i
class="layui-icon layui-icon-right" style="float: right"></i></li>
<li class="soul-edit-condition" style=""><i class="layui-icon layui-icon-edit"></i> 编辑筛选条件 </li>
@ -75,13 +83,16 @@ const props = withDefaults(defineProps<SoulTableProps>(), {
list: [],
soulkey: "",
});
const emit = defineEmits(["asc", "desc", "sx"]);
const emit = defineEmits(["asc", "desc", "sx",'daochu']);
function asc(event: any) {
emit("asc", event);
}
function desc(event: any) {
emit("desc", event);
}
function daochu(){
emit("daochu")
}
const sel: any = ref([]);
const list: any = ref([]);
const alllist: any = ref([]);

File diff suppressed because one or more lines are too long