public.js
上传用户:mingda
上传日期:2017-06-20
资源大小:27691k
文件大小:11k
源码类别:

OA系统

开发平台:

Java

  1.   var userData
  2. function SaveUserData(Main,Sub,strContent){
  3. //存到数据缓存中
  4. //Main为主key 如"List"
  5. //Sub 为子key 如"CustomerFlag"
  6. //strContent 为要存入的内容
  7. //无返回
  8. userData.setAttribute(Main+userData.value,strContent)
  9. userData.save(Sub+userData.value)
  10. }
  11. function LoadUserData(Main,Sub){
  12. //从数据缓存中装入到变量中
  13. //Main为主key 如"List"
  14. //Sub 为子key 如"CustomerFlag"
  15. //返回取出的内容
  16. userData.load(Sub+userData.value)  
  17. var sTmp=userData.getAttribute(Main+userData.value)
  18. if (sTmp==null) sTmp=""
  19. return sTmp
  20. }
  21. function TransXml(sSql){
  22. //替代非法XML字符
  23. var sql1=""
  24. for(var i=0;i<sSql.length;i++) {
  25. switch (sSql.charAt(i)) {
  26. case "<" :
  27. sql1=sql1+"&lt;";
  28. break;
  29. case ">" :
  30. sql1=sql1+"&gt;";
  31. break;
  32. default:
  33. sql1=sql1+sSql.charAt(i);
  34. }
  35. }
  36. return sql1
  37. }
  38. function ContDec(sValue,sPointNum) {
  39. var dblValue=parseFloat(sValue)
  40. if (isNaN(dblValue)) return sValue
  41. var iPointNum=parseInt(sPointNum)
  42. if (isNaN(iPointNum)) iPointNum=0
  43. if (iPointNum>9) iPointNum=9
  44. if (iPointNum<0) iPointNum=0
  45. var dbl1=Math.round(dblValue*Math.pow(10,iPointNum))/Math.pow(10,iPointNum)
  46. var s1=dbl1+""
  47. var num0=0
  48. if(s1.indexOf(".")==-1){
  49. num0=iPointNum
  50. }
  51. else {
  52. var num1=s1.length-s1.indexOf(".")-1
  53. if(num1<iPointNum )
  54. num0=iPointNum-num1
  55. }
  56. if (num0>0) {
  57. var s2="000000000000000"
  58. if(num0==iPointNum)
  59. s1=s1+"."+s2.substring(0,num0)
  60. else
  61. s1=s1+s2.substring(0,num0)
  62. }
  63. //if (right(s1,1)==".")
  64. // s1=s1.substring(s1.length-1,s1.length)
  65. return s1
  66. }
  67. function PrintArray(cText) {
  68. //返回一个数组
  69. //"1-3,5" --> 1 2 3 5的数组
  70.     var i =0, ilen =0, iul =0, j=0
  71.     var cstring ="", csubstr=""
  72.     var cstrStart="", cstrEnd =""
  73.     var iPosSeperator=0 , iposMinus =0
  74.     var ival =0, ival1 =0, ival2 =0
  75.     var iarray=new Array()
  76.     var iParray=new Array()
  77.     
  78.     
  79.     cstring = trim(cText)
  80.     
  81.     do
  82.     {
  83.         iPosSeperator = cstring.indexOf(",")
  84.         if (iPosSeperator < 0){
  85.             csubstr = cstring
  86. }            
  87.         else {
  88.             csubstr = cstring.substring(0, iPosSeperator)
  89.             cstring = cstring.substring(iPosSeperator + 1,cstring.length)
  90.             //alert(csubstr+" "+cstring)
  91.         }
  92.         
  93.         
  94.         iposMinus = csubstr.indexOf("-")
  95.         if( iposMinus > 0 ){
  96.             cstrStart = csubstr.substring( 0, iposMinus )
  97.             cstrEnd = trim(csubstr.substring(iposMinus + 1,csubstr.length))
  98.             ival1 = parseInt(cstrStart)
  99.             ival2 = parseInt(cstrEnd)
  100.             
  101.             if (ival1 != 0 || ival2 != 0 ){
  102.                 if (ival1 == 0 && ival2 > 0 ) {
  103.                     iul = iarray.length
  104.                     //ReDim Preserve iarray(iul + 1)
  105.                     iarray[iul] = ival2
  106.                 }
  107.                 else {
  108.                     if (ival1 > 0 && ival2 == 0 ) {
  109.                         iul = iarray.length
  110.                         iarray[iul] = ival1
  111.                     }
  112.                     else {   
  113.                         if( ival1 > ival2 ){
  114.                             ival = ival1
  115.                             ival1 = ival2
  116.                             ival2 = ival
  117.                         }
  118.                         iul = iarray.length
  119.                         //ReDim Preserve iarray(iul + ival2 - ival1 + 1)
  120.                         for( i = 0 ;i<= ival2 - ival1;i++){
  121.                             iarray[iul + i] = ival1 + i
  122.                         }
  123. }
  124.                 }
  125. }
  126.         }
  127.         else {
  128.             ival = parseInt(csubstr)
  129.             //If ival < 0 Then GoTo PError
  130.             if( ival > 0 ){
  131.                 iul = iarray.length
  132.                 //ReDim Preserve iarray(iul + 1)
  133.                 iarray[iul] = ival
  134.             }
  135.         }
  136.     }        
  137.     while (iPosSeperator > 0) 
  138.     
  139.     ilen = iarray.length
  140.     if( ilen > 0) {
  141.         for( i = 0 ;i<= ilen - 2;i++){
  142.             for( j = i + 1;j<=ilen - 1;j++) {
  143.                 if (iarray[i] > iarray[j] ){
  144.                     ival = iarray[i]
  145.                     iarray[i] = iarray[j]
  146.                     iarray[j] = ival
  147.                 }
  148.             }
  149.         }
  150.     
  151.         ival = -1
  152.         for( i = 0 ;i<= ilen - 1;i++) {
  153.             if( iarray[i] != ival) {
  154.                 iul = iParray.length
  155.                 //ReDim Preserve iParray(iul + 1)
  156.                 iParray[iul] = iarray[i]
  157.                 ival = iarray[i]
  158.             }
  159.         }
  160.     }
  161. return iParray
  162.     
  163. }
  164. function SqlToField(sql) {
  165. //通过SQL返回一个字段的第一个记录值,返回类型:字符
  166. var sRet=""
  167. var sXml=fc_select(sql,1,2)
  168. if(sXml!="<root></root>") {
  169. var oXml=new ActiveXObject("Microsoft.XMLDOM")
  170. oXml.async="false";
  171. oXml.loadXML(sXml)
  172. sRet=oXml.documentElement.childNodes(0).text
  173. }
  174. return sRet
  175. }
  176. function RemoveRoot(strX){
  177.   //去掉根结点标记
  178.   //13==>15 -7==>-9 是指结尾用换行回车符
  179.   if (strX.length>13)
  180. {
  181. strX=strX.substring(6,strX.length-7)
  182. return strX
  183. }
  184. else
  185. {
  186. return ""
  187. }
  188. }
  189. function getreportcell(iRow,iCol,strTableName){
  190. return GETREPORTCELL(iRow,iCol,strTableName)
  191. }
  192. function GETREPORTCELL(iRow,iCol,strTableName) {
  193. //跨表取数
  194. //sdgdfg
  195. var sXml="<Row>"+iRow+"</Row>"+"<Col>"+iCol+"</Col>"+"<TableName>"+escape(strTableName)+"</TableName>"
  196. var retX=SendHttp("http://"+location.host+"/WebPrint?GetReportCell",sXml)
  197. retX=RemoveRoot(retX)
  198. var s1=unescape(retX)
  199. if (isNaN(parseFloat(s1)))
  200. var v=s1
  201. else
  202. var v=parseFloat(s1)
  203. return v
  204. }
  205. function GETDB(strConnection,strSql) {
  206. //从数据库中取数函数//取第一条记录的第一个字段的值
  207. var sXml="<Conn>"+strConnection+"</Conn><sSql>"+strSql+"</sSql>"
  208. // var sT=SendHttp("servlet/javaReport?GetDB",s1)
  209. var retX=SendHttp("http://"+location.host+"/WebPrint?GetDB",sXml)
  210. return retX
  211. }
  212. function DelReport(sRepName) {
  213. //删除报表
  214. //sRepName为未加码的报表名称
  215. var sRet=fc_insert("delete fccell where fstrTableName='"+escape(sRepName)+"'")
  216. if(isSpace(sRet)){
  217. ShowXml("")
  218. }
  219. else {
  220. alert(sRet)
  221. }
  222. }
  223. function fc_insertClob(sXml){
  224. //插入带备注型的表
  225. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_insertClob",sXml)
  226. return retX
  227. }
  228. function fc_updateClob(sXml){
  229. //更新带备注型的表
  230. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_updateClob",sXml)
  231. return retX
  232. }
  233. function fc_loadClob(sXml){
  234. //装入带备注型的表
  235. //sXml为带XML标签的表名 如<no>%20dd</no>
  236. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_loadClob",sXml)
  237. return retX
  238. }
  239. function fc_loadClob1(sXml){
  240. //装入带备注型的表
  241. //sXml为带XML标签的表名 如<no>%20dd</no>
  242. //求fstrtable1的值
  243. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_loadClob1",sXml)
  244. return retX
  245. }
  246. function fc_insert(sSql) {
  247. //执行插入
  248. var sXml="<No>"+sSql+"</No>"
  249. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_insert",sXml)
  250. return retX
  251. }
  252. function fc_insert1(sXml) {
  253. //执行为一对多表插入
  254. //参数串先为主表,后为子表,子表的最后字段值主子表关联字段值,在这不用管了(包括后括号也不用管了)。
  255. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_insert1",sXml)
  256. return retX
  257. }
  258. function fc_update1(sXml) {
  259. //执行为一对多表修改
  260. //参数串先为主表,后为子表
  261. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_update1",sXml)
  262. return retX
  263. }
  264. function fc_select(sSql,PageNo,PageSize) {
  265. //执行查询
  266. //PageNo页码
  267. //PageSize页尺寸,即一页含多少行
  268. var sql1=""
  269. for(var i=0;i<sSql.length;i++) {
  270. switch (sSql.charAt(i)) {
  271. case "<" :
  272. sql1=sql1+"&lt;";
  273. break;
  274. case ">" :
  275. sql1=sql1+"&gt;";
  276. break;
  277. default:
  278. sql1=sql1+sSql.charAt(i);
  279. }
  280. }
  281. //替代非法XML字符
  282. var sXml="<No>"+sql1+"</No>"+"<No1>"+PageNo+"</No1>"+"<No2>"+PageSize+"</No2>"
  283. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_select",sXml)
  284. return retX
  285. }
  286. function isSpace(strMain){
  287. strComp=strMain
  288. if (strComp==" " || strComp=="" || strComp==" " || strComp==null || strComp.length==0 ) { 
  289. return true
  290. }
  291. else
  292. {
  293. return false
  294. }
  295. }
  296. function SendHttp(sAspFile,sSend)
  297. {
  298.     if (navigator.onLine==false) 
  299.     {
  300. return "你现在处于脱机状态,请联机后再试!"
  301.     }
  302.     var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  303.     xmlhttp.Open("POST", sAspFile, false);
  304. try
  305. {
  306.     xmlhttp.Send("<root>"+sSend+"</root>");
  307. }
  308. catch (exception)
  309. {
  310. alert("服务器忙!")
  311. }
  312. try
  313. {
  314. var str11=xmlhttp.responseText
  315. }
  316. catch (exception)
  317. {
  318. if (exception.description=='系统错误: -1072896748。') 
  319. {
  320. str11=""
  321. }
  322. }
  323. return str11
  324. }
  325. function curDate() {
  326. var dDate=new Date()
  327. var s1=""+dDate.getYear()
  328. var s2=dDate.getMonth()+1
  329. if (s2<10) 
  330. s2="0"+s2
  331. else
  332. s2=""+s2
  333. var s3=dDate.getDate()
  334. if (s3<10) 
  335. s3="0"+s3
  336. else
  337. s3=""+s3
  338. return s1+"-"+s2+"-"+s3 
  339. }
  340. //字符串实用函数
  341. function getFront(mainStr,searchStr){
  342. foundOffset=mainStr.indexOf(searchStr)
  343. if (foundOffset==-1) {
  344. return null
  345. }
  346. return mainStr.substring(0,foundOffset)
  347. }
  348. function getEnd(mainStr,searchStr) {
  349. foundOffset=mainStr.indexOf(searchStr)
  350. if (foundOffset==-1) {
  351. return null
  352. }
  353. return mainStr.substring(foundOffset+searchStr.length,mainStr.length)
  354. }
  355. function replaceString(mainStr,searchStr,replaceStr) {
  356. //代替字符串
  357. //mainStr为源串  searchStr为要查找的串  replaceStr为要改为的串
  358. //返回替换后的串
  359. var front=getFront(mainStr,searchStr)
  360. var end=getEnd(mainStr,searchStr)
  361. if (front!=null && end!=null) {
  362. return front+replaceStr+end
  363. }
  364. return mainStr
  365. }
  366. function left(mainStr,lngLen) {
  367. if (lngLen>0) {
  368. return mainStr.substring(0,lngLen)
  369. }
  370. else
  371. {
  372. return null
  373. }
  374. }
  375. function right(mainStr,lngLen) {
  376. // alert(mainStr.length)
  377. if (mainStr.length-lngLen>=0 && mainStr.length>=0 && mainStr.length-lngLen<=mainStr.length) {
  378. return mainStr.substring(mainStr.length-lngLen,mainStr.length)
  379. }
  380. else
  381. {
  382. return null
  383. }
  384. }
  385. //滤掉左右空格
  386. function trim(strMain) {
  387. if (strMain==null) return ""
  388.   var str1=strMain
  389. //去掉回车符
  390.   var ascMain=strMain.charCodeAt(strMain.length-1)
  391. if (ascMain==32) str1=left(strMain,strMain.length-1)
  392. if (str1==null) return ""
  393.   for (var i=0;i<=str1.length-1;i++) {
  394.        var mychar=str1.charAt(i);
  395.        if ((mychar!=" ") && (mychar!=" ")) {
  396.            str1=str1.substring(i,str1.length);
  397.            break;
  398.            } 
  399.       }
  400.   for (var i=str1.length-1;i>0;i--) {
  401.       var mychar=str1.charAt(i);
  402.       if ((mychar!=" ")  && (mychar!=" ")) {
  403.          str1=str1.substring(0,i+1);
  404.          break;
  405.       }
  406.   }
  407.   return str1;
  408. }
  409. function fc_RepStr(mainStr,findStr,replaceStr){
  410. //多次替代
  411. var iStart=0
  412. var iEnd=0
  413. var sRet=""
  414. while (iStart<mainStr.length) {
  415. iEnd=mainStr.indexOf(findStr,iStart)
  416. if (iEnd<0) {
  417. iEnd=mainStr.length
  418. sRet=sRet+mainStr.substring(iStart,iEnd)
  419. }
  420. else {
  421. sRet=sRet+mainStr.substring(iStart,iEnd)+replaceStr
  422. }
  423. iStart=iEnd+findStr.length
  424. }
  425. return sRet
  426. }