Selaa lähdekoodia

续方订单页面代码提交

raolu 7 vuotta sitten
vanhempi
commit
90925afe6e
12 muutettua tiedostoa jossa 1015 lisäystä ja 65 poistoa
  1. 75 0
      consulting.html
  2. 10 0
      css/style.css
  3. BIN
      img/d-male.png
  4. 3 3
      index.html
  5. 5 2
      js/api-service.js
  6. 0 0
      js/buz/consulting.js
  7. 399 0
      js/buz/order-list-jg.js
  8. 309 35
      js/buz/order-list.js
  9. 9 0
      js/consulting-api.js
  10. 33 12
      js/order-api.js
  11. 104 0
      order-list-jg.html
  12. 68 13
      order-list.html

+ 75 - 0
consulting.html

@ -0,0 +1,75 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>续方订单</title>
    <meta name="keywords" content="">
    <meta name="description" content="">
    <link rel="shortcut icon" href="favicon.ico"> 
    <link href="css/bootstrap.min14ed.css?v=3.3.6" rel="stylesheet">
    <link href="css/font-awesome.min93e3.css?v=4.4.0" rel="stylesheet">
    <link href="css/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
    <link href="css/animate.min.css" rel="stylesheet">
    <link href="css/style.css?v=4.1.0" rel="stylesheet">
</head>
<body>
    <div class="wrapper wrapper-content animated fadeInRight">
        <div class="border-bottom overflow-h">
            <ul class="nav navbar-nav">
                <li class="n-tab active" data-val="0">
                    <a href="#">所有续方</a>
                </li>
                <li class="n-tab" data-val="1">
                    <a href="#">近一周</a>
                </li>
                <li class="n-tab" data-val="2">
                    <a href="#">近一月</a>
                </li>
                <li class="n-tab" data-val="3">
                    <a href="#">近半年</a>
                </li>
                <li class="n-tab" data-val="4">
                    <a href="#">近一年</a>
                </li>
            </ul>
        </div>
        <form role="form" class="form-inline ptb10">
            <div class="form-group">
                <label for="">记录搜索</label>
                <input type="text" class="form-control input-sm" placeholder="可按申请居民搜索">
            </div>
            <div class="form-group ml5">
                <button type="button" class="btn btn-w-80 btn-sm bgc-12b7f5 c-fff" id="searchBtn">搜索</button>
            </div>
        </form>
        <table id="prescriptTable" data-mobile-responsive="true" class="table">
            <thead class="thead-inverse">
                <tr class="">
                    <th data-field="checkbox"></th>
                    <th data-field="name" tabindex="0">居民姓名</th>
                    <th data-field="result" tabindex="0">诊断结果</th>
                    <th data-field="express" tabindex="0">配送方式</th>
                    <th data-field="expressageName" tabindex="0">配送员</th>
                    <th data-field="address" tabindex="0">配送地点</th>
                    <th data-field="statusName" tabindex="0">订单状态</th>
                    <th data-field="action" tabindex="0">操作</th>
                </tr>
            </thead>
            <tbody></tbody>
        </table>
    </div>
    <script src="js/jquery.min.js?v=2.1.4"></script>
    <script src="js/bootstrap.min.js?v=3.3.6"></script>
    <script src="js/content.min.js?v=1.0.0"></script>
    <script src="js/plugins/bootstrap-table/bootstrap-table.min.js"></script>
    <script src="js/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script>
    <script src="js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
    <script src="js/es6-promise.js"></script>
    <script src="js/underscore.js"></script>
    <script src="js/consulting-api.js"></script>
    <script src="js/util.js"></script>
    <script src="js/template.js"></script>
    <script src="js/buz/consulting.js"></script>
</body>
</html>

+ 10 - 0
css/style.css

