利用SSM框架写云表格结课项目------Day003

更新的代码

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		
		
		 })

页面效果

171551_0ozp_3669883.png

171617_0sfY_3669883.png

总结

1.完成客户来源、销售状态和销售人员的选择,并新增功能,在选择销售人员时可以手动搜索

2.jQuery的attr属性运用的不熟悉,拼接图片时会出现路径不正确的情况

转载于:https://my.oschina.net/u/3669883/blog/1809061

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值