对datagrid数据表进行添加事件_进行客户管理关系系统的文档总结

功能介绍

客户订单管理和合同管理

1.基础组件的创建:通过velocity代码生成进行逆向生成基础的代码模块通过自己写的简单数据的CRUD进行前台到后台基础代码的生成,在进行service的创建时进行公共类CRUD的方法提取再通过进行公共类的继承可以进行数据简单方法实现在必要时可以进行数据的覆写满足自生的需求,公共类中进行固定数据的编写 比如 进行数据的分页 公共的数据CRUD,在公共类中要进行类方法类型设置为泛型

0c6581b5ca065751137abb9df1c3debe.png

2.进行数据的高级查询

a.在进行工具类中已经进行创建关于数据分页和高级查询的方法创建这样当有数据要进行查询和分页的时候直接进行方法的继承就可以了

代码如下:

分页的页数

public class BaseQueryObject {private Integer page = 1;private Integer rows = 10;

PageResult 分页的对象前台分页需要的两个属性 total和rows

public class PageResult {private long total = 0;private List rows = new ArrayList();public PageResult() {
}public PageResult(long total, List rows) {this.total = total;this.rows = rows;
}

基础crud代码

Mapper层

public interface BaseMapper<T> {

//进行数据的删除int deleteByPrimaryKey(Long id);

//添加方法int insert(T record);

//通过id进行查询
T selectByPrimaryKey(Long id);

//修改方法int updateByPrimaryKey(T record);

//查询全部
List<T> selectAll(BaseQueryObject qo);
}

公共类Service层与mapper一致

int deleteByPrimaryKey(Long id);

//添加方法int insert(T record);

//通过id进行数据的查询
T selectByPrimaryKey(Long id);

//修改方法int updateByPrimaryKey(T record);

//查询全部数据 PageResult 是进行数据的分页对象的属性
PageResult selectAll(BaseQueryObject qo);
}

公共类中Impl层时进行方法的实现

@Transactionalpublic class BaseServiceImpl<T> implements IBaseService<T> {
@Autowired//进行mapper层的注入private BaseMapper<T> baseMapper;
@Overridepublic int deleteByPrimaryKey(Long id) {return baseMapper.deleteByPrimaryKey(id);
}
@Overridepublic int insert(T record) {return baseMapper.insert(record);
}
@Overridepublic T selectByPrimaryKey(Long id) {return baseMapper.selectByPrimaryKey(id);
}
@Overridepublic int updateByPrimaryKey(T record) {return baseMapper.updateByPrimaryKey(record);
}
@Overridepublic PageResult selectAll(BaseQueryObject qo) {

//得到页数的没页数
PageHelper.startPage(qo.getPage() , qo.getRows());

//通过前台传来的数据跳转方法法进行数据的分页
Page page = (Page) baseMapper.selectAll(qo);

//将数据Total和Result进行封装到PageResult中转换为page和Rowsreturn new PageResult(page.getTotal() ,page.getResult());
}

前台代码高级查询

jsp代码

<input type="text" id="keyword">
<a href="javascript:void(0)" class="easyui-linkbutton" data-method="search" data-options="iconCls:'icon-search',plain:true">查询</a>
</div>

js代码

search:function () {
//keword指的是在搜索框里面的数据var keyword = $("#keyword").val();
//通过封装转换到后台中
employeeDataGrid.datagrid("load",{"keyword":keyword});

进行关键字的获取

public class EmployeeQueryObject extends BaseQueryObject {
//进行前台传来关键字的获取private String keyword;public String getKeyword() {if(StringUtils.hasLength(keyword)){return keyword.trim();
}return null;
}public void setKeyword(String keyword) {this.keyword = keyword;
}

Controller层

@RequestMapping("/list")
@ResponseBody

//EmployeeQueryObject是进行了数据分页数据的继承所以在EmployeeQueryObject 中有分页和高级查询public PageResult list(EmployeeQueryObject qo){

//进行获取传来的数据当没有qo时就是进行全部数据的查询以及进行数据的分页return employeeService.selectAll(qo);
}

关于增删改以及页面的刷新

jsp代码

<div id="employeeDataGridToolbar">
<a href="javascript:void(0)" data-method="add" class="easyui-linkbutton" data-options="iconCls:'icon-add',plain:true">添加</a>
<a href="javascript:void(0)" data-method="edit" class="easyui-linkbutton" data-options="iconCls:'icon-edit',plain:true">修改</a>
<a href="javascript:void(0)" data-method="remove" class="easyui-linkbutton" data-options="iconCls:'icon-remove',plain:true">删除</a>
<a href="javascript:void(0)" data-method="reload" class="easyui-linkbutton" data-options="iconCls:'icon-reload',plain:true">刷新</a>

js代码

//进行按钮事件注册

$("a[data-method]").click(function () {var method = $(this).data("method");
methodObj[method]();
});

var methodObj = {
search:function () {//获取关键字var keyword = $("#keyword").val();//查询
employeeDataGrid.datagrid("load",{"keyword":keyword});
},
add:function () {//弹出添加的dialog
employeeAddDialogForm.form("clear");
employeeAddDialog.dialog("open");
employeeAddDialog.window('center');
},
edit:function () {//获取选中行var row = employeeDataGrid.datagrid("getSelected");if(row){//表单数据回显
employeeAddDialogForm.form("clear");
employeeAddDialogForm.form('load',row);//弹出编辑框
employeeAddDialog.dialog("open");
employeeAddDialog.window('center');
}else{//给出提示$.messager.alert("提示","请选择要修改的数据","error");
}
},
remove:function () {//获取选中行var row = employeeDataGrid.datagrid("getSelected");if(row){var id = row.id;var state = row.state;if(state == 1){$.messager.alert("提示","状态已经是删除","error");
}else{//删除请求ajax$.post("employee/remove",{"id":id},function (data) {if(data.success){//列表刷新$.messager.alert("提示","恭喜,删除成功,已刷新","info");
methodObj.reload();
}else{$.messager.alert("提示","抱歉,删除失败,错误原因:"+data.msg,"error");
}
});
}
}else{//给出提示$.messager.alert("提示","请选择要删除的数据","error");
}
},
reload:function () {
employeeDataGrid.datagrid("reload");
},
save:function () {//获取表单 //提交表单
employeeAddDialogForm.form('submit', {url:"employee/saveOrUpdate",
success:function(data){
data = $.parseJSON(data);if(data.success){//列表刷新$.messager.alert("提示","恭喜您,提交成功,列表已经刷新","info");
methodObj.close();
methodObj.reload();
}else{$.messager.alert("提示","恭喜您,提交失败,错误原因:"+data.msg,"error");
}
}
});
},
close:function () {
employeeAddDialog.dialog("close");
}
};

