近来一些图书馆问到出纳窗读者信息框中借阅信息表格的是否超期一列太窄以及超期时该列的文字颜色是否可修改的问题,在此我总结了解决这些问题方法,有兴趣的可以了解一下,有讲的不清楚的地方请多请教。
1. 修改是否超期一列的列宽
打开图书馆应用服务器的数据目录(若不清楚图书馆应用服务器的数据目录在哪,可通过查看IIS,找到图书馆应用服务器的虚拟目录,在start.xml文件中可以看到数据目录的位置),在cfgs文件夹下找到readerxml2html.cs文件。用记事本打开该文件,修改蓝色加粗位置即可,其中第一处是修改表格的宽度(1024px),第二、三处是修改是否超期一列的列宽(50%),修改完成后保存文件。
也可以直接把这一段代码复制,然后粘贴到您对应文件的相应位置,修改完成后保存文件。
// 借阅的册
strResult += "<br/><b>借阅信息</b><br/>";
nodes = dom.DocumentElement.SelectNodes("borrows/borrow");
int nBorrowCount = nodes.Count;
strResult += "<table class='borrowinfo' width='1024px' cellspacing='1' cellpadding='4'>";
strResult += "<tr class='borrow_count'><td colspan='9' class='borrow_count'>";
string strMaxItemCount = GetParam(strReaderType, "", "可借总册数");
strResult += "最多可借:" + strMaxItemCount + " ";
int nMax = 0;
try {
nMax = System.Convert.ToInt32(strMaxItemCount);
}
catch
{
strResult += "当前读者 可借总册数 参数 '" + strMaxItemCount + "' 格式错误";
goto CONTINUE1;
}
strResult += "当前可借:" + System.Convert.ToString(Math.Max(0, nMax - nodes.Count)) + "";
CONTINUE1:
strResult += "</td></tr>";
strResult += "<tr class='columntitle'><td nowrap>册条码</td><td nowrap>摘要</td><td nowrap>价格</td><td nowrap>续借次</td><td nowrap>借阅日期</td><td nowrap>期限</td><td nowrap>操作者</td><td nowrap width='50%'>是否超期</td><td nowrap>续借注</td></tr>";
for(int i=0;i<nodes.Count;i++)
{
XmlNode node = nodes[i];
string strBarcode = DomUtil.GetAttr(node, "barcode");
string strNo = DomUtil.GetAttr(node, "no");
string strBorrowDate = DomUtil.GetAttr(node, "borrowDate");
string strPeriod = DomUtil.GetAttr(node, "borrowPeriod");
string strOperator = DomUtil.GetAttr(node, "operator");
string strRenewComment = DomUtil.GetAttr(node, "renewComment");
string strConfirmItemRecPath = DomUtil.GetAttr(node, "recPath");
string strPrice = DomUtil.GetAttr(node, "price");
/*
string strSummary = "";
string strBiblioRecPath = "";
Result result = this.App.GetBiblioSummary(
this.SessionInfo,
strBarcode,
strConfirmItemRecPath,
null,
out strBiblioRecPath,
out strSummary);
if (result.Value == -1)
strSummary = result.ErrorInfo;
else {
// 截断
if (strSummary.Length > 25)
strSummary = strSummary.Substring(0, 25) + "...";
if (strSummary.Length > 12)
strSummary = strSummary.Insert(12, "<br/>");
}
*/
/*
string strColor="bgcolor=#ffffff";
if (strBarcode == this.CurrentItemBarcode)
{
strColor = "bgcolor=#ff9999"; // 当前正在借阅的册
}
else if (IsRecentBorrowedItem(strBarcode) == true)
{
strColor = "bgcolor=#ffff99"; // 先前借阅过的册
}
*/
string strOverDue = "";
bool bOverdue = false;
// 检查超期情况。
// return:
// -1 数据格式错误
// 0 没有发现超期
// 1 发现超期 strError中有提示信息
nRet = App.CheckPeriod(
calendar,
strBorrowDate,
strPeriod,
out strError);
if (nRet == -1)
strOverDue = strError;
else if (nRet == 1)
{
strOverDue = strError; // "已超期";
bOverdue = true;
}
else
strOverDue = strError; // 可能也有一些必要的信息,例如非工作日
string strBarcodeLink = "<a href='"+App.LibraryServerUrl+"/book.aspx?barcode=" + strBarcode + "&borrower=" + strReaderBarcode +"&forcelogin=userid' target='_blank'>" + strBarcode + "</a>";
/* strResult += "<tr class='content' "+strColor+" nowrap>"; */
if (bOverdue == true)
strResult += "<tr class='content_overdue'>";
else
strResult += "<tr class='content'>";
strResult += "<td class='barcode' nowrap>" + strBarcodeLink + "</td>";
strResult += "<td class='summary' name='summary' id='"+i.ToString()+"' nowrap>" + strBarcode + "|" + strConfirmItemRecPath + "</td>";
strResult += "<td class='price' nowrap align='right'>" + strPrice + "</td>";
strResult += "<td class='no' nowrap align='right'>" + strNo + "</td>";
strResult += "<td class='borrowdate' >" + LocalDateOrTime(strBorrowDate, strPeriod) + "</td>";
strResult += "<td class='period' nowrap>" + LibraryApplication.GetDisplayTimePeriodString(strPeriod) + "</td>";
strResult += "<td class='operator' nowrap>" + strOperator + "</td>";
strResult += "<td class='overdue' width='50%'>" + strOverDue + "</td>";
strResult += "<td class='renewcomment' width='5%'>" + strRenewComment.Replace(";", "<br/>") + "</td>";
strResult += "</tr>";
}
strResult += "</table>";
保存完成后,重启IIS,重新打开dp2circulation,此时出纳窗已发生了修改。
2. 修改是否超期一列的文字颜色
关于修改超期时是否超期一列的文字颜色也很简单,具体操作是这样的:
打开图书馆应用服务器的虚拟目录,找到readerhtml.css文件,修改样式表中color的值(蓝色加粗位置),
TABLE.borrowinfo TR.content_overdue TD.overdue
{
font-weight: bolder;
color: black;
}
修改完成后保存文件,关闭出纳窗重新打开,便可兑现您的修改。