From d7dca690cedd12e271f0ee0b9050679d73796f5c Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 06 一月 2025 09:28:10 +0800
Subject: [PATCH] 1

---
 admin/src/views/project/components/OperaYwRoomWindow.vue |   63 +++++++++++++++++++++++++++++--
 1 files changed, 58 insertions(+), 5 deletions(-)

diff --git a/admin/src/views/project/components/OperaYwRoomWindow.vue b/admin/src/views/project/components/OperaYwRoomWindow.vue
index e810e56..1ed0a57 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>
@@ -23,7 +23,7 @@
         <el-input v-model="form.code" placeholder="璇疯緭鍏ユ埧闂寸紪鍙�" v-trim />
       </el-form-item>
       <el-form-item label="鏄惁鎷涘晢" prop="isInvestment">
-        <el-switch v-model="form.isInvestment" active-value="1" inactive-value="0">
+        <el-switch v-model="form.isInvestment" :active-value="1" :inactive-value="0">
         </el-switch>
       </el-form-item>
       <el-form-item label="寤虹瓚闈㈢Н(m虏)" prop="area">
@@ -45,6 +45,7 @@
 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,
@@ -66,7 +67,7 @@
         imgurl: '',
         code: '',
         roomNum: '',
-        isInvestment: '0',
+        isInvestment: 0,
         area: '',
         feeArea: '',
         rentArea: '',
@@ -96,21 +97,73 @@
     })
   },
   methods: {
+    open(title, target, type) {
+      this.title = title
+      this.visible = true
+      this.getProject()
+      this.buildList = []
+      this.floorList = []
+      // 鏂板缓缁勭粐
+      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)
+      })
+    },
+    confirm() {
+      if (!this.form.feeArea) {
+        this.form.feeArea = this.form.rentArea
+      }
+      if (this.form.id == null || this.form.id === '') {
+        this.__confirmCreate()
+        return
+      }
+      this.__confirmEdit()
+    },
+    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 || []
+        if (this.projectList.length > 0) {
+          this.$set(this.form, 'projectId', this.projectList[0].id)
+          this.changeProject(this.projectList[0].id)
+        }
       })
 
     },
     changeProject(e) {
       this.form.buildingId = ''
-      getBuildList({projectId: e}).then(res => {
+      getBuildList({ projectId: e }).then(res => {
         this.buildList = res || []
+        // if(this.buildList.length > 0){
+        //   this.form.buildingId = this.buildList[0].id
+        // }
       })
     },
     changeBuild(e) {
       this.form.floor = ''
-      getFloorList({buildingId: e}).then(res => {
+      getFloorList({ buildingId: e }).then(res => {
         this.floorList = res || []
       })
     },

--
Gitblit v1.9.3