@ -44,6 +44,9 @@ h3,h4,h5 {
.bgc-f5f5fa{
    background-color: #f5f5fa;
}
.c-f14{
    font-size: 14px;
}
.btn-w-80{
    width: 80px;
}
@ -5739,4 +5742,11 @@ thead th{
.btn.focus, .btn:focus, .btn:hover{
    color: #fff;
    border: none;
}
a.c-12b7f5:hover{
    color: #12b7f5;
}
a.disabled,
a.disabled:hover{
    color: #83d6f4;
}

BIN
img/d-male.png


+ 3 - 3
index.html

@ -60,13 +60,13 @@
                        </a>
                        <ul class="nav nav-second-level">
                            <li>
                                <a class="J_menuItem" href="form_basic.html">待回复</a>
                                <a class="J_menuItem" href="consulting.html?status=0&reply=0">待回复</a>
                            </li>
                            <li>
                                <a class="J_menuItem" href="form_validate.html">进行中</a>
                                <a class="J_menuItem" href="consulting.html?status=0&reply=1">进行中</a>
                            </li>
                            <li>
                                <a class="J_menuItem" href="form_advanced.html">已完成</a>
                                <a class="J_menuItem" href="consulting.html?status=1">已完成</a>
                            </li>
                        </ul>
                    </li>

+ 5 - 2
js/api-service.js

@ -1,8 +1,10 @@
(function($){
	$.support.cors = true
	
    var server = "http://172.19.103.88:9092/wlyy/",
        userAgent = {"id":4800,"uid":"zbqD201703150222","imei":"864394010176834","token":"fcf8310ee6d911c3f25cdecd28b9bcdd","platform":2,"hospital":"3502050100","appVersion":"1.3.6"};
    // var server = "http://172.19.103.88:9092/wlyy/";
    var server = "http://192.168.131.127:8060/";//逸祥
    var userAgent = {"id":4800,"uid":"zbqD201703150222","imei":"864394010176834","token":"71738e0adf3fa6dfe72eb71dc9c07ce2","platform":2,"hospital":"3502050100"};
//    var userAgent = {"id":4821,"uid":"zbqD201703150228","imei":"864394010176834","token":"ee3fcb6091b46aa0a119c1504b8306d8","platform":2,"hospital":"3502050100"};
    userAgent = JSON.stringify(userAgent);
	
	function httpGet(url,options) {
@ -53,6 +55,7 @@
	
	
	APIService = {
        server: server,
        httpGet: httpGet,
        httpPost: httpPost,
        getTeamInfo: function(doctor,data){

+ 0 - 0
js/buz/consulting.js


+ 399 - 0
js/buz/order-list-jg.js

@ -0,0 +1,399 @@
//获取团队信息
var request = getRequest(),
    teamCode = request.id || '',
    type = request.type;
//记录页面控件的值
var startDate = '', 
    endDate = '',
    state = '', //状态
    dispensaryType = '', //配送方式
    page = 1,
    size = 10,
    hospital, //服务站code
    allocationType, //是否是待分配续方
    nameKey, //搜索的姓名
    totalOrderCount = 0,
    selectDoctor; //选中的医生
$(function(){
    //填充下拉框数据
    orderAPI.getHFilterInfo().then(function(res){
        fillDropDown(res);
        //获得续方订单列表
        getPrescriptionList();
    });
    bindEvents();
});
//获得续方订单列表
function getPrescriptionList( refresh){
    var params = {
        type: type,
        teamCode: teamCode,
        startDate: startDate,
        endDate: endDate,
        state: state,
        // dispensaryType: 3,
        hospital: hospital,
        nameKey: nameKey
    };
    //先请求获得所有的数量
    orderAPI.getHOrderListCount({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/getHDoctorPrescriptionExpressage', 
                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":4821,"uid":"zbqD201703150228","imei":"864394010176834","token":"ee3fcb6091b46aa0a119c1504b8306d8","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);
                        o.address = address;
                        o.action = '<a class="c-12b7f5" href="">操作</a>';
                        return o;
                    });
                    
                    return {
                        rows: data,
                        total: totalOrderCount
                    }
                }
            });
        }
    });
    
}
function queryParams(params) {
    return {
        type: type,
        page: params.offset/params.limit + 1,
        size: params.limit,
        startDate: startDate,
        endDate: endDate,
        state: state,
        hospital: hospital,
        dispensaryType: 3,
        teamCode: teamCode,
        nameKey: nameKey
    };
}
function fillDropDown(res){
    if(res.status == 200){
        var stateHtml = template('state_tmpl', {list: res.data.states});
        $("#orderStatus").append(stateHtml);
        var expressHtml = template('address_tmpl', {list: res.data.hospitals});
        $("#address").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<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获得开始和结束时间
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;
    }
}

+ 309 - 35
js/buz/order-list.js

@ -1,6 +1,7 @@
//获取团队信息
var request = getRequest(),
    teamCode = request.id;
    teamCode = request.id,
    isLeader = request.isLeader || true;
//记录页面控件的值
var startDate = '', 
    endDate = '',
