-
-
-
-
![]()
-
-
-
-
-
-
-
-
-
- {{ dish.name }}
-
-
¥{{ displayPrice(dish.price) }}
+
+
+
+
![]()
+
午餐
+
+
+
+
+ {{ dish.name }}
+
+
¥{{ displayPrice(dish.price) }}
+
@@ -65,7 +62,7 @@
+
+
diff --git a/src/views/integrated/meeting/meetingRoom/index.vue b/src/views/integrated/meeting/meetingRoom/index.vue
index 21c2ea9..99e3b13 100644
--- a/src/views/integrated/meeting/meetingRoom/index.vue
+++ b/src/views/integrated/meeting/meetingRoom/index.vue
@@ -37,8 +37,11 @@
-
+
+
+ 预约详情
+
编辑
删除
@@ -51,6 +54,13 @@
+
+
+
@@ -62,11 +72,17 @@ import { useDict } from '/src/hooks/dict';
// 引入组件
const FormDialog = defineAsyncComponent(() => import('./form.vue'));
+const BookingDetail = defineAsyncComponent(() => import('./bookingDetail.vue'));
+
// 定义查询字典
const { meeting_status } = useDict('meeting_status')
// 定义变量内容
const formDialogRef = ref()
+// 预约详情相关
+const bookingDetailVisible = ref(false);
+const selectedRoomId = ref('');
+const selectedRoomName = ref('');
// 搜索变量
const queryRef = ref()
const showSearch = ref(true)
@@ -109,6 +125,13 @@ const selectionChangHandle = (objs: { id: string }[]) => {
multiple.value = !objs.length;
};
+// 查看预约详情
+const viewBookingDetail = (row: any) => {
+ selectedRoomId.value = row.id;
+ selectedRoomName.value = row.roomName;
+ bookingDetailVisible.value = true;
+};
+
// 删除操作
const handleDelete = async (ids: string[]) => {
try {
diff --git a/src/views/integrated/meeting/summary/index.vue b/src/views/integrated/meeting/summary/index.vue
new file mode 100644
index 0000000..3bbf999
--- /dev/null
+++ b/src/views/integrated/meeting/summary/index.vue
@@ -0,0 +1,575 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 查询
+
+ 重置
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ statsData.overallStats?.totalBookings || 0 }}
+
总预约数
+
+
+
+
+
+
+
+
+
+
{{ statsData.overallStats?.approvedBookings || 0 }}
+
审核通过
+
+
+
+
+
+
+
+
+
+
{{ (statsData.overallStats?.approvalRate || 0).toFixed(1) }}%
+
通过率
+
+
+
+
+
+
+
+
+
+
{{ getAvgDuration() }}
+
平均时长(分钟)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ statsData.overallStats?.pendingBookings || 0 }}
+
审核中
+
+
+
+
+
+
+
+
+
+
{{ statsData.overallStats?.rejectedBookings || 0 }}
+
审核拒绝
+
+
+
+
+
+
+
+
+
+
{{ statsData.overallStats?.cancelledBookings || 0 }}
+
已取消
+
+
+
+
+
+
+
+
+
+
{{ Math.round(parseInt(statsData.overallStats?.totalDuration || '0') / 60) }}
+
总时长(小时)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatPercentage(scope.row.approvalRate) }}%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ formatPercentage(scope.row.usageRate) }}%
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue b/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue
index 34f7cd2..438b632 100644
--- a/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue
+++ b/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue
@@ -339,3 +339,6 @@ const handleCurrentChange = (page: number) => {
+
+
+
diff --git a/src/views/supermarketerp/report/jsxs/components/SalesChart.vue b/src/views/supermarketerp/report/jsxs/components/SalesChart.vue
index c33fff7..d004fec 100644
--- a/src/views/supermarketerp/report/jsxs/components/SalesChart.vue
+++ b/src/views/supermarketerp/report/jsxs/components/SalesChart.vue
@@ -191,3 +191,6 @@ defineExpose({
+
+
+
diff --git a/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue b/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue
index c991858..dfc8eb4 100644
--- a/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue
+++ b/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue
@@ -203,3 +203,6 @@ const trendClass = computed(() => {
+
+
+
diff --git a/src/views/supermarketerp/report/jsxs/components/index.ts b/src/views/supermarketerp/report/jsxs/components/index.ts
index 5eac805..f5bb8ad 100644
--- a/src/views/supermarketerp/report/jsxs/components/index.ts
+++ b/src/views/supermarketerp/report/jsxs/components/index.ts
@@ -7,3 +7,6 @@ export { default as SummaryCard } from './SummaryCard.vue';
export { default as ProductRankingTable } from './ProductRankingTable.vue';
+
+
+
diff --git a/src/views/supermarketerp/report/jsxs/constants/index.ts b/src/views/supermarketerp/report/jsxs/constants/index.ts
index fcd3482..f604fb2 100644
--- a/src/views/supermarketerp/report/jsxs/constants/index.ts
+++ b/src/views/supermarketerp/report/jsxs/constants/index.ts
@@ -207,3 +207,6 @@ export const SUCCESS_MESSAGES = {
};
+
+
+
diff --git a/src/views/supermarketerp/report/jsxs/index.vue b/src/views/supermarketerp/report/jsxs/index.vue
index 452fb9e..4a4b72b 100644
--- a/src/views/supermarketerp/report/jsxs/index.vue
+++ b/src/views/supermarketerp/report/jsxs/index.vue
@@ -254,7 +254,7 @@
@@ -299,7 +299,7 @@
@@ -415,20 +415,11 @@
-
-
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/src/views/supermarketerp/report/jsxs/components/index.ts b/src/views/supermarketerp/report/jsxs/components/index.ts
index f5bb8ad..249ed92 100644
--- a/src/views/supermarketerp/report/jsxs/components/index.ts
+++ b/src/views/supermarketerp/report/jsxs/components/index.ts
@@ -10,3 +10,4 @@ export { default as ProductRankingTable } from './ProductRankingTable.vue';
+
diff --git a/src/views/supermarketerp/report/jsxs/constants/index.ts b/src/views/supermarketerp/report/jsxs/constants/index.ts
index f604fb2..0875915 100644
--- a/src/views/supermarketerp/report/jsxs/constants/index.ts
+++ b/src/views/supermarketerp/report/jsxs/constants/index.ts
@@ -210,3 +210,4 @@ export const SUCCESS_MESSAGES = {
+
diff --git a/src/views/supermarketerp/report/jsxs/utils/index.ts b/src/views/supermarketerp/report/jsxs/utils/index.ts
index f44b18c..ea14e49 100644
--- a/src/views/supermarketerp/report/jsxs/utils/index.ts
+++ b/src/views/supermarketerp/report/jsxs/utils/index.ts
@@ -199,3 +199,4 @@ export const TABLE_CONFIG = {
+
From c2bc13b5d65bbce4c6cfa7f0874b7d266c26d9b1 Mon Sep 17 00:00:00 2001
From: zjf <1799650030@qq.com>
Date: Sat, 11 Oct 2025 12:57:35 +0800
Subject: [PATCH 5/9] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=20.gitattributes?=
=?UTF-8?q?=20=E5=92=8C=20.editorconfig=20=E7=BB=9F=E4=B8=80=E6=8D=A2?=
=?UTF-8?q?=E8=A1=8C=E7=AC=A6=E8=A7=84=E5=88=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.editorconfig | 26 ++++++++++++++++++++++++++
.gitattributes | 33 +++++++++++++++++++++++++++++++++
.prettierrc | 3 ++-
3 files changed, 61 insertions(+), 1 deletion(-)
create mode 100644 .editorconfig
create mode 100644 .gitattributes
diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..4336945
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,26 @@
+# EditorConfig is awesome: https://EditorConfig.org
+
+# 表示是最顶层的配置文件
+root = true
+
+# 对所有文件生效
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+
+# 对 JS、TS、Vue 文件的配置
+[*.{js,jsx,ts,tsx,vue}]
+indent_style = tab
+indent_size = 2
+
+# 对 JSON、YAML 文件的配置
+[*.{json,yml,yaml}]
+indent_style = tab
+indent_size = 2
+
+# 对 Markdown 文件的配置
+[*.md]
+trim_trailing_whitespace = false
+
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..4493b28
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,33 @@
+# 设置默认行为,以防人们没有设置 core.autocrlf
+* text=auto
+
+# 明确声明你想要始终规范化并在检出时转换为原生行结束符的文本文件
+*.vue text eol=lf
+*.js text eol=lf
+*.ts text eol=lf
+*.jsx text eol=lf
+*.tsx text eol=lf
+*.json text eol=lf
+*.css text eol=lf
+*.scss text eol=lf
+*.sass text eol=lf
+*.html text eol=lf
+*.htm text eol=lf
+*.xml text eol=lf
+*.md text eol=lf
+*.yml text eol=lf
+*.yaml text eol=lf
+
+# 明确声明你不想规范化并希望原样保留的文件
+*.png binary
+*.jpg binary
+*.jpeg binary
+*.gif binary
+*.ico binary
+*.svg binary
+*.eot binary
+*.ttf binary
+*.woff binary
+*.woff2 binary
+*.otf binary
+
diff --git a/.prettierrc b/.prettierrc
index ef9c5c7..cea0c84 100644
--- a/.prettierrc
+++ b/.prettierrc
@@ -4,5 +4,6 @@
"trailingComma": "all",
"semi": false,
"singleQuote": false,
- "printWidth": 140
+ "printWidth": 140,
+ "endOfLine": "lf"
}
From 5431f2962e72cdef5b54b435f233189703c1dd64 Mon Sep 17 00:00:00 2001
From: zjf <1799650030@qq.com>
Date: Sat, 11 Oct 2025 12:58:03 +0800
Subject: [PATCH 6/9] =?UTF-8?q?fix:=20=E7=BB=9F=E4=B8=80=E6=96=87=E4=BB=B6?=
=?UTF-8?q?=E6=8D=A2=E8=A1=8C=E7=AC=A6=E4=B8=BA=20LF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/components/TreeSelect/index.vue | 362 +++++++++---------
.../jsxs/components/ProductRankingTable.vue | 2 +
.../report/jsxs/components/SummaryCard.vue | 4 +
.../report/jsxs/components/index.ts | 4 +
.../report/jsxs/constants/index.ts | 4 +
.../supermarketerp/report/jsxs/utils/index.ts | 4 +
6 files changed, 199 insertions(+), 181 deletions(-)
diff --git a/src/components/TreeSelect/index.vue b/src/components/TreeSelect/index.vue
index 263b337..f48c1e5 100644
--- a/src/components/TreeSelect/index.vue
+++ b/src/components/TreeSelect/index.vue
@@ -1,181 +1,181 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue b/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue
index 438b632..8236556 100644
--- a/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue
+++ b/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue
@@ -342,3 +342,5 @@ const handleCurrentChange = (page: number) => {
+
+
diff --git a/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue b/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue
index dfc8eb4..4e12f4d 100644
--- a/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue
+++ b/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue
@@ -206,3 +206,7 @@ const trendClass = computed(() => {
+
+
+
+
diff --git a/src/views/supermarketerp/report/jsxs/components/index.ts b/src/views/supermarketerp/report/jsxs/components/index.ts
index 249ed92..595ae29 100644
--- a/src/views/supermarketerp/report/jsxs/components/index.ts
+++ b/src/views/supermarketerp/report/jsxs/components/index.ts
@@ -11,3 +11,7 @@ export { default as ProductRankingTable } from './ProductRankingTable.vue';
+
+
+
+
diff --git a/src/views/supermarketerp/report/jsxs/constants/index.ts b/src/views/supermarketerp/report/jsxs/constants/index.ts
index 0875915..43bb1ab 100644
--- a/src/views/supermarketerp/report/jsxs/constants/index.ts
+++ b/src/views/supermarketerp/report/jsxs/constants/index.ts
@@ -211,3 +211,7 @@ export const SUCCESS_MESSAGES = {
+
+
+
+
diff --git a/src/views/supermarketerp/report/jsxs/utils/index.ts b/src/views/supermarketerp/report/jsxs/utils/index.ts
index ea14e49..d8216de 100644
--- a/src/views/supermarketerp/report/jsxs/utils/index.ts
+++ b/src/views/supermarketerp/report/jsxs/utils/index.ts
@@ -200,3 +200,7 @@ export const TABLE_CONFIG = {
+
+
+
+
From 78762f43d226ff5e3c9fbed5d32a8c6e379ddc4e Mon Sep 17 00:00:00 2001
From: zjf <1799650030@qq.com>
Date: Sat, 11 Oct 2025 12:59:39 +0800
Subject: [PATCH 7/9] 1
---
.editorconfig | 1 +
.gitattributes | 1 +
.../report/jsxs/components/ProductRankingTable.vue | 1 +
src/views/supermarketerp/report/jsxs/components/SalesChart.vue | 1 +
src/views/supermarketerp/report/jsxs/components/SummaryCard.vue | 1 +
src/views/supermarketerp/report/jsxs/components/index.ts | 1 +
src/views/supermarketerp/report/jsxs/constants/index.ts | 1 +
src/views/supermarketerp/report/jsxs/utils/index.ts | 1 +
8 files changed, 8 insertions(+)
diff --git a/.editorconfig b/.editorconfig
index 4336945..4be104f 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -24,3 +24,4 @@ indent_size = 2
[*.md]
trim_trailing_whitespace = false
+
diff --git a/.gitattributes b/.gitattributes
index 4493b28..fd86093 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -31,3 +31,4 @@
*.woff2 binary
*.otf binary
+
diff --git a/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue b/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue
index 8236556..474f965 100644
--- a/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue
+++ b/src/views/supermarketerp/report/jsxs/components/ProductRankingTable.vue
@@ -344,3 +344,4 @@ const handleCurrentChange = (page: number) => {
+
diff --git a/src/views/supermarketerp/report/jsxs/components/SalesChart.vue b/src/views/supermarketerp/report/jsxs/components/SalesChart.vue
index d004fec..4f5417d 100644
--- a/src/views/supermarketerp/report/jsxs/components/SalesChart.vue
+++ b/src/views/supermarketerp/report/jsxs/components/SalesChart.vue
@@ -194,3 +194,4 @@ defineExpose({
+
diff --git a/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue b/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue
index 4e12f4d..a75da1c 100644
--- a/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue
+++ b/src/views/supermarketerp/report/jsxs/components/SummaryCard.vue
@@ -210,3 +210,4 @@ const trendClass = computed(() => {
+
diff --git a/src/views/supermarketerp/report/jsxs/components/index.ts b/src/views/supermarketerp/report/jsxs/components/index.ts
index 595ae29..b0167b7 100644
--- a/src/views/supermarketerp/report/jsxs/components/index.ts
+++ b/src/views/supermarketerp/report/jsxs/components/index.ts
@@ -15,3 +15,4 @@ export { default as ProductRankingTable } from './ProductRankingTable.vue';
+
diff --git a/src/views/supermarketerp/report/jsxs/constants/index.ts b/src/views/supermarketerp/report/jsxs/constants/index.ts
index 43bb1ab..d6c3f85 100644
--- a/src/views/supermarketerp/report/jsxs/constants/index.ts
+++ b/src/views/supermarketerp/report/jsxs/constants/index.ts
@@ -215,3 +215,4 @@ export const SUCCESS_MESSAGES = {
+
diff --git a/src/views/supermarketerp/report/jsxs/utils/index.ts b/src/views/supermarketerp/report/jsxs/utils/index.ts
index d8216de..f766e9d 100644
--- a/src/views/supermarketerp/report/jsxs/utils/index.ts
+++ b/src/views/supermarketerp/report/jsxs/utils/index.ts
@@ -204,3 +204,4 @@ export const TABLE_CONFIG = {
+
From 8d96247c44bebd0a8d39df8e0ec766526df24312 Mon Sep 17 00:00:00 2001
From: zjf <1799650030@qq.com>
Date: Mon, 13 Oct 2025 00:25:38 +0800
Subject: [PATCH 8/9] =?UTF-8?q?=E7=BB=BC=E5=90=88=E6=9C=8D=E5=8A=A1?=
=?UTF-8?q?=E5=AE=8C=E5=96=84=E4=BF=AE=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.editorconfig | 3 +++
.gitattributes | 3 +++
src/views/integrated/feedback/index.vue | 3 ++-
src/views/integrated/lostAndFound/form.vue | 2 +-
src/views/integrated/lostAndFound/index.vue | 11 ++++++++---
src/views/integrated/maintenanceOrder/index.vue | 8 +++++++-
src/views/supermarketerp/report/jsxs/utils/index.ts | 8 ++++----
7 files changed, 28 insertions(+), 10 deletions(-)
diff --git a/.editorconfig b/.editorconfig
index 4be104f..2326a69 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -25,3 +25,6 @@ indent_size = 2
trim_trailing_whitespace = false
+
+
+
diff --git a/.gitattributes b/.gitattributes
index fd86093..4b2eea7 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -32,3 +32,6 @@
*.otf binary
+
+
+
diff --git a/src/views/integrated/feedback/index.vue b/src/views/integrated/feedback/index.vue
index 658cd5f..a1a6722 100644
--- a/src/views/integrated/feedback/index.vue
+++ b/src/views/integrated/feedback/index.vue
@@ -62,7 +62,8 @@
-
+
+
-
+
diff --git a/src/views/integrated/lostAndFound/index.vue b/src/views/integrated/lostAndFound/index.vue
index 0b9a6b4..14ba8ac 100644
--- a/src/views/integrated/lostAndFound/index.vue
+++ b/src/views/integrated/lostAndFound/index.vue
@@ -34,14 +34,18 @@
@queryTable="getDataList">