xuhy
2024-08-24 0a2e0cdf1503fcc2af77bbc640e06de9dfd4897c
处理异常订单记录
8个文件已修改
2个文件已添加
600 ■■■■■ 已修改文件
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderPrivateCarMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderPrivateCarService.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderPrivateCarServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tAbnormalOrder.html 100 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tAbnormalOrder.js 342 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
@@ -414,7 +414,18 @@
     * 是否冻结(1=否,2=是)
     */
    private Integer isFrozen;
    /**
     * 是否异常 1=是,0=否
     */
    private Integer isAbnormal;
    public Integer getIsAbnormal() {
        return isAbnormal;
    }
    public void setIsAbnormal(Integer isAbnormal) {
        this.isAbnormal = isAbnormal;
    }
    public Integer getIsFrozen() {
        return isFrozen;
DriverZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -392,6 +392,7 @@
                System.err.println("======服务里程======"+sum);
                if(counts < 5){
                    orderPrivateCar.setMileage(sum);
                    orderPrivateCar.setIsAbnormal(1);
                    // 将数据存储到文件中
                    File file = new File(filePath + orderId + "_" + 1 + ".txt");
                    if(!file.exists()){
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TOrderPrivateCarController.java
@@ -84,6 +84,17 @@
    }
    /**
     * 跳转到专车订单首页
     */
    @RequestMapping("/abnormalOrder")
    public String abnormalOrder(Model model) {
        //服务专车车型
        List<TServerCarmodel> carmodelList = tServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1));
        model.addAttribute("carmodelList",carmodelList);
        return PREFIX + "tAbnormalOrder.html";
    }
    /**
     * 跳转到修改专车订单
     */
    @RequestMapping("/tOrderPrivateCar_orderDetail/{tOrderPrivateCarId}")
