123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- function t(t, a) {
- var e = void 0,
- i = void 0,
- n = void 0;
- try {
- e = t.toString().split(".")[1].length;
- } catch (t) {
- e = 0;
- }
- try {
- i = a.toString().split(".")[1].length;
- } catch (t) {
- i = 0;
- }
- return n = Math.pow(10, Math.max(e, i)), (Math.round(t * n) + Math.round(a * n)) / n;
- }
- Component({
- externalClasses: ["i-class", "i-class-number-text", "i-number-view", "i-number-img"],
- properties: {
- size: String,
- value: {
- type: Number,
- value: 1
- },
- min: {
- type: Number,
- value: -1 / 0
- },
- max: {
- type: Number,
- value: 1 / 0
- },
- step: {
- type: Number,
- value: 1
- },
- reduceImage: {
- type: String,
- value: "../../images/icon-input-reduce.png"
- },
- addImage: {
- type: String,
- value: "../../images/icon-input-add.png"
- },
- idx: {
- type: Number,
- value: 0
- }
- },
- data: {
- canChange: true,
- skin: getApp().globalData.skin,
- },
- attached(){
- this.setData({
- skin: getApp().globalData.skin,
- })
- },
- methods: {
- handleChangeStep: function(a, e, i) {
- var n = this.data.value,
- s = a.currentTarget.dataset,
- h = (void 0 === s ? {} : s).disabled,
- u = this.data.step;
- if (h) return null;
- "minus" === e ? n = t(n, -u) : "plus" === e && (n = t(n, u)), this.handleEmit(n, e, i);
- },
- handleMinus: function(t) {
- this.data.canChange && this.handleChangeStep(t, "minus", true);
- },
- handlePlus: function(t) {
- this.data.canChange && this.handleChangeStep(t, "plus", true);
- },
- handleFocus: function() {
- this.data.canChange = false, this.triggerEvent("focus");
- },
- getType: function(t) {
- return t > this.data.value ? "plus" : t < this.data.value ? "minus" : "";
- },
- handleBlur: function(t) {
- this.data.canChange = true;
- var oldValue = this.data.value;
- var a = t.detail.value,
- e = "";
- "" === a && (a = 1);
- a = (a - oldValue);
- (a<=0) && (a=1);
- var i = this.data.min;
- // e = this.getType(a)
- if (!(a *= 1)) return a = 0 === a ? i : 1, e = 'plus', void this.handleEmit(a, e, this.data.value !== a);
- a = +a, e = this.getType(a);
- var n = this.data.value !== a;
- this.handleEmit(a, e, n);
- },
- handleEmit: function(t, a) {
- t < this.data.min && this.triggerEvent("outOfMin", t), t > this.data.max && this.triggerEvent("outOfMax", t);
- var e = this.data,
- i = e.min,
- n = e.max;
- t > n ? t = n : t < i ? t = i : t || (t = i);
- var s = t !== this.data.value,
- h = {
- value: t,
- type: a,
- idx: this.data.idx
- };
- a && (h.type = a), s ? this.triggerEvent("change", h) : (this.setData({
- value: t
- }), this.triggerEvent("change"));
- },
- returnTap: function(){}
- }
- });
|