From 0f7a7d477042385a8a57bf19b9b31c205454c7a3 Mon Sep 17 00:00:00 2001
From: Leo_Ding <2405260743@qq.com>
Date: Mon, 28 Jul 2025 09:54:10 +0800
Subject: [PATCH] =?UTF-8?q?=E5=AD=97=E5=85=B8?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
components/instruction.vue | 170 +++++++
pages/chat/chatPage.vue | 2 -
pages/meetingDetail/index.vue | 81 ++--
pages/meetingList/index.vue | 873 ++++++++++++++++++----------------
utils/dict.js | 19 +
utils/dictClass.js | 26 +
6 files changed, 709 insertions(+), 462 deletions(-)
create mode 100644 components/instruction.vue
create mode 100644 utils/dict.js
create mode 100644 utils/dictClass.js
diff --git a/components/instruction.vue b/components/instruction.vue
new file mode 100644
index 0000000..068257d
--- /dev/null
+++ b/components/instruction.vue
@@ -0,0 +1,170 @@
+
+
+
+
+
+ 近山社区城市青年会客厅使用说明
+
+ 一、城市青年会客厅
+
+ 为了能进一步创新社区服务模式,更好地利用社区公共资源为民服务、为企解忧、为共建强基,2025年起,近山社区将社区党群服务中心二楼"共享空间"升级为社区"城市青年会客厅"(以下简称"会客厅")用途使用。会客厅位于紫琅人才公寓33号楼二楼,面积为368.3㎡,功能布局为:文化展示区、妇女儿童之家、党建会议室、中心会客厅、共享会议室、自习室。
+
+
+ 二、使用须知
+
+ 第一条:会客厅仍实行园区共享机制。即会客厅除了平时用于社区日常的功能使用需要之外,根据驻辖区单位、业主以及社区共建单位的申请需求还可以作为社区共享资源场地免费使用。主要用于召开园区单位会议、接待来宾、培训活动以及举办其他合法活动。会客厅由近山社区统一管理,负责使用登记与调度、设备维护等相关内容。
+
+
+
+ 第二条:会客厅实行提前预约制度。申请使用会客厅时,需填写《近山社区城市青年会客厅使用申请表》,说明申请用途和目的等相关情况。如有需要社区协助办理的事项需提前注明,以便根据情况做好相关协调安排。为避免使用时间段冲突,要求各申请人/单位至少提前1天预约,重要活动需提前一周预约。特殊情况下,需要紧急申请使用的,应及时向社区提出申请并在使用后进行补办相关手续。
+
+
+
+ 第三条:申请单位在使用期间应严格遵守国家法律法规,并有完善的安全应急预案。严禁使用会客厅开展任何违反法律法规,违背社会公序良俗的活动,产生的社会负面影响及法律责任由申请使用方负责;因申请使用方的安全应急预案不严谨、不完善以及现场活动组织不严密等问题造成的安全事故责任由申请使用方负责。出现以上问题的,取消该预约单位(借用人)后续使用会客厅的权利,并列入社区征信名单。
+
+
+ 三、注意事项
+
+ 第一条:应在所预约时间内,按流程规定使用会客厅,申请方应主动与社区联系,并重新调整申请使用时间;逾期未使用则由社区另作调剂会客厅的使用权。
+
+
+
+ 第二条:如预约单位有逾期使用的需求,需重新按程序申请;若申请逾期的使用时间段内已有其他单位预约使用,逾期使用的预约单位不得继续占用会客厅的使用权。
+
+
+
+ 第三条:会客厅内的设施设备属于社区的固定资产,在作为会客厅使用时,由社区专人转交给申请单位临时使用,社区专人对接和临时移交申请使用单位,申请单位须安排专人负责。申请使用期间,会客厅内的物资财产的保管与使用由申请使用方负责。使用者要爱护会客厅内的公共设施,损坏照价赔偿,未经社区允许不得擅自将会客厅内的多媒体设备、桌椅等物资财产置于会客厅以外范围使用。
+
+
+
+ 第四条:会客厅在使用期间,应不影响社区正常办公、居民正常生活,同时保持内部的整洁有序;使用者应在使用完毕后对会议室进行复位整理(如:复位桌椅,关闭窗户及电器设备等)。使用单位应安排专人进行检查,提醒宾客(与会人员)带走自己的随身物品,若因遗落而丢失或被清理,社区概不承责。如发现设备故障或公物损坏应及时报至社区,由使用方负责维修或照价赔偿。
+
+
+ 第五条:以上内容的最终解释权归近山社区所有。
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/chat/chatPage.vue b/pages/chat/chatPage.vue
index 264c5d0..6c87fe8 100644
--- a/pages/chat/chatPage.vue
+++ b/pages/chat/chatPage.vue
@@ -24,8 +24,6 @@
-
-
diff --git a/pages/meetingDetail/index.vue b/pages/meetingDetail/index.vue
index b4c8fb9..65471e6 100644
--- a/pages/meetingDetail/index.vue
+++ b/pages/meetingDetail/index.vue
@@ -63,15 +63,8 @@
备注信息
-
+
@@ -120,6 +113,11 @@
formatTime,
formatRelativeTime
} from '@/utils/timeFormat';
+ import {
+ applyType,
+ usage,
+ thingTheme
+ } from '@/utils/dict.js'
export default {
data() {
const now = new Date();
@@ -167,7 +165,7 @@
// 新增备注字段
remark: '',
-
+
noticeList: [
'每次预订时间单位为小时,最少0.5小时起预订。',
'使用优惠券支付,取消预订后优惠券会自动退还。',
@@ -181,6 +179,7 @@
onLoad(options) {
if (options && options.Id) {
this.Id = options.Id;
+ console.log(applyType.getAll())
console.log("====", this.Id)
}
},
@@ -292,7 +291,7 @@
handleBook() {
this.validateTime();
-
+
// 构建预订信息对象
const bookingInfo = {
startAt: new Date(`${this.selectedDate} ${this.selectedStartTime}`),
@@ -300,47 +299,47 @@
remark: this.remark,
roomId: this.Id
};
-
-
+
+
console.log('提交的预订信息:', bookingInfo);
-
+
uni.showToast({
title: `已预订 ${this.formattedSelectedDate} ${this.selectedStartTime}-${this.selectedEndTime}`,
icon: 'none'
});
-
+
// 这里可以添加实际的API调用
- post('/api/v1/app_auth/metting-room/order/register',bookingInfo).then((res)=>{
- console.log("===res",res)
+ post('/api/v1/app_auth/metting-room/order/register', bookingInfo).then((res) => {
+ console.log("===res", res)
if (!res || !res.success) {
throw new Error('会议室预定失败');
}
uni.showToast({
- title: '会议室预定成功!',
- icon: 'success'
+ title: '会议室预定成功!',
+ icon: 'success'
});
this.remark = null;
- setTimeout(()=>{
+ setTimeout(() => {
uni.navigateTo({
- url: `/pages/meetingList/index`,
- success: () => {
- console.log('导航成功,ID:', id);
- },
- fail: (err) => {
- console.error('导航失败:', err);
- uni.showToast({
- title: '打开详情页失败',
- icon: 'none'
- });
- }
+ url: `/pages/meetingList/index`,
+ success: () => {
+ console.log('导航成功,ID:', id);
+ },
+ fail: (err) => {
+ console.error('导航失败:', err);
+ uni.showToast({
+ title: '打开详情页失败',
+ icon: 'none'
+ });
+ }
});
- },4000)
-
-
+ }, 4000)
+
+
})
// this.submitBooking(bookingInfo);
},
-
+
}
};
@@ -348,7 +347,8 @@
\ No newline at end of file
diff --git a/utils/dict.js b/utils/dict.js
new file mode 100644
index 0000000..24beef8
--- /dev/null
+++ b/utils/dict.js
@@ -0,0 +1,19 @@
+import { dictManage } from "./dictClass"
+//申请类型
+export const applyType=new dictManage([
+ {value:1,name:'单位申请'},
+ {value:2,name:'个人申请'},
+])
+//使用情况
+export const usage=new dictManage([
+ {value:1,name:'已复位'},
+ {value:2,name:'设置设备需维修'},
+ {value:1,name:'设施设备需照价赔偿'}
+])
+//事由主题
+export const thingTheme=new dictManage([
+ {value:1,name:'开会'},
+ {value:2,name:'学术报告'},
+ {value:3,name:'活动'},
+ {value:4,name:'其他'}
+])
\ No newline at end of file
diff --git a/utils/dictClass.js b/utils/dictClass.js
new file mode 100644
index 0000000..01fb4c9
--- /dev/null
+++ b/utils/dictClass.js
@@ -0,0 +1,26 @@
+export class dictManage {
+ constructor(data) {
+ this.data = data
+ this.valueMap = new Map(data.map(item => [item.value, item.name]))
+ this.nameMap = new Map(data.map(item => [item.name, item.value]))
+ }
+ getAll() {
+ return this.data
+ }
+ getValue(name) {
+ return this.nameMap.get(name) || ''
+ }
+ getName(value) {
+ return this.valueMap.get(value) || ''
+ }
+
+ // 获取所有value的数组
+ getValues() {
+ return Array.from(this.valueMap.keys());
+ }
+
+ // 获取所有name的数组
+ getNames() {
+ return Array.from(this.valueMap.values());
+ }
+}
\ No newline at end of file