Browse Source

分页展示以及日期格式化

xtf 10 months ago
parent
commit
c3baf4108d
1 changed files with 198 additions and 112 deletions
  1. 198 112
      src/js/uncorrectedCasesStatisticsAdm.js

+ 198 - 112
src/js/uncorrectedCasesStatisticsAdm.js

@@ -93,15 +93,14 @@ function getTabData(activePage) {
     // "deptName": deptName == "全部" ? "" : deptName || "",
     // "name": deptName == "全部" ? "" : deptName || "",
     // "asc": [data_asc],     //升序
-    "ascs":[],
+    "ascs": [],
     // "desc": [data_desc],   
-    "descs":["behospitalCode"],    //降序
+    "descs": ["behospitalDate"],    //降序
     //"type": 0, //1-本月,2-本年,0-自定义时间(现在所有都是自定义时间,都会传开始日期和结束日期)
     "startDate": dateStatrt.replace(/\//g, '-'),
     "endDate": dateEnd.replace(/\//g, '-'),
     "casesEntryId": timelinessId,
     "size": 15
-
   }
   startDateParam = dateStatrt
   endDateParam = dateEnd
@@ -117,26 +116,31 @@ function getTabData(activePage) {
     if (res.data.code == '0') {
       globaltableData = res.data.data || [];
       console.log(globaltableData);
-      
-      // globaltableData.data.records.sort((a, b) => new Date(b.behospitalDate) - new Date(a.behospitalDate));
+
       renderTabTitle(globaltableData)
       renderTab(globaltableData, globaltableData.hospitalId, activePage);
       // // if (isfirstRenderTitle === false) { renderTabTitle(data) }  //首次渲染渲染Table表头
       // // globaltableData = data;
       // //  rende renderPaginationrTab(data, data.hospitalId, activePage);
-      renderPagination(totalPage, Number(activePage), totalNum)
-      if (totalPage > 1) {
-        renderPagination(totalPage, Number(activePage), totalNum)
+      let totalNum = globaltableData.data.records.length;
+      let totalPage = Math.ceil(totalNum / 15);  // 假设每页15条
+      if (totalPage > 0) {
+        renderPagination(totalPage, activePage, totalNum);
       } else {
-        $('.pagination').html("")
+        $('.pagination').html("");
       }
     } else {
-      $.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+      $.alerModal({
+        "message": res.data.msg,
+        type: "tip",
+        time: '1000',
+        isFather: true,
+        fatherWrapper: $("#mainBox", parent.document)
+      });
     }
   }).catch((e) => {
-
-  })
-
+    console.log(e);
+  });
 }
 
 getTabData(1)