@@ -138,6 +149,34 @@
        return super.packForBT(page);
    }
    /**
     * 获取专车订单列表
     */
    @RequestMapping(value = "/abnormalList")
    @ResponseBody
    public Object abnormalList(String insertTime,
                       String orderNum,
                       Integer orderSource,
                       String userName,
                       String userPhone,
                       String passengers,
                       String passengersPhone,
                       Integer serverCarModelId,
                       String driver,
                       Integer state,
                       Integer smsNumber) {
        String beginTime = null;
        String endTime = null;
        if (SinataUtil.isNotEmpty(insertTime)){
            String[] timeArray = insertTime.split(" - ");
            beginTime = timeArray[0];
            endTime = timeArray[1];
        }
        Page<Map<String, Object>> page = new PageFactory<Map<String, Object>>().defaultPage();
        page.setRecords(tOrderPrivateCarService.getAbnormalOrderList(page,beginTime,endTime,ShiroKit.getUser().getRoleType(),ShiroKit.getUser().getObjectId(),orderNum,orderSource,userName,userPhone,passengers,passengersPhone,serverCarModelId,driver,state,smsNumber));
        return super.packForBT(page);
    }
    private ResultUtil resultUtil;
    /**
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderPrivateCarMapper.java
@@ -70,4 +70,21 @@
     * @return java.util.List<java.util.Map<java.lang.String,java.lang.Object>>
     */
    List<Map<String,Object>>selectDriverOrderNumByTime(@Param("startTime")String startTime,@Param("endTime")String endTime);
    List<Map<String, Object>> getAbnormalOrderList(@Param("page") Page<Map<String, Object>> page,
                                                   @Param("beginTime") String beginTime,
                                                   @Param("endTime") String endTime,
                                                   @Param("roleType") Integer roleType,
                                                   @Param("nowUserId") Integer nowUserId,
                                                   @Param("orderNum") String orderNum,
                                                   @Param("orderSource") Integer orderSource,
                                                   @Param("userName") String userName,
                                                   @Param("userPhone") String userPhone,
                                                   @Param("passengers") String passengers,
                                                   @Param("passengersPhone") String passengersPhone,
                                                   @Param("serverCarModelId") Integer serverCarModelId,
                                                   @Param("driver") String driver,
                                                   @Param("state") Integer state,
                                                   @Param("smsNumber") Integer smsNumber);
}
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderPrivateCarMapper.xml
@@ -238,4 +238,59 @@
        and isDelete=1
        GROUP BY driverId
    </select>
    <select id="getAbnormalOrderList" resultType="java.util.Map">
        SELECT * FROM (SELECT ui.nickName as userName,ui.phone as userPhone,CONCAT(di.`name`,'-',di.phone) as driver,CONCAT(cb.`name`,'-',ci.carLicensePlate) as car,
        sc.`name` as serverCarModel,ot.* FROM t_order_private_car as ot
        LEFT JOIN t_user as ui on ui.id = ot.userId
        LEFT JOIN t_driver as di on di.id = ot.driverId
        LEFT JOIN t_car as ci on ci.id= ot.carId
        LEFT JOIN t_car_brand as cb on cb.id = ci.carBrandId
        LEFT JOIN t_server_carmodel as sc on sc.id = ot.serverCarModelId
        ) as o
        <where>
            o.isDelete = 1 and o.type = 1
            <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
                AND (o.insertTime between CONCAT(#{beginTime},' 00:00:00') and CONCAT(#{endTime},' 23:59:59'))
            </if>
            <if test="orderNum != null and orderNum != ''">
                and o.orderNum  LIKE CONCAT('%',#{orderNum},'%')
            </if>
            <if test="orderSource != null and orderSource != ''">
                and o.orderSource = #{orderSource}
            </if>
            <if test="userName != null and userName != ''">
                and o.userName  LIKE CONCAT('%',#{userName},'%')
            </if>
            <if test="userPhone != null and userPhone != ''">
                and o.userPhone  LIKE CONCAT('%',#{userPhone},'%')
            </if>
            <if test="passengers != null and passengers != ''">
                and o.passengers  LIKE CONCAT('%',#{passengers},'%')
            </if>
            <if test="passengersPhone != null and passengersPhone != ''">
                and o.passengersPhone  LIKE CONCAT('%',#{passengersPhone},'%')
            </if>
            <if test="serverCarModelId != null and serverCarModelId != ''">
                and o.serverCarModelId  = #{serverCarModelId}
            </if>
            <if test="driver != null and driver != ''">
                and o.driver  LIKE CONCAT('%',#{driver},'%')
            </if>
            <if test="state != null and state != ''">
                and o.state = #{state}
            </if>
            <if test="smsNumber != null and smsNumber != ''">
                and o.smsNumber = #{smsNumber}
            </if>
            <if test="roleType != null and roleType != '' and roleType == 2">
                and (o.companyId = #{nowUserId} or FIND_IN_SET(o.companyId,(SELECT GROUP_CONCAT(id) as ids FROM t_company where superiorId = #{nowUserId} GROUP BY superiorId)))
            </if>
            <if test="roleType != null and roleType != '' and roleType == 3">
                and o.companyId = #{nowUserId}
            </if>
            and o.isAbnormal = 1
        </where>
        order by o.id desc
    </select>
</mapper>
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TOrderPrivateCar.java
@@ -287,6 +287,18 @@
    private BigDecimal abnormalMoney;
    private Integer isFrozen;
    /**
     * 是否异常 1=是,0=否
     */
    private Integer isAbnormal;
    public Integer getIsAbnormal() {
        return isAbnormal;
    }
    public void setIsAbnormal(Integer isAbnormal) {
        this.isAbnormal = isAbnormal;
    }
    public Integer getIsFrozen() {
        return isFrozen;
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderPrivateCarService.java
@@ -52,4 +52,22 @@
     */
    List<Map<String,Object>> getPrivateCarOrderListNoPage(String beginTime, String endTime, Integer roleType, Integer objectId, String orderNum, Integer orderSource, String userName, String userPhone, String passengers, String passengersPhone, Integer serverCarModelId, String driver, Integer state,
                                                          Integer smsNumber);
    List<Map<String, Object>> getAbnormalOrderList(@Param("page") Page<Map<String, Object>> page,
                                                   @Param("beginTime") String beginTime,
                                                   @Param("endTime") String endTime,
                                                   @Param("roleType") Integer roleType,
                                                   @Param("nowUserId") Integer nowUserId,
                                                   @Param("orderNum") String orderNum,
                                                   @Param("orderSource") Integer orderSource,
                                                   @Param("userName") String userName,
                                                   @Param("userPhone") String userPhone,
                                                   @Param("passengers") String passengers,
                                                   @Param("passengersPhone") String passengersPhone,
                                                   @Param("serverCarModelId") Integer serverCarModelId,
                                                   @Param("driver") String driver,
                                                   @Param("state") Integer state,
                                                   Integer smsNumber);
}
ManagementZYTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderPrivateCarServiceImpl.java
@@ -37,4 +37,9 @@
                                                                  Integer smsNumber) {
        return this.baseMapper.getPrivateCarOrderListNoPage(beginTime, endTime, roleType, objectId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, state,smsNumber);
    }
    @Override
    public List<Map<String, Object>> getAbnormalOrderList(Page<Map<String, Object>> page, String beginTime, String endTime, Integer roleType, Integer nowUserId, String orderNum, Integer orderSource, String userName, String userPhone, String passengers, String passengersPhone, Integer serverCarModelId, String driver, Integer state, Integer smsNumber) {
        return this.baseMapper.getAbnormalOrderList(page, beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, state,smsNumber);
    }
}
ManagementZYTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tAbnormalOrder.html
New file
@@ -0,0 +1,100 @@
@layout("/common/_container.html"){
<div class="row" xmlns="http://www.w3.org/1999/html">
    <div class="col-sm-12">
        <div class="ibox float-e-margins">
            <div class="ibox-title">
                <h5>专车订单管理</h5>
            </div>
            <div class="ibox-content">
                <div class="row row-lg">
                    <form id="tOrderPrivateCarForm" role="form" action="${ctxPath}/tOrderPrivateCar/getExcel" target="_blank" method="post">
                        <div class="col-sm-12">
                        <div class="row">
                            <div class="col-sm-3">
                                <#TimeCon id="insertTime" name="订单时间" isTime="false"/>
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="orderNum" name="订单编号" />
                            </div>
                            <div class="col-sm-3">
                                <#SelectCon id="orderSource" name="订单来源" >
                                    <option value="">全部</option>
                                    <option value="1">APP下单</option>
                                    <option value="2">推荐下单</option>
                                    <option value="3">小程序下单</option>
                                    <option value="4">司机下单</option>
                                    <option value="5">调度下单</option>
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="userName" name="下单用户昵称" />
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="userPhone" name="下单用户手机" />
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="passengers" name="乘车用户姓名" />
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="passengersPhone" name="乘车用户手机" />
                            </div>
                            <div class="col-sm-3">
                                <#SelectCon id="serverCarModelId" name="车型" >
                                    <option value="">全部</option>
                                    @for(obj in carmodelList){
                                    <option value="${obj.id}">${obj.name}</option>
                                    @}
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#NameCon id="driver" name="接单司机" />
                            </div>
                            <div class="col-sm-3">
                                <#SelectCon id="state" name="状态" >
                                    <option value="">全部</option>
                                    <option value="1">待接单</option>
                                    <option value="2">待出发</option>
                                    <option value="3">待到达预约地点</option>
                                    <option value="4">待乘客上车</option>
                                    <option value="5">服务中</option>
                                    <option value="6">完成服务</option>
                                    <option value="7">待支付</option>
                                    <option value="8">待评价</option>
                                    <option value="9">已完成</option>
                                    <option value="10">已取消</option>
                                    <option value="11">改派中</option>
                                    <option value="12">取消待支付</option>
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#SelectCon id="smsNumber" name="催收次数" >
                                    <option value="">全部</option>
                                    <option value="1">1</option>
                                    <option value="2">2</option>
                                    <option value="3">3</option>
                                </#SelectCon>
                            </div>
                            <div class="col-sm-3">
                                <#button name="搜索" icon="fa-search" clickFun="TAbnormalOrder.search()"/>
                                <#button name="重置" icon="fa-trash" clickFun="TAbnormalOrder.resetSearch()" space="true"/>
                            </div>
                        </div>
                    </form>
                        <div class="hidden-xs" id="TAbnormalOrderTableToolbar" role="group">
                        </div>
                        <#table id="TAbnormalOrderTable"/>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>
<script src="${ctxPath}/static/modular/system/tOrderPrivateCar/tAbnormalOrder.js"></script>
<script>
    laydate.render({
        elem: '#insertTime'
        ,range: true
    });
</script>
@}
ManagementZYTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tAbnormalOrder.js
New file
@@ -0,0 +1,342 @@
/**
 * 专车订单管理初始化
 */
var TAbnormalOrder = {
    id: "TAbnormalOrderTable",    //表格id
    seItem: null,        //选中的条目
    table: null,
    layerIndex: -1
};
/**
 * 初始化表格的列
 */
TAbnormalOrder.initColumn = function () {
    return [
        {field: 'selectItem', radio: true},
        {title: '主键id', field: 'id', visible: false, align: 'center', valign: 'middle'},
        {title: '下单时间', field: 'insertTime', visible: true, align: 'center', valign: 'middle',width:'8%',
            formatter: function (value, row) {
                var btn = "";
                if(row.insertTime != '' && row.insertTime != null) {
                    var time = row.insertTime.replace(" ",'<br>');
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.insertTime + '" onfocus="TUser.tooltip()">' + time + '</p>']
                }
                return btn;
            }
        },
        {title: '订单编号', field: 'orderNum', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.orderNum != '' && row.orderNum != null) {
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.orderNum + '" onfocus="TUser.tooltip()">' + row.orderNum + '</p>']
                }
                return btn;
            }
        },
        {title: '订单来源', field: 'orderSource', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.orderSource != '' && row.orderSource != null) {
                    if (row.orderSource == 1){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="APP下单" onfocus="TUser.tooltip()">APP下单</p>']
                    } else if (row.orderSource == 2){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="推荐下单" onfocus="TUser.tooltip()">推荐下单</p>']
                    } else if (row.orderSource == 3){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="小程序下单" onfocus="TUser.tooltip()">小程序下单</p>']
                    } else if (row.orderSource == 4){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="司机下单" onfocus="TUser.tooltip()">司机下单</p>']
                    } else if (row.orderSource == 5){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="调度下单" onfocus="TUser.tooltip()">调度下单</p>']
                    }
                }
                return btn;
            }
        },
        {title: '乘车时间', field: 'travelTime', visible: true, align: 'center', valign: 'middle',width:'10%',
            formatter: function (value, row) {
                var btn = "";
                if(row.travelTime != '' && row.travelTime != null) {
                    var time = row.travelTime.replace(" ",'<br>');
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.travelTime + '" onfocus="TUser.tooltip()">' + time + '</p>']
                }
                return btn;
            }
        },
        {title: '用户id', field: 'userId', visible: false, align: 'center', valign: 'middle'},
        {title: '下单用<br/>户昵称', field: 'userName', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.userName != '' && row.userName != null) {
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.userName + '" onfocus="TUser.tooltip()">' + row.userName + '</p>']
                }
                return btn;
            }
        },
        {title: '下单用<br/>户手机', field: 'userPhone', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.userPhone != '' && row.userPhone != null) {
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.userPhone + '" onfocus="TUser.tooltip()">' + row.userPhone + '</p>']
                }
                return btn;
            }
        },
        {title: '乘车用<br/>户姓名', field: 'passengers', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.passengers != '' && row.passengers != null) {
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.passengers + '" onfocus="TUser.tooltip()">' + row.passengers + '</p>']
                }
                return btn;
            }
        },
        {title: '乘车用<br/>户手机', field: 'passengersPhone', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.passengersPhone != '' && row.passengersPhone != null) {
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.passengersPhone + '" onfocus="TUser.tooltip()">' + row.passengersPhone + '</p>']
                }
                return btn;
            }
        },
        {title: '起点', field: 'startAddress', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.startAddress != '' && row.startAddress != null) {
                    var str = row.startAddress;
                    var str1 = "";
                    var arr = "";
                    for(var i=0,len=str.length/15;i<len;i++) {
                        str1 = str.substr(0,15);
                        str = str.replace(str1,'');
                        arr += str1 + "<br>";
                    }
                    arr = arr.substring(0,arr.length-4);
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.startAddress + '" onfocus="TUser.tooltip()">' + arr + '</p>']
                }
                return btn;
            }
        },
        {title: '终点', field: 'endAddress', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.endAddress != '' && row.endAddress != null) {
                    var str = row.endAddress;
                    var str1 = "";
                    var arr = "";
                    for(var i=0,len=str.length/15;i<len;i++) {
                        str1 = str.substr(0,15);
                        str = str.replace(str1,'');
                        arr += str1 + "<br>";
                    }
                    arr = arr.substring(0,arr.length-4);
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.endAddress + '" onfocus="TUser.tooltip()">' + arr + '</p>']
                }
                return btn;
            }
        },
        {title: '选择车型', field: 'serverCarModel', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.serverCarModel != '' && row.serverCarModel != null) {
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.serverCarModel + '" onfocus="TUser.tooltip()">' + row.serverCarModel + '</p>']
                }
                return btn;
            }
        },
        {title: '接单司机', field: 'driver', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.driver != '' && row.driver != null) {
                    var driverName1 = row.driver.replace("-","<br>");
                    var driverName2 = row.driver.replace("-","&#10;");
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + driverName2 + '" onfocus="TUser.tooltip()">' + driverName1 + '</p>']
                }
                return btn;
            }
        },
        {title: '接单车辆', field: 'car', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.car != '' && row.car != null) {
                    var car1 = row.car.replace("-","<br>");
                    var car2 = row.car.replace("-","&#10;");
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + car2 + '" onfocus="TUser.tooltip()">' + car1 + '</p>']
                }
                return btn;
            }
        },
        {title: '订单金额', field: 'orderMoney', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.orderMoney != '' && row.orderMoney != null) {
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.orderMoney + '" onfocus="TUser.tooltip()">' + row.orderMoney + '</p>']
                }
                return btn;
            }
        },
        {title: '异常金额', field: 'abnormalMoney', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.abnormalMoney != '' && row.abnormalMoney != null) {
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.abnormalMoney + '" onfocus="TUser.tooltip()">' + row.abnormalMoney + '</p>']
                }
                return btn;
            }
        },
        {title: '催收次数', field: 'smsNumber', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.smsNumber != '' && row.smsNumber != null) {
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.smsNumber + '" onfocus="TUser.tooltip()">' + row.smsNumber + '</p>']
                }
                return btn;
            }
        },
        {title: '冻结状态', field: 'isFrozen', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.isFrozen != '' && row.isFrozen != null && row.isFrozen==2) {
                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="冻结" onfocus="TUser.tooltip()">冻结</p>']
                }
                return btn;
            }
        },
        {title: '状态', field: 'state', visible: true, align: 'center', valign: 'middle',
            formatter: function (value, row) {
                var btn = "";
                if(row.state != '' && row.state != null) {
                    if (row.state == 1){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="待接单" onfocus="TUser.tooltip()">待接单</p>']
                    } else if (row.state == 2){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="待出发" onfocus="TUser.tooltip()">待出发</p>']
                    } else if (row.state == 3){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="待到达预约地点" onfocus="TUser.tooltip()">待到达预约地点</p>']
                    } else if (row.state == 4){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="待乘客上车" onfocus="TUser.tooltip()">待乘客上车</p>']
                    } else if (row.state == 5){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="服务中" onfocus="TUser.tooltip()">服务中</p>']
                    } else if (row.state == 6){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="完成服务" onfocus="TUser.tooltip()">完成服务</p>']
                    } else if (row.state == 7){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="待支付" onfocus="TUser.tooltip()">待支付</p>']
                    } else if (row.state == 8){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="待评价" onfocus="TUser.tooltip()">待评价</p>']
                    } else if (row.state == 9){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="已完成" onfocus="TUser.tooltip()">已完成</p>']
                    } else if (row.state == 10){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="已取消" onfocus="TUser.tooltip()">已取消</p>']
                    } else if (row.state == 11){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="改派中" onfocus="TUser.tooltip()">改派中</p>']
                    } else if (row.state == 12){
                        btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="取消待支付" onfocus="TUser.tooltip()">取消待支付</p>']
                    }
                }
                return btn;
            }
        }
    ];
};
/**
 * 检查是否选中
 */
