| | |
| | | <el-table-column prop="siteName" label="场所名称"/> |
| | | <el-table-column prop="floor" label="实验室所在楼" /> |
| | | <el-table-column prop="room" label="实验室所在房间"/> |
| | | <el-table-column prop="siteLiabilityPerson" label="场所责任人"/> |
| | | <el-table-column prop="safeLiabilityPerson" label="场所安全员"/> |
| | | <el-table-column prop="fireFacilities" label="有无消防设施"> |
| | | <template #default="scope"> |
| | | <span>{{scope.row.fireFacilities == 1?'有':'无'}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="partitionStatus" label="有无隔断"> |
| | | <template #default="scope"> |
| | | <span>{{scope.row.partitionStatus == 1?'有':'无'}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="siteType" label="场所性质"/> |
| | | <el-table-column prop="createTime" label="创建时间" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="createByUserName" label="创建人" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="updateTime" label="最后修改时间" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="updateByUserName" label="最后修改人" show-overflow-tooltip></el-table-column> |
| | | <el-table-column label="操作" width="150"> |
| | | <template #default="scope"> |
| | | <el-button size="small" text type="primary" :icon="Edit" @click="openRoomDialog('修改', scope.row)">修改</el-button> |
| | | <el-button size="small" text type="primary" :icon="Edit" @click="openRoomDialog('修改', scope.row)">编辑</el-button> |
| | | <el-button size="small" text type="danger" :icon="Delete" @click="onDelRoom(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <room-dialog ref="roomDialogRef" @refresh="getRoomData"></room-dialog> |
| | | <room-dialog ref="roomDialogRef" @refresh="getRoomData" :memberList="roomState.memberList" :typeList="roomState.typeList"></room-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import {defineAsyncComponent, onMounted, reactive, ref} from "vue"; |
| | | import {roomApi} from "/@/api/basic/room"; |
| | | import {personApi} from "/@/api/basic/person"; |
| | | import {ElMessage, ElMessageBox} from "element-plus"; |
| | | import { Edit, View, Plus, Delete } from '@element-plus/icons-vue'; |
| | | import {equipmentApi} from "/@/api/basic/equipement"; |
| | | |
| | | const RoomDialog = defineAsyncComponent(() => import('./components/roomDialog.vue')); |
| | | |
| | |
| | | |
| | | const roomState = reactive<RoomStateType>({ |
| | | roomData: [], |
| | | memberList: [], |
| | | typeList: [], |
| | | searchQuery: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | |
| | | ] |
| | | }) |
| | | |
| | | const getAllMember = async ()=>{ |
| | | const res = await personApi().getAllPerson(); |
| | | if(res.data.code === 100){ |
| | | roomState.memberList = res.data.data |
| | | } |
| | | } |
| | | |
| | | const getAllType = async ()=>{ |
| | | const res = await roomApi().getAllType(); |
| | | if(res.data.code === 100){ |
| | | roomState.typeList = res.data.data |
| | | } |
| | | } |
| | | |
| | | const getRoomData = async () => { |
| | | let res = await roomApi().getRoomByList(roomState.searchQuery); |
| | | if(res.data.code === 100){ |
| | |
| | | }; |
| | | |
| | | const onDelRoom = (val: RoomType) => { |
| | | ElMessageBox.confirm(`此操作将永久删除该设备:“${val.siteName}”,是否继续?`, '提示', { |
| | | ElMessageBox.confirm(`此操作将永久删除该场所:“${val.siteName}”,是否继续?`, '提示', { |
| | | confirmButtonText: '确认', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | |
| | | |
| | | onMounted(() => { |
| | | getRoomData() |
| | | getAllMember() |
| | | getAllType() |
| | | }) |
| | | |
| | | </script> |