yjk-step4.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  1. var $body = $('.yjk-body');
  2. var d = dialog({contentType:'load', skin:'bk-popup'});
  3. var userAgent = JSON.parse(window.localStorage.getItem(agentName));
  4. var cache = window.localStorage.getItem("fourStep"+userAgent.uid);
  5. var Request = GetRequest();
  6. var going = Request["isContinue"];
  7. $(function(){
  8. //先判断是否有缓存
  9. if(cache && going){
  10. var cacheObj = JSON.parse(cache)
  11. showPage(cacheObj)
  12. }else if(cache){
  13. dialog({
  14. content: '<div><div class="c-f16 c-333 c-t-left mb10">检测到有未提交信息,是否继续填写?</div></div>',
  15. okValue: '继续',
  16. cancelValue: '清空',
  17. cancel: function () {
  18. window.localStorage.removeItem("fourStep"+userAgent.uid)
  19. getHealthData(function(data){
  20. showPage(data)
  21. })
  22. },
  23. ok: function() {
  24. var cacheObj = JSON.parse(cache)
  25. showPage(cacheObj)
  26. }
  27. }).showModal()
  28. }else{
  29. getHealthData(function(data){
  30. showPage(data)
  31. })
  32. }
  33. //显示页面
  34. function showPage(data){
  35. var html = template('msg_tmp',{data:data})
  36. $body.html(html)
  37. baseInfoInit()
  38. }
  39. //获取健康记录数据
  40. function getHealthData(fun){
  41. var lastData={}
  42. sendPost("patient/health_index/last",{},"json","get",null,function(res) {
  43. if(res.status == 200) {
  44. if(res.data.tz){
  45. lastData.height=res.data.tz.value2
  46. lastData.weight=res.data.tz.value1
  47. lastData.heightName=res.data.tz.value2+'cm'
  48. lastData.weightName=res.data.tz.value1+'kg'
  49. }
  50. fun&&fun.call(this,lastData)
  51. }else{
  52. fun&&fun.call(this,lastData)
  53. }
  54. })
  55. }
  56. })
  57. function numInit(template,unit){
  58. var opt = {
  59. theme: 'ios',
  60. display: 'bottom',
  61. lang: 'zh',
  62. placeholder: '0',
  63. allowLeadingZero: true,
  64. template: template,
  65. buttons: ['set','cancel'],
  66. onSelect: function(valueText, inst){
  67. $(this).attr('data-id',parseFloat(valueText))
  68. $(this).val(parseFloat(valueText)+unit);
  69. }
  70. }
  71. return opt;
  72. }
  73. //控件初始化
  74. function baseInfoInit() {
  75. $("#height").mobiscroll().numpad(numInit('ddd','cm'));//身高
  76. $("#weight").mobiscroll().numpad(numInit('ddd.d','kg'));//体重
  77. $('#vaginalTimes').mobiscroll().numpad(numInit('dd','次'));//阴道分娩次数
  78. $('#caesareanTimes').mobiscroll().numpad(numInit('dd','次'));//剖宫产次数
  79. $('#menarche').mobiscroll().numpad(numInit('dd','岁'));//初潮
  80. $('#period').mobiscroll().numpad(numInit('dd','天'));//经期
  81. $('#cycle').mobiscroll().numpad(numInit('dd','天'));//周期
  82. $('#page4_submit').on('tap',function(){
  83. commit(function(){
  84. window.location.href = "yjk-preview.html"
  85. })
  86. })
  87. }
  88. //保存数据到缓存
  89. function commit(fun){
  90. var params={}
  91. params.work = $("#work").val();
  92. params.height = $("#height").attr('data-id');
  93. params.weight = $("#weight").attr('data-id');
  94. params.vaginalTimes = $("#vaginalTimes").attr('data-id');
  95. params.caesareanTimes = $("#caesareanTimes").attr('data-id');
  96. params.menarche = $("#menarche").attr('data-id');
  97. params.period = $("#period").attr('data-id');
  98. params.cycle = $("#cycle").attr('data-id');
  99. params.heightName = $("#height").val();
  100. params.weightName = $("#weight").val();
  101. params.vaginalTimesName = $("#vaginalTimes").val();
  102. params.caesareanTimesName = $("#caesareanTimes").val();
  103. params.menarcheName = $("#menarche").val();
  104. params.periodName = $("#period").val();
  105. params.cycleName = $("#cycle").val();
  106. params.diseaseHistory = $("#diseaseHistory").val();
  107. params.operationHistory = $("#operationHistory").val();
  108. params.otherInformation = $("#otherInformation").val();
  109. window.localStorage.setItem("fourStep"+userAgent.uid,JSON.stringify(params))
  110. fun&&fun.call(this)
  111. }