From cf96b9010f43abc81c1ce44bb92aea0f4a83e154 Mon Sep 17 00:00:00 2001 From: yziiy <15979918+mayday-yziiy@user.noreply.gitee.com> Date: Tue, 16 Dec 2025 16:13:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=88=BF=E9=97=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/modules/room.ts | 6 +++ src/views/room/roomList/addForm.vue | 75 +++++++++++++++++++++++++++++ src/views/room/roomList/hook.tsx | 45 ++++++++++++++++- src/views/room/roomList/index.vue | 5 +- 4 files changed, 127 insertions(+), 4 deletions(-) create mode 100644 src/views/room/roomList/addForm.vue diff --git a/src/api/modules/room.ts b/src/api/modules/room.ts index 32a2378..1cfc5fb 100644 --- a/src/api/modules/room.ts +++ b/src/api/modules/room.ts @@ -92,7 +92,13 @@ export const queryList = params => { { params } ); }; +export const addRoomData = data => { + return http.request("post", "/adminapi/Room/add_room", { + data + }); +}; // 删除房间 + export const deleteRoomData = data => { return http.request("post", "/adminapi/Room/del_room", { data diff --git a/src/views/room/roomList/addForm.vue b/src/views/room/roomList/addForm.vue new file mode 100644 index 0000000..982dda8 --- /dev/null +++ b/src/views/room/roomList/addForm.vue @@ -0,0 +1,75 @@ + + + + \ No newline at end of file diff --git a/src/views/room/roomList/hook.tsx b/src/views/room/roomList/hook.tsx index ae0688d..834e15d 100644 --- a/src/views/room/roomList/hook.tsx +++ b/src/views/room/roomList/hook.tsx @@ -1,6 +1,7 @@ import { ref, h, nextTick } from "vue"; import editForm from "./form.vue"; import detailView from './detail.vue'; +import addFormView from "./addForm.vue"; import TurntableView from './Turntable/Turntable.vue'; import XunLeHuiView from './XunLeHui/index.vue'; import { utils, writeFile } from "xlsx"; @@ -10,7 +11,7 @@ import { queryList, getRoomDetail, queryClassifyList, - deleteRoomData, + addRoomData, updateRoomData } from "@/api/modules/room"; import { addDialog } from "@/components/ReDialog"; @@ -182,6 +183,45 @@ export function useData() { contentRenderer: () => h(detailView) }); }; + const openDialog = async (title = "新增", rowData: any) => { + addDialog({ + title: `${title}房间`, + props: { + formInline: { + user_code: "", + room_name: "", + room_intro: "", + room_cover: "" + } + }, + width: "40%", + closeOnClickModal: false, + contentRenderer: () => h(addFormView, { ref: formRef, formInline: null }), + beforeSure: (done, { options }) => { + const FormRef = formRef.value.getRef(); + const curData = options.props.formInline; + const SaveData = async form => { + const { code } = await addRoomData({ + ...form + }); + if (code) { + message("修改成功", { type: "success" }); + onSearch(searchForm.value); + done(); + } else { + message("修改失败", { type: "error" }); + } + }; + FormRef.validate(valid => { + if (valid) { + console.log("curData", curData); + // 表单规则校验通过 + SaveData(curData); + } + }); + } + }); + } // 新增 const editDialog = async (title = "新增", rowData: any) => { const { data, code } = await getRoomDetail({ room_id: rowData.room_id }) @@ -356,6 +396,7 @@ export function useData() { editDialog, viewTurntableData, viewXunLeHuiData, - getListType + getListType, + openDialog }; } diff --git a/src/views/room/roomList/index.vue b/src/views/room/roomList/index.vue index 09da270..20420de 100644 --- a/src/views/room/roomList/index.vue +++ b/src/views/room/roomList/index.vue @@ -17,6 +17,7 @@ const { handleSizeChange, handleCurrentChange, viewDetail, + openDialog, viewTurntableData, loading, exportExcel, @@ -44,9 +45,9 @@ onMounted(() => { 导出 - +