更新的代码
CustomerCtrl.java
package org.jsoft.ctrls;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jsoft.service.ICustomerService;
import org.jsoft.service.IStatusService;
import org.jsoft.service.ISysUserService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("customerCtrl")
public class CustomerCtrl extends BaseAction{
@Resource
private ICustomerService customerService;
@Resource
private IStatusService statusService;
@Resource
private ISysUserService sysUserService;
/**
* 查找所有的客户信息
* */
@RequestMapping("select")
public void select(HttpServletRequest request,HttpServletResponse response){
List<Map<String,Object>> customerList = customerService.select();
//status 公共筛选的内容时动态的,从数据库中查出来的
Map<String,Object> statusMap = new HashMap<String, Object>();
//通过status查询
statusMap.put("columns", "status");
//将查询到的结果放在一个集合中
List<Map<String,Object>> statusList = statusService.select(statusMap);
Map<String,Object> result = new HashMap<String,Object>();
result.put("customerList", customerList);
//把list的值放入一个Map中,用于json传值
result.put("statusList", statusList);
response.setCharacterEncoding("UTF-8");
this.writeJSON(response, result);
}
/**
* 通过公共筛选,查找符合条件的客户信息
* */
@RequestMapping("shaiXuan")
public void shaiXuan(HttpServletRequest request,HttpServletResponse response){
String shaiXuan = request.getParameter("shaiXuan");
Map<String,Object> customerMap = new HashMap<String, Object>();
customerMap.put("status", shaiXuan);
List<Map<String,Object>> customerList = customerService.shaiXuan(customerMap);
Map<String,Object> result = new HashMap<String,Object>();
result.put("customerList", customerList);
response.setCharacterEncoding("UTF-8");
this.writeJSON(response, result);
}
/**
* 对选中的复选框进行删除
* */
@RequestMapping("delete")
public ModelAndView delete(HttpServletRequest request,HttpServletResponse response){
String delete = request.getParameter("delete");
String[] delId = delete.split(",");
customerService.delete(delId);
ModelAndView mv = new ModelAndView();
mv.setViewName("customerList");
return mv;
}
/*********************************Day3************************************************/
/**
* 保存从页面提交的数据
* 并插入到数据库中
* */
@RequestMapping("save")
public ModelAndView save(HttpServletRequest request,HttpServletResponse response){
String sysUserName = request.getParameter("sysUserName");
System.out.println(sysUserName); //测试数据
return null;
}
/*********************************Day3************************************************/
/**
* 初始化新增客户页,包括客户来源,销售状态,销售人员
* **/
@RequestMapping("initCustomerAdd")
public void initCustomerAdd(HttpServletRequest request,HttpServletResponse response){
//查询source状态
Map<String,Object> sourceMap = new HashMap<String, Object>();
//通过status查询
sourceMap.put("columns", "source");
//将查询到的结果放在一个集合中
List<Map<String,Object>> sourceList = statusService.select(sourceMap);
//查询status状态
Map<String,Object> statusMap = new HashMap<String, Object>();
//通过status查询
statusMap.put("columns", "status");
//将查询到的结果放在一个集合中
List<Map<String,Object>> statusList = statusService.select(statusMap);
List<Map<String,Object>> workPeopleList = sysUserService.select();
Map<String,Object> result = new HashMap<String,Object>();
result.put("statusList", statusList);
result.put("sourceList", sourceList);
result.put("workPeopleList", workPeopleList);
response.setCharacterEncoding("UTF-8");
this.writeJSON(response, result);
}
}
sysUserMapper.xml
<?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 = "sysUserMapper">
<select id = "select" resultType = "map">
select * from sysUser
<where>
<if test = "id != null">
AND id like #{id},
</if>
<if test = "name != null">
AND name like #{name},
</if>
<if test = "loginName != null">
AND loginName like #{loginName},
</if>
<if test = "password != null">
AND password like #{password},
</if>
<if test = "img != null">
AND img like #{img}
</if>
</where>
</select>
</mapper>
SysUserServiceImpl.java
package org.jsoft.service.impl;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.jsoft.dao.DaoSupport;
import org.jsoft.service.ISysUserService;
import org.springframework.stereotype.Service;
@Service
public class SysUserServiceImpl implements ISysUserService{
@Resource(name = "daoSupport")
private DaoSupport dao;
@SuppressWarnings("unchecked")
@Override
public List<Map<String, Object>> select() {
// TODO Auto-generated method stub
try {
return dao.findList("sysUserMapper.select", null);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
}
customerAdd.jsp部分代码
jQuery(document).ready(function($) {
//点击保存按钮,自动向后台提交数据
$("#btn_save").click(function(){
alert();
$("#save").submit();
})//click
//初始化页面,包括动态的客户来源和销售状态和销售人员
$.ajax({
url : "${contextPath }/customerCtrl/initCustomerAdd",
type : "post",
dataType : "json",
success : function(msg){
//获取销售状态
var statusList = msg.statusList;
var statusStr = '';
for(var i = 0; i < statusList.length; i++){
var status = statusList[i];
statusStr += '<li ><span class="mod_category catcolor_o" ><span >'+ status.v +'</span></span></li>';
}
$("#status").html(statusStr);
//添加销售状态的样式,因为拼接字符串是采用异步刷新方式,所以在字段没有完全获取到时样式就已经加载完成了,所以把样式放在拼接字符串之后,就可以获得
//客户来源同理
$(".mod_categorylist").eq(1).find('li').each(function(index, el) {
$(this).click(function(event) {
var a = 'abcdefghijklmnopz';
var letter = a.charAt(parseInt(Math.random()*a.length+1))
$(this).find(".catcolor_o").toggleClass('color_'+letter)
$(this).siblings('li').find(".catcolor_o").attr("class","mod_category catcolor_o")
});
});
//获取客户来源
var sourceList = msg.sourceList;
var sourceStr = '';
for(var i = 0; i < sourceList.length; i++){
var source = sourceList[i];
sourceStr += '<li ><span class="mod_category catcolor_o" ><span >'+ source.v +'</span></span></li>';
}
$("#source").html(sourceStr);
//与销售状态的样式解释同理
$(".mod_categorylist").first().find('li').each(function(index, el) {
$(this).click(function(event) {
$(this).find(".catcolor_o").toggleClass('color_z')
$(this).siblings('li').find(".catcolor_o").removeClass('color_z')
});
});
//在页面中显示工作区成员
var workPeopleList = msg.workPeopleList;
var workPeopleStr = '';
for(var i = 0; i < workPeopleList.length; i++){
var workPeople = workPeopleList[i];
workPeopleStr += '<li><span class="mod_avatar avt_middle" title='+ workPeople.name+' img=\"${contextPath }/static/image/'+ workPeople.img +'\"><img src="${contextPath }/static/image/'+ workPeople.img +'" class="avatar" draggable="false" ></span></li>';
}
$("#workPeople").html(workPeopleStr);
// 工作区添加头像 选择完工作区成员后显示的内容
$(".mod_avatar").on("click",function (argument) {
var p_con ="<ul class='mod_avatarlist cl'><li><span class='drop'></span><span class='mod_avatar avt_middle' title='"+ $(this).attr('title')+"'><img src=\""+ $(this).attr("img") +"\" class='avatar' draggable='false' ><span>"+ $(this).attr('title')+"</span></span></li></ul>"
$("#avatar").html(p_con)
});
//工作区成员中搜索栏
$("#workPeopleSouSuo").keypress(function(event){
if(event.which === 13) { //判断键盘按下的是否为回车键
var v = 0;
for(var j = 0; j < workPeopleList.length; j++){
var workPeople = workPeopleList[j];
if($("#workPeopleSouSuo").val() == workPeople.name){
var p_con ="<ul class='mod_avatarlist cl'><li><span class='drop'></span><span class='mod_avatar avt_middle' title="+ workPeople.name+"><img src='${contextPath }/static/image/"+ workPeople.img +"' class='avatar' draggable='false' ><span>"+ workPeople.name +"</span></span></li></ul>"
v= 0
$("#avatar").html(p_con)
}
v = v + 1;
}
if(v == workPeopleList.length){
alert("搜索的销售人员不存在 ")
}
}
})
}//success
})//ajax
})
页面效果


总结
1.完成客户来源、销售状态和销售人员的选择,并新增功能,在选择销售人员时可以手动搜索
2.jQuery的attr属性运用的不熟悉,拼接图片时会出现路径不正确的情况
568

被折叠的 条评论
为什么被折叠?



