using VberZero.Tools.StringModel; namespace VberAdmin.Web.Models.Input; public class VmInputNumberDialer : VmInputBase { public VmInputNumberDialer(string name, string displayName) : base(name, displayName, VmInputType.Dialer) { Step = 1; Prefix = ""; Suffix = ""; Decimals = 0; DefaultClass = "form-control form-control-sm form-control-solid border-0 ps-12"; } /// /// 步长 /// public decimal Step { get; set; } /// /// 前缀 /// public string Prefix { get; set; } /// /// 后缀 /// public string Suffix { get; set; } /// /// 小数位数 /// public int Decimals { get; set; } public string ControlDataStr => $"data-kt-dialer=\"true\" data-kt-dialer-step=\"{Step}\" {(Min != null ? $"data-kt-dialer-min=\"{Min}\"" : "")} {(Max is > 0 ? $"data-kt-dialer-max=\"{Max}\"" : "")} {(Decimals > 0 ? $"data-kt-dialer-decimals=\"{Decimals}\"" : "")} {(Prefix.Empty() ? "" : $"data-kt-dialer-prefix=\"{Prefix}\"")} {(Suffix.Empty() ? "" : $"data-kt-dialer-suffix=\"{Suffix}\"")} "; public override string Other { get => $"{base.Other ?? ""} data-kt-dialer-control=\"input\""; set => _other = value; } public VmInputNumberDialer WithDialerFix(string prefix = "", string suffix = "") { Prefix = prefix; Suffix = suffix; return this; } public VmInputNumberDialer WithDecimals(int count) { Decimals = count; return this; } public VmInputNumberDialer WithStep(decimal step) { if (step <= 0) { return this; } Step = step; return this; } public VmInputNumberDialer WithDialer(int? min = null, int? max = null) { Min = min; Max = max; DefaultValue = Min + ""; return this; } }