欢迎您来到 数字平台。 您尚未登录。[登录] [注册新用户]
当前位置: 论坛首页 / 栏目 产品与服务 / 文章 457

点击:8089[回复顶层] [树状] [详细]
[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章第 1 楼
文章id: 457
关于dp2circulation出纳窗读者信息框显示问题


关键词: 修改出纳窗表格显示样式


近来一些图书馆问到出纳窗读者信息框中借阅信息表格的是否超期一列太窄以及超期时该列的文字颜色是否可修改的问题,在此我总结了解决这些问题方法,有兴趣的可以了解一下,有讲的不清楚的地方请多请教。

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;
}

修改完成后保存文件,关闭出纳窗重新打开,便可兑现您的修改。



发表时间: 2009-03-19 10:40:20
最后修改时间: 2009-03-24 09:45:25



页 1 / 1
 

在线用户
访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客   访客访客 (我自己)   访客访客   访客访客   访客访客   访客访客
当前栏目在线用户数 27, 总在线用户数 28