SSH-BOS项目:分区管理模块

本文介绍了一个基于Struts2框架实现的分区管理模块,该模块支持分区信息的增删改查、批量导入导出等功能,适用于物流配送等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SubareaAction:

package com.xushuai.bos.web.action;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.Servlet;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang3.StringUtils;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Row;
import org.apache.struts2.ServletActionContext;
import org.hibernate.criterion.DetachedCriteria;
import org.hibernate.criterion.Order;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Controller;

import com.opensymphony.xwork2.ActionContext;
import com.xushuai.bos.entity.Region;
import com.xushuai.bos.entity.Subarea;
import com.xushuai.bos.service.SubareaService;
import com.xushuai.bos.utils.BOSUtils;

@Controller("subareaAction")
@Scope("prototype")
public class SubareaAction extends BaseAction<Subarea>{

	@Autowired
	@Qualifier("subareaService")
	private SubareaService subareaService;
	public void setSubareaService(SubareaService subareaService) {
		this.subareaService = subareaService;
	}
	
	//接收要删除的id
	private String ids;
	public String getIds() {
		return ids;
	}
	public void setIds(String ids) {
		this.ids = ids;
	}
	//接收要导入的xls文件
	private String subareaFile;
	public String getSubareaFile() {
		return subareaFile;
	}
	public void setSubareaFile(String subareaFile) {
		this.subareaFile = subareaFile;
	}
	
	/**
	 * 新增分区
	 * @return
	 */
	public String add(){
		subareaService.save(model);
		
		return LIST;
	}
	
	/**
	 * 分页查询分区信息
	 * @return
	 */
	public String pageQuery(){
		//获取离线查询条件
		DetachedCriteria dc = pageBean.getCriteria();
		//添加排序规则
		dc.addOrder(Order.asc("position"));
		//查询未被删除的记录
		dc.add(Restrictions.eq("deltag", "0"));
		//健壮性判断
		String addresskey = model.getAddresskey();
		if(StringUtils.isNotBlank(addresskey)){
			//添加查询条件
			dc.add(Restrictions.like("addresskey", "%"+addresskey+"%"));
		}
		Region region = model.getRegion();
		if(region != null){
			String province = region.getProvince();
			String city = region.getCity();
			String district = region.getDistrict();
			//关联查询region
			dc.createAlias("region", "r");
			if(StringUtils.isNotBlank(province)){
				//添加查询条件
				dc.add(Restrictions.like("r.province", "%"+province+"%"));
			}
			if(StringUtils.isNotBlank(city)){
				//添加查询条件
				dc.add(Restrictions.like("r.city", "%"+city+"%"));
			}
			if(StringUtils.isNotBlank(district)){
				//添加查询条件
				dc.add(Restrictions.like("r.district", "%"+district+"%"));
			}
		}
		
		subareaService.pageQuery(pageBean);
		//回写json数据
		BOSUtils.writerJson(pageBean, new String[]{"currentPage","pageSize","criteria","subareas","decidedzone"});
		return NONE;
	}
	
	/**
	 * 删除指定的分区数据
	 * @return
	 */
	public String delete(){
		String[] strings = ids.split(",");
		//调用service#delete(strings)
		subareaService.delete(strings);
		
		return LIST;
	}
	
