UNPKG

car-number-keyboard

Version:

车牌号码输入键盘

2 lines 10.8 kB
(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue")):"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["keyboard"]=t(require("vue")):e["keyboard"]=t(e["Vue"])})("undefined"!==typeof self?self:this,(function(e){return function(){"use strict";var t={744:function(e,t){t.Z=(e,t)=>{const r=e.__vccOpts||e;for(const[i,o]of t)r[i]=o;return r}},761:function(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGvSURBVHgBvVahVsNAEByKIja2Ojq2OgZBBAIQmFp+BIvk4YoFSWyRxSBqqcHU1qaihp3eXrhCk17SJPPePEJz2bnd271doGecoB5Ch2thLlzq39YEaTwRxvq8DyvhlzDT50aCgfBaOILx4F2NrvBrlGuGuhm7oVmVcJlgJLyDCdtEuIAfuLlUn1+Ec9+PnmC8C1Af/OZGbYwOLY51YYrjkaqtqGwB438P41lboKcPcCI1wO6OiAzt4Q0mD67+vqB3XjFvgEhtb0vKekjvmMYfaB/McJZV4gpyF14p3BBTmITcCvJAw44FF6oRUnCoPy7RHeytE1oPCe8L+FjBM/SHfOCqozvYKK77EizyxAqSEbpDrBq5rUOWRILuQEH20qLwWZiMcxde8rrkcWWuoL3WxmjWA8tAW7w2Z6qx0y3YoVkiF2gP1lbRgU6dlxvht/BW//cdK6rEzoXPavefIGEzlo0z0IUb1AO/u1SxifDTfVk2RDGrbOdnE/VtW0y6MczRPGJPlKrGRGYWD5xZRq/nSnfwtUMxhVhW9I4J8oqSu9l3EE7VaNUgzM1McWAQ/gEeFlq1ySGZXwAAAABJRU5ErkJggg=="},660:function(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIpSURBVHgBvVbNddNAEJ4ZLe+Fm6kAuQO4cQDsVEBSQRCPO6GDUEF84wAvUipwOkBAAbgDlgrQDQjSDjMSshPHisd+Vr73bGl3Z/Tt7M4fwB0DNxF+8v5X7JyLkTAGhoKZCxnP8gQL6zfWEo5TjgOXx4j0QoZxh5iXX45w+S5P7nvYhlCIBoGrCSIewWbIbiNeSfj0w99x5GgqrwPYDh6B3+aJu1hL+PysPBKrMtgB5I5ffnnlzjsJx2l5wIBT2CEQwn6e3MsX4zkZxwz8SfYVw25RINCw9WRqZ8VBTnogUwwYwmk7qC1srAvfoUeI5w7Vc2sLG+v6RWB3rM+aUIJ6ZNTz6gRyJw8+JxGK6x+Ktrco/k8cgBrgcpw/DTpCRo+X01ijz98s9//n9+WQyrJ8BAaESgP5Zs7UOYQqsXxjb8/FJEFuyiZfX9/MGgu4GRhQBY4pimzpS4+ua81cLZgKOVL2JmHoPvpnH8sDMCCKuCCpZ94izEDpKit1jiI6BRPcrA780VnlJTIfGjS8Oo/epxKpw0UuSo0ZyksoDV2z+3AhLv/GoCSXjtNRWqkOSAmrtY3I9a8OfEI3gZ6hRXlOKF7mpXadQ3/I2g5gXi0II8115mZoA/jWumuETcYIh7BjNK3Gor+hq4tamUXAlKaMZMlyX0PLQiKQbVIFOlA0rYXLlhdolbTuCgH3t3SkrGkpFn3MVRgb4eqkqZkdAc7wQ2OZsJysa4T/AXod6sdYbLBXAAAAAElFTkSuQmCC"},203:function(t){t.exports=e}},r={};function i(e){var o=r[e];if(void 0!==o)return o.exports;var a=r[e]={exports:{}};return t[e](a,a.exports,i),a.exports}!function(){i.d=function(e,t){for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}}(),function(){i.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){i.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}}(),function(){i.p=""}();var o={};return function(){if(i.r(o),i.d(o,{default:function(){return U}}),"undefined"!==typeof window){var e=window.document.currentScript,t=e&&e.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);t&&(i.p=t[1])}var r=i(203),a="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC4AAAAjCAYAAADrJzjpAAAACXBIWXMAABYlAAAWJQFJUiTwAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHnSURBVHgB1ZiJUcMwEEU/HbgDtgNSgqkASkgJdJBQQeggogLoIJRAB1kqCFQA2nE0XjtxJOuIzZv5k2Mc7YtsS7KAf8oN8lDbLGzukJcvm0+bD5tvZKS22dn8XiEbm8oVTunxlc269530yg/ycdv7zDb3x9coRNr1xAHNHyCU4dFmr+rJ+woRrHqNEK7Di6q7xkimknbs0J7lYKaWFmrlEMQcpIUKI8TnIu04IEB8btICwyOeKr09thEC2byhGfp8MC6Ip0ov1O998oR2nH6HH8aAeK7Lw8AvT2ilQ2sxzojnvqYNhuUJ46UFRk+81I1ocCpPiJMWGEpcX5M5pR0G3VVerLTAUOJ6HUAog0F3mRrbQQwlblRjpSC0k4fr+RgYSnyN8OErBkJ3aZpSi6HEq17DOeVJtS09LveTSajF6I0qC3RPZQ55wqm0w0TWYpwZx3PKE4alHSaiFmNg5swhT/BLO4yq9QQ/jAFxIF3ezQs+aYc5Hr8NOJZxQdwVT5GvMe6hNvR4hkdcKHHDpsIIEBfmJu88gpiLvF5TjfrR1PIbRIgLU8qTqr1HBFPI1+guSZaxm54iv0M7fLHNK5ot4VzbwdI22TygEXc8I2ILTkM4v+IrmZCZNZglmp4uJSuXpTzokC76Bw3lSCVBIC/DAAAAAElFTkSuQmCC";const s=e=>((0,r.pushScopeId)("data-v-29f668b6"),e=e(),(0,r.popScopeId)(),e),n={key:0,class:"title"},c={class:"titleCon"},l=["src"],d={class:"keyboardBox"},u={class:"keyboardInputBox"},A=["onClick"],h={class:"keyboardHead"},m={class:"keyboardContent"},p={class:"keyboardList"},b=["onClick"],y={class:"keyboardList"},k=["onClick"],C={class:"keyboardList"},I=["onClick"],N={class:"keyboardList"},g=["onClick"],B=s((()=>(0,r.createElementVNode)("img",{src:a,alt:""},null,-1))),f=[B];function v(e,t,o,a,s,B){return(0,r.openBlock)(),(0,r.createElementBlock)("div",{class:"contain",onClick:t[4]||(t[4]=(0,r.withModifiers)((()=>{}),["stop"]))},[o.title||o.HkCarNoSupport?((0,r.openBlock)(),(0,r.createElementBlock)("div",n,[(0,r.createElementVNode)("div",c,(0,r.toDisplayString)(o.title),1),o.HkCarNoSupport?((0,r.openBlock)(),(0,r.createElementBlock)("div",{key:0,class:"carTypeSwitch",onClick:t[0]||(t[0]=(...e)=>B.changeHKCarNO&&B.changeHKCarNO(...e))},[(0,r.createElementVNode)("img",{src:s.isHKCarNo?i(660):i(761),class:"check",alt:""},null,8,l),(0,r.createTextVNode)(" 港澳车牌")])):(0,r.createCommentVNode)("",!0)])):(0,r.createCommentVNode)("",!0),(0,r.createElementVNode)("div",d,[(0,r.createElementVNode)("div",u,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(s.carNumber.length,((e,t)=>((0,r.openBlock)(),(0,r.createElementBlock)("div",{class:(0,r.normalizeClass)(["keyboardInputItem",{active:t==s.curIndex,ani:t==s.curIndex,HK:s.isHKCarNo,newSource:7==t&&!s.carNumber[7]}]),onClick:e=>B.inputItemClick(t)},(0,r.toDisplayString)(B.curIndexVal(t)),11,A)))),256))])]),(0,r.createElementVNode)("div",{class:(0,r.normalizeClass)(["keyboard",s.showKeyboard?"showKeyboard":""])},[(0,r.createElementVNode)("div",h,[(0,r.createElementVNode)("div",{class:"keyboardClose",onClick:t[1]||(t[1]=(...e)=>B.closeKeyboard&&B.closeKeyboard(...e))},"关闭")]),(0,r.createElementVNode)("div",m,[(0,r.createElementVNode)("div",p,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(s.firstValue.slice(0,10),(e=>((0,r.openBlock)(),(0,r.createElementBlock)("div",{class:(0,r.normalizeClass)(["keyboardItem",{disable:B.disable(e)}]),onClick:t=>B.itemClick(e),key:e},(0,r.toDisplayString)(e),11,b)))),128))]),(0,r.createElementVNode)("div",y,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(s.firstValue.slice(10,20),(e=>((0,r.openBlock)(),(0,r.createElementBlock)("div",{class:(0,r.normalizeClass)(["keyboardItem",{disable:B.disable(e)}]),onClick:t=>B.itemClick(e),key:e},(0,r.toDisplayString)(e),11,k)))),128))]),(0,r.createElementVNode)("div",C,[((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(s.secondValue,(e=>((0,r.openBlock)(),(0,r.createElementBlock)("div",{class:(0,r.normalizeClass)(["keyboardItem",{disable:B.disable(e)}]),onClick:t=>B.itemClick(e),key:e},(0,r.toDisplayString)(e),11,I)))),128))]),(0,r.createElementVNode)("div",N,[(0,r.createElementVNode)("div",{class:(0,r.normalizeClass)(["keyboardItem keyboardButton",{disable:0===s.curIndex||s.isHKCarNo}]),onClick:t[2]||(t[2]=e=>0===s.curIndex||s.isHKCarNo?"":B.changeType("ZH"==s.keyboardType?"EN":"ZH"))},(0,r.toDisplayString)("ZH"==s.keyboardType?"ABC":"中文"),3),((0,r.openBlock)(!0),(0,r.createElementBlock)(r.Fragment,null,(0,r.renderList)(s.thirdValue,(e=>((0,r.openBlock)(),(0,r.createElementBlock)("div",{class:(0,r.normalizeClass)(["keyboardItem",{disable:B.disable(e)}]),onClick:t=>B.itemClick(e),key:e},(0,r.toDisplayString)(e),11,g)))),128)),(0,r.createElementVNode)("div",{class:"keyboardItem keyboardButton",onClick:t[3]||(t[3]=e=>B.removeItem())},f)])])],2)])}const E="1234567890QWERTYUIOPASDFGHJKLZXCVBNM",x="京沪粤津冀晋蒙辽吉黑苏浙皖闽赣鲁豫鄂湘桂琼渝川贵云藏陕甘青宁新使领警学港澳";var w={name:"carNumberKeyboard",props:{title:{type:String,default:()=>"请输入车牌号码"},firstFocus:{type:!0,default:()=>!0},value:{type:[String,Array],default:()=>["","","","","","","",""]},HkCarNoSupport:{type:Boolean,default:()=>!0},completeHideKeyboard:{type:Boolean,default:()=>!0},autoCarNoTypeMatch:{type:Boolean,default:()=>!0}},data(){return{isInit:!1,curIndex:-1,isHKCarNo:!1,carNumber:["","","","","","","",""],disableChar:["I","O"],keyboardType:"ZH",firstValue:[],secondValue:[],thirdValue:[],showKeyboard:!1}},created(){this.changeType("ZH"),this.firstFocus&&(this.showKeyboard=!0,this.curIndex=0),document.addEventListener("click",this.bodyClickClose)},beforeDestroy(){document.removeEventListener("click",this.bodyClickClose)},watch:{value:{handler(e){!this.isInit&&e&&(this.isInit=!0,e.length<7&&/^[A-Z0-9]*$/.test(e)&&this.HkCarNoSupport&&this.autoCarNoTypeMatch?(this.isHKCarNo=!0,this.changeType("EN"),this.carNumber=["","","","","",""].map(((t,r)=>e[r]||""))):(this.isHKCarNo=!1,this.changeType("ZH"),this.carNumber=["","","","","","","",""].map(((t,r)=>e[r]||""))))},immediate:!0}},methods:{bodyClickClose(){this.showKeyboard&&this.closeKeyboard()},changeHKCarNO(){this.isHKCarNo=!this.isHKCarNo,this.curIndex=0,this.showKeyboard=!0,this.isHKCarNo?(this.changeType("EN"),this.carNumber=["","","","","",""]):(this.changeType("ZH"),this.carNumber=["","","","","","","",""]),this.$emit("onChange",this.carNumber,this.isHKCarNo)},closeKeyboard(){this.showKeyboard=!1,this.curIndex=-1,this.$emit("onClose")},itemClick(e){if(this.isInit=!0,!this.disableChar.includes(e)){if(this.carNumber[this.curIndex]=e,this.$emit("onChange",this.carNumber,this.isHKCarNo),this.carNumber.slice(this.curIndex+1,this.carNumber.length).every((e=>e))){if(this.carNumber.slice(0,this.curIndex).every((e=>e)))this.completeHideKeyboard?this.closeKeyboard():this.curIndex=Math.min(this.curIndex+1,this.carNumber.length-1);else for(let e=0;e<this.curIndex;e++)if(!this.carNumber[e]){this.curIndex=Number(e);break}}else for(let e=this.curIndex+1;e<this.carNumber.length;e++)if(!this.carNumber[e]){this.curIndex=Number(e);break}this.changeType(0!==this.curIndex||this.isHKCarNo?"EN":"ZH")}},curIndexVal(e){return 7!=e||7==this.curIndex||this.carNumber[7]?this.carNumber[e]:"新能源"},disable(e){return this.disableChar.includes(e)},inputItemClick(e){this.curIndex=e,this.changeType(0!==this.curIndex||this.isHKCarNo?"EN":"ZH"),this.showKeyboard=!0},changeType(e){"ZH"==e?(this.firstValue=x.split("").slice(0,20),this.secondValue=x.split("").slice(20,30),this.thirdValue=x.split("").slice(30,37)):(this.firstValue=E.split("").slice(0,20),this.secondValue=E.split("").slice(20,29),this.thirdValue=E.split("").slice(29,36)),this.keyboardType=e},removeItem(){this.carNumber[this.curIndex]="",this.curIndex-=this.curIndex>0?1:0,this.changeType(0!==this.curIndex||this.isHKCarNo?"EN":"ZH"),this.$emit("onChange",this.carNumber,this.isHKCarNo)}}},S=i(744);const V=(0,S.Z)(w,[["render",v],["__scopeId","data-v-29f668b6"]]);var K=V;K.install=e=>{e.component(K.name,K)};var H=K;const T=[H],Z=function(e){Z.installed||T.map((t=>{e.component(t.name,t)}))};"undefined"!==typeof window&&window.Vue&&Z(window.Vue);var R={install:Z,carNumberKeyboard:H},U=R}(),o}()})); //# sourceMappingURL=keyboard.umd.min.js.map