WechatOwnerService/pages/tempParkingFee/tempParkingFee.vue
2021-03-22 18:14:05 +08:00

504 lines
15 KiB
Vue

<template>
<view>
<view class="plate-context">
<view class="ak_row_black">
</view>
<view class="ak_row_title">
<text>{{communityName}}</text>
</view>
<view class="tips_block">
</view>
<view class='tips'>
<text>点击方框输入车牌号</text>
</view>
<view class="plate-input-body">
<view class="plate-input-content" v-if="flag">
<view bindtap="inputClick" data-id="0" :class="inputOnFocusIndex=='0'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index0}}</text>
</view>
<view bindtap="inputClick" data-id="1" :class="inputOnFocusIndex=='1'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index1}}</text>
</view>
<view bindtap="inputClick" data-id="2" :class="inputOnFocusIndex=='2'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index2}}</text>
</view>
<view bindtap="inputClick" data-id="3" :class="inputOnFocusIndex=='3'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index3}}</text>
</view>
<view bindtap="inputClick" data-id="4" :class="inputOnFocusIndex=='4'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index4}}</text>
</view>
<view bindtap="inputClick" data-id="5" :class="inputOnFocusIndex=='5'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index5}}</text>
</view>
<view bindtap="inputClick" data-id="6" :class="inputOnFocusIndex=='6'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index6}}</text>
</view>
</view>
<view class="new-plate-input-content" v-else>
<view bindtap="inputClick" data-id="0" :class="inputOnFocusIndex=='0'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index0}}</text>
</view>
<view bindtap="inputClick" data-id="1" :class="inputOnFocusIndex=='1'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index1}}</text>
</view>
<view bindtap="inputClick" data-id="2" :class="inputOnFocusIndex=='2'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index2}}</text>
</view>
<view bindtap="inputClick" data-id="3" :class="inputOnFocusIndex=='3'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index3}}</text>
</view>
<view bindtap="inputClick" data-id="4" :class="inputOnFocusIndex=='4'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index4}}</text>
</view>
<view bindtap="inputClick" data-id="5" :class="inputOnFocusIndex=='5'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index5}}</text>
</view>
<view bindtap="inputClick" data-id="6" :class="inputOnFocusIndex=='6'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index6}}</text>
</view>
<view bindtap="inputClick" data-id="7" :class="inputOnFocusIndex=='7'?'plate-nums-foc':'plate-nums-first'">
<text class="plate-num-text">{{inputPlates.index7}}</text>
</view>
</view>
</view>
<view class='plate-input-flag' bindtap='changeplate'>
<text>{{carNumBtn}}</text>
</view>
<view class="plat-btn-black"></view>
<view class="plat-btn">
<van-button type="primary" :disabled="carNumBtnDisable" bind:click="queryCarNum" block>立即查询</van-button>
</view>
</view>
<!--键盘-->
<view class="keyboard" v-if="isKeyboard">
<view class="kb_top">
<text @click="tapSpecBtn" data-index="1" style="position:absolute;right:0;display:block;height:74rpx;padding:0 34rpx; color:#03BF70;line-height:74rpx; font-size: 30rpx;">关闭</text>
</view>
<view style="width:100%; text-align:center;" v-if="!isNumberKB">
<view style="width:99%;display:flex;text-align:center;margin:0 auto">
<view @click="tapKeyboard" class="td td_nor" data-index="idx" data-val="itemName" hoverClass="board_bg"
hoverStartTime="0" hoverStayTime="80" v-if="idx<=9" v-for="(itemName,index) in keyboard1" v-for-index="idx"
v-for-item="itemName" v-key="itemName">
{{itemName}}
</view>
</view>
<view style="display:flex;text-align:center; width:90%;margin:0 auto">
<view @click="tapKeyboard" class="td td_nor" data-index="idx" data-val="itemName" hoverClass="board_bg"
hoverStartTime="0" hoverStayTime="80" v-if="idx<=18&&idx>9" v-for="(itemName,index) in keyboard1" v-key="itemName">
{{itemName}}
</view>
</view>
<view style="display:flex;text-align:center; width:70%;margin:0 auto">
<view @click="tapKeyboard" class="td td_nor" data-index="idx" data-val="itemName" hoverClass="board_bg"
hoverStartTime="0" hoverStayTime="80" v-if="idx<=25&&idx>18" v-for="(itemName,index) in keyboard1" v-for-index="idx"
v-for-item="itemName" v-key="itemName">
{{itemName}}
</view>
</view>
<view style="display:flex; width:50%;margin:0 auto;text-align:center;">
<view @click="tapKeyboard" class="td td_nor" data-index="idx" data-val="itemName" hoverClass="board_bg"
hoverStartTime="0" hoverStayTime="80" v-if="idx>25" v-for="(itemName,index) in keyboard1" v-for-index="idx"
v-for-item="itemName" v-key="itemName">
{{itemName}}
</view>
</view>
<view bindtap="tapSpecBtn" class="del-first" data-index="0" hoverClass="del-hover" hoverStartTime="0" hoverStayTime="80">
<!-- <image class="del-img" data-index="0" mode="scaleToFill" src="../../images/delete.png"></image> -->
<text data-index="0" class="iconfont iconiconfonttuige2"></text>
</view>
</view>
<view style="width:100%; text-align:center;" v-if="isNumberKB">
<view style="width:99%;display:flex;text-align:center;margin:0 auto">
<view class="td td_num board_bg" v-if="!tapNum&&idx<=9" v-for="(itemName,index) in keyboardNumber" v-for-index="idx"
v-for-item="itemName" v-key="itemName">
{{itemName}}
</view>
</view>
<view style="width:99%;display:flex;text-align:center;margin:0 auto">
<view @click="tapKeyboard" class="td td_num" data-index="idx" data-val="itemName" hoverClass="board_bg"
hoverStartTime="0" hoverStayTime="80" v-if="tapNum&&idx<=9" v-for="(itemName,index) in keyboardNumber"
v-for-index="idx" v-for-item="itemName" v-key="itemName">
{{itemName}}
</view>
</view>
<view style="width:99%;display:flex;text-align:center;margin:0 auto">
<view @click="tapKeyboard" class="td td_num" data-index="idx" data-val="itemName" hoverClass="board_bg"
hoverStartTime="0" hoverStayTime="80" v-if="idx>9&&idx<=19" v-for="(itemName,index) in keyboardNumber"
v-for-index="idx" v-for-item="itemName" v-key="itemName">
{{itemName}}
</view>
</view>
<view style="width:99%;display:flex;text-align:center;margin:0 auto">
<view @click="tapKeyboard" class="td td_num" data-index="idx" data-val="itemName" hoverClass="board_bg"
hoverStartTime="0" hoverStayTime="80" v-if="idx>19&&idx<=29" v-for="(itemName,index) in keyboardNumber"
v-for-index="idx" v-for-item="itemName" v-key="itemName">
{{itemName}}
</view>
</view>
<view style="width:69%;display:flex;text-align:left; margin-left:5rpx;">
<view @click="tapKeyboard" class="td td_num" data-index="idx" data-val="itemName" hoverClass="board_bg"
hoverStartTime="0" hoverStayTime="80" v-if="idx>29&&idx<=33" v-for="(itemName,index) in keyboardNumber"
v-for-index="idx" v-for-item="itemName" v-key="itemName">
{{itemName}}
</view>
<view class="td td_num board_bg" v-if="!tapNum&&idx>33" v-for="(itemName,index) in keyboardNumber" v-for-index="idx"
v-for-item="itemName" v-key="index">
{{itemName}}
</view>
<view @click="tapKeyboard" class="td td_num" data-index="idx" data-val="itemName" hoverClass="board_bg"
hoverStartTime="0" hoverStayTime="80" v-if="tapNum&&idx>33" v-for="(itemName,index) in keyboardNumber"
v-for-index="idx" v-for-item="itemName" v-key="itemName">
{{itemName}}
</view>
</view>
<view bindtap="tapSpecBtn" class="del-first" data-index="0" hoverClass="del-hover" hoverStartTime="0" hoverStayTime="80">
<text data-index="0" class="iconfont iconiconfonttuige2"></text>
</view>
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
isKeyboard: !1,
isNumberKB: !1,
tapNum: !1,
disableKey: "1234567890港澳学",
keyboardNumber: "1234567890ABCDEFGHJKLMNPQRSTUVWXYZ港澳学",
keyboard1: "京沪粤津冀晋蒙辽吉黑苏浙皖闽赣鲁豫鄂湘桂琼渝川贵云藏陕甘青宁新",
inputPlates: {
index0: "青",
index1: "A",
index2: "",
index3: "",
index4: "",
index5: "",
index6: "",
index7: ""
},
inputOnFocusIndex: "",
flag: true,
communityName: '',
communityId: '',
carNumBtn: '新能源车牌',
carNum: '',
carNumBtnDisable: true
}
},
methods: {
//切换车牌
changeplate: function(e) {
var that = this;
let _flag = this.flag;
let _carNumBtn = '新能源车牌';
if (_flag) {
_flag = false;
_carNumBtn = '普通车牌';
} else {
_flag = true;
_carNumBtn = '新能源车牌';
}
that.flag = _flag;
that.carNumBtn = _carNumBtn;
that.inputPlates = {
index0: "青",
index1: "A",
index2: "",
index3: "",
index4: "",
index5: "",
index6: "",
index7: ""
}
},
//切换车牌
changeplate1: function() {
var that = this;
let _flag = this.flag;
if (_flag) {
_flag = false;
} else {
_flag = true;
}
that.flag = _flag;
that.inputPlates = {
index0: "青",
index1: "A",
index2: "",
index3: "",
index4: "",
index5: "",
index6: "",
index7: ""
}
},
inputClick: function(t) {
var that = this;
console.log('输入框:', t)
this.inputOnFocusIndex = t.target.dataset.id;
this.isKeyboard = !0
if ("0" == this.inputOnFocusIndex) {
this.tapNum = !1;
this.isNumberKB = !1
} else if ("1" == this.inputOnFocusIndex) {
this.tapNum = !1;
this.isNumberKB = !0
} else {
this.tapNum = !0,
this.isNumberKB = !0
}
},
//键盘点击事件
tapKeyboard: function(t) {
t.target.dataset.index;
var a = t.target.dataset.val;
switch (this.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.inputPlates.index0 + this.inputPlates.index1 + this.inputPlates.index2 + this.inputPlates
.index3 + this.inputPlates.index4 + this.inputPlates.index5 + this.inputPlates.index6 + this.inputPlates
.index7
console.log('车牌号:', n);
this.setData({
carNum: n
})
this.checkedSubmitButtonEnabled();
},
//键盘关闭按钮点击事件
tapSpecBtn: function(t) {
var a = this,
e = t.target.dataset.index;
if (0 == e) {
switch (parseInt(this.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"
});
}
} else 1 == e && a.setData({
isKeyboard: !1,
isNumberKB: !1,
inputOnFocusIndex: ""
});
this.checkedSubmitButtonEnabled();
},
//键盘切换
checkedKeyboard: function() {
var t = this;
"0" == this.inputOnFocusIndex ? t.setData({
tapNum: !1,
isNumberKB: !1
}) : "1" == this.inputOnFocusIndex ? t.setData({
tapNum: !1,
isNumberKB: !0
}) : this.inputOnFocusIndex.length > 0 && t.setData({
tapNum: !0,
isNumberKB: !0
});
},
checkedSubmitButtonEnabled: function() {
this.checkedKeyboard();
var t = !0;
for (var a in this.inputPlates)
if ("index7" != a && this.inputPlates[a].length < 1) {
this.setData({
carNumBtnDisable: true
})
t = !1;
break;
}
if (t) {
this.setData({
carNumBtnDisable: false
})
}
},
queryCarNum: function() {
let carNum = this.carNum;
let _that = this;
if (carNum == '') {
wx.showToast({
title: '请重新输入车牌号',
});
return;
}
//查询车辆是否在该 小区停车场中
let _objData = {
communityId: this.communityId,
carNum: carNum,
state: '100300,100600',
page: 1,
row: 1
}
context.request({
url: constant.url.listCarIn,
header: context.getHeaders(),
method: "GET",
data: _objData, //动态数据
success: function(res) {
console.log("请求返回信息:", res);
if (res.statusCode == 200) {
let _carInouts = res.data.carInouts;
if (_carInouts == null || _carInouts.length == 0) {
wx.showToast({
title: "未查询到在场车辆或已支付",
icon: 'none',
duration: 2000
});
return;
}
let _tmpCarInout = _carInouts[0];
_tmpCarInout['communityId'] = _that.data.communityId;
_tmpCarInout['communityName'] = _that.data.communityName;
wx.navigateTo({
url: '/pages/tempParkingFeePay/tempParkingFeePay?carInfo=' + JSON.stringify(_carInouts[0]),
});
return;
}
wx.showToast({
title: "服务器异常了",
icon: 'none',
duration: 2000
})
},
fail: function(e) {
wx.showToast({
title: "服务器异常了",
icon: 'none',
duration: 2000
})
}
})
}
}
}
</script>
<style>
@import "./tempParkingFee.css";
</style>