From 2d561150b91a9789d31678af14dd4840bbb56576 Mon Sep 17 00:00:00 2001
From: 马宇豪 <978517621@qq.com>
Date: 星期三, 29 三月 2023 16:37:27 +0800
Subject: [PATCH] 设备、场所、部门接口

---
 src/views/basic/room/components/roomDialog.vue |   66 ++++++++++++++++++++++++++++++++-
 1 files changed, 64 insertions(+), 2 deletions(-)

diff --git a/src/views/basic/room/components/roomDialog.vue b/src/views/basic/room/components/roomDialog.vue
index ee58e6c..bfa5291 100644
--- a/src/views/basic/room/components/roomDialog.vue
+++ b/src/views/basic/room/components/roomDialog.vue
@@ -4,7 +4,7 @@
             <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,11 +81,21 @@
         siteName: '',
         floor: '',
         room: '',
+        siteLiabilityPersonId: null,
+        safeLiabilityPersonId: null,
+        fireFacilities: null,
+        partitionStatus: null,
+        siteTypeId: null
     },
     roomFormRules: {
         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: [
@@ -71,6 +118,11 @@
             siteName: '',
             floor: '',
             room: '',
+            siteLiabilityPersonId: null,
+            safeLiabilityPersonId: null,
+            fireFacilities: null,
+            partitionStatus: null,
+            siteTypeId: null
         };
     }else{
         roomDialogState.title = '编辑'
@@ -79,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
         };
     }
 };
@@ -128,6 +185,11 @@
 
 const emit = defineEmits(['refresh'])
 
+defineProps({
+  memberList: Array,
+  typeList: Array
+})
+
 defineExpose({
     showroomDialog
 })

--
Gitblit v1.9.2