You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
470 lines
18 KiB
470 lines
18 KiB
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ZPPlan.aspx.cs" Inherits="MESWebSite.Manage.ZPPlan" %>
|
|
|
|
<!DOCTYPE html>
|
|
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head runat="server">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
<link href="/CSS/Basics.css" rel="stylesheet" />
|
|
<link href="/Scripts/jquery-easyui-1.4.3/themes/metro/easyui.css" rel="stylesheet" type="text/css" />
|
|
<link href="/Scripts/jquery-easyui-1.4.3/themes/icon.css" rel="stylesheet" type="text/css" />
|
|
<link href="/Scripts/jquery-easyui-1.4.3/themes/color.css" rel="stylesheet" type="text/css" />
|
|
<script src="/Scripts/jquery-easyui-1.4.3/jquery.min.js" type="text/javascript"></script>
|
|
<script src="/Scripts/jquery-easyui-1.4.3/jquery.easyui.min.js" type="text/javascript"></script>
|
|
<script src="/Scripts/jquery-easyui-1.4.3/locale/easyui-lang-zh_CN.js" type="text/javascript"></script>
|
|
<script src="/Scripts/MyJs.js" type="text/javascript"></script>
|
|
<style>
|
|
#w td {
|
|
padding: 5px 5px;
|
|
text-align: left;
|
|
vertical-align: middle;
|
|
}
|
|
|
|
#w .title {
|
|
vertical-align: middle;
|
|
text-align: right;
|
|
width: 80px;
|
|
height: 40px;
|
|
}
|
|
|
|
p {
|
|
padding: 5px;
|
|
font-size: small;
|
|
font-family: 微软雅黑;
|
|
}
|
|
|
|
.datagrid {
|
|
text-align: center;
|
|
}
|
|
|
|
.search_first{
|
|
margin-left: 15%
|
|
}
|
|
|
|
/* 中等屏幕 桌面显示器 992至1400 */
|
|
@media screen and (min-width:992px) and (max-width:1400px){
|
|
.search_first{
|
|
margin-left: 17%
|
|
}
|
|
|
|
}
|
|
</style>
|
|
<title>装配计划</title>
|
|
</head>
|
|
<body>
|
|
<form id="form1" runat="server">
|
|
<div class="top">
|
|
<table style="width: 100%">
|
|
<tr style="display: flex;flex-direction: row; flex-wrap: wrap;">
|
|
<td><span class="title" style="width: 120px">装配计划</span></td>
|
|
<td style="width: 100px;"></td>
|
|
<td style="width: 260px;"> 零件号:
|
|
<input type="text" id="part_no_s" style="width: 140px;"/>
|
|
</td>
|
|
<td style="width: 380px;"> 装配日期:
|
|
<input id="start_time" class="easyui-datebox" style="width: 130px; height: 30px;" data-options="required:false" />
|
|
<input id="end_time" class="easyui-datebox" style="width: 130px; height: 30px;" data-options="required:false" />
|
|
</td>
|
|
|
|
<td style="width: 80px;"><a class="topsearchBtn">查询</a></td>
|
|
|
|
<td style="width: 80px;">
|
|
<a class="topaddBtn">新增</a>
|
|
</td>
|
|
<td style="width: 80px;">
|
|
<a class="toppenBtn">编辑</a>
|
|
</td>
|
|
<td style="width: 80px;">
|
|
<a class="topdelBtn">删除</a>
|
|
</td>
|
|
<td style="width: 80px;">
|
|
<a class="topexcelBtn">导出</a>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<table id="tb" title="装配计划" style="width: 99%;">
|
|
</table>
|
|
<!-- 编辑窗口 -->
|
|
<div id="w" style="padding: 10px; visibility: hidden" title="编辑">
|
|
<table cellpadding="0" cellspacing="0">
|
|
<%--<tr>
|
|
<td class="title" style="width: 110px;">
|
|
<p>
|
|
工位编号:
|
|
</p>
|
|
</td>
|
|
<td colspan="2">
|
|
<select id="station_no" class="easyui-combobox" style="width: 200px; height: 30px;"
|
|
data-options="valueField: 'StationID',textField: 'StationNo'">
|
|
</select>
|
|
</td>
|
|
</tr>--%>
|
|
<tr>
|
|
<td class="title" style="width: 110px;">
|
|
<p>
|
|
产品名称:
|
|
</p>
|
|
</td>
|
|
<td colspan="2">
|
|
<select id="part_no" class="easyui-combobox" style="width: 200px; height: 30px;"
|
|
data-options="valueField: 'PartNo',textField: 'ProductName'">
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<%-- <tr>
|
|
<td class="title" style="width: 110px;">
|
|
<p>
|
|
一模多具:
|
|
</p>
|
|
</td>
|
|
<td colspan="2">
|
|
<input type="checkbox" name="IsOneMore" id="IsOneMore" value="0" />
|
|
</td>
|
|
</tr>--%>
|
|
<tr>
|
|
<td class="title" style="width: 110px;">
|
|
<p>
|
|
计划数量:
|
|
</p>
|
|
</td>
|
|
<td colspan="2">
|
|
<input id="OrderCount" type="text" class="text" style="width: 230px; height: 30px;" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="title" style="width: 110px;">
|
|
<p>
|
|
装配日期:
|
|
</p>
|
|
</td>
|
|
<td>
|
|
<input id="OrderDate" class="easyui-datebox" style="width: 180px; height: 30px;" data-options="required:true" />
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
</div>
|
|
<!-- 编辑窗口 - footer -->
|
|
<div id="ft" style="padding: 10px; text-align: center; background-color: #f9f9f9; visibility: hidden">
|
|
<a class="saveBtn" id="saveBtn">保存</a>
|
|
</div>
|
|
|
|
<div hidden="hidden">
|
|
<asp:Label ID="lblMessage" runat="server" Text=""></asp:Label>
|
|
</div>
|
|
<input id="UserID" type="text" hidden="hidden" runat="server" />
|
|
<script>
|
|
|
|
/**************** 全局变量 ***************/
|
|
var PrimaryID; //要编辑的id
|
|
var dg = $('#tb'); //表格
|
|
var isEdit = false; //是否为编辑状态
|
|
var handlerUrl = "/HttpHandlers/ZPPlanHandler.ashx";
|
|
|
|
/**************** DOM加载 ***************/
|
|
$(function () {
|
|
$.ajaxSetup({
|
|
cache: false //关闭AJAX缓存
|
|
});
|
|
|
|
// 下拉框加载
|
|
//reload_station_no('#station_no');
|
|
reload_part_no('#part_no');
|
|
//新增按钮点击
|
|
$('.topaddBtn').first().click(function () {
|
|
isEdit = false;
|
|
$('#w').window('open');
|
|
});
|
|
|
|
//编辑按钮点击
|
|
$('.toppenBtn').first().click(function () {
|
|
isEdit = true;
|
|
initEidtWidget();
|
|
});
|
|
|
|
//删除按钮
|
|
$('.topdelBtn').first().click(function () {
|
|
$.messager.confirm('提示框', '你确定要删除吗?', function (r) {
|
|
if (r) {
|
|
deleteInfos();
|
|
}
|
|
});
|
|
|
|
});
|
|
|
|
$('.topexcelBtn').first().click(function () {
|
|
var StartTime = $('#start_time').datebox('getValue');
|
|
var EndTime = $('#end_time').datebox('getValue');
|
|
|
|
var queryParams = {
|
|
StartTime,
|
|
EndTime
|
|
};
|
|
|
|
post('<%=ResolveUrl("~/HttpHandlers/ZPPlanHandler.ashx?method=ExportExcel") %>', queryParams);
|
|
});
|
|
|
|
//搜索按钮
|
|
$('.topsearchBtn').first().click(function () {
|
|
SearchInfo();
|
|
});
|
|
|
|
//保存按钮
|
|
$('#saveBtn').bind('click', function () {
|
|
SaveInfo(isEdit);
|
|
});
|
|
|
|
//$('#IsOneMore').change(function() {
|
|
// $('#part_no').combo('clear');
|
|
// reload_part_no('#part_no');
|
|
//})
|
|
|
|
//编辑窗口加载
|
|
$('#w').window({
|
|
modal: true,
|
|
closed: true,
|
|
minimizable: false,
|
|
maximizable: false,
|
|
collapsible: false,
|
|
width: 460,
|
|
height: 520,
|
|
footer: '#ft',
|
|
top: 20,
|
|
onBeforeClose: function () { clearw(); },
|
|
onBeforeOpen: function () {
|
|
$('#w').css('visibility', 'visible'); $('#ft').css('visibility', 'visible');
|
|
}
|
|
|
|
});
|
|
|
|
dg = $('#tb').datagrid({
|
|
fitColumns: true,
|
|
nowrap: false,
|
|
striped: true,
|
|
collapsible: false,
|
|
url: handlerUrl + "?method=QueryList",
|
|
//sortName: 'sortNumber',
|
|
//sortOrder: 'asc',
|
|
remoteSort: false,
|
|
columns: [[
|
|
{ field: 'ID', title: 'ID', hidden: true },
|
|
{ field: 'OrderNo', title: '计划编号', sortable: 'true', width: 10 },
|
|
{ field: 'Item', title: '序号', sortable: 'true', width: 10 },
|
|
//{
|
|
// field: 'IsOneMore', title: '一模多具', sortable: 'true', width: 10,
|
|
// formatter: function (v) {
|
|
// return +v ? '是' : '否'
|
|
// }
|
|
//},
|
|
//{ field: 'StationNo', title: '工位编号', sortable: 'true', width: 10 },
|
|
{ field: 'PartNo', title: '零件编号', sortable: 'true', width: 10 },
|
|
{ field: 'ProductName', title: '产品名称', sortable: 'true', width: 10 },
|
|
{ field: 'OrderCount', title: '计划数量', sortable: 'true', width: 10 },
|
|
{ field: 'ProductCount', title: '生产数量', sortable: 'true', width: 10 },
|
|
{
|
|
field: 'OrderDate', title: '装配日期', sortable: 'true', width: 10,
|
|
formatter: function (date) {
|
|
var pa = /.*\((.*)\)/;
|
|
var unixtime = date.match(pa)[1].substring(0, 10);
|
|
return getTime(unixtime).substring(0, 10);
|
|
}
|
|
}
|
|
]],
|
|
|
|
pagination: true,//表示在datagrid设置分页
|
|
rownumbers: true,
|
|
singleSelect: true
|
|
});
|
|
|
|
dg.datagrid('getPager').pagination({
|
|
pageSize: 10,
|
|
pageNumber: 1,
|
|
pageList: [10, 20, 30, 40, 50],
|
|
beforePageText: '第',//页数文本框前显示的汉字
|
|
afterPageText: '页 共 {pages} 页',
|
|
displayMsg: '当前显示 {from} - {to} 条记录 共 {total} 条记录',
|
|
});
|
|
});
|
|
|
|
/**************** 主要业务程序 ***************/
|
|
//新增 / 编辑
|
|
function SaveInfo(isEdit) {
|
|
|
|
var ID = isEdit == true ? PrimaryID : 0;
|
|
var PartNo = $('#part_no').combo('getValue');
|
|
//var StationID = $('#station_no').combo('getValue');
|
|
var OrderDate = $('#OrderDate').datebox('getValue');
|
|
//var IsOneMore = checkboxValue($('#IsOneMore'));
|
|
var OrderCount = $('#OrderCount').val();
|
|
|
|
if (PartNo == "") {
|
|
$.messager.alert('提示', '零件不能为空,请重新输入', 'warning');
|
|
return;
|
|
}
|
|
//if (StationID == "") {
|
|
// $.messager.alert('提示', '工号不能为空,请重新输入', 'warning');
|
|
// return;
|
|
//}
|
|
|
|
var model = {
|
|
ID,
|
|
PartNo,
|
|
//StationID,
|
|
//IsOneMore,
|
|
OrderDate,
|
|
OrderCount,
|
|
method: 'SaveInfo'
|
|
};
|
|
SaveModel(model);
|
|
}
|
|
function SaveModel(model) {
|
|
$.ajax({
|
|
type: "POST",
|
|
async: false,
|
|
url: handlerUrl,
|
|
data: model,
|
|
dataType: 'json',
|
|
success: function (res) {
|
|
if (res.IsSuccess) {
|
|
$.messager.alert('提示', '已保存', 'info');
|
|
dg.datagrid('reload');
|
|
$('#w').window('close');
|
|
}
|
|
else {
|
|
$.messager.alert('错误', res.Message, 'warning');
|
|
}
|
|
|
|
},
|
|
error: function () {
|
|
}
|
|
});
|
|
}
|
|
//查询方法
|
|
function SearchInfo() {
|
|
|
|
var PartNo = $('#part_no_s').val();
|
|
var StartTime = $('#start_time').datebox('getValue');
|
|
var EndTime = $('#end_time').datebox('getValue');
|
|
|
|
dg.datagrid({
|
|
queryParams: {
|
|
PartNo,
|
|
StartTime,
|
|
EndTime
|
|
}
|
|
});
|
|
|
|
dg.datagrid('reload');
|
|
}
|
|
////编辑时加载窗体数据
|
|
function initEidtWidget() {
|
|
var selRows = dg.datagrid('getSelections');
|
|
if (selRows.length > 1) {
|
|
$.messager.alert('提示', '每次只能编辑一条记录,请重新选取', 'warning');
|
|
return;
|
|
} else if (selRows.length == 0) {
|
|
$.messager.alert('提示', '请选择一条记录进行编辑', 'warning');
|
|
return;
|
|
}
|
|
|
|
//窗体数据初始化
|
|
var row = selRows[0];
|
|
PrimaryID = row.ID;
|
|
$('#part_no').combobox('select', row.PartNo);
|
|
//$('#station_no').combobox('select', row.StationID);
|
|
//toggleChecked('#IsOneMore', row.IsOneMore);
|
|
$('#OrderCount').val(row.OrderCount);
|
|
var pa = /.*\((.*)\)/;
|
|
var unixtime = row.OrderDate.match(pa)[1].substring(0, 10);
|
|
$('#OrderDate').datebox('setValue', getTime(unixtime).substring(0, 10))
|
|
$('#w').window('open');
|
|
}
|
|
//删除方法
|
|
function deleteInfos() {
|
|
var selRows = dg.datagrid('getSelections');
|
|
if (selRows.length > 1) {
|
|
$.messager.alert('提示', '每次只能删除一条记录,请重新选取', 'warning');
|
|
return;
|
|
} else if (selRows.length == 0) {
|
|
$.messager.alert('提示', '请选择一条记录进行删除', 'warning');
|
|
return;
|
|
}
|
|
var row = selRows[0];
|
|
|
|
var model = {
|
|
ID: row.ID,
|
|
method: 'DelInfo'
|
|
};
|
|
|
|
$.ajax({
|
|
url: handlerUrl,
|
|
data: model,
|
|
dataType: 'json',
|
|
async: false,
|
|
success: function (res) {
|
|
if (res.IsSuccess) {
|
|
$.messager.alert('提示', '已删除', 'info');
|
|
dg.datagrid('reload');
|
|
}
|
|
else {
|
|
$.messager.alert('提示', res.Message, 'warning');
|
|
}
|
|
},
|
|
error: function () {
|
|
}
|
|
});
|
|
}
|
|
|
|
/**************** 辅助业务程序 ***************/
|
|
/**********************************************/
|
|
/***************** 窗体程序 *******************/
|
|
/**********************************************/
|
|
//编辑窗口关闭清空数据
|
|
function clearw() {
|
|
$('#part_no').combo('clear');
|
|
//$('#station_no').combo('clear');
|
|
$('#OrderDate').datebox('setValue', '');
|
|
$('#OrderCount').val('');
|
|
//toggleChecked('#IsOneMore', 0)
|
|
}
|
|
|
|
function toggleChecked(id, checked) {
|
|
+checked ? $(id).prop("checked", "checked") : $(id).removeAttr("checked");
|
|
}
|
|
|
|
function checkboxValue(ctl) {
|
|
return ctl.is(':checked') ? 1 : 0;
|
|
}
|
|
/**
|
|
* 加载产品下拉信息
|
|
**/
|
|
function reload_part_no(ctl) {
|
|
base_reload_combobox(ctl, '/HttpHandlers/ProductHandler.ashx?method=GetComboboxProduct4');
|
|
}
|
|
|
|
function reload_station_no(ctl) {
|
|
base_reload_combobox(ctl, '/HttpHandlers/StationHandler.ashx?method=QueryForCombobox&StationNo=ZP');
|
|
}
|
|
|
|
function base_reload_combobox(ctl, url) {
|
|
$(ctl).combobox('reload', url);
|
|
}
|
|
|
|
function post(url, PARAMS) {
|
|
var temp_form = document.createElement("form");
|
|
temp_form.action = url;
|
|
temp_form.target = "_blank";
|
|
temp_form.method = "post";
|
|
temp_form.style.display = "none"; for (var x in PARAMS) {
|
|
var opt = document.createElement("textarea");
|
|
opt.name = x;
|
|
opt.value = PARAMS[x];
|
|
temp_form.appendChild(opt);
|
|
}
|
|
document.body.appendChild(temp_form);
|
|
temp_form.submit();
|
|
}
|
|
</script>
|
|
</form>
|
|
</body>
|
|
</html>
|
|
|