Files
jshERP/erp_web/pages/manage/depot.html
2020-06-23 23:48:56 +08:00

631 lines
24 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"/>
<link rel="stylesheet" type="text/css" href="/js/easyui/themes/default/easyui.css"/>
<link rel="stylesheet" type="text/css" href="/js/easyui/themes/icon.css"/>
<link type="text/css" rel="stylesheet" href="/css/common.css"/>
<script type="text/javascript" src="/js/jquery-1.8.0.min.js"></script>
<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/common/common.js"></script>
</head>
<body>
<!-- 数据显示table -->
<div id="tablePanel" class="easyui-panel" data-options="fit:true" style="padding:1px;top:300px;" title="仓库列表" iconCls="icon-list">
<div class="box-body form-inline">
<div class="form-group">
<label class="control-label">仓库名称:</label>
<div class="control-inline">
<input type="text" id="searchName" name="searchName" 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="searchRemark" name="searchRemark" 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="depotDlg" class="easyui-dialog" style="width:380px;padding:10px 20px"
closed="true" buttons="#dlg-buttons" modal="true" collapsible="false" closable="true">
<form id="depotFM" method="post" novalidate>
<table>
<tr>
<td>仓库名称</td>
<td style="padding:5px">
<input name="name" id="name" type="text" class="easyui-textbox"
data-options="required:true,validType:'length[2,30]'" style="width: 230px;"/>
</td>
</tr>
<tr>
<td>仓库地址</td>
<td style="padding:5px">
<input name="address" id="address" class="easyui-textbox"
data-options="validType:'length[2,30]'" style="width: 230px;"/>
</td>
</tr>
<tr>
<td>仓储费</td>
<td style="padding:5px">
<input name="warehousing" id="warehousing" class="easyui-numberbox" data-options="min:0,precision:2"
style="width: 175px;"/>&nbsp;元/天/KG
</td>
</tr>
<tr>
<td>搬运费</td>
<td style="padding:5px">
<input name="truckage" id="truckage" class="easyui-numberbox" placeholder="如上下搬运20元,则填写10元"
data-options="min:0,precision:2" style="width: 200px;"/>&nbsp;元
</td>
</tr>
<tr>
<td>负责人</td>
<td style="padding:5px">
<input name="principalName" id="principalName" class="easyui-textbox"
style="width: 200px;" readonly="readonly"/>
<a href="javascript:void(0)" class="l-btn l-btn-plain" group="" id="lookForSelectUser">
<span class="l-btn-left"><span class="l-btn-text icon-search l-btn-icon-left" style="height: 20px;"></span></span></a>
<input name="principal" id="principal" type="hidden"/>
<input name="selectType" id="selectType" type="hidden"/>
</td>
</tr>
<tr>
<td>排序</td>
<td style="padding:5px">
<input name="sort" id="sort" class="easyui-textbox" style="width: 230px;"/>
</td>
</tr>
<tr>
<td>描述</td>
<td style="padding:5px">
<input name="remark" id="remark" class="easyui-textbox" data-options="multiline:true" style="width: 230px;height: 40px;"/>
</td>
</tr>
</table>
</form>
</div>
<div id="dlg-buttons">
<a href="javascript:void(0)" id="saveDepot" class="easyui-linkbutton" iconCls="icon-ok">保存</a>
<a href="javascript:void(0)" id="cancelDepot" class="easyui-linkbutton" iconCls="icon-cancel"
onclick="javascript:$('#depotDlg').dialog('close')">取消</a>
</div>
<div id="forSelectUserDlg" class="easyui-dialog" style="width:380px;padding:10px 20px"
closed="true" modal="true" cache="false" collapsible="false" closable="true">
</div>
<script type="text/javascript">
//初始化界面
$(function () {
initTableData();
ininPager();
initForm();
});
//防止表单提交重复
function initForm() {
$('#depotFM').form({
onSubmit: function () {
return false;
}
});
}
/**
* 2019-03-08
* 对于undefined字段直接拼接不友好的情况做特殊处理
* 将undefined转为''后再拼接
* */
function transferUndefined(obj){
if(obj==undefined){
return '';
}
return obj;
}
//初始化表格数据
function initTableData() {
$('#tableData').datagrid({
//title:'仓库列表',
//iconCls:'icon-save',
//width:700,
height: heightInfo,
nowrap: false,
rownumbers: false,
//动画效果
animate: false,
//选中单行
singleSelect: true,
collapsible: false,
selectOnCheck: false,
//fitColumns:true,
//单击行是否选中
checkOnSelect: false,
pagination: true,
//交替出现背景
striped: true,
//loadFilter: pagerFilter,
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="editDepot(\'' + index + '\');"/>&nbsp;&nbsp;&nbsp;';
str += '<img title="删除" src="/js/easyui/themes/icons/edit_remove.png" style="cursor: pointer;" onclick="deleteDepot(' + rec.id + ');"/>';
return str;
}
},
{title: '仓库名称', field: 'name', width: 200},
{title: '仓库地址', field: 'address', width: 200},
{title: '仓储费', field: 'warehousing', width: 60},
{title: '搬运费', field: 'truckage', width: 60},
{title: '负责人', field: 'principalName', width: 60},
{title: '排序', field: 'sort', width: 60},
{
title: '是否默认', field: 'isDefault', width: 100, align: "center",
formatter: function (value, rec) {
if (rec.isDefault) {
return "<span style='color:green'></span>";
}
else {
return "";
}
}
},
{title: '描述', field: 'remark', width: 120}
]],
toolbar: [
{
id: 'addDepot',
text: '增加',
iconCls: 'icon-add',
handler: function () {
addDepot();
}
},'-',
{
id: 'deleteDepot',
text: '删除',
iconCls: 'icon-remove',
handler: function () {
batDeleteDepot();
}
},'-',
{
id: 'setDepotIsDefault',
text: '设为默认',
iconCls: 'icon-ok',
handler: function () {
setDepotIsDefault();
}
}
],
onLoadError: function () {
$.messager.alert('页面加载提示', '页面加载异常,请稍后再试!', 'error');
return;
}
});
dgResize();
showDepotDetails(1, initPageSize);
}
//初始化键盘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 == "name" || obj.id == "sort" || obj.id == "remark")) {
$("#saveDepot").click();
}
//搜索按钮添加快捷键
if (k == "13" && (obj.id == "searchName" || obj.id == "searchRemark")) {
$("#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
});
showDepotDetails(pageNum, pageSize);
}
});
}
catch (e) {
$.messager.alert('异常处理提示', "分页信息异常 : " + e.name + ": " + e.message, 'error');
}
}
//删除仓库信息
function deleteDepot(depotID) {
$.messager.confirm('删除确认', '确定要删除此仓库信息吗?', function (r) {
if (r) {
$.ajax({
type: "post",
url: "/depot/batchDeleteDepotByIds",
dataType: "json",
data: ({
ids: depotID
}),
success: function (res) {
if(res && res.code == 200) {
$("#searchBtn").click();
} else {
if(res && res.code == 601){
var jsondata={};
jsondata.ids=depotID;
jsondata.deleteType='2';
var type='single';
batDeleteDepotForceConfirm(res,"/depot/batchDeleteDepotByIds",jsondata,type);
}else if(res && res.code == 600){
$.messager.alert('删除提示', res.msg, 'error');
}else{
$.messager.alert('删除提示', '删除仓库信息异常,请稍后再试!', 'error');
}
}
},
//此处添加错误处理
error: function () {
$.messager.alert('删除提示', '删除仓库信息异常,请稍后再试!', 'error');
return;
}
});
}
});
}
//设为默认操作事件
function setDepotIsDefault() {
var allRow = $('#tableData').datagrid('getRows');
var row = $('#tableData').datagrid('getChecked');
if (row.length == 0) {
$.messager.alert('设置提示', '没有记录被选中!', 'info');
return;
}
if (row.length > 0) {
function setDefault(depotID, isDefault) {
$.ajax({
type: "post",
url: "/depot/updateDepotIsDefault",
dataType: "json",
async: false,
data: ({
depotID: depotID,
isDefault: isDefault
}),
success: function (res) {
if (res == "true" && isDefault) {
}
},
//此处添加错误处理
error: function () {
$.messager.alert('提示', '设为默认账户异常,请稍后再试!', 'error');
return;
}
});
}
if (row.length == 1) {
setDefault(row[0].id, true); //设置默认
for (var i = 0; i < allRow.length; i++) {
if (allRow[i].id != row[0].id) {
setDefault(allRow[i].id, false);
}
}
setTimeout(function () {
$("#searchBtn").click();
}, 1000);
}
return;
}
}
//批量删除仓库
function batDeleteDepot() {
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: "/depot/batchDeleteDepotByIds",
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';
batDeleteDepotForceConfirm(res,"/depot/batchDeleteDepotByIds",jsondata,type);
}else if(res && res.code == 600){
$.messager.alert('删除提示', res.msg, 'error');
}else{
$.messager.alert('删除提示', '删除仓库信息异常,请稍后再试!', 'error');
}
}
},
//此处添加错误处理
error: function () {
$.messager.alert('删除提示', '删除仓库信息异常,请稍后再试!', 'error');
return;
}
});
}
});
}
}
/**
* 确认强制删除
* */
function batDeleteDepotForceConfirm(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;
}
});
}
});
}
//增加
var url;
var depotID = 0;
//保存编辑前的名称
var oldDepot = "";
function addDepot() {
if(checkPower()){
return;
}
$('#depotDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/edit_add.png"/>&nbsp;增加仓库信息');
$(".window-mask").css({width: webW, height: webH});
$('#depotFM').form('clear');
$("#name").focus();
$("#selectType").val("principal");
oldDepot = "";
depotID = 0;
url = '/depot/add';
}
//保存信息
$("#saveDepot").off("click").on("click", function () {
if(!$('#depotFM').form('validate')){
return;
}
if (checkDepotName()) {
return;
}
var infoObj = $("#depotFM").serializeObject();
infoObj.type = 0;
$.ajax({
url: url,
type: "post",
dataType: "json",
data: ({
info: JSON.stringify(infoObj)
}),
success: function(res) {
if(res && res.code === 200) {
$('#depotDlg').dialog('close');
//加载完以后重新初始化
var opts = $("#tableData").datagrid('options');
showDepotDetails(opts.pageNumber, opts.pageSize);
}
},
//此处添加错误处理
error: function () {
$.messager.alert('提示', '保存仓库信息异常,请稍后再试!', 'error');
return;
}
});
});
//编辑信息
function editDepot(index) {
var rowsdata = $("#tableData").datagrid("getRows")[index];
$("#name").textbox("setValue", rowsdata.name);
$("#sort").textbox("setValue", rowsdata.sort);
$("#remark").textbox("setValue", rowsdata.remark);
$("#address").textbox("setValue", rowsdata.address);
$("#warehousing").textbox("setValue", rowsdata.warehousing);
$("#truckage").textbox("setValue", rowsdata.truckage);
$("#principalName").textbox("setValue", rowsdata.principalName);
$("#principal").val(rowsdata.principal);
$("#selectType").val("principal");
oldDepot = rowsdata.name;
$('#depotDlg').dialog('open').dialog('setTitle', '<img src="/js/easyui/themes/icons/pencil.png"/>&nbsp;编辑仓库信息');
$(".window-mask").css({width: webW, height: webH});
depotID = rowsdata.id;
url = '/depot/update?id=' + rowsdata.id;
}
//检查名称是否存在 ++ 重名无法提示问题需要跟进
function checkDepotName() {
var name = $.trim($("#name").val());
//表示是否存在 true == 存在 false = 不存在
var flag = false;
//开始ajax名称检验不能重名
if (name.length > 0 && (oldDepot.length == 0 || name != oldDepot)) {
$.ajax({
type: "get",
url: "/depot/checkIsNameExist",
dataType: "json",
async: false,
data: ({
id: depotID,
name: name
}),
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;
}
//搜索处理
$("#searchBtn").unbind().bind({
click: function () {
showDepotDetails(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 showDepotDetails(pageNo, pageSize) {
var name = $.trim($("#searchName").val());
var type = 0; //仓库
var remark = $.trim($("#searchRemark").val());
$.ajax({
type: "get",
url: "/depot/list",
dataType: "json",
data: ({
search: JSON.stringify({
name: name,
type: type,
remark: remark
}),
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 () {
$("#searchName").textbox("setValue","");
$("#searchRemark").textbox("setValue","");
//加载完以后重新初始化
$("#searchBtn").click();
}
});
//查看单元(设置)
$('#setBuilding').click(function () {
var currentRow = $("#tableData").datagrid("getChecked");
if (currentRow.length == 0) {
$.messager.alert('提示',"请选择一条数据再操作",'warning');
return false;
}
parent.addTab(currentRow[0].id + "单元", "/pages/materials/building.jsp?ProjectId=" + currentRow[0].id, "");
});
//查询负责人信息
$("#lookForSelectUser").on("click", function () {
$('#forSelectUserDlg').dialog({
title: '负责人选择',
width: webW/2,
height: webH/2,
closed: false,
cache: false,
href: '/pages/manage/user_forselect.html',
modal: true,
resizable:true
});
});
</script>
</body>
</html>