2025-12-15 18:19:04 +08:00
|
|
|
|
"use strict";
|
|
|
|
|
|
const common_vendor = require("../../../../common/vendor.js");
|
|
|
|
|
|
const _sfc_main = {
|
|
|
|
|
|
name: "u-number-keyboard",
|
2026-01-14 15:43:09 +08:00
|
|
|
|
mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$9],
|
2025-12-15 18:19:04 +08:00
|
|
|
|
data() {
|
|
|
|
|
|
return {
|
|
|
|
|
|
backspace: "backspace",
|
|
|
|
|
|
// 退格键内容
|
|
|
|
|
|
dot: ".",
|
|
|
|
|
|
// 点
|
|
|
|
|
|
timer: null,
|
|
|
|
|
|
// 长按多次删除的事件监听
|
|
|
|
|
|
cardX: "X"
|
|
|
|
|
|
// 身份证的X符号
|
|
|
|
|
|
};
|
|
|
|
|
|
},
|
|
|
|
|
|
computed: {
|
|
|
|
|
|
// 键盘需要显示的内容
|
|
|
|
|
|
numList() {
|
|
|
|
|
|
if (this.dotDisabled && this.mode == "number") {
|
|
|
|
|
|
if (!this.random) {
|
|
|
|
|
|
return [1, 2, 3, 4, 5, 6, 7, 8, 9, 0];
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return common_vendor.randomArray([1, 2, 3, 4, 5, 6, 7, 8, 9, 0]);
|
|
|
|
|
|
}
|
|
|
|
|
|
} else if (!this.dotDisabled && this.mode == "number") {
|
|
|
|
|
|
if (!this.random) {
|
|
|
|
|
|
return [1, 2, 3, 4, 5, 6, 7, 8, 9, this.dot, 0];
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return common_vendor.randomArray([1, 2, 3, 4, 5, 6, 7, 8, 9, this.dot, 0]);
|
|
|
|
|
|
}
|
|
|
|
|
|
} else if (this.mode == "card") {
|
|
|
|
|
|
if (!this.random) {
|
|
|
|
|
|
return [1, 2, 3, 4, 5, 6, 7, 8, 9, this.cardX, 0];
|
|
|
|
|
|
} else {
|
|
|
|
|
|
return common_vendor.randomArray([1, 2, 3, 4, 5, 6, 7, 8, 9, this.cardX, 0]);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
// 按键的样式,在非乱序&&数字键盘&&不显示点按钮时,index为9时,按键占位两个空间
|
|
|
|
|
|
itemStyle() {
|
|
|
|
|
|
return (index) => {
|
|
|
|
|
|
let style = {};
|
|
|
|
|
|
if (this.mode == "number" && this.dotDisabled && index == 9)
|
|
|
|
|
|
style.width = "464rpx";
|
|
|
|
|
|
return style;
|
|
|
|
|
|
};
|
|
|
|
|
|
},
|
|
|
|
|
|
// 是否让按键显示灰色,只在非乱序&&数字键盘&&且允许点按键的时候
|
|
|
|
|
|
btnBgGray() {
|
|
|
|
|
|
return (index) => {
|
|
|
|
|
|
if (!this.random && index == 9 && (this.mode != "number" || this.mode == "number" && !this.dotDisabled))
|
|
|
|
|
|
return true;
|
|
|
|
|
|
else
|
|
|
|
|
|
return false;
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
|
|
|
|
created() {
|
|
|
|
|
|
},
|
|
|
|
|
|
emits: ["backspace", "change"],
|
|
|
|
|
|
methods: {
|
|
|
|
|
|
// 点击退格键
|
|
|
|
|
|
backspaceClick() {
|
|
|
|
|
|
this.$emit("backspace");
|
|
|
|
|
|
clearInterval(this.timer);
|
|
|
|
|
|
this.timer = null;
|
|
|
|
|
|
this.timer = setInterval(() => {
|
|
|
|
|
|
this.$emit("backspace");
|
|
|
|
|
|
}, 250);
|
|
|
|
|
|
},
|
|
|
|
|
|
clearTimer() {
|
|
|
|
|
|
clearInterval(this.timer);
|
|
|
|
|
|
this.timer = null;
|
|
|
|
|
|
},
|
|
|
|
|
|
// 获取键盘显示的内容
|
|
|
|
|
|
keyboardClick(val) {
|
|
|
|
|
|
if (!this.dotDisabled && val != this.dot && val != this.cardX)
|
|
|
|
|
|
val = Number(val);
|
|
|
|
|
|
this.$emit("change", val);
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
};
|
|
|
|
|
|
if (!Array) {
|
|
|
|
|
|
const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
|
|
|
|
|
|
_easycom_u_icon2();
|
|
|
|
|
|
}
|
|
|
|
|
|
const _easycom_u_icon = () => "../u-icon/u-icon.js";
|
|
|
|
|
|
if (!Math) {
|
|
|
|
|
|
_easycom_u_icon();
|
|
|
|
|
|
}
|
|
|
|
|
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
|
|
|
return {
|
|
|
|
|
|
a: common_vendor.f($options.numList, (item, index, i0) => {
|
|
|
|
|
|
return {
|
|
|
|
|
|
a: common_vendor.t(item),
|
|
|
|
|
|
b: common_vendor.s($options.itemStyle(index)),
|
|
|
|
|
|
c: common_vendor.o(($event) => $options.keyboardClick(item), index),
|
|
|
|
|
|
d: index
|
|
|
|
|
|
};
|
|
|
|
|
|
}),
|
|
|
|
|
|
b: common_vendor.p({
|
|
|
|
|
|
name: "backspace",
|
|
|
|
|
|
color: "#303133",
|
|
|
|
|
|
size: "28"
|
|
|
|
|
|
}),
|
|
|
|
|
|
c: common_vendor.o((...args) => $options.backspaceClick && $options.backspaceClick(...args)),
|
|
|
|
|
|
d: common_vendor.o((...args) => $options.clearTimer && $options.clearTimer(...args)),
|
|
|
|
|
|
e: common_vendor.o((...args) => _ctx.noop && _ctx.noop(...args))
|
|
|
|
|
|
};
|
|
|
|
|
|
}
|
|
|
|
|
|
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-172328e1"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-customer/node_modules/uview-plus/components/u-number-keyboard/u-number-keyboard.vue"]]);
|
|
|
|
|
|
wx.createComponent(Component);
|