UNPKG

quick-admin-vue3-core

Version:

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

98 lines (97 loc) 4.26 kB
import { defineComponent as M, reactive as v, computed as S, resolveComponent as E, createElementBlock as P, openBlock as _, normalizeClass as x, unref as i, withDirectives as V, createElementVNode as p, createVNode as b, vModelText as $, toDisplayString as k, withCtx as I } from "vue"; import { i as L } from "./index-D-KS7NhM.js"; import { j as O, v as R, b as C } from "./platform-DsTwHxm6.js"; import "./index-C0qRtkRj.js"; /* empty css */ import { u as z } from "./form-attrs-Ddm3tVIR.js"; import { _ as D } from "./_plugin-vue_export-helper-CHgC5LLL.js"; const U = ["maxlength", "placeholder"], j = { class: "el-range-separator" }, A = ["maxlength", "placeholder"], J = /* @__PURE__ */ M({ __name: "BaseNumberRange", props: { modelValue: { default: () => v([]) }, min: {}, max: {}, precision: {}, maxlength: {}, startPlaceholder: { default: "最小值" }, endPlaceholder: { default: "最大值" }, rangeSeparator: { default: O } }, emits: ["update:modelValue", "change", "input", "clear", "blur", "focus"], setup(N, { emit: w }) { var h; const { formItem: m } = R(), u = N, f = w; let r = v((h = u.modelValue) == null ? void 0 : h.map((t, e) => c(Number(t), e, !1, !1))); const { size: B } = z(), g = S(() => { const { min: t, max: e, maxlength: o, precision: l } = u; if (o !== void 0) return o; if (t === void 0 || e === void 0) return; const n = Math.max(String(t || 0).length, String(e || 0).length); return l ? n + l + 1 : n; }); function c(t, e, o = !0, l = !0) { const { min: n, max: s } = u, d = `最${e === 0 ? "小" : "大"}值`; return n !== void 0 && t < n && (o ? t = n : l && C(`${d}不能小于${n},当前为:${t}`, "warning")), s !== void 0 && t > s && (o ? t = s : l && C(`${d}不能大于${s},当前为:${t}`, "warning")), t; } function F(t = []) { const [e, o] = t; return e === void 0 || o === void 0 ? !1 : e > o; } function a(t, e, o) { if (t === "clear") r.length = 0; else if (t === "change") { const l = e.target.value.replace(/[^\d.-]/g, ""); l && (r[o] = c(Number(l), o)), F(r) && (r[o === 0 ? 1 : 0] = ""), u.precision && r.forEach((s, d) => { s !== void 0 && (r[d] = Number(s.toFixed(u.precision))); }); } m == null || m.validate(t === "clear" ? "change" : t), f(t, r, e), t === "change" && f("update:modelValue", r, e); } return (t, e) => { var l; const o = E("el-icon"); return _(), P("div", { class: x(["base-number-range el-date-editor el-date-editor--daterange el-input__wrapper el-range-editor", `el-range-editor--${i(B)}`]) }, [ V(p("input", { "onUpdate:modelValue": e[0] || (e[0] = (n) => i(r)[0] = n), class: "el-range-input", maxlength: i(g), placeholder: t.startPlaceholder, onBlur: e[1] || (e[1] = (n) => a("blur", n, 0)), onFocus: e[2] || (e[2] = (n) => a("focus", n, 0)), onInput: e[3] || (e[3] = (n) => a("input", n, 0)), onChange: e[4] || (e[4] = (n) => a("change", n, 0)) }, null, 40, U), [ [$, i(r)[0]] ]), p("span", j, k(t.rangeSeparator), 1), V(p("input", { "onUpdate:modelValue": e[5] || (e[5] = (n) => i(r)[1] = n), class: "el-range-input", maxlength: i(g), placeholder: t.endPlaceholder, onBlur: e[6] || (e[6] = (n) => a("blur", n, 1)), onFocus: e[7] || (e[7] = (n) => a("focus", n, 1)), onInput: e[8] || (e[8] = (n) => a("input", n, 1)), onChange: e[9] || (e[9] = (n) => a("change", n, 1)) }, null, 40, A), [ [$, i(r)[1]] ]), b(o, { class: x(["el-icon el-input__icon el-range__close-icon", { hidden: !((l = i(r)) != null && l.length) }]), onClick: e[10] || (e[10] = (n) => a("clear")) }, { default: I(() => [ b(i(L)) ]), _: 1 }, 8, ["class"]) ], 2); }; } }), Y = /* @__PURE__ */ D(J, [["__scopeId", "data-v-fa081829"]]); export { Y as default };