	/**
	 * 导出分区数据
	 * @return
	 * @throws Exception 
	 */
	public String exportXls() throws Exception{
		//查询出所有的分区信息
		List<Subarea> list = subareaService.findAll();

		//新建一个Excel文件对象
		HSSFWorkbook workbook = new HSSFWorkbook();
		//新建一个sheet标签页
		HSSFSheet sheet = workbook.createSheet("分区数据");
		//自定义表头数据
		HSSFRow headRow = sheet.createRow(0);
		headRow.createCell(0).setCellValue("分区编号");
		headRow.createCell(1).setCellValue("关键字");
		headRow.createCell(2).setCellValue("起始号");
		headRow.createCell(3).setCellValue("终止号");
		headRow.createCell(4).setCellValue("单双号");
		headRow.createCell(5).setCellValue("位置");
		headRow.createCell(6).setCellValue("区域id");
		headRow.createCell(7).setCellValue("省市区");
		//将查询到的数据封装到sheet表对象当中
		HSSFRow dataRow = null;
		for (Subarea subarea : list) {
			//在行末尾创建新的行
			dataRow = sheet.createRow(sheet.getLastRowNum() + 1);
			//封装分区数据
			dataRow.createCell(0).setCellValue(subarea.getId());
			dataRow.createCell(1).setCellValue(subarea.getAddresskey());
			dataRow.createCell(2).setCellValue(subarea.getStartnum());
			dataRow.createCell(3).setCellValue(subarea.getEndnum());
			dataRow.createCell(4).setCellValue(subarea.getSingle());
			dataRow.createCell(5).setCellValue(subarea.getPosition());
			dataRow.createCell(6).setCellValue(subarea.getRegion().getId());
			dataRow.createCell(7).setCellValue(subarea.getRegion().getName());
		}
		//获取输出流
		ServletOutputStream outputStream = BOSUtils.getResponse().getOutputStream();
		String filename = "subarea.xls";
		//设置文件下载的相应头信息
		String contentType = ServletActionContext.getServletContext().getMimeType(filename);
		HttpServletResponse response = BOSUtils.getResponse();
		response.setContentType(contentType);
		//设置保存到本地时的文件名
		response.setHeader("content-disposition", "attachment;filename="+filename);
		
		//使用workboos写入数据
		workbook.write(outputStream);
		
		return NONE;
	}
	
	/**
	 * 导入分区数据
	 * @return
	 * @throws Exception 
	 */
	public String importXls() throws Exception{
		//创建一个Excel文件对象
		HSSFWorkbook workbook = new HSSFWorkbook(new FileInputStream(subareaFile));
		//获取第一个标签页
		HSSFSheet sheet = workbook.getSheetAt(0);
		List<Subarea> list = new ArrayList<Subarea>();
		Region region = null;
		Subarea subarea = null;
		try {
			//获取其中的数据,存入List集合
			for (Row row : sheet) {
				//第一行数据 排除掉
				int rowNum = row.getRowNum();
				if(rowNum == 0){//跳过表头
					continue;
				}
				//获取Excel中的数据
				String id = row.getCell(0).getStringCellValue();
				String addresskey = row.getCell(1).getStringCellValue();
				String startnum = row.getCell(2).getStringCellValue();
				String endnum = row.getCell(3).getStringCellValue();
				String single = row.getCell(4).getStringCellValue();
				String position = row.getCell(5).getStringCellValue();
				String region_id = row.getCell(6).getStringCellValue();
				region = new Region();
				region.setId(region_id);
				
				subarea = new Subarea(id, region, null, addresskey, startnum, endnum, single, position);
				list.add(subarea);
			}
		} catch (Exception e) {
			this.addActionError("您导入的文件格式不正确");
			e.printStackTrace();
			HttpServletRequest request = ServletActionContext.getRequest();
			request.getRequestDispatcher("/WEB-INF/pages/base/subarea.jsp").forward(request, BOSUtils.getResponse());
		}
		
		//调用service#saveBatch(list)
		subareaService.saveBatch(list);
		
		return NONE;
	}
	
}

struts.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>

	<package name="basicstruts2" extends="struts-default">
		<!-- 自定义拦截器 -->
		<interceptors>
			<!-- 声明拦截器 -->
			<interceptor name="loginInterceptor" class="com.xushuai.bos.web.interceptor.LoginInterceptor">
				<!-- 不拦截login -->
				<param name="excludeMethods">login</param>
			</interceptor>
			<!-- 自定义拦截器栈 -->
			<interceptor-stack name="mystack">
				<interceptor-ref name="loginInterceptor"></interceptor-ref>
				<interceptor-ref name="defaultStack"></interceptor-ref>
			</interceptor-stack>
		</interceptors>
		<!-- 引用自定义拦截器栈 -->
		<default-interceptor-ref name="mystack"></default-interceptor-ref>
		<!-- 声明全局结果集 -->
		<global-results>
			<result name="login">/login.jsp</result>
		</global-results>
		
		<!-- 需要进行权限控制的页面访问 -->
		<action name="page_*_*">
			<result type="dispatcher">/WEB-INF/pages/{1}/{2}.jsp</result>
		</action>
		
		<!-- 数据字典 -->
		<action name="BasedictAction" class="basedictAction"></action>

		<!-- 用户模块 -->
		<action name="UserAction_*" class="userAction" method="{1}">
			<result name="login">/login.jsp</result>
			<result name="home">/index.jsp</result>
		</action>
		
		<!-- 取派员模块 -->
		<action name="StaffAction_*" class="staffAction" method="{1}">
			<result name="list">/WEB-INF/pages/base/staff.jsp</result>
		</action>
		
		<!-- 区域模块 -->
		<action name="RegionAction_*" class="regionAction" method="{1}">
			<result name="list">/WEB-INF/pages/base/region.jsp</result>
		</action>
		
		<!-- 分区模块 -->
		<action name="SubareaAction_*" class="subareaAction" method="{1}">
			<result name="list">/WEB-INF/pages/base/subarea.jsp</result>
		</action>
	</package>

