From cbb23429b8beed72b58cbb57f9b3c56a0fb2b5d2 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期五, 09 五月 2025 13:31:26 +0800
Subject: [PATCH] 修改

---
 src/views/basic/room/components/roomDialog.vue |   75 ++++++++++++++++++++++++++++++++++---
 1 files changed, 68 insertions(+), 7 deletions(-)

diff --git a/src/views/basic/room/components/roomDialog.vue b/src/views/basic/room/components/roomDialog.vue
index 51ccec4..bfa5291 100644
--- a/src/views/basic/room/components/roomDialog.vue
+++ b/src/views/basic/room/components/roomDialog.vue
@@ -1,10 +1,10 @@
 <template>
     <div class="system-menu-dialog-container">
-        <el-dialog :title="roomDialogState.title" v-model="roomDialogState.roomDialogVisible" width="600px">
+        <el-dialog :title="roomDialogState.title" v-model="roomDialogState.roomDialogVisible" :close-on-click-modal="false" width="600px">
             <el-form ref="roomFormRef" :rules="roomDialogState.roomFormRules" :model="roomDialogState.roomForm" size="default" label-width="120px">
                 <el-row :gutter="35">
                     <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
-                        <el-form-item label="场所名称" prop="siteName">
+                        <el-form-item label="实验室名称" prop="siteName">
                             <el-input v-model="roomDialogState.roomForm.siteName" placeholder="场所名称" clearable class="input-length"></el-input>
                         </el-form-item>
                     </el-col>
@@ -18,6 +18,43 @@
                             <el-input v-model="roomDialogState.roomForm.room" placeholder="实验室所在房间" clearable class="input-length"></el-input>
                         </el-form-item>
                     </el-col>
+                  <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                    <el-form-item label="场所责任人" prop="siteLiabilityPersonId">
+                      <el-select v-model="roomDialogState.roomForm.siteLiabilityPersonId" placeholder="场所责任人" clearable class="input-length">
+                        <el-option v-for="item in memberList" :key="item.id" :label="item.personName" :value="item.id"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                    <el-form-item label="场所安全员" prop="safeLiabilityPersonId">
+                      <el-select v-model="roomDialogState.roomForm.safeLiabilityPersonId" placeholder="场所安全员" clearable class="input-length">
+                        <el-option v-for="item in memberList" :key="item.id" :label="item.personName" :value="item.id"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                    <el-form-item label="有无消防设施" prop="fireFacilities">
+                      <el-select v-model="roomDialogState.roomForm.fireFacilities" placeholder="有无消防设施" clearable class="input-length">
+                        <el-option :key="1" label="有" :value="1"></el-option>
+                        <el-option :key="2" label="无" :value="2"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                    <el-form-item label="有无隔断" prop="partitionStatus">
+                      <el-select v-model="roomDialogState.roomForm.partitionStatus" placeholder="有无隔断" clearable class="input-length">
+                        <el-option :key="1" label="有" :value="1"></el-option>
+                        <el-option :key="2" label="无" :value="2"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
+                  <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20">
+                    <el-form-item label="场所性质" prop="siteTypeId">
+                      <el-select v-model="roomDialogState.roomForm.siteTypeId" placeholder="场所性质" clearable class="input-length">
+                        <el-option v-for="item in typeList" :key="item.id" :label="item.siteType" :value="item.id"></el-option>
+                      </el-select>
+                    </el-form-item>
+                  </el-col>
                 </el-row>
             </el-form>
             <template #footer>
@@ -31,7 +68,7 @@
 </template>
 
 <script setup lang="ts">
-import { reactive, ref } from "vue";
+import { reactive, ref, defineProps} from "vue";
 import {ElMessage} from "element-plus";
 import {roomApi} from "/@/api/basic/room";
 
@@ -44,12 +81,21 @@
         siteName: '',
         floor: '',
         room: '',
+        siteLiabilityPersonId: null,
+        safeLiabilityPersonId: null,
+        fireFacilities: null,
+        partitionStatus: null,
+        siteTypeId: null
     },
     roomFormRules: {
-        deviceCode: [{ required: true, message: '请填写设备编号', trigger: 'blur' }],
-        deviceName: [{ required: true, message: '请填写设备名称', trigger: 'blur' }],
-        devicePower: [{ required: true, message: '请填写设备功率', trigger: 'blur' }],
-        deviceUnit: [{ required: true, message: '请选择计量单位', trigger: 'change' }]
+        siteName: [{ required: true, message: '请填写实验室名称', trigger: 'blur' }],
+        floor: [{ required: true, message: '请填写楼名称', trigger: 'blur' }],
+        room: [{ required: true, message: '请填写房间', trigger: 'blur' }],
+        siteLiabilityPersonId: [{ required: true, message: '请选择场所责任人', trigger: 'blur' }],
+        safeLiabilityPersonId: [{ required: true, message: '请选择场所安全员', trigger: 'blur' }],
+        fireFacilities: [{ required: true, message: '请选择有无消防设施', trigger: 'blur' }],
+        partitionStatus: [{ required: true, message: '请选择有无隔断', trigger: 'blur' }],
+        siteTypeId: [{ required: true, message: '请选择场所性质', trigger: 'blur' }]
     },
     specialDeviceList: [],
     deviceUnitList: [
@@ -72,6 +118,11 @@
             siteName: '',
             floor: '',
             room: '',
+            siteLiabilityPersonId: null,
+            safeLiabilityPersonId: null,
+            fireFacilities: null,
+            partitionStatus: null,
+            siteTypeId: null
         };
     }else{
         roomDialogState.title = '编辑'
@@ -80,6 +131,11 @@
             siteName: value.siteName,
             floor: value.floor,
             room: value.room,
+            siteLiabilityPersonId: value.siteLiabilityPersonId,
+            safeLiabilityPersonId: value.safeLiabilityPersonId,
+            fireFacilities: value.fireFacilities,
+            partitionStatus: value.partitionStatus,
+            siteTypeId: value.siteTypeId
         };
     }
 };
@@ -129,6 +185,11 @@
 
 const emit = defineEmits(['refresh'])
 
+defineProps({
+  memberList: Array,
+  typeList: Array
+})
+
 defineExpose({
     showroomDialog
 })

--
Gitblit v1.9.2