Files
jshERP/erp_web/pages/materials/material.html
2020-12-25 23:08:27 +08:00

1658 lines
72 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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="/images/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" href="/js/bootstrap/css/bootstrap.min.css">
<link type="text/css" rel="stylesheet" href="/css/jsherp.css"/>
<script type="text/javascript" src="/js/jquery-1.8.0.min.js"></script>
<link rel="stylesheet" type="text/css" href="/js/easyui/themes/gray/easyui.css"/>
<link rel="stylesheet" type="text/css" href="/js/easyui/themes/icon.css"/>
<link type="text/css" rel="stylesheet" href="/css/common.css"/>
<link type="text/css" rel="stylesheet" href="/css/material.css"/>
<script type="text/javascript" src="/js/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript" src="/js/easyui/locale/easyui-lang-zh_CN.js"></script>
<script type="text/javascript" src="/js/easyui/datagrid-dnd.js"></script>
<script src="/js/handlebars.js"></script>
<script type="text/javascript" src="/js/common/outlook_in.js"></script>
<script type="text/javascript" src="/js/common/common.js"></script>
<script src="/js/common/jsherp.js"></script>
</head>
<body>
<!-- 数据显示table -->
<div id="tablePanel" class="easyui-panel" data-options="fit:true" style="padding:5px;" title="商品列表" iconCls="icon-list">
<div class="box-body form-inline">
<div class="form-group">
<label class="control-label">类别:</label>
<div class="control-inline">
<input name="searchParentName" id="searchParentName" class="easyui-textbox" style="width: 100px;" readonly="readonly"/>
<a href="javascript:void(0)" class="l-btn l-btn-plain" group="" style="height: 25px;" id="lookForSelectMaterialCategory">
<span class="l-btn-left"><span class="l-btn-text icon-search l-btn-icon-left" style="height: 20px"></span></span></a>
<input name="searchParentId" id="searchParentId" type="hidden"/>
</div>
</div>
<div class="form-group">
<label class="control-label">条码:</label>
<div class="control-inline">
<input type="text" id="searchBarCode" name="searchBarCode" value="" maxlength="100" class="easyui-textbox width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">名称:</label>
<div class="control-inline">
<input type="text" id="searchName" name="searchName" value="" maxlength="100" class="width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">规格:</label>
<div class="control-inline">
<input type="text" id="searchStandard" name="searchStandard" value="" maxlength="100" class="easyui-textbox width-90"/>
</div>
</div>
<div class="form-group">
<label class="control-label">型号:</label>
<div class="control-inline">
<input type="text" id="searchModel" name="searchModel" value="" maxlength="100" class="easyui-textbox width-90"/>
</div>
</div>
<div class="form-group">
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-search" id="searchBtn">查询</a>&nbsp;
<a href="javascript:void(0)" class="easyui-linkbutton" iconCls="icon-redo" id="searchResetBtn">重置</a>
</div>
</div>
<table id="tableData" style="top:300px;border-bottom-color:#FFFFFF"></table>
</div>
<div id="materialDetailListDlg" class="easyui-dialog" style="padding:10px 20px;display:none;" fit="true" closed="true"
modal="true" collapsible="false" closable="true">
<div id="cc" class="easyui-layout" data-options="fit:true">
<div data-options="region:'west',title:'库存详情'" style="width:400px;">
<div id="initDepotShow"></div>
</div>
<div data-options="region:'center',title:'出入库明细'">
<table id="materialTableData" style="top:50px;border-bottom-color:#FFFFFF" data-options="fit:true"></table>
</div>
</div>
</div>
<div id="materialDlg" class="easyui-dialog" style="padding:10px 20px;display:none;" fit="true"
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:100%;height:520px;">
<div title="基本信息" style="padding:20px;">
<table width="100%" style="min-width:1150px;">
<tr>
<td style="width:60px; height:30px;">名称</td>
<td style="padding:5px;width:250px;">
<input name="Name" id="Name" class="easyui-textbox"
data-options="required:true,validType:'length[1,30]'"
style="width: 180px;"/>
</td>
<td style="width:60px;">规格</td>
<td style="padding:5px;width:250px;">
<input name="Standard" id="Standard"
data-options="validType:'length[1,30]'" style="width: 180px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
</td>
<td style="width:60px;">单位</td>
<td style="padding:5px;width:250px;">
<input name="Unit" id="Unit"
data-options="validType:'length[1,30]'" style="width: 180px;height: 30px;border: 1px solid #95B8E7;border-radius:5px;"/>
<select name="manyUnit" id="manyUnit"
style="width:180px;display: none;height: 30px;border: 1px solid #95B8E7;border-radius:5px;"></select>
<input id="manyUnitCheck" type="checkbox"/>多单位
</td>
<td style="width:250px"></td>
</tr>
<tr>
<td style="width:60px;">型号</td>
<td style="padding:5px;">
<input name="Model" id="Model" class="easyui-textbox"
data-options="validType:'length[1,30]'" style="width: 180px;"/>
</td>
<td style="height:30px;">颜色</td>
<td style="padding:5px">
<input name="Color" id="Color"
data-options="validType:'length[1,30]'" style="width: 180px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
</td>
<td style="height:30px;">类别</td>
<td style="padding:5px">
<input name="parentName" id="parentName" class="easyui-textbox" style="width: 180px;" readonly="readonly"/>
<a href="javascript:void(0)" class="l-btn l-btn-plain" group="" id="lookForMaterialCategory">
<span class="l-btn-left"><span class="l-btn-text icon-search l-btn-icon-left" style="height: 20px;"></span></span></a>
<input name="parentId" id="parentId" type="hidden"/>
</td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td style="width:60px;">序列号</td>
<td style="padding:5px;">
<select name="EnableSerialNumber" id="EnableSerialNumber"
style="width:180px;height: 30px;border: 1px solid #95B8E7;border-radius:5px;">
<option value="1">有</option>
<option value="0">无</option>
</select>
</td>
<td style="height:30px;">安全存量</td>
<td style="padding:5px">
<input name="SafetyStock" id="SafetyStock" class="easyui-textbox"
data-options="validType:'length[1,30]'" style="width: 180px;"/>
</td>
<td style="height:30px;"></td>
<td style="padding:5px"></td>
<td style="text-align: left;"></td>
</tr>
<tr>
<td colspan="7" style="padding:5px 20px 10px 0; width: 1200px">
<table id="materialExtendData" style="width:1200px;border-bottom-color:#FFFFFF"></table>
</td>
</tr>
<tr>
<td style="height:30px;">备注</td>
<td style="padding:5px 20px 5px 5px" colspan="6">
<textarea name="Remark" id="Remark" class="easyui-textbox" data-options="multiline:true" placeholder="暂无备注信息"
style="width: 1130px; height:40px;"></textarea>
</td>
</tr>
</table>
</div>
<div title="扩展信息" style="padding:20px;">
<table class="tb-other-info">
<tr class="tr-mfrs">
<td style="width:80px;">制造商</td>
<td style="padding:5px">
<input name="Mfrs" id="Mfrs"
data-options="validType:'length[1,30]'" style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
</td>
</tr>
<tr class="tr-otherField1">
<td>自定义1</td>
<td style="padding:5px">
<input name="OtherField1" id="OtherField1"
data-options="validType:'length[1,30]'" style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
</td>
</tr>
<tr class="tr-otherField2">
<td>自定义2</td>
<td style="padding:5px">
<input name="OtherField2" id="OtherField2"
data-options="validType:'length[1,30]'" style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
</td>
</tr>
<tr class="tr-otherField3">
<td>自定义3</td>
<td style="padding:5px">
<input name="OtherField3" id="OtherField3"
data-options="validType:'length[1,30]'"
style="width: 250px;border: 1px solid #95B8E7;border-radius:5px;height: 30px"/>
</td>
</tr>
</table>
</div>
<div title="初始库存" style="padding:20px;">
<div id="initDepot"></div>
</div>
</div>
<div id="dlg-buttons">
<a href="javascript:void(0)" id="saveMaterial" class="easyui-linkbutton" iconCls="icon-ok">保存</a>
<a href="javascript:void(0)" id="cancelMaterial" class="easyui-linkbutton" iconCls="icon-cancel"
onclick="javascript:$('#materialDlg').dialog('close')">取消</a>
</div>
</form>
</div>
<!-- 导入excel表格 -->
<div id="importExcelDlg" class="easyui-dialog" style="width:450px; padding:10px 20px;display:none;"
closed="true" buttons="#dlg-buttons5" modal="true" collapsible="false" closable="true">
<form id="importExcelFM" method="post" enctype="multipart/form-data" action="/material/importExcel">
<table>
<tr>
<td style="width:80px;">表格模板</td>
<td style="padding:5px">
<span><a href="/pages/template/goods_template.xls"><b>Excel模板下载</b></a></span>
</td>
</tr>
<tr>
<td>文件名称</td>
<td style="padding:5px">
<input name="materialFile" id="materialFile" type="file" style="width: 230px;"/>
</td>
</tr>
</table>
<div id="dlg-buttons5">
<a href="javascript:void(0)" id="saveimport" class="easyui-linkbutton" iconCls="icon-ok">导入</a>
<a href="javascript:void(0)" id="cancelimport" class="easyui-linkbutton" iconCls="icon-cancel"
onclick="javascript:$('#importExcelDlg').dialog('close')">取消</a>
</div>
</form>
</div>
<div id="forSelectMaterialCategoryDlg" class="easyui-dialog" style="width:380px;padding:10px 20px;top:50px;"
closed="true" modal="true" cache="false" collapsible="false" closable="true">
</div>
<script type="text/javascript">
var editIndex = undefined;
var materialCategoryList = null;
var types = "";
var multiple = 0; //倍数
var mPropertyList = null; //商品属性列表
var mPropertyListShort = ""; //商品属性列表-传值
var clickType = ""; //记录从哪里点击的类别弹窗
var thisBarCode = getMaxBarCode(); //获取当前最大条码
//初始化界面
$(function () {
//初始化系统基础信息
initMProperty();
manyUnitFun();
initMaterialNameList();
initMPropertyShort(); //初始化商品属性
initTableData();
ininPager();
initForm();
bindEvent();
});
//初始化系统基础信息
function initMProperty() {
$.ajax({
type: "get",
url: "/materialProperty/list",
dataType: "json",
data: ({
currentPage: 1,
pageSize: 100
}),
success: function (res) {
if(res && res.code === 200){
if(res.data && res.data.page) {
mPropertyList = res.data.page.rows; //属性列表
}
}
},
//此处添加错误处理
error: function () {
$.messager.alert('查询提示', '查询信息异常,请稍后再试!', 'error');
return;
}
});
}
function initMCData(parentid_search) {
$.ajax({
type: "get",
url: "/materialCategory/getAllList",
data: ({
parentId: parentid_search
}),
//设置为同步
async: false,
dataType: "json",
success: function (res) {
if(res && res.code === 200){
materialCategoryList = res.data;
if (materialCategoryList != null) {
options = "";
for (var i = 0; i < materialCategoryList.length; i++) {
var materialCategory = materialCategoryList[i];
types += materialCategory.id + ',';
}
types += parentid_search;
} else {
types = parentid_search;
}
} else {
$.messager.alert('提示', '查找系统基础信息异常,请与管理员联系!', 'error');
return;
}
}
});
}
//防止表单提交重复
function initForm() {
$('#materialFM').form({
onSubmit: function () {
return false;
}
});
}
//多单位勾选
function manyUnitFun() {
$("#manyUnitCheck").off("click").on("click", function () {
if ($(this).prop("checked") == true) {
//当前为选中状态
$("#Unit").hide();
$("#manyUnit").show();
$("#Unit").val(""); //清除单位的填写内容
}
else {
//当前为不选中状态
$("#Unit").show();
$("#manyUnit").hide();
$("#manyUnit").val(""); //清除多单位的下拉框
}
});
}
//初始化商品名称模糊匹配
function initMaterialNameList() {
$('#searchName').combobox({
method:"get",
url: "/material/getMaterialNameList",
valueField: 'value',
textField: 'text',
hasDownArrow: false,
filter: function(q, row){
var opts = $(this).combobox('options');
return row[opts.textField].indexOf(q) >-1;
}
});
}
//初始化商品属性
function initMPropertyShort() {
$.ajax({
type: "get",
url: "/materialProperty/list",
dataType: "json",
async: false,
data: ({
currentPage: 1,
pageSize: 100
}),
success: function (res) {
if(res && res.code === 200){
if(res.data && res.data.page) {
var thisRows = res.data.page.rows; //属性列表
for (var i = 0; i < thisRows.length; i++) {
if (thisRows[i].enabled) {
mPropertyListShort += thisRows[i].nativeName + ",";
}
}
if (mPropertyListShort) {
mPropertyListShort = mPropertyListShort.substring(0, mPropertyListShort.length - 1);
}
}
}
},
//此处添加错误处理
error: function () {
$.messager.alert('查询提示', '查询信息异常,请稍后再试!', 'error');
return;
}
});
}
//初始化表格数据
function initTableData() {
//改变宽度和高度
$("#searchPanel").panel({width: webW - 2});
$("#tablePanel").panel({width: webW - 2});
$('#tableData').datagrid({
height: heightInfo,
nowrap: false,
rownumbers: false,
//动画效果
animate: false,
//选中单行
singleSelect: true,
collapsible: false,
selectOnCheck: false,
pagination: true,
//交替出现背景
striped: true,
pageSize: initPageSize,
pageList: initPageNum,
columns: [[
{field: 'id', width: 35, align: "center", checkbox: true},
{
title: '操作', field: 'op', align: "center", width: 60,
formatter: function (value, rec, index) {
var str = '';
str += '<img title="编辑" src="/js/easyui/themes/icons/pencil.png" style="cursor: pointer;" onclick="editMaterial(\'' + index + '\');"/>&nbsp;&nbsp;&nbsp;';
if(isShowOpFun()) {
str += '<img title="删除" src="/js/easyui/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteMaterial(' + rec.id + ');"/>';
}
return str;
}
},
{title: '条码', field: 'mBarCode', width: 120},
{title: '名称', field: 'name', width: 120},
{title: '规格', field: 'standard', width: 80},
{title: '型号', field: 'model', width: 80},
{title: '类别', field: 'categoryName', width: 80},
{title: '扩展信息', field: 'materialOther', width: 140},
{title: '单位', field: 'unit', width: 80,
formatter: function (value, rec) {
if(value) {
return value;
} else {
return rec.unitName;
}
}
},
{title: '安全存量', field: 'safetyStock', width: 70},
{
title: '库存', field: 'stock', width: 70, formatter: function (value, rec) {
var str = '';
str += '<span title="查看库存及明细" class="n-link" ' +
'onclick="findStockList(' + rec.id + ',' + rec.mBarCode + ',\'' + rec.name + '\');">' + rec.stock + '</span>';
return str;
}
},
{title: '采购价', field: 'purchaseDecimal', width: 70},
{title: '零售价', field: 'commodityDecimal', width: 70},
{title: '销售价', field: 'wholesaleDecimal', width: 70},
{title: '最低售价', field: 'lowDecimal', width: 70},
{
title: '状态', field: 'enabled', width: 50, align: "center", formatter: function (value) {
return value ? "<span style='color:green'>启用</span>" : "<span style='color:red'>禁用</span>";
}
},
{
title: '序列号', field: 'enableSerialNumber', width: 70, align: "center", formatter: function (value) {
return value=='1' ? "<span style='color:green'></span>" : "";
}
}
]],
toolbar: [
{
id: 'addMaterial',
text: '增加',
iconCls: 'icon-add',
handler: function () {
addMaterial();
}
},
'-',
{
id: 'deleteMaterial',
text: '删除',
iconCls: 'icon-remove',
handler: function () {
batDeleteMaterial();
}
},
'-',
{
id: 'setEnable',
text: '启用',
iconCls: 'icon-ok',
handler: function () {
setEnableFun();
}
},
'-',
{
id: 'setDisEnable',
text: '禁用',
iconCls: 'icon-no',
handler: function () {
setDisEnableFun();
}
},
'-',
{
id: 'setInput',
text: '导入',
iconCls: 'icon-excel',
handler: function () {
setInputFun();
}
},
'-',
{
id: 'setOutput',
text: '导出',
iconCls: 'icon-excel',
handler: function () {
setOutputFun();
}
}
],
onLoadError: function () {
$.messager.alert('页面加载提示', '页面加载异常,请稍后再试!', 'error');
return;
}
});
dgResize();
toolbarStatus();
showMaterialDetails(1, initPageSize);
}
//初始化表格数据
function initMaterialDetailData(mId) {
$('#materialTableData').datagrid({
height: heightInfo,
nowrap: false,
rownumbers: false,
//动画效果
animate: false,
//选中单行
singleSelect: true,
collapsible: false,
selectOnCheck: false,
//单击行是否选中
checkOnSelect: false,
//交替出现背景
striped: true,
pagination: true,
pageSize: initPageSize,
pageList: initPageNum,
columns: [[
{
title: '单据编号', field: 'Number', width: 150,
formatter: function (value, row) {
return '<a class="n-link" onclick="turnBillDetailPage(\'' + row.Number + '\''+',\'' + row.Type + '\');">' + row.Number + '</a>';
}
},
{title: '类型', field: 'Type', width: 100},
{title: '数量', field: 'BasicNumber', width: 80},
{title: '日期', field: 'OperTime', width: 180, formatter: function (value) {
return formatTime(value, 'Y-M-D h:m:s');
}}
]],
onLoadError: function () {
$.messager.alert('页面加载提示', '页面加载异常,请稍后再试!', 'error');
return;
}
});
}
//分页信息处理
function ininMaterialDetailPager(mId) {
try {
var opts = $("#materialTableData").datagrid('options');
var pager = $("#materialTableData").datagrid('getPager');
pager.pagination({
onSelectPage: function (pageNum, pageSize) {
opts.pageNumber = pageNum;
opts.pageSize = pageSize;
pager.pagination('refresh', {
pageNumber: pageNum,
pageSize: pageSize
});
getMaterialInOutList(mId, pageNum, pageSize);
}
});
}
catch (e) {
$.messager.alert('异常处理提示', "分页信息异常 : " + e.name + ": " + e.message, 'error');
}
}
function getMaterialInOutList(mId, pageNo, pageSize) {
$.ajax({
type: "get",
url: "/depotItem/findDetailByTypeAndMaterialId",
dataType: "json",
data: ({
materialId: mId,
currentPage: pageNo,
pageSize: pageSize
}),
success: function (res) {
if(res && res.code === 200){
if(res.data && res.data.page) {
$("#materialTableData").datagrid('loadData', res.data.page);
}
}
},
//此处添加错误处理
error: 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 == "CategoryLevel" || obj.id == "Name")) {
$("#saveMaterial").click();
}
//搜索按钮添加快捷键
if (k == "13" && (obj.id == "searchCategoryId" || (obj.id == "searchName"))) {
$("#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
});
showMaterialDetails(pageNum, pageSize);
}
});
}
catch (e) {
$.messager.alert('异常处理提示', "分页信息异常 : " + e.name + ": " + e.message, 'error');
}
}
function findStockList(mId, barCode, name) {
var titleInfo = "&nbsp;" + name + "[" + barCode + "]的库存及明细";
$('#materialDetailListDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/pencil.png"/>' + titleInfo);
$(".window-mask").css({width: webW, height: webH});
initDepotList(mId, "show"); //加载仓库及库存数量
initMaterialDetailData(mId);
getMaterialInOutList(mId, 1, initPageSize);
ininMaterialDetailPager(mId);
}
//删除商品信息
function deleteMaterial(materialID) {
$.messager.confirm('删除确认', '确定要删除此商品信息吗?', function (r) {
if (r) {
$.ajax({
type: "post",
url: "/material/batchDeleteMaterialByIds",
dataType: "json",
data: ({
ids: materialID
}),
success: function (res) {
if(res && res.code == 200) {
$("#searchBtn").click();
} else {
if(res && res.code == 601){
var jsondata={};
jsondata.ids=materialID;
jsondata.deleteType='2';
var type='single';
batDeleteMaterialForceConfirm(res,"/material/batchDeleteMaterialByIds",jsondata,type);
}else if(res && res.code == 600){
$.messager.alert('删除提示', res.msg, 'error');
}else{
$.messager.alert('删除提示', '删除商品信息异常,请稍后再试!', 'error');
}
}
},
//此处添加错误处理
error: function () {
$.messager.alert('删除提示', '删除商品信息异常,请稍后再试!', 'error');
return;
}
});
}
});
}
//批量删除商品
function batDeleteMaterial() {
var row = $('#tableData').datagrid('getChecked');
if (row.length == 0) {
$.messager.alert('删除提示', '没有记录被选中!', 'info');
return;
}
if (row.length > 0) {
$.messager.confirm('删除确认', '确定要删除选中的' + row.length + '条商品信息吗?', function (r) {
if (r) {
var ids = "";
for (var i = 0; i < row.length; i++) {
if (i == row.length - 1) {
ids += row[i].id;
break;
}
//alert(row[i].id);
ids += row[i].id + ",";
}
$.ajax({
type: "post",
url: "/material/batchDeleteMaterialByIds",
dataType: "json",
async: false,
data: ({
ids: ids
}),
success: function (res) {
if(res && res.code === 200) {
$("#searchBtn").click();
$(":checkbox").attr("checked", false);
} else {
if(res && res.code == 601){
var jsondata={};
jsondata.ids=ids;
jsondata.deleteType='2';
var type='batch';
batDeleteMaterialForceConfirm(res,"/material/batchDeleteMaterialByIds",jsondata,type);
}else if(res && res.code == 600){
$.messager.alert('删除提示', res.msg, 'error');
}else{
$.messager.alert('删除提示', '删除商品信息异常,请稍后再试!', 'error');
}
}
},
//此处添加错误处理
error: function () {
$.messager.alert('删除提示', '删除商品信息异常,请稍后再试!', 'error');
return;
}
});
}
});
}
}
/**
* 确认强制删除
* */
function batDeleteMaterialForceConfirm(res,url,jsondata,type) {
$.messager.confirm('删除确认', res.msg, function (r) {
if (r) {
$.ajax({
type: "post",
url: url,
dataType: "json",
data: (jsondata),
success: function (res) {
if(res && res.code == 200) {
$("#searchBtn").click();
if(type=='batch'){
$(":checkbox").attr("checked", false);
}
}else if(res && res.code == 600){
$.messager.alert('删除提示', res.msg, 'error');
}else {
$.messager.alert('删除提示', '删除商品信息异常,请稍后再试!', 'error');
}
},
//此处添加错误处理
error: function () {
$.messager.alert('删除提示', '删除商品信息异常,请稍后再试!', 'error');
return;
}
});
}
});
}
//批量启用
function setEnableFun() {
var row = $('#tableData').datagrid('getChecked');
if (row.length == 0) {
$.messager.alert('启用提示', '没有记录被选中!', 'info');
return;
}
if (row.length > 0) {
$.messager.confirm('启用确认', '确定要启用选中的' + row.length + '条信息吗?', function (r) {
if (r) {
var ids = "";
for (var i = 0; i < row.length; i++) {
if (i == row.length - 1) {
ids += row[i].id;
break;
}
ids += row[i].id + ",";
}
$.ajax({
type: "post",
url: "/material/batchSetEnable",
dataType: "json",
async: false,
data: ({
enabled: true,
materialIDs: ids
}),
success: function (res) {
if(res && res.code === 200) {
$("#searchBtn").click();
$(":checkbox").attr("checked", false);
} else {
$.messager.alert('启用提示', '启用信息失败,请稍后再试!', 'error');
}
},
//此处添加错误处理
error: function () {
$.messager.alert('启用提示', '启用信息异常,请稍后再试!', 'error');
return;
}
});
}
});
}
}
//批量禁用
function setDisEnableFun() {
var row = $('#tableData').datagrid('getChecked');
if (row.length == 0) {
$.messager.alert('禁用提示', '没有记录被选中!', 'info');
return;
}
if (row.length > 0) {
$.messager.confirm('禁用确认', '确定要禁用选中的' + row.length + '条信息吗?', function (r) {
if (r) {
var ids = "";
for (var i = 0; i < row.length; i++) {
if (i == row.length - 1) {
ids += row[i].id;
break;
}
ids += row[i].id + ",";
}
$.ajax({
type: "post",
url: "/material/batchSetEnable",
dataType: "json",
async: false,
data: ({
enabled: false,
materialIDs: ids
}),
success: function (res) {
if(res && res.code === 200) {
$("#searchBtn").click();
$(":checkbox").attr("checked", false);
} else {
$.messager.alert('禁用提示', '禁用信息失败,请稍后再试!', 'error');
}
},
//此处添加错误处理
error: function () {
$.messager.alert('禁用提示', '禁用信息异常,请稍后再试!', 'error');
return;
}
});
}
});
}
}
//导入数据
function setInputFun() {
//IE下不允许编辑 input=file的值 解决思路重新克隆input=file把这个input元素复制一个然后将原来的删除。
//在IE下复制元素的时候其中的值是不会被复制的所以就达到了清空文件域的目的了。
//而在Firefox下其中的值也会被一同复制清空一下就做到兼容
var fileUploadInput = $("#materialFile");
fileUploadInput.after(fileUploadInput.clone().val(""));
fileUploadInput.remove();
$("#isCheck").val(1);
$('#importExcelDlg').dialog('open').dialog('setTitle', '导入商品信息');
$(".window-mask").css({width: webW - 20, height: webH});
$("#materialFile").focus();
}
//导出数据
function setOutputFun() {
var name = $.trim($("#searchName").combobox("getValue"));
var model = $.trim($("#searchModel").val());
window.location.href = "/material/exportExcel?browserType=" + getOs()
+ "&name=" + name + "&model=" + model + "&categoryIds=" + types;
}
//增加
var url;
var materialID = 0;
//保存编辑前的名称/型号/颜色
var oldName = "";
var oldModel = "";
var oldColor = "";
var oldUnit = "";
var oldManyUnit = "";
//根据商品属性架子啊
function bindMProperty() {
var trMfrs = $(".tr-mfrs").html();
trMfrs = '<tr class="tr-mfrs">' + trMfrs + '</tr>';
var trOtherField1 = $(".tr-otherField1").html();
trOtherField1 = '<tr class="tr-otherField1">' + trOtherField1 + '</tr>';
var trOtherField2 = $(".tr-otherField2").html();
trOtherField2 = '<tr class="tr-otherField2">' + trOtherField2 + '</tr>';
var trOtherField3 = $(".tr-otherField3").html();
trOtherField3 = '<tr class="tr-otherField3">' + trOtherField3 + '</tr>';
//表格模板变更
$(".tb-other-info").html("");
for (var i = 0; i < mPropertyList.length; i++) {
if (mPropertyList[i].nativeName === "制造商") {
$(".tb-other-info").append(trMfrs);
$(".tr-mfrs td").first().text(mPropertyList[i].anotherName);
if (mPropertyList[i].enabled) {
$(".tr-mfrs").show();
}
else {
$(".tr-mfrs").hide();
}
}
if (mPropertyList[i].nativeName === "自定义1") {
$(".tb-other-info").append(trOtherField1);
$(".tr-otherField1 td").first().text(mPropertyList[i].anotherName);
if (mPropertyList[i].enabled) {
$(".tr-otherField1").show();
}
else {
$(".tr-otherField1").hide();
}
}
if (mPropertyList[i].nativeName === "自定义2") {
$(".tb-other-info").append(trOtherField2);
$(".tr-otherField2 td").first().text(mPropertyList[i].anotherName);
if (mPropertyList[i].enabled) {
$(".tr-otherField2").show();
}
else {
$(".tr-otherField2").hide();
}
}
if (mPropertyList[i].nativeName === "自定义3") {
$(".tb-other-info").append(trOtherField3);
$(".tr-otherField3 td").first().text(mPropertyList[i].anotherName);
if (mPropertyList[i].enabled) {
$(".tr-otherField3").show();
}
else {
$(".tr-otherField3").hide();
}
}
}
}
function addMaterial() {
if(checkPower()){
return;
}
$('#materialFM').form('clear');
initTableDataExtend('add','0');
bindMProperty(); //根据商品属性绑定
$("#EnableSerialNumber").val('0');
$('#materialDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/edit_add.png"/>&nbsp;增加商品信息');
$(".window-mask").css({width: webW, height: webH});
$("#manyUnitCheck").prop("checked", false);
$("#manyUnit").val(""); //置空
//当前为不选中状态
$("#Unit").show();
$("#Unit").off("keyup").on("keyup", function () {
var unitInfo = $(this).val();
var body =$("#materialFM .datagrid-view2 .datagrid-body");
var input = "input[type=text]";
body.find("[field='CommodityUnit']").find(input).val(unitInfo);
});
$("#manyUnit").hide();
//选中基本资料tab
$("#materialFM #tt .tabs li").first().click();
oldName = "";
oldModel = "";
oldColor = "";
oldStandard = "";
oldMfrs = "";
oldOtherField1 = "";
oldOtherField2 = "";
oldOtherField3 = "";
oldUnit = "";
oldManyUnit = "";
materialID = 0;
url = '/material/add';
initDepotList(materialID, "edit"); //加载仓库列表页面
}
//商品价格扩展
function initTableDataExtend(type,materialId){
$('#materialExtendData').datagrid({
height:200,
rownumbers: false,
//动画效果
animate:false,
//选中单行
singleSelect : true,
collapsible:false,
selectOnCheck:false,
//单击行是否选中
checkOnSelect : false,
//交替出现背景
striped : true,
onClickRow: onClickRow,
columns:[[
{ field: 'Id',field: 'Id',width:35,align:"center",checkbox:true},
{ title: '条码',field: 'BarCode',editor:'validatebox',width:200},
{ title: '单位',field: 'CommodityUnit',editor:'validatebox',width:70},
{ title: '采购价',field: 'PurchaseDecimal',editor:'validatebox',width:70},
{ title: '零售价',field: 'CommodityDecimal',editor:'validatebox',width:70},
{ title: '销售价',field: 'WholesaleDecimal',editor:'validatebox',width:70},
{ title: '最低售价',field: 'LowDecimal',editor:'validatebox',width:70},
]],
toolbar:[
{
id:'append',
text:'新增',
iconCls:'icon-add',
handler:function()
{
append(1); //新增
}
},
{
id:'delete',
text:'删除',
iconCls:'icon-remove',
handler:function()
{
removeit(); //删除
}
},
{
id:'reject',
text:'撤销',
iconCls:'icon-undo',
handler:function()
{
reject(); //撤销
}
},
{
id:'tips',
text:'【注意:基础单位必须排在第一个】'
}
],
onBeforeDrag : function(row) {
//首次进来可以拖动
if (editIndex !== undefined) {
return false;
}
},
onLoadSuccess:function(){
$(this).datagrid('enableDnd');
},
onLoadError:function()
{
$.messager.alert('页面加载提示','页面加载异常,请稍后再试!','error');
return;
}
});
$.ajax({
type:"get",
url: '/materialsExtend/getDetailList',
data: {
materialId: materialId
},
dataType: "json",
success: function (res) {
if(res && res.code === 200) {
$("#materialExtendData").datagrid('loadData',res.data);
if(type === "add") {
$("#materialDlg #append").click(); //新增行
} else if(type === "edit") {
if(res.data.rows.length>0){
editIndex = 0;
$('#materialExtendData').datagrid('selectRow', 0).datagrid('beginEdit', 0);
}
}
}
},
error:function() {
$.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error');
}
});
}
//检查商品名称是否存在 ++ 重名无法提示问题需要跟进
function checkIsExist() {
var mName = $.trim($("#Name").val());
var mModel = $.trim($("#Model").val());
var mColor = $.trim($("#Color").val());
var mStandard = $.trim($("#Standard").val());
var mMfrs = $.trim($("#Mfrs").val());
var mOtherField1 = $.trim($("#OtherField1").val());
var mOtherField2 = $.trim($("#OtherField2").val());
var mOtherField3 = $.trim($("#OtherField3").val());
var mUnit = $.trim($("#Unit").val());
var mUnitId = $.trim($("#manyUnit").val());
//表示是否存在 true == 存在 false = 不存在
var flag = false;
//开始ajax名称检验不能重名(新增或编辑)
if (materialID == 0 || (materialID != 0 && (mName != oldName || mModel != oldModel
|| mColor != oldColor || mStandard != oldStandard || mMfrs != oldMfrs
|| mOtherField1 != oldOtherField1 || mOtherField2 != oldOtherField2 || mOtherField3 != oldOtherField3
|| mUnit != oldUnit || mUnitId != oldManyUnit))) {
$.ajax({
type: "get",
url: "/material/checkIsExist",
dataType: "json",
async: false,
data: ({
id: materialID,
name: mName,
model: mModel,
color: mColor,
standard: mStandard,
mfrs: mMfrs,
otherField1: mOtherField1,
otherField2: mOtherField2,
otherField3: mOtherField3,
unit: mUnit,
unitId: mUnitId
}),
success: function (res) {
if(res && res.code === 200) {
if(res.data && res.data.status) {
flag = res.data.status;
if (flag) {
$.messager.alert('提示', '商品信息已经存在', 'info');
return;
}
}
}
},
//此处添加错误处理
error: function () {
$.messager.alert('提示', '检查商品信息是否存在异常,请稍后再试!', 'error');
return;
}
});
}
return flag;
}
//保存信息
$("#saveMaterial").off("click").on("click", function () {
if (!$('#Name').val()) {
$.messager.alert('提示', '名称不能为空!', 'warning');
return;
}
if(!$("#Unit").val() && !$("#manyUnit").val()) {
$.messager.alert('提示', '单位为必填项!', 'warning');
return;
}
if ($("#materialExtendData").datagrid('getRows').length==0){
$.messager.alert('提示', '请录入条码及相关信息!', 'warning');
return;
}
if (checkIsExist()) {
return;
}
var objInfo = $("#materialFM").serializeObject();
objInfo.UnitId = $("#manyUnit").val();
objInfo.CategoryId =$("#parentId").val();
//初始库存信息
var stockArr = [];
$("#initDepot input").each(function () {
var id = $(this).attr("data-id");
var val = $(this).val();
var stockObj = {};
stockObj.depotId = id;
stockObj.number = val;
stockArr.push(stockObj);
});
objInfo = accept(objInfo); //商品价格扩展
objInfo.stock = JSON.stringify(stockArr);
$.ajax({
type: "post",
url: url,
dataType: "json",
async: false,
data: ({
info: JSON.stringify(objInfo)
}),
success: function(res) {
if(res && res.code === 200) {
$('#materialDlg').dialog('close');
//加载完以后重新初始化
var opts = $("#tableData").datagrid('options');
showMaterialDetails(opts.pageNumber, opts.pageSize);
}
},
//此处添加错误处理
error: function () {
$.messager.alert('提示', '保存商品信息异常,请稍后再试!', 'error');
return;
}
});
});
var mId = 0, mName = "";
//根据id查询类型信息
function findByTypeId(Id) {
$.ajax({
type: "get",
url: "/materialCategory/findById",
data: ({
id: Id
}),
//设置为同步
async: false,
dataType: "json",
success: function (res) {
if(res && res.code === 200) {
mId = res.data.parentId;
mName = res.data.name;
}
}
});
}
//编辑信息
function editMaterial(index) {
var rowsdata = $("#tableData").datagrid("getRows")[index];
bindMProperty(); //根据商品属性绑定
$("#Name").focus().textbox("setValue", rowsdata.name);
$("#EnableSerialNumber").val(rowsdata.enableSerialNumber=='1'?'1':'0');
//商品类别id
$("#parentId").val(rowsdata.categoryId);
//商品类别名称
$("#parentName").textbox("setValue", rowsdata.categoryName);
mId = rowsdata.categoryId;
mName = rowsdata.categoryName;
$("#SafetyStock").textbox("setValue", rowsdata.safetyStock);
$("#Model").textbox("setValue", rowsdata.model);
$("#Standard").val(rowsdata.standard);
$("#Color").val(rowsdata.color);
$("#Mfrs").val(rowsdata.mfrs);
$("#OtherField1").val(rowsdata.otherField1);
$("#OtherField2").val(rowsdata.otherField2);
$("#OtherField3").val(rowsdata.otherField3);
$("#Unit").val(rowsdata.unit);
$("#Unit").off("keyup").on("keyup", function () {
var unitInfo = $(this).val();
var body =$("#materialFM .datagrid-view2 .datagrid-body");
var input = "input[type=text]";
body.find("[field='CommodityUnit']").find(input).val(unitInfo);
});
$("#Remark").textbox("setValue", rowsdata.remark);
$("#manyUnit").val(rowsdata.unitId);
if (rowsdata.unitId) {
$("#manyUnitCheck").prop("checked", true);
//当前为选中状态
$("#Unit").hide();
$("#manyUnit").show();
}
else {
$("#manyUnitCheck").prop("checked", false);
//当前为不选中状态
$("#Unit").show();
$("#manyUnit").hide();
}
initTableDataExtend('edit',rowsdata.id);
oldName = rowsdata.name;
oldModel = rowsdata.model;
oldColor = rowsdata.color;
oldStandard = rowsdata.standard;
oldMfrs = rowsdata.mfrs;
oldOtherField1 = rowsdata.otherField1;
oldOtherField2 = rowsdata.otherField2;
oldOtherField3 = rowsdata.otherField3;
oldUnit = rowsdata.unit;
oldManyUnit = rowsdata.unitId;
$('#materialDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/pencil.png"/>&nbsp;编辑商品信息');
$(".window-mask").css({width: webW, height: webH});
if(!isShowOpFun()){
$("#saveMaterial").hide();
}
materialID = rowsdata.id;
//焦点在名称输入框==定焦在输入文字后面
$("#Name").val("").focus().val(rowsdata.name);
//选中基本资料tab
$("#materialFM #tt .tabs li").first().click();
url = '/material/update?id=' + rowsdata.id;
initDepotList(rowsdata.id, "edit"); //加载仓库列表页面
}
function initDepotList(mId, type) {
$.ajax({
type: "get",
url: "/depot/getAllListWithStock?mId=" + mId,
dataType: "json",
async: false,
success: function (res) {
if (res && res.code == 200) {
var json = {};
json.depotList = res.data;
if(type == "edit"){
$.ajax({
type: "get",
url: "../../../pages/template/init_depot_list.html?2121",
async: false,
success: function (tem) {
if (tem) {
var template = Handlebars.compile(tem);
var htmlValue = template(json);
$("#initDepot").html(htmlValue);
}
}
});
} else if(type == "show"){
$.ajax({
type: "get",
url: "../../../pages/template/init_depot_show_list.html?555",
async: false,
success: function (tem) {
if (tem) {
var template = Handlebars.compile(tem);
var htmlValue = template(json);
$("#initDepotShow").html(htmlValue);
}
}
});
}
}
}
});
}
//搜索处理
$("#searchBtn").unbind().bind({
click: function () {
showMaterialDetails(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 showMaterialDetails(pageNo, pageSize) {
var barCode = $.trim($("#searchBarCode").val());
var name = $.trim($("#searchName").combobox("getValue"));
var standard = $.trim($("#searchStandard").val());
var model = $.trim($("#searchModel").val());
$.ajax({
type: "get",
url: "/material/list",
dataType: "json",
data: ({
search: JSON.stringify({
barCode: barCode,
name: name,
standard: standard,
model: model,
categoryIds: types,
mpList: mPropertyListShort
}),
currentPage: pageNo,
pageSize: pageSize
}),
success: function (res) {
if(res && res.code === 200){
if(res.data && res.data.page) {
$("#tableData").datagrid('loadData', res.data.page);
}
}
},
//此处添加错误处理
error: function () {
$.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error');
return;
}
});
}
//重置按钮
$("#searchResetBtn").unbind().bind({
click: function () {
$("#searchBarCode").textbox("clear");
$("#searchParentName").textbox("clear");
$("#searchParentId").val("");
$("#searchName").combobox("clear");
$("#searchStandard").textbox("clear");
$("#searchModel").textbox("clear");
types = ""; //清空类别
//加载完以后重新初始化
$("#searchBtn").click();
}
});
//绑定事件
function bindEvent() {
//下拉绑定事件
$.ajax({
type: "get",
url: "/unit/list",
dateType: "json",
data: ({
currentPage: 1,
pageSize: 100
}),
success: function (res) {
res = JSON.parse(res);
if(res && res.code === 200){
if(res.data && res.data.page) {
res = res.data.page.rows;
var options = "";
console.log(res.length);
if (res.length) {
for (var i = 0; i < res.length; i++) {
options += '<option value="' + res[i].id + '">' + res[i].name + '</option>';
}
$("#manyUnit").empty().append('<option value="">(空)</option>').append(options);
//下拉框事件
$("#manyUnit").off("change").on("change", function () {
var selectItem = $(this).children('option:selected').text();
});
}
}
}
},
error: function () {
$.messager.alert('查询提示', '查询数据后台异常,请稍后再试!', 'error');
return;
}
});
//导入excel表格
$("#saveimport").off("click").on("click", function () {
if ($("#materialFile").val().length == 0) {
$.messager.alert('提示', '请选择文件!', 'info');
return;
}
$("#importExcelFM").submit();
$('#importExcelDlg').dialog('close');
$.messager.progress({
title: '请稍候',
msg: '数据处理ing...'
});
setTimeout(function () {
$.messager.progress('close');
var opts = $("#tableData").datagrid('options');
showMaterialDetails(opts.pageNumber, opts.pageSize);
}, 3300);
});
}
//商品类别选择
function materialCategoryDlgFun() {
$('#forSelectMaterialCategoryDlg').dialog({
title: '商品类别选择',
width: webW/2,
height: webH/2,
closed: false,
cache: false,
href: '/pages/materials/materialcategory_forselect.html',
modal: true,
resizable:true
});
}
//查询父级商品类别
$("#lookForSelectMaterialCategory").on("click", function () {
clickType = "selectBtn";
materialCategoryDlgFun();
});
$("#lookForMaterialCategory").on("click", function () {
clickType = "editBtn";
materialCategoryDlgFun();
});
//单击
function onClickRow(index) {
if (editIndex != index) {
if (endEditing()) {
$('#materialExtendData').datagrid('selectRow', index)
.datagrid('beginEdit', index);
editIndex = index;
} else {
$('#materialExtendData').datagrid('selectRow', editIndex);
}
}
}
//结束编辑
function endEditing() {
if (editIndex == undefined) { return true }
if ($('#materialExtendData').datagrid('validateRow', editIndex)) {
$('#materialExtendData').datagrid('endEdit', editIndex);
editIndex = undefined;
return true;
} else {
return false;
}
}
//新增
function append(type) {
if (endEditing()) {
$('#materialExtendData').datagrid('appendRow', {});
editIndex = $('#materialExtendData').datagrid('getRows').length - 1;
$('#materialExtendData').datagrid('selectRow', editIndex).datagrid('beginEdit', editIndex);
var ed = $('#materialExtendData').datagrid('getEditor', {index:editIndex,field:'BarCode'});
if(type ==1) {
if(thisBarCode) {
thisBarCode = Number(thisBarCode)+1;
} else {
thisBarCode = "1000";
}
}
$(ed.target).val(thisBarCode);
}
}
//查询最新条码
function getMaxBarCode(){
var barCode = "";
$.ajax({
type:"get",
url: '/material/getMaxBarCode',
async: false,
dataType: "json",
success: function (res) {
if(res && res.code === 200) {
barCode = res.data.barCode;
}
},
error:function() {
$.messager.alert('查询提示','查询数据后台异常,请稍后再试!','error');
}
});
return barCode;
}
//删除
function removeit() {
if (editIndex == undefined) { return }
$('#materialExtendData').datagrid('cancelEdit', editIndex)
.datagrid('deleteRow', editIndex);
editIndex = undefined;
}
//撤销
function reject() {
$('#materialExtendData').datagrid('rejectChanges');
editIndex = undefined;
}
//判断
function CheckData() {
var row = $('#materialExtendData').datagrid('getRows');
var totalRowNum = "";
var totalBarCodeOverNum = "";
for (var i = 0; i < row.length; i++) {
if (row[i].BarCode == "") {
totalRowNum += (i + 1) + "";
}
if (row[i].CommodityUnit == "") {
totalRowNum += (i + 1) + "";
}
if (row[i].BarCode.length > 15) {
totalBarCodeOverNum += (i + 1) + "";
}
}
if (totalRowNum != "") {
var totalRowNum = totalRowNum.substring(0, totalRowNum.length - 1);
$.messager.alert('提示',"" + totalRowNum + "行数据填写不完整",'info');
return false;
}
if (totalBarCodeOverNum != "") {
var totalBarCodeOverNum = totalBarCodeOverNum.substring(0, totalBarCodeOverNum.length - 1);
$.messager.alert('提示',"" + totalBarCodeOverNum + "行条码长度超过15位",'info');
return false;
}
return true;
}
//商品价格扩展
function accept(objInfo) {
append(0);
removeit();
//在更新商品信息的时候更新排序
var sortList = [];
//判断单位是否填写正确
var meList = $("#materialExtendData").datagrid('getRows');
var unit = $("#Unit").val();
var manyUnitselected = $("#manyUnit").find("option:selected").text();
if(!unit) {
//此时为多单位
if (meList.length<2){
$.messager.alert('提示',"多单位的商品条码行数至少要有两行请再新增一行条码信息",'warning');
return;
}
}
for(var i=0; i<meList.length; i++) {
var commodityUnit = meList[i].CommodityUnit;
if(unit) {
if(commodityUnit != unit) {
$.messager.alert('提示', '条码之后的单位填写有误,单位<b>' + commodityUnit + '</b>请修改为<b>' + unit + '</b>', 'warning');
return;
}
} else if(manyUnitselected) {
var manyUnitInfo = manyUnitselected.substring(0, manyUnitselected.indexOf("("));
var unitArr = manyUnitInfo.split(",");
if(commodityUnit != unitArr[0] && commodityUnit != unitArr[1]) {
$.messager.alert('提示', '条码之后的单位填写有误,单位<b>' + commodityUnit + '</b>请修改为' +
'<b>' + unitArr[0]+ '</b>或<b>' + unitArr[1]+ '</b>', 'warning');
return;
}
}
}
for(var i=0; i<meList.length;i++) {
var sortObj = {};
if(meList[i].Id) {
sortObj.id=meList[i].Id;
if(i==0) {
sortObj.defaultFlag=1;
} else {
sortObj.defaultFlag=0;
}
sortList.push(sortObj);
}
}
objInfo.sortList = sortList;
if ($("#materialExtendData").datagrid('getChanges').length) {
if (!CheckData())
return false;
objInfo.inserted = $("#materialExtendData").datagrid('getChanges', "inserted");
objInfo.deleted = $("#materialExtendData").datagrid('getChanges', "deleted");
objInfo.updated = $("#materialExtendData").datagrid('getChanges', "updated");
}
if (endEditing()) {
$('#materialExtendData').datagrid('acceptChanges');
}
return objInfo;
}
</script>
</body>
</html>