</struts>

SubareaService:

package com.xushuai.bos.service;

import java.util.List;

import com.xushuai.bos.entity.Subarea;
import com.xushuai.bos.utils.PageBean;

public interface SubareaService {

	/**
	 * 保存分区信息
	 * @param model
	 */
	void save(Subarea model);

	/**
	 * 分页查询分区信息
	 * @param pageBean
	 */
	void pageQuery(PageBean pageBean);

	/**
	 * 删除指定的分区数据(可以为多个)
	 * @param strings
	 */
	void delete(String[] strings);

	/**
	 * 查询所有分区数据
	 * @return
	 */
	List<Subarea> findAll();

	/**
	 * 批量存入分区数据
	 * @param list
	 */
	void saveBatch(List<Subarea> list);

}

SubareaServiceImpl:

package com.xushuai.bos.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.xushuai.bos.dao.RegionDao;
import com.xushuai.bos.dao.SubareaDao;
import com.xushuai.bos.entity.Region;
import com.xushuai.bos.entity.Subarea;
import com.xushuai.bos.service.SubareaService;
import com.xushuai.bos.utils.PageBean;

@Service("subareaService")
@Transactional
public class SubareaServiceImpl implements SubareaService {

	@Autowired
	@Qualifier("subareaDao")
	private SubareaDao subareaDao;
	public void setSubareaDao(SubareaDao subareaDao) {
		this.subareaDao = subareaDao;
	}
	@Autowired
	@Qualifier("regionDao")
	private RegionDao regionDao;

	/**
	 * 生成position字段
	 * 并赋给subarea对象
	 * @param subarea
	 * @param _region
	 */
	private void getPositon(Subarea subarea, Region _region) {
		String position = _region.getProvince() + _region.getCity() +
				_region.getDistrict() + subarea.getAddresskey() + subarea.getStartnum() + "号-" +
				subarea.getEndnum() + "号";
		subarea.setPosition(position);
	}


	@Override
	public void save(Subarea subarea) {
		//通过region_id查询出分区对象,生成position字段
		Region _region = regionDao.findById(subarea.getRegion().getId());
		getPositon(subarea, _region);
		subareaDao.save(subarea);
	}
	
	
	@Override
	public void pageQuery(PageBean pageBean) {
		subareaDao.findByPage(pageBean);
	}


	@Override
	public void delete(String[] strings) {
		for (String id : strings) {
			subareaDao.executeUpdate("subarea.delete", id);
		}
	}


	@Override
	public List<Subarea> findAll() {
		return subareaDao.findAll();
	}


	@Override
	public void saveBatch(List<Subarea> list) {
		Region _region = null;
		for (Subarea subarea : list) {
			//通过region_id查询出分区对象,生成position字段
			_region = regionDao.findById(subarea.getRegion().getId());
			if(_region != null){
				getPositon(subarea, _region);
			}
			subareaDao.saveOrUpdate(subarea);
		}
	}

}

SubareaDao、SubareaDaoImpl:

package com.xushuai.bos.dao;

import com.xushuai.bos.entity.Subarea;

public interface SubareaDao extends BaseDao<Subarea> {

}



package com.xushuai.bos.dao.impl;

import java.util.List;

import org.springframework.stereotype.Repository;

import com.xushuai.bos.dao.SubareaDao;
import com.xushuai.bos.entity.Subarea;

@Repository("subareaDao")
public class SubareaDaoImpl extends BaseDaoImpl<Subarea> implements SubareaDao {

	/**
	 * 重新findAll方法,添加自定义排序
	 */
	public List<Subarea> findAll() {
		String hql = "FROM Subarea ORDER BY deltag,position";
		return (List<Subarea>) this.getHibernateTemplate().find(hql);
	}
	
}

页面:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>管理分区</title>
<!-- 导入jquery核心类库 -->
<script type="text/javascript"
	src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<!-- 导入easyui类库 -->
