1、新增卡项套餐修改记录
2、修改储值卡操作姓名,次数显示bug
 
	
	
	
	
	
	
		
		14 files modified
	
		
		2 files added
	
	
 
	
	
	
	
	
	
	
	
 |  |  | 
 |  |  | import com.matrix.core.tools.excl.ExcelUtil; | 
 |  |  | import com.matrix.system.common.bean.SysUsers; | 
 |  |  | import com.matrix.system.constance.Dictionary; | 
 |  |  | import com.matrix.system.hive.bean.MoneyCardUse; | 
 |  |  | import com.matrix.system.hive.bean.ShoppingGoods; | 
 |  |  | import com.matrix.system.hive.bean.SysProjUse; | 
 |  |  | import com.matrix.system.hive.bean.SysVipInfo; | 
 |  |  | import com.matrix.system.hive.bean.*; | 
 |  |  | import com.matrix.system.hive.dao.MoneyCardUseDao; | 
 |  |  | import com.matrix.system.hive.dao.ShoppingGoodsDao; | 
 |  |  | import com.matrix.system.hive.dao.SysProjUseDao; | 
 |  |  | 
 |  |  |     @Resource | 
 |  |  |     private MoneyCardUseService moneyCardUseService; | 
 |  |  |  | 
 |  |  |     @Resource | 
 |  |  |     private  SysProjUseDao projUseDao; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     SysVipInfoDao vipInfoDao; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     ShoppingGoodsDao shoppingGoodsDao; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     MoneyCardUseDao moneyCardUseDao; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public static final String fnCode = "projUse"; | 
 |  |  |     public static final String search = fnCode + ":search"; | 
 |  |  | 
 |  |  |                 projUseService.findInPage(sysProjUse, pageVo), projUseService.findTotal(sysProjUse)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 查看会员项目使用情况 | 
 |  |  |      * | 
 |  |  |      * @author jiangyouyao | 
 |  |  |      * @date 2016-09-03 | 
 |  |  |      */ | 
 |  |  |     @RequestMapping(value = "/findProjUseFlow") | 
 |  |  |     public @ResponseBody | 
 |  |  |     AjaxResult findProjUseFlow(PaginationVO pageVo, SysProjUseFlow projUseFlow) { | 
 |  |  |         return new AjaxResult(AjaxResult.STATUS_SUCCESS, | 
 |  |  |                 projUseDao.selectProjUseFlow(projUseFlow, pageVo), projUseDao.selectProjUseFlowTotal(projUseFlow)); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 将项目设置为有效 | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * 添加或修改会员項目信息 | 
 |  |  |      */ | 
 |  |  |     @Transactional | 
 |  |  |     @RequestMapping(value = "/addOrModify") | 
 |  |  |     public @ResponseBody | 
 |  |  |     AjaxResult addOrModify(SysProjUse sysProjUse) { | 
 |  |  |         if (sysProjUse.getId() != null) { | 
 |  |  |             SysUsers user=getMe(); | 
 |  |  |             //插入修改记录 | 
 |  |  |             SysProjUse oldProjUse = projUseService.findById(sysProjUse.getId()); | 
 |  |  |             SysProjUseFlow projUseFlow=new SysProjUseFlow(); | 
 |  |  |             projUseFlow.setProjUseId(sysProjUse.getId()); | 
 |  |  |             projUseFlow.setOptionType("人工修改"); | 
 |  |  |             projUseFlow.setProjName(oldProjUse.getProjName()); | 
 |  |  |             projUseFlow.setCreateBy(user.getSuName()); | 
 |  |  |             projUseFlow.setUpdateBy(user.getSuName()); | 
 |  |  |             projUseFlow.setPrice(sysProjUse.getPrice()); | 
 |  |  |             projUseFlow.setStatus(sysProjUse.getStatus()); | 
 |  |  |             projUseFlow.setBalance(sysProjUse.getBalance()); | 
 |  |  |             projUseFlow.setFailTime(sysProjUse.getFailTime()); | 
 |  |  |             projUseFlow.setIsOver(sysProjUse.getIsOver()); | 
 |  |  |             projUseFlow.setRemark(sysProjUse.getUpdateRemark()); | 
 |  |  |             projUseFlow.setSurplusCount(sysProjUse.getSurplusCount()); | 
 |  |  |             projUseDao.insertFlow(projUseFlow); | 
 |  |  |  | 
 |  |  |             return modify(projUseService, sysProjUse, "项目"); | 
 |  |  |         } else { | 
 |  |  |             return add(projUseService, sysProjUse, "项目"); | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     SysVipInfoDao vipInfoDao; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     ShoppingGoodsDao shoppingGoodsDao; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     SysProjUseDao projUseDao; | 
 |  |  |  | 
 |  |  |     @Autowired | 
 |  |  |     MoneyCardUseDao moneyCardUseDao; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     @RequestMapping(value = "/importProjUse") | 
 
 |  |  | 
 |  |  | import com.matrix.core.pojo.AjaxResult; | 
 |  |  | import com.matrix.core.pojo.PaginationVO; | 
 |  |  | import com.matrix.core.tools.WebUtil; | 
 |  |  | import com.matrix.system.common.bean.SysUsers; | 
 |  |  | import com.matrix.system.constance.Dictionary; | 
 |  |  | import com.matrix.system.hive.bean.MoneyCardUse; | 
 |  |  | import com.matrix.system.hive.bean.SysProjUse; | 
 |  |  | import com.matrix.system.hive.bean.SysProjUseFlow; | 
 |  |  | import com.matrix.system.hive.dao.SysProjUseDao; | 
 |  |  | import com.matrix.system.hive.service.MoneyCardUseService; | 
 |  |  | import com.matrix.system.hive.service.SysProjUseService; | 
 |  |  | 
 |  |  |     public @ResponseBody | 
 |  |  |     AjaxResult addOrModify(SysProjUse sysProjUse) { | 
 |  |  |         if (sysProjUse.getId() != null) { | 
 |  |  |  | 
 |  |  |             //插入修改记录 | 
 |  |  |             SysUsers user=getMe(); | 
 |  |  |             //插入修改记录 | 
 |  |  |             SysProjUse oldProjUse = sysProjUseService.findById(sysProjUse.getId()); | 
 |  |  |             SysProjUseFlow projUseFlow=new SysProjUseFlow(); | 
 |  |  |             projUseFlow.setProjUseId(sysProjUse.getId()); | 
 |  |  |             projUseFlow.setOptionType("人工修改"); | 
 |  |  |             projUseFlow.setProjName(oldProjUse.getProjName()); | 
 |  |  |             projUseFlow.setCreateBy(user.getSuName()); | 
 |  |  |             projUseFlow.setUpdateBy(user.getSuName()); | 
 |  |  |             projUseFlow.setPrice(sysProjUse.getPrice()); | 
 |  |  |             projUseFlow.setStatus(sysProjUse.getStatus()); | 
 |  |  |             projUseFlow.setBalance(sysProjUse.getBalance()); | 
 |  |  |             projUseFlow.setFailTime(sysProjUse.getFailTime()); | 
 |  |  |             projUseFlow.setIsOver(sysProjUse.getIsOver()); | 
 |  |  |             projUseFlow.setRemark(sysProjUse.getUpdateRemark()); | 
 |  |  |             projUseFlow.setSurplusCount(sysProjUse.getSurplusCount()); | 
 |  |  |             projUseDao.insertFlow(projUseFlow); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             int modifyResult = sysProjUseService.modify(sysProjUse); | 
 |  |  |  | 
 |  |  |             List<SysProjUse> modifyUse = sysProjUse.getTaocanProjUse(); | 
 |  |  | 
 |  |  |             if (modifyResult > 0) { | 
 |  |  |                 if (CollectionUtils.isNotEmpty(modifyUse)) { | 
 |  |  |                     for (SysProjUse use : modifyUse) { | 
 |  |  |  | 
 |  |  |                         //插入修改记录 | 
 |  |  |                         SysProjUse oldProjUse2 = sysProjUseService.findById(use.getId()); | 
 |  |  |                         SysProjUseFlow projUseFlow2=new SysProjUseFlow(); | 
 |  |  |                         //套餐中的项目需要记录套餐id | 
 |  |  |                         projUseFlow2.setProjUseId(oldProjUse.getId()); | 
 |  |  |                         projUseFlow2.setOptionType("人工修改"); | 
 |  |  |                         projUseFlow2.setProjName(oldProjUse2.getProjName()); | 
 |  |  |                         projUseFlow2.setCreateBy(user.getSuName()); | 
 |  |  |                         projUseFlow2.setUpdateBy(user.getSuName()); | 
 |  |  |                         projUseFlow2.setPrice(use.getPrice()); | 
 |  |  |                         projUseFlow2.setStatus(use.getStatus()); | 
 |  |  |                         projUseFlow2.setBalance(use.getBalance()); | 
 |  |  |                         projUseFlow2.setFailTime(use.getFailTime()); | 
 |  |  |                         projUseFlow2.setIsOver(use.getIsOver()); | 
 |  |  |                         projUseFlow2.setRemark(sysProjUse.getUpdateRemark()); | 
 |  |  |                         projUseFlow2.setSurplusCount(use.getSurplusCount()); | 
 |  |  |                         projUseDao.insertFlow(projUseFlow2); | 
 |  |  |  | 
 |  |  |                         sysProjUseService.modify(use); | 
 |  |  |                     } | 
 |  |  |                 } | 
 
 |  |  | 
 |  |  |  | 
 |  |  | import com.fasterxml.jackson.annotation.JsonFormat; | 
 |  |  | import com.matrix.core.anotations.Extend; | 
 |  |  | import com.matrix.core.pojo.EntityDTO; | 
 |  |  | import com.matrix.core.tools.DateUtil; | 
 |  |  | import com.matrix.system.common.bean.EntityDTOExt; | 
 |  |  | import org.springframework.format.annotation.DateTimeFormat; | 
 |  |  |  | 
 |  |  | import java.io.Serializable; | 
 |  |  | 
 |  |  | /** | 
 |  |  |  * @date 2016-07-03 20:53 | 
 |  |  |  */ | 
 |  |  | public class SysProjUse implements Serializable { | 
 |  |  | public class SysProjUse extends EntityDTO { | 
 |  |  |  | 
 |  |  |     private static final long serialVersionUID = 1L; | 
 |  |  |  | 
 |  |  | 
 |  |  |  | 
 |  |  |     private String queryKey; | 
 |  |  |  | 
 |  |  |     @Extend | 
 |  |  |     private String updateRemark; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     public String getUpdateRemark() { | 
 |  |  |         return updateRemark; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setUpdateRemark(String updateRemark) { | 
 |  |  |         this.updateRemark = updateRemark; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Date getTargetFailTime() { | 
 |  |  |         return targetFailTime; | 
 |  |  |     } | 
 
| New file | 
 |  |  | 
 |  |  | package com.matrix.system.hive.bean; | 
 |  |  |  | 
 |  |  | import com.fasterxml.jackson.annotation.JsonFormat; | 
 |  |  | import com.matrix.core.anotations.Extend; | 
 |  |  | import com.matrix.core.pojo.EntityDTO; | 
 |  |  | import com.matrix.core.tools.DateUtil; | 
 |  |  | import com.matrix.system.common.bean.EntityDTOExt; | 
 |  |  | import io.swagger.annotations.ApiModelProperty; | 
 |  |  | import org.springframework.format.annotation.DateTimeFormat; | 
 |  |  |  | 
 |  |  | import javax.validation.constraints.NotBlank; | 
 |  |  | import java.io.Serializable; | 
 |  |  | import java.util.Date; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  |  | 
 |  |  | /**项目余次操作记录 | 
 |  |  |  * @date 2016-07-03 20:53 | 
 |  |  |  */ | 
 |  |  | public class SysProjUseFlow extends EntityDTO { | 
 |  |  |  | 
 |  |  |     private static final long serialVersionUID = 1L; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      */ | 
 |  |  |     private Long id; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 项目id | 
 |  |  |      */ | 
 |  |  |     private Long projUseId; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 剩余次数 | 
 |  |  |      */ | 
 |  |  |     private Integer surplusCount; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 是否使用完成Y完成,N未完成 | 
 |  |  |      */ | 
 |  |  |     private String isOver; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 有效期 | 
 |  |  |      */ | 
 |  |  |     @JsonFormat(pattern = DateUtil.DATE_FORMAT_DD, timezone = "GMT+8") | 
 |  |  |     @DateTimeFormat(pattern = DateUtil.DATE_FORMAT_DD) | 
 |  |  |     private Date failTime; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 单次扣减金额 | 
 |  |  |      */ | 
 |  |  |     private Double price; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 套餐状态,有效,无效,冻结,转让,退款 | 
 |  |  |      */ | 
 |  |  |     private String status; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 使用情况余额 | 
 |  |  |      */ | 
 |  |  |     private Double balance; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 备注 | 
 |  |  |      */ | 
 |  |  |     private String remark; | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 项目名称 | 
 |  |  |      */ | 
 |  |  |     private String projName; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 操作类型 | 
 |  |  |      */ | 
 |  |  |     private String optionType; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 开始时间 | 
 |  |  |      */ | 
 |  |  |     @Extend | 
 |  |  |     private String beginTime; | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      *结束时间 | 
 |  |  |      */ | 
 |  |  |     @Extend | 
 |  |  |     private String endTime; | 
 |  |  |  | 
 |  |  |     public String getBeginTime() { | 
 |  |  |         return beginTime; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setBeginTime(String beginTime) { | 
 |  |  |         this.beginTime = beginTime; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getEndTime() { | 
 |  |  |         return endTime; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setEndTime(String endTime) { | 
 |  |  |         this.endTime = endTime; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Long getId() { | 
 |  |  |         return id; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setId(Long id) { | 
 |  |  |         this.id = id; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Long getProjUseId() { | 
 |  |  |         return projUseId; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setProjUseId(Long projUseId) { | 
 |  |  |         this.projUseId = projUseId; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Integer getSurplusCount() { | 
 |  |  |         return surplusCount; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setSurplusCount(Integer surplusCount) { | 
 |  |  |         this.surplusCount = surplusCount; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getIsOver() { | 
 |  |  |         return isOver; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setIsOver(String isOver) { | 
 |  |  |         this.isOver = isOver; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Date getFailTime() { | 
 |  |  |         return failTime; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setFailTime(Date failTime) { | 
 |  |  |         this.failTime = failTime; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Double getPrice() { | 
 |  |  |         return price; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setPrice(Double price) { | 
 |  |  |         this.price = price; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getStatus() { | 
 |  |  |         return status; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setStatus(String status) { | 
 |  |  |         this.status = status; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public Double getBalance() { | 
 |  |  |         return balance; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setBalance(Double balance) { | 
 |  |  |         this.balance = balance; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getRemark() { | 
 |  |  |         return remark; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setRemark(String remark) { | 
 |  |  |         this.remark = remark; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getProjName() { | 
 |  |  |         return projName; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setProjName(String projName) { | 
 |  |  |         this.projName = projName; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public String getOptionType() { | 
 |  |  |         return optionType; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public void setOptionType(String optionType) { | 
 |  |  |         this.optionType = optionType; | 
 |  |  |     } | 
 |  |  | } | 
 
 |  |  | 
 |  |  | package com.matrix.system.hive.dao; | 
 |  |  |  | 
 |  |  | import com.matrix.system.hive.bean.SysProjUse; | 
 |  |  | import com.matrix.system.hive.bean.SysProjUseFlow; | 
 |  |  | import org.apache.ibatis.annotations.Param; | 
 |  |  |  | 
 |  |  | import com.matrix.core.pojo.PaginationVO; | 
 |  |  | 
 |  |  | public interface SysProjUseDao{ | 
 |  |  |  | 
 |  |  |     public int insert(SysProjUse sysProjUse); | 
 |  |  |    	 | 
 |  |  |  | 
 |  |  |     public int insertFlow(SysProjUseFlow sysProjUseFlow); | 
 |  |  |  | 
 |  |  |     public int update(SysProjUse sysProjUse); | 
 |  |  |     /** | 
 |  |  |      * 批量修改余次信息 | 
 |  |  | 
 |  |  |  | 
 |  |  |     public List<SysProjUse> selectByModel(@Param("record") SysProjUse sysProjUse); | 
 |  |  |  | 
 |  |  |     public List<SysProjUse> selectFlowByProjUseId(Long projUseId); | 
 |  |  |  | 
 |  |  |     public int  selectTotalRecord(@Param("record") SysProjUse sysProjUse); | 
 |  |  |      | 
 |  |  | 
 |  |  |     public int updateTcStatus(@Param("id") Long id, @Param("status") String status); | 
 |  |  |  | 
 |  |  |     List<SysProjUse> selectHasValidProjUse(); | 
 |  |  |  | 
 |  |  |     List<SysProjUseFlow> selectProjUseFlow(@Param("record") SysProjUseFlow projUseFlow, @Param("pageVo")PaginationVO pageVo); | 
 |  |  |  | 
 |  |  |     Integer selectProjUseFlowTotal(@Param("record") SysProjUseFlow projUseFlow); | 
 |  |  | } | 
 
 |  |  | 
 |  |  |  | 
 |  |  |     @Override | 
 |  |  |     public int modify(SysProjUse sysProjUse) { | 
 |  |  |         //插入套餐项目操作记录 | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         return sysProjUseDao.update(sysProjUse); | 
 |  |  |  | 
 
 |  |  | 
 |  |  |         times, | 
 |  |  |         gift_money, | 
 |  |  |         balance, | 
 |  |  |         (SELECT STAFF_NAME from sys_shopstaff_info a WHERE operation_id=a.id) staffName, | 
 |  |  |         (SELECT su_name from sys_users a WHERE operation_id=a.su_id) staffName, | 
 |  |  |         (SELECT VIP_NAME FROM sys_vip_info b WHERE vip_id=b.ID) vipName, | 
 |  |  |         (SELECT card_NAME FROM money_card_use c WHERE car_use_id=c.ID) cardName | 
 |  |  |         from money_card_use_flow | 
 
 |  |  | 
 |  |  |             <if test="record.queryNoGoodsype != null and record.queryNoGoodsype !='' "> | 
 |  |  |                 and good_type !=#{record.queryNoGoodsype} | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |             <if test="record.name != null and record.name !='' "> | 
 |  |  |                 and (instr(name,#{record.name}) or instr(zjm,#{record.name})) | 
 |  |  |             </if> | 
 |  |  |             <if test="record.zjm != null and record.zjm !='' "> | 
 |  |  |                 and instr(zjm,#{record.zjm}) | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             <if test="record.staus != null and record.staus !='' "> | 
 |  |  |                 and staus =#{record.staus} | 
 |  |  |             </if> | 
 |  |  |             <if test="record.code != null and record.code !=''"> | 
 |  |  |                 and code = #{record.code} | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |             <if test="record.isAssemble != null and record.isAssemble !='' "> | 
 |  |  |                 and is_assemble =#{record.isAssemble} | 
 |  |  |             </if> | 
 |  |  |             <if test="record.deleted != null and record.deleted !='' "> | 
 |  |  |                 and deleted =#{record.deleted} | 
 |  |  |             </if> | 
 |  |  |             <if test="record.isDel != null and record.isDel !='' "> | 
 |  |  |                 and is_del = #{record.isDel} | 
 |  |  |             </if> | 
 |  |  |             <if test="record.zjm != null and record.zjm !='' "> | 
 |  |  |                 and instr(zjm,#{record.zjm}) | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |             <if test="record.cateId != null and record.cateId !='' "> | 
 |  |  |                 and cate_id =#{record.cateId} | 
 |  |  |             </if> | 
 |  |  | 
 |  |  |                 and is_vip_car = #{record.isVipCar} | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             <if test="record.isCourse != null and record.isCourse !=''"> | 
 |  |  |                 and is_course = #{record.isCourse} | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |             <if test="record.code != null and record.code !=''"> | 
 |  |  |                 and code = #{record.code} | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             <if test="record.startTime != null "> | 
 |  |  |                 and create_time <![CDATA[ >= ]]> #{record.startTime} | 
 |  |  |             </if> | 
 |  |  |             <if test="record.endTime != null "> | 
 |  |  |                 and create_time <![CDATA[ <= ]]> #{record.endTime} | 
 |  |  |  | 
 |  |  |             </if> | 
 |  |  |             <if test="record.shopId != null and record.shopId !='' "> | 
 |  |  |                 <![CDATA[    and ( shop_id = #{record.shopId} | 
 |  |  |                 or  ISNULL(use_shop) || LENGTH(trim(use_shop))<1 | 
 |  |  |                 or FIND_IN_SET(#{record.shopId},use_shop) ) ]]> | 
 |  |  |                 <![CDATA[    and ( shop_id = #{record.shopId} or | 
 |  |  |                       (  headquarters=1 and  ( ISNULL(use_shop) or LENGTH(trim(use_shop))<1 or FIND_IN_SET(#{record.shopId},use_shop))))]]> | 
 |  |  |             </if> | 
 |  |  |             <if test="record.companyId != null and record.companyId !='' "> | 
 |  |  |                 and company_id = #{record.companyId} | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |             <if test="record.isDel != null and record.isDel !='' "> | 
 |  |  |                 and is_del = #{record.isDel} | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             <if test="record.headquarters != null and record.headquarters !='' "> | 
 |  |  |                 and headquarters = #{record.headquarters} | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         </if> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |  | 
 
 |  |  | 
 |  |  | <mapper namespace="com.matrix.system.hive.dao.SysProjUseDao"> | 
 |  |  |  | 
 |  |  |     <resultMap type="SysProjUse" id="SysProjUseMap"> | 
 |  |  |  | 
 |  |  |         <id property="id" column="ID"/> | 
 |  |  |         <result property="createBy" column="create_by" /> | 
 |  |  |         <result property="createTime" column="create_time" /> | 
 |  |  |         <result property="updateBy" column="update_by" /> | 
 |  |  |         <result property="updateTime" column="update_time" /> | 
 |  |  |         <result property="orderItemId" column="ORDER_ITEM_ID"/> | 
 |  |  |         <result property="projId" column="PROJ_ID"/> | 
 |  |  |         <result property="surplusCount" column="SURPLUS_COUNT"/> | 
 |  |  | 
 |  |  |         <result property="deductionNum" column="deductionNum"/> | 
 |  |  |         <result property="isCourse" column="is_course"/> | 
 |  |  |         <result property="timeLength" column="time_length"/> | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         <!-- 对应项目信息--> | 
 |  |  |         <association property="projInfo" javaType="ShoppingGoods" | 
 |  |  |                      resultMap="com.matrix.system.hive.dao.ShoppingGoodsDao.ShoppingGoodsMap"/> | 
 |  |  |  | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <!-- 余次使用记录map --> | 
 |  |  |     <resultMap type="com.matrix.system.hive.bean.SysProjUseFlow" id="SysProjUseFlowMap"> | 
 |  |  |         <id property="id" column="id"/> | 
 |  |  |         <result property="createBy" column="create_by" /> | 
 |  |  |         <result property="createTime" column="create_time" /> | 
 |  |  |         <result property="updateBy" column="update_by" /> | 
 |  |  |         <result property="updateTime" column="update_time" /> | 
 |  |  |         <result property="projUseId" column="proj_use_id"/> | 
 |  |  |         <result property="surplusCount" column="surplus_count"/> | 
 |  |  |         <result property="isOver" column="is_over"/> | 
 |  |  |         <result property="failTime" column="fail_time"/> | 
 |  |  |         <result property="price" column="price"/> | 
 |  |  |         <result property="status" column="status"/> | 
 |  |  |         <result property="balance" column="balance"/> | 
 |  |  |         <result property="remark" column="remark"/> | 
 |  |  |         <result property="projName" column="proj_name"/> | 
 |  |  |         <result property="optionType" column="option_type"/> | 
 |  |  |     </resultMap> | 
 |  |  |  | 
 |  |  |     <!-- 插入流水 --> | 
 |  |  |     <insert id="insertFlow" parameterType="SysProjUse" useGeneratedKeys="true" | 
 |  |  |             keyProperty="id"> | 
 |  |  |         INSERT INTO sys_proj_use_flow ( | 
 |  |  |         create_by, | 
 |  |  |         create_time, | 
 |  |  |         update_by, | 
 |  |  |         update_time, | 
 |  |  |         id, | 
 |  |  |         proj_use_id, | 
 |  |  |         surplus_count, | 
 |  |  |         is_over, | 
 |  |  |         fail_time, | 
 |  |  |         price, | 
 |  |  |         status, | 
 |  |  |         balance, | 
 |  |  |         remark, | 
 |  |  |         proj_name, | 
 |  |  |         option_type | 
 |  |  |         ) | 
 |  |  |         VALUES ( | 
 |  |  |         #{createBy}, | 
 |  |  |         now(), | 
 |  |  |         #{updateBy}, | 
 |  |  |         now(), | 
 |  |  |         #{id}, | 
 |  |  |         #{projUseId}, | 
 |  |  |         #{surplusCount}, | 
 |  |  |         #{isOver}, | 
 |  |  |         #{failTime}, | 
 |  |  |         #{price}, | 
 |  |  |         #{status}, | 
 |  |  |         #{balance}, | 
 |  |  |         #{remark}, | 
 |  |  |         #{projName}, | 
 |  |  |         #{optionType} | 
 |  |  |         ) | 
 |  |  |     </insert> | 
 |  |  |  | 
 |  |  |     <!-- 查询流水 --> | 
 |  |  |     <select id="selectProjUseFlow" resultMap="SysProjUseFlowMap"> | 
 |  |  |         select * from sys_proj_use_flow | 
 |  |  |         <where> | 
 |  |  |                 and proj_use_id=#{record.projUseId} | 
 |  |  |             <if test="record.createBy !=null and record.createBy!='' "> | 
 |  |  |                 and instr(createBy,#{record.createBy}) | 
 |  |  |             </if> | 
 |  |  |             <if test="record.beginTime !=null and record.beginTime!=''"> | 
 |  |  |                 and create_time >= #{record.beginTime} | 
 |  |  |             </if> | 
 |  |  |             <if test="record.endTime !=null and record.endTime!=''"> | 
 |  |  |                 <![CDATA[ and create_time <=  #{record.endTime} ]]> | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |         </where> | 
 |  |  |         <if test="pageVo !=null"><!-- 判断pageVo对象是否为空 --> | 
 |  |  |             <if test="pageVo.sort !=null  and pageVo.order !=null"> | 
 |  |  |                 order by | 
 |  |  |                 ${pageVo.sort} ${pageVo.order} | 
 |  |  |             </if> | 
 |  |  |             <if test="pageVo.offset >=0  and pageVo.limit >0"> | 
 |  |  |                 limit | 
 |  |  |                 #{pageVo.offset},#{pageVo.limit} | 
 |  |  |             </if> | 
 |  |  |         </if> | 
 |  |  |  | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <select id="selectProjUseFlowTotal" resultType="java.lang.Integer"> | 
 |  |  |         select count(*) from sys_proj_use_flow | 
 |  |  |         <where> | 
 |  |  |             and proj_use_id=#{record.projUseId} | 
 |  |  |             <if test="record.createBy !=null and record.createBy!='' "> | 
 |  |  |                 and instr(createBy,#{record.createBy}) | 
 |  |  |             </if> | 
 |  |  |             <if test="record.beginTime !=null and record.beginTime!=''"> | 
 |  |  |                 and create_time >= #{record.beginTime} | 
 |  |  |             </if> | 
 |  |  |             <if test="record.endTime !=null and record.endTime!=''"> | 
 |  |  |                 <![CDATA[ and create_time <=  #{record.endTime} ]]> | 
 |  |  |             </if> | 
 |  |  |  | 
 |  |  |         </where> | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |     <!-- 插入方法 --> | 
 |  |  |     <insert id="insert" parameterType="SysProjUse" useGeneratedKeys="true" | 
 |  |  | 
 |  |  |         where date_format(now(), '%Y-%m-%d') > date_format(FAIL_TIME, '%Y-%m-%d') and STATUS='有效' | 
 |  |  |     </select> | 
 |  |  |  | 
 |  |  |  | 
 |  |  | </mapper> | 
 
| New file | 
 |  |  | 
 |  |  | <!DOCTYPE HTML> | 
 |  |  | <html xmlns:th="http://www.thymeleaf.org" xmlns:matrix="http://www.w3.org/1999/xhtml"> | 
 |  |  | <head> | 
 |  |  |     <meta charset="utf-8"> | 
 |  |  |     <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> | 
 |  |  |     <meta name="renderer" content="webkit|ie-comp|ie-stand"> | 
 |  |  |     <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> | 
 |  |  |     <meta name="viewport" | 
 |  |  |           content="width=device-width,initial-scale=1,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no"/> | 
 |  |  |     <meta http-equiv="Cache-Control" content="no-siteapp"/> | 
 |  |  |     <!-- 本框架基本脚本和样式 --> | 
 |  |  |     <script type="text/javascript" | 
 |  |  |             th:src="@{/js/plugin/jquery-2.1.4.min.js}"></script> | 
 |  |  |     <script type="text/javascript" th:src="@{/js/systools/MBase.js}"></script> | 
 |  |  |  | 
 |  |  | </head> | 
 |  |  | <body class=" container-fluid"> | 
 |  |  | <div class="pd-10"> | 
 |  |  |     <!-- 搜索框部分start --> | 
 |  |  |     <div class="row form-head"> | 
 |  |  |         <form class="form-inline" id="serchform"> | 
 |  |  |  | 
 |  |  |             <div class="form-group mr-20"> | 
 |  |  |                 <label>创建时间</label> | 
 |  |  |                 <input autocomplete="off"   name="beginTime" type="text" class="form-control datetimepicker" id="beginTime">- | 
 |  |  |                 <input autocomplete="off"   name="endTime" type="text" class="form-control datetimepicker" id="endTime"> | 
 |  |  |             </div> | 
 |  |  |  | 
 |  |  |             <div class="form-group mr-20"> | 
 |  |  |                 <label >操作人</label> | 
 |  |  |                 <input autocomplete="off"   name="createBy" class="form-control"> | 
 |  |  |             </div> | 
 |  |  |             <input type="hidden" name="projUseId" th:value="${param.projUseId}" > | 
 |  |  |             <div class="form-group"> | 
 |  |  |                 <button onclick="myGrid.serchData(1)" type="button" | 
 |  |  |                         class="btn btn-sm btn-info"> | 
 |  |  |                     <i class="fa fa-search "></i> 搜索 | 
 |  |  |                 </button> | 
 |  |  |                 <button type="reset" class="btn btn-sm btn-info "> | 
 |  |  |                     <i class="fa fa-refresh "></i> 重置 | 
 |  |  |                 </button> | 
 |  |  |             </div> | 
 |  |  |         </form> | 
 |  |  |     </div> | 
 |  |  |     <div class="row mt-10"> | 
 |  |  |         <div id="option-bar"> | 
 |  |  |             <!-- 功能按钮部分 --> | 
 |  |  |         </div> | 
 |  |  |         <!-- 数据表格部分 --> | 
 |  |  |         <table id="mgrid"> | 
 |  |  |             <thead> | 
 |  |  |             <tr> | 
 |  |  |                 <th data-formatter="MGrid.indexfn" data-align="center" data-width="30px">序号</th> | 
 |  |  |                 <th data-field="projName"  >项目名称</th> | 
 |  |  |                 <th data-field="optionType">操作类型</th> | 
 |  |  |                 <th data-field="createBy">操作人</th> | 
 |  |  |                 <th data-field="createTime" data-formatter="MGrid.getTime" data-sortable="true">操作时间</th> | 
 |  |  |                 <th data-field="surplusCount">剩余次数</th> | 
 |  |  |                 <th data-field="balance">余额</th> | 
 |  |  |                 <th data-field="status">状态</th> | 
 |  |  |                 <th data-field="isOver" data-formatter="getYesOrNo">是否使用完成</th> | 
 |  |  |                 <th data-field="failTime" data-formatter="MGrid.getTime">有效期</th> | 
 |  |  |                 <th data-field="price">单次扣减金额</th> | 
 |  |  |                 <th data-field="remark">备注</th> | 
 |  |  |               </tr> | 
 |  |  |             </thead> | 
 |  |  |         </table> | 
 |  |  |         <!-- 数据表格部分end --> | 
 |  |  |     </div> | 
 |  |  |     <div class="form-group "> | 
 |  |  |         <div class="col-sm-12 text-center fixed-button"> | 
 |  |  |             <a class="btn btn-danger radius" href="javascript:;" | 
 |  |  |                onclick="MTools.closeForm()"><i class="fa fa-close"></i> 关闭</a> | 
 |  |  |         </div> | 
 |  |  |     </div> | 
 |  |  | </div> | 
 |  |  |  | 
 |  |  | <script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script> | 
 |  |  | <script type="text/javascript" th:inline="javascript" > | 
 |  |  |  | 
 |  |  |     //定义表格对象 | 
 |  |  |     var myGrid; | 
 |  |  |  | 
 |  |  |     $(function () { | 
 |  |  |  | 
 |  |  |         //时间 | 
 |  |  |         var _initParam = { | 
 |  |  |             format: 'yyyy-mm-dd hh:ii', | 
 |  |  |             todayBtn: true, | 
 |  |  |             autoclose: true, | 
 |  |  |             startView: 2, | 
 |  |  |             maxView: 3, | 
 |  |  |             minView: 0 | 
 |  |  |         }; | 
 |  |  |         MTools.ininDatetimepicker(_initParam); | 
 |  |  |         //限制结束时间不小于开始时间 | 
 |  |  |         var initParam = { | 
 |  |  |             format: 'yyyy-mm-dd hh:ii', | 
 |  |  |             todayBtn: true, | 
 |  |  |             autoclose: true, | 
 |  |  |             startView: 2, | 
 |  |  |             maxView: 3, | 
 |  |  |             minView: 0 | 
 |  |  |         }; | 
 |  |  |         MTools.limitStartEndTime(initParam); | 
 |  |  |  | 
 |  |  |         myGrid = MGrid.initGrid({ | 
 |  |  |             url: basePath + "/admin/projUser/findProjUseFlow", | 
 |  |  |             sortName:"createTime", | 
 |  |  |             sortOrder:"desc", | 
 |  |  |         }); | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     function getYesOrNo(value, row, index){ | 
 |  |  |         switch(value){ | 
 |  |  |             case 'Y': | 
 |  |  |                 return "是"; | 
 |  |  |             case 'N': | 
 |  |  |                 return "否"; | 
 |  |  |             default: | 
 |  |  |                 return value; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | </body> | 
 |  |  | </html> | 
 
 |  |  | 
 |  |  |                                         <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结'" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-cardEdit" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button> | 
 |  |  |                                         <el-button  type="text" size="small" @click="openProjUseFlow(scope.$index, scope.row)">操作记录</el-button> | 
 |  |  |                                     </template> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                             </el-table> | 
 |  |  | 
 |  |  |                                         <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效' && scope.row.taocanId == null" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结' && scope.row.taocanId == null" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-cardEdit" v-if="scope.row.taocanId == null" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button> | 
 |  |  |                                         <el-button  type="text" size="small" @click="openProjUseFlow(scope.$index, scope.row)">操作记录</el-button> | 
 |  |  |                                     </template> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                             </el-table> | 
 |  |  | 
 |  |  |                                         <el-button matrix:btn="vipInfo-wuxiao" v-if="scope.row.status!='无效'" type="text" size="small" @click="tabProjInvalid(scope.$index, scope.row)">无效</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-dongjie" v-if="scope.row.status!='冻结'" type="text" size="small" @click="tabProjCold(scope.$index, scope.row)">冻结</el-button> | 
 |  |  |                                         <el-button matrix:btn="vipInfo-cardEdit" type="text" size="small" @click="tabProjEdit(scope.$index, scope.row)">编辑</el-button> | 
 |  |  |                                         <el-button  type="text" size="small" @click="openMoneyCardUseFlow(scope.$index, scope.row)">操作记录</el-button> | 
 |  |  |                                     </template> | 
 |  |  |                                 </el-table-column> | 
 |  |  |                             </el-table> | 
 |  |  | 
 |  |  |                     content : [ basePath + url + row.id ] | 
 |  |  |                 }); | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             openProjUseFlow(index, row) { | 
 |  |  |                 layer.open({ | 
 |  |  |                     type : 2, | 
 |  |  |                     title : "操作记录", | 
 |  |  |                     area : MUI.SIZE_M, | 
 |  |  |                     maxmin : true, | 
 |  |  |                     content : [ basePath + "/admin/redirect/hive/beautySalon/projUseFlow-list?projUseId=" + row.id ] | 
 |  |  |                 }); | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |             openMoneyCardUseFlow(index, row) { | 
 |  |  |                 layer.open({ | 
 |  |  |                     type : 2, | 
 |  |  |                     title : "充值卡变更记录", | 
 |  |  |                     area : MUI.SIZE_M, | 
 |  |  |                     maxmin : true, | 
 |  |  |                     content : [ basePath + "/admin/redirect/hive/vip/moneyCardUseFlow-list?vipId=" + row.vipId ] | 
 |  |  |                 }); | 
 |  |  |             }, | 
 |  |  |  | 
 |  |  |             tabProjInvalid(index, row) { | 
 |  |  |                 let _this = this; | 
 |  |  |                 let projType = _this.projTab.projType; | 
 
 |  |  | 
 |  |  |  | 
 |  |  |         <div class="form-group"> | 
 |  |  |             <label class="col-sm-2 control-label">充值卡备注</label> | 
 |  |  |             <div class="col-sm-10"> | 
 |  |  |             <div class="col-sm-4"> | 
 |  |  |                 <textarea class="form-control" name="remark" rows="4" th:text="${obj?.remark}"></textarea> | 
 |  |  |                 <div class="Validform_checktip"></div> | 
 |  |  |             </div> | 
 |  |  | 
 |  |  |  | 
 |  |  |         <div class="form-group"> | 
 |  |  |             <label class="col-sm-2 control-label">本次修改说明<span class="text-danger">*</span></label> | 
 |  |  |             <div class="col-sm-10"> | 
 |  |  |             <div class="col-sm-4"> | 
 |  |  |                 <input dataType="*1-200" errormsg="修改充值卡必须填写修改说明" class="form-control" name="changeRemark"/> | 
 |  |  |                 <div class="Validform_checktip"></div> | 
 |  |  |             </div> | 
 
 |  |  | 
 |  |  | </head> | 
 |  |  | <body class=" container-fluid"> | 
 |  |  | <div class="pd-10"> | 
 |  |  |     <!-- 搜索框部分start --> | 
 |  |  |     <div class="row form-head"> | 
 |  |  |         <form class="form-inline" id="serchform"> | 
 |  |  |             <!-- 用于套餐的查询 --> | 
 |  |  |             <input autocomplete="off"   type="hidden" name="vipId" value="" id="vipId"> | 
 |  |  |  | 
 |  |  |             <div class="form-group mr-20"> | 
 |  |  |                 <label>操作内容</label> | 
 |  |  |                 <input autocomplete="off"   name="content" type="text" class="form-control"> | 
 |  |  |             </div> | 
 |  |  |             <div class="form-group"> | 
 |  |  |                 <button onclick="myGrid.serchData(1)" type="button" | 
 |  |  |                         class="btn btn-sm btn-info"> | 
 |  |  |                     <i class="fa fa-search "></i> 搜索 | 
 |  |  |                 </button> | 
 |  |  |                 <button type="reset" class="btn btn-sm btn-info "> | 
 |  |  |                     <i class="fa fa-refresh "></i> 重置 | 
 |  |  |                 </button> | 
 |  |  |             </div> | 
 |  |  |     <div class="row form-head"> | 
 |  |  |         <form class="form-inline" id="serchform2"> | 
 |  |  |             <!-- 用于套餐的查询 --> | 
 |  |  |             <input autocomplete="off"   type="hidden" name="vipId" th:value="${param.vipId}" class="vipId"> | 
 |  |  |         </form> | 
 |  |  |     </div> | 
 |  |  |     <div class="row mt-10"> | 
 |  |  | 
 |  |  |  | 
 |  |  |         </div> | 
 |  |  |         <!-- 数据表格部分 --> | 
 |  |  |         <table id="mgrid"> | 
 |  |  |         <table id="mgrid2"> | 
 |  |  |             <thead> | 
 |  |  |             <tr> | 
 |  |  |                 <th data-formatter="MGrid.indexfn" data-align="center" | 
 |  |  |                     data-width="30px">序号</th> | 
 |  |  |                 <th data-field="vipName">客户姓名</th> | 
 |  |  |                 <!-- | 
 |  |  |                 <th data-field="orderNo">订单编号/服务单编号</th> | 
 |  |  |                  --> | 
 |  |  |                 <th data-field="content" data-sortable="true">操作内容</th> | 
 |  |  |                 <th data-field="staffName">操作人</th> | 
 |  |  |                 <th data-field="createTime" data-formatter="MGrid.getTime">操作时间</th> | 
 |  |  |                 <th data-field="cardName">充值卡名称</th> | 
 |  |  |                 <th data-field="vipName">客户姓名</th> | 
 |  |  |                 <th data-field="type">变更类型</th> | 
 |  |  |                 <th data-field="orderNo">单据编号</th> | 
 |  |  |                 <th data-field="total" data-formatter="MGrid.getYk" >本金</th> | 
 |  |  |                 <th data-field="giftMoney" data-formatter="MGrid.getYk" >赠送金额</th> | 
 |  |  |                 <th data-field="balance">余额</th> | 
 |  |  |                 <th data-field="times">次数</th> | 
 |  |  |                 <th data-field="staffName">操作人</th> | 
 |  |  |                 <th data-field="content" data-sortable="true">备注</th> | 
 |  |  |             </tr> | 
 |  |  |             </thead> | 
 |  |  |         </table> | 
 |  |  |         <!-- 数据表格部分end --> | 
 |  |  |         <div class="form-group "> | 
 |  |  |             <div class="col-sm-12 text-center fixed-button"> | 
 |  |  |                 <a class="btn btn-danger radius" href="javascript:;" | 
 |  |  |                    onclick="MTools.closeForm()"><i class="fa fa-close"></i> 关闭</a> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |     </div> | 
 |  |  | </div> | 
 |  |  |  | 
 |  |  | <script type="text/javascript" th:src="@{/js/systools/MJsBase.js}"></script> | 
 |  |  | <script type="text/javascript"> | 
 |  |  |     //初始化表格 | 
 |  |  |     var myGrid; | 
 |  |  |     myGrid=MGrid.initGrid({ | 
 |  |  |         url:basePath+"/admin/moneyCardUseFlow/showList?vipId="+$.query.get("vipId"), | 
 |  |  |     //初始化表格 | 
 |  |  |     var myGrid2; | 
 |  |  |     myGrid2=MGrid.initGrid({ | 
 |  |  |         tableSelecter: "#mgrid2",// 表格选择器 请保持唯一 | 
 |  |  |         serchFormSelecter: "#serchform2",// 搜索表单选择器 | 
 |  |  |         url:basePath+"/admin/moneyCardUse/showCardFlowList", | 
 |  |  |     }); | 
 |  |  |  | 
 |  |  |     function buidOperate(value, row, index){ | 
 |  |  |         return html; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     function getYesOrNo(value, row, index){ | 
 |  |  |         switch(value){ | 
 |  |  |             case 'Y': | 
 |  |  |                 return "是"; | 
 |  |  |             case 'N': | 
 |  |  |                 return "否"; | 
 |  |  |             default: | 
 |  |  |                 return value; | 
 |  |  |         } | 
 |  |  |     } | 
 |  |  | </script> | 
 |  |  |  | 
 |  |  | </body> | 
 
 |  |  | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |         <div class="form-group"> | 
 |  |  |             <label class="col-sm-2 control-label">备注</label> | 
 |  |  |             <div class="col-sm-10"> | 
 |  |  |                 <textarea   class="form-control" name="remark" rows="4" th:text="${obj?.remark}" ></textarea> | 
 |  |  |             <label class="col-sm-2 control-label">项目备注</label> | 
 |  |  |             <div class="col-sm-4"> | 
 |  |  |                 <textarea    class="form-control" name="remark" rows="4" th:text="${obj?.remark}" ></textarea> | 
 |  |  |                 <div class="Validform_checktip"></div> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |         <div class="form-group"> | 
 |  |  |             <label class="col-sm-2 control-label">修改备注<span class="text-danger">*</span></label> | 
 |  |  |             <div class="col-sm-4"> | 
 |  |  |                 <textarea   datatype="*1-200" class="form-control" name="updateRemark" rows="4"  ></textarea> | 
 |  |  |                 <div class="Validform_checktip"></div> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 
 |  |  | 
 |  |  |         </div> | 
 |  |  |  | 
 |  |  |         <div class="form-group"> | 
 |  |  |             <div class="col-sm-8 col-md-offset-2" id="projBox"> | 
 |  |  |             <div class="col-sm-4 col-md-offset-2" id="projBox"> | 
 |  |  |                 <table class="table table-striped table-hover table-bordered" | 
 |  |  |                        id="mgrid"> | 
 |  |  |                     <thead> | 
 |  |  | 
 |  |  |         </div> | 
 |  |  |  | 
 |  |  |         <div class="form-group"> | 
 |  |  |             <label class="col-sm-2 control-label">备注</label> | 
 |  |  |             <div class="col-sm-10"> | 
 |  |  |                 <textarea   class="form-control" name="remark" rows="4" >[[${obj.remark}]]</textarea> | 
 |  |  |             <label class="col-sm-2 control-label">套餐备注</label> | 
 |  |  |             <div class="col-sm-4"> | 
 |  |  |                 <textarea    class="form-control" name="remark" rows="4" th:text="${obj?.remark}" ></textarea> | 
 |  |  |                 <div class="Validform_checktip"></div> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 |  |  |         <div class="form-group"> | 
 |  |  |             <label class="col-sm-2 control-label">修改备注<span class="text-danger">*</span></label> | 
 |  |  |             <div class="col-sm-4"> | 
 |  |  |                 <textarea   datatype="*1-200" class="form-control" name="updateRemark" rows="4"  ></textarea> | 
 |  |  |                 <div class="Validform_checktip"></div> | 
 |  |  |             </div> | 
 |  |  |         </div> | 
 
 |  |  | 
 |  |  |     "checkSiteMap": true, | 
 |  |  |     "uploadWithSourceMap": true, | 
 |  |  |     "compileHotReLoad": false, | 
 |  |  |     "useMultiFrameRuntime": false, | 
 |  |  |     "useMultiFrameRuntime": true, | 
 |  |  |     "useApiHook": true, | 
 |  |  |     "babelSetting": { | 
 |  |  |       "ignore": [], | 
 |  |  | 
 |  |  |       "outputPath": "" | 
 |  |  |     }, | 
 |  |  |     "enableEngineNative": false, | 
 |  |  |     "bundle": false, | 
 |  |  |     "useIsolateContext": true, | 
 |  |  |     "useCompilerModule": true, | 
 |  |  |     "userConfirmedUseCompilerModuleSwitch": false, | 
 |  |  | 
 |  |  |     "packNpmManually": false, | 
 |  |  |     "packNpmRelationList": [], | 
 |  |  |     "minifyWXSS": true, | 
 |  |  |     "bundle": false | 
 |  |  |     "useApiHostProcess": false | 
 |  |  |   }, | 
 |  |  |   "compileType": "miniprogram", | 
 |  |  |   "libVersion": "1.9.98", |