dept-source.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. (function() {
  2. Vue.component('dept-source', {
  3. template: '<div class="select-hospital">\
  4. <ul class="select-condition-list">\
  5. <li class="select-condition-list-item">\
  6. <div class="condition-name">医院</div>\
  7. <div class="condition-list">\
  8. <span>全部</span>\
  9. <span :class="{\'active\': hos.hospitalId==currentHospitalId}" v-for="hos in hospitalData" v-bind:data-id="hos.hospitalId">{{hos.hosName}}</span>\
  10. </div>\
  11. <div class="more-list">更多</div>\
  12. </li>\
  13. <li class="select-condition-list-item">\
  14. <div class="condition-name">就诊科室</div>\
  15. <div class="condition-list">\
  16. <span>全部</span>\
  17. <span v-for="dept in deptData" v-bind:data-id="dept.hosDeptId">{{dept.deptName}}</span>\
  18. </div>\
  19. <div class="more-list">更多</div>\
  20. </li>\
  21. <li class="select-condition-list-item">\
  22. <div class="condition-name">就诊日期</div>\
  23. <div class="condition-list">\
  24. <span>全部</span>\
  25. <span data-val="{{nowDate}}">今天</span>\
  26. <span v-for="d in planDate" v-bind:data-val="d.date1">{{d.day}}({{d.date}})</span>\
  27. </div>\
  28. <div class="more-list">更多</div>\
  29. </li>\
  30. <li class="select-condition-list-item">\
  31. <div class="condition-name">医生类型</div>\
  32. <div class="condition-list">\
  33. <span>全部</span>\
  34. <span>主任医师</span>\
  35. <span>其他</span>\
  36. </div>\
  37. <div class="more-list">更多</div>\
  38. </li>\
  39. </ul>\
  40. </div>',
  41. props: ["info"],
  42. data: function() {
  43. return {
  44. hospitalData: [],
  45. deptData: [],
  46. subDeptData: [],
  47. planDate: [],
  48. currentHospitalId:"",
  49. nowDate:new Date().format("YYYY-MM-dd"),
  50. pageIndex:1,
  51. pageSize:10
  52. }
  53. },
  54. mounted: function() {
  55. var vm = this;
  56. setTimeout(function(){
  57. vm.currentHospitalId = JSON.parse(vm.info).hospitalId;
  58. vm.getHospitalList();
  59. vm.getDeptList();
  60. vm.getVisitDate();
  61. vm.bindEvents();
  62. },50);
  63. },
  64. methods: {
  65. bindEvents:function(){
  66. //查看更多
  67. $(".more-list").click(function() {
  68. var parent = $(this).parents(".select-condition-list-item");
  69. parent.toggleClass('select-condition-list-item-active');
  70. if(parent.hasClass("select-condition-list-item-active")) {
  71. $(this).text("收起")
  72. } else {
  73. $(this).text("更多")
  74. }
  75. })
  76. },
  77. //获取医院列表
  78. getHospitalList: function() {
  79. var vm = this;
  80. var params = {
  81. pageIndex: 1,
  82. pageSize: 99,
  83. provinceCode: 360000,
  84. cityCode: 361100
  85. }
  86. appointmentAPI.querySimpleHospitalList(params).then(function(res) {
  87. if(res.successFlg && res.obj.Code == "10000") {
  88. vm.hospitalData = res.obj.Result;
  89. }
  90. })
  91. },
  92. //获取科室列表
  93. getDeptList: function() {
  94. var vm = this;
  95. var params = {
  96. pageIndex: 1,
  97. pageSize: 99,
  98. hospitalId: vm.currentHospitalId
  99. }
  100. appointmentAPI.querySimpleHosDeptList(params).then(function(res) {
  101. if(res.successFlg && res.obj.Code == "10000") {
  102. vm.deptData = res.obj.Result;
  103. }
  104. })
  105. },
  106. //默认只有7天的号源
  107. getVisitDate: function() {
  108. var vm = this;
  109. var now = new Date(),d = new Date();
  110. for(i = 1; i < 8; i++) {
  111. var nDate = now.getDate();
  112. d.setDate(nDate + i);
  113. var obj = {
  114. date: d.format("MM月dd日"),
  115. date1: d.format("YYYY-MM-dd"),
  116. day: this.getWeekDay(d.getDay())
  117. }
  118. this.planDate.push(obj);
  119. }
  120. },
  121. getWeekDay: function(val) {
  122. switch(val) {
  123. case 0:
  124. return "周日";
  125. break;
  126. case 1:
  127. return "周一";
  128. break;
  129. case 2:
  130. return "周二";
  131. break;
  132. case 3:
  133. return "周三";
  134. break;
  135. case 4:
  136. return "周四";
  137. break;
  138. case 5:
  139. return "周五";
  140. break;
  141. case 6:
  142. return "周六";
  143. break;
  144. }
  145. }
  146. }
  147. });
  148. function getDeptList(vm) {
  149. }
  150. })()