261 lines
5.4 KiB
JavaScript
261 lines
5.4 KiB
JavaScript
// pages/cashier_desk/cashier_desk.js
|
||
let app = getApp();
|
||
Page({
|
||
|
||
/**
|
||
* 页面的初始数据
|
||
*/
|
||
data: {
|
||
storeName: {
|
||
thumb: "",
|
||
name: ""
|
||
},
|
||
payMuch: "0"
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面加载
|
||
*/
|
||
onLoad: function(options) {},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面初次渲染完成
|
||
*/
|
||
onReady: function() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面显示
|
||
*/
|
||
onShow: function() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面隐藏
|
||
*/
|
||
onHide: function() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 生命周期函数--监听页面卸载
|
||
*/
|
||
onUnload: function() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面相关事件处理函数--监听用户下拉动作
|
||
*/
|
||
onPullDownRefresh: function() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 页面上拉触底事件的处理函数
|
||
*/
|
||
onReachBottom: function() {
|
||
|
||
},
|
||
|
||
/**
|
||
* 用户点击右上角分享
|
||
*/
|
||
onShareAppMessage: function() {
|
||
|
||
},
|
||
//处理按键
|
||
_handleKeyPress(e) {
|
||
let num = e.currentTarget.dataset.num;
|
||
//不同按键处理逻辑
|
||
// -1 代表无效按键,直接返回
|
||
if (num == -1) return false;
|
||
switch (String(num)) {
|
||
//小数点
|
||
case ".":
|
||
this._handleDecimalPoint();
|
||
break;
|
||
//删除键
|
||
case "D":
|
||
this._handleDeleteKey();
|
||
break;
|
||
//确认键
|
||
case "S":
|
||
this._handleConfirmKey();
|
||
break;
|
||
default:
|
||
this._handleNumberKey(num);
|
||
break;
|
||
}
|
||
},
|
||
//处理小数点函数
|
||
_handleDecimalPoint() {
|
||
//如果包含小数点,直接返回
|
||
if (this.data.payMuch.indexOf(".") > -1) {
|
||
return false;
|
||
}
|
||
//如果小数点是第一位,补0
|
||
if (!this.data.payMuch.length) {
|
||
this.setData({
|
||
payMuch: "0."
|
||
});
|
||
} else {
|
||
//如果不是,添加一个小数点
|
||
this.setData({
|
||
payMuch: this.data.payMuch + "."
|
||
});
|
||
}
|
||
},
|
||
//处理删除键
|
||
_handleDeleteKey() {
|
||
let S = this.data.payMuch;
|
||
//如果没有输入,直接返回
|
||
if (S.length <= 1) {
|
||
this.setData({
|
||
payMuch: "0"
|
||
});
|
||
return;
|
||
}
|
||
//否则删除最后一个
|
||
this.setData({
|
||
payMuch: S.substring(0, S.length - 1)
|
||
});
|
||
},
|
||
_handleConfirmKey() {
|
||
let S = this.data.payMuch;
|
||
//未输入
|
||
if (!S.length || Number(S) === 0) {
|
||
wx.showToast({
|
||
icon: 'none',
|
||
title: "您目前未输入!",
|
||
duration: 1500
|
||
});
|
||
return false;
|
||
}
|
||
//将 8. 这种转换成 8.00
|
||
if (S.indexOf(".") > -1 && S.indexOf(".") === S.length - 1) {
|
||
S = Number(S.substring(0, S.length - 1)).toFixed(2);
|
||
}
|
||
//保留两位
|
||
S = Number(S).toFixed(2);
|
||
this.setData({
|
||
payMuch: S
|
||
});
|
||
this.confirmOrder();
|
||
},
|
||
confirmOrder() {
|
||
var val = this.data.payMuch;
|
||
if (val && val > 0) {
|
||
this.getData(true, val);
|
||
setTimeout(function() {
|
||
wx.hideLoading();
|
||
}, 3000);
|
||
} else {
|
||
wx.showToast({
|
||
icon: 'none',
|
||
title: "请输入正确的付款金额!",
|
||
duration: 1500
|
||
});
|
||
}
|
||
},
|
||
//处理数字
|
||
_handleNumberKey(num) {
|
||
let S = this.data.payMuch;
|
||
//如果有小数点且小数点位数不小于2
|
||
if (S.indexOf(".") > -1 && S.substring(S.indexOf(".") + 1).length < 2) {
|
||
this.setData({
|
||
payMuch: S + num
|
||
});
|
||
}
|
||
//没有小数点
|
||
if (!(S.indexOf(".") > -1)) {
|
||
//如果第一位是0,只能输入小数点
|
||
if (num == 0 && S.length == 0) {
|
||
this.setData({
|
||
payMuch: "0."
|
||
});
|
||
} else {
|
||
if (S.length && Number(S.charAt(0)) === 0) {
|
||
this.setData({
|
||
payMuch: num
|
||
});
|
||
return;
|
||
}
|
||
this.setData({
|
||
payMuch: S + num
|
||
});
|
||
}
|
||
}
|
||
},
|
||
getData(bolshow, money) {
|
||
let Json = {
|
||
bolshow: bolshow,
|
||
money: money,
|
||
moneyBol:true
|
||
};
|
||
|
||
let _wx_token = '';
|
||
wx.showLoading({
|
||
title: '正在发起付款金额',
|
||
});
|
||
try {
|
||
var value = wx.getStorageSync('wx_token');
|
||
if (value) {
|
||
_wx_token = value;
|
||
}
|
||
} catch (e) {
|
||
console.log(e);
|
||
}
|
||
wx.request({
|
||
url: app.getFrogproNetAddresss('plugin.store-cashier.frontend.app.cashier.statistic.index'),
|
||
header: {
|
||
'Content-Type': 'application/json',
|
||
'Accept': 'application/json',
|
||
'Cookie': 'PHPSESSID=' + _wx_token
|
||
},
|
||
method: "get",
|
||
success: function(resdata) {
|
||
var res = resdata.data;
|
||
if (res.result == 1) {
|
||
wxfaceapp.postMsg({
|
||
targetAppid: app.data.accept_message_id,
|
||
content: JSON.stringify(Json),
|
||
success(res) {},
|
||
fail(res) {
|
||
wx.showToast({
|
||
title: res.reply,
|
||
icon: 'none',
|
||
duration: 2000
|
||
});
|
||
}
|
||
});
|
||
wx.redirectTo({
|
||
url: "/packageC/frogpro/waitingPayment/waitingPayment?money=" + money
|
||
});
|
||
} else if (res.result == 0 && res.msg === '请登录') {
|
||
wx.redirectTo({
|
||
url: '/packageC/frogpro/backScreenlogin/backScreenlogin'
|
||
});
|
||
} else {
|
||
wx.showToast({
|
||
title: res.msg,
|
||
icon: 'none',
|
||
duration: 1500
|
||
});
|
||
}
|
||
wx.hideLoading();
|
||
},
|
||
fail: function(res) {
|
||
wx.hideLoading();
|
||
wx.showToast({
|
||
title: res,
|
||
icon: 'none',
|
||
duration: 1500
|
||
});
|
||
}
|
||
});
|
||
}
|
||
});
|