// 基本信息(包括userAgent、上个页面传递的数据) var baseInfo = null, // 基础环境信息(包括当前webview) baseEnv = null; var $doctorListWrapper = $('#doctor_list_wrap'), $doctorList = $('#doctor_list'), // 搜索无结果时显示 $noResultWrap = $('#no_result_wrap'); // 分页查询当前页数 var curPage = 1, // iscroll 滚动条实例 iscroller; // 获取基本信息(包括userAgent、上个页面传递的数据) var getBaseInfoPromise = function() { // 登录的相关信息 var userAgent = plus && JSON.parse(plus.storage.getItem("userAgent")) return { userAgent: userAgent } }, // 获取基础环境信息 getBaseEnvPromise = function () { var env = { webview: plus&&plus.webview.currentWebview() }; return Promise.resolve().then(function(res) { return env; }); }, ellipsisText = function ($el) { $el.ellipsis({ row: 2 }); }, // 初始化医生列表 initDoctorList = function(data) { var list = _.filter(data.list,function(d) { return d.code != baseInfo.userAgent.uid }); var html = template("yisheng_li_tmpl", {list: list}) $doctorList.empty().append(html); ellipsisText($doctorList.find('.c-dest-content')) }, // 分页查询列表 searchByPaging = function () { // TODO 示例示例搜索参数 // id: 上次搜索结果列表最后一条记录id,type:1(1:名医,0:非名医,key:搜素关键字,pagesize:每页条数 var url = "doctor/consult/famousDoctorList", params = { type:1,page:curPage,pagesize:15}; plus.nativeUI.showWaiting(); getReqPromise(url,params,'POST',true).then(function(res){ var data = res; plus.nativeUI.closeWaiting(); if(!data.list || !data.list.length) { $doctorListWrapper.hide(); $noResultWrap.show(); } else { $noResultWrap.hide(); $doctorListWrapper.show(); initDoctorList(data); } }).catch(function(e) { plus.nativeUI.closeWaiting(); console && console.error(e) }); }, // 滚动条分页实例初始化 initScroller = function() { //阻尼系数 var deceleration = mui.os.ios?0.003:0.0009; mui('.mui-scroll-wrapper').scroll({ bounce: false, indicators: true, //是否显示滚动条 deceleration:deceleration }); mui(".mui-scroll").pullToRefresh({ down: { callback: function() { var self = this; setTimeout(function() { searchByPaging(); self.endPullDownToRefresh(); }, 1000); } } }); }, // 绑定页面事件 bindEvents = function () { $doctorList.on('tap','.list-item .c-list',function() { var code = $(this).closest("li").attr('data-code')||""; mui.openWindow({ url: "zixun-doctor-homepage.html", id:"zixun-doctor-homepage", // 跳转页面传参 extras: { accessData:{ // 传递数据 doctor: code } } }); return false; }); var doctorData = null; $doctorList.on("tap",".list-item .div-lijizixun-btn",function(){ var $li = $(this).closest("li"); var doctorCode = $li.attr("data-code"); var docName = $li.attr("data-name"); service.hasUnfinishedConsult(doctorCode, function(res){ if(res.data.consult){ mui.confirm("您与"+ docName +"医生当前有进行中咨询,不可发起求助,您可直接进入咨询提问", "提示", ["查看咨询", "我知道了"], function(e){ if(e.index==0){ var wv = mui.openWindow({ url:"../../message/html/p2p.html", id: "p2p", extras: { otherCode: doctorCode, otherName: docName, otherSex: $li.attr('data-sex'), otherPhoto: $li.attr('data-photo'), consultData: res.data } }) } }) } else checkWorking(doctorCode) }) return false; }) function checkWorking(doctorCode){ var url1 = server+"/doctor/work_scheduling/is_doctor_working"; var data1={doctor:doctorCode}; var url2 = server+"/doctor/baseinfo"; var data2={code:doctorCode}; promise = getReqPromises([{url:url1,data:data1},{url:url2,data:data2}]) return promise.then(function(datas){ var isWorkData = datas[0].data.status, doctorData = datas[1]; if(isWorkData=="0"){//0:医生不接受咨询 1:医生接受咨询 2:医生当前不在工作时间 dialog({ content: '对不起,该医生已暂停接受咨询,您可选择其他医生进行咨询', cancelValue: '我知道了', cancel: function () { return; } }).showModal(); return false; }else if(isWorkData=="1"){ openWebview("faqizixun.html",{accessData: $.extend({},doctorData.data,{doctor:doctorCode})}); }else if(isWorkData=="2"){ dialog({ content: '医生不在工作时间内哦,请在医生咨询计划时间段内咨询', cancelValue: '我知道了', cancel: function () { return; } }).showModal(); } }) } /*刷新事件*/ window.addEventListener("refreshPage", function group(e) { $doctorList.empty(); curPage = 1; searchByPaging(); }); }; // 页面业务处理流程开始 new Promise(function(resolve, reject) { // TODO 临时放开 //resolve(true); mui.plusReady(function() { // plus已经准备好,可以往下执行 resolve(true); }); }).then(function() { // 获取基础环境信息 return getBaseEnvPromise().then(function(env) { baseEnv = env; }).then(function() { // 获取登录医生信息 baseInfo = getBaseInfoPromise(); searchByPaging(); initScroller(); // 绑定页面事件 bindEvents(); }) }).catch(function(e) { console && console.error(e); }); template.helper("setPhoto", function(p) { return getImgUrl(p); });