<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <%@ page import="com.util.StringUtil" %> <%@ page import="com.util.VeDate" %> <%@page import="com.util.*"%> <%@page import="cn.com.victorysoft.eaf.authority.exposure.AppUser"%> <!-- 兴通费用分析,月度成本分析,按成本分 --> <% AppUser user = (AppUser)session.getAttribute("_userInfo"); String depid = user.getAppOrg().getOrgnaCode(); String username = UserUtil.getLoginName(request); String ny = StringUtil.null2blank(request.getParameter("ny")); if(ny.equals("")){ ny =YwUtil.getMaxYdfxNy(); if(ny.equals("")){ ny = VeDate.getNy(); } } String dwListJson = YwUtil.ajaxGetDwList(depid,username);//这个就是返回所有单位的 boolean isJyglb = false;//是否经营管理部 isJyglb = UserUtil.isRole(username, "AFAF30D396A641EBA59026D95AFF3703"); %> <!DOCTYPE html> <html> <head> <title>月度成本分析</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <%@include file="/common/commonJs.jsp"%> <script type="text/javascript" src="<%=basePath%>js/My97DatePicker/WdatePicker.js"></script> <style type="text/css"> html,body { height: 100%; width: 100%; } .progressbar-value .progressbar-text { background-color: #66CC33; color: #000000; } #box dl { /*height: 50px;*/ /*line-height: 50px;*/ border-bottom: 1px dashed #dadada; margin: 0 20px; } #box dt {float: left;color: #8a8a8a;} #box dd {float: left;color: #252525;margin: 0 10px;font-size: 14px;cursor: pointer;} #box dd.active {color: #c4284d;font-weight: bold;} #box dl.select { /*background: #efefef;*/ margin: 0;padding: 0 20px;} #box dl.select dd {border: 1px solid #c4284d;height: 25px;line-height: 25px; /*margin-top: 13px;*/ padding: 0 10px 0 10px;border-radius: 3px;background-color: #fff;} #box dl.select dd span {width: 20px;height: 20px;display: inline-block;text-align: center;line-height: 20px;background: #c4284d;color: #fff;margin-left: 10px;cursor: pointer;border-radius: 5px;} #selectResult dd{ position: relative; top: -5px;} </style> </head> <body class="easyui-layout"> <div id="toolbar1" > <input type="hidden" id="hid_year"/> <input type="hidden" id="hid_month"/> <input type="hidden" id="hid_dep"/> <input type="hidden" id="ny"/> <input type="hidden" id="dwid"/> <div id="box"> <table style="width: 100%;"> <tr> <td style="width: 40%;"> <dl id="syear"> <dt>年份:</dt> </dl> </td> <td style="width: 60%;"> <dl id="smonth"> <dt>月份:</dt> </dl> </td> </tr> </table> <dl id="sdep"> <dt>部门:</dt> </dl> <table style="width: 100%;"> <tr> <td style="width: 40%;"> <dl id="selectResult" class="select" style="border-bottom-width: 0px;"> <dt>已选条件:</dt> </dl> </td> <td style="width: 60%;"> <a href="javascript: queryPagination();" class="easyui-linkbutton" plain="true" iconCls="icon-search" >查询</a> <%if(isJyglb){ %> <a href="javascript: createData();" class="easyui-linkbutton" plain="true" iconCls="icon-reload" >数据重新生成</a> <%}%> </td> </tr> </table></div> </div> <table id="dg" style="width:100%;height:100%"></table> </body> <script type="text/javascript"> var dwid = '<%=depid%>'; var dwListJson = <%=dwListJson%>; var ny = '<%=ny%>'; $(function () { //加载年 for (var i=2018;i<=new Date().getFullYear();i++){ $("#syear").append("<dd data-from=\"hid_year\" data-val=\""+i+"\">"+i+"</dd>"); } var months=["01","02","03","04","05","06","07","08","09","10","11","12"]; //加载月 for (var i=0;i<months.length;i++){ $("#smonth").append("<dd data-from=\"hid_month\" data-val=\""+months[i]+"\">"+months[i]+"</dd>"); } //加载部门 for (var i=0;i<dwListJson.length;i++){ var item=dwListJson[i]; $("#sdep").append("<dd data-from=\"hid_dep\" data-val=\""+item.ORGNA_CODE+"\">"+item.ORGNA_NAME+"</dd>"); } //注册事件 var dls = document.querySelectorAll('dl:not(#selectResult)'); var selected = document.querySelector('#selectResult'); for (var i = 0; i < dls.length; i++) { dls[i].mark = false; select(i); } //选择默认-年-月-部门 $("#syear").find("[data-val='"+new Date().getFullYear()+"']").click(); var mt=new Date().getMonth()+1; $("#smonth").find("[data-val='"+(mt<10?("0"+mt):mt+"")+"']").click(); $("#sdep").find("[data-val='"+dwid+"']").click(); //选择默认值 setSearchValue(); console.log("第一次加载的数据:"+$('#ny').val()); console.log("第一次加载的数据:"+dwid); //加载数据 $("#dg").datagrid({ queryParams:{ ny:$('#ny').val(), dwid:dwid }, url:"<%=basePath%>bbxmxx_ajaxQueryYdfxByParam.action", loadMsg:"数据加载中,请稍后.....", pagination:true,//显示分页 striped:true,//隔行换色 fit:true,//自动补全 pageSize:300, fitColumns:false, title:"月度成本分析", singleSelect:true, rownumbers:true, toolbar:"#toolbar1", columns:[[ {field:'SSBM',title:'ssbm',width:250,align:'left',halign:'center',hidden:true}, {field:'BMZ',title:'bmz',width:250,align:'left',halign:'center',hidden:true}, {field:'ZBID',title:'指标名称',width:250,align:'left',halign:'center',hidden:true}, {field:'ZBMC',title:'指标名称',width:250,align:'left',halign:'center'}, {field:'CURBENY',title:'本月(万元)',width:100,align:'right',halign:'center', formatter:function(value,row,index){ if(value ==null){ value = ''; } // 20190612 新模式 if(row.ZBID =='YDFX0010'){//如果是产值收入 return "<a href='javascript:void(0);' οnclick=\"showCz('"+$('#ny').val()+"','"+dwid+"');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0120'){//如果是产品运费 return "<a href='javascript:void(0);' οnclick=\"showCpyf('"+$('#ny').val()+"','"+dwid+"');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0030'){//如果是材料费 return "<a href='javascript:void(0);' οnclick=\"showClf('"+$('#ny').val()+"','"+dwid+"','"+row.ZBMC+"');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0040'||row.ZBID=='YDFX0050'||row.ZBID=='YDFX0020'||row.ZBID=='YDFX0240'||row.ZBID=='YDFX0120'||row.ZBID=='YDFX0100'){ return value; }else if(row.ZBID=='YDFX0060'){//2019-08-27 取消固定和后勤 return "<a href='javascript:void(0);' οnclick=\"showGdgz('"+$('#ny').val()+"','"+dwid+"','"+row.ZBMC+"','0');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0070'){//如果是固定工资 return "<a href='javascript:void(0);' οnclick=\"showGdgz('"+$('#ny').val()+"','"+dwid+"','"+row.ZBMC+"','1');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0080'){//如果是后勤人员工资 return "<a href='javascript:void(0);' οnclick=\"showGdgz('"+$('#ny').val()+"','"+dwid+"','"+row.ZBMC+"','2');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0250'){//产品出库 return "<a href='javascript:void(0);' οnclick=\"showCpck('"+$('#ny').val()+"','"+dwid+"');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0260'){//项目结算 return "<a href='javascript:void(0);' οnclick=\"showXmjs('"+$('#ny').val()+"','"+dwid+"');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID =="YDFX0280"){ if(parseFloat(value)<0){ return "0"; }else{ return value; } }else{ return "<a href='javascript:void(0);' οnclick=\"showOther('"+$('#ny').val()+"','"+dwid+"','"+row.SSBM+"','"+row.ZBMC+"');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; } /* //旧模式 else if(row.ZBID =='FX0010'){//如果是产值收入 return "<a href='javascript:void(0);' οnclick=\"showCz('"+$('#ny').val()+"','"+dwid+"');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID =='FX0102'){//如果是计件工资 return "<a href='javascript:void(0);' οnclick=\"showJjgz('"+$('#ny').val()+"','"+dwid+"');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='FX0451'){//如果是产品运费 return "<a href='javascript:void(0);' οnclick=\"showCpyf('"+$('#ny').val()+"','"+dwid+"');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='FX0150'){//如果是材料费 return "<a href='javascript:void(0);' οnclick=\"showClf('"+$('#ny').val()+"','"+dwid+"','"+row.ZBMC+"');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='FX0200'||row.ZBID=='FX0250'){ return value; }else if(row.ZBID=='FX0103'){//如果是固定工资 return "<a href='javascript:void(0);' οnclick=\"showGdgz('"+$('#ny').val()+"','"+dwid+"','"+row.ZBMC+"','1');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='FX0101'){//如果是后勤人员工资 return "<a href='javascript:void(0);' οnclick=\"showGdgz('"+$('#ny').val()+"','"+dwid+"','"+row.ZBMC+"','2');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else{ return "<a href='javascript:void(0);' οnclick=\"showOther('"+$('#ny').val()+"','"+dwid+"','"+row.SSBM+"','"+row.ZBMC+"','curbnlj');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }*/ }}, {field:'PREBENY',title:'同期(万元)',width:100,align:'right',halign:'center'}, {field:'BENYDB',title:'增减值(万元)',width:100,align:'right',halign:'center',formatter:BYZJZFormatter}, {field:'CURBYCZB',title:'本月产值比(%)',width:100,align:'right',halign:'center',formatter:BYCZBFormatter}, {field:'PREBYCJB',title:'同期产值比(%)',width:100,align:'right',halign:'center',formatter:TQCZBFormatter}, {field:'BYCZB',title:'比例增减(%)',width:100,align:'right',halign:'center',formatter:YBLZJFormatter}, {field:'CURBNLJ',title:'本年至今(万元)',width:100,align:'right',halign:'center',formatter:function(value,row,index){ if(value ==null){ value = ''; }else if(row.ZBID =='YDFX0010'){ return "<a href='javascript:void(0);' οnclick=\"showCz('"+$('#ny').val()+"','"+dwid+"','curbnlj');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0120'){//如果是产品运费 return "<a href='javascript:void(0);' οnclick=\"showCpyf('"+$('#ny').val()+"','"+dwid+"','curbnlj');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0030'){//如果是材料费 return "<a href='javascript:void(0);' οnclick=\"showClf('"+$('#ny').val()+"','"+dwid+"','"+row.ZBMC+"','curbnlj');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0040'||row.ZBID=='YDFX0050'||row.ZBID=='YDFX0020'||row.ZBID=='YDFX0240'||row.ZBID=='YDFX0280'||row.ZBID=='YDFX0120'||row.ZBID=='YDFX0100'){ return value; }else if(row.ZBID=='YDFX0060'){// 2019-08-27 取消固定工资和后勤人员工资 return "<a href='javascript:void(0);' οnclick=\"showGdgz('"+$('#ny').val()+"','"+dwid+"','"+row.ZBMC+"','0','curbnlj');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0070'){//如果是固定工资 return "<a href='javascript:void(0);' οnclick=\"showGdgz('"+$('#ny').val()+"','"+dwid+"','"+row.ZBMC+"','1','curbnlj');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0080'){//如果是后勤人员工资 return "<a href='javascript:void(0);' οnclick=\"showGdgz('"+$('#ny').val()+"','"+dwid+"','"+row.ZBMC+"','2','curbnlj');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0250'){//产品出库 return "<a href='javascript:void(0);' οnclick=\"showCpck('"+$('#ny').val()+"','"+dwid+"','curbnlj');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else if(row.ZBID=='YDFX0260'){//项目结算 return "<a href='javascript:void(0);' οnclick=\"showXmjs('"+$('#ny').val()+"','"+dwid+"','curbnlj');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; }else{ return "<a href='javascript:void(0);' οnclick=\"showOther('"+$('#ny').val()+"','"+dwid+"','"+row.SSBM+"','"+row.ZBMC+"','curbnlj');\" class='easyui-linkbutton' plain='true' iconCls='icon-edit' >"+value+"</a>"; } }}, {field:'PREBNLJ',title:'去年同期(万元)',width:100,align:'right',halign:'center'}, {field:'BNLJDB',title:'增減值(万元)',width:100,align:'right',halign:'center',formatter:NZJZFormatter}, {field:'CURNLCZB',title:'本年产值比(%)',width:100,align:'right',halign:'center',formatter:BNCZBFormatter}, {field:'PRENLCJB',title:'同期产值比(%)',width:100,align:'right',halign:'center',formatter:BNTQCZBFormatter}, {field:'NLCZB',title:'比例增減(%)',width:100,align:'right',halign:'center',formatter:NBLZJFormatter} ]], rowStyler: function (index, row) { if (row.ZBID =='YDFX0010' || row.ZBID =='YDFX0020'||row.ZBID =='YDFX0240'||row.ZBID =='YDFX0250'||row.ZBID =='YDFX0260'||row.ZBID == 'YDFX0270'||row.ZBID =='YDFX0280' ||row.ZBID =='YDFX0290') { return 'background-color:orange;font-weight:bold;font-size:30px'; } } }); function select(n) { var dds = dls[n].querySelectorAll('dd'); var prev = null; var dd = null; for (var i = 0; i < dds.length; i++) { dds[i].onclick = function () { //给当前点击的添加一个高亮 //prev && (prev.className = ''); if (prev) { prev.className = '' } this.className = 'active'; prev = this; //创建dd标签 var parent = this.parentNode; if (!parent.mark) { dd = document.createElement('dd'); dd.innerHTML = this.innerHTML; dd.setAttribute("data-val", this.getAttribute("data-val")); dd.setAttribute("data-from", this.getAttribute("data-from")); selected.appendChild(dd); parent.mark = true; } else { dd.setAttribute("data-val", this.getAttribute("data-val")); dd.setAttribute("data-from", this.getAttribute("data-from")); dd.innerHTML = this.innerHTML; } setSearchValue(); // var span = document.createElement('span'); // var This = this; // span.innerHTML = 'X'; // span.onclick = function () { // // selected.removeChild(dd); // This.className = ''; // parent.mark = false; // }; // dd.appendChild(span); }; } } }); //取值核心,把值丢到隐藏域里面 function setSearchValue() { $("#selectResult dd").each(function () { var dataFrom = $(this).attr("data-from"); var dataVal = $(this).attr("data-val"); console.log(dataFrom + ":" + dataVal); $("#" + dataFrom).val(dataVal) }); $("#ny").val($("#hid_year").val()+""+$("#hid_month").val()); $("#dwid").val($("#hid_dep").val()); //queryPagination(); } </script> <script type="text/javascript"> // $('#dwid').combobox({ // data:dwListJson, // valueField:'ORGNA_CODE', // textField:'ORGNA_NAME', // editable:false, // onSelect:function(data){ // dwid = data.ORGNA_CODE; // } // }); function createData(){ var dw = $("#dwid").val(); if(dw ==""||dw==null){ $.messager.alert('提示','请先选择单位','info'); return false; } $.ajax({ url:"<%=basePath%>bbxmxx_ajaxUpdateYdfxData.action", dataType:"json", async:true, data:{"dw":dw}, type:"post", success:function(req){ if(req=="1"){ $.messager.alert('提示','数据生成成功','info'); queryPagination(); }else{ $.messager.alert('提示','请重新生成数据','info'); } } }); } function queryPagination(){ console.log("查询加载的数据:"+$('#ny').val()); console.log("查询加载的数据:"+$("#dwid").val()); $('#dg').datagrid('load',{ ny:$('#ny').val(), dwid:$("#dwid").val() }); } //打开产值明细窗口 function showCz(ny,dwid,type){ var url = '<%=basePath%>bbxmxx_goQueryYdfxczMxList.action?ny='+ny+'&dwid='+dwid+'&type='+type; openSelectWindow(url,'产值明细列表',900,500); } //打开材料费明细窗口 function showClf(ny,dwid,zbmc,type){ zbmc = zbmc.substr(zbmc.indexOf('、')+1,zbmc.length ); var url = '<%=basePath%>bbxmxx_goQueryYdfxClfMxList.action?ny='+ny+'&dwid='+dwid+'&type='+type; openSelectWindow(url,zbmc+'明细列表',700,650); } //打开产品运费明细窗口 function showCpyf(ny,dwid,type){ var url = '<%=basePath%>bbxmxx_goQueryYdcpyfMxList.action?ny='+ny+'&dwid='+dwid+'&type='+type; openSelectWindow(url,'运费明细列表',700,500); } //打开计件工资明细窗口 function showJjgz(ny,dwid){ var url = '<%=basePath%>bbxmxx_goQueryYdJjgzMxList.action?ny='+ny+'&dwid='+dwid; openSelectWindow(url,'计件工资明细列表',700,500); } //打开固定工资明细窗口 function showGdgz(ny,dwid,zbmc,lx,type){ zbmc = zbmc.substr(zbmc.indexOf('、')+1,zbmc.length ); var url = '<%=basePath%>bbxmxx_goQueryYdfxGdgzMxList.action?ny='+ny+'&dwid='+dwid+'&lx='+lx+'&type='+type; openSelectWindow(url,zbmc+'明细列表',900,600); } //打开产品出库界面 function showCpck(ny,dwid,type){ var url = '<%=basePath%>queryinfo_goQueryPckYdfxInfo.action?ny='+ny+'&dwid='+dwid+'&type='+type; openSelectWindow(url,'产品出库明细列表',900,600); } //打开项目结算信息 function showXmjs(ny,dwid,type){ var url = '<%=basePath%>queryinfo_goQueryXmjsxxInfo.action?ny='+ny+'&dwid='+dwid+'&type='+type; openSelectWindow(url,'项目结算信息明细列表',1100,600); } function showOther(ny,dwid,sxlb,zbmc,type){ zbmc = zbmc.substr(zbmc.indexOf('、')+1,zbmc.length ); if(type==undefined){ type = ''; } var url = '<%=basePath%>bbxmxx_goQueryYdOtherMxList.action?ny='+ny+'&dwid='+dwid+'&sxlb='+sxlb+'&type='+type; openSelectWindow(url,zbmc+'明细列表',700,500); } function BYZJZFormatter(value,row,index){ if(value!=null&&value>0){ return '<span style="color:#228B22">'+value+'</span>'; }else if(value!=null&&value<0){ return '<span style="color:red">'+value+'</span>'; } } function NZJZFormatter(value,row,index){ if(value!=null&&value>0){ return '<span style="color:#228B22">'+value+'</span>'; }else if(value!=null&&value<0){ return '<span style="color:red">'+value+'</span>'; } } function YBLZJFormatter(value,row,index){ if(value!=null&&value>0){ return '<span style="color:#228B22">'+value+'%'+'</span>'; }else if(value!=null&&value<0){ return '<span style="color:red">'+value+'%'+'</span>'; } } function NBLZJFormatter(value,row,index){ if(value!=null&&value>0){ return '<span style="color:#228B22">'+value+'%'+'</span>'; }else if(value!=null&&value<0){ return '<span style="color:red">'+value+'%'+'</span>'; } } function BYCZBFormatter(value,row,index){ debugger; if(value!=undefined){ return value+"%"; } } function TQCZBFormatter(value,row,index){ if(value!=undefined){ return value+"%"; } } function BNCZBFormatter(value,row,index){ if(value!=undefined){ return value+"%"; } } function BNTQCZBFormatter(value,row,index){ if(value!=undefined){ return value+"%"; } } function SSBMFormatter(value,row,index){ if(row.ZBID=="YDFX0290"){ return "YJSZ"; }else{ return value; } } </script> </html>