From 798dcfbbc3ab2a81d1e873b25e00bf5e4ed03aa7 Mon Sep 17 00:00:00 2001
From: liukangdong <898885815@qq.com>
Date: 星期一, 02 十二月 2024 18:11:54 +0800
Subject: [PATCH] ll

---
 admin/src/views/project/components/OperaYwRoomWindow.vue |   52 ++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 48 insertions(+), 4 deletions(-)

diff --git a/admin/src/views/project/components/OperaYwRoomWindow.vue b/admin/src/views/project/components/OperaYwRoomWindow.vue
index d48a984..cdfdf2d 100644
--- a/admin/src/views/project/components/OperaYwRoomWindow.vue
+++ b/admin/src/views/project/components/OperaYwRoomWindow.vue
@@ -1,5 +1,5 @@
 <template>
-  <GlobalWindow :title="title" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm">
+  <GlobalWindow width="720px" :title="title" :visible.sync="visible" :confirm-working="isWorking" @confirm="confirm">
     <el-form :model="form" ref="form" :rules="rules">
       <el-form-item label="鎵�灞為」鐩�" prop="projectId">
         <el-select v-model="form.projectId" @change="changeProject" placeholder="璇烽�夋嫨椤圭洰" clearable>
@@ -7,12 +7,14 @@
         </el-select>
       </el-form-item>
       <el-form-item label="鎵�灞炴ゼ瀹�" prop="buildingId">
-        <el-select v-model="form.buildingId" placeholder="璇烽�夋嫨妤煎畤" clearable>
+        <el-select v-model="form.buildingId" @change="changeBuild" placeholder="璇烽�夋嫨妤煎畤" clearable>
           <el-option v-for="item in buildList" :key="item.id" :label="item.name" :value="item.id"></el-option>
         </el-select>
       </el-form-item>
       <el-form-item label="妤煎眰" prop="floor">
-        <el-input v-model="form.floor" placeholder="璇疯緭鍏ユゼ灞�" v-trim />
+        <el-select v-model="form.floor" placeholder="璇烽�夋嫨妤煎眰" clearable>
+          <el-option v-for="item in floorList" :key="item.id" :label="item.name" :value="item.id"></el-option>
+        </el-select>
       </el-form-item>
       <el-form-item label="鎴垮彿" prop="roomNum">
         <el-input v-model="form.roomNum" placeholder="璇疯緭鍏ユ埧鍙�" v-trim />
@@ -42,6 +44,8 @@
 import GlobalWindow from '@/components/common/GlobalWindow'
 import { getProjectList } from '@/api/project/ywProject'
 import { getBuildList } from '@/api/project/ywBuilding'
+import { getFloorList } from '@/api/project/yeFloor'
+import { detailById } from '@/api/project/ywRoom'
 export default {
   name: 'OperaYwRoomWindow',
   extends: BaseOpera,
@@ -83,6 +87,7 @@
       },
       projectList: [],
       buildList: [],
+      floorList: [],
     }
   },
   created() {
@@ -92,6 +97,39 @@
     })
   },
   methods: {
+    open(title, target, type) {
+      this.title = title
+      this.visible = true
+      this.getProject()
+      // 鏂板缓缁勭粐
+      if (target == null) {
+        this.$nextTick(() => {
+          this.$refs.form.resetFields()
+          this.form[this.configData['field.id']] = null
+          this.form.type = type
+        })
+        return
+      }
+      // 缂栬緫
+      this.$nextTick(() => {
+        this.getDetail(target.id)
+      })
+    },
+    getDetail(id) {
+      detailById(id).then(res => {
+        this.form = res || {}
+        if (res.projectId) {
+          getBuildList({ projectId: res.projectId }).then(res => {
+            this.buildList = res || []
+          })
+        }
+        if (res.buildingId) {
+          getFloorList({ buildingId: res.buildingId }).then(res => {
+            this.floorList = res || []
+          })
+        }
+      })
+    },
     getProject() {
       getProjectList({}).then(res => {
         this.projectList = res || []
@@ -100,10 +138,16 @@
     },
     changeProject(e) {
       this.form.buildingId = ''
-      getBuildList({id: e}).then(res => {
+      getBuildList({ projectId: e }).then(res => {
         this.buildList = res || []
       })
     },
+    changeBuild(e) {
+      this.form.floor = ''
+      getFloorList({ buildingId: e }).then(res => {
+        this.floorList = res || []
+      })
+    },
   }
 }
 </script>

--
Gitblit v1.9.3