Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/QianYunTong
Conflicts:
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/specialTrain/server/impl/OrderPrivateCarServiceImpl.java
DriverQYTTravel/guns-admin/src/main/java/com/stylefeng/guns/modular/taxi/service/impl/OrderTaxiServiceImpl.java
| | |
| | | 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); |
| | |
| | | // 推广司机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; |
| | | } |
| | |
| | | |
| | | // 是否推广订单 |
| | | 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()); |
| | | //调三方订单中心创建行程单 |
| | |
| | | @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 |
| | |
| | | |
| | | 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; |
| | | } |
| | |
| | | |
| | | // 是否推广订单 |
| | | 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); |
| | | |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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; |
| | |
| | | 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"; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 跳转到保险列表页 |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | /** |
| | | * 获取保险列表 |
| | | * @param carId |
| | |
| | | */ |
| | | @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)){ |
| | |
| | | } |
| | | tCar.setInsertTime(new Date()); |
| | | tCar.setState(1); |
| | | tCar.setBindDriverId(bindDriverId); |
| | | tCarService.insert(tCar); |
| | | |
| | | //添加经营业务 |
| | |
| | | }).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)){ |
| | |
| | | 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 |
| | |
| | | }).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; |
| | | } |
| | | |
| | | /** |
| | | * 车辆管理详情 |
| | |
| | | } |
| | | 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<>(); |
| | |
| | | } |
| | | 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"))); |
| | |
| | | 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){ |
| | |
| | | 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); |
| | | } |
| | |
| | | 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); |
| | | |
| | |
| | | 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); |
| | | } |
| | |
| | | |
| | | <!--根据条件查询车辆列表--> |
| | | <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 |
| | |
| | | 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 != ''"> |
| | |
| | | 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},'%') |
| | |
| | | private Integer addObjectId; |
| | | |
| | | |
| | | private String bindDriverId; |
| | | |
| | | |
| | | public String getBindDriverId() { |
| | | return bindDriverId; |
| | | } |
| | | |
| | | public void setBindDriverId(String bindDriverId) { |
| | | this.bindDriverId = bindDriverId; |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | |
| | | 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; |
| | |
| | | @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 |
| | |
| | | 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; |
| | |
| | | |
| | | @Autowired |
| | | private ITServerCarmodelService serverCarmodelService; |
| | | |
| | | @Autowired |
| | | private ITCompanyService companyService; |
| | | |
| | | |
| | | |
| | |
| | | } |
| | | 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; |
| | | } |
| | |
| | | } |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | |
| | | @Autowired |
| | | private ITCompanyService companyService; |
| | | |
| | | @Autowired |
| | | private ITLineService lineService; |
| | | |
| | | |
| | | @Autowired |
| | | private IIncomeService incomeService; |
| | | |
| | |
| | | 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 |
| | |
| | | </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"/> |
| | |
| | | |
| | | <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> |
| | |
| | | 未知 |
| | | @} |
| | | </td> |
| | | <td><a class="order-link" href="#">查看订单详情</a></td> |
| | | <td><a class="order-link" onclick="viewOrderInfo()">查看订单详情</a></td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | |
| | | @} |
| | | </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> |
| | |
| | | <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'); |
| | |
| | | <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> |
| | | `; |
| | |
| | | <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> |
| | | `; |
| | | } |
| | |
| | | btn.disabled = true; |
| | | if (btn.dataset.type === typeMap[responsibilityType]) { |
| | | btn.classList.add('active'); |
| | | }else { |
| | | btn.style.display = 'none'; |
| | | } |
| | | }); |
| | | renderContent(typeMap[responsibilityType], true); |
| | |
| | | document.getElementById('closeBtn').style.display = 'none'; |
| | | } |
| | | |
| | | function saveBtn1() { |
| | | $("#s1").hide(); |
| | | $("#s2").show(); |
| | | } |
| | | window.onload = function() { |
| | | if (isReadonly) { |
| | | setReadonlyMode(); |
| | |
| | | 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("操作失败!"); |
| | | }); |
| | |
| | | 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> |
| | |
| | | <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> |
| | | |
| | | |
| | |
| | | <#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="所属分公司" /> |
| | |
| | | @} |
| | | @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"> |
| | |
| | | <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"> |
| | |
| | | </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="行驶证编号" /> |
| | |
| | | |
| | | <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> |
| | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tCar/tCar_info.js"></script> |
| | | |
| | | <script> |
| | | laydate.render({ |
| | | elem: '#annualInspectionTime' |
| | |
| | | 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> |
| | | @} |
| | |
| | | <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"> |
| | |
| | | </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}"/> |
| | |
| | | <#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> |
| | |
| | | $(".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> |
| | | @} |
New file |
| | |
| | | @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> |
| | | @} |
| | |
| | | <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> |
| | | |
| | | |
| | |
| | | <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> |
| | | |
| | | |
| | |
| | | <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> |
| | | |
| | | |
| | |
| | | return {1:"否",2:"是"}[value]; |
| | | } |
| | | }, |
| | | |
| | | {title: '是否推广订单', field: 'promotion', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | return {1:"否",2:"是"}[value]; |
| | |
| | | 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; |
| | | } |
| | | }; |
| | | |
| | | |
| | | /** |
| | |
| | | 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) { |
| | |
| | | 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; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除车辆管理 |
| | |
| | | */ |
| | | TCarInfoDlg.addSubmit = function() { |
| | | |
| | | console.log($("#driverIdsHidden").val()) |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | if(!this.validate()){ |
| | |
| | | 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){ |
| | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TCarInfoDlg.editSubmit = function() { |
| | | TCarInfoDlg.editSubmit = function(e) { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | |
| | | 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); |
| | |
| | | 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); |
| | | // 初始化图片上传 |
| | |
| | | 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 = ""; |
| | |
| | | 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) { |
| | |
| | | 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 = ""; |
| | |
| | | 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 = ""; |
| | |
| | | private Integer promotion; |
| | | |
| | | |
| | | private String promotionUser; |
| | | |
| | | private String promotionPhone; |
| | | |
| | | |
| | | /** |
| | | * 乘客反馈情况 |
| | |
| | | |
| | | 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; |
| | | } |
| | |
| | | |
| | | // 是否推广订单 |
| | | 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); |
| | |
| | | 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; |
| | |
| | | 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){ |
| | |
| | | @Autowired |
| | | private IOpenCityService openCityService; |
| | | |
| | | |
| | | /** |
| | | * 获取所有系统电话 |
| | | * @return |
| | |
| | | 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; |
| | | } |
| | |
| | | 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; |
| | |
| | | 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){ |