(function($){
|
var formId=0;
|
var formType=0;
|
var url='/importUpload';
|
$.xlsfile=function(options){
|
var pF=parent.getIframeAttr("pFrame");
|
var panelTitle="";
|
if(typeof(panMain[panIndex])!='undefined'){
|
panelTitle=parent.frames[pF].panMain[panIndex].panelTitle;
|
panelTitle=panelTitle.replace(/(/g,',').replace(/'/g,';');
|
panelTitle=panelTitle.substring(0,panelTitle.length-1);
|
}
|
var formid=parent.frames[pF].formId;
|
var formtype=parent.frames[pF].formType;
|
formId=formid;
|
formType=formtype;
|
var doccode=parent.frames[pF].$('#doccode').val();
|
if( panelTitle==''){
|
panelTitle=formid+'功能数据导入';
|
}
|
$('a').click(function(){//按钮点击进入
|
if(this.id=='download'){//下载模板
|
window.open("/excel.do?e=down&formId="+formid);
|
}else if(this.id=='import'){//导入
|
$.messager.confirm('确认', '<div class=\"tet\">已经检查好Excel内容和映射设置确定导入?</div>', function(r){
|
if (r){
|
ajaxLoading();
|
var formdata=new FormData($("#upFrame")[0]);
|
formdata.append('state',1);
|
formdata.append('pFrame',pF);
|
formdata.append('formid',formid);
|
formdata.append('formtype',formtype);
|
formdata.append('panelTitle',panelTitle);
|
formdata.append('isDetailed',($('#isDetailed').is(':checked')?1:0));
|
formdata.append('doccode',(doccode==undefined?'':doccode));
|
try{
|
var id;
|
var param={};
|
$('.data').each(function(){ //获取映射设置数据
|
param[this.id]={};
|
id=this.id;
|
$('#'+this.id+' .'+this.id+'-input').each(function(){
|
param[id][this.id]=$(this).combobox('getValue');
|
});
|
formdata.append(id,JSON.stringify(param[id]));
|
});
|
}catch(e){return formdata;}
|
//改用ajax提交。-xin 2020-6-11 09:41:31
|
$.ajax({url:"/excel.do?m=xlsdata",type: "post",data:formdata,processData:false,//因为data值是FormData对象,不需要对数据做处理。
|
contentType:false,
|
success: function(data){
|
ajaxLoadEnd();
|
// data=eval('('+data+')');
|
if(data!=null){
|
if(data.state== 0){
|
$.messager.confirm('操作提示', '<div class=\"tet\">'+data.msg+'<br>退出导入页面?</div>', function(r){
|
if(r){
|
parent.closeTab();
|
}
|
});
|
}else if(data.state== 1){
|
$.messager.alert('操作提示','<div class=\"tet\">'+data.msg+'</div>');
|
}
|
}else{
|
$.messager.alert('操作提示','<div class=\"tet\">导入过程中出现错误!错误信息:'+data.msg+'</div>');
|
}
|
}
|
});
|
}
|
});
|
}
|
});
|
$("#xlsTitle").html(parent.frames[pF].document.title+"("+formid+")");
|
if(formtype==1 || formtype==3){
|
$('#isDetailed').val(0);
|
$('#isDetailed').prop('checked', false);
|
}
|
$('#tyy').html(formtype+'类型');
|
}
|
|
//加载映射
|
fileChange=function(){
|
//改用ajax提交。-xin 2020-6-11 09:41:31
|
ajaxLoading();
|
var formdata=new FormData($("#upFrame")[0]);
|
formdata.append('state',0);
|
formdata.append('formid',formId);
|
formdata.append('formtype',formType);
|
formdata.append('isDetailed',($('#isDetailed').is(':checked')?1:0));
|
$.ajax({
|
cache : true,
|
type : "post",
|
url : "/excel.do?m=xlsdata",
|
async : false,
|
data : formdata, //
|
dataType:"json",
|
contentType: false,
|
processData: false,
|
success: function(data){
|
try{
|
$('.xls1').html('');
|
$('.xls2').html('');
|
if(data.state==1){
|
var html ='';
|
var br=0;
|
var isys=false;
|
var err='';
|
var xls=data.xls;//Excel
|
var gform=data.gform;//系统
|
for(var e in xls){
|
html +='<div class=\"data\" id=\"'+e+'\"><div class=\"titl\">'+(e=='xls2'?'【主数据】':'【明细数据】')+'</div><table width=\"100%\">';
|
html +='<tr class=\"mname\"><td align=\"right\">Excel名</td><td align=\"center\">系统名</td><td align=\"right\">Excel名</td><td align=\"center\">系统名</td><td align=\"right\">Excel名</td><td align=\"center\">系统名</td></tr>';
|
br=0;
|
for(var x in xls[e]){
|
html +=(br==0?'<tr><td align=\"right\">'+xls[e][x]+':</td><td><input class=\"'+e+'-input\" id=\"'+e+x+'\" title=\"'+xls[e][x]+'\" value=\"\"></td>':'<td align=\"right\">'+xls[e][x]+':</td><td><input class=\"'+e+'-input\" id=\"'+e+x+'\" title=\"'+xls[e][x]+'\" value=\"\"></td>');
|
if(br==2){html +='</tr>';br=0;}else{br++;}
|
}
|
html +='</table></div>';
|
$('.'+e).html(html);
|
$('.'+e+'-input').each(function(){
|
$(this).combobox({
|
valueField:'id',
|
textField :'text',
|
data :gform[e+'-g'],
|
onLoadSuccess:function(){
|
for(var g in gform[e+'-g']){
|
if(gform[e+'-g'][g].text==this.title){
|
isys=true;
|
$(this).combobox('setValue',gform[e+'-g'][g].id);break;
|
}
|
}
|
if(err == '' && !isys){
|
err ='<div class=\"tet\">Excel与系统匹配有误,需要手动映射字段</div>';
|
}
|
}
|
});
|
});
|
html ='';
|
}
|
$('.spt').html('<label class=\"la\">映射设置</label>(注:<label>Excel名</label>映射到<label>系统名</label>选择的名称,不设置为系统默认,直接【导入】)</span>');
|
$('.mapping').addClass("m");
|
if(err != ''){
|
$.messager.alert('操作提示',err,'warning');
|
}
|
}else if(data.state==0){
|
$.messager.alert('操作提示','<div class=\"tet\">'+data.info+'</div>');
|
$('.xls1').html('<div class=\"tet\"><span style=\"color:red\">映射字段信息获取失败!</span></div>');
|
$('.mapping').addClass("m");
|
$('.spt').html('');
|
}
|
}catch(e){
|
$.messager.alert('操作提示','<div class=\"tet\">解析映射字段信息出现错误!</div>');
|
}
|
ajaxLoadEnd();
|
},error: function(XMLHttpRequest, textStatus, errorThrown) {
|
ajaxLoadEnd();
|
$.messager.alert('操作提示','<div class=\"tet\">解析映射字段信息出现错误!</div>');
|
}
|
});
|
}
|
|
//请稍候。。。启用
|
function ajaxLoading(){
|
$("<div class=\"datagrid-mask\"></div>").css({display:"block",width:"100%",height:$(window).height()}).appendTo("body");
|
$("<div class=\"datagrid-mask-msg\"></div>").html("正在处理,请稍候...").appendTo("body").css({height:"50px",display:"block",left:($(document.body).outerWidth(true) - 190) / 2,top:($(window).height()) / 2});
|
document.documentElement.style.overflow='hidden';
|
document.body.style.position='fixed';
|
document.body.style.top='0px';
|
document.body.style.width='100%';
|
}
|
//请稍候。。。结束
|
function ajaxLoadEnd(){
|
$(".datagrid-mask").remove();
|
$(".datagrid-mask-msg").remove();
|
document.documentElement.style.overflow='scroll';
|
document.body.style.position='static';
|
}
|
})(jQuery);
|
$(function(){
|
$.xlsfile();
|
});
|