Merge remote-tracking branch 'origin/master'
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.modular.system.model.THtml; |
| | | import com.stylefeng.guns.modular.system.service.ITHtmlService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | | |
| | | /** |
| | | * 数据统计 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-24 10:50:08 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/dataStatistics") |
| | | public class DataStatisticsController extends BaseController { |
| | | |
| | | @Autowired |
| | | private ITHtmlService tHtmlService; |
| | | |
| | | /** |
| | | * 代理商统计 |
| | | */ |
| | | @RequestMapping(value = "/agentData") |
| | | @ResponseBody |
| | | public Object list(String condition) { |
| | | return tHtmlService.selectList(null); |
| | | } |
| | | |
| | | } |
| | |
| | | DateFormat format = new SimpleDateFormat("yyyyMMdd"); |
| | | String time1 = format.format(date); |
| | | String fileName = "Agent"+time1+".xls"; |
| | | String[] title = new String[] {"时间","姓名","联系电话","代理区域","订单数量", |
| | | String[] title = new String[] {"时间","姓名","联系电话","代理区域","客服电话","订单数量", |
| | | "有效订单","已发放优惠券","已使用优惠券","累计优惠券金额","司机充值","司机数","状态"}; |
| | | EntityWrapper<TAgent> wrapper = tAgentService.getAgentWrapper(principal,principalPhone,createTime); |
| | | // 是否异常 |
| | |
| | | values[i][1] = d.getPrincipal(); |
| | | values[i][2] = d.getPrincipalPhone(); |
| | | values[i][3] = d.getProvinceName()+d.getCityName(); |
| | | values[i][4] = String.valueOf(d.getOrderSum()); |
| | | values[i][5] = String.valueOf(d.getValidOrder()); |
| | | values[i][6] = String.valueOf(d.getIssuedCoupon()); |
| | | values[i][7] = String.valueOf(d.getUsedCoupon()); |
| | | values[i][8] = String.valueOf(d.getCouponPriceSum()); |
| | | values[i][9] = String.valueOf(d.getDriverRecharge() == null ? "0":d.getDriverRecharge()); |
| | | values[i][10] = String.valueOf(d.getDriverCount()); |
| | | values[i][4] = StringUtils.hasLength(d.getServiceCalls())?d.getServiceCalls():""; |
| | | values[i][5] = String.valueOf(d.getOrderSum()); |
| | | values[i][6] = String.valueOf(d.getValidOrder()); |
| | | values[i][7] = String.valueOf(d.getIssuedCoupon()); |
| | | values[i][8] = String.valueOf(d.getUsedCoupon()); |
| | | values[i][9] = String.valueOf(d.getCouponPriceSum()); |
| | | values[i][10] = String.valueOf(d.getDriverRecharge() == null ? "0":d.getDriverRecharge()); |
| | | values[i][11] = String.valueOf(d.getDriverCount()); |
| | | Integer status1 = d.getStatus(); |
| | | if(1 == status1){ |
| | | values[i][11] = "正常"; |
| | | values[i][12] = "正常"; |
| | | }else if(2 == status1){ |
| | | values[i][11] = "冻结"; |
| | | values[i][12] = "冻结"; |
| | | }else { |
| | | values[i][11] = "删除"; |
| | | values[i][12] = "删除"; |
| | | } |
| | | } |
| | | HSSFWorkbook wb = ExcelUtil.getHSSFWorkbook("Variance"+time1, title, values, null); |
| | |
| | | // 是否异常 |
| | | wrapper.eq("is_exception",2); |
| | | List<TAppUser> tAppUsers = tAppUserService.selectList(wrapper); |
| | | List<TAppUserResp> tAppUserRespList = new ArrayList<>(tAppUsers.size()); |
| | | for (TAppUser tAppUser : tAppUsers) { |
| | | TAppUserResp tAppUserResp = new TAppUserResp(); |
| | | BeanUtils.copyProperties(tAppUser,tAppUserResp); |
| | | |
| | | // 查询当前用户优惠券数量 |
| | | List<TUserToCoupon> tUserToCoupons = tUserToCouponService.selectList(new EntityWrapper<TUserToCoupon>().eq("userId", tAppUser.getId())); |
| | | |
| | | int couponTotal = tUserToCoupons.stream().mapToInt(TUserToCoupon::getCouponTotal).sum(); |
| | | int validCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum(); |
| | | |
| | | // List<TCoupon> tCoupons = tCouponService.selectList(new EntityWrapper<TCoupon>().eq("user_id", tAppUser.getId())); |
| | | // List<TCoupon> notUsedList = tCoupons.stream().filter(coupon -> coupon.getCouponStatus().equals(CouponStatusEnum.NOT_USED.getCode())).collect(Collectors.toList()); |
| | | tAppUserResp.setCouponSum(couponTotal); |
| | | tAppUserResp.setNotUsedCount(validCount); |
| | | List<TOrder> orders = tOrderService.selectList(new EntityWrapper<TOrder>().eq("userId", tAppUser.getId()).orderBy(true,"createTime",false)); |
| | | if(!CollectionUtils.isEmpty(orders)){ |
| | | List<TOrder> collect1 = orders.stream().filter(order->Objects.nonNull(order.getState())) |
| | | .filter(order -> OrderStateEnum.WAIT_EVALUATED.getCode() == order.getState() || |
| | | OrderStateEnum.FINISH.getCode() == order.getState()).collect(Collectors.toList()); |
| | | if(!CollectionUtils.isEmpty(collect1)) { |
| | | tAppUserResp.setConsumeSum(collect1.size()); |
| | | // 总消费金额 |
| | | collect1.stream().map(TOrder::getPayMoney).reduce(BigDecimal::add) |
| | | .ifPresent(tAppUserResp::setConsumePrice); |
| | | } |
| | | } |
| | | tAppUserRespList.add(tAppUserResp); |
| | | } |
| | | return tAppUserRespList; |
| | | return tAppUserService.getTAppUserResp(tAppUsers); |
| | | } |
| | | |
| | | |
| | |
| | | for (int i = 0; i < list.size(); i++) { |
| | | TAppUser d = list.get(i); |
| | | values[i] = new String[title.length]; |
| | | values[i][0] = d.getId().toString(); |
| | | values[i][0] = String.valueOf(d.getId()); |
| | | values[i][1] = d.getNickname(); |
| | | values[i][2] = d.getPhone(); |
| | | Integer sex = d.getSex(); |
| | | if(1 == sex){ |
| | | values[i][3] = "男"; |
| | | }else if(2 == sex){ |
| | | values[i][3] = "女"; |
| | | if(Objects.nonNull(sex)){ |
| | | if(1 == sex){ |
| | | values[i][3] = "男"; |
| | | }else if(2 == sex){ |
| | | values[i][3] = "女"; |
| | | } |
| | | }else { |
| | | values[i][3] = "未知"; |
| | | } |
| | |
| | | values[i][6] = d.getUnionid(); |
| | | values[i][7] = d.getEmergencyContact(); |
| | | values[i][8] = d.getEmergencyPhone(); |
| | | values[i][9] = d.getAccountBalance().toString(); |
| | | values[i][10] = d.getUserTagId().toString(); |
| | | values[i][9] = String.valueOf(d.getAccountBalance()); |
| | | values[i][10] = String.valueOf(d.getUserTagId()); |
| | | Integer status1 = d.getStatus(); |
| | | if(1 == status1){ |
| | | values[i][11] = "正常"; |
| | |
| | | wrapper.eq("is_exception",2); |
| | | List<TAppUser> list = tAppUserService.selectList(wrapper); |
| | | |
| | | List<TAppUserExceptionExport> exportList = new ArrayList<>(list.size()); |
| | | /*List<TAppUserExceptionExport> exportList = new ArrayList<>(list.size()); |
| | | for (TAppUser tAppUser : list) { |
| | | TAppUserExceptionExport export = new TAppUserExceptionExport(); |
| | | BeanUtils.copyProperties(tAppUser,export); |
| | |
| | | tCoupons = tCoupons.stream().filter(coupon->coupon.getCouponStatus().equals(CouponStatusEnum.NOT_USED.getCode())).collect(Collectors.toList()); |
| | | // 剩余优惠券 |
| | | export.setRemainingCoupons(tCoupons.size()); |
| | | // TODO 查询消费记录 |
| | | // 查询消费记录 |
| | | exportList.add(export); |
| | | }*/ |
| | | List<TAppUserResp> tAppUserRespList = tAppUserService.getTAppUserResp(list); |
| | | List<TAppUserExceptionExport> exportList = new ArrayList<>(list.size()); |
| | | for (TAppUserResp tAppUserResp : tAppUserRespList) { |
| | | TAppUserExceptionExport export = new TAppUserExceptionExport(); |
| | | BeanUtils.copyProperties(tAppUserResp,export); |
| | | // 优惠券总数 |
| | | export.setCouponsSum(tAppUserResp.getCouponSum()); |
| | | // 剩余优惠券 |
| | | export.setRemainingCoupons(tAppUserResp.getNotUsedCount()); |
| | | export.setConsumptionTimes(tAppUserResp.getConsumeSum()); |
| | | export.setHistoricalConsumption(tAppUserResp.getConsumePrice()); |
| | | export.setLastConsumptionTime(tAppUserResp.getLastConsumptionTime()); |
| | | exportList.add(export); |
| | | } |
| | | String[][] values = new String[list.size()][]; |
| | |
| | | values[i][1] = d.getId().toString(); |
| | | values[i][2] = d.getNickname(); |
| | | values[i][3] = d.getPhone(); |
| | | values[i][4] = d.getRemainingCoupons().toString(); |
| | | values[i][5] = d.getCouponsSum().toString(); |
| | | values[i][6] = d.getConsumptionTimes().toString(); |
| | | values[i][7] = d.getHistoricalConsumption().toString(); |
| | | values[i][4] = String.valueOf(d.getRemainingCoupons()); |
| | | values[i][5] = String.valueOf(d.getCouponsSum()); |
| | | values[i][6] = String.valueOf(Objects.nonNull(d.getConsumptionTimes())?d.getConsumptionTimes():0); |
| | | values[i][7] = String.valueOf(Objects.nonNull(d.getHistoricalConsumption())?d.getHistoricalConsumption():0); |
| | | if(Objects.nonNull(d.getLastConsumptionTime())){ |
| | | values[i][8] = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(d.getLastConsumptionTime()); |
| | | }else { |
| | |
| | | import com.stylefeng.guns.modular.system.controller.util.ExcelUtil; |
| | | import com.stylefeng.guns.modular.system.enums.TBillStateEnum; |
| | | import com.stylefeng.guns.modular.system.model.TDriver; |
| | | import com.stylefeng.guns.modular.system.model.TOrder; |
| | | 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.stereotype.Controller; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.util.StringUtils; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | |
| | | |
| | | @Autowired |
| | | private ITBillService tBillService; |
| | | @Autowired |
| | | private ITOrderService tOrderService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String createTime,String addresseePhone,Integer state,Integer billType,Integer billHeaderType) { |
| | | EntityWrapper<TBill> wrapper = tBillService.getPageListWrapper(createTime,addresseePhone,state,billType,billHeaderType); |
| | | return tBillService.selectList(wrapper); |
| | | // EntityWrapper<TBill> wrapper = tBillService.getPageListWrapper(createTime,addresseePhone,state,billType,billHeaderType); |
| | | // return tBillService.selectList(wrapper); |
| | | return tBillService.getPageList(createTime,addresseePhone,state,billType,billHeaderType); |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | * 确认通过发票 |
| | | */ |
| | | @RequestMapping(value = "/confirm") |
| | | @ResponseBody |
| | |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | * 开通发票失败 |
| | | */ |
| | | @RequestMapping(value = "/cancel") |
| | | @ResponseBody |
| | |
| | | TBill tBill = tBillService.selectById(tBillId); |
| | | tBill.setState(TBillStateEnum.FAIL_BILL.getCode()); |
| | | tBillService.updateById(tBill); |
| | | TOrder tOrder = tOrderService.selectById(tBill.getOrderId()); |
| | | if(Objects.nonNull(tOrder)){ |
| | | tOrder.setIsInvoice(0); |
| | | tOrderService.updateById(tOrder); |
| | | } |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | |
| | | |
| | | 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.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.TSystemBulletin; |
| | |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TBroadcast tBroadcast) { |
| | | Boolean exit = tBroadcastService.isExit(tBroadcast.getId(), tBroadcast.getSort()); |
| | | if(exit){ |
| | | return new SuccessTip(500,"该排序已存在!"); |
| | | } |
| | | tBroadcast.setStatus(StatusEnum.NORMAL.getCode()); |
| | | tBroadcast.setCreateTime(new Date()); |
| | | tBroadcastService.insert(tBroadcast); |
| | | return SUCCESS_TIP; |
| | | } |
| | |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tBroadcastId) { |
| | | TBroadcast tBroadcast = tBroadcastService.selectById(tBroadcastId); |
| | | if(1 == tBroadcast.getUpDown()){ |
| | | return new SuccessTip(500,"上架中的广播不可删除!"); |
| | | } |
| | | tBroadcast.setStatus(StatusEnum.DELETE.getCode()); |
| | | tBroadcastService.updateById(tBroadcast); |
| | | return SUCCESS_TIP; |
| | |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TBroadcast tBroadcast) { |
| | | Boolean exit = tBroadcastService.isExit(tBroadcast.getId(), tBroadcast.getSort()); |
| | | if(exit){ |
| | | return new SuccessTip(500,"该排序已存在!"); |
| | | } |
| | | tBroadcastService.updateById(tBroadcast); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 上架 |
| | | */ |
| | | @RequestMapping(value = "/up") |
| | | @ResponseBody |
| | | public Object up(Integer id) { |
| | | |
| | | int count = tBroadcastService.selectCount(new EntityWrapper<TBroadcast>() |
| | | .eq("upDown", 1) |
| | | .ne("status", StatusEnum.DELETE.getCode())); |
| | | if(count>4){ |
| | | return new SuccessTip(500,"最多可上架5条广播!"); |
| | | } |
| | | TBroadcast tBroadcast = tBroadcastService.selectById(id); |
| | | tBroadcast.setUpDown(1); |
| | | tBroadcastService.updateById(tBroadcast); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 下架 |
| | | */ |
| | | @RequestMapping(value = "/down") |
| | | @ResponseBody |
| | | public Object down(Integer id) { |
| | | TBroadcast tBroadcast = tBroadcastService.selectById(id); |
| | | tBroadcast.setUpDown(2); |
| | | tBroadcastService.updateById(tBroadcast); |
| | | return SUCCESS_TIP; |
| | | } |
New file |
| | |
| | | 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.TCashWithdrawal; |
| | | import com.stylefeng.guns.modular.system.service.ITCashWithdrawalService; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-23 10:14:44 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tCashWithdrawal") |
| | | public class TCashWithdrawalController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tCashWithdrawal/"; |
| | | |
| | | @Autowired |
| | | private ITCashWithdrawalService tCashWithdrawalService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tCashWithdrawal.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tCashWithdrawal_add") |
| | | public String tCashWithdrawalAdd() { |
| | | return PREFIX + "tCashWithdrawal_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tCashWithdrawal_update/{tCashWithdrawalId}") |
| | | public String tCashWithdrawalUpdate(@PathVariable Integer tCashWithdrawalId, Model model) { |
| | | TCashWithdrawal tCashWithdrawal = tCashWithdrawalService.selectById(tCashWithdrawalId); |
| | | model.addAttribute("item",tCashWithdrawal); |
| | | LogObjectHolder.me().set(tCashWithdrawal); |
| | | return PREFIX + "tCashWithdrawal_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String condition) { |
| | | return tCashWithdrawalService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TCashWithdrawal tCashWithdrawal) { |
| | | tCashWithdrawalService.insert(tCashWithdrawal); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tCashWithdrawalId) { |
| | | tCashWithdrawalService.deleteById(tCashWithdrawalId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TCashWithdrawal tCashWithdrawal) { |
| | | tCashWithdrawalService.updateById(tCashWithdrawal); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tCashWithdrawalId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tCashWithdrawalId") Integer tCashWithdrawalId) { |
| | | return tCashWithdrawalService.selectById(tCashWithdrawalId); |
| | | } |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.core.base.tips.SuccessTip; |
| | | import com.stylefeng.guns.modular.system.controller.util.LabelReplaceUtil; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.ResponseBody; |
| | |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import com.stylefeng.guns.modular.system.model.TCommercial; |
| | | import com.stylefeng.guns.modular.system.service.ITCommercialService; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * 控制器 |
| | |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TCommercial tCommercial) { |
| | | tCommercial.setHtml(LabelReplaceUtil.replace(tCommercial.getHtml())); |
| | | tCommercial.setCreateTime(new Date()); |
| | | tCommercialService.insert(tCommercial); |
| | | return SUCCESS_TIP; |
| | | } |
| | |
| | | } |
| | | |
| | | /** |
| | | * 上线 |
| | | */ |
| | | @RequestMapping(value = "/onLine") |
| | | @ResponseBody |
| | | public Object onLine(@RequestParam Integer tCommercialId) { |
| | | TCommercial tCommercial = tCommercialService.selectById(tCommercialId); |
| | | Boolean exit = tCommercialService.isExit(tCommercialId, 1); |
| | | if(exit){ |
| | | return new SuccessTip(500,"最多可上架4个弹窗广告!"); |
| | | } |
| | | tCommercial.setOnOffLine(1); |
| | | tCommercialService.updateById(tCommercial); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 下线 |
| | | */ |
| | | @RequestMapping(value = "/offLine") |
| | | @ResponseBody |
| | | public Object offLine(@RequestParam Integer tCommercialId) { |
| | | TCommercial tCommercial = tCommercialService.selectById(tCommercialId); |
| | | tCommercial.setOnOffLine(2); |
| | | tCommercialService.updateById(tCommercial); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TCommercial tCommercial) { |
| | | if(0 == tCommercial.getIsJump()){ |
| | | tCommercial.setJumpType(0); |
| | | tCommercial.setJumpUrl(""); |
| | | } |
| | | tCommercial.setHtml(LabelReplaceUtil.replace(tCommercial.getHtml())); |
| | | tCommercialService.updateById(tCommercial); |
| | | return SUCCESS_TIP; |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.core.common.constant.state.Order; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.modular.system.service.IUserService; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TOrderServerResp; |
| | | import com.stylefeng.guns.modular.system.enums.OrderStateEnum; |
| | | import com.stylefeng.guns.modular.system.model.TAgent; |
| | | import com.stylefeng.guns.modular.system.model.TDriver; |
| | | import com.stylefeng.guns.modular.system.model.TOrder; |
| | | import com.stylefeng.guns.modular.system.service.*; |
| | | import com.stylefeng.guns.modular.system.util.DateUtil; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Controller; |
| | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.Objects; |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | |
| | | /** |
| | | * 控制器 |
| | |
| | | |
| | | @Autowired |
| | | private IUserService userService; |
| | | @Autowired |
| | | private ITAgentService tAgentService; |
| | | @Autowired |
| | | private ITDriverService tDriverService; |
| | | @Autowired |
| | | private ITOrderService tOrderService; |
| | | @Autowired |
| | | private ITRevenueService tRevenueService; |
| | | |
| | | private String PREFIX = "/system/tHomePage/"; |
| | | |
| | |
| | | * 跳转到地图 |
| | | */ |
| | | @RequestMapping("/map") |
| | | public String map() { |
| | | public String map(Integer agentId,Integer type,Model model) { |
| | | |
| | | if(Objects.nonNull(agentId)){ |
| | | // 查询统计在线司机,待接单,服务中,已完成,已取消 |
| | | Map<String,Integer> map = new HashMap<>(4); |
| | | int serverCount = tDriverService.selectCount(new EntityWrapper<TDriver>() |
| | | .eq("agentId", agentId) |
| | | .eq("serverStatus", 2)); |
| | | tOrderService.getDataStatisticsCount(agentId,map); |
| | | model.addAttribute("map",map); |
| | | |
| | | // 查询服务中的订单列表 |
| | | List<TOrderServerResp> orderServerRespList = tOrderService.getDataStatisticsServerList(agentId); |
| | | model.addAttribute("serverList",orderServerRespList); |
| | | |
| | | // 查询今天所有订单 |
| | | List<TOrder> allList = tOrderService.getDataStatisticsAllList(agentId); |
| | | |
| | | // TODO 拿到所有司机地址 |
| | | |
| | | }else { |
| | | // TODO 查询广东全区域数据 |
| | | } |
| | | |
| | | return PREFIX + "tHomePageMap.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到地图 |
| | | * 跳转到首页统计 |
| | | */ |
| | | @RequestMapping("/statistics") |
| | | public String statistics(Model model) { |
| | | public String statistics(Integer agentId,String dayDate,String yearDate,String monthDate,Integer type,Model model) { |
| | | model.addAttribute("txt",new SimpleDateFormat("yyyy年MM月dd日").format(new Date()) + DateUtil.getWeekDay(new Date()) + ",欢迎" + |
| | | Objects.requireNonNull(ShiroKit.getUser()).getName() + "登录"); |
| | | if(Objects.nonNull(agentId)){ |
| | | // 统计代理商 |
| | | tAgentService.getDataStatistics(agentId,model); |
| | | |
| | | // 统计司机数 |
| | | tDriverService.getDataStatistics(agentId,model); |
| | | |
| | | // TODO 订单统计:按今天,昨天,本周,本月 |
| | | |
| | | // 订单统计,每年按月份 |
| | | tOrderService.getDataStatisticsByYear(agentId,yearDate,model); |
| | | |
| | | // 业绩排名 performanceTable |
| | | if (1 == type){ |
| | | // 单量 |
| | | tOrderService.getDataStatisticsOrderCount(agentId,monthDate,model); |
| | | }else { |
| | | // 收入、佣金 |
| | | tRevenueService.getDataStatisticsIncomeOrCommission(agentId,monthDate,type,model); |
| | | } |
| | | |
| | | }else { |
| | | // TODO 查询广东全区域数据 |
| | | } |
| | | return PREFIX + "tHomePageStatistics.html"; |
| | | } |
| | | |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.modular.system.controller.util.LabelReplaceUtil; |
| | | import com.stylefeng.guns.modular.system.enums.HtmlTypeEnum; |
| | | 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.THtml; |
| | | import com.stylefeng.guns.modular.system.service.ITHtmlService; |
| | | |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-24 10:50:08 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tHtml") |
| | | public class THtmlController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tHtml/"; |
| | | |
| | | @Autowired |
| | | private ITHtmlService tHtmlService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tHtml.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tHtml_add") |
| | | public String tHtmlAdd() { |
| | | return PREFIX + "tHtml_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tHtml_update/{tHtmlId}") |
| | | public String tHtmlUpdate(@PathVariable Integer tHtmlId, Model model) { |
| | | THtml tHtml = tHtmlService.selectById(tHtmlId); |
| | | model.addAttribute("item",tHtml); |
| | | LogObjectHolder.me().set(tHtml); |
| | | return PREFIX + "tHtml_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到积分说明 |
| | | */ |
| | | @RequestMapping("/integralExplain") |
| | | public String integralExplain(Model model) { |
| | | THtml html = queryHtmlByType(HtmlTypeEnum.INTEGRAL_EXPLAIN.getCode()); |
| | | model.addAttribute("html",html); |
| | | return PREFIX + "integralExplain.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到佣金规则说明 |
| | | */ |
| | | @RequestMapping("/commissionRuleExplain") |
| | | public String commissionRuleExplain(Model model) { |
| | | THtml html = queryHtmlByType(HtmlTypeEnum.COMMISSION_RULE_EXPLAIN.getCode()); |
| | | model.addAttribute("html",html); |
| | | return PREFIX + "commissionRuleExplain.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到行程录音说明 |
| | | */ |
| | | @RequestMapping("/tripRecordingExplain") |
| | | public String tripRecordingExplain(Model model) { |
| | | THtml html = queryHtmlByType(HtmlTypeEnum.TRIP_RECORDING_EXPLAIN.getCode()); |
| | | model.addAttribute("html",html); |
| | | return PREFIX + "tripRecordingExplain.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到预估价格说明 |
| | | */ |
| | | @RequestMapping("/estimatedPriceExplain") |
| | | public String estimatedPriceExplain(Model model) { |
| | | THtml html = queryHtmlByType(HtmlTypeEnum.ESTIMATED_PRICE_EXPLAIN.getCode()); |
| | | model.addAttribute("html",html); |
| | | return PREFIX + "estimatedPriceExplain.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到起步价说明 |
| | | */ |
| | | @RequestMapping("/startingFareExplain") |
| | | public String startingFareExplain(Model model) { |
| | | THtml html = queryHtmlByType(HtmlTypeEnum.SPECIFICATION_STARTING_PRICE.getCode()); |
| | | model.addAttribute("html",html); |
| | | return PREFIX + "estimatedPriceExplain.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到注销协议 |
| | | */ |
| | | @RequestMapping("/cancellationAgreement") |
| | | public String cancellationAgreement(Model model) { |
| | | THtml html = queryHtmlByType(HtmlTypeEnum.CANCELLATION_AGREEMENT.getCode()); |
| | | model.addAttribute("html",html); |
| | | return PREFIX + "cancellationAgreement.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到关于我们 |
| | | */ |
| | | @RequestMapping("/aboutUs") |
| | | public String aboutUs(Model model) { |
| | | THtml html = queryHtmlByType(HtmlTypeEnum.ABOUT_US.getCode()); |
| | | model.addAttribute("html",html); |
| | | return PREFIX + "aboutUs.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到代驾服务协议与隐私政策保护,法律条款,个人信息处理规则 |
| | | */ |
| | | @RequestMapping("/agreementExplain") |
| | | public String agentDrivingServiceExplain(Integer type,Model model) { |
| | | THtml one = queryHtmlByType(HtmlTypeEnum.AGENT_DRIVING_SERVICE_EXPLAIN.getCode()); |
| | | model.addAttribute("one",one); |
| | | THtml two = queryHtmlByType(HtmlTypeEnum.CLAUSE.getCode()); |
| | | model.addAttribute("two",two); |
| | | THtml three = queryHtmlByType(HtmlTypeEnum.PERSONAL_INFORMATION_RULES.getCode()); |
| | | model.addAttribute("three",three); |
| | | return PREFIX + "agreementExplain.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到加盟基本要求 |
| | | */ |
| | | @RequestMapping("/requirementsJoinExplain") |
| | | public String requirementsJoinExplain(Model model) { |
| | | THtml tHtml = queryHtmlByType(HtmlTypeEnum.BASIC_REQUIREMENTS_JOINING.getCode()); |
| | | JSONObject jsonObject = JSONObject.parseObject(tHtml.getHtml()); |
| | | JSONArray rules = jsonObject.getJSONArray("rules"); |
| | | JSONArray objects = new JSONArray(); |
| | | for (int i = 0; i < rules.size(); i++) { |
| | | JSONObject jsonObject1 = JSONObject.parseObject(JSONObject.toJSONString(rules.get(i))); |
| | | if(i == 0){ |
| | | jsonObject1.put("key",0); |
| | | }else { |
| | | jsonObject1.put("key",1); |
| | | } |
| | | objects.add(jsonObject1); |
| | | } |
| | | model.addAttribute("array",objects); |
| | | model.addAttribute("id",tHtml.getId()); |
| | | return PREFIX + "requirementsJoinExplain.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到代驾服务协议与隐私政策保护,法律条款,个人信息处理规则 |
| | | */ |
| | | @RequestMapping("/agreement") |
| | | @ResponseBody |
| | | public Object agreement(Integer type) { |
| | | return queryHtmlByType(type); |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String condition) { |
| | | return tHtmlService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 通过类型查询配置 |
| | | */ |
| | | @RequestMapping(value = "/queryHtmlByType") |
| | | @ResponseBody |
| | | public THtml queryHtmlByType(Integer type) { |
| | | return tHtmlService.selectOne(new EntityWrapper<THtml>().eq("type", type).last("LIMIT 1")); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(THtml tHtml) { |
| | | tHtmlService.insert(tHtml); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tHtmlId) { |
| | | tHtmlService.deleteById(tHtmlId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(THtml tHtml) { |
| | | tHtml.setHtml(LabelReplaceUtil.replace(tHtml.getHtml())); |
| | | tHtmlService.updateById(tHtml); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tHtmlId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tHtmlId") Integer tHtmlId) { |
| | | return tHtmlService.selectById(tHtmlId); |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.modular.system.model.TSystemConfig; |
| | | import com.stylefeng.guns.modular.system.service.ITSystemConfigService; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.util.StringUtils; |
| | | 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.TImg; |
| | | import com.stylefeng.guns.modular.system.service.ITImgService; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-28 10:01:31 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tImg") |
| | | public class TImgController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tImg/"; |
| | | |
| | | @Autowired |
| | | private ITImgService tImgService; |
| | | @Autowired |
| | | private ITSystemConfigService tSystemConfigService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index(Model model) { |
| | | TSystemConfig config = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 8) |
| | | .last("LIMIT 1")); |
| | | JSONObject jsonObject = JSONObject.parseObject(config.getContent()); |
| | | model.addAttribute("num2",jsonObject.getInteger("num2")); |
| | | List<TImg> tImgList = tImgService.selectList(new EntityWrapper<TImg>() |
| | | .eq("type", 1)); |
| | | model.addAttribute("imgList",tImgList); |
| | | return PREFIX + "tImg.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tImg_add") |
| | | public String tImgAdd() { |
| | | return PREFIX + "tImg_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tImg_update/{tImgId}") |
| | | public String tImgUpdate(@PathVariable Integer tImgId, Model model) { |
| | | TImg tImg = tImgService.selectById(tImgId); |
| | | model.addAttribute("item",tImg); |
| | | LogObjectHolder.me().set(tImg); |
| | | return PREFIX + "tImg_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String condition) { |
| | | return tImgService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TImg tImg) { |
| | | tImgService.insert(tImg); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tImgId) { |
| | | tImgService.deleteById(tImgId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TImg tImg) { |
| | | tImgService.updateById(tImg); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改图片 |
| | | */ |
| | | @RequestMapping(value = "/updateSubmit") |
| | | @ResponseBody |
| | | public Object updateSubmit(String tImg) { |
| | | System.err.println(tImg); |
| | | // 删除所有图片 |
| | | tImgService.delete(new EntityWrapper<TImg>() |
| | | .eq("type",1)); |
| | | if(StringUtils.hasLength(tImg)){ |
| | | String[] split = tImg.split(","); |
| | | List<TImg> tImgList = new ArrayList<>(split.length); |
| | | for (String s : split) { |
| | | TImg tImg1 = new TImg(); |
| | | // 保存所有图片 |
| | | tImg1.setType(1); |
| | | tImg1.setCreateTime(new Date()); |
| | | tImg1.setImg(s); |
| | | tImgList.add(tImg1); |
| | | } |
| | | tImgService.insertBatch(tImgList); |
| | | } |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tImgId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tImgId") Integer tImgId) { |
| | | return tImgService.selectById(tImgId); |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.general; |
| | | |
| | | import com.alibaba.fastjson.JSONArray; |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.base.controller.BaseController; |
| | | import com.stylefeng.guns.modular.system.enums.HtmlTypeEnum; |
| | | import com.stylefeng.guns.modular.system.enums.MainContentTypeEnum; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.THtml; |
| | | import com.stylefeng.guns.modular.system.service.ITHtmlService; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.web.bind.annotation.*; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import com.stylefeng.guns.core.log.LogObjectHolder; |
| | | import com.stylefeng.guns.modular.system.model.TMainContent; |
| | | import com.stylefeng.guns.modular.system.service.ITMainContentService; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-28 10:09:47 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tMainContent") |
| | | public class TMainContentController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tMainContent/"; |
| | | |
| | | @Autowired |
| | | private ITMainContentService tMainContentService; |
| | | @Autowired |
| | | private ITHtmlService tHtmlService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tMainContent.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tMainContent_add") |
| | | public String tMainContentAdd() { |
| | | return PREFIX + "tMainContent_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到转单添加 |
| | | */ |
| | | @RequestMapping("/transferOrder/add") |
| | | public String transferOrderAdd(Model model) { |
| | | model.addAttribute("key",0); |
| | | return PREFIX + "transferOrderAdd.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到转单修改 |
| | | */ |
| | | @RequestMapping("/transferOrder/update") |
| | | public String transferOrderUpdate(Model model) { |
| | | List<TMainContent> list = tMainContentService.selectList(new EntityWrapper<TMainContent>() |
| | | .eq("type", MainContentTypeEnum.TRANSFER_ORDER.getCode())); |
| | | model.addAttribute("list",list); |
| | | return PREFIX + "transferOrderUpdate.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到消单添加 |
| | | */ |
| | | @RequestMapping("/driverCancelOrder/add") |
| | | public String driverCancelOrderAdd(Model model) { |
| | | model.addAttribute("key",0); |
| | | return PREFIX + "driverCancelOrderAdd.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到消单修改 |
| | | */ |
| | | @RequestMapping("/driverCancelOrder/update") |
| | | public String driverCancelOrderUpdate(Model model) { |
| | | List<TMainContent> list = tMainContentService.selectList(new EntityWrapper<TMainContent>() |
| | | .eq("type", MainContentTypeEnum.DRIVER_CANCEL_ORDER.getCode())); |
| | | model.addAttribute("list",list); |
| | | return PREFIX + "driverCancelOrderUpdate.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到转单添加 |
| | | */ |
| | | @RequestMapping("/userCancelOrder/add") |
| | | public String userCancelOrderAdd(Model model) { |
| | | model.addAttribute("key",0); |
| | | return PREFIX + "userCancelOrderAdd.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到转单修改 |
| | | */ |
| | | @RequestMapping("/userCancelOrder/update") |
| | | public String userCancelOrderUpdate(Model model) { |
| | | List<TMainContent> list = tMainContentService.selectList(new EntityWrapper<TMainContent>() |
| | | .eq("type", MainContentTypeEnum.USER_CANCEL_ORDER.getCode())); |
| | | model.addAttribute("list",list); |
| | | return PREFIX + "userCancelOrderUpdate.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tMainContent_update/{tMainContentId}") |
| | | public String tMainContentUpdate(@PathVariable Integer tMainContentId, Model model) { |
| | | TMainContent tMainContent = tMainContentService.selectById(tMainContentId); |
| | | model.addAttribute("item",tMainContent); |
| | | LogObjectHolder.me().set(tMainContent); |
| | | return PREFIX + "tMainContent_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到转单 |
| | | */ |
| | | @RequestMapping("/transferOrder") |
| | | public String transferOrder(Model model) { |
| | | List<TMainContent> list = tMainContentService.selectList(new EntityWrapper<TMainContent>() |
| | | .eq("type", MainContentTypeEnum.TRANSFER_ORDER.getCode())); |
| | | model.addAttribute("list",list); |
| | | return PREFIX + "transferOrder.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到司机消单 |
| | | */ |
| | | @RequestMapping("/driverCancelOrder") |
| | | public String driverCancelOrder(Model model) { |
| | | List<TMainContent> list = tMainContentService.selectList(new EntityWrapper<TMainContent>() |
| | | .eq("type", MainContentTypeEnum.DRIVER_CANCEL_ORDER.getCode())); |
| | | model.addAttribute("list",list); |
| | | THtml html = tHtmlService.selectOne(new EntityWrapper<THtml>().eq("type", HtmlTypeEnum.DRIVER_EXPLAIN_CANCELLATION.getCode()).last("LIMIT 1")); |
| | | model.addAttribute("html",html); |
| | | return PREFIX + "driverCancelOrder.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到用户取消订单 |
| | | */ |
| | | @RequestMapping("/userCancelOrder") |
| | | public String userCancelOrder(Model model) { |
| | | List<TMainContent> list = tMainContentService.selectList(new EntityWrapper<TMainContent>() |
| | | .eq("type", MainContentTypeEnum.USER_CANCEL_ORDER.getCode())); |
| | | model.addAttribute("list",list); |
| | | return PREFIX + "userCancelOrder.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String condition) { |
| | | return tMainContentService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add( String tMainContents,Integer type) { |
| | | String[] split = tMainContents.split(","); |
| | | List<TMainContent> tMainContents1 = new ArrayList<>(split.length); |
| | | for (String s : split) { |
| | | TMainContent tMainContent = new TMainContent(); |
| | | tMainContent.setContent(s); |
| | | tMainContent.setType(type); |
| | | tMainContent.setStatus(StatusEnum.NORMAL.getCode()); |
| | | tMainContent.setCreateTime(new Date()); |
| | | tMainContents1.add(tMainContent); |
| | | } |
| | | tMainContentService.insertBatch(tMainContents1); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add-back") |
| | | @ResponseBody |
| | | public Object addBack(TMainContent tMainContent) { |
| | | tMainContentService.insert(tMainContent); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tMainContentId) { |
| | | tMainContentService.deleteById(tMainContentId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(String tMainContents,Integer type) { |
| | | |
| | | tMainContentService.delete(new EntityWrapper<TMainContent>() |
| | | .eq("type",type)); |
| | | |
| | | String[] split = tMainContents.split(","); |
| | | List<TMainContent> tMainContents1 = new ArrayList<>(split.length); |
| | | for (String s : split) { |
| | | TMainContent tMainContent = new TMainContent(); |
| | | tMainContent.setContent(s); |
| | | tMainContent.setType(type); |
| | | tMainContent.setStatus(StatusEnum.NORMAL.getCode()); |
| | | tMainContent.setCreateTime(new Date()); |
| | | tMainContents1.add(tMainContent); |
| | | } |
| | | tMainContentService.insertBatch(tMainContents1); |
| | | return SUCCESS_TIP; |
| | | } |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update-back") |
| | | @ResponseBody |
| | | public Object updateBack(TMainContent tMainContent) { |
| | | tMainContentService.updateById(tMainContent); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tMainContentId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tMainContentId") Integer tMainContentId) { |
| | | return tMainContentService.selectById(tMainContentId); |
| | | } |
| | | } |
| | |
| | | TAppUserDetailOrderResp tAppUserDetailOrderResp = new TAppUserDetailOrderResp(); |
| | | BeanUtils.copyProperties(tOrder,tAppUserDetailOrderResp); |
| | | |
| | | // TODO 计算总里程 |
| | | |
| | | // 计算总里程 |
| | | if(Objects.nonNull(tOrder.getActualMileage())){ |
| | | tAppUserDetailOrderResp.setMileageSum(tOrder.getActualMileage()/1000); |
| | | } |
| | | |
| | | // 计算总时长 |
| | | long travelTimeSum = DateUtil.between(tAppUserDetailOrderResp.getBoardingTime(), tAppUserDetailOrderResp.getGetoffTime(), DateUnit.MINUTE); |
| | | long travelTimeSum = 0; |
| | | if(Objects.nonNull(tAppUserDetailOrderResp.getBoardingTime()) && Objects.nonNull(tAppUserDetailOrderResp.getGetoffTime())){ |
| | | travelTimeSum = DateUtil.between(tAppUserDetailOrderResp.getBoardingTime(), tAppUserDetailOrderResp.getGetoffTime(), DateUnit.MINUTE); |
| | | } |
| | | tAppUserDetailOrderResp.setTravelTimeSum(Integer.valueOf(Long.toString(travelTimeSum))); |
| | | |
| | | list.add(tAppUserDetailOrderResp); |
| | |
| | | }else if(2 == source1){ |
| | | values[i][2] = "司机创建"; |
| | | } |
| | | values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime()); |
| | | if(Objects.nonNull(d.getStartTime())){ |
| | | values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime()); |
| | | }else { |
| | | values[i][3] = ""; |
| | | } |
| | | values[i][4] = d.getUserName(); |
| | | values[i][5] = d.getUserPhone(); |
| | | values[i][6] = d.getStartAddress(); |
| | |
| | | }else if(2 == source1){ |
| | | values[i][2] = "司机创建"; |
| | | } |
| | | values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime()); |
| | | if(Objects.nonNull(d.getStartTime())){ |
| | | values[i][3] = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(d.getStartTime()); |
| | | }else { |
| | | values[i][3] = ""; |
| | | } |
| | | values[i][4] = d.getUserName(); |
| | | values[i][5] = d.getUserPhone(); |
| | | values[i][6] = d.getStartAddress(); |
| | |
| | | } |
| | | objects.add(jsonObject1); |
| | | } |
| | | |
| | | TSystemConfig config = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 8) |
| | | .last("LIMIT 1")); |
| | | JSONObject jsonObj = JSONObject.parseObject(config.getContent()); |
| | | Integer zcOne = jsonObj.getInteger("num1"); |
| | | model.addAttribute("zcOne",zcOne); |
| | | model.addAttribute("array",objects); |
| | | JSONObject extraCost = JSONObject.parseObject(jsonObject.getString("ExtraCost")); |
| | | model.addAttribute("ExtraCost",extraCost); |
| | |
| | | } |
| | | |
| | | /** |
| | | * 修改价格规则开关 |
| | | */ |
| | | @RequestMapping(value = "/openOrClose") |
| | | @ResponseBody |
| | | public Object openOrClose(Integer num1) { |
| | | TSystemConfig config = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 8) |
| | | .last("LIMIT 1")); |
| | | JSONObject jsonObject = JSONObject.parseObject(config.getContent()); |
| | | jsonObject.remove(jsonObject.getString("num1")); |
| | | jsonObject.put("num1",num1); |
| | | config.setContent(JSONObject.toJSONString(jsonObject)); |
| | | tSystemConfigService.updateById(config); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改启动页状态 |
| | | */ |
| | | @RequestMapping(value = "/updateStartState") |
| | | @ResponseBody |
| | | public Object updateStartState(Integer num2) { |
| | | TSystemConfig config = tSystemConfigService.selectOne(new EntityWrapper<TSystemConfig>().eq("type", 8) |
| | | .last("LIMIT 1")); |
| | | JSONObject jsonObject = JSONObject.parseObject(config.getContent()); |
| | | jsonObject.remove(jsonObject.getString("num2")); |
| | | jsonObject.put("num2",num2); |
| | | config.setContent(JSONObject.toJSONString(jsonObject)); |
| | | tSystemConfigService.updateById(config); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tSystemConfigId}") |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.resp; |
| | | |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | @ApiModel(value = "首页数据统计(查询每年每月订单数量)") |
| | | public class DataStatisticsOrderYearResp implements Serializable { |
| | | |
| | | @ApiModelProperty(value = "月份") |
| | | private String month; |
| | | |
| | | @ApiModelProperty(value = "数量") |
| | | private Integer orderCount; |
| | | |
| | | public String getMonth() { |
| | | return month; |
| | | } |
| | | |
| | | public void setMonth(String month) { |
| | | this.month = month; |
| | | } |
| | | |
| | | public Integer getOrderCount() { |
| | | return orderCount; |
| | | } |
| | | |
| | | public void setOrderCount(Integer orderCount) { |
| | | this.orderCount = orderCount; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.resp; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | |
| | | public class PerformanceTableResp implements Serializable { |
| | | |
| | | |
| | | @ApiModelProperty(value = "时间") |
| | | private String monthTime; |
| | | |
| | | @ApiModelProperty(value = "姓名") |
| | | private String userName; |
| | | |
| | | @ApiModelProperty(value = "单量/收入/佣金") |
| | | private BigDecimal amount; |
| | | |
| | | public String getMonthTime() { |
| | | return monthTime; |
| | | } |
| | | |
| | | public void setMonthTime(String monthTime) { |
| | | this.monthTime = monthTime; |
| | | } |
| | | |
| | | public String getUserName() { |
| | | return userName; |
| | | } |
| | | |
| | | public void setUserName(String userName) { |
| | | this.userName = userName; |
| | | } |
| | | |
| | | public BigDecimal getAmount() { |
| | | return amount; |
| | | } |
| | | |
| | | public void setAmount(BigDecimal amount) { |
| | | this.amount = amount; |
| | | } |
| | | } |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | |
| | | public class TAppUserResp extends TAppUser { |
| | | |
| | |
| | | @ApiModelProperty(value = "历史消费") |
| | | private BigDecimal consumePrice; |
| | | |
| | | @ApiModelProperty(value = "最后一次消费时间") |
| | | private Date lastConsumptionTime; |
| | | |
| | | public Date getLastConsumptionTime() { |
| | | return lastConsumptionTime; |
| | | } |
| | | |
| | | public void setLastConsumptionTime(Date lastConsumptionTime) { |
| | | this.lastConsumptionTime = lastConsumptionTime; |
| | | } |
| | | |
| | | public Integer getCouponSum() { |
| | | return couponSum; |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.resp; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TAgent; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | public class TBillResp extends TAgent { |
| | | |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.controller.resp; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TOrder; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | |
| | | public class TOrderServerResp extends TOrder { |
| | | |
| | | @ApiModelProperty(value = "司机姓名") |
| | | private String driverName; |
| | | |
| | | public String getDriverName() { |
| | | return driverName; |
| | | } |
| | | |
| | | public void setDriverName(String driverName) { |
| | | this.driverName = driverName; |
| | | } |
| | | } |
| | |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TBill; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @author stylefeng |
| | | * @since 2023-03-14 |
| | | */ |
| | | @Mapper |
| | | public interface TBillMapper extends BaseMapper<TBill> { |
| | | |
| | | /** |
| | | * 获取列表 |
| | | * @param startTime |
| | | * @param endTime |
| | | * @param addresseePhone |
| | | * @param state |
| | | * @param billType |
| | | * @param billHeaderType |
| | | * @param roleType |
| | | * @param objectId |
| | | * @return |
| | | */ |
| | | List<TBill> getPageList(@Param("startTime") String startTime, @Param("endTime")String endTime, @Param("addresseePhone")String addresseePhone, |
| | | @Param("state")Integer state, @Param("billType")Integer billType, @Param("billHeaderType")Integer billHeaderType, |
| | | @Param("roleType")Integer roleType, @Param("objectId")Integer objectId); |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TCashWithdrawal; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 提现记录 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-23 |
| | | */ |
| | | @Mapper |
| | | public interface TCashWithdrawalMapper extends BaseMapper<TCashWithdrawal> { |
| | | |
| | | } |
| | |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TCommercial; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @author stylefeng |
| | | * @since 2023-03-16 |
| | | */ |
| | | @Mapper |
| | | public interface TCommercialMapper extends BaseMapper<TCommercial> { |
| | | |
| | | } |
| | |
| | | * @return |
| | | */ |
| | | List<TComplaintResp> getPageList(@Param("startTime") String startTime,@Param("endTime") String endTime, @Param("userName")String userName, |
| | | @Param("userPhone")String userPhone, @Param("driverPhone")String driverPhone, @Param("state")Integer state); |
| | | @Param("userPhone")String userPhone, @Param("driverPhone")String driverPhone, @Param("state")Integer state, |
| | | @Param("roleType")Integer roleType,@Param("objectId")Integer objectId); |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.THtml; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * H5富文本 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-24 |
| | | */ |
| | | public interface THtmlMapper extends BaseMapper<THtml> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TImg; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系统图片 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-28 |
| | | */ |
| | | public interface TImgMapper extends BaseMapper<TImg> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TMainContent; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 事由管理 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-28 |
| | | */ |
| | | public interface TMainContentMapper extends BaseMapper<TMainContent> { |
| | | |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TOrderServerResp; |
| | | 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.time.LocalDate; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @Param("source") Integer source,@Param("userName")String userName, @Param("userPhone")String userPhone, |
| | | @Param("state")Integer state,@Param("driverName")String driverName,@Param("isException") Integer isException, |
| | | @Param("roleType")Integer roleType,@Param("objectId")Integer objectId); |
| | | |
| | | /** |
| | | * 通过年份查询订单数量 |
| | | * @param agentId |
| | | * @return |
| | | */ |
| | | List<DataStatisticsOrderYearResp> getDataStatisticsByYear(@Param("agentId") Integer agentId,@Param("yearDate")String yearDate); |
| | | |
| | | /** |
| | | * 单量 |
| | | * @param agentId |
| | | * @param monthDate |
| | | * @return |
| | | */ |
| | | List<PerformanceTableResp> getDataStatisticsOrderCount(@Param("agentId")Integer agentId, @Param("monthDate")String monthDate); |
| | | |
| | | Integer getDataStatisticsCount(@Param("agentId")Integer agentId, @Param("type")Integer type, @Param("localDate")LocalDate localDate); |
| | | |
| | | Integer getDataStatisticsServerCount(@Param("agentId")Integer agentId, @Param("localDate") LocalDate localDate); |
| | | |
| | | List<TOrderServerResp> getDataStatisticsServerList(@Param("agentId")Integer agentId,@Param("localDate") LocalDate localDate); |
| | | |
| | | List<TOrder> getDataStatisticsAllList(@Param("agentId")Integer agentId,@Param("localDate") LocalDate localDate); |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.RevenueExpenditureResp; |
| | | import com.stylefeng.guns.modular.system.model.TRevenue; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | |
| | | * @return |
| | | */ |
| | | RevenueExpenditureResp commissionOrBalanceDetail(@Param("code")String code, @Param("type")Integer type); |
| | | |
| | | List<PerformanceTableResp> getDataStatisticsIncomeOrCommission(@Param("agentId")Integer agentId,@Param("type") Integer type, @Param("monthDate")String monthDate); |
| | | } |
| | |
| | | <sql id="Base_Column_List"> |
| | | id, orderId, billType, billHeaderType, companyName, companyTaxNumber, billContent, moreContent, billAmount, addresseeName, addresseePhone, addresseeEmail, state, createTime |
| | | </sql> |
| | | <select id="getPageList" resultType="com.stylefeng.guns.modular.system.model.TBill"> |
| | | SELECT b.id, b.orderId, b.billType, b.billHeaderType, b.companyName, b.companyTaxNumber, b.billContent, b.moreContent, b.billAmount, b.addresseeName, b.addresseePhone, |
| | | b.addresseeEmail, b.state, b.createTime |
| | | FROM t_bill b |
| | | LEFT JOIN t_order o ON b.orderId = o.id |
| | | <where> |
| | | <if test="startTime != null and startTime != '' and endTime != null and endTime != ''"> |
| | | AND b.createTime BETWEEN #{startTime} AND #{endTime} |
| | | </if> |
| | | <if test="addresseePhone != null and addresseePhone != ''"> |
| | | AND b.addresseePhone LIKE concat('%',#{addresseePhone},'%') |
| | | </if> |
| | | <if test="state != null"> |
| | | AND b.state = #{state} |
| | | </if> |
| | | <if test="billType != null"> |
| | | AND b.billType = #{billType} |
| | | </if> |
| | | <if test="billHeaderType != null"> |
| | | AND b.billHeaderType = #{addresseePhone} |
| | | </if> |
| | | <if test="roleType != null and roleType == 2"> |
| | | AND o.branchOfficeId = #{objectId} |
| | | </if> |
| | | <if test="roleType != null and roleType == 3"> |
| | | AND o.agentId = #{objectId} |
| | | </if> |
| | | </where> |
| | | ORDER BY b.createTime DESC |
| | | </select> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.TCashWithdrawalMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TCashWithdrawal"> |
| | | <id column="id" property="id" /> |
| | | <result column="type" property="type" /> |
| | | <result column="userDriverId" property="userDriverId" /> |
| | | <result column="code" property="code" /> |
| | | <result column="businessType" property="businessType" /> |
| | | <result column="amount" property="amount" /> |
| | | <result column="state" property="state" /> |
| | | <result column="orderNumber" property="orderNumber" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, type, userDriverId, code, businessType, amount, state, orderNumber, createTime |
| | | </sql> |
| | | |
| | | </mapper> |
| | |
| | | <if test="state != null"> |
| | | AND c.state = #{state} |
| | | </if> |
| | | <if test="roleType != null and roleType == 2"> |
| | | AND d.branchOfficeId = #{objectId} |
| | | </if> |
| | | <if test="roleType != null and roleType == 3"> |
| | | AND d.agentId = #{objectId} |
| | | </if> |
| | | </where> |
| | | ORDER BY c.state |
| | | </select> |
New file |
| | |
| | | <?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.THtmlMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.THtml"> |
| | | <id column="id" property="id" /> |
| | | <result column="type" property="type" /> |
| | | <result column="html" property="html" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, type, html, createTime |
| | | </sql> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.TImgMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TImg"> |
| | | <id column="id" property="id" /> |
| | | <result column="type" property="type" /> |
| | | <result column="img" property="img" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, type, img, createTime |
| | | </sql> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.TMainContentMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TMainContent"> |
| | | <id column="id" property="id" /> |
| | | <result column="type" property="type" /> |
| | | <result column="content" property="content" /> |
| | | <result column="status" property="status" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, type, content, status, createTime |
| | | </sql> |
| | | |
| | | </mapper> |
| | |
| | | |
| | | <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 |
| | | 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> |
| | | |
| | | <sql id="Base_Column_Server_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, |
| | | d.name AS driverName,d.phone AS driverPhone |
| | | </sql> |
| | | |
| | | <select id="getOrderList" resultType="com.stylefeng.guns.modular.system.controller.resp.TOrderResp"> |
| | |
| | | </where> |
| | | ORDER BY o.createTime |
| | | </select> |
| | | <select id="getDataStatisticsByYear" resultType="com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp"> |
| | | SELECT createTime AS `month`,COUNT(id) AS orderCount |
| | | FROM t_order |
| | | <where> |
| | | <if test="agentId != null"> |
| | | AND agentId = #{agentId} |
| | | </if> |
| | | <if test="yearDate != null and yearDate != ''"> |
| | | AND date_format(createTime, '%Y') LIKE concat('',#{yearDate},'%') |
| | | </if> |
| | | </where> |
| | | GROUP BY date_format(createTime, '%Y-%m') |
| | | </select> |
| | | <select id="getDataStatisticsOrderCount" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp"> |
| | | SELECT date_format(o.createTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.name AS userName |
| | | FROM t_order o |
| | | LEFT JOIN t_driver d ON o.driverId = d.id |
| | | <where> |
| | | <if test="agentId != null"> |
| | | AND o.agentId = #{agentId} |
| | | </if> |
| | | <if test="monthDate != null and monthDate != ''"> |
| | | AND date_format(o.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%') |
| | | </if> |
| | | AND (o.`state` = 108 OR o.`state` = 109) |
| | | </where> |
| | | GROUP BY monthTime,userName |
| | | ORDER BY amount DESC |
| | | </select> |
| | | <select id="getDataStatisticsCount" resultType="java.lang.Integer"> |
| | | SELECT COUNT(id) |
| | | FROM t_order |
| | | <where> |
| | | <if test="agentId != null"> |
| | | AND agentId = #{agentId} |
| | | </if> |
| | | <if test="type != null"> |
| | | AND `state` = #{type} |
| | | </if> |
| | | <if test="localDate != null"> |
| | | AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | | <select id="getDataStatisticsServerCount" resultType="java.lang.Integer"> |
| | | SELECT COUNT(id) |
| | | FROM t_order |
| | | <where> |
| | | <if test="agentId != null"> |
| | | AND agentId = #{agentId} |
| | | </if> |
| | | <if test="localDate != null"> |
| | | AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%') |
| | | </if> |
| | | AND (`state` = 102 |
| | | OR `state` = 103 |
| | | OR `state` = 104 |
| | | OR `state` = 105 |
| | | OR `state` = 106 |
| | | OR `state` = 107 |
| | | ) |
| | | </where> |
| | | </select> |
| | | <select id="getDataStatisticsServerList" resultType="com.stylefeng.guns.modular.system.controller.resp.TOrderServerResp"> |
| | | select <include refid="Base_Column_Server_Order"></include> |
| | | FROM t_order o |
| | | LEFT JOIN t_driver d ON o.driverId = d.id |
| | | <where> |
| | | <if test="agentId != null"> |
| | | AND o.agentId = #{agentId} |
| | | </if> |
| | | <if test="localDate != null"> |
| | | AND date_format(o.createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%') |
| | | </if> |
| | | AND (o.`state` = 102 |
| | | OR o.`state` = 103 |
| | | OR o.`state` = 104 |
| | | OR o.`state` = 105 |
| | | OR o.`state` = 106 |
| | | OR o.`state` = 107 |
| | | ) |
| | | </where> |
| | | </select> |
| | | <select id="getDataStatisticsAllList" resultType="com.stylefeng.guns.modular.system.model.TOrder"> |
| | | select <include refid="Base_Column_List"></include> |
| | | FROM t_order |
| | | <where> |
| | | <if test="agentId != null"> |
| | | AND agentId = #{agentId} |
| | | </if> |
| | | <if test="localDate != null"> |
| | | AND date_format(createTime, '%Y-%m-%d') LIKE concat('',#{localDate},'%') |
| | | </if> |
| | | </where> |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | WHERE |
| | | cw.type = 2 AND cw.businessType = #{type} AND cw.code = #{code} |
| | | </select> |
| | | <select id="getDataStatisticsIncomeOrCommission" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp"> |
| | | SELECT date_format(r.createTime, '%Y-%m') AS monthTime,COUNT(o.id) AS amount,d.name AS userName |
| | | FROM t_revenue r |
| | | LEFT JOIN t_driver d ON r.userId = d.id |
| | | LEFT JOIN t_order o ON r.orderId = o.id |
| | | <where> |
| | | <if test="agentId != null"> |
| | | AND o.agentId = #{agentId} |
| | | </if> |
| | | <if test="monthDate != null and monthDate != ''"> |
| | | AND date_format(r.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%') |
| | | </if> |
| | | AND r.type = 1 |
| | | AND r.userType = 2 |
| | | </where> |
| | | GROUP BY monthTime,userName |
| | | </select> |
| | | |
| | | <select id="getDataStatisticsCommission" resultType="com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp"> |
| | | SELECT date_format(r.createTime, '%Y-%m') AS monthTime,SUM(r.amount) AS amount,d.name AS userName |
| | | FROM t_revenue r |
| | | LEFT JOIN t_driver d ON r.userId = d.id |
| | | LEFT JOIN t_order o ON r.orderId = o.id |
| | | <where> |
| | | <if test="agentId != null"> |
| | | AND o.agentId = #{agentId} |
| | | </if> |
| | | <if test="monthDate != null and monthDate != ''"> |
| | | AND date_format(r.createTime, '%Y-%m') LIKE concat('',#{monthDate},'%') |
| | | </if> |
| | | <if test="type != null"> |
| | | AND r.type = #{type} |
| | | </if> |
| | | AND r.userType = 2 |
| | | </where> |
| | | GROUP BY monthTime,userName |
| | | ORDER BY amount DESC |
| | | </select> |
| | | |
| | | </mapper> |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.enums; |
| | | |
| | | |
| | | |
| | | /** |
| | | * @Description H5富文本枚举 |
| | | * @Author xiaochen |
| | | * @Date 2023/02/15 9:42 |
| | | */ |
| | | public enum HtmlTypeEnum { |
| | | |
| | | /*类型(1=代驾服务协议与隐私政策保护,2=法律条款,3=个人信息处理规则,4=积分说明,5=佣金规则说明,6=行程录音说明,7=预估价格说明,8=加盟基本要求,9=加盟流程,10=起步价说明,11=注销协议,12=关于我们,13=司机消单说明)*/ |
| | | |
| | | AGENT_DRIVING_SERVICE_EXPLAIN(1, "代驾服务协议与隐私政策保护"), |
| | | CLAUSE(2, "法律条款"), |
| | | PERSONAL_INFORMATION_RULES(3, "个人信息处理规则"), |
| | | INTEGRAL_EXPLAIN(4, "积分说明"), |
| | | COMMISSION_RULE_EXPLAIN(5, "佣金规则说明"), |
| | | TRIP_RECORDING_EXPLAIN(6, "行程录音说明"), |
| | | ESTIMATED_PRICE_EXPLAIN(7,"预估价格说明"), |
| | | BASIC_REQUIREMENTS_JOINING(8, "加盟基本要求"), |
| | | JOINING_PROCESS(9, "加盟流程"), |
| | | SPECIFICATION_STARTING_PRICE(10, "起步价说明"), |
| | | CANCELLATION_AGREEMENT(11,"注销协议"), |
| | | ABOUT_US(12,"关于我们"), |
| | | DRIVER_EXPLAIN_CANCELLATION(13,"司机消单说明"); |
| | | |
| | | private String desc; |
| | | |
| | | |
| | | private int code; |
| | | |
| | | |
| | | HtmlTypeEnum(int code, String desc) { |
| | | this.code = code; |
| | | this.desc = desc; |
| | | } |
| | | |
| | | public String getDesc() { |
| | | return desc; |
| | | } |
| | | |
| | | public int getCode() { |
| | | return code; |
| | | } |
| | | |
| | | /** |
| | | * 通过code获取枚举 |
| | | * |
| | | * @param code |
| | | * @return |
| | | */ |
| | | public static HtmlTypeEnum fromCode(Integer code) { |
| | | HtmlTypeEnum[] resultTypes = HtmlTypeEnum.values(); |
| | | for (HtmlTypeEnum resultType : resultTypes) { |
| | | if (code.equals(resultType.getCode())) { |
| | | return resultType; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.enums; |
| | | |
| | | |
| | | |
| | | /** |
| | | * @Description 事由管理类型枚举 |
| | | * @Author xiaochen |
| | | * @Date 2023/02/15 9:42 |
| | | */ |
| | | public enum MainContentTypeEnum { |
| | | |
| | | |
| | | TRANSFER_ORDER(1, "转单"), |
| | | DRIVER_CANCEL_ORDER(2, "司机消单"), |
| | | USER_CANCEL_ORDER(3, "用户取消订单"); |
| | | |
| | | private String desc; |
| | | |
| | | |
| | | private int code; |
| | | |
| | | |
| | | MainContentTypeEnum(int code, String desc) { |
| | | this.code = code; |
| | | this.desc = desc; |
| | | } |
| | | |
| | | public String getDesc() { |
| | | return desc; |
| | | } |
| | | |
| | | public int getCode() { |
| | | return code; |
| | | } |
| | | |
| | | /** |
| | | * 通过code获取枚举 |
| | | * |
| | | * @param code |
| | | * @return |
| | | */ |
| | | public static MainContentTypeEnum fromCode(Integer code) { |
| | | MainContentTypeEnum[] resultTypes = MainContentTypeEnum.values(); |
| | | for (MainContentTypeEnum resultType : resultTypes) { |
| | | if (code.equals(resultType.getCode())) { |
| | | return resultType; |
| | | } |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | } |
| | |
| | | private Integer couponsSum; |
| | | |
| | | @ApiModelProperty(value = "消费次数") |
| | | private Integer ConsumptionTimes = 0; |
| | | private Integer consumptionTimes = 0; |
| | | |
| | | @ApiModelProperty(value = "历史消费") |
| | | private BigDecimal HistoricalConsumption = new BigDecimal("0.00"); |
| | | private BigDecimal historicalConsumption = new BigDecimal("0.00"); |
| | | |
| | | @ApiModelProperty(value = "最后一次消费时间") |
| | | private Date lastConsumptionTime; |
| | | |
| | | public Integer getConsumptionTimes() { |
| | | return consumptionTimes; |
| | | } |
| | | |
| | | public void setConsumptionTimes(Integer consumptionTimes) { |
| | | this.consumptionTimes = consumptionTimes; |
| | | } |
| | | |
| | | public BigDecimal getHistoricalConsumption() { |
| | | return historicalConsumption; |
| | | } |
| | | |
| | | public void setHistoricalConsumption(BigDecimal historicalConsumption) { |
| | | this.historicalConsumption = historicalConsumption; |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | |
| | | |
| | | public void setCouponsSum(Integer couponsSum) { |
| | | this.couponsSum = couponsSum; |
| | | } |
| | | |
| | | public Integer getConsumptionTimes() { |
| | | return ConsumptionTimes; |
| | | } |
| | | |
| | | public void setConsumptionTimes(Integer consumptionTimes) { |
| | | ConsumptionTimes = consumptionTimes; |
| | | } |
| | | |
| | | public BigDecimal getHistoricalConsumption() { |
| | | return HistoricalConsumption; |
| | | } |
| | | |
| | | public void setHistoricalConsumption(BigDecimal historicalConsumption) { |
| | | HistoricalConsumption = historicalConsumption; |
| | | } |
| | | |
| | | public Date getLastConsumptionTime() { |
| | |
| | | @ApiModelProperty(value = "银行账户") |
| | | private String bankAccount; |
| | | |
| | | @TableField(value = "serviceCalls") |
| | | @ApiModelProperty(value = "客服电话") |
| | | private String serviceCalls; |
| | | |
| | | |
| | | |
| | | |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "区域") |
| | |
| | | @ApiModelProperty(value = "区域id") |
| | | private String areaId; |
| | | |
| | | public String getServiceCalls() { |
| | | return serviceCalls; |
| | | } |
| | | |
| | | public void setServiceCalls(String serviceCalls) { |
| | | this.serviceCalls = serviceCalls; |
| | | } |
| | | |
| | | public String getAreaId() { |
| | | return areaId; |
| | | } |
| | |
| | | */ |
| | | private Date createTime; |
| | | |
| | | /** |
| | | * 是否显示 1是 0否 |
| | | */ |
| | | private Boolean show; |
| | | |
| | | /** |
| | | * 上下架 1上架 2下架 |
| | | */ |
| | | private Integer upDown; |
| | | |
| | | public Boolean getShow() { |
| | | return show; |
| | | } |
| | | |
| | | public void setShow(Boolean show) { |
| | | this.show = show; |
| | | } |
| | | |
| | | |
| | | public Integer getUpDown() { |
| | | return upDown; |
| | | } |
| | | |
| | | public void setUpDown(Integer upDown) { |
| | | this.upDown = upDown; |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.enums.IdType; |
| | | import java.math.BigDecimal; |
| | | 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-03-23 |
| | | */ |
| | | @TableName("t_cash_withdrawal") |
| | | public class TCashWithdrawal extends Model<TCashWithdrawal> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 类型(1=用户,2=司机) |
| | | */ |
| | | private Integer type; |
| | | /** |
| | | * 用户或司机id |
| | | */ |
| | | private Integer userDriverId; |
| | | /** |
| | | * 提现编号 |
| | | */ |
| | | private String code; |
| | | /** |
| | | * 交易类型 11佣金提现 12余额提现 |
| | | */ |
| | | private Integer businessType; |
| | | /** |
| | | * 提现金额 |
| | | */ |
| | | private BigDecimal amount; |
| | | /** |
| | | * 提现状态 1未成功 2成功 |
| | | */ |
| | | private Integer state; |
| | | /** |
| | | * 第三方流水号 |
| | | */ |
| | | private String orderNumber; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date createTime; |
| | | |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(Integer type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public Integer getUserDriverId() { |
| | | return userDriverId; |
| | | } |
| | | |
| | | public void setUserDriverId(Integer userDriverId) { |
| | | this.userDriverId = userDriverId; |
| | | } |
| | | |
| | | public String getCode() { |
| | | return code; |
| | | } |
| | | |
| | | public void setCode(String code) { |
| | | this.code = code; |
| | | } |
| | | |
| | | public Integer getBusinessType() { |
| | | return businessType; |
| | | } |
| | | |
| | | public void setBusinessType(Integer businessType) { |
| | | this.businessType = businessType; |
| | | } |
| | | |
| | | public BigDecimal getAmount() { |
| | | return amount; |
| | | } |
| | | |
| | | public void setAmount(BigDecimal amount) { |
| | | this.amount = amount; |
| | | } |
| | | |
| | | public Integer getState() { |
| | | return state; |
| | | } |
| | | |
| | | public void setState(Integer state) { |
| | | this.state = state; |
| | | } |
| | | |
| | | public String getOrderNumber() { |
| | | return orderNumber; |
| | | } |
| | | |
| | | public void setOrderNumber(String orderNumber) { |
| | | this.orderNumber = orderNumber; |
| | | } |
| | | |
| | | 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 "TCashWithdrawal{" + |
| | | "id=" + id + |
| | | ", type=" + type + |
| | | ", userDriverId=" + userDriverId + |
| | | ", code=" + code + |
| | | ", businessType=" + businessType + |
| | | ", amount=" + amount + |
| | | ", state=" + state + |
| | | ", orderNumber=" + orderNumber + |
| | | ", createTime=" + createTime + |
| | | "}"; |
| | | } |
| | | } |
| | |
| | | private Integer updateUserId; |
| | | |
| | | |
| | | /** |
| | | * 上下线 1上线 2下线 |
| | | */ |
| | | private Integer onOffLine; |
| | | |
| | | public Integer getOnOffLine() { |
| | | return onOffLine; |
| | | } |
| | | |
| | | public void setOnOffLine(Integer onOffLine) { |
| | | this.onOffLine = onOffLine; |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
New file |
| | |
| | | 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> |
| | | * H5富文本 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-24 |
| | | */ |
| | | @TableName("t_html") |
| | | public class THtml extends Model<THtml> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 类型(1=代驾服务协议与隐私政策保护,2=法律条款,3=个人信息处理规则,4=积分说明,5=佣金规则说明,6=行程录音说明,7=预估价格说明,8=加盟基本要求,9=加盟流程,10=起步价说明,11=注销协议,12=关于我们,13=司机消单说明) |
| | | */ |
| | | private Integer type; |
| | | /** |
| | | * H5内容 |
| | | */ |
| | | private String html; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date createTime; |
| | | |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(Integer type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public String getHtml() { |
| | | return html; |
| | | } |
| | | |
| | | public void setHtml(String html) { |
| | | this.html = html; |
| | | } |
| | | |
| | | 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 "THtml{" + |
| | | "id=" + id + |
| | | ", type=" + type + |
| | | ", html=" + html + |
| | | ", createTime=" + createTime + |
| | | "}"; |
| | | } |
| | | } |
New file |
| | |
| | | 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-03-28 |
| | | */ |
| | | @TableName("t_img") |
| | | public class TImg extends Model<TImg> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 数据类型(1=启动页) |
| | | */ |
| | | private Integer type; |
| | | /** |
| | | * 图片地址 |
| | | */ |
| | | private String img; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date createTime; |
| | | |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(Integer type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public String getImg() { |
| | | return img; |
| | | } |
| | | |
| | | public void setImg(String img) { |
| | | this.img = img; |
| | | } |
| | | |
| | | 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 "TImg{" + |
| | | "id=" + id + |
| | | ", type=" + type + |
| | | ", img=" + img + |
| | | ", createTime=" + createTime + |
| | | "}"; |
| | | } |
| | | } |
New file |
| | |
| | | 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-03-28 |
| | | */ |
| | | @TableName("t_main_content") |
| | | public class TMainContent extends Model<TMainContent> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 数据类型(1=转单,2=司机消单,3=用户取消订单) |
| | | */ |
| | | private Integer type; |
| | | /** |
| | | * 内容 |
| | | */ |
| | | private String content; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer status; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date createTime; |
| | | |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(Integer type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public String getContent() { |
| | | return content; |
| | | } |
| | | |
| | | public void setContent(String content) { |
| | | this.content = content; |
| | | } |
| | | |
| | | 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 "TMainContent{" + |
| | | "id=" + id + |
| | | ", type=" + type + |
| | | ", content=" + content + |
| | | ", status=" + status + |
| | | ", createTime=" + createTime + |
| | | "}"; |
| | | } |
| | | } |
| | |
| | | |
| | | @ApiModelProperty(value = "折扣优惠金额") |
| | | private BigDecimal discountAmount; |
| | | @ApiModelProperty(value = "实际里程(米)") |
| | | private Integer actualMileage; |
| | | |
| | | @ApiModelProperty(value = "是否已开票 1是 0否") |
| | | private Integer isInvoice; |
| | | |
| | | public Integer getIsInvoice() { |
| | | return isInvoice; |
| | | } |
| | | |
| | | public void setIsInvoice(Integer isInvoice) { |
| | | this.isInvoice = isInvoice; |
| | | } |
| | | |
| | | public Integer getActualMileage() { |
| | | return actualMileage; |
| | | } |
| | | |
| | | public void setActualMileage(Integer actualMileage) { |
| | | this.actualMileage = actualMileage; |
| | | } |
| | | |
| | | public String getRouteRecord() { |
| | | return routeRecord; |
| | |
| | | void detail(Integer agentId, Model model); |
| | | |
| | | List<TAgentResp> getAgentResp(List<TAgent> tAgents); |
| | | |
| | | /** |
| | | * 统计代理商 |
| | | * @param agentId |
| | | * @param model |
| | | */ |
| | | void getDataStatistics(Integer agentId, Model model); |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TAppUserResp; |
| | | import com.stylefeng.guns.modular.system.model.TAppUser; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import org.springframework.ui.Model; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @return |
| | | */ |
| | | EntityWrapper<TAppUser> getUserListWrapper(String createTime, String nickname, String phone, Integer id, Integer status); |
| | | |
| | | /** |
| | | * 用户异常列表封装返回数据 |
| | | * @param tAppUsers |
| | | * @return |
| | | */ |
| | | List<TAppUserResp> getTAppUserResp(List<TAppUser> tAppUsers); |
| | | |
| | | |
| | | } |
| | |
| | | import com.stylefeng.guns.modular.system.model.TBill; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 发票管理 服务类 |
| | |
| | | */ |
| | | EntityWrapper<TBill> getPageListWrapper(String createTime, String addresseePhone, Integer state, Integer billType, Integer billHeaderType); |
| | | |
| | | /** |
| | | * 获取列表 |
| | | * @param createTime |
| | | * @param addresseePhone |
| | | * @param state |
| | | * @param billType |
| | | * @param billHeaderType |
| | | * @return |
| | | */ |
| | | List<TBill> getPageList(String createTime, String addresseePhone, Integer state, Integer billType, Integer billHeaderType); |
| | | |
| | | } |
| | |
| | | * |
| | | * @return |
| | | */ |
| | | Boolean isExit(String id, Integer sort); |
| | | Boolean isExit(Integer id, Integer sort); |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TCashWithdrawal; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 提现记录 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-23 |
| | | */ |
| | | public interface ITCashWithdrawalService extends IService<TCashWithdrawal> { |
| | | |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TCommercial; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.stylefeng.guns.modular.system.model.TCommercial; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | public interface ITCommercialService extends IService<TCommercial> { |
| | | |
| | | /** |
| | | * 判断存在多少个弹窗广告 |
| | | * |
| | | * @return |
| | | */ |
| | | Boolean isExit(Integer id, Integer onOffLine); |
| | | |
| | | } |
| | |
| | | * @param model |
| | | */ |
| | | void driverCommissionDetail(Integer tDriverId, Model model); |
| | | |
| | | /** |
| | | * 统计司机数 |
| | | * @param agentId |
| | | * @param model |
| | | */ |
| | | void getDataStatistics(Integer agentId, Model model); |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.THtml; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * H5富文本 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-24 |
| | | */ |
| | | public interface ITHtmlService extends IService<THtml> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TImg; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系统图片 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-28 |
| | | */ |
| | | public interface ITImgService extends IService<TImg> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TMainContent; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 事由管理 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-28 |
| | | */ |
| | | public interface ITMainContentService extends IService<TMainContent> { |
| | | |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TOrderServerResp; |
| | | import com.stylefeng.guns.modular.system.model.TOrder; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import org.springframework.ui.Model; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | * @param model |
| | | */ |
| | | void orderExceptionDetail(Integer orderId, Model model); |
| | | |
| | | /** |
| | | * 订单统计,每年按月份 |
| | | * @param agentId |
| | | * @param model |
| | | */ |
| | | void getDataStatisticsByYear(Integer agentId,String yearDate, Model model); |
| | | |
| | | /** |
| | | * 单量 |
| | | * @param agentId |
| | | * @param monthDate |
| | | * @param model |
| | | */ |
| | | void getDataStatisticsOrderCount(Integer agentId, String monthDate, Model model); |
| | | |
| | | /** |
| | | * 查询统计待接单,服务中,已完成,已取消 |
| | | * @param agentId |
| | | * @param map |
| | | */ |
| | | void getDataStatisticsCount(Integer agentId, Map<String, Integer> map); |
| | | |
| | | /** |
| | | * 查询服务中的订单列表 |
| | | * @param agentId |
| | | * @return |
| | | */ |
| | | List<TOrderServerResp> getDataStatisticsServerList(Integer agentId); |
| | | |
| | | /** |
| | | * 查询今天所有订单 |
| | | * @param agentId |
| | | * @return |
| | | */ |
| | | List<TOrder> getDataStatisticsAllList(Integer agentId); |
| | | |
| | | } |
| | |
| | | * @param model |
| | | */ |
| | | void orderDetail(String code, Model model); |
| | | |
| | | /** |
| | | * 查询收入或佣金 |
| | | * @param agentId |
| | | * @param monthDate |
| | | * @param type |
| | | * @param model |
| | | */ |
| | | void getDataStatisticsIncomeOrCommission(Integer agentId, String monthDate, Integer type, Model model); |
| | | } |
| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | model.addAttribute("principal",tAgent.getPrincipal()); |
| | | model.addAttribute("principalPhone",tAgent.getPrincipalPhone()); |
| | | model.addAttribute("email",tAgent.getEmail()); |
| | | model.addAttribute("serviceCalls",tAgent.getServiceCalls()); |
| | | model.addAttribute("area",tAgent.getProvinceName()+tAgent.getCityName()); |
| | | // 订单信息 |
| | | // 订单总量 |
| | |
| | | } |
| | | return tAgentRespList; |
| | | } |
| | | |
| | | @Override |
| | | public void getDataStatistics(Integer agentId, Model model) { |
| | | // 代理商总数 |
| | | Integer agentTotal = tAgentMapper.selectCount(new EntityWrapper<TAgent>() |
| | | .eq("id", agentId)); |
| | | // 代理商最近一个月新增数量 |
| | | LocalDate now = LocalDate.now(); |
| | | LocalDate localDate = now.plusMonths(1); |
| | | Integer agentMonthTotal = tAgentMapper.selectCount(new EntityWrapper<TAgent>() |
| | | .eq("id", agentId) |
| | | .between("createTime", localDate, now)); |
| | | model.addAttribute("agentTotal",agentTotal); |
| | | model.addAttribute("agentMonthTotal",agentMonthTotal); |
| | | } |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TAppUserResp; |
| | | import com.stylefeng.guns.modular.system.dao.TCouponMapper; |
| | | import com.stylefeng.guns.modular.system.dao.TOrderMapper; |
| | | import com.stylefeng.guns.modular.system.dao.TUserToCouponMapper; |
| | |
| | | import com.stylefeng.guns.modular.system.model.TUserToCoupon; |
| | | import com.stylefeng.guns.modular.system.service.ITAppUserService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.ui.Model; |
| | |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | |
| | | wrapper.ne("status", StatusEnum.DELETE.getCode()); |
| | | return wrapper; |
| | | } |
| | | |
| | | @Override |
| | | public List<TAppUserResp> getTAppUserResp(List<TAppUser> tAppUsers) { |
| | | List<TAppUserResp> tAppUserRespList = new ArrayList<>(tAppUsers.size()); |
| | | for (TAppUser tAppUser : tAppUsers) { |
| | | TAppUserResp tAppUserResp = new TAppUserResp(); |
| | | BeanUtils.copyProperties(tAppUser,tAppUserResp); |
| | | |
| | | // 查询当前用户优惠券数量 |
| | | List<TUserToCoupon> tUserToCoupons = tUserToCouponMapper.selectList(new EntityWrapper<TUserToCoupon>().eq("userId", tAppUser.getId())); |
| | | |
| | | int couponTotal = tUserToCoupons.stream().mapToInt(TUserToCoupon::getCouponTotal).sum(); |
| | | int validCount = tUserToCoupons.stream().mapToInt(TUserToCoupon::getValidCount).sum(); |
| | | |
| | | // List<TCoupon> tCoupons = tCouponService.selectList(new EntityWrapper<TCoupon>().eq("user_id", tAppUser.getId())); |
| | | // List<TCoupon> notUsedList = tCoupons.stream().filter(coupon -> coupon.getCouponStatus().equals(CouponStatusEnum.NOT_USED.getCode())).collect(Collectors.toList()); |
| | | tAppUserResp.setCouponSum(couponTotal); |
| | | tAppUserResp.setNotUsedCount(validCount); |
| | | List<TOrder> orders = tOrderMapper.selectList(new EntityWrapper<TOrder>().eq("userId", tAppUser.getId()).orderBy(true,"createTime",false)); |
| | | if(!CollectionUtils.isEmpty(orders)){ |
| | | // 最后一次消费时间 |
| | | tAppUserResp.setLastConsumptionTime(orders.get(0).getCreateTime()); |
| | | List<TOrder> collect1 = orders.stream().filter(order->Objects.nonNull(order.getState())) |
| | | .filter(order -> OrderStateEnum.WAIT_EVALUATED.getCode() == order.getState() || |
| | | OrderStateEnum.FINISH.getCode() == order.getState()).collect(Collectors.toList()); |
| | | if(!CollectionUtils.isEmpty(collect1)) { |
| | | tAppUserResp.setConsumeSum(collect1.size()); |
| | | // 总消费金额 |
| | | collect1.stream().map(TOrder::getPayMoney).reduce(BigDecimal::add) |
| | | .ifPresent(tAppUserResp::setConsumePrice); |
| | | } |
| | | } |
| | | tAppUserRespList.add(tAppUserResp); |
| | | } |
| | | return tAppUserRespList; |
| | | } |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TRechargeRecordUserResp; |
| | | import com.stylefeng.guns.modular.system.model.TBill; |
| | | import com.stylefeng.guns.modular.system.dao.TBillMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITBillService; |
| | | 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; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | */ |
| | | @Service |
| | | public class TBillServiceImpl extends ServiceImpl<TBillMapper, TBill> implements ITBillService { |
| | | |
| | | @Autowired |
| | | private TBillMapper tBillMapper; |
| | | |
| | | @Override |
| | | public EntityWrapper<TBill> getPageListWrapper(String createTime, String addresseePhone, Integer state, Integer billType, Integer billHeaderType) { |
| | |
| | | } |
| | | return wrapper; |
| | | } |
| | | |
| | | @Override |
| | | public List<TBill> getPageList(String createTime, String addresseePhone, Integer state, Integer billType, Integer billHeaderType) { |
| | | String startTime = null; |
| | | String endTime = null; |
| | | // 开始,结束时间 |
| | | if(StringUtils.hasLength(createTime)){ |
| | | String[] split = createTime.split(" - "); |
| | | startTime = split[0]; |
| | | endTime = split[1]; |
| | | } |
| | | Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType(); |
| | | Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId(); |
| | | return tBillMapper.getPageList(startTime, endTime, addresseePhone,state,billType,billHeaderType,roleType,objectId); |
| | | } |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.TBroadcast; |
| | | import com.stylefeng.guns.modular.system.dao.TBroadcastMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITBroadcastService; |
| | |
| | | private TBroadcastMapper tBroadcastMapper; |
| | | |
| | | @Override |
| | | public Boolean isExit(String id, Integer sort) { |
| | | public Boolean isExit(Integer id, Integer sort) { |
| | | Integer count = tBroadcastMapper.selectCount(new EntityWrapper<TBroadcast>() |
| | | .eq("sort", sort)); |
| | | if (StringUtils.hasLength(id)) { |
| | | .eq("sort", sort) |
| | | .ne("status", StatusEnum.DELETE.getCode())); |
| | | if (Objects.nonNull(id)) { |
| | | // 修改 |
| | | TBroadcast tBroadcast = tBroadcastMapper.selectById(id); |
| | | return Objects.nonNull(tBroadcast) && !tBroadcast.getSort().equals(sort) && count > 0; |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TCashWithdrawal; |
| | | import com.stylefeng.guns.modular.system.dao.TCashWithdrawalMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITCashWithdrawalService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 提现记录 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-23 |
| | | */ |
| | | @Service |
| | | public class TCashWithdrawalServiceImpl extends ServiceImpl<TCashWithdrawalMapper, TCashWithdrawal> implements ITCashWithdrawalService { |
| | | |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.modular.system.dao.TBroadcastMapper; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.TBroadcast; |
| | | import com.stylefeng.guns.modular.system.model.TCommercial; |
| | | import com.stylefeng.guns.modular.system.dao.TCommercialMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITCommercialService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | @Service |
| | | public class TCommercialServiceImpl extends ServiceImpl<TCommercialMapper, TCommercial> implements ITCommercialService { |
| | | |
| | | @Autowired |
| | | private TCommercialMapper tCommercialMapper; |
| | | |
| | | @Override |
| | | public Boolean isExit(Integer id,Integer onOffLine) { |
| | | List<TCommercial> list = tCommercialMapper.selectList(new EntityWrapper<TCommercial>() |
| | | .eq("type", 1) |
| | | .eq("onOffLine", onOffLine) |
| | | .ne("status", StatusEnum.DELETE.getCode())); |
| | | if (Objects.nonNull(id)) { |
| | | if(!CollectionUtils.isEmpty(list)){ |
| | | List<Integer> ids = list.stream().map(TCommercial::getId).collect(Collectors.toList()); |
| | | // 修改 |
| | | TCommercial tCommercial = tCommercialMapper.selectById(id); |
| | | return Objects.nonNull(tCommercial) && !ids.contains(id) && list.size() > 3; |
| | | }else { |
| | | return false; |
| | | } |
| | | } else { |
| | | // 新增 |
| | | return list.size() > 3; |
| | | } |
| | | } |
| | | } |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TComplaintResp; |
| | | import com.stylefeng.guns.modular.system.dao.TAppUserMapper; |
| | | import com.stylefeng.guns.modular.system.dao.TDriverMapper; |
| | |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | startTime = split[0]; |
| | | endTime = split[1]; |
| | | } |
| | | return tComplaintMapper.getPageList(startTime,endTime,userName,userPhone,driverPhone,state); |
| | | Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType(); |
| | | Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId(); |
| | | return tComplaintMapper.getPageList(startTime,endTime,userName,userPhone,driverPhone,state,roleType,objectId); |
| | | } |
| | | } |
| | |
| | | import com.stylefeng.guns.modular.system.controller.util.UUIDUtil; |
| | | import com.stylefeng.guns.modular.system.dao.*; |
| | | import com.stylefeng.guns.modular.system.enums.OrderStateEnum; |
| | | import com.stylefeng.guns.modular.system.enums.PayStatusEnum; |
| | | import com.stylefeng.guns.modular.system.enums.StatusEnum; |
| | | import com.stylefeng.guns.modular.system.enums.UserTypeEnum; |
| | | import com.stylefeng.guns.modular.system.model.*; |
| | | import com.stylefeng.guns.modular.system.service.ITDriverService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.stylefeng.guns.modular.system.service.ITRegionService; |
| | | import org.apache.poi.hdf.extractor.TC; |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | |
| | | import java.time.LocalDate; |
| | | import java.time.Period; |
| | | import java.time.ZoneId; |
| | | import java.util.ArrayList; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.*; |
| | | import java.util.concurrent.atomic.AtomicInteger; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | private ITRegionService itRegionService; |
| | | @Autowired |
| | | private HttpUtils httpUtils; |
| | | |
| | | @Autowired |
| | | private TRechargeRecordMapper tRechargeRecordMapper; |
| | | @Autowired |
| | | private TCashWithdrawalMapper tCashWithdrawalMapper; |
| | | |
| | | @Override |
| | | public EntityWrapper<TDriver> getPageList(String createTime, String phone, Integer status) { |
| | |
| | | |
| | | if(!CollectionUtils.isEmpty(tOrders)){ |
| | | //累计订单量 |
| | | List<TOrder> cumulativeOrderCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId()) |
| | | List<TOrder> cumulativeOrderCount = tOrders.stream().filter(order -> tDriver.getId().equals(order.getDriverId()) |
| | | && order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()) && order.getState().equals(OrderStateEnum.FINISH.getCode())).collect(Collectors.toList()); |
| | | model.addAttribute("cumulativeOrderCount",cumulativeOrderCount.size()); |
| | | //当月订单量 |
| | | List<TOrder> monthOrderCount = tOrders.stream().filter(order -> order.getDriverId().equals(tDriver.getId()) |
| | | List<TOrder> monthOrderCount = tOrders.stream().filter(order -> tDriver.getId().equals(order.getDriverId()) |
| | | && order.getState().equals(OrderStateEnum.WAIT_EVALUATED.getCode()) && order.getState().equals(OrderStateEnum.FINISH.getCode()) |
| | | && new SimpleDateFormat("yyyyMM").format(order.getCreateTime()).equals(monthDate)).collect(Collectors.toList()); |
| | | model.addAttribute("monthOrderCount",monthOrderCount.size()); |
| | | // 拒单次数 |
| | | List<TOrderRefusal> driverRefusalList = tOrderRefusalMapper.selectList(new EntityWrapper<TOrderRefusal>().eq("driver_id", tDriver.getId())); |
| | | model.addAttribute("refusalCount",driverRefusalList.size()); |
| | | // todo 累计收入 |
| | | model.addAttribute("cumulativeIncome",0); |
| | | // 累计收入 司机提现记录加上余额减去充值金额,为累计收入 |
| | | List<TCashWithdrawal> tCashWithdrawals = tCashWithdrawalMapper.selectList(new EntityWrapper<TCashWithdrawal>() |
| | | .eq("type", UserTypeEnum.DRIVER.getCode()) |
| | | .eq("userDriverId", tDriver.getId()) |
| | | .eq("state", 2)); |
| | | BigDecimal balance = tDriver.getBalance(); |
| | | if(!CollectionUtils.isEmpty(tCashWithdrawals)){ |
| | | Optional<BigDecimal> reduce = tCashWithdrawals.stream().map(TCashWithdrawal::getAmount).reduce(BigDecimal::add); |
| | | if(reduce.isPresent()){ |
| | | balance = balance.add(reduce.get()); |
| | | } |
| | | } |
| | | List<TRechargeRecord> tRechargeRecords = tRechargeRecordMapper.selectList(new EntityWrapper<TRechargeRecord>() |
| | | .eq("type", UserTypeEnum.DRIVER.getCode()) |
| | | .eq("userId", tDriver.getId()) |
| | | .eq("payType", 1) |
| | | .eq("payStatus", PayStatusEnum.FINISH.getCode())); |
| | | if(!CollectionUtils.isEmpty(tRechargeRecords)){ |
| | | Optional<BigDecimal> reduce = tRechargeRecords.stream().map(TRechargeRecord::getAmount).reduce(BigDecimal::add); |
| | | if(reduce.isPresent()){ |
| | | balance = balance.subtract(reduce.get()); |
| | | } |
| | | } |
| | | // 减去充值金额 |
| | | model.addAttribute("cumulativeIncome",balance); |
| | | }else { |
| | | model.addAttribute("cumulativeOrderCount",0); |
| | | model.addAttribute("monthOrderCount",0); |
| | |
| | | // commissionResp.setAccumulatedCommission(BigDecimal.ZERO); |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void getDataStatistics(Integer agentId, Model model) { |
| | | // 司机总数 |
| | | Integer driverTotal = tDriverMapper.selectCount(new EntityWrapper<TDriver>() |
| | | .eq("agentId", agentId)); |
| | | // 司机最近一月数量 |
| | | LocalDate now = LocalDate.now(); |
| | | LocalDate localDate = now.plusMonths(1); |
| | | Integer driverMonthTotal = tDriverMapper.selectCount(new EntityWrapper<TDriver>() |
| | | .eq("agentId", agentId) |
| | | .between("createTime", localDate, now)); |
| | | model.addAttribute("driverTotal",driverTotal); |
| | | model.addAttribute("driverMonthTotal",driverMonthTotal); |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.THtml; |
| | | import com.stylefeng.guns.modular.system.dao.THtmlMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITHtmlService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * H5富文本 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-24 |
| | | */ |
| | | @Service |
| | | public class THtmlServiceImpl extends ServiceImpl<THtmlMapper, THtml> implements ITHtmlService { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TImg; |
| | | import com.stylefeng.guns.modular.system.dao.TImgMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITImgService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系统图片 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-28 |
| | | */ |
| | | @Service |
| | | public class TImgServiceImpl extends ServiceImpl<TImgMapper, TImg> implements ITImgService { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TMainContent; |
| | | import com.stylefeng.guns.modular.system.dao.TMainContentMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITMainContentService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 事由管理 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-28 |
| | | */ |
| | | @Service |
| | | public class TMainContentServiceImpl extends ServiceImpl<TMainContentMapper, TMainContent> implements ITMainContentService { |
| | | |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.controller.resp.DataStatisticsOrderYearResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TOrderServerResp; |
| | | import com.stylefeng.guns.modular.system.dao.TAppUserMapper; |
| | | import com.stylefeng.guns.modular.system.dao.TBranchOfficeMapper; |
| | | import com.stylefeng.guns.modular.system.dao.TDriverMapper; |
| | | import com.stylefeng.guns.modular.system.enums.OrderStateEnum; |
| | | import com.stylefeng.guns.modular.system.model.TAppUser; |
| | | import com.stylefeng.guns.modular.system.model.TBranchOffice; |
| | | import com.stylefeng.guns.modular.system.model.TDriver; |
| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.time.LocalDate; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | |
| | | this.orderDetail(orderId,model); |
| | | model.addAttribute("orderId",orderId); |
| | | } |
| | | |
| | | @Override |
| | | public void getDataStatisticsByYear(Integer agentId,String yearDate, Model model) { |
| | | List<DataStatisticsOrderYearResp> data = tOrderMapper.getDataStatisticsByYear(agentId,yearDate); |
| | | System.err.println(data); |
| | | model.addAttribute("yearResp",data); |
| | | } |
| | | |
| | | @Override |
| | | public void getDataStatisticsOrderCount(Integer agentId, String monthDate, Model model) { |
| | | List<PerformanceTableResp> list = tOrderMapper.getDataStatisticsOrderCount(agentId,monthDate); |
| | | model.addAttribute("performanceResp",list); |
| | | } |
| | | |
| | | @Override |
| | | public void getDataStatisticsCount(Integer agentId, Map<String, Integer> map) { |
| | | Integer pendingOrderCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.PENDING_ORDER.getCode(), LocalDate.now()); |
| | | Integer finishCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.FINISH.getCode(),LocalDate.now()); |
| | | Integer cancelCount = tOrderMapper.getDataStatisticsCount(agentId, OrderStateEnum.CANCELED.getCode(),LocalDate.now()); |
| | | |
| | | Integer serverCount = tOrderMapper.getDataStatisticsServerCount(agentId, LocalDate.now()); |
| | | |
| | | map.put("pendingOrderCount",pendingOrderCount); |
| | | map.put("finishCount",finishCount); |
| | | map.put("cancelCount",cancelCount); |
| | | map.put("serverCount",serverCount); |
| | | } |
| | | |
| | | @Override |
| | | public List<TOrderServerResp> getDataStatisticsServerList(Integer agentId) { |
| | | return tOrderMapper.getDataStatisticsServerList(agentId,LocalDate.now()); |
| | | } |
| | | |
| | | @Override |
| | | public List<TOrder> getDataStatisticsAllList(Integer agentId) { |
| | | return tOrderMapper.getDataStatisticsAllList(agentId,LocalDate.now()); |
| | | } |
| | | } |
| | |
| | | |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | startTime = split[0]; |
| | | endTime = split[1]; |
| | | } |
| | | return tRechargeRecordMapper.userRecharge(startTime,endTime,userName,userPhone,code); |
| | | Integer roleType = Objects.requireNonNull(ShiroKit.getUser()).getRoleType(); |
| | | Integer objectId = Objects.requireNonNull(ShiroKit.getUser()).getObjectId(); |
| | | List<TRechargeRecordUserResp> userRecharge = tRechargeRecordMapper.userRecharge(startTime, endTime, userName, userPhone, code); |
| | | if(3 == roleType){ |
| | | userRecharge = userRecharge.stream().filter(recharge -> recharge.getAgentId().equals(objectId)).collect(Collectors.toList()); |
| | | } |
| | | // if(2 == roleType){ |
| | | // userRecharge = userRecharge.stream().filter(recharge -> recharge.getBranchOfficeId().equals(objectId)).collect(Collectors.toList()); |
| | | // } |
| | | return userRecharge; |
| | | } |
| | | |
| | | @Override |
| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.shiro.ShiroKit; |
| | | import com.stylefeng.guns.modular.system.controller.resp.PerformanceTableResp; |
| | | import com.stylefeng.guns.modular.system.controller.resp.RevenueExpenditureResp; |
| | | import com.stylefeng.guns.modular.system.dao.*; |
| | | import com.stylefeng.guns.modular.system.enums.CashWithdrawalTypeEnum; |
| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | import java.util.Optional; |
| | |
| | | model.addAttribute("evaluateContent",""); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public void getDataStatisticsIncomeOrCommission(Integer agentId, String monthDate, Integer type, Model model) { |
| | | List<PerformanceTableResp> list = new ArrayList<>(); |
| | | if(2 == type){ |
| | | list = tRevenueMapper.getDataStatisticsIncomeOrCommission(agentId,1,monthDate); |
| | | } |
| | | if (3 == type){ |
| | | list = tRevenueMapper.getDataStatisticsIncomeOrCommission(agentId,2,monthDate); |
| | | } |
| | | model.addAttribute("performanceResp",list); |
| | | } |
| | | } |
| | |
| | | spring: |
| | | profiles: local |
| | | datasource: |
| | | url: jdbc:mysql://192.168.0.80:3306/super_save_driving?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8 |
| | | url: jdbc:mysql://192.168.110.80:3306/super_save_driving?autoReconnect=true&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=CONVERT_TO_NULL&useSSL=false&serverTimezone=GMT%2B8 |
| | | username: root |
| | | password: 123456 |
| | | db-name: super_save_driving #用来搜集数据库的所有表 |
| | |
| | | <#button name="重置" icon="fa-trash" clickFun="TAgent.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <button type="button" class="btn btn-primary " onclick="TAgent.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | @if(shiro.hasPermission("/tAgent/export")){ |
| | | <#button name="导出" icon="" clickFun="TAgent.export()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tAgent/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TAgent.openAddTAgent()"/> |
| | | @} |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >客服电话:</label> |
| | | <label>${serviceCalls}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <hr/> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div style="background-color: gray;height: 35px;line-height: 35px"> |
| | |
| | | <input id="bankAccount" name="bankAccount" type="number" maxlength="20" placeholder="请输入" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <label class="control-label" >客服电话:</label> |
| | | <input id="serviceCalls" name="serviceCalls" type="number" maxlength="20" placeholder="请输入" style="height: 30px"> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | |
| | | <#button name="重置" icon="fa-trash" clickFun="TAppUser.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <button type="button" class="btn btn-primary " onclick="TAppUser.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | @if(shiro.hasPermission("/tAppUser/export-userInfo")){ |
| | | <#button name="导出" icon="" clickFun="TAppUser.export()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tAppUser/add")){ |
| | | <#button name="异常" icon="" clickFun="TAppUserException.tAppUserException()"/> |
| | | <button type="button" class="btn btn-primary " onclick="TAppUser.searchCoupon()" id=""> |
| | | <i class="fa "></i> 赠送优惠劵 |
| | | </button> |
| | | @} |
| | | @if(shiro.hasPermission("/tAppUser/sendCoupon")){ |
| | | <#button name="赠送优惠劵" icon="" clickFun="TAppUser.searchCoupon()"/> |
| | | @} |
| | | </div> |
| | | </div> |
| | | <!--<div class="hidden-xs" id="TAppUserTableToolbar" role="group"> |
| | |
| | | </button> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TAppUserTableToolbar" role="group"> |
| | | <!--<div class="hidden-xs" id="TAppUserTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tAppUser/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TAppUser.openAddTAppUser()"/> |
| | | @} |
| | |
| | | @if(shiro.hasPermission("/tAppUser/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TAppUser.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | </div>--> |
| | | <#table id="TAppUserExceptionTable"/> |
| | | </div> |
| | | </div> |
| | |
| | | <#button name="重置" icon="fa-trash" clickFun="TBill.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-12"> |
| | | <button type="button" class="btn btn-primary " onclick="TBill.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | @if(shiro.hasPermission("/tBill/export")){ |
| | | <#button name="导出" icon="" clickFun="TBill.export()"/> |
| | | @} |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TBillTableToolbar" role="group"> |
| | |
| | | @if(shiro.hasPermission("/tBranchOffice/update")){ |
| | | <#button name="编辑" icon="fa-edit" clickFun="TBranchOffice.openTBranchOfficeDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tBranchOffice/stop")){ |
| | | <#button name="冻结" icon="fa-edit" clickFun="TBranchOffice.stop()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tBranchOffice/start")){ |
| | | <#button name="启动" icon="fa-edit" clickFun="TBranchOffice.start()" space="true"/> |
| | | @} |
| | | </div> |
| | | </div> |
| | | <!--<div class="hidden-xs" id="TBranchOfficeTableToolbar" role="group"> |
| | |
| | | @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="content" name="消息内容" underline="true"/> |
| | | <#input id="sort" name="排序"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="status" name="状态(1=正常,2=冻结,3=删除)" underline="true"/> |
| | | <#input id="createTime" name="添加时间" underline="true"/> |
| | | </div> |
| | | <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" id="broadcastInfoForm"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBroadcastInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBroadcastInfoDlg.close()"/> |
| | | <div class="col-sm-12" style="cursor: pointer;text-align: right;"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <label >滚动消息</label> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >消息内容:</label> |
| | | <input id="content" name="content" type="text" maxlength="200" placeholder="请输入" style="height: 30px" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >排序:</label> |
| | | <input id="sort" name="sort" type="number" style="height: 30px" maxlength="4" placeholder="请输入" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >是否显示:</label> |
| | | <select id="show" style="width: 180px;height: 30px" name="show"> |
| | | <option value="">选择是否显示</option> |
| | | <option value="true">是</option> |
| | | <option value="false">否</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBroadcastInfoDlg.close()"/> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBroadcastInfoDlg.addSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tBroadcast/tBroadcast_info.js"></script> |
| | |
| | | @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="content" name="消息内容" value="${item.content}" underline="true"/> |
| | | <#input id="sort" name="排序" value="${item.sort}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/> |
| | | <#input id="createTime" name="添加时间" value="${item.createTime}" /> |
| | | </div> |
| | | <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" id="broadcastInfoForm"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="col-sm-12" style="cursor: pointer;text-align: right;"> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBroadcastInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBroadcastInfoDlg.close()"/> |
| | | <input hidden id="id" value="${item.id}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div style="background-color: gray;height: 35px;line-height: 35px"> |
| | | <label style="color: #0C0C0C">滚动消息</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >消息内容:</label> |
| | | <input id="content" value="${item.content}" type="text" maxlength="200" style="height: 30px" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >排序:</label> |
| | | <input id="sort" value="${item.sort}" type="number" style="height: 30px" maxlength="4" placeholder="请输入" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >是否显示:</label> |
| | | <select id="show" style="width: 180px;height: 30px"> |
| | | <option value="true"${item.show == true ? 'selected=selected' : ''}>是</option> |
| | | <option value="false"${item.show == false ? 'selected=selected' : ''}>否</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TBroadcastInfoDlg.close()"/> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TBroadcastInfoDlg.editSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tBroadcast/tBroadcast_info.js"></script> |
| | |
| | | <div class="ibox-content"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | <div class="row"> |
| | | <!--<div class="row"> |
| | | <div class="col-sm-3"> |
| | | <#NameCon id="condition" name="名称" /> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TCommercial.search()"/> |
| | | </div> |
| | | </div> |
| | | </div>--> |
| | | <div class="hidden-xs" id="TCommercialTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tCommercial/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TCommercial.openAddTCommercial()"/> |
| | |
| | | @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="type" name="类型(1=弹窗广告,2=底部广告)" underline="true"/> |
| | | <#input id="name" name="名称" underline="true"/> |
| | | <#input id="url" name="广告地址" underline="true"/> |
| | | <#input id="device" name="设备(1=小程序,2=司机端)" underline="true"/> |
| | | <#input id="isJump" name="是否跳转(0=否,1=是)" underline="true"/> |
| | | <#input id="jumpType" name="跳转类型(1=内部跳转,2=外部跳转)" underline="true"/> |
| | | <#input id="jumpUrl" name="跳转连接"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="html" name="富文本" underline="true"/> |
| | | <#input id="sort" name="排序" underline="true"/> |
| | | <#input id="status" name="状态(1=正常,2=冻结,3=删除)" underline="true"/> |
| | | <#input id="createTime" name="添加时间" underline="true"/> |
| | | <#input id="createUserId" name="添加人员id" underline="true"/> |
| | | <#input id="updateTime" name="更新时间" underline="true"/> |
| | | <#input id="updateUserId" name="更新人员id" underline="true"/> |
| | | </div> |
| | | <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" id="commercialInfoForm"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCommercialInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCommercialInfoDlg.close()"/> |
| | | <div class="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >广告图名称:</label> |
| | | <input id="name" name="name" type="text" maxlength="40" placeholder="请输入广告图名称" style="height: 30px" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >广告图图片:</label> |
| | | <#uploadImg id="url" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >端  口: </label> |
| | | <select id="device" style="width: 180px;height: 30px" name="device"> |
| | | <option value="">选择端口</option> |
| | | <option value="2">司机端</option> |
| | | <option value="1">小程序端</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >广告类型: </label> |
| | | <select id="type" style="width: 180px;height: 30px" name="type"> |
| | | <option value="">选择广告类型</option> |
| | | <option value="1">弹窗广告</option> |
| | | <option value="2" id="homePageBanner">首页底部广告</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >是否跳转: </label> |
| | | <select id="isJump" style="width: 180px;height: 30px" name="isJump"> |
| | | <option value="">选择是否跳转</option> |
| | | <option value="1">是</option> |
| | | <option value="0">否</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="jumpTypeIsShow" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >跳转类型: </label> |
| | | <select id="jumpType" style="width: 180px;height: 30px" name="jumpType"> |
| | | <option value="">选择跳转类型</option> |
| | | <option value="1">内部跳转</option> |
| | | <option value="2">外部跳转</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="jumpUrlIsShow" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >跳转链接: </label> |
| | | <input id="jumpUrl" name="jumpUrl" type="number" style="height: 30px" maxlength="200" placeholder="请输入跳转链接" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >排  序: </label> |
| | | <input id="sort" name="sort" type="number" style="height: 30px" maxlength="4" placeholder="请输入排序" required="required"> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >详情内容: </label> |
| | | <textarea type="text/plain" id="html" style="width:100%;height:350px;"></textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCommercialInfoDlg.close()"/> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCommercialInfoDlg.addSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tCommercial/tCommercial_info.js"></script> |
| | | <script type="text/javascript"> |
| | | $(function () { |
| | | var idCardPositive = new $WebUpload("url"); |
| | | idCardPositive.setUploadBarId("progressBar"); |
| | | idCardPositive.init(); |
| | | }); |
| | | //监听下拉菜单的变动操作 |
| | | $("#isJump").change(function(){ |
| | | if(this.value == 1){ |
| | | $("#jumpTypeIsShow").show() |
| | | $("#jumpUrlIsShow").show() |
| | | } |
| | | if(this.value == 0){ |
| | | $("#jumpTypeIsShow").hide() |
| | | $("#jumpUrlIsShow").hide() |
| | | } |
| | | }) |
| | | //监听下拉菜单的变动操作 |
| | | $("#device").change(function(){ |
| | | if(this.value == 1){ |
| | | $("#homePageBanner").show() |
| | | } |
| | | if(this.value == 2){ |
| | | $("#homePageBanner").hide() |
| | | } |
| | | }) |
| | | </script> |
| | | @} |
| | |
| | | @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="type" name="类型(1=弹窗广告,2=底部广告)" value="${item.type}" underline="true"/> |
| | | <#input id="name" name="名称" value="${item.name}" underline="true"/> |
| | | <#input id="url" name="广告地址" value="${item.url}" underline="true"/> |
| | | <#input id="device" name="设备(1=小程序,2=司机端)" value="${item.device}" underline="true"/> |
| | | <#input id="isJump" name="是否跳转(0=否,1=是)" value="${item.isJump}" underline="true"/> |
| | | <#input id="jumpType" name="跳转类型(1=内部跳转,2=外部跳转)" value="${item.jumpType}" underline="true"/> |
| | | <#input id="jumpUrl" name="跳转连接" value="${item.jumpUrl}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="html" name="富文本" value="${item.html}" underline="true"/> |
| | | <#input id="sort" name="排序" value="${item.sort}" underline="true"/> |
| | | <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/> |
| | | <#input id="createTime" name="添加时间" value="${item.createTime}" underline="true"/> |
| | | <#input id="createUserId" name="添加人员id" value="${item.createUserId}" underline="true"/> |
| | | <#input id="updateTime" name="更新时间" value="${item.updateTime}" underline="true"/> |
| | | <#input id="updateUserId" name="更新人员id" value="${item.updateUserId}" /> |
| | | </div> |
| | | <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" id="commercialInfoForm"> |
| | | <div class="row row-lg"> |
| | | <div class="col-sm-12"> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCommercialInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCommercialInfoDlg.close()"/> |
| | | <input hidden id="id" value="${item.id}"> |
| | | <div class="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >广告图名称:</label> |
| | | <input id="name" value="${item.name}" type="text" maxlength="40" placeholder="请输入广告图名称" style="height: 30px" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >广告图图片:</label> |
| | | <#uploadImg id="url" fileImg="${item.url}"/> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >端  口: </label> |
| | | <select id="device" style="width: 180px;height: 30px" name="device"> |
| | | <option value="2"${item.device == 2 ? 'selected=selected' : ''}>司机端</option> |
| | | <option value="1"${item.device == 1 ? 'selected=selected' : ''}>小程序端</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >广告类型: </label> |
| | | <select id="type" style="width: 180px;height: 30px" name="type"> |
| | | <option value="1"${item.type == 1 ? 'selected=selected' : ''}>弹窗广告</option> |
| | | <option id="homePageBanner" value="2"${item.type == 2 ? 'selected=selected' : ''}>首页底部广告</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >是否跳转: </label> |
| | | <select id="isJump" style="width: 180px;height: 30px" name="isJump"> |
| | | <option value="1"${item.isJump == 1 ? 'selected=selected' : ''}>是</option> |
| | | <option value="0"${item.isJump == 0 ? 'selected=selected' : ''}>否</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="jumpTypeIsShow" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >跳转类型: </label> |
| | | <select id="jumpType" style="width: 180px;height: 30px" name="jumpType"> |
| | | <option value="1"${item.jumpType == 1 ? 'selected=selected' : ''}>内部跳转</option> |
| | | <option value="2"${item.jumpType == 2 ? 'selected=selected' : ''}>外部跳转</option> |
| | | </select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="jumpUrlIsShow" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >跳转链接: </label> |
| | | <input id="jumpUrl" value="${item.jumpUrl}" type="text" style="height: 30px" maxlength="200" placeholder="请输入跳转链接" required="required"> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >排  序: </label> |
| | | <input id="sort" value="${item.sort}" type="number" style="height: 30px" maxlength="4" placeholder="请输入排序" required="required"> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >详情内容: </label> |
| | | <textarea type="text/plain" id="html" style="width:100%;height:350px;">${item.html}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TCommercialInfoDlg.close()"/> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TCommercialInfoDlg.editSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tCommercial/tCommercial_info.js"></script> |
| | | <script type="text/javascript"> |
| | | $(function () { |
| | | var idCardPositive = new $WebUpload("url"); |
| | | idCardPositive.setUploadBarId("progressBar"); |
| | | idCardPositive.init(); |
| | | |
| | | if(1 == $("#isJump").val()){ |
| | | $("#jumpTypeIsShow").show() |
| | | $("#jumpUrlIsShow").show() |
| | | }else { |
| | | $("#jumpTypeIsShow").hide() |
| | | $("#jumpUrlIsShow").hide() |
| | | } |
| | | |
| | | if(1 == $("#device").val()){ |
| | | $("#homePageBanner").show() |
| | | }else { |
| | | $("#homePageBanner").hide() |
| | | } |
| | | |
| | | }); |
| | | //监听下拉菜单的变动操作 |
| | | $("#isJump").change(function(){ |
| | | if(this.value == 1){ |
| | | $("#jumpTypeIsShow").show() |
| | | $("#jumpUrlIsShow").show() |
| | | } |
| | | if(this.value == 0){ |
| | | $("#jumpTypeIsShow").hide() |
| | | $("#jumpUrlIsShow").hide() |
| | | } |
| | | }) |
| | | //监听下拉菜单的变动操作 |
| | | $("#device").change(function(){ |
| | | if(this.value == 1){ |
| | | $("#homePageBanner").show() |
| | | } |
| | | if(this.value == 2){ |
| | | $("#homePageBanner").hide() |
| | | } |
| | | }) |
| | | </script> |
| | | @} |
| | |
| | | <#button name="重置" icon="fa-trash" clickFun="TComplaint.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-12"> |
| | | <#button name="立即处理" icon="" clickFun="TComplaint.immediatelyAudit()"/> |
| | | @if(shiro.hasPermission("/tComplaint/immediatelyAudit")){ |
| | | <#button name="立即处理" icon="fa-edit" clickFun="TComplaint.immediatelyAudit()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tComplaint/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TComplaint.delete()" space="true"/> |
| | | @} |
| | |
| | | <#button name="重置" icon="fa-trash" clickFun="TDriver.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-12"> |
| | | <button type="button" class="btn btn-primary " onclick="TDriver.auditPage()" id="audit"> |
| | | <i class="fa "></i> 立即审核 |
| | | </button> |
| | | <button type="button" class="btn btn-primary " onclick="TDriver.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | <button type="button" class="btn btn-primary " onclick="TDriverException.tDriverException()" id="driverException"> |
| | | <i class="fa "></i> 异常 |
| | | </button> |
| | | <button type="button" class="btn btn-primary " onclick="TDriver.rechargeBalancePage()" id="recharge"> |
| | | <i class="fa "></i> 充值 |
| | | </button> |
| | | @if(shiro.hasPermission("/tDriver/auditPage")){ |
| | | <#button name="立即审核" icon="fa-edit" clickFun="TDriver.auditPage()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tDriver/export")){ |
| | | <#button name="导出" icon="" clickFun="TDriver.export()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tDriver/tDriver_exception")){ |
| | | <#button name="异常" icon="" clickFun="TDriverException.tDriverException()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tDriver/rechargeBalancePage")){ |
| | | <#button name="充值" icon="fa-edit" clickFun="TDriver.rechargeBalancePage()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tAgent/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TDriver.openAddTDriver()"/> |
| | | @} |
| | |
| | | <#button name="重置" icon="fa-trash" clickFun="TDriverCommission.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <button type="button" class="btn btn-primary " onclick="TDriverCommission.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | @if(shiro.hasPermission("/tDriver/export-commission")){ |
| | | <#button name="导出" icon="" clickFun="TDriverCommission.export()"/> |
| | | @} |
| | | </div> |
| | | </div> |
| | | <!--<div class="hidden-xs" id="TDriverTableToolbar" role="group"> |
| | |
| | | <#button name="重置" icon="fa-trash" clickFun="TEvaluate.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-12"> |
| | | <button type="button" class="btn btn-primary " onclick="TEvaluate.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | @if(shiro.hasPermission("/tEvaluate/export")){ |
| | | <#button name="导出" icon="" clickFun="TEvaluate.export()"/> |
| | | @} |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TEvaluateTableToolbar" role="group"> |
New file |
| | |
| | | @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="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | |
| | | <input hidden id="id" value="${html.id}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <label>关于我们</label> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <textarea type="text/plain" id="html" name="html" style="width:100%;height:350px;">${html.html}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="THtmlInfoDlg.editSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="tabs-container"> |
| | | <ul class="nav nav-tabs"> |
| | | <li class="active"><a data-toggle="tab" href="#tab-1" aria-expanded="true">代驾服务协议与隐私政策保护</a></li> |
| | | <li class=""><a data-toggle="tab" href="#tab-2" aria-expanded="false">法律条款</a></li> |
| | | <li class=""><a data-toggle="tab" href="#tab-3" aria-expanded="false">个人信息处理规则</a></li> |
| | | </ul> |
| | | <div class="tab-content"> |
| | | <div id="tab-1" class="tab-pane active"> |
| | | <div class="panel-body"> |
| | | <textarea id="editor_1" type="text/plain" style="width:1200px;height:400px;">${one.html}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="update_1(${one.id});"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div id="tab-2" class="tab-pane"> |
| | | <div class="panel-body"> |
| | | <textarea type="text/plain" id="editor_2" style="width:1200px;height:400px;">${two.html}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="update_2(${two.id});"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div id="tab-3" class="tab-pane"> |
| | | <div class="panel-body"> |
| | | <textarea type="text/plain" id="editor_3" style="width:1200px;height:400px;">${three.html}</textarea> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10 col-sm-offset-5"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="update_3(${three.id});"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml.js"></script> |
| | | <style type="text/css"> |
| | | .agentDriver{ |
| | | height: 30px; |
| | | width: 200px; |
| | | background-color: white; |
| | | border-radius: 6px; |
| | | } |
| | | .clause{ |
| | | height: 30px; |
| | | width: 80px; |
| | | background-color: white; |
| | | border-radius: 6px; |
| | | } |
| | | .personalRules{ |
| | | height: 30px; |
| | | width: 180px; |
| | | background-color: white; |
| | | border-radius: 6px; |
| | | } |
| | | </style> |
| | | <script type="text/javascript"> |
| | | var editor_1 = null; |
| | | var editor_2 = null; |
| | | var editor_3 = null; |
| | | $(function () { |
| | | //初始化编辑器 |
| | | editor_1 = UE.getEditor('editor_1'); |
| | | editor_2 = UE.getEditor('editor_2'); |
| | | editor_3 = UE.getEditor('editor_3'); |
| | | }); |
| | | |
| | | function update_1(id){ |
| | | if (editor_1.getContentTxt() == ""){ |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_1.getContent(),id); |
| | | } |
| | | function update_2(id){ |
| | | if (editor_2.getContentTxt() == ""){ |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_2.getContent(),id); |
| | | } |
| | | function update_3(id){ |
| | | if (editor_3.getContentTxt() == ""){ |
| | | Feng.error("内容不能为空!"); |
| | | return; |
| | | } |
| | | submitData(editor_3.getContent(),id); |
| | | } |
| | | |
| | | function submitData(content,id) { |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tHtml/update", function(data){ |
| | | Feng.success("编辑成功!"); |
| | | },function(data){ |
| | | Feng.error("编辑失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("html", content); |
| | | ajax.set("id", id); |
| | | ajax.start(); |
| | | } |
| | | </script> |
| | | @} |
New file |
| | |
| | | @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="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | |
| | | <input hidden id="id" value="${html.id}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <label>注销协议</label> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <textarea type="text/plain" id="html" name="html" style="width:100%;height:350px;">${html.html}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="THtmlInfoDlg.editSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | |
| | | <input hidden id="id" value="${html.id}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <label>佣金规则说明</label> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <textarea type="text/plain" id="html" name="html" style="width:100%;height:350px;">${html.html}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="THtmlInfoDlg.editSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | |
| | | <input hidden id="id" value="${html.id}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <label>预估价格说明</label> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <textarea type="text/plain" id="html" name="html" style="width:100%;height:350px;">${html.html}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="THtmlInfoDlg.editSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | |
| | | <input hidden id="id" value="${html.id}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <label>积分说明</label> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <textarea type="text/plain" id="html" name="html" style="width:100%;height:350px;">${html.html}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="THtmlInfoDlg.editSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="initialLevel col-sm-12 control-label form-group" > |
| | | <label style="color: #0C0C0C">加盟基本要求</label> |
| | | </div> |
| | | |
| | | <input hidden id="id" value="${id}"> |
| | | <input hidden id="array" value="${array}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="rules" style="text-align: left" > |
| | | @for(ChargeStandard in array){ |
| | | <div name="rulesForm"> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <span class="control-label" >要求1</span> |
| | | <input class="control-label" id="num1" name="num1" value="${ChargeStandard.num1}" type="text" placeholder="单行输入" style="height: 30px;width: 180px"> |
| | | @if(ChargeStandard.key == 0){ |
| | | <span class="fa fa-plus" onclick="THtml.addBox()"></span> |
| | | @} |
| | | @if(ChargeStandard.key == 1){ |
| | | <span class="fa fa-remove" onclick="THtml.delBox(this)"></span> |
| | | @} |
| | | </div> |
| | | </div> |
| | | @} |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="THtml.priceRulesSubmit()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml.js"></script> |
| | | <style type="text/css"> |
| | | .agentDriver{ |
| | | height: 30px; |
| | | width: 200px; |
| | | background-color: white; |
| | | border-radius: 6px; |
| | | } |
| | | .clause{ |
| | | height: 30px; |
| | | width: 80px; |
| | | background-color: white; |
| | | border-radius: 6px; |
| | | } |
| | | .personalRules{ |
| | | height: 30px; |
| | | width: 180px; |
| | | background-color: white; |
| | | border-radius: 6px; |
| | | } |
| | | </style> |
| | | <script type="text/javascript"> |
| | | </script> |
| | | @} |
New file |
| | |
| | | @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="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | |
| | | <input hidden id="id" value="${html.id}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <label>起步价说明</label> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <textarea type="text/plain" id="html" name="html" style="width:100%;height:350px;">${html.html}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="THtmlInfoDlg.editSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="THtml.search()"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="THtmlTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tHtml/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="THtml.openAddTHtml()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tHtml/update")){ |
| | | <#button name="修改" icon="fa-edit" clickFun="THtml.openTHtmlDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tHtml/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="THtml.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | <#table id="THtmlTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml.js"></script> |
| | | @} |
New file |
| | |
| | | @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="type" name="类型(1=代驾服务协议与隐私政策保护,2=法律条款,3=个人信息处理规则,4=积分说明,5=佣金规则说明,6=行程录音说明,7=预估价格说明,8=加盟基本要求,9=加盟流程,10=起步价说明,11=注销协议,12=关于我们,13=司机消单说明)"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="html" name="H5内容" 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="THtmlInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="THtmlInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="type" name="类型(1=代驾服务协议与隐私政策保护,2=法律条款,3=个人信息处理规则,4=积分说明,5=佣金规则说明,6=行程录音说明,7=预估价格说明,8=加盟基本要求,9=加盟流程,10=起步价说明,11=注销协议,12=关于我们,13=司机消单说明)" value="${item.type}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="html" name="H5内容" value="${item.html}" 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="THtmlInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="THtmlInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="col-sm-12" style="cursor: pointer;text-align: left;"> |
| | | |
| | | <input hidden id="id" value="${html.id}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <label>行程录音说明</label> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <textarea type="text/plain" id="html" name="html" style="width:100%;height:350px;">${html.html}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="THtmlInfoDlg.editSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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" style="text-align: left" > |
| | | |
| | | <input hidden id="num2" value="${num2}"> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <label>状态</label> |
| | | <input type="radio" class="control-label" id="start" name="content" style="width: 2%" |
| | | @if(isNotEmpty(num2)){ |
| | | ${1 == num2 ? 'checked=checked' : ''} |
| | | @} |
| | | /> 开启 |
| | | <input type="radio" class="control-label" id="end" name="content" style="width: 2%" |
| | | @if(isNotEmpty(num2)){ |
| | | ${0 == num2 ? 'checked=checked' : ''} |
| | | @} |
| | | /> 关闭 |
| | | </div> |
| | | </div> |
| | | |
| | | <!-- <div class="initialLevel col-sm-12 control-label form-group" >--> |
| | | <!-- <div class="initialLevel col-sm-3 control-label form-group" >--> |
| | | <!-- <span style="color:red">*</span>--> |
| | | <!-- <label class="control-label" >图片:</label>--> |
| | | <!-- <#uploadImg id="img" fileImg=""/>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | |
| | | <div class="row picture"> |
| | | <div class="col-sm-12"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-1 control-label" style="width: 4%">图片</label> |
| | | <div class="col-sm-9"> |
| | | <div id="imgPreIds"> |
| | | <div id="imgs" style="float: left;"> |
| | | @if(isNotEmpty(imgList)){ |
| | | @for(img in imgList){ |
| | | <div style="float: left;margin-right: 20px;"> |
| | | <img name="startImg" src="${img.img}" style="width: 100px"> |
| | | <i class="fa fa-close" onclick="delImg(this)" style="color: red;font-size: 18px;position: absolute;"></i> |
| | | </div> |
| | | @} |
| | | @} |
| | | </div> |
| | | <div style="float: left;" id="imgUpload"> |
| | | <img width="100px" height="100px" |
| | | src="https://guangzhiyu-1311825864.cos.ap-chengdu.myqcloud.com/shangchuanpic.png" |
| | | onclick="TImgInfoDlg.uploadPhoto(this);"> |
| | | </div> |
| | | <input type="file" id="btn_file" name="schoolimg" |
| | | style="display: none" onchange="TImgInfoDlg.schoolprow()"> |
| | | <div id="divHidden"> |
| | | <!--隐藏上传回调后的图片路径--> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-12" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TImgInfoDlg.updateSubmit()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tImg/tImg.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tImg/tImg_info.js"></script> |
| | | <script type="text/javascript"> |
| | | $(function () { |
| | | var idCardPositive = new $WebUpload("img"); |
| | | idCardPositive.setUploadBarId("progressBar"); |
| | | idCardPositive.init(); |
| | | }); |
| | | $("#start").change(function(){ |
| | | var ajax = new $ax(Feng.ctxPath + "/tSystemConfig/updateStartState", function (data) { |
| | | Feng.success("修改成功!"); |
| | | location.reload() |
| | | TSystemConfig.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | console.log($("#num2").val()) |
| | | ajax.set("num2",1); |
| | | ajax.start(); |
| | | }) |
| | | $("#end").change(function(){ |
| | | var ajax = new $ax(Feng.ctxPath + "/tSystemConfig/updateStartState", function (data) { |
| | | Feng.success("修改成功!"); |
| | | location.reload() |
| | | TSystemConfig.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | console.log($("#num2").val()) |
| | | ajax.set("num2",0); |
| | | ajax.start(); |
| | | }) |
| | | |
| | | </script> |
| | | @} |
New file |
| | |
| | | @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="type" name="数据类型(1=启动页)"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="img" name="图片地址" 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="TImgInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TImgInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tImg/tImg_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="type" name="数据类型(1=启动页)" value="${item.type}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="img" name="图片地址" value="${item.img}" 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="TImgInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TImgInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tImg/tImg_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="initialLevel col-sm-12 control-label form-group" > |
| | | <label style="color: #0C0C0C">消单原因</label> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-2" style="text-align: center"> |
| | | @if(shiro.hasPermission("/tMainContent/driverCancelOrder/add")){ |
| | | <#button btnCss="info" name="新增" id="ensure" icon="fa-check" clickFun="TMainContent.driverCancelOrderAdd()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tMainContent/driverCancelOrder/update")){ |
| | | <#button btnCss="info" name="编辑" id="ensure" icon="fa-check" clickFun="TMainContent.driverCancelOrderUpdate()"/> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | <input hidden id="list" value="${list}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="rules" style="text-align: left" > |
| | | @for(driverCancelOrder in list){ |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <input type="checkbox" class="control-label" id="content" name="content" style="width: 4%" checked>${driverCancelOrder.content}</input> |
| | | </div> |
| | | @} |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <label style="color: #0C0C0C">取单说明</label> |
| | | </div> |
| | | |
| | | <input hidden id="id" value="${html.id}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <textarea type="text/plain" id="html" name="html" style="width:100%;height:350px;">${html.html}</textarea> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10" style="text-align: center"> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="THtmlInfoDlg.editSubmit()"/> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tHtml/tHtml_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="rules" style="text-align: center" > |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <input class="control-label" id="content" name="content" placeholder="请输入" style="width: 180px;height: 30px"> |
| | | @if(key == 0){ |
| | | <span class="fa fa-plus" onclick="TMainContent.addBox()"></span> |
| | | @}else { |
| | | <span class="fa fa-remove" onclick="TMainContent.delBox(this)"></span> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-12" style="text-align: center"> |
| | | <#button btnCss="info" name="取消" id="cancel" icon="fa-check" clickFun="TMainContentInfoDlg.close()"/> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TMainContentInfoDlg.driverCancelOrderAddSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="rules" style="text-align: center" > |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | @for(transferOrder in list){ |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <input class="control-label" id="content" name="content" value="${transferOrder.content}" style="width: 180px;height: 30px"> |
| | | <span class="fa fa-remove" onclick="TMainContent.delBox(this)"></span> |
| | | </div> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-12" style="text-align: center"> |
| | | <#button btnCss="info" name="取消" id="cancel" icon="fa-check" clickFun="TMainContentInfoDlg.close()"/> |
| | | <#button btnCss="info" name="确定" id="ensure" icon="fa-check" clickFun="TMainContentInfoDlg.driverCancelOrderUpdateSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="TMainContent.search()"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TMainContentTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tMainContent/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TMainContent.openAddTMainContent()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tMainContent/update")){ |
| | | <#button name="修改" icon="fa-edit" clickFun="TMainContent.openTMainContentDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tMainContent/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TMainContent.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | <#table id="TMainContentTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent.js"></script> |
| | | @} |
New file |
| | |
| | | @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="type" name="数据类型(1=转单,2=司机消单,3=用户取消订单)" underline="true"/> |
| | | <#input id="content" name="内容"/> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#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="TMainContentInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TMainContentInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="type" name="数据类型(1=转单,2=司机消单,3=用户取消订单)" value="${item.type}" underline="true"/> |
| | | <#input id="content" name="内容" value="${item.content}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#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="TMainContentInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TMainContentInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="initialLevel col-sm-12 control-label form-group" > |
| | | <label style="color: #0C0C0C">转单原因</label> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-2" style="text-align: center"> |
| | | @if(shiro.hasPermission("/tMainContent/transferOrder/add")){ |
| | | <#button btnCss="info" name="新增" id="ensure" icon="fa-check" clickFun="TMainContent.transferOrderAdd()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tMainContent/transferOrder/update")){ |
| | | <#button btnCss="info" name="编辑" id="ensure" icon="fa-check" clickFun="TMainContent.transferOrderUpdate()"/> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | <input hidden id="list" value="${list}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="rules" style="text-align: left" > |
| | | @for(transferOrder in list){ |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <input type="checkbox" class="control-label" id="content" name="content" style="width: 4%" checked>${transferOrder.content}</input> |
| | | </div> |
| | | @} |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent.js"></script> |
| | | @} |
New file |
| | |
| | | @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"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="rules" style="text-align: center" > |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <input class="control-label" id="content" name="content" placeholder="请输入" style="width: 180px;height: 30px"> |
| | | @if(key == 0){ |
| | | <span class="fa fa-plus" onclick="TMainContent.addBox()"></span> |
| | | @}else { |
| | | <span class="fa fa-remove" onclick="TMainContent.delBox(this)"></span> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-12" style="text-align: center"> |
| | | <#button btnCss="info" name="取消" id="cancel" icon="fa-check" clickFun="TMainContentInfoDlg.close()"/> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TMainContentInfoDlg.transferOrderAddSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="rules" style="text-align: center" > |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | @for(transferOrder in list){ |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <input class="control-label" id="content" name="content" value="${transferOrder.content}" style="width: 180px;height: 30px"> |
| | | <span class="fa fa-remove" onclick="TMainContent.delBox(this)"></span> |
| | | </div> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-12" style="text-align: center"> |
| | | <#button btnCss="info" name="取消" id="cancel" icon="fa-check" clickFun="TMainContentInfoDlg.close()"/> |
| | | <#button btnCss="info" name="确定" id="ensure" icon="fa-check" clickFun="TMainContentInfoDlg.transferOrderUpdateSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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="initialLevel col-sm-12 control-label form-group" > |
| | | <label style="color: #0C0C0C">取消订单原因</label> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-2" style="text-align: center"> |
| | | @if(shiro.hasPermission("/tMainContent/userCancelOrder/add")){ |
| | | <#button btnCss="info" name="新增" id="ensure" icon="fa-check" clickFun="TMainContent.userCancelOrderAdd()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tMainContent/userCancelOrder/update")){ |
| | | <#button btnCss="info" name="编辑" id="ensure" icon="fa-check" clickFun="TMainContent.userCancelOrderUpdate()"/> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | <input hidden id="list" value="${list}"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="rules" style="text-align: left" > |
| | | @for(userCancelOrder in list){ |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <input type="checkbox" class="control-label" id="content" name="content" style="width: 4%" checked>${userCancelOrder.content}</input> |
| | | </div> |
| | | @} |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent.js"></script> |
| | | @} |
New file |
| | |
| | | @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"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="rules" style="text-align: center" > |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <input class="control-label" id="content" name="content" placeholder="请输入" style="width: 180px;height: 30px"> |
| | | @if(key == 0){ |
| | | <span class="fa fa-plus" onclick="TMainContent.addBox()"></span> |
| | | @}else { |
| | | <span class="fa fa-remove" onclick="TMainContent.delBox(this)"></span> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-12" style="text-align: center"> |
| | | <#button btnCss="info" name="取消" id="cancel" icon="fa-check" clickFun="TMainContentInfoDlg.close()"/> |
| | | <#button btnCss="info" name="保存" id="ensure" icon="fa-check" clickFun="TMainContentInfoDlg.userCancelOrderAddSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent_info.js"></script> |
| | | @} |
New file |
| | |
| | | @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"> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" id="rules" style="text-align: center" > |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | @for(transferOrder in list){ |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <input class="control-label" id="content" name="content" value="${transferOrder.content}" style="width: 180px;height: 30px"> |
| | | <span class="fa fa-remove" onclick="TMainContent.delBox(this)"></span> |
| | | </div> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-12" style="text-align: center"> |
| | | <#button btnCss="info" name="取消" id="cancel" icon="fa-check" clickFun="TMainContentInfoDlg.close()"/> |
| | | <#button btnCss="info" name="确定" id="ensure" icon="fa-check" clickFun="TMainContentInfoDlg.userCancelOrderUpdateSubmit()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tMainContent/tMainContent_info.js"></script> |
| | | @} |
| | |
| | | <#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> |
| | | @if(shiro.hasPermission("/tOrder/cancelOrder")){ |
| | | <#button name="取消订单" icon="" clickFun="TOrder.cancelOrder()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tOrder/tOrder-exception")){ |
| | | <#button name="异常" icon="" clickFun="TOrder.tOrderException()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tOrder/export")){ |
| | | <#button name="导出" icon="" clickFun="TOrder.export()"/> |
| | | @} |
| | | </div> |
| | | <div class="hidden-xs" id="TOrderTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tOrder/add")){ |
| | |
| | | <#button name="重置" icon="fa-trash" clickFun="TRechargeRecordAgent.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-12"> |
| | | <button type="button" class="btn btn-primary " onclick="TRechargeRecordAgent.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | @if(shiro.hasPermission("/tRechargeRecord/exportAgentRecharge")){ |
| | | <#button name="导出" icon="" clickFun="TRechargeRecordAgent.export()"/> |
| | | @} |
| | | </div> |
| | | </div> |
| | | <!--<div class="hidden-xs" id="TRechargeRecordTableToolbar" role="group"> |
| | |
| | | <#button name="重置" icon="fa-trash" clickFun="TRechargeRecordUser.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-12"> |
| | | <button type="button" class="btn btn-primary " onclick="TRechargeRecordUser.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | @if(shiro.hasPermission("/tRechargeRecord/exportUserRecharge")){ |
| | | <#button name="导出" icon="" clickFun="TRechargeRecordUser.export()"/> |
| | | @} |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TRechargeRecordTableToolbar" role="group"> |
| | |
| | | <#button name="重置" icon="fa-trash" clickFun="TRevenue.resetSearch()" space="true"/> |
| | | </div> |
| | | <div class="col-sm-12"> |
| | | <button type="button" class="btn btn-primary " onclick="TRevenue.export()" id="export"> |
| | | <i class="fa "></i> 导出 |
| | | </button> |
| | | @if(shiro.hasPermission("/tRevenue/export")){ |
| | | <#button name="导出" icon="" clickFun="TRevenue.export()"/> |
| | | @} |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TRevenueTableToolbar" role="group"> |
| | |
| | | <input class="control-label" id="num16" name="num16" value="${ExtraCost.num4}" type="number" style="height: 30px;width: 80px"> |
| | | <span class="control-label" >元/分钟</span> |
| | | </div> |
| | | <input hidden id="zcOne" value="${zcOne}"> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <span class="control-label" >恶劣天气</span> |
| | | <input class="control-label" id="num17" name="num17" value="${ExtraCost.num5}" type="number" style="height: 30px;width: 80px"> |
| | | <span class="control-label" >公里以内,加收</span> |
| | | <input class="control-label" id="num18" name="num18" value="${ExtraCost.num6}" type="number" style="height: 30px;width: 80px"> |
| | | <span class="control-label" >元,超出</span> |
| | | <input class="control-label" id="num19" name="num19" value="${ExtraCost.num7}" type="number" style="height: 30px;width: 80px"> |
| | | <span class="control-label" >公里,收取订单的</span> |
| | | <input class="control-label" id="num20" name="num20" value="${ExtraCost.num8}" type="number" style="height: 30px;width: 80px"> |
| | | <span class="control-label" >倍计费,最高收取</span> |
| | | <input class="control-label" id="num21" name="num21" value="${ExtraCost.num9}" type="number" style="height: 30px;width: 80px"> |
| | | <span class="control-label" >元</span> |
| | | <div class="col-sm-1"> |
| | | <input type="checkbox" class="js-switch1" id="isTaxiCar" |
| | | @if(isNotEmpty(zcOne)){ |
| | | ${1 == zcOne ? 'checked=checked' : ''} |
| | | @} |
| | | /> |
| | | </div> |
| | | @if(1 == zcOne){ |
| | | <div class="initialLevel col-sm-10 control-label form-group" > |
| | | <span class="control-label" >恶劣天气</span> |
| | | <input class="control-label" id="num17" name="num17" value="${ExtraCost.num5}" type="number" style="height: 30px;width: 80px"> |
| | | <span class="control-label" >公里以内,加收</span> |
| | | <input class="control-label" id="num18" name="num18" value="${ExtraCost.num6}" type="number" style="height: 30px;width: 80px"> |
| | | <span class="control-label" >元,超出</span> |
| | | <input class="control-label" id="num19" name="num19" value="${ExtraCost.num7}" type="number" style="height: 30px;width: 80px"> |
| | | <span class="control-label" >公里,收取订单的</span> |
| | | <input class="control-label" id="num20" name="num20" value="${ExtraCost.num8}" type="number" style="height: 30px;width: 80px"> |
| | | <span class="control-label" >倍计费,最高收取</span> |
| | | <input class="control-label" id="num21" name="num21" value="${ExtraCost.num9}" type="number" style="height: 30px;width: 80px"> |
| | | <span class="control-label" >元</span> |
| | | </div> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tSystemConfig/tSystemConfig.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tSystemConfig/tSystemConfig_info.js"></script> |
| | | <script type="text/javascript"> |
| | | var elem1 = document.querySelector(".js-switch1"); |
| | | var init1 = new Switchery(elem1); |
| | | |
| | | |
| | | $("#isTaxiCar").change(function(){ |
| | | var ajax = new $ax(Feng.ctxPath + "/tSystemConfig/openOrClose", function (data) { |
| | | Feng.success("修改成功!"); |
| | | location.reload() |
| | | TSystemConfig.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | console.log($("#zcOne").val()) |
| | | if(1 == $("#zcOne").val()){ |
| | | ajax.set("num1",0); |
| | | }else { |
| | | ajax.set("num1",1); |
| | | } |
| | | ajax.start(); |
| | | }) |
| | | </script> |
| | | @} |
| | |
| | | {title: '姓名', field: 'principal', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '联系电话', field: 'principalPhone', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '代理区域', field: 'area', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '客服电话', field: 'serviceCalls', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '订单数量', field: 'orderSum', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '有效订单', field: 'validOrder', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '已发放优惠券', field: 'issuedCoupon', visible: true, align: 'center', valign: 'middle'}, |
| | |
| | | {title: '优惠券总数', field: 'couponSum', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '消费次数', field: 'consumeSum', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '历史消费', field: 'consumePrice', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '最后一次消费时间', field: 'emergencyContact', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'status', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '最后一次消费时间', field: 'lastConsumptionTime', 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: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | if (row.status === 1){ |
| | |
| | | {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '消息内容', field: 'content', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '是否显示', field: 'isShow', visible: true, align: 'center', valign: 'middle', |
| | | {title: '是否显示', field: 'show', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.isShow){ |
| | | if (row.show){ |
| | | return '<span>是</span>' |
| | | }else { |
| | | return '<span>否</span>' |
| | |
| | | {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | if (row.isShow){ |
| | | return '<a href="#" onclick="TBroadcast.updateStatus('+row.id+')" style="color:red">下架</a>' |
| | | if (row.upDown === 1){ |
| | | return '<a href="#" onclick="TBroadcast.down('+row.id+')" style="color:red">下架</a>' |
| | | }else{ |
| | | return '<a href="#" onclick="TBroadcast.updateStatus('+row.id+')" style="color:blue">上架</a>' +' ' + |
| | | return '<a href="#" onclick="TBroadcast.up('+row.id+')" style="color:blue">上架</a>' +' ' + |
| | | '<a href="#" onclick="TBroadcast.delete('+row.id+')" style="color:red">删除</a>' |
| | | } |
| | | } |
| | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['800px', '420px'], //宽高 |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tBroadcast/tBroadcast_add' |
| | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tBroadcast/tBroadcast_update/' + TBroadcast.seItem.id |
| | |
| | | */ |
| | | TBroadcast.delete = function (id) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tBroadcast/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TBroadcast.table.refresh(); |
| | | if(500 == data.code){ |
| | | Feng.error(data.message); |
| | | return; |
| | | }else { |
| | | Feng.success("删除成功!"); |
| | | TBroadcast.table.refresh(); |
| | | } |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | |
| | | }; |
| | | |
| | | /** |
| | | * 上架 |
| | | */ |
| | | TBroadcast.up = function (id) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tBroadcast/up", function (data) { |
| | | if(500 == data.code){ |
| | | Feng.error(data.message); |
| | | return; |
| | | }else { |
| | | Feng.success("上架成功!"); |
| | | TBroadcast.table.refresh(); |
| | | } |
| | | }, function (data) { |
| | | Feng.error("上架失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("id",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 下架 |
| | | */ |
| | | TBroadcast.down = function (id) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tBroadcast/down", function (data) { |
| | | if(500 == data.code){ |
| | | Feng.error(data.message); |
| | | return; |
| | | }else { |
| | | Feng.success("下架成功!"); |
| | | TBroadcast.table.refresh(); |
| | | } |
| | | }, function (data) { |
| | | Feng.error("下架失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("id",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TBroadcast.search = function () { |
| | |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TBroadcastInfoDlg = { |
| | | tBroadcastInfoData : {} |
| | | tBroadcastInfoData : {}, |
| | | validateFields: { |
| | | content: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '消息内容不能为空' |
| | | } |
| | | } |
| | | }, |
| | | sort: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '排序不能为空' |
| | | } |
| | | } |
| | | }, |
| | | show: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请选择是否显示' |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 验证数据是否为空 |
| | | */ |
| | | TBroadcastInfoDlg.validate = function () { |
| | | $('#broadcastInfoForm').data("bootstrapValidator").resetForm(); |
| | | $('#broadcastInfoForm').bootstrapValidator('validate'); |
| | | return $("#broadcastInfoForm").data('bootstrapValidator').isValid(); |
| | | }; |
| | | |
| | | /** |
| | |
| | | .set('content') |
| | | .set('sort') |
| | | .set('status') |
| | | .set('show') |
| | | .set('upDown') |
| | | .set('createTime'); |
| | | } |
| | | |
| | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tBroadcast/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TBroadcast.table.refresh(); |
| | | TBroadcastInfoDlg.close(); |
| | | if(500 == data.code){ |
| | | Feng.error(data.message); |
| | | return; |
| | | }else { |
| | | Feng.success("添加成功!"); |
| | | window.parent.TBroadcast.table.refresh(); |
| | | TBroadcastInfoDlg.close(); |
| | | } |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tBroadcast/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TBroadcast.table.refresh(); |
| | | TBroadcastInfoDlg.close(); |
| | | if(500 == data.code){ |
| | | Feng.error(data.message); |
| | | return; |
| | | }else { |
| | | Feng.success("修改成功!"); |
| | | window.parent.TBroadcast.table.refresh(); |
| | | TBroadcastInfoDlg.close(); |
| | | } |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | |
| | | } |
| | | |
| | | $(function() { |
| | | |
| | | Feng.initValidator("broadcastInfoForm", TBroadcastInfoDlg.validateFields); |
| | | }); |
| | |
| | | TCommercial.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '类型(1=弹窗广告,2=底部广告)', field: 'type', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '名称', field: 'name', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '广告地址', field: 'url', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '设备(1=小程序,2=司机端)', field: 'device', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '是否跳转(0=否,1=是)', field: 'isJump', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '跳转类型(1=内部跳转,2=外部跳转)', field: 'jumpType', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '跳转连接', field: 'jumpUrl', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '富文本', field: 'html', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '排序', field: 'sort', 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: '添加人员id', field: 'createUserId', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '更新时间', field: 'updateTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '更新人员id', field: 'updateUserId', 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: 'name', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '广告类型', field: 'type', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.type === 1){ |
| | | return '<span>弹窗广告</span>' |
| | | }else if(row.type === 2){ |
| | | return '<span>底部广告</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '广告图图片', field: 'url', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '端口(设备)', field: 'device', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.device === 1){ |
| | | return '<span>小程序</span>' |
| | | }else if(row.device === 2){ |
| | | return '<span>司机端</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '是否跳转', field: 'isJump', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.isJump === 0){ |
| | | return '<span>否</span>' |
| | | }else if(row.isJump === 1){ |
| | | return '<span>是</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '跳转类型', field: 'jumpType', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.jumpType === 1){ |
| | | return '<span>内部跳转</span>' |
| | | }else if(row.jumpType === 2){ |
| | | return '<span>外部跳转</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '跳转内容', field: 'jumpUrl', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '状态', field: 'onOffLine', visible: true, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.onOffLine === 1){ |
| | | return '<span>已上线</span>' |
| | | }else if(row.onOffLine === 2){ |
| | | return '<span>已下线</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '富文本', field: 'html', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '排序', field: 'sort', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '添加人员id', field: 'createUserId', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '更新时间', field: 'updateTime', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '更新人员id', field: 'updateUserId', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | if (row.onOffLine === 1){ |
| | | return '<a href="#" onclick="TCommercial.offLineState('+row.id+')" style="color:red">下线</a>' +' ' + |
| | | '<a href="#" onclick="TCommercial.delete('+row.id+','+row.onOffLine+')" style="color:red">删除</a>' |
| | | }else if(row.onOffLine === 2){ |
| | | return '<a href="#" onclick="TCommercial.onLineState('+row.id+')" style="color:blue">上线</a>' +' ' + |
| | | '<a href="#" onclick="TCommercial.delete('+row.id+','+row.onOffLine+')" style="color:red">删除</a>' |
| | | } |
| | | } |
| | | } |
| | | ]; |
| | | }; |
| | | |
| | |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['800px', '420px'], //宽高 |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tCommercial/tCommercial_add' |
| | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TCommercial.openTCommercialDetail = function () { |
| | | if (this.check()) { |
| | | TCommercial.openTCommercialDetail = function (id) { |
| | | if(this.check()){ |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tCommercial/tCommercial_update/' + TCommercial.seItem.id |
| | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TCommercial.delete = function () { |
| | | if (this.check()) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tCommercial/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TCommercial.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tCommercialId",this.seItem.id); |
| | | ajax.start(); |
| | | TCommercial.delete = function (id,onOffLine) { |
| | | if(1 == onOffLine){ |
| | | Feng.error("已上线广告不可删除!"); |
| | | return; |
| | | } |
| | | var ajax = new $ax(Feng.ctxPath + "/tCommercial/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TCommercial.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tCommercialId",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 上线 |
| | | */ |
| | | TCommercial.onLineState = function (id) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tCommercial/onLine", function (data) { |
| | | if(500 == data.code){ |
| | | Feng.error(data.message) |
| | | return; |
| | | }else { |
| | | Feng.success("上线成功!"); |
| | | TCommercial.table.refresh(); |
| | | } |
| | | }, function (data) { |
| | | Feng.error("上线失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tCommercialId",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 下线 |
| | | */ |
| | | TCommercial.offLineState = function (id) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tCommercial/offLine", function (data) { |
| | | if(500 == data.code){ |
| | | Feng.error(data.message) |
| | | return; |
| | | }else { |
| | | Feng.success("下线成功!"); |
| | | TCommercial.table.refresh(); |
| | | } |
| | | }, function (data) { |
| | | Feng.error("下线失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tCommercialId",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TCommercialInfoDlg = { |
| | | tCommercialInfoData : {} |
| | | tCommercialInfoData : {}, |
| | | validateFields: { |
| | | name: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '广告图名称不能为空' |
| | | } |
| | | } |
| | | }, |
| | | device: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请选择端口' |
| | | } |
| | | } |
| | | }, |
| | | type: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请选择广告类型' |
| | | } |
| | | } |
| | | }, |
| | | isJump: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请选择是否跳转' |
| | | } |
| | | } |
| | | }, |
| | | jumpType: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '请选择跳转类型' |
| | | } |
| | | } |
| | | }, |
| | | jumpUrl: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '跳转链接不能为空' |
| | | } |
| | | } |
| | | }, |
| | | sort: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '排序不能为空' |
| | | } |
| | | } |
| | | }, |
| | | html: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '详情内容不能为空' |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 验证数据是否为空 |
| | | */ |
| | | TCommercialInfoDlg.validate = function () { |
| | | $('#commercialInfoForm').data("bootstrapValidator").resetForm(); |
| | | $('#commercialInfoForm').bootstrapValidator('validate'); |
| | | return $("#commercialInfoForm").data('bootstrapValidator').isValid(); |
| | | }; |
| | | |
| | | /** |
| | |
| | | * 收集数据 |
| | | */ |
| | | TCommercialInfoDlg.collectData = function() { |
| | | if(UE.getEditor('html').hasContents()){ |
| | | $('#html').val(UE.getEditor('html').getContent()); |
| | | } |
| | | this |
| | | .set('id') |
| | | .set('type') |
| | |
| | | .set('html') |
| | | .set('sort') |
| | | .set('status') |
| | | .set('onOffLine') |
| | | .set('createTime') |
| | | .set('createUserId') |
| | | .set('updateTime') |
| | |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | |
| | | var url = $("#url").val(); |
| | | if ("" == url){ |
| | | Feng.info("请上传广告图图片"); |
| | | return; |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tCommercial/add", function(data){ |
| | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tCommercial/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | |
| | | } |
| | | |
| | | $(function() { |
| | | |
| | | TCommercialInfoDlg.editor = UE.getEditor('html'); |
| | | Feng.initValidator("commercialInfoForm", TCommercialInfoDlg.validateFields); |
| | | }); |
| | |
| | | return '<a href="#" onclick="TDriver.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' +' ' + |
| | | '<a href="#" onclick="TDriver.stop('+row.id+','+row.status+')" style="color:red">冻结</a>' +' ' + |
| | | '<a href="#" onclick="TDriver.updateInfo('+row.id+')" style="color:green">编辑</a>' |
| | | }else if (row.status === 2){ |
| | | }else if (row.status === 2 || row.approvalStatus === 2){ |
| | | return '<a href="#" onclick="TDriver.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' +' ' + |
| | | '<a href="#" onclick="TDriver.start('+row.id+','+row.status+')" style="color:green">解冻</a>' |
| | | } |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var THtml = { |
| | | id: "THtmlTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | THtml.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '类型(1=代驾服务协议与隐私政策保护,2=法律条款,3=个人信息处理规则,4=积分说明,5=佣金规则说明,6=行程录音说明,7=预估价格说明,8=加盟基本要求,9=加盟流程,10=起步价说明,11=注销协议,12=关于我们,13=司机消单说明)', field: 'type', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: 'H5内容', field: 'html', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'} |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | THtml.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | THtml.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | THtml.openAddTHtml = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tHtml/tHtml_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | THtml.openTHtmlDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tHtml/tHtml_update/' + THtml.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 加盟基本要求 |
| | | */ |
| | | THtml.priceRulesSubmit = function () { |
| | | var ajax = new $ax(Feng.ctxPath + "/tHtml/update", function (data) { |
| | | Feng.success("保存成功!"); |
| | | THtml.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("保存失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | |
| | | var json1=[]; |
| | | for (let i = 0; i < $('input[name="num1"]').length; i++) { |
| | | var arr = {} |
| | | arr['num1'] = $($('input[name="num1"]')[i]).val(); |
| | | json1.push(arr) |
| | | } |
| | | var reqData = {}; |
| | | reqData['rules'] = json1; |
| | | ajax.set("html",JSON.stringify(reqData)); |
| | | ajax.set("id",$('#id').val()); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | THtml.addBox = function (){ |
| | | var i = $('input[name="num1"]').length + 1; |
| | | var a ="<div name=\"rulesForm\">\n" + |
| | | " <div class=\"initialLevel col-sm-12 control-label form-group\" >\n" + |
| | | " <span class=\"control-label\" >要求"+i+"</span>\n" + |
| | | " <input class=\"control-label\" id=\"num1-"+i+"\" name=\"num1\" type=\"text\" placeholder=\"单行输入\" style=\"height: 30px;width: 180px\">\n" + |
| | | " <span class=\"fa fa-remove\" onclick=\"THtml.delBox(this)\"></span>\n" + |
| | | " </div>\n" + |
| | | " </div>" |
| | | |
| | | $("#rules").append($(a)) |
| | | } |
| | | |
| | | THtml.delBox = function (o) { |
| | | $(o).parent("div").parent("div").remove() |
| | | }; |
| | | |
| | | |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | THtml.delete = function () { |
| | | if (this.check()) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tHtml/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | THtml.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tHtmlId",this.seItem.id); |
| | | ajax.start(); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查询html |
| | | */ |
| | | THtml.queryHtml = function (type) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tHtml/agreement", function (data) { |
| | | console.log(data) |
| | | var html = document.getElementById("html"); |
| | | html.innerHTML = data.html |
| | | THtml.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("type",type); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | THtml.search = function () { |
| | | var queryData = {}; |
| | | queryData['condition'] = $("#condition").val(); |
| | | THtml.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = THtml.initColumn(); |
| | | var table = new BSTable(THtml.id, "/tHtml/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | THtml.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化详情对话框 |
| | | */ |
| | | var THtmlInfoDlg = { |
| | | tHtmlInfoData : {} |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | THtmlInfoDlg.clearData = function() { |
| | | this.tHtmlInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | THtmlInfoDlg.set = function(key, val) { |
| | | this.tHtmlInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | THtmlInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | THtmlInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.THtml.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | THtmlInfoDlg.collectData = function() { |
| | | if(UE.getEditor('html').hasContents()){ |
| | | $('#html').val(UE.getEditor('html').getContent()); |
| | | } |
| | | this |
| | | .set('id') |
| | | .set('type') |
| | | .set('html') |
| | | .set('createTime'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | THtmlInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tHtml/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.THtml.table.refresh(); |
| | | THtmlInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tHtmlInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | THtmlInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tHtml/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.THtml.table.refresh(); |
| | | THtmlInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tHtmlInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | THtmlInfoDlg.editor = UE.getEditor('html'); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TImg = { |
| | | id: "TImgTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TImg.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '数据类型(1=启动页)', field: 'type', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '图片地址', field: 'img', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'} |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TImg.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TImg.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TImg.openAddTImg = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tImg/tImg_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TImg.openTImgDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tImg/tImg_update/' + TImg.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TImg.delete = function () { |
| | | if (this.check()) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tImg/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TImg.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tImgId",this.seItem.id); |
| | | ajax.start(); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TImg.search = function () { |
| | | var queryData = {}; |
| | | queryData['condition'] = $("#condition").val(); |
| | | TImg.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = TImg.initColumn(); |
| | | var table = new BSTable(TImg.id, "/tImg/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TImg.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TImgInfoDlg = { |
| | | tImgInfoData : {} |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TImgInfoDlg.clearData = function() { |
| | | this.tImgInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TImgInfoDlg.set = function(key, val) { |
| | | this.tImgInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TImgInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TImgInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.TImg.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TImgInfoDlg.collectData = function() { |
| | | this |
| | | .set('id') |
| | | .set('type') |
| | | .set('img') |
| | | .set('createTime'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TImgInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tImg/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TImg.table.refresh(); |
| | | TImgInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tImgInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TImgInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | console.log(11111) |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tImg/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TImg.table.refresh(); |
| | | TImgInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tImgInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交图片 |
| | | */ |
| | | TImgInfoDlg.updateSubmit = function() { |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tImg/updateSubmit", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TImg.table.refresh(); |
| | | TImgInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | var reqData = ""; |
| | | var n = $('img[name="startImg"]').length |
| | | for (let i = 0; i < n; i++) { |
| | | if(i == (n-1)){ |
| | | reqData += $('img[name="startImg"]')[i].src |
| | | }else { |
| | | reqData += $('img[name="startImg"]')[i].src + ","; |
| | | } |
| | | } |
| | | console.log(reqData) |
| | | ajax.set("tImg",reqData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | let thisImg; |
| | | TImgInfoDlg.uploadPhoto = function(e) { |
| | | thisImg = $(e); |
| | | $("#btn_file").click(); |
| | | } |
| | | TImgInfoDlg.schoolprow = function() { |
| | | let file = document.querySelector('input[name=schoolimg]').files[0]; |
| | | // let reader = new FileReader(); |
| | | if (file) { |
| | | let inputList = $("#imgs div"); |
| | | let index = inputList.length |
| | | if(index > 10){ |
| | | Feng.error("图片不能超过10张"); |
| | | return |
| | | } |
| | | upload(file, thisImg); |
| | | // reader.readAsDataURL(file); |
| | | //获取已上传的图片数从第二张开始算 |
| | | // if (index < 9) { |
| | | // let imgHtml = "<img width=\"100px\" height=\"100px\" src=\"https://guangzhiyu-1311825864.cos.ap-chengdu.myqcloud.com/shangchuanpic.png\"\n" + |
| | | // "onclick=\"TbCommodityInfoDlg.uploadPhoto(this);\">"; |
| | | // $("#imgUpload").append(imgHtml); |
| | | // } |
| | | } |
| | | } |
| | | |
| | | function upload(file, thisImg) { |
| | | let formData = new FormData(); |
| | | formData.append("myfile", file); |
| | | $.ajax({ |
| | | url: Feng.ctxPath + "/mgr/saveApk", |
| | | type: "POST", |
| | | data: formData, |
| | | contentType: false, |
| | | processData: false, |
| | | success: function (data) { |
| | | /*$(thisImg).attr("src", data); |
| | | $(thisImg).addClass("imgP"); |
| | | //图片 |
| | | $("#divHidden").empty();*/ |
| | | $('#imgs').append('<div style="float: left;margin-right: 20px;"><img name="startImg" src="' + data + '" style="width: 100px"> <i class="fa fa-close" onclick="delImg(this)" style="color: red;font-size: 18px;position: absolute;"></i></div>') |
| | | |
| | | // $(".imgP").each(function (r, v) { |
| | | // $("#imgUpload").append("<div style=\"width: 110px;height: 110px;float: left;\"><input class='imgHidden' type='hidden' value='"+v.src+"'><div style=width: 110px;height: 110px;float: left;><img src="+v.src+" width=\"100px\" class=\"describeImgUrl\"></div>+") |
| | | // }); |
| | | layer.msg('上传成功!', { |
| | | icon: 6 |
| | | }); |
| | | }, |
| | | error: function () { |
| | | layer.msg('上传失败!', { |
| | | icon: 5 |
| | | }); |
| | | } |
| | | }) |
| | | } |
| | | |
| | | $(function() { |
| | | |
| | | |
| | | |
| | | var avatarUp = new $WebUpload("detailsImg"); |
| | | avatarUp.setUploadBarId("progressBar"); |
| | | avatarUp.init(); |
| | | |
| | | var avatarUp = new $WebUpload("goodsImg"); |
| | | avatarUp.setUploadBarId("progressBar"); |
| | | avatarUp.init(); |
| | | // 手动指定上传文件调用的接口(不同文件类型不同接口) |
| | | // UE.Editor.prototype._bkGetActionUrl = UE.Editor.prototype.getActionUrl; |
| | | // UE.Editor.prototype.getActionUrl = function (action) { |
| | | |
| | | // 这里很重要,很重要,很重要,要和配置中的imageActionName值一样 |
| | | // if (action == 'uploadimage') { |
| | | // // 这里调用后端我们写的图片上传接口 |
| | | // return '/ueditor/uploadFileData'; |
| | | // } else if (action == 'uploadvideo') { |
| | | // return '/ueditor/uploadFileData'; |
| | | // } else { |
| | | // return this._bkGetActionUrl.call(this, action); |
| | | // } |
| | | // }; |
| | | let urls = $("#urls").val() |
| | | let id= $("#id").val(); |
| | | if (id!=null&&id!=""){ |
| | | $("#category").val($("#category_").val()); |
| | | |
| | | let s1_= $("#s1_").val(); |
| | | $("#s1").val(s1_); |
| | | } |
| | | |
| | | }); |
| | | function delImg(e){ |
| | | $(e).parent().remove(); |
| | | } |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TMainContent = { |
| | | id: "TMainContentTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TMainContent.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '数据类型(1=转单,2=司机消单,3=用户取消订单)', field: 'type', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '内容', field: 'content', 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'} |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TMainContent.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TMainContent.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TMainContent.openAddTMainContent = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tMainContent/tMainContent_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 转单添加 |
| | | */ |
| | | TMainContent.transferOrderAdd = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '新增原因', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tMainContent/transferOrder/add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 转单修改 |
| | | */ |
| | | TMainContent.transferOrderUpdate = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑原因', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tMainContent/transferOrder/update' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 消单添加 |
| | | */ |
| | | TMainContent.driverCancelOrderAdd = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '新增原因', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tMainContent/driverCancelOrder/add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 消单修改 |
| | | */ |
| | | TMainContent.driverCancelOrderUpdate = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑原因', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tMainContent/driverCancelOrder/update' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 用户取消订单添加 |
| | | */ |
| | | TMainContent.userCancelOrderAdd = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '新增原因', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tMainContent/userCancelOrder/add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 用户取消订单修改 |
| | | */ |
| | | TMainContent.userCancelOrderUpdate = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '编辑原因', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tMainContent/userCancelOrder/update' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | TMainContent.addBox = function (){ |
| | | var i = $('input[name="num1"]').length + 1; |
| | | var a ="<div class=\"initialLevel col-sm-12 control-label form-group\" >\n" + |
| | | " <input class=\"control-label\" id=\"content-"+i+"\" name=\"content\" placeholder=\"请输入\" style=\"width: 180px;height: 30px\">\n" + |
| | | " <span class=\"fa fa-remove\" onclick=\"TMainContent.delBox(this)\"></span>\n" + |
| | | " </div>" |
| | | |
| | | $("#rules").append($(a)) |
| | | } |
| | | |
| | | TMainContent.delBox = function (o) { |
| | | $(o).parent("div").remove() |
| | | }; |
| | | |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TMainContent.openTMainContentDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tMainContent/tMainContent_update/' + TMainContent.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TMainContent.delete = function () { |
| | | if (this.check()) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tMainContent/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TMainContent.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tMainContentId",this.seItem.id); |
| | | ajax.start(); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TMainContent.search = function () { |
| | | var queryData = {}; |
| | | queryData['condition'] = $("#condition").val(); |
| | | TMainContent.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | $(function () { |
| | | var defaultColunms = TMainContent.initColumn(); |
| | | var table = new BSTable(TMainContent.id, "/tMainContent/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TMainContent.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TMainContentInfoDlg = { |
| | | tMainContentInfoData : {} |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TMainContentInfoDlg.clearData = function() { |
| | | this.tMainContentInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TMainContentInfoDlg.set = function(key, val) { |
| | | this.tMainContentInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TMainContentInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TMainContentInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.TMainContent.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TMainContentInfoDlg.collectData = function() { |
| | | this |
| | | .set('id') |
| | | .set('type') |
| | | .set('content') |
| | | .set('status') |
| | | .set('createTime'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TMainContentInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tMainContent/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TMainContent.table.refresh(); |
| | | TMainContentInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tMainContentInfoData); |
| | | ajax.start(); |
| | | } |
| | | /** |
| | | * 转单添加提交 |
| | | */ |
| | | TMainContentInfoDlg.transferOrderAddSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tMainContent/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | parent.location.reload() |
| | | TMainContent.table.refresh(); |
| | | TMainContentInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | |
| | | var reqData = ""; |
| | | var n = $('input[name="content"]').length; |
| | | for (let i = 0; i < n; i++) { |
| | | if(i == (n-1)){ |
| | | reqData += $($('input[name="content"]')[i]).val() |
| | | }else { |
| | | reqData += $($('input[name="content"]')[i]).val() + ","; |
| | | } |
| | | } |
| | | ajax.set("tMainContents",reqData); |
| | | ajax.set("type",1); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 转单修改提交 |
| | | */ |
| | | TMainContentInfoDlg.transferOrderUpdateSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tMainContent/update", function(data){ |
| | | Feng.success("添加成功!"); |
| | | parent.location.reload() |
| | | TMainContent.table.refresh(); |
| | | TMainContentInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | |
| | | var reqData = ""; |
| | | var n = $('input[name="content"]').length; |
| | | for (let i = 0; i < n; i++) { |
| | | if(i == (n-1)){ |
| | | reqData += $($('input[name="content"]')[i]).val() |
| | | }else { |
| | | reqData += $($('input[name="content"]')[i]).val() + ","; |
| | | } |
| | | } |
| | | ajax.set("tMainContents",reqData); |
| | | ajax.set("type",1); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 消单添加提交 |
| | | */ |
| | | TMainContentInfoDlg.driverCancelOrderAddSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tMainContent/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | parent.location.reload() |
| | | TMainContent.table.refresh(); |
| | | TMainContentInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | |
| | | var reqData = ""; |
| | | var n = $('input[name="content"]').length; |
| | | for (let i = 0; i < n; i++) { |
| | | if(i == (n-1)){ |
| | | reqData += $($('input[name="content"]')[i]).val() |
| | | }else { |
| | | reqData += $($('input[name="content"]')[i]).val() + ","; |
| | | } |
| | | } |
| | | ajax.set("tMainContents",reqData); |
| | | ajax.set("type",2); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 消单修改提交 |
| | | */ |
| | | TMainContentInfoDlg.driverCancelOrderUpdateSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tMainContent/update", function(data){ |
| | | Feng.success("添加成功!"); |
| | | parent.location.reload() |
| | | TMainContent.table.refresh(); |
| | | TMainContentInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | |
| | | var reqData = ""; |
| | | var n = $('input[name="content"]').length; |
| | | for (let i = 0; i < n; i++) { |
| | | if(i == (n-1)){ |
| | | reqData += $($('input[name="content"]')[i]).val() |
| | | }else { |
| | | reqData += $($('input[name="content"]')[i]).val() + ","; |
| | | } |
| | | } |
| | | ajax.set("tMainContents",reqData); |
| | | ajax.set("type",2); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 取消订单添加提交 |
| | | */ |
| | | TMainContentInfoDlg.userCancelOrderAddSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tMainContent/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | parent.location.reload() |
| | | TMainContent.table.refresh(); |
| | | TMainContentInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | |
| | | var reqData = ""; |
| | | var n = $('input[name="content"]').length; |
| | | for (let i = 0; i < n; i++) { |
| | | if(i == (n-1)){ |
| | | reqData += $($('input[name="content"]')[i]).val() |
| | | }else { |
| | | reqData += $($('input[name="content"]')[i]).val() + ","; |
| | | } |
| | | } |
| | | ajax.set("tMainContents",reqData); |
| | | ajax.set("type",3); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 取消订单修改提交 |
| | | */ |
| | | TMainContentInfoDlg.userCancelOrderUpdateSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tMainContent/update", function(data){ |
| | | Feng.success("添加成功!"); |
| | | parent.location.reload() |
| | | TMainContent.table.refresh(); |
| | | TMainContentInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | |
| | | var reqData = ""; |
| | | var n = $('input[name="content"]').length; |
| | | for (let i = 0; i < n; i++) { |
| | | if(i == (n-1)){ |
| | | reqData += $($('input[name="content"]')[i]).val() |
| | | }else { |
| | | reqData += $($('input[name="content"]')[i]).val() + ","; |
| | | } |
| | | } |
| | | ajax.set("tMainContents",reqData); |
| | | ajax.set("type",3); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TMainContentInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tMainContent/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TMainContent.table.refresh(); |
| | | TMainContentInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tMainContentInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | |
| | | }); |
| | |
| | | $(o).parent("div").parent("div").remove() |
| | | }; |
| | | |
| | | TSystemConfig.openOrClose = function () { |
| | | console.log(111111111111) |
| | | var ajax = new $ax(Feng.ctxPath + "/tSystemConfig/openOrClose", function (data) { |
| | | Feng.success("修改成功!"); |
| | | TSystemConfig.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("num1",$("#zcOne").val()); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |