| | |
| | | } |
| | | |
| | | /** |
| | | * 跳转详情页面 |
| | | */ |
| | | @RequestMapping("/cancelOrderDetail") |
| | | public String cancelOrderDetail(Integer cancelOrderId, Model model) { |
| | | tCancelOrderService.cancelOrderDetail(cancelOrderId,model); |
| | | return PREFIX + "tCancelOrderDetail.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | |
| | | String driverName) { |
| | | return tCancelOrderService.getCancelOrderList(createTime, code, source, userName, userPhone, state, driverName); |
| | | } |
| | | /** |
| | | * 获取取消订单列表(订单异常详情页面使用) |
| | | */ |
| | | @ApiOperation(value = "获取取消订单列表(订单异常详情页面使用)") |
| | | @RequestMapping(value = "/userCancelOrderList") |
| | | @ResponseBody |
| | | public Object userCancelOrderList(Integer userId,Integer orderId) { |
| | | return tCancelOrderService.userCancelOrderList(userId,orderId); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.controller.req.CouponSendReq; |
| | | import com.stylefeng.guns.modular.system.enums.CouponStatusEnum; |
| | | import com.stylefeng.guns.modular.system.model.TAgent; |
| | | import com.stylefeng.guns.modular.system.model.TUserToCoupon; |
| | | import com.stylefeng.guns.modular.system.service.ITUserToCouponService; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.poi.hdf.extractor.TC; |
| | | import org.springframework.stereotype.Controller; |
| | | import org.springframework.util.Assert; |
| | | import org.springframework.util.CollectionUtils; |
| | |
| | | } |
| | | |
| | | /** |
| | | * 修改优惠券状态 |
| | | */ |
| | | @RequestMapping(value = "/update-status") |
| | | @ResponseBody |
| | | public Object updateStatus(Integer id,Integer status) { |
| | | TCoupon tCoupon = tCouponService.selectById(id); |
| | | |
| | | // 查询已启用的新人券数量 |
| | | int count = tCouponService.selectCount(new EntityWrapper<TCoupon>().eq("coupon_state", 1) |
| | | .eq("coupon_type",2)); |
| | | |
| | | // 判断是否为新人券,新人券只可启用一条记录 |
| | | if(count > 0 && 2 == tCoupon.getCouponType() && 2 == status){ |
| | | return new SuccessTip(500,"已有启动的新人券!"); |
| | | } |
| | | |
| | | if(1 == status){ |
| | | tCoupon.setCouponState(2); |
| | | } |
| | | if(2 == status){ |
| | | tCoupon.setCouponState(1); |
| | | } |
| | | tCouponService.updateById(tCoupon); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | |
| | | } |
| | | |
| | | /** |
| | | * 跳转详情页面 |
| | | */ |
| | | @RequestMapping("/orderDetail") |
| | | public String orderDetail(Integer orderId, Model model) { |
| | | tOrderService.orderDetail(orderId,model); |
| | | return PREFIX + "tOrderDetail.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转异常详情页面 |
| | | */ |
| | | @RequestMapping("/orderExceptionDetail") |
| | | public String orderExceptionDetail(Integer orderId, Model model) { |
| | | tOrderService.orderExceptionDetail(orderId,model); |
| | | return PREFIX + "tOrderExceptionDetail.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @ApiOperation(value = "用户获取订单列表") |
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.core.base.tips.SuccessTip; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.model.TAgent; |
| | | 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.TYouTui; |
| | | import com.stylefeng.guns.modular.system.service.ITYouTuiService; |
| | | |
| | | import java.util.Date; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * 控制器 |
| | | * |
| | | * @author fengshuonan |
| | | * @Date 2023-03-01 16:17:43 |
| | | */ |
| | | @Controller |
| | | @RequestMapping("/tYouTui") |
| | | public class TYouTuiController extends BaseController { |
| | | |
| | | private String PREFIX = "/system/tYouTui/"; |
| | | |
| | | @Autowired |
| | | private ITYouTuiService tYouTuiService; |
| | | |
| | | /** |
| | | * 跳转到首页 |
| | | */ |
| | | @RequestMapping("") |
| | | public String index() { |
| | | return PREFIX + "tYouTui.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到添加 |
| | | */ |
| | | @RequestMapping("/tYouTui_add") |
| | | public String tYouTuiAdd() { |
| | | return PREFIX + "tYouTui_add.html"; |
| | | } |
| | | |
| | | /** |
| | | * 跳转到修改 |
| | | */ |
| | | @RequestMapping("/tYouTui_update/{tYouTuiId}") |
| | | public String tYouTuiUpdate(@PathVariable Integer tYouTuiId, Model model) { |
| | | TYouTui tYouTui = tYouTuiService.selectById(tYouTuiId); |
| | | model.addAttribute("item",tYouTui); |
| | | LogObjectHolder.me().set(tYouTui); |
| | | return PREFIX + "tYouTui_edit.html"; |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list") |
| | | @ResponseBody |
| | | public Object list(String createTime,Integer type) { |
| | | EntityWrapper<TYouTui> wrapper = new EntityWrapper<>(); |
| | | |
| | | if(Objects.nonNull(type)){ |
| | | wrapper.eq("type",type); |
| | | } |
| | | |
| | | // 开始,结束时间 |
| | | if(StringUtils.hasLength(createTime)){ |
| | | String[] split = createTime.split(" - "); |
| | | Date startTime = DateUtil.getDate_str4(split[0]); |
| | | Date endTime = DateUtil.getDate_str4(split[1]); |
| | | wrapper.between("createTime",startTime,endTime); |
| | | } |
| | | return tYouTuiService.selectList(wrapper); |
| | | } |
| | | |
| | | /** |
| | | * 获取列表 |
| | | */ |
| | | @RequestMapping(value = "/list-back") |
| | | @ResponseBody |
| | | public Object listBack(String condition) { |
| | | return tYouTuiService.selectList(null); |
| | | } |
| | | |
| | | /** |
| | | * 新增 |
| | | */ |
| | | @RequestMapping(value = "/add") |
| | | @ResponseBody |
| | | public Object add(TYouTui tYouTui) { |
| | | tYouTui.setContent(tYouTui.getServiceContent()); |
| | | tYouTuiService.insert(tYouTui); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | @RequestMapping(value = "/delete") |
| | | @ResponseBody |
| | | public Object delete(@RequestParam Integer tYouTuiId) { |
| | | TYouTui tYouTui = tYouTuiService.selectById(tYouTuiId); |
| | | if(1 == tYouTui.getStatus()){ |
| | | return new SuccessTip(500,"启用下的优推不可删除!"); |
| | | } |
| | | |
| | | tYouTuiService.deleteById(tYouTuiId); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改用户状态 |
| | | */ |
| | | @RequestMapping(value = "/update-status") |
| | | @ResponseBody |
| | | public Object updateStatus(Integer id,Integer status) { |
| | | TYouTui tYouTui = tYouTuiService.selectById(id); |
| | | if(1 == status){ |
| | | tYouTui.setStatus(2); |
| | | } |
| | | if(2 == status){ |
| | | tYouTui.setStatus(1); |
| | | } |
| | | tYouTuiService.updateById(tYouTui); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 修改 |
| | | */ |
| | | @RequestMapping(value = "/update") |
| | | @ResponseBody |
| | | public Object update(TYouTui tYouTui) { |
| | | tYouTuiService.updateById(tYouTui); |
| | | return SUCCESS_TIP; |
| | | } |
| | | |
| | | /** |
| | | * 详情 |
| | | */ |
| | | @RequestMapping(value = "/detail/{tYouTuiId}") |
| | | @ResponseBody |
| | | public Object detail(@PathVariable("tYouTuiId") Integer tYouTuiId) { |
| | | return tYouTuiService.selectById(tYouTuiId); |
| | | } |
| | | } |
| | |
| | | List<TOrderResp> getCancelOrderList(@Param("startTime") String startTime, @Param("endTime")String endTime, @Param("code") String code, |
| | | @Param("source") Integer source, @Param("userName")String userName, @Param("userPhone")String userPhone, |
| | | @Param("state")Integer state, @Param("driverName")String driverName); |
| | | |
| | | /** |
| | | * 订单异常详情页面的取消记录列表 |
| | | * @param userId |
| | | * @param orderId |
| | | * @return |
| | | */ |
| | | List<TOrderResp> userCancelOrderList(@Param("userId") Integer userId,@Param("orderId") Integer orderId); |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TUserToCoupon; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 用户优惠券中间表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-02-28 |
| | | */ |
| | | @Mapper |
| | | public interface TUserToCouponMapper extends BaseMapper<TUserToCoupon> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.dao; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TYouTui; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优推 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-01 |
| | | */ |
| | | public interface TYouTuiMapper extends BaseMapper<TYouTui> { |
| | | |
| | | } |
| | |
| | | </where> |
| | | ORDER BY co.createTime |
| | | </select> |
| | | <select id="userCancelOrderList" resultType="com.stylefeng.guns.modular.system.controller.resp.TOrderResp"> |
| | | select co.createTime,o.code,o.startAddress,o.endAddress |
| | | from t_cancel_order co |
| | | left join t_order o on co.orderId = o.id |
| | | <where> |
| | | <if test="userId != null"> |
| | | AND co.userId = #{userId} |
| | | </if> |
| | | <if test="orderId != null"> |
| | | AND co.orderId = #{orderId} |
| | | </if> |
| | | AND co.userType = 1 |
| | | </where> |
| | | ORDER BY co.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.TUserToCouponMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TUserToCoupon"> |
| | | <id column="id" property="id" /> |
| | | <result column="userId" property="userId" /> |
| | | <result column="couponId" property="couponId" /> |
| | | <result column="couponTotal" property="couponTotal" /> |
| | | <result column="validCount" property="validCount" /> |
| | | <result column="expireTime" property="expireTime" /> |
| | | <result column="createTime" property="createTime" /> |
| | | <result column="status" property="status" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, userId, couponId, couponTotal, validCount, expireTime, createTime, status |
| | | </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.TYouTuiMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.stylefeng.guns.modular.system.model.TYouTui"> |
| | | <id column="id" property="id" /> |
| | | <result column="name" property="name" /> |
| | | <result column="type" property="type" /> |
| | | <result column="number" property="number" /> |
| | | <result column="integral" property="integral" /> |
| | | <result column="effectiveTime" property="effectiveTime" /> |
| | | <result column="content" property="content" /> |
| | | <result column="status" property="status" /> |
| | | <result column="createTime" property="createTime" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, name, type, number, integral, effectiveTime, content, status, createTime |
| | | </sql> |
| | | |
| | | </mapper> |
| | |
| | | @ApiModelProperty(value = "恶劣天气超出费") |
| | | private BigDecimal overBadWeatherPrice; |
| | | |
| | | @ApiModelProperty(value = "折扣优惠金额") |
| | | private BigDecimal discountAmount; |
| | | |
| | | public BigDecimal getDiscountAmount() { |
| | | return discountAmount; |
| | | } |
| | | |
| | | public void setDiscountAmount(BigDecimal discountAmount) { |
| | | this.discountAmount = discountAmount; |
| | | } |
| | | |
| | | public Double getStartDistance() { |
| | | return startDistance; |
| | | } |
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-02-28 |
| | | */ |
| | | @TableName("t_user_to_coupon") |
| | | public class TUserToCoupon extends Model<TUserToCoupon> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 用户id |
| | | */ |
| | | private Integer userId; |
| | | /** |
| | | * 优惠券id |
| | | */ |
| | | private Integer couponId; |
| | | /** |
| | | * 领取总数量 |
| | | */ |
| | | private Integer couponTotal; |
| | | /** |
| | | * 有效数量 |
| | | */ |
| | | private Integer validCount; |
| | | /** |
| | | * 过期时间 |
| | | */ |
| | | private Date expireTime; |
| | | /** |
| | | * 创建时间-领取时间 |
| | | */ |
| | | private Date createTime; |
| | | /** |
| | | * 状态 1正常 2冻结 3删除 |
| | | */ |
| | | private Integer status; |
| | | |
| | | /** |
| | | * 过期数量 |
| | | */ |
| | | private Integer expireCount; |
| | | |
| | | public Integer getExpireCount() { |
| | | return expireCount; |
| | | } |
| | | |
| | | public void setExpireCount(Integer expireCount) { |
| | | this.expireCount = expireCount; |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public Integer getUserId() { |
| | | return userId; |
| | | } |
| | | |
| | | public void setUserId(Integer userId) { |
| | | this.userId = userId; |
| | | } |
| | | |
| | | public Integer getCouponId() { |
| | | return couponId; |
| | | } |
| | | |
| | | public void setCouponId(Integer couponId) { |
| | | this.couponId = couponId; |
| | | } |
| | | |
| | | public Integer getCouponTotal() { |
| | | return couponTotal; |
| | | } |
| | | |
| | | public void setCouponTotal(Integer couponTotal) { |
| | | this.couponTotal = couponTotal; |
| | | } |
| | | |
| | | public Integer getValidCount() { |
| | | return validCount; |
| | | } |
| | | |
| | | public void setValidCount(Integer validCount) { |
| | | this.validCount = validCount; |
| | | } |
| | | |
| | | public Date getExpireTime() { |
| | | return expireTime; |
| | | } |
| | | |
| | | public void setExpireTime(Date expireTime) { |
| | | this.expireTime = expireTime; |
| | | } |
| | | |
| | | public Date getCreateTime() { |
| | | return createTime; |
| | | } |
| | | |
| | | public void setCreateTime(Date createTime) { |
| | | this.createTime = createTime; |
| | | } |
| | | |
| | | public Integer getStatus() { |
| | | return status; |
| | | } |
| | | |
| | | public void setStatus(Integer status) { |
| | | this.status = status; |
| | | } |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | @Override |
| | | public String toString() { |
| | | return "TUserToCoupon{" + |
| | | "id=" + id + |
| | | ", userId=" + userId + |
| | | ", couponId=" + couponId + |
| | | ", couponTotal=" + couponTotal + |
| | | ", validCount=" + validCount + |
| | | ", expireTime=" + expireTime + |
| | | ", createTime=" + createTime + |
| | | ", status=" + status + |
| | | "}"; |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotations.TableField; |
| | | 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 io.swagger.annotations.ApiModelProperty; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优推 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-01 |
| | | */ |
| | | @TableName("t_you_tui") |
| | | public class TYouTui extends Model<TYouTui> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | /** |
| | | * 主键 |
| | | */ |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | /** |
| | | * 名称 |
| | | */ |
| | | private String name; |
| | | /** |
| | | * 优推类型(1=次数,2=小时) |
| | | */ |
| | | private Integer type; |
| | | /** |
| | | * 优推值 |
| | | */ |
| | | private Integer number; |
| | | /** |
| | | * 所需积分 |
| | | */ |
| | | private Integer integral; |
| | | /** |
| | | * 有效天数 |
| | | */ |
| | | private Integer effectiveTime; |
| | | /** |
| | | * 服务内容 |
| | | */ |
| | | private String content; |
| | | /** |
| | | * 状态(1=正常,2=冻结,3=删除) |
| | | */ |
| | | private Integer status; |
| | | /** |
| | | * 添加时间 |
| | | */ |
| | | private Date createTime; |
| | | @ApiModelProperty(value = "优推距离") |
| | | private Integer distance; |
| | | |
| | | @TableField(exist = false) |
| | | private String serviceContent; |
| | | |
| | | public String getServiceContent() { |
| | | return serviceContent; |
| | | } |
| | | |
| | | public void setServiceContent(String serviceContent) { |
| | | this.serviceContent = serviceContent; |
| | | } |
| | | |
| | | public Integer getDistance() { |
| | | return distance; |
| | | } |
| | | |
| | | public void setDistance(Integer distance) { |
| | | this.distance = distance; |
| | | } |
| | | |
| | | public Integer getId() { |
| | | return id; |
| | | } |
| | | |
| | | public void setId(Integer id) { |
| | | this.id = id; |
| | | } |
| | | |
| | | public String getName() { |
| | | return name; |
| | | } |
| | | |
| | | public void setName(String name) { |
| | | this.name = name; |
| | | } |
| | | |
| | | public Integer getType() { |
| | | return type; |
| | | } |
| | | |
| | | public void setType(Integer type) { |
| | | this.type = type; |
| | | } |
| | | |
| | | public Integer getNumber() { |
| | | return number; |
| | | } |
| | | |
| | | public void setNumber(Integer number) { |
| | | this.number = number; |
| | | } |
| | | |
| | | public Integer getIntegral() { |
| | | return integral; |
| | | } |
| | | |
| | | public void setIntegral(Integer integral) { |
| | | this.integral = integral; |
| | | } |
| | | |
| | | public Integer getEffectiveTime() { |
| | | return effectiveTime; |
| | | } |
| | | |
| | | public void setEffectiveTime(Integer effectiveTime) { |
| | | this.effectiveTime = effectiveTime; |
| | | } |
| | | |
| | | 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 "TYouTui{" + |
| | | "id=" + id + |
| | | ", name=" + name + |
| | | ", type=" + type + |
| | | ", number=" + number + |
| | | ", integral=" + integral + |
| | | ", effectiveTime=" + effectiveTime + |
| | | ", content=" + content + |
| | | ", status=" + status + |
| | | ", createTime=" + createTime + |
| | | "}"; |
| | | } |
| | | } |
| | |
| | | import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; |
| | | import com.stylefeng.guns.modular.system.model.TCancelOrder; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import org.springframework.ui.Model; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | */ |
| | | List<TOrderResp> getCancelOrderList(String createTime, String code, Integer source, String userName, String userPhone, Integer state, String driverName); |
| | | |
| | | /** |
| | | * 跳转详情页面 |
| | | * @param cancelOrderId |
| | | * @param model |
| | | */ |
| | | void cancelOrderDetail(Integer cancelOrderId, Model model); |
| | | |
| | | /** |
| | | * |
| | | * @param userId |
| | | * @return |
| | | */ |
| | | List<TOrderResp> userCancelOrderList(Integer userId,Integer orderId); |
| | | } |
| | |
| | | import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; |
| | | import com.stylefeng.guns.modular.system.model.TOrder; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import org.springframework.ui.Model; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | * @return |
| | | */ |
| | | List<TOrderResp> getOrderList(String createTime, String code, Integer source, String userName, String userPhone, Integer state, String driverName,Integer isException); |
| | | |
| | | /** |
| | | * 跳转详情页面 |
| | | * @param orderId |
| | | * @param model |
| | | */ |
| | | void orderDetail(Integer orderId, Model model); |
| | | |
| | | /** |
| | | * 跳转异常详情页面 |
| | | * @param orderId |
| | | * @param model |
| | | */ |
| | | void orderExceptionDetail(Integer orderId, Model model); |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TUserToCoupon; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 用户优惠券中间表 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-02-28 |
| | | */ |
| | | public interface ITUserToCouponService extends IService<TUserToCoupon> { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TYouTui; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优推 服务类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-01 |
| | | */ |
| | | public interface ITYouTuiService extends IService<TYouTui> { |
| | | |
| | | } |
| | |
| | | import com.stylefeng.guns.modular.system.dao.TCancelOrderMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITCancelOrderService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import com.stylefeng.guns.modular.system.service.ITOrderService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | |
| | | @Autowired |
| | | private TCancelOrderMapper tCancelOrderMapper; |
| | | @Autowired |
| | | private ITOrderService tOrderService; |
| | | |
| | | @Override |
| | | public List<TOrderResp> getCancelOrderList(String createTime, String code, Integer source, String userName, String userPhone, Integer state, String driverName) { |
| | |
| | | } |
| | | return tCancelOrderMapper.getCancelOrderList(startTime,endTime,code,source,userName,userPhone,state,driverName); |
| | | } |
| | | |
| | | @Override |
| | | public void cancelOrderDetail(Integer cancelOrderId, Model model) { |
| | | |
| | | // 查询取消订单记录 |
| | | TCancelOrder tCancelOrder = tCancelOrderMapper.selectById(cancelOrderId); |
| | | |
| | | model.addAttribute("cancelTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tCancelOrder.getCreateTime())); |
| | | model.addAttribute("cause",tCancelOrder.getCause()); |
| | | |
| | | tOrderService.orderDetail(tCancelOrder.getOrderId(),model); |
| | | } |
| | | |
| | | @Override |
| | | public List<TOrderResp> userCancelOrderList(Integer userId,Integer orderId) { |
| | | return tCancelOrderMapper.userCancelOrderList(userId,orderId); |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.stylefeng.guns.core.util.DateUtil; |
| | | import com.stylefeng.guns.modular.system.controller.resp.TOrderResp; |
| | | import com.stylefeng.guns.modular.system.dao.TAppUserMapper; |
| | | import com.stylefeng.guns.modular.system.dao.TBranchOfficeMapper; |
| | | import com.stylefeng.guns.modular.system.dao.TDriverMapper; |
| | | 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 com.stylefeng.guns.modular.system.model.TOrder; |
| | | import com.stylefeng.guns.modular.system.dao.TOrderMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITOrderService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.ui.Model; |
| | | import org.springframework.util.StringUtils; |
| | | |
| | | import java.text.SimpleDateFormat; |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | import java.util.Objects; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | |
| | | @Autowired |
| | | private TOrderMapper tOrderMapper; |
| | | @Autowired |
| | | private TAppUserMapper tAppUserMapper; |
| | | @Autowired |
| | | private TDriverMapper tDriverMapper; |
| | | @Autowired |
| | | private TBranchOfficeMapper tBranchOfficeMapper; |
| | | |
| | | @Override |
| | | public List<TOrderResp> getOrderList(String createTime, String code, Integer source, String userName, String userPhone, Integer state, String driverName,Integer isException) { |
| | |
| | | } |
| | | return tOrderMapper.getOrderList(startTime,endTime,code,source,userName,userPhone,state,driverName,isException); |
| | | } |
| | | |
| | | @Override |
| | | public void orderDetail(Integer orderId, Model model) { |
| | | // 订单信息 |
| | | TOrder tOrder = tOrderMapper.selectById(orderId); |
| | | model.addAttribute("createTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getCreateTime()));//下单时间 |
| | | model.addAttribute("code",tOrder.getCode());//订单编号 |
| | | model.addAttribute("source",tOrder.getSource());//订单来源 |
| | | model.addAttribute("startAddress",tOrder.getStartAddress());//起点 |
| | | model.addAttribute("endAddress",tOrder.getEndAddress());//终点 |
| | | model.addAttribute("startTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getStartTime()));//乘车时间 |
| | | model.addAttribute("boardingTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getBoardingTime()));//上车时间 |
| | | model.addAttribute("getoffTime",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(tOrder.getGetoffTime()));//下车时间 |
| | | model.addAttribute("startPrice",tOrder.getStartPrice());//起步价 |
| | | model.addAttribute("overDrivePrice",tOrder.getOverDrivePrice());//里程费 |
| | | model.addAttribute("waitTimePrice",tOrder.getWaitTimePrice());//等待费 |
| | | model.addAttribute("badWeatherPrice",tOrder.getBadWeatherPrice());//恶劣天气费用 |
| | | model.addAttribute("orderMoney",tOrder.getOrderMoney());//实际费用 |
| | | model.addAttribute("payMoney",tOrder.getPayMoney());//实际支付费用 |
| | | model.addAttribute("discountedPrice",tOrder.getDiscountedPrice());//优惠券抵扣费用 |
| | | model.addAttribute("payType",tOrder.getPayType());//支付方式 |
| | | model.addAttribute("discountAmount",tOrder.getDiscountAmount());//折扣金额 |
| | | model.addAttribute("userId",tOrder.getUserId());//用户id |
| | | |
| | | // 查询用户 |
| | | TAppUser tAppUser = tAppUserMapper.selectById(tOrder.getUserId()); |
| | | model.addAttribute("userName",tAppUser.getNickname()); |
| | | model.addAttribute("userPhone",tAppUser.getPhone()); |
| | | |
| | | // 查询司机 |
| | | TDriver tDriver = tDriverMapper.selectById(tOrder.getDriverId()); |
| | | model.addAttribute("driverName",tDriver.getName()); |
| | | |
| | | // 查询司机所属分公司 |
| | | TBranchOffice tBranchOffice = tBranchOfficeMapper.selectById(tDriver.getBranchOfficeId()); |
| | | if(Objects.nonNull(tBranchOffice)){ |
| | | model.addAttribute("branchOfficeName",tBranchOffice.getPrincipal()); |
| | | }else { |
| | | model.addAttribute("branchOfficeName",""); |
| | | } |
| | | |
| | | } |
| | | |
| | | @Override |
| | | public void orderExceptionDetail(Integer orderId, Model model) { |
| | | this.orderDetail(orderId,model); |
| | | model.addAttribute("orderId",orderId); |
| | | } |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TUserToCoupon; |
| | | import com.stylefeng.guns.modular.system.dao.TUserToCouponMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITUserToCouponService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 用户优惠券中间表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-02-28 |
| | | */ |
| | | @Service |
| | | public class TUserToCouponServiceImpl extends ServiceImpl<TUserToCouponMapper, TUserToCoupon> implements ITUserToCouponService { |
| | | |
| | | } |
New file |
| | |
| | | package com.stylefeng.guns.modular.system.service.impl; |
| | | |
| | | import com.stylefeng.guns.modular.system.model.TYouTui; |
| | | import com.stylefeng.guns.modular.system.dao.TYouTuiMapper; |
| | | import com.stylefeng.guns.modular.system.service.ITYouTuiService; |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优推 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author stylefeng |
| | | * @since 2023-03-01 |
| | | */ |
| | | @Service |
| | | public class TYouTuiServiceImpl extends ServiceImpl<TYouTuiMapper, TYouTui> implements ITYouTuiService { |
| | | |
| | | } |
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"> |
| | | |
| | | <hr/> |
| | | <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> |
| | | <hr/> |
| | | |
| | | <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>${createTime}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >订单编号:</label> |
| | | <label>${code}</label> |
| | | </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> |
| | | @if(source==1){ |
| | | <label>小程序</label> |
| | | @} |
| | | @if(source==2){ |
| | | <label>APP</label> |
| | | @} |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >乘车时间:</label> |
| | | <label>${startTime}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="color: green" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label">下单用户昵称:</label> |
| | | <label>${userName}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">下单用户手机号:</label> |
| | | <label>${userPhone}</label> |
| | | </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>${startAddress}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">终点:</label> |
| | | <label>${endAddress}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="color: red" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label">接单司机:</label> |
| | | <label>${driverName}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">所属机构:</label> |
| | | <label>${branchOfficeName}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <hr/> |
| | | <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> |
| | | <hr/> |
| | | |
| | | <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>${startAddress}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">上车时间:</label> |
| | | <label>${boardingTime}</label> |
| | | </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>${endAddress}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >下车时间:</label> |
| | | <label>${getoffTime}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <hr/> |
| | | <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> |
| | | <hr/> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >取消时间:</label> |
| | | <label>${cancelTime}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >取消原因:</label> |
| | | <div style="margin-left: 70px" > |
| | | <textarea id="cause" style="width: 681px; height: 249px;" readonly>${cause}</textarea> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <hr/> |
| | | <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> |
| | | <hr/> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >起步价:</label> |
| | | <label>${startPrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >等待费:</label> |
| | | <label>${waitTimePrice}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >里程费:</label> |
| | | <label>${overDrivePrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >恶劣天气:</label> |
| | | <label>${badWeatherPrice}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >实际费用:</label> |
| | | <label>${orderMoney}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >实际支付费用:</label> |
| | | <label>${payMoney}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >优惠券抵扣费用:</label> |
| | | <label>${discountedPrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >支付方式:</label> |
| | | @if(payType==1){ |
| | | <label>微信支付</label> |
| | | @} |
| | | @if(payType==2){ |
| | | <label>余额支付</label> |
| | | @} |
| | | @if(payType==3){ |
| | | <label>线下收款</label> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="text-align: center"> |
| | | <#button name="取消" icon="fa-plus" clickFun="TCancelOrderInfoDlg.close()" /> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tOrder/tOrder.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tOrder/tOrder_info.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tOrder/tCancelOrder.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tCancelOrder/tCancelOrder_info.js"></script> |
| | | <script type="text/javascript"> |
| | | laydate.render({ |
| | | elem: '#createTime', |
| | | type: 'date', |
| | | range: true |
| | | }); |
| | | </script> |
| | | @} |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal"> |
| | | <div class="form-horizontal" id="couponInfoForm"> |
| | | |
| | | <div class="row"> |
| | | <div class="col-sm-12"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">优惠券名称:</label> |
| | | <div class="col-sm-6"> |
| | | <input class="form-control" id="couponName" name="couponName" type="text"> |
| | | <input class="form-control" id="couponName" name="couponName" type="text" required> |
| | | </div> |
| | | </div> |
| | | <div class="hr-line-dashed"></div> |
| | |
| | | <div class="col-sm-12"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">优惠券类型:</label> |
| | | <select class="input-group col-sm-6" id="couponType" style="width: 180px;height: 33px" name="couponType"> |
| | | <select class="input-group col-sm-6" id="couponType" name="couponType" required> |
| | | <option value="">请选择优惠券类型</option> |
| | | <option value="1">活动券</option> |
| | | <option value="2">优惠券</option> |
| | | <option value="2">新人券</option> |
| | | </select> |
| | | </div> |
| | | <div class="hr-line-dashed"></div> |
| | |
| | | <div class="col-sm-12"> |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">服务类类型:</label> |
| | | <select class="input-group col-sm-6" id="couponServiceType" style="width: 180px;height: 33px" name="couponType"> |
| | | <select class="input-group col-sm-6" id="couponServiceType" name="couponServiceType" required> |
| | | <option value="">请选择服务类型</option> |
| | | <option value="1">通用型</option> |
| | | </select> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">优惠券数量:</label> |
| | | <div class="col-sm-6"> |
| | | <input class="form-control" id="couponCount" name="couponCount" type="text"> |
| | | <input class="form-control" id="couponCount" name="couponCount" type="text" required> |
| | | </div> |
| | | </div> |
| | | <div class="hr-line-dashed"></div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">条件金额:订单满</label> |
| | | <div class="col-sm-6"> |
| | | <input class="form-control" id="couponConditionalAmount" name="couponConditionalAmount" type="text"> |
| | | <input class="form-control" id="couponConditionalAmount" name="couponConditionalAmount" type="text" required> |
| | | </div> |
| | | <label class="col-sm-2 control-label">可使用</label> |
| | | </div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">优惠金额:</label> |
| | | <div class="col-sm-6"> |
| | | <input class="form-control" id="couponPreferentialAmount" name="couponPreferentialAmount" type="text"> |
| | | <input class="form-control" id="couponPreferentialAmount" name="couponPreferentialAmount" type="text" required> |
| | | </div> |
| | | </div> |
| | | <div class="hr-line-dashed"></div> |
| | |
| | | <div class="form-group"> |
| | | <label class="col-sm-3 control-label">有效期:</label> |
| | | <div class="col-sm-6"> |
| | | <input class="form-control" id="couponValidity" name="couponValidity" type="text"> |
| | | <input class="form-control" id="couponValidity" name="couponValidity" type="text" required> |
| | | </div> |
| | | <label class="col-sm-1 control-label">天</label> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="hr-line-dashed"></div> |
| | | </div> |
| | | |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tCoupon/tCoupon_info.js"></script> |
| | | <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"> |
| | | |
| | | <hr/> |
| | | <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> |
| | | <hr/> |
| | | |
| | | <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>${createTime}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >订单编号:</label> |
| | | <label>${code}</label> |
| | | </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> |
| | | @if(source==1){ |
| | | <label>小程序</label> |
| | | @} |
| | | @if(source==2){ |
| | | <label>APP</label> |
| | | @} |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >乘车时间:</label> |
| | | <label>${startTime}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="color:green;" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label">下单用户昵称:</label> |
| | | <label>${userName}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">下单用户手机号:</label> |
| | | <label>${userPhone}</label> |
| | | </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>${startAddress}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">终点:</label> |
| | | <label>${endAddress}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="color:red;" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label">接单司机:</label> |
| | | <label>${driverName}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">所属机构:</label> |
| | | <label>${branchOfficeName}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <hr/> |
| | | <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> |
| | | <hr/> |
| | | |
| | | <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>${startAddress}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">上车时间:</label> |
| | | <label>${boardingTime}</label> |
| | | </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>${endAddress}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >下车时间:</label> |
| | | <label>${getoffTime}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <hr/> |
| | | <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> |
| | | <hr/> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >起步价:</label> |
| | | <label>${startPrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >等待费:</label> |
| | | <label>${waitTimePrice}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >里程费:</label> |
| | | <label>${overDrivePrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >恶劣天气:</label> |
| | | <label>${badWeatherPrice}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >实际费用:</label> |
| | | <label>${orderMoney}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >实际支付费用:</label> |
| | | <label>${payMoney}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >优惠券抵扣费用:</label> |
| | | <label>${discountedPrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >支付方式:</label> |
| | | @if(payType==1){ |
| | | <label>微信支付</label> |
| | | @} |
| | | @if(payType==2){ |
| | | <label>余额支付</label> |
| | | @} |
| | | @if(payType==3){ |
| | | <label>线下收款</label> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="text-align: center"> |
| | | <#button name="取消" icon="fa-plus" clickFun="TOrderInfoDlg.close()" /> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tOrder/tOrder.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tOrder/tOrder_info.js"></script> |
| | | <script type="text/javascript"> |
| | | laydate.render({ |
| | | elem: '#createTime', |
| | | type: 'date', |
| | | range: true |
| | | }); |
| | | </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"> |
| | | |
| | | <input hidden id="userId" value="${userId}"> |
| | | <input hidden id="orderId" value="${orderId}"> |
| | | |
| | | <hr/> |
| | | <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> |
| | | <hr/> |
| | | |
| | | <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>${createTime}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >订单编号:</label> |
| | | <label>${code}</label> |
| | | </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> |
| | | @if(source==1){ |
| | | <label>小程序</label> |
| | | @} |
| | | @if(source==2){ |
| | | <label>APP</label> |
| | | @} |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >乘车时间:</label> |
| | | <label>${startTime}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="color: green" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label">下单用户昵称:</label> |
| | | <label>${userName}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">下单用户手机号:</label> |
| | | <label>${userPhone}</label> |
| | | </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>${startAddress}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">终点:</label> |
| | | <label>${endAddress}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="color: red" > |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label">接单司机:</label> |
| | | <label>${driverName}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label">所属机构:</label> |
| | | <label>${branchOfficeName}</label> |
| | | </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>${startAddress}</label> |
| | | </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>${endAddress}</label> |
| | | </div> |
| | | </div> |
| | | |
| | | <hr/> |
| | | <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> |
| | | <hr/> |
| | | |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >起步价:</label> |
| | | <label>${startPrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >等待费:</label> |
| | | <label>${waitTimePrice}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >里程费:</label> |
| | | <label>${overDrivePrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >恶劣天气:</label> |
| | | <label>${badWeatherPrice}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >实际费用:</label> |
| | | <label>${orderMoney}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >实际支付费用:</label> |
| | | <label>${payMoney}</label> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group" > |
| | | <div class="initialLevel col-sm-2 control-label form-group" > |
| | | <label class="control-label" >优惠券抵扣费用:</label> |
| | | <label>${discountedPrice}</label> |
| | | </div> |
| | | <div class="initialLevel col-sm-3 control-label form-group" > |
| | | <label class="control-label" >支付方式:</label> |
| | | @if(payType==1){ |
| | | <label>微信支付</label> |
| | | @} |
| | | @if(payType==2){ |
| | | <label>余额支付</label> |
| | | @} |
| | | @if(payType==3){ |
| | | <label>线下收款</label> |
| | | @} |
| | | </div> |
| | | </div> |
| | | |
| | | <hr/> |
| | | <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> |
| | | <hr/> |
| | | |
| | | <#table id="TOrderExceptionDetailCancelOrderTable"/> |
| | | |
| | | <div class="hidden-xs" id="TDriverTableToolbar" role="group" style="text-align: center"> |
| | | <#button name="取消" icon="fa-plus" clickFun="TOrderInfoDlg.closeException()" /> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tOrder/tOrderException.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tOrder/tOrderExceptionDetailCancelOrder.js"></script> |
| | | <script src="${ctxPath}/static/modular/system/tOrder/tOrder_info.js"></script> |
| | | <script type="text/javascript"> |
| | | $(function (){ |
| | | var queryData = {}; |
| | | queryData['userId'] = $("#userId").val(); |
| | | queryData['orderId'] = $("#orderId").val(); |
| | | TOrderExceptionDetailCancelOrder.table.refresh({query: queryData}); |
| | | }) |
| | | laydate.render({ |
| | | elem: '#createTime', |
| | | type: 'date', |
| | | range: true |
| | | }); |
| | | </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"> |
| | | <#TimeCon id="createTime" name="发布时间" /> |
| | | </div> |
| | | <div class="col-sm-2"> |
| | | <select class="input-group" id="type" style="width: 180px;height: 33px" name="type"> |
| | | <option value="">服务类类型</option> |
| | | <option value="1">次数</option> |
| | | <option value="2">小时</option> |
| | | </select> |
| | | </div> |
| | | <div class="col-sm-3"> |
| | | <#button name="搜索" icon="fa-search" clickFun="TYouTui.search()"/> |
| | | <#button name="重置" icon="fa-trash" clickFun="TYouTui.resetSearch()"/> |
| | | </div> |
| | | </div> |
| | | <div class="hidden-xs" id="TYouTuiTableToolbar" role="group"> |
| | | @if(shiro.hasPermission("/tYouTui/add")){ |
| | | <#button name="添加" icon="fa-plus" clickFun="TYouTui.openAddTYouTui()"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tYouTui/update")){ |
| | | <#button name="修改" icon="fa-edit" clickFun="TYouTui.openTYouTuiDetail()" space="true"/> |
| | | @} |
| | | @if(shiro.hasPermission("/tYouTui/delete")){ |
| | | <#button name="删除" icon="fa-remove" clickFun="TYouTui.delete()" space="true"/> |
| | | @} |
| | | </div> |
| | | <#table id="TYouTuiTable"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tYouTui/tYouTui.js"></script> |
| | | <script type="text/javascript"> |
| | | laydate.render({ |
| | | elem: '#createTime', |
| | | type: 'date', |
| | | range: true |
| | | }); |
| | | </script> |
| | | @} |
New file |
| | |
| | | @layout("/common/_container.html"){ |
| | | <div class="ibox float-e-margins"> |
| | | <div class="ibox-content"> |
| | | <div class="form-horizontal" id="youTuiInfoForm"> |
| | | |
| | | <div class="row" style="text-align: left"> |
| | | <div class="col-sm-12"> |
| | | <input hidden id="areaId" value="areaId"> |
| | | <div class="initialLevel col-sm-12 control-label form-group" style="text-align: center"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >优推名称:</label> |
| | | <input id="name" name="name" type="text" placeholder="最多20个字" maxlength="20" style="height: 30px" required> |
| | | </div> |
| | | </div> |
| | | <div class="initialLevel col-sm-12 control-label form-group"> |
| | | <div class="initialLevel col-sm-6 control-label form-group" style="flex: auto" > |
| | | <span style="color:red">*</span> |
| | | <label class="control-label" >优推类型:</label> |
| | | <input id="number" name="number" type="number" placeholder="请输入0以上的数字" min="0" style="height: 30px" required> |
| | | <select id="type" name="type" style="height: 30px" required> |
| | | <option value="">请选择类型</option> |
| | | <option value="1">次数</option> |
| | | <option value="2">小时</option> |
| | | </select> |
| | | </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> |
| | | <input id="integral" name="integral" type="number" max="9999" placeholder="最多4位数" style="height: 30px" required> |
| | | <label>积分</label> |
| | | </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> |
| | | <input id="distance" name="distance" type="number" placeholder="最多2000米" max="2000" style="height: 30px" required> |
| | | <label>米</label> |
| | | </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> |
| | | <input id="effectiveTime" name="effectiveTime" maxlength="4" placeholder="最多4位数" type="number" style="height: 30px" required> |
| | | <label>天</label> |
| | | </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 id="serviceContent" name="serviceContent" placeholder="请输入" style="height: 80px" required></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="TYouTuiInfoDlg.addSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TYouTuiInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tYouTui/tYouTui_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="name" name="名称" value="${item.name}" underline="true"/> |
| | | <#input id="type" name="优推类型(1=次数,2=小时)" value="${item.type}" underline="true"/> |
| | | <#input id="number" name="优推值" value="${item.number}" underline="true"/> |
| | | <#input id="integral" name="所需积分" value="${item.integral}" /> |
| | | </div> |
| | | |
| | | <div class="col-sm-6"> |
| | | <#input id="effectiveTime" name="有效天数" value="${item.effectiveTime}" underline="true"/> |
| | | <#input id="content" name="服务内容" value="${item.content}" underline="true"/> |
| | | <#input id="status" name="状态(1=正常,2=冻结,3=删除)" value="${item.status}" underline="true"/> |
| | | <#input id="createTime" name="添加时间" value="${item.createTime}" /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row btn-group-m-t"> |
| | | <div class="col-sm-10"> |
| | | <#button btnCss="info" name="提交" id="ensure" icon="fa-check" clickFun="TYouTuiInfoDlg.editSubmit()"/> |
| | | <#button btnCss="danger" name="取消" id="cancel" icon="fa-eraser" clickFun="TYouTuiInfoDlg.close()"/> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | </div> |
| | | </div> |
| | | <script src="${ctxPath}/static/modular/system/tYouTui/tYouTui_info.js"></script> |
| | | @} |
| | |
| | | {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | if (row.couponState === 1){ |
| | | return '<a href="#" onclick="TCoupon.stop('+row.id+','+row.couponState+')" style="color:red">停用</a>' +' ' + |
| | | return '<a href="#" onclick="TCoupon.updateStatus('+row.id+','+row.couponState+')" style="color:red">停用</a>' +' ' + |
| | | '<a href="#" onclick="TCoupon.delete('+row.id+')" style="color:red">删除</a>' |
| | | }else if (row.couponState === 2){ |
| | | return '<a href="#" onclick="TCoupon.start('+row.id+','+row.couponState+')" style="color:green">启用</a>' +' ' + |
| | | return '<a href="#" onclick="TCoupon.updateStatus('+row.id+','+row.couponState+')" style="color:green">启用</a>' +' ' + |
| | | '<a href="#" onclick="TCoupon.delete('+row.id+')" style="color:red">删除</a>' |
| | | } |
| | | } |
| | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TCoupon.delete = function () { |
| | | if (this.check()) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tCoupon/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TCoupon.delete = function (id) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tCoupon/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TCoupon.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tCouponId",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 提交启用冻结 |
| | | */ |
| | | TCoupon.updateStatus = function (id,couponState) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tCoupon/update-status?id="+id+'&status='+couponState, function (data) { |
| | | if(500 == data.code){ |
| | | Feng.error(data.message); |
| | | return; |
| | | }else { |
| | | Feng.success("修改成功!"); |
| | | TCoupon.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tCouponId",this.seItem.id); |
| | | ajax.start(); |
| | | } |
| | | } |
| | | }, function (data) { |
| | | Feng.error("修改失败!" + data.message + "!"); |
| | | }); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TCouponInfoDlg = { |
| | | tCouponInfoData : {} |
| | | tCouponInfoData : {}, |
| | | validateFields: { |
| | | couponName: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '优惠券名称不能为空' |
| | | } |
| | | } |
| | | }, |
| | | couponType: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '优惠券类型不能为空' |
| | | } |
| | | } |
| | | }, |
| | | couponServiceType: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '服务类类型不能为空' |
| | | } |
| | | } |
| | | }, |
| | | couponCount: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '优惠券数量不能为空' |
| | | } |
| | | } |
| | | }, |
| | | couponConditionalAmount: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '条件金额不能为空' |
| | | } |
| | | } |
| | | }, |
| | | couponPreferentialAmount: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '优惠金额不能为空' |
| | | } |
| | | } |
| | | }, |
| | | couponValidity: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '有效期不能为空' |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 验证数据是否为空 |
| | | */ |
| | | TCouponInfoDlg.validate = function () { |
| | | $('#couponInfoForm').data("bootstrapValidator").resetForm(); |
| | | $('#couponInfoForm').bootstrapValidator('validate'); |
| | | return $("#couponInfoForm").data('bootstrapValidator').isValid(); |
| | | }; |
| | | |
| | | /** |
| | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tCoupon/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | |
| | | } |
| | | |
| | | $(function() { |
| | | |
| | | Feng.initValidator("couponInfoForm", TCouponInfoDlg.validateFields); |
| | | }); |
| | |
| | | {title: '取消时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | return '<a href="#" onclick="TCancelOrder.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' |
| | | return '<a href="#" onclick="TCancelOrder.searchTCancelOrderDetail('+row.id+')" style="color:green">详情</a>' |
| | | } |
| | | } |
| | | ]; |
| | |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情(使用中) |
| | | */ |
| | | TCancelOrder.searchTCancelOrderDetail = function (id) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tCancelOrder/cancelOrderDetail?cancelOrderId=' + id |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TCancelOrder.delete = function () { |
| | |
| | | {title: '状态', field: 'status', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | return '<a href="#" onclick="TOrder.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' |
| | | return '<a href="#" onclick="TOrder.searchTOrderDetail('+row.id+')" style="color:green">详情</a>' |
| | | } |
| | | } |
| | | ]; |
| | |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情(使用中) |
| | | */ |
| | | TOrder.searchTOrderDetail = function (id) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tOrder/orderDetail?orderId=' + id |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TOrder.delete = function () { |
| | |
| | | {title: '操作', visible: true, align: 'center', valign: 'middle',width:150, |
| | | formatter: function (value, row) { |
| | | if (row.userStatus === 1){ |
| | | return '<a href="#" onclick="TOrderException.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' +' ' + |
| | | return '<a href="#" onclick="TOrderException.searchTOrderExceptionDetail('+row.id+')" style="color:green">详情</a>' +' ' + |
| | | '<a href="#" onclick="TOrderException.stop('+row.id+','+row.status+')" style="color:red">冻结</a>' |
| | | }else if (row.userStatus === 2){ |
| | | return '<a href="#" onclick="TOrderException.searchTDriverDetail('+row.id+')" style="color:green">详情</a>' +' ' + |
| | | return '<a href="#" onclick="TOrderException.searchTOrderExceptionDetail('+row.id+')" style="color:green">详情</a>' +' ' + |
| | | '<a href="#" onclick="TOrderException.start('+row.id+','+row.status+')" style="color:green">启用</a>' |
| | | } |
| | | } |
| | |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情(使用中) |
| | | */ |
| | | TOrderException.searchTOrderExceptionDetail = function (id) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tOrder/orderExceptionDetail?orderId=' + id |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TOrderException.delete = function () { |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TOrderExceptionDetailCancelOrder = { |
| | | id: "TOrderExceptionDetailCancelOrderTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TOrderExceptionDetailCancelOrder.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | |
| | | {title: '下单时间', field: 'placeTime', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '取消时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '订单编号', field: 'code', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '订单来源', field: 'source', visible: false, align: 'center', valign: 'middle', |
| | | formatter: function (value, row) { |
| | | if (row.source === 1){ |
| | | return '<span>小程序</span>' |
| | | }else if (row.source === 2){ |
| | | return '<span>司机创建</span>' |
| | | } |
| | | }}, |
| | | {title: '下单用户昵称', field: 'userName', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '下单用户手机', field: 'userPhone', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '起点地址', field: 'startAddress', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '终点地址', field: 'endAddress', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '接单司机', field: 'driverName', visible: false, align: 'center', valign: 'middle'}, |
| | | |
| | | {title: '司机电话', field: 'driverPhone', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '订单id', field: 'orderId', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '用户类型(1=用户,2=司机)', field: 'userType', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '用户id', field: 'userId', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '转单原因', field: 'cause', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '状态(1=正常,2=冻结,3=删除)', field: 'status', visible: false, align: 'center', valign: 'middle'}, |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TOrderExceptionDetailCancelOrder.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TOrderExceptionDetailCancelOrder.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TOrderExceptionDetailCancelOrder.openAddTCancelOrder = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tCancelOrder/tCancelOrder_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TOrderExceptionDetailCancelOrder.openTCancelOrderDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tCancelOrder/tCancelOrder_update/' + TCancelOrder.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情(使用中) |
| | | */ |
| | | TOrderExceptionDetailCancelOrder.searchTCancelOrderDetail = function (id) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tCancelOrder/cancelOrderDetail?cancelOrderId=' + id |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TOrderExceptionDetailCancelOrder.delete = function () { |
| | | if (this.check()) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tCancelOrder/delete", function (data) { |
| | | Feng.success("删除成功!"); |
| | | TCancelOrder.table.refresh(); |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tCancelOrderId",this.seItem.id); |
| | | ajax.start(); |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | /*TOrderExceptionDetailCancelOrder.search = function () { |
| | | var queryData = {}; |
| | | queryData['userId'] = $("#userId").val(); |
| | | queryData['orderId'] = $("#orderId").val(); |
| | | TOrderExceptionDetailCancelOrder.table.refresh({query: queryData}); |
| | | };*/ |
| | | |
| | | $(function () { |
| | | var defaultColunms = TOrderExceptionDetailCancelOrder.initColumn(); |
| | | var table = new BSTable(TOrderExceptionDetailCancelOrder.id, "/tCancelOrder/userCancelOrderList", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TOrderExceptionDetailCancelOrder.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 管理初始化 |
| | | */ |
| | | var TYouTui = { |
| | | id: "TYouTuiTable", //表格id |
| | | seItem: null, //选中的条目 |
| | | table: null, |
| | | layerIndex: -1 |
| | | }; |
| | | |
| | | /** |
| | | * 初始化表格的列 |
| | | */ |
| | | TYouTui.initColumn = function () { |
| | | return [ |
| | | {field: 'selectItem', radio: true}, |
| | | {title: '主键', field: 'id', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '添加时间', field: 'createTime', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '优推名称', field: '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 row.number+'<span>次</span>' |
| | | }else if (row.type === 2){ |
| | | return row.number+'<span>小时</span>' |
| | | } |
| | | } |
| | | }, |
| | | {title: '服务内容', field: 'content', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '兑换积分数', field: 'integral', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '优推值', field: 'number', visible: false, align: 'center', valign: 'middle'}, |
| | | {title: '优推距离(米)', field: 'distance', visible: true, align: 'center', valign: 'middle'}, |
| | | {title: '有效期', field: 'effectiveTime', visible: false, 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){ |
| | | return '<a href="#" onclick="TYouTui.updateStatus('+row.id+','+row.status+')" style="color:red">冻结</a>' +' ' + |
| | | '<a href="#" onclick="TYouTui.delete('+row.id+')" style="color:red">删除</a>' |
| | | }else if (row.status === 2){ |
| | | return '<a href="#" onclick="TYouTui.updateStatus('+row.id+','+row.status+')" style="color:green">解冻</a>' +' ' + |
| | | '<a href="#" onclick="TYouTui.delete('+row.id+')" style="color:red">删除</a>' |
| | | } |
| | | } |
| | | } |
| | | ]; |
| | | }; |
| | | |
| | | /** |
| | | * 检查是否选中 |
| | | */ |
| | | TYouTui.check = function () { |
| | | var selected = $('#' + this.id).bootstrapTable('getSelections'); |
| | | if(selected.length == 0){ |
| | | Feng.info("请先选中表格中的某一记录!"); |
| | | return false; |
| | | }else{ |
| | | TYouTui.seItem = selected[0]; |
| | | return true; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 点击添加 |
| | | */ |
| | | TYouTui.openAddTYouTui = function () { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '添加', |
| | | area: ['100%', '100%'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tYouTui/tYouTui_add' |
| | | }); |
| | | this.layerIndex = index; |
| | | }; |
| | | |
| | | /** |
| | | * 打开查看详情 |
| | | */ |
| | | TYouTui.openTYouTuiDetail = function () { |
| | | if (this.check()) { |
| | | var index = layer.open({ |
| | | type: 2, |
| | | title: '详情', |
| | | area: ['800px', '420px'], //宽高 |
| | | fix: false, //不固定 |
| | | maxmin: true, |
| | | content: Feng.ctxPath + '/tYouTui/tYouTui_update/' + TYouTui.seItem.id |
| | | }); |
| | | this.layerIndex = index; |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 删除 |
| | | */ |
| | | TYouTui.delete = function (id) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tYouTui/delete", function (data) { |
| | | if(500 == data.code){ |
| | | Feng.error(data.message); |
| | | return; |
| | | }else { |
| | | Feng.success("删除成功!"); |
| | | TYouTui.table.refresh(); |
| | | } |
| | | }, function (data) { |
| | | Feng.error("删除失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set("tYouTuiId",id); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 提交启用冻结 |
| | | */ |
| | | TYouTui.updateStatus = function (id,status) { |
| | | var ajax = new $ax(Feng.ctxPath + "/tYouTui/update-status?id="+id+'&status='+status, function (data) { |
| | | if(500 == data.code){ |
| | | Feng.error(data.message); |
| | | return; |
| | | }else { |
| | | Feng.success("修改成功!"); |
| | | TYouTui.table.refresh(); |
| | | } |
| | | }, function (data) { |
| | | Feng.error("修改失败!" + data.message + "!"); |
| | | }); |
| | | ajax.start(); |
| | | }; |
| | | |
| | | /** |
| | | * 查询列表 |
| | | */ |
| | | TYouTui.search = function () { |
| | | var queryData = {}; |
| | | queryData['createTime'] = $("#createTime").val(); |
| | | queryData['type'] = $("#type").val(); |
| | | TYouTui.table.refresh({query: queryData}); |
| | | }; |
| | | |
| | | /** |
| | | * 重置 |
| | | */ |
| | | TYouTui.resetSearch = function (){ |
| | | $("#createTime").val(''); |
| | | $("#type").val(''); |
| | | TYouTui.search(); |
| | | } |
| | | |
| | | $(function () { |
| | | var defaultColunms = TYouTui.initColumn(); |
| | | var table = new BSTable(TYouTui.id, "/tYouTui/list", defaultColunms); |
| | | table.setPaginationType("client"); |
| | | TYouTui.table = table.init(); |
| | | }); |
New file |
| | |
| | | /** |
| | | * 初始化详情对话框 |
| | | */ |
| | | var TYouTuiInfoDlg = { |
| | | tYouTuiInfoData : {}, |
| | | validateFields: { |
| | | name: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '优推名称不能为空' |
| | | } |
| | | } |
| | | }, |
| | | type: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '优推类型不能为空' |
| | | } |
| | | } |
| | | }, |
| | | integral: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '兑换条件不能为空' |
| | | } |
| | | } |
| | | }, |
| | | distance: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '优推距离不能为空' |
| | | } |
| | | } |
| | | }, |
| | | effectiveTime: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '有效期不能为空' |
| | | } |
| | | } |
| | | }, |
| | | serviceContent: { |
| | | validators: { |
| | | notEmpty: { |
| | | message: '服务内容不能为空' |
| | | } |
| | | } |
| | | }, |
| | | } |
| | | }; |
| | | |
| | | /** |
| | | * 验证数据是否为空 |
| | | */ |
| | | TYouTuiInfoDlg.validate = function () { |
| | | $('#youTuiInfoForm').data("bootstrapValidator").resetForm(); |
| | | $('#youTuiInfoForm').bootstrapValidator('validate'); |
| | | return $("#youTuiInfoForm").data('bootstrapValidator').isValid(); |
| | | }; |
| | | |
| | | /** |
| | | * 清除数据 |
| | | */ |
| | | TYouTuiInfoDlg.clearData = function() { |
| | | this.tYouTuiInfoData = {}; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TYouTuiInfoDlg.set = function(key, val) { |
| | | this.tYouTuiInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val; |
| | | return this; |
| | | } |
| | | |
| | | /** |
| | | * 设置对话框中的数据 |
| | | * |
| | | * @param key 数据的名称 |
| | | * @param val 数据的具体值 |
| | | */ |
| | | TYouTuiInfoDlg.get = function(key) { |
| | | return $("#" + key).val(); |
| | | } |
| | | |
| | | /** |
| | | * 关闭此对话框 |
| | | */ |
| | | TYouTuiInfoDlg.close = function() { |
| | | parent.layer.close(window.parent.TYouTui.layerIndex); |
| | | } |
| | | |
| | | /** |
| | | * 收集数据 |
| | | */ |
| | | TYouTuiInfoDlg.collectData = function() { |
| | | this |
| | | .set('id') |
| | | .set('name') |
| | | .set('type') |
| | | .set('number') |
| | | .set('integral') |
| | | .set('effectiveTime') |
| | | .set('content') |
| | | .set('status') |
| | | .set('distance') |
| | | .set('serviceContent') |
| | | .set('createTime'); |
| | | } |
| | | |
| | | /** |
| | | * 提交添加 |
| | | */ |
| | | TYouTuiInfoDlg.addSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | if(!this.validate()){ |
| | | return ; |
| | | } |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tYouTui/add", function(data){ |
| | | Feng.success("添加成功!"); |
| | | window.parent.TYouTui.table.refresh(); |
| | | TYouTuiInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("添加失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tYouTuiInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | /** |
| | | * 提交修改 |
| | | */ |
| | | TYouTuiInfoDlg.editSubmit = function() { |
| | | |
| | | this.clearData(); |
| | | this.collectData(); |
| | | |
| | | //提交信息 |
| | | var ajax = new $ax(Feng.ctxPath + "/tYouTui/update", function(data){ |
| | | Feng.success("修改成功!"); |
| | | window.parent.TYouTui.table.refresh(); |
| | | TYouTuiInfoDlg.close(); |
| | | },function(data){ |
| | | Feng.error("修改失败!" + data.responseJSON.message + "!"); |
| | | }); |
| | | ajax.set(this.tYouTuiInfoData); |
| | | ajax.start(); |
| | | } |
| | | |
| | | $(function() { |
| | | Feng.initValidator("youTuiInfoForm", TYouTuiInfoDlg.validateFields); |
| | | }); |