|
@@ -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);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
|