您的位置:首页 > 其它

用友A6协同OA,想说爱你不容易

2008-01-22 15:46 344 查看
上周将OA从2.75sp1升级到2.75sp2,问题随之而来,不知用友的人脑子又进了什么水,居然又修改打印功能(2.75升级到2.75sp1时已经害过一回了),而且发版说明根本没提及这项修改。这下好了,待发事项、已发事项里打印出来的表单字体都灰的(直接保留了input、select等控件于表单中,属性设为readonly、disabled造成的),真想妈X他们。又得自己动手了。

修改文件:printPreview.htm(前两次修改有说明)

修改内容:
在最靠近<body...的Javascript处添加一个函数,用来移除控件并保留内容,然后在BODY的onload事件中调用它。代码如下:

//替换input等控件内容,只显示纯文本 --彭国辉 2008-01-22--
function ReplaceElementContent()
{
var main$ = document.getElementById("mainBody");
if (!main$) return;
var obj = main$.getElementsByTagName("INPUT");
for (i=obj.length-1; i>=0; i--)
{
if (obj[i].style.display=="none" || obj[i].style.visibility == "hidden")
obj[i].removeNode(true);
else
{
if(obj[i].onpropertychange!=null) obj[i].onpropertychange = null;
if(obj[i].type=="checkbox")
{
if(obj[i].checked)
obj[i].insertAdjacentHTML("beforeBegin","<font color=#000099>√</font>");
else
obj[i].insertAdjacentHTML("beforeBegin","<font color=#000099>×</font>");
}
else if (obj[i].type=="text")
obj[i].insertAdjacentHTML("beforeBegin","<font color=#000099>"+obj[i].value+"</font>");

obj[i].removeNode(true);
}
}

obj = main$.getElementsByTagName("SELECT");
for (i=obj.length-1; i>=0; i--)
{
if (obj[i].style.display!="none" && obj[i].style.visibility != "hidden")
{
obj[i].insertAdjacentHTML("beforeBegin","<font color=#000099 size=2>"+obj[i].options[obj[i].selectedIndex].text+"</font>");
}
obj[i].removeNode(true);
}

obj = main$.getElementsByTagName("TEXTAREA");
for (i=obj.length-1; i>=0; i--)
{
if (obj[i].style.display!="none" && obj[i].style.visibility != "hidden")
obj[i].insertAdjacentHTML("beforeBegin","<font color=#000099>"+obj[i].value.replace(/ /g,"<br>")+"</font>");
obj[i].removeNode(true);
}
}



PS:顺便修改嵌套内容的那个TABLE和DIV的宽度为100%(原为624),使内容超过624宽度时仍可打印完整。


<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">


<tr><td>


<div id="divMain" width=100%></div>

此文仅作记录留存,谢绝转载、引用或评论!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: