1. 程式人生 > >前臺到後臺的互動,至成功匯出Excel

前臺到後臺的互動,至成功匯出Excel

var dg;
var d;
$(function(){   
dg=$('#dg').datagrid({    
method: "get",
//   url:'${ctx}/system/user/json', 
   url:'${ctx}/business/serverManage/json',
   fit : true,
fitColumns : true,
border : false,
idField : 'serviceId',
striped:true,
pagination:true,
rownumbers:true,
pageNumber:1,
pageSize : 20,
pageList : [ 10, 20, 30, 40, 50 ],
   columns:[[    
{field:'ck',checkbox:true},
// { field:'productid',width:100,align:'center',checkbox:true }, 
{field:'artNum',title:'病歷號',width:100,align:'center'},
       {field:'artcyNum',title:'週期號',width:100,align:'center'}
<shiro:hasPermission name="serverManage:qry:IDNum">
       
      , { field:'femaleIdNum',title:'女方證件號',width:150,align:'center',
      formatter:function(value,rows){
      return value.substring(0,8)+"********"+value.substring(16);
      }},
       { field:'maleIdNum',title:'男方證件號',width:150,align:'center',
     formatter:function(value,rows){
      return value.substring(0,8)+"********"+value.substring(16);
      }}
       </shiro:hasPermission>

     ,{field:'artType',title: '技術類別' , width:108}
     <shiro:hasPermission name="serverManage:qry:orgqry">
       
       ,{ field:'attr1',title:'填報人',width:100,align:'center'},
       {field:'reportStatus',title:'狀態',width:100,align:'center'}
       </shiro:hasPermission>
   ]], 
   /* headerContextMenu: [
       {
           text: "凍結該列", disabled: function (e, field) { return dg.datagrid("getColumnFields", true).contains(field); },
           handler: function (e, field) { dg.datagrid("freezeColumn", field); }
       },
       {
           text: "取消凍結該列", disabled: function (e, field) { return dg.datagrid("getColumnFields", false).contains(field); },
           handler: function (e, field) { dg.datagrid("unfreezeColumn", field); }
       }
   ], */
   enableHeaderClickMenu: true,
   enableHeaderContextMenu: true,
   enableRowContextMenu: false,
   toolbar:'#tb'
});
});


//彈窗修改
function edit(){
$.ajaxSetup({type : 'GET'});
var row = dg.datagrid('getSelected');
if(rowIsNull(row)) return;
//window.open("${ctx}/business/serverManage/update/"+row.serviceId ,"修改",'height=500,width=1200,top=100,left=100,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no') ;


d=$("#dlg").dialog({   
   title: '修改',    
//    width: 1100,    
//    height: 450, 
   fit:true,
   href:"${ctx}/business/serverManage/update/"+row.serviceId,
   maximizable:true,
   modal:true//,
});
}