<link rel="stylesheet" type="text/css"
	href="${pageContext.request.contextPath }/js/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css"
	href="${pageContext.request.contextPath }/js/easyui/themes/icon.css">
<link rel="stylesheet" type="text/css"
	href="${pageContext.request.contextPath }/js/easyui/ext/portal.css">
<link rel="stylesheet" type="text/css"
	href="${pageContext.request.contextPath }/css/default.css">	
<script type="text/javascript"
	src="${pageContext.request.contextPath }/js/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript"
	src="${pageContext.request.contextPath }/js/easyui/ext/jquery.portal.js"></script>
<script type="text/javascript"
	src="${pageContext.request.contextPath }/js/easyui/ext/jquery.cookie.js"></script>
<script
	src="${pageContext.request.contextPath }/js/easyui/locale/easyui-lang-zh_CN.js"
	type="text/javascript"></script>
<script type="text/javascript"
	src="${pageContext.request.contextPath }/js/jquery.formToJson.js"></script>
<script type="text/javascript"
	src="${pageContext.request.contextPath }/js/jquery.ocupload-1.1.2.js"></script>
<script type="text/javascript">
	function doAdd(){
		$('#addSubareaWindow').window("open");
	}
	
	function doClear(){
		$("#grid").datagrid('clearSelections');
	}
	
	function doDelete(){
		//获取选中的所有行
		var rows = $("#grid").datagrid('getSelections');
		//校验是否有行被选中
		if(rows.length == 0){//没有行被选中 
			$.messager.alert('提示信息','请选择您要删除的分区','warning');
		}else{
			$.messager.confirm('提示信息','确定要执行删除操作吗?',function(r){
				if(r){
					//定义一个数组,存放ID值
					Array :arr = new Array();
					for(var i = 0; i < rows.length; i++){
						arr.push(rows[i].id);
					}
					//将数组格式化成一个字符串,用逗号分隔每个ID值
					var ids = arr.join(",");
					location.href = "SubareaAction_delete.action?ids=" + ids;
				}
			});
		}
	}
	
	function doSearch(){
		$('#searchWindow').window("open");
	}
	
	function doExport(){
		window.location.href = "SubareaAction_exportXls.action";
	}
	
	
	//工具栏
	var toolbar = [ {
		id : 'button-search',	
		text : '查询',
		iconCls : 'icon-search',
		handler : doSearch
	}, {
		id : 'button-add',
		text : '增加',
		iconCls : 'icon-add',
		handler : doAdd
	},{
		id : 'button-delete',
		text : '删除',
		iconCls : 'icon-cancel',
		handler : doDelete
	},{
		id : 'button-import',
		text : '导入',
		iconCls : 'icon-redo'
	},{
		id : 'button-export',
		text : '导出',
		iconCls : 'icon-undo',
		handler : doExport
	}, {
		id : 'button-clearSel',	
		text : '取消选中',
		handler : doClear
	}];
	// 定义列
	var columns = [ [ {
		field : 'id',
		checkbox : true,
	},{
		field : 'province',
		title : '省',
		width : 120,
		align : 'center',
		formatter : function(data,row ,index){
			return row.region.province;
		}
	}, {
		field : 'city',
		title : '市',
		width : 120,
		align : 'center',
		formatter : function(data,row ,index){
			return row.region.city;
		}
	}, {
		field : 'district',
		title : '区',
		width : 120,
		align : 'center',
		formatter : function(data,row ,index){
			return row.region.district;
		}
	}, {
		field : 'addresskey',
		title : '关键字',
		width : 120,
		align : 'center'
	}, {
		field : 'startnum',
		title : '起始号',
		width : 100,
		align : 'center'
	}, {
		field : 'endnum',
		title : '终止号',
		width : 100,
		align : 'center'
	} , {
		field : 'single',
		title : '单双号',
		width : 100,
		align : 'center',
		formatter : function(data,row, index){
			if(data == "0"){
				return "单双号";
			}else if(data == "1"){
				return "单号";
			}else if(data == "2"){
				return "双号";
			}
		}
	} , {
		field : 'position',
		title : '位置',
		width : 230,
		align : 'center'
	} ] ];
	
	$(function(){
		// 先将body隐藏,再显示,不会出现页面刷新效果
		$("body").css({visibility:"visible"});
		
		// 收派标准数据表格
		$('#grid').datagrid( {
			iconCls : 'icon-forward',
			fit : true,
			border : true,
			rownumbers : true,
			striped : true,
			pageList: [15,20,28],
			pageSize:28,
			pagination : true,
			toolbar : toolbar,
			url : "SubareaAction_pageQuery.action",
			idField : 'id',
			columns : columns,
			onDblClickRow : doDblClickRow
		});
		
		// 添加分区
		$('#addSubareaWindow').window({
	        title: '添加分区',
	        width: 600,
	        modal: true,
	        shadow: true,
	        closed: true,
	        height: 400,
	        resizable:false
	    });
		$("#save").click(function(){
			var formFlag = $("addSubareaWindow").form('validate');
			//校验表单数据是否正确输入
			if(formFlag){
				$("#addSubareaForm").submit();
			}
		});
		
		// 查询分区
		$('#searchWindow').window({
	        title: '查询分区',
	        width: 400,
	        modal: true,
	        shadow: true,
	        closed: true,
	        height: 400,
	        resizable:false
	    });
		$("#btn").click(function(){
			//将form中的表单数据转换为json,用于提交
			var params = $("#searchForm").serializeJson();
			console.info(params);
			//提交参数,加载数据,关闭查询窗口
			$("#grid").datagrid('load',params);
			$("#searchWindow").window('close');
		});
		
		$("#button-import").upload({
			action:'SubareaAction_importXls.action',
			name:'subareaFile'
		});
		
		showError();
		
		
	});
	
	//上传文件错误时显示
	function showError(){
		var v = $("#importError").val();
		if(v != ""){
			alert('您导入的文件格式或内容不正确');
		}
	}

	function doDblClickRow(){
		alert("双击表格数据...");
	}
