order-list-jg.js 7.1 KB

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