Files
SIPAIIS_WMS_JSSW/bin/WebRoot/jsp/plan/taskOrderDayPlanDetailView.jsp
2026-01-16 14:13:44 +08:00

304 lines
11 KiB
Plaintext

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.sipai.tools.SessionManager"%>
<%
SessionManager sessionManager = new SessionManager();
%>
<!DOCTYPE html>
<html>
<head>
<title></title>
<jsp:include page="/jsp/inc.jsp"></jsp:include>
<script type="text/javascript">
var gridDetail;
var stdt = '${stdt}';
var displaydata;
function SearchData(){
$.getJSON(ext.contextPath +"/plan/taskorder/getTaskOrderDetailDayPlan.do?random="+new Date()+"&stdt="+stdt+"&search_code="+$('#search_code').textbox('getValue'),cb);
}
function cb(data){
sessionStorage.setItem("urldetaildata",JSON.stringify(data));
//console.log("JSON.stringify(data)",JSON.stringify(data));
//console.log("data",data);
initTaskOrderData(pcarrL);
fLoadTable(pcarrL, PAarr);
}
var arr = eval('${result}');//获取后台表头数据
var configColumns = function() {
var columns = [];
// 配置固定列表头
columns.push([{
"title": "任务单编号",
"field": "tasklistcode",
halign:'center',
rowspan: 3
},
{
"title": "工艺号",
"field": "processrealid",
halign:'center',
rowspan: 3
},
{
"title": "工单号",
"field": "workorderno",
halign:'center',
rowspan: 3
},
{
"title": "产品编号",
"field": "productno",
halign:'center',
rowspan: 3
}, {
"title": "计划产量",
"field": "prodamount",
halign:'center',
rowspan: 3
},
//{
// "title": "计划开工日期",
// "field": "pstdate",
// halign:'center',
// rowspan: 3
// }, {
// "title": "计划完工日期",
// "field": "pendate",
// halign:'center',
// rowspan: 3
// },
{
"title": "产量",
colspan: arr.length * 2
}
]);
// 配置表头
columns.push(configDaysAmount());
columns.push(configAPAmount());
return columns;
}
var configDaysAmount = function() {
var daysAmount = [];
for (var i = 0; i < arr.length; i++) {
daysAmount.push({
title:arr[i].procedurename,
field:arr[i].procedurecode,
colspan: 2,
width:100,
halign:'center',
});
}
return daysAmount;
}
// 配置(包含实际和计划)表头的方法
var planvalue;//记录计划的值 用于比对
var configAPAmount = function() {
var APAmount = [];
var currentArr=[];
for (var j = 0; j < 2*arr.length;j++) {
// console.log("sed:",search_days);
var amountobj = {
field: "u"+j,
rowspan: 1,
align: 'center',
title: '计划',
width: '50'
};
if(j%2 == 0){
amountobj.title = "计划";
amountobj.formatter=function(value,row,index){
if (value != ''){
planvalue = value;
return value;
}else{
planvalue = 0;
return 0;
}
};
} else {
amountobj.title = "实际";
amountobj.formatter=function(value,row,index){
if (value == ''){
return 0;
}
else{
return value;
}
};
amountobj.styler= function(value,row,index){
//console.log("planvalue",planvalue);
//console.log("value",value);
if (value-planvalue<0){
return 'color:red;';
}
else if (value-planvalue>0){
return 'color:green;';
}
};
}
currentArr.push(amountobj);
}
APAmount = currentArr;
// 循环日期
return APAmount;
}
//对象的克隆函数
var cloneObj = function(obj) {
var str, newobj = obj.constructor === Array ? [] : {};
if (typeof obj !== 'object') {
return;
} else if (window.JSON) {
str = JSON.stringify(obj), //系列化对象
newobj = JSON.parse(str); //还原
} else {
for (var i in obj) {
newobj[i] = typeof obj[i] === 'object' ?
cloneObj(obj[i]) : obj[i];
}
}
return newobj;
};
var makeData = function(taskprocedure,temArr){
taskprocedure.map( function(ele, index){
if(ele.taskcode != "sss"){
var jj;
for(var i=0;i<arr.length;i++)
{
//console.log("ele.taskcode",ele.taskcode);
//console.log("arr[i]",arr[i].procedurecode);
if(ele.taskcode == arr[i].procedurecode)
{
jj=i;
}
}
if (jj>=0){
temArr[2*jj] = {"amount":ele.preamount,"taskcode":ele.taskcode};
temArr[2*jj+1] = {"amount":ele.actamount,"taskcode":ele.taskcode};
}
}
})
for (var i = 0; i < temArr.length; i++) {
if (temArr[i] == undefined) {
temArr[i] = PlainAmount("sss");
}
}
console.log("temArr",temArr);
return temArr;
}
var PlainAmount = function(taskcode) {
return {
amount: '',
taskcode: taskcode,
}
}
function initDetail(pcarrL, PAarr){
//console.log("search_days", search_days);
SearchData( );
}
// 处理后台数据,处理没有任务量的那些日期
var initTaskOrderData = function(pcarrL) {
var taskOrderData1 = cloneObj(JSON.parse(sessionStorage.getItem("urldetaildata")));
sessionStorage.clear();
for(var i = 0;i < taskOrderData1.rows.length; i++){
var temArr = new Array(2*pcarrL);
var tas = makeData(taskOrderData1.rows[i].taskprocedure,temArr);
//console.log("tas",tas);
for(var j=0;j<tas.length;j++){
var fieldid="u"+j;
taskOrderData1.rows[i][fieldid] = tas[j].amount;
}
}
//console.log("tod",taskOrderData1);
displaydata = taskOrderData1;
}
var pcarrL, PAarr;
$(function() {
pcarrL = arr.length;//procedurecode array length
PAarr = new Array(2 * pcarrL);//Plan & Act amount array
initDetail(pcarrL,PAarr);
});
var fLoadTable = function(pcarrL, PAarr) {
gridDetail = $("#gridDetail").datagrid({
data: displaydata.rows,
title : '',
//url : ext.contextPath + '/plan/taskorder/getTaskOrderDetailDayPlan.do?id=${id}'+'&stdt=${stdt}',
striped : true,
rownumbers : true,
pagination : true,
singleSelect: true,
ctrlSelect:true,
selectOnCheck: false,
checkOnSelect: false,
idField : 'id',
pageSize : 50,
pageList : [ 20, 50, 100],
/*columns : [ [
{width : '180', title : '日期', field : 'stdt', sortable : true, halign:'center',formatter:function(value,row){
var str = value.substring(0,10);
return str;
}},
{width : '180', title : '任务单编号', field : 'tasklistcode', sortable : true, halign:'center'},
{width : '180', title : '工序', field : 'taskcode', sortable : true, halign:'center'},
{width : '90', title : '计划生产值', field : 'preamount', sortable : true, align:'center', halign:'center'},
{width : '90', title : '实际生产值', field : 'actamount', sortable : true, align:'center', halign:'center'},
] ],*/
columns: configColumns(),
toolbar : '#toolbar',
onLoadSuccess : function(data) {
$('.iconImg').attr('src', ext.pixel_0);
sessionStorage.clear();
//console.log("displaydata",displaydata);
//console.log("urldetaildata",sessionStorage.getItem("urldetaildata"));
}
});
};
</script>
</head>
<body>
<div id="cc" class="easyui-layout" data-options="fit:true,border:false">
<div id="tbar">
</div>
<div data-options="region:'center',title:'任务单每日详细信息'" style="padding:0px;">
<div class="easyui-layout" data-options="fit:true,border:false">
<div id="toolbar" style="display: none;">
<table>
<tr>
<td>
<form id="searchForm">
<table>
<tr>
<td>任务单编号</td>
<td><input name="search_code" id="search_code" class="easyui-textbox" style="width: 150px;" value=""/></td>
<td><a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'ext-icon-search',plain:true"
onclick="SearchData();">搜索</a>
<a href="javascript:void(0);" class="easyui-linkbutton" data-options="iconCls:'icon-reload',plain:true"
onclick="$('#searchForm').form('clear');gridDetail.datagrid('load',{});">重置</a>
</td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</div>
<div data-options="region:'center',fit:true,border:false">
<table id="gridDetail" data-options="fit:true,border:false"></table>
</div>
</div>
</div>
</div>
</body>
</html>