TAbnormalOrder.check = function () {
    var selected = $('#' + this.id).bootstrapTable('getSelections');
    if(selected.length == 0){
        Feng.info("请先选中表格中的某一记录!");
        return false;
    }else{
        TAbnormalOrder.seItem = selected[0];
        return true;
    }
};
/**
 * 打开查看专车订单详情
 */
TAbnormalOrder.orderDetail = function () {
    if (this.check()) {
        var index = layer.open({
            type: 2,
            title: '专车订单详情',
            area: ['100%', '100%'], //宽高
            fix: false, //不固定
            maxmin: true,
            content: Feng.ctxPath + '/tOrderPrivateCar/tOrderPrivateCar_orderDetail/' + TAbnormalOrder.seItem.id
        });
        this.layerIndex = index;
    }
};
/**
 * 订单轨迹
 */
TAbnormalOrder.trajectory = function(){
    if (this.check()) {
        var index = layer.open({
            type: 2,
            title: '专车订单轨迹',
            area: ['100%', '100%'], //宽高
            fix: false, //不固定
            maxmin: true,
            content: Feng.ctxPath + '/tOrderPrivateCar/tOrderPrivateCar_trajectory/' + TAbnormalOrder.seItem.id
        });
        this.layerIndex = index;
    }
}
/**
 * 查询专车订单列表
 */
