UNPKG

@aurouscia/au-table-editor

Version:

vue表格编辑器组件

698 lines 71.5 kB
import { Fragment as e, computed as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, createVNode as o, defineComponent as s, nextTick as c, normalizeClass as l, normalizeStyle as u, onMounted as ee, onUnmounted as te, openBlock as d, ref as f, renderList as ne, toDisplayString as re, unref as p, vModelText as m, vShow as ie, watch as ae, withDirectives as h } from "vue"; import { AurStateStore as oe } from "@aurouscia/au-undo-redo"; import { ShortcutListener as se } from "@aurouscia/keyboard-shortcut"; //#region src/models/Table.ts var ce = "#eeeeee", le = "#000000", g = class { id; name; cells; cellsShown; merges; merged; colors; sticky; rowCount; colCount; constructor(e) { this.id = e.id, this.name = e.name, this.cells = e.cells || [], this.merges = e.merges || [], this.merged = [], this.colors = e.colors || [], this.sticky = e.sticky || {}, this.rowCount = this.cells.length, this.colCount = Math.max(...this.cells.map((e) => e.length)), this.cellsShown = [], this.totalRefresh(); } output() { let e = []; var t = []; return this.enumerateCells((n, r) => { var i = !1, a = 1, o = 1; if (this.isMergedCell(n, r)) { let e = this.isMergeInfoHead(n, r); e ? (a = e.right + 1, o = e.down + 1) : i = !0; } if (!i) { let e = this.colors.find((e) => e.pos[0] == n && e.pos[1] == r); t.push({ content: this.cells[n][r], colspan: a > 1 ? a : void 0, rowspan: o > 1 ? o : void 0, position: { row: n, col: r }, bgColor: e?.bg, textColor: e?.text }); } return r == this.colCount - 1 && (e.push(t), t = []), !0; }), e; } getData() { return { id: this.id, name: this.name, cells: this.cells, merges: this.merges, colors: this.colors, sticky: this.sticky }; } replaceData(e) { this.id = e.id, this.name = e.name, this.cells = e.cells, this.merges = e.merges || [], this.colors = e.colors || [], this.sticky = e.sticky || {}, this.totalRefresh(); } refreshCellShown() { this.cellsShown = this.output(); } refreshSize() { this.rowCount = this.cells.length, this.colCount = Math.max(...this.cells.map((e) => e.length)); } totalRefresh() { this.merges = this.merges.filter((e) => e.down > 0 || e.right > 0), this.rmColorRedundant(), this.refreshSize(), this.cells.forEach((e) => { let t = this.colCount - e.length; t != 0 && e.push(...this.newStringArr(t)); }), this.refreshMergedPositions(), this.refreshCellShown(); } rmColorRedundant() { this.colors = this.colors.filter((e) => (e.bg || e.text) && (e.bg !== "#eeeeee" || e.text !== "#000000")); } isMergeDangerous(e) { var e = this.rectanglifySelection(e, []), t = e[0]; e.forEach((e) => { (e.row < t.row || e.col < t.col) && (t = e); }); var n = !1; return e.forEach((e) => { t != e && this.cells[e.row][e.col] && (n = !0); }), n; } addMerge(e) { if (e.length <= 1) return e; let t = []; e = this.rectanglifySelection(e, t), this.rmColorRedundant(), e.sort(this.posCmp); var n = e[0], r = this.cells[n.row][n.col], i = this.colors.find((e) => e.pos[0] === n.row && e.pos[1] === n.col); let a = !!i; e.forEach((e) => { if (n != e) { if (!r) { let t = this.cells[e.row][e.col]; t && (r = t); } this.cells[e.row][e.col] = ""; let t = this.colors.findIndex((t) => t.pos[0] === e.row && t.pos[1] === e.col); t >= 0 && (i ||= this.colors[t], this.colors.splice(t, 1)); } }), this.cells[n.row][n.col] = r, !a && i && (i.pos = [n.row, n.col], this.colors.push(i)), this.merges = this.merges.filter((e) => t.indexOf(e) == -1); let o = this.selectionToMergeInfo(e); return this.merges.push(o), this.refreshMergedPositions(), this.refreshCellShown(), [{ row: o.row, col: o.col }]; } removeMerge(e) { let t = this.merged.find((t) => t.row == e.row && t.col == e.col)?.fromMerge; t && (this.merges = this.merges.filter((e) => e.row != t.row || e.col != t.col), this.refreshMergedPositions(), this.refreshCellShown()); } isMergedCell(e, t) { return this.merged.find((n) => n.row == e && n.col == t); } isMergeInfoHead(e, t) { return this.merges.find((n) => n.row == e && n.col == t); } isValidMergeInfo(e) { return e.col > 0 && e.right > 0 && e.col + e.right < this.colCount && e.row > 0 && e.down > 0 && e.row + e.down < this.rowCount; } rectanglifySelection(e, t) { let n = []; e.forEach(({ row: e, col: r }) => { n.push({ row: e, col: r }); let i = this.isMergedCell(e, r); i && t.indexOf(i.fromMerge) == -1 && t.push(i.fromMerge); }), t.forEach((e) => { this.enumerateMergeInfo(e, (e, t) => (n.push({ row: e, col: t }), !0)); }); let r = this.selectionToMergeInfo(n), i = []; return this.enumerateMergeInfo(r, (e, t) => (i.push({ row: e, col: t }), !0)), this.isSameSelection(e, i) ? e : this.rectanglifySelection(i, t); } selectionToMergeInfo(e) { let t = e.map((e) => e.col), n = e.map((e) => e.row), r = Math.min(...t), i = Math.max(...t), a = Math.min(...n); return { row: a, down: Math.max(...n) - a, col: r, right: i - r }; } isSameSelection(e, t) { if (e.length != t.length) return !1; e.sort(this.posCmp), t.sort(this.posCmp); for (var n = 0; n < e.length; n++) if (e[n].row != t[n].row || e[n].col != t[n].col) return !1; return !0; } posCmp(e, t) { return e.row == t.row ? e.col - t.col : e.row - t.row; } rangeIncludeWholeMerge(e, t) { if (e.type == "horizontal") { if (e.min <= t.col && e.max >= t.col + t.right) return !0; } else if (e.type == "vertical" && e.min <= t.row && e.max >= t.row + t.down) return !0; return !1; } rangeIncludeCell(e, t, n) { if (e.type == "horizontal") { if (e.min <= n && e.max >= n) return !0; } else if (e.type == "vertical" && e.min <= t && e.max >= t) return !0; return !1; } refreshMergedPositions() { this.merged = [], this.merges.forEach((e) => { this.enumerateMergeInfo(e, (t, n) => (this.merged.push({ row: t, col: n, fromMerge: e }), !0)); }), this.merged.sort(this.posCmp); } enumerateCells(e) { for (var t = 0; t < this.rowCount; t++) for (var n = 0; n < this.colCount; n++) if (!e(t, n)) return; } enumerateMergeInfo(e, t) { for (var n = e.row; n <= e.row + e.down; n++) for (var r = e.col; r <= e.col + e.right; r++) if (!t(n, r)) return; } enumerateRange(e, t) { if (e.type == "vertical") { for (var n = e.min; n <= e.max; n++) for (var r = 0; r < this.colCount; r++) if (!t(n, r)) return; } else if (e.type == "horizontal") { for (var n = 0; n < this.rowCount; n++) for (var r = e.min; r <= e.max; r++) if (!t(n, r)) return; } } enumerateRow(e, t) { let n = this.cells[e]; if (n) { for (let r = 0; r < n.length; r++) if (!t(e, r)) return; } } enumerateCol(e, t) { for (let n = 0; n < this.cells.length; n++) if (!t(n, e)) return; } getSelectionRange(e, t) { var n = 0, r = 0; if (e.length == 1) { let t = this.isMergeInfoHead(e[0].row, e[0].col); t && e.push({ row: t.row + t.down, col: t.col + t.right }); } return t == "horizontal" ? (n = Math.min(...e.map((e) => e.col)), r = Math.max(...e.map((e) => e.col))) : t == "vertical" && (n = Math.min(...e.map((e) => e.row)), r = Math.max(...e.map((e) => e.row))), { min: n, max: r, type: t }; } isRectSelection(e) { let t = [...e], n = []; e.forEach((e) => { let r = this.isMergedCell(e.row, e.col)?.fromMerge; if (r) { if (n.includes(r)) return; n.push(r), this.enumerateMergeInfo(r, (e, n) => (t.push({ row: e, col: n }), !0)); } }); let r = this.selectionToMergeInfo(t); var i = !0; return this.enumerateMergeInfo(r, (e, n) => t.find((t) => t.row == e && t.col == n) ? !0 : (i = !1, !1)), i; } isInsideSingleMergeSelection(e) { for (var t, n = 0; n < e.length; n++) { let r = this.isMergedCell(e[n].row, e[n].col)?.fromMerge; if (r) { if (!t) t = r; else if (t != r) return !1; } else return !1; } return !0; } expandSelection(e, t, n) { if (n == "strict") { if (t == "horizontal") { let t = this.getSelectionRange(e, "vertical"), n = { row: t.min, col: 0 }, r = { row: t.max, col: this.colCount - 1 }; return this.rectanglifySelection([ ...e, n, r ], []); } else if (t == "vertical") { let t = this.getSelectionRange(e, "horizontal"), n = { row: 0, col: t.min }, r = { row: this.rowCount - 1, col: t.max }; return this.rectanglifySelection([ ...e, n, r ], []); } } else if (n == "loose") { var r = [], i = [], a = t == "horizontal" ? "vertical" : "horizontal"; let n = []; n.push(...e), e.forEach((e) => { let t = this.isMergeInfoHead(e.row, e.col); t && this.enumerateMergeInfo(t, (e, t) => (n.push({ row: e, col: t }), !0)); }); var o = this.getSelectionRange(n, a); return this.enumerateRange(o, (e, t) => { let n = this.isMergedCell(e, t); return n ? r.push(n.fromMerge) : i.push({ row: e, col: t }), !0; }), r = r.filter((e) => this.rangeIncludeWholeMerge(o, e)), r.forEach((e) => { i.find((t) => t.col == e.col && t.row == e.row) || i.push({ row: e.row, col: e.col }); }), i || e; } return e; } selectSpecificIdx(e, t) { let n = []; if (e == "horizontal") { let e = t; for (var r = 0; r < this.colCount; r++) { let t = this.isMergedCell(e, r); t ? t.fromMerge.down == 0 && n.push({ row: t.row, col: t.col }) : n.push({ row: e, col: r }); } } else if (e == "vertical") { let e = t; for (var r = 0; r < this.rowCount; r++) { let t = this.isMergedCell(r, e); t ? t.fromMerge.right == 0 && n.push({ row: t.row, col: t.col }) : n.push({ row: r, col: e }); } } return n; } cellPosMapToShownPos(e, t = 0) { if (t > 1) return { row: 0, col: 0 }; let n = this.isMergedCell(e.row, e.col)?.fromMerge; if (n && (n.row != e.row || n.col != e.col)) return this.cellPosMapToShownPos({ row: n.row, col: n.col }, t + 1); if (e.col == 0) return { row: e.row, col: 0 }; let r = []; for (var i = 0; i < e.col; i++) { let t = this.isMergedCell(e.row, i)?.fromMerge; t && !r.includes(t) && r.push(t); } var a = 0; return r.forEach((t) => { a += t.right + 1, e.row == t.row && --a; }), { row: e.row, col: e.col - a }; } shownPosMapToCellPos(e) { let t = this.cells[e.row], n = [], r = [], i = 0; for (let a = 0; a < t.length; a++) { let t = this.isMergedCell(e.row, a)?.fromMerge; t && r.indexOf(t) == -1 && (t.row == e.row ? (n.push([a, a - i]), i += t.right) : i += t.right + 1, r.push(t)), t || n.push([a, a - i]); } let a = n.find((t) => t[1] == e.col)?.[0]; return a === void 0 && (a = -1), { row: e.row, col: a }; } nextCellShown(e) { let t = this.cellsShown[0][0].position; for (let n = 0; n < this.cellsShown.length; n++) { let r = this.cellsShown[n]; for (let i = 0; i < r.length; i++) { let a = r[i]; if (e.row == a.position.row && e.col == a.position.col) { if (i != r.length - 1) return r[i + 1].position; { let e = n + 1; for (; e < this.cellsShown.length;) { let t = this.cellsShown[e]; if (t.length > 0) return t[0].position; e++; } return t; } } } } } insert(e, t) { let n = this.locateGap(e, t); var r = e || []; if (!n) return e || []; if (t == "top") { this.cells.splice(n.idx, 0, this.newStringArr(this.colCount)); let e = this.merges.filter((e) => e.row == n.idx && e.down >= 1), t = this.merges.filter((e) => e.row < n.idx && e.row + e.down >= n.idx), i = this.merges.filter((e) => e.row > n.idx || e.down == 0 && e.row == n.idx); e.forEach((e) => { this.cells[e.row][e.col] = this.cells[e.row + 1][e.col], this.cells[e.row + 1][e.col] = "", e.down += 1; }), t.forEach((e) => { e.down += 1; }), i.forEach((e) => { e.row += 1; }), r = this.selectSpecificIdx("horizontal", n.idx); } else if (t == "bottom") n.idx < this.rowCount ? this.cells.splice(n.idx, 0, this.newStringArr(this.colCount)) : this.cells.push(this.newStringArr(this.colCount)), this.merges.filter((e) => e.row + e.down + 1 == n.idx && e.down >= 1 || e.row < n.idx && e.row + e.down >= n.idx).forEach((e) => { e.down += 1; }), this.merges.filter((e) => e.row >= n.idx).forEach((e) => { e.row += 1; }), r = this.selectSpecificIdx("horizontal", n.idx); else if (t == "left") { this.cells.forEach((e) => e.splice(n.idx, 0, "")); let e = this.merges.filter((e) => e.col == n.idx && e.right >= 1), t = this.merges.filter((e) => e.col < n.idx && e.col + e.right >= n.idx), i = this.merges.filter((e) => e.col > n.idx || e.col == n.idx && e.right == 0); e.forEach((e) => { this.cells[e.row][e.col] = this.cells[e.row][e.col + 1], this.cells[e.row][e.col + 1] = "", e.right += 1; }), t.forEach((e) => { e.right += 1; }), i.forEach((e) => { e.col += 1; }), r = this.selectSpecificIdx("vertical", n.idx); } else t == "right" && (n.idx < this.colCount ? this.cells.forEach((e) => e.splice(n.idx, 0, "")) : this.cells.forEach((e) => e.push("")), this.merges.filter((e) => e.col + e.right + 1 == n.idx && e.right >= 1 || e.col < n.idx && e.col + e.right >= n.idx).forEach((e) => { e.right += 1; }), this.merges.filter((e) => e.col >= n.idx).forEach((e) => { e.col += 1; }), r = this.selectSpecificIdx("vertical", n.idx)); return t == "top" || t == "bottom" ? this.colors.filter((e) => e.pos[0] >= n.idx).forEach((e) => e.pos[0] += 1) : (t == "left" || t == "right") && this.colors.filter((e) => e.pos[1] >= n.idx).forEach((e) => e.pos[1] += 1), this.totalRefresh(), r; } locateGap(e, t) { if (!e) return t == "top" ? { idx: 0, dir: "horizontal" } : t == "bottom" ? { idx: this.rowCount, dir: "horizontal" } : t == "left" ? { idx: 0, dir: "vertical" } : t == "right" ? { idx: this.colCount, dir: "vertical" } : void 0; if (t == "top") { let t = e.map((e) => e.row); return { idx: Math.min(...t), dir: "horizontal" }; } if (t == "bottom") { let t = e.map((e) => { let t = this.isMergeInfoHead(e.row, e.col); return t ? t.row + t.down : e.row; }); return { idx: Math.max(...t) + 1, dir: "horizontal" }; } if (t == "left") { let t = e.map((e) => e.col); return { idx: Math.min(...t), dir: "vertical" }; } if (t == "right") { let t = e.map((e) => { let t = this.isMergeInfoHead(e.row, e.col); return t ? t.col + t.right : e.col; }); return { idx: Math.max(...t) + 1, dir: "vertical" }; } } newStringArr(e) { return Array(e).fill(""); } exchange(e) { if (e.idx == 0) return !1; if (e.dir == "horizontal") { let t = e.idx - 1, n = e.idx; if (n >= this.cells.length) return !1; let r = !0; if (this.enumerateRow(t, (e, t) => { let n = this.isMergedCell(e, t), i = this.isMergedCell(e + 1, t); return n && i && n.fromMerge != i.fromMerge && (n.fromMerge.down > 0 || i.fromMerge.down > 0) ? (r = !1, !1) : !0; }), r) this.enumerateRow(t, (e, t) => { let n = this.isMergedCell(e, t), r = this.isMergedCell(e + 1, t); if ((!n || n.fromMerge.down == 0) && (!r || r.fromMerge.down == 0)) { let n = this.cells[e][t]; this.cells[e][t] = this.cells[e + 1][t], this.cells[e + 1][t] = n; } return !0; }), this.merges.forEach((e) => { e.down == 0 && (e.row == t ? e.row = n : e.row == n && (e.row = t)); }), this.colors.forEach((e) => { e.pos[0] == t ? e.pos[0] = n : e.pos[0] == n && (e.pos[0] = t); }); else return !1; } else if (e.dir == "vertical") { let t = e.idx - 1, n = e.idx; if (n >= this.colCount) return !1; let r = !0; if (this.enumerateCol(t, (e, t) => { let n = this.isMergedCell(e, t), i = this.isMergedCell(e, t + 1); return n && i && n.fromMerge != i.fromMerge && (n.fromMerge.right > 0 || i.fromMerge.right > 0) ? (r = !1, !1) : !0; }), r) this.enumerateCol(t, (e, t) => { let n = this.isMergedCell(e, t), r = this.isMergedCell(e, t + 1); if ((!n || n.fromMerge.right == 0) && (!r || r.fromMerge.right == 0)) { let n = this.cells[e][t]; this.cells[e][t] = this.cells[e][t + 1], this.cells[e][t + 1] = n; } return !0; }), this.merges.forEach((e) => { e.right == 0 && (e.col == t ? e.col = n : e.col == n && (e.col = t)); }), this.colors.forEach((e) => { e.pos[1] == t ? e.pos[1] = n : e.pos[1] == n && (e.pos[1] = t); }); else return !1; } return this.totalRefresh(), !0; } delete(e, t) { if (t == "horizontal") { let t = this.getSelectionRange(e, "vertical"), n = t.max - t.min + 1; this.merges = this.merges.filter((e) => !this.rangeIncludeWholeMerge(t, e)), this.colors = this.colors.filter((e) => !this.rangeIncludeCell(t, e.pos[0], e.pos[1])); let r = this.merges.filter((e) => e.row > t.max), i = this.merges.filter((e) => e.row < t.min && e.row + e.down >= t.min), a = this.merges.filter((e) => e.row >= t.min && e.row <= t.max); r.forEach((e) => { e.row -= n; }), i.forEach((e) => { let r = Math.min(n, e.row + e.down - t.min + 1); e.down -= r; }), a.forEach((e) => { let n = t.max - e.row + 1; e.down -= n; let r = e.row - t.min; this.cells[e.row + n][e.col] = this.cells[e.row][e.col], e.row -= r; }), this.colors.filter((e) => e.pos[0] > t.max).forEach((e) => { e.pos[0] -= n; }), this.cells.splice(t.min, n); } else if (t == "vertical") { let t = this.getSelectionRange(e, "horizontal"), n = t.max - t.min + 1; this.merges = this.merges.filter((e) => !this.rangeIncludeWholeMerge(t, e)), this.colors = this.colors.filter((e) => !this.rangeIncludeCell(t, e.pos[0], e.pos[1])); let r = this.merges.filter((e) => e.col > t.max), i = this.merges.filter((e) => e.col < t.min && e.col + e.right >= t.min), a = this.merges.filter((e) => e.col >= t.min && e.col <= t.max); r.forEach((e) => { e.col -= n; }), i.forEach((e) => { let r = Math.min(n, e.col + e.right - t.min + 1); e.right -= r; }), a.forEach((e) => { let n = t.max - e.col + 1; e.right -= n; let r = e.col - t.min; this.cells[e.row][e.col + n] = this.cells[e.row][e.col], e.col -= r; }), this.colors.filter((e) => e.pos[1] > t.max).forEach((e) => { e.pos[1] -= n; }), this.cells.forEach((e) => { e.splice(t.min, n); }); } return this.totalRefresh(), []; } rotateTableClockwise(e = 1, t) { if (e == 0) return t || []; for (var n = 1; n <= e; n++) { let e = []; for (var r = 0; r < this.colCount; r++) e.push([]); this.cells.forEach((t, n) => { t.forEach((t, r) => { e[r][this.rowCount - 1 - n] = t; }); }), this.cells = e; let n = []; if (this.merges.forEach((e) => { let t = { row: e.row + e.down, col: e.col }; n.push({ row: t.col, col: this.rowCount - 1 - t.row, down: e.right, right: e.down }); }), this.merges = n, t) { var i = []; t.forEach((e) => { i.push({ row: e.col, col: this.rowCount - 1 - e.row }); }), t = i; } this.refreshSize(); } return this.refreshMergedPositions(), this.refreshCellShown(), t || []; } }, ue = { id: 0, name: "testTable", cells: [ [ "数据加载异常,请检查网络连接或联系管理员", "", "", "", "" ], [ "1A", "1B", "1C", "1D", "1E" ], [ "2A", "2B", "2C", "2D", "2E" ], [ "3A", "3B", "3C", "3D", "3E" ] ], merges: [{ row: 0, col: 0, right: 4, down: 0 }] }, de = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%238787E4;}%20.st1{fill:%238CC63F;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st3{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='17.67'%20y='17.67'%20class='st0'%20width='14.66'%20height='14.66'/%3e%3crect%20x='3'%20y='3'%20class='st1'%20width='14.67'%20height='44'/%3e%3cpolygon%20class='st2'%20points='32.33,17.67%2032.33,32.33%2017.67,32.33%2017.67,47%2047,47%2047,3%2017.67,3%2017.67,17.67%20'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='32.33'%20x2='47'%20y2='32.33'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='17.67'%20x2='47'%20y2='17.67'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='47'%20x2='32.33'%20y2='32.33'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='17.67'%20x2='32.33'%20y2='3'/%3e%3cg%3e%3cline%20class='st3'%20x1='13.69'%20y1='25.24'%20x2='6.69'%20y2='25.24'/%3e%3cline%20class='st3'%20x1='10.19'%20y1='28.74'%20x2='10.19'%20y2='21.74'/%3e%3c/g%3e%3c/svg%3e", fe = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%238787E4;}%20.st1{fill:%238CC63F;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st3{fill:%238CC63F;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='17.67'%20y='17.67'%20class='st0'%20width='14.66'%20height='14.66'/%3e%3crect%20x='32.33'%20y='3'%20class='st1'%20width='14.67'%20height='44'/%3e%3cpolygon%20class='st2'%20points='17.67,17.67%2017.67,32.33%2032.33,32.33%2032.33,47%203,47%203,3%2032.33,3%2032.33,17.67%20'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='32.33'%20x2='3'%20y2='32.33'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='17.67'%20x2='3'%20y2='17.67'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='47'%20x2='17.67'%20y2='32.33'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='17.67'%20x2='17.67'%20y2='3'/%3e%3cg%3e%3cline%20class='st3'%20x1='36.31'%20y1='25.24'%20x2='43.31'%20y2='25.24'/%3e%3cline%20class='st3'%20x1='39.81'%20y1='28.74'%20x2='39.81'%20y2='21.74'/%3e%3c/g%3e%3c/svg%3e", _ = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%238787E4;}%20.st1{fill:%238CC63F;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st3{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='17.67'%20y='17.67'%20class='st0'%20width='14.66'%20height='14.66'/%3e%3crect%20x='3'%20y='3'%20class='st1'%20width='44'%20height='14.67'/%3e%3cpolygon%20class='st2'%20points='17.67,32.33%2032.33,32.33%2032.33,17.67%2047,17.67%2047,47%203,47%203,17.67%2017.67,17.67%20'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='32.33'%20x2='32.33'%20y2='47'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='32.33'%20x2='17.67'%20y2='47'/%3e%3cline%20class='st2'%20x1='47'%20y1='32.33'%20x2='32.33'%20y2='32.33'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='32.33'%20x2='3'%20y2='32.33'/%3e%3cg%3e%3cline%20class='st3'%20x1='25.24'%20y1='13.69'%20x2='25.24'%20y2='6.69'/%3e%3cline%20class='st3'%20x1='28.74'%20y1='10.19'%20x2='21.74'%20y2='10.19'/%3e%3c/g%3e%3c/svg%3e", pe = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%238787E4;}%20.st1{fill:%238CC63F;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st3{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='17.67'%20y='17.67'%20class='st0'%20width='14.66'%20height='14.66'/%3e%3crect%20x='3'%20y='32.33'%20class='st1'%20width='44'%20height='14.67'/%3e%3cpolygon%20class='st2'%20points='32.33,17.67%2017.67,17.67%2017.67,32.33%203,32.33%203,3%2047,3%2047,32.33%2032.33,32.33%20'/%3e%3cline%20class='st2'%20x1='17.67'%20y1='17.67'%20x2='17.67'%20y2='3'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='17.67'%20x2='32.33'%20y2='3'/%3e%3cline%20class='st2'%20x1='3'%20y1='17.67'%20x2='17.67'%20y2='17.67'/%3e%3cline%20class='st2'%20x1='32.33'%20y1='17.67'%20x2='47'%20y2='17.67'/%3e%3cg%3e%3cline%20class='st3'%20x1='24.76'%20y1='36.31'%20x2='24.76'%20y2='43.31'/%3e%3cline%20class='st3'%20x1='21.26'%20y1='39.81'%20x2='28.26'%20y2='39.81'/%3e%3c/g%3e%3c/svg%3e", me = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23DDA0DD;stroke:%23000000;stroke-miterlimit:10;}%20.st1{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='3'%20y='17.67'%20class='st0'%20width='44'%20height='14.66'/%3e%3crect%20x='3'%20y='32.33'%20class='st1'%20width='44'%20height='14.67'/%3e%3crect%20x='3'%20y='3'%20class='st1'%20width='44'%20height='14.67'/%3e%3cline%20class='st1'%20x1='32.33'%20y1='47'%20x2='32.33'%20y2='32.33'/%3e%3cline%20class='st1'%20x1='32.33'%20y1='17.67'%20x2='32.33'%20y2='3'/%3e%3cline%20class='st1'%20x1='17.67'%20y1='47'%20x2='17.67'%20y2='32.33'/%3e%3cline%20class='st1'%20x1='17.67'%20y1='17.67'%20x2='17.67'%20y2='3'/%3e%3cg%3e%3cline%20class='st2'%20x1='22.53'%20y1='22.53'%20x2='27.47'%20y2='27.47'/%3e%3cline%20class='st2'%20x1='22.53'%20y1='27.47'%20x2='27.47'%20y2='22.53'/%3e%3c/g%3e%3c/svg%3e", v = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23DDA0DD;stroke:%23000000;stroke-miterlimit:10;}%20.st1{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='17.67'%20y='3'%20class='st0'%20width='14.66'%20height='44'/%3e%3crect%20x='32.33'%20y='3'%20class='st1'%20width='14.67'%20height='44'/%3e%3crect%20x='3'%20y='3'%20class='st1'%20width='14.67'%20height='44'/%3e%3cline%20class='st1'%20x1='47'%20y1='17.67'%20x2='32.33'%20y2='17.67'/%3e%3cline%20class='st1'%20x1='17.67'%20y1='17.67'%20x2='3'%20y2='17.67'/%3e%3cline%20class='st1'%20x1='47'%20y1='32.33'%20x2='32.33'%20y2='32.33'/%3e%3cline%20class='st1'%20x1='17.67'%20y1='32.33'%20x2='3'%20y2='32.33'/%3e%3cg%3e%3cline%20class='st2'%20x1='22.53'%20y1='27.47'%20x2='27.47'%20y2='22.53'/%3e%3cline%20class='st2'%20x1='27.47'%20y1='27.47'%20x2='22.53'%20y2='22.53'/%3e%3c/g%3e%3c/svg%3e", y = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st1{fill:%238CC63F;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:%238CC63F;}%20.st3{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='5'%20y='5'%20class='st0'%20width='40'%20height='40'/%3e%3crect%20x='10.3'%20y='10.3'%20class='st1'%20width='29.3'%20height='29.3'/%3e%3cline%20class='st0'%20x1='10.3'%20y1='25'%20x2='39.6'%20y2='25'/%3e%3cline%20class='st0'%20x1='25'%20y1='10.3'%20x2='25'%20y2='39.7'/%3e%3crect%20x='13.9'%20y='13.9'%20class='st2'%20width='22.1'%20height='22.1'/%3e%3cpolyline%20class='st3'%20points='20,31.5%2020,18.5%2025,31.5%2030,18.5%2030,31.5%20'/%3e%3c/svg%3e", b = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2024.2.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%2050%2050'%20style='enable-background:new%200%200%2050%2050;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:none;stroke:%23000000;stroke-miterlimit:10;}%20.st1{fill:%23DDA0DD;stroke:%23000000;stroke-miterlimit:10;}%20.st2{fill:%23DDA0DD;}%20.st3{fill:none;stroke:%23000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%20.st4{fill:none;stroke:%23DDA0DD;stroke-width:2;stroke-linecap:round;stroke-miterlimit:10;}%20.st5{fill:none;stroke:%23000000;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3crect%20x='5'%20y='5'%20class='st0'%20width='40'%20height='40'/%3e%3crect%20x='10.3'%20y='10.3'%20class='st1'%20width='29.3'%20height='29.3'/%3e%3cline%20class='st0'%20x1='10.3'%20y1='25'%20x2='39.6'%20y2='25'/%3e%3cline%20class='st0'%20x1='25'%20y1='10.3'%20x2='25'%20y2='39.7'/%3e%3crect%20x='13.9'%20y='13.9'%20class='st2'%20width='22.1'%20height='22.1'/%3e%3cpolyline%20class='st3'%20points='20,31.5%2020,18.5%2025,31.5%2030,18.5%2030,31.5%20'/%3e%3cg%3e%3cline%20class='st4'%20x1='15.1'%20y1='15.1'%20x2='34.9'%20y2='34.9'/%3e%3cline%20class='st5'%20x1='15.1'%20y1='15.1'%20x2='34.9'%20y2='34.9'/%3e%3c/g%3e%3c/svg%3e", x = { class: "floatToolsVue" }, S = ["src"], he = ["src"], ge = ["src"], _e = ["src"], ve = ["src"], ye = { key: 2, class: "empty" }, C = ["src"], w = ["src"], T = ["src"], be = /*@__PURE__*/ s({ __name: "FloatTools", props: { mergeBtn: {} }, emits: ["clickBtn"], setup(e, { emit: t }) { let n = e, a = t; return (e, t) => (d(), r("div", x, [ i("div", null, [ t[8] ||= i("div", { class: "empty" }, " ", -1), i("img", { onClick: t[0] ||= (e) => a("clickBtn", "insert_top"), src: p(_), title: "顶部插入一行" }, null, 8, S), i("img", { onClick: t[1] ||= (e) => a("clickBtn", "delete_horizontal"), src: p(me), title: "删除整行" }, null, 8, he) ]), i("div", null, [ i("img", { onClick: t[2] ||= (e) => a("clickBtn", "insert_left"), src: p(de), title: "左侧插入一列" }, null, 8, ge), n.mergeBtn == "merge" ? (d(), r("img", { key: 0, onClick: t[3] ||= (e) => a("clickBtn", "merge"), src: p(y), title: "合并单元格" }, null, 8, _e)) : n.mergeBtn == "del" ? (d(), r("img", { key: 1, onClick: t[4] ||= (e) => a("clickBtn", "mergeDel"), src: p(b), title: "取消合并" }, null, 8, ve)) : (d(), r("div", ye, " ")), i("img", { onClick: t[5] ||= (e) => a("clickBtn", "insert_right"), src: p(fe), title: "右侧插入一列" }, null, 8, C) ]), i("div", null, [ i("img", { onClick: t[6] ||= (e) => a("clickBtn", "delete_vertical"), src: p(v), title: "删除整列" }, null, 8, w), i("img", { onClick: t[7] ||= (e) => a("clickBtn", "insert_bottom"), src: p(pe), title: "底部插入一行" }, null, 8, T), t[9] ||= i("div", { class: "empty" }, " ", -1) ]) ])); } }), E = (e, t) => { let n = e.__vccOpts || e; for (let [e, r] of t) n[e] = r; return n; }, xe = /*#__PURE__*/ E(be, [["__scopeId", "data-v-0d2c598e"]]), Se = "data:image/svg+xml,%3csvg%20t='1704811329079'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3505'%20width='200'%20height='200'%3e%3cpath%20d='M864.223176%20468.850802%20325.662779%20468.850802%20572.896379%20221.682693%20511.071351%20159.795243%20157.8438%20513.008467%20511.071351%20866.16541%20572.896379%20804.345497%20325.662779%20557.11906%20864.223176%20557.11906Z'%20fill='%23ffffff'%20p-id='3506'%3e%3c/path%3e%3c/svg%3e", Ce = "data:image/svg+xml,%3csvg%20t='1704811350503'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3699'%20width='200'%20height='200'%3e%3cpath%20d='M510.564814%20161.618773%20449.347629%20222.835958%20694.342238%20467.902198%20160.5003%20467.902198%20160.5003%20555.463352%20694.342238%20555.463352%20449.347629%20800.453868%20510.564814%20861.731428%20860.618072%20511.616772Z'%20fill='%23ffffff'%20p-id='3700'%3e%3c/path%3e%3c/svg%3e", we = "data:image/svg+xml,%3csvg%20t='1705039432939'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='7202'%20width='200'%20height='200'%3e%3cpath%20d='M257.024%2079.2576c-28.16%200-53.76%205.12-79.4624%2017.92-15.36%207.68-20.48%2028.0576-7.68%2040.8576l87.1424%2086.8352-30.72%2030.6176-87.1424-86.8352c-4.608-5.0176-11.1616-7.8848-17.92-7.68-10.24%200-17.92%205.12-23.04%2015.36-33.28%2066.3552-23.04%20150.6304%2033.28%20206.848C167.3216%20418.816%20210.944%20434.176%20257.024%20434.176c20.48%200%2040.96-2.56%2058.9824-10.24l284.4672%20283.4432c-23.04%2063.7952-7.68%20135.3728%2040.96%20186.368%2035.84%2035.7376%2079.4624%2051.0976%20125.5424%2051.0976%2028.16%200%2053.76-5.12%2079.4624-17.92%2015.36-7.68%2020.48-28.0576%207.68-40.8576L766.976%20799.232l30.72-30.6176%2087.1424%2086.8352c4.608%205.0176%2011.1616%207.8848%2017.92%207.68%2010.24%200%2017.92-5.12%2023.04-15.36%2033.28-66.3552%2023.04-150.6304-33.28-206.848C856.6784%20605.184%20813.056%20589.824%20766.976%20589.824c-20.48%200-40.96%202.56-61.44%2010.24L420.9664%20316.7232c23.04-63.7952%207.68-135.3728-40.96-186.368-32.5632-32.8704-76.8-51.2-122.9824-51.0976z%20m-33.28%20229.7856c12.8%200%2025.6-5.12%2035.9424-15.36l30.72-30.6176c19.7632-18.7392%2020.5824-49.8688%201.8432-69.632l-1.8432-1.8432-58.9824-58.7776c7.68%200%2015.36-2.56%2023.04-2.56%2033.28%200%2066.6624%2012.8%2089.7024%2038.2976%2035.84%2035.7376%2046.1824%2086.8352%2030.72%20132.8128-7.68%2017.92-2.56%2038.2976%2012.8%2053.6576l284.4672%20283.4432c10.24%2010.24%2023.04%2015.36%2035.9424%2015.36%205.12%200%2012.8%200%2017.92-2.56%2013.9264-5.2224%2028.672-7.7824%2043.52-7.68%2033.28%200%2066.6624%2012.8%2089.7024%2038.2976%2030.72%2030.6176%2043.6224%2071.4752%2035.9424%20112.3328l-58.9824-58.7776c-9.4208-9.728-22.4256-15.2576-35.9424-15.36-12.8%200-25.6%205.12-35.84%2015.36l-30.72%2030.6176c-9.728%209.3184-15.2576%2022.2208-15.36%2035.7376%200%2012.8%205.12%2025.4976%2015.36%2035.7376l58.9824%2058.7776c-7.68%200-15.36%202.56-23.04%202.56-33.28%200-66.6624-12.8-89.7024-38.2976-35.84-35.7376-46.1824-86.8352-30.72-132.8128%207.68-17.92%202.56-38.2976-12.8-53.6576L351.8464%20390.7584c-9.4208-9.728-22.4256-15.2576-35.9424-15.36-5.12%200-10.24%200-17.92%202.56-13.9264%205.2224-28.672%207.7824-43.52%207.68-33.28%200-66.6624-12.8-89.7024-38.2976-30.72-30.6176-43.6224-71.4752-35.9424-112.3328l58.9824%2058.7776c10.3424%2010.1376%2023.1424%2015.2576%2035.9424%2015.2576zM320.512%20577.536c15.6672%200%2028.7744%205.2224%2036.6592%2015.7696l73.4208%2073.4208c20.2752%2019.3536%2021.0944%2051.4048%201.7408%2071.68l-1.7408%201.7408-188.7232%20188.928c-9.6256%209.9328-22.8352%2015.6672-36.7616%2015.7696-13.1072%200-26.2144-5.2224-36.6592-15.7696l-73.4208-73.4208c-20.2752-19.3536-21.0944-51.4048-1.7408-71.68l1.7408-1.7408%20188.8256-188.8256c10.4448-10.5472%2023.552-15.7696%2036.6592-15.872zM207.7696%20892.3136L396.5952%20703.488l-73.4208-73.4208-188.8256%20188.8256%2073.4208%2073.4208z%20m637.3376-813.056c7.8848%200%2015.7696%202.56%2018.3296%207.8848l73.4208%2073.4208c10.1376%209.6256%2010.5472%2025.7024%200.8192%2035.84-0.3072%200.3072-0.512%200.6144-0.8192%200.8192L808.3456%20325.7344c-4.9152%204.8128-11.4688%207.5776-18.3296%207.8848-6.8608-0.3072-13.4144-3.072-18.3296-7.8848l-18.3296-18.3296-128.6144%20128.512c-4.9152%204.7104-11.4688%207.5776-18.3296%207.7824-6.8608-0.3072-13.4144-3.072-18.3296-7.8848-10.1376-9.6256-10.5472-25.7024-0.8192-35.84%200.3072-0.3072%200.512-0.6144%200.8192-0.8192l128.512-128.512-18.432-18.3296c-10.1376-9.6256-10.5472-25.7024-0.8192-35.84%200.3072-0.3072%200.512-0.6144%200.8192-0.8192L826.7776%2087.04c4.608-5.12%2011.3664-7.9872%2018.3296-7.7824z%20m0%2062.8736l-91.7504%2091.7504%2018.3296%2018.432%2018.3296%2018.3296%2091.7504-91.7504-36.6592-36.7616z'%20fill='%23ffffff'%20p-id='7203'%3e%3c/path%3e%3c/svg%3e", Te = "data:image/svg+xml,%3csvg%20t='1710241509904'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='2631'%20width='200'%20height='200'%3e%3cpath%20d='M430.8992%20492.1344a32.2048%2032.2048%200%200%201-23.8592-10.5472L261.12%20321.5872a32.256%2032.256%200%200%201%2047.6672-43.4688l125.4912%20137.5744%20341.504-275.1488a32.256%2032.256%200%200%201%2040.448%2050.2272L451.1232%20484.9664a32.1536%2032.1536%200%200%201-20.224%207.168zM802.5088%20912.7424H378.0096a33.536%2033.536%200%201%201%200-67.072h424.4992a43.9296%2043.9296%200%200%200%2043.8784-43.8784V475.3408a33.536%2033.536%200%201%201%2067.072%200v326.4512a111.104%20111.104%200%200%201-110.9504%20110.9504z'%20p-id='2632'%20fill='%232c2c2c'%3e%3c/path%3e%3cpath%20d='M615.424%20725.6576H232.192a111.104%20111.104%200%200%201-110.9504-110.9504V231.4752a111.104%20111.104%200%200%201%20110.9504-110.9504H501.76a33.536%2033.536%200%200%201%200%2067.1232H232.192a43.9296%2043.9296%200%200%200-43.8784%2043.8784v383.232a43.9296%2043.9296%200%200%200%2043.8784%2043.8784h383.232a43.9296%2043.9296%200%200%200%2043.8784-43.8784V475.3408a33.536%2033.536%200%200%201%2067.1232%200v139.3664a111.104%20111.104%200%200%201-111.0016%20110.9504z'%20p-id='2633'%20fill='%232c2c2c'%3e%3c/path%3e%3c/svg%3e", Ee = "data:image/svg+xml,%3csvg%20t='1710241965160'%20class='icon'%20viewBox='0%200%201024%201024'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20p-id='3790'%20width='200'%20height='200'%3e%3cpath%20d='M338.1%20341.4h229.1c20.7%200%2037.7-17%2037.7-37.7V129.5c0-20.7-17-37.7-37.7-37.7H338.1c-20.7%200-37.7%2017-37.7%2037.7v174.1c0%2020.8%2017%2037.8%2037.7%2037.8z'%20fill='%23ffffff'%20p-id='3791'%3e%3c/path%3e%3cpath%20d='M772%2068.2h-82.5v292.1c0%2012.3-10%2022.3-22.3%2022.3H232.4c-12.3%200-22.3-10-22.3-22.4l1.8-292h-69.2c-33.4%200-60.5%2027.1-60.5%2060.5V892c0%2033.4%2027.1%2060.5%2060.5%2060.5h737.7c33.4%200%2060.5-27.1%2060.5-60.5V258.8L772%2068.2z%20m57%20765.5c0%2017.7-14.5%2032.3-32.3%2032.3H240.3c-17.7%200-32.3-14.5-32.3-32.3V501.4c0-17.7%2014.5-32.3%2032.3-32.3h556.4c17.7%200%2032.3%2014.5%2032.3%2032.3v332.3z'%20fill='%23ffffff'%20p-id='3792'%3e%3c/path%3e%3cpath%20d='M723.7%20585.7H302.5c-16%200-29.1%2013.1-29.1%2029.1s13.1%2029.1%2029.1%2029.1h421.2c16%200%2029.1-13.1%2029.1-29.1s-13.1-29.1-29.1-29.1zM723.7%20737H302.5c-16%200-29.1%2013.1-29.1%2029.1s13.1%2029.1%2029.1%2029.1h421.2c16%200%2029.1-13.1%2029.1-29.1S739.7%20737%20723.7%20737z'%20fill='%23ffffff'%20p-id='3793'%3e%3c/path%3e%3c/svg%3e", De = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%238CC63F;}%20.st1{fill:%23999999;}%20.st2{fill:%23FFFFFF;}%20%3c/style%3e%3cg%3e%3cg%3e%3crect%20x='13.86'%20y='21.93'%20class='st0'%20width='77.91'%20height='168.72'/%3e%3c/g%3e%3cg%3e%3crect%20x='105.15'%20y='113.88'%20class='st1'%20width='77.91'%20height='76.69'/%3e%3c/g%3e%3cg%3e%3crect%20x='105.15'%20y='21.93'%20class='st1'%20width='77.91'%20height='76.69'/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cpath%20d='M117.19,243.95c-2.9,0-5.8-0.35-8.61-1.04c-1.05-0.26-1.88-1.06-2.17-2.11c-0.29-1.04,0-2.16,0.77-2.93l20.32-20.33%20l-4.19-15.66l-15.66-4.19l-20.33,20.33c-0.57,0.57-1.34,0.88-2.12,0.88c-0.27,0-0.54-0.04-0.81-0.11%20c-1.04-0.29-1.85-1.12-2.11-2.17c-3.04-12.36,0.5-25.1,9.48-34.09c6.79-6.79,15.82-10.53,25.42-10.53c3.85,0,7.62,0.6,11.24,1.8%20l48.83-48.82c-4.12-12.78-0.77-26.9,8.8-36.46c6.79-6.79,15.83-10.53,25.44-10.53c2.9,0,5.8,0.35,8.61,1.04%20c1.05,0.26,1.88,1.06,2.17,2.11c0.29,1.04,0,2.16-0.77,2.93l-21.26,21.26l4.19,15.66l15.66,4.19l21.27-21.27%20c0.57-0.57,1.34-0.88,2.12-0.88c0.27,0,0.54,0.04,0.81,0.11c1.04,0.29,1.85,1.12,2.11,2.17c3.04,12.36-0.5,25.1-9.48,34.09%20c-6.79,6.79-15.82,10.53-25.43,10.53c-3.77,0-7.47-0.58-11.03-1.73l-48.97,48.97c4.01,12.71,0.63,26.75-8.86,36.25%20C135.84,240.21,126.8,243.95,117.19,243.95z'/%3e%3cpath%20class='st2'%20d='M211.49,80.99c2.65,0,5.31,0.32,7.9,0.95l-22.49,22.49l5.08,19.01l19.01,5.08l22.5-22.5%20c2.67,10.85-0.23,22.78-8.69,31.25c-6.43,6.43-14.87,9.66-23.31,9.66c-4.01,0-8.02-0.73-11.81-2.18l-51.63,51.63%20c4.42,11.73,1.91,25.48-7.54,34.92c-6.44,6.44-14.88,9.66-23.32,9.66c-2.65,0-5.31-0.32-7.9-0.95l21.55-21.55l-5.08-19.01%20l-19.01-5.08l-21.56,21.56c-2.67-10.85,0.23-22.78,8.69-31.25c6.43-6.43,14.87-9.65,23.3-9.65c4.08,0,8.16,0.76,12.02,2.27%20l51.51-51.51c-4.52-11.78-2.04-25.63,7.46-35.13C194.6,84.21,203.04,80.99,211.49,80.99%20M211.49,74.99%20c-10.42,0-20.21,4.05-27.57,11.41c-9.92,9.92-13.67,24.36-10.06,37.73l-46.29,46.29c-3.37-0.93-6.85-1.41-10.39-1.41%20c-10.4,0-20.18,4.05-27.54,11.41c-9.73,9.73-13.57,23.53-10.28,36.92c0.52,2.1,2.13,3.76,4.21,4.35c0.53,0.15,1.07,0.22,1.61,0.22%20c1.57,0,3.1-0.62,4.24-1.76l19.11-19.11l12.32,3.29l3.29,12.32l-19.1,19.1c-1.53,1.53-2.12,3.77-1.54,5.86%20c0.58,2.09,2.24,3.7,4.35,4.21c3.05,0.75,6.18,1.13,9.33,1.13c10.42,0,20.21-4.05,27.57-11.41c9.85-9.85,13.62-24.21,10.12-37.5%20l46.45-46.45c3.3,0.89,6.71,1.34,10.17,1.34c10.41,0,20.19-4.05,27.55-11.41c9.73-9.73,13.57-23.53,10.28-36.92%20c-0.52-2.1-2.13-3.76-4.21-4.35c-0.53-0.15-1.07-0.22-1.61-0.22c-1.57,0-3.1,0.62-4.24,1.76l-20.05,20.05l-12.32-3.29l-3.29-12.32%20l20.04-20.04c1.53-1.53,2.12-3.77,1.54-5.86c-0.58-2.09-2.24-3.7-4.35-4.21C217.77,75.37,214.63,74.99,211.49,74.99L211.49,74.99z'%20/%3e%3c/g%3e%3c/svg%3e", Oe = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23F2F2F2;}%20.st1{fill:%23999999;}%20.st2{fill:%23FFFFFF;}%20%3c/style%3e%3cg%3e%3cg%3e%3crect%20x='16.55'%20y='25.41'%20class='st0'%20width='71.91'%20height='162.72'/%3e%3cpath%20class='st1'%20d='M85.46,28.41v156.72H19.55V28.41H85.46%20M91.46,22.41H13.55v168.72h77.91V22.41L91.46,22.41z'/%3e%3c/g%3e%3cg%3e%3crect%20x='107.85'%20y='117.36'%20class='st0'%20width='71.91'%20height='70.69'/%3e%3cpath%20class='st1'%20d='M176.76,120.36v64.69h-65.91v-64.69H176.76%20M182.76,114.36h-77.91v76.69h77.91V114.36L182.76,114.36z'/%3e%3c/g%3e%3cg%3e%3crect%20x='107.85'%20y='25.41'%20class='st0'%20width='71.91'%20height='70.69'/%3e%3cpath%20class='st1'%20d='M176.76,28.41V93.1h-65.91V28.41H176.76%20M182.76,22.41h-77.91V99.1h77.91V22.41L182.76,22.41z'/%3e%3c/g%3e%3c/g%3e%3cg%3e%3cg%3e%3cpolygon%20points='113.92,194.6%20218.65,89.87%20250.41,121.63%20145.68,226.37%20102.35,237.93%20'/%3e%3cpath%20class='st2'%20d='M218.65,93.41l28.23,28.23L144.38,224.12l-38.5,10.28l10.28-38.5L218.65,93.41%20M218.65,86.34l-3.54,3.54%20L112.62,192.36l-0.95,0.95l-0.35,1.3l-10.28,38.5l-2.23,8.35l8.35-2.23l38.5-10.28l1.3-0.35l0.95-0.95l102.49-102.49l3.54-3.54%20l-3.54-3.54l-28.23-28.23L218.65,86.34L218.65,86.34z'/%3e%3c/g%3e%3crect%20x='114.87'%20y='207.76'%20transform='matrix(0.7071%20-0.7071%200.7071%200.7071%20-122.2861%20148.7723)'%20class='st2'%20width='7.14'%20height='28.48'/%3e%3crect%20x='213.99'%20y='101.59'%20transform='matrix(0.7071%20-0.7071%200.7071%200.7071%20-23.0711%20189.8685)'%20class='st2'%20width='7.34'%20height='42.38'/%3e%3c/g%3e%3c/svg%3e", ke = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23F2F2F2;}%20.st1{fill:%23999999;}%20.st2{fill:none;stroke:%23333333;stroke-width:18.8283;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%20.st3{fill:%23FF8D7F;}%20.st4{fill:%2398FF7F;}%20.st5{fill:%234A91FF;}%20%3c/style%3e%3cg%3e%3crect%20x='43.9'%20y='48'%20class='st0'%20width='71.9'%20height='162.7'/%3e%3cpath%20class='st1'%20d='M112.8,51v156.7H46.9V51H112.8%20M118.8,45H40.9v168.7h77.9L118.8,45L118.8,45z'/%3e%3c/g%3e%3cg%3e%3cpolyline%20class='st2'%20points='124.9,99.6%2097.1,127.5%20124.9,155.4%20'/%3e%3cline%20class='st2'%20x1='97.1'%20y1='127.5'%20x2='147.3'%20y2='127.5'/%3e%3c/g%3e%3ccircle%20class='st3'%20cx='187.7'%20cy='86.7'%20r='26'/%3e%3ccircle%20class='st4'%20cx='187.7'%20cy='127.5'%20r='26'/%3e%3ccircle%20class='st5'%20cx='187.7'%20cy='168.4'%20r='26'/%3e%3c/svg%3e", Ae = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23F2F2F2;}%20.st1{fill:%23999999;}%20.st2{fill:none;stroke:%23333333;stroke-width:18.8283;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;}%20.st3{fill:%23FF8D7F;}%20.st4{fill:%2398FF7F;}%20.st5{fill:%234A91FF;}%20%3c/style%3e%3cg%3e%3crect%20x='43.9'%20y='48'%20class='st0'%20width='71.9'%20height='162.7'/%3e%3cpath%20class='st1'%20d='M112.8,51v156.7H46.9V51H112.8%20M118.8,45H40.9v168.7h77.9V45L118.8,45z'/%3e%3c/g%3e%3cg%3e%3cpolyline%20class='st2'%20points='107.6,99.6%20135.4,127.5%20107.6,155.4%20'/%3e%3cline%20class='st2'%20x1='135.4'%20y1='127.5'%20x2='85.2'%20y2='127.5'/%3e%3c/g%3e%3ccircle%20class='st3'%20cx='187.7'%20cy='86.7'%20r='26'/%3e%3ccircle%20class='st4'%20cx='187.7'%20cy='127.5'%20r='26'/%3e%3ccircle%20class='st5'%20cx='187.7'%20cy='168.4'%20r='26'/%3e%3c/svg%3e", je = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23FF8D7F;}%20.st1{fill:%2398FF7F;}%20.st2{fill:%234A91FF;}%20.st3{fill:none;stroke:%23000000;stroke-width:12.8979;stroke-linecap:round;stroke-miterlimit:10;}%20%3c/style%3e%3ccircle%20class='st0'%20cx='127.9'%20cy='124.2'%20r='27.9'/%3e%3ccircle%20class='st1'%20cx='105.3'%20cy='162.7'%20r='27.9'/%3e%3ccircle%20class='st2'%20cx='149.7'%20cy='162.7'%20r='27.9'/%3e%3cpath%20class='st3'%20d='M48.1,126.9C64.4,98.5,94.8,81,127.5,81s63.1,17.5,79.4,45.9'/%3e%3cline%20class='st3'%20x1='127.9'%20y1='80'%20x2='127.9'%20y2='50.8'/%3e%3cline%20class='st3'%20x1='77.3'%20y1='96.2'%20x2='59.7'%20y2='72'/%3e%3cline%20class='st3'%20x1='177.7'%20y1='92.1'%20x2='195.3'%20y2='67.9'/%3e%3c/svg%3e", Me = "data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3c!--%20Generator:%20Adobe%20Illustrator%2028.0.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%206.00%20Build%200)%20--%3e%3csvg%20version='1.1'%20id='图层_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20x='0px'%20y='0px'%20viewBox='0%200%20255%20255'%20style='enable-background:new%200%200%20255%20255;'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%23999999;}%20.st1{fill:%234D4D4D;}%20.st2{fill:none;stroke:%23999999;stro