xtf 10 månader sedan
förälder
incheckning
82379f2fad
1 ändrade filer med 83 tillägg och 133 borttagningar
  1. 83 133
      src/js/uncorrectedCasesStatisticsAdm.js

+ 83 - 133
src/js/uncorrectedCasesStatisticsAdm.js

@@ -88,16 +88,20 @@ function getTabData(activePage) {
     return
   }
   const param = {
-    // current: 1,
+    "current": 1,
     // size: 15,
-    "deptName": deptName == "全部" ? "" : deptName || "",
-    "name": deptName == "全部" ? "" : deptName || "",
-    "asc": data_asc,     //升序
-    "desc": data_desc,       //降序
+    // "deptName": deptName == "全部" ? "" : deptName || "",
+    // "name": deptName == "全部" ? "" : deptName || "",
+    // "asc": [data_asc],     //升序
+    "ascs":[],
+    // "desc": [data_desc],   
+    "descs":["behospitalCode"],    //降序
     //"type": 0, //1-本月,2-本年,0-自定义时间(现在所有都是自定义时间,都会传开始日期和结束日期)
     "startDate": dateStatrt.replace(/\//g, '-'),
     "endDate": dateEnd.replace(/\//g, '-'),
     "casesEntryId": timelinessId,
+    "size": 15
+
   }
   startDateParam = dateStatrt
   endDateParam = dateEnd
@@ -112,12 +116,14 @@ function getTabData(activePage) {
   post(url, param).then(res => {
     if (res.data.code == '0') {
       globaltableData = res.data.data || [];
-      globaltableData.data.sort((a, b) => new Date(b.behospitalDate) - new Date(a.behospitalDate));
+      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;
-      //  renderTab(data, data.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)
@@ -156,7 +162,7 @@ function formatTableData(data) {
 
 function renderTab(data, hisId, activePage) {
   let formatColumns = formatTableData(data.columns)
-  data = data.data;
+  data = data.data.records;
 
 
   // console.log("renderTab", data);
@@ -199,6 +205,8 @@ function renderTab(data, hisId, activePage) {
   `
     }
   }
+  // console.log(str);
+  
   $('.key-list tbody').html(str ? str : emptyBox())
   /*bindScoreDetail(hisId)*/
   // 跳转至详情页
@@ -319,27 +327,31 @@ function bindDeptSelect() {
 // }
 // getPageSet()
 
-// 渲染table表头
+// 渲染 table 表头
 function renderTabTitle(data) {
-  isfirstRenderTitle = true
+  isfirstRenderTitle = true;
   data = data.columns;
-  // console.log(data, 'data');
+  // console.log("data", data);
 
-  // console.log(data,'1111111');
   let str = `
-  <th class="moduleName" style="width: 65px;">序号</th>`
+  <th class="moduleName" style="width: 65px;">序号</th>`;
+  
+  // 遍历 columns 数据,渲染表头
   for (let i = 0; i < data.length; i++) {
-    const item = data[i]
+    const item = data[i];
     if (item.isShow == 1) {
-      // showNum++
-      // str += `<th class="textCenter ${item.val} ${item.val =='leaveHospitalDate' ? 'desc':''}" code="${item.val}">${item.name}</th>`
-      str += `<th class="textCenter beHospitalId" code="${item.columnName}">${item.columnName}</th>`
+      str += `<th class="textCenter beHospitalId" code="${item.columnName}">${item.columnName}</th>`;
     }
   }
-  $(".tabTitle").html(str)
-  bindOrder()
-}
 
+  // console.log("str", str); // 打印生成的表头
+
+  // 将生成的表头渲染到页面
+  $(".tabTitle").html(str);
+  
+  // 绑定事件
+  bindOrder();
+}
 function loading() {
   const str = `
     <div class="loadingBox">
@@ -355,131 +367,69 @@ function hideLoading() {
 
 // 上升下降筛选
 function bindOrder() {
-  $("th[code]").off("click").on("click", function (e) {
+  $("th[code]").off("click").on("click", function () {
     const code = $(this).attr("code");
     console.log(code, 'code');
-    let type
-    if (data_asc == code) {
+    let type;
+
+    // 根据当前状态切换升序和降序
+    if (data_asc === code) {
       data_desc = code;
       data_asc = "";
       $("th[code]").removeClass("asc desc");
       $(this).addClass("desc");
-      type = "desc"
+      type = "desc";
     } else {
       data_desc = "";
       data_asc = code;
       $("th[code]").removeClass("asc desc");
       $(this).addClass("asc");
-      type = "asc"
-    }
-    // getTabData(1);
-    console.log("数据", globaltableData);
-    switch (code) {
-      case "病人住院序号":
-        // tableSort("patientId",type)
-        globaltableData.data.sort((a, b) => {
-          if (type === "asc") {
-            return new Number(a.behospitalCode) - new Number(b.behospitalCode)
-          } else {
-            return new Number(b.behospitalCode) - new Number(a.behospitalCode)
-          }
-        })
-        break
-      case "病人姓名":
-        globaltableData.data.sort((a, b) => {
-          if (type === "asc") {
-            return a.name.localeCompare(b.name)
-          } else {
-            return b.name.localeCompare(a.name)
-          }
-        })
-        break
-      case "性别":
-        globaltableData.data.sort((a, b) => {
-          if (type === "asc") {
-            return a.sex.localeCompare(b.sex)
-          } else {
-            return b.sex.localeCompare(a.sex)
-          }
-        })
-        break
-      case "病案号":
-        globaltableData.data.sort((a, b) => {
-          if (type === "asc") {
-            return new Number(a.fileCode) - new Number(b.fileCode)
-          } else {
-            return new Number(b.fileCode) - new Number(a.fileCode)
-          }
-        })
-        break
-      case "主管医生":
-        globaltableData.data.sort((a, b) => {
-          if (type === "asc") {
-            return a.doctorName.localeCompare(b.doctorName)
-          } else {
-            return b.doctorName.localeCompare(a.doctorName)
-          }
-        })
-        break
-      case "住院科室":
-        globaltableData.data.sort((a, b) => {
-          if (type === "asc") {
-            return a.behDeptName.localeCompare(b.behDeptName)
-          } else {
-            return b.behDeptName.localeCompare(a.behDeptName)
-          }
-        })
-        break
-      case "规则名称":
-        globaltableData.data.sort((a, b) => {
-          if (type === "asc") {
-            return a.ruleName.localeCompare(b.ruleName)
-          } else {
-            return b.ruleName.localeCompare(a.ruleName)
-          }
-        })
-        break
-      case "入院日期":
-        globaltableData.data.sort((a, b) => {
-          if (type === "asc") {
-            return new Date(a.behospitalDate) - new Date(b.behospitalDate)
-          } else {
-            return new Date(b.behospitalDate) - new Date(a.behospitalDate)
-          }
-        })
-        break
-      case "首次病程创建时间":
-        globaltableData.data.sort((a, b) => {
-          if (type === "asc") {
-            return new Date(a.behospitalGmtCreate) - new Date(b.behospitalGmtCreate)
-          } else {
-            return new Date(b.behospitalGmtCreate) - new Date(a.behospitalGmtCreate)
-          }
-        })
-        break
-      case "是否归档":
-        globaltableData.data.sort((a, b) => {
-          if (type === "asc") {
-            return new Number(a.isPlacefile) - new Number(b.isPlacefile)
-          } else {
-            return new Number(b.isPlacefile) - new Number(a.isPlacefile)
-          }
-        })
-        break
-      case "备注":
-        globaltableData.data.sort((a, b) => {
-          if (type === "asc") {
-            return a.remark.localeCompare(b.remark)
-          } else {
-            return b.remark.localeCompare(a.remark)
-          }
-        })
-      default:
-        return
+      type = "asc";
     }
+
+    // 字段与实际对象字段的映射
+    const fieldMapping = {
+      "病人住院序号": "behospitalCode",
+      "病人姓名": "name",
+      "性别": "sex",
+      "病案号": "fileCode",
+      "主管医生": "doctorName",
+      "住院科室": "behDeptName",
+      "规则名称": "ruleName",
+      "入院日期": "behospitalDate",
+      "首次病程创建时间": "behospitalGmtCreate",
+      "是否归档": "isPlacefile",
+      "备注": "remark"
+    };
+
+    const field = fieldMapping[code];
+    if (!field) return; // 如果没有对应的字段则返回
+
+    // 判断字段类型,并执行排序
+    const isNumericField = ["behospitalCode", "fileCode", "isPlacefile"].includes(field);
+    const isDateField = ["behospitalDate", "behospitalGmtCreate"].includes(field);
+
+    globaltableData.data.records.sort((a, b) => {
+      if (isNumericField) {
+        return sortByKey(new Number(a[field]), new Number(b[field]), type);
+      } else if (isDateField) {
+        return sortByKey(new Date(a[field]), new Date(b[field]), type);
+      } else {
+        return sortByKey(a[field], b[field], type);
+      }
+    });
+
     renderTab(globaltableData, globaltableData.hospitalId, 1);
   });
-  
+}
+
+// 通用排序函数
+function sortByKey(a, b, type) {
+  if (type === "asc") {
+    return a > b ? 1 : (a < b ? -1 : 0);
+  } else {
+    return a < b ? 1 : (a > b ? -1 : 0);
+  }
 }