TAbnormalOrder.search = function () {
    var queryData = {};
    queryData['insertTime'] = $("#insertTime").val();
    queryData['orderNum'] = $("#orderNum").val();
    queryData['orderSource'] = $("#orderSource").val();
    queryData['userName'] = $("#userName").val();
    queryData['userPhone'] = $("#userPhone").val();
    queryData['passengers'] = $("#passengers").val();
    queryData['passengersPhone'] = $("#passengersPhone").val();
    queryData['serverCarModelId'] = $("#serverCarModelId").val();
    queryData['driver'] = $("#driver").val();
    queryData['state'] = $("#state").val();
    queryData['smsNumber'] = $("#smsNumber").val();
    TAbnormalOrder.table.refresh({query: queryData});
};
TAbnormalOrder.resetSearch = function () {
    $("#insertTime").val("");
    $("#orderNum").val("");
    $("#orderSource").val("");
    $("#userName").val("");
    $("#userPhone").val("");
    $("#passengers").val("");
    $("#passengersPhone").val("");
    $("#serverCarModelId").val("");
    $("#driver").val("");
    $("#state").val("");
    $("#smsNumber").val("");
    TAbnormalOrder.search();
};
TAbnormalOrder.downloadExcel=function(){
    window.location.href=Feng.ctxPath + "/tOrderPrivateCar/getExcel?insertTime="+$("#insertTime").val()
        +"&orderNum="+$("#orderNum").val()
        +"&userName="+$("#userName").val()
        +"&userPhone="+$("#userPhone").val()
        +"&passengers="+$("#passengers").val()
        +"&passengersPhone="+$("#passengersPhone").val()
        +"&serverCarModelId="+$("#serverCarModelId").val()
        +"&driver="+$("#driver").val()
        +"&smsNumber="+$("#smsNumber").val()
        +"&state="+$("#state").val();
};
$(function () {
    var defaultColunms = TAbnormalOrder.initColumn();
    var table = new BSTable(TAbnormalOrder.id, "/tOrderPrivateCar/abnormalList", defaultColunms);
    table.setPaginationType("server");
    TAbnormalOrder.table = table.init();
});