"use strict"; const common_vendor = require("../../../../common/vendor.js"); const _sfc_main = { name: "u-number-keyboard", mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$9], 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);