From 334b2d39a74bd7c328d7c838666ee895fe7a4a8c Mon Sep 17 00:00:00 2001
From: zjf <1799650030@qq.com>
Date: Fri, 27 Jun 2025 23:05:26 +0800
Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=EF=BC=8C=E6=84=8F=E8=A7=81?=
=?UTF-8?q?=E5=8F=8D=E9=A6=88=EF=BC=8C=E5=85=AC=E5=91=8A=E9=A1=B5=E9=9D=A2?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
src/pages.json | 42 ++
src/pages/integrated/feedback/detail.vue | 217 +++++++++
src/pages/integrated/feedback/index.vue | 517 ++++++++++++++++-----
src/pages/integrated/index.vue | 28 +-
src/pages/integrated/notice/detail.vue | 211 +++++++++
src/pages/integrated/notice/index.vue | 309 +++++++++++++
src/pages/integrated/repair/detail.vue | 252 +++++++++++
src/pages/integrated/repair/index.vue | 550 +++++++++++++++++++++++
src/pages/integrated/visitor/detail.vue | 236 ++++++++++
src/pages/integrated/visitor/index.vue | 438 ++++++++++++++++++
src/sheep/api/meetingRoom.ts | 151 +++++++
11 files changed, 2826 insertions(+), 125 deletions(-)
create mode 100644 src/pages/integrated/feedback/detail.vue
create mode 100644 src/pages/integrated/notice/detail.vue
create mode 100644 src/pages/integrated/notice/index.vue
create mode 100644 src/pages/integrated/repair/detail.vue
create mode 100644 src/pages/integrated/repair/index.vue
create mode 100644 src/pages/integrated/visitor/detail.vue
create mode 100644 src/pages/integrated/visitor/index.vue
diff --git a/src/pages.json b/src/pages.json
index af8f1ac..049f6e3 100644
--- a/src/pages.json
+++ b/src/pages.json
@@ -467,6 +467,48 @@
"navigationBarTitleText": "意见反馈"
}
},
+ {
+ "path": "feedback/detail",
+ "style": {
+ "navigationBarTitleText": "反馈详情"
+ }
+ },
+ {
+ "path": "repair/index",
+ "style": {
+ "navigationBarTitleText": "维修上报"
+ }
+ },
+ {
+ "path": "repair/detail",
+ "style": {
+ "navigationBarTitleText": "维修详情"
+ }
+ },
+ {
+ "path": "notice/index",
+ "style": {
+ "navigationBarTitleText": "通知公告"
+ }
+ },
+ {
+ "path": "notice/detail",
+ "style": {
+ "navigationBarTitleText": "公告详情"
+ }
+ },
+ {
+ "path": "visitor/index",
+ "style": {
+ "navigationBarTitleText": "访客管理"
+ }
+ },
+ {
+ "path": "visitor/detail",
+ "style": {
+ "navigationBarTitleText": "访客详情"
+ }
+ },
{
"path": "meeting/detail",
"style": {
diff --git a/src/pages/integrated/feedback/detail.vue b/src/pages/integrated/feedback/detail.vue
new file mode 100644
index 0000000..69719bc
--- /dev/null
+++ b/src/pages/integrated/feedback/detail.vue
@@ -0,0 +1,217 @@
+
+
+
+
+ {{ detail.description }}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/integrated/feedback/index.vue b/src/pages/integrated/feedback/index.vue
index 7d0758d..717faa2 100644
--- a/src/pages/integrated/feedback/index.vue
+++ b/src/pages/integrated/feedback/index.vue
@@ -1,151 +1,422 @@
-
-
-
-
- <
- 返回
-
- 问题反馈
+
+
+ 提交反馈
+ 我的反馈
-
-
-
- 问题分类
-
-
- {{ item }}
+
+
+
+ 提交反馈
+
+ 标题
+
+
+ 反馈类型
+
+ {{ typeOptions[typeIndex]?.label || '请选择类型' }}
+
+
+
+ 反馈描述
+
+ {{ description.length }}/500
+
+
+ 联系方式
+
+
+
-
-
-
-
- 详细描述
- *
-
-
-
- {{ description.length }}/200
-
-
-
-
-
- 上传图片 ({{ images.length }}/3)
-
-
-
-
+
+
+ 我的反馈
+
+ 暂无反馈记录
+
+
+
- ×
+
+
+ {{ item.title }}
+ {{ item.description }}
+
+
+
-
- +
-
-
-
-
- 联系方式
-
-
-
-
-
-
-
- 邮箱联系我们
-
- user_service@36kr.com
- 复制
-
-
-
-
-
- 提 交
-
+
+
diff --git a/src/pages/integrated/index.vue b/src/pages/integrated/index.vue
index 8683af0..5f5ecab 100644
--- a/src/pages/integrated/index.vue
+++ b/src/pages/integrated/index.vue
@@ -17,9 +17,9 @@
+
+
\ No newline at end of file
diff --git a/src/pages/integrated/notice/index.vue b/src/pages/integrated/notice/index.vue
new file mode 100644
index 0000000..1feee61
--- /dev/null
+++ b/src/pages/integrated/notice/index.vue
@@ -0,0 +1,309 @@
+
+
+
+
+
+ {{ tab.label }}
+
+
+
+
+
+
+ 暂无公告
+
+
+
+
+ {{ item.content }}
+
+
+
+
+
+
+
+ 加载更多
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/integrated/repair/detail.vue b/src/pages/integrated/repair/detail.vue
new file mode 100644
index 0000000..2a19f68
--- /dev/null
+++ b/src/pages/integrated/repair/detail.vue
@@ -0,0 +1,252 @@
+
+
+
+
+
+
+ 维修类型:
+ {{ getTypeLabel(detail.type) }}
+
+
+ 紧急程度:
+ {{ getUrgencyLabel(detail.urgency) }}
+
+
+ 联系电话:
+ {{ detail.phone }}
+
+
+ 故障描述:
+ {{ detail.description }}
+
+
+
+
+ 维修结果
+ {{ detail.repairResult }}
+ {{ formatTime(detail.repairTime) }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/integrated/repair/index.vue b/src/pages/integrated/repair/index.vue
new file mode 100644
index 0000000..a680e87
--- /dev/null
+++ b/src/pages/integrated/repair/index.vue
@@ -0,0 +1,550 @@
+
+
+
+ 维修申请
+ 维修记录
+
+
+
+
+ 维修申请
+
+ 维修类型
+
+ {{ typeOptions[typeIndex].label }}
+
+
+
+ 设备名称
+
+
+
+ 设备位置
+
+
+
+ 发现日期
+
+ {{ dateFound || '请选择日期' }}
+
+
+
+ 图片
+
+
+ 上传图片
+
+
+
+ 故障描述
+
+ {{ description.length }}/300
+
+
+ 紧急程度
+
+ {{ urgencyOptions[urgencyIndex].label }}
+
+
+
+
+
+
+
+
+ 维修记录
+
+ 暂无维修记录
+
+
+
+
+
+
+ {{ item.equipmentName }}
+ {{ item.location }}
+
+ {{ item.description }}
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/integrated/visitor/detail.vue b/src/pages/integrated/visitor/detail.vue
new file mode 100644
index 0000000..57368aa
--- /dev/null
+++ b/src/pages/integrated/visitor/detail.vue
@@ -0,0 +1,236 @@
+
+
+
+
+
+
+ 来访目的:
+ {{ getPurposeLabel(detail.purpose) }}
+
+
+ 被访人:
+ {{ detail.hostName }}
+
+
+ 来访时间:
+ {{ formatVisitTime(detail.visitDate, detail.visitTime) }}
+
+
+ 备注说明:
+ {{ detail.remark }}
+
+
+
+
+ 拒绝原因
+ {{ detail.rejectReason }}
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/pages/integrated/visitor/index.vue b/src/pages/integrated/visitor/index.vue
new file mode 100644
index 0000000..e2fd1fe
--- /dev/null
+++ b/src/pages/integrated/visitor/index.vue
@@ -0,0 +1,438 @@
+
+
+
+
+ 访客申请
+
+ 访客姓名
+
+
+
+ 访客手机号
+
+
+
+ 来访目的
+
+ {{ purposeOptions[purposeIndex].label }}
+
+
+
+ 来访时间
+
+ {{ visitDate || '请选择来访日期' }}
+
+
+
+ 来访时段
+
+ {{ timeOptions[timeIndex].label }}
+
+
+
+ 被访人
+
+
+
+ 备注说明
+
+ {{ remark.length }}/200
+
+
+
+
+
+
+ 访客记录
+
+ 暂无访客记录
+
+
+
+
+
+ 来访目的:{{ getPurposeLabel(item.purpose) }}
+ 被访人:{{ item.hostName }}
+ 来访时间:{{ formatVisitTime(item.visitDate, item.visitTime) }}
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/sheep/api/meetingRoom.ts b/src/sheep/api/meetingRoom.ts
index 4e7b56d..c090901 100644
--- a/src/sheep/api/meetingRoom.ts
+++ b/src/sheep/api/meetingRoom.ts
@@ -56,4 +56,155 @@ export default {
url: `/integrated/meetingRoom/app/booking-detail/${id}`,
method: 'GET',
}),
+
+ // ========== 意见反馈相关接口 ==========
+ /**
+ * 提交意见反馈
+ */
+ submitFeedback: (data: {
+ title: string;
+ description: string;
+ picUrl?: string;
+ type: string;
+ contact?: string;
+ }) =>
+ request({
+ url: '/integrated/feedback/app/save',
+ method: 'POST',
+ data,
+ }),
+
+ /**
+ * 获取我的反馈列表
+ */
+ getFeedbackList: (params: { current: number; size: number }) =>
+ request({
+ url: '/integrated/feedback/app/page',
+ method: 'GET',
+ params,
+ }),
+
+ /**
+ * 获取反馈详情
+ */
+ getFeedbackDetail: (id: string) =>
+ request({
+ url: '/integrated/feedback/app/getDetails',
+ method: 'GET',
+ params: { id },
+ }),
+
+ /**
+ * 获取反馈类型字典
+ */
+ getFeedbackType: () =>
+ request({
+ url: '/integrated/feedback/app/getFeedbackType',
+ method: 'GET',
+ }),
+
+ // ========== 维修上报相关接口 ==========
+ /**
+ * 提交维修申请
+ */
+ submitRepair: (data: {
+ title: string;
+ picUrl?: string;
+ description: string;
+ dateFound: string;
+ location: string;
+ urgency: string;
+ maintainType: number;
+ }) =>
+ request({
+ url: '/integrated/maintenanceOrder/app/apply',
+ method: 'POST',
+ data,
+ }),
+
+ /**
+ * 获取我的维修记录列表
+ */
+ getRepairList: (params: { current: number; size: number }) =>
+ request({
+ url: '/integrated/maintenanceOrder/app/my',
+ method: 'GET',
+ params,
+ }),
+
+ /**
+ * 获取维修详情
+ */
+ getRepairDetail: (id: string | number) =>
+ request({
+ url: `/integrated/maintenanceOrder/app/my/${id}`,
+ method: 'GET',
+ }),
+
+ // ========== 通知公告相关接口 ==========
+ /**
+ * 获取公告列表
+ */
+ getNoticeList: (params: { current: number; size: number; type?: string }) =>
+ request({
+ url: '/integrated/notice/list',
+ method: 'GET',
+ params,
+ }),
+
+ /**
+ * 获取公告详情
+ */
+ getNoticeDetail: (id: string) =>
+ request({
+ url: `/integrated/notice/detail/${id}`,
+ method: 'GET',
+ }),
+
+ /**
+ * 标记公告已读
+ */
+ markNoticeRead: (id: string) =>
+ request({
+ url: `/integrated/notice/read/${id}`,
+ method: 'POST',
+ }),
+
+ // ========== 访客管理相关接口 ==========
+ /**
+ * 提交访客申请
+ */
+ submitVisitor: (data: {
+ visitorName: string;
+ visitorPhone: string;
+ purpose: string;
+ visitDate: string;
+ visitTime: string;
+ hostName: string;
+ remark?: string;
+ }) =>
+ request({
+ url: '/integrated/visitor/submit',
+ method: 'POST',
+ data,
+ }),
+
+ /**
+ * 获取访客记录列表
+ */
+ getVisitorList: (params: { current: number; size: number }) =>
+ request({
+ url: '/integrated/visitor/my-list',
+ method: 'GET',
+ params,
+ }),
+
+ /**
+ * 获取访客详情
+ */
+ getVisitorDetail: (id: string) =>
+ request({
+ url: `/integrated/visitor/detail/${id}`,
+ method: 'GET',
+ }),
}
\ No newline at end of file