//刪除
function del(){
var row = dg.datagrid('getSelected');
if(rowIsNull(row)) return;
parent.$.messager.confirm('提示', '刪除後無法恢復您確定要刪除?', function(data){
if (data){
$.ajax({
type:'get',
url:"${ctx}/business/serverManage/delete/"+row.serviceId,
success: function(data){
successTip(data,dg);
}
});

});
}


//刪除多個
function delM(){
var idList=[];
var data=dg.datagrid('getSelections');
debugger;
for(var i=0,j=data.length;i<j;i++){
idList.push(data[i].serviceId);
}

var row = dg.datagrid('getSelected');
if(rowIsNull(row)) return;
parent.$.messager.confirm('提示', '刪除後無法恢復您確定要刪除?', function(data){
if (data){
$.ajax({
type:'POST',
url:"${ctx}/business/serverManage/delete",
data:JSON.stringify(idList),
contentType:'application/json;charset=utf-8',
success: function(data){
if(data=='success'){
dg.datagrid('reload');
dg.datagrid('clearSelections');
parent.$.messager.show({ title : "提示",msg: "操作成功!", position: "bottomRight" });
} else{
parent.$.messager.alert('提示',data);

}
});
//dg.datagrid('reload'); //grid移除一行,不需要再重新整理

});
}


//上報
function report(){
var idList=[];
var data=dg.datagrid('getSelections');
debugger;
for(var i=0,j=data.length;i<j;i++){
idList.push(data[i].serviceId);
}

var row = dg.datagrid('getSelected');
if(rowIsNull(row)) return;
parent.$.messager.confirm('提示', '是否確定上報?', function(data){
if (data){
$.ajax({
type:'POST',
url:"${ctx}/business/serverManage/report",
data:JSON.stringify(idList),
contentType:'application/json;charset=utf-8',
success: function(data){
if(data=='success'){
dg.datagrid('reload');
dg.datagrid('clearSelections');
parent.$.messager.show({ title : "提示",msg: "操作成功!", position: "bottomRight" });
} else{
parent.$.messager.alert('提示',data);

}
});
//dg.datagrid('reload'); //grid移除一行,不需要再重新整理

});
}
//申請修改
function applyUpdate(){
var idList=[];
var data=dg.datagrid('getSelections');
debugger;
for(var i=0,j=data.length;i<j;i++){
idList.push(data[i].serviceId);
}

var row = dg.datagrid('getSelected');
if(rowIsNull(row)) return;
parent.$.messager.confirm('提示', '是否確定上報?', function(data){
if (data){
$.ajax({
type:'POST',
url:"${ctx}/business/serverManage/applyUpdate",
data:JSON.stringify(idList),
contentType:'application/json;charset=utf-8',
success: function(data){
if(data=='success'){
dg.datagrid('reload');
dg.datagrid('clearSelections');
parent.$.messager.show({ title : "提示",msg: "操作成功!", position: "bottomRight" });
} else{
parent.$.messager.alert('提示',data);

}
});
//dg.datagrid('reload'); //grid移除一行,不需要再重新整理

});
}
//彈窗檢視
function look(){
$.ajaxSetup({type : 'GET'});
var row = dg.datagrid('getSelected');
if(rowIsNull(row)) return;
//window.open("${ctx}/business/serverManage/check/"+row.serviceId ,"檢視",'height=500,width=1200,top=100,left=100,toolbar=no,menubar=no,scrollbars=no, resizable=no,location=no, status=no') ;
d=$("#dlg").dialog({   
   title: '檢視',    
//    width: 1100,    
//    height: 450, 
   fit:true,
   href:"${ctx}/business/serverManage/check/"+row.serviceId,
   maximizable:true,
   modal:true//,
});
}

function ddd (abc){
var row = dg.datagrid('getSelected');
row.serviceId;
debugger;
if(rowIsNull(row)) return;
$.ajax({
type:'get',
url:"${ctx}/business/serverManage/update/"+row.serviceId,
success: function(data){
data;
debugger;
$("html").html(data);
}
});
}


//建立查詢物件並查詢
function cx(){
var obj=$("#searchFrom").serializeObject();

dg.datagrid('load',obj);
var rows  = $('#dg').datagrid("getRows");
debugger;
}




//匯出excel
function exportExcel1(){
var url = "${ctx}/business/serverManage/exportExcel";
window.location.href = url;
}


//匯出excel
function exportExcel2(){
var rows  = $('#dg').datagrid("getRows");
var rows_json=JSON.stringify(rows);
var fields=$("#dg").datagrid('getColumnFields',false);
fields.remove(0);
var  fields_json=JSON.stringify(fields);
var titles=$("#dg").datagrid('getColumns',false);
var columns=[];
for(var i=1;i<titles.length;i++){
columns.push(titles[i].title);
}
var columns_json=JSON.stringify(columns);
debugger;
var fileName="週期資訊表";
$.post("${ctx}/business/serverManage/exportExcel", {rows:rows_json, fields:fields_json, columns:columns_json, fileName:fileName}, 
function(data){

debugger;
 },
 "text");
}

function exportExcel(){
var rows  = $('#dg').datagrid("getRows");
var rows_json=JSON.stringify(rows);
var fields=$("#dg").datagrid('getColumnFields',false);
fields.remove(0);
var  fields_json=JSON.stringify(fields);
var titles=$("#dg").datagrid('getColumns',false);
var columns=[];
for(var i=1;i<titles.length;i++){
columns.push(titles[i].title);
}
var columns_json=JSON.stringify(columns);
var realURL="${ctx}/business/serverManage/exportExcel";
//realURL += "?queryCode=QRY_ZRQK_GJ&&rows=9999&&orderByColumn=AREAID&&orderByType=asc&&fileName=ziranqingkuang";
var iframe = document.getElementById("downLoaderUtilsIframeV110912");// 建立iframe
if(iframe==null){
iframe= document.createElement('iframe');
iframe.setAttribute('src','javascript:false');
iframe.setAttribute('id',"downLoaderUtilsIframeV110912");
iframe.width=0;
iframe.height=0;
document.body.appendChild(iframe);
}
var form = document.createElement('form');// 建立form
form.action=realURL;
form.method="POST";
var cfg ={
// columns: encodeURIComponent(JsonArrayToString(columns)),
rows:rows_json,
columns: columns_json,
fields:fields_json,
page : 1,
fileName:'治療週期表'//,
};
for(var p in cfg){
if(p){
var ipts = document.createElement('input');
ipts.setAttribute('type', 'hidden');
ipts.setAttribute('name',p);
ipts.value=cfg[p];
form.appendChild(ipts);
}
}
iframe.appendChild(form);
if (window.attachEvent) {
iframe.attachEvent('onload',function(){
document.body.removeChild(iframe);
});
} else {
iframe.addEventListener('load',function(){
document.body.removeChild(iframe);
}, false);
}
form.submit();
};

function JsonArrayToString(jsonArray){
  var JsonArrayString = "[";
  for(var i=0;i<jsonArray.length;i++){
  JsonArrayString=JsonArrayString+json2str(jsonArray[i])+",";
  }
  JsonArrayString = JsonArrayString.substring(0,JsonArrayString.length-1)+"]";
  return JsonArrayString;
};

function json2str(o) {
   var arr = [];
   var fmt = function(s) {
       if (typeof s == 'object' && s != null) return json2str(s);
       return /^(string|number)$/.test(typeof s) ? "'" + s + "'" : s;
    };
    for (var i in o) arr.push("'" + i + "':" + fmt(o[i]));
    return '{' + arr.join(',') + '}';
 };