order-tracking.js 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198
  1. var request = getRequest(),
  2. prescriptionCode = request.code;
  3. $(function(){
  4. getPrescriptionFollow();
  5. bindEvents();
  6. })
  7. function getPrescriptionFollow(){
  8. var params = {
  9. prescriptionCode: prescriptionCode
  10. };
  11. orderAPI.getPrescriptionFollow({data: params}).then(function(res){
  12. if(res.status == 200){
  13. //如果是健管师配送,且未分配健管师,则显示‘分配’按钮
  14. if(res.data.dispensaryDispensaryType == 3 && !res.data.prescriptionExpressage.expressageName){
  15. $(".btn-1").removeClass("hidden");
  16. }
  17. $("#applyDate").text(new Date(res.data.createTime).format('yyyy-MM-dd HH:mm:ss'));
  18. $("#checkDoc").text(res.data.doctorName);
  19. //填充收药信息的内容
  20. var obj = $.extend({
  21. dispensaryDispensaryType: res.data.dispensaryDispensaryType,
  22. dispensaryDispensaryTypeName: res.data.dispensaryDispensaryTypeName
  23. }, res.data.prescriptionExpressage);
  24. var syInfoHtml = template('syinfo_tmp', obj);
  25. $("#syInfo").empty().append(syInfoHtml);
  26. //填充订单记录信息
  27. var obj2 = {
  28. prescriptionStatusName: res.data.prescriptionStatusName,
  29. orderCode: res.data.prescriptionExpressage.code,
  30. prescriptionHospital: res.data.prescriptionHospital
  31. };
  32. var orderInfoHtml = template('record_tmp', obj2);
  33. $("#recordInfo").empty().append(orderInfoHtml);
  34. //填充药品信息
  35. var drugHtml = template('drug_tmp', {list: res.data.prescriptionInfos});
  36. $("#drugInfo").empty().append(drugHtml);
  37. }else{
  38. }
  39. })
  40. }
  41. function getOrderFollow(){
  42. var params = {
  43. prescriptionCode: prescriptionCode
  44. };
  45. orderAPI.getOrderFollow({data: params}).then(function(res){
  46. if(res.status == 200){
  47. var html = template('flow_tmp', {list: res.data});
  48. $("#orderLogs").empty().append(html);
  49. }else{
  50. }
  51. });
  52. }
  53. //获得健管师列表
  54. function getHealthDoctorList(isRefresh){
  55. if(isRefresh){
  56. $("#hDoctor").bootstrapTable('refresh');
  57. }
  58. var options = $.extend(orderAPI.getHealthDoctorTableAjaxObj, {
  59. queryParams: queryParams2,
  60. queryParamsType: "limit",
  61. pagination: true,
  62. paginationLoop: true,
  63. sidePagination: 'server',
  64. pageNumber: 1,
  65. pageSize: 8,
  66. pageList: [5,8,10],
  67. responseHandler: function (res) {
  68. return {
  69. rows: res.data.doctors,
  70. total: res.data.total
  71. }
  72. },
  73. columns: [{
  74. field: 'photo',
  75. title: '',
  76. width: '50',
  77. formatter: function(val, row, index){
  78. var url = "img/d-male.png";
  79. if(val.indexOf("http")>-1 || val.indexOf("https")>-1){
  80. url = val;
  81. }
  82. return '<img src="'+url+'" class="img-circle" width="40">';
  83. }
  84. }, {
  85. field: 'name',
  86. title: '',
  87. align: 'left'
  88. },{
  89. field: 'jobName',
  90. title: '职称',
  91. align: 'right'
  92. }],
  93. onClickRow: function(row, $el){
  94. $("#docInfo").text(row.name+row.jobName);
  95. $("#confirmModal").modal('toggle');
  96. selectDoctor = row.code;
  97. }
  98. });
  99. $("#hDoctor").bootstrapTable(options);
  100. }
  101. function queryParams2(params) {
  102. //当表格数据变化的时候,则取消全选按钮,然后之前的选中的信息将取消选中
  103. return {
  104. page: params.offset/params.limit + 1,
  105. size: params.limit,
  106. name: $.trim($("#doctorName").val())
  107. };
  108. }
  109. function getExpressInfo(){
  110. var params = {
  111. prescriptionCode: prescriptionCode
  112. };
  113. orderAPI.getOrderExpressInfo({data: params}).then(function(res){
  114. if(res.status == 200){
  115. var html = template("expressInfo_tmp", res.data);
  116. $("#expressInfo").empty().append(html);
  117. }else{
  118. }
  119. });
  120. }
  121. function getExpressRouteInfo(){
  122. var params = { prescriptionCode: prescriptionCode};
  123. orderAPI.getSfRouteService({data: params}).then(function(res){
  124. if(res.status == 200){
  125. var list = _.map(res.data.list, function(o){
  126. o.statusName = o.acceptRemark;
  127. o.createTime = o.acceptTime;
  128. return o;
  129. });
  130. var html = tempalte("flow_tmp", {list: list});
  131. $("#expressLogs").empty().append("flow_tmp");
  132. }else{
  133. }
  134. });
  135. }
  136. function showOrderFollow(){
  137. $("#myModal").modal("toggle");
  138. getOrderFollow();
  139. }
  140. function showExpressFollow(){
  141. $("#expressModal").modal('toggle');
  142. getExpressInfo();
  143. getExpressRouteInfo();
  144. }
  145. function bindEvents(){
  146. $(".btn-1").on('click', function(){
  147. $('#docModal').modal('toggle');
  148. getHealthDoctorList();
  149. })
  150. $(".btn-2").on('click', function(){
  151. history.go(-1);
  152. })
  153. $("#doctorName").on('keyup', function(e){
  154. if (e.which === 13) {
  155. getHealthDoctorList(true);
  156. }
  157. });
  158. $("#confirmBtn").on('click', function(){
  159. //发送请求确认的请求
  160. var params = {
  161. codes: prescriptionCode,
  162. healthDoctor: selectDoctor
  163. }
  164. orderAPI.distributeHealthDoctor({data: params}).then(function(res){
  165. if(res.status == 200){
  166. $('#docModal').modal('toggle');
  167. $('#confirmModal').modal('toggle');
  168. //更新数据
  169. getPrescriptionFollow();
  170. }else{
  171. }
  172. })
  173. });
  174. }