|
@ -1,6 +1,7 @@
|
|
//获取团队信息
|
|
//获取团队信息
|
|
var request = getRequest(),
|
|
var request = getRequest(),
|
|
teamCode = request.id;
|
|
|
|
|
|
teamCode = request.id,
|
|
|
|
isLeader = request.isLeader || true;
|
|
//记录页面控件的值
|
|
//记录页面控件的值
|
|
var startDate = '',
|
|
var startDate = '',
|
|
endDate = '',
|
|
endDate = '',
|
|
@ -8,10 +9,20 @@ var startDate = '',
|
|
dispensaryType = '', //配送方式
|
|
dispensaryType = '', //配送方式
|
|
page = 1,
|
|
page = 1,
|
|
size = 10,
|
|
size = 10,
|
|
hospital, //服务站code
|
|
|
|
|
|
hospital = '', //服务站code
|
|
allocationType, //是否是待分配续方
|
|
allocationType, //是否是待分配续方
|
|
nameKey; //搜索的姓名
|
|
|
|
|
|
nameKey, //搜索的姓名
|
|
|
|
selectItemNum = 0, //选中的数量
|
|
|
|
selectItem = [], //选中的订单号集合
|
|
|
|
isArrange = false, // 判断所选的订单是否是可分配的
|
|
|
|
totalOrderCount = 0,
|
|
|
|
totalHealthDoctorCount = 0,
|
|
|
|
selectDoctor; //选中的医生
|
|
$(function(){
|
|
$(function(){
|
|
|
|
//非团队长隐藏操作按钮
|
|
|
|
if(!isLeader){
|
|
|
|
$("#arrange").hide();
|
|
|
|
}
|
|
//填充下拉框数据
|
|
//填充下拉框数据
|
|
orderAPI.getFilterInfo().then(function(res){
|
|
orderAPI.getFilterInfo().then(function(res){
|
|
fillDropDown(res);
|
|
fillDropDown(res);
|
|
@ -27,41 +38,174 @@ $(function(){
|
|
});
|
|
});
|
|
|
|
|
|
//获得续方订单列表
|
|
//获得续方订单列表
|
|
function getPrescriptionList(){
|
|
|
|
|
|
function getPrescriptionList( refresh){
|
|
var params = {
|
|
var params = {
|
|
|
|
teamCode: teamCode,
|
|
startDate: startDate,
|
|
startDate: startDate,
|
|
endDate: endDate,
|
|
endDate: endDate,
|
|
state: state,
|
|
state: state,
|
|
dispensaryType: dispensaryType,
|
|
dispensaryType: dispensaryType,
|
|
hospital: hospital,
|
|
hospital: hospital,
|
|
allocationType: allocationType,
|
|
allocationType: allocationType,
|
|
nameKey: nameKey,
|
|
|
|
page: page,
|
|
|
|
size: size
|
|
|
|
|
|
nameKey: nameKey
|
|
};
|
|
};
|
|
orderAPI.getOrderList({data: params}).then(function(res){
|
|
|
|
var data = _.map(res.data, function(o){
|
|
|
|
var result = "";
|
|
|
|
for(var i=0; i<o.prescriptionDt.length; i++){
|
|
|
|
if(i>0){
|
|
|
|
result += ','+o.prescriptionDt[i].name;
|
|
|
|
}else{
|
|
|
|
result += o.prescriptionDt[i].name;
|
|
|
|
}
|
|
|
|
|
|
//先请求获得所有的数量
|
|
|
|
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; i<o.prescriptionDt.length; i++){
|
|
|
|
if(i>0){
|
|
|
|
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 = '<a class="c-12b7f5" href="">操作</a>';
|
|
|
|
o.checkbox = '<input name="orderItem" type="checkbox" class="icon-checkbox" data-status="'+o.status+'" data-type="'+o.dispensaryType+'" data-expressage="'+o.expressageCode+'" data-code="'+o.code+'">';
|
|
|
|
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 '<img src="'+url+'" class="img-circle" width="40">';
|
|
}
|
|
}
|
|
o.result = result;
|
|
|
|
o.statusName = getStatusName(o.status);
|
|
|
|
o.express = getExpressName(o.dispensaryType);
|
|
|
|
o.action = '<a href="">操作</a>';
|
|
|
|
return o;
|
|
|
|
});
|
|
|
|
var html = template('list_tmpl', {list: data})
|
|
|
|
$("#prescriptTable tbody").empty().append(html);
|
|
|
|
|
|
}, {
|
|
|
|
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){
|
|
function fillDropDown(res){
|
|
console.log(res);
|
|
|
|
if(res.status == 200){
|
|
if(res.status == 200){
|
|
var stateHtml = template('state_tmpl', {list: res.data.states});
|
|
var stateHtml = template('state_tmpl', {list: res.data.states});
|
|
$("#orderStatus").append(stateHtml);
|
|
$("#orderStatus").append(stateHtml);
|
|
@ -82,43 +226,156 @@ function bindEvents(){
|
|
$(this).addClass("active");
|
|
$(this).addClass("active");
|
|
$(this).siblings().removeClass("active");
|
|
$(this).siblings().removeClass("active");
|
|
getStartEndDate($(this).attr("data-val"));
|
|
getStartEndDate($(this).attr("data-val"));
|
|
|
|
getPrescriptionList(true);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
|
|
$("#orderStatus").on('change', function(){
|
|
$("#orderStatus").on('change', function(){
|
|
var $this = $(this);
|
|
var $this = $(this);
|
|
state = $this.val();
|
|
state = $this.val();
|
|
getPrescriptionList();
|
|
|
|
|
|
getPrescriptionList(true);
|
|
});
|
|
});
|
|
|
|
|
|
$("#express").on('change', function(){
|
|
$("#express").on('change', function(){
|
|
dispensaryType = $(this).val();
|
|
dispensaryType = $(this).val();
|
|
getPrescriptionList();
|
|
|
|
|
|
if(dispensaryType == 3){ //健管师配送时,显示复选框
|
|
|
|
$("#checkboxBox").removeClass("hidden");
|
|
|
|
}else{
|
|
|
|
$("#checkboxBox").addClass("hidden");
|
|
|
|
$("#allocationType").prop("checked", false);
|
|
|
|
allocationType = 0;
|
|
|
|
}
|
|
|
|
getPrescriptionList(true);
|
|
});
|
|
});
|
|
|
|
|
|
$("#address").on('change', function(){
|
|
$("#address").on('change', function(){
|
|
hospital = $(this).val();
|
|
hospital = $(this).val();
|
|
getPrescriptionList();
|
|
|
|
|
|
getPrescriptionList(true);
|
|
});
|
|
});
|
|
|
|
|
|
$("#allocationType").on('change', function(){
|
|
$("#allocationType").on('change', function(){
|
|
var $this = $(this);
|
|
var $this = $(this);
|
|
if($this.prop('checked')){
|
|
if($this.prop('checked')){
|
|
dispensaryType = 3;
|
|
|
|
allocationType = 1;
|
|
allocationType = 1;
|
|
}else{
|
|
}else{
|
|
dispensaryType = '';
|
|
|
|
allocationType = 0;
|
|
allocationType = 0;
|
|
}
|
|
}
|
|
getPrescriptionList();
|
|
|
|
|
|
getPrescriptionList(true);
|
|
});
|
|
});
|
|
|
|
|
|
$("#searchBtn").on('click', function(){
|
|
$("#searchBtn").on('click', function(){
|
|
var $input = $("#searchName"),
|
|
var $input = $("#searchName"),
|
|
text = $.trim($input.val());
|
|
text = $.trim($input.val());
|
|
nameKey = text;
|
|
nameKey = text;
|
|
getPrescriptionList();
|
|
|
|
})
|
|
|
|
|
|
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<len; i++){
|
|
|
|
var $item = $($checkbox[i]),
|
|
|
|
status = $item.data('status'),
|
|
|
|
type = $item.data('type'),
|
|
|
|
expressage = $item.data('expressage'),
|
|
|
|
code = $item.data('code');
|
|
|
|
if(type != 3){
|
|
|
|
isArrange = false;
|
|
|
|
break;
|
|
|
|
}else{
|
|
|
|
if((status >= 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获得开始和结束时间
|
|
//根据选择的tab获得开始和结束时间
|
|
@ -133,22 +390,39 @@ function getStartEndDate(index){
|
|
break;
|
|
break;
|
|
case '1': //近一周
|
|
case '1': //近一周
|
|
sDate.setDate(now.getDate() - 7);
|
|
sDate.setDate(now.getDate() - 7);
|
|
|
|
startDate = sDate.format('yyyy-MM-dd');
|
|
break;
|
|
break;
|
|
case '2': //近一个月
|
|
case '2': //近一个月
|
|
sDate.setMonth(now.getMonth() -1);
|
|
sDate.setMonth(now.getMonth() -1);
|
|
|
|
startDate = sDate.format('yyyy-MM-dd');
|
|
break;
|
|
break;
|
|
case '3': //近半年
|
|
case '3': //近半年
|
|
sDate.setMonth(now.getMonth() - 6);
|
|
sDate.setMonth(now.getMonth() - 6);
|
|
|
|
startDate = sDate.format('yyyy-MM-dd');
|
|
break;
|
|
break;
|
|
case '4': //近一年
|
|
case '4': //近一年
|
|
sDate.setFullYear(now.getFullYear() - 1);
|
|
sDate.setFullYear(now.getFullYear() - 1);
|
|
|
|
startDate = sDate.format('yyyy-MM-dd');
|
|
break;
|
|
break;
|
|
|
|
|
|
}
|
|
}
|
|
startDate = sDate.format('yyyy-MM-dd');
|
|
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
//获得状态值
|
|
//获得状态值
|
|
|
|
//续方各状态返回值
|
|
|
|
//(-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){
|
|
function getStatusName(status){
|
|
var name = "",
|
|
var name = "",
|
|
img = "";
|
|
img = "";
|