优化项
This commit is contained in:
parent
c54a35084f
commit
21f5b6884a
159
gasStation-uni/components/keyboard/keyboard.vue
Normal file
159
gasStation-uni/components/keyboard/keyboard.vue
Normal file
@ -0,0 +1,159 @@
|
||||
<template>
|
||||
<view>
|
||||
<view>
|
||||
<view style="text-align: center;height: 50px;font-size: 20px;line-height: 50px;">{{value}}</view>
|
||||
<view class="key-bom">
|
||||
<view class="wrap">
|
||||
<view class="key-line">
|
||||
<view class="key-num" @click="valChange(1)">1</view>
|
||||
<view class="key-num" @click="valChange(2)">2</view>
|
||||
<view class="key-num" @click="valChange(3)">3</view>
|
||||
</view>
|
||||
<view class="key-line">
|
||||
<view class="key-num" @click="valChange(4)">4</view>
|
||||
<view class="key-num" @click="valChange(5)">5</view>
|
||||
<view class="key-num" @click="valChange(6)">6</view>
|
||||
</view>
|
||||
<view class="key-line">
|
||||
<view class="key-num" @click="valChange(7)">7</view>
|
||||
<view class="key-num" @click="valChange(8)">8</view>
|
||||
<view class="key-num" @click="valChange(9)">9</view>
|
||||
</view>
|
||||
<view class="key-line">
|
||||
<view class="key-zero" @click="valChange(0)">0</view>
|
||||
<view class="key-num" @click="valChange('.')">.</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="wrap2">
|
||||
<view class="key-back" @click="backspace"><u-icon name="backspace" size="28"></u-icon></view>
|
||||
<view v-if="pApplt=='WECHAT'" class="key-pay" @click="choosePayMethod">支付</view>
|
||||
<view v-else class="key-pay1" @click="choosePayMethod">支付</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props:['pApplt'],
|
||||
data() {
|
||||
return {
|
||||
value:"",
|
||||
// 小程序类型:WECHAT 微信 ALIPAY 支付宝
|
||||
appltType:"WECHAT",
|
||||
}
|
||||
},
|
||||
onLoad() {
|
||||
this.appltType = this.pApplt
|
||||
},
|
||||
methods: {
|
||||
valChange(val) {
|
||||
// 将每次按键的值拼接到value变量中,注意+=写法
|
||||
uni.vibrateShort({
|
||||
success: function () {}
|
||||
});
|
||||
let index = this.value.indexOf(".")
|
||||
if(index!=-1){
|
||||
if ((this.value.length-index)>=3){
|
||||
return;
|
||||
}
|
||||
|
||||
}else{
|
||||
if (this.value.length>=7 && val!="."){
|
||||
return;
|
||||
}
|
||||
}
|
||||
this.value += val;
|
||||
// console.log(this.value.indexOf("."),this.value.length-index)
|
||||
this.$emit('amount', this.value);
|
||||
// console.log(this.value);
|
||||
},
|
||||
// 退格键被点击
|
||||
backspace() {
|
||||
// 删除value的最后一个字符
|
||||
if (this.value.length) this.value = this.value.substr(0, this.value.length - 1);
|
||||
this.$emit('backVal', this.value);
|
||||
uni.vibrateShort({
|
||||
success: function () {}
|
||||
});
|
||||
// console.log(this.value);
|
||||
},
|
||||
// 选择支付方式
|
||||
choosePayMethod(){
|
||||
uni.vibrateShort({
|
||||
success: function () {}
|
||||
});
|
||||
this.$emit('isPay', true);
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
.key-bom{
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
background-color: gainsboro;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.wrap{
|
||||
width: 73%;
|
||||
}
|
||||
.key-line{
|
||||
width: 100%;
|
||||
height: 45px;
|
||||
line-height: 45px;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
margin: 5px 0;
|
||||
}
|
||||
.key-num{
|
||||
width: 31%;
|
||||
text-align: center;
|
||||
background-color: white;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.key-zero{
|
||||
width: 64%;
|
||||
text-align: center;
|
||||
background-color: white;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.wrap2{
|
||||
width: 24%;
|
||||
}
|
||||
.key-back{
|
||||
width: 96%;
|
||||
height: 45px;
|
||||
line-height: 45px;
|
||||
background-color: white;
|
||||
border-radius: 5px;
|
||||
margin: 5px 0;
|
||||
padding-top: 10%;
|
||||
padding-left: 30%;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.key-pay{
|
||||
width: 96%;
|
||||
height: 145px;
|
||||
line-height: 145px;
|
||||
text-align: center;
|
||||
background-color: #1fbe1d;
|
||||
//background-color: #2773fc;
|
||||
color: white;
|
||||
border-radius: 5px;
|
||||
margin: 5px 0;
|
||||
}
|
||||
.key-pay1{
|
||||
width: 96%;
|
||||
height: 145px;
|
||||
line-height: 145px;
|
||||
text-align: center;
|
||||
// background-color: #1fbe1d;
|
||||
background-color: #2773fc;
|
||||
color: white;
|
||||
border-radius: 5px;
|
||||
margin: 5px 0;
|
||||
}
|
||||
</style>
|
Loading…
Reference in New Issue
Block a user