From 6d02ede2ec0389544df0da423e1fd0ab75d0f981 Mon Sep 17 00:00:00 2001 From: xuhuajiao <13476289682@163.com> Date: Sat, 9 May 2026 16:07:27 +0800 Subject: [PATCH] 0509 --- api/book.js | 72 ++- components/book-list-item/book-list-item.vue | 8 +- .../lending-list-item/lending-list-item.vue | 111 +++- pages.json | 6 - pages/home/home.vue | 35 +- pages/lendCar/lendCar copy.vue | 273 +++++++++ pages/lendCar/lendCar.vue | 293 +++++----- pages/search/search.vue | 279 +++++---- pages/user/user.vue | 1 - static/iconfont.css | 4 + static/iconfont.ttf | Bin 15796 -> 17172 bytes static/images/default-book.png | Bin 0 -> 8327 bytes .../activity-list/activity-list copy.vue | 157 +++++ subpkg/pages/activity-list/activity-list.vue | 125 ++-- subpkg/pages/book-detail/book-detail.vue | 204 ++++--- subpkg/pages/book-list/book-list.vue | 8 +- subpkg/pages/feedback-list/feedback-list.vue | 76 +-- subpkg/pages/myLending/myLending copy.vue | 335 +++++++++++ subpkg/pages/myLending/myLending.vue | 538 +++++++----------- subpkg/pages/ranking/ranking.vue | 217 ++++--- subpkg/pages/unbind-card/unbind-card.vue | 189 ------ 21 files changed, 1834 insertions(+), 1097 deletions(-) create mode 100644 pages/lendCar/lendCar copy.vue create mode 100644 static/images/default-book.png create mode 100644 subpkg/pages/activity-list/activity-list copy.vue create mode 100644 subpkg/pages/myLending/myLending copy.vue delete mode 100644 subpkg/pages/unbind-card/unbind-card.vue diff --git a/api/book.js b/api/book.js index a6e5b65..5dd8a87 100644 --- a/api/book.js +++ b/api/book.js @@ -1,6 +1,7 @@ import request from '../utils/request'; // 查询读者当前借阅(群) +// http://192.168.99.63:14000/api/screenSetting/rdloanlist?rdid=420703GD0000748&sm4Key=86ACEF6CE6A65A4A&thirdAppid=feitian_gdlib&thirdSecret=edi56b6p5hi69dwk03so86uv2olhszqp&thirdUrl=http://218.200.95.251:8088/openlib export function FetchRdloanlist(data) { return request({ url: '/api/screenSetting/rdloanlist', @@ -8,6 +9,25 @@ export function FetchRdloanlist(data) { }) } +// 查询读者历史借阅 +// http://192.168.99.63:14000/api/screenSetting/historyloan?rdid=420703GD0000748&sm4Key=86ACEF6CE6A65A4A&thirdAppid=feitian_gdlib&thirdSecret=edi56b6p5hi69dwk03so86uv2olhszqp&thirdUrl=http://218.200.95.251:8088/openlib +export function FetchHistoryloan(data) { + return request({ + url: '/api/screenSetting/historyloan', + data + }) +} + + +// 续借(群) +// http://192.168.99.63:14000/api/screenSetting/renewbook?barcode=420703GD00004461&logtype=30007&opuser=JH001&rdid=420703GD0000748&sm4Key=86ACEF6CE6A65A4A&thirdAppid=feitian_gdlib&thirdSecret=edi56b6p5hi69dwk03so86uv2olhszqp&thirdUrl=http://218.200.95.251:8088/openlib +export function FetchRenewbook(data) { + return request({ + url: '/api/screenSetting/renewbook', + data + }) +} + // 图书推荐 export function FetchInitScreenBookRecommend(data) { @@ -17,10 +37,50 @@ export function FetchInitScreenBookRecommend(data) { }) } +// 图书检索接口 +// http://192.168.99.63:14000/api/screenSetting/bookSearch?opacUrl=http%3A%2F%2F218.200.95.251%3A8081%2Fopac%2F&page=1&query=%E5%BE%AE%E4%BF%A1&rows=10&scWay=dim&searchWay=title&sortOrder=desc&sortWay=score + +// opacUrl / page:'1' / query / rows:'10' / scWay / searchWay / sortOrder desc / sortWay +export function FetchBookSearch(data) { + return request({ + url: '/api/screenSetting/bookSearch', + data + }) +} + + +// 书目记录号获取书目信息接口 +// /api/screenSetting/findbookByQuery?opacUrl=http://218.200.95.251:8081/opac/&bookrecno= + +export function FetchFindbookByQuery(data) { + return request({ + url: '/api/screenSetting/findbookByQuery', + data + }) +} + +// 通过isbn获取图书封面 +export function FetchCoverByISBN(data) { + return request({ + url: '/dxhtsg/getCoverByISBN', + data + }) +} + + +// 文献排行榜 +// /api/screenSetting/sync36 + +// 读者借阅排行榜 +export function FetchBookRanking(data) { + return request({ + url: '/api/screenSetting/sync36', + data + }) +} + +// 馆藏量 +// /api/screenSetting/sync35 -// export function FetchInitScreenBookRecommend(data) { -// return request({ -// url: '/qyzt/getNewBook', -// data -// }) -// } \ No newline at end of file +// 累计借出 +// /api/screenSetting/sync82 \ No newline at end of file diff --git a/components/book-list-item/book-list-item.vue b/components/book-list-item/book-list-item.vue index 85ecef4..cbaf45e 100644 --- a/components/book-list-item/book-list-item.vue +++ b/components/book-list-item/book-list-item.vue @@ -9,12 +9,13 @@ /> --> - {{ data.name || '暂无标题' }} + {{ data.title || data.name || '暂无标题' }} {{ data.author || '佚名' }} {{ data.publisher || '暂无出版社数据' }} @@ -45,6 +46,9 @@ export default { } }, methods: { + onImgError(e) { + e.target.src = "/static/images/default-book.png"; + }, hotNumber(num) { if (!num) return "0"; if (num >= 10000) { diff --git a/components/lending-list-item/lending-list-item.vue b/components/lending-list-item/lending-list-item.vue index 410d2e0..4265829 100644 --- a/components/lending-list-item/lending-list-item.vue +++ b/components/lending-list-item/lending-list-item.vue @@ -4,31 +4,39 @@ {{ data.title || '暂无标题' }} - {{ data.nickname || '佚名' }} - {{ data.publish || '暂无出版社数据' }} + {{ data.author || '佚名' }} - {{ data.desc || '暂无简介' }} + {{ data.localname || data.oplocalname }} + - 借阅开始时间:{{ data.startTime || '' }} - 最后归还时间:{{ data.returnTime || '' }} - 实际归还时间:{{ data.realityTime }} + 借书时间:{{ data.loantime || '' }} + 应还时间:{{ data.returntime || '' }} - - - - - - + + + + @@ -40,10 +48,44 @@ export default { data: { type: Object, required: true + }, + // 父组件传:是否是在借列表 + isLending: { + type: Boolean, + default: false + } + }, + computed: { + status() { + if (!this.isLending || !this.data.returntime) return ''; + + const now = Date.now(); + const returnTime = new Date(this.data.returntime).getTime(); + + // 相差毫秒数 + const diffTime = returnTime - now; + // 换算成天数 + const day = diffTime / (1000 * 60 * 60 * 24); + + // 1. 已经过期 → 逾期 + if (day < 0) { + return 'overdue'; + } + + // 2. 没过期,但 ≤3 天 → 临期 + if (day <= 3) { + return 'warning'; + } + + // 3. 大于3天 → 正常,不显示 + return ''; } }, methods: { - } + onImgError(e) { + e.target.src = "/static/images/default-book.png"; + } + }, }; @@ -54,40 +96,44 @@ export default { border-radius: 6px; border-bottom: 1px solid #f4f4f4; margin-bottom: 10px; + .book-item-box { display: flex; justify-content: flex-start; align-items: flex-start; + .item-box-left { margin-right: 10px; - .img-item{ + + .img-item { width: 64px; height: 90px; border-radius: 5px; } } + .item-box-right { display: flex; flex-direction: column; justify-content: flex-start; flex: 1; + .item-title { font-size: 15px; font-weight: bold; color: #000; - padding-bottom: 6px; + margin-bottom: 6px; } - .item-author, - .item-publish { + + .item-author { font-size: 12px; color: #191A1A; padding: 2px 4px; border-radius: 2px; background-color: #F4F6FC; - } - .item-author{ margin-right: 6px; } + .item-desc { font-size: 12px; color: #191A1A; @@ -96,20 +142,39 @@ export default { } } } -.lending-info{ + +.lending-info { display: flex; justify-content: space-between; align-items: center; padding: 10px 10px 10px 0; - .lending-time{ + + .lending-time { font-size: 12px; display: flex; flex-direction: column; justify-content: flex-start; line-height: 22px; } - .lending-status{ + + .lending-status { height: 50px; } + + .type-tag { + padding: 4px 10px; + border-radius: 12px; + font-size: 12px; + color: #fff; + font-weight: bold; + } + + .tag-lend { + background-color: #409eff; + } + + .tag-return { + background-color: #ff3871; + } } \ No newline at end of file diff --git a/pages.json b/pages.json index 5de74b1..9b18b57 100644 --- a/pages.json +++ b/pages.json @@ -150,12 +150,6 @@ "style": { "navigationBarTitleText": "" } - }, - { - "path": "pages/unbind-card/unbind-card", - "style": { - "navigationBarTitleText": "" - } } ] } diff --git a/pages/home/home.vue b/pages/home/home.vue index de824db..a622c63 100644 --- a/pages/home/home.vue +++ b/pages/home/home.vue @@ -16,7 +16,7 @@ 在借中 - + + - 借阅清单 + 历史借阅 @@ -54,19 +54,25 @@ 书目检索 - + 图书续借 - + + + + + + 电子证 - + @@ -84,12 +90,6 @@ 读者留言 - - - - - 电子证 - @@ -262,8 +262,9 @@ export default { } }, goToBookDetail(item) { + // 把整个图书对象 转成字符串 带过去 uni.navigateTo({ - url: "/subpkg/pages/book-detail/book-detail?isbn=" + item.isbn + url: "/subpkg/pages/book-detail/book-detail?bookData=" + encodeURIComponent(JSON.stringify(item)) }) }, @@ -279,6 +280,12 @@ export default { url: "/pages/search/search" }); }, + // 去图书借阅车页 + onToLendCar() { + uni.switchTab({ + url: "/pages/lendCar/lendCar" + }); + }, // 点击未绑定借阅证区域 触发跳转 toCheckLogin() { uni.navigateTo({ diff --git a/pages/lendCar/lendCar copy.vue b/pages/lendCar/lendCar copy.vue new file mode 100644 index 0000000..a75097f --- /dev/null +++ b/pages/lendCar/lendCar copy.vue @@ -0,0 +1,273 @@ + + + + + \ No newline at end of file diff --git a/pages/lendCar/lendCar.vue b/pages/lendCar/lendCar.vue index 4bb161b..45cceba 100644 --- a/pages/lendCar/lendCar.vue +++ b/pages/lendCar/lendCar.vue @@ -1,151 +1,170 @@ @@ -157,13 +176,8 @@ export default { } .count-text { margin-bottom: 10px; - display: flex; - justify-content: space-between; /* 数量左,设置右 */ - align-items: center; -} -.edit-btn { - color: #01a4fe; font-size: 14px; + color: #333; } .car-list { display: flex; @@ -188,58 +202,27 @@ export default { border-radius: 6px; } } - .item-box-right { - flex: 1; - } - .item-title { - font-weight: bold; - margin-bottom: 4px; - } - .item-author, - .item-publish { - font-size: 12px; - background: #f4f6fc; - padding: 2px 6px; - border-radius: 4px; - margin-right: 6px; - } - .item-desc { - font-size: 12px; - color: #999; - margin-top: 6px; + .item-box-right { flex: 1; } + .item-title { font-weight: bold; margin-bottom: 4px; } + .item-author { + font-size: 12px; background: #f4f6fc; + padding: 2px 6px; border-radius: 4px; margin-right: 6px; } + .item-desc { font-size: 12px; color: #999; margin-top: 6px; } } -.bottom-placeholder { - height: 60px; -} +.bottom-placeholder { height: 60px; } .car-bottom { - position: fixed; - left: 0; - bottom: 0; - right: 0; - background: #fff; - padding: 12px 15px; - display: flex; - justify-content: space-between; - align-items: center; - box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.05); -} -.all-check { - display: flex; - align-items: center; + position: fixed; left: 0; bottom: 0; right: 0; + background: #fff; padding: 12px 15px; + display: flex; justify-content: space-between; align-items: center; + box-shadow: 0 -2px 5px rgba(0,0,0,0.05); } +.all-check { display: flex; align-items: center; } .join-btn { - font-size: 14px; - color: #fff; - margin: 0 !important; - background-color: #01a4fe !important; - border-radius: 23px; + font-size: 14px; color: #fff; + background: #01a4fe !important; border-radius: 23px; padding: 0 30px; - &::after{ - border: none !important; - } - &[disabled] { - background: #ccc !important; - } + &::after{ border: none !important; } + &[disabled] { background: #ccc !important; } } \ No newline at end of file diff --git a/pages/search/search.vue b/pages/search/search.vue index 60867ef..8e1ef92 100644 --- a/pages/search/search.vue +++ b/pages/search/search.vue @@ -32,141 +32,210 @@ - + - - - - 搜索到 {{ total }} 条记录,共 {{ totalPage }} 页,当前第 {{ page }} 页 - - 筛选 - + + + 搜索到 {{ total }} 条记录,共 {{ totalPage }} 页,当前第 {{ page }} 页 + + + - - - - - - - 上拉加载更多... - - - 没有更多数据了 - - - + + + + + + 上拉加载更多... + + + 没有更多数据了 + + + + + + + 没有检索到相关数据 + \ No newline at end of file diff --git a/pages/user/user.vue b/pages/user/user.vue index 38ccde9..6a3cd8d 100644 --- a/pages/user/user.vue +++ b/pages/user/user.vue @@ -263,7 +263,6 @@ export default { font-weight: 40; color: #fff; line-height: 17px; - opacity: 0.9; } } } diff --git a/static/iconfont.css b/static/iconfont.css index 5862b0d..dcde0dd 100644 --- a/static/iconfont.css +++ b/static/iconfont.css @@ -11,6 +11,10 @@ -moz-osx-font-smoothing: grayscale; } +.icon-kongshuju:before { + content: "\e61c"; +} + .icon-tuichu:before { content: "\e7ed"; } diff --git a/static/iconfont.ttf b/static/iconfont.ttf index 486df6feb8fb045e38784170ca645f61476ed6df..b35479f062824cf30cb4f6a57db298ac0f22196e 100644 GIT binary patch delta 2504 zcmZWoTWnlc72W&1?zzvI@yy)u3&-|2Gf+oP;>R7Qj+0V_QYugqNNI@>Rg|O&ZeD$b zRFyi04}>TmNKT`w6n-L+A0#RT1O$Wx2Ej)G(UcUa`KW}rc2KK^4^V}O%{p`WDD>P} z_ug~PzI(5=_L(0%d-1FM%^lsvV~>vzi5H2~r4y%~d9?Z0KbzDAVYJbC=cvDx#F zT_&Qpfb1j|qIc{c@cuJk;^gV4F8uVw<|YxpjrsRZojrPF^45GmzTbiQ!>5m2ILG@L z@r*SZJ#*yr@$%)}uMq7yhMFhNoqe+V)a~ov*iUrNt5~?7m`E;fF4O1ziA@Z@}4bK3)&XeMOh@YoXQq-U8Jjly=H6LENA$IZbN+OSTUH*C6 zL;L8HAGi+Cr~mIdMDF@*?;;uiry*+4Fnx$dXbV-TiAr^prlKAj0pfylqUrskMdFh2&KGS0Fo)M z7JzulT|vOLBX{2eFog201z-*3pDF;8D1WX1?4ta)4o<&Q_{Re9kn$S^;3nm76o9Xk z|G5Ahru@wU@S5_Q1>id6Zxw+5v<6}h=mf3J7eG&FZC?R&ht|5Ezzsm7Xbnsq&@x(k zr+_=2>qzWC22YT3KtE|6aSrG#tsg9a9@F|u1<-9;|5gF?o!0ROaBvM@|9gQh4g=ll z6u_}yG1P0jlCE2i>=%HR5ytGlbO)t2iQ(*uo{`|s|5d*Hdj(ZSb-x@Tw*f5)$= zeR3H(DmZ5M(c^T5uF>!4Cf%Zc;*i#O3vc5G_;dV4zQE7&m-!-po3HXO_?O^WOS8Gz z*0|X^ZffcD9&UN#t=Viu7}?s+_)YO7&t-TmajiKv?ip{!l!R&2YmIcKJ3Tixoh`Cg zua($f8*z)=?6mgEtkZ5}3v4`-cCx)ZGo98OX}#S<284PEH%)tr+jB0zE4=`gX?=u| zwX=si8E!KjB$&=-TP_Q(Mv4nN*-X2|cyzMvOs&;!&HZ<`7v@6n>5g_wBcRpBUV^0U ztTl)AmS-BMft@LCIv%Dm-Jb4bjTC!Lw_8i`%jS^QG*Zmd#td9(W8T@Z6F${Jzu=p2 z+RgTgtYw;6r`1L%6l93piQuj2UdB60)E&FjLy=B4*KRd?(~bvwI$onw=$L~Q-p(G= znbd2eL<8|3ke#*=_kNXKh<~%M7A28b56k7W#O2VBqDsioh6yUsP$*)1g#|0cys_zt zz;JC~OenS{7UID$sW7v?bHy-=Ai%pAs|{)+#CyI{o;JSvA*;`D<67t`!CVQ3N&{(J zVG)Nvk;Zi8j}5ZdDg(o&Iu_Lsf}z|NKO%&&LF5NEkW$&GBHRCd7n{b$ea4p>n_^Hd z3f7+Ip|EFUbZ51c3KqItMJD-z25-;k8lKl<@D)O-#7d>V&z#nvqAR&Es8}A-O4g-S zeT!0;!A`P4y^jm2*fT68ORWPXRiu>$8F^lcAoP{h(j;1O)o`EGEa8)}EGC4A6UIj} zj)XX@Cti5)`K6_WjTFhPgkM|_!ID*_tCBcWB8WEL05>S|tg+I)#T;obkaxdNp0(nY zAPfT=hShRfE;mY3Q6=KA65Y989-D6O-{QFrIQ9@9?>cx~h4xov2#CYqs8xlEEQDP} zfHsfLA4KY|Z={tv(o(!9yx3Er97w}NRQ!>Oi~}4zXKZ~U>SHd)jd8}@Si?t+N&Ez9 z{HPq4{8$d~m$ZsdKlXya4?XBhHeOfCcUrWz(qA$)p#_%$RzmHP)|QR6U6~HS%DBoJ z-R`qW-6wn)DHSp(A!mfrV$^jeIjn_s)(cOLNGXy5L`gqX7Pde`G$5@2DJ!iOIts)y zQnyjhjWAAx`k1ITSVaI+LWMZ5Zj?RHVC!3>d}a6n^c-hQ zY0r;>&<5-&lWcrfY2UROKiET8m%Qz>Jh}4H!l9VAk^k7)Gbf%r`SjA$SKnRuHU9@> Cqk7x` delta 1120 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 literal 0 HcmV?d00001 diff --git a/subpkg/pages/activity-list/activity-list copy.vue b/subpkg/pages/activity-list/activity-list copy.vue new file mode 100644 index 0000000..f93579a --- /dev/null +++ b/subpkg/pages/activity-list/activity-list copy.vue @@ -0,0 +1,157 @@ + + + + + \ No newline at end of file diff --git a/subpkg/pages/activity-list/activity-list.vue b/subpkg/pages/activity-list/activity-list.vue index f93579a..e5accee 100644 --- a/subpkg/pages/activity-list/activity-list.vue +++ b/subpkg/pages/activity-list/activity-list.vue @@ -9,15 +9,17 @@ @scrolltolower="onLoadMore" lower-threshold="100" > + + {{ item.title }} - - - {{ item.time }} - + + + {{ item.time }} + - - - - - + + + diff --git a/subpkg/pages/book-list/book-list.vue b/subpkg/pages/book-list/book-list.vue index 5e3b4ef..e68ee34 100644 --- a/subpkg/pages/book-list/book-list.vue +++ b/subpkg/pages/book-list/book-list.vue @@ -62,12 +62,12 @@ export default { } }, - // 跳详情 goToDetail(item) { + // 把整个图书对象 转成字符串 带过去 uni.navigateTo({ - url: "/subpkg/pages/book-detail/book-detail?isbn=" + item.isbn - }); - } + url: "/subpkg/pages/book-detail/book-detail?bookData=" + encodeURIComponent(JSON.stringify(item)) + }) + }, } }; diff --git a/subpkg/pages/feedback-list/feedback-list.vue b/subpkg/pages/feedback-list/feedback-list.vue index fbea0e5..4a63bb6 100644 --- a/subpkg/pages/feedback-list/feedback-list.vue +++ b/subpkg/pages/feedback-list/feedback-list.vue @@ -2,6 +2,14 @@ + + + + + 暂无留言 + + + - - + + @@ -48,58 +56,17 @@ export default { data() { return { - // 留言列表数据(可从接口获取) - feedbackList: [ - { - nickname: "用户1", - avatar: "/static/images/avatar.png", - content: "这篇文章充满了激情,从字里行间能体会到作者的喜爱之情,全文层次清晰,语句流畅,叙事生动具体,趣味性强。", - createTime: "2026-04-23 10:23:01", - likeNum: 12, - isLike: false - }, - { - nickname: "热情读者", - avatar: "/static/images/avatar.png", - content: "写得非常棒!情感真挚,结构完整,非常有感染力,值得大家阅读学习。", - createTime: "2026-04-23 11:10:05", - likeNum: 8, - isLike: false - }, - { - nickname: "热情读者", - avatar: "/static/images/avatar.png", - content: "写得非常棒!情感真挚,结构完整,非常有感染力,值得大家阅读学习。", - createTime: "2026-04-23 11:10:05", - likeNum: 8, - isLike: false - }, - { - nickname: "热情读者", - avatar: "/static/images/avatar.png", - content: "写得非常棒!情感真挚,结构完整,非常有感染力,值得大家阅读学习。", - createTime: "2026-04-23 11:10:05", - likeNum: 8, - isLike: false - } - ] + feedbackList: [] // 测试空数据 + // feedbackList: [你的数据] }; }, methods: { - // 点赞功能 likeComment(index) { const item = this.feedbackList[index]; - if (item.isLike) { - // 取消点赞 - item.likeNum--; - } else { - // 点赞 - item.likeNum++; - } + item.isLike ? item.likeNum-- : item.likeNum++; item.isLike = !item.isLike; }, - // 写留言 goWriteComment() { uni.navigateTo({ url: '/subpkg/pages/feedback/feedback' @@ -119,6 +86,18 @@ export default { .feedback-list { height: calc(100vh - 80px); overflow-y: scroll; + padding: 10px; +} + +/* 空状态 */ +.empty-box { + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; + height: calc(100vh - 200px); + color: #999; + font-size: 15px; } /* 单条留言 */ @@ -130,7 +109,6 @@ export default { box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06); } -/* 顶部:头像 + 用户名 + 点赞 */ .feedback-item-top { display: flex; justify-content: space-between; @@ -156,7 +134,6 @@ export default { font-weight: 500; } -/* 点赞 */ .like-box { display: flex; align-items: center; @@ -168,7 +145,6 @@ export default { margin-left: 4px; } -/* 留言内容 */ .feedback-content { line-height: 1.6; } diff --git a/subpkg/pages/myLending/myLending copy.vue b/subpkg/pages/myLending/myLending copy.vue new file mode 100644 index 0000000..1a89dfd --- /dev/null +++ b/subpkg/pages/myLending/myLending copy.vue @@ -0,0 +1,335 @@ + + + + + \ No newline at end of file diff --git a/subpkg/pages/myLending/myLending.vue b/subpkg/pages/myLending/myLending.vue index 0d33f75..3202c77 100644 --- a/subpkg/pages/myLending/myLending.vue +++ b/subpkg/pages/myLending/myLending.vue @@ -1,5 +1,6 @@ \ No newline at end of file diff --git a/subpkg/pages/ranking/ranking.vue b/subpkg/pages/ranking/ranking.vue index b643a2f..39db3e0 100644 --- a/subpkg/pages/ranking/ranking.vue +++ b/subpkg/pages/ranking/ranking.vue @@ -9,13 +9,19 @@ - 借阅排行 + 读者借阅排行 - 由本图书馆累计借阅而定期生成排行榜单 - + 由本图书馆近30天读者借阅次数生成排行榜单 + + + + + 暂无读者排行数据 + + @@ -32,129 +38,106 @@ - + {{ index + 1 }} - + + - {{ item.title }} - {{ item.author }} - {{ item.desc }} + {{ item.TITLE || '暂无书名' }} + {{ item.AUTHOR || '佚名' }} + + 借阅次数:{{ item.TOTALNUM || 0 }} 次 + + + \ No newline at end of file