@ -8,10 +9,20 @@ var startDate = '',
    dispensaryType = '', //配送方式
    page = 1,
    size = 10,
    hospital, //服务站code
    hospital = '', //服务站code
    allocationType, //是否是待分配续方
    nameKey; //搜索的姓名
    nameKey, //搜索的姓名
    selectItemNum = 0, //选中的数量
    selectItem = [], //选中的订单号集合
    isArrange = false, // 判断所选的订单是否是可分配的
    totalOrderCount = 0,
    totalHealthDoctorCount = 0,
    selectDoctor; //选中的医生
$(function(){
    //非团队长隐藏操作按钮
    if(!isLeader){
        $("#arrange").hide();
    }
    //填充下拉框数据
    orderAPI.getFilterInfo().then(function(res){
        fillDropDown(res);
@ -27,41 +38,174 @@ $(function(){
});
//获得续方订单列表
function getPrescriptionList(){
function getPrescriptionList( refresh){
    var params = {
        teamCode: teamCode,
        startDate: startDate,
        endDate: endDate,
        state: state,
        dispensaryType: dispensaryType,
        hospital: hospital,
        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){
    console.log(res);
    if(res.status == 200){
        var stateHtml = template('state_tmpl', {list: res.data.states});
        $("#orderStatus").append(stateHtml);
@ -82,43 +226,156 @@ function bindEvents(){
            $(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();
        getPrescriptionList(true);
    });
    $("#express").on('change', function(){
        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(){
        hospital = $(this).val();
        getPrescriptionList();
        getPrescriptionList(true);
    });
    $("#allocationType").on('change', function(){
        var $this = $(this);
        if($this.prop('checked')){
            dispensaryType = 3;
            allocationType = 1;
        }else{
            dispensaryType = '';
            allocationType = 0;
        }
        getPrescriptionList();
        getPrescriptionList(true);
    });
    $("#searchBtn").on('click', function(){
        var $input = $("#searchName"),
            text = $.trim($input.val());
        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获得开始和结束时间
@ -133,22 +390,39 @@ function getStartEndDate(index){
            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;
    }
    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){
    var name = "",
        img = "";

+ 9 - 0
js/consulting-api.js

@ -0,0 +1,9 @@
(function($){
	var consulting = {
        getList: function(data){
            return APIService.httpGet('/im_new/consult/getList', data);
        }
    };
    window.consultingAPI = consulting;
})(jQuery)

+ 33 - 12
js/order-api.js

@ -1,13 +1,34 @@
var orderApis = {
    getOrderList: function(data){
        return APIService.httpGet('doctor/prescriptionInfo/getDoctorPrescriptionExpressage', data);
    },
    getFilterInfo: function(){
        return APIService.httpGet('doctor/prescriptionInfo/getPrescriptionExpressageAsdoctorFilter');
    },
    getHospitalList: function (data){
        return APIService.httpGet('doctor/prescriptionInfo/getHospitalListTitle', data);
    }
};
(function(){
    var orderApis = {
        getOrderList: function(data){
            return APIService.httpGet('doctor/prescriptionInfo/getDoctorPrescriptionExpressage', data);
        },
        getFilterInfo: function(){
            return APIService.httpGet('doctor/prescriptionInfo/getPrescriptionExpressageAsdoctorFilter');
        },
        getHospitalList: function (data){
            return APIService.httpGet('doctor/prescriptionInfo/getHospitalListTitle', data);
        },
        getOrderListCount: function(data){
            return APIService.httpGet('doctor/prescriptionInfo/getDoctorPrescriptionExpressageTotal', data);
        },
        getHealthDoctor: function(data){
            return APIService.httpGet('doctor/prescriptionInfo/getHDoctorInDoctorHosiptal', data);
        },
        distributeHealthDoctor: function(data){
            return APIService.httpPost('doctor/prescriptionInfo/distributionHealthDoctor', data);
        },
        //健管师页面接口
        getHOrderList: function(data){
            return APIService.httpGet('doctor/prescriptionInfo/getHDoctorPrescriptionExpressage', data);
        },
        getHFilterInfo: function(){
            return APIService.httpGet('doctor/prescriptionInfo/getPrescriptionExpressageFilter');
        },
        getHOrderListCount: function(data){
            return APIService.httpGet('doctor/prescriptionInfo/getHDoctorPrescriptionExpressageTotal',data);
        }
    };
window.orderAPI = orderApis;
    window.orderAPI = orderApis;
})(jQuery)

+ 104 - 0
order-list-jg.html

@ -0,0 +1,104 @@
<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>续方订单</title>
    <meta name="keywords" content="">
    <meta name="description" content="">
    <link rel="shortcut icon" href="favicon.ico"> 
    <link href="css/bootstrap.min14ed.css?v=3.3.6" rel="stylesheet">
    <link href="css/font-awesome.min93e3.css?v=4.4.0" rel="stylesheet">
    <link href="css/plugins/bootstrap-table/bootstrap-table.min.css" rel="stylesheet">
    <link href="css/animate.min.css" rel="stylesheet">
    <link href="css/style.css?v=4.1.0" rel="stylesheet">
</head>
<body class="white-bg">
    <div class="wrapper wrapper-content animated fadeInRight">
        <div class="border-bottom overflow-h">
            <ul class="nav navbar-nav">
                <li class="n-tab active" data-val="0">
                    <a href="#">所有续方</a>
                </li>
                <li class="n-tab" data-val="1">
                    <a href="#">近一周</a>
                </li>
                <li class="n-tab" data-val="2">
                    <a href="#">近一月</a>
                </li>
                <li class="n-tab" data-val="3">
                    <a href="#">近半年</a>
                </li>
                <li class="n-tab" data-val="4">
                    <a href="#">近一年</a>
                </li>
            </ul>
        </div>
        <form role="form" class="form-inline ptb10">
            <div class="form-group mr10">
                <label for="orderStatus">订单状态:</label>
                <select name="orderStatus" id="orderStatus" class="form-control input-sm">
                    <option value="">所有状态</option>
                </select>
            </div>
            <div class="form-group mr10">
                <label for="">配送地点:</label>
                <select name="address" id="address" class="form-control input-sm">
                    
                </select>
            </div>
        </form>
        <form role="form" class="form-inline pb10">
            <div class="form-group">
                <label for="">续方搜索:</label>
                <input type="text" class="form-control input-sm" id="searchName" placeholder="可按申请居民搜索">
            </div>
            <div class="form-group ml5">
                <button type="button" class="btn btn-w-80 btn-sm bgc-12b7f5 c-fff" id="searchBtn">搜索</button>
            </div>
        </form>
        <table id="prescriptTable" data-mobile-responsive="true" class="table">
            <thead class="thead-inverse">
                <tr class="">
                    <th data-field="name" tabindex="0">居民姓名</th>
                    <th data-field="result" tabindex="0">诊断结果</th>
                    <th data-field="express" tabindex="0">配送方式</th>
                    <th data-field="expressageName" tabindex="0">配送员</th>
                    <th data-field="expressageHospitalName" tabindex="0">配送地点</th>
                    <th data-field="statusName" tabindex="0">订单状态</th>
                    <th data-field="action" tabindex="0">操作</th>
                </tr>
            </thead>
            <tbody></tbody>
        </table>
    </div>
    <script type="text/html" id="state_tmpl">
        {{each list as it}}
        <option value="{{it.code}}">{{it.name}}</option>
        {{/each}}
    </script>
    <script type="text/html" id="address_tmpl">
        <option value="">所有地点</option>
        {{each list as it}}
        <option value="{{it.code}}">{{it.name}}</option>
        {{/each}}
        <!-- <option value="">其他</option> -->
    </script>
    <script src="js/jquery.min.js?v=2.1.4"></script>
    <script src="js/bootstrap.min.js?v=3.3.6"></script>
    <script src="js/content.min.js?v=1.0.0"></script>
    <script src="js/plugins/bootstrap-table/bootstrap-table.min.js"></script>
    <script src="js/plugins/bootstrap-table/bootstrap-table-mobile.min.js"></script>
    <script src="js/plugins/bootstrap-table/locale/bootstrap-table-zh-CN.min.js"></script>
    <script src="js/es6-promise.js"></script>
    <script src="js/underscore.js"></script>
    <script src="js/api-service.js"></script>
    <script src="js/order-api.js"></script>
    <script src="js/util.js"></script>
    <script src="js/template.js"></script>
    <script src="js/buz/order-list-jg.js"></script>
</body>
</html>

+ 68 - 13
order-list.html

@ -53,7 +53,7 @@
                    
                </select>
            </div>
            <div class="form-group">
            <div class="form-group hidden" id="checkboxBox">
                <input type="checkbox" class="icon-checkbox" id="allocationType">
                <label for="">只显示待分配配送员订单</label>
            </div>
@ -67,14 +67,14 @@
                <button type="button" class="btn btn-w-80 btn-sm bgc-12b7f5 c-fff" id="searchBtn">搜索</button>
            </div>
        </form>
        <table id="prescriptTable" data-toggle="table" data-classes="table table-hover table-condensed" data-mobile-responsive="true">
            <thead class="bgc-f5f5fa">
                <tr>
                    <th data-field="code"></th>
        <table id="prescriptTable" data-mobile-responsive="true" class="table">
            <thead class="thead-inverse">
                <tr class="">
                    <th data-field="checkbox"></th>
                    <th data-field="name" tabindex="0">居民姓名</th>
                    <th data-field="result" tabindex="0">诊断结果</th>
                    <th data-field="express" tabindex="0">配送方式</th>
                    <th data-field="member" tabindex="0">配送员</th>
                    <th data-field="expressageName" tabindex="0">配送员</th>
                    <th data-field="address" tabindex="0">配送地点</th>
                    <th data-field="statusName" tabindex="0">订单状态</th>
                    <th data-field="action" tabindex="0">操作</th>
@ -85,8 +85,57 @@
        <div class="mt20">
            <input type="checkbox" name="" id="selectAll" class="icon-checkbox">
            <label for="selectAll">全选</label>
            <a class="ml20 c-12b7f5">批量分配配送员</a>
            <span class="ml20 c-999">共选中1条记录</span>
            <a class="ml20 c-12b7f5 disabled" id="arrange">批量分配配送员</a>
            <span class="ml20 c-999">共选中<span id="selectedCount">0</span>条记录</span>
        </div>
    </div>
    <!-- Modal -->
    <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
        <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title" id="myModalLabel">
                    <img src="img/shezi_tankuang_icon.png" class="mr10">选择配送员
                </h4>
            </div>
            <div class="modal-body">
                <div class="mb10">
                    <input type="search" class="form-control input-sm" id="doctorName" placeholder="请输入健管师姓名">
                </div>
                <table id="hDoctor" data-mobile-responsive="true" data-show-header="false">
                    <thead class="thead-inverse">
                        <tr class="">
                            <th data-field="photo" tabindex="0">头像</th>
                            <th data-field="name" tabindex="0">姓名</th>
                            <th data-field="job" tabindex="0">职称</th>
                        </tr>
                    </thead>
                    <tbody></tbody>
                </table>
            </div>
        </div>
        </div>
    </div>
    <div class="modal fade" id="confirmModal" tabindex="-1" role="dialog">
        <div class="modal-dialog modal-sm" role="document">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                    <h4 class="modal-title">
                        <img src="img/shezi_tankuang_icon.png" class="mr10"> 确认选择
                    </h4>
                </div>
                <div class="modal-body">
                    <p class="c-333 text-center">是否确认将<span class="c-12b7f5" id="orderCount"></span>个订单分配给 <span id="docInfo"></span >配送?</p>
                    <p class="c-333 text-center">确认后将不可变更!</p>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-primary" id="confirmBtn">确定</button>
                    <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
                </div>
            </div>
        </div>
    </div>
@ -107,18 +156,24 @@
        {{each list as it}}
        <option value="{{it.hospitalCode}}">{{it.hospitalName}}</option>
        {{/each}}
        <option value="">其他</option>
        <!-- <option value="">其他</option> -->
    </script>
    <script type="text/html" id="list_tmpl">
    {{each list as it index}}
        <tr data-index="{{index}}">
            <td class="bs-checkbox"><input data-index="{{index}}" name="btSelectItem" type="checkbox" class="icon-checkbox"></td>
        <tr data-json="{{it.jsonStr}}">
            <td class="bs-checkbox">
                <input name="btSelectItem" type="checkbox" class="icon-checkbox">
            </td>
            <td>{{it.name}}</td>
            <td>{{it.result}}</td>
            <td>{{it.express}}</td>
            <td>{{it.member}}</td>
            <td>{{it.address}}</td>
            {{if it.dispensaryType == 2}}
            <td>顺丰速递</td>
            {{else}}
            <td>{{it.expressageName}}</td>
            {{/if}}
            <td>{{it.expressageHospitalName}}</td>
            <td>{{it.statusName}}</td>
            <td>{{#it.action}}</td>
        </tr>