mingyi-doctor-homepage.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  1. // TODO 医生示例数据
  2. var doctorData = {"msg":"查询成功",data:{"id":"3502050100","consult":"",patient:"P123",photo:"",jobName:"主任医师",expertise:"中医内科疾病",introduce:"无",deptName:"骨科",hospitalName:"厦门市第一医院",title:"",name:"张敏敏",age:23,comment:"激光治疗红血丝治疗部位保持清洁,避免感染和摩擦;部位有痂皮的会自行脱落,不要手动进行抠除。",star:3,type:5,time:"2016-09-12 16:49:17",status:"",sex:0,doctorRead:""},"status":200};
  3. // TODO 临时构造plus对象,使得能够在浏览器中进行调试
  4. var plus = null;
  5. // 基本信息(包括userAgent、上个页面传递的数据)
  6. var baseInfo = null,
  7. // 基础环境信息(包括当前webview)
  8. baseEnv = null;
  9. var $baseInfoWrapper = $('#base_info_wrap');
  10. // 获取基本信息(包括userAgent、上个页面传递的数据)
  11. var getBaseInfoPromise= function() {
  12. // 登录的相关信息
  13. var userAgent = plus && JSON.parse(plus.storage.getItem("userAgent"))
  14. return {
  15. userAgent: userAgent,
  16. // 上一个页面传递的数据
  17. accessData: baseEnv.webview.accessData
  18. }
  19. },
  20. // 获取基础环境信息
  21. getBaseEnvPromise = function () {
  22. var env = {
  23. webview: plus&&plus.webview.currentWebview()
  24. };
  25. return Promise.resolve().then(function(res) {
  26. return env;
  27. });
  28. },
  29. showBaseInfo = function(){
  30. // TODO getReqPromise(url,data)
  31. Promise.resolve().then(function(res) {
  32. // TODO 示例后台返回医生数据
  33. res = doctorData;
  34. if(res.status == 200) {
  35. return res.data;
  36. } else {
  37. mui.toast(res.msg);
  38. return null;
  39. }
  40. }).then(function(data) {
  41. if(data) {
  42. var html = template("base_info_tmpl", data);
  43. $baseInfoWrapper.html(html);
  44. }
  45. }).catch(function(e) {
  46. console && console.error(e);
  47. });
  48. },
  49. // 绑定页面事件
  50. bindEvents = function () {
  51. };
  52. // 点击“取消名医”按钮的处理
  53. cancelMingyi = function() {
  54. // TODO 示例医生姓名数据
  55. var doctorName = doctorData.data.name;
  56. mui.confirm("取消名医后,该医生无法提供名医咨询服务,是否确认取消?", "", ["确认取消", "不了,谢谢"], function(e) {
  57. if(e.index == 0){
  58. // 点击“确认取消”处理
  59. // TODO 发送请求getReqPromise(url,data)
  60. Promise.resolve().then(function(res) {
  61. if(res.status==200) {
  62. mui.toast("取消成功!");
  63. mui.openWindow({
  64. url: "qita-doctor-homepage.html",
  65. id:"qita-doctor-homepage",
  66. // 跳转页面传参
  67. extras: {
  68. accessData:{ // 传递数据
  69. doctor: baseInfo.accessData && baseInfo.accessData.doctor
  70. },
  71. backTo: baseEnv.webview.opener().id
  72. }
  73. });
  74. } else {
  75. mui.toast("取消失败!");
  76. }
  77. });
  78. } else {
  79. // 点击“不了,谢谢”处理
  80. }
  81. });
  82. },
  83. // 页面业务处理流程开始
  84. new Promise(function(resolve, reject) {
  85. // TODO 临时放开
  86. // resolve(true);
  87. mui.plusReady(function() {
  88. // plus已经准备好,可以往下执行
  89. resolve(true);
  90. });
  91. }).then(function() {
  92. // 获取基础环境信息
  93. return getBaseEnvPromise().then(function(env) {
  94. baseEnv = env;
  95. }).then(function() {
  96. // 获取登录医生信息
  97. baseInfo = getBaseInfoPromise();
  98. // 显示医生基本信息
  99. showBaseInfo();
  100. // 绑定页面事件
  101. bindEvents();
  102. })
  103. }).catch(function(e) {
  104. plus.nativeUI.closeWaiting();
  105. console && console.error(e);
  106. });
  107. template.helper("setPhoto", function(p) {
  108. return getImgUrl(p);
  109. });