@@ -171,58 +175,72 @@ function renderTab(data, hisId, activePage) {
 
   for (let i = 0; i < data.length; i++) {
     const item = data[i];
-    if (tableType === 1) {
-      str += `
-            <tr  data-index=${i}>
-                <td  class="textCenter">${(activePage - 1) * 15 + i + 1}</td>
-                <td>${item.behospitalCode || "-"}</td>            
-                <td>${item.name || "-"}</td>            
-                <td>${item.sex || "-"}</td>            
-                <td>${item.fileCode || "-"}</td>            
-                <td>${item.doctorName || "-"}</td>            
-                <td>${item.behDeptName || "-"}</td>            
-                <td>${item.ruleName || "-"}</td>            
-                <td>${item.behospitalDate || "-"}</td>            
-                <td>${item.behospitalGmtCreate || "-"}</td>            
-                <td>${item.isPlacefile || "-"}</td>            
-            </tr>
-        `}
-    else {
-      str += `
-      <tr  data-index=${i}>
-          <td  class="textCenter">${(activePage - 1) * 15 + i + 1}</td>    
-          <td>${item.behospitalCode || "-"}</td>       
-          <td>${item.name || "-"}</td>            
-          <td>${item.sex || "-"}</td>            
-          <td>${item.fileCode || "-"}</td>            
-          <td>${item.doctorName || "-"}</td>            
-          <td>${item.behDeptName || "-"}</td>            
-          <td>${item.ruleName || "-"}</td>                               
-          <td>${item.remark || "-"}</td>            
-          <td>${item.behospitalDate || "-"}</td>   
-          <td>${item.isPlacefile || "-"}</td>            
-      </tr>
-  `
+    const pageSize = 15;
+
+    // 获取当前页的数据 (根据 activePage 计算要显示的起始位置和结束位置)
+    const startIndex = (activePage - 1) * pageSize;
+    const endIndex = activePage * pageSize;
+
+    // 获取当前页的数据,注意 slice 方法用于数组切片
+    const currentPageData = data.slice(startIndex, endIndex);
+
+    let str = ``;
+
+    // 遍历当前页的数据并生成表格行
+    for (let i = 0; i < currentPageData.length; i++) {
+      const item = currentPageData[i];
+      if (tableType === 1) {
+        str += `
+        <tr  data-index=${i}>
+          <td  class="textCenter">${startIndex + i + 1}</td>
+          <td>${item.behospitalCode || "-"}</td>
+          <td>${item.name || "-"}</td>
+          <td>${item.sex || "-"}</td>
+          <td>${item.fileCode || "-"}</td>
+          <td>${item.doctorName || "-"}</td>
+          <td>${item.behDeptName || "-"}</td>
+          <td>${item.ruleName || "-"}</td>
+          <td>${(item.behospitalDate || "-").split(' ')[0]}</td>
+          <td>${(item.behospitalGmtCreate || "-").split(' ')[0]}</td>
+          <td>${item.isPlacefile || "-"}</td>
+        </tr>
+      `;
+      } else {
+        str += `
+        <tr  data-index=${i}>
+          <td  class="textCenter">${startIndex + i + 1}</td>
+          <td>${item.behospitalCode || "-"}</td>
+          <td>${item.name || "-"}</td>
+          <td>${item.sex || "-"}</td>
+          <td>${item.fileCode || "-"}</td>
+          <td>${item.doctorName || "-"}</td>
+          <td>${item.behDeptName || "-"}</td>
+          <td>${item.ruleName || "-"}</td>
+          <td>${item.remark || "-"}</td>
+          <td>${item.behospitalDate || "-"}</td>
+          <td>${item.isPlacefile || "-"}</td>
+        </tr>
+      `;
+      }
     }
+    // console.log(str);
+
+    $('.key-list tbody').html(str ? str : emptyBox())
+    /*bindScoreDetail(hisId)*/
+    // 跳转至详情页
+    $(".goHomeDetail").click(function () {
+      let casesName = $(this).attr("data-name") || '';
+      let casesId = $(this).attr("data-id");
+      let name = $(this).attr("dept-name");
+      name = name === "全院" ? "全部" : name;
+      let id = $(this).attr("dept-id");
+
+      $(parent.document).find("#contentIframe").attr("src", "uccDetail.html?from=3&deptName=" + name + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam)
+    })
+    // initScroll("partDetailControl","YX",1)
   }
-  // console.log(str);
-  
-  $('.key-list tbody').html(str ? str : emptyBox())
-  /*bindScoreDetail(hisId)*/
-  // 跳转至详情页
-  $(".goHomeDetail").click(function () {
-    let casesName = $(this).attr("data-name") || '';
-    let casesId = $(this).attr("data-id");
-    let name = $(this).attr("dept-name");
-    name = name === "全院" ? "全部" : name;
-    let id = $(this).attr("dept-id");
-
-    $(parent.document).find("#contentIframe").attr("src", "uccDetail.html?from=3&deptName=" + name + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam)
-  })
-  // initScroll("partDetailControl","YX",1)
-}
-
 
+}
 
 $('.selectDept').on("focus", function (e) {
   e.stopPropagation()
@@ -335,7 +353,7 @@ function renderTabTitle(data) {
 
   let str = `
   <th class="moduleName" style="width: 65px;">序号</th>`;
-  
+
   // 遍历 columns 数据,渲染表头
   for (let i = 0; i < data.length; i++) {
     const item = data[i];
@@ -348,7 +366,7 @@ function renderTabTitle(data) {
 
   // 将生成的表头渲染到页面
   $(".tabTitle").html(str);
-  
+
   // 绑定事件
   bindOrder();
 }
@@ -435,64 +453,132 @@ function sortByKey(a, b, type) {
 
 //分页渲染
 function renderPagination(totalPage, activePage, totalNum) {
-  let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
+  let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span>
+             <span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`;
+
+  // 如果总页数小于等于6,直接渲染所有页码
   if (totalPage <= 6) {
     for (let i = 1; i <= totalPage; i++) {
-
-      str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
+      str += `<span class="pageNum page${i}" data-page=${i}>${i}</span>`;
     }
   } else {
-    if (activePage <= 3) { //选中页数小于4
+    // 如果总页数大于6
+    if (activePage <= 3) {
+      // 如果当前选中页小于等于3,渲染前4页并显示省略号
       for (let i = 1; i <= 4; i++) {
-        str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
+        str += `<span class="pageNum page${i}" data-page=${i}>${i}</span>`;
       }
-      str += `<span class="more" >...</span>`
-      str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
-
+      str += `<span class="more">...</span>`;
+      str += `<span class="pageNum page${totalPage}" data-page=${totalPage}>${totalPage}</span>`;
     } else if (activePage > totalPage - 3) {
-      str += `<span class="pageNum page1" data-page=1>1</span>`
-      str += `<span class="more" >...</span>`
-      str += `<span class="pageNum ${'page' + (totalPage - 3)}" data-page=${totalPage - 3}>${totalPage - 3}</span>`
-      str += `<span class="pageNum ${'page' + (totalPage - 2)}" data-page=${totalPage - 2}>${totalPage - 2}</span>`
-      str += `<span class="pageNum ${'page' + (totalPage - 1)}" data-page=${totalPage - 1}>${totalPage - 1}</span>`
-      str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
+      // 如果当前页接近最后3页,渲染最后几页
+      str += `<span class="pageNum page1" data-page=1>1</span>`;
+      str += `<span class="more">...</span>`;
+      for (let i = totalPage - 3; i <= totalPage; i++) {
+        str += `<span class="pageNum page${i}" data-page=${i}>${i}</span>`;
+      }
     } else {
-      str += `<span class="pageNum page1" data-page=1>1</span>`
-      str += `<span class="more" >...</span>`
-      str += `<span class="pageNum ${'page' + (activePage - 1)}" data-page=${activePage - 1}>${activePage - 1}</span>`
-      str += `<span class="pageNum ${'page' + activePage}" data-page=${activePage}>${activePage}</span>`
-      str += `<span class="pageNum ${'page' + (activePage + 1)}" data-page=${activePage + 1}>${activePage + 1}</span>`
-      str += `<span class="more" >...</span>`
-      str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
+      // 如果当前页在中间区域,渲染1、当前页前后、最后一页
+      str += `<span class="pageNum page1" data-page=1>1</span>`;
+      str += `<span class="more">...</span>`;
+      str += `<span class="pageNum page${activePage - 1}" data-page=${activePage - 1}>${activePage - 1}</span>`;
+      str += `<span class="pageNum page${activePage}" data-page=${activePage}>${activePage}</span>`;
+      str += `<span class="pageNum page${activePage + 1}" data-page=${activePage + 1}>${activePage + 1}</span>`;
+      str += `<span class="more">...</span>`;
+      str += `<span class="pageNum page${totalPage}" data-page=${totalPage}>${totalPage}</span>`;
     }
-
   }
-  str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
-  $('.pagination').html(str)
-  $('.page' + activePage).addClass('activePage')
-  $(".pageNum").on("click", function (e) {
-    const activePageNow = Number($(this).attr('data-page'))
-    getTabData(activePageNow)
-    // renderPagination(totalPage,activePageNow,totalNum)
-  })
-  $(".prePage").on("click", function (e) {
-    let activePageNow = Number($(".activePage").attr('data-page'))
+
+  str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`;
+
+  // 渲染分页HTML
+  $('.pagination').html(str);
+  // 高亮当前页
+  $(`.page${activePage}`).addClass('activePage');
+
+  // 绑定页码点击事件
+  $(".pageNum").off("click").on("click", function () {
+    const activePageNow = Number($(this).attr('data-page'));
+    getTabData(activePageNow);
+  });
+
+  // 绑定上一页按钮
+  $(".prePage").off("click").on("click", function () {
+    let activePageNow = Number($(".activePage").attr('data-page'));
     if (activePageNow > 1) {
-      activePageNow--
-      getTabData(activePageNow)
-      // renderPagination(totalPage,activePageNow,totalNum)
+      activePageNow--;
+      getTabData(activePageNow);
     }
-  })
-  $(".nextPage").on("click", function (e) {
-    let activePageNow = Number($(".activePage").attr('data-page'))
+  });
+
+  // 绑定下一页按钮
+  $(".nextPage").off("click").on("click", function () {
+    let activePageNow = Number($(".activePage").attr('data-page'));
     if (activePageNow < totalPage) {
-      activePageNow++
-      getTabData(activePageNow)
-      // renderPagination(totalPage,activePageNow,totalNum)
+      activePageNow++;
+      getTabData(activePageNow);
     }
-  })
-
+  });
 }
+// function renderPagination(totalPage, activePage, totalNum) {
+//   let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
+//   if (totalPage <= 6) {
+//     for (let i = 1; i <= totalPage; i++) {
+
+//       str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
+//     }
+//   } else {
+//     if (activePage <= 3) { //选中页数小于4
+//       for (let i = 1; i <= 4; i++) {
+//         str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
+//       }
+//       str += `<span class="more" >...</span>`
+//       str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
+
+//     } else if (activePage > totalPage - 3) {
+//       str += `<span class="pageNum page1" data-page=1>1</span>`
+//       str += `<span class="more" >...</span>`
+//       str += `<span class="pageNum ${'page' + (totalPage - 3)}" data-page=${totalPage - 3}>${totalPage - 3}</span>`
+//       str += `<span class="pageNum ${'page' + (totalPage - 2)}" data-page=${totalPage - 2}>${totalPage - 2}</span>`
+//       str += `<span class="pageNum ${'page' + (totalPage - 1)}" data-page=${totalPage - 1}>${totalPage - 1}</span>`
+//       str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
+//     } else {
+//       str += `<span class="pageNum page1" data-page=1>1</span>`
+//       str += `<span class="more" >...</span>`
+//       str += `<span class="pageNum ${'page' + (activePage - 1)}" data-page=${activePage - 1}>${activePage - 1}</span>`
+//       str += `<span class="pageNum ${'page' + activePage}" data-page=${activePage}>${activePage}</span>`
+//       str += `<span class="pageNum ${'page' + (activePage + 1)}" data-page=${activePage + 1}>${activePage + 1}</span>`
+//       str += `<span class="more" >...</span>`
+//       str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
+//     }
+
+//   }
+//   str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
+//   $('.pagination').html(str)
+//   $('.page' + activePage).addClass('activePage')
+//   $(".pageNum").on("click", function (e) {
+//     const activePageNow = Number($(this).attr('data-page'))
+//     getTabData(activePageNow)
+//     // renderPagination(totalPage,activePageNow,totalNum)
+//   })
+//   $(".prePage").on("click", function (e) {
+//     let activePageNow = Number($(".activePage").attr('data-page'))
+//     if (activePageNow > 1) {
+//       activePageNow--
+//       getTabData(activePageNow)
+//       // renderPagination(totalPage,activePageNow,totalNum)
+//     }
+//   })
+//   $(".nextPage").on("click", function (e) {
+//     let activePageNow = Number($(".activePage").attr('data-page'))
+//     if (activePageNow < totalPage) {
+//       activePageNow++
+//       getTabData(activePageNow)
+//       // renderPagination(totalPage,activePageNow,totalNum)
+//     }
+//   })
+
+// }
 
 $(".patientNumInp").on("input", function (e) {
   const val = $(this).val().trim()
@@ -519,19 +605,19 @@ $(function () {
       $.alerModal({ "message": '开始时间不能大于结束时间~', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
       return
     }
-  let limitTime= 3 * 30 * 24 * 60 * 60 * 1000; 
+    let limitTime = 3 * 30 * 24 * 60 * 60 * 1000;
 
     const param = {
 
       //"type": 0, //1-本月,2-本年,0-自定义时间(现在所有都是自定义时间,都会传开始日期和结束日期)
-      "startDate": startDateParam.replace(/\//g,'-'),
-      "endDate": endDateParam.replace(/\//g,'-')
+      "startDate": startDateParam.replace(/\//g, '-'),
+      "endDate": endDateParam.replace(/\//g, '-')
 
     }
-    if(start-end<limitTime){
+    if (start - end > limitTime) {
       $.alerModal({ "message": '最多只能导出90天', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
       return
-    }else{
+    } else {
       expJson(api.AdmunModifyMRSExportByDept, param).then(res => {
         downloadExportedData(res.data, "时效性相关统计管理员.xls")
       })