quick-admin-vue3-core
Version:
以快(计算机执行效率、开发效率)为核心的后台管理系统开发模板
98 lines (97 loc) • 4.26 kB
JavaScript
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
};