diff --git a/src/main/java/com/cardiff/client_project/mapper/SuperAdminMapper.java b/src/main/java/com/cardiff/client_project/mapper/SuperAdminMapper.java index 875327dfaf774e26572f62dc4d1301566e608def..0e4c448b955359bf1e2b5cfd9789be9cc3b4eb0a 100644 --- a/src/main/java/com/cardiff/client_project/mapper/SuperAdminMapper.java +++ b/src/main/java/com/cardiff/client_project/mapper/SuperAdminMapper.java @@ -388,4 +388,16 @@ public class SuperAdminMapper { System.out.println(query); return query; } + + /** + * page select + * @param pageSize + */ + public List<HospitalVO> selectPageHospital(Integer pageSize,Integer pageNumber) { + String sql="select * from hospital LIMIT ? OFFSET ?"; + int offset = (pageNumber - 1) * pageSize; + List<HospitalVO> query = jdbcTemplate.query(sql, new Object[]{pageSize,offset}, new BeanPropertyRowMapper<>(HospitalVO.class)); + System.out.println(query); + return query; + } } diff --git a/src/main/java/com/cardiff/client_project/service/imp/SuperAdminServiceImp.java b/src/main/java/com/cardiff/client_project/service/imp/SuperAdminServiceImp.java index 48ed88bce6246a5e66c717dfb3357785813857e4..5a7aa6cfde5887350ab189ef692e49a2c95bdf88 100644 --- a/src/main/java/com/cardiff/client_project/service/imp/SuperAdminServiceImp.java +++ b/src/main/java/com/cardiff/client_project/service/imp/SuperAdminServiceImp.java @@ -13,6 +13,7 @@ import com.cardiff.client_project.pojo.vo.AdminVO; import com.cardiff.client_project.pojo.vo.HospitalVO; import com.cardiff.client_project.pojo.vo.SelectVO; +import com.cardiff.client_project.service.HospitalService; import com.cardiff.client_project.service.SuperAdminService; import com.cardiff.client_project.utils.Result; import org.springframework.beans.BeanUtils; @@ -212,7 +213,23 @@ public class SuperAdminServiceImp implements SuperAdminService { } } if(type.equals("hospital")){ - + List<HospitalVO> hospitalvos = superAdminMapper.selectPageHospital(pageSize, pageNumber); + //get all and count items + List<Hospital> hospitallist = superAdminMapper.selectAllHospital(); + if(!hospitalvos.isEmpty()){ + System.out.println(hospitallist.size()); + Integer count=hospitallist.size()%pageSize==0?hospitallist.size()/pageSize:hospitallist.size()/pageSize+1; + + hospitalvos.forEach(hospitalVO -> { + if (hospitalVO.getStatus() == 1) { + hospitalVO.setStatus_str("ACTIVE"); + }else { + hospitalVO.setStatus_str("INACTIVE"); + } + }); + + return Result.success(count.toString(),hospitalvos); + } } return Result.error(ResponseCode.ERROR); } diff --git a/src/main/resources/static/js/mainHospitalView.js b/src/main/resources/static/js/mainHospitalView.js index 22d8d4702ee4860fbbde1c75a974befcb15e194c..f441f02657bd2152dedd0335e981be1577165ba6 100644 --- a/src/main/resources/static/js/mainHospitalView.js +++ b/src/main/resources/static/js/mainHospitalView.js @@ -286,4 +286,39 @@ function updateTable(data) { `; tbody.append(tr); }); -} \ No newline at end of file +} + +function pageSelect(pageSize,paginationDiv,pageNumber) { + $.ajax({ + contentType: "application/json", + url: `/superAdmin/pageSelect?type=hospital&pageSize=${pageSize}&pageNumber=${pageNumber}`, + type: "GET", + dataType: "Json", + success: function (data){ + console.log(data) + if (data.code != 0) { + console.log(data.code) + console.log(data.data) + paginationDiv.innerHTML = ""; //clear old button + for (let i = 1; i <= data.msg; i++) { + const button = document.createElement("button"); + button.textContent = i; + button.style.margin = "0 5px"; + button.style.padding = "5px 10px"; + button.style.cursor = "pointer"; + button.onclick = () => pageSelect(pageSize,paginationDiv,button.textContent); + paginationDiv.appendChild(button); + } + updateTable(data.data) + //location.reload() + } else { + alert(data.msg) + } + }, + }) +} +$(document).on("change","#page-size",function (){ + let pageSize=document.getElementById("page-size").value + let paginationDiv = document.getElementById("pagination"); + pageSelect(pageSize,paginationDiv,"1"); +}) \ No newline at end of file diff --git a/src/main/resources/templates/mainHospitalView.html b/src/main/resources/templates/mainHospitalView.html index 8531c7773fb71da8cabe13a2c7af3edc4bf31b7f..d94c6ca80679403fd7d9abc3831a807060edfae9 100644 --- a/src/main/resources/templates/mainHospitalView.html +++ b/src/main/resources/templates/mainHospitalView.html @@ -110,7 +110,23 @@ <button type="button" onclick="location.reload()">Cancel</button> </div> - +<div style="display: flex; align-items: center; gap: 10px; justify-content: center;"> + <select id="page-size" style="background-color: #f9f9f9; + border: 1px solid #ccc; + border-radius: 4px; + padding: 8px 12px; + font-size: 14px; + color: #333; + cursor: pointer; + width: 150px; + transition: all 0.3s ease;"> + <option value="">items per page</option> + <option value="1">1</option> + <option value="2">2</option> + <option value="15">15</option> + </select> + <div id="pagination" style="margin-top: 10px;"></div> +</div> <script src="/js/mainHospitalView.js"></script> </body>