UNPKG

quick-admin-vue3-core

Version:

以快(计算机执行效率、开发效率)为核心的后台管理系统开发模板

1,596 lines (1,595 loc) 959 kB
import { getCurrentInstance as la, inject as tn, ref as gr, computed as Le, unref as ce, getCurrentScope as d4, onScopeDispose as ev, shallowRef as v0, watchEffect as rv, readonly as tv, onMounted as ha, nextTick as rn, watch as Nt, isRef as nv, warn as x4, provide as uu, defineComponent as Mt, createElementBlock as tt, openBlock as Xe, mergeProps as wo, renderSlot as wt, toRef as Eo, onUnmounted as p4, useAttrs as v4, useSlots as av, normalizeStyle as Ss, normalizeClass as Je, createCommentVNode as _r, Fragment as g0, createElementVNode as lt, createBlock as Sr, withCtx as qr, resolveDynamicComponent as vn, withModifiers as ps, createVNode as Yn, toDisplayString as jn, onBeforeUnmount as X0, Transition as hu, withDirectives as m0, createTextVNode as vo, vShow as _0, Text as g4, reactive as iv, h as m4, shallowReactive as _4, isVNode as Ds, render as yo, markRaw as Gl, toRefs as w4, resolveComponent as s0, withKeys as qf } from "vue"; import { o as sv, q as fv, w as ov, t as cv, u as lv, i as uv, x as E4, l as To, y as y4, z as T4 } from "./index-D-KS7NhM.js"; const f0 = "local", S4 = { setItem(e, t, r = 24) { const n = /* @__PURE__ */ new Date(); n.setTime(n.getTime() + r * 3600 * 1e3), document.cookie = `${e}=${t};expires=${n.toUTCString()}`; }, getItem(e) { const t = document.cookie.split(";"); let r = null; for (let n = 0; n < t.length; n++) { const a = t[n].split("="); if (e == a[0]) { r = a[1]; break; } } return r; }, removeItem(e) { const t = /* @__PURE__ */ new Date(); t.setTime(t.getTime() - 1e3), document.cookie = `${e}=0;expires=${t.toUTCString()}`; }, clear() { const e = document.cookie.match(/[^ =;]+(?=\=)/g); if (e) for (let t = e.length; t--; ) document.cookie = `${e[t]}=0;expires=${(/* @__PURE__ */ new Date(0)).toUTCString()}`; } }, o0 = { cookieStorage: S4, localStorage, sessionStorage }; function k4(e) { if (e === null) return null; if (e !== "undefined") return e === "false" ? !1 : e === "true" ? !0 : e != null && e.startsWith("{") || e != null && e.startsWith("[") ? JSON.parse(e) : e; } const A4 = { /** * 存数据 * @param {string} key 要存储数据的键名 * @param {any} val 要存储的数据值 * @param {StorageType} type 存储类型:local, session, cookie * @param {number} hours cookie的过期时间,只有当type为cookie时,才会用到这个参数 */ setItem(e, t, r = f0, n) { var a, s; return typeof t == "object" && (t = JSON.stringify(t)), (s = (a = o0[r + "Storage"]) == null ? void 0 : a.setItem) == null ? void 0 : s.call(a, e, t, n); }, /** * 取数据 * @param {string} key 要取数据的键名 * @param {StorageType} type 存储类型:local, session, cookie * @param {function} transfer 值转换处理规则 */ getItem(e, t = f0, r = k4) { var n, a; return r((a = (n = o0[t + "Storage"]) == null ? void 0 : n.getItem) == null ? void 0 : a.call(n, e)); }, /** * 删除指定键名对应的数据 * @param {string} key 要删除数据的键名 * @param {StorageType} type 删除类型:local, session, cookie */ removeItem(e, t = f0) { var r, n; (n = (r = o0[t + "Storage"]) == null ? void 0 : r.removeItem) == null || n.call(r, e); }, /** * 删除所有存储数据 * @param {StorageType} type */ clear(e = f0) { var t, r; (r = (t = o0[e + "Storage"]) == null ? void 0 : t.clear) == null || r.call(t); }, /** * 获取所有存储的键名 * @param {StorageType} type */ getKeys(e = f0) { const t = o0[e + "Storage"]; return t ? Object.keys(t) : []; } }, f9 = process.env.NODE_ENV === "production", o9 = process.env.NODE_ENV === "development", Tl = ",", So = ["", null, void 0]; var ls = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function hv(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } function c9(e) { if (e.__esModule) return e; var t = e.default; if (typeof t == "function") { var r = function n() { return this instanceof n ? Reflect.construct(t, arguments, this.constructor) : t.apply(this, arguments); }; r.prototype = t.prototype; } else r = {}; return Object.defineProperty(r, "__esModule", { value: !0 }), Object.keys(e).forEach(function(n) { var a = Object.getOwnPropertyDescriptor(e, n); Object.defineProperty(r, n, a.get ? a : { enumerable: !0, get: function() { return e[n]; } }); }), r; } var dv = { exports: {} }; (function(e, t) { (function(r, n) { e.exports = n(); })(ls, function() { var r = 1e3, n = 6e4, a = 36e5, s = "millisecond", f = "second", c = "minute", l = "hour", h = "day", d = "week", x = "month", m = "quarter", _ = "year", g = "date", v = "Invalid Date", w = /^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/, k = /\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g, I = { name: "en", weekdays: "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"), months: "January_February_March_April_May_June_July_August_September_October_November_December".split("_"), ordinal: function(he) { var ae = ["th", "st", "nd", "rd"], Z = he % 100; return "[" + he + (ae[(Z - 20) % 10] || ae[Z] || ae[0]) + "]"; } }, T = function(he, ae, Z) { var te = String(he); return !te || te.length >= ae ? he : "" + Array(ae + 1 - te.length).join(Z) + he; }, U = { s: T, z: function(he) { var ae = -he.utcOffset(), Z = Math.abs(ae), te = Math.floor(Z / 60), de = Z % 60; return (ae <= 0 ? "+" : "-") + T(te, 2, "0") + ":" + T(de, 2, "0"); }, m: function he(ae, Z) { if (ae.date() < Z.date()) return -he(Z, ae); var te = 12 * (Z.year() - ae.year()) + (Z.month() - ae.month()), de = ae.clone().add(te, x), K = Z - de < 0, we = ae.clone().add(te + (K ? -1 : 1), x); return +(-(te + (Z - de) / (K ? de - we : we - de)) || 0); }, a: function(he) { return he < 0 ? Math.ceil(he) || 0 : Math.floor(he); }, p: function(he) { return { M: x, y: _, w: d, d: h, D: g, h: l, m: c, s: f, ms: s, Q: m }[he] || String(he || "").toLowerCase().replace(/s$/, ""); }, u: function(he) { return he === void 0; } }, V = "en", M = {}; M[V] = I; var F = "$isDayjsObject", Y = function(he) { return he instanceof X || !(!he || !he[F]); }, H = function he(ae, Z, te) { var de; if (!ae) return V; if (typeof ae == "string") { var K = ae.toLowerCase(); M[K] && (de = K), Z && (M[K] = Z, de = K); var we = ae.split("-"); if (!de && we.length > 1) return he(we[0]); } else { var Ae = ae.name; M[Ae] = ae, de = Ae; } return !te && de && (V = de), de || !te && V; }, Q = function(he, ae) { if (Y(he)) return he.clone(); var Z = typeof ae == "object" ? ae : {}; return Z.date = he, Z.args = arguments, new X(Z); }, j = U; j.l = H, j.i = Y, j.w = function(he, ae) { return Q(he, { locale: ae.$L, utc: ae.$u, x: ae.$x, $offset: ae.$offset }); }; var X = function() { function he(Z) { this.$L = H(Z.locale, null, !0), this.parse(Z), this.$x = this.$x || Z.x || {}, this[F] = !0; } var ae = he.prototype; return ae.parse = function(Z) { this.$d = function(te) { var de = te.date, K = te.utc; if (de === null) return /* @__PURE__ */ new Date(NaN); if (j.u(de)) return /* @__PURE__ */ new Date(); if (de instanceof Date) return new Date(de); if (typeof de == "string" && !/Z$/i.test(de)) { var we = de.match(w); if (we) { var Ae = we[2] - 1 || 0, D = (we[7] || "0").substring(0, 3); return K ? new Date(Date.UTC(we[1], Ae, we[3] || 1, we[4] || 0, we[5] || 0, we[6] || 0, D)) : new Date(we[1], Ae, we[3] || 1, we[4] || 0, we[5] || 0, we[6] || 0, D); } } return new Date(de); }(Z), this.init(); }, ae.init = function() { var Z = this.$d; this.$y = Z.getFullYear(), this.$M = Z.getMonth(), this.$D = Z.getDate(), this.$W = Z.getDay(), this.$H = Z.getHours(), this.$m = Z.getMinutes(), this.$s = Z.getSeconds(), this.$ms = Z.getMilliseconds(); }, ae.$utils = function() { return j; }, ae.isValid = function() { return this.$d.toString() !== v; }, ae.isSame = function(Z, te) { var de = Q(Z); return this.startOf(te) <= de && de <= this.endOf(te); }, ae.isAfter = function(Z, te) { return Q(Z) < this.startOf(te); }, ae.isBefore = function(Z, te) { return this.endOf(te) < Q(Z); }, ae.$g = function(Z, te, de) { return j.u(Z) ? this[te] : this.set(de, Z); }, ae.unix = function() { return Math.floor(this.valueOf() / 1e3); }, ae.valueOf = function() { return this.$d.getTime(); }, ae.startOf = function(Z, te) { var de = this, K = !!j.u(te) || te, we = j.p(Z), Ae = function(me, xe) { var Be = j.w(de.$u ? Date.UTC(de.$y, xe, me) : new Date(de.$y, xe, me), de); return K ? Be : Be.endOf(h); }, D = function(me, xe) { return j.w(de.toDate()[me].apply(de.toDate("s"), (K ? [0, 0, 0, 0] : [23, 59, 59, 999]).slice(xe)), de); }, G = this.$W, B = this.$M, W = this.$D, fe = "set" + (this.$u ? "UTC" : ""); switch (we) { case _: return K ? Ae(1, 0) : Ae(31, 11); case x: return K ? Ae(1, B) : Ae(0, B + 1); case d: var Te = this.$locale().weekStart || 0, ye = (G < Te ? G + 7 : G) - Te; return Ae(K ? W - ye : W + (6 - ye), B); case h: case g: return D(fe + "Hours", 0); case l: return D(fe + "Minutes", 1); case c: return D(fe + "Seconds", 2); case f: return D(fe + "Milliseconds", 3); default: return this.clone(); } }, ae.endOf = function(Z) { return this.startOf(Z, !1); }, ae.$set = function(Z, te) { var de, K = j.p(Z), we = "set" + (this.$u ? "UTC" : ""), Ae = (de = {}, de[h] = we + "Date", de[g] = we + "Date", de[x] = we + "Month", de[_] = we + "FullYear", de[l] = we + "Hours", de[c] = we + "Minutes", de[f] = we + "Seconds", de[s] = we + "Milliseconds", de)[K], D = K === h ? this.$D + (te - this.$W) : te; if (K === x || K === _) { var G = this.clone().set(g, 1); G.$d[Ae](D), G.init(), this.$d = G.set(g, Math.min(this.$D, G.daysInMonth())).$d; } else Ae && this.$d[Ae](D); return this.init(), this; }, ae.set = function(Z, te) { return this.clone().$set(Z, te); }, ae.get = function(Z) { return this[j.p(Z)](); }, ae.add = function(Z, te) { var de, K = this; Z = Number(Z); var we = j.p(te), Ae = function(B) { var W = Q(K); return j.w(W.date(W.date() + Math.round(B * Z)), K); }; if (we === x) return this.set(x, this.$M + Z); if (we === _) return this.set(_, this.$y + Z); if (we === h) return Ae(1); if (we === d) return Ae(7); var D = (de = {}, de[c] = n, de[l] = a, de[f] = r, de)[we] || 1, G = this.$d.getTime() + Z * D; return j.w(G, this); }, ae.subtract = function(Z, te) { return this.add(-1 * Z, te); }, ae.format = function(Z) { var te = this, de = this.$locale(); if (!this.isValid()) return de.invalidDate || v; var K = Z || "YYYY-MM-DDTHH:mm:ssZ", we = j.z(this), Ae = this.$H, D = this.$m, G = this.$M, B = de.weekdays, W = de.months, fe = de.meridiem, Te = function(xe, Be, P, cr) { return xe && (xe[Be] || xe(te, K)) || P[Be].slice(0, cr); }, ye = function(xe) { return j.s(Ae % 12 || 12, xe, "0"); }, me = fe || function(xe, Be, P) { var cr = xe < 12 ? "AM" : "PM"; return P ? cr.toLowerCase() : cr; }; return K.replace(k, function(xe, Be) { return Be || function(P) { switch (P) { case "YY": return String(te.$y).slice(-2); case "YYYY": return j.s(te.$y, 4, "0"); case "M": return G + 1; case "MM": return j.s(G + 1, 2, "0"); case "MMM": return Te(de.monthsShort, G, W, 3); case "MMMM": return Te(W, G); case "D": return te.$D; case "DD": return j.s(te.$D, 2, "0"); case "d": return String(te.$W); case "dd": return Te(de.weekdaysMin, te.$W, B, 2); case "ddd": return Te(de.weekdaysShort, te.$W, B, 3); case "dddd": return B[te.$W]; case "H": return String(Ae); case "HH": return j.s(Ae, 2, "0"); case "h": return ye(1); case "hh": return ye(2); case "a": return me(Ae, D, !0); case "A": return me(Ae, D, !1); case "m": return String(D); case "mm": return j.s(D, 2, "0"); case "s": return String(te.$s); case "ss": return j.s(te.$s, 2, "0"); case "SSS": return j.s(te.$ms, 3, "0"); case "Z": return we; } return null; }(xe) || we.replace(":", ""); }); }, ae.utcOffset = function() { return 15 * -Math.round(this.$d.getTimezoneOffset() / 15); }, ae.diff = function(Z, te, de) { var K, we = this, Ae = j.p(te), D = Q(Z), G = (D.utcOffset() - this.utcOffset()) * n, B = this - D, W = function() { return j.m(we, D); }; switch (Ae) { case _: K = W() / 12; break; case x: K = W(); break; case m: K = W() / 3; break; case d: K = (B - G) / 6048e5; break; case h: K = (B - G) / 864e5; break; case l: K = B / a; break; case c: K = B / n; break; case f: K = B / r; break; default: K = B; } return de ? K : j.a(K); }, ae.daysInMonth = function() { return this.endOf(x).$D; }, ae.$locale = function() { return M[this.$L]; }, ae.locale = function(Z, te) { if (!Z) return this.$L; var de = this.clone(), K = H(Z, te, !0); return K && (de.$L = K), de; }, ae.clone = function() { return j.w(this.$d, this); }, ae.toDate = function() { return new Date(this.valueOf()); }, ae.toJSON = function() { return this.isValid() ? this.toISOString() : null; }, ae.toISOString = function() { return this.$d.toISOString(); }, ae.toString = function() { return this.$d.toUTCString(); }, he; }(), ge = X.prototype; return Q.prototype = ge, [["$ms", s], ["$s", f], ["$m", c], ["$H", l], ["$W", h], ["$M", x], ["$y", _], ["$D", g]].forEach(function(he) { ge[he[1]] = function(ae) { return this.$g(ae, he[0], he[1]); }; }), Q.extend = function(he, ae) { return he.$i || (he(ae, X, Q), he.$i = !0), Q; }, Q.locale = H, Q.isDayjs = Y, Q.unix = function(he) { return Q(1e3 * he); }, Q.en = M[V], Q.Ls = M, Q.p = {}, Q; }); })(dv); var F4 = dv.exports; const b4 = /* @__PURE__ */ hv(F4), C4 = "var(--dialog-top)", I4 = "var(--nav-bg-dark)", O4 = "var(--nav-bg-light)", D4 = "var(--nav-text-color-light)", R4 = "var(--nav-text-color-dark)", N4 = "var(--color-primary)", P4 = "var(--color-danger)", L4 = "var(--color-info)", M4 = "var(--color-success)", B4 = "var(--color-warning)", U4 = "color-mix(in srgb, var(--color-primary) 10%, #ffffff 90%)", W4 = "var(--color-bg-white)", H4 = "var(--radius-main)", $4 = { dialogTop: C4, navBgDark: I4, "navBgDark-heavy": "var(--nav-bg-dark-heavy)", navBgLight: O4, navTextColorLight: D4, navTextColorDark: R4, colorPrimary: N4, colorDanger: P4, colorInfo: L4, colorSuccess: M4, colorWarning: B4, colorBgLight: U4, colorBgWhite: W4, radiusMain: H4 }, us = $4; function Ud(e) { var a; const t = (a = a9()) == null ? void 0 : a.role; let r; return e.some((s) => { if (typeof s == "number") return s === t; const f = s.code === t; return f && (r = s.type), f; }) !== void 0 ? r || !0 : !1; } const fi = { // 是否启用mock服务 // regexp: {}, // 正则表单式 // 路径配置 // paths: { // home: "/", // 首页路径 // noAuth: ["/login"], // 不需要授权就能进入的路径 // }, // 日期(el-date-picker的一些预配置项) // date: { // // 格式化 // format: { // tableCol: "YYYY-MM-DD HH:mm:ss", // }, // // 有效期 // valid: { // login: 24 * 60 * 60 * 1000, // dict: 24 * 60 * 60 * 1000, // }, // }, // // 系统设置 system: { size: "small" // emptyStr: "-", // rangeJoinChar: "~", // // 布局 // layout: {}, // // 主题 // theme: { // name: "orange", // }, }, // // 性能 // performance: { // enableTpl: true, // enableOptimize: false, // }, // ElementPlus(覆盖element-plus组件的默认属性) // element: { // // el-dialog 的属性 // dialog: {}, // // el-drawer 的属性 // drawer: {}, // // el-tooltip 的属性 // tooltip: {}, // // el-popover 弹出层 // popover: {}, // // el-popconfirm 弹出层 // popconfirm: {}, // // el-form 的属性 // form: {}, // // el-table的属性 // table: {}, // // el-table-column 的属性 // tableColumn: {}, // // el-pagination 的属性 // pagination: {}, // // el-date-picker 的属性 // datePicker: { // // 快捷选项 // // defaultTime: [], // // shortcuts: { // // date: [], // // dateRange: [], // // }, // }, // }, // // 弹窗 // popup: { // defaultType: "dialog", // 默认弹窗类型 // }, // 模板 tpls: { // formItem: () => ({}), tableCol: { //创建列 // T_Create: { // prop: "create_time", // label: "创建时间", // minWidth: 170, // type: 'UserTime', // attrs:{ // userProp: 'create_user', // timeProp: 'create_time' // } // }, // //修改列 // T_Update: { // prop: "update_time", // label: "修改时间", // minWidth: 170, // type: 'UserTime', // attrs:{ // userProp: 'update_user', // timeProp: 'update_time' // } // }, // //switch开关 // T_Switch: { // prop: "status", // label: "启用状态", // minWidth: 90, // attrs: { // activeValue: 0, // inactiveValue: 1, // activeText: "启用", // inactiveText: "禁用", // inlinePrompt: true, // // onChange() { // // ElMessage.warning("暂未处理【启用/禁用】事件"); // // }, // }, // }, // //是否启用 状态 // T_BaseTag: { // prop: "status", // label: "状态", // minWidth: 100, // attrs: { name: "D_EnableStatus" }, // }, // //图片 // T_BaseImg: { // prop: "imgUrl", // label: "图片", // minWidth: 146, // attrs: { size: "120" }, // }, //文本复制 // T_BaseCopy: {}, //用户信息 T_UserInfo: { prop: "user_data", label: "用户信息", type: "UserInfo", // minWidth: 280, // 450/280 fixed: "left", getInferredAttrs(e) { var n; const t = (n = e == null ? void 0 : e.attrs) == null ? void 0 : n.simple; return { width: { large: t ? 280 : 520, default: t ? 230 : 450, small: t ? 170 : 410 }[G4] }; } } }, baseBtns: { // auth 权限说明 0开发者 1超级管理员 2普通管理员 3超级VIP 4普通VIP 5特殊用户 6普通用户 // 注:未配置, 空数组,满数组,undefined,null 均为所有角色均有权限,type为disabled时,按钮可见,但是呈禁用状态 add: { auth: [0, 1, 2, { code: 4, type: "disabled" }, { code: 5, type: "disabled" }] }, edit: { auth: [0, 1, 2, { code: 4, type: "disabled" }, { code: 5, type: "disabled" }] }, delete: { auth: [0, 1, 2, { code: 4, type: "disabled" }, { code: 5, type: "disabled" }] }, pass: { auth: [0, 1, 2, { code: 4, type: "disabled" }, { code: 5, type: "disabled" }] }, reject: { auth: [0, 1, 2, { code: 4, type: "disabled" }, { code: 5, type: "disabled" }] }, repeal: { auth: [0, 1, 2, { code: 4, type: "disabled" }, { code: 5, type: "disabled" }] }, import: { auth: [0, 1, 2, { code: 4, type: "disabled" }, { code: 5, type: "disabled" }] }, // export: { auth: [] }, upload: { auth: [0, 1, 2, { code: 4, type: "disabled" }, 5] }, download: { auth: [] }, enable: { auth: [0, 1, 2, { code: 4, type: "disabled" }, 5] }, forbid: { auth: [0, 1, 2, { code: 4, type: "disabled" }, 5] }, audit: { auth: [0, 1, 2, { code: 4, type: "disabled" }, 5] }, view: { auth: void 0 }, submit: { auth: [0, 1, 2, 3, 4, 5, 6] }, reset: { auth: [] }, log: { auth: null } } }, // 表单项组件 // FormItem: {}, // 表格列组件 // Column: {}, // 分页组件 // Pagination: {}, // OperateBtns: { // max: 3, // }, // 基础增删改查组件 BaseCrud: { Index: { // immediate: true, // changeFetch: true, // log: isLog, // omits: true, // inputDebounce: true, // exportLimit: 10000, // pagination: () => ({ currPage: 1, pageSize: 20 }), // reqResMap: { // curr_page: "page", // page_size: "pageSize", // }, // handleAuth: (auth: number[]) => auth.includes(getUserInfo()?.role), handleAuth: Ud //跟下面的size small 搭配使用 // grid: () => ({ // xs: 12, // sm: 12, // md: 8, // lg: 4, // xl: 3, // }), // size: isSmall ? "small" : undefined, } // ExtraBtns: undefined, // BatchBtns: undefined, // OperateBtns: undefined, // Pagination: undefined, // QueryForm: { // gridAttrsMap: {}, // }, // QueryTable: undefined, // SetPrint: undefined, // SetTable: undefined, }, // 基础表单组件 // BaseForm: { // Index: { // log: isLog, // }, // }, // 分块表单组件 // SectionForm: { // Index: { // log: isLog, // }, // }, // 基础图标组件 // BaseIcon: { // name: "ElemeFilled", // }, // 基础按钮组件 BaseBtn: { handleAuth: Ud } // 基础上传组件 // BaseUpload: { // // size: 100, // // fit: "cover", // // showFileList: false, // // showTips: true, // // accept: "image/png,image/jpg,image/jpeg", // // limitSize: 1024 * 1024 * 10, //10M // // headers: () => ({ "X-Token": storage.getItem("token") }), // // action: `${isProd ? "" : "/proxy"}/api/admin/upload/image`, // // handleSuccessResponse: (res: CommonObj, upFile: CommonObj) => { // // return new Promise((resolve, reject) => { // // const { code, message, data } = res; // // if (code === 2000) { // // resolve(data.fullUrl); // // } else { // // reject(message); // // } // // }); // // }, // }, }, { regexp: V4, popup: Sl, date: Fa, element: Nn, paths: ms, system: zt, performance: _s } = fi, l9 = (_s == null ? void 0 : _s.enableTpl) ?? !0, u9 = (_s == null ? void 0 : _s.enableOptimize) ?? !1, z4 = (ms == null ? void 0 : ms.noAuth) ?? ["/login"], h9 = (ms == null ? void 0 : ms.home) ?? "/", G4 = zt == null ? void 0 : zt.size, ks = (zt == null ? void 0 : zt.emptyStr) ?? "-"; var Up; (Up = zt == null ? void 0 : zt.theme) == null || Up.name; var Wp; (Wp = zt == null ? void 0 : zt.layout) == null || Wp.type; const Wd = (zt == null ? void 0 : zt.rangeJoinChar) ?? "~"; var Hp; const d9 = ((Hp = Fa == null ? void 0 : Fa.valid) == null ? void 0 : Hp.login) ?? 24 * 60 * 60 * 1e3; var $p; (($p = Fa == null ? void 0 : Fa.valid) == null ? void 0 : $p.dict) ?? 24 * 60 * 60 * 1e3; var Vp; const x9 = ((Vp = Fa == null ? void 0 : Fa.format) == null ? void 0 : Vp.tableCol) ?? "YYYY-MM-DD HH:mm:ss"; Sl == null || Sl.defaultType; var zp; const p9 = ((zp = fi.OperateBtns) == null ? void 0 : zp.max) ?? 3, v9 = "input"; var Gp; const g9 = ((Gp = fi.BaseIcon) == null ? void 0 : Gp.name) ?? "ElemeFilled"; var Xp, Kp; const m9 = Object.assign( { curr_page: "curr_page", page_size: "page_size", total_num: "total_num", has_more: "has_more", records: "records" }, (Kp = (Xp = fi.BaseCrud) == null ? void 0 : Xp.Index) == null ? void 0 : Kp.reqResMap ), _9 = Object.assign({ showAfter: 500 }, Nn == null ? void 0 : Nn.tooltip), Jf = Object.assign( { // placement: "top", // title: "Title", // width: 300, // trigger: "hover", // content: "自定义提示内容", width: "fit-content", showAfter: 500 }, Nn == null ? void 0 : Nn.popover ); Object.assign( { width: "fit-content", style: "max-width: 94vw;min-width:200px;overflow:hidden;", closeOnClickModal: !1, appendToBody: !0, destroyOnClose: !0, // 当关闭 Dialog 时,销毁其中的元素 draggable: !0 }, Nn == null ? void 0 : Nn.dialog ); Object.assign( { size: "none", style: "max-width: 94vw;min-width:200px;", closeOnClickModal: !1, appendToBody: !0, destroyOnClose: !0 // 是否在关闭 Drawer 之后将子元素全部销毁 }, Nn == null ? void 0 : Nn.drawer ); const vs = Object.assign( { onlyNum: /^[0-9.]+$/, //只匹配数字,至少一位,123或"123"均可 lowerChar: /[a-z]+/, //小写字母 //移动电话(中国,宽松):只要是13,14,15,16,17,18,19开头即可 phone: /^(?:(?:\+|00)86)?1[3-9]\d{9}$/, // 身份证号, 支持1/2代(15位/18位数字) identity: /^\d{6}((((((19|20)\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|(((19|20)\d{2})(0[13578]|1[02])31)|((19|20)\d{2})02(0[1-9]|1\d|2[0-8])|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))0229))\d{3})|((((\d{2})(0[13-9]|1[012])(0[1-9]|[12]\d|30))|((\d{2})(0[13578]|1[02])31)|((\d{2})02(0[1-9]|1\d|2[0-8]))|(([13579][26]|[2468][048]|0[048])0229))\d{2}))(\d|X|x)$/, // 身份证号(1代,15位数字) identity_1: /^[1-9]\d{7}(?:0\d|10|11|12)(?:0[1-9]|[1-2][\d]|30|31)\d{3}$/, // 身份证号(2代,18位数字),最后一位是校验位,可能为数字或字符X identity_2: /^[1-9]\d{5}(?:18|19|20)\d{2}(?:0[1-9]|10|11|12)(?:0[1-9]|[1-2]\d|30|31)\d{3}[\dXx]$/, // 邮箱 email: /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, // 密码: 6-16位字母和数字组合 password: /^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$/, // 银行卡号 creditCard: /^[1-9]\d{9,29}$/, // url地址 url: /^(((ht|f)tps?):\/\/)?([^!@#$%^&*?.\s-]([^!@#$%^&*?.\s]{0,63}[^!@#$%^&*?.\s])?\.)+[a-z]{2,6}\/?/ }, V4 ); var Yp, jp, qp; const Hd = ((qp = (jp = (Yp = fi.element) == null ? void 0 : Yp.datePicker) == null ? void 0 : jp.shortcuts) == null ? void 0 : qp.dateRange) ?? [ { text: "近一周", value: () => { const e = /* @__PURE__ */ new Date(), t = /* @__PURE__ */ new Date(); return t.setTime(t.getTime() - 3600 * 1e3 * 24 * 7), [t, e]; } }, { text: "近一个月", value: () => { const e = /* @__PURE__ */ new Date(), t = /* @__PURE__ */ new Date(); return t.setTime(t.getTime() - 3600 * 1e3 * 24 * 30), [t, e]; } }, { text: "近三个月", value: () => { const e = /* @__PURE__ */ new Date(), t = /* @__PURE__ */ new Date(); return t.setTime(t.getTime() - 3600 * 1e3 * 24 * 90), [t, e]; } } ]; var Jp, Zp; const $d = ((Zp = (Jp = fi.element) == null ? void 0 : Jp.datePicker) == null ? void 0 : Zp.defaultTime) ?? [new Date(2e3, 1, 1, 0, 0, 0), new Date(2e3, 2, 1, 23, 59, 59)], X4 = { daterange: { text: "日期", attrs: { shortcuts: Hd, defaultTime: $d // 范围选择时选中日期所使用的当日内具体时刻 // defaultValue: [], //选择器打开时默认显示的时间 } }, datetimerange: { text: "时间", attrs: { shortcuts: Hd, defaultTime: $d } }, monthrange: { text: "月份", attrs: {} } }; var Qp; const w9 = Object.assign( { input: { attrs: { placeholder: "请输入${label}", clearable: !0, showWordLimit: !0 } }, select: { attrs: { clearable: !0, tagType: "primary", // 用户标签类型 success/info/warning/danger/primary loadingText: "玩命加载中……", getInferredAttrs(e) { var t; return { placeholder: (t = e.attrs) != null && t.remote ? "请输入关键字搜索${label}" : "请选择${label}" }; } } }, "tree-select": { attrs: { placeholder: "请选择${label}", clearable: !0 } }, cascader: { attrs: { placeholder: "请选择${label}", clearable: !0 } }, "date-picker": { attrs: { type: "daterange", // 'year' | 'years' |'month' | 'months' | 'date' | 'dates' | 'datetime' | 'week' | 'datetimerange' | 'daterange' | 'monthrange'| 'yearrange' rangeSeparator: Wd, format: "YYYY-MM-DD", // 显示在输入框中的格式。 valueFormat: "YYYY-MM-DD", // 绑定值的格式。不指定则绑定值为 Date 对象。 placeholder: "请选择${label}", clearable: !0, getInferredAttrs(e) { const { attrs: t = {} } = e, { type: r, format: n } = t, a = {}; n != null && n.includes(" ") && (a.type = "datetimerange"); const s = a.type ?? r; if (!s.endsWith("range")) return a; const { text: f, attrs: c } = X4[s]; return a.startPlaceholder = `开始${f}`, a.endPlaceholder = `结束${f}`, Object.assign(a, c), a; } } }, "time-picker": { attrs: { format: "HH:mm:ss", //显示在输入框中的格式 valueFormat: "HH:mm:ss", //绑定值的格式。 不指定则绑定值为 Date 对象 placeholder: "请选择${label}", rangeSeparator: Wd, clearable: !0 } }, "time-select": { attrs: { placeholder: "请选择${label}", clearable: !0 } }, switch: { attrs: { activeValue: 1, inactiveValue: 0, activeText: "启用", inactiveText: "禁用", inlinePrompt: !0 }, quickAttrs: { middleFlexGrow: 0 } }, checkbox: { quickAttrs: { middleFlexGrow: 0 } }, "checkbox-group": { attrs: { options: [] // [{ label: "多选项1" }] }, quickAttrs: { middleFlexGrow: 0 } }, "radio-group": { attrs: { options: [], // [{ label: "单选项-error" }] type: "button" }, quickAttrs: { middleFlexGrow: 0 } }, "input-number": { attrs: { placeholder: "${label}" // getInferredAttrs(field: FormFieldAttrs) { // const { style = {} } = field.attrs; // const { before, after } = field; // if ((before || after) && !style.width) { // style.flex = 1; // return style; // } // }, }, quickAttrs: { middleFlexGrow: 0 } }, // slider: { // attrs: { // // showInput: false, // }, // }, autocomplete: { attrs: { placeholder: "请输入${label}", // maxlength: 30, clearable: !0, showWordLimit: !0, fetchSuggestions(e, t) { t([{ label: e, value: e }]); } // onSelect(item: CommonObj) { // console.log(item); // }, } }, BaseNumberRange: { attrs: {} }, BaseUpload: { quickAttrs: { middleFlexGrow: 0 } } // BaseEditor: { // attrs: { }, // }, }, (Qp = fi.tpls) == null ? void 0 : Qp.formItem ); function Vd(e = "common") { var r, n; const t = e === "query"; return { /***** 文本类 *****/ // id T_Id: { prop: "id", label: "ID", attrs: { maxlength: 10 } }, // 用户姓名 T_UserName: { label: "姓名", attrs: {} }, // 备注 T_Remark: { // prop: "remark", // 省略不写,则和键名保持一致 label: "备注", type: "input", attrs: { type: t ? void 0 : "textarea", maxlength: 50 } }, /***** 日期时间类 *****/ // 创建时间 T_CreateTime: { prop: "create_time", label: "创建时间", type: "date-picker", attrs: { type: t ? "datetimerange" : "datetime" } }, /***** 表单校验类 *****/ //电话号码 T_Phone: { // prop: "phone", // 省略不写,则和键名保持一致 label: "电话", rules: t ? void 0 : [{ pattern: vs.phone, message: "请输入11位合法的电话号码" }], attrs: { maxlength: 11 } }, //密码 T_Password: { label: "密码", ...t ? { attrs: { maxlength: 16 } } : { rules: [ { min: 6, message: "密码长度不能小于6位" }, { pattern: vs.password, message: "请输入正确的6~16位字母 + 数字组合密码" } ], attrs: { type: "password", maxlength: 16, showPassword: !0 } } }, //15~18位身份证号 T_Identity: { label: "身份证号", rules: t ? void 0 : [ { min: 15, message: "身份证号长度不能小于15位" }, { pattern: vs.identity, message: "请输入正确的15~18位身份证号" } ], attrs: { maxlength: 18 } }, //邮箱 T_Email: { label: "邮箱", rules: t ? void 0 : [{ pattern: vs.email, message: "请输入正确的邮箱地址" }] }, /***** 数值类 *****/ T_Number: { label: "数值", type: "input", rules: [{ type: "number", message: "必须为数字" }], attrs: { type: "number" // max: 99999, // maxlength: 6, } }, //年龄 T_Age: { label: "年龄", ...t ? { type: "BaseNumberRange", attrs: { min: 0, max: 150 } } : { type: "input-number", attrs: { min: 0, max: 150, slots: { suffix: "岁" } } } }, // 数量 T_Amount: { label: "数量", ...t ? { type: "BaseNumberRange", attrs: { min: 0, max: 100 } } : { type: "input-number", attrs: { min: 0, max: 100, slots: { suffix: "个" } } } }, // 人民币:最小值为0,保留两位小数 T_Price: { prop: "price", label: "价格", ...t ? { type: "BaseNumberRange", attrs: { min: 0, max: 99999, precision: 2 } } : { type: "input-number", attrs: { min: 0, max: 99999, precision: 2, step: 0.1, controlsPosition: "right", slots: { suffix: "¥" // 单位:元、¥ } } } }, /***** 开关类 *****/ // 是否开关 T_YesNoStatus: { prop: "is", label: "是否", ...t ? { type: "select", attrs: { options: "D_YesNoStatus" } } : { type: "switch", attrs: { activeText: "是", inactiveText: "否" } } }, // 是否禁用下拉项 T_EnableStatus: { prop: "status", label: "启用状态", ...t ? { type: "select", attrs: { options: "D_EnableStatus" } } : { type: "switch", attrs: { activeText: "启用", inactiveText: "禁用" } } }, /***** 枚举类 *****/ // 性别 T_Gender: { label: "性别", type: t ? "select" : "radio-group", attrs: { options: "D_Gender" } }, /***** 级联类 *****/ // 行政地址 T_Region: { label: "地址", type: "cascader", attrs: { options: "C_Region" } }, ...(n = (r = fi.tpls) == null ? void 0 : r.formItem) == null ? void 0 : n.call(r, e) }; } const K4 = { common: Vd("common"), // 常规表单(新增/编辑表单、分块表单)表单项字段模板 query: Vd("query") // 查询表单的表单项模板 }; /*! xlsx.js (C) 2013-present SheetJS -- http://sheetjs.com */ var ko = {}; ko.version = "0.18.5"; var xv = 1252, Y4 = [874, 932, 936, 949, 950, 1250, 1251, 1252, 1253, 1254, 1255, 1256, 1257, 1258, 1e4], du = { /*::[*/ 0: 1252, /* ANSI */ /*::[*/ 1: 65001, /* DEFAULT */ /*::[*/ 2: 65001, /* SYMBOL */ /*::[*/ 77: 1e4, /* MAC */ /*::[*/ 128: 932, /* SHIFTJIS */ /*::[*/ 129: 949, /* HANGUL */ /*::[*/ 130: 1361, /* JOHAB */ /*::[*/ 134: 936, /* GB2312 */ /*::[*/ 136: 950, /* CHINESEBIG5 */ /*::[*/ 161: 1253, /* GREEK */ /*::[*/ 162: 1254, /* TURKISH */ /*::[*/ 163: 1258, /* VIETNAMESE */ /*::[*/ 177: 1255, /* HEBREW */ /*::[*/ 178: 1256, /* ARABIC */ /*::[*/ 186: 1257, /* BALTIC */ /*::[*/ 204: 1251, /* RUSSIAN */ /*::[*/ 222: 874, /* THAI */ /*::[*/ 238: 1250, /* EASTEUROPE */ /*::[*/ 255: 1252, /* OEM */ /*::[*/ 69: 6969 /* MISC */ }, xu = function(e) { Y4.indexOf(e) != -1 && (xv = du[0] = e); }; function j4() { xu(1252); } var qn = function(e) { xu(e); }; function pu() { qn(1200), j4(); } function zd(e) { for (var t = [], r = 0, n = e.length; r < n; ++r) t[r] = e.charCodeAt(r); return t; } function q4(e) { for (var t = [], r = 0; r < e.length >> 1; ++r) t[r] = String.fromCharCode(e.charCodeAt(2 * r) + (e.charCodeAt(2 * r + 1) << 8)); return t.join(""); } function pv(e) { for (var t = [], r = 0; r < e.length >> 1; ++r) t[r] = String.fromCharCode(e.charCodeAt(2 * r + 1) + (e.charCodeAt(2 * r) << 8)); return t.join(""); } var h0 = function(e) { var t = e.charCodeAt(0), r = e.charCodeAt(1); return t == 255 && r == 254 ? q4(e.slice(2)) : t == 254 && r == 255 ? pv(e.slice(2)) : t == 65279 ? e.slice(1) : e; }, Zf = function(t) { return String.fromCharCode(t); }, Gd = function(t) { return String.fromCharCode(t); }, Xl, Qa = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; function C0(e) { for (var t = "", r = 0, n = 0, a = 0, s = 0, f = 0, c = 0, l = 0, h = 0; h < e.length; ) r = e.charCodeAt(h++), s = r >> 2, n = e.charCodeAt(h++), f = (r & 3) << 4 | n >> 4, a = e.charCodeAt(h++), c = (n & 15) << 2 | a >> 6, l = a & 63, isNaN(n) ? c = l = 64 : isNaN(a) && (l = 64), t += Qa.charAt(s) + Qa.charAt(f) + Qa.charAt(c) + Qa.charAt(l); return t; } function _n(e) { var t = "", r = 0, n = 0, a = 0, s = 0, f = 0, c = 0, l = 0; e = e.replace(/[^\w\+\/\=]/g, ""); for (var h = 0; h < e.length; ) s = Qa.indexOf(e.charAt(h++)), f = Qa.indexOf(e.charAt(h++)), r = s << 2 | f >> 4, t += String.fromCharCode(r), c = Qa.indexOf(e.charAt(h++)), n = (f & 15) << 4 | c >> 2, c !== 64 && (t += String.fromCharCode(n)), l = Qa.indexOf(e.charAt(h++)), a = (c & 3) << 6 | l, l !== 64 && (t += String.fromCharCode(a)); return t; } var sr = /* @__PURE__ */ function() { return typeof Buffer < "u" && typeof process < "u" && typeof process.versions < "u" && !!process.versions.node; }(), Na = /* @__PURE__ */ function() { if (typeof Buffer < "u") { var e = !Buffer.from; if (!e) try { Buffer.from("foo", "utf8"); } catch { e = !0; } return e ? function(t, r) { return r ? new Buffer(t, r) : new Buffer(t); } : Buffer.from.bind(Buffer); } return function() { }; }(); function ti(e) { return sr ? Buffer.alloc ? Buffer.alloc(e) : new Buffer(e) : typeof Uint8Array < "u" ? new Uint8Array(e) : new Array(e); } function Xd(e) { return sr ? Buffer.allocUnsafe ? Buffer.allocUnsafe(e) : new Buffer(e) : typeof Uint8Array < "u" ? new Uint8Array(e) : new Array(e); } var gn = function(t) { return sr ? Na(t, "binary") : t.split("").map(function(r) { return r.charCodeAt(0) & 255; }); }; function zo(e) { if (typeof ArrayBuffer > "u") return gn(e); for (var t = new ArrayBuffer(e.length), r = new Uint8Array(t), n = 0; n != e.length; ++n) r[n] = e.charCodeAt(n) & 255; return t; } function oi(e) { if (Array.isArray(e)) return e.map(function(n) { return String.fromCharCode(n); }).join(""); for (var t = [], r = 0; r < e.length; ++r) t[r] = String.fromCharCode(e[r]); return t.join(""); } function J4(e) { if (typeof Uint8Array > "u") throw new Error("Unsupported"); return new Uint8Array(e); } function vu(e) { if (typeof ArrayBuffer > "u") throw new Error("Unsupported"); if (e instanceof ArrayBuffer) return vu(new Uint8Array(e)); for (var t = new Array(e.length), r = 0; r < e.length; ++r) t[r] = e[r]; return t; } var ht = sr ? function(e) { return Buffer.concat(e.map(function(t) { return Buffer.isBuffer(t) ? t : Na(t); })); } : function(e) { if (typeof Uint8Array < "u") { var t = 0, r = 0; for (t = 0; t < e.length; ++t) r += e[t].length; var n = new Uint8Array(r), a = 0; for (t = 0, r = 0; t < e.length; r += a, ++t) if (a = e[t].length, e[t] instanceof Uint8Array) n.set(e[t], r); else { if (typeof e[t] == "string") throw "wtf"; n.set(new Uint8Array(e[t]), r); } return n; } return [].concat.apply([], e.map(function(s) { return Array.isArray(s) ? s : [].slice.call(s); })); }; function Z4(e) { for (var t = [], r = 0, n = e.length + 250, a = ti(e.length + 255), s = 0; s < e.length; ++s) { var f = e.charCodeAt(s); if (f < 128) a[r++] = f; else if (f < 2048) a[r++] = 192 | f >> 6 & 31, a[r++] = 128 | f & 63; else if (f >= 55296 && f < 57344) { f = (f & 1023) + 64; var c = e.charCodeAt(++s) & 1023; a[r++] = 240 | f >> 8 & 7, a[r++] = 128 | f >> 2 & 63, a[r++] = 128 | c >> 6 & 15 | (f & 3) << 4, a[r++] = 128 | c & 63; } else a[r++] = 224 | f >> 12 & 15, a[r++] = 128 | f >> 6 & 63, a[r++] = 128 | f & 63; r > n && (t.push(a.slice(0, r)), r = 0, a = ti(65535), n = 65530); } return t.push(a.slice(0, r)), ht(t); } var Gt = /\u0000/g, d0 = /[\u0001-\u0006]/g; function ws(e) { for (var t = "", r = e.length - 1; r >= 0; ) t += e.charAt(r--); return t; } function Jn(e, t) { var r = "" + e; return r.length >= t ? r : zr("0", t - r.length) + r; } function gu(e, t) { var r = "" + e; return r.length >= t ? r : zr(" ", t - r.length) + r; } function Ao(e, t) { var r = "" + e; return r.length >= t ? r : r + zr(" ", t - r.length); } function Q4(e, t) { var r = "" + Math.round(e); return r.length >= t ? r : zr("0", t - r.length) + r; } function ek(e, t) { var r = "" + e; return r.length >= t ? r : zr("0", t - r.length) + r; } var Kd = /* @__PURE__ */ Math.pow(2, 32); function fs(e, t) { if (e > Kd || e < -Kd) return Q4(e, t); var r = Math.round(e); return ek(r, t); } function Fo(e, t) { return t = t || 0, e.length >= 7 + t && (e.charCodeAt(t) | 32) === 103 && (e.charCodeAt(t + 1) | 32) === 101 && (e.charCodeAt(t + 2) | 32) === 110 && (e.charCodeAt(t + 3) | 32) === 101 && (e.charCodeAt(t + 4) | 32) === 114 && (e.charCodeAt(t + 5) | 32) === 97 && (e.charCodeAt(t + 6) | 32) === 108; } var Yd = [ ["Sun", "Sunday"], ["Mon", "Monday"], ["Tue", "Tuesday"], ["Wed", "Wednesday"], ["Thu", "Thursday"], ["Fri", "Friday"], ["Sat", "Saturday"] ], kl = [ ["J", "Jan", "January"], ["F", "Feb", "February"], ["M", "Mar", "March"], ["A", "Apr", "April"], ["M", "May", "May"], ["J", "Jun", "June"], ["J", "Jul", "July"], ["A", "Aug", "August"], ["S", "Sep", "September"], ["O", "Oct", "October"], ["N", "Nov", "November"], ["D", "Dec", "December"] ]; function rk(e) { return e || (e = {}), e[0] = "General", e[1] = "0", e[2] = "0.00", e[3] = "#,##0", e[4] = "#,##0.00", e[9] = "0%", e[10] = "0.00%", e[11] = "0.00E+00", e[12] = "# ?/?", e[13] = "# ??/??", e[14] = "m/d/yy", e[15] = "d-mmm-yy", e[16] = "d-mmm", e[17] = "mmm-yy", e[18] = "h:mm AM/PM", e[19] = "h:mm:ss AM/PM", e[20] = "h:mm", e[21] = "h:mm:ss", e[22] = "m/d/yy h:mm", e[37] = "#,##0 ;(#,##0)", e[38] = "#,##0 ;[Red](#,##0)", e[39] = "#,##0.00;(#,##0.00)", e[40] = "#,##0.00;[Red](#,##0.00)", e[45] = "mm:ss", e[46] = "[h]:mm:ss", e[47] = "mmss.0", e[48] = "##0.0E+0", e[49] = "@", e[56] = '"上午/下午 "hh"時"mm"分"ss"秒 "', e; } var Ve = { 0: "General", 1: "0", 2: "0.00", 3: "#,##0", 4: "#,##0.00", 9: "0%", 10: "0.00%", 11: "0.00E+00", 12: "# ?/?", 13: "# ??/??", 14: "m/d/yy", 15: "d-mmm-yy", 16: "d-mmm", 17: "mmm-yy", 18: "h:mm AM/PM", 19: "h:mm:ss AM/PM", 20: "h:mm", 21: "h:mm:ss", 22: "m/d/yy h:mm", 37: "#,##0 ;(#,##0)", 38: "#,##0 ;[Red](#,##0)", 39: "#,##0.00;(#,##0.00)", 40: "#,##0.00;[Red](#,##0.00)", 45: "mm:ss", 46: "[h]:mm:ss", 47: "mmss.0", 48: "##0.0E+0", 49: "@", 56: '"上午/下午 "hh"時"mm"分"ss"秒 "' }, jd = { 5: 37, 6: 38, 7: 39, 8: 40, // 5 -> 37 ... 8 -> 40 23: 0, 24: 0, 25: 0, 26: 0, // 23 -> 0 ... 26 -> 0 27: 14, 28: 14, 29: 14, 30: 14, 31: 14, // 27 -> 14 ... 31 -> 14 50: 14, 51: 14, 52: 14, 53: 14, 54: 14, // 50 -> 14 ... 58 -> 14 55: 14, 56: 14, 57: 14, 58: 14, 59: 1, 60: 2, 61: 3, 62: 4, // 59 -> 1 ... 62 -> 4 67: 9, 68: 10, // 67 -> 9 ... 68 -> 10 69: 12, 70: 13, 71: 14, // 69 -> 12 ... 71 -> 14 72: 14, 73: 15, 74: 16, 75: 17, // 72 -> 14 ... 75 -> 17 76: 20, 77: 21, 78: 22, // 76 -> 20 ... 78 -> 22 79: 45, 80: 46, 81: 47, // 79 -> 45 ... 81 -> 47 82: 0 // 82 -> 0 ... 65536 -> 0 (omitted) }, tk = { // 5 -- Currency, 0 decimal, black negative 5: '"$"#,##0_);\\("$"#,##0\\)', 63: '"$"#,##0_);\\("$"#,##0\\)', // 6 -- Currency, 0 decimal, red negative 6: '"$"#,##0_);[Red]\\("$"#,##0\\)', 64: '"$"#,##0_);[Red]\\("$"#,##0\\)', // 7 -- Currency, 2 decimal, black negative 7: '"$"#,##0.00_);\\("$"#,##0.00\\)', 65: '"$"#,##0.00_);\\("$"#,##0.00\\)', // 8 -- Currency, 2 decimal, red negative 8: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', 66: '"$"#,##0.00_);[Red]\\("$"#,##0.00\\)', // 41 -- Accounting, 0 decimal, No Symbol 41: '_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)', // 42 -- Accounting, 0 decimal, $ Symbol 42: '_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)', // 43 -- Accounting, 2 decimal, No Symbol 43: '_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)', // 44 -- Accounting, 2 decimal, $ Symbol 44: '_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)' }; function bo(e, t, r) { for (var n = e < 0 ? -1 : 1, a = e * n, s = 0, f = 1, c = 0, l = 1, h = 0, d = 0, x = Math.floor(a); h < t && (x = Math.floor(a), c = x * f + s, d = x * h + l, !(a - x < 5e-8)); ) a = 1 / (a - x), s = f, f = c, l = h, h = d; if (d > t && (h > t ? (d = l, c = s) : (d = h, c = f)), !r) return [0, n * c, d]; var m = Math.floor(n * c / d); return [m, n * c - m * d, d]; } function Si(e, t, r) { if (e > 2958465 || e < 0) return null; var n = e | 0, a = Math.floor(86400 * (e - n)), s = 0, f = [], c = { D: n, T: a, u: 86400 * (e - n) - a, y: 0, m: 0, d: 0, H: 0, M: 0, S: 0, q: 0 }; if (Math.abs(c.u) < 1e-6 && (c.u = 0), t && t.date1904 && (n += 1462), c.u > 0.9999 && (c.u = 0, ++a == 86400 && (c.T = a = 0, ++n, ++c.D)), n === 60) f = r ? [1317, 10, 29] : [1900, 2, 29], s = 3; else if (n === 0) f = r ? [1317, 8, 29] : [1900, 1, 0], s = 6; else { n > 60 && --n; var l = new Date(1900, 0, 1); l.setDate(l.getDate() + n - 1), f = [l.getFullYear(), l.getMonth() + 1, l.getDate()], s = l.getDay(), n < 60 && (s = (s + 6) % 7), r && (s = ok(l, f)); } return c.y = f[0], c.m = f[1], c.d = f[2], c.S = a % 60, a = Math.floor(a / 60), c.M = a % 60, a = Math.floor(a / 60), c.H = a, c.q = s, c; } var vv = /* @__PURE__ */ new Date(1899, 11, 31, 0, 0, 0), nk = /* @__PURE__ */ vv.getTime(), ak = /* @__PURE__ */ new Date(1900, 2, 1, 0, 0, 0); function gv(e, t) { var r = /* @__PURE__ */ e.getTime(); return t ? r -= 1461 * 24 * 60 * 60 * 1e3 : e >= ak && (r += 24 * 60 * 60 * 1e3), (r - (nk + (/* @__PURE__ */ e.getTimezoneOffset() - /* @__PURE__ */ vv.getTimezoneOffset()) * 6e4)) / (24 * 60 * 60 * 1e3); } function mu(e) { return e.indexOf(".") == -1 ? e : e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/, "$1"); } function ik(e) { return e.indexOf("E") == -1 ? e : e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/, "$1E").replace(/(E[+-])(\d)$/, "$10$2"); } function sk(e) { var t = e < 0 ? 12 : 11, r = mu(e.toFixed(12)); return r.length <= t || (r = e.toPrecision(10), r.length <= t) ? r : e.toExponential(5); } function fk(e) { var t = mu(e.toFixed(11)); return t.length > (e < 0 ? 12 : 11) || t === "0" || t === "-0" ? e.toPrecision(6) : t; } function I0(e) { var t = Math.floor(Math.log(Math.abs(e)) * Math.LOG10E), r; return t >= -4 && t <= -1 ? r = e.toPrecision(10 + t) : Math.abs(t) <= 9 ? r = sk(e) : t === 10 ? r = e.toFixed(10).substr(0, 12) : r = fk(e), mu(ik(r.toUpperCase())); } function Oi(e, t) { switch (typeof e) { case "string": return e; case "boolean": return e ? "TRUE" : "FALSE"; case "number": return (e | 0) === e ? e.toString(10) : I0(e); case "undefined": return ""; case "object": if (e == null) return ""; if (e instanceof Date) return Mn(14, gv(e, t && t.date1904), t); } throw new Error("unsupported value in General format: " + e); } function ok(e, t) { t[0] -= 581; var r = e.getDay(); return e < 60 && (r = (r + 6) % 7), r; } function ck(e, t, r, n) { var a = "", s = 0, f = 0, c = r.y, l, h = 0; switch (e) { case 98: c = r.y + 543; case 121: switch (t.length) { case 1: case 2: l = c % 100, h = 2; break; default: l = c % 1e4, h = 4; break; } break; case 109: switch (t.length) { case 1: case 2: l = r.m, h = t.length; break; case 3: return kl[r.m - 1][1]; case 5: return kl[r.m - 1][0]; default: return kl[r.m - 1][2]; } break; case 100: switch (t.length) { case 1: case 2: l = r.d, h = t.length; break; case 3: return Yd[r.q][0]; default: