From cbd90e4cc65206015d5c53f5d21771d13539dee3 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Fri, 26 Sep 2025 15:16:10 +0800 Subject: [PATCH 1/9] .env --- .env | 8 ++++---- src/pages/tabbar/integrated.vue | 16 ++++++++-------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.env b/.env index f56b7f1..8f8874b 100644 --- a/.env +++ b/.env @@ -20,15 +20,15 @@ VITE_OAUTH2_APP_CLIENT='mini:mini' # VITE_APP_DEV_SERVICE = https://stgl.pj.gov.cn/api # 域名线上 #VITE_APP_DEV_SERVICE = http://59.202.170.152:81/api # 信创线上 # VITE_APP_DEV_SERVICE = http://192.168.101.174:9999 # 邓-本地 - VITE_APP_DEV_SERVICE = http://127.0.0.1:9999 # 邓-本地 -#VITE_APP_DEV_SERVICE = http://123.157.250.162:8089/api # 测试线上 +# VITE_APP_DEV_SERVICE = http://127.0.0.1:9999 # 邓-本地 +VITE_APP_DEV_SERVICE = http://123.157.250.162:8089/api # 测试线上 # --------------------------- 开发环境 图片访问基础地址 --------------------------- # VITE_IMAGE_DEV_PATH = https://stgl.pj.gov.cn/api # 域名线上 #VITE_IMAGE_DEV_PATH = http://59.202.170.152:81/api # 信创线上 # VITE_IMAGE_DEV_PATH = http://192.168.101.174:9999 # 邓-本地 - VITE_IMAGE_DEV_PATH = http://127.0.0.1:9999 -#VITE_IMAGE_DEV_PATH = http://123.157.250.162:8089/api # 测试线上 + #VITE_IMAGE_DEV_PATH = http://127.0.0.1:9999 +VITE_IMAGE_DEV_PATH = http://123.157.250.162:8089/api # 测试线上 # --------------------------- 生产环境 api地址 ---------------------------------- VITE_APP_PROD_SERVICE = https://stgl.pj.gov.cn/api # 域名线上 diff --git a/src/pages/tabbar/integrated.vue b/src/pages/tabbar/integrated.vue index f08ad30..0019467 100644 --- a/src/pages/tabbar/integrated.vue +++ b/src/pages/tabbar/integrated.vue @@ -96,14 +96,14 @@ onMounted(() => { function goPage(item) { // 访客邀约功能正在开发中 - if (item.name === "visitor") { - uni.showToast({ - title: "访客邀约功能正在开发中", - icon: "none", - duration: 2000, - }) - return - } + // if (item.name === "visitor") { + // uni.showToast({ + // title: "访客邀约功能正在开发中", + // icon: "none", + // duration: 2000, + // }) + // return + // } if (item.url) { uni.navigateTo({ url: item.url }) From 7a246ef802f29e2612a12a7094ed4a7a34377560 Mon Sep 17 00:00:00 2001 From: weiwei Date: Mon, 29 Sep 2025 09:49:07 +0800 Subject: [PATCH 2/9] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E9=82=80=E7=BA=A6?= =?UTF-8?q?=E8=AE=B0=E5=BD=95tab=E5=88=87=E6=8D=A2=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/integrated/visitor/invitation-record.vue | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/integrated/visitor/invitation-record.vue b/src/pages/integrated/visitor/invitation-record.vue index 698380f..8ff27ff 100644 --- a/src/pages/integrated/visitor/invitation-record.vue +++ b/src/pages/integrated/visitor/invitation-record.vue @@ -163,8 +163,8 @@ const query = (page: number, pagesize: number) => { pageHook.startPage(page, pagesize, false, state.params) } -const onTabChange = (e: number) => { - state.params.type = e +const onTabChange = (index: number, value: number) => { + state.params.type = value pageRef.value.reload(true) } From 0c619d29c0c936d13d2fa1ddd08fd4dd6dfd33d6 Mon Sep 17 00:00:00 2001 From: weiwei Date: Mon, 29 Sep 2025 09:53:47 +0800 Subject: [PATCH 3/9] chore:debugger --- index.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/index.html b/index.html index e8746f8..2f148ee 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ - + - --> From 7cdfe541bc50476467513ae040a086200cde6d5b Mon Sep 17 00:00:00 2001 From: weiwei Date: Tue, 30 Sep 2025 17:54:41 +0800 Subject: [PATCH 4/9] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=85=B1=E5=AF=8C?= =?UTF-8?q?=E5=95=86=E5=9F=8E=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/tabbar/index.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/pages/tabbar/index.vue b/src/pages/tabbar/index.vue index da83688..762b7b0 100644 --- a/src/pages/tabbar/index.vue +++ b/src/pages/tabbar/index.vue @@ -86,6 +86,10 @@ const jumpByParam = async () => { uni.setStorageSync("launchParam", launchParam) uni.switchTab({ url: "/pages/tabbar/integrated" }) break + case "prosperityShop": // 共富商城 + uni.setStorageSync("launchParam", launchParam) + uni.switchTab({ url: "/pages/tabbar/prosperityShop" }) + break default: uni.hideTabBar() break From 07672cd50624328fd435cfce55a42d55de070bde Mon Sep 17 00:00:00 2001 From: weiwei Date: Thu, 9 Oct 2025 14:26:06 +0800 Subject: [PATCH 5/9] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=90=88=E4=BD=9C?= =?UTF-8?q?=E5=95=86=E6=88=B7=E5=88=86=E7=B1=BB=E6=97=A0=E6=B3=95=E5=85=A8?= =?UTF-8?q?=E6=9F=A5=E5=88=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/tabbar/coopMerchant.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/tabbar/coopMerchant.vue b/src/pages/tabbar/coopMerchant.vue index 430437a..677ce4e 100644 --- a/src/pages/tabbar/coopMerchant.vue +++ b/src/pages/tabbar/coopMerchant.vue @@ -27,7 +27,7 @@ onLoad(async () => { app._initTabbar() try { - const res: any = await merchantApi.selectCatgory({}) + const res: any = await merchantApi.selectCatgory({ current: 1, size: 99999 }) if (res.code == 0) { state.tabs = state.tabs.concat(res.data) } else { From 3829c1671e98bc8d5202d1b07294dafb94a1e134 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Thu, 9 Oct 2025 18:36:37 +0800 Subject: [PATCH 6/9] =?UTF-8?q?=E5=8A=9F=E8=83=BD=E5=AE=8C=E5=96=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env | 8 +- .../integrated/meeting/my-reservations.vue | 98 +++++++++++++++++-- src/sheep/api/meetingRoom.ts | 18 ++++ 3 files changed, 114 insertions(+), 10 deletions(-) diff --git a/.env b/.env index 8f8874b..f789095 100644 --- a/.env +++ b/.env @@ -20,15 +20,15 @@ VITE_OAUTH2_APP_CLIENT='mini:mini' # VITE_APP_DEV_SERVICE = https://stgl.pj.gov.cn/api # 域名线上 #VITE_APP_DEV_SERVICE = http://59.202.170.152:81/api # 信创线上 # VITE_APP_DEV_SERVICE = http://192.168.101.174:9999 # 邓-本地 -# VITE_APP_DEV_SERVICE = http://127.0.0.1:9999 # 邓-本地 -VITE_APP_DEV_SERVICE = http://123.157.250.162:8089/api # 测试线上 +VITE_APP_DEV_SERVICE = http://127.0.0.1:9999 # 邓-本地 +; VITE_APP_DEV_SERVICE = http://123.157.250.162:8089/api # 测试线上 # --------------------------- 开发环境 图片访问基础地址 --------------------------- # VITE_IMAGE_DEV_PATH = https://stgl.pj.gov.cn/api # 域名线上 #VITE_IMAGE_DEV_PATH = http://59.202.170.152:81/api # 信创线上 # VITE_IMAGE_DEV_PATH = http://192.168.101.174:9999 # 邓-本地 - #VITE_IMAGE_DEV_PATH = http://127.0.0.1:9999 -VITE_IMAGE_DEV_PATH = http://123.157.250.162:8089/api # 测试线上 +VITE_IMAGE_DEV_PATH = http://127.0.0.1:9999 +; VITE_IMAGE_DEV_PATH = http://123.157.250.162:8089/api # 测试线上 # --------------------------- 生产环境 api地址 ---------------------------------- VITE_APP_PROD_SERVICE = https://stgl.pj.gov.cn/api # 域名线上 diff --git a/src/pages/integrated/meeting/my-reservations.vue b/src/pages/integrated/meeting/my-reservations.vue index 5d4df5e..f95289b 100644 --- a/src/pages/integrated/meeting/my-reservations.vue +++ b/src/pages/integrated/meeting/my-reservations.vue @@ -14,11 +14,13 @@ - + {{ item.title }} - {{ statusMap[item.checkStatus]?.text }} + {{ statusMap[item.checkStatus]?.text }} + 已结束 + 已过期 预约日期:{{ item.bookingDate }} @@ -28,7 +30,8 @@ 查看详情 - 取消预约 + 取消预约 + 结束会议 @@ -96,10 +99,75 @@ function cancelBooking(item: any) { uni.showModal({ title: "提示", content: "确定要取消该预约吗?", - success: (res) => { + success: async (res) => { if (res.confirm) { - // TODO: 调用取消预约接口 - uni.showToast({ title: "已取消(待接入接口)", icon: "none" }) + try { + uni.showLoading({ title: "处理中..." }) + const response: any = await meetingRoomApi.cancelBooking(item.id) + uni.hideLoading() + + if (response.code === 0) { + uni.showToast({ title: "预约已取消", icon: "success" }) + // 刷新列表 + fetchReservations() + } else { + uni.showToast({ + title: response.msg || "操作失败", + icon: "none" + }) + } + } catch (error) { + uni.hideLoading() + uni.showToast({ title: "操作失败,请重试", icon: "none" }) + console.error("取消预约失败:", error) + } + } + }, + }) +} + +// 是否已结束 +function isEnded(item: any) { + return Number(item.isConfirmEnd) === 1 +} + +// 是否已过期(当前日期大于预约日期,且未结束) +function isExpired(item: any) { + try { + if (!item.bookingDate) return false + const todayStr = new Date().toISOString().split('T')[0] + return todayStr > item.bookingDate && !isEnded(item) + } catch (e) { + return false + } +} + +function endMeeting(item: any) { + uni.showModal({ + title: "提示", + content: "确定要结束该会议吗?", + success: async (res) => { + if (res.confirm) { + try { + uni.showLoading({ title: "处理中..." }) + const response: any = await meetingRoomApi.confirmEndMeeting(item.id) + uni.hideLoading() + + if (response.code === 0) { + uni.showToast({ title: "会议已结束", icon: "success" }) + // 刷新列表 + fetchReservations() + } else { + uni.showToast({ + title: response.msg || "操作失败", + icon: "none" + }) + } + } catch (error) { + uni.hideLoading() + uni.showToast({ title: "操作失败,请重试", icon: "none" }) + console.error("结束会议失败:", error) + } } }, }) @@ -194,6 +262,20 @@ function viewDetail(item: any) { .card-status.cancel { color: #ff4d4f; } +.tag { + margin-left: 8rpx; + font-size: 22rpx; + padding: 2rpx 10rpx; + border-radius: 6rpx; +} +.tag.ended { + background: #f5f5f5; + color: #999; +} +.tag.expired { + background: #fff1f0; + color: #ff4d4f; +} .card-info { font-size: 26rpx; color: #666; @@ -215,6 +297,10 @@ function viewDetail(item: any) { background: #ffeaea; color: #ff4d4f; } +.card-btn.end { + background: #e6f7ff; + color: #1890ff; +} .empty { display: flex; flex-direction: column; diff --git a/src/sheep/api/meetingRoom.ts b/src/sheep/api/meetingRoom.ts index 055d4f4..75b3a0b 100644 --- a/src/sheep/api/meetingRoom.ts +++ b/src/sheep/api/meetingRoom.ts @@ -69,6 +69,24 @@ export default { method: 'GET', }), + /** + * 确认结束会议 + */ + confirmEndMeeting: (bookingId: string) => + request({ + url: `/integrated/meetingBooking/app/confirm-end-meeting/${bookingId}`, + method: 'POST', + }), + + /** + * 取消预约 + */ + cancelBooking: (bookingId: string) => + request({ + url: `/integrated/meetingRoom/app/cancel-booking/${bookingId}`, + method: 'POST', + }), + } From 80681f3a3e3e80deaf8321c568e15bf7c7a72dfc Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Fri, 10 Oct 2025 14:10:09 +0800 Subject: [PATCH 7/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BC=9A=E8=AE=AE?= =?UTF-8?q?=E9=A2=84=E7=BA=A6=E6=A0=B7=E5=BC=8F=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/pages/integrated/meeting/detail.vue | 6 ++++-- src/sheep/api/meetingRoom.ts | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/pages/integrated/meeting/detail.vue b/src/pages/integrated/meeting/detail.vue index bcaca3d..f6237a5 100644 --- a/src/pages/integrated/meeting/detail.vue +++ b/src/pages/integrated/meeting/detail.vue @@ -63,7 +63,7 @@ × - + 是否需要会务服务 @@ -94,7 +94,7 @@ - + 取消 @@ -736,7 +736,9 @@ const goBack = () => { } .modal-body { + max-height: 800rpx; padding: 32rpx; + overflow-y: auto; } .form-item { diff --git a/src/sheep/api/meetingRoom.ts b/src/sheep/api/meetingRoom.ts index 75b3a0b..30959b3 100644 --- a/src/sheep/api/meetingRoom.ts +++ b/src/sheep/api/meetingRoom.ts @@ -32,7 +32,7 @@ export default { description: string; attendees: string[]; need_service?: string; - desk_layout?: string; + deskLayout?: string; }) => request({ url: `/integrated/meetingRoom/${roomId}/book`, From 60fec60061d451a881d8b1a7ae866c408aa47ae5 Mon Sep 17 00:00:00 2001 From: zjf <1799650030@qq.com> Date: Fri, 10 Oct 2025 14:39:53 +0800 Subject: [PATCH 8/9] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=9B=BE=E6=A0=87?= =?UTF-8?q?=E6=89=93=E5=8C=85=E9=97=AE=E9=A2=98=EF=BC=8C=E6=B8=85=E9=99=A4?= =?UTF-8?q?log?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/App.vue | 2 +- src/pages/integrated/feedback/detail.vue | 29 +++++------ src/pages/integrated/feedback/index.vue | 14 ++--- src/pages/integrated/meeting/detail.vue | 51 +------------------ src/pages/integrated/meeting/index.vue | 8 --- .../integrated/meeting/my-reservations.vue | 2 - src/pages/integrated/repair/detail.vue | 8 --- src/pages/integrated/repair/index.vue | 11 ++-- 8 files changed, 21 insertions(+), 104 deletions(-) diff --git a/src/App.vue b/src/App.vue index 400d2f5..4d364a7 100644 --- a/src/App.vue +++ b/src/App.vue @@ -202,7 +202,7 @@ export default { + + + diff --git a/src/pages/integrated/meeting/booking-detail.vue b/src/pages/integrated/meeting/booking-detail.vue index 2b5ba75..3a87140 100644 --- a/src/pages/integrated/meeting/booking-detail.vue +++ b/src/pages/integrated/meeting/booking-detail.vue @@ -1,42 +1,75 @@ @@ -48,6 +81,18 @@ import meetingRoomApi from '@/sheep/api/meetingRoom' const detail = ref({}) +// 获取状态样式类 +function getStatusClass(status: string) { + const classMap: Record = { + '1': 'status-pending', + '2': 'status-approved', + '3': 'status-rejected', + '4': 'status-cancelled', + '5': 'status-completed' + } + return classMap[status] || 'status-pending' +} + onLoad(async (options: any) => { const id = options.id if (!id) return @@ -60,51 +105,154 @@ onLoad(async (options: any) => {