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.    //alert(sXml)
  210. var retX=SendHttp("http://"+location.host+"/WebPrint?GetDB",sXml)
  211. return retX
  212. }
  213. function DelReport(sRepName) {
  214. //删除报表
  215. //sRepName为未加码的报表名称
  216. var sRet=fc_insert("delete * from fccell where fstrTableName='"+escape(sRepName)+"'")
  217. if(isSpace(sRet)){
  218. ShowXml("")
  219. }
  220. else {
  221. alert(sRet)
  222. }
  223. }
  224. function fc_insert(sSql) {
  225. //执行插入
  226. var sXml="<No>"+sSql+"</No>"
  227. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_insert",sXml)
  228. return retX
  229. }
  230. function fc_insert1(sXml) {
  231. //执行为一对多表插入
  232. //参数串先为主表,后为子表,子表的最后字段值主子表关联字段值,在这不用管了(包括后括号也不用管了)。
  233. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_insert1",sXml)
  234. return retX
  235. }
  236. function fc_update1(sXml) {
  237. //执行为一对多表修改
  238. //参数串先为主表,后为子表
  239. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_update1",sXml)
  240. return retX
  241. }
  242. function fc_select(sSql,PageNo,PageSize) {
  243. //执行查询
  244. //PageNo页码
  245. //PageSize页尺寸,即一页含多少行
  246. var sql1=""
  247. for(var i=0;i<sSql.length;i++) {
  248. switch (sSql.charAt(i)) {
  249. case "<" :
  250. sql1=sql1+"&lt;";
  251. break;
  252. case ">" :
  253. sql1=sql1+"&gt;";
  254. break;
  255. default:
  256. sql1=sql1+sSql.charAt(i);
  257. }
  258. }
  259. //替代非法XML字符
  260. var sXml="<No>"+sql1+"</No>"+"<No1>"+PageNo+"</No1>"+"<No2>"+PageSize+"</No2>"
  261. var retX=SendHttp("http://"+location.host+"/WebPrint?fc_select",sXml)
  262. return retX
  263. }
  264. function isSpace(strMain){
  265. strComp=strMain
  266. if (strComp==" " || strComp=="" || strComp==" " || strComp==null || strComp.length==0 ) { 
  267. return true
  268. }
  269. else
  270. {
  271. return false
  272. }
  273. }
  274. function SendHttp(sAspFile,sSend)
  275. {
  276.     if (navigator.onLine==false) 
  277.     {
  278. return "你现在处于脱机状态,请联机后再试!"
  279.     }
  280.     var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  281.     xmlhttp.Open("POST", sAspFile, false);
  282. try
  283. {
  284.     xmlhttp.Send("<root>"+sSend+"</root>");
  285. }
  286. catch (exception)
  287. {
  288. alert("服务器忙!")
  289. }
  290. try
  291. {
  292. var str11=xmlhttp.responseText
  293. }
  294. catch (exception)
  295. {
  296. if (exception.description=='系统错误: -1072896748。') 
  297. {
  298. str11=""
  299. }
  300. }
  301. return str11
  302. }
  303. function curDate() {
  304. var dDate=new Date()
  305. var s1=""+dDate.getYear()
  306. var s2=dDate.getMonth()+1
  307. if (s2<10) 
  308. s2="0"+s2
  309. else
  310. s2=""+s2
  311. var s3=dDate.getDate()
  312. if (s3<10) 
  313. s3="0"+s3
  314. else
  315. s3=""+s3
  316. return s1+"-"+s2+"-"+s3 
  317. }
  318. //字符串实用函数
  319. function getFront(mainStr,searchStr){
  320. foundOffset=mainStr.indexOf(searchStr)
  321. if (foundOffset==-1) {
  322. return null
  323. }
  324. return mainStr.substring(0,foundOffset)
  325. }
  326. function getEnd(mainStr,searchStr) {
  327. foundOffset=mainStr.indexOf(searchStr)
  328. if (foundOffset==-1) {
  329. return null
  330. }
  331. return mainStr.substring(foundOffset+searchStr.length,mainStr.length)
  332. }
  333. function replaceString(mainStr,searchStr,replaceStr) {
  334. //代替字符串
  335. //mainStr为源串  searchStr为要查找的串  replaceStr为要改为的串
  336. //返回替换后的串
  337. var front=getFront(mainStr,searchStr)
  338. var end=getEnd(mainStr,searchStr)
  339. if (front!=null && end!=null) {
  340. return front+replaceStr+end
  341. }
  342. return mainStr
  343. }
  344. function left(mainStr,lngLen) {
  345. if (lngLen>0) {
  346. return mainStr.substring(0,lngLen)
  347. }
  348. else
  349. {
  350. return null
  351. }
  352. }
  353. function right(mainStr,lngLen) {
  354. // alert(mainStr.length)
  355. if (mainStr.length-lngLen>=0 && mainStr.length>=0 && mainStr.length-lngLen<=mainStr.length) {
  356. return mainStr.substring(mainStr.length-lngLen,mainStr.length)
  357. }
  358. else
  359. {
  360. return null
  361. }
  362. }
  363. //滤掉左右空格
  364. function trim(strMain) {
  365. if (strMain==null) return ""
  366.   var str1=strMain
  367. //去掉回车符
  368.   var ascMain=strMain.charCodeAt(strMain.length-1)
  369. if (ascMain==32) str1=left(strMain,strMain.length-1)
  370. if (str1==null) return ""
  371.   for (var i=0;i<=str1.length-1;i++) {
  372.        var mychar=str1.charAt(i);
  373.        if ((mychar!=" ") && (mychar!=" ")) {
  374.            str1=str1.substring(i,str1.length);
  375.            break;
  376.            } 
  377.       }
  378.   for (var i=str1.length-1;i>0;i--) {
  379.       var mychar=str1.charAt(i);
  380.       if ((mychar!=" ")  && (mychar!=" ")) {
  381.          str1=str1.substring(0,i+1);
  382.          break;
  383.       }
  384.   }
  385.   return str1;
  386. }
  387. function fc_RepStr(mainStr,findStr,replaceStr){
  388. //多次替代
  389. var iStart=0
  390. var iEnd=0
  391. var sRet=""
  392. while (iStart<mainStr.length) {
  393. iEnd=mainStr.indexOf(findStr,iStart)
  394. if (iEnd<0) {
  395. iEnd=mainStr.length
  396. sRet=sRet+mainStr.substring(iStart,iEnd)
  397. }
  398. else {
  399. sRet=sRet+mainStr.substring(iStart,iEnd)+replaceStr
  400. }
  401. iStart=iEnd+findStr.length
  402. }
  403. return sRet
  404. }
  405. function fillcombox(sSql) {
  406. //资料选择返回SQL等
  407. //sXml:1方案号 2过滤参数
  408. var sql1=""
  409. for(var i=0;i<sSql.length;i++) {
  410. switch (sSql.charAt(i)) {
  411. case "<" :
  412. sql1=sql1+"&lt;";
  413. break;
  414. case ">" :
  415. sql1=sql1+"&gt;";
  416. break;
  417. default:
  418. sql1=sql1+sSql.charAt(i);
  419. }
  420. }
  421. //替代非法XML字符
  422. var sXml="<No>"+sql1+"</No>"
  423. var retX=SendHttp("http://"+location.host+"/WebPrint?fillcombox",sXml)
  424. return retX
  425. //返回的串不带根节点
  426. //<option>...</option>...
  427. }
  428. function repXml(sSql) {
  429. //替代非法XML字符
  430. var sql1=""
  431. for(var i=0;i<sSql.length;i++) {
  432. switch (sSql.charAt(i)) {
  433. case "<" :
  434. sql1=sql1+"&lt;";
  435. break;
  436. case ">" :
  437. sql1=sql1+"&gt;";
  438. break;
  439. default:
  440. sql1=sql1+sSql.charAt(i);
  441. }
  442. }
  443. return sql1
  444. }