From d04bcbfa85b97e4444bac2a66bbee611d05f0f0e Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期三, 30 七月 2025 16:34:38 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/QianYunTong

---
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java                   |  124 ++++
 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html                                                   |  204 +++++++
 ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTaxi/tOrderTaxi.js                                           |    2 
 ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderCrossCity/tOrderCrossCity.js                                 |    2 
 ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar.js                                                       |   24 
 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalOrderCar/tAbnormalOrder.html                                |    2 
 ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar_info.js                                                  |   27 +
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java              |   14 
 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html                                                  |  229 +++++++-
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/RongYunUtil.java                                |   14 
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java                             |   21 
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java |  140 +++++
 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit1.html                                                 |  391 +++++++++++++++
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java            |    8 
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java                                           |   20 
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTaxiServiceImpl.java                  |   32 
 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar.html                                                       |    5 
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java                           |    2 
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java                                           |    2 
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderPrivateCarServiceImpl.java            |   19 
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java                                  |    8 
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCarMapper.xml                               |    6 
 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalOrderCar/tAbnormalOrder_orderDetail.html                    |  109 +++
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java                               |   20 
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderCrossCityServiceImpl.java             |   30 +
 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html                          |    2 
 ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tAbnormalOrderCar/tAbnormalOrder.js                                |   20 
 ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCar.java                                          |   11 
 ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js                               |    4 
 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalPayOrderCar/tAbnormalOrder_orderDetail.html                 |    2 
 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html                   |    2 
 UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java                             |    5 
 ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html                                      |    2 
 DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java                         |   10 
 34 files changed, 1,414 insertions(+), 99 deletions(-)

diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
index 4d6a28b..8be704c 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/api/DriverController.java
@@ -1606,7 +1606,7 @@
             if(companyCities.isEmpty()){
                 return ResultUtil.success(companyVos);
             }
