var $drugsInfo = $('#drugsInfo'), $logs = $('#logs'), $receiveInfo = $('#receiveInfo'), $orderRecord = $('#orderRecord'), $xufangRecord = $('#xufangRecord'), $drugTakingQrCode = $('#drugTakingQrCode'); var docInfo = {}; // 医生角色: 3 健管师;2 全科医生 var level; // 是否是团队长 var isLeader; var hospital; var picker; //取药类型:1 自取 2快递配送 3健管师配送 var dispensaryDispensaryType; var dispensaryDispensaryTypeName; //状态 (-3 支付过期 -2 患者自己取消 -1 审核不通过 , 0 待审核, 2调整中 10 审核通过/开方中 , 20开方完成/待支付, 21 支付失败 , 30 支付成功/待配药 , 40配药成功/待配送 41配送失败 42配送中 43配送到服务站 100配送到患者手中/已完成) //(-3 支付过期 -2 患者自己取消 )续方取消, -1 审核不通过 ,(0 待审核, 2调整中,3调整成功, 4调整失败 ,10 医生审核(CA)通过)审核中, // 20药师审核中,21.药师审核失败,30 开方中/药师审核成功,31.开方失败/预结算失败,(40开方完成/待支付 ,41 支付失败 )待支付, // 50 支付成功/待配药,(60配药成功/待配送)等待领药,(61配送失败62分配健管师 65配送中,69配送到服务站)配送中,(100配送到患者手中/已完成)已完成 var prescriptionStatus; var prescriptionExpressage; var prescriptionCode = ''; var teamCode = ''; // 订单所属团队团队长code var leadCode = ''; var isShowQuYaoCode; // 续方订单(健管师)选择类型:需跟踪订单、已接收订单、团队(team),当前只有team值 var selectType=""; mui.plusReady(function() { var cur = plus.webview.currentWebview(), opener = cur.opener(); var oldBack = mui.back; if(opener.id == "shurushuzima") { mui.back = backToWebviewById("home2.html") } else { mui.back = function() { mui.fire(opener, 'refresh'); mui.fire(opener, 'refreshPage'); oldBack(); } } docInfo = JSON.parse(plus.storage.getItem("docInfo")); level = docInfo.level; hospital = docInfo.hospital || plus.storage.getItem("hospital"); isLeader = docInfo.isLeader; var self = plus.webview.currentWebview(); prescriptionCode = self.prescriptionCode; teamCode = self.teamCode; isShowQuYaoCode = self.isShowQuYaoCode; selectType = self.selectType; pageInit(); }) template.helper('setStatusName',function(o){ if(o == '续方申请通过'){ return '续方申请通过' } if(o == ' 订单已支付'){ return '订单已支付' } if(o == '配药完成'){ return '配药完成' } if(o == '配送中 '){ return '配送中' } if(o == '药品到达服务站'){ return '药品到达服务站' } if(o == '续方完成'){ return '续方完成' } }) function getPrescriptionFollowPromise() { return getReqPromise("doctor/prescriptionInfo/prescriptionFollow", { prescriptionCode: prescriptionCode // 处方code }, 'GET') } function getTeamsPromise() { return getReqPromise("doctor/admin-teams/teams/" + hospital+'/noTranslateAdminTeamLeaderName', {}, 'GET') } function getJGMembersPromise(teamId) { return getReqPromise("doctor/admin-teams/" + teamId + "/jgsmembers", {}, 'GET') } function getOrderFollowPromise() { return getReqPromise("doctor/prescriptionlog/orderFollow", { prescriptionCode: prescriptionCode // 处方code }, 'GET') } function expressageJGSPromise() { var $senderSelect = $('#senderSelect'); var name = $senderSelect.text(), code = $senderSelect.attr('data-code'), mobile = $senderSelect.attr('data-mobile') return getReqPromise("doctor/prescription/expressage/expressageJGS", { code: code, name : name, mobile: mobile, prescriptionCode: prescriptionCode }, 'POST') } function showJGInfo() { showReceiveDrugsInfoForJG( $.extend({},prescriptionExpressage,{ dispensaryDispensaryTypeName: dispensaryDispensaryTypeName })); $('.jg-info').show(); if(isShowQuYaoCode) { // 需跟踪订单 $drugTakingQrCode.closest('ul').show(); } else { $drugTakingQrCode.closest('ul').hide(); } if(prescriptionStatus > 61 && prescriptionStatus < 69 && selectType != 'team') { // (61配送失败62分配健管师 65配送中,69配送到服务站)配送中 $('#confirmBtn').show() } if(prescriptionStatus == 69 && prescriptionExpressage.patientHospitalCode == prescriptionExpressage.acceptHospital && selectType != 'team') { $('#quyaoBtn').show(); } } function showQKInfo() { showReceiveDrugsInfoForQK( $.extend({},prescriptionExpressage,{ dispensaryDispensaryTypeName: dispensaryDispensaryTypeName })); if( level==2 && (isLeader && leadCode == docInfo.code) // 医生为当前团队团队长 && dispensaryDispensaryType == 3 // 健管师配送 && (prescriptionStatus == "50" || prescriptionStatus == "60") // 等待领药(待分配) && !prescriptionExpressage.expressageName // 还未分配配送员 ) { getTeamsPromise().then(function(res) { initPicker(res) }) } else { $('#senderLi').hide(); $('#ok_btn').hide(); } $('.qk-info').show() } // 显示订单记录 function showOrderRecord(data) { var html = template('record_tmpl',data); $orderRecord.html(html) } // 显示药品信息 function showDrugsInfo(drugs) { var html = template('drug_tmpl',{list: drugs}); $drugsInfo.html(html) } // 显示订单跟踪 function showLogsInfo(logs) { if(logs && logs.length) { var html = template('log_tmpl',{list: logs}); $logs.html(html) } else { $logs.text("暂无信息") } } // 显示收药信息(全科医生) function showReceiveDrugsInfoForQK(data) { var html = "" if(dispensaryDispensaryType == 3) { // 健管师配送 if(prescriptionStatus >= 50 && prescriptionStatus <= 60 && !data.expressageName) { //50 支付成功/待配药,(60配药成功/待配送)等待领药 html = template('unassigned_tmpl',data) } else { html = template('qk_delivery_tmpl',data) } } else { if(dispensaryDispensaryType == 1) { html = template('personal_tmpl',data) } else if(dispensaryDispensaryType == 2){ html = template('delivery_tmpl',data) } } $receiveInfo.html(html) } // 显示收药信息(健管师) function showReceiveDrugsInfoForJG(data) { var html = "" if(dispensaryDispensaryType == 3) { // 健管师配送 html = template('jgs_delivery_tmpl',data) } else { if(dispensaryDispensaryType == 1) { html = template('personal_tmpl',data) } else if(dispensaryDispensaryType == 2){ html = template('delivery_tmpl',data) } } $receiveInfo.html(html) } function initPicker(res) { var data = res.data; picker = new mui.PopPicker({ layer: 2, layerNames: ["所属团队","健管师"] }); var teams = _.map(data, function(v) { return { value: v.id + '', text: v.name } }); teams = [{value:'',text:' ',mobile: ''}].concat(teams) picker.setData(teams) //picker.pickers[0].setSelectedIndex(1); //picker.pickers[1].setSelectedIndex(1); $(picker.pickers[0].holder).on('change', function(event) { var eventData = event.originalEvent.detail || {}, item = eventData.item; if(!item.value) { return ; } getJGMembersPromise(item.value).then(function(res) { picker.pickers[1].setItems(_.map(res.data, function(v) { return { value: v.code + '', text: v.name, mobile: v.mobile } })) }).catch(function(e) { console && console.error(e) }) }) } function bindEvents() { $xufangRecord.on('click',function(){ openWebview("xufangxiangqing.html",{ teamCode: teamCode, prescriptionCode: prescriptionCode }) }) $drugTakingQrCode.on('click',function(){ openWebview("quyaoma.html",{ teamCode: teamCode, prescriptionCode: prescriptionCode }) }) $(document.body).on("click",'#ok_btn',function() { var $senderSelect = $('#senderSelect'); var name = $senderSelect.text() if(name) { expressageJGSPromise().then(function(res) { if(res.status == 200) { mui.toast("分配成功!"); pageRefresh(); } else { mui.toast(res.msg); } }).catch(function(e) { console && console.error(e) }) } else { mui.toast("请选择配送人员"); } }).on('click', '#senderSelect', function() { picker.show(function(selected) { var $senderSelect = $('#senderSelect'); $senderSelect.text(selected[1].text); $senderSelect.attr('data-code',selected[1].value); $senderSelect.attr('data-mobile',selected[1].mobile); }) }).on('click','li[data-milno]',function() { var milno = $(this).attr('data-milno'); openWebview("express-info.html",{ prescriptionCode: prescriptionCode }) }).on('click', '#confirmBtn', function() { openWebview("peisongma.html",{ prescriptionCode: prescriptionCode }) }).on('click', '#quyaoBtn', function() { openWebview("querensongda.html",{ prescriptionCode: prescriptionCode }) }) } function pageInit() { pageRefresh(); bindEvents(); } function pageRefresh() { getPrescriptionFollowPromise().then(function(res) { var data; if(res.status == 200) { data = res.data; prescriptionStatus = data.prescriptionStatus; dispensaryDispensaryType = data.dispensaryDispensaryType; dispensaryDispensaryTypeName = data.dispensaryDispensaryTypeName; prescriptionExpressage = data.prescriptionExpressage; leadCode = data.leadCode; showOrderRecord({ payNum: (data.prescriptionExpressage && data.prescriptionExpressage.code) || "", prescriptionHospital: data.prescriptionHospital||"", prescriptionStatusName: data.prescriptionStatusName||"" }) showDrugsInfo(data.prescriptionInfos) if(level == 3) { showJGInfo() } else if(level == 2) { showQKInfo() } } else { mui.toast(res.msg); } }).catch(function(e) { console && console.error(e) }) getOrderFollowPromise().then(function(res) { if(res.status == 200) { showLogsInfo(res.data) } }).catch(function(e) { console && console.error(e) }) } /*刷新事件*/ window.addEventListener("updateOrderStatus", function refresh(e) { pageRefresh(); });