1
0
mirror of https://gitee.com/bookshelfplus/bookshelfplus synced 2025-09-02 23:23:28 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee

分类详情下添加该分类的书籍详情

This commit is contained in:
2022-04-02 23:09:15 +08:00
parent 4446720adb
commit 42bc0a5316
5 changed files with 75 additions and 60 deletions

View File

@@ -0,0 +1,50 @@
function search({ tableElementId = "", searchText = "", categoryId = 0 }) {
getRequest("/book/search", { bookName: searchText, categoryId: categoryId })
.then(function (responseData) {
var axiosData = responseData.data;
var status = axiosData.status;
var data = axiosData.data;
if (status === "success") {
// console.log(data)
// 数据进行转换
var renderData = [];
data.forEach(element => {
var mainDivWidth = 80/*vw*/; // 定义div的宽度用于计算表格中的数据的显示长度
var columnWidth = [23, 17, 30, 10, 20];
renderData.push({
书名: ` <a target="_blank" href="/book?id=${element.category.id}">
<span class="overflow-omit" style="max-width: ${columnWidth[0] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
${element.bookName}
</span>
</a>`,
分类: ` <a target="_blank" href="/category?id=${element.category.id}">
<span class="overflow-omit" style="max-width: ${columnWidth[1] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
${element.category.name}
</span>
</a>`,
简介: ` <span class="overflow-omit" style="max-width: ${columnWidth[2] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
${element.description}
</span>`,
语言: ` <span class="overflow-omit" style="max-width: ${columnWidth[3] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
${element.language}
</span>`,
出版社: `<span class="overflow-omit" style="max-width: ${columnWidth[4] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
${element.publishingHouse}
</span>`,
})
});
if (renderData.length == 0) {
renderTable({ data: `没有搜索到与 <span style="color: red;">${searchboxValue}</span> 相关的书籍,请换个关键词再试试吧`, tableId: "result-table", renderTableHead: true });
} else {
renderTable({ data: renderData, tableId: tableElementId, renderTableHead: true });
}
// 渲染后重新获取一次字体
fontmin(getPageText());
} else {
alert(`出错啦!${data.errMsg} (错误码: ${data.errCode}) `);
}
});
}

View File

@@ -5,16 +5,24 @@
</head>
<body>
<%- include("./component/navbar.html"); %>
<main class="main">
<main class="main" style="max-width: 80vw;">
<!-- <h1><%= title %></h1> -->
<div id="container">
<!-- <a href="./book">书本详情页</a> -->
</div>
<hr style="margin: 30px 0;">
<div id="container-book">
<table id="book-table" style="width: 100%;"></table>
</div>
</main>
<%- include("./component/footer.html"); %>
<!-- 获取参数 -->
<script src="/assets/javascripts/getParams.js"></script>
<!-- 渲染表格 -->
<script src="/assets/javascripts/renderTable.js"></script>
<!-- 搜索书籍 -->
<script src="/assets/javascripts/searchBooks.js"></script>
<script>
var requestParams = getParams();
var searchbox = document.getElementById("searchInput");
@@ -23,6 +31,11 @@
if (categoryId === "") {
location.href = "/search";
}
search({
tableElementId: "book-table",
searchText: null,
categoryId: categoryId
});
</script>
<script>
getRequest("/category/get", { id: categoryId })

View File

@@ -52,6 +52,7 @@
<!-- 渲染表格 -->
<script src="/assets/javascripts/renderTable.js"></script>
<!-- 生成分类层级关系 -->
<script src="/assets/javascripts/generateCategoryHierarchy.js"></script>
<script>
getRequest("/category/list")

View File

@@ -41,69 +41,20 @@
<script src="/assets/javascripts/getParams.js"></script>
<!-- 渲染表格 -->
<script src="/assets/javascripts/renderTable.js"></script>
<!-- 搜索书籍 -->
<script src="/assets/javascripts/searchBooks.js"></script>
<script>
var requestParams = getParams();
var searchbox = document.getElementById("searchInput");
var keyword = (requestParams["keyword"] || "").trim();
searchbox.value = keyword;
if (keyword === "") {
search('');
if (keyword === "")
searchbox.focus();
} else {
search(keyword);
}
function search(searchboxValue) {
getRequest("/book/search", { bookName: searchboxValue })
.then(function (responseData) {
var axiosData = responseData.data;
var status = axiosData.status;
var data = axiosData.data;
if (status === "success") {
// console.log(data)
// 数据进行转换
var renderData = [];
data.forEach(element => {
var mainDivWidth = 80/*vw*/; // 定义div的宽度用于计算表格中的数据的显示长度
var columnWidth = [23, 17, 30, 10, 20];
renderData.push({
书名: ` <a target="_blank" href="/book?id=${element.category.id}">
<span class="overflow-omit" style="max-width: ${columnWidth[0] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
${element.bookName}
</span>
</a>`,
分类: ` <a target="_blank" href="/category?id=${element.category.id}">
<span class="overflow-omit" style="max-width: ${columnWidth[1] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
${element.category.name}
</span>
</a>`,
简介: ` <span class="overflow-omit" style="max-width: ${columnWidth[2] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
${element.description}
</span>`,
语言: ` <span class="overflow-omit" style="max-width: ${columnWidth[3] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
${element.language}
</span>`,
出版社: `<span class="overflow-omit" style="max-width: ${columnWidth[4] * mainDivWidth / 100}vw; max-height: 2em; margin: 0 auto;">
${element.publishingHouse}
</span>`,
})
});
if(renderData.length == 0) {
renderTable({ data: `没有搜索到与 <span style="color: red;">${searchboxValue}</span> 相关的书籍,请换个关键词再试试吧`, tableId: "result-table", renderTableHead: true });
} else {
renderTable({ data: renderData, tableId: "result-table", renderTableHead: true });
}
// renderTable({ data: data, tableId: "origin-table", renderTableHead: true });
// 渲染后重新获取一次字体
fontmin(getPageText());
} else {
alert(`出错啦!${data.errMsg} (错误码: ${data.errCode}) `);
}
});
}
search({
tableElementId: "result-table",
searchText: keyword,
categoryId: null
});
</script>
</body>
</html>

View File

@@ -61,8 +61,8 @@ public class BookServiceImpl implements BookService {
criteria.andBookNameLike("%" + bookModel.getBookName() + "%");
// if (StringUtils.isNotBlank(bookModel.getAuthor()))
// criteria.andAuthorEqualTo(bookModel.getAuthor());
// if (bookModel.getCategory() != null && bookModel.getCategory().getId() != null && bookModel.getCategory().getId() != 0)
// criteria.andCategoryIdEqualTo(bookModel.getCategory().getId());
if (bookModel.getCategory() != null && bookModel.getCategory().getId() != null && bookModel.getCategory().getId() != 0)
criteria.andCategoryIdEqualTo(bookModel.getCategory().getId());
// if (StringUtils.isNotBlank(bookModel.getPublishingHouse()))
// criteria.andPublishingHouseEqualTo(bookModel.getPublishingHouse());