会员类型,推荐人
This commit is contained in:
parent
14c63402c1
commit
97078700f1
|
|
@ -1,58 +1,73 @@
|
|||
package com.ifish.action;
|
||||
|
||||
import com.ifish.entity.VipReferrer;
|
||||
import com.ifish.entity.VipType;
|
||||
import com.ifish.hibernate.Pagination;
|
||||
import com.ifish.search.SearchFilter;
|
||||
import com.ifish.service.VipService;
|
||||
import com.ifish.util.IfishUtil;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.security.core.context.SecurityContextImpl;
|
||||
import org.springframework.stereotype.Controller;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.ResponseBody;
|
||||
import org.springframework.web.servlet.ModelAndView;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author: yan.y
|
||||
* @Description:
|
||||
* @Date: Created in 22:19 2018/7/2
|
||||
* @Modified by:
|
||||
*/
|
||||
//@Controller("VipAction")
|
||||
//@RequestMapping("/vip")
|
||||
@Controller("VipAction")
|
||||
@RequestMapping("/vip")
|
||||
public class VipAction {
|
||||
|
||||
@Autowired
|
||||
private VipService vipService;
|
||||
|
||||
/** ====================================会员信息============================================ **/
|
||||
@RequestMapping("/list")
|
||||
@RequestMapping("/list.do")
|
||||
public ModelAndView vipList(){
|
||||
|
||||
return new ModelAndView("vip/vipList");
|
||||
}
|
||||
|
||||
@RequestMapping("/getVip")
|
||||
@RequestMapping("/getVip.do")
|
||||
public ModelAndView getVip(){
|
||||
|
||||
return new ModelAndView("vip/vipDetail");
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/add")
|
||||
@RequestMapping("/add.do")
|
||||
public boolean vipAdd(){
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@RequestMapping("/update")
|
||||
@RequestMapping("/update.do")
|
||||
public boolean vipUpdate(){
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@RequestMapping("/delete")
|
||||
@RequestMapping("/delete.do")
|
||||
public boolean vipDelete(){
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@RequestMapping("/export")
|
||||
@RequestMapping("/export.do")
|
||||
public void vipExport(){
|
||||
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping("/sendSmS")
|
||||
@RequestMapping("/sendSmS.do")
|
||||
public boolean vipSendSMS(){
|
||||
|
||||
return false;
|
||||
|
|
@ -61,134 +76,146 @@ public class VipAction {
|
|||
|
||||
/** ====================================单位评价信息============================================ **/
|
||||
|
||||
@RequestMapping("/companyEvaluateList")
|
||||
@RequestMapping("/companyEvaluateList.do")
|
||||
public ModelAndView companyEvaluate(){
|
||||
|
||||
return new ModelAndView("vip/companyEvaluateList");
|
||||
}
|
||||
|
||||
@RequestMapping("/getCompanyEvaluate")
|
||||
@RequestMapping("/getCompanyEvaluate.do")
|
||||
public ModelAndView getCompanyEvaluate(){
|
||||
|
||||
return new ModelAndView("vip/companyEvaluateDetail");
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/companyEvaluateAdd.do")
|
||||
public void companyEvaluateAdd(){
|
||||
|
||||
|
||||
}
|
||||
|
||||
@RequestMapping("/companyEvaluateUpdate.do")
|
||||
public void companyEvaluateUpdate(){
|
||||
|
||||
@RequestMapping("/companyEvaluateAdd")
|
||||
public boolean companyEvaluateAdd(){
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@RequestMapping("/companyEvaluateUpdate")
|
||||
public boolean companyEvaluateUpdate(){
|
||||
@RequestMapping("/companyEvaluateDelete.do")
|
||||
public void companyEvaluateDelete(){
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@RequestMapping("/companyEvaluateDelete")
|
||||
public boolean companyEvaluateDelete(){
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/** ====================================个人评价信息============================================ **/
|
||||
|
||||
@RequestMapping("/personalEvaluateList")
|
||||
@RequestMapping("/personalEvaluateList.do")
|
||||
public ModelAndView personalEvaluate(){
|
||||
|
||||
return new ModelAndView("vip/personalEvaluateList");
|
||||
}
|
||||
|
||||
@RequestMapping("/getPersonalEvaluate")
|
||||
@RequestMapping("/getPersonalEvaluate.do")
|
||||
public ModelAndView getPersonalEvaluate(){
|
||||
|
||||
return new ModelAndView("vip/personalEvaluateDetail");
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/personalEvaluateAdd")
|
||||
public boolean personalEvaluateAdd(){
|
||||
@RequestMapping("/personalEvaluateAdd.do")
|
||||
public void personalEvaluateAdd(){
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@RequestMapping("/companyEvaluateUpdate")
|
||||
public boolean personalEvaluateUpdate(){
|
||||
@RequestMapping("/personalEvaluateUpdate.do")
|
||||
public void personalEvaluateUpdate(){
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@RequestMapping("/companyEvaluateDelete")
|
||||
public boolean personalEvaluateDelete(){
|
||||
@RequestMapping("/personalEvaluateDelete.do")
|
||||
public void personalEvaluateDelete(){
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/** ====================================会员类别============================================ **/
|
||||
@RequestMapping("/vipTypeList")
|
||||
public ModelAndView vipTypeList(){
|
||||
|
||||
return new ModelAndView("vip/vipTypeList");
|
||||
}
|
||||
|
||||
@RequestMapping("/getVipType")
|
||||
public ModelAndView getVipType(){
|
||||
|
||||
return new ModelAndView("vip/vipTypeDetail");
|
||||
@RequestMapping("/vipType.do")
|
||||
public ModelAndView vipType(){
|
||||
return new ModelAndView("vip/vipType");
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/vipTypeAdd")
|
||||
public boolean vipTypeAdd(){
|
||||
|
||||
return false;
|
||||
@RequestMapping("/vipTypeList.do")
|
||||
@ResponseBody
|
||||
public Object vipTypeList(SearchFilter searchFilter){
|
||||
Pagination<VipType> page = this.vipService.getVipTypeByPage(searchFilter);
|
||||
return IfishUtil.returnPageData(page, searchFilter.getsEcho());
|
||||
}
|
||||
|
||||
@RequestMapping("/vipTypeUpdate")
|
||||
public boolean vipTypeUpdate(){
|
||||
|
||||
return false;
|
||||
@RequestMapping("/getVipType.do")
|
||||
@ResponseBody
|
||||
public Object getVipType(Integer typeId){
|
||||
return this.vipService.getVipTypeById(typeId);
|
||||
}
|
||||
|
||||
@RequestMapping("/vipTypeDelete")
|
||||
public boolean vipTypeDelete(){
|
||||
|
||||
return false;
|
||||
@RequestMapping("/vipTypeAdd.do")
|
||||
@ResponseBody
|
||||
public Object vipTypeAdd(VipType vipType){
|
||||
boolean b = this.vipService.saveOrUpdateVipType(vipType);
|
||||
return b;
|
||||
}
|
||||
|
||||
@RequestMapping("/vipTypeDelete.do")
|
||||
@ResponseBody
|
||||
public Object vipTypeDelete(Integer typeId){
|
||||
VipType vipType = this.vipService.getVipTypeById(typeId);
|
||||
vipType.setTypeStatus("1");
|
||||
boolean b = this.vipService.saveOrUpdateVipType(vipType);
|
||||
return b;
|
||||
}
|
||||
|
||||
/** ====================================推荐人============================================ **/
|
||||
@RequestMapping("/referrerList")
|
||||
public ModelAndView referrerList(){
|
||||
|
||||
return new ModelAndView("vip/referrerList");
|
||||
@RequestMapping("/referrer.do")
|
||||
public ModelAndView referrer(){
|
||||
return new ModelAndView("vip/vipReferrer");
|
||||
}
|
||||
|
||||
@RequestMapping("/getReferrer")
|
||||
@RequestMapping("/referrerList.do")
|
||||
@ResponseBody
|
||||
public Object referrerList(SearchFilter searchFilter){
|
||||
Pagination<VipReferrer> page = this.vipService.getVipReferrerByPage(searchFilter);
|
||||
return IfishUtil.returnPageData(page,searchFilter.getsEcho());
|
||||
}
|
||||
|
||||
@RequestMapping("/getReferrer.do")
|
||||
public ModelAndView getReferrer(){
|
||||
|
||||
return new ModelAndView("vip/referrerDetail");
|
||||
}
|
||||
|
||||
|
||||
@RequestMapping("/referrerAdd")
|
||||
public boolean referrerAdd(){
|
||||
|
||||
return false;
|
||||
@RequestMapping("/referrerAddOrUpdate.do")
|
||||
@ResponseBody
|
||||
public boolean referrerAddOrUpdate(VipReferrer vipReferrer){
|
||||
boolean b = this.vipService.saveOrUpdateVipReferrer(vipReferrer);
|
||||
return b;
|
||||
}
|
||||
|
||||
@RequestMapping("/referrerUpdate")
|
||||
public boolean referrerUpdate(){
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@RequestMapping("/referrerDelete")
|
||||
public boolean referrerDelete(){
|
||||
|
||||
return false;
|
||||
@RequestMapping("/referrerDelete.do")
|
||||
@ResponseBody
|
||||
public boolean referrerDelete(Integer referrerId,HttpServletRequest request){
|
||||
SecurityContextImpl securityContextImpl = (SecurityContextImpl) request.getSession().getAttribute("SPRING_SECURITY_CONTEXT");
|
||||
VipReferrer vipReferrer = this.vipService.getVipReferrer(referrerId);
|
||||
vipReferrer.setModifyUser(securityContextImpl.getAuthentication().getName());
|
||||
vipReferrer.setModifyTime(new Date());
|
||||
vipReferrer.setReferrerStatus("1");
|
||||
boolean b = this.vipService.saveOrUpdateVipReferrer(vipReferrer);
|
||||
return b;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
package com.ifish.dao;
|
||||
|
||||
import com.ifish.entity.VipReferrer;
|
||||
|
||||
/**
|
||||
* @author: yan.y
|
||||
* @Description:
|
||||
* @Date: Created in 18:37 2018/7/4
|
||||
* @Modified by:
|
||||
*/
|
||||
public interface VipReferrerDao extends BaseDao<VipReferrer,Integer> {
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.ifish.dao;
|
||||
|
||||
import com.ifish.entity.VipType;
|
||||
|
||||
/**
|
||||
* @author: yan.y
|
||||
* @Description:
|
||||
* @Date: Created in 18:37 2018/7/4
|
||||
* @Modified by:
|
||||
*/
|
||||
public interface VipTypeDao extends BaseDao<VipType,Integer> {
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.ifish.daoImpl;
|
||||
|
||||
import com.ifish.dao.VipReferrerDao;
|
||||
import com.ifish.entity.VipReferrer;
|
||||
import com.ifish.hibernate.HibernateBaseDao;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @author: yan.y
|
||||
* @Description:
|
||||
* @Date: Created in 18:38 2018/7/4
|
||||
* @Modified by:
|
||||
*/
|
||||
@Repository("vipReferrerDao")
|
||||
public class VipReferrerDaoImpl extends HibernateBaseDao<VipReferrer,Integer> implements VipReferrerDao {
|
||||
@Override
|
||||
protected Class<VipReferrer> getEntityClass() {
|
||||
return VipReferrer.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
package com.ifish.daoImpl;
|
||||
|
||||
import com.ifish.dao.VipTypeDao;
|
||||
import com.ifish.entity.VipType;
|
||||
import com.ifish.hibernate.HibernateBaseDao;
|
||||
import org.springframework.stereotype.Repository;
|
||||
|
||||
/**
|
||||
* @author: yan.y
|
||||
* @Description:
|
||||
* @Date: Created in 18:38 2018/7/4
|
||||
* @Modified by:
|
||||
*/
|
||||
@Repository("vipTypeDao")
|
||||
public class VipTypeDaoImpl extends HibernateBaseDao<VipType,Integer> implements VipTypeDao {
|
||||
@Override
|
||||
protected Class<VipType> getEntityClass() {
|
||||
return VipType.class;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,136 @@
|
|||
package com.ifish.entity;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author: yan.y
|
||||
* @Description:
|
||||
* @Date: Created in 21:01 2018/7/4
|
||||
* @Modified by:
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "tbl_vip_referrer")
|
||||
public class VipReferrer implements Serializable{
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy= GenerationType.IDENTITY)
|
||||
@Column(name = "vip_referrer_id")
|
||||
private Integer referrerId;
|
||||
|
||||
@Column(name = "vip_referrer_name")
|
||||
private String referrerName;
|
||||
|
||||
@OneToOne
|
||||
@JoinColumn(name = "vip_referrer_type")
|
||||
private VipType referrerType;
|
||||
|
||||
@Column(name = "vip_admission_time")
|
||||
private Date referrerAdmissionTime;
|
||||
|
||||
@Column(name = "vip_referrer_remark")
|
||||
private String referrerRemark;
|
||||
|
||||
@Column(name = "vip_referrer_status")
|
||||
private String referrerStatus;
|
||||
|
||||
@Column(name = "vip_create_user")
|
||||
private String createUser;
|
||||
|
||||
@Column(name = "vip_create_time")
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
private Date createTime;
|
||||
|
||||
@Column(name = "vip_modify_user")
|
||||
private String modifyUser;
|
||||
|
||||
@Column(name = "vip_mofify_time")
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
private Date modifyTime;
|
||||
|
||||
public Integer getReferrerId() {
|
||||
return referrerId;
|
||||
}
|
||||
|
||||
public void setReferrerId(Integer referrerId) {
|
||||
this.referrerId = referrerId;
|
||||
}
|
||||
|
||||
public String getReferrerName() {
|
||||
return referrerName;
|
||||
}
|
||||
|
||||
public void setReferrerName(String referrerName) {
|
||||
this.referrerName = referrerName;
|
||||
}
|
||||
|
||||
public VipType getReferrerType() {
|
||||
return referrerType;
|
||||
}
|
||||
|
||||
public void setReferrerType(VipType referrerType) {
|
||||
this.referrerType = referrerType;
|
||||
}
|
||||
|
||||
@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
|
||||
public Date getReferrerAdmissionTime() {
|
||||
return referrerAdmissionTime;
|
||||
}
|
||||
|
||||
public void setReferrerAdmissionTime(Date referrerAdmissionTime) {
|
||||
this.referrerAdmissionTime = referrerAdmissionTime;
|
||||
}
|
||||
|
||||
public String getReferrerRemark() {
|
||||
return referrerRemark;
|
||||
}
|
||||
|
||||
public void setReferrerRemark(String referrerRemark) {
|
||||
this.referrerRemark = referrerRemark;
|
||||
}
|
||||
|
||||
public String getReferrerStatus() {
|
||||
return referrerStatus;
|
||||
}
|
||||
|
||||
public void setReferrerStatus(String referrerStatus) {
|
||||
this.referrerStatus = referrerStatus;
|
||||
}
|
||||
|
||||
public String getCreateUser() {
|
||||
return createUser;
|
||||
}
|
||||
|
||||
public void setCreateUser(String createUser) {
|
||||
this.createUser = createUser;
|
||||
}
|
||||
|
||||
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
|
||||
public Date getCreateTime() {
|
||||
return createTime;
|
||||
}
|
||||
|
||||
public void setCreateTime(Date createTime) {
|
||||
this.createTime = createTime;
|
||||
}
|
||||
|
||||
public String getModifyUser() {
|
||||
return modifyUser;
|
||||
}
|
||||
|
||||
public void setModifyUser(String modifyUser) {
|
||||
this.modifyUser = modifyUser;
|
||||
}
|
||||
|
||||
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
|
||||
public Date getModifyTime() {
|
||||
return modifyTime;
|
||||
}
|
||||
|
||||
public void setModifyTime(Date modifyTime) {
|
||||
this.modifyTime = modifyTime;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,50 @@
|
|||
package com.ifish.entity;
|
||||
|
||||
import javax.persistence.*;
|
||||
import java.io.Serializable;
|
||||
|
||||
/**
|
||||
* @author: yan.y
|
||||
* @Description:
|
||||
* @Date: Created in 18:24 2018/7/4
|
||||
* @Modified by:
|
||||
*/
|
||||
@Entity
|
||||
@Table(name = "tbl_vip_type")
|
||||
public class VipType implements Serializable{
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy= GenerationType.IDENTITY)
|
||||
@Column(name = "vip_type_id")
|
||||
private Integer typeId;
|
||||
|
||||
@Column(name = "vip_type_name")
|
||||
private String typeName;
|
||||
|
||||
@Column(name = "vip_type_status")
|
||||
private String typeStatus;
|
||||
|
||||
public Integer getTypeId() {
|
||||
return typeId;
|
||||
}
|
||||
|
||||
public void setTypeId(Integer typeId) {
|
||||
this.typeId = typeId;
|
||||
}
|
||||
|
||||
public String getTypeName() {
|
||||
return typeName;
|
||||
}
|
||||
|
||||
public void setTypeName(String typeName) {
|
||||
this.typeName = typeName;
|
||||
}
|
||||
|
||||
public String getTypeStatus() {
|
||||
return typeStatus;
|
||||
}
|
||||
|
||||
public void setTypeStatus(String typeStatus) {
|
||||
this.typeStatus = typeStatus;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
package com.ifish.service;
|
||||
|
||||
import com.ifish.entity.VipReferrer;
|
||||
import com.ifish.entity.VipType;
|
||||
import com.ifish.hibernate.Pagination;
|
||||
import com.ifish.search.SearchFilter;
|
||||
|
||||
/**
|
||||
* @author: yan.y
|
||||
* @Description:
|
||||
* @Date: Created in 18:31 2018/7/4
|
||||
* @Modified by:
|
||||
*/
|
||||
public interface VipService {
|
||||
/**
|
||||
* 查询会员类别
|
||||
* @param searchFilter
|
||||
* @return
|
||||
*/
|
||||
Pagination<VipType> getVipTypeByPage(SearchFilter searchFilter);
|
||||
|
||||
boolean saveOrUpdateVipType(VipType vipType);
|
||||
|
||||
VipType getVipTypeById(Integer typeId);
|
||||
|
||||
|
||||
Pagination<VipReferrer> getVipReferrerByPage(SearchFilter searchFilter);
|
||||
|
||||
boolean saveOrUpdateVipReferrer(VipReferrer vipReferrer);
|
||||
|
||||
VipReferrer getVipReferrer(Integer referrerId);
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
package com.ifish.serviceImpl;
|
||||
|
||||
import com.ifish.dao.VipReferrerDao;
|
||||
import com.ifish.dao.VipTypeDao;
|
||||
import com.ifish.entity.VipReferrer;
|
||||
import com.ifish.entity.VipType;
|
||||
import com.ifish.hibernate.Pagination;
|
||||
import com.ifish.search.SearchFilter;
|
||||
import com.ifish.service.VipService;
|
||||
import com.ifish.util.IfishUtil;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.hibernate.criterion.Criterion;
|
||||
import org.hibernate.criterion.Order;
|
||||
import org.hibernate.criterion.Restrictions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author: yan.y
|
||||
* @Description:
|
||||
* @Date: Created in 18:34 2018/7/4
|
||||
* @Modified by:
|
||||
*/
|
||||
@Service("vipService")
|
||||
@Transactional
|
||||
public class VipServiceImpl implements VipService{
|
||||
|
||||
@Autowired
|
||||
private VipTypeDao vipTypeDao;
|
||||
|
||||
@Autowired
|
||||
private VipReferrerDao vipReferrerDao;
|
||||
|
||||
@Override
|
||||
public Pagination<VipType> getVipTypeByPage(SearchFilter searchFilter) {
|
||||
//查询条件
|
||||
List<Criterion> queryList = new ArrayList<Criterion>();
|
||||
//排序条件
|
||||
List<Order> orderList = new ArrayList<Order>();
|
||||
//分页
|
||||
Integer iDisplayStart = searchFilter.getiDisplayStart();
|
||||
Integer iDisplayLength = searchFilter.getiDisplayLength();
|
||||
queryList.add(Restrictions.eq("typeStatus","0"));
|
||||
orderList.add(Order.asc("typeId"));
|
||||
Pagination<VipType> page = this.vipTypeDao.findByCriteria(iDisplayStart, iDisplayLength, orderList, queryList.toArray(new Criterion[queryList.size()]));
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean saveOrUpdateVipType(VipType vipType) {
|
||||
Integer typeId = vipType.getTypeId();
|
||||
if (typeId != null) {
|
||||
this.vipTypeDao.update(vipType);
|
||||
return true;
|
||||
} else {
|
||||
this.vipTypeDao.save(vipType);
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public VipType getVipTypeById(Integer typeId) {
|
||||
return this.vipTypeDao.get(typeId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Pagination<VipReferrer> getVipReferrerByPage(SearchFilter searchFilter) {
|
||||
//查询条件
|
||||
List<Criterion> queryList = new ArrayList<Criterion>();
|
||||
//排序条件
|
||||
List<Order> orderList = new ArrayList<Order>();
|
||||
//分页
|
||||
Integer iDisplayStart = searchFilter.getiDisplayStart();
|
||||
Integer iDisplayLength = searchFilter.getiDisplayLength();
|
||||
queryList.add(Restrictions.eq("referrerStatus","0"));
|
||||
orderList.add(Order.asc("referrerAdmissionTime"));
|
||||
if (searchFilter.getsSearch1() != null && StringUtils.isNotBlank(searchFilter.getsSearch1())) {
|
||||
queryList.add(Restrictions.like("referrerName","%" + searchFilter.getsSearch1() + "%"));
|
||||
}
|
||||
|
||||
if ((searchFilter.getsSearch3() != null && StringUtils.isNotBlank(searchFilter.getsSearch3()))
|
||||
&& (searchFilter.getsSearch4() != null && StringUtils.isNotBlank(searchFilter.getsSearch4()))) {
|
||||
queryList.add(Restrictions.between("referrerAdmissionTime",IfishUtil.StrToDate(searchFilter.getsSearch3()),IfishUtil.StrToDate(searchFilter.getsSearch4())));
|
||||
} else if ((searchFilter.getsSearch3() != null && StringUtils.isNotBlank(searchFilter.getsSearch3()))
|
||||
&& (searchFilter.getsSearch4() == null || StringUtils.isBlank(searchFilter.getsSearch4()))) {
|
||||
queryList.add(Restrictions.ge("referrerAdmissionTime", IfishUtil.StrToDate(searchFilter.getsSearch3())));
|
||||
} else if ((searchFilter.getsSearch3() == null || StringUtils.isBlank(searchFilter.getsSearch3())
|
||||
&& (searchFilter.getsSearch4() != null && StringUtils.isNotBlank(searchFilter.getsSearch4())))) {
|
||||
queryList.add(Restrictions.le("referrerAdmissionTime",IfishUtil.StrToDate(searchFilter.getsSearch4())));
|
||||
}
|
||||
|
||||
Pagination<VipReferrer> page = this.vipReferrerDao.findByCriteria(iDisplayStart, iDisplayLength, orderList, queryList.toArray(new Criterion[queryList.size()]));
|
||||
|
||||
return page;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean saveOrUpdateVipReferrer(VipReferrer vipReferrer) {
|
||||
Integer referrerId = vipReferrer.getReferrerId();
|
||||
if (referrerId != null) {
|
||||
this.vipReferrerDao.update(vipReferrer);
|
||||
} else {
|
||||
this.vipReferrerDao.save(vipReferrer);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public VipReferrer getVipReferrer(Integer referrerId) {
|
||||
return this.vipReferrerDao.get(referrerId);
|
||||
}
|
||||
}
|
||||
|
|
@ -19,7 +19,7 @@
|
|||
<!-- 导入外部的properties文件-->
|
||||
<context:property-placeholder location="classpath*:jdbc.properties" ignore-unresolvable="true"/>
|
||||
<!-- 注册识别注解 -->
|
||||
<context:component-scan base-package="com.ifish.converter,com.ifish.daoImpl,com.ifish.serviceImpl,com.ifishNew.help"/>
|
||||
<context:component-scan base-package="com.ifish.daoImpl,com.ifish.serviceImpl"/>
|
||||
|
||||
<!-- c3p0连接池 -->
|
||||
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
|
||||
|
|
|
|||
|
|
@ -19,9 +19,8 @@
|
|||
<div class="login_layout">
|
||||
<div class="login_main">
|
||||
<form id="login_form" action="<%=basePath %>j_spring_security_check" method="post">
|
||||
<label class="label"><font id="form_text">爱鱼奇合作伙伴登陆</font></label> <input
|
||||
type="text" id="username" class="input" name="j_username" required="required" placeholder="用户名" /> <input
|
||||
type="password" id="pwd" class="input" name="j_password" required="required" placeholder="密码" />
|
||||
<input type="text" id="username" class="input" name="j_username" required="required" placeholder="用户名" />
|
||||
<input type="password" id="pwd" class="input" name="j_password" required="required" placeholder="密码" />
|
||||
<div id="subDiv">
|
||||
<input type="submit" id="button" value="登陆">
|
||||
<c:set var="warn104" value="<%=SysUserEnum.warn104.getKey()%>"></c:set>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,283 @@
|
|||
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>推荐人</title>
|
||||
<!-- css and js -->
|
||||
<%@ include file="../htm/script.jsp" %>
|
||||
<link href="<%=basePath%>static/css/datepicker.css" rel="stylesheet"/>
|
||||
<script src="<%=basePath%>static/js/date-time/bootstrap-datepicker.min.js"></script>
|
||||
<style type="text/css">
|
||||
.important
|
||||
{
|
||||
vertical-align:middle;
|
||||
text-align:right;
|
||||
padding:10px;
|
||||
}
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
var dataTable = null;
|
||||
$(function () {
|
||||
$("#searchTable").find("td:even").addClass("important");
|
||||
$("#searchTable").find("input").addClass("searchClass");
|
||||
$("#searchTable").find("select").addClass("searchClass");
|
||||
//日期控件
|
||||
$('#sSearch3,#sSearch4').datepicker({
|
||||
language: 'zh-CN',
|
||||
format: "yyyy-mm-dd"
|
||||
});
|
||||
//分页
|
||||
dataTable = $("#sample-table-2").dataTable({
|
||||
"sPaginationType": "bootstrap",
|
||||
//"bProcessing": true,
|
||||
"bLengthChange": true,
|
||||
"bFilter": false,
|
||||
"bServerSide": true,//指定从服务器端获取数据
|
||||
"sAjaxSource": "<%=basePath%>page/vip/referrerList.do",
|
||||
"fnServerData": returnServerData,
|
||||
"aoColumns": [
|
||||
{"mData": "referrerId", "bSortable": false},
|
||||
{"mData": "referrerName", "bSortable": false},
|
||||
{"mData": function(vipReferrer) {
|
||||
return vipReferrer.referrerType.typeName;
|
||||
},"bSortable": false },
|
||||
{"mData": "referrerAdmissionTime", "bSortable": false},
|
||||
{"mData": "referrerRemark", "bSortable": false},
|
||||
{"mData": "createUser", "bSortable": false},
|
||||
{"mData": "createTime", "bSortable": false},
|
||||
{"mData": function(vipReferrer){
|
||||
return '<a onclick="editVipReferrer(\''+vipReferrer.referrerId+'\');" class="label label-primary"><i class="icon-edit"></i></a> '
|
||||
+'<a href="javascript:void(0);" onclick="deleteVipReferrer('+vipReferrer.referrerId+')" class="label label-danger"><span class="icon-trash"></span></a>';
|
||||
},
|
||||
"bSortable": false,
|
||||
"sClass":"center"
|
||||
}
|
||||
],
|
||||
"oLanguage": {
|
||||
"sLengthMenu": "每页显示 _MENU_条",
|
||||
"sZeroRecords": "没有找到符合条件的数据",
|
||||
"sInfo": "当前第 _START_ - _END_ 条 共计 _TOTAL_ 条",
|
||||
"sProcessing": "<img src='<%=basePath%>static/css/images/loading.gif'>",
|
||||
"sInfoEmpty": "木有记录",
|
||||
"sInfoFiltered": "(从 _MAX_ 条记录中过滤)",
|
||||
"sSearch": "",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
});
|
||||
$("#sample-table-2_length").append(' <label><a href="javascript:void(0);" id="addVipType" class="btn btn-xs btn-primary"><i class="icon-edit"></i><span class="no-text-shadow">新增</span></a></label>');
|
||||
//重置
|
||||
$("#reset").click(function () {
|
||||
var searchClass = $(".searchClass");
|
||||
for (var i = 0; i < searchClass.length; i++) {
|
||||
$(searchClass[i]).val("");
|
||||
}
|
||||
dataTable.fnDraw();
|
||||
});
|
||||
//模态框
|
||||
$('.modal').modal({
|
||||
backdrop: 'static',
|
||||
show: false
|
||||
});
|
||||
//关闭
|
||||
$(".closeBtn").click(function () {
|
||||
$('.modal').modal("hide");
|
||||
});
|
||||
//自动查询
|
||||
$("#searchTable").find("input,select").change(function () {
|
||||
dataTable.fnDraw();
|
||||
});
|
||||
});
|
||||
|
||||
function deleteVipReferrer(referrerId){
|
||||
jConfirm("确定要删除吗?", '确认对话框', function(bln){
|
||||
if (bln) {
|
||||
$.ajax({
|
||||
url:"<%=basePath%>page/vip/referrerDelete.do?rm="+Math.random(),
|
||||
data:{"referrerId":referrerId},
|
||||
success:function(bln){
|
||||
if(bln){
|
||||
jAlert('成功', '提示');
|
||||
}
|
||||
else{
|
||||
jAlert('失败', '提示');
|
||||
}
|
||||
refreshTable();
|
||||
},
|
||||
error:function(){
|
||||
jAlert('错误', '提示');
|
||||
refreshTable();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
//服务器返回数据
|
||||
function returnServerData(sSource, aoData, fnCallback) {
|
||||
//查询参数
|
||||
var searchClass = $(".searchClass");
|
||||
for (var i = 0; i < searchClass.length; i++) {
|
||||
var id = $(searchClass[i]).attr("id");
|
||||
var value = $(searchClass[i]).val();
|
||||
aoData.push({"name": id, "value": value});
|
||||
}
|
||||
$.ajax({
|
||||
"url": sSource,
|
||||
"type": "POST",
|
||||
"data": aoData,
|
||||
"dataType": "json",
|
||||
"cache": false,
|
||||
"success": function (json) {
|
||||
fnCallback(json);
|
||||
}
|
||||
});
|
||||
}
|
||||
//刷新当前页
|
||||
function refreshTable() {
|
||||
var iDisplayStart = dataTable.fnSettings()._iDisplayStart;
|
||||
var iDisplayLength = dataTable.fnSettings()._iDisplayLength;
|
||||
var pageNum = (iDisplayStart + iDisplayLength) / iDisplayLength;
|
||||
dataTable.fnPageChange(--pageNum, true);
|
||||
}
|
||||
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<!-- 头部 -->
|
||||
<%@ include file="../htm/header.jsp" %>
|
||||
<!-- 主体 -->
|
||||
<div class="main-container" id="main-container">
|
||||
<script type="text/javascript">
|
||||
try {
|
||||
ace.settings.check('main-container', 'fixed')
|
||||
} catch (e) {
|
||||
}
|
||||
</script>
|
||||
<div class="main-container-inner">
|
||||
<!-- 侧边栏 -->
|
||||
<%@ include file="../htm/sidebar.jsp" %>
|
||||
<!-- 主体内容 -->
|
||||
<div class="main-content">
|
||||
<div class="breadcrumbs" id="breadcrumbs">
|
||||
<script type="text/javascript">
|
||||
try {
|
||||
ace.settings.check('breadcrumbs', 'fixed')
|
||||
} catch (e) {
|
||||
}
|
||||
</script>
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="icon-home home-icon"></i>
|
||||
<a href="<%=basePath%>page/public/index.do">首页</a>
|
||||
</li>
|
||||
<li class="active">用户列表</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="table-header"></div>
|
||||
<div class="table-responsive">
|
||||
<table id="searchTable" class="col-xs-12">
|
||||
<tr>
|
||||
<td>
|
||||
<label>推荐人名称</label>
|
||||
</td>
|
||||
<td>
|
||||
<input type="sSearch1" id='sSearch1' class="input-medium" value="" />
|
||||
</td>
|
||||
<td>
|
||||
<label>入会时间</label>
|
||||
</td>
|
||||
<td colspan="2">
|
||||
<input type="text" id='sSearch3' name="sSearch3" class="input-medium" maxlength='20'/>-<input type="text" id='sSearch4' name="sSearch4" class="input-medium" maxlength='20'/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td colspan="12" style="text-align:center;">
|
||||
<button type="button" class="btn btn-sm btn-info" onclick="refreshTable();" style="margin-right:20px;"><i class="icon-refresh"></i>刷新</button>
|
||||
<button id="reset" type="reset" class="btn btn-sm btn-info" style="margin-right:20px;"><i class="icon-undo"></i>重置</button>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table id="sample-table-2" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="center">ID</th>
|
||||
<th>推荐人名称</th>
|
||||
<th>推荐人类型</th>
|
||||
<th>推荐人入会时间</th>
|
||||
<th>备注</th>
|
||||
<th>创建人</th>
|
||||
<th>创建时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<form action="<%=basePath%>page/admin/updateRemarks.do" class="form-horizontal" method="post" id="form-remarks">
|
||||
<div class="modal fade" id="remarksModal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="closeBtn close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title">备注</h4>
|
||||
</div>
|
||||
<div class="modal-body row">
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-xs-2 control-label no-padding-right">备注<span style="color:red;">*</span></label>
|
||||
<div class="col-xs-8">
|
||||
<input type="hidden" name="userId" id="userId">
|
||||
<textarea name="remarks" id="remarks" rows="5" class="form-control" maxlength="30"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="closeBtn btn btn-default">关闭</button>
|
||||
<button type="submit" id="form-remarks-saveBtn" class="btn btn-primary">保存</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<div class="modal fade" id="taskModal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="closeBtn close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title">任务</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<table id="taskTable" class="table table-striped table-bordered table-hover">
|
||||
|
||||
</table>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="closeBtn btn btn-default">关闭</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 设置工具 -->
|
||||
<%@ include file="../htm/setting.jsp" %>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
|
@ -0,0 +1,249 @@
|
|||
<%@page import="com.ifish.enums.BannerTypeEnum"%>
|
||||
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>会员类别</title>
|
||||
<!-- css and js -->
|
||||
<%@ include file="../htm/script.jsp" %>
|
||||
|
||||
<script type="text/javascript">
|
||||
var dataTable = null;
|
||||
$(function(){
|
||||
//模态框
|
||||
$('.modal').modal({
|
||||
backdrop:'static',
|
||||
show:false
|
||||
});
|
||||
//关闭
|
||||
$(".closeBtn").click(function(){
|
||||
$('.modal').modal("hide");
|
||||
});
|
||||
//分页
|
||||
dataTable = $('#sample-table-2').dataTable({
|
||||
"sPaginationType": "bootstrap",
|
||||
//"bProcessing": true,
|
||||
"bLengthChange": true,
|
||||
"bFilter": false,
|
||||
"bServerSide": true,//指定从服务器端获取数据
|
||||
"sAjaxSource": "<%=basePath%>page/vip/vipTypeList.do",
|
||||
"fnServerData": returnServerData,
|
||||
"aoColumns": [
|
||||
{ "mData": "typeId","bSortable": false },
|
||||
{ "mData": "typeName","bSortable": false },
|
||||
{ "mData": function(vipType){
|
||||
return '<a onclick="editVipType('+vipType.typeId+');" class="label label-primary"><i class="icon-edit"></i></a> '
|
||||
+'<a href="javascript:void(0);" onclick="deleteVipType('+vipType.typeId+')" class="label label-danger"><span class="icon-trash"></span></a>';
|
||||
},
|
||||
"bSortable": false,
|
||||
"sClass":"center"
|
||||
}
|
||||
],
|
||||
"oLanguage": {
|
||||
"sLengthMenu": "每页显示 _MENU_条",
|
||||
"sZeroRecords": "没有找到符合条件的数据",
|
||||
"sInfo": "当前第 _START_ - _END_ 条 共计 _TOTAL_ 条",
|
||||
"sProcessing": "<img src='<%=basePath%>static/css/images/loading.gif'>",
|
||||
"sInfoEmpty": "木有记录",
|
||||
"sInfoFiltered": "(从 _MAX_ 条记录中过滤)",
|
||||
"sSearch": "",
|
||||
"oPaginate": {
|
||||
"sFirst": "首页",
|
||||
"sPrevious": "前一页",
|
||||
"sNext": "后一页",
|
||||
"sLast": "尾页"
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$("#sample-table-2_length").append(' <label><a href="javascript:void(0);" id="addVipType" class="btn btn-xs btn-primary"><i class="icon-edit"></i><span class="no-text-shadow">新增</span></a></label>');
|
||||
//新增
|
||||
$("#addVipType").click(function(){
|
||||
$("#typeId").val("");
|
||||
$("#typeStatus").val("0");
|
||||
$("#typeName").val("");
|
||||
$("#vipTypeModal").modal("show");
|
||||
});
|
||||
//确定
|
||||
$("#vipTypeBtn").click(function(){
|
||||
var typeName = $("#typeName").val();
|
||||
if(typeName==""){
|
||||
jAlert('会员类型名称不能为空!', '提示');
|
||||
return false;
|
||||
}
|
||||
$("#vipTypeBtn").attr("disabled",true);
|
||||
$('#form1').submit();
|
||||
});
|
||||
//提交表单
|
||||
$('#form1').ajaxForm(function(data){
|
||||
//弹出ajax请求后的回调结果
|
||||
if(data==true){
|
||||
//刷新当前页面
|
||||
$('.modal').modal("hide");
|
||||
jAlert('成功', '提示');
|
||||
refreshTable();
|
||||
}
|
||||
else{
|
||||
//刷新当前页面
|
||||
jAlert('失败', '提示');
|
||||
}
|
||||
$("#vipTypeBtn").attr("disabled",false);
|
||||
});
|
||||
});
|
||||
//服务器返回数据
|
||||
function returnServerData(sSource, aoData, fnCallback){
|
||||
//查询参数
|
||||
var searchClass = $(".searchClass");
|
||||
for (var i = 0; i < searchClass.length; i++) {
|
||||
var id = $(searchClass[i]).attr("id");
|
||||
var value = $(searchClass[i]).val();
|
||||
aoData.push({"name":id,"value":value});
|
||||
}
|
||||
$.ajax({
|
||||
"url": sSource,
|
||||
"type": "POST",
|
||||
"data": aoData,
|
||||
"dataType": "json",
|
||||
"cache": false,
|
||||
"success": function(json){
|
||||
fnCallback(json);
|
||||
}
|
||||
});
|
||||
}
|
||||
//刷新当前页
|
||||
function refreshTable(){
|
||||
var iDisplayStart = dataTable.fnSettings()._iDisplayStart;
|
||||
var iDisplayLength = dataTable.fnSettings()._iDisplayLength;
|
||||
var pageNum = (iDisplayStart+iDisplayLength)/iDisplayLength;
|
||||
dataTable.fnPageChange(--pageNum,true);
|
||||
}
|
||||
//修改
|
||||
function editVipType(typeId){
|
||||
$.ajax({
|
||||
"url": "<%=basePath%>page/vip/getVipType.do?rm="+Math.random(),
|
||||
"type": 'POST',
|
||||
"data": {"typeId":typeId},
|
||||
"dataType": "json",
|
||||
"success":function(data){
|
||||
if(data!=null){
|
||||
$("#typeId").val(data.typeId);
|
||||
$("#typeName").val(data.typeName);
|
||||
$("#typeStatus").val(data.typeStatus);
|
||||
$("#vipTypeModal").modal("show");
|
||||
}
|
||||
else{
|
||||
jAlert('失败', '提示');
|
||||
//刷新当前页
|
||||
refreshTable();
|
||||
}
|
||||
},
|
||||
error:function(){
|
||||
//刷新当前页
|
||||
refreshTable();
|
||||
jAlert('错误', '提示');
|
||||
},
|
||||
});
|
||||
}
|
||||
//删除
|
||||
function deleteVipType(typeId){
|
||||
jConfirm("确定要删除吗?", '确认对话框', function(bln){
|
||||
if (bln) {
|
||||
$.ajax({
|
||||
url:"<%=basePath%>page/vip/vipTypeDelete.do?rm="+Math.random(),
|
||||
data:{"typeId":typeId},
|
||||
success:function(bln){
|
||||
if(bln){
|
||||
jAlert('成功', '提示');
|
||||
}
|
||||
else{
|
||||
jAlert('失败', '提示');
|
||||
}
|
||||
refreshTable();
|
||||
},
|
||||
error:function(){
|
||||
jAlert('错误', '提示');
|
||||
refreshTable();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<!-- 头部 -->
|
||||
<%@ include file="../htm/header.jsp" %>
|
||||
<!-- 主体 -->
|
||||
<div class="main-container" id="main-container">
|
||||
<div class="main-container-inner">
|
||||
<!-- 侧边栏 -->
|
||||
<%@ include file="../htm/sidebar.jsp" %>
|
||||
<!-- 主体内容 -->
|
||||
<div class="main-content">
|
||||
<div class="breadcrumbs" id="breadcrumbs">
|
||||
<script type="text/javascript">
|
||||
try{ace.settings.check('breadcrumbs' , 'fixed')}catch(e){}
|
||||
</script>
|
||||
<ul class="breadcrumb">
|
||||
<li>
|
||||
<i class="icon-home home-icon"></i>
|
||||
<a href="<%=basePath%>page/public/index.do">首页</a>
|
||||
</li>
|
||||
<li class="active">会员类型</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="page-content">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="table-responsive">
|
||||
<table id="sample-table-2" class="table table-striped table-bordered table-hover">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>ID</th>
|
||||
<th>会员类型</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<form id="form1" action="<%=basePath%>page/vip/vipTypeAdd.do" method="post" class="form-horizontal" enctype="multipart/form-data">
|
||||
<div class="modal fade" id="vipTypeModal">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="closeBtn close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
<h4 class="modal-title">会员类型</h4>
|
||||
</div>
|
||||
<div class="modal-body row">
|
||||
<div class="col-xs-12">
|
||||
<div class="form-group">
|
||||
<label class="col-xs-2 control-label no-padding-right">会员类型<span style="color:red;">*</span></label>
|
||||
<div class="col-xs-8">
|
||||
<input type="hidden" name="typeId" id="typeId"/>
|
||||
<input type="hidden" name="typeStatus" id="typeStatus" value="0"/>
|
||||
<input type="url" name="typeName" id="typeName" class="form-control" maxlength="100"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="space-4"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="closeBtn btn btn-default">关闭</button>
|
||||
<button id="vipTypeBtn" type="submit" class="btn btn-primary">确定</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
<!-- 设置工具 -->
|
||||
<%@ include file="../htm/setting.jsp" %>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Reference in New Issue