增加商品属性的模块

This commit is contained in:
季圣华
2017-10-16 00:15:18 +08:00
parent d82e3daaec
commit db7052dec0
19 changed files with 898 additions and 5 deletions

View File

@@ -67,6 +67,9 @@ public class MaterialAction extends BaseAction<MaterialModel>
material.setPriceStrategy(model.getPriceStrategy());
material.setRemark(model.getRemark());
material.setEnabled(model.getEnabled());
material.setOtherField1(model.getOtherField1());
material.setOtherField2(model.getOtherField2());
material.setOtherField3(model.getOtherField3());
materialService.create(material);
//========标识位===========
@@ -161,6 +164,9 @@ public class MaterialAction extends BaseAction<MaterialModel>
material.setFirstInUnit(model.getFirstInUnit());
material.setPriceStrategy(model.getPriceStrategy());
material.setRemark(model.getRemark());
material.setOtherField1(model.getOtherField1());
material.setOtherField2(model.getOtherField2());
material.setOtherField3(model.getOtherField3());
materialService.update(material);
flag = true;
@@ -329,6 +335,9 @@ public class MaterialAction extends BaseAction<MaterialModel>
item.put("PriceStrategy", material.getPriceStrategy());
item.put("Enabled", material.getEnabled());
item.put("Remark", material.getRemark());
item.put("OtherField1", material.getOtherField1());
item.put("OtherField2", material.getOtherField2());
item.put("OtherField3", material.getOtherField3());
item.put("op", 1);
dataArray.add(item);
}

View File

@@ -0,0 +1,132 @@
package com.jsh.action.materials;
import com.jsh.base.BaseAction;
import com.jsh.base.Log;
import com.jsh.model.po.Logdetails;
import com.jsh.model.po.MaterialProperty;
import com.jsh.model.vo.materials.MaterialPropertyModel;
import com.jsh.service.materials.MaterialPropertyIService;
import com.jsh.util.PageUtil;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import org.springframework.dao.DataAccessException;
import java.io.IOException;
import java.sql.Timestamp;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/*
* 商品属性
* @author ji s h e n g hua qq:75 27 18 920
*/
@SuppressWarnings("serial")
public class MaterialPropertyAction extends BaseAction<MaterialPropertyModel>
{
private MaterialPropertyIService materialPropertyService;
private MaterialPropertyModel model = new MaterialPropertyModel();
/**
* 更新商品属性
* @return
*/
public void update() {
Boolean flag = false;
try {
MaterialProperty materialProperty = materialPropertyService.get(model.getId());
materialProperty.setNativeName(model.getNativeName());
materialProperty.setEnabled(model.getEnabled());
materialProperty.setSort(model.getSort());
materialProperty.setAnotherName(model.getAnotherName());
materialPropertyService.update(materialProperty);
flag = true;
tipMsg = "成功";
tipType = 0;
}
catch (DataAccessException e) {
Log.errorFileSync(">>>>>>>>>>>>>修改商品属性ID为 " + model.getId() + "失败", e);
flag = false;
tipMsg = "失败";
tipType = 1;
}
finally {
try {
toClient(flag.toString());
}
catch (IOException e) {
Log.errorFileSync(">>>>>>>>>>>>修改商品属性回写客户端结果异常", e);
}
}
logService.create(new Logdetails(getUser(), "更新商品属性", model.getClientIp(),
new Timestamp(System.currentTimeMillis())
, tipType, "更新商品属性ID为 "+ model.getId() + " " + tipMsg + "", "更新商品属性" + tipMsg));
}
/**
* 查找商品属性
* @return
*/
public void findBy() {
try {
PageUtil<MaterialProperty> pageUtil = new PageUtil<MaterialProperty>();
pageUtil.setPageSize(0);
pageUtil.setCurPage(0);
pageUtil.setAdvSearch(getCondition());
materialPropertyService.find(pageUtil);
List<MaterialProperty> dataList = pageUtil.getPageList();
JSONObject outer = new JSONObject();
outer.put("total", pageUtil.getTotalCount());
//存放数据json数组
JSONArray dataArray = new JSONArray();
if(null != dataList) {
for(MaterialProperty materialProperty:dataList) {
JSONObject item = new JSONObject();
item.put("id", materialProperty.getId());
item.put("nativeName", materialProperty.getNativeName());
item.put("enabled", materialProperty.getEnabled());
item.put("sort", materialProperty.getSort());
item.put("anotherName", materialProperty.getAnotherName());
dataArray.add(item);
}
}
outer.put("rows", dataArray);
//回写查询结果
toClient(outer.toString());
}
catch (DataAccessException e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>查找商品属性异常", e);
}
catch (IOException e)
{
Log.errorFileSync(">>>>>>>>>>>>>>>>>>>回写查询商品属性结果异常", e);
}
}
/**
* 拼接搜索条件
* @return
*/
private Map<String,Object> getCondition()
{
/**
* 拼接搜索条件
*/
Map<String,Object> condition = new HashMap<String,Object>();
condition.put("nativeName_s_like", model.getNativeName());
condition.put("sort_s_order", "asc");
return condition;
}
//=============以下spring注入以及Model驱动公共方法与Action处理无关==================
@Override
public MaterialPropertyModel getModel() {
return model;
}
public void setMaterialPropertyService(MaterialPropertyIService materialPropertyService) {
this.materialPropertyService = materialPropertyService;
}
}

