前臺到後臺的互動,至成功匯出Excel
阿新 • • 發佈:2019-01-03
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(',') + '}';
};
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(',') + '}';
};