diff --git a/src/views/cases/index.vue b/src/views/cases/index.vue
index 553efb2..4eb805f 100644
--- a/src/views/cases/index.vue
+++ b/src/views/cases/index.vue
@@ -22,11 +22,26 @@
range-separator="至"
start-placeholder="开始日期"
end-placeholder="结束日期"
- :picker-options="datePickerOptions"
style="width: 100%"
/>
+
+
+
+ {{ shortcut.text }}
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
+
+
-
-
@@ -277,7 +292,8 @@
type="text"
@click="handleTimeSectionUpdate(scope.row)"
:disabled="
- scope.row.reporter_id != userInfo.id || ![1, 5].includes(scope.row.status)
+ scope.row.reporter_id != userInfo.id ||
+ ![1, 5].includes(scope.row.status)
"
>
{{ scope.row.date_time }} {{ scope.row.time_section }}
@@ -473,92 +489,16 @@ export default {
// 查询参数
timeType: "date_time",
date: [],
- datePickerOptions: {
- shortcuts: [
- {
- text: "今天",
- onClick: (picker) => {
- const end = new Date();
- const start = new Date();
- picker.$emit("pick", [start, end]);
- },
- },
- {
- text: "昨天",
- onClick: (picker) => {
- const end = new Date();
- end.setTime(end.getTime() - 3600 * 1000 * 24);
- const start = new Date(end);
- picker.$emit("pick", [start, end]);
- },
- },
- {
- text: "本周",
- onClick: (picker) => {
- const end = new Date();
- const start = new Date();
- const day = start.getDay();
- start.setDate(start.getDate() - day + (day === 0 ? -6 : 1));
- // 设置结束日期为本周最后一天(周日)
- end.setDate(start.getDate() + 6);
- end.setHours(23, 59, 59, 999);
- picker.$emit("pick", [start, end]);
- },
- },
- {
- text: "本月",
- onClick: (picker) => {
- const end = new Date(
- new Date().getFullYear(),
- new Date().getMonth() + 1,
- 0,
- 23,
- 59,
- 59,
- 999
- );
- const start = new Date(
- new Date().getFullYear(),
- new Date().getMonth(),
- 1
- );
- picker.$emit("pick", [start, end]);
- },
- },
- {
- text: "上月",
- onClick: (picker) => {
- const end = new Date(
- new Date().getFullYear(),
- new Date().getMonth(),
- 0
- );
- const start = new Date(
- new Date().getFullYear(),
- new Date().getMonth() - 1,
- 1
- );
- picker.$emit("pick", [start, end]);
- },
- },
- {
- text: "今年",
- onClick: (picker) => {
- const end = new Date(
- new Date().getFullYear(),
- 11,
- 31,
- 23,
- 59,
- 59,
- 999
- );
- const start = new Date(new Date().getFullYear(), 0, 1);
- picker.$emit("pick", [start, end]);
- },
- },
- ],
- },
+ // 快捷日期选项
+ datePickerOptionsShortcuts: [
+ { text: "今天", key: "today" },
+ { text: "昨天", key: "yesterday" },
+ { text: "本周", key: "week" },
+ { text: "本月", key: "month" },
+ { text: "上月", key: "lastMonth" },
+ { text: "今年", key: "year" },
+ ],
+ currentDateShortcut: "",
queryParams: {
page: 1,
size: 10,
@@ -590,6 +530,56 @@ export default {
this.initDataDictionaries();
},
methods: {
+ // 快捷日期选择处理
+ handleDateShortcut(key) {
+ let start = new Date();
+ let end = new Date();
+ switch (key) {
+ case "today":
+ break;
+ case "yesterday":
+ end.setTime(end.getTime() - 3600 * 1000 * 24);
+ start = new Date(end);
+ break;
+ case "week":
+ const day = start.getDay();
+ start.setDate(start.getDate() - day + (day === 0 ? -6 : 1));
+ // 设置结束日期为本周最后一天(周日)
+ end.setDate(start.getDate() + 6);
+ end.setHours(23, 59, 59, 999);
+ break;
+ case "month":
+ end = new Date(
+ new Date().getFullYear(),
+ new Date().getMonth() + 1,
+ 0,
+ 23,
+ 59,
+ 59,
+ 999
+ );
+ start = new Date(new Date().getFullYear(), new Date().getMonth(), 1);
+ break;
+ case "lastMonth":
+ end = new Date(new Date().getFullYear(), new Date().getMonth(), 0);
+ start = new Date(
+ new Date().getFullYear(),
+ new Date().getMonth() - 1,
+ 1
+ );
+ break;
+ case "year":
+ end = new Date(new Date().getFullYear(), 11, 31, 23, 59, 59, 999);
+ start = new Date(new Date().getFullYear(), 0, 1);
+ break;
+ default:
+ break;
+ }
+
+ this.date = [start, end];
+ this.currentDateShortcut = key;
+ },
+
// 初始化数据字典
initDataDictionaries() {
this.loadExamRooms();
@@ -642,9 +632,9 @@ export default {
// 重置按钮操作
resetQuery() {
this.resetForm("queryForm");
- const today = new Date().toISOString().split("T")[0];
this.timeType = "date_time";
- this.date = [today, today];
+ this.currentDateShortcut = "today";
+ this.handleDateShortcut(this.currentDateShortcut);
this.queryParams.patient_type = this.patientTypeList[0].value;
// this.queryParams.report_type = this.reportTypeList[0].value;
this.handleQuery();