患者1.2
This commit is contained in:
@@ -0,0 +1,643 @@
|
||||
// pages/medinceOrderDetail/medinceOrderDetail.js
|
||||
const app = getApp()
|
||||
import {detectionDetail,bindCheck,cancelCheckPay,delCheckOrder,cancelCheckOrder,checkInquiry} from "../../../api/checkSugar.js"
|
||||
import {cancelPay} from "../../../api/consultOrder"
|
||||
import {cancelOrder} from "../../../api/consultOrder"
|
||||
import {fllowDoctor,notfllowDoctor} from "../../../api/consultExpert"
|
||||
import {throttle} from "../../../utils/util"
|
||||
import {getSign} from "../../../api/common"
|
||||
import Dialog from '@vant/weapp/dialog/dialog';
|
||||
Page({
|
||||
|
||||
/**
|
||||
* 页面的初始数据
|
||||
*/
|
||||
data: {
|
||||
time: 30 * 60 * 60 * 1000,
|
||||
showCover:true,
|
||||
isWait:true,
|
||||
cancelBtn:false,
|
||||
order:{},
|
||||
showError:false,
|
||||
pay_money:0,
|
||||
fileList:[],
|
||||
checkSatus:1,
|
||||
showCheckDialog:false,
|
||||
checkmessage:'',
|
||||
detection_bar_code:'',
|
||||
detection_code:'',
|
||||
order_detection_id:'',
|
||||
showDialog:false,
|
||||
message:'',
|
||||
fromType:'',
|
||||
user_doctor:{},
|
||||
order:{},
|
||||
patient_family_data:'',
|
||||
img_host:'https://oss.prod.applets.igandanyiyuan.com/applet/patient/static'
|
||||
},
|
||||
onClickHide() {
|
||||
this.setData({ showCover: false });
|
||||
wx.setStorageSync("showCover",true);
|
||||
},
|
||||
closeError(){
|
||||
this.setData({ showError: false });
|
||||
},
|
||||
delImg(event) {
|
||||
let id = event.currentTarget.dataset.id;
|
||||
this.data.fileList.splice(id, 1);
|
||||
this.setData({
|
||||
fileList: this.data.fileList
|
||||
})
|
||||
},
|
||||
previewImage(event) {
|
||||
let id = event.currentTarget.dataset.id;
|
||||
let urls = this.data.fileList;
|
||||
wx.previewImage({
|
||||
current: urls[id], // 当前显示图片的http链接
|
||||
urls: urls // 需要预览的图片http链接列表
|
||||
})
|
||||
},
|
||||
uploadFile(File) {
|
||||
wx.showLoading({
|
||||
title: '图片上传中...',
|
||||
mask: true
|
||||
})
|
||||
let THIS = this;
|
||||
getSign({
|
||||
user_type: 1,
|
||||
scene: 4
|
||||
}).then((resdata) => {
|
||||
let {
|
||||
accessid,
|
||||
dir,
|
||||
policy,
|
||||
signature,
|
||||
host
|
||||
} = resdata;
|
||||
let index = File.lastIndexOf("/");
|
||||
let filename = File.substring(index + 1, File.length);
|
||||
return new Promise((resolve, reject) => {
|
||||
wx.uploadFile({
|
||||
url: host, // 仅为示例,非真实的接口地址
|
||||
filePath: File,
|
||||
name: 'file',
|
||||
formData: {
|
||||
OSSAccessKeyId: accessid,
|
||||
policy,
|
||||
key: dir + filename,
|
||||
signature
|
||||
},
|
||||
success(res) {
|
||||
if (res.statusCode === 204) {
|
||||
let url = host + '/' + dir + filename;
|
||||
THIS.setData({
|
||||
fileList: THIS.data.fileList.concat([url])
|
||||
})
|
||||
}
|
||||
},
|
||||
fail: err => {
|
||||
console.log(err);
|
||||
}
|
||||
});
|
||||
})
|
||||
})
|
||||
},
|
||||
upload() {
|
||||
if(this.data.fileList.length>=3){
|
||||
wx.showToast({
|
||||
title: '检测管照片最多上传3张',
|
||||
icon:"none"
|
||||
})
|
||||
return false
|
||||
};
|
||||
let THIS = this;
|
||||
wx.chooseMedia({
|
||||
count: 3-this.data.fileList.length,
|
||||
mediaType: ['image'],
|
||||
sourceType: ['album', 'camera'],
|
||||
success(res) {
|
||||
var imgList = res.tempFiles;
|
||||
var promiseFun = [];
|
||||
for (let i = 0; i < imgList.length; i++) {
|
||||
var file = imgList[i].tempFilePath;
|
||||
promiseFun.push(
|
||||
THIS.uploadFile(file)
|
||||
)
|
||||
};
|
||||
Promise.all(promiseFun).then((res) => {
|
||||
wx.showToast({
|
||||
title: '图片上传成功',
|
||||
icon: "none"
|
||||
})
|
||||
wx.hideLoading();
|
||||
});
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
goBack(){
|
||||
let {fromType}=this.data;
|
||||
if(app.globalData.origion==1){
|
||||
wx.reLaunch({
|
||||
url: '/pages/index/index',
|
||||
})
|
||||
}else if(app.globalData.origion==2){
|
||||
wx.reLaunch({
|
||||
url: '/pages/index/index',
|
||||
})
|
||||
}else{
|
||||
if(fromType){
|
||||
let url=decodeURIComponent(fromType);
|
||||
let goUrl='';
|
||||
if(url.indexOf('?')!=-1){
|
||||
goUrl='/'+url+"&fromType="+url;
|
||||
}else{
|
||||
goUrl='/'+url+"?fromType="+url;
|
||||
}
|
||||
//处理聊天收到消息不及时;
|
||||
if(url.indexOf("TUIService/pages/index")!=-1){
|
||||
app.method.navigateTo({
|
||||
url:goUrl
|
||||
})
|
||||
}else{
|
||||
wx.redirectTo({
|
||||
url: goUrl
|
||||
})
|
||||
}
|
||||
|
||||
}else{
|
||||
wx.navigateBack({
|
||||
delta: 1,
|
||||
fail:function(){
|
||||
wx.reLaunch({
|
||||
url: '/pages/index/index',
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
bluript(event){
|
||||
const {value}=event.detail;
|
||||
const reg=/^SDB[A-Z](?:2[3-9]|2[0-2])[SP](?:1688[6-9]|1689\d|169\d\d|1[7-9]\d\d\d|[2-9][0-9]{4}|99999)$/;
|
||||
let detection_status=this.data.order.detection_status;
|
||||
if(detection_status!=3){
|
||||
if(reg.test(value)){
|
||||
this.setData({
|
||||
showError:false
|
||||
})
|
||||
}else{
|
||||
this.setData({
|
||||
showError:true
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
chnageIpt(event){
|
||||
const {value}=event.detail;
|
||||
this.setData({
|
||||
detection_bar_code:value
|
||||
})
|
||||
},
|
||||
handleCancelInquiryPay(){
|
||||
let {order_inquiry_id} = this.data;
|
||||
cancelPay(order_inquiry_id).then(data=>{
|
||||
wx.showToast({
|
||||
title: '取消支付成功',
|
||||
icon:'none'
|
||||
})
|
||||
this.handleCheckInquiry();
|
||||
})
|
||||
},
|
||||
handelCancelInquiryOrder(){
|
||||
let id=this.data.order_inquiry_id;
|
||||
cancelOrder(id).then(data=>{
|
||||
wx.showToast({
|
||||
title: '订单取消成功',
|
||||
icon:"none"
|
||||
});
|
||||
this.handleCheckInquiry();
|
||||
// this.goChat()
|
||||
})
|
||||
},
|
||||
handleCheckInquiry:throttle(function(){
|
||||
let id=this.data.order.order_detection_id;
|
||||
checkInquiry(id).then(data=>{
|
||||
console.log(data);
|
||||
if(data.status==1){
|
||||
this.setData({
|
||||
order_inquiry_id:data.data,
|
||||
})
|
||||
this.goChat();
|
||||
}else if(data.status==2){
|
||||
this.setData({
|
||||
showCheckDialog:true,
|
||||
order_inquiry_id:data.data,
|
||||
checkSatus:2,
|
||||
checkmessage:'当前医生有您待支付的订单,点击“继续”将为您取消订单直接进入报告解读服务。'
|
||||
})
|
||||
}else if(data.status==3){
|
||||
this.setData({
|
||||
checkSatus:3,
|
||||
showCheckDialog:true,
|
||||
order_inquiry_id:data.data,
|
||||
checkmessage:'当前医生有您待接诊的订单,点击“继续”将为您取消订单直接进入报告解读服务。'
|
||||
})
|
||||
}else if(data.status==4){
|
||||
this.setData({
|
||||
showCheckDialog:true,
|
||||
checkSatus:4,
|
||||
order_inquiry_id:data.data,
|
||||
checkmessage:'当前医生有您接诊中的订单,点击“继续”将为您直接进入报告解读服务。'
|
||||
})
|
||||
}
|
||||
})
|
||||
},1000),
|
||||
goReport:throttle(function(){
|
||||
wx.showLoading({
|
||||
mask:true,
|
||||
title: '正在打开文件...',
|
||||
});
|
||||
let url=this.data.order.detection_result_pdf;
|
||||
const randfile = new Date().getTime() + '检测报告';
|
||||
const newPath = `${wx.env.USER_DATA_PATH}/${randfile}`;
|
||||
wx.downloadFile({
|
||||
// 示例 url,并非真实存在
|
||||
url:url,
|
||||
filePath: newPath,
|
||||
success: function (res) {
|
||||
//const filePath = res.tempFilePath
|
||||
wx.openDocument({
|
||||
fileType:"pdf",
|
||||
showMenu:true,
|
||||
filePath: newPath,
|
||||
success: function (res) {
|
||||
wx.hideLoading()
|
||||
console.log('打开文档成功')
|
||||
},
|
||||
fail:function(error){
|
||||
wx.hideLoading()
|
||||
wx.showToast({
|
||||
title:res,
|
||||
icon:"none"
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
fail:function(error){
|
||||
wx.showToast({
|
||||
title:error,
|
||||
icon:"none"
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
// app.method.navigateTo({
|
||||
// url:"/pages/linkPage/linkPage?url="+encodeURIComponent(url)
|
||||
// })
|
||||
}),
|
||||
handleBindCheck:throttle(function(){
|
||||
let id=this.data.order.order_detection_id;
|
||||
let detection_status=this.data.order.detection_status;
|
||||
if(detection_status==3){
|
||||
wx.showToast({
|
||||
title: '您已提交,请等待结果',
|
||||
icon:"none"
|
||||
})
|
||||
return false
|
||||
}
|
||||
const {detection_bar_code,fileList}=this.data;
|
||||
const reg=/^SDB[A-Z](?:2[3-9]|2[0-2])[SP](?:1688[6-9]|1689\d|169\d\d|1[7-9]\d\d\d|[2-9][0-9]{4}|99999)$/;
|
||||
if(!reg.test(detection_bar_code)){
|
||||
wx.showToast({
|
||||
title: '检测码格式不正确',
|
||||
icon:"none"
|
||||
})
|
||||
this.setData({
|
||||
showError:true
|
||||
})
|
||||
return false
|
||||
}
|
||||
bindCheck(id,{
|
||||
detection_bar_code,
|
||||
detection_pic:fileList
|
||||
}).then(data=>{
|
||||
this.handleDetectionDetail();
|
||||
wx.showToast({
|
||||
title: '提交成功',
|
||||
icon:"none"
|
||||
})
|
||||
})
|
||||
}),
|
||||
goChat:throttle(function(){
|
||||
let {user_id}=this.data.user_doctor;
|
||||
let order_inquiry_id=this.data.order.order_inquiry_id;
|
||||
let anther_order_inquiry_id=this.data.order_inquiry_id;
|
||||
let id='';
|
||||
if(!order_inquiry_id && !anther_order_inquiry_id){
|
||||
wx.showToast({
|
||||
title: '服务器错误',
|
||||
icon:'none'
|
||||
});
|
||||
return false
|
||||
};
|
||||
if(order_inquiry_id){
|
||||
id=order_inquiry_id
|
||||
}else if(anther_order_inquiry_id){
|
||||
id=anther_order_inquiry_id
|
||||
}
|
||||
app.method.navigateTo({
|
||||
url: '/TUIService/pages/index?currentConversationID=' + user_id + "&order_inquiry_id=" + id+ "&inquiry_type=5"
|
||||
})
|
||||
}),
|
||||
orderMsg(){
|
||||
wx.requestSubscribeMessage({
|
||||
tmplIds: ['82rKSdbKkbFK_tHmIMnHyfyRJq9ujvmAsTjRHdxmCdE'],
|
||||
success (res) {
|
||||
Dialog.confirm({
|
||||
title: '温馨提示',
|
||||
confirmButtonOpenType:'contact',
|
||||
message: '立即联系客服',
|
||||
}).then(() => {
|
||||
// on confirm
|
||||
}).catch(()=>{
|
||||
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
goSugar:throttle(function(){
|
||||
app.method.navigateTo({
|
||||
url: '/pages/sugarDetail/sugarDetail',
|
||||
})
|
||||
}),
|
||||
goExpert:throttle(function(){
|
||||
let id=this.data.user_doctor.doctor_id;
|
||||
app.method.navigateTo({
|
||||
url: '/pages/expertDetail/expertDetail?doctor_id='+id,
|
||||
})
|
||||
}),
|
||||
handleDetectionDetail(flag=false){
|
||||
let id =this.data.order_detection_id;
|
||||
detectionDetail(id).then(data=>{
|
||||
if(flag){
|
||||
let pages = getCurrentPages();
|
||||
let prevPage = pages[pages.length - 2]; //上一页
|
||||
prevPage.setData({
|
||||
changeStatus:data.detection_status,
|
||||
changeId:id
|
||||
});
|
||||
};
|
||||
let pay_money=(Number(data.amount_total)-Number(data.coupon_amount_total)).toFixed(2);
|
||||
this.setData({
|
||||
order:data,
|
||||
detection_bar_code:data.detection_bar_code,
|
||||
user_doctor:data.user_doctor,
|
||||
pay_money
|
||||
});
|
||||
|
||||
|
||||
if(data.detection_pic && data.detection_pic.length>0){
|
||||
this.setData({
|
||||
fileList:data.detection_pic
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
goScan:throttle(function(){
|
||||
let that=this;
|
||||
wx.scanCode({
|
||||
onlyFromCamera: true,
|
||||
scanType:['qrCode','barCode','datamatrix','pdf417'],
|
||||
success (res) {
|
||||
const reg=/^SDB[A-Z](?:2[3-9]|2[0-2])[SP](?:1688[6-9]|1689\d|169\d\d|1[7-9]\d\d\d|[2-9][0-9]{4}|99999)$/;
|
||||
console.log(res.result);
|
||||
if(reg.test(res.result)){
|
||||
that.setData({
|
||||
detection_bar_code:res.result,
|
||||
showCode:true,
|
||||
showError:false
|
||||
})
|
||||
}else{
|
||||
that.setData({
|
||||
showDialog:true,
|
||||
cancelBtn:false,
|
||||
message:'无法识别,请手动输入检测码'
|
||||
})
|
||||
}
|
||||
|
||||
}
|
||||
})
|
||||
}),
|
||||
confirmCancelOrder(){
|
||||
this.setData({
|
||||
showDialog:true,
|
||||
cancelBtn:true,
|
||||
message:"是否确定要取消检测?"
|
||||
})
|
||||
},
|
||||
confirmDelOrder(){
|
||||
this.setData({
|
||||
showDialog:true,
|
||||
cancelBtn:true,
|
||||
message:"您确定是要删除订单记录么?"
|
||||
})
|
||||
},
|
||||
confirmCancelPay(){
|
||||
this.setData({
|
||||
showDialog:true,
|
||||
cancelBtn:true,
|
||||
message:"您确定取消支付么?"
|
||||
})
|
||||
},
|
||||
confirm:throttle(function(event){
|
||||
if(event.detail && this.data.message=="您确定是要删除订单记录么?"){
|
||||
this.handelDelProduct();
|
||||
}else if(event.detail && this.data.message=="您确定取消支付么?"){
|
||||
this.handelCancelPayProduct();
|
||||
}else if(event.detail && this.data.message=="是否确定要取消检测?"){
|
||||
this.handelCancelCheckOrder();
|
||||
}
|
||||
}),
|
||||
//未支付2 //待接诊需要重新请求检测订单3
|
||||
confirmCheck:throttle(function(){
|
||||
if(this.data.checkSatus==2){
|
||||
this.handleCancelInquiryPay();
|
||||
}else if(this.data.checkSatus==3){
|
||||
this.handelCancelInquiryOrder();
|
||||
}else if(this.data.checkSatus==4){
|
||||
this.goChat();
|
||||
}
|
||||
}),
|
||||
handelCancelCheckOrder(flag=true){
|
||||
let id =this.data.order.order_detection_id;
|
||||
cancelCheckOrder(id).then(data=>{
|
||||
wx.showToast({
|
||||
title: '取消成功',
|
||||
icon:"none"
|
||||
})
|
||||
if(!flag){
|
||||
this.goChat();
|
||||
}
|
||||
this.handleDetectionDetail();
|
||||
})
|
||||
},
|
||||
handelCancelPayProduct(flag=true){
|
||||
let id =this.data.order.order_detection_id;
|
||||
cancelCheckPay(id).then(data=>{
|
||||
wx.showToast({
|
||||
title: '取消支付成功',
|
||||
icon:"none"
|
||||
})
|
||||
if(!flag){
|
||||
this.handleCheckInquiry();
|
||||
}
|
||||
this.handleDetectionDetail();
|
||||
})
|
||||
},
|
||||
copy(event){
|
||||
let text=event.target.dataset.text;
|
||||
wx.setClipboardData({
|
||||
data:text
|
||||
})
|
||||
},
|
||||
goPay:throttle(function(){
|
||||
let {order_detection_id,detection_no}=this.data.order;
|
||||
app.method.navigateTo({
|
||||
url: '/pages/payOrder/payOrder?inquiry_no='+ detection_no +"&order_detection_id="+order_detection_id+"&order_type=3&fromType="+encodeURIComponent('/sugarCheck/pages/checkOrder/checkOrder')
|
||||
})
|
||||
}),
|
||||
handelDelProduct(){
|
||||
let id =this.data.order.order_detection_id;
|
||||
delCheckOrder(id).then(data=>{
|
||||
let pages = getCurrentPages();
|
||||
//获取所需页面
|
||||
let prevPage = pages[pages.length - 2]; //上一页
|
||||
prevPage.setData({
|
||||
delId: id//需要传过去的数据
|
||||
});
|
||||
wx.navigateBack({
|
||||
delta: 1,
|
||||
})
|
||||
wx.showToast({
|
||||
title: '订单删除成功',
|
||||
icon:"none"
|
||||
});
|
||||
|
||||
})
|
||||
},
|
||||
goPrescriptionDetail:throttle(function(event){
|
||||
let id=event.currentTarget.dataset.id;
|
||||
app.method.navigateTo({
|
||||
url: '/pages/prescriptDetail/prescriptDetail?order_prescription_id='+id,
|
||||
})
|
||||
}),
|
||||
handelfllowDoctor(){
|
||||
let id=this.data.user_doctor.doctor_id
|
||||
fllowDoctor(id).then(data=>{
|
||||
this.setData({
|
||||
"user_doctor.follow":true
|
||||
})
|
||||
wx.showToast({
|
||||
title: '关注成功',
|
||||
icon:"none"
|
||||
})
|
||||
})
|
||||
},
|
||||
handenotfllowDoctor(){
|
||||
let id=this.data.user_doctor.doctor_id;
|
||||
notfllowDoctor(id).then(data=>{
|
||||
this.setData({
|
||||
"user_doctor.follow":false
|
||||
})
|
||||
wx.showToast({
|
||||
title: '已取消关注',
|
||||
icon:"none"
|
||||
})
|
||||
})
|
||||
},
|
||||
toggleFllow(){
|
||||
if(this.data.order.user_doctor.follow){
|
||||
this.handenotfllowDoctor()
|
||||
}else{
|
||||
this.handelfllowDoctor()
|
||||
}
|
||||
},
|
||||
/**
|
||||
* 生命周期函数--监听页面加载
|
||||
*/
|
||||
onLoad(options) {
|
||||
const cover=wx.getStorageSync('showCover');
|
||||
if(cover){
|
||||
this.setData({
|
||||
showCover:false
|
||||
})
|
||||
}
|
||||
if(options.fromType){
|
||||
this.setData({
|
||||
fromType:options.fromType
|
||||
})
|
||||
}
|
||||
let order_detection_id=options.order_detection_id;
|
||||
console.log(order_detection_id)
|
||||
if(order_detection_id){
|
||||
this.setData({
|
||||
order_detection_id
|
||||
});
|
||||
this.handleDetectionDetail();
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面初次渲染完成
|
||||
*/
|
||||
onReady() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面显示
|
||||
*/
|
||||
onShow() {
|
||||
this.setData({
|
||||
img_host:app.hostConfig().imghost
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面隐藏
|
||||
*/
|
||||
onHide() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 生命周期函数--监听页面卸载
|
||||
*/
|
||||
onUnload() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面相关事件处理函数--监听用户下拉动作
|
||||
*/
|
||||
onPullDownRefresh() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 页面上拉触底事件的处理函数
|
||||
*/
|
||||
onReachBottom() {
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* 用户点击右上角分享
|
||||
*/
|
||||
|
||||
})
|
||||
Reference in New Issue
Block a user