280 lines
6.5 KiB
JavaScript
280 lines
6.5 KiB
JavaScript
const util = require('../../utils/util.js');
|
|
const api = require('../../config/api.js');
|
|
|
|
var app = getApp()
|
|
Page({
|
|
data: {
|
|
objs:{},
|
|
optionsData:{},
|
|
paramsDatas:{},
|
|
radio:'',
|
|
list:{},
|
|
areadly:true,
|
|
prescriptionList: [],
|
|
actionsheetVisible: false,
|
|
hosp_out_trade_no:'',
|
|
},
|
|
handleActionsheet() {
|
|
this.actionsheetVisible = !this.actionsheetVisible;
|
|
this.setData({
|
|
actionsheetVisible: this.actionsheetVisible
|
|
});
|
|
},
|
|
|
|
//取消预结算
|
|
CancelPreSettlement(){
|
|
let payOrdId = ''
|
|
let payToken = ''
|
|
let zfjsbz = ''
|
|
if(this.data.radio==0){
|
|
payOrdId = this.data.list.payOrdId
|
|
payToken = this.data.list.payToken
|
|
zfjsbz = '0'
|
|
}else{
|
|
payOrdId = ''
|
|
payToken = ''
|
|
zfjsbz = '1'
|
|
}
|
|
|
|
let dataList = {
|
|
jssjh:this.data.list.detail.sjh,
|
|
payOrdId:payOrdId,
|
|
payToken:payToken,
|
|
zfjsbz:zfjsbz
|
|
}
|
|
wx.request({
|
|
url: 'https://fy.btlsoln.com:8443/CancelPreSettlement',
|
|
method:"POST",
|
|
data:dataList,
|
|
header:{
|
|
'content-type':'application/json'
|
|
},
|
|
success: (res)=> {
|
|
console.log(res,'取消预结算')
|
|
}
|
|
})
|
|
|
|
},
|
|
|
|
/**
|
|
* 用户点击右上角分享
|
|
*/
|
|
onShareAppMessage() {
|
|
|
|
},
|
|
payMoney(moneyData) {
|
|
let orderId = this.data.objs.orderId
|
|
let {hosp_out_trade_no} = this.data.list
|
|
wx.requestPayment({
|
|
timeStamp:moneyData.timeStamp,
|
|
nonceStr:moneyData.nonceStr,
|
|
package:moneyData.package,
|
|
signType:'MD5',
|
|
paySign:moneyData.paySign,
|
|
success(res) {
|
|
app.globalData.areadly = false
|
|
wx.navigateTo({
|
|
url:'/pages/wxDetail/wxDetail?hosp_out_trade_no='+hosp_out_trade_no
|
|
})
|
|
},
|
|
fail(res) {
|
|
wx.showToast({
|
|
title: "支付失败!",
|
|
icon: "error"
|
|
})
|
|
app.globalData.areadly = false
|
|
wx.navigateTo({
|
|
url:'/pages/wxDetail/wxDetail?hosp_out_trade_no='+hosp_out_trade_no
|
|
})
|
|
}
|
|
})
|
|
},
|
|
|
|
//微信点击去支付
|
|
pay(){
|
|
if(this.data.radio==0){
|
|
this.ybpay()
|
|
}else{
|
|
this.wxpay()
|
|
}
|
|
},
|
|
|
|
//普通支付
|
|
wxpay(){
|
|
let {sjh,ysje,zfje,zje,patid} = this.data.list.detail
|
|
let {hosp_out_trade_no} = this.data.list
|
|
// console.log(this.data.list,'微信支付')
|
|
let reqDTO = {
|
|
// tradeNo:this.data.objs.orderId,
|
|
tradeNo:hosp_out_trade_no,
|
|
orderTitle:'',
|
|
openid:app.globalData.openId,
|
|
total_fee:zje,
|
|
sjh:sjh,
|
|
ysje:ysje,
|
|
zfje:zfje,
|
|
patid:patid
|
|
}
|
|
wx.request({
|
|
url: 'https://fy.btlsoln.com:8443/api/wxpay/wxAppletPay',
|
|
method:"POST",
|
|
data:reqDTO,
|
|
header:{
|
|
'content-type':'application/json'
|
|
},
|
|
success: (res)=> {
|
|
if(res.data.errCode==0){
|
|
// wx.setStorageSync('hosp_out_trade_no', hosp_out_trade_no)
|
|
this.payMoney(res.data.data)
|
|
}else{
|
|
wx.showModal({
|
|
content:res.data.errMsg ,
|
|
showCancel: false,
|
|
confirmText: '确定',
|
|
confirmColor: '#3CC51F',
|
|
success (res) {
|
|
if (res.confirm) {
|
|
console.log('用户点击确定')
|
|
}
|
|
}
|
|
})
|
|
}
|
|
}
|
|
})
|
|
|
|
},
|
|
|
|
//医保支付
|
|
ybpay(){
|
|
let {patid,ysje} = this.data.list.detail
|
|
|
|
let pay_type = ''
|
|
if(this.data.list.detail.zfje>0){
|
|
pay_type = 3
|
|
}else{
|
|
pay_type = 2
|
|
}
|
|
let num = app.globalData.datas
|
|
let loaction = num.user_longitude_latitude.longitude+','+num.user_longitude_latitude.latitude
|
|
let {zfje,ybzf,zhzf,sjh,zje,yjjzf} = this.data.list.detail
|
|
let {gmt_out_create,payOrdId,payToken,hosp_out_trade_no} = this.data.list
|
|
let reqDTO = {
|
|
cash_fee:ysje,
|
|
city_id:num.city_id,
|
|
gmt_out_create:gmt_out_create,
|
|
hosp_out_trade_no:hosp_out_trade_no,
|
|
ybzf:ybzf,
|
|
zhzf:zhzf,
|
|
yjjzf:yjjzf,
|
|
openid:app.globalData.openId,
|
|
pay_type:pay_type,
|
|
request_content:JSON.stringify({payAuthNo:num.pay_auth_no,payOrdId:payOrdId,setlLatlnt:loaction}),
|
|
return_url:'pages/newChatDetail/newChatDetail?hosp_out_trade_no='+hosp_out_trade_no,
|
|
serial_no:sjh,
|
|
total_fee:zje,
|
|
user_card_no:num.user_card_no,
|
|
user_name:num.user_name,
|
|
patid:patid,
|
|
payOrdId:payOrdId,
|
|
payToken:payToken,
|
|
ysje:ysje
|
|
}
|
|
|
|
reqDTO = JSON.stringify(reqDTO)
|
|
wx.request({
|
|
url: 'https://fy.btlsoln.com:8443/api/wxybpay/ybAppletPay',
|
|
method:"POST",
|
|
data:reqDTO,
|
|
header:{
|
|
'content-type':'application/json'
|
|
},
|
|
success: (res)=> {
|
|
if(res.data.errCode==0){
|
|
app.globalData.areadly = false
|
|
wx.setStorageSync('hosp_out_trade_no', hosp_out_trade_no)
|
|
wx.navigateToMiniProgram({
|
|
appId:res.data.data.pay_appid,
|
|
path:res.data.data.pay_url,
|
|
envVersion: 'release',
|
|
success(res) {
|
|
console.log('跳转成功')
|
|
// wx.navigateTo({
|
|
// url: 'pages/newChatDetail/newChatDetail?hosp_out_trade_no='+this.globalData.hosp_out_trade_no,
|
|
// })
|
|
},
|
|
|
|
})
|
|
}
|
|
}
|
|
})
|
|
},
|
|
|
|
onLoad(options) {
|
|
let a = JSON.parse(options.obj)
|
|
let b = a.detail.map(item=>{
|
|
item.xmsl = Math.trunc(item.xmsl)
|
|
return item
|
|
})
|
|
let list = JSON.parse(options.list)
|
|
this.setData({objs:a,radio:options.radioValue,prescriptionList:b,list:list})
|
|
console.log(a, "a");
|
|
let xx = a;
|
|
a.sjh = list.detail.sjh;
|
|
console.log(xx, "xx");
|
|
this.updateTJ(xx, list);
|
|
this.updatekf(xx, list);
|
|
},
|
|
|
|
updatekf(xx, list){
|
|
util.requestPost(api.kfconfirmOrder, {
|
|
patid: xx.patid,
|
|
detail: xx.detail,
|
|
orderId: list.hosp_out_trade_no,
|
|
sjh: xx.sjh
|
|
})
|
|
.then(function(res) {
|
|
console.log(res);
|
|
if (res.code === 0) {
|
|
console.log("confirmOrder res:");
|
|
console.log(res);
|
|
|
|
|
|
}
|
|
else{
|
|
|
|
}
|
|
});
|
|
},
|
|
|
|
updateTJ(xx, list){
|
|
util.requestPost(api.confirmOrder, {
|
|
patid: xx.patid,
|
|
detail: xx.detail,
|
|
orderId: list.hosp_out_trade_no,
|
|
sjh: xx.sjh
|
|
})
|
|
.then(function(res) {
|
|
console.log(res);
|
|
if (res.code === 0) {
|
|
console.log("confirmOrder res:");
|
|
console.log(res);
|
|
|
|
|
|
}
|
|
else{
|
|
|
|
}
|
|
});
|
|
},
|
|
|
|
onShow() {
|
|
|
|
},
|
|
onUnload() {
|
|
if(app.globalData.areadly && this.data.radio!=0){
|
|
this.CancelPreSettlement()
|
|
}else{
|
|
}
|
|
},
|
|
})
|
|
|