123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326 |
- // components/CarNumInput/index.js
- Component({
- /**
- * 组件的属性列表
- */
- properties: {
- isKeyboard: {
- type: Boolean,
- value: false,
- },
- isNewEnergy:{//是否显示新能源按钮
- type: Boolean,
- value: false,
- },
- inputPlates:{////默认显示车牌号
- type: Object,
- value: '',
- },
- inputOnFocusIndex:{
- type: String,
- value: '',
- },
- },
- /**
- * 组件的初始数据
- */
- data: {
- isLoading: false,
- appUserId: "",
- escapeOrderList: [],
- carNumList: [],
- hasOrder: false,
- isKeyboard: false,//键盘弹窗显示
- isNumberKB: true,
- tapNum: false,
- disableKey: "1234567890港澳学",
- // keyboardNumber: "1234567890ABCDEFGHJKLMNPQRSTUVWXYZ港澳学",
- keyboardNumber: "1234567890QWERTYUP港澳ASDFGHJKL学ZXCVBNM",
- keyboard1: "渝川京沪粤津冀晋蒙辽吉黑苏浙皖闽赣鲁豫鄂湘桂琼贵云藏陕甘青宁新",
- inputPlates: {
- index0: "",
- index1: "",
- index2: "",
- index3: "",
- index4: "",
- index5: "",
- index6: "",
- index7: ""
- },
- inputOnFocusIndex: "",
- isNewEnergy: false,
- carNum: ""
- },
- /**
- * 组件的方法列表
- */
- methods: {
- //切换车牌
- changeplate: function (t) {
- var that = this;
- that.setData({
- 'inputPlates.index7':'',//切换是否是新能源时将其置空
- isNewEnergy: !that.data.isNewEnergy,
- });
- this.tapKeyboard(t)
- this.checkCarNum();
- },
- //切换车牌
- changeplate1: function () {
- var that = this;
- that.setData({
- flag: true,
- inputPlates: {
- index0: "",
- index1: "",
- index2: "",
- index3: "",
- index4: "",
- index5: "",
- index6: "",
- index7: ""
- },
- })
- },
- inputClick: function (t) {
- var that = this;
- //console.log('输入框:', t);
- //console.log('输入框:', t.target.dataset.id);
- if (t.target.dataset.id == 0) {
- that.setData({
- inputOnFocusIndex: t.target.dataset.id,
- isNumberKB: true,
- isKeyboard: true,
- tapNum: false,
- })
- };
- if (t.target.dataset.id == 1) {
- that.setData({
- inputOnFocusIndex: t.target.dataset.id,
- isNumberKB: false,
- isKeyboard: true,
- tapNum: false,
- })
- }
- if (t.target.dataset.id > 1) {
- that.setData({
- inputOnFocusIndex: t.target.dataset.id,
- isNumberKB: false,
- isKeyboard: true,
- tapNum: true,
- })
- }
- },
- //键盘点击事件
- tapKeyboard: function (t) {
- t.target.dataset.index;
- var a = t.target.dataset.val;
- //console.log("data",this.data);
- //console.log('键盘:',a);
- //console.log("index",t.target.dataset.index);
- //console.log("focus",this.data.inputOnFocusIndex);
- switch (parseInt(this.data.inputOnFocusIndex)) {
- case 0:
- this.setData({
- "inputPlates.index0": a,
- inputOnFocusIndex: "1"
- });
- break;
- case 1:
- this.setData({
- "inputPlates.index1": a,
- inputOnFocusIndex: "2"
- });
- break;
- case 2:
- this.setData({
- "inputPlates.index2": a,
- inputOnFocusIndex: "3"
- });
- break;
- case 3:
- this.setData({
- "inputPlates.index3": a,
- inputOnFocusIndex: "4"
- });
- break;
- case 4:
- this.setData({
- "inputPlates.index4": a,
- inputOnFocusIndex: "5"
- });
- break;
- case 5:
- this.setData({
- "inputPlates.index5": a,
- inputOnFocusIndex: "6"
- });
- break;
- case 6:
- this.setData({
- "inputPlates.index6": a,
- inputOnFocusIndex: "7"
- });
- break;
- case 7:
- this.setData({
- "inputPlates.index7": a,
- inputOnFocusIndex: "7"
- });
- }
- var n = this.data.inputPlates.index0 + this.data.inputPlates.index1 + this.data.inputPlates.index2 + this.data.inputPlates.index3 + this.data.inputPlates.index4 + this.data.inputPlates.index5 + this.data.inputPlates.index6
- if(this.data.isNewEnergy&&this.data.inputPlates.index7){
- n = n + this.data.inputPlates.index7
- }
- // console.log('车牌号:', n, '--',this.data.inputPlates.index7);
- this.data.carNum = n;
- this.checkedSubmitButtonEnabled();
- this.checkCarNum();
- },
- //键盘关闭按钮点击事件
- tapSpecBtn: function (t) {
- var a = this,
- e = t.target.dataset.index;
- if (0 == e) {
- switch (parseInt(this.data.inputOnFocusIndex)) {
- case 0:
- this.setData({
- "inputPlates.index0": "",
- inputOnFocusIndex: "0"
- });
- break;
- case 1:
- this.setData({
- "inputPlates.index1": "",
- inputOnFocusIndex: "0"
- });
- break;
- case 2:
- this.setData({
- "inputPlates.index2": "",
- inputOnFocusIndex: "1"
- });
- break;
- case 3:
- this.setData({
- "inputPlates.index3": "",
- inputOnFocusIndex: "2"
- });
- break;
- case 4:
- this.setData({
- "inputPlates.index4": "",
- inputOnFocusIndex: "3"
- });
- break;
- case 5:
- this.setData({
- "inputPlates.index5": "",
- inputOnFocusIndex: "4"
- });
- break;
- case 6:
- this.setData({
- "inputPlates.index6": "",
- inputOnFocusIndex: "5"
- });
- break;
- case 7:
- this.setData({
- "inputPlates.index7": "",
- inputOnFocusIndex: "6"
- });
- }
- this.checkedSubmitButtonEnabled();
- } else 1 == e && a.setData({
- isKeyboard: !1,
- isNumberKB: !1,
- inputOnFocusIndex: ""
- });
- var n = ''
- if(this.data.inputPlates){
- n = this.data.inputPlates.index0 + this.data.inputPlates.index1 + this.data.inputPlates.index2 + this.data.inputPlates.index3 + this.data.inputPlates.index4 + this.data.inputPlates.index5 + this.data.inputPlates.index6
- if(this.data.isNewEnergy&&this.data.inputPlates.index7){
- n = n + this.data.inputPlates.index7
- }
- }
-
- //console.log('车牌号:', n);
- this.data.carNum = n;
- this.checkCarNum();
- },
- //键盘切换
- checkedKeyboard: function () {
- var t = this;
- //console.log("键盘切换", this.data.inputOnFocusIndex);
- if (this.data.inputOnFocusIndex == 0) {
- t.setData({
- tapNum: false,
- isNumberKB: true
- })
- }
- if (this.data.inputOnFocusIndex == 1) {
- t.setData({
- tapNum: false,
- isNumberKB: false
- })
- }
- if (this.data.inputOnFocusIndex > 1) {
- t.setData({
- tapNum: true,
- isNumberKB: false
- })
- }
- },
- checkedSubmitButtonEnabled: function () {
- this.checkedKeyboard();
- var t = !0;
- for (var a in this.data.inputPlates)
- if ("index7" != a && this.data.inputPlates[a].length < 1) {
- t = !1;
- break;
- }
- },
- //校验车牌号-车牌输入限制了正确格式只判断车牌位数
- checkCarNum: function () {
- if (this.data.isNewEnergy && this.data.carNum.length < 8) {
- let res = {
- carNum: this.data.carNum,
- isPlate: false
- }
- this.triggerEvent("setCarNum", res);
- return false
- }
- if (!this.data.isNewEnergy) {
- if (this.data.carNum.length < 7) {
- let res = {
- carNum: this.data.carNum,
- isPlate: false
- }
- this.triggerEvent("setCarNum", res);
- return false
- } else {
- var carNum = this.data.carNum.substr(0, 7);
- let res = {
- carNum: carNum,
- isPlate: true
- }
- this.triggerEvent("setCarNum", res);
- return true;
- }
- }
- let res = {
- carNum: this.data.carNum,
- isPlate: true
- }
- this.triggerEvent("setCarNum", res);
- return true;
- }
- }
- })
|