From 4ef34199b061ee58b0fea730c5bd83cbe2e8b62e Mon Sep 17 00:00:00 2001 From: dev_ljl <2590379346@qq.com> Date: Fri, 5 Sep 2025 17:16:34 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E6=88=BF=E9=97=B4=E8=AF=A6=E6=83=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../web-antd/src/api/property/room/model.d.ts | 35 ++++++++ .../src/views/property/room/index.vue | 17 +++- .../src/views/property/room/room-detail.vue | 79 +++++++++++++++++++ 3 files changed, 130 insertions(+), 1 deletion(-) create mode 100644 apps/web-antd/src/views/property/room/room-detail.vue diff --git a/apps/web-antd/src/api/property/room/model.d.ts b/apps/web-antd/src/api/property/room/model.d.ts index cb62110d..13556d92 100644 --- a/apps/web-antd/src/api/property/room/model.d.ts +++ b/apps/web-antd/src/api/property/room/model.d.ts @@ -20,6 +20,7 @@ export interface RoomVO { * 房间类型('住宅','商铺','办公室','设备间','公共区域') */ roomType: string; + roomTypeName: string; /** * 建筑面积(平方米) @@ -50,6 +51,40 @@ export interface RoomVO { * 状态('空置','已售','已租','自用') */ status: string; + /** + * 房间图片 + */ + imgUrl: string; + imgPath: string; + + + /** + * 是否重要 + */ + isMatter: string; + /** + * 状态 + */ + statusName: string; + + /** + * 小区 + */ + communityText: string; + + /** + * 建筑 + */ + buildingText: string; + + /** + * 楼层 + */ + floorText: string; + /** + * 所属单位 + */ + residentUnitText: string; } diff --git a/apps/web-antd/src/views/property/room/index.vue b/apps/web-antd/src/views/property/room/index.vue index 52a70c86..e32e8bcf 100644 --- a/apps/web-antd/src/views/property/room/index.vue +++ b/apps/web-antd/src/views/property/room/index.vue @@ -3,6 +3,7 @@ import {Page, useVbenModal, type VbenFormProps} from '@vben/common-ui'; import {getVxePopupContainer} from '@vben/utils'; import {Modal, Popconfirm, Space} from 'ant-design-vue'; import FloorTree from "./floor-tree.vue" +import detailModal from "./room-detail.vue"; import { useVbenVxeGrid, @@ -20,7 +21,6 @@ import {commonDownloadExcel} from '#/utils/file/download'; import roomModal from './room-modal.vue'; import {columns, querySchema} from './data'; -import DeptTree from "#/views/system/user/dept-tree.vue"; import {ref} from "vue"; const formOptions: VbenFormProps = { @@ -96,6 +96,9 @@ const [BasicTable, tableApi] = useVbenVxeGrid({ const [RoomModal, modalApi] = useVbenModal({ connectedComponent: roomModal, }); +const [RoomDetail, detailApi] = useVbenModal({ + connectedComponent: detailModal, +}); function handleAdd() { modalApi.setData({}); @@ -107,6 +110,11 @@ async function handleEdit(row: Required) { modalApi.open(); } +async function handleInfo(row: Required) { + detailApi.setData({id: row.id}); + detailApi.open(); +} + async function handleDelete(row: Required) { await roomRemove(row.id); await tableApi.query(); @@ -176,6 +184,12 @@ function handleSelectFloor(nodeLevel: number) { diff --git a/apps/web-antd/src/views/property/room/room-detail.vue b/apps/web-antd/src/views/property/room/room-detail.vue new file mode 100644 index 00000000..e0c6ad09 --- /dev/null +++ b/apps/web-antd/src/views/property/room/room-detail.vue @@ -0,0 +1,79 @@ + + +