From 1259f068a8779c77a7f588767355d8cc84999ae7 Mon Sep 17 00:00:00 2001 From: "471615499@qq.com" Date: Fri, 4 Oct 2024 17:25:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E7=BB=9F=E8=AE=A1=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=20=E5=8A=A0=E5=85=A5=E4=BC=9A=E8=AE=AE=E5=AE=A4?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E7=BB=91=E5=AE=9A=20=E5=8A=A0=E5=85=A5?= =?UTF-8?q?=E4=BC=9A=E8=AE=AE=E5=AE=A4=E7=AD=9B=E9=80=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 3 + src/App.vue | 15 +- src/api/admin/meeting/count.js | 93 +++ src/api/admin/meeting/roomContent.js | 2 +- src/views/admin/meeting/MeetingCount.vue | 665 ++++++++++++++++++ src/views/admin/meeting/RoomContentList.vue | 27 +- .../meeting/modules/RoomContentModal.vue | 50 +- 7 files changed, 843 insertions(+), 12 deletions(-) create mode 100644 src/api/admin/meeting/count.js create mode 100644 src/views/admin/meeting/MeetingCount.vue diff --git a/README.md b/README.md index 5253c16..dd95bb7 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,9 @@

ICS Ant

Overview +## 前端文档地址: +https://1x.antdv.com/components/ + ---- 项目下载和运行 ---- diff --git a/src/App.vue b/src/App.vue index ec4784d..c24c654 100644 --- a/src/App.vue +++ b/src/App.vue @@ -9,18 +9,21 @@ diff --git a/src/api/admin/meeting/count.js b/src/api/admin/meeting/count.js new file mode 100644 index 0000000..897c61a --- /dev/null +++ b/src/api/admin/meeting/count.js @@ -0,0 +1,93 @@ +import { axios } from '@/utils/request' + + +/** + * 会议室统计数据 + * /admin/ms/roomStats + * @参数 day 格式:2024-09-30 + * @返回 + * alreadyBooking, 已预约会议室数量 + * noBooking,未预约会议室数量 + * going,开会中会议室数量 + * free,空闲中会议室数量 + * @param parameter + * @returns {AxiosPromise} + */ +export function getNum(parameter) { + return axios({ + url: '/admin/ms/roomStats', + method: 'post', + params: parameter + }) +} + +/** + * 按日历统计数据 + * /admin/ms/calendar + * @参数 month 月份,格式:2024-09 + * @返回,月份的每一天 的 预约记录 + * @param parameter + * @returns {AxiosPromise} + */ +export function getCalendar(parameter) { + return axios({ + url: '/admin/ms/calendar', + method: 'post', + params: parameter + }) +} + +/** + * 按照会议状态统计 + * /admin/ms/meetingStats + * 无参 + * @返回 + * * wait, 待开始会议数量 + * * going,进行中会议数量 + * * closed,已结束会议数量 + * @param parameter + * @returns {AxiosPromise} + */ +export function getStatus(parameter) { + return axios({ + url: '/admin/ms/meetingStats', + method: 'post', + params: parameter + }) +} + +/** + * 会议待办 (前10条) + * /admin/ms/meetingAudit + * 无参 + * @param parameter + * @returns {AxiosPromise} + */ +export function getWait(parameter) { + return axios({ + url: '/admin/ms/meetingAudit', + method: 'post', + params: parameter + }) +} + +/** + * 图表统计数据 + * + * + * @参数 startDate 统计数据开始时间,日期格式示例:2024-08-23 + * @参数 endDate 统计数据结束时间,日期格式示例:2024-09-23 + * @返回 + * roomRank,会议室使用排名 + * serve,服务情况 + * roomType,会议室形式统计 + * orgMeeting,部门开会情况(取前10个部门) + * everyDay,开会情况--按天(取前20天) + */ +export function getChartData(parameter) { + return axios({ + url: '/admin/ms/chartStats', + method: 'post', + params: parameter + }) +} \ No newline at end of file diff --git a/src/api/admin/meeting/roomContent.js b/src/api/admin/meeting/roomContent.js index 18b877e..7619b59 100644 --- a/src/api/admin/meeting/roomContent.js +++ b/src/api/admin/meeting/roomContent.js @@ -15,7 +15,7 @@ export function getMeetingDict(parameter) { export function getRoomContentList(parameter) { return axios({ // url: api.roomContent + '/list', - url: '/admin/meetingRoom/list?pageNum=', + url: '/admin/meetingRoom/list', method: 'post', params: parameter }) diff --git a/src/views/admin/meeting/MeetingCount.vue b/src/views/admin/meeting/MeetingCount.vue new file mode 100644 index 0000000..4b3c961 --- /dev/null +++ b/src/views/admin/meeting/MeetingCount.vue @@ -0,0 +1,665 @@ + + + diff --git a/src/views/admin/meeting/RoomContentList.vue b/src/views/admin/meeting/RoomContentList.vue index 2ee61bf..63a41e3 100644 --- a/src/views/admin/meeting/RoomContentList.vue +++ b/src/views/admin/meeting/RoomContentList.vue @@ -48,7 +48,7 @@ 41-50 - 50-100 + 51-100 100以上 @@ -231,11 +231,34 @@ export default { ], // 加载数据方法 必须为 Promise 对象 loadData: (parameter) => { + let minPerNum = 0 + let maxPerNum = 1000 + let perNumValue = this.queryParam.capacityNum + if (perNumValue == 6) { + // 51-100 + maxPerNum = 100 + minPerNum = 51 + } else if (perNumValue == 7) { + // 100以上 + minPerNum = 101 + maxPerNum = 1000 + } else if (perNumValue == '') { + // 全部 + minPerNum = 1 + maxPerNum = 1000 + } else { + // 其余,符合规则即可 + // perNumValue * 10 - 9 ~ perNumValue * 10 + maxPerNum = parseInt(perNumValue) * 10 + minPerNum = maxPerNum - 9 + } const param = { name: this.queryParam.meetingName, // 名称 floor: this.queryParam.typeName, // 楼层名称 typeName: this.queryParam.shape, // 形状 - capacityNum: this.queryParam.capacityNum // 容纳人数 + // capacityNum: this.queryParam.capacityNum // 容纳人数 + min: minPerNum, // 最小容纳人数 + max: maxPerNum, // 最大容纳人数 } // if (param.typeName === '') { // delete param.typeName diff --git a/src/views/admin/meeting/modules/RoomContentModal.vue b/src/views/admin/meeting/modules/RoomContentModal.vue index b422ae5..2417ea4 100644 --- a/src/views/admin/meeting/modules/RoomContentModal.vue +++ b/src/views/admin/meeting/modules/RoomContentModal.vue @@ -58,7 +58,7 @@ + v-decorator="['area']" /> @@ -72,7 +72,7 @@ - {{ item.text }} @@ -80,6 +80,16 @@ + + + + + {{ item.text }} + + + +