-            Wrapper<Company> in = new EntityWrapper<Company>().ne("type", 1).ne("flag", 3).in("id", companyCities.stream().map(CompanyCity::getCompanyId).collect(Collectors.toList()));
+            Wrapper<Company> in = new EntityWrapper<Company>().eq("type", 2).ne("flag", 3).in("id", companyCities.stream().map(CompanyCity::getCompanyId).collect(Collectors.toList()));
 
             if(ToolUtil.isNotEmpty( name)){
                 in.like("name", name);
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
index 0f63c99..183ac46 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
@@ -440,6 +440,27 @@
     // 推广司机id
     private Integer promotionDriverId;
 
+    private String promotionUser;
+
+    private String promotionPhone;
+
+
+    public String getPromotionUser() {
+        return promotionUser;
+    }
+
+    public void setPromotionUser(String promotionUser) {
+        this.promotionUser = promotionUser;
+    }
+
+    public String getPromotionPhone() {
+        return promotionPhone;
+    }
+
+    public void setPromotionPhone(String promotionPhone) {
+        this.promotionPhone = promotionPhone;
+    }
+
     public Integer getPromotion() {
         return promotion;
     }
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index ce50214..62b52d7 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -240,6 +240,14 @@
 
         // 是否推广订单
         Integer promotion = isPromotion(uid);
+        if(promotion!=null){
+            orderPrivateCar.setPromotion(2);
+            Driver driver1 = driverService.selectById(promotion);
+            orderPrivateCar.setPromotionUser(driver1.getName());
+            orderPrivateCar.setPromotionPhone(driver1.getPhone());
+            orderPrivateCar.setPromotionDriverId(promotion);
+        }
+
         orderPrivateCar.setPromotion(promotion);
         UserInfo userInfo = userInfoMapper.selectById(orderPrivateCar.getUserId());
         //调三方订单中心创建行程单
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/RongYunUtil.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/RongYunUtil.java
index e5e5266..029898a 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/RongYunUtil.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/util/rongyun/RongYunUtil.java
@@ -18,14 +18,14 @@
 @Component
 public class RongYunUtil {
 
-//    public static String app_key = "bmdehs6pbnozs";
-//    public static String app_secret = "RovVwtABN1";
+    public static String app_key = "bmdehs6pbnozs";
+    public static String app_secret = "RovVwtABN1";
 
-    @Value("${rongyun.app_key}")
-    private String app_key;
-
-    @Value("${rongyun.app_secret}")
-    private String app_secret;
+//    @Value("${rongyun.app_key}")
+//    private String app_key;
+//
+//    @Value("${rongyun.app_secret}")
+//    private String app_secret;
     /**
      * 注册获取token
      * @param userId
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java
index 8649bf7..53706e5 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/model/OrderTaxi.java
@@ -357,6 +357,26 @@
 
     private Date voiceTime;
 
+    private String promotionUser;
+
+    private String promotionPhone;
+
+
+    public String getPromotionUser() {
+        return promotionUser;
+    }
+
+    public void setPromotionUser(String promotionUser) {
+        this.promotionUser = promotionUser;
+    }
+
+    public String getPromotionPhone() {
+        return promotionPhone;
+    }
+
+    public void setPromotionPhone(String promotionPhone) {
+        this.promotionPhone = promotionPhone;
+    }
     public Integer getPromotion() {
         return promotion;
     }
diff --git a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index aa50484..6198065 100644
--- a/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -213,7 +213,13 @@
 
         // 是否推广订单
         Integer promotion = isPromotion(orderTaxi.getUserId());
-        orderTaxi.setPromotion(promotion);
+        if(promotion!=null){
+            orderTaxi.setPromotion(2);
+            Driver driver1 = driverService.selectById(promotion);
+            orderTaxi.setPromotionUser(driver1.getName());
+            orderTaxi.setPromotionPhone(driver1.getPhone());
+            orderTaxi.setPromotionDriverId(promotion);
+        }
 
         this.updateById(orderTaxi);
 
@@ -293,7 +299,7 @@
             String registAreaCode = userInfo.getRegistAreaCode();
             TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
             if(tDriverPromotionActivity!=null){
-                return 2;
+                return userInfo.getBindDriverId();
             }
         }
         return null;
diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
index bb789a2..163a84b 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCarController.java
@@ -1,6 +1,7 @@
 package com.stylefeng.guns.modular.system.controller.general;
 
 import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.stylefeng.guns.core.base.controller.BaseController;
 import com.stylefeng.guns.core.base.tips.ErrorTip;
@@ -16,6 +17,7 @@
 import com.stylefeng.guns.modular.system.util.ExcelExportUtil;
 import com.stylefeng.guns.modular.system.util.PushMinistryOfTransportUtil;
 import com.stylefeng.guns.modular.system.util.ResultUtil;
+import com.sun.org.apache.bcel.internal.generic.NEW;
 import org.apache.commons.lang.time.DateUtils;
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
@@ -230,6 +232,90 @@
         return PREFIX + "tCar_edit.html";
     }
 
+    @RequestMapping("/tCar_update1/{tCarId}")
+    public String tCarUpdate1(@PathVariable Integer tCarId, Model model) {
+        TCar tCar = tCarService.selectById(tCarId);
+        model.addAttribute("item", tCar);
+        LogObjectHolder.me().set(tCar);
+
+        Integer roleType = shiroExtUtil.getUser().getRoleType();
+        model.addAttribute("roleType", roleType);
+        model.addAttribute("objectName", tCompanyService.selectById(shiroExtUtil.getUser().getObjectId()).getName());
+
+        if (1 == roleType) {
+            List<TCompany> companyList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 2).eq("state", 0).ne("flag", 3));
+            model.addAttribute("companyList", companyList);
+            List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId", tCar.getCompanyId()).eq("state", 0).ne("flag", 3));
+            model.addAttribute("franchiseeList", franchiseeList);
+        } else if (2 == roleType) {
+            List<TCompany> franchiseeList = tCompanyService.selectList(new EntityWrapper<TCompany>().eq("type", 3).eq("superiorId", shiroExtUtil.getUser().getObjectId()).eq("state", 0).ne("flag", 3));
+            model.addAttribute("franchiseeList", franchiseeList);
+        }
+
+        //查询平台ID
+        TCompany company = tCompanyService.selectOne(new EntityWrapper<TCompany>().eq("type", 1));
+        //判断是平台司机还是加盟司机
+        if ((SinataUtil.isEmpty(tCar.getCompanyId()) || tCar.getCompanyId() == 0 || tCar.getCompanyId() == company.getId()) && (SinataUtil.isEmpty(tCar.getFranchiseeId()) || tCar.getFranchiseeId() == 0)){
+            model.addAttribute("companyType",1);
+        }else{
+            model.addAttribute("companyType",2);
+        }
+
+        //获取经营业务
+        List<TCarService> serviceList = tCarServiceService.selectList(new EntityWrapper<TCarService>().eq("carId", tCar.getId()));
+        Integer one = 1;
+        Integer two = 1;
+        Integer three = 1;
+        Integer four = 1;
+        Integer five = 1;
+        Integer six = 1;
+        Integer zcModel = 0;
+        Integer kcModel = 0;
+        for (TCarService obj : serviceList){
+            if (obj.getType() == 1){
+                one = 2;
+                zcModel = obj.getServerCarModelId();
+            }
+            if (obj.getType() == 2){
+                two = 2;
+            }
+            if (obj.getType() == 3){
+                three = 2;
+                kcModel = obj.getServerCarModelId();
+            }
+            if (obj.getType() == 4){
+                four = 2;
+            }
+            if (obj.getType() == 5){
+                five = 2;
+            }
+            if (obj.getType() == 6){
+                six = 2;
+            }
+        }
+        model.addAttribute("one",one);
+        model.addAttribute("two",two);
+        model.addAttribute("three",three);
+        model.addAttribute("four",four);
+        model.addAttribute("five",five);
+        model.addAttribute("six",six);
+        model.addAttribute("zcModel",zcModel);
+        model.addAttribute("kcModel",kcModel);
+
+        List<TServerCarmodel> zcModelList = itServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 1).eq("state", 1));
+        model.addAttribute("zcModelList",zcModelList);
+        List<TServerCarmodel> kcModelList = itServerCarmodelService.selectList(new EntityWrapper<TServerCarmodel>().eq("type", 2).eq("state", 1));
+        model.addAttribute("kcModelList",kcModelList);
+
+        //车辆品牌
+        List<TCarBrand> brandList = tCarBrandService.selectList(new EntityWrapper<TCarBrand>().eq("state", 1));
+        model.addAttribute("brandList",brandList);
+        //车辆类型
+        List<TCarModel> modelList = tCarModelService.selectList(new EntityWrapper<TCarModel>().eq("brandId",tCar.getCarBrandId()).eq("state", 1));
+        model.addAttribute("modelList",modelList);
+        return PREFIX + "tCar_edit1.html";
+    }
+
 
     /**
      * 跳转到保险列表页
@@ -316,6 +402,9 @@
     }
 
 
+
+
+
     /**
      * 获取保险列表
      * @param carId
@@ -392,7 +481,7 @@
      */
     @RequestMapping(value = "/add")
     @ResponseBody
-    public Object add(TCar tCar,@RequestParam String serverBox,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId,String zcModel,String kcModel) {
+    public Object add(TCar tCar,@RequestParam String serverBox,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId,String zcModel,String kcModel,String bindDriverId) {
         if (1 == roleType){  //平台
             if (2 == companyType.intValue()){
                 if (SinataUtil.isNotEmpty(oneId)){
@@ -432,6 +521,7 @@
         }
         tCar.setInsertTime(new Date());
         tCar.setState(1);
+        tCar.setBindDriverId(bindDriverId);
         tCarService.insert(tCar);
 
         //添加经营业务
@@ -488,13 +578,26 @@
         }).start();
         return SUCCESS_TIP;
     }
-
+    @ResponseBody
+    @RequestMapping(value = "/selectDriverFromCompanyId", method = RequestMethod.POST)
+    public Object selectDriverFromCompanyId(Integer companyId){
+        Wrapper<TDriver> companyId1 = new EntityWrapper<TDriver>().eq("companyId", companyId).eq("authState", 2).ne("flag", 3);
+        List<TDriver> tDrivers = tDriverService.selectList(companyId1);
+        ArrayList<Map<String, Object>> list = new ArrayList<>();
+        for (TDriver tDriver : tDrivers){
+            HashMap<String, Object> map = new HashMap<>();
+            map.put("id", tDriver.getId());
+            map.put("name", tDriver.getName());
+            list.add(map);
+        }
+        return list;
+    }
     /**
      * 修改车辆管理
      */
     @RequestMapping(value = "/update")
     @ResponseBody
-    public Object update(TCar tCar,@RequestParam String serverBox,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId,String zcModel,String kcModel) {
+    public Object update(TCar tCar,@RequestParam String serverBox,Integer roleType,Integer companyType,Integer oneId,Integer twoId,Integer franchiseeId,String zcModel,String kcModel,String bindDriverId) {
         if (1 == roleType){  //平台
             if (2 == companyType.intValue()){
                 if (SinataUtil.isNotEmpty(oneId)){
@@ -577,6 +680,10 @@
         obj.setGPSModel(tCar.getGPSModel());
         obj.setRegisterDate(tCar.getRegisterDate());
         obj.setCommercialType(tCar.getCommercialType());
+        if(bindDriverId==null){
+            bindDriverId="";
+        }
+        obj.setBindDriverId(bindDriverId);
         tCarService.updateAllColumnById(obj);
         new Thread(new Runnable() {
             @Override
@@ -588,6 +695,17 @@
         }).start();
         return SUCCESS_TIP;
     }
+    @RequestMapping(value = "/update1")
+    @ResponseBody
+    public Object update1(TCar tCar,String bindDriverId) {
+        TCar obj = tCarService.selectById(tCar.getId());
+        if(bindDriverId==null){
+            bindDriverId="";
+        }
+        obj.setBindDriverId(bindDriverId);
+        tCarService.updateById(obj);
+        return SUCCESS_TIP;
+    }
 
     /**
      * 车辆管理详情
diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
index 3a25d2b..d126c3b 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/specialTrain/TAbnormalOrderCarController.java
@@ -119,6 +119,7 @@
             }
             model.addAttribute("item",item);
             model.addAttribute("type",1);
+            model.addAttribute("show",0);
 
             List<TOrderPrivateCar> tOrderPrivateCars = tOrderPrivateCarService.selectList(new EntityWrapper<TOrderPrivateCar>().eq("pid", tOrderPrivateCarId).eq("isDelete", 1));
             List<Map<String, Object>> maps = new ArrayList<>();
@@ -140,6 +141,7 @@
             }
             Object o2 = item.get("responsibilityType");
             model.addAttribute("money",0);
+            model.addAttribute("show",0);
             if(o2!=null){
                 if(Integer.valueOf(o2.toString())>2){
                     TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 2).eq("orderNum", item.get("orderNum")));
@@ -158,6 +160,85 @@
                 model.addAttribute("abnormalImg",new String[]{});
             }
             model.addAttribute("money",0);
+            model.addAttribute("show",0);
+            Object o2 = item.get("responsibilityType");
+            if(o2!=null){
+                if(Integer.valueOf(o2.toString())>2){
+                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 3).eq("orderNum", item.get("orderNum")));
+                    model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
+                }
+            }
+            model.addAttribute("type",3);
+            model.addAttribute("item",item);
+        }
+
+        return PREFIX + "tAbnormalOrder_orderDetail.html";
+    }
+    @RequestMapping("/tOrderPrivateCar_orderDetail1")
+    public String tOrderPrivateCarUpdate1(Integer tOrderPrivateCarId,Integer type, Model model) {
+        if(type==1){
+            Map<String, Object> item = tOrderPrivateCarService.getPrivateCarOrderDetailById(tOrderPrivateCarId);
+
+            Object o1 = item.get("abnormalImg");
+            if(o1!=null){
+                String[] split = o1.toString().split(",");
+                model.addAttribute("abnormalImg",split);
+            }else {
+                model.addAttribute("abnormalImg",new String[]{});
+            }
+            // money是修改后的金额
+            model.addAttribute("money",0);
+            Object o2 = item.get("responsibilityType");
+            if(o2!=null){
+                if(Integer.valueOf(o2.toString())>2){
+                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 1).eq("orderNum", item.get("orderNum")));
+                    model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
+                }
+            }
+            model.addAttribute("item",item);
+            model.addAttribute("type",1);
+            model.addAttribute("show",1);
+
+            List<TOrderPrivateCar> tOrderPrivateCars = tOrderPrivateCarService.selectList(new EntityWrapper<TOrderPrivateCar>().eq("pid", tOrderPrivateCarId).eq("isDelete", 1));
+            List<Map<String, Object>> maps = new ArrayList<>();
+            for (TOrderPrivateCar tOrderPrivateCar : tOrderPrivateCars) {
+                item = tOrderPrivateCarService.getPrivateCarOrderDetailById(tOrderPrivateCar.getId());
+                String phone = item.get("userPhone").toString();
+                item.put("userPhone1", phone.substring(phone.length() - 4));
+                maps.add(item);
+            }
+            model.addAttribute("maps",maps);
+        }else if(type==2){
+            Map<String, Object> item = tOrderCrossCityService.getCrossCityOrderDetailById(tOrderPrivateCarId);
+            Object o1 = item.get("abnormalImg");
+            if(o1!=null){
+                String[] split = o1.toString().split(",");
+                model.addAttribute("abnormalImg",split);
+            }else {
+                model.addAttribute("abnormalImg",new String[]{});
+            }
+            Object o2 = item.get("responsibilityType");
+            model.addAttribute("money",0);
+            model.addAttribute("show",1);
+            if(o2!=null){
+                if(Integer.valueOf(o2.toString())>2){
+                    TAbnormalPayOrder tAbnormalPayOrder = tAbnormalPayOrderService.selectOne(new EntityWrapper<TAbnormalPayOrder>().eq("type", 2).eq("orderNum", item.get("orderNum")));
+                    model.addAttribute("money",tAbnormalPayOrder.getPayMoney());
+                }
+            }
+            model.addAttribute("type",2);
+            model.addAttribute("item",item);
+        }else if(type==3){
+            Map<String, Object> item = tOrderTaxiService.getTaxiOrderDetailById(tOrderPrivateCarId);
+            Object o1 = item.get("abnormalImg");
+            if(o1!=null){
+                String[] split = o1.toString().split(",");
+                model.addAttribute("abnormalImg",split);
+            }else {
+                model.addAttribute("abnormalImg",new String[]{});
+            }
+            model.addAttribute("money",0);
+            model.addAttribute("show",1);
             Object o2 = item.get("responsibilityType");
             if(o2!=null){
                 if(Integer.valueOf(o2.toString())>2){
@@ -597,6 +678,26 @@
                 tOrderPrivateCar.setResponsibilityMoney(tOrderPrivateCar.getPayMoney());
                 tOrderPrivateCar.setPayMoney(new BigDecimal(money));
             }
+            if(responsibilityTypeVal>2){
+                // 追偿订单记录表
+                TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder();
+                tAbnormalPayOrder.setOrderNum(orderNum);
+                tAbnormalPayOrder.setType(1);
+                tAbnormalPayOrder.setUserId(tOrderPrivateCar.getUserId());
+                tAbnormalPayOrder.setPayStatus(1);
+                tAbnormalPayOrder.setPayTime(new Date());
+                if(responsibilityTypeVal==3){
+                    tAbnormalPayOrder.setPayMoney(tOrderPrivateCar.getPayMoney());
+                }else {
+                    tAbnormalPayOrder.setPayMoney(new BigDecimal( money));
+                }
+                tAbnormalPayOrder.setCompanyId(tOrderPrivateCar.getCompanyId());
+                tAbnormalPayOrderService.insert(tAbnormalPayOrder);
+            }
+
+            if(responsibilityTypeVal<3){
+                tOrderPrivateCar.setState(9);
+            }
             tOrderPrivateCar.setAbnormalRemark(remark);
             tOrderPrivateCarService.updateById(tOrderPrivateCar);
         }
@@ -609,6 +710,25 @@
                 tOrderCrossCity.setResponsibilityMoney(tOrderCrossCity.getPayMoney());
                 tOrderCrossCity.setPayMoney(new BigDecimal(money));
             }
+            if(responsibilityTypeVal>2){
+                // 追偿订单记录表
+                TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder();
+                tAbnormalPayOrder.setOrderNum(orderNum);
+                tAbnormalPayOrder.setType(2);
+                tAbnormalPayOrder.setUserId(tOrderCrossCity.getUserId());
+                tAbnormalPayOrder.setPayStatus(1);
+                tAbnormalPayOrder.setPayTime(new Date());
+                if(responsibilityTypeVal==3){
+                    tAbnormalPayOrder.setPayMoney(tOrderCrossCity.getPayMoney());
+                }else {
+                    tAbnormalPayOrder.setPayMoney(new BigDecimal(money));
+                }
+                tAbnormalPayOrder.setCompanyId(tOrderCrossCity.getCompanyId());
+                tAbnormalPayOrderService.insert(tAbnormalPayOrder);
+            }
+            if(responsibilityTypeVal<3){
+                tOrderCrossCity.setState(9);
+            }
             tOrderCrossCity.setAbnormalRemark(remark);
             tOrderCrossCityService.updateById(tOrderCrossCity);
 
@@ -621,6 +741,26 @@
                 tOrderTaxi.setResponsibilityMoney(tOrderTaxi.getPayMoney());
                 tOrderTaxi.setPayMoney(new BigDecimal(money));
             }
+            if(responsibilityTypeVal>2){
+                // 追偿订单记录表
+                TAbnormalPayOrder tAbnormalPayOrder = new TAbnormalPayOrder();
+                tAbnormalPayOrder.setOrderNum(orderNum);
+                tAbnormalPayOrder.setType(3);
+                tAbnormalPayOrder.setUserId(tOrderTaxi.getUserId());
+                tAbnormalPayOrder.setPayStatus(1);
+                tAbnormalPayOrder.setPayTime(new Date());
+                if(responsibilityTypeVal==3){
+                    tAbnormalPayOrder.setPayMoney(tOrderTaxi.getPayMoney());
+                }else {
+                    tAbnormalPayOrder.setPayMoney(new BigDecimal( money));
+                }
+
+                tAbnormalPayOrder.setCompanyId(tOrderTaxi.getCompanyId());
+                tAbnormalPayOrderService.insert(tAbnormalPayOrder);
+            }
+            if(responsibilityTypeVal<3){
+                tOrderTaxi.setState(9);
+            }
             tOrderTaxi.setAbnormalRemark(remark);
             tOrderTaxiService.updateById(tOrderTaxi);
         }
diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCarMapper.xml b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCarMapper.xml
index a92a07f..c844c9c 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCarMapper.xml
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCarMapper.xml
@@ -54,7 +54,7 @@
 
     <!--根据条件查询车辆列表-->
     <select id="getCarList" resultType="map" parameterType="com.baomidou.mybatisplus.plugins.Page">
-        SELECT * FROM (SELECT ds.serverStr,cb.`name` as brandName,cm.`name` as modelName,c1.`name` as companyName,c2.`name` as franchiseeName,cm.seat,dd.`name` as driverName,cc.* from t_car as cc
+        SELECT * FROM (SELECT ds.serverStr,cb.`name` as brandName,cm.`name` as modelName,	 (select GROUP_CONCAT(name SEPARATOR ',') AS driverNames from t_driver where  FIND_IN_SET(id, cc.bindDriverId)) as driverNames,c1.`name` as companyName,c2.`name` as franchiseeName,cm.seat,dd.`name` as driverName,cc.* from t_car as cc
         LEFT JOIN (select * from t_car_brand where state = 1) as cb on cb.id = cc.carBrandId
         LEFT JOIN (select * from t_car_model where state = 1) as cm on cm.id = cc.carModelId
         LEFT JOIN (select * from t_company where type = 2 and flag != 3) as c1 on c1.id = cc.companyId
@@ -68,7 +68,7 @@
         when type = 5 then '小件物流-跨城'
         when type = 6 then '包车'
         else '' end ) as serverStr,carId from t_car_service GROUP BY carId) as ds on ds.carId = cc.id
-        LEFT JOIN (select * from t_driver where flag != 3) AS dd on dd.carId = cc.id) as o
+        LEFT JOIN (select * from t_driver where flag != 3) AS dd on dd.id = cc.useDriverId) as o
         <where>
             o.state = 1
             <if test="beginTime != null and beginTime != '' and endTime != null and endTime != ''">
@@ -93,7 +93,7 @@
                 and o.carLicensePlate  LIKE CONCAT('%',#{carLicensePlate},'%')
             </if>
             <if test="driverName != null and driverName != ''">
-                and o.driverName  LIKE CONCAT('%',#{driverName},'%')
+                and o.driverNames  LIKE CONCAT('%',#{driverName},'%')
             </if>
             <if test="companyName != null and companyName != ''">
                 and o.companyName  LIKE CONCAT('%',#{companyName},'%')
diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCar.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCar.java
index 9f1f783..faa419f 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCar.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCar.java
@@ -184,6 +184,17 @@
     private Integer addObjectId;
 
 
+    private String bindDriverId;
+
+
+    public String getBindDriverId() {
+        return bindDriverId;
+    }
+
+    public void setBindDriverId(String bindDriverId) {
+        this.bindDriverId = bindDriverId;
+    }
+
     public Integer getId() {
         return id;
     }
diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderCrossCityServiceImpl.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderCrossCityServiceImpl.java
index 8e6a715..6a33183 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderCrossCityServiceImpl.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderCrossCityServiceImpl.java
@@ -1,10 +1,13 @@
 package com.stylefeng.guns.modular.system.service.impl;
 
 import com.baomidou.mybatisplus.plugins.Page;
+import com.stylefeng.guns.modular.system.model.TCompany;
 import com.stylefeng.guns.modular.system.model.TOrderCrossCity;
 import com.stylefeng.guns.modular.system.dao.TOrderCrossCityMapper;
+import com.stylefeng.guns.modular.system.service.ITCompanyService;
 import com.stylefeng.guns.modular.system.service.ITOrderCrossCityService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -26,19 +29,42 @@
     @Resource
     private TOrderCrossCityMapper orderCrossCityMapper;
 
+    @Autowired
+    private ITCompanyService companyService;
+
     @Override
     public List<Map<String, Object>> getCrossCityOrderList(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 lineId, Integer state, Integer abnormal,
                                                            Integer promotion,
                                                            String promotionUser,
                                                            Integer abnormalStatus) {
-        return this.baseMapper.getCrossCityOrderList(page, beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, lineId, state, abnormal, promotion, promotionUser,abnormalStatus);
+        List<Map<String, Object>> crossCityOrderList = this.baseMapper.getCrossCityOrderList(page, beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, lineId, state, abnormal, promotion, promotionUser, abnormalStatus);
+        for (Map<String, Object> map : crossCityOrderList) {
+            if(null != map.get("companyId")){
+                TCompany company = companyService.selectById(map.get("companyId").toString());
+                if(company!=null){
+                    map.put("companyName", company.getName());
+                }
+            }
+        }
+        return crossCityOrderList;
     }
     @Override
     public List<Map<String, Object>> getCrossCityOrderListExport(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 lineId, Integer state, Integer abnormal,
                                                            Integer promotion,
                                                            String promotionUser,
                                                            Integer abnormalStatus) {
-        return this.baseMapper.getCrossCityOrderListExport( beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, lineId, state, abnormal, promotion, promotionUser,abnormalStatus);
+        List<Map<String, Object>> crossCityOrderListExport = this.baseMapper.getCrossCityOrderListExport(beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, serverCarModelId, driver, lineId, state, abnormal, promotion, promotionUser, abnormalStatus);
+
+        for (Map<String, Object> stringObjectMap : crossCityOrderListExport) {
+            if(null != stringObjectMap.get("companyId")){
+                TCompany company = companyService.selectById(stringObjectMap.get("companyId").toString());
+                if(company!=null){
+                    stringObjectMap.put("companyName", company.getName());
+                }
+            }
+        }
+
+        return crossCityOrderListExport;
     }
 
     @Override
diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderPrivateCarServiceImpl.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderPrivateCarServiceImpl.java
index 2db46d2..15648ff 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderPrivateCarServiceImpl.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderPrivateCarServiceImpl.java
@@ -5,9 +5,11 @@
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.plugins.Page;
 import com.stylefeng.guns.core.util.ToolUtil;
+import com.stylefeng.guns.modular.system.model.TCompany;
 import com.stylefeng.guns.modular.system.model.TOrderPrivateCar;
 import com.stylefeng.guns.modular.system.dao.TOrderPrivateCarMapper;
 import com.stylefeng.guns.modular.system.model.TServerCarmodel;
+import com.stylefeng.guns.modular.system.service.ITCompanyService;
 import com.stylefeng.guns.modular.system.service.ITOrderPrivateCarService;
 import com.baomidou.mybatisplus.service.impl.ServiceImpl;
 import com.stylefeng.guns.modular.system.service.ITServerCarmodelService;
@@ -30,6 +32,9 @@
 
     @Autowired
     private ITServerCarmodelService serverCarmodelService;
+
+    @Autowired
+    private ITCompanyService companyService;
 
 
 
@@ -56,6 +61,13 @@
                 }
                 map.put("serverCarModelName", collect);
             }
+
+            if(null != map.get("companyId")){
+                TCompany company = companyService.selectById(map.get("companyId").toString());
+                if(company!=null){
+                    map.put("companyName", company.getName());
+                }
+            }
         }
         return privateCarOrderList;
     }
@@ -81,6 +93,13 @@
                 }
                 map.put("serverCarModelName", collect);
             }
+
+            if(null != map.get("companyId")){
+                TCompany company = companyService.selectById(map.get("companyId").toString());
+                if(company!=null){
+                    map.put("companyName", company.getName());
+                }
+            }
         }
         return privateCarOrderList;
     }
diff --git a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTaxiServiceImpl.java b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTaxiServiceImpl.java
index a7cbce9..324a4c7 100644
--- a/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTaxiServiceImpl.java
+++ b/ManagementQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderTaxiServiceImpl.java
@@ -7,10 +7,7 @@
 import com.stylefeng.guns.core.util.ExcelUtil;
 import com.stylefeng.guns.modular.system.dao.OrderCancelMapper;
 import com.stylefeng.guns.modular.system.dao.TOrderTaxiMapper;
-import com.stylefeng.guns.modular.system.model.Income;
-import com.stylefeng.guns.modular.system.model.OrderCancel;
-import com.stylefeng.guns.modular.system.model.TOrderTaxi;
-import com.stylefeng.guns.modular.system.model.TReassign;
+import com.stylefeng.guns.modular.system.model.*;
 import com.stylefeng.guns.modular.system.service.*;
 import org.apache.poi.hssf.usermodel.HSSFWorkbook;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -44,9 +41,7 @@
     @Autowired
     private ITCompanyService companyService;
     
-    @Autowired
-    private ITLineService lineService;
-    
+
     @Autowired
     private IIncomeService incomeService;
     
@@ -58,14 +53,33 @@
     public List<Map<String, Object>> getTaxiOrderList(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, String driver, Integer state,Integer abnormal,
                                                       Integer promotion,
                                                       String promotionUser,Integer abnormalStatus) {
-        return this.baseMapper.getTaxiOrderList(page, beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, driver, state, abnormal, promotion, promotionUser,abnormalStatus);
+        List<Map<String, Object>> taxiOrderList = this.baseMapper.getTaxiOrderList(page, beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, driver, state, abnormal, promotion, promotionUser, abnormalStatus);
+        for (Map<String, Object> map : taxiOrderList) {
+            if(null != map.get("companyId")){
+                TCompany company = companyService.selectById(map.get("companyId").toString());
+                if(company!=null){
+                    map.put("companyName", company.getName());
+                }
+            }
+        }
+
+        return taxiOrderList;
     }
     
     @Override
     public List<Map<String, Object>> getTaxiOrderListExport(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, String driver, Integer state,Integer abnormal,
                                                       Integer promotion,
                                                       String promotionUser,Integer abnormalStatus) {
-        return this.baseMapper.getTaxiOrderListExport( beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, driver, state, abnormal, promotion, promotionUser,abnormalStatus);
+        List<Map<String, Object>> taxiOrderListExport = this.baseMapper.getTaxiOrderListExport(beginTime, endTime, roleType, nowUserId, orderNum, orderSource, userName, userPhone, passengers, passengersPhone, driver, state, abnormal, promotion, promotionUser, abnormalStatus);
+        for (Map<String, Object> map : taxiOrderListExport) {
+            if(null != map.get("companyId")){
+                TCompany company = companyService.selectById(map.get("companyId").toString());
+                if(company!=null){
+                    map.put("companyName", company.getName());
+                }
+            }
+        }
+        return taxiOrderListExport;
     }
 
     @Override
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalOrderCar/tAbnormalOrder.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalOrderCar/tAbnormalOrder.html
index c0d35ad..f5cd86c 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalOrderCar/tAbnormalOrder.html
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalOrderCar/tAbnormalOrder.html
@@ -70,7 +70,7 @@
                         </div>
                         <div class="hidden-xs" id="TOrderPrivateCarTableToolbar" role="group">
                             <#button name="处理详情" icon="fa-search" clickFun="TAbnormalOrder.orderDetail()"/>
-                            <#button name="处理异常订单" icon="fa-edit" clickFun="TAbnormalOrder.cancelOrder()" space="true"/>
+                            <#button name="处理异常订单" icon="fa-edit" clickFun="TAbnormalOrder.orderDetail1()" space="true"/>
                             <#button name="导出Excel" icon="" clickFun="TAbnormalOrder.exportExcel()" space="true"/>
                         </div>
                         <#table id="TOrderPrivateCarTable"/>
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalOrderCar/tAbnormalOrder_orderDetail.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalOrderCar/tAbnormalOrder_orderDetail.html
index 2b0fc21..7bbec11 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalOrderCar/tAbnormalOrder_orderDetail.html
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalOrderCar/tAbnormalOrder_orderDetail.html
@@ -160,7 +160,11 @@
 
 <body>
      <input type="hidden" id="orderNum"  name ="orderNum" value="${item.orderNum}"/>
+     <input type="hidden" id="state"  name ="state" value="${item.abnormalStatus}"/>
+     <input type="hidden" id="show"  name ="show" value="${show}"/>
      <input type="hidden" id="type" name ="type" value="${type}"/>
+     <input type="hidden" id="orderId" name ="orderId" value="${item.id}"/>
+     <input type="hidden" id="payMoney" name ="payMoney" value="${item.payMoney}"/>
      <div class="ibox float-e-margins">
         <div class="title">处理异常订单</div>
         <div class="section-title">订单信息</div>
@@ -231,7 +235,7 @@
                         未知
                         @}
                     </td>
-                    <td><a class="order-link" href="#">查看订单详情</a></td>
+                    <td><a class="order-link" onclick="viewOrderInfo()">查看订单详情</a></td>
                 </tr>
             </tbody>
         </table>
@@ -248,8 +252,15 @@
             @}
         </div>
         <!-- 你可以根据实际图片地址替换上面src -->
-
+         <div class="section-title" id="s1">处理状态:
+            @if(item.abnormalStatus==1){
+             未处理  <button id="saveBtn1" class="action-btn" onclick="saveBtn1()">立即处理</button>
+             @}else{
+             已处理
+             @}
+         </div>
         <!-- 其他内容可根据实际需求继续补充 -->
+         <div id="s2">
         <div class="section-title">选择责任方</div>
         <div id="duty-selector">
             <button type="button" class="duty-btn active" data-type="platformAll">平台全责</button>
@@ -270,10 +281,10 @@
         <div id="action-btns">
             <button id="saveBtn" class="action-btn" onclick="save()" style="display:none;">确认处理</button>
             <button id="closeBtn" class="action-btn" style="display:none;">关闭</button>
-          </div>
+        </div>
+         </div>
     </div>
 </body>
-
 
 <script>
     const dutyContent = document.getElementById('duty-content');
@@ -294,8 +305,8 @@
                         <label><input type="radio" name="ybj" disabled>否</label>
                     </div>
                     <div class="radio-group">超时是否生成追偿支付单:
-                          <label><input type="radio" name="zcpay" checked disabled>是</label>
-                         <label><input type="radio" name="zcpay" disabled>否</label>
+                          <label><input type="radio" name="zcpay"  disabled>是</label>
+                         <label><input type="radio" name="zcpay" checked disabled>否</label>
                         </div>
                 </div>
             `;
@@ -325,7 +336,7 @@
                     <label><input type="radio" name="zcpay" disabled>否</label>
                 </div>
                 <div style="margin-top:10px;">
-                    新增修改订单金额为:<input type="number" id="money" name="money" style="width:100px;"  value="${money}"> 元
+                    修改订单金额为:<input type="number" id="money" name="money" style="width:100px;"  value="${money}"> 元(需小于等于原订单金额)
                 </div>
             `;
         }
@@ -338,6 +349,8 @@
         btn.disabled = true;
         if (btn.dataset.type === typeMap[responsibilityType]) {
           btn.classList.add('active');
+        }else {
+            btn.style.display = 'none';
         }
       });
       renderContent(typeMap[responsibilityType], true);
@@ -356,6 +369,10 @@
       document.getElementById('closeBtn').style.display = 'none';
     }
 
+    function saveBtn1() {
+        $("#s1").hide();
+        $("#s2").show();
+    }
     window.onload = function() {
       if (isReadonly) {
         setReadonlyMode();
@@ -380,14 +397,30 @@
          let remark = document.querySelector('textarea[name=handleRemark]').value;
         // 取money
          let money = $("#money").val();
+         let payMoney = $("#payMoney").val();
          let type = document.querySelector('input[name=type]').value;
          let orderNum = document.querySelector('input[name=orderNum]').value;
-
-        console.log(type,orderNum)
+         console.log(responsibilityTypeVal,money,payMoney)
+         if(responsibilityTypeVal>3 && money>payMoney){
+             Feng.error("需小于等于原订单金额!");
+             return;
+         }
 
         //提交信息
         var ajax = new $ax(Feng.ctxPath + "/abnormal/save", function(data){
             Feng.success("操作成功!");
+                // 尝试关闭当前窗口或弹窗
+                if(window.parent && window.parent !== window && window.parent.layer) {
+                    // layer弹窗
+                    var index = window.parent.layer.getFrameIndex(window.name);
+                    window.parent.layer.close(index);
+                } else if(window.opener) {
+                    window.close();
+                } else if(window.top && window.top.closeDialog) {
+                    window.top.closeDialog();
+                } else {
+                    window.close();
+                }
         },function(data){
             Feng.error("操作失败!");
         });
@@ -414,6 +447,64 @@
         window.close();
       }
     };
+
+
+//     进来就加载
+    $(function() {
+    	var state = $("#state").val();
+    	var show = $("#show").val();
+        if(state==1 && show==0){
+            $("#s2").hide();
+        }
+        if(show==1){
+            $("#s2").show();
+            $("#s1").hide();
+        }
+
+
+    })
+
+
+
+    function viewOrderInfo(){
+        var type = $("#type").val();
+        var orderId = $("#orderId").val();
+        if(type==1){
+            var index = layer.open({
+                type: 2,
+                title: '快车订单详情',
+                area: ['100%', '100%'], //宽高
+                fix: false, //不固定
+                maxmin: true,
+                content: Feng.ctxPath + '/tOrderPrivateCar/tOrderPrivateCar_orderDetail/' +orderId
+            });
+            this.layerIndex = index;
+        }
+        if(type==2){
+            var index = layer.open({
+                type: 2,
+                title: '跨城出行订单详情',
+                area: ['100%', '100%'], //宽高
+                fix: false, //不固定
+                maxmin: true,
+                content: Feng.ctxPath + '/tOrderCrossCity/tOrderCrossCity_detail/' + orderId
+            });
+            this.layerIndex = index;
+        }
+        if(type==3){
+            var index = layer.open({
+                type: 2,
+                title: '出租车订单详情',
+                area: ['100%', '100%'], //宽高
+                fix: false, //不固定
+                maxmin: true,
+                content: Feng.ctxPath + '/tOrderTaxi/tOrderTaxi_update/' + orderId
+            });
+            this.layerIndex = index;
+        }
+
+    }
+
 </script>
 
 </html>
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalPayOrderCar/tAbnormalOrder_orderDetail.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalPayOrderCar/tAbnormalOrder_orderDetail.html
index 601a472..c1c3dd2 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalPayOrderCar/tAbnormalOrder_orderDetail.html
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tAbnormalPayOrderCar/tAbnormalOrder_orderDetail.html
@@ -239,7 +239,7 @@
                     <h6 class="h3Class" style="font-weight: 700;">修改订单价格为:</h6>
                 </div>
                 <div class="col-sm-1">
-                    <h6 class="h3Class" style="margin-left: 10%">${item.responsibilityMoney}</h4>
+                    <h6 class="h3Class" style="margin-left: 10%">${item.payMoney}</h4>
                 </div>
 
 
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar.html
index bdcfe5a..2ea3bce 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar.html
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar.html
@@ -31,7 +31,7 @@
                                 <#NameCon id="carLicensePlate" name="车牌号" />
                             </div>
                             <div class="col-sm-3">
-                                <#NameCon id="driverName" name="关联司机" />
+                                <#NameCon id="driverName" name="司机" />
                             </div>
                             <div class="col-sm-3">
                                 <#NameCon id="companyName" name="所属分公司" />
@@ -59,13 +59,14 @@
                             @}
                             @if(shiro.hasPermission("/tCar/inCar")){
                                 <#button btnCss="info" name="下载模板" id="uploadModel" icon="fa fa-level-down" clickFun="TCar.uploadCarModel()" space="true"/>
-                                <#button btnCss="danger" name="导入" id="uploadEventBtn" icon="fa fa-level-up" space="true"/>
+                                <#button btnCss="danger" name="导入车辆" id="uploadEventBtn" icon="fa fa-level-up" space="true"/>
                             @}
                             @if(shiro.hasPermission("/tCar/outCar")){
                                 <#button name="导出" icon="fa-remove" clickFun="TCar.outCar()" space="true"/>
                             @}
                             @if(shiro.hasPermission("/tCar/carInsurance")){
                             <#button name="车辆保险" icon="fa-remove" clickFun="TCar.carInsurance()" space="true"/>
+                            <#button name="授权司机" icon="fa-remove" clickFun="TCar.openTCarDetail1()" space="true"/>
                             @}
                         </div>
                         <!--<div style="width: 100%;overflow-y: auto">
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html
index 4a06271..d92f20c 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_add.html
@@ -3,6 +3,7 @@
     <div class="ibox-content">
         <div class="form-horizontal" id="carInfoForm">
             <input type="hidden" id="roleType" name="roleType" value="${roleType}">
+            <input type="hidden" name="driverIds" id="driverIdsHidden">
             <div class="row">
                 <div class="col-sm-11">
                     <div class="form-group">
@@ -94,25 +95,55 @@
                             </select>
                         </div>
                     </div>
-                    <#select id="carBrandId" name="车辆品牌:" onchange="TCarInfoDlg.brandChange(this)">
-                        <option value="">选择车辆品牌</option>
-                        @for(obj in brandList){
-                        <option value="${obj.id}">${obj.name}</option>
-                        @}
-                    </#select>
-                    <#select id="carModelId" name="车辆类型:">
-                        <option value="">选择车辆类型</option>
-                    </#select>
-                    <#select id="carColor" name="车辆颜色:">
-                        <option value="">选择车辆颜色</option>
-                        <option value="黑色">黑色</option>
-                        <option value="银色">银色</option>
-                        <option value="白色">白色</option>
-                        <option value="红色">红色</option>
-                        <option value="黄色">黄色</option>
-                        <option value="橙色">橙色</option>
-                        <option value="蓝色">蓝色</option>
-                    </#select>
+
+                    <div class="form-group" style="display: flex; align-items: center;">
+                        <label class="col-sm-3 control-label">车辆品牌:</label>
+                        <div class="col-sm-3" style="padding-right:0;">
+                            <select class="form-control" id="carBrandId" name="carBrandId" onchange="TCarInfoDlg.brandChange(this)">
+                                <option value="">选择车辆品牌</option>
+                                @for(obj in brandList){
+                                <option value="${obj.id}">${obj.name}</option>
+                                @}
+                            </select>
+                        </div>
+
+                        <label class="col-sm-2 control-label">授权司机:</label>
+                        <div class="col-sm-3">
+                            <div id="driverMultiSelect" class="driver-multiselect" tabindex="0" style="position:relative; width:320px;">
+                                <div id="driverTags" class="driver-tags" style="min-height:38px; border:1px solid #d9d9d9; border-radius:4px; padding:4px 8px; display:flex; align-items:center; flex-wrap:wrap; cursor:pointer; background:#fff;"></div>
+                                <input type="text" id="driverSearchInput" class="form-control" placeholder="搜索司机" style="margin-top:2px; display:none; position:absolute; left:0; top:40px; width:100%; z-index:2;" autocomplete="off">
+                                <div id="driverDropdown" class="driver-dropdown" style="display:none; position:absolute; left:0; top:40px; width:100%; max-height:220px; overflow:auto; border:1px solid #d9d9d9; background:#fff; border-radius:0 0 4px 4px; z-index:10;"></div>
+                            </div>
+                        </div>
+
+                    </div>
+
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label">车辆类型:</label>
+                        <div class="col-sm-3">
+                            <select class="form-control" id="carModelId" name="carModelId">
+                                <option value="">选择车辆类型</option>
+                            </select>
+                        </div>
+                    </div>
+
+                    <div class="form-group has-feedback">
+                        <label class="col-sm-3 control-label">车辆颜色:</label>
+                        <div class="col-sm-3">
+                            <select class="form-control" id="carColor" name="carColor" data-bv-field="carColor">
+                                <option value="">选择车辆颜色</option>
+                                <option value="黑色">黑色</option>
+                                <option value="银色">银色</option>
+                                <option value="白色">白色</option>
+                                <option value="红色">红色</option>
+                                <option value="黄色">黄色</option>
+                                <option value="橙色">橙色</option>
+                                <option value="蓝色">蓝色</option>
+
+                            </select><i class="form-control-feedback" data-bv-icon-for="carColor" style="display: none;"></i>
+                            <small class="help-block" data-bv-validator="notEmpty" data-bv-for="carColor" data-bv-result="NOT_VALIDATED" style="display: none;">车辆颜色不能为空</small></div>
+                    </div>
+
                     <#input id="carLicensePlate" name="车牌号" />
                     <#avatar id="carPhoto" name="车辆照片:" />
                     <#input id="drivingLicenseNumber" name="行驶证编号" />
@@ -156,7 +187,7 @@
 
             <div class="row btn-group-m-t">
                 <div class="col-sm-10 col-sm-offset-5">
-                    <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCarInfoDlg.addSubmit()"/>
+                    <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="addSubmit()"/>
                     <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/>
                 </div>
             </div>
@@ -165,6 +196,7 @@
     </div>
 </div>
 <script src="${ctxPath}/static/modular/system/tCar/tCar_info.js"></script>
+
 <script>
     laydate.render({
         elem: '#annualInspectionTime'
@@ -193,5 +225,137 @@
     laydate.render({
         elem: '#registerDate'
     });
+
+    var allDrivers = [];
+var selectedDrivers = []; // 选中司机id数组
+var driverMap = {}; // id->name
+
+// 监听分公司选择,拉取司机
+$('#oneId').on('change', function() {
+    var companyId = $(this).val();
+    if (!companyId) {
+        allDrivers = [];
+        selectedDrivers = [];
+        driverMap = {};
+        renderDriverTags();
+        renderDriverDropdown();
+        return;
+    }
+    selectDriverFromCompanyId(companyId, function(driverList) {
+        allDrivers = driverList || [];
+        driverMap = {};
+        allDrivers.forEach(function(d) { driverMap[d.id] = d.name; });
+        selectedDrivers = [];
+        renderDriverTags();
+        renderDriverDropdown();
+    });
+});
+
+// 渲染下拉选项
+function renderDriverDropdown(keyword) {
+    var $dropdown = $('#driverDropdown');
+    $dropdown.empty();
+    var filter = (keyword || '').trim();
+    var filtered = allDrivers.filter(function(driver) {
+        return !filter || driver.name.indexOf(filter) !== -1;
+    });
+    if (filtered.length === 0) {
+        $dropdown.append('<div style="padding:8px;color:#aaa;">无匹配司机</div>');
+        return;
+    }
+    filtered.forEach(function(driver) {
+        var checked = selectedDrivers.indexOf(driver.id+'') !== -1;
+        $dropdown.append('<div class="driver-option" data-id="'+driver.id+'" style="padding:6px 12px;cursor:pointer;display:flex;align-items:center;'+(checked?'background:#f5f5f5;':'')+'">'
+            +'<span style="flex:1;'+(checked?'color:#1890ff;':'')+'">'+driver.name+'</span>'
+            +(checked?'<span style="color:#1890ff;">✔</span>':'')
+            +'</div>');
+    });
+}
+
+// 渲染已选标签
+function renderDriverTags() {
+    var $tags = $('#driverTags');
+    $tags.empty();
+    if (selectedDrivers.length === 0) {
+        $tags.append('<span style="color:#aaa;">请选择司机</span>');
+        return;
+    }
+    var firstId = selectedDrivers[0];
+    var firstName = driverMap[firstId] || '';
+    $tags.append('<span class="driver-tag" style="background:#f0f0f0;border-radius:2px;padding:2px 8px;margin-right:4px;display:flex;align-items:center;">'
+        +firstName+'<span class="remove-tag" data-id="'+firstId+'" style="margin-left:4px;cursor:pointer;">×</span></span>');
+    if (selectedDrivers.length > 1) {
+        $tags.append('<span class="driver-tag" style="background:#f0f0f0;border-radius:2px;padding:2px 8px;">+'
+            +(selectedDrivers.length-1)+'</span>');
+    }
+}
+
+// 展示/隐藏下拉和搜索
+function showDriverDropdown() {
+    $('#driverDropdown').show();
+    $('#driverSearchInput').show().val('').focus();
+    renderDriverDropdown('');
+}
+function hideDriverDropdown() {
+    $('#driverDropdown').hide();
+    $('#driverSearchInput').hide();
+}
+
+// 点击tags区域显示下拉
+$('#driverTags').on('click', function() {
+    if (allDrivers.length === 0) return;
+    showDriverDropdown();
+});
+// 输入搜索
+$('#driverSearchInput').on('input', function() {
+    renderDriverDropdown($(this).val());
+});
+// 选中/取消选中
+$('#driverDropdown').on('click', '.driver-option', function() {
+    var id = $(this).data('id').toString();
+    var idx = selectedDrivers.indexOf(id);
+    if (idx === -1) {
+        selectedDrivers.push(id);
+    } else {
+        selectedDrivers.splice(idx,1);
+    }
+    renderDriverTags();
+    renderDriverDropdown($('#driverSearchInput').val());
+});
+// 删除标签
+$('#driverTags').on('click', '.remove-tag', function(e) {
+    var id = $(this).data('id').toString();
+    selectedDrivers = selectedDrivers.filter(function(did) { return did !== id; });
+    renderDriverTags();
+    renderDriverDropdown($('#driverSearchInput').val());
+    e.stopPropagation();
+});
+// 失焦隐藏
+$('#driverSearchInput').on('blur', function() {
+    setTimeout(hideDriverDropdown, 200);
+});
+// 保证点击下拉不失焦
+$('#driverDropdown').on('mousedown', function(e) { e.preventDefault(); });
+
+// 初始化时禁用
+$(function(){
+    renderDriverTags();
+    renderDriverDropdown();
+});
+
+// 你需要实现的接口调用方法
+function selectDriverFromCompanyId(companyId, callback) {
+    // 这里你自己实现ajax
+    var ajax = new $ax(Feng.ctxPath + "/tCar/selectDriverFromCompanyId", function(data){
+        callback(data)
+    });
+    ajax.set("companyId",companyId);
+    ajax.start();
+}
+
+function addSubmit(){
+    $('#driverIdsHidden').val(selectedDrivers.join(','));
+    TCarInfoDlg.addSubmit()
+}
 </script>
 @}
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html
index 8fce65f..3858712 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit.html
@@ -4,6 +4,7 @@
         <div class="form-horizontal" id="carInfoForm">
             <input type="hidden" id="id" name="id" value="${item.id}">
             <input type="hidden" id="roleType" name="roleType" value="${roleType}">
+            <input type="hidden" id="bindDriverId" name="bindDriverId" value="${item.bindDriverId}">
             <div class="row">
                 <div class="col-sm-11">
                     <div class="form-group">
@@ -96,28 +97,58 @@
                             </select>
                         </div>
                     </div>
-                    <#select id="carBrandId" name="车辆品牌:" onchange="TCarInfoDlg.brandChange(this)">
-                        <option value="">选择车辆品牌</option>
-                        @for(obj in brandList){
-                        <option value="${obj.id}" ${obj.id == item.carBrandId ? 'selected=selected' : ''}>${obj.name}</option>
-                        @}
-                    </#select>
-                    <#select id="carModelId" name="车辆类型:">
-                        <option value="">选择车辆类型</option>
-                        @for(obj in modelList){
-                        <option value="${obj.id}" ${obj.id == item.carModelId ? 'selected=selected' : ''}>${obj.name}</option>
-                        @}
-                    </#select>
-                    <#select id="carColor" name="车辆颜色:">
-                        <option value="">选择车辆颜色</option>
-                        <option value="黑色" ${'黑色' == item.carColor ? 'selected=selected' : ''}>黑色</option>
-                        <option value="银色" ${'银色' == item.carColor ? 'selected=selected' : ''}>银色</option>
-                        <option value="白色" ${'白色' == item.carColor ? 'selected=selected' : ''}>白色</option>
-                        <option value="红色" ${'红色' == item.carColor ? 'selected=selected' : ''}>红色</option>
-                        <option value="黄色" ${'黄色' == item.carColor ? 'selected=selected' : ''}>黄色</option>
-                        <option value="橙色" ${'橙色' == item.carColor ? 'selected=selected' : ''}>橙色</option>
-                        <option value="蓝色" ${'蓝色' == item.carColor ? 'selected=selected' : ''}>蓝色</option>
-                    </#select>
+
+
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label">车辆品牌:</label>
+                        <div class="col-sm-3">
+                            <select class="form-control" id="carBrandId" name="carBrandId" onchange="TCarInfoDlg.brandChange(this)">
+                                <option value="">选择车辆品牌</option>
+                                @for(obj in brandList){
+                                <option value="${obj.id}" ${obj.id == item.carBrandId ? 'selected=selected' : ''}>${obj.name}</option>
+                                @}
+                            </select>
+                        </div>
+
+                        <label class="col-sm-2 control-label">授权司机:</label>
+                        <div class="col-sm-3">
+                            <div id="driverMultiSelect" class="driver-multiselect" tabindex="0" style="position:relative; width:320px;">
+                                <div id="driverTags" class="driver-tags" style="min-height:38px; border:1px solid #d9d9d9; border-radius:4px; padding:4px 8px; display:flex; align-items:center; flex-wrap:wrap; cursor:pointer; background:#fff;"></div>
+                                <input type="text" id="driverSearchInput" class="form-control" placeholder="搜索司机" style="margin-top:2px; display:none; position:absolute; left:0; top:40px; width:100%; z-index:2;" autocomplete="off">
+                                <div id="driverDropdown" class="driver-dropdown" style="display:none; position:absolute; left:0; top:40px; width:100%; max-height:220px; overflow:auto; border:1px solid #d9d9d9; background:#fff; border-radius:0 0 4px 4px; z-index:10;"></div>
+                            </div>
+                        </div>
+                    </div>
+
+
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label">车辆类型:</label>
+                        <div class="col-sm-3">
+                            <select class="form-control" id="carModelId" name="carModelId">
+                                <option value="">选择车辆类型</option>
+                                @for(obj in modelList){
+                                <option value="${obj.id}" ${obj.id == item.carModelId ? 'selected=selected' : ''}>${obj.name}</option>
+                                @}
+                            </select>
+                        </div>
+                    </div>
+
+                    <div class="form-group has-feedback">
+                        <label class="col-sm-3 control-label">车辆颜色:</label>
+                        <div class="col-sm-3">
+                            <select class="form-control" id="carColor" name="carColor" data-bv-field="carColor">
+                                <option value="黑色" ${'黑色' == item.carColor ? 'selected=selected' : ''}>黑色</option>
+                                <option value="银色" ${'银色' == item.carColor ? 'selected=selected' : ''}>银色</option>
+                                <option value="白色" ${'白色' == item.carColor ? 'selected=selected' : ''}>白色</option>
+                                <option value="红色" ${'红色' == item.carColor ? 'selected=selected' : ''}>红色</option>
+                                <option value="黄色" ${'黄色' == item.carColor ? 'selected=selected' : ''}>黄色</option>
+                                <option value="橙色" ${'橙色' == item.carColor ? 'selected=selected' : ''}>橙色</option>
+                                <option value="蓝色" ${'蓝色' == item.carColor ? 'selected=selected' : ''}>蓝色</option>
+
+                            </select><i class="form-control-feedback" data-bv-icon-for="carColor" style="display: none;"></i>
+                            <small class="help-block" data-bv-validator="notEmpty" data-bv-for="carColor" data-bv-result="NOT_VALIDATED" style="display: none;">车辆颜色不能为空</small></div>
+                    </div>
+
                     <#input id="carLicensePlate" name="车牌号" value="${item.carLicensePlate}"/>
                     <#avatar id="carPhoto" name="车辆照片:" avatarImg="${item.carPhoto}"/>
                     <#input id="drivingLicenseNumber" name="行驶证编号" value="${item.drivingLicenseNumber}"/>
@@ -152,16 +183,16 @@
                     <#input id="GPSInstallDate" name="卫星定位装置安装时间" type="text" value="${item.GPSInstallDate}"/>
                     <#input id="registerDate" name="平台车辆报备日期" type="text" value="${item.registerDate}"/>
                     <#select id="commercialType" name="服务类型:">
-                        <option value="1" ${'1' == item.commercialType ? 'selected=selected' : ''}>网络预约出租车</option>
-                        <option value="2" ${'2' == item.commercialType ? 'selected=selected' : ''}>巡游出租汽车</option>
-                        <option value="3" ${'3' == item.commercialType ? 'selected=selected' : ''}>私人小客车合乘</option>
+                        <option value="1" ${1 == item.commercialType ? 'selected=selected' : ''}>网络预约出租车</option>
+                        <option value="2" ${2 == item.commercialType ? 'selected=selected' : ''}>巡游出租汽车</option>
+                        <option value="3" ${3 == item.commercialType ? 'selected=selected' : ''}>私人小客车合乘</option>
                     </#select>
                 </div>
             </div>
 
             <div class="row btn-group-m-t">
                 <div class="col-sm-10 col-sm-offset-5">
-                    <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCarInfoDlg.editSubmit()"/>
+                    <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="editSubmit()"/>
                     <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/>
                 </div>
             </div>
@@ -208,9 +239,153 @@
             $(".companyDiv").show();
         }
 
+        // 1. 初始化 selectedDrivers
+        let bindDriverId = $("#bindDriverId").val();
+        selectedDrivers = bindDriverId ? bindDriverId.split(",").filter(Boolean) : [];
+
+        // 2. 触发 change 拉取司机
+        $('#oneId').trigger('change');
+
         TCarInfoDlg.zcServerClick();
         TCarInfoDlg.kcServerClick();
-
     });
+
+
+
+
+
+    var allDrivers = [];
+    var selectedDrivers = []; // 选中司机id数组
+    var driverMap = {}; // id->name
+
+    // 监听分公司选择,拉取司机
+    $('#oneId').on('change', function() {
+        var companyId = $(this).val();
+        if (!companyId) {
+            allDrivers = [];
+            selectedDrivers = [];
+            driverMap = {};
+            renderDriverTags();
+            renderDriverDropdown();
+            return;
+        }
+        selectDriverFromCompanyId(companyId, function(driverList) {
+            allDrivers = driverList || [];
+            driverMap = {};
+            allDrivers.forEach(function(d) { driverMap[d.id] = d.name; });
+            // 只保留当前司机列表中存在的已选司机
+            selectedDrivers = selectedDrivers.filter(function(id) {
+                return allDrivers.some(function(d) { return d.id == id; });
+            });
+            renderDriverTags();
+            renderDriverDropdown();
+        });
+    });
+
+    // 渲染下拉选项
+    function renderDriverDropdown(keyword) {
+        var $dropdown = $('#driverDropdown');
+        $dropdown.empty();
+        var filter = (keyword || '').trim();
+        var filtered = allDrivers.filter(function(driver) {
+            return !filter || driver.name.indexOf(filter) !== -1;
+        });
+        if (filtered.length === 0) {
+            $dropdown.append('<div style="padding:8px;color:#aaa;">无匹配司机</div>');
+            return;
+        }
+        filtered.forEach(function(driver) {
+            var checked = selectedDrivers.indexOf(driver.id+'') !== -1;
+            $dropdown.append('<div class="driver-option" data-id="'+driver.id+'" style="padding:6px 12px;cursor:pointer;display:flex;align-items:center;'+(checked?'background:#f5f5f5;':'')+'">'
+                +'<span style="flex:1;'+(checked?'color:#1890ff;':'')+'">'+driver.name+'</span>'
+                +(checked?'<span style="color:#1890ff;">✔</span>':'')
+                +'</div>');
+        });
+    }
+
+    // 渲染已选标签
+    function renderDriverTags() {
+        var $tags = $('#driverTags');
+        $tags.empty();
+        if (selectedDrivers.length === 0) {
+            $tags.append('<span style="color:#aaa;">请选择司机</span>');
+            return;
+        }
+        var firstId = selectedDrivers[0];
+        var firstName = driverMap[firstId] || '';
+        $tags.append('<span class="driver-tag" style="background:#f0f0f0;border-radius:2px;padding:2px 8px;margin-right:4px;display:flex;align-items:center;">'
+            +firstName+'<span class="remove-tag" data-id="'+firstId+'" style="margin-left:4px;cursor:pointer;">×</span></span>');
+        if (selectedDrivers.length > 1) {
+            $tags.append('<span class="driver-tag" style="background:#f0f0f0;border-radius:2px;padding:2px 8px;">+'
+                +(selectedDrivers.length-1)+'</span>');
+        }
+    }
+
+    // 展示/隐藏下拉和搜索
+    function showDriverDropdown() {
+        $('#driverDropdown').show();
+        $('#driverSearchInput').show().val('').focus();
+        renderDriverDropdown('');
+    }
+    function hideDriverDropdown() {
+        $('#driverDropdown').hide();
+        $('#driverSearchInput').hide();
+    }
+
+    // 点击tags区域显示下拉
+    $('#driverTags').on('click', function() {
+        if (allDrivers.length === 0) return;
+        showDriverDropdown();
+    });
+    // 输入搜索
+    $('#driverSearchInput').on('input', function() {
+        renderDriverDropdown($(this).val());
+    });
+    // 选中/取消选中
+    $('#driverDropdown').on('click', '.driver-option', function() {
+        var id = $(this).data('id').toString();
+        var idx = selectedDrivers.indexOf(id);
+        if (idx === -1) {
+            selectedDrivers.push(id);
+        } else {
+            selectedDrivers.splice(idx,1);
+        }
+        renderDriverTags();
+        renderDriverDropdown($('#driverSearchInput').val());
+    });
+    // 删除标签
+    $('#driverTags').on('click', '.remove-tag', function(e) {
+        var id = $(this).data('id').toString();
+        selectedDrivers = selectedDrivers.filter(function(did) { return did !== id; });
+        renderDriverTags();
+        renderDriverDropdown($('#driverSearchInput').val());
+        e.stopPropagation();
+    });
+    // 失焦隐藏
+    $('#driverSearchInput').on('blur', function() {
+        setTimeout(hideDriverDropdown, 200);
+    });
+    // 保证点击下拉不失焦
+    $('#driverDropdown').on('mousedown', function(e) { e.preventDefault(); });
+
+    // 初始化时禁用
+    $(function(){
+        renderDriverTags();
+        renderDriverDropdown();
+    });
+
+    // 你需要实现的接口调用方法
+    function selectDriverFromCompanyId(companyId, callback) {
+        // 这里你自己实现ajax
+        var ajax = new $ax(Feng.ctxPath + "/tCar/selectDriverFromCompanyId", function(data){
+            callback(data)
+        });
+        ajax.set("companyId",companyId);
+        ajax.start();
+    }
+
+    function editSubmit(){
+        TCarInfoDlg.editSubmit(selectedDrivers.join(','))
+    }
 </script>
 @}
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit1.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit1.html
new file mode 100644
index 0000000..be7e988
--- /dev/null
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tCar/tCar_edit1.html
@@ -0,0 +1,391 @@
+@layout("/common/_container.html"){
+<div class="ibox float-e-margins">
+    <div class="ibox-content">
+        <div class="form-horizontal" id="carInfoForm">
+            <input type="hidden" id="id" name="id" value="${item.id}">
+            <input type="hidden" id="roleType" name="roleType" value="${roleType}">
+            <input type="hidden" id="bindDriverId" name="bindDriverId" value="${item.bindDriverId}">
+            <div class="row">
+                <div class="col-sm-11">
+                    <div class="form-group" >
+                        <label class="col-sm-3 control-label">所属机构:</label>
+                        <div class="col-sm-9"  style="display: flex;align-items: center;">
+                            @if(roleType == 1){
+                            <div class="radio radio-info radio-inline" >
+                                <input type="radio" disabled id="companyType1" value="1" name="companyType" ${1 == companyType ? 'checked=checked' : ''} onclick="TCarInfoDlg.companyTypeClick(1)">
+                                <label for="companyType1"> 平台车辆 </label>
+                            </div>
+                            <div class="radio radio-success radio-inline">
+                                <input type="radio" disabled id="companyTyp2" value="2" name="companyType" ${2 == companyType ? 'checked=checked' : ''} onclick="TCarInfoDlg.companyTypeClick(2)">
+                                <label for="companyTyp2"> 加盟车辆 </label>
+                            </div>
+                            <select class="form-control companyDiv" id="oneId" onchange="TCarInfoDlg.oneChange(this)"  disabled style="width: 200px">
+                                <option value="">选择所属分公司</option>
+                                @for(obj in companyList!){
+                                <option value="${obj.id}" ${obj.id == item.companyId ? 'selected=selected' : ''}>${obj.name}</option>
+                                @}
+                            </select>
+                            <select class="form-control companyDiv" id="twoId"  disabled style="width: 200px;margin-left: 30px;">
+                                <option value="">选择所属加盟商</option>
+                                @for(obj in franchiseeList!){
+                                <option value="${obj.id}" ${obj.id == item.franchiseeId ? 'selected=selected' : ''}>${obj.name}</option>
+                                @}
+                            </select>
+                            @}else if(roleType == 2){
+                            <span class="control-label">${objectName!}</span>
+                            <select class="form-control" id="franchiseeId"  style="width: 200px;margin-left: 30px;">
+                                <option value="">选择所属加盟商</option>
+                                @for(obj in franchiseeList!){
+                                <option value="${obj.id}" ${obj.id == item.franchiseeId ? 'selected=selected' : ''}>${obj.name}</option>
+                                @}
+                            </select>
+                            @}else if(roleType == 3){
+                            <span class="control-label">${objectName!}</span>
+                            @}
+                        </div>
+                    </div>
+                    <div class="form-group">
+                        <fieldset>
+                            <label class="col-sm-3 control-label">服务模式:</label>
+                            <div class="col-sm-9" >
+                                <div class="checkbox checkbox-success  checkbox-inline">
+                                    <input type="checkbox" disabled name="serverBox" id="serverBox1" value="1" ${2 == one ? 'checked=checked' : ''} onclick="TCarInfoDlg.zcServerClick()">
+                                    <label for="serverBox1"> 快车 </label>
+                                </div>
+                                <div class="checkbox checkbox-success  checkbox-inline">
+                                    <input type="checkbox" disabled name="serverBox" id="serverBox2" value="2" ${2 == two ? 'checked=checked' : ''}>
+                                    <label for="serverBox2"> 出租车 </label>
+                                </div>
+                                <div class="checkbox checkbox-success  checkbox-inline">
+                                    <input type="checkbox" disabled name="serverBox" id="serverBox3" value="3" ${2 == three ? 'checked=checked' : ''} onclick="TCarInfoDlg.kcServerClick()">
+                                    <label for="serverBox3"> 跨城出行 </label>
+                                </div>
+<!--                                <div class="checkbox checkbox-success  checkbox-inline">-->
+<!--                                    <input type="checkbox" name="serverBox" id="serverBox4" value="4" ${2 == four ? 'checked=checked' : ''}>-->
+<!--                                    <label for="serverBox4"> 小件物流-同城 </label>-->
+<!--                                </div>-->
+<!--                                <div class="checkbox checkbox-success  checkbox-inline">-->
+<!--                                    <input type="checkbox" name="serverBox" id="serverBox5" value="5" ${2 == five ? 'checked=checked' : ''}>-->
+<!--                                    <label for="serverBox5"> 小件物流-跨城 </label>-->
+<!--                                </div>-->
+<!--                                <div class="checkbox checkbox-success  checkbox-inline">-->
+<!--                                    <input type="checkbox" name="serverBox" id="serverBox6" value="6" ${2 == six ? 'checked=checked' : ''}>-->
+<!--                                    <label for="serverBox6"> 包车 </label>-->
+<!--                                </div>-->
+                            </div>
+                        </fieldset>
+                    </div>
+                    <div class="form-group" id="zcModelDiv">
+                        <label class="col-sm-3 control-label">快车车型:</label>
+                        <div class="col-sm-9">
+                            <select class="form-control" id="zcModel" disabled name="zcModel">
+                                <option value="">选择车型</option>
+                                @for(obj in zcModelList){
+                                <option value="${obj.id}" ${obj.id == zcModel ? 'selected=selected' : ''}>${obj.name}</option>
+                                @}
+                            </select>
+                        </div>
+                    </div>
+                    <div class="form-group" id="kcModelDiv">
+                        <label class="col-sm-3 control-label">跨城出行车型:</label>
+                        <div class="col-sm-9">
+                            <select class="form-control" id="kcModel" disabled name="kcModel">
+                                <option value="">选择车型</option>
+                                @for(obj in kcModelList){
+                                <option value="${obj.id}" ${obj.id == kcModel ? 'selected=selected' : ''}>${obj.name}</option>
+                                @}
+                            </select>
+                        </div>
+                    </div>
+
+
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label">车辆品牌:</label>
+                        <div class="col-sm-3">
+                            <select class="form-control" id="carBrandId" disabled name="carBrandId" onchange="TCarInfoDlg.brandChange(this)">
+                                <option value="">选择车辆品牌</option>
+                                @for(obj in brandList){
+                                <option value="${obj.id}" ${obj.id == item.carBrandId ? 'selected=selected' : ''}>${obj.name}</option>
+                                @}
+                            </select>
+                        </div>
+
+                        <label class="col-sm-2 control-label">授权司机:</label>
+                        <div class="col-sm-3">
+                            <div id="driverMultiSelect" class="driver-multiselect" tabindex="0" style="position:relative; width:320px;">
+                                <div id="driverTags" class="driver-tags" style="min-height:38px; border:1px solid #d9d9d9; border-radius:4px; padding:4px 8px; display:flex; align-items:center; flex-wrap:wrap; cursor:pointer; background:#fff;"></div>
+                                <input type="text" id="driverSearchInput" class="form-control" placeholder="搜索司机" style="margin-top:2px; display:none; position:absolute; left:0; top:40px; width:100%; z-index:2;" autocomplete="off">
+                                <div id="driverDropdown" class="driver-dropdown" style="display:none; position:absolute; left:0; top:40px; width:100%; max-height:220px; overflow:auto; border:1px solid #d9d9d9; background:#fff; border-radius:0 0 4px 4px; z-index:10;"></div>
+                            </div>
+                        </div>
+                    </div>
+
+
+                    <div class="form-group">
+                        <label class="col-sm-3 control-label">车辆类型:</label>
+                        <div class="col-sm-3">
+                            <select class="form-control" id="carModelId" disabled name="carModelId">
+                                <option value="">选择车辆类型</option>
+                                @for(obj in modelList){
+                                <option value="${obj.id}" ${obj.id == item.carModelId ? 'selected=selected' : ''}>${obj.name}</option>
+                                @}
+                            </select>
+                        </div>
+                    </div>
+
+                    <div class="form-group has-feedback">
+                        <label class="col-sm-3 control-label">车辆颜色:</label>
+                        <div class="col-sm-3">
+                            <select class="form-control" id="carColor" name="carColor" disabled data-bv-field="carColor">
+                                <option value="黑色" ${'黑色' == item.carColor ? 'selected=selected' : ''}>黑色</option>
+                                <option value="银色" ${'银色' == item.carColor ? 'selected=selected' : ''}>银色</option>
+                                <option value="白色" ${'白色' == item.carColor ? 'selected=selected' : ''}>白色</option>
+                                <option value="红色" ${'红色' == item.carColor ? 'selected=selected' : ''}>红色</option>
+                                <option value="黄色" ${'黄色' == item.carColor ? 'selected=selected' : ''}>黄色</option>
+                                <option value="橙色" ${'橙色' == item.carColor ? 'selected=selected' : ''}>橙色</option>
+                                <option value="蓝色" ${'蓝色' == item.carColor ? 'selected=selected' : ''}>蓝色</option>
+
+                            </select><i class="form-control-feedback" data-bv-icon-for="carColor" style="display: none;"></i>
+                            <small class="help-block" data-bv-validator="notEmpty" data-bv-for="carColor" data-bv-result="NOT_VALIDATED" style="display: none;">车辆颜色不能为空</small></div>
+                    </div>
+
+                    <#input id="carLicensePlate" name="车牌号" value="${item.carLicensePlate}" readonly="true"/>
+                    <#avatar id="carPhoto" name="车辆照片:" avatarImg="${item.carPhoto}" readonly="true"/>
+                    <#input id="drivingLicenseNumber" name="行驶证编号" value="${item.drivingLicenseNumber}" readonly="true"/>
+                    <#avatar id="drivingLicensePhoto" name="行驶证照片:" avatarImg="${item.drivingLicensePhoto}" readonly="true"/>
+                    <#input id="annualInspectionTime" name="年检到期时间" type="text" value="${item.annualInspectionTime}" readonly="true"/>
+                    <#input id="commercialInsuranceTime" name="商业保险到期时间" type="text" value="${item.commercialInsuranceTime}" readonly="true"/>
+                    <#input id="plateColor" name="车牌颜色" value="${item.plateColor}" readonly="true"/>
+                    <#input id="vehicleType" name="车辆类型" value="${item.vehicleType}" readonly="true"/>
+                    <#input id="ownerName" name="车辆所有人" value="${item.ownerName}" readonly="true"/>
+                    <#input id="engineId" name="发动机号" value="${item.engineId}" readonly="true"/>
+                    <#input id="VIN" name="车辆VIN码" value="${item.VIN}" readonly="true"/>
+                    <#input id="certifyDateA" name="车辆注册日期" type="text" value="${item.certifyDateA}" readonly="true"/>
+                    <#input id="fuelType" name="车辆燃料类型" value="${item.fuelType}" readonly="true"/>
+                    <#input id="engineDisplace" name="发动机排量" value="${item.engineDisplace}" readonly="true"/>
+                    <#input id="certificate" name="运输证字号" value="${item.certificate}" readonly="true"/>
+                    <#input id="transAgency" name="车辆运输证发证机构" value="${item.transAgency}" readonly="true"/>
+                    <#input id="transArea" name="车辆经营区域" value="${item.transArea}" readonly="true"/>
+                    <#input id="transDateStart" name="车辆运输证有效期起" type="text" value="${item.transDateStart}" readonly="true"/>
+                    <#input id="transDateStop" name="车辆运输证有效期止" type="text" value="${item.transDateStop}" readonly="true"/>
+                    <#input id="certifyDateB" name="车辆初次登记日期" type="text" value="${item.certifyDateB}" readonly="true"/>
+                    <#select id="fixState" name="车辆维修状态:">
+                        <option disabled value="0" ${0 == item.fixState ? 'selected=selected' : ''}>未检修</option>
+                        <option disabled value="1" ${1 == item.fixState ? 'selected=selected' : ''}>已检修</option>
+                        <option disabled value="2" ${2 == item.fixState ? 'selected=selected' : ''}>未知</option>
+                    </#select>
+                    <#input id="nextFixDate" name="车辆下次年检时间" type="text" value="${item.nextFixDate}" readonly="true"/>
+                    <#input id="checkState" name="车辆年度审核状态" value="${item.checkState}" readonly="true"/>
+                    <#input id="feePrintId" name="发票打印设备序列号" value="${item.feePrintId}" readonly="true"/>
+                    <#input id="GPSBrand" name="卫星定位装置品牌" value="${item.GPSBrand}" readonly="true"/>
+                    <#input id="GPSModel" name="卫星定位装置型号" value="${item.GPSModel}" readonly="true"/>
+                    <#input id="GPSIMEI" name="卫星定位装置IMEI号" value="${item.GPSIMEI}" readonly="true"/>
+                    <#input id="GPSInstallDate" name="卫星定位装置安装时间" type="text" value="${item.GPSInstallDate}" readonly="true"/>
+                    <#input id="registerDate" name="平台车辆报备日期" type="text" value="${item.registerDate}" readonly="true"/>
+                    <#select id="commercialType" name="服务类型:">
+                        <option  disabled value="1" ${1 == item.commercialType ? 'selected=selected' : ''}>网络预约出租车</option>
+                        <option  disabled value="2" ${2 == item.commercialType ? 'selected=selected' : ''}>巡游出租汽车</option>
+                        <option  disabled value="3" ${3 == item.commercialType ? 'selected=selected' : ''}>私人小客车合乘</option>
+                    </#select>
+                </div>
+            </div>
+
+            <div class="row btn-group-m-t">
+                <div class="col-sm-10 col-sm-offset-5">
+                    <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="editSubmit()"/>
+                    <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCarInfoDlg.close()"/>
+                </div>
+            </div>
+        </div>
+
+    </div>
+</div>
+<script src="${ctxPath}/static/modular/system/tCar/tCar_info.js"></script>
+<script>
+    laydate.render({
+        elem: '#annualInspectionTime'
+    });
+    laydate.render({
+        elem: '#commercialInsuranceTime'
+    });
+    laydate.render({
+        elem: '#certifyDateA'
+    });
+    laydate.render({
+        elem: '#transDateStart'
+    });
+    laydate.render({
+        elem: '#transDateStop'
+    });
+    laydate.render({
+        elem: '#certifyDateB'
+    });
+    laydate.render({
+        elem: '#nextFixDate'
+    });
+    laydate.render({
+        elem: '#GPSInstallDate'
+    });
+    laydate.render({
+        elem: '#registerDate'
+    });
+</script>
+<script type="application/javascript">
+    $(function() {
+        var companyType = $("input[name='companyType']:checked").val();
+        if (1 == companyType){
+            $(".companyDiv").hide();
+        } else if (2 == companyType){
+            $(".companyDiv").show();
+        }
+
+        // 1. 初始化 selectedDrivers
+        let bindDriverId = $("#bindDriverId").val();
+        selectedDrivers = bindDriverId ? bindDriverId.split(",").filter(Boolean) : [];
+
+        // 2. 触发 change 拉取司机
+        $('#oneId').trigger('change');
+
+        TCarInfoDlg.zcServerClick();
+        TCarInfoDlg.kcServerClick();
+    });
+
+
+
+
+
+    var allDrivers = [];
+    var selectedDrivers = []; // 选中司机id数组
+    var driverMap = {}; // id->name
+
+    // 监听分公司选择,拉取司机
+    $('#oneId').on('change', function() {
+        var companyId = $(this).val();
+        if (!companyId) {
+            allDrivers = [];
+            selectedDrivers = [];
+            driverMap = {};
+            renderDriverTags();
+            renderDriverDropdown();
+            return;
+        }
+        selectDriverFromCompanyId(companyId, function(driverList) {
+            allDrivers = driverList || [];
+            driverMap = {};
+            allDrivers.forEach(function(d) { driverMap[d.id] = d.name; });
+            // 只保留当前司机列表中存在的已选司机
+            selectedDrivers = selectedDrivers.filter(function(id) {
+                return allDrivers.some(function(d) { return d.id == id; });
+            });
+            renderDriverTags();
+            renderDriverDropdown();
+        });
+    });
+
+    // 渲染下拉选项
+    function renderDriverDropdown(keyword) {
+        var $dropdown = $('#driverDropdown');
+        $dropdown.empty();
+        var filter = (keyword || '').trim();
+        var filtered = allDrivers.filter(function(driver) {
+            return !filter || driver.name.indexOf(filter) !== -1;
+        });
+        if (filtered.length === 0) {
+            $dropdown.append('<div style="padding:8px;color:#aaa;">无匹配司机</div>');
+            return;
+        }
+        filtered.forEach(function(driver) {
+            var checked = selectedDrivers.indexOf(driver.id+'') !== -1;
+            $dropdown.append('<div class="driver-option" data-id="'+driver.id+'" style="padding:6px 12px;cursor:pointer;display:flex;align-items:center;'+(checked?'background:#f5f5f5;':'')+'">'
+                +'<span style="flex:1;'+(checked?'color:#1890ff;':'')+'">'+driver.name+'</span>'
+                +(checked?'<span style="color:#1890ff;">✔</span>':'')
+                +'</div>');
+        });
+    }
+
+    // 渲染已选标签
+    function renderDriverTags() {
+        var $tags = $('#driverTags');
+        $tags.empty();
+        if (selectedDrivers.length === 0) {
+            $tags.append('<span style="color:#aaa;">请选择司机</span>');
+            return;
+        }
+        var firstId = selectedDrivers[0];
+        var firstName = driverMap[firstId] || '';
+        $tags.append('<span class="driver-tag" style="background:#f0f0f0;border-radius:2px;padding:2px 8px;margin-right:4px;display:flex;align-items:center;">'
+            +firstName+'<span class="remove-tag" data-id="'+firstId+'" style="margin-left:4px;cursor:pointer;">×</span></span>');
+        if (selectedDrivers.length > 1) {
+            $tags.append('<span class="driver-tag" style="background:#f0f0f0;border-radius:2px;padding:2px 8px;">+'
+                +(selectedDrivers.length-1)+'</span>');
+        }
+    }
+
+    // 展示/隐藏下拉和搜索
+    function showDriverDropdown() {
+        $('#driverDropdown').show();
+        $('#driverSearchInput').show().val('').focus();
+        renderDriverDropdown('');
+    }
+    function hideDriverDropdown() {
+        $('#driverDropdown').hide();
+        $('#driverSearchInput').hide();
+    }
+
+    // 点击tags区域显示下拉
+    $('#driverTags').on('click', function() {
+        if (allDrivers.length === 0) return;
+        showDriverDropdown();
+    });
+    // 输入搜索
+    $('#driverSearchInput').on('input', function() {
+        renderDriverDropdown($(this).val());
+    });
+    // 选中/取消选中
+    $('#driverDropdown').on('click', '.driver-option', function() {
+        var id = $(this).data('id').toString();
+        var idx = selectedDrivers.indexOf(id);
+        if (idx === -1) {
+            selectedDrivers.push(id);
+        } else {
+            selectedDrivers.splice(idx,1);
+        }
+        renderDriverTags();
+        renderDriverDropdown($('#driverSearchInput').val());
+    });
+    // 删除标签
+    $('#driverTags').on('click', '.remove-tag', function(e) {
+        var id = $(this).data('id').toString();
+        selectedDrivers = selectedDrivers.filter(function(did) { return did !== id; });
+        renderDriverTags();
+        renderDriverDropdown($('#driverSearchInput').val());
+        e.stopPropagation();
+    });
+    // 失焦隐藏
+    $('#driverSearchInput').on('blur', function() {
+        setTimeout(hideDriverDropdown, 200);
+    });
+    // 保证点击下拉不失焦
+    $('#driverDropdown').on('mousedown', function(e) { e.preventDefault(); });
+
+    // 初始化时禁用
+    $(function(){
+        renderDriverTags();
+        renderDriverDropdown();
+    });
+
+    // 你需要实现的接口调用方法
+    function selectDriverFromCompanyId(companyId, callback) {
+        // 这里你自己实现ajax
+        var ajax = new $ax(Feng.ctxPath + "/tCar/selectDriverFromCompanyId", function(data){
+            callback(data)
+        });
+        ajax.set("companyId",companyId);
+        ajax.start();
+    }
+
+    function editSubmit(){
+        TCarInfoDlg.editSubmit1(selectedDrivers.join(','))
+    }
+</script>
+@}
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html
index ef04645..076141d 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderCrossCity/tOrderCrossCity_detail.html
@@ -150,7 +150,7 @@
                     <h6 class="h3Class" style="font-weight: 700;">修改订单价格为:</h6>
                 </div>
                 <div class="col-sm-1">
-                    <h6 class="h3Class" style="margin-left: 10%">${item.responsibilityMoney}</h4>
+                    <h6 class="h3Class" style="margin-left: 10%">${item.payMoney}</h4>
                 </div>
 
 
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
index 601a472..c1c3dd2 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderPrivateCar/tOrderPrivateCar_orderDetail.html
@@ -239,7 +239,7 @@
                     <h6 class="h3Class" style="font-weight: 700;">修改订单价格为:</h6>
                 </div>
                 <div class="col-sm-1">
-                    <h6 class="h3Class" style="margin-left: 10%">${item.responsibilityMoney}</h4>
+                    <h6 class="h3Class" style="margin-left: 10%">${item.payMoney}</h4>
                 </div>
 
 
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
index b7dbff0..8bc9fb9 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/WEB-INF/view/system/tOrderTaxi/tOrderTaxi_edit.html
@@ -174,7 +174,7 @@
                     <h6 class="h3Class" style="font-weight: 700;">修改订单价格为:</h6>
                 </div>
                 <div class="col-sm-1">
-                     <h6 class="h3Class" style="margin-left: 10%">${item.responsibilityMoney}</h4>
+                     <h6 class="h3Class" style="margin-left: 10%">${item.payMoney}</h4>
                 </div>
 
 
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tAbnormalOrderCar/tAbnormalOrder.js b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tAbnormalOrderCar/tAbnormalOrder.js
index cf8c64b..0ee03e9 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tAbnormalOrderCar/tAbnormalOrder.js
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tAbnormalOrderCar/tAbnormalOrder.js
@@ -229,6 +229,7 @@
                 return {1:"否",2:"是"}[value];
             }
         },
+
         {title: '是否推广订单', field: 'promotion', visible: true, align: 'center', valign: 'middle',
             formatter: function (value, row) {
                 return {1:"否",2:"是"}[value];
@@ -289,6 +290,25 @@
         this.layerIndex = index;
     }
 };
+TAbnormalOrder.orderDetail1 = function () {
+    if (this.check()) {
+        let abnormalStatus = TAbnormalOrder.seItem.abnormalStatus
+        if(abnormalStatus==2){
+            Feng.info("此异常订单已处理")
+            return;
+        }
+        console.log(abnormalStatus)
+        var index = layer.open({
+            type: 2,
+            title: '异常订单详情',
+            area: ['100%', '100%'], //宽高
+            fix: false, //不固定
+            maxmin: true,
+            content: Feng.ctxPath + '/abnormal/tOrderPrivateCar_orderDetail1?tOrderPrivateCarId=' + TAbnormalOrder.seItem.id+'&type='+$("#type").val()
+        });
+        this.layerIndex = index;
+    }
+};
 
 
 /**
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar.js b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar.js
index a5c5cdf..be05737 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar.js
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar.js
@@ -145,7 +145,16 @@
                 return btn;
             }
         },
-        {title: '关联司机', field: 'driverName', visible: true, align: 'center', valign: 'middle',width:'8%',
+        {title: '授权司机', field: 'driverNames', visible: true, align: 'center', valign: 'middle',width:'5%',
+            formatter: function (value, row) {
+                var btn = "";
+                if(row.driverNames != '' && row.driverNames != null) {
+                    btn = ['<p class="toolTip" style="overflow:hidden;white-space:nowrap;text-overflow:ellipsis;" title="' + row.driverNames + '" onfocus="TUser.tooltip()">' + row.driverNames + '</p>']
+                }
+                return btn;
+            }
+        },
+        {title: '当前使用司机', field: 'driverName', visible: true, align: 'center', valign: 'middle',width:'8%',
             formatter: function (value, row) {
                 var btn = "";
                 if(row.driverName != '' && row.driverName != null) {
@@ -222,6 +231,19 @@
         this.layerIndex = index;
     }
 };
+TCar.openTCarDetail1 = function () {
+    if (this.check()) {
+        var index = layer.open({
+            type: 2,
+            title: '编辑车辆',
+            area: ['100%', '100%'], //宽高
+            fix: false, //不固定
+            maxmin: true,
+            content: Feng.ctxPath + '/tCar/tCar_update1/' + TCar.seItem.id
+        });
+        this.layerIndex = index;
+    }
+};
 
 /**
  * 删除车辆管理
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar_info.js b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar_info.js
index e9d2bdd..74db578 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar_info.js
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tCar/tCar_info.js
@@ -338,6 +338,8 @@
  */
 TCarInfoDlg.addSubmit = function() {
 
+    console.log($("#driverIdsHidden").val())
+
     this.clearData();
     this.collectData();
     if(!this.validate()){
@@ -384,6 +386,7 @@
     ajax.set(this.tCarInfoData);
     ajax.set("serverBox",serverBox.toString());
     ajax.set("zcModel",$("#zcModel").val());
+    ajax.set("bindDriverId",$("#driverIdsHidden").val());
     ajax.set("kcModel",$("#kcModel").val());
     ajax.set("roleType",roleType);
     if (1 == roleType){
@@ -408,7 +411,7 @@
 /**
  * 提交修改
  */
-TCarInfoDlg.editSubmit = function() {
+TCarInfoDlg.editSubmit = function(e) {
 
     this.clearData();
     this.collectData();
@@ -456,6 +459,7 @@
     ajax.set("serverBox",serverBox.toString());
     ajax.set("zcModel",$("#zcModel").val());
     ajax.set("kcModel",$("#kcModel").val());
+    ajax.set("bindDriverId",e);
     ajax.set("roleType",roleType);
     if (1 == roleType){
         ajax.set("companyType",companyType);
@@ -476,6 +480,27 @@
     ajax.start();
 }
 
+
+TCarInfoDlg.editSubmit1 = function(e) {
+
+    this.clearData();
+    this.collectData();
+    if(!this.validate()){
+        return ;
+    }
+    //提交信息
+    var ajax = new $ax(Feng.ctxPath + "/tCar/update1", function(data){
+        Feng.success("修改成功!");
+        window.parent.TCar.table.refresh();
+        TCarInfoDlg.close();
+    },function(data){
+        Feng.error("修改失败!" + data.responseJSON.message + "!");
+    });
+    ajax.set(this.tCarInfoData);
+    ajax.set("bindDriverId",e);
+    ajax.start();
+}
+
 $(function() {
     Feng.initValidator("carInfoForm", TCarInfoDlg.validateFields);
     // 初始化图片上传
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderCrossCity/tOrderCrossCity.js b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderCrossCity/tOrderCrossCity.js
index 53c7c14..40f44cf 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderCrossCity/tOrderCrossCity.js
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderCrossCity/tOrderCrossCity.js
@@ -53,6 +53,8 @@
                 return btn;
             }
         },
+        {title: '所属公司', field: 'companyName', visible: true, align: 'center', valign: 'middle',
+        },
         {title: '乘车时间', field: 'travelTime', visible: true, align: 'center', valign: 'middle',width:'10%',
             formatter: function (value, row) {
                 var btn = "";
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
index 607fcbc..1af00d7 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderPrivateCar/tOrderPrivateCar.js
@@ -53,7 +53,7 @@
                 return btn;
             }
         },
-        {title: '订单类型', field: 'rideType', visible: true, align: 'center', valign: 'middle',
+        {title: '订单类型', field: 'rideType', visible: false, align: 'center', valign: 'middle',
             formatter: function (value, row) {
                 var btn = "";
                 if(row.rideType != '' && row.rideType != null) {
@@ -68,6 +68,8 @@
                 return btn;
             }
         },
+        {title: '所属公司', field: 'companyName', visible: true, align: 'center', valign: 'middle',
+        },
         {title: '乘车时间', field: 'travelTime', visible: true, align: 'center', valign: 'middle',width:'10%',
             formatter: function (value, row) {
                 var btn = "";
diff --git a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTaxi/tOrderTaxi.js b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTaxi/tOrderTaxi.js
index 143a0d8..3cf7822 100644
--- a/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTaxi/tOrderTaxi.js
+++ b/ManagementQYTTravel/guns-admin/src/main/webapp/static/modular/system/tOrderTaxi/tOrderTaxi.js
@@ -55,6 +55,8 @@
                 return btn;
             }
         },
+        {title: '所属公司', field: 'companyName', visible: true, align: 'center', valign: 'middle',
+        },
         {title: '乘车时间', field: 'travelTime', visible: true, align: 'center', valign: 'middle',width:'10%',
             formatter: function (value, row) {
                 var btn = "";
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
index 7d3a614..f6aa91c 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/model/OrderPrivateCar.java
@@ -434,6 +434,10 @@
     private Integer promotion;
 
 
+    private String promotionUser;
+
+    private String promotionPhone;
+
 
     /**
      * 乘客反馈情况
@@ -468,6 +472,22 @@
 
     private Integer responsibilityType;
 
+    public String getPromotionUser() {
+        return promotionUser;
+    }
+
+    public void setPromotionUser(String promotionUser) {
+        this.promotionUser = promotionUser;
+    }
+
+    public String getPromotionPhone() {
+        return promotionPhone;
+    }
+
+    public void setPromotionPhone(String promotionPhone) {
+        this.promotionPhone = promotionPhone;
+    }
+
     public Integer getResponsibilityType() {
         return responsibilityType;
     }
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
index a0ea831..58e270b 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
@@ -600,7 +600,13 @@
 
 				// 是否推广订单
 				Integer promotion = isPromotion(uid);
-				orderPrivateCar.setPromotion(promotion);
+				if(promotion!=null){
+					orderPrivateCar.setPromotion(2);
+					Driver driver = driverService.selectById(promotion);
+					orderPrivateCar.setPromotionUser(driver.getName());
+					orderPrivateCar.setPromotionPhone(driver.getPhone());
+					orderPrivateCar.setPromotionDriverId(promotion);
+				}
 
 
 				this.insert(orderPrivateCar);
@@ -746,7 +752,7 @@
 			String registAreaCode = userInfo.getRegistAreaCode();
 			TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
 			if(tDriverPromotionActivity!=null){
-				return 2;
+				return userInfo.getBindDriverId();
 			}
 		}
 		return null;
@@ -2744,7 +2750,9 @@
 	public void promotion(Integer orderId) {
 		OrderPrivateCar orderPrivateCar = this.baseMapper.selectById(orderId);
 		UserInfo userInfo = userInfoService.selectById(orderPrivateCar.getUserId());
-		if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
+//		if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
+		// 开始绑定的  后面到期也结算
+		if(orderPrivateCar.getPromotionDriverId()!=null ){
 			String registAreaCode = userInfo.getRegistAreaCode();
 			TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 1 + ", bizType) limit 1"));
 			if(tDriverPromotionActivity!=null){
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java
index 82848b5..21ad3b2 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/PhoneServiceImpl.java
@@ -25,6 +25,7 @@
     @Autowired
     private IOpenCityService openCityService;
 
+
     /**
      * 获取所有系统电话
      * @return
@@ -47,9 +48,9 @@
     public Map<String, Object> queryCustomerPhone(String code) throws Exception {
         Map<String, Object> map = new HashMap<>();
         OpenCity openCity = openCityService.openCity1(code);
-        Phone phone = this.selectOne(new EntityWrapper<Phone>().eq("openCityId", openCity).eq("type", 2).eq("platform", 1));
+        Phone phone = this.selectOne(new EntityWrapper<Phone>().eq("openCityId", openCity.getId()).eq("type", 2).eq("platform", 1));
         map.put("platform", null != phone ? phone.getPhone() : "");
-        phone = this.selectOne(new EntityWrapper<Phone>().eq("openCityId", openCity).eq("type", 2).eq("platform", 2));
+        phone = this.selectOne(new EntityWrapper<Phone>().eq("openCityId", openCity.getId()).eq("type", 2).eq("platform", 2));
         map.put("company", null != phone ? phone.getPhone() : "");
         return map;
     }
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java
index e80391c..b4f9541 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/system/warpper/OrderInfoWarpper.java
@@ -1067,6 +1067,14 @@
             orderInfoWarpper.setLineShiftTime(null != map.get("lineShiftTime") ? map.get("lineShiftTime").toString() : "");
             orderInfoWarpper.setHolidayFee(null != map.get("holidayFee") ? Double.valueOf(map.get("holidayFee").toString()) : 0);
             orderInfoWarpper.setTaxiCardMoney(null != map.get("taxiCardMoney") ? Double.valueOf(map.get("taxiCardMoney").toString()) : 0);
+            orderInfoWarpper.setAppealButton(null != map.get("appealButton") ? Integer.valueOf(map.get("appealButton").toString()) : 0);
+            orderInfoWarpper.setAppealStatus(null != map.get("appealStatus") ? Integer.valueOf(map.get("appealStatus").toString()) : 0);
+            orderInfoWarpper.setAbnormalStatus(Integer.valueOf(map.get("abnormalStatus").toString()));
+            orderInfoWarpper.setAbnormalRemark(null != map.get("abnormalRemark") ? map.get("abnormalRemark").toString() : "");
+            orderInfoWarpper.setAbnormalIntro(null != map.get("abnormalIntro") ? map.get("abnormalIntro").toString() : "");
+            orderInfoWarpper.setAbnormalImg(null != map.get("abnormalImg") ? map.get("abnormalImg").toString() : "");
+            orderInfoWarpper.setResponsibilityType(null != map.get("responsibilityType") ? map.get("abnormalImg").toString() : null);
+            orderInfoWarpper.setCompanyName(null != map.get("companyName") ? map.get("companyName").toString() : null);
             orderInfoWarpper.setOrderAdditionalFeeWarpper(list);
         }
         return orderInfoWarpper;
diff --git a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
index 8a82d94..82ddc1e 100644
--- a/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
+++ b/UserQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
@@ -2310,7 +2310,7 @@
 	public void promotion(Integer orderId) {
 		OrderTaxi orderTaxi = this.baseMapper.selectById(orderId);
 		UserInfo userInfo = userInfoService.selectById(orderTaxi.getUserId());
-		if(userInfo.getBindDriverId()!=null && userInfo.getBindExpireDate().getTime()<=System.currentTimeMillis()){
+		if(orderTaxi.getPromotionDriverId()!=null){
 			String registAreaCode = userInfo.getRegistAreaCode();
 			TDriverPromotionActivity tDriverPromotionActivity = driverPromotionActivityService.selectOne(new EntityWrapper<TDriverPromotionActivity>().eq("districtCode", registAreaCode).ge("startTime", new Date()).lt("endTime", new Date()).last("AND FIND_IN_SET(" + 2 + ", bizType) limit 1"));
 			if(tDriverPromotionActivity!=null){

--
Gitblit v1.7.1