order-list.js 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. //获取团队信息
  2. var request = getRequest(),
  3. teamCode = request.id;
  4. //记录页面控件的值
  5. var startDate = '',
  6. endDate = '',
  7. state = '', //状态
  8. dispensaryType = '', //配送方式
  9. page = 1,
  10. size = 10,
  11. hospital, //服务站code
  12. allocationType, //是否是待分配续方
  13. nameKey; //搜索的姓名
  14. $(function(){
  15. //填充下拉框数据
  16. orderAPI.getFilterInfo().then(function(res){
  17. fillDropDown(res);
  18. //获得续方订单列表
  19. getPrescriptionList();
  20. });
  21. //获得服务站数据
  22. orderAPI.getHospitalList({data: {teamCode: teamCode}}).then(function(res){
  23. var html = template('address_tmpl', {list: res.data});
  24. $("#address").empty().append(html);
  25. });
  26. bindEvents();
  27. });
  28. //获得续方订单列表
  29. function getPrescriptionList(){
  30. var params = {
  31. startDate: startDate,
  32. endDate: endDate,
  33. state: state,
  34. dispensaryType: dispensaryType,
  35. hospital: hospital,
  36. allocationType: allocationType,
  37. nameKey: nameKey,
  38. page: page,
  39. size: size
  40. };
  41. orderAPI.getOrderList({data: params}).then(function(res){
  42. var data = _.map(res.data, function(o){
  43. var result = "";
  44. for(var i=0; i<o.prescriptionDt.length; i++){
  45. if(i>0){
  46. result += ','+o.prescriptionDt[i].name;
  47. }else{
  48. result += o.prescriptionDt[i].name;
  49. }
  50. }
  51. o.result = result;
  52. o.statusName = getStatusName(o.status);
  53. o.express = getExpressName(o.dispensaryType);
  54. o.action = '<a href="">操作</a>';
  55. return o;
  56. });
  57. var html = template('list_tmpl', {list: data})
  58. $("#prescriptTable tbody").empty().append(html);
  59. });
  60. }
  61. function fillDropDown(res){
  62. console.log(res);
  63. if(res.status == 200){
  64. var stateHtml = template('state_tmpl', {list: res.data.states});
  65. $("#orderStatus").append(stateHtml);
  66. var expressHtml = template('express_tmpl', {list: res.data.dispensaryTypes});
  67. $("#express").append(expressHtml);
  68. }else{
  69. }
  70. }
  71. //绑定事件
  72. function bindEvents(){
  73. $(".n-tab").on('click', function(){
  74. if($(this).hasClass("active")){
  75. return false;
  76. }else{
  77. $(this).addClass("active");
  78. $(this).siblings().removeClass("active");
  79. getStartEndDate($(this).attr("data-val"));
  80. }
  81. });
  82. $("#orderStatus").on('change', function(){
  83. var $this = $(this);
  84. state = $this.val();
  85. getPrescriptionList();
  86. });
  87. $("#express").on('change', function(){
  88. dispensaryType = $(this).val();
  89. getPrescriptionList();
  90. });
  91. $("#address").on('change', function(){
  92. hospital = $(this).val();
  93. getPrescriptionList();
  94. });
  95. $("#allocationType").on('change', function(){
  96. var $this = $(this);
  97. if($this.prop('checked')){
  98. dispensaryType = 3;
  99. allocationType = 1;
  100. }else{
  101. dispensaryType = '';
  102. allocationType = 0;
  103. }
  104. getPrescriptionList();
  105. });
  106. $("#searchBtn").on('click', function(){
  107. var $input = $("#searchName"),
  108. text = $.trim($input.val());
  109. nameKey = text;
  110. getPrescriptionList();
  111. })
  112. }
  113. //根据选择的tab获得开始和结束时间
  114. function getStartEndDate(index){
  115. var now = new Date(),
  116. sDate = new Date();
  117. endDate = now.format('yyyy-MM-dd');
  118. switch (index){
  119. case '0':
  120. startDate = '';
  121. endDate = '';
  122. break;
  123. case '1': //近一周
  124. sDate.setDate(now.getDate() - 7);
  125. break;
  126. case '2': //近一个月
  127. sDate.setMonth(now.getMonth() -1);
  128. break;
  129. case '3': //近半年
  130. sDate.setMonth(now.getMonth() - 6);
  131. break;
  132. case '4': //近一年
  133. sDate.setFullYear(now.getFullYear() - 1);
  134. break;
  135. }
  136. startDate = sDate.format('yyyy-MM-dd');
  137. }
  138. //获得状态值
  139. function getStatusName(status){
  140. var name = "",
  141. img = "";
  142. status = status + '';
  143. switch (status){
  144. case '-3':
  145. name = '支付过期';
  146. break;
  147. case '-2':
  148. name = '患者自己取消';
  149. break;
  150. case '-1':
  151. name = '审核不通过';
  152. break;
  153. case '0':
  154. case '2':
  155. case '3':
  156. case '4':
  157. case '10':
  158. name = '审核中';
  159. break;
  160. case '20':
  161. name = '药师审核中';
  162. break;
  163. case '21':
  164. name = '药师审核失败';
  165. break;
  166. case '30':
  167. name = '开方中';
  168. break;
  169. case '31':
  170. name = '开方失败';
  171. break;
  172. case '40':
  173. name = '待支付';
  174. break;
  175. case '41':
  176. name = '支付失败';
  177. break;
  178. case '50':
  179. name = '配药中';
  180. break;
  181. case '60':
  182. name = '等待领药';
  183. break;
  184. case '61':
  185. case '62':
  186. case '65':
  187. case '69':
  188. name = '配送中';
  189. break;
  190. case '100':
  191. name = '已完成';
  192. break;
  193. default:
  194. break;
  195. }
  196. return name;
  197. }
  198. function getExpressName(type){
  199. switch(type){
  200. case 1:
  201. return '自取';
  202. break;
  203. case 2:
  204. return '快递配送';
  205. break;
  206. case 3:
  207. return '健管师配送';
  208. break;
  209. }
  210. }