View File

@@ -0,0 +1,17 @@
package com.jsh.dao.materials;
import com.jsh.base.BaseDAO;
import com.jsh.model.po.MaterialProperty;
public class MaterialPropertyDAO extends BaseDAO<MaterialProperty> implements MaterialPropertyIDAO
{
/**
* 设置dao映射基类
* @return
*/
@Override
public Class<MaterialProperty> getEntityClass()
{
return MaterialProperty.class;
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.dao.materials;
import com.jsh.base.BaseIDAO;
import com.jsh.model.po.MaterialProperty;
public interface MaterialPropertyIDAO extends BaseIDAO<MaterialProperty>
{
}

View File

@@ -25,6 +25,9 @@ public class Material implements java.io.Serializable
private String PriceStrategy;
private String Remark;
private Boolean Enabled;
private String OtherField1;
private String OtherField2;
private String OtherField3;
//----------以下属性导入exel表格使用--------------------
/**
@@ -52,7 +55,8 @@ public class Material implements java.io.Serializable
public Material(MaterialCategory materialCategory, String name, String mfrs, Double packing,
Double safetyStock, String model, String standard, String color, String unit, String remark,
Double retailPrice, Double lowPrice, Double presetPriceOne, Double presetPriceTwo,
Unit unitId, String firstOutUnit, String firstInUnit, String priceStrategy, Boolean enabled) {
Unit unitId, String firstOutUnit, String firstInUnit, String priceStrategy, Boolean enabled,
String otherField1, String otherField2, String otherField3) {
super();
this.materialCategory = materialCategory;
Name = name;
@@ -73,6 +77,9 @@ public class Material implements java.io.Serializable
FirstInUnit = firstInUnit;
PriceStrategy = priceStrategy;
Enabled = enabled;
OtherField1 = otherField1;
OtherField2 = otherField2;
OtherField3 = otherField3;
}
public Long getId()
@@ -255,6 +262,30 @@ public class Material implements java.io.Serializable
Enabled = enabled;
}
public String getOtherField1() {
return OtherField1;
}
public void setOtherField1(String otherField1) {
OtherField1 = otherField1;
}
public String getOtherField3() {
return OtherField3;
}
public void setOtherField3(String otherField3) {
OtherField3 = otherField3;
}
public String getOtherField2() {
return OtherField2;
}
public void setOtherField2(String otherField2) {
OtherField2 = otherField2;
}
public Map<Integer, String> getCellInfo() {
return cellInfo;
}

View File

@@ -0,0 +1,66 @@
package com.jsh.model.po;
@SuppressWarnings("serial")
public class MaterialProperty implements java.io.Serializable {
private Long id;
private String nativeName;
private Boolean enabled;
private String sort;
private String anotherName;
public MaterialProperty() {
}
public MaterialProperty(Long id)
{
this.id = id;
}
public MaterialProperty(String nativeName, Boolean enabled,String sort, String anotherName) {
nativeName = nativeName;
enabled = enabled;
sort = sort;
anotherName = anotherName;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getNativeName() {
return nativeName;
}
public void setNativeName(String nativeName) {
this.nativeName = nativeName;
}
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public String getAnotherName() {
return anotherName;
}
public void setAnotherName(String anotherName) {
this.anotherName = anotherName;
}
}

View File

@@ -77,6 +77,12 @@ public class MaterialModel implements Serializable
private Boolean Enabled = true; //是否启用
private String OtherField1;
private String OtherField2;
private String OtherField3;
/**
* CategoryId
*/
@@ -332,6 +338,30 @@ public class MaterialModel implements Serializable
Enabled = enabled;
}
public String getOtherField1() {
return OtherField1;
}
public void setOtherField1(String otherField1) {
OtherField1 = otherField1;
}
public String getOtherField2() {
return OtherField2;
}
public void setOtherField2(String otherField2) {
OtherField2 = otherField2;
}
public String getOtherField3() {
return OtherField3;
}
public void setOtherField3(String otherField3) {
OtherField3 = otherField3;
}
public String getBrowserType() {
return browserType;
}

View File

@@ -0,0 +1,122 @@
package com.jsh.model.vo.materials;
import java.io.Serializable;
@SuppressWarnings("serial")
public class MaterialPropertyModel implements Serializable
{
private MaterialCategoryShowModel showModel = new MaterialCategoryShowModel();
/**======开始接受页面参数=================**/
/**
* 名称
*/
private String nativeName;
/**
* 是否启用
*/
private Boolean enabled = true;
/**
* 排序
*/
private String sort;
/**
* 别名
*/
private String anotherName;
/**
* Id编号
*/
private Long id;
/**
* 每页显示的个数
*/
private int pageSize = 10;
/**
* 当前页码
*/
private int pageNo = 1;
/**
* 用户IP用户记录操作日志
*/
private String clientIp = "";
public MaterialCategoryShowModel getShowModel() {
return showModel;
}
public void setShowModel(MaterialCategoryShowModel showModel) {
this.showModel = showModel;
}
public String getNativeName() {
return nativeName;
}
public void setNativeName(String nativeName) {
this.nativeName = nativeName;
}
public Boolean getEnabled() {
return enabled;
}
public void setEnabled(Boolean enabled) {
this.enabled = enabled;
}
public String getSort() {
return sort;
}
public void setSort(String sort) {
this.sort = sort;
}
public String getAnotherName() {
return anotherName;
}
public void setAnotherName(String anotherName) {
this.anotherName = anotherName;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getPageNo() {
return pageNo;
}
public void setPageNo(int pageNo) {
this.pageNo = pageNo;
}
public String getClientIp() {
return clientIp;
}
public void setClientIp(String clientIp) {
this.clientIp = clientIp;
}
}

View File

@@ -0,0 +1,43 @@
package com.jsh.model.vo.materials;
import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@SuppressWarnings("serial")
public class MaterialPropertyShowModel implements Serializable
{
/**
* 提示信息
*/
private String msgTip = "";
/**
* 系统数据
*/
@SuppressWarnings("rawtypes")
private Map<String,List> map = new HashMap<String,List>();
public String getMsgTip()
{
return msgTip;
}
public void setMsgTip(String msgTip)
{
this.msgTip = msgTip;
}
@SuppressWarnings("rawtypes")
public Map<String, List> getMap() {
return map;
}
@SuppressWarnings("rawtypes")
public void setMap(Map<String, List> map) {
this.map = map;
}
}

View File

@@ -0,0 +1,9 @@
package com.jsh.service.materials;
import com.jsh.base.BaseIService;
import com.jsh.model.po.MaterialProperty;
public interface MaterialPropertyIService extends BaseIService<MaterialProperty>
{
}

View File

@@ -0,0 +1,24 @@
package com.jsh.service.materials;
import com.jsh.base.BaseService;
import com.jsh.dao.materials.MaterialPropertyIDAO;
import com.jsh.model.po.MaterialProperty;
public class MaterialPropertyService extends BaseService<MaterialProperty> implements MaterialPropertyIService
{
@SuppressWarnings("unused")
private MaterialPropertyIDAO materialPropertyDao;
public void setMaterialPropertyDao(MaterialPropertyIDAO materialPropertyDao) {
this.materialPropertyDao = materialPropertyDao;
}
@Override
protected Class<MaterialProperty> getEntityClass()
{
return MaterialProperty.class;
}
}

View File

@@ -100,5 +100,20 @@
<comment>启用</comment>
</column>
</property>
<property generated="never" lazy="false" name="OtherField1" type="java.lang.String">
<column length="50" name="OtherField1">
<comment>自定义1</comment>
</column>
</property>
<property generated="never" lazy="false" name="OtherField2" type="java.lang.String">
<column length="50" name="OtherField2">
<comment>自定义2</comment>
</column>
</property>
<property generated="never" lazy="false" name="OtherField3" type="java.lang.String">
<column length="50" name="OtherField3">
<comment>自定义3</comment>
</column>
</property>
</class>
</hibernate-mapping>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.jsh.model.po.MaterialProperty" table="jsh_materialproperty">
<id name="id" type="java.lang.Long">
<column name="id"/>
<generator class="native"/>
</id>
<property generated="never" lazy="false" name="nativeName" type="java.lang.String">
<column length="50" name="nativeName">
<comment>原始名称</comment>
</column>
</property>
<property generated="never" lazy="false" name="enabled" type="boolean">
<column length="1" name="enabled">
<comment>是否启用</comment>
</column>
</property>
<property generated="never" lazy="false" name="sort" type="java.lang.String">
<column length="10" name="sort">
<comment>排序</comment>
</column>
</property>
<property generated="never" lazy="false" name="anotherName" type="java.lang.String">
<column length="50" name="anotherName">
<comment>别名</comment>
</column>
</property>
</class>
</hibernate-mapping>

View File

@@ -44,5 +44,6 @@
<mapping resource="hibernate/AccountHead.hbm.xml" />
<mapping resource="hibernate/AccountItem.hbm.xml" />
<mapping resource="hibernate/SystemConfig.hbm.xml" />
<mapping resource="hibernate/MaterialProperty.hbm.xml" />
</session-factory>
</hibernate-configuration>

View File

@@ -126,6 +126,17 @@
</bean>
<!--系统配置结束 -->
<!--商品属性开始 -->
<bean id="materialPropertyService" class="com.jsh.service.materials.MaterialPropertyService">
<property name="baseDao" ref="baseDao"/>
</bean>
<!-- spring整合struts2需要默认为request或者 prototype不能是单例 -->
<bean id="materialPropertyAction" class="com.jsh.action.materials.MaterialPropertyAction" scope="prototype">
<property name="materialPropertyService" ref="materialPropertyService" />
<property name="logService" ref="logService"/>
</bean>
<!--商品属性结束 -->
<!--分类配置开始 -->
<bean id="categoryService" class="com.jsh.service.basic.CategoryService">
<property name="baseDao" ref="baseDao"/>

View File

@@ -56,4 +56,6 @@
<bean id="accountItemDao" parent="daoTemplate" class="com.jsh.dao.materials.AccountItemDAO"/>
<!-- 配置systemConfigDAO组件 -->
<bean id="systemConfigDAO" parent="daoTemplate" class="com.jsh.dao.basic.SystemConfigDAO"/>
<!-- 配置materialPropertyDAO组件 -->
<bean id="materialPropertyDAO" parent="daoTemplate" class="com.jsh.dao.materials.MaterialPropertyDAO"/>
</beans>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
"http://struts.apache.org/dtds/struts-2.1.7.dtd">
<struts>
<package name="materialProperty" namespace="/materialProperty" extends="json-default">
<action name="*" class="materialPropertyAction" method="{1}">
<result type="json"/>
</action>
</package>
</struts>

View File

@@ -59,10 +59,10 @@
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
</div>
<div id="materialDlg" class="easyui-dialog" style="width:860px;height:400px;padding:10px 20px"
<div id="materialDlg" class="easyui-dialog" style="width:860px;height:420px;padding:10px 20px"
closed="true" buttons="#dlg-buttons" modal="true" collapsible="false" closable="true">
<form id="materialFM" method="post" novalidate>
<div id="tt" class="easyui-tabs" style="width:800px;height:300px;">
<div id="tt" class="easyui-tabs" style="width:800px;height:320px;">
<div title="基本信息" style="padding:20px;">
<table>
<tr>
@@ -183,6 +183,30 @@
<input name="Standard" id="Standard" class="easyui-validatebox" data-options="validType:'length[1,30]'" style="width: 250px;height: 20px"/>
</td>
</tr>
<tr>
<td>制造商</td>
<td style="padding:5px">
<input name="Mfrs" id="Mfrs" class="easyui-validatebox" data-options="validType:'length[1,30]'" style="width: 250px;height: 20px"/>
</td>
</tr>
<tr>
<td>自定义1</td>
<td style="padding:5px">
<input name="OtherField1" id="OtherField1" class="easyui-validatebox" data-options="validType:'length[1,30]'" style="width: 250px;height: 20px"/>
</td>
</tr>
<tr>
<td>自定义2</td>
<td style="padding:5px">
<input name="OtherField2" id="OtherField2" class="easyui-validatebox" data-options="validType:'length[1,30]'" style="width: 250px;height: 20px"/>
</td>
</tr>
<tr>
<td>自定义3</td>
<td style="padding:5px">
<input name="OtherField3" id="OtherField3" class="easyui-validatebox" data-options="validType:'length[1,30]'" style="width: 250px;height: 20px"/>
</td>
</tr>
</table>
</div>
</div>
@@ -521,7 +545,8 @@
var rowInfo = rec.Id + 'AaBb' + rec.Name+ 'AaBb' + rec.Model + 'AaBb' + rec.Color + 'AaBb' + rec.Unit + 'AaBb' + rec.RetailPrice
+ 'AaBb' + rec.LowPrice + 'AaBb' + rec.PresetPriceOne + 'AaBb' + rec.PresetPriceTwo + 'AaBb' + rec.Remark + 'AaBb' + rec.Standard
+ 'AaBb' + rec.Color + 'AaBb' + rec.Packing + 'AaBb' + rec.SafetyStock + 'AaBb' + rec.CategoryId + 'AaBb' + rec.CategoryName
+ 'AaBb' + rec.UnitId + 'AaBb' + rec.UnitName + 'AaBb' + rec.FirstOutUnit + 'AaBb' + rec.FirstInUnit;
+ 'AaBb' + rec.UnitId + 'AaBb' + rec.UnitName + 'AaBb' + rec.FirstOutUnit + 'AaBb' + rec.FirstInUnit
+ 'AaBb' + rec.Mfrs + 'AaBb' + rec.OtherField1 + 'AaBb' + rec.OtherField2 + 'AaBb' + rec.OtherField3;
if(1 == value)
{
str += '<img title="编辑" src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editMaterial(\'' + rowInfo + '\');"/>&nbsp;&nbsp;&nbsp;';
@@ -1025,7 +1050,10 @@
SafetyStock : $.trim($("#SafetyStock").val()),
Model : $.trim($("#Model").val()),
Standard : $.trim($("#Standard").val()),
Mfrs : "",
Mfrs : $.trim($("#Mfrs").val()),
OtherField1 : $.trim($("#OtherField1").val()),
OtherField2 : $.trim($("#OtherField2").val()),
OtherField3 : $.trim($("#OtherField3").val()),
Unit : $.trim($("#Unit").val()),
RetailPrice : $.trim($("#RetailPrice").val()),
LowPrice : $.trim($("#LowPrice").val()),
@@ -1136,6 +1164,10 @@
$("#Model").val(materialInfo[2]);
$("#Standard").val(materialInfo[10]=="undefined"?"":materialInfo[10]);
$("#Color").val(materialInfo[3]=="undefined"?"":materialInfo[3]);
$("#Mfrs").val(materialInfo[20]=="undefined"?"":materialInfo[20]);
$("#OtherField1").val(materialInfo[21]=="undefined"?"":materialInfo[21]);
$("#OtherField2").val(materialInfo[22]=="undefined"?"":materialInfo[22]);
$("#OtherField3").val(materialInfo[23]=="undefined"?"":materialInfo[23]);
$("#Unit").val(materialInfo[4]=="undefined"?"":materialInfo[4]);
$("#RetailPrice").val(materialInfo[5]=="undefined"?"":materialInfo[5]);
$("#LowPrice").val(materialInfo[6]=="undefined"?"":materialInfo[6]);

View File

@@ -0,0 +1,298 @@
<%@page import="com.jsh.util.Tools"%>
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String clientIp = Tools.getLocalIp(request);
%>
<!DOCTYPE html>
<html>
<head>
<title>商品属性</title>
<meta charset="utf-8">
<!-- 指定以IE8的方式来渲染 -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8"/>
<link rel="shortcut icon" href="<%=path%>/images/favicon.ico" type="image/x-icon" />
<script type="text/javascript" src="<%=path %>/js/jquery-1.8.0.min.js"></script>
<link rel="stylesheet" type="text/css" href="<%=path %>/js/easyui-1.3.5/themes/default/easyui.css"/>
<link rel="stylesheet" type="text/css" href="<%=path %>/js/easyui-1.3.5/themes/icon.css"/>
<link type="text/css" rel="stylesheet" href="<%=path %>/css/common.css" />
<script type="text/javascript" src="<%=path %>/js/easyui-1.3.5/jquery.easyui.min.js"></script>
<script type="text/javascript" src="<%=path %>/js/easyui-1.3.5/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript" src="<%=path %>/js/common/common.js"></script>
</head>
<body>
<!-- 查询 -->
<div id = "searchPanel" class="easyui-panel" style="padding:10px;" title="查询窗口" iconCls="icon-search" collapsible="true" closable="false">
<table id="searchTable">
<tr>
<td>名称:</td>
<td>
<input name="searchNativeName" id="searchNativeName" style="width:120px;"/>
</td>
<td>&nbsp;</td>
<td>
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" id="searchBtn">查询</a>&nbsp;&nbsp;
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-redo" id="searchResetBtn">重置</a>
</td>
</tr>
</table>
</div>
<!-- 数据显示table -->
<div id = "tablePanel" class="easyui-panel" style="padding:1px;top:300px;" title="商品属性列表" iconCls="icon-list" collapsible="true" closable="false">
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
</div>
<div id="materialPropertyDlg" class="easyui-dialog" style="width:380px;padding:10px 20px"
closed="true" buttons="#dlg-buttons" modal="true" cache="false" collapsible="false" closable="true">
<form id="materialPropertyFM" method="post" novalidate>
<table>
<tr>
<td>名称</td>
<td style="padding:5px">
<span id="nativeName" />
</td>
</tr>
<tr>
<td>是否启用</td>
<td style="padding:5px">
<input name="enabled" id="enabled" type="checkbox" style="width: 50px;height: 20px"/>
</td>
</tr>
<tr>
<td>排序</td>
<td style="padding:5px">
<input name="sort" id="sort" class="easyui-validatebox" data-options="required:true,validType:'length[2,30]'" style="width: 230px;height: 20px"/>
</td>
</tr>
<tr>
<td>别名</td>
<td style="padding:5px">
<input name="anotherName" id="anotherName" class="easyui-validatebox" data-options="validType:'length[2,30]'" style="width: 230px;height: 20px"/>
</td>
</tr>
</table>
<input type="hidden" name="clientIp" id="clientIp" value="<%=clientIp %>"/>
</form>
</div>
<div id="dlg-buttons">
<a href="javascript:void(0)" id="saveMaterialProperty" class="easyui-linkbutton" iconCls="icon-ok">保存</a>
<a href="javascript:void(0)" id="cancelMaterialProperty" class="easyui-linkbutton" iconCls="icon-cancel" onclick="javascript:$('#materialPropertyDlg').dialog('close')">取消</a>
</div>
<script type="text/javascript">
//初始化界面
$(function() {
initTableData();
ininPager();
initForm();
});
//防止表单提交重复
function initForm() {
$('#materialPropertyFM').form({
onSubmit: function(){
return false;
}
});
}
//初始化表格数据
function initTableData() {
$('#tableData').datagrid({
height:heightInfo,
nowrap: false,
rownumbers: true,
//动画效果
animate:false,
//选中单行
singleSelect : true,
collapsible:false,
selectOnCheck:false,
//fitColumns:true,
//单击行是否选中
//checkOnSelect : false,
url:'<%=path %>/materialProperty/findBy.action?pageSize=' + initPageSize,
pagination: false,
//交替出现背景
striped : true,
//loadFilter: pagerFilter,
columns:[[
{ field: 'id',width:10,align:"center",hidden:true},
{ title: '名称',field: 'nativeName',width:100},
{ title: '是否启用',field: 'enabled',width:100,formatter:function(value,rec){
if(rec.enabled){
return "启用";
}
else {
return "禁用";
}
}},
{ title: '排序',field: 'sort',width:100},
{ title: '别名',field: 'anotherName',width:100},
{ title: '操作',field: 'op',align:"center",width:80,formatter:function(value,rec)
{
var str = '';
var rowInfo = rec.id + 'AaBb' + rec.nativeName + 'AaBb' + rec.enabled + 'AaBb' + rec.sort + 'AaBb' + rec.anotherName;
str += '<img src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png" style="cursor: pointer;" onclick="editMaterialProperty(\'' + rowInfo + '\');"/>&nbsp;<a onclick="editMaterialProperty(\'' + rowInfo + '\');" style="text-decoration:none;color:black;" href="javascript:void(0)">编辑</a>&nbsp;&nbsp;';
return str;
}
}
]],
onLoadError:function()
{
$.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error');
return;
}
});
}
//初始化键盘enter事件
$(document).keydown(function(event) {
//兼容 IE和firefox 事件
var e = window.event || event;
var k = e.keyCode||e.which||e.charCode;
//兼容 IE,firefox 兼容
var obj = e.srcElement ? e.srcElement : e.target;
//绑定键盘事件为 id是指定的输入框才可以触发键盘事件 13键盘事件 ---遗留问题 enter键效验 对话框会关闭问题
if(k == "13"&&(obj.id=="nativeName")) {
$("#saveMaterialProperty").click();
}
//搜索按钮添加快捷键
if(k == "13"&&(obj.id=="searchNativeName")) {
$("#searchBtn").click();
}
});
//分页信息处理
function ininPager() {
try
{
var opts = $("#tableData").datagrid('options');
var pager = $("#tableData").datagrid('getPager');
pager.pagination({
onSelectPage:function(pageNum, pageSize) {
opts.pageNumber = pageNum;
opts.pageSize = pageSize;
pager.pagination('refresh', {
pageNumber:pageNum,
pageSize:pageSize
});
showMaterialPropertyDetails(pageNum,pageSize);
}
});
}
catch (e)
{
$.messager.alert('异常处理提示',"分页信息异常 : " + e.name + ": " + e.message,'error');
}
}
//增加
var url;
//保存信息
$("#saveMaterialProperty").unbind().bind({
click:function() {
if(!$('#materialPropertyFM').form('validate'))
return;
else {
$.ajax({
type:"post",
url: url,
dataType: "json",
async : false,
data: ({
nativeName : $.trim($("#nativeName").val()),
enabled : $("#enabled").is(':checked'),
sort : $.trim($("#sort").val()),
anotherName : $.trim($("#anotherName").val()),
clientIp:'<%=clientIp %>'
}),
success: function (tipInfo) {
if(tipInfo) {
$('#materialPropertyDlg').dialog('close');
var opts = $("#tableData").datagrid('options');
showMaterialPropertyDetails(opts.pageNumber,opts.pageSize);
}
else {
$.messager.show({
title: '错误提示',
msg: '保存商品属性失败,请稍后重试!'
});
}
},
//此处添加错误处理
error:function() {
$.messager.alert('提示','保存商品属性异常,请稍后再试!','error');
return;
}
});
}
}
});
//编辑信息
function editMaterialProperty(totalInfo) {
var materialPropertyInfo = totalInfo.split("AaBb");
$("#clientIp").val('<%=clientIp %>');
$("#nativeName").text(materialPropertyInfo[1]);
$("#enabled").attr("checked",materialPropertyInfo[2]=='true'?true:false);
$("#sort").val(materialPropertyInfo[3]);
$("#anotherName").val(materialPropertyInfo[4]);
$('#materialPropertyDlg').dialog('open').dialog('setTitle','<img src="<%=path%>/js/easyui-1.3.5/themes/icons/pencil.png"/>&nbsp;编辑商品属性');
$(".window-mask").css({ width: webW ,height: webH});
//焦点在名称输入框==定焦在输入文字后面
$("#nativeName").val("").focus().val(materialPropertyInfo[1]);
url = '<%=path %>/materialProperty/update.action?id=' + materialPropertyInfo[0];
}
//搜索处理
$("#searchBtn").unbind().bind({
click:function()
{
showMaterialPropertyDetails(1,initPageSize);
var opts = $("#tableData").datagrid('options');
var pager = $("#tableData").datagrid('getPager');
opts.pageNumber = 1;
opts.pageSize = initPageSize;
pager.pagination('refresh', {
pageNumber:1,
pageSize:initPageSize
});
}
});
function showMaterialPropertyDetails(pageNo,pageSize) {
$.ajax({
type:"post",
url: "<%=path %>/materialProperty/findBy.action",
dataType: "json",
data: ({
nativeName:$.trim($("#searchNativeName").val()),
pageNo:pageNo,
pageSize:pageSize
}),
success: function (data) {
$("#tableData").datagrid('loadData',data);
},
//此处添加错误处理
error:function()
{
$.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error');
return;
}
});
}
//重置按钮
$("#searchResetBtn").off().on("click",function(){
$("#searchNativeName").val("");
//加载完以后重新初始化
$("#searchBtn").click();
});
</script>
</body>
</html>