You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

352 lines
9.9 KiB

// pages/paymentInterface/paymentInterface.js
const WXAPI = require('../../utils/request')
const moment = require('../../utils/moment')
Page({
/**
* 页面的初始数据
*/
data: {
radio:'0',
leases:{},
type:''
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
if(options.type){
this.setData({
type:options.type
})
}
let leases = wx.getStorageSync('leases')
leases.timePeriod = moment(leases.signingTime).format('YYYY-MM-DD')+'~'+moment(leases.contractTime).format('YYYY-MM-DD')
leases.dueDate = moment(leases.dueDate).format('YYYY-MM-DD')
this.setData({
leases
})
},
onClick(event) {
const { name } = event.currentTarget.dataset;
this.setData({
radio: name,
});
},
payMentMethods(){
let deviceinfoList = wx.getStorageSync('deviceinfoList')
if(this.data.type == 1){
let leases =this.data.leases
let userInfo = wx.getStorageSync('userInfo')
var data = {
description: "交租",
productName: "交租",
total: parseInt(leases.monthRent)*100,//parseInt(this.data.leases.expand.rent)*100,
userId: leases.cardId,
cardId:leases.cardId,
openid:wx.getStorageSync('openid'),
appid:'wx20de9fe5943934a1',
uid:userInfo.id,
eid:userInfo.enterpriseId,
orderType:1,
payType:this.data.radio,
expand:JSON.stringify({
phone:leases.phone,
nickname:leases.name
})
}
WXAPI.miniPrepayOrder(data).then(res=>{
if(res.data.success){
if(this.data.radio == '0'){
if(parseInt(leases.monthRent) === 0){
wx.showToast({
title: "支付成功",
duration: 2000,
icon: 'success'
})
let dataOne={
code: "wx/updatePrepayStatus",
cardId:leases.cardId,
signature:wx.getStorageSync('signature'),
data: {
orderNo: res.data.data.orderNo,
status:0
}
}
WXAPI.sendCommandOne(dataOne).then(res2=>{
wx.navigateTo({
url: '/pages/rentManagement/rentManagement',
})
})
return false;
}
wx.requestPayment({
timeStamp: res.data.data.timeStamp,
appid: res.data.data.appId,
nonceStr: res.data.data.nonceStr,
package: res.data.data.package,
signType: res.data.data.signType,
totalFee: parseInt(leases.monthRent)*100,
paySign: res.data.data.paySign,
success (res1) {
wx.showToast({
title: "支付成功",
duration: 2000,
icon: 'success'
})
let dataOne={
code: "wx/updatePrepayStatus",
cardId:leases.cardId,
signature:wx.getStorageSync('signature'),
data: {
orderNo: res.data.data.orderNo,
status:0
}
}
WXAPI.sendCommandOne(dataOne).then(res2=>{
wx.navigateTo({
url: '/pages/rentManagement/rentManagement',
})
})
},
fail (res1) {
wx.showToast({
title: "支付失败",
duration: 2000,
icon: 'none'
})
let dataOne={}
if(res1.errMsg == 'requestPayment:fail cancel'){
dataOne={
code: "wx/updatePrepayStatus",
signature:wx.getStorageSync('signature'),
data: {
orderNo: res.data.data.orderNo,
status:8
}
}
}else{
dataOne={
code: "wx/updatePrepayStatus",
cardId:leases.cardId,
signature:wx.getStorageSync('signature'),
data: {
orderNo: res.data.data.orderNo,
status:6
}
}
}
WXAPI.sendCommandOne(dataOne).then(res2=>{
})
}
})
}else{
let dataOne={
code: "wx/updatePrepayStatus",
data: {
orderNo: res.data.data.orderNo,
status:0
}
}
WXAPI.sendCommand(dataOne).then(res2=>{
if(res2.success){
wx.navigateTo({
url: '/pages/rentManagement/rentManagement',
})
wx.showToast({
title: "支付成功",
duration: 2000,
icon: 'success'
})
}else{
wx.showToast({
title: res2.message,
duration: 2000,
icon: 'error'
})
}
})
}
}else{
wx.showToast({
title: `支付失败:${res.data.msg}`,
duration: 2000,
icon: 'success'
})
}
})
}else if(this.data.type == 2){
let leases =this.data.leases
if(this.data.radio == ''){
wx.showToast({
title: '请选择支付方式',
icon:'none',
duration:2000
})
}
var data = {
description: "交租",
productName: "交租",
total: parseInt(this.data.leases.monthRent)*100,//parseInt(this.data.leases.expand.rent)*100,
userId: deviceinfoList[0].cardId,
cardId:deviceinfoList[0].cardId,
openid:wx.getStorageSync('openid'),
appid:'wx20de9fe5943934a1',
uid:1,
eid:this.data.leases.enterpriseId,
payType:this.data.radio,
orderType:1,
expand:JSON.stringify({
phone:this.data.leases.phone,
nickname:this.data.leases.name
})
}
WXAPI.miniPrepayOrder(data).then(res=>{
if(parseInt(leases.monthRent) === 0){
wx.showToast({
title: "支付成功",
duration: 2000,
icon: 'success'
})
let dataOne={
code: "wx/updatePrepayStatus",
signature:wx.getStorageSync('signature'),
cardId:this.data.leases.cardId,
data: {
orderNo: res.data.data.orderNo,
status:0
}
}
WXAPI.sendCommandOne(dataOne).then(res2=>{
wx.showToast({
title: '支付成功',
duration:2000
})
wx.navigateTo({
url: '/pages/rentDetail/rentDetail',
})
})
}else{
wx.requestPayment({
timeStamp: res.data.data.timeStamp,
appid: res.data.data.appId,
nonceStr: res.data.data.nonceStr,
package: res.data.data.package,
signType: res.data.data.signType,
totalFee: parseInt(this.data.leases.monthRentt)*100,
paySign: res.data.data.paySign,
success (res1) {
wx.showToast({
title: "支付成功",
duration: 2000,
icon: 'success'
})
let dataOne={
code: "wx/updatePrepayStatus",
signature:wx.getStorageSync('signature'),
cardId:this.data.leases.cardId,
data: {
orderNo: res.data.data.orderNo,
status:0
}
}
WXAPI.sendCommandOne(dataOne).then(res2=>{
wx.showToast({
title: '支付成功',
duration:2000
})
wx.navigateTo({
url: '/pages/rentDetail/rentDetail',
})
})
},
fail (res1) {
wx.showToast({
title: "支付失败",
duration: 2000,
icon: 'none'
})
let dataOne={}
if(res1.errMsg == 'requestPayment:fail cancel'){
dataOne={
code: "wx/updatePrepayStatus",
signature:wx.getStorageSync('signature'),
data: {
orderNo: res.data.data.orderNo,
status:8
}
}
}else{
dataOne={
code: "wx/updatePrepayStatus",
signature:wx.getStorageSync('signature'),
cardId:this.data.leases.cardId,
data: {
orderNo: res.data.data.orderNo,
status:6
}
}
}
WXAPI.sendCommandOne(dataOne).then(res2=>{
wx.navigateTo({
url: '/pages/rentDetail/rentDetail',
})
})
}
})
}
})
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage: function () {
}
})