Controller层

@RequestMapping("/saveOrUpdate")
@ResponseBody

//进行数据的查询和添加判断public AjaxResult saveOrUpdate(Employee employee, HttpSession session){
String pw=employee.getPassword();
String npw=MD5Util.createMd5(pw);
employee.setPassword(npw);try {if(employee.getId() == null){
/* Long tenantId= (Long) (session.getAttribute("tenantId"));
employee.setTenantId(tenantId);*/employeeService.insert(employee);
}else{employeeService.updateByPrimaryKey(employee);
}return AjaxResult.success();
}catch (Exception e){
e.printStackTrace();return AjaxResult.error("系统异常,我也不知道为啥");
}
}
@RequestMapping("/remove")
@ResponseBody

//删除数据public AjaxResult remove(Long id){try {employeeService.updateStateToDisable(id);return AjaxResult.success();
}catch (Exception e){
e.printStackTrace();return AjaxResult.error("系统异常,我也不知道为啥");
}
}

在进行订单和订单合同关联时一和合同将会有多个订单进行产生进行一对多关系的联系我在合同中进行dlg和from表单的组合关联的展示数据但是在进行后台读取数据时无法进行数据的读取后来通过进行数据的不断转换才能的单数据

'save':function(){//提交:表单的提交:
ff.form('submit', {url:'contract/saveOrUpdate',
onSubmit: function(param){var isValid = $(this).form('validate');//先验证表单if (!isValid){//表单验证不通过,直接返回$.messager.progress('close');//如果表单是无效的则隐藏进度条return isValid;
}var rows = $billItems.datagrid("getRows");//订单和订单明细时组合关系,有订单必须有明细,无明细时不准提交if (!rows.length){$.messager.alert('提示', '请录入订单明细', 'info');$.messager.progress('close');//隐藏进度条return false;
}for (var i = 0; i < rows.length; i++) {//点击提交按钮时,结束单元格的编辑
$billItems.datagrid("endEdit", i);var row = rows[i];
param["items[" + i + "].order.id"] = row.order.id;//设置产品
param["items[" + i + "].sn"] = row.order.sn;//设置单价
param["items[" + i + "].customer"] = row.order.customer;//设置数量
param["items[" + i + "].sellerId"] = row.order.sellerId;//设置数量
param["items[" + i + "].sum"] = row.order.sum;//设置数量
param["items[" + i + "].intro"] = row.order.intro;//设置数量
param["items[" + i + "].tenantId"] = row.order.tenantId;//设置数量
}
},
success:function(data){// {"success":true,"msg":"操作成功"}==>json字符串var $data = $.parseJSON(data);//弹框提示和刷新if($data.success){$.messager.alert('操作提示',$data.msg,'info');
}else{$.messager.alert('错误提示',$data.msg,'error');
}
dlg.dialog('close');//页面刷新itsource.refresh();
}
});
},

//刷新页面

'refresh':function () {//datagrid的重新加载: $("selector").datagrid('funName');
dg.datagrid('reload');
},
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值