From 352f7504b8e340996b37718950635a674d0045b0 Mon Sep 17 00:00:00 2001 From: xuhy <3313886187@qq.com> Date: 星期一, 27 二月 2023 18:16:26 +0800 Subject: [PATCH] 订单管理 --- management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCancelOrderServiceImpl.java | 40 management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder_add.html | 32 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TEvaluateMapper.java | 16 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java | 19 management/guns-admin/src/main/webapp/static/modular/system/tOrder/tCancelOrder.js | 167 +++ management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tCancelOrder.html | 87 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITEvaluateService.java | 16 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml | 50 management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate_add.html | 32 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderService.java | 16 management/guns-admin/src/main/webapp/static/modular/system/tEvaluate/tEvaluate.js | 103 ++ management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrderException.js | 280 +++++ management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder_info.js | 7 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java | 23 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java | 249 ++++ management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderStartAndStopException.html | 30 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TOrderResp.java | 98 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/OrderStateEnum.java | 3 management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder.html | 38 management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate.html | 38 management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html | 64 + management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderException.html | 80 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCancelOrderMapper.xml | 59 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCancelOrder.java | 127 ++ management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TEvaluate.java | 127 ++ management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate_edit.html | 32 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TEvaluateServiceImpl.java | 20 management/guns-admin/src/main/webapp/static/modular/system/tCancelOrder/tCancelOrder_info.js | 99 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAppUser.java | 13 management/guns-admin/src/main/webapp/static/modular/system/tEvaluate/tEvaluate_info.js | 99 + management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TEvaluateMapper.xml | 21 management/guns-admin/src/main/webapp/static/modular/system/tCancelOrder/tCancelOrder.js | 103 ++ management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TEvaluateController.java | 104 ++ management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder_edit.html | 32 management/guns-admin/src/main/webapp/static/modular/system/tOrder/tAppUser.js | 281 +++++ management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCancelOrderController.java | 183 +++ management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder.js | 171 ++ management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCancelOrderMapper.java | 37 management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCancelOrderService.java | 33 management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html | 2 40 files changed, 2,990 insertions(+), 41 deletions(-) diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCancelOrderController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCancelOrderController.java new file mode 100644 index 0000000..0ead608 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TCancelOrderController.java @@ -0,0 +1,183 @@ +package com.stylefeng.guns.modular.system.controller.general; + +import com.stylefeng.guns.core.base.controller.BaseController; +import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; +import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; +import io.swagger.annotations.ApiOperation; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.beans.factory.annotation.Autowired; +import com.stylefeng.guns.core.log.LogObjectHolder; +import org.springframework.web.bind.annotation.RequestParam; +import com.stylefeng.guns.modular.system.model.TCancelOrder; +import com.stylefeng.guns.modular.system.service.ITCancelOrderService; + +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.math.BigDecimal; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.List; +import java.util.Objects; + +/** + * 控制器 + * + * @author fengshuonan + * @Date 2023-02-27 15:52:01 + */ +@Controller +@RequestMapping("/tCancelOrder") +public class TCancelOrderController extends BaseController { + + private String PREFIX = "/system/tCancelOrder/"; + + @Autowired + private ITCancelOrderService tCancelOrderService; + + /** + * 跳转到首页 + */ + @RequestMapping("") + public String index() { + return PREFIX + "tCancelOrder.html"; + } + + /** + * 跳转到添加 + */ + @RequestMapping("/tCancelOrder_add") + public String tCancelOrderAdd() { + return PREFIX + "tCancelOrder_add.html"; + } + + /** + * 跳转到修改 + */ + @RequestMapping("/tCancelOrder_update/{tCancelOrderId}") + public String tCancelOrderUpdate(@PathVariable Integer tCancelOrderId, Model model) { + TCancelOrder tCancelOrder = tCancelOrderService.selectById(tCancelOrderId); + model.addAttribute("item",tCancelOrder); + LogObjectHolder.me().set(tCancelOrder); + return PREFIX + "tCancelOrder_edit.html"; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + return tCancelOrderService.selectList(null); + } + + /** + * 获取列表 + */ + @ApiOperation(value = "获取取消订单列表") + @RequestMapping(value = "/cancelOrderList") + @ResponseBody + public Object cancelOrderList(String createTime, + String code, + Integer source, + String userName, + String userPhone, + Integer state, + String driverName) { + return tCancelOrderService.getCancelOrderList(createTime, code, source, userName, userPhone, state, driverName); + } + + /** + * 新增 + */ + @RequestMapping(value = "/add") + @ResponseBody + public Object add(TCancelOrder tCancelOrder) { + tCancelOrderService.insert(tCancelOrder); + return SUCCESS_TIP; + } + + /** + * 删除 + */ + @RequestMapping(value = "/delete") + @ResponseBody + public Object delete(@RequestParam Integer tCancelOrderId) { + tCancelOrderService.deleteById(tCancelOrderId); + return SUCCESS_TIP; + } + + /** + * 修改 + */ + @RequestMapping(value = "/update") + @ResponseBody + public Object update(TCancelOrder tCancelOrder) { + tCancelOrderService.updateById(tCancelOrder); + return SUCCESS_TIP; + } + + /** + * 详情 + */ + @RequestMapping(value = "/detail/{tCancelOrderId}") + @ResponseBody + public Object detail(@PathVariable("tCancelOrderId") Integer tCancelOrderId) { + return tCancelOrderService.selectById(tCancelOrderId); + } + + @ApiOperation(value = "导出取消订单列表",notes="导出取消订单列表") + @RequestMapping(value = "/export") + @ResponseBody + public void export(String createTime, + String code, + Integer source, + String userName, + String userPhone, + Integer state, + String driverName, HttpServletResponse response) { + try { + Date date = new Date(); + DateFormat format = new SimpleDateFormat("yyyyMMdd"); + String time1 = format.format(date); + String fileName = "CancelOrderInfo"+time1+".xls"; + String[] title = new String[] {"下单时间","订单编号","订单来源","下单用户昵称", + "下单用户手机","起点地址","终点地址","接单司机","司机电话","转单原因","取消时间"}; + List<TOrderResp> orderList = tCancelOrderService.getCancelOrderList(createTime, code, source, userName, userPhone, state, driverName); + String[][] values = new String[orderList.size()][]; + for (int i = 0; i < orderList.size(); i++) { + TOrderResp d = orderList.get(i); + values[i] = new String[title.length]; + values[i][0] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getPlaceTime()); + values[i][1] = d.getCode(); + Integer source1 = d.getSource(); + if(1 == source1){ + values[i][2] = "小程序"; + }else if(2 == source1){ + values[i][2] = "司机创建"; + } + values[i][3] = d.getUserName(); + values[i][4] = d.getUserPhone(); + values[i][5] = d.getStartAddress(); + values[i][6] = d.getEndAddress(); + values[i][7] = d.getDriverName(); + values[i][8] = d.getDriverPhone(); + values[i][9] = d.getCause(); + values[i][10] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getCreateTime()); + } + HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null); + ExcelUtil.setResponseHeader(response, fileName); + OutputStream os = response.getOutputStream(); + wb.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TEvaluateController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TEvaluateController.java new file mode 100644 index 0000000..0231b74 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TEvaluateController.java @@ -0,0 +1,104 @@ +package com.stylefeng.guns.modular.system.controller.general; + +import com.stylefeng.guns.core.base.controller.BaseController; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.ResponseBody; +import org.springframework.ui.Model; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.beans.factory.annotation.Autowired; +import com.stylefeng.guns.core.log.LogObjectHolder; +import org.springframework.web.bind.annotation.RequestParam; +import com.stylefeng.guns.modular.system.model.TEvaluate; +import com.stylefeng.guns.modular.system.service.ITEvaluateService; + +/** + * 控制器 + * + * @author fengshuonan + * @Date 2023-02-27 14:03:41 + */ +@Controller +@RequestMapping("/tEvaluate") +public class TEvaluateController extends BaseController { + + private String PREFIX = "/system/tEvaluate/"; + + @Autowired + private ITEvaluateService tEvaluateService; + + /** + * 跳转到首页 + */ + @RequestMapping("") + public String index() { + return PREFIX + "tEvaluate.html"; + } + + /** + * 跳转到添加 + */ + @RequestMapping("/tEvaluate_add") + public String tEvaluateAdd() { + return PREFIX + "tEvaluate_add.html"; + } + + /** + * 跳转到修改 + */ + @RequestMapping("/tEvaluate_update/{tEvaluateId}") + public String tEvaluateUpdate(@PathVariable Integer tEvaluateId, Model model) { + TEvaluate tEvaluate = tEvaluateService.selectById(tEvaluateId); + model.addAttribute("item",tEvaluate); + LogObjectHolder.me().set(tEvaluate); + return PREFIX + "tEvaluate_edit.html"; + } + + /** + * 获取列表 + */ + @RequestMapping(value = "/list") + @ResponseBody + public Object list(String condition) { + return tEvaluateService.selectList(null); + } + + /** + * 新增 + */ + @RequestMapping(value = "/add") + @ResponseBody + public Object add(TEvaluate tEvaluate) { + tEvaluateService.insert(tEvaluate); + return SUCCESS_TIP; + } + + /** + * 删除 + */ + @RequestMapping(value = "/delete") + @ResponseBody + public Object delete(@RequestParam Integer tEvaluateId) { + tEvaluateService.deleteById(tEvaluateId); + return SUCCESS_TIP; + } + + /** + * 修改 + */ + @RequestMapping(value = "/update") + @ResponseBody + public Object update(TEvaluate tEvaluate) { + tEvaluateService.updateById(tEvaluate); + return SUCCESS_TIP; + } + + /** + * 详情 + */ + @RequestMapping(value = "/detail/{tEvaluateId}") + @ResponseBody + public Object detail(@PathVariable("tEvaluateId") Integer tEvaluateId) { + return tEvaluateService.selectById(tEvaluateId); + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java index a1c64e1..32062da 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/general/TOrderController.java @@ -4,11 +4,21 @@ import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.stylefeng.guns.core.base.controller.BaseController; +import com.stylefeng.guns.core.base.tips.SuccessTip; import com.stylefeng.guns.core.log.LogObjectHolder; import com.stylefeng.guns.modular.system.controller.resp.TAppUserDetailOrderResp; +import com.stylefeng.guns.modular.system.controller.resp.TDriverCommissionResp; +import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; +import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; +import com.stylefeng.guns.modular.system.model.TAppUser; +import com.stylefeng.guns.modular.system.model.TDriver; import com.stylefeng.guns.modular.system.model.TOrder; +import com.stylefeng.guns.modular.system.service.ITAppUserService; import com.stylefeng.guns.modular.system.service.ITOrderService; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; +import org.apache.poi.hssf.usermodel.HSSFWorkbook; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @@ -18,7 +28,13 @@ import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; +import javax.servlet.http.HttpServletResponse; +import java.io.OutputStream; +import java.math.BigDecimal; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.ArrayList; +import java.util.Date; import java.util.List; import java.util.Objects; @@ -36,6 +52,8 @@ @Autowired private ITOrderService tOrderService; + @Autowired + private ITAppUserService tAppUserService; /** * 跳转到首页 @@ -65,17 +83,88 @@ } /** + * 跳转异常页面 + * @return + */ + @RequestMapping("/tOrder-exception") + public String tOrderException(Model model) { + return PREFIX + "tOrderException.html"; + } + + /** + * 跳转到首页 + */ + @RequestMapping("/cancelOrder") + public String cancelOrder() { + return PREFIX + "tCancelOrder.html"; + } + + /** + * 跳转冻结页面 + * @return + */ + @RequestMapping("/tOrderException_start_and_stop") + public String tAppUserStartAndStop( Integer id, + Model model) { + + // 查询订单 + TOrder tOrder = tOrderService.selectById(id); + TAppUser tAppUser = new TAppUser(); + if(Objects.nonNull(tOrder)){ + tAppUser = tAppUserService.selectById(tOrder.getUserId()); + } + + model.addAttribute("id",id); + if(Objects.nonNull(tAppUser)){ + model.addAttribute("status",tAppUser.getStatus()); + } + return PREFIX + "tOrderStartAndStopException.html"; + } + + /** * 获取列表 */ - @ApiOperation(value = "获取订单列表") + @ApiOperation(value = "用户获取订单列表") @RequestMapping(value = "/list") @ResponseBody - public Object list(String condition,Integer userId) { + public Object list(Integer userId) { EntityWrapper<TOrder> wrapper = new EntityWrapper<>(); if(Objects.nonNull(userId)){ wrapper.eq("user_id",userId); } return tOrderService.selectList(wrapper); + } + + /** + * 获取列表 + */ + @ApiOperation(value = "获取订单列表") + @RequestMapping(value = "/orderList") + @ResponseBody + public Object orderList(String createTime, + String code, + Integer source, + String userName, + String userPhone, + Integer state, + String driverName) { + return tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,1); + } + + /** + * 获取列表 + */ + @ApiOperation(value = "获取订单异常列表") + @RequestMapping(value = "/orderExceptionList") + @ResponseBody + public Object orderExceptionList(String createTime, + String code, + Integer source, + String userName, + String userPhone, + Integer state, + String driverName) { + return tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,2); } /** @@ -97,7 +186,7 @@ TAppUserDetailOrderResp tAppUserDetailOrderResp = new TAppUserDetailOrderResp(); BeanUtils.copyProperties(tOrder,tAppUserDetailOrderResp); - // 计算总里程 + // TODO 计算总里程 // 计算总时长 @@ -157,4 +246,158 @@ public Object detail(@PathVariable("tOrderId") Integer tOrderId) { return tOrderService.selectById(tOrderId); } + + @ApiOperation(value = "导出订单列表",notes="导出订单列表") + @RequestMapping(value = "/export") + @ResponseBody + public void export(String createTime, + String code, + Integer source, + String userName, + String userPhone, + Integer state, + String driverName,HttpServletResponse response) { + try { + Date date = new Date(); + DateFormat format = new SimpleDateFormat("yyyyMMdd"); + String time1 = format.format(date); + String fileName = "OrderInfo"+time1+".xls"; + String[] title = new String[] {"下单时间","订单编号","订单来源","开始服务时间","下单用户昵称", + "下单用户手机","起点地址","终点地址","接单司机","司机电话","预估价","取消次数","订单状态"}; + List<TOrderResp> orderList = tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,1); + String[][] values = new String[orderList.size()][]; + for (int i = 0; i < orderList.size(); i++) { + TOrderResp d = orderList.get(i); + values[i] = new String[title.length]; + values[i][0] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getCreateTime()); + values[i][1] = d.getCode(); + Integer source1 = d.getSource(); + if(1 == source1){ + values[i][2] = "小程序"; + }else if(2 == source1){ + values[i][2] = "司机创建"; + } + values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime()); + values[i][4] = d.getUserName(); + values[i][5] = d.getUserPhone(); + values[i][6] = d.getStartAddress(); + values[i][7] = d.getEndAddress(); + values[i][8] = d.getDriverName(); + values[i][9] = d.getDriverPhone(); + values[i][10] = String.valueOf(Objects.nonNull(d.getEstimatedPrice())?d.getEstimatedPrice(): BigDecimal.ZERO); + values[i][11] = String.valueOf(d.getCancelCount()); + Integer status1 = d.getState(); + if(101 == status1){ + values[i][12] = "待接单"; + }else if(102 == status1){ + values[i][12] = "已接单"; + }else if(103 == status1){ + values[i][12] = "前往预约点"; + }else if(104 == status1){ + values[i][12] = "到达预约点"; + }else if(105 == status1){ + values[i][12] = "开始服务"; + }else if(106 == status1){ + values[i][12] = "到达目的地"; + }else if(107 == status1){ + values[i][12] = "待支付"; + }else if(108 == status1){ + values[i][12] = "待评价"; + }else if(109 == status1){ + values[i][12] = "已完成"; + }else if(201 == status1){ + values[i][12] = "转单中"; + }else if(301 == status1){ + values[i][12] = "已取消"; + }else if(401 == status1){ + values[i][12] = "等待中"; + } + } + HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null); + ExcelUtil.setResponseHeader(response, fileName); + OutputStream os = response.getOutputStream(); + wb.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } + + @ApiOperation(value = "导出订单列表",notes="导出订单列表") + @RequestMapping(value = "/export-exception") + @ResponseBody + public void exportException(String createTime, + String code, + Integer source, + String userName, + String userPhone, + Integer state, + String driverName,HttpServletResponse response) { + try { + Date date = new Date(); + DateFormat format = new SimpleDateFormat("yyyyMMdd"); + String time1 = format.format(date); + String fileName = "OrderExceptionInfo"+time1+".xls"; + String[] title = new String[] {"下单时间","订单编号","订单来源","乘车时间","下单用户昵称", + "下单用户手机","起点","终点","接单司机","司机电话","预估价格","取消次数","订单状态"}; + List<TOrderResp> orderList = tOrderService.getOrderList(createTime, code, source, userName, userPhone, state, driverName,1); + String[][] values = new String[orderList.size()][]; + for (int i = 0; i < orderList.size(); i++) { + TOrderResp d = orderList.get(i); + values[i] = new String[title.length]; + values[i][0] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getCreateTime()); + values[i][1] = d.getCode(); + Integer source1 = d.getSource(); + if(1 == source1){ + values[i][2] = "小程序"; + }else if(2 == source1){ + values[i][2] = "司机创建"; + } + values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime()); + values[i][4] = d.getUserName(); + values[i][5] = d.getUserPhone(); + values[i][6] = d.getStartAddress(); + values[i][7] = d.getEndAddress(); + values[i][8] = d.getDriverName(); + values[i][9] = d.getDriverPhone(); + values[i][10] = String.valueOf(Objects.nonNull(d.getEstimatedPrice())?d.getEstimatedPrice(): BigDecimal.ZERO); + values[i][11] = String.valueOf(d.getCancelCount()); + Integer status1 = d.getState(); + if(101 == status1){ + values[i][12] = "待接单"; + }else if(102 == status1){ + values[i][12] = "已接单"; + }else if(103 == status1){ + values[i][12] = "前往预约点"; + }else if(104 == status1){ + values[i][12] = "到达预约点"; + }else if(105 == status1){ + values[i][12] = "开始服务"; + }else if(106 == status1){ + values[i][12] = "到达目的地"; + }else if(107 == status1){ + values[i][12] = "待支付"; + }else if(108 == status1){ + values[i][12] = "待评价"; + }else if(109 == status1){ + values[i][12] = "已完成"; + }else if(201 == status1){ + values[i][12] = "转单中"; + }else if(301 == status1){ + values[i][12] = "已取消"; + }else if(401 == status1){ + values[i][12] = "等待中"; + } + } + HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null); + ExcelUtil.setResponseHeader(response, fileName); + OutputStream os = response.getOutputStream(); + wb.write(os); + os.flush(); + os.close(); + } catch (Exception e) { + e.printStackTrace(); + } + } } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TOrderResp.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TOrderResp.java new file mode 100644 index 0000000..180547f --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/controller/resp/TOrderResp.java @@ -0,0 +1,98 @@ +package com.stylefeng.guns.modular.system.controller.resp; + +import com.stylefeng.guns.modular.system.model.TOrder; +import io.swagger.annotations.ApiModelProperty; + +import java.util.Date; + +public class TOrderResp extends TOrder { + + @ApiModelProperty(value = "下单用户昵称") + private String userName; + + @ApiModelProperty(value = "下单用户电话") + private String userPhone; + + @ApiModelProperty(value = "司机昵称") + private String driverName; + + @ApiModelProperty(value = "司机电话") + private String driverPhone; + + @ApiModelProperty(value = "取消次数") + private Integer cancelCount; + + @ApiModelProperty(value = "用户状态") + private Integer userStatus; + + @ApiModelProperty(value = "取消订单页面使用:下单时间") + private Date placeTime; + + @ApiModelProperty(value = "取消原因") + private String cause; + + + public Date getPlaceTime() { + return placeTime; + } + + public void setPlaceTime(Date placeTime) { + this.placeTime = placeTime; + } + + public String getCause() { + return cause; + } + + public void setCause(String cause) { + this.cause = cause; + } + + public Integer getUserStatus() { + return userStatus; + } + + public void setUserStatus(Integer userStatus) { + this.userStatus = userStatus; + } + + public Integer getCancelCount() { + return cancelCount; + } + + public void setCancelCount(Integer cancelCount) { + this.cancelCount = cancelCount; + } + + public String getUserName() { + return userName; + } + + public void setUserName(String userName) { + this.userName = userName; + } + + public String getUserPhone() { + return userPhone; + } + + public void setUserPhone(String userPhone) { + this.userPhone = userPhone; + } + + public String getDriverName() { + return driverName; + } + + public void setDriverName(String driverName) { + this.driverName = driverName; + } + + public String getDriverPhone() { + return driverPhone; + } + + public void setDriverPhone(String driverPhone) { + this.driverPhone = driverPhone; + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCancelOrderMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCancelOrderMapper.java new file mode 100644 index 0000000..a26731a --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TCancelOrderMapper.java @@ -0,0 +1,37 @@ +package com.stylefeng.guns.modular.system.dao; + +import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; +import com.stylefeng.guns.modular.system.model.TCancelOrder; +import com.baomidou.mybatisplus.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * <p> + * 订单取消记录 Mapper 接口 + * </p> + * + * @author stylefeng + * @since 2023-02-27 + */ +@Mapper +public interface TCancelOrderMapper extends BaseMapper<TCancelOrder> { + + /** + * 查询取消订单列表 + * @param startTime + * @param endTime + * @param code + * @param source + * @param userName + * @param userPhone + * @param state + * @param driverName + * @return + */ + List<TOrderResp> getCancelOrderList(@Param("startTime") String startTime, @Param("endTime")String endTime, @Param("code") String code, + @Param("source") Integer source, @Param("userName")String userName, @Param("userPhone")String userPhone, + @Param("state")Integer state, @Param("driverName")String driverName); +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TEvaluateMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TEvaluateMapper.java new file mode 100644 index 0000000..f5e2cef --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TEvaluateMapper.java @@ -0,0 +1,16 @@ +package com.stylefeng.guns.modular.system.dao; + +import com.stylefeng.guns.modular.system.model.TEvaluate; +import com.baomidou.mybatisplus.mapper.BaseMapper; + +/** + * <p> + * 订单评价 Mapper 接口 + * </p> + * + * @author stylefeng + * @since 2023-02-27 + */ +public interface TEvaluateMapper extends BaseMapper<TEvaluate> { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java index 58b6a54..75bd05b 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/TOrderMapper.java @@ -1,8 +1,12 @@ package com.stylefeng.guns.modular.system.dao; +import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; import com.stylefeng.guns.modular.system.model.TOrder; import com.baomidou.mybatisplus.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; /** * <p> @@ -15,4 +19,19 @@ @Mapper public interface TOrderMapper extends BaseMapper<TOrder> { + /** + * 查询订单列表 + * @param startTime + * @param endTime + * @param code + * @param source + * @param userName + * @param userPhone + * @param state + * @param driverName + * @return + */ + List<TOrderResp> getOrderList(@Param("startTime") String startTime,@Param("endTime")String endTime, @Param("code") String code, + @Param("source") Integer source,@Param("userName")String userName, @Param("userPhone")String userPhone, + @Param("state")Integer state,@Param("driverName")String driverName,@Param("isException") Integer isException); } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCancelOrderMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCancelOrderMapper.xml new file mode 100644 index 0000000..07a3a5a --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TCancelOrderMapper.xml @@ -0,0 +1,59 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.stylefeng.guns.modular.system.dao.TCancelOrderMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TCancelOrder"> + <id column="id" property="id" /> + <result column="orderId" property="orderId" /> + <result column="userType" property="userType" /> + <result column="userId" property="userId" /> + <result column="cause" property="cause" /> + <result column="status" property="status" /> + <result column="createTime" property="createTime" /> + </resultMap> + + <!-- 通用查询结果列 --> + <sql id="Base_Column_List"> + id, orderId, userType, userId, cause, status, createTime + </sql> + + <sql id="Base_Column_Order"> + co.id, co.orderId, co.userType, co.userId, co.cause, co.status, co.createTime,o.code, o.`source`, o.startAddress, o.endAddress,o.createTime AS placeTime, + a.nickname AS userName,a.phone AS userPhone,a.cancelCount,a.status AS userStatus,d.name AS driverName,d.phone AS driverPhone + </sql> + + <select id="getCancelOrderList" resultType="com.stylefeng.guns.modular.system.controller.resp.TOrderResp"> + select <include refid="Base_Column_Order"></include> + from t_cancel_order co + left join t_order o on co.orderId = o.id + left join t_app_user a on o.userId = a.id + left join t_driver d on o.driverId = d.id + <where> + <if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> + AND co.createTime between #{startTime} and #{endTime} + </if> + <if test="code != null and code != ''"> + AND o.code LIKE concat('%',#{code},'%') + </if> + <if test="source != null"> + AND o.source = #{source} + </if> + <if test="userName != null and userName != ''"> + AND a.nickname LIKE concat('%',#{userName},'%') + </if> + <if test="userPhone != null and userPhone != ''"> + AND a.phone LIKE concat('%',#{userPhone},'%') + </if> + <if test="state != null"> + AND o.state = #{state} + </if> + <if test="driverName != null and driverName != ''"> + AND d.name LIKE concat('%',#{driverName},'%') + </if> + AND co.userType = 1 + </where> + ORDER BY co.createTime + </select> + +</mapper> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TEvaluateMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TEvaluateMapper.xml new file mode 100644 index 0000000..599ff44 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TEvaluateMapper.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> +<mapper namespace="com.stylefeng.guns.modular.system.dao.TEvaluateMapper"> + + <!-- 通用查询映射结果 --> + <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TEvaluate"> + <id column="id" property="id" /> + <result column="orderId" property="orderId" /> + <result column="userId" property="userId" /> + <result column="score" property="score" /> + <result column="evaluate" property="evaluate" /> + <result column="status" property="status" /> + <result column="createTime" property="createTime" /> + </resultMap> + + <!-- 通用查询结果列 --> + <sql id="Base_Column_List"> + id, orderId, userId, score, evaluate, status, createTime + </sql> + +</mapper> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml index 1bdd71a..7d7635d 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/dao/mapping/TOrderMapper.xml @@ -8,7 +8,7 @@ <result column="code" property="code" /> <result column="userId" property="userId" /> <result column="driverId" property="driverId" /> - <result column="source" property="source" /> + <result column="`source`" property="source" /> <result column="agentId" property="agentId" /> <result column="branchOfficeId" property="branchOfficeId" /> <result column="startTime" property="startTime" /> @@ -27,7 +27,7 @@ <result column="couponId" property="couponId" /> <result column="payType" property="payType" /> <result column="payTime" property="payTime" /> - <result column="state" property="state" /> + <result column="`state`" property="state" /> <result column="status" property="status" /> <result column="createTime" property="createTime" /> <result column="startDistance" property="startLng" /> @@ -50,10 +50,52 @@ <!-- 通用查询结果列 --> <sql id="Base_Column_List"> - id, code, userId, driverId, source, agentId, branchOfficeId, startTime, startAddress, startLat, startLng, endAddress, endLat, endLng, - boardingTime, getoffTime, estimatedPrice, orderMoney, payMoney, discountedPrice, couponId, payType, payTime, state, status, createTime, + id, code, userId, driverId, `source`, agentId, branchOfficeId, startTime, startAddress, startLat, startLng, endAddress, endLat, endLng, + boardingTime, getoffTime, estimatedPrice, orderMoney, payMoney, discountedPrice, couponId, payType, payTime, `state`, status, createTime, startDistance,startPrice,overDriveDistance,overDrivePrice,longDistance,longDistancePrice,overLongDistance,overLongDistancePrice, waitTime,waitTimePrice,outWaitTime,outWaitTimePrice,badWeatherDistance,badWeatherPrice,overBadWeatherDistance,overBadWeatherPrice </sql> + <sql id="Base_Column_Order"> + o.id, o.code, o.userId, o.driverId, o.`source`, o.agentId, o.branchOfficeId, o.startTime, o.startAddress, o.startLat, o.startLng, o.endAddress, o.endLat, o.endLng, + o.boardingTime, o.getoffTime, o.estimatedPrice, o.orderMoney, o.payMoney, o.discountedPrice, o.couponId, o.payType, o.payTime, o.`state`, o.status, o.createTime, + o.startDistance,o.startPrice,o.overDriveDistance,o.overDrivePrice,o.longDistance,o.longDistancePrice,o.overLongDistance,o.overLongDistancePrice, +o.waitTime,o.waitTimePrice,o.outWaitTime,o.outWaitTimePrice,o.badWeatherDistance,o.badWeatherPrice,o.overBadWeatherDistance,o.overBadWeatherPrice,a.nickname AS userName, + a.phone AS userPhone,a.cancelCount,a.status AS userStatus,d.name AS driverName,d.phone AS driverPhone + </sql> + + <select id="getOrderList" resultType="com.stylefeng.guns.modular.system.controller.resp.TOrderResp"> + select <include refid="Base_Column_Order"></include> + from t_order o + left join t_app_user a on o.userId = a.id + left join t_driver d on o.driverId = d.id + <where> + <if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> + AND o.createTime between #{startTime} and #{endTime} + </if> + <if test="code != null and code != ''"> + AND o.code LIKE concat('%',#{code},'%') + </if> + <if test="source != null"> + AND o.source = #{source} + </if> + <if test="userName != null and userName != ''"> + AND a.nickname LIKE concat('%',#{userName},'%') + </if> + <if test="userPhone != null and userPhone != ''"> + AND a.phone LIKE concat('%',#{userPhone},'%') + </if> + <if test="state != null"> + AND o.state = #{state} + </if> + <if test="driverName != null and driverName != ''"> + AND d.name LIKE concat('%',#{driverName},'%') + </if> + <if test="isException != null"> + AND a.is_exception = #{isException} + </if> + </where> + ORDER BY o.createTime + </select> + </mapper> diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/OrderStateEnum.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/OrderStateEnum.java index dacda5f..17af1fa 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/OrderStateEnum.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/enums/OrderStateEnum.java @@ -20,7 +20,8 @@ WAIT_EVALUATED(107, "待评价"), FINISH(108, "已完成"), TRANSFERRING(201, "转单中"), - CANCELED(301,"已取消"); + CANCELED(301,"已取消"), + WAITING(401,"等待中"); private String desc; diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAppUser.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAppUser.java index a53ccae..67d6940 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAppUser.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TAppUser.java @@ -89,6 +89,11 @@ @TableField(value = "remark") private String remark; + /** + * 取消订单次数,取消一次添加一次,若成功接单清零 + */ + @TableField(value = "cancelCount") + private Integer cancelCount; @TableField(exist = false) @ApiModelProperty(value = "注册开始时间") @@ -98,6 +103,14 @@ @ApiModelProperty(value = "注册结束时间") private Date endTime; + public Integer getCancelCount() { + return cancelCount; + } + + public void setCancelCount(Integer cancelCount) { + this.cancelCount = cancelCount; + } + public Integer getIsException() { return isException; } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCancelOrder.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCancelOrder.java new file mode 100644 index 0000000..e2f2b88 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TCancelOrder.java @@ -0,0 +1,127 @@ +package com.stylefeng.guns.modular.system.model; + +import com.baomidou.mybatisplus.enums.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +/** + * <p> + * 订单取消记录 + * </p> + * + * @author stylefeng + * @since 2023-02-27 + */ +@TableName("t_cancel_order") +public class TCancelOrder extends Model<TCancelOrder> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 订单id + */ + private Integer orderId; + /** + * 用户类型(1=用户,2=司机) + */ + private Integer userType; + /** + * 用户id + */ + private Integer userId; + /** + * 转单原因 + */ + private String cause; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + private Integer status; + /** + * 添加时间 + */ + private Date createTime; + + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getOrderId() { + return orderId; + } + + public void setOrderId(Integer orderId) { + this.orderId = orderId; + } + + public Integer getUserType() { + return userType; + } + + public void setUserType(Integer userType) { + this.userType = userType; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public String getCause() { + return cause; + } + + public void setCause(String cause) { + this.cause = cause; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "TCancelOrder{" + + "id=" + id + + ", orderId=" + orderId + + ", userType=" + userType + + ", userId=" + userId + + ", cause=" + cause + + ", status=" + status + + ", createTime=" + createTime + + "}"; + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TEvaluate.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TEvaluate.java new file mode 100644 index 0000000..95e6ce9 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/model/TEvaluate.java @@ -0,0 +1,127 @@ +package com.stylefeng.guns.modular.system.model; + +import com.baomidou.mybatisplus.enums.IdType; +import java.util.Date; +import com.baomidou.mybatisplus.annotations.TableId; +import com.baomidou.mybatisplus.activerecord.Model; +import com.baomidou.mybatisplus.annotations.TableName; +import java.io.Serializable; + +/** + * <p> + * 订单评价 + * </p> + * + * @author stylefeng + * @since 2023-02-27 + */ +@TableName("t_evaluate") +public class TEvaluate extends Model<TEvaluate> { + + private static final long serialVersionUID = 1L; + + /** + * 主键 + */ + @TableId(value = "id", type = IdType.AUTO) + private Integer id; + /** + * 订单id + */ + private Integer orderId; + /** + * 用户id + */ + private Integer userId; + /** + * 评分 + */ + private Integer score; + /** + * 评价内容 + */ + private String evaluate; + /** + * 状态(1=正常,2=冻结,3=删除) + */ + private Integer status; + /** + * 添加时间 + */ + private Date createTime; + + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public Integer getOrderId() { + return orderId; + } + + public void setOrderId(Integer orderId) { + this.orderId = orderId; + } + + public Integer getUserId() { + return userId; + } + + public void setUserId(Integer userId) { + this.userId = userId; + } + + public Integer getScore() { + return score; + } + + public void setScore(Integer score) { + this.score = score; + } + + public String getEvaluate() { + return evaluate; + } + + public void setEvaluate(String evaluate) { + this.evaluate = evaluate; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public Date getCreateTime() { + return createTime; + } + + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } + + @Override + protected Serializable pkVal() { + return this.id; + } + + @Override + public String toString() { + return "TEvaluate{" + + "id=" + id + + ", orderId=" + orderId + + ", userId=" + userId + + ", score=" + score + + ", evaluate=" + evaluate + + ", status=" + status + + ", createTime=" + createTime + + "}"; + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCancelOrderService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCancelOrderService.java new file mode 100644 index 0000000..ea763d0 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITCancelOrderService.java @@ -0,0 +1,33 @@ +package com.stylefeng.guns.modular.system.service; + +import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; +import com.stylefeng.guns.modular.system.model.TCancelOrder; +import com.baomidou.mybatisplus.service.IService; + +import java.util.List; + +/** + * <p> + * 订单取消记录 服务类 + * </p> + * + * @author stylefeng + * @since 2023-02-27 + */ +public interface ITCancelOrderService extends IService<TCancelOrder> { + + + /** + * 查询取消订单列表 + * @param createTime + * @param code + * @param source + * @param userName + * @param userPhone + * @param state + * @param driverName + * @return + */ + List<TOrderResp> getCancelOrderList(String createTime, String code, Integer source, String userName, String userPhone, Integer state, String driverName); + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITEvaluateService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITEvaluateService.java new file mode 100644 index 0000000..0eb7ac5 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITEvaluateService.java @@ -0,0 +1,16 @@ +package com.stylefeng.guns.modular.system.service; + +import com.stylefeng.guns.modular.system.model.TEvaluate; +import com.baomidou.mybatisplus.service.IService; + +/** + * <p> + * 订单评价 服务类 + * </p> + * + * @author stylefeng + * @since 2023-02-27 + */ +public interface ITEvaluateService extends IService<TEvaluate> { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderService.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderService.java index 29fb92b..0d6137e 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderService.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/ITOrderService.java @@ -1,7 +1,11 @@ package com.stylefeng.guns.modular.system.service; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; import com.stylefeng.guns.modular.system.model.TOrder; import com.baomidou.mybatisplus.service.IService; + +import java.util.List; /** * <p> @@ -13,4 +17,16 @@ */ public interface ITOrderService extends IService<TOrder> { + /** + * 获取订单列表 + * @param createTime + * @param code + * @param source + * @param userName + * @param userPhone + * @param state + * @param driverName + * @return + */ + List<TOrderResp> getOrderList(String createTime, String code, Integer source, String userName, String userPhone, Integer state, String driverName,Integer isException); } diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCancelOrderServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCancelOrderServiceImpl.java new file mode 100644 index 0000000..3dc40f4 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TCancelOrderServiceImpl.java @@ -0,0 +1,40 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; +import com.stylefeng.guns.modular.system.model.TCancelOrder; +import com.stylefeng.guns.modular.system.dao.TCancelOrderMapper; +import com.stylefeng.guns.modular.system.service.ITCancelOrderService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.List; + +/** + * <p> + * 订单取消记录 服务实现类 + * </p> + * + * @author stylefeng + * @since 2023-02-27 + */ +@Service +public class TCancelOrderServiceImpl extends ServiceImpl<TCancelOrderMapper, TCancelOrder> implements ITCancelOrderService { + + @Autowired + private TCancelOrderMapper tCancelOrderMapper; + + @Override + public List<TOrderResp> getCancelOrderList(String createTime, String code, Integer source, String userName, String userPhone, Integer state, String driverName) { + String startTime = null; + String endTime = null; + // 开始,结束时间 + if(StringUtils.hasLength(createTime)){ + String[] split = createTime.split(" - "); + startTime = split[0]; + endTime = split[1]; + } + return tCancelOrderMapper.getCancelOrderList(startTime,endTime,code,source,userName,userPhone,state,driverName); + } +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TEvaluateServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TEvaluateServiceImpl.java new file mode 100644 index 0000000..5dabc97 --- /dev/null +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TEvaluateServiceImpl.java @@ -0,0 +1,20 @@ +package com.stylefeng.guns.modular.system.service.impl; + +import com.stylefeng.guns.modular.system.model.TEvaluate; +import com.stylefeng.guns.modular.system.dao.TEvaluateMapper; +import com.stylefeng.guns.modular.system.service.ITEvaluateService; +import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + * <p> + * 订单评价 服务实现类 + * </p> + * + * @author stylefeng + * @since 2023-02-27 + */ +@Service +public class TEvaluateServiceImpl extends ServiceImpl<TEvaluateMapper, TEvaluate> implements ITEvaluateService { + +} diff --git a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java index 75171ba..955b9d1 100644 --- a/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java +++ b/management/guns-admin/src/main/java/com/stylefeng/guns/modular/system/service/impl/TOrderServiceImpl.java @@ -1,10 +1,18 @@ package com.stylefeng.guns.modular.system.service.impl; +import com.baomidou.mybatisplus.mapper.EntityWrapper; +import com.stylefeng.guns.core.util.DateUtil; +import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; import com.stylefeng.guns.modular.system.model.TOrder; import com.stylefeng.guns.modular.system.dao.TOrderMapper; import com.stylefeng.guns.modular.system.service.ITOrderService; import com.baomidou.mybatisplus.service.impl.ServiceImpl; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.util.StringUtils; + +import java.util.Date; +import java.util.List; /** * <p> @@ -17,4 +25,19 @@ @Service public class TOrderServiceImpl extends ServiceImpl<TOrderMapper, TOrder> implements ITOrderService { + @Autowired + private TOrderMapper tOrderMapper; + + @Override + public List<TOrderResp> getOrderList(String createTime, String code, Integer source, String userName, String userPhone, Integer state, String driverName,Integer isException) { + String startTime = null; + String endTime = null; + // 开始,结束时间 + if(StringUtils.hasLength(createTime)){ + String[] split = createTime.split(" - "); + startTime = split[0]; + endTime = split[1]; + } + return tOrderMapper.getOrderList(startTime,endTime,code,source,userName,userPhone,state,driverName,isException); + } } diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder.html new file mode 100644 index 0000000..9c95d30 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder.html @@ -0,0 +1,38 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-3"> + <#NameCon id="condition" name="名称" /> + </div> + <div class="col-sm-3"> + <#button name="搜索" icon="fa-search" clickFun="TCancelOrder.search()"/> + </div> + </div> + <div class="hidden-xs" id="TCancelOrderTableToolbar" role="group"> + @if(shiro.hasPermission("/tCancelOrder/add")){ + <#button name="添加" icon="fa-plus" clickFun="TCancelOrder.openAddTCancelOrder()"/> + @} + @if(shiro.hasPermission("/tCancelOrder/update")){ + <#button name="修改" icon="fa-edit" clickFun="TCancelOrder.openTCancelOrderDetail()" space="true"/> + @} + @if(shiro.hasPermission("/tCancelOrder/delete")){ + <#button name="删除" icon="fa-remove" clickFun="TCancelOrder.delete()" space="true"/> + @} + </div> + <#table id="TCancelOrderTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tCancelOrder/tCancelOrder.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder_add.html new file mode 100644 index 0000000..9dbf389 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder_add.html @@ -0,0 +1,32 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键" underline="true"/> + <#input id="orderId" name="订单id" underline="true"/> + <#input id="userType" name="用户类型(1=用户,2=司机)" underline="true"/> + <#input id="userId" name="用户id"/> + </div> + + <div class="col-sm-6"> + <#input id="cause" name="转单原因" underline="true"/> + <#input id="status" name="状态(1=正常,2=冻结,3=删除)" underline="true"/> + <#input id="createTime" name="添加时间" underline="true"/> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCancelOrderInfoDlg.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCancelOrderInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tCancelOrder/tCancelOrder_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder_edit.html new file mode 100644 index 0000000..061c4ea --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tCancelOrder/tCancelOrder_edit.html @@ -0,0 +1,32 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键" value="${item.id}" underline="true"/> + <#input id="orderId" name="订单id" value="${item.orderId}" underline="true"/> + <#input id="userType" name="用户类型(1=用户,2=司机)" value="${item.userType}" underline="true"/> + <#input id="userId" name="用户id" value="${item.userId}" /> + </div> + + <div class="col-sm-6"> + <#input id="cause" name="转单原因" value="${item.cause}" underline="true"/> + <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/> + <#input id="createTime" name="添加时间" value="${item.createTime}" /> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCancelOrderInfoDlg.editSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCancelOrderInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tCancelOrder/tCancelOrder_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html index 188d0cd..3e78867 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tDriver/tDriver.html @@ -26,7 +26,7 @@ <#button name="搜索" icon="fa-search" clickFun="TDriver.search()"/> <#button name="重置" icon="fa-trash" clickFun="TDriver.resetSearch()" space="true"/> </div> - <div class="col-sm-3"> + <div class="col-sm-12"> <button type="button" class="btn btn-primary " onclick="TDriver.auditPage()" id="audit"> <i class="fa "></i> 立即审核 </button> diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate.html new file mode 100644 index 0000000..a85e4e9 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate.html @@ -0,0 +1,38 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-3"> + <#NameCon id="condition" name="名称" /> + </div> + <div class="col-sm-3"> + <#button name="搜索" icon="fa-search" clickFun="TEvaluate.search()"/> + </div> + </div> + <div class="hidden-xs" id="TEvaluateTableToolbar" role="group"> + @if(shiro.hasPermission("/tEvaluate/add")){ + <#button name="添加" icon="fa-plus" clickFun="TEvaluate.openAddTEvaluate()"/> + @} + @if(shiro.hasPermission("/tEvaluate/update")){ + <#button name="修改" icon="fa-edit" clickFun="TEvaluate.openTEvaluateDetail()" space="true"/> + @} + @if(shiro.hasPermission("/tEvaluate/delete")){ + <#button name="删除" icon="fa-remove" clickFun="TEvaluate.delete()" space="true"/> + @} + </div> + <#table id="TEvaluateTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tEvaluate/tEvaluate.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate_add.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate_add.html new file mode 100644 index 0000000..d01b75b --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate_add.html @@ -0,0 +1,32 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键" underline="true"/> + <#input id="orderId" name="订单id" underline="true"/> + <#input id="userId" name="用户id" underline="true"/> + <#input id="score" name="评分"/> + </div> + + <div class="col-sm-6"> + <#input id="evaluate" name="评价内容" underline="true"/> + <#input id="status" name="状态(1=正常,2=冻结,3=删除)" underline="true"/> + <#input id="createTime" name="添加时间" underline="true"/> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TEvaluateInfoDlg.addSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TEvaluateInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tEvaluate/tEvaluate_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate_edit.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate_edit.html new file mode 100644 index 0000000..dbef3a8 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tEvaluate/tEvaluate_edit.html @@ -0,0 +1,32 @@ +@layout("/common/_container.html"){ +<div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="form-horizontal"> + + <div class="row"> + <div class="col-sm-6 b-r"> + <#input id="id" name="主键" value="${item.id}" underline="true"/> + <#input id="orderId" name="订单id" value="${item.orderId}" underline="true"/> + <#input id="userId" name="用户id" value="${item.userId}" underline="true"/> + <#input id="score" name="评分" value="${item.score}" /> + </div> + + <div class="col-sm-6"> + <#input id="evaluate" name="评价内容" value="${item.evaluate}" underline="true"/> + <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/> + <#input id="createTime" name="添加时间" value="${item.createTime}" /> + </div> + </div> + + <div class="row btn-group-m-t"> + <div class="col-sm-10"> + <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TEvaluateInfoDlg.editSubmit()"/> + <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TEvaluateInfoDlg.close()"/> + </div> + </div> + </div> + + </div> +</div> +<script src="${ctxPath}/static/modular/system/tEvaluate/tEvaluate_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tCancelOrder.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tCancelOrder.html new file mode 100644 index 0000000..e2cfe39 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tCancelOrder.html @@ -0,0 +1,87 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>管理</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-2"> + <#TimeCon id="createTime" name="取消订单时间" /> + </div> + <div class="col-sm-2"> + <#NameCon id="code" name="订单编号" /> + </div> + <div class="col-sm-1"> + <select class="input-group" id="source" style="width: 120px;height: 33px" name="source"> + <option value="">请选择订单来源</option> + <option value="1">小程序</option> + <option value="2">司机创建</option> + </select> + </div> + <div class="col-sm-2"> + <#NameCon id="userName" name="下单用户昵称" /> + </div> + <div class="col-sm-2"> + <#NameCon id="userPhone" name="下单用户手机" /> + </div> + <div class="col-sm-1"> + <select class="input-group" id="state" style="width: 120px;height: 33px" name="state"> + <option value="">请选择订单状态</option> + <option value="101">待接单</option> + <option value="102">已接单</option> + <option value="103">前往预约点</option> + <option value="104">到达预约点</option> + <option value="105">开始服务</option> + <option value="106">到达目的地</option> + <option value="107">待支付</option> + <option value="108">待评价</option> + <option value="109">已完成</option> + <option value="201">转单中</option> + <option value="301">已取消</option> + <option value="401">等待中</option> + </select> + </div> + <div class="col-sm-2"> + <#NameCon id="driverName" name="司机姓名" /> + </div> + </div> + <div class="col-sm-12"> + <#button name="搜索" icon="fa-search" clickFun="TCancelOrder.search()"/> + <#button name="重置" icon="fa-trash" clickFun="TCancelOrder.resetSearch()" space="true"/> + </div> + <div class="col-sm-12"> + <button type="button" class="btn btn-primary " onclick="TCancelOrder.export()" id="export"> + <i class="fa "></i> 导出 + </button> + </div> + <div class="hidden-xs" id="TCancelOrderTableToolbar" role="group"> + @if(shiro.hasPermission("/tCancelOrder/add")){ + <#button name="添加" icon="fa-plus" clickFun="TCancelOrder.openAddTCancelOrder()"/> + @} + @if(shiro.hasPermission("/tCancelOrder/update")){ + <#button name="修改" icon="fa-edit" clickFun="TCancelOrder.openTCancelOrderDetail()" space="true"/> + @} + @if(shiro.hasPermission("/tCancelOrder/delete")){ + <#button name="删除" icon="fa-remove" clickFun="TCancelOrder.delete()" space="true"/> + @} + </div> + <#table id="TCancelOrderTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tOrder/tCancelOrder.js"></script> +<script type="text/javascript"> + laydate.render({ + elem: '#createTime', + type: 'date', + range: true + }); +</script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html index ec76def..9f0fd9b 100644 --- a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrder.html @@ -9,12 +9,60 @@ <div class="row row-lg"> <div class="col-sm-12"> <div class="row"> - <div class="col-sm-3"> - <#NameCon id="condition" name="名称" /> + <div class="col-sm-2"> + <#TimeCon id="createTime" name="订单时间" /> </div> - <div class="col-sm-3"> - <#button name="搜索" icon="fa-search" clickFun="TOrder.search()"/> + <div class="col-sm-2"> + <#NameCon id="code" name="订单编号" /> </div> + <div class="col-sm-1"> + <select class="input-group" id="source" style="width: 120px;height: 33px" name="source"> + <option value="">请选择订单来源</option> + <option value="1">小程序</option> + <option value="2">司机创建</option> + </select> + </div> + <div class="col-sm-2"> + <#NameCon id="userName" name="下单用户昵称" /> + </div> + <div class="col-sm-2"> + <#NameCon id="userPhone" name="下单用户手机" /> + </div> + <div class="col-sm-1"> + <select class="input-group" id="state" style="width: 120px;height: 33px" name="state"> + <option value="">请选择订单状态</option> + <option value="101">待接单</option> + <option value="102">已接单</option> + <option value="103">前往预约点</option> + <option value="104">到达预约点</option> + <option value="105">开始服务</option> + <option value="106">到达目的地</option> + <option value="107">待支付</option> + <option value="108">待评价</option> + <option value="109">已完成</option> + <option value="201">转单中</option> + <option value="301">已取消</option> + <option value="401">等待中</option> + </select> + </div> + <div class="col-sm-2"> + <#NameCon id="driverName" name="司机姓名" /> + </div> + </div> + <div class="col-sm-12"> + <#button name="搜索" icon="fa-search" clickFun="TOrder.search()"/> + <#button name="重置" icon="fa-trash" clickFun="TOrder.resetSearch()" space="true"/> + </div> + <div class="col-sm-12"> + <button type="button" class="btn btn-primary " onclick="TOrder.cancelOrder()" id="cancelOrder"> + <i class="fa "></i> 取消订单 + </button> + <button type="button" class="btn btn-primary " onclick="TOrder.tOrderException()" id="orderException"> + <i class="fa "></i> 异常 + </button> + <button type="button" class="btn btn-primary " onclick="TOrder.export()" id="export"> + <i class="fa "></i> 导出 + </button> </div> <div class="hidden-xs" id="TOrderTableToolbar" role="group"> @if(shiro.hasPermission("/tOrder/add")){ @@ -35,4 +83,12 @@ </div> </div> <script src="${ctxPath}/static/modular/system/tOrder/tOrder.js"></script> +<script src="${ctxPath}/static/modular/system/tOrder/tOrderException.js"></script> +<script type="text/javascript"> + laydate.render({ + elem: '#createTime', + type: 'date', + range: true + }); +</script> @} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderException.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderException.html new file mode 100644 index 0000000..4461826 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderException.html @@ -0,0 +1,80 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-title"> + <h5>异常</h5> + </div> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <div class="row"> + <div class="col-sm-2"> + <#TimeCon id="createTime" name="订单时间" /> + </div> + <div class="col-sm-2"> + <#NameCon id="code" name="订单编号" /> + </div> + <div class="col-sm-1"> + <select class="input-group" id="source" style="width: 120px;height: 33px" name="source"> + <option value="">请选择订单来源</option> + <option value="1">小程序</option> + <option value="2">司机创建</option> + </select> + </div> + <div class="col-sm-2"> + <#NameCon id="userName" name="下单用户昵称" /> + </div> + <div class="col-sm-2"> + <#NameCon id="userPhone" name="下单用户手机" /> + </div> + <div class="col-sm-1"> + <select class="input-group" id="state" style="width: 120px;height: 33px" name="state"> + <option value="">请选择订单状态</option> + <option value="101">待接单</option> + <option value="102">已接单</option> + <option value="103">前往预约点</option> + <option value="104">到达预约点</option> + <option value="105">开始服务</option> + <option value="106">到达目的地</option> + <option value="107">待支付</option> + <option value="108">待评价</option> + <option value="109">已完成</option> + <option value="201">转单中</option> + <option value="301">已取消</option> + <option value="401">等待中</option> + </select> + </div> + <div class="col-sm-2"> + <#NameCon id="driverName" name="司机姓名" /> + </div> + </div> + <div class="col-sm-12"> + <#button name="搜索" icon="fa-search" clickFun="TOrderException.search()"/> + <#button name="重置" icon="fa-trash" clickFun="TOrderException.resetSearch()" space="true"/> + </div> + <div class="col-sm-12"> + <button type="button" class="btn btn-primary " onclick="TOrderException.cancelOrder()" id="cancelOrder"> + <i class="fa "></i> 取消订单 + </button> + <button type="button" class="btn btn-primary " onclick="TOrderException.export()" id="export"> + <i class="fa "></i> 导出 + </button> + </div> + <#table id="TOrderExceptionTable"/> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tOrder/tOrderException.js"></script> +<script src="${ctxPath}/static/modular/system/tOrder/tOrder.js"></script> +<script type="text/javascript"> + laydate.render({ + elem: '#createTime', + type: 'date', + range: true + }); +</script> +@} diff --git a/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderStartAndStopException.html b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderStartAndStopException.html new file mode 100644 index 0000000..572d9d7 --- /dev/null +++ b/management/guns-admin/src/main/webapp/WEB-INF/view/system/tOrder/tOrderStartAndStopException.html @@ -0,0 +1,30 @@ +@layout("/common/_container.html"){ +<div class="row"> + <div class="col-sm-12"> + <div class="ibox float-e-margins"> + <div class="ibox-content"> + <div class="row row-lg"> + <div class="col-sm-12"> + <input hidden id="id" value="${id}"> + <input hidden id="status" value="${status}"> + <div class="col-lg-3"> + @if(status==1){ + 冻结理由:<textarea id="stopRemark" placeholder="请输入冻结理由" style="width: 681px; height: 249px;"></textarea> + @} + @if(status==2){ + 启用理由:<textarea id="startRemark" placeholder="请输入启用理由" style="width: 681px; height: 249px;"></textarea> + @} + </div> + <div class="hidden-xs" id="TAppUserTableToolbar" role="group" style="margin-left:300px"> + <#button name="取消" icon="fa-plus" clickFun="TOrderInfoDlg.closeException()" /> + <#button name="确定" icon="fa-plus" clickFun="TOrderException.updateStatus()"/> + </div> + </div> + </div> + </div> + </div> + </div> +</div> +<script src="${ctxPath}/static/modular/system/tOrder/tOrderException.js"></script> +<script src="${ctxPath}/static/modular/system/tOrder/tOrder_info.js"></script> +@} diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tCancelOrder/tCancelOrder.js b/management/guns-admin/src/main/webapp/static/modular/system/tCancelOrder/tCancelOrder.js new file mode 100644 index 0000000..97619c0 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tCancelOrder/tCancelOrder.js @@ -0,0 +1,103 @@ +/** + * 管理初始化 + */ +var TCancelOrder = { + id: "TCancelOrderTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TCancelOrder.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, + {title: '订单id', field: 'orderId', visible: true, align: 'center', valign: 'middle'}, + {title: '用户类型(1=用户,2=司机)', field: 'userType', visible: true, align: 'center', valign: 'middle'}, + {title: '用户id', field: 'userId', visible: true, align: 'center', valign: 'middle'}, + {title: '转单原因', field: 'cause', visible: true, align: 'center', valign: 'middle'}, + {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: true, align: 'center', valign: 'middle'}, + {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'} + ]; +}; + +/** + * 检查是否选中 + */ +TCancelOrder.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TCancelOrder.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加 + */ +TCancelOrder.openAddTCancelOrder = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tCancelOrder/tCancelOrder_add' + }); + this.layerIndex = index; +}; + +/** + * 打开查看详情 + */ +TCancelOrder.openTCancelOrderDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tCancelOrder/tCancelOrder_update/' + TCancelOrder.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 删除 + */ +TCancelOrder.delete = function () { + if (this.check()) { + var ajax = new $ax(Feng.ctxPath + "/tCancelOrder/delete", function (data) { + Feng.success("删除成功!"); + TCancelOrder.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); + }); + ajax.set("tCancelOrderId",this.seItem.id); + ajax.start(); + } +}; + +/** + * 查询列表 + */ +TCancelOrder.search = function () { + var queryData = {}; + queryData['condition'] = $("#condition").val(); + TCancelOrder.table.refresh({query: queryData}); +}; + +$(function () { + var defaultColunms = TCancelOrder.initColumn(); + var table = new BSTable(TCancelOrder.id, "/tCancelOrder/list", defaultColunms); + table.setPaginationType("client"); + TCancelOrder.table = table.init(); +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tCancelOrder/tCancelOrder_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tCancelOrder/tCancelOrder_info.js new file mode 100644 index 0000000..52c82f5 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tCancelOrder/tCancelOrder_info.js @@ -0,0 +1,99 @@ +/** + * 初始化详情对话框 + */ +var TCancelOrderInfoDlg = { + tCancelOrderInfoData : {} +}; + +/** + * 清除数据 + */ +TCancelOrderInfoDlg.clearData = function() { + this.tCancelOrderInfoData = {}; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TCancelOrderInfoDlg.set = function(key, val) { + this.tCancelOrderInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; + return this; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TCancelOrderInfoDlg.get = function(key) { + return $("#" + key).val(); +} + +/** + * 关闭此对话框 + */ +TCancelOrderInfoDlg.close = function() { + parent.layer.close(window.parent.TCancelOrder.layerIndex); +} + +/** + * 收集数据 + */ +TCancelOrderInfoDlg.collectData = function() { + this + .set('id') + .set('orderId') + .set('userType') + .set('userId') + .set('cause') + .set('status') + .set('createTime'); +} + +/** + * 提交添加 + */ +TCancelOrderInfoDlg.addSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tCancelOrder/add", function(data){ + Feng.success("添加成功!"); + window.parent.TCancelOrder.table.refresh(); + TCancelOrderInfoDlg.close(); + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tCancelOrderInfoData); + ajax.start(); +} + +/** + * 提交修改 + */ +TCancelOrderInfoDlg.editSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tCancelOrder/update", function(data){ + Feng.success("修改成功!"); + window.parent.TCancelOrder.table.refresh(); + TCancelOrderInfoDlg.close(); + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tCancelOrderInfoData); + ajax.start(); +} + +$(function() { + +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tEvaluate/tEvaluate.js b/management/guns-admin/src/main/webapp/static/modular/system/tEvaluate/tEvaluate.js new file mode 100644 index 0000000..ad138fe --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tEvaluate/tEvaluate.js @@ -0,0 +1,103 @@ +/** + * 管理初始化 + */ +var TEvaluate = { + id: "TEvaluateTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TEvaluate.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, + {title: '订单id', field: 'orderId', visible: true, align: 'center', valign: 'middle'}, + {title: '用户id', field: 'userId', visible: true, align: 'center', valign: 'middle'}, + {title: '评分', field: 'score', visible: true, align: 'center', valign: 'middle'}, + {title: '评价内容', field: 'evaluate', visible: true, align: 'center', valign: 'middle'}, + {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: true, align: 'center', valign: 'middle'}, + {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'} + ]; +}; + +/** + * 检查是否选中 + */ +TEvaluate.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TEvaluate.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加 + */ +TEvaluate.openAddTEvaluate = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tEvaluate/tEvaluate_add' + }); + this.layerIndex = index; +}; + +/** + * 打开查看详情 + */ +TEvaluate.openTEvaluateDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tEvaluate/tEvaluate_update/' + TEvaluate.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 删除 + */ +TEvaluate.delete = function () { + if (this.check()) { + var ajax = new $ax(Feng.ctxPath + "/tEvaluate/delete", function (data) { + Feng.success("删除成功!"); + TEvaluate.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); + }); + ajax.set("tEvaluateId",this.seItem.id); + ajax.start(); + } +}; + +/** + * 查询列表 + */ +TEvaluate.search = function () { + var queryData = {}; + queryData['condition'] = $("#condition").val(); + TEvaluate.table.refresh({query: queryData}); +}; + +$(function () { + var defaultColunms = TEvaluate.initColumn(); + var table = new BSTable(TEvaluate.id, "/tEvaluate/list", defaultColunms); + table.setPaginationType("client"); + TEvaluate.table = table.init(); +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tEvaluate/tEvaluate_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tEvaluate/tEvaluate_info.js new file mode 100644 index 0000000..4bb5a87 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tEvaluate/tEvaluate_info.js @@ -0,0 +1,99 @@ +/** + * 初始化详情对话框 + */ +var TEvaluateInfoDlg = { + tEvaluateInfoData : {} +}; + +/** + * 清除数据 + */ +TEvaluateInfoDlg.clearData = function() { + this.tEvaluateInfoData = {}; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TEvaluateInfoDlg.set = function(key, val) { + this.tEvaluateInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; + return this; +} + +/** + * 设置对话框中的数据 + * + * @param key 数据的名称 + * @param val 数据的具体值 + */ +TEvaluateInfoDlg.get = function(key) { + return $("#" + key).val(); +} + +/** + * 关闭此对话框 + */ +TEvaluateInfoDlg.close = function() { + parent.layer.close(window.parent.TEvaluate.layerIndex); +} + +/** + * 收集数据 + */ +TEvaluateInfoDlg.collectData = function() { + this + .set('id') + .set('orderId') + .set('userId') + .set('score') + .set('evaluate') + .set('status') + .set('createTime'); +} + +/** + * 提交添加 + */ +TEvaluateInfoDlg.addSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tEvaluate/add", function(data){ + Feng.success("添加成功!"); + window.parent.TEvaluate.table.refresh(); + TEvaluateInfoDlg.close(); + },function(data){ + Feng.error("添加失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tEvaluateInfoData); + ajax.start(); +} + +/** + * 提交修改 + */ +TEvaluateInfoDlg.editSubmit = function() { + + this.clearData(); + this.collectData(); + + //提交信息 + var ajax = new $ax(Feng.ctxPath + "/tEvaluate/update", function(data){ + Feng.success("修改成功!"); + window.parent.TEvaluate.table.refresh(); + TEvaluateInfoDlg.close(); + },function(data){ + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set(this.tEvaluateInfoData); + ajax.start(); +} + +$(function() { + +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tAppUser.js b/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tAppUser.js new file mode 100644 index 0000000..2c50279 --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tAppUser.js @@ -0,0 +1,281 @@ +/** + * 管理初始化 + */ +var TAppUser = { + id: "TAppUserTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TAppUser.initColumn = function () { + return [ + {field: 'selectItem', radio: false}, + {title: '用户ID', field: 'id', visible: true, align: 'center', valign: 'middle'}, + {title: '用户昵称', field: 'nickname', visible: true, align: 'center', valign: 'middle'}, + {title: '手机号', field: 'phone', visible: true, align: 'center', valign: 'middle'}, + {title: '性别', field: 'sex', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.sex === 1){ + return '<span>男</span>' + }else if (row.sex === 2){ + return '<span>女</span>' + }else { + return '<span>未知</span>' + } + } + }, + {title: '头像', field: 'avatar', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + return '<img src="'+row.avatar+'" style="height: 60px;width: 60px"/>' + } + }, + {title: '微信openid', field: 'openid', visible: true, align: 'center', valign: 'middle'}, + {title: '微信unionid', field: 'unionid', visible: true, align: 'center', valign: 'middle'}, + {title: '紧急联系人', field: 'emergencyContact', visible: true, align: 'center', valign: 'middle'}, + {title: '紧急联系电话', field: 'emergencyPhone', visible: true, align: 'center', valign: 'middle'}, + {title: '账户余额', field: 'accountBalance', visible: true, align: 'center', valign: 'middle'}, + {title: '用户标签id', field: 'userTagId', visible: true, align: 'center', valign: 'middle'}, + {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.status === 1){ + return '<span>正常</span>' + }else if (row.status === 2){ + return '<span>冻结</span>' + }else if (row.status === 3){ + return '<span>已删除</span>' + } + } + }, + {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, + // {title: '是否异常', field: 'isException', hidden:true, visible: true, align: 'center', valign: 'middle'}, + // {title: '启用冻结理由', field: 'remark', hidden:true,visible: true, align: 'center', valign: 'middle'}, + {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, + formatter: function (value, row) { + if (row.status === 1){ + return '<a href="#" onclick="TAppUser.stop('+row.id+','+row.status+')" style="color:red">停用</a>' +' ' + + '<a href="#" onclick="TAppUser.searchTAppUserDetail('+row.id+','+row.status+')" style="color:green">详情</a>' + }else if (row.status === 2){ + return '<a href="#" onclick="TAppUser.start('+row.id+','+row.status+')" style="color:green">启用</a>' +' ' + + '<a href="#" onclick="TAppUser.searchTAppUserDetail('+row.id+','+row.status+')" style="color:green">详情</a>' + } + } + } + ]; +}; + +/** + * 检查是否选中 + */ +TAppUser.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TAppUser.seItem = selected[0]; + return true; + } +}; + + +/** + * 用户信息导出 + */ +TAppUser.export=function(){ + var nickName=$("#nickName").val() + var status=$("#status").val() + var id=$("#id").val() + var createTime=$("#createTime").val() + var phone=$("#phone").val() + window.location.href=Feng.ctxPath + "/tAppUser/export-userInfo?nickname="+nickName + +"&status="+status + +"&id="+id + +"&createTime="+createTime + +"&phone="+phone + ; +} + + +/** + * 点击添加 + */ +TAppUser.openAddTAppUser = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tAppUser/tAppUser_add' + }); + this.layerIndex = index; +}; + + + +/** + * 停用 + */ +TAppUser.stop = function (id) { + var index = layer.open({ + type: 2, + title: '停用', + area: ['45%', '50%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tAppUser/tAppUser_start_and_stop?id='+id + }); + this.layerIndex = index; +}; + +/** + * 启动 + */ +TAppUser.start = function (id) { + var index = layer.open({ + type: 2, + title: '启用', + area: ['45%', '50%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tAppUser/tAppUser_start_and_stop?id='+id + }); + this.layerIndex = index; +}; + +/** + * 提交启用冻结 + */ +TAppUser.updateStatus = function () { + var ajax = new $ax(Feng.ctxPath + "/tAppUser/update-status", function (data) { + Feng.success("修改成功!"); + TAppUserInfoDlg.close(); + parent.TAppUser.table.refresh(); + }, function (data) { + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("id",$("#id").val()); + ajax.set("status",$("#status").val()); + if($("#status").val() == 1){ + ajax.set("remark",$("#stopRemark").val()); + } + if($("#status").val() == 2){ + ajax.set("remark",$("#startRemark").val()); + } + ajax.start(); +}; + +/** + * 打开查看详情 + */ +TAppUser.openTAppUserDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tAppUser/tAppUser_update/' + TAppUser.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 打开查看详情(使用中) + */ +TAppUser.searchTAppUserDetail = function (id) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tAppUser/userDetail?tAppUserId=' + id + }); + this.layerIndex = index; +}; + +/** + * 删除 + */ +TAppUser.delete = function () { + if (this.check()) { + var ajax = new $ax(Feng.ctxPath + "/tAppUser/delete", function (data) { + Feng.success("删除成功!"); + TAppUser.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); + }); + ajax.set("tAppUserId",this.seItem.id); + ajax.start(); + } +}; + +/** + * 查询异常列表 + */ +TAppUser.searchExceptionList = function () { + var queryData = {}; + queryData.status = 2; + TAppUser.table.refresh({query: queryData}); +}; + +/** + * 查询列表 + */ +TAppUser.search = function () { + var queryData = {}; + queryData.nickname = $("#nickName").val(); + queryData.phone = $("#phone").val(); + queryData.createTime = $("#createTime").val(); + queryData.id = $("#id").val(); + queryData.status = $("#status").val(); + TAppUser.table.refresh({query: queryData}); +}; + +/** + * 跳转优惠卷页面 + */ +TAppUser.searchCoupon = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + var data = []; + for (let i = 0; i < selected.length; i++) { + data[i] = selected[i].id; + } + if(this.check()){ + var index = layer.open({ + type: 2, + title: '赠送优惠券', + area: ['80%', '80%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tAppUser/sendCoupon?userIds=' + data + }); + this.layerIndex = index; + } +}; + +/** + * 重置 + */ +TAppUser.resetSearch = function (){ + $("#nickName").val(''); + $("#phone").val(''); + $("#createTime").val(''); + $("#id").val(''); + $("#status").val(''); + TAppUser.search(); +} + +$(function () { + var defaultColunms = TAppUser.initColumn(); + var table = new BSTable(TAppUser.id, "/tAppUser/list", defaultColunms); + table.setPaginationType("client"); + TAppUser.table = table.init(); +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tCancelOrder.js b/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tCancelOrder.js new file mode 100644 index 0000000..ac9cc8d --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tCancelOrder.js @@ -0,0 +1,167 @@ +/** + * 管理初始化 + */ +var TCancelOrder = { + id: "TCancelOrderTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TCancelOrder.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, + + {title: '下单时间', field: 'placeTime', visible: true, align: 'center', valign: 'middle'}, + {title: '订单编号', field: 'code', visible: true, align: 'center', valign: 'middle'}, + {title: '订单来源', field: 'source', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.source === 1){ + return '<span>小程序</span>' + }else if (row.source === 2){ + return '<span>司机创建</span>' + } + }}, + {title: '下单用户昵称', field: 'userName', visible: true, align: 'center', valign: 'middle'}, + {title: '下单用户手机', field: 'userPhone', visible: true, align: 'center', valign: 'middle'}, + {title: '起点地址', field: 'startAddress', visible: true, align: 'center', valign: 'middle'}, + {title: '终点地址', field: 'endAddress', visible: true, align: 'center', valign: 'middle'}, + {title: '接单司机', field: 'driverName', visible: true, align: 'center', valign: 'middle'}, + {title: '司机电话', field: 'driverPhone', visible: true, align: 'center', valign: 'middle'}, + + {title: '订单id', field: 'orderId', visible: false, align: 'center', valign: 'middle'}, + {title: '用户类型(1=用户,2=司机)', field: 'userType', visible: false, align: 'center', valign: 'middle'}, + {title: '用户id', field: 'userId', visible: false, align: 'center', valign: 'middle'}, + {title: '转单原因', field: 'cause', visible: true, align: 'center', valign: 'middle'}, + {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: false, align: 'center', valign: 'middle'}, + {title: '取消时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, + {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, + formatter: function (value, row) { + return '<a href="#" onclick="TCancelOrder.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' + } + } + ]; +}; + +/** + * 检查是否选中 + */ +TCancelOrder.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TCancelOrder.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加 + */ +TCancelOrder.openAddTCancelOrder = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tCancelOrder/tCancelOrder_add' + }); + this.layerIndex = index; +}; + +/** + * 打开查看详情 + */ +TCancelOrder.openTCancelOrderDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tCancelOrder/tCancelOrder_update/' + TCancelOrder.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 删除 + */ +TCancelOrder.delete = function () { + if (this.check()) { + var ajax = new $ax(Feng.ctxPath + "/tCancelOrder/delete", function (data) { + Feng.success("删除成功!"); + TCancelOrder.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); + }); + ajax.set("tCancelOrderId",this.seItem.id); + ajax.start(); + } +}; + +/** + * 取消订单信息导出 + */ +TCancelOrder.export=function(){ + var createTime=$("#createTime").val() + var code=$("#code").val() + var source=$("#source").val() + var userName=$("#userName").val() + var userPhone=$("#userPhone").val() + var state=$("#state").val() + var driverName=$("#driverName").val() + window.location.href=Feng.ctxPath + "/tCancelOrder/export?createTime="+createTime + +"&code="+code + +"&source="+source + +"&userName="+userName + +"&userPhone="+userPhone + +"&state="+state + +"&driverName="+driverName + ; +} + +/** + * 查询列表 + */ +TCancelOrder.search = function () { + var queryData = {}; + queryData['createTime'] = $("#createTime").val(); + queryData['code'] = $("#code").val(); + queryData['source'] = $("#source").val(); + queryData['userName'] = $("#userName").val(); + queryData['userPhone'] = $("#userPhone").val(); + queryData['state'] = $("#state").val(); + queryData['driverName'] = $("#driverName").val(); + TCancelOrder.table.refresh({query: queryData}); +}; + +/** + * 重置 + */ +TCancelOrder.resetSearch = function (){ + $("#createTime").val(''); + $("#code").val(''); + $("#source").val(''); + $("#userName").val(''); + $("#userPhone").val(''); + $("#state").val(''); + $("#driverName").val(''); + TCancelOrder.search(); +} + +$(function () { + var defaultColunms = TCancelOrder.initColumn(); + var table = new BSTable(TCancelOrder.id, "/tCancelOrder/cancelOrderList", defaultColunms); + table.setPaginationType("client"); + TCancelOrder.table = table.init(); +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder.js b/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder.js index 3dc9fae..33033c4 100644 --- a/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder.js +++ b/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder.js @@ -14,32 +14,76 @@ TOrder.initColumn = function () { return [ {field: 'selectItem', radio: true}, - {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, - {title: '编号', field: 'code', visible: true, align: 'center', valign: 'middle'}, - {title: '用户id', field: 'userId', visible: true, align: 'center', valign: 'middle'}, - {title: '司机id', field: 'driverId', visible: true, align: 'center', valign: 'middle'}, - {title: '订单来源(1=小程序)', field: 'source', visible: true, align: 'center', valign: 'middle'}, - {title: '代理商id', field: 'agentId', visible: true, align: 'center', valign: 'middle'}, - {title: '分公司id', field: 'branchOfficeId', visible: true, align: 'center', valign: 'middle'}, - {title: '开始服务时间', field: 'startTime', visible: true, align: 'center', valign: 'middle'}, - {title: '起点地址', field: 'startAddress', visible: true, align: 'center', valign: 'middle'}, - {title: '起点纬度', field: 'startLat', visible: true, align: 'center', valign: 'middle'}, - {title: '起点经度', field: 'startLng', visible: true, align: 'center', valign: 'middle'}, - {title: '终点地址', field: 'endAddress', visible: true, align: 'center', valign: 'middle'}, - {title: '终点纬度', field: 'endLat', visible: true, align: 'center', valign: 'middle'}, - {title: '终点经度', field: 'endLng', visible: true, align: 'center', valign: 'middle'}, - {title: '上车时间', field: 'boardingTime', visible: true, align: 'center', valign: 'middle'}, - {title: '下车时间', field: 'getoffTime', visible: true, align: 'center', valign: 'middle'}, - {title: '预估价', field: 'estimatedPrice', visible: true, align: 'center', valign: 'middle'}, - {title: '订单金额', field: 'orderMoney', visible: true, align: 'center', valign: 'middle'}, - {title: '支付金额', field: 'payMoney', visible: true, align: 'center', valign: 'middle'}, - {title: '优惠金额', field: 'discountedPrice', visible: true, align: 'center', valign: 'middle'}, - {title: '优惠券id', field: 'couponId', visible: true, align: 'center', valign: 'middle'}, - {title: '支付类型(1=线上)', field: 'payType', visible: true, align: 'center', valign: 'middle'}, - {title: '支付时间', field: 'payTime', visible: true, align: 'center', valign: 'middle'}, - {title: '订单状态(1=待接单,2=已接单,3=)', field: 'state', visible: true, align: 'center', valign: 'middle'}, - {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: true, align: 'center', valign: 'middle'}, - {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'} + {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'}, + {title: '下单时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, + {title: '订单编号', field: 'code', visible: true, align: 'center', valign: 'middle'}, + {title: '订单来源', field: 'source', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.source === 1){ + return '<span>小程序</span>' + }else if (row.source === 2){ + return '<span>司机创建</span>' + } + }}, + {title: '开始服务时间', field: 'startTime', visible: true, align: 'center', valign: 'middle'}, + {title: '用户id', field: 'userId', visible: false, align: 'center', valign: 'middle'}, + {title: '下单用户昵称', field: 'userName', visible: true, align: 'center', valign: 'middle'}, + {title: '下单用户手机', field: 'userPhone', visible: true, align: 'center', valign: 'middle'}, + {title: '起点地址', field: 'startAddress', visible: true, align: 'center', valign: 'middle'}, + {title: '起点纬度', field: 'startLat', visible: false, align: 'center', valign: 'middle'}, + {title: '起点经度', field: 'startLng', visible: false, align: 'center', valign: 'middle'}, + {title: '终点地址', field: 'endAddress', visible: true, align: 'center', valign: 'middle'}, + {title: '终点纬度', field: 'endLat', visible: false, align: 'center', valign: 'middle'}, + {title: '终点经度', field: 'endLng', visible: false, align: 'center', valign: 'middle'}, + {title: '司机id', field: 'driverId', visible: false, align: 'center', valign: 'middle'}, + {title: '接单司机', field: 'driverName', visible: true, align: 'center', valign: 'middle'}, + {title: '司机电话', field: 'driverPhone', visible: true, align: 'center', valign: 'middle'}, + {title: '预估价', field: 'estimatedPrice', visible: true, align: 'center', valign: 'middle'}, + {title: '代理商id', field: 'agentId', visible: false, align: 'center', valign: 'middle'}, + {title: '分公司id', field: 'branchOfficeId', visible: false, align: 'center', valign: 'middle'}, + {title: '上车时间', field: 'boardingTime', visible: false, align: 'center', valign: 'middle'}, + {title: '下车时间', field: 'getoffTime', visible: false, align: 'center', valign: 'middle'}, + {title: '订单金额', field: 'orderMoney', visible: false, align: 'center', valign: 'middle'}, + {title: '支付金额', field: 'payMoney', visible: false, align: 'center', valign: 'middle'}, + {title: '优惠金额', field: 'discountedPrice', visible: false, align: 'center', valign: 'middle'}, + {title: '优惠券id', field: 'couponId', visible: false, align: 'center', valign: 'middle'}, + {title: '支付类型', field: 'payType', visible: false, align: 'center', valign: 'middle'}, + {title: '支付时间', field: 'payTime', visible: false, align: 'center', valign: 'middle'}, + {title: '取消次数', field: 'cancelCount', visible: true, align: 'center', valign: 'middle'}, + {title: '订单状态', field: 'state', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.state === 101){ + return '<span>待接单</span>' + }else if (row.state === 102){ + return '<span>已接单</span>' + }else if (row.state === 103){ + return '<span>前往预约点</span>' + }else if (row.state === 104){ + return '<span>到达预约点</span>' + }else if (row.state === 105){ + return '<span>开始服务</span>' + }else if (row.state === 106){ + return '<span>到达目的地</span>' + }else if (row.state === 107){ + return '<span>待支付</span>' + }else if (row.state === 108){ + return '<span>待评价</span>' + }else if (row.state === 109){ + return '<span>已完成</span>' + }else if (row.state === 201){ + return '<span>转单中</span>' + }else if (row.state === 301){ + return '<span>已取消</span>' + }else if (row.state === 401){ + return '<span>等待中</span>' + } + }}, + {title: '状态', field: 'status', visible: false, align: 'center', valign: 'middle'}, + {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, + formatter: function (value, row) { + return '<a href="#" onclick="TOrder.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' + } + } ]; }; @@ -106,17 +150,88 @@ }; /** + * 订单信息导出 + */ +TOrder.export=function(){ + var createTime=$("#createTime").val() + var code=$("#code").val() + var source=$("#source").val() + var userName=$("#userName").val() + var userPhone=$("#userPhone").val() + var state=$("#state").val() + var driverName=$("#driverName").val() + window.location.href=Feng.ctxPath + "/tOrder/export?createTime="+createTime + +"&code="+code + +"&source="+source + +"&userName="+userName + +"&userPhone="+userPhone + +"&state="+state + +"&driverName="+driverName + ; +} + +/** + * 订单异常页面 + */ +TOrder.tOrderException = function () { + var index = layer.open({ + type: 2, + title: '异常', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tOrder/tOrder-exception' + }); + this.layerIndex = index; +}; + +/** + * 取消订单页面 + */ +TOrder.cancelOrder = function () { + var index = layer.open({ + type: 2, + title: '取消订单', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tOrder/cancelOrder' + }); + this.layerIndex = index; +}; + +/** * 查询列表 */ TOrder.search = function () { var queryData = {}; - queryData['condition'] = $("#condition").val(); + queryData['createTime'] = $("#createTime").val(); + queryData['code'] = $("#code").val(); + queryData['source'] = $("#source").val(); + queryData['userName'] = $("#userName").val(); + queryData['userPhone'] = $("#userPhone").val(); + queryData['state'] = $("#state").val(); + queryData['driverName'] = $("#driverName").val(); TOrder.table.refresh({query: queryData}); }; +/** + * 重置 + */ +TOrder.resetSearch = function (){ + $("#createTime").val(''); + $("#code").val(''); + $("#source").val(''); + $("#userName").val(''); + $("#userPhone").val(''); + $("#state").val(''); + $("#driverName").val(''); + TOrder.search(); +} + $(function () { var defaultColunms = TOrder.initColumn(); - var table = new BSTable(TOrder.id, "/tOrder/list", defaultColunms); + var table = new BSTable(TOrder.id, "/tOrder/orderList", defaultColunms); table.setPaginationType("client"); TOrder.table = table.init(); }); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrderException.js b/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrderException.js new file mode 100644 index 0000000..e2ed33a --- /dev/null +++ b/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrderException.js @@ -0,0 +1,280 @@ +/** + * 管理初始化 + */ +var TOrderException = { + id: "TOrderExceptionTable", //表格id + seItem: null, //选中的条目 + table: null, + layerIndex: -1 +}; + +/** + * 初始化表格的列 + */ +TOrderException.initColumn = function () { + return [ + {field: 'selectItem', radio: true}, + {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'}, + {title: '下单时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, + {title: '订单编号', field: 'code', visible: true, align: 'center', valign: 'middle'}, + {title: '订单来源', field: 'source', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.source === 1){ + return '<span>小程序</span>' + }else if (row.source === 2){ + return '<span>司机创建</span>' + } + }}, + {title: '开始服务时间', field: 'startTime', visible: true, align: 'center', valign: 'middle'}, + {title: '用户id', field: 'userId', visible: false, align: 'center', valign: 'middle'}, + {title: '下单用户昵称', field: 'userName', visible: true, align: 'center', valign: 'middle'}, + {title: '下单用户手机', field: 'userPhone', visible: true, align: 'center', valign: 'middle'}, + {title: '起点地址', field: 'startAddress', visible: true, align: 'center', valign: 'middle'}, + {title: '起点纬度', field: 'startLat', visible: false, align: 'center', valign: 'middle'}, + {title: '起点经度', field: 'startLng', visible: false, align: 'center', valign: 'middle'}, + {title: '终点地址', field: 'endAddress', visible: true, align: 'center', valign: 'middle'}, + {title: '终点纬度', field: 'endLat', visible: false, align: 'center', valign: 'middle'}, + {title: '终点经度', field: 'endLng', visible: false, align: 'center', valign: 'middle'}, + {title: '司机id', field: 'driverId', visible: false, align: 'center', valign: 'middle'}, + {title: '接单司机', field: 'driverName', visible: true, align: 'center', valign: 'middle'}, + {title: '司机电话', field: 'driverPhone', visible: true, align: 'center', valign: 'middle'}, + {title: '预估价', field: 'estimatedPrice', visible: true, align: 'center', valign: 'middle'}, + {title: '代理商id', field: 'agentId', visible: false, align: 'center', valign: 'middle'}, + {title: '分公司id', field: 'branchOfficeId', visible: false, align: 'center', valign: 'middle'}, + {title: '上车时间', field: 'boardingTime', visible: false, align: 'center', valign: 'middle'}, + {title: '下车时间', field: 'getoffTime', visible: false, align: 'center', valign: 'middle'}, + {title: '订单金额', field: 'orderMoney', visible: false, align: 'center', valign: 'middle'}, + {title: '支付金额', field: 'payMoney', visible: false, align: 'center', valign: 'middle'}, + {title: '优惠金额', field: 'discountedPrice', visible: false, align: 'center', valign: 'middle'}, + {title: '优惠券id', field: 'couponId', visible: false, align: 'center', valign: 'middle'}, + {title: '支付类型', field: 'payType', visible: false, align: 'center', valign: 'middle'}, + {title: '支付时间', field: 'payTime', visible: false, align: 'center', valign: 'middle'}, + {title: '取消次数', field: 'cancelCount', visible: true, align: 'center', valign: 'middle'}, + {title: '订单状态', field: 'state', visible: true, align: 'center', valign: 'middle', + formatter: function (value, row) { + if (row.state === 101){ + return '<span>待接单</span>' + }else if (row.state === 102){ + return '<span>已接单</span>' + }else if (row.state === 103){ + return '<span>前往预约点</span>' + }else if (row.state === 104){ + return '<span>到达预约点</span>' + }else if (row.state === 105){ + return '<span>开始服务</span>' + }else if (row.state === 106){ + return '<span>到达目的地</span>' + }else if (row.state === 107){ + return '<span>待支付</span>' + }else if (row.state === 108){ + return '<span>待评价</span>' + }else if (row.state === 109){ + return '<span>已完成</span>' + }else if (row.state === 201){ + return '<span>转单中</span>' + }else if (row.state === 301){ + return '<span>已取消</span>' + }else if (row.state === 401){ + return '<span>等待中</span>' + } + }}, + {title: '状态', field: 'status', visible: false, align: 'center', valign: 'middle'}, + {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, + formatter: function (value, row) { + if (row.userStatus === 1){ + return '<a href="#" onclick="TOrderException.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' +' ' + + '<a href="#" onclick="TOrderException.stop('+row.id+','+row.status+')" style="color:red">冻结</a>' + }else if (row.userStatus === 2){ + return '<a href="#" onclick="TOrderException.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' +' ' + + '<a href="#" onclick="TOrderException.start('+row.id+','+row.status+')" style="color:green">启用</a>' + } + } + } + ]; +}; + +/** + * 检查是否选中 + */ +TOrderException.check = function () { + var selected = $('#' + this.id).bootstrapTable('getSelections'); + if(selected.length == 0){ + Feng.info("请先选中表格中的某一记录!"); + return false; + }else{ + TOrderException.seItem = selected[0]; + return true; + } +}; + +/** + * 点击添加 + */ +TOrderException.openAddTOrder = function () { + var index = layer.open({ + type: 2, + title: '添加', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tOrder/tOrder_add' + }); + this.layerIndex = index; +}; + +/** + * 打开查看详情 + */ +TOrderException.openTOrderDetail = function () { + if (this.check()) { + var index = layer.open({ + type: 2, + title: '详情', + area: ['800px', '420px'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tOrder/tOrder_update/' + TOrderException.seItem.id + }); + this.layerIndex = index; + } +}; + +/** + * 删除 + */ +TOrderException.delete = function () { + if (this.check()) { + var ajax = new $ax(Feng.ctxPath + "/tOrder/delete", function (data) { + Feng.success("删除成功!"); + TOrderException.table.refresh(); + }, function (data) { + Feng.error("删除失败!" + data.responseJSON.message + "!"); + }); + ajax.set("tOrderId",this.seItem.id); + ajax.start(); + } +}; + +/** + * 司机信息导出 + */ +TOrderException.export=function(){ + var createTime=$("#createTime").val() + var code=$("#code").val() + var source=$("#source").val() + var userName=$("#userName").val() + var userPhone=$("#userPhone").val() + var state=$("#state").val() + var driverName=$("#driverName").val() + window.location.href=Feng.ctxPath + "/tOrder/export-exception?createTime="+createTime + +"&code="+code + +"&source="+source + +"&userName="+userName + +"&userPhone="+userPhone + +"&state="+state + +"&driverName="+driverName + ; +} + +/** + * 停用 + */ +TOrderException.stop = function (id) { + var index = layer.open({ + type: 2, + title: '停用', + area: ['45%', '50%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tOrder/tOrderException_start_and_stop?id='+id + }); + this.layerIndex = index; +}; + +/** + * 启动 + */ +TOrderException.start = function (id) { + var index = layer.open({ + type: 2, + title: '启用', + area: ['45%', '50%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tOrder/tOrderException_start_and_stop?id='+id + }); + this.layerIndex = index; +}; + +/** + * 提交启用冻结 + */ +TOrderException.updateStatus = function () { + var ajax = new $ax(Feng.ctxPath + "/tAppUser/update-status", function (data) { + Feng.success("修改成功!"); + TOrderInfoDlg.closeException(); + parent.TOrderException.table.refresh(); + }, function (data) { + Feng.error("修改失败!" + data.responseJSON.message + "!"); + }); + ajax.set("id",$("#id").val()); + ajax.set("status",$("#status").val()); + if($("#status").val() == 1){ + ajax.set("remark",$("#stopRemark").val()); + } + if($("#status").val() == 2){ + ajax.set("remark",$("#startRemark").val()); + } + ajax.start(); +}; + +/** + * 取消订单页面 + */ +TOrderException.cancelOrder = function () { + var index = layer.open({ + type: 2, + title: '取消订单', + area: ['100%', '100%'], //宽高 + fix: false, //不固定 + maxmin: true, + content: Feng.ctxPath + '/tOrder/cancelOrder' + }); + this.layerIndex = index; +}; + +/** + * 查询列表 + */ +TOrderException.search = function () { + var queryData = {}; + queryData['createTime'] = $("#createTime").val(); + queryData['code'] = $("#code").val(); + queryData['source'] = $("#source").val(); + queryData['userName'] = $("#userName").val(); + queryData['userPhone'] = $("#userPhone").val(); + queryData['state'] = $("#state").val(); + queryData['driverName'] = $("#driverName").val(); + TOrderException.table.refresh({query: queryData}); +}; + +/** + * 重置 + */ +TOrderException.resetSearch = function (){ + $("#createTime").val(''); + $("#code").val(''); + $("#source").val(''); + $("#userName").val(''); + $("#userPhone").val(''); + $("#state").val(''); + $("#driverName").val(''); + TOrderException.search(); +} + +$(function () { + var defaultColunms = TOrderException.initColumn(); + var table = new BSTable(TOrderException.id, "/tOrder/orderExceptionList", defaultColunms); + table.setPaginationType("client"); + TOrderException.table = table.init(); +}); diff --git a/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder_info.js b/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder_info.js index fe13585..9117794 100644 --- a/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder_info.js +++ b/management/guns-admin/src/main/webapp/static/modular/system/tOrder/tOrder_info.js @@ -41,6 +41,13 @@ } /** + * 关闭此对话框 + */ +TOrderInfoDlg.closeException = function() { + parent.layer.close(window.parent.TOrderException.layerIndex); +} + +/** * 收集数据 */ TOrderInfoDlg.collectData = function() { -- Gitblit v1.7.1