2 lines
14 KiB
JavaScript
2 lines
14 KiB
JavaScript
|
|
import{o as e,i as t,w as a,l,j as s,H as i,m as n,I as o,k as c,O as u,s as d,g as r,h as p,d as h,B as f,C as m,b as g,r as b,f as y,q as _,t as A,F as D,u as x,v as k,p as w,Q as C}from"./index-CjgLNey7.js";import{_ as V}from"./_plugin-vue_export-helper.BCo6x5W8.js";import{r as P}from"./uni-app.es.Lj9F4eZi.js";import{_ as B}from"./uni-popup.BsE0nR7F.js";import{N}from"./tab.AKA2NclF.js";const v=V({name:"UniNumberBox",emits:["change","input","update:modelValue","blur","focus"],props:{value:{type:[Number,String],default:1},modelValue:{type:[Number,String],default:1},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},background:{type:String,default:"#f5f5f5"},color:{type:String,default:"#333"},disabled:{type:Boolean,default:!1},width:{type:Number,default:40}},data:()=>({inputValue:0}),watch:{value(e){this.inputValue=+e},modelValue(e){this.inputValue=+e}},computed:{widthWithPx(){return this.width+"px"}},created(){1===this.value&&(this.inputValue=+this.modelValue),1===this.modelValue&&(this.inputValue=+this.value)},methods:{_calcValue(e){if(this.disabled)return;const t=this._getDecimalScale();let a=this.inputValue*t,l=this.step*t;if("minus"===e){if(a-=l,a<this.min*t)return;a>this.max*t&&(a=this.max*t)}if("plus"===e){if(a+=l,a>this.max*t)return;a<this.min*t&&(a=this.min*t)}this.inputValue=(a/t).toFixed(String(t).length-1),this.$emit("input",+this.inputValue),this.$emit("update:modelValue",+this.inputValue),this.$emit("change",+this.inputValue)},_getDecimalScale(){let e=1;return~~this.step!==this.step&&(e=Math.pow(10,String(this.step).split(".")[1].length)),e},_onBlur(e){this.$emit("blur",e);let t=e.detail.value;if(isNaN(t))return void(this.inputValue=this.value);t=+t,t>this.max?t=this.max:t<this.min&&(t=this.min);const a=this._getDecimalScale();this.inputValue=t.toFixed(String(a).length-1),this.$emit("input",+this.inputValue),this.$emit("update:modelValue",+this.inputValue),this.$emit("change",+this.inputValue)},_onFocus(e){this.$emit("focus",e)}}},[["render",function(d,r,p,h,f,m){const g=o,b=c,y=u;return e(),t(b,{class:"uni-numbox"},{default:a((()=>[l(b,{onClick:r[0]||(r[0]=e=>m._calcValue("minus")),class:"uni-numbox__minus uni-numbox-btns",style:s({background:p.background})},{default:a((()=>[l(g,{class:i(["uni-numbox--text",{"uni-numbox--disabled":f.inputValue<=p.min||p.disabled}]),style:s({color:p.color})},{default:a((()=>[n("-")])),_:1},8,["class","style"])])),_:1},8,["style"]),l(y,{disabled:p.disabled,onFocus:m._onFocus,onBlur:m._onBlur,class:"uni-numbox__value",type:p.step<1?"digit":"number",modelValue:f.inputValue,"onUpdate:modelValue":r[1]||(r[1]=e=>f.inputValue=e),style:s({background:p.background,color:p.color,width:m.widthWithPx})},null,8,["disabled","onFocus","onBlur","type","modelValue","style"]),l(b,{onClick:r[2]||(r[2]=e=>m._calcValue("plus")),class:"uni-numbox__plus uni-numbox-btns",style:s({background:p.background})},{default:a((()=>[l(g,{class:i(["uni-numbox--text",{"uni-numbox--disabled":f.inputValue>=p.max||p.disabled}]),style:s({color:p.color})},{default:a((()=>[n("+")])),_:1},8,["class","style"])])),_:1},8,["style"])])),_:1})}],["__scopeId","data-v-91750ff9"]]),T="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAB7BJREFUWEedV0tsnUcV/s7M/7jX177Xj8SN7ThJ1bz6oKVUlUiqNnQDCLVILJCQYMEKgVABRaA0RGKB1KalFY1U1E3FColFkVg0bKJKQEO7KARQHooTO7ET52HycHx9c9//zBw0M/9/H3YaHrOx//+fOec73/nOOXMJ/8fi1dVR5M00KCkCYBiuINLXiSZv/6/m6L85wHwiRHv6qzDVr4CbX2adTIITANr5BwKQjBkI/4Ugdwxy6Cjk2FEispvuu+4LgPlKHi36LlT5J9DlCTatHmPWce9xBpj8K5EDZOkqBWNHEFd/RbSj92AfoE8FwMmtfUhuvsutGzvAKo3Ubmdw4w5MYwUwLTCzjR6UG4bIjwEkug4oBKLxCxSNfofCiT/di4p7AuD64n5WV19Fshp7igmmdgO6PAuouxBhBIoLIBkCRGCtwK0ajEoAOQhZ2g5RGE/9ERAUWxxOHhT5B4/Y7b1A+gAwM6F56RVuzB+Eqbt93KpA3T4JETJkYRwURF3DzP1ZsPuNhmmswiQKYng3RFRyIEnmGdHUaxjYfYiIOiD6ATQX96N+7k3WNfdeVxbB1QUEI1OAjNZmvO95Lb3MBqZeBuQoZHGLD1vkmeOJ/XLwiSPZ/g4ATq49w3fP/pGTlYhAUCsXQGYVQWlTKjYGUwgqPAFuLgDJHRtYdwWj4Nw2UO00fIU4/sBJE0YHoMEt7g0Fg5rCkX1U3POxe3bbTpwIsUOfMY35nfbZVJeA1hKC4iYnMu+JgdKzAElAFoC7J4D2Te8nHAcVPw9WVpgN/y1bNnSTwHAelB93ZigamaVT8aP0/PPKU3337PdQO/W
|