From 77970a545af56e946e439ead97b23557d0b44f0f Mon Sep 17 00:00:00 2001
From: WXL (wul) <wl_5969728@163.com>
Date: 星期三, 12 八月 2026 15:54:08 +0800
Subject: [PATCH] 提交
---
src/views/sfstatistics/percentage/index.vue | 124 +++++++++++++++++++++++++++++++++++++++--
1 files changed, 118 insertions(+), 6 deletions(-)
diff --git a/src/views/sfstatistics/percentage/index.vue b/src/views/sfstatistics/percentage/index.vue
index dd731d8..9a068e7 100644
--- a/src/views/sfstatistics/percentage/index.vue
+++ b/src/views/sfstatistics/percentage/index.vue
@@ -75,10 +75,25 @@
v-model="queryParams.dateRange"
value-format="yyyy-MM-dd HH:mm:ss"
type="daterange"
+ unlink-panels
range-separator="鑷�"
start-placeholder="寮�濮嬫棩鏈�"
end-placeholder="缁撴潫鏃ユ湡"
:default-time="['00:00:00', '23:59:59']"
+ :picker-options="pickerOptions"
+ />
+ </el-form-item>
+ <el-form-item label-width="200" label="鍑洪櫌鏃堕棿鑼冨洿" prop="userName">
+ <el-date-picker
+ v-model="queryParams.dateRangecy"
+ value-format="yyyy-MM-dd HH:mm:ss"
+ type="daterange"
+ unlink-panels
+ range-separator="鑷�"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ :default-time="['00:00:00', '23:59:59']"
+ :picker-options="pickerOptions"
/>
</el-form-item>
@@ -117,6 +132,21 @@
<!-- Tab鍒囨崲鍖哄煙 -->
<div class="tab-section">
<el-tabs v-model="activeTab" @tab-click="handleTabClick">
+ <el-tab-pane
+ label="缁煎悎缁熻"
+ v-if="orgname == '涓芥按甯備腑鍖婚櫌'"
+ name="combined"
+ >
+ <CombinedFollowUp
+ ref="combinedFollowUp"
+ :query-params="queryParams"
+ :flat-array-hospit="flatArrayhospit"
+ :flat-array-dept="flatArraydept"
+ :options="options"
+ :orgname="orgname"
+ @view-details="viewDetails"
+ />
+ </el-tab-pane>
<el-tab-pane label="棣栨闅忚" name="first">
<FirstFollowUp
ref="firstFollowUp"
@@ -164,6 +194,7 @@
<ChartDialog
:visible="chartDialogVisible"
:data="chartData"
+ :statisticaltype="queryParams.statisticaltype"
:active-tab="activeTab"
@close="chartDialogVisible = false"
/>
@@ -198,11 +229,11 @@
import ChartDialog from "./components/ChartDialog.vue";
import DetailDialog from "./components/DetailDialog.vue";
import TimelyRateDialog from "./components/TimelyRateDialog.vue";
-
+import CombinedFollowUp from "./components/CombinedFollowUp.vue";
import { getSfStatisticsHyperlink } from "@/api/AiCentre/index";
export default {
- name: "FollowUpStatistics",
+ name: "Percentage",
components: {
FirstFollowUp,
SecondFollowUp,
@@ -210,6 +241,7 @@
ChartDialog,
DetailDialog,
TimelyRateDialog,
+ CombinedFollowUp,
},
data() {
return {
@@ -222,10 +254,46 @@
options: this.$store.getters.tasktypes,
queryParams: {
serviceType: [2],
- dateRange: [],
- statisticaltype: 1,
+ dateRange: this.getLastMonthRange(),
+ dateRangecy: [],
+ statisticaltype:
+ localStorage.getItem("orgname") == "缂欎簯鍘夸汉姘戝尰闄�" ||
+ localStorage.getItem("orgname") == "鏅畞鐣叉棌鑷不鍘夸汉姘戝尰闄�"
+ ? 2
+ : 1,
leavehospitaldistrictcodes: ["all"],
- deptcodes: [],
+ deptcodes: ["all"],
+ },
+ pickerOptions: {
+ shortcuts: [
+ {
+ text: "鏈�杩戜竴鍛�",
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+ picker.$emit("pick", [start, end]);
+ },
+ },
+ {
+ text: "鏈�杩戜竴涓湀",
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+ picker.$emit("pick", [start, end]);
+ },
+ },
+ {
+ text: "鏈�杩戜笁涓湀",
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+ picker.$emit("pick", [start, end]);
+ },
+ },
+ ],
},
flatArrayhospit: [],
flatArraydept: [],
@@ -281,7 +349,29 @@
this.flatArraydept.push({ label: "鍏ㄩ儴", value: "all" });
this.flatArrayhospit.push({ label: "鍏ㄩ儴", value: "all" });
},
+ // 娣诲姞鑾峰彇鏈�杩戜竴涓湀鏃堕棿鑼冨洿鐨勬柟娉�
+ getLastMonthRange() {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+ // 鏍煎紡鍖栦负 yyyy-MM-dd HH:mm:ss
+ const formatDate = (date) => {
+ const year = date.getFullYear();
+ const month = String(date.getMonth() + 1).padStart(2, "0");
+ const day = String(date.getDate()).padStart(2, "0");
+ return `${year}-${month}-${day} 00:00:00`;
+ };
+
+ const formatEndDate = (date) => {
+ const year = date.getFullYear();
+ const month = String(date.getMonth() + 1).padStart(2, "0");
+ const day = String(date.getDate()).padStart(2, "0");
+ return `${year}-${month}-${day} 23:59:59`;
+ };
+
+ return [formatDate(start), formatEndDate(end)];
+ },
handleTabClick(tab) {
this.activeTab = tab.name;
this.loadCurrentTabData();
@@ -298,6 +388,9 @@
case "continued":
this.$refs.continuedCare.loadData();
break;
+ case "combined":
+ this.$refs.combinedFollowUp.loadData();
+ break;
}
},
@@ -306,7 +399,12 @@
this.queryParams.dateRange[0]
);
this.queryParams.endTime = this.parseTime(this.queryParams.dateRange[1]);
-
+ this.queryParams.hospitalStartTime = this.parseTime(
+ this.queryParams.dateRangecy[0]
+ );
+ this.queryParams.hospitalEndTime = this.parseTime(
+ this.queryParams.dateRangecy[1]
+ );
if (this.queryParams.statisticaltype == 1) {
this.queryParams.deptcodes = [];
} else if (this.queryParams.statisticaltype == 2) {
@@ -333,6 +431,9 @@
case "continued":
await this.$refs.continuedCare.exportTable();
break;
+ case "combined":
+ await this.$refs.combinedFollowUp.exportTable();
+ break;
}
},
@@ -349,6 +450,8 @@
return this.$refs.secondFollowUp.tableData;
case "continued":
return this.$refs.continuedCare.tableData;
+ case "combined":
+ return this.$refs.combinedFollowUp.tableData;
default:
return [];
}
@@ -372,6 +475,15 @@
obj.deptcodes = [row.deptcode];
obj.leavehospitaldistrictcodes = [];
}
+ if (this.queryParams.endTime) {
+ obj.endTime = this.queryParams.endTime;
+ obj.startTime = this.queryParams.startTime;
+ } else {
+ obj.startTime = this.parseTime(this.queryParams.dateRange[0]);
+ obj.endTime = this.parseTime(this.queryParams.dateRange[1]);
+ }
+
+ obj.statisticaltype = this.queryParams.statisticaltype;
getSfStatisticsHyperlink(obj).then((response) => {
this.infotitlelist = response.data;
--
Gitblit v1.9.3