</script>	
</head>
<body class="easyui-layout" style="visibility:hidden;">
	<div region="center" border="false">
    	<table id="grid"></table>
	</div>
	<!-- 添加分区 -->
	<div class="easyui-window" title="分区添加修改" id="addSubareaWindow" collapsible="false" minimizable="false" maximizable="false" style="top:20px;left:200px">
		<div style="height:31px;overflow:hidden;" split="false" border="false" >
			<div class="datagrid-toolbar">
				<a id="save" icon="icon-save" href="#" class="easyui-linkbutton" plain="true" >保存</a>
			</div>
		</div>
		
		<div style="overflow:auto;padding:5px;" border="false">
			
			<form id="addSubareaForm" action="SubareaAction_add.action" method="post">
				<table class="table-edit" width="80%" align="center">
					<tr class="title">
						<td colspan="2">分区信息</td>
					</tr>
					<tr>
						<td>选择区域</td>
						<td>
							<input id="selRegion" class="easyui-combobox easyui-validatebox" required="true" name="region.id"  
    							data-options="valueField:'id',textField:'name',url:'RegionAction_ajaxList.action',mode:'remote'" />  
						</td>
					</tr>
					<tr>
						<td>关键字</td>
						<td><input type="text" name="addresskey" class="easyui-validatebox" required="true"/></td>
					</tr>
					<tr>
						<td>起始号</td>
						<td><input type="text" name="startnum" class="easyui-validatebox" required="true"/></td>
					</tr>
					<tr>
						<td>终止号</td>
						<td><input type="text" name="endnum" class="easyui-validatebox" required="true"/></td>
					</tr>
					<tr>
						<td>单双号</td>
						<td>
							<select class="easyui-combobox" name="single" style="width:150px;">  
							    <option value="0">单双号</option>  
							    <option value="1">单号</option>  
							    <option value="2">双号</option>  
							</select> 
						</td>
					</tr>
					<!-- <tr>
						<td>位置信息</td>
						<td><input type="text" name="position" class="easyui-validatebox" required="true" style="width:250px;"/></td>
					</tr> -->
					
				</table>
				<!-- <input type="hidden" name="position" value="$('#selRegion').combobox('options')"> -->
			</form>
		</div>
	</div>
	
	<!-- 查询分区 -->
	<div class="easyui-window" title="查询分区窗口" id="searchWindow" collapsible="false" minimizable="false" maximizable="false" style="top:20px;left:200px">
		<div style="overflow:auto;padding:5px;" border="false">
			<form id="searchForm">
				<table class="table-edit" width="80%" align="center">
					<tr class="title">
						<td colspan="2">查询条件</td>
					</tr>
					<tr>
						<td>省</td>
						<td><input type="text" name="region.province"/></td>
					</tr>
					<tr>
						<td>市</td>
						<td><input type="text" name="region.city"/></td>
					</tr>
					<tr>
						<td>区(县)</td>
						<td><input type="text" name="region.district"/></td>
					</tr>
					<tr>
						<td>关键字</td>
						<td><input type="text" name="addresskey"/></td>
					</tr>
					<tr>
						<td colspan="2"><a id="btn" href="#" class="easyui-linkbutton" data-options="iconCls:'icon-search'">查询</a> </td>
					</tr>
				</table>
			</form>
			<!-- 接收导入文件错误信息 -->
			<input id="importError" type="hidden" value="<s:actionerror/>">
		</div>
	</div>
</body>
</html>

遗留:修改分区

(遗留处理)修改分区:

SubareaAction(新增以下代码):

	/**
	 * 修改分区信息
	 * @return
	 */
	public String edit(){
		//调用service#edit(subarea)
		subareaService.edit(model);
		
		return LIST;
	}

SubareaService(新增以下代码):

	/**
	 * 修改分区数据
	 * @param model
	 */
	void edit(Subarea subarea);

SubareaServiceImpl(新增以下代码):

	@Override
	public void edit(Subarea subarea) {
		//从数据库中按ID查询出subara
		Subarea _subarea = subareaDao.findById(subarea.getId());
		//将subarea中值赋给查询出的subarea
		_subarea.setAddresskey(subarea.getAddresskey());
		_subarea.setStartnum(subarea.getStartnum());
		_subarea.setEndnum(subarea.getEndnum());
		_subarea.setSingle(subarea.getSingle());
		_subarea.setRegion(subarea.getRegion());
		//根据region_id查询出region对象获取数据
		Region _region = regionDao.findById(subarea.getRegion().getId());
		//生成position字段,并赋给_subarea
		getPositon(_subarea, _region);
		//保存查询并修改后的_subarea
		subareaDao.update(_subarea);
	}

页面新增(分为html、js):

html代码:
	<!-- 修改分区 -->
	<div class="easyui-window" title="分区添加" id="editSubareaWindow" collapsible="false" minimizable="false" maximizable="false" style="top:20px;left:200px">
		<div style="height:31px;overflow:hidden;" split="false" border="false" >
			<div class="datagrid-toolbar">
				<a id="edit" icon="icon-edit" href="#" class="easyui-linkbutton" plain="true" >修改</a>
			</div>
		</div>
		
		<div style="overflow:auto;padding:5px;" border="false">
			
			<form id="editSubareaForm" action="SubareaAction_edit.action" method="post">
				<input type="hidden" name="id"/>
				<table class="table-edit" width="80%" align="center">
					<tr class="title">
						<td colspan="2">分区信息</td>
					</tr>
					<tr>
						<td>选择区域</td>
						<td>
							<input id="editRegion" class="easyui-combobox" name="region.id"
    							data-options="valueField:'id',textField:'name',url:'RegionAction_ajaxList.action',mode:'remote'" />  
						</td>
					</tr>
					<tr>
						<td>关键字</td>
						<td><input type="text" name="addresskey" class="easyui-validatebox" required="true"/></td>
					</tr>
					<tr>
						<td>起始号</td>
						<td><input type="text" name="startnum" class="easyui-validatebox" required="true"/></td>
					</tr>
					<tr>
						<td>终止号</td>
						<td><input type="text" name="endnum" class="easyui-validatebox" required="true"/></td>
					</tr>
					<tr>
						<td>单双号</td>
						<td>
							<select class="easyui-combobox" data-options="panelHeight:100" name="single" style="width:150px;">  
							    <option value="0">单双号</option>  
							    <option value="1">单号</option>  
							    <option value="2">双号</option>  
							</select> 
						</td>
					</tr>
					
				</table>
			</form>
		</div>
	</div>
js:
		$("#edit").click(function(){    //这段代码添加在$(function(){  })中
			$("#editSubareaForm").submit();
		});
	//双击加载数据到修改分区窗口
	function doDblClickRow(rowIndex, rowData){
		$("#editSubareaWindow").window('open');
		$("#editSubareaWindow").form('load',rowData);
		//console.info(rowData.region.name);
		//设置其value和text的值
		$("#editRegion").combobox('setValue', rowData.region.id);
		$("#editRegion").combobox('setText', rowData.region.name);
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值