//获取团队信息 var request = getRequest(), teamCode = request.id, isLeader = request.isLeader || true; //记录页面控件的值 var startDate = '', endDate = '', state = '', //状态 dispensaryType = '', //配送方式 page = 1, size = 10, hospital = '', //服务站code allocationType, //是否是待分配续方 nameKey, //搜索的姓名 selectItemNum = 0, //选中的数量 selectItem = [], //选中的订单号集合 isArrange = false, // 判断所选的订单是否是可分配的 totalOrderCount = 0, totalHealthDoctorCount = 0, selectDoctor; //选中的医生 $(function(){ //非团队长隐藏操作按钮 if(!isLeader){ $("#arrange").hide(); } //填充下拉框数据 orderAPI.getFilterInfo().then(function(res){ fillDropDown(res); //获得续方订单列表 getPrescriptionList(); }); //获得服务站数据 orderAPI.getHospitalList({data: {teamCode: teamCode}}).then(function(res){ var html = template('address_tmpl', {list: res.data}); $("#address").empty().append(html); }); bindEvents(); }); //获得续方订单列表 function getPrescriptionList( refresh){ var params = { teamCode: teamCode, startDate: startDate, endDate: endDate, state: state, dispensaryType: dispensaryType, hospital: hospital, allocationType: allocationType, nameKey: nameKey }; //先请求获得所有的数量 orderAPI.getOrderListCount({data:params}).then(function(res){ if(res.status == 200){ totalOrderCount = res.data.total; if(refresh){ $("#prescriptTable").bootstrapTable('refresh'); } $("#prescriptTable").bootstrapTable({ method: 'get', url: APIService.server + 'doctor/prescriptionInfo/getDoctorPrescriptionExpressage', queryParams: queryParams, contentType: "application/json", queryParamsType: "limit", dataType: "json", pagination: true, paginationLoop: true, sidePagination: 'server', pageNumber: 1, pageSize: 10, ajaxOptions: { beforeSend: function(request) { var userAgent = {"id":4800,"uid":"zbqD201703150222","imei":"864394010176834","token":"71738e0adf3fa6dfe72eb71dc9c07ce2","platform":2,"hospital":"3502050100"}; userAgent = JSON.stringify(userAgent); request.setRequestHeader("userAgent", userAgent); } }, responseHandler: function (res) { var data = _.map(res.data, function(o){ var result = ""; for(var i=0; i0){ result += ','+o.prescriptionDt[i].name; }else{ result += o.prescriptionDt[i].name; } } o.result = result; o.statusName = getStatusName(o.status); o.express = getExpressName(o.dispensaryType); var address = ""; if(o.dispensaryType == 2){ address = o.patientHospitalAddress; o.expressageName = o.expressageHospitalName; }else{ address = o.expressageHospitalName; } o.address = address; o.action = '操作'; o.checkbox = ''; return o; }); return { rows: data, total: totalOrderCount } } }); } }); } function queryParams(params) { console.log(params); //当表格数据变化的时候,则取消全选按钮,然后之前的选中的信息将取消选中 page = params.offset/params.limit + 1; selectItemNum = 0; $("#selectAll").prop("checked", false); $("#selectedCount").text(0); $("#arrange").addClass("disabled"); return { teamCode: teamCode, page: params.offset/params.limit + 1, size: params.limit, startDate: startDate, endDate: endDate, state: state, dispensaryType: dispensaryType, hospital: hospital, allocationType: allocationType, nameKey: nameKey }; } //获得健管师列表 function getHealthDoctorList(isRefresh){ if(isRefresh){ $("#hDoctor").bootstrapTable('refresh'); } $("#hDoctor").bootstrapTable({ method: 'get', url: APIService.server + 'doctor/prescriptionInfo/getHDoctorInDoctorHosiptal', queryParams: queryParams2, contentType: "application/json", queryParamsType: "limit", dataType: "json", pagination: true, paginationLoop: true, sidePagination: 'server', pageNumber: 1, pageSize: 8, pageList: [5,8,10], ajaxOptions: { beforeSend: function(request) { var userAgent = {"id":4800,"uid":"zbqD201703150222","imei":"864394010176834","token":"71738e0adf3fa6dfe72eb71dc9c07ce2","platform":2,"hospital":"3502050100"}; userAgent = JSON.stringify(userAgent); request.setRequestHeader("userAgent", userAgent); } }, responseHandler: function (res) { return { rows: res.data.doctors, total: res.data.total } }, columns: [{ field: 'photo', title: '', width: '50', formatter: function(val, row, index){ var url = "img/d-male.png"; if(val.indexOf("http")>-1 || val.indexOf("https")>-1){ url = val; } return ''; } }, { field: 'name', title: '', align: 'left' },{ field: 'jobName', title: '职称', align: 'right' }], onClickRow: function(row, $el){ $("#orderCount").text(selectItemNum); $("#docInfo").text(row.name+row.jobName); $("#confirmModal").modal('toggle'); selectDoctor = row.code; } }); } function queryParams2(params) { console.log(params); //当表格数据变化的时候,则取消全选按钮,然后之前的选中的信息将取消选中 return { page: params.offset/params.limit + 1, size: params.limit, name: $.trim($("#doctorName").val()) }; } function fillDropDown(res){ if(res.status == 200){ var stateHtml = template('state_tmpl', {list: res.data.states}); $("#orderStatus").append(stateHtml); var expressHtml = template('express_tmpl', {list: res.data.dispensaryTypes}); $("#express").append(expressHtml); }else{ } } //绑定事件 function bindEvents(){ $(".n-tab").on('click', function(){ if($(this).hasClass("active")){ return false; }else{ $(this).addClass("active"); $(this).siblings().removeClass("active"); getStartEndDate($(this).attr("data-val")); getPrescriptionList(true); } }); $("#orderStatus").on('change', function(){ var $this = $(this); state = $this.val(); getPrescriptionList(true); }); $("#express").on('change', function(){ dispensaryType = $(this).val(); if(dispensaryType == 3){ //健管师配送时,显示复选框 $("#checkboxBox").removeClass("hidden"); }else{ $("#checkboxBox").addClass("hidden"); $("#allocationType").prop("checked", false); allocationType = 0; } getPrescriptionList(true); }); $("#address").on('change', function(){ hospital = $(this).val(); getPrescriptionList(true); }); $("#allocationType").on('change', function(){ var $this = $(this); if($this.prop('checked')){ allocationType = 1; }else{ allocationType = 0; } getPrescriptionList(true); }); $("#searchBtn").on('click', function(){ var $input = $("#searchName"), text = $.trim($input.val()); nameKey = text; getPrescriptionList(true); }); $("#selectAll").on('click', function(){ var $this = $(this), $checkbox = $("input[name=orderItem]"), length = $checkbox.length; if($this.prop("checked")){ $checkbox.prop("checked", true); selectItemNum = length; $("#selectedCount").text(selectItemNum); }else{ $checkbox.prop("checked", false); selectItemNum = 0; $("#selectedCount").text(0); } checkArrangeDisable('all'); }); $("body").on('click', "input[name=orderItem]", function(){ var $this = $(this), status = $this.data('status'), type = $this.data('type'), expressage = $this.data('expressage'), code = $this.data('code'); if($this.prop("checked")){ selectItemNum ++; if((type == 3) && (status >= 50) && (expressage=='' || !expressage)){ selectItem.push(code); } }else{ selectItemNum --; if(selectItem.indexOf(code) > -1){ var index = selectItem.indexOf(code); selectItem.splice(index,1); } } $("#selectedCount").text(selectItemNum); checkArrangeDisable(); }); $("#arrange").on('click', function(){ if($(this).hasClass("disabled")){ return false; } $('#myModal').modal('toggle'); getHealthDoctorList(); }); $("#doctorName").on('keyup', function(e){ if (e.which === 13) { getHealthDoctorList(true); } }); $("#confirmBtn").on('click', function(){ //发送请求确认的请求 var params = { codes: selectItem.join(","), healthDoctor: selectDoctor } orderAPI.distributeHealthDoctor({data: params}).then(function(res){ if(res.status == 200){ $('#myModal').modal('toggle'); $('#confirmModal').modal('toggle'); $("#prescriptTable").bootstrapTable('refresh'); }else{ } }) }); } //判断选中的订单是否是可分配的的订单 function checkArrangeDisable(clickType){ //type=all 为点击全选时处理 //可以分配的条件,1是健管师配送订单,2状态为待分配 var $checkbox = $("input[name=orderItem]:checked"), len = $checkbox.length; isArrange = false; if(clickType == 'all'){ selectItem = []; } for(var i=0; i= 50) && (expressage=='' || !expressage)){ //支付成功后状态+配送员的名字为空为待分配状态 isArrange = true; if(clickType == 'all'){ selectItem.push(code); } }else{ isArrange = false; break; } } } if(!isArrange){ $("#arrange").addClass("disabled"); }else{ $("#arrange").removeClass("disabled"); } } //根据选择的tab获得开始和结束时间 function getStartEndDate(index){ var now = new Date(), sDate = new Date(); endDate = now.format('yyyy-MM-dd'); switch (index){ case '0': startDate = ''; endDate = ''; break; case '1': //近一周 sDate.setDate(now.getDate() - 7); startDate = sDate.format('yyyy-MM-dd'); break; case '2': //近一个月 sDate.setMonth(now.getMonth() -1); startDate = sDate.format('yyyy-MM-dd'); break; case '3': //近半年 sDate.setMonth(now.getMonth() - 6); startDate = sDate.format('yyyy-MM-dd'); break; case '4': //近一年 sDate.setFullYear(now.getFullYear() - 1); startDate = sDate.format('yyyy-MM-dd'); break; } } //获得状态值 //续方各状态返回值 //(-3 支付过期 -2 患者自己取消 )续方取消, //-1 审核不通过 , //(0 待审核, 2调整中,3调整成功, 4调整失败 ,10 医生审核(CA)通过)审核中, //20药师审核中, //21.药师审核失败, //30 开方中/药师审核成功, //31.开方失败, //(40开方完成/待支付 ,41 支付失败 )待支付, // 50 支付成功/待配药, //(60配药成功/待配送)等待领药, //(61配送失败62分配健管师 65配送中,69配送到服务站)配送中, //(100配送到患者手中/已完成)已完成 //根据状态获得相关信息 function getStatusName(status){ var name = "", img = ""; status = status + ''; switch (status){ case '-3': name = '支付过期'; break; case '-2': name = '患者自己取消'; break; case '-1': name = '审核不通过'; break; case '0': case '2': case '3': case '4': case '10': name = '审核中'; break; case '20': name = '药师审核中'; break; case '21': name = '药师审核失败'; break; case '30': name = '开方中'; break; case '31': name = '开方失败'; break; case '40': name = '待支付'; break; case '41': name = '支付失败'; break; case '50': name = '配药中'; break; case '60': name = '等待领药'; break; case '61': case '62': case '65': case '69': name = '配送中'; break; case '100': name = '已完成'; break; default: break; } return name; } function getExpressName(type){ switch(type){ case 1: return '自取'; break; case 2: return '快递配送'; break; case 3: return '健管师配送'; break; } }