📄 public.js
字号:
/*! servlet的相对路径,如没有相对路径则给值:servlet 如有相对路径值report则给值:webreport/servlet */
var servletPath="servlet";
/*! 调用哪种数据库,用于备注字段是否是Clob型,access/sqlserver/oracle/db2 */
var fc_Database="access";
/*! 客户端缓存用的对象变量 */
var userData
/**
*把数据存到数据缓存中
*@param Main 为主key, 如"List".
*@param Sub 为子key,如"CustomerFlag"
*@param strContent 为要存入的内容
*@return 无返回
*/
function SaveUserData(Main,Sub,strContent){
userData.setAttribute(Main+userData.value,strContent)
userData.save(Sub+userData.value)
}
/**
*从数据缓存中装入到变量中
*@param Main 为主key, 如"List".
*@param Sub 为子key,如"CustomerFlag"
*@return 返回取出的内容
*/
function LoadUserData(Main,Sub){
userData.load(Sub+userData.value)
var sTmp=userData.getAttribute(Main+userData.value)
if (sTmp==null) sTmp=""
return sTmp
}
/**
*替代非法XML字符,如<>
*@param sSql 为要替代的字符串,
*@return 返回替代后的字符串
*/
function TransXml(sSql){
var sql1=""
for(var i=0;i<sSql.length;i++) {
switch (sSql.charAt(i)) {
case "<" :
sql1=sql1+"<";
break;
case ">" :
sql1=sql1+">";
break;
default:
sql1=sql1+sSql.charAt(i);
}
}
return sql1
}
/**
*按小数位数格式化字符
*@param sValue 为要格式化的字符串,
*@param sPointNum 为小数位数,整型
*@return 返回格式化后的字符串
*/
function ContDec(sValue,sPointNum) {
var dblValue=parseFloat(sValue)
if (isNaN(dblValue)) return sValue
var iPointNum=parseInt(sPointNum)
if (isNaN(iPointNum)) iPointNum=0
if (iPointNum>9) iPointNum=9
if (iPointNum<0) iPointNum=0
var dbl1=Math.round(dblValue*Math.pow(10,iPointNum))/Math.pow(10,iPointNum)
var s1=dbl1+""
var num0=0
if(s1.indexOf(".")==-1){
num0=iPointNum
}
else {
var num1=s1.length-s1.indexOf(".")-1
if(num1<iPointNum )
num0=iPointNum-num1
}
if (num0>0) {
var s2="000000000000000"
if(num0==iPointNum)
s1=s1+"."+s2.substring(0,num0)
else
s1=s1+s2.substring(0,num0)
}
//if (right(s1,1)==".")
// s1=s1.substring(s1.length-1,s1.length)
return s1
}
/**
*将"1-3,5" --> 1 2 3 5的数组
*@param cText 为要处理的字符串,
*@return 返回一个数组
*/
function PrintArray(cText) {
//返回一个数组
//"1-3,5" --> 1 2 3 5的数组
var i =0, ilen =0, iul =0, j=0
var cstring ="", csubstr=""
var cstrStart="", cstrEnd =""
var iPosSeperator=0 , iposMinus =0
var ival =0, ival1 =0, ival2 =0
var iarray=new Array()
var iParray=new Array()
cstring = trim(cText)
do
{
iPosSeperator = cstring.indexOf(",")
if (iPosSeperator < 0){
csubstr = cstring
}
else {
csubstr = cstring.substring(0, iPosSeperator)
cstring = cstring.substring(iPosSeperator + 1,cstring.length)
//alert(csubstr+" "+cstring)
}
iposMinus = csubstr.indexOf("-")
if( iposMinus > 0 ){
cstrStart = csubstr.substring( 0, iposMinus )
cstrEnd = trim(csubstr.substring(iposMinus + 1,csubstr.length))
ival1 = parseInt(cstrStart)
ival2 = parseInt(cstrEnd)
if (ival1 != 0 || ival2 != 0 ){
if (ival1 == 0 && ival2 > 0 ) {
iul = iarray.length
//ReDim Preserve iarray(iul + 1)
iarray[iul] = ival2
}
else {
if (ival1 > 0 && ival2 == 0 ) {
iul = iarray.length
iarray[iul] = ival1
}
else {
if( ival1 > ival2 ){
ival = ival1
ival1 = ival2
ival2 = ival
}
iul = iarray.length
//ReDim Preserve iarray(iul + ival2 - ival1 + 1)
for( i = 0 ;i<= ival2 - ival1;i++){
iarray[iul + i] = ival1 + i
}
}
}
}
}
else {
ival = parseInt(csubstr)
//If ival < 0 Then GoTo PError
if( ival > 0 ){
iul = iarray.length
//ReDim Preserve iarray(iul + 1)
iarray[iul] = ival
}
}
}
while (iPosSeperator > 0)
ilen = iarray.length
if( ilen > 0) {
for( i = 0 ;i<= ilen - 2;i++){
for( j = i + 1;j<=ilen - 1;j++) {
if (iarray[i] > iarray[j] ){
ival = iarray[i]
iarray[i] = iarray[j]
iarray[j] = ival
}
}
}
ival = -1
for( i = 0 ;i<= ilen - 1;i++) {
if( iarray[i] != ival) {
iul = iParray.length
//ReDim Preserve iParray(iul + 1)
iParray[iul] = iarray[i]
ival = iarray[i]
}
}
}
return iParray
}
/**
*通过SQL返回一个字段的第一个记录值,返回类型:字符
*@param sql 为要处理的字符串,
*@return 返回一个数组
*/
function SqlToField(sql) {
//通过SQL返回一个字段的第一个记录值,返回类型:字符
var sRet=""
var sXml=fc_select(sql,1,2)
if(sXml!="<root></root>") {
var oXml=new ActiveXObject("Microsoft.XMLDOM")
oXml.async="false";
oXml.loadXML(sXml)
sRet=oXml.documentElement.childNodes(0).text
}
return sRet
}
/**
* 去掉根结点标记
* 13==>15 -7==>-9 是指结尾用换行回车符
*@param strX 为要处理前的字符串,
*@return 返回处理后的字符串
*/
function RemoveRoot(strX){
//去掉根结点标记
//13==>15 -7==>-9 是指结尾用换行回车符
if (strX.length>13)
{
strX=strX.substring(6,strX.length-7)
return strX
}
else
{
return ""
}
}
function getreportcell(iRow,iCol,strTableName){
return GETREPORTCELL(iRow,iCol,strTableName)
}
function GETREPORTCELL(iRow,iCol,strTableName) {
//跨表取数
//sdgdfg
var sXml="<Row>"+iRow+"</Row>"+"<Col>"+iCol+"</Col>"+"<TableName>"+escape(strTableName)+"</TableName>"
var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?GetReportCell",sXml)
retX=RemoveRoot(retX)
var s1=unescape(retX)
if (isNaN(parseFloat(s1)))
var v=s1
else
var v=parseFloat(s1)
return v
}
function GETDB(strConnection,strSql) {
//从数据库中取数函数//取第一条记录的第一个字段的值
var sXml="<Conn>"+strConnection+"</Conn><sSql>"+strSql+"</sSql>"
// var sT=SendHttp("servlet/javaReport?GetDB",s1)
//alert(sXml)
var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?GetDB",sXml)
return retX
}
function DelReport(sRepName) {
//删除报表
//sRepName为未加码的报表名称
var sRet=fc_insert("delete * from fccell where fstrTableName='"+escape(sRepName)+"'")
if(isSpace(sRet)){
ShowXml("")
}
else {
alert(sRet)
}
}
/**
*执行插入
**/
function fc_insert(sSql) {
//执行插入
var sXml="<No>"+sSql+"</No>"
var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_insert",sXml)
return retX
}
/**
//执行为一对多表插入
//参数串先为主表,后为子表,子表的最后字段值主子表关联字段值,在这不用管了(包括后括号也不用管了)。
**/
function fc_insert1(sXml) {
//执行为一对多表插入
//参数串先为主表,后为子表,子表的最后字段值主子表关联字段值,在这不用管了(包括后括号也不用管了)。
var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_insert1",sXml)
return retX
}
/**
//执行为一对多表修改
//参数串先为主表,后为子表
**/
function fc_update1(sXml) {
//执行为一对多表修改
//参数串先为主表,后为子表
var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_update1",sXml)
return retX
}
/**
*执行查询
*@param PageNo 页码
*@param PageSize 页尺寸,即一页含多少行
*@return 查询结果
**/
function fc_select(sSql,PageNo,PageSize) {
//执行查询
//PageNo页码
//PageSize页尺寸,即一页含多少行
var sql1=""
for(var i=0;i<sSql.length;i++) {
switch (sSql.charAt(i)) {
case "<" :
sql1=sql1+"<";
break;
case ">" :
sql1=sql1+">";
break;
default:
sql1=sql1+sSql.charAt(i);
}
}
//替代非法XML字符
var sXml="<No>"+sql1+"</No>"+"<No1>"+PageNo+"</No1>"+"<No2>"+PageSize+"</No2>"
var retX=SendHttp("http://"+location.host+"/"+servletPath+"/WebPrint?fc_select",sXml)
return retX
}
/**
*判断是否为空
**/
function isSpace(strMain){
strComp=strMain
if (strComp==" " || strComp=="" || strComp==" " || strComp==null || strComp.length==0 ) {
return true
}
else
{
return false
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -