| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258 |
- <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
- <%@include file="/context/mytags.jsp"%>
- <!doctype html>
- <html>
- <head>
- <t:base type="jquery,easyui,tools,DatePicker"></t:base>
- <meta charset="utf-8" />
- <meta name="spreadjs culture" content="zh-cn" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <style>
- html{
- height:100%;
- }
- body{
- height:97%;
- width:calc(100% - 10px);
- background:#FFFFFF
- }
- .mainDiv{
- height: calc(100% - 40px);
- display:flex;
- flex-direction: column;
- }
- .buttonsDiv{
- }
- .excelDiv{
- flex:1;
- }
- .sample-spreadsheets {
- width: 100%;
- height: 100%;
- overflow: hidden;
- }
- .sample-spreadsheets-statusBar {
- width: 100%;
- overflow: hidden;
- }
- </style>
- </head>
- <div class="mainDiv">
- <div class="buttonsDiv">
- <%--查询框begin --%>
- <div style="display:flex;">
- <div style="flex:1">
- <table cellpadding="0" cellspacing="1" class="formtable" > <!-- bottom -->
- <tr >
- <td class="value">
- <span class="spancon">预算年度:</span>
- <input type="text" style="width: 150px" class="Wdate" disabled="disabled" value="${costEntity.periodYear}" disabled="disabled"/>
- </td>
- <td width="5px"> </td>
- </tr>
- </table>
- <table cellpadding="0" cellspacing="1" class="formtable" >
- <tr>
- <td colspan="3">
- <a href="#" class="easyui-linkbutton l-btn" iconcls="icon-add" onclick="add()">新增</a>
- <a href="#" class="easyui-linkbutton l-btn" iconcls="icon-save" onclick="save()">保存</a>
- <a href="#" class="easyui-linkbutton l-btn" iconcls="icon-select" onclick="selectShowColumn()">显示配置</a>
- <a href="#" class="easyui-linkbutton l-btn" iconcls="icon-putout" onclick="exportExcel()">导出</a>
- <a href="#" class="easyui-linkbutton l-btn" iconcls="icon-calculation" onclick="calcFunction()">公式计算</a>
- <a href="#" class="easyui-linkbutton l-btn" onclick="goStatis('conf','配置超额分析')"><i class="fa fa-bar-chart-o" style="padding-right:5px;"></i>配置超额分析</a>
- <a href="#" class="easyui-linkbutton l-btn" onclick="goStatis('usercostper','人员费用占比分析')"><i class="fa fa-bar-chart-o" style="padding-right:5px;"></i>人员费用占比分析</a>
- <a href="#" class="easyui-linkbutton l-btn" onclick="goStatis('expect','预期盈利分析')"><i class="fa fa-bar-chart-o" style="padding-right:5px;"></i>预期盈利分析</a>
- <a href="#" class="easyui-linkbutton l-btn" onclick="goStatis('usercost','人员费用超额分析')"><i class="fa fa-bar-chart-o" style="padding-right:5px;"></i>人员费用超额分析</a>
- <a href="#" class="easyui-linkbutton l-btn" onclick="goStatis('orderscost','物料费用超额分析')"><i class="fa fa-bar-chart-o" style="padding-right:5px;"></i>物料费用超额分析</a>
- <a href="#" class="easyui-linkbutton l-btn" onclick="goStatis('usernum','人员数量超额分析')"><i class="fa fa-bar-chart-o" style="padding-right:5px;"></i>人员数量超额分析</a>
- <%--<a href="#" class="easyui-linkbutton l-btn" iconcls="icon-put" onclick="submitHrToCost()">拉取人资数据</a>--%>
- <%--<a href="#" class="easyui-linkbutton l-btn" iconcls="icon-put" onclick="submitOrdersToCost()">拉取物料数据</a>--%>
- </td>
- </tr>
- </table>
- </div>
- </div>
- <%--查询框end --%>
- </div>
- <div class="excelDiv">
- <div id="ss" class="sample-spreadsheets" ></div>
- <div id="statusBar" class="sample-spreadsheets-statusBar"></div>
- </div>
- </div>
- <script>
- var editAuth='${param.editAuth}';
- var costEntityId='${costEntity.id}';
- var dbJson;
- var isSave=false;
- <c:if test="${not empty costEntity.json}">
- dbJson=${costEntity.json};//初始化用
- isSave=true;
- </c:if>
- var status='${costEntity.status}';
- var periodYear = '${costEntity.periodYear}';
- var title=periodYear+"年成本预算配置总表";
- var spread;
- var contractInfo =[];
- <c:forEach items="${contractInfo}" var="cinfo" varStatus="i">
- contractInfo[${i.index}]={};
- contractInfo[${i.index}].id='${cinfo.id}';
- contractInfo[${i.index}].entityName ='${cinfo.entityName}';
- contractInfo[${i.index}].contractDate ='${cinfo.contractDate}';
- contractInfo[${i.index}].contractTotalAmount ='${cinfo.contractTotalAmount}';
- </c:forEach>
- var costMeasure={};
- <c:if test="${not empty costMeasure}">
- costMeasure=${costMeasure}
- </c:if>
- var lastShowColumnValues=['shichang','yunying','renzi','caigou'];
- function selectShowColumn(){
- _openDialog('budgetCostBreakdownController.do?selectAuth&values='+lastShowColumnValues.join(','),'显示配置',function(iframe){
- var values = iframe.getSelected();
- lastShowColumnValues = values;
- var sheet=spread.getActiveSheet();
- var colCount = sheet.getColumnCount();
- sheet.suspendPaint();
- for(var i=3;i<colCount;i++){
- var bindInfo = costMeasureBindMap[i];
- if(bindInfo && bindInfo.editAuth){
- if($.inArray(bindInfo.editAuth,values)==-1){
- sheet.getRange(-1,i).visible(false);
- }else {
- sheet.getRange(-1,i).visible(true);
- }
- }
- }
- sheet.resumePaint();
- },'500px','200px');
- }
- function add() {
- _openDialog('budgetCostBreakdownController.do?selectEntity&costEntityId='+costEntityId,'选择预算主体',function(iframe){
- var selectRows = iframe.getSelectRows();
- for(var i=0;i<selectRows.length;i++){
- addRow(selectRows[i],-1);
- }
- });
- }
- function exportExcel() {
- var sheet=spread.getActiveSheet();
- sheet.getRange(0,-1).visible(true);
- var excelIo = new GC.Spread.Excel.IO();
- var json = spread.toJSON();
- excelIo.save(json, function (blob) {
- saveAs(blob, title+ '.xlsx');
- sheet.getRange(0,-1).visible(false);
- }, function (e) {
- console.log(e);
- sheet.getRange(0,-1).visible(true);
- });
- }
- function submitOrdersToCost(){
- if(!isSave) {
- _alert('请先保存');
- return;
- }
- var layerIndex = layer.msg('提取物料数据,请稍候···', {
- time : 3000*1000,
- shade: 0.1});
- $.post('budgetInstController.do?submitOrdersToCost',{periodYear:periodYear},function(d){
- var sheet=spread.getActiveSheet();
- layer.close(layerIndex);
- tip(d.msg);
- for(var i=0;i<d.obj.length;i++){
- var one =d.obj[i];
- sheet.setValue(one.row,one.col,one.value);
- }
- },'json');
- }
- function submitHrToCost(){
- if(!isSave) {
- _alert('请先保存');
- return;
- }
- var layerIndex = layer.msg('提取人资数据,请稍候···', {
- time : 3000*1000,
- shade: 0.1});
- $.post('budgetInstController.do?submitHrToCost',{periodYear:periodYear},function(d){
- var sheet=spread.getActiveSheet();
- layer.close(layerIndex);
- tip(d.msg);
- for(var i=0;i<d.obj.length;i++){
- var one =d.obj[i];
- sheet.setValue(one.row,one.col,one.value);
- }
- },'json');
- }
- function calcFunction(){
- if(!isSave) {
- _alert('请先保存');
- return;
- }
- var sheet=spread.getActiveSheet();
- var params={};
- var functionInfoParamArray=[];
- loopAll(sheet,function(row,col){
- var cellTag = sheet.getTag(row,col);
- if(cellTag && cellTag.functionId&&cellTag.editAuth ==editAuth){
- var dArray=[];
- var cellTag = sheet.getTag(row,col);
- dArray.push(row);dArray.push(col);dArray.push(cellTag.functionId);
- dArray.push(cellTag.measureId);dArray.push(cellTag.entityId);
- functionInfoParamArray.push(dArray.join('#'));
- }
- });
- params.info=functionInfoParamArray.join(',');
- if(!params.info) return;
- var url = 'budgetCostBreakdownController.do?calcFunction';
- var layerIndex = layer.msg('计算中,请稍候···', {
- time : 3000*1000,
- shade: 0.1});
- $.post(url,params,function(d){
- spread.suspendPaint();
- spread.suspendCalcService(true);
- var valueList = d.obj;
- for(var i=0;i<valueList.length;i++){
- var valueInfo=valueList[i];
- sheet.setValue(valueInfo[0],valueInfo[1],valueInfo[2]);
- }
- if(d.attributes){
- if(d.attributes.errorMsg){
- tip(d.attributes.errorMsg);
- }
- }
- spread.resumeCalcService(true);
- spread.resumePaint();
- layer.close(layerIndex);
- },'json')
- }
- function goStatis(page,title){
- var url = 'budgetCostBreakdownController.do?goStatis&page='+page;
- var width='100%';
- var height='100%';
- createdetailwindow(title,url,width,height);
- }
- </script>
- <link rel="stylesheet" type="text/css" href="plug-in/SpreadJS/css/gc.spread.sheets.excel2016colorful.13.1.0.css">
- <script src="plug-in/SpreadJS/scripts/gc.spread.sheets.all.13.1.0.min.js" type="text/javascript"></script>
- <script src="plug-in/SpreadJS/scripts/FileSaver.js" type="text/javascript"></script>
- <script src="plug-in/SpreadJS/scripts/resources/zh/gc.spread.sheets.resources.zh.13.1.0.min.js" type="text/javascript"></script>
- <script src="plug-in/SpreadJS/scripts/interop/gc.spread.excelio.13.1.0.min.js" type="text/javascript"></script>
- <script src="plug-in/SpreadJS/license.js" type="text/javascript"></script>
- <script src="webpage/cn/com/lzt/budget/data/js/budget_tools.js?v=7" type="text/javascript"></script>
- <script src="webpage/cn/com/lzt/budget/costbreakdown/budgetCostBreakdown-fill.js" type="text/javascript"></script>
- <script src="webpage/cn/com/lzt/budget/costbreakdown/cost_breakdown_header.js?v=1" type="text/javascript"></script>
- <script src="webpage/cn/com/lzt/budget/costbreakdown/cost_measure_bindmap.js?v=1" type="text/javascript"></script>
- </body>
- </html>
|