Compare commits

...

3 Commits
v0.1 ... main

Author SHA1 Message Date
FONTRESSORTIR 7c1e15a997 Changes to be committed:
2 months ago
FONTRESSORTIR 7fd296b97e deleted: README.md
4 months ago
FONTRESSORTIR 91fda56f59 new file: init.sql
4 months ago

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 308 KiB

@ -1,30 +1,43 @@
<template>
<div>
<!-- 面包屑导航 -->
<el-breadcrumb separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>申请管理</el-breadcrumb-item>
<el-breadcrumb-item>调宿申请</el-breadcrumb-item>
</el-breadcrumb>
<!-- 调宿审批卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div>
<!-- 功能区-->
<!-- 功能区 -->
<div style="margin: 10px 0">
<!-- 搜索区-->
<!-- 搜索区 -->
<div style="margin: 10px 0">
<!-- 搜索输入框 -->
<el-input v-model="search" clearable placeholder="请输入学号" prefix-icon="Search" style="width: 20%"/>
<!-- 搜索按钮 -->
<el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button>
<!-- 重置按钮 -->
<el-button icon="refresh-left" style="margin-left: 10px" type="default" @click="reset"></el-button>
</div>
</div>
<!-- 表格-->
<!-- 调宿申请表格 -->
<el-table v-loading="loading" :data="tableData" border max-height="705" style="width: 100%">
<!-- 序号列 -->
<el-table-column label="#" type="index"/>
<!-- 学号列 -->
<el-table-column label="学号" prop="username" sortable width="100px"/>
<!-- 姓名列 -->
<el-table-column label="姓名" prop="name" width="100px"/>
<!-- 当前房间号列 -->
<el-table-column label="当前房间号" prop="currentRoomId" sortable/>
<!-- 当前床位号列 -->
<el-table-column label="当前床位号" prop="currentBedId" sortable/>
<!-- 目标房间号列 -->
<el-table-column label="目标房间号" prop="towardsRoomId" sortable/>
<!-- 目标床位号列 -->
<el-table-column label="目标床位号" prop="towardsBedId" sortable/>
<!-- 申请状态列带筛选功能 -->
<el-table-column
:filter-method="filterTag"
:filters="[
@ -39,21 +52,27 @@
width="130px"
>
<template #default="scope">
<!-- 状态标签通过绿色驳回红色未处理灰色 -->
<el-tag :type="scope.row.state === '通过' ? 'success' : (scope.row.state === '驳回' ? 'danger' : 'info')"
disable-transitions
>{{ scope.row.state }}
</el-tag>
</template>
</el-table-column>
<!-- 申请时间列 -->
<el-table-column label="申请时间" prop="applyTime" sortable/>
<!-- 处理时间列 -->
<el-table-column label="处理时间" prop="finishTime" sortable/>
<!-- 操作栏-->
<!-- 操作列 -->
<el-table-column label="操作" width="190px">
<template #default="scope">
<!-- 查看详情按钮仅在通过或驳回状态下显示 -->
<el-button v-if="scope.row.state==='' ||scope.row.state===''" icon="more-filled" type="default"
@click="showDetail(scope.row)"></el-button>
<!-- 编辑按钮仅在未通过状态下显示 -->
<el-button v-if="scope.row.state!=='' " icon="Edit" type="primary"
@click="handleEdit(scope.row)"></el-button>
<!-- 删除按钮带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="handleDelete(scope.row.id)">
<template #reference>
<el-button icon="Delete" type="danger"></el-button>
@ -62,7 +81,7 @@
</template>
</el-table-column>
</el-table>
<!--分页-->
<!-- 分页组件 -->
<div style="margin: 10px 0">
<el-pagination
v-model:currentPage="currentPage"
@ -75,28 +94,36 @@
>
</el-pagination>
</div>
<!-- 调宿审批操作弹窗 -->
<div>
<!-- 弹窗-->
<el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel">
<!-- 调宿审批表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 学号输入框只读 -->
<el-form-item label="学号" prop="username">
<el-input v-model="form.username" disabled style="width: 80%"></el-input>
</el-form-item>
<!-- 姓名输入框只读 -->
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" disabled style="width: 80%"></el-input>
</el-form-item>
<!-- 当前房间号输入框只读 -->
<el-form-item disabled label="当前房间号" prop="currentRoomId">
<el-input v-model="form.currentRoomId" disabled style="width: 80%"></el-input>
</el-form-item>
<!-- 当前床位号输入框只读 -->
<el-form-item label="当前床位号" prop="currentBedId">
<el-input v-model="form.currentBedId" disabled style="width: 80%"></el-input>
</el-form-item>
<!-- 目标房间号输入框 -->
<el-form-item label="目标房间号" prop="towardsRoomId">
<el-input v-model="form.towardsRoomId" style="width: 80%"></el-input>
</el-form-item>
<!-- 目标床位号输入框 -->
<el-form-item label="目标床位号" prop="towardsBedId">
<el-input v-model="form.towardsBedId" style="width: 80%"></el-input>
</el-form-item>
<!-- 申请时间选择器只读 -->
<el-form-item label="申请时间" prop="applyTime" style="margin-top: 27px">
<el-date-picker
v-model="form.applyTime"
@ -108,10 +135,13 @@
value-format="YYYY-MM-DD HH:mm:ss"
></el-date-picker>
</el-form-item>
<!-- 申请状态选择 -->
<el-form-item label="申请状态" prop="state">
<el-radio v-model="form.state" label="通过"></el-radio>
<!-- 驳回选项仅在未通过状态下显示 -->
<el-radio v-if="this.form.state!=='通过'" v-model="form.state" label="驳回"></el-radio>
</el-form-item>
<!-- 处理时间选择器 -->
<el-form-item label="处理时间" prop="finishTime" style="margin-top: 27px">
<el-date-picker
v-model="form.finishTime"
@ -123,6 +153,7 @@
></el-date-picker>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
@ -130,49 +161,59 @@
</span>
</template>
</el-dialog>
<!--详情信息弹窗-->
<!-- 申请详情弹窗 -->
<el-dialog v-model="detailDialog" title="学生信息" width="30%" @close="cancel">
<!-- 申请详情表单 -->
<el-form ref="form" :model="form" label-width="220px">
<!-- 学号信息 -->
<el-form-item label="学号:" prop="username">
<template #default="scope">
<span>{{ form.username }}</span>
</template>
</el-form-item>
<!-- 姓名信息 -->
<el-form-item label="姓名:" prop="name">
<template #default="scope">
<span>{{ form.name }}</span>
</template>
</el-form-item>
<!-- 当前房间号信息 -->
<el-form-item label="当前房间号:" prop="currentRoomId">
<template #default="scope">
<span>{{ form.currentRoomId }}</span>
</template>
</el-form-item>
<!-- 当前床位号信息 -->
<el-form-item label="当前床位号:" prop="currentBedId">
<template #default="scope">
<span>{{ form.currentBedId }}</span>
</template>
</el-form-item>
<!-- 目标房间号信息 -->
<el-form-item label="目标房间号:" prop="towardsRoomId">
<template #default="scope">
<span>{{ form.towardsRoomId }}</span>
</template>
</el-form-item>
<!-- 目标床位号信息 -->
<el-form-item label="目标床位号:" prop="towardsBedId">
<template #default="scope">
<span>{{ form.towardsBedId }}</span>
</template>
</el-form-item>
<!-- 申请时间信息 -->
<el-form-item label="申请时间:" prop="applyTime">
<template #default="scope">
<span>{{ form.applyTime }}</span>
</template>
</el-form-item>
<!-- 申请状态信息 -->
<el-form-item label="申请状态:" prop="state">
<template #default="scope">
<span>{{ form.state }}</span>
</template>
</el-form-item>
<!-- 处理时间信息 -->
<el-form-item label="处理时间:" prop="finishTime">
<template #default="scope">
<span>{{ form.finishTime }}</span>
@ -185,4 +226,5 @@
</el-card>
</div>
</template>
<!-- 引入调宿审批页面的JavaScript逻辑 -->
<script src="@/assets/js/AdjustRoomInfo.js"></script>

@ -1,18 +1,23 @@
<template>
<div>
<!-- 面包屑导航 -->
<el-breadcrumb separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>申请管理</el-breadcrumb-item>
<el-breadcrumb-item>调宿申请</el-breadcrumb-item>
</el-breadcrumb>
<!-- 调宿申请卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div>
<!-- 功能区-->
<!-- 功能区 -->
<div style="margin: 10px 0">
<!-- 搜索区-->
<!-- 搜索区 -->
<div style="margin: 10px 0">
<!-- 搜索输入框 -->
<el-input v-model="search" clearable placeholder="请输入学号" prefix-icon="Search" style="width: 20%"/>
<!-- 搜索按钮 -->
<el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button>
<!-- 右侧添加按钮 -->
<div style="float: right">
<el-tooltip content="添加" placement="top">
<el-button icon="plus" style="width: 50px" type="primary" @click="add"></el-button>
@ -20,15 +25,23 @@
</div>
</div>
</div>
<!-- 表格-->
<!-- 调宿申请表格 -->
<el-table v-loading="loading" :data="tableData" border max-height="705" style="width: 100%">
<!-- 序号列 -->
<el-table-column label="#" type="index"/>
<!-- 学号列 -->
<el-table-column label="学号" prop="username" sortable width="100px"/>
<!-- 姓名列 -->
<el-table-column label="姓名" prop="name" width="100px"/>
<!-- 当前房间号列 -->
<el-table-column label="当前房间号" prop="currentRoomId" sortable/>
<!-- 当前床位号列 -->
<el-table-column label="当前床位号" prop="currentBedId" sortable/>
<!-- 目标房间号列 -->
<el-table-column label="目标房间号" prop="towardsRoomId" sortable/>
<!-- 目标床位号列 -->
<el-table-column label="目标床位号" prop="towardsBedId" sortable/>
<!-- 申请状态列带筛选功能 -->
<el-table-column
:filter-method="filterTag"
:filters="[
@ -43,24 +56,29 @@
width="130px"
>
<template #default="scope">
<!-- 状态标签通过绿色驳回红色未处理灰色 -->
<el-tag :type="scope.row.state === '通过' ? 'success' : (scope.row.state === '驳回' ? 'danger' : 'info')"
disable-transitions
>{{ scope.row.state }}
</el-tag>
</template>
</el-table-column>
<!-- 申请时间列 -->
<el-table-column label="申请时间" prop="applyTime" sortable/>
<!-- 处理时间列 -->
<el-table-column label="处理时间" prop="finishTime" sortable/>
<!-- 操作栏-->
<!-- 操作列 -->
<el-table-column label="操作" width="130px">
<template #default="scope">
<!-- 查看详情按钮 -->
<el-button icon="more-filled" type="default" @click="showDetail(scope.row)"></el-button>
<!-- 编辑按钮仅在未通过状态下显示 -->
<el-button v-if="scope.row.state!=='' " icon="Edit" type="primary"
@click="handleEdit(scope.row)"></el-button>
</template>
</el-table-column>
</el-table>
<!--分页-->
<!-- 分页组件 -->
<div style="margin: 10px 0">
<el-pagination
v-model:currentPage="currentPage"
@ -73,28 +91,36 @@
>
</el-pagination>
</div>
<!-- 调宿申请操作弹窗 -->
<div>
<!-- 弹窗-->
<el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel">
<!-- 调宿申请表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 学号输入框只读 -->
<el-form-item label="学号" prop="username">
<el-input v-model="form.username" disabled style="width: 80%"></el-input>
</el-form-item>
<!-- 姓名输入框只读 -->
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" disabled style="width: 80%"></el-input>
</el-form-item>
<!-- 当前房间号输入框只读 -->
<el-form-item disabled label="当前房间号" prop="currentRoomId">
<el-input v-model="form.currentRoomId" disabled style="width: 80%"></el-input>
</el-form-item>
<!-- 当前床位号输入框只读 -->
<el-form-item label="当前床位号" prop="currentBedId">
<el-input v-model="form.currentBedId" disabled style="width: 80%"></el-input>
</el-form-item>
<!-- 目标房间号输入框 -->
<el-form-item label="目标房间号" prop="towardsRoomId">
<el-input v-model.number="form.towardsRoomId" style="width: 80%"></el-input>
</el-form-item>
<!-- 目标床位号输入框 -->
<el-form-item label="目标床位号" prop="towardsBedId">
<el-input v-model.number="form.towardsBedId" style="width: 80%"></el-input>
</el-form-item>
<!-- 申请时间选择器 -->
<el-form-item label="申请时间" prop="applyTime" style="margin-top: 27px">
<el-date-picker
v-model="form.applyTime"
@ -107,6 +133,7 @@
></el-date-picker>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
@ -114,49 +141,59 @@
</span>
</template>
</el-dialog>
<!--详情信息弹窗-->
<!-- 申请详情弹窗 -->
<el-dialog v-model="detailDialog" title="学生信息" width="30%" @close="cancel">
<!-- 申请详情表单 -->
<el-form ref="form" :model="form" label-width="220px">
<!-- 学号信息 -->
<el-form-item label="学号:" prop="username">
<template #default="scope">
<span>{{ form.username }}</span>
</template>
</el-form-item>
<!-- 姓名信息 -->
<el-form-item label="姓名:" prop="name">
<template #default="scope">
<span>{{ form.name }}</span>
</template>
</el-form-item>
<!-- 当前房间号信息 -->
<el-form-item label="当前房间号:" prop="currentRoomId">
<template #default="scope">
<span>{{ form.currentRoomId }}</span>
</template>
</el-form-item>
<!-- 当前床位号信息 -->
<el-form-item label="当前床位号:" prop="currentBedId">
<template #default="scope">
<span>{{ form.currentBedId }}</span>
</template>
</el-form-item>
<!-- 目标房间号信息 -->
<el-form-item label="目标房间号:" prop="towardsRoomId">
<template #default="scope">
<span>{{ form.towardsRoomId }}</span>
</template>
</el-form-item>
<!-- 目标床位号信息 -->
<el-form-item label="目标床位号:" prop="towardsBedId">
<template #default="scope">
<span>{{ form.towardsBedId }}</span>
</template>
</el-form-item>
<!-- 申请时间信息 -->
<el-form-item label="申请时间:" prop="applyTime">
<template #default="scope">
<span>{{ form.applyTime }}</span>
</template>
</el-form-item>
<!-- 申请状态信息 -->
<el-form-item label="申请状态:" prop="state">
<template #default="scope">
<span>{{ form.state }}</span>
</template>
</el-form-item>
<!-- 处理时间信息 -->
<el-form-item label="处理时间:" prop="finishTime">
<template #default="scope">
<span>{{ form.finishTime }}</span>
@ -169,4 +206,5 @@
</el-card>
</div>
</template>
<!-- 引入调宿申请页面的JavaScript逻辑 -->
<script src="@/assets/js/ApplyChangeRoom.js"></script>

@ -1,17 +1,22 @@
<template>
<div>
<!-- 面包屑导航 -->
<el-breadcrumb separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>申请报修</el-breadcrumb-item>
</el-breadcrumb>
<!-- 申请报修卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div>
<!-- 功能区-->
<!-- 功能区 -->
<div style="margin: 10px 0">
<!-- 搜索区-->
<!-- 搜索区 -->
<div style="margin: 10px 0">
<!-- 搜索输入框 -->
<el-input v-model="search" clearable placeholder="请输入标题" prefix-icon="Search" style="width: 20%"/>
<!-- 搜索按钮 -->
<el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button>
<!-- 右侧添加按钮 -->
<div style="float: right">
<el-tooltip content="添加" placement="top">
<el-button icon="plus" style="width: 50px" type="primary" @click="add"></el-button>
@ -19,13 +24,19 @@
</div>
</div>
</div>
<!-- 表格-->
<!-- 报修申请表格 -->
<el-table v-loading="loading" :data="tableData" border max-height="705" style="width: 100%">
<!-- 序号列 -->
<el-table-column label="#" type="index"/>
<!-- 标题列 -->
<el-table-column :show-overflow-tooltip="true" label="标题" prop="title"/>
<!-- 宿舍号列 -->
<el-table-column label="宿舍号" prop="dormBuildId" sortable width="150px"/>
<!-- 房间号列 -->
<el-table-column label="房间号" prop="dormRoomId" sortable width="150px"/>
<!-- 申请人列 -->
<el-table-column label="申请人" prop="repairer" width="150px"/>
<!-- 订单状态列带筛选功能 -->
<el-table-column
:filter-method="filterTag"
:filters="[
@ -38,21 +49,25 @@
sortable
>
<template #default="scope">
<!-- 状态标签完成绿色未完成灰色 -->
<el-tag :type="scope.row.state === '完成' ? 'success' : 'info'" disable-transitions
>{{ scope.row.state }}
</el-tag>
</template>
</el-table-column>
<!-- 订单创建时间列 -->
<el-table-column label="订单创建时间" prop="orderBuildTime" sortable/>
<!-- 订单完成时间列 -->
<el-table-column label="订单完成时间" prop="orderFinishTime" sortable/>
<!-- 操作栏-->
<!-- 操作列 -->
<el-table-column label="操作" width="74px">
<template #default="scope">
<!-- 查看详情按钮 -->
<el-button icon="more-filled" type="default" @click="showDetail(scope.row)"></el-button>
</template>
</el-table-column>
</el-table>
<!--分页-->
<!-- 分页组件 -->
<div style="margin: 10px 0">
<el-pagination
v-model:currentPage="currentPage"
@ -65,22 +80,28 @@
>
</el-pagination>
</div>
<!-- 弹窗-->
<!-- 报修申请操作弹窗 -->
<div>
<el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel">
<!-- 报修申请表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 楼宇号输入框只读 -->
<el-form-item label="楼宇号" prop="dormBuildId" style="margin-bottom: 27px">
<el-input v-model="form.dormBuildId" disabled style="width: 80%">{{ this.room.dormBuildId }}</el-input>
</el-form-item>
<!-- 房间号输入框只读 -->
<el-form-item label="房间号" prop="dormRoomId" style="margin-bottom: 27px">
<el-input v-model="form.dormRoomId" disabled style="width: 80%">{{ this.room.dormRoomId }}</el-input>
</el-form-item>
<!-- 申请人输入框只读 -->
<el-form-item label="申请人" prop="repairer">
<el-input v-model="form.repairer" disabled style="width: 80%">{{ this.name }}</el-input>
</el-form-item>
<!-- 标题输入框 -->
<el-form-item label="标题" prop="title" style="margin-bottom: 27px">
<el-input v-model="form.title" clearable style="width: 80%"></el-input>
</el-form-item>
<!-- 内容输入框文本域 -->
<el-form-item label="内容" prop="content">
<el-input
v-model="form.content"
@ -91,6 +112,7 @@
type="textarea"
></el-input>
</el-form-item>
<!-- 订单创建时间选择器 -->
<el-form-item label="订单创建时间" prop="orderBuildTime" style="margin-top: 27px">
<el-date-picker
v-model="form.orderBuildTime"
@ -102,6 +124,7 @@
></el-date-picker>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
@ -109,11 +132,12 @@
</span>
</template>
</el-dialog>
<!-- 内容详情弹窗-->
<!-- 报修内容详情弹窗 -->
<el-dialog v-model="detailDialog" title="详情" width="30%">
<el-card>
<div v-html="detail.content"></div>
</el-card>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="closeDetails"> </el-button>
@ -125,4 +149,5 @@
</el-card>
</div>
</template>
<!-- 引入申请报修页面的JavaScript逻辑 -->
<script src="@/assets/js/ApplyRepairInfo.js"></script>

@ -1,19 +1,25 @@
<template>
<div>
<!-- 面包屑导航 -->
<el-breadcrumb replace="true" separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: 'home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>宿舍管理</el-breadcrumb-item>
<el-breadcrumb-item>楼宇信息</el-breadcrumb-item>
</el-breadcrumb>
<!-- 楼宇信息管理卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div>
<!-- 功能区-->
<!-- 功能区 -->
<div style="margin: 10px 0">
<!-- 搜索区-->
<!-- 搜索区 -->
<div style="margin: 10px 0">
<!-- 搜索输入框 -->
<el-input v-model="search" clearable placeholder="请输入编号" prefix-icon="Search" style="width: 20%"/>
<!-- 搜索按钮 -->
<el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button>
<!-- 重置按钮 -->
<el-button icon="refresh-left" style="margin-left: 10px" type="default" @click="reset"></el-button>
<!-- 右侧添加按钮 -->
<div style="float: right">
<el-tooltip content="添加" placement="top">
<el-button icon="plus" style="width: 50px" type="primary" @click="add"></el-button>
@ -21,12 +27,16 @@
</div>
</div>
</div>
<!-- 表格-->
<!-- 楼宇信息表格 -->
<el-table v-loading="loading" :data="tableData" border max-height="705" show-overflow-tooltip
style="width: 100%">
<!-- 序号列 -->
<el-table-column label="#" type="index"/>
<!-- 编号列 -->
<el-table-column label="编号" prop="dormBuildId" sortable/>
<!-- 名称列 -->
<el-table-column label="名称" prop="dormBuildName"/>
<!-- 备注列带筛选功能 -->
<el-table-column
:filter-method="filterTag"
:filters="[
@ -37,11 +47,13 @@
label="备注"
prop="dormBuildDetail"
/>
<!-- 操作栏-->
<!-- 操作列 -->
<el-table-column label="操作" width="130px">
<template #default="scope">
<!-- 编辑按钮 -->
<el-button icon="Edit" type="primary" @click="handleEdit(scope.row)"
></el-button>
<!-- 删除按钮带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="handleDelete(scope.row.id)">
<template #reference>
<el-button icon="Delete" type="danger"></el-button>
@ -50,7 +62,7 @@
</template>
</el-table-column>
</el-table>
<!--分页-->
<!-- 分页组件 -->
<div style="margin: 10px 0">
<el-pagination
v-model:currentPage="currentPage"
@ -63,16 +75,20 @@
>
</el-pagination>
</div>
<!-- 弹窗-->
<!-- 楼宇信息操作弹窗 -->
<div>
<el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel">
<!-- 楼宇信息表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 编号输入框 -->
<el-form-item label="编号" prop="dormBuildId">
<el-input v-model.number="form.dormBuildId" :disabled="disabled" style="width: 80%"></el-input>
</el-form-item>
<!-- 名称输入框 -->
<el-form-item label="名称" prop="dormBuildName">
<el-input v-model="form.dormBuildName" style="width: 80%"></el-input>
</el-form-item>
<!-- 备注输入框文本域 -->
<el-form-item label="备注" prop="dormBuildDetail">
<el-input
v-model="form.dormBuildDetail"
@ -83,6 +99,7 @@
></el-input>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
@ -95,4 +112,5 @@
</el-card>
</div>
</template>
<!-- 引入楼宇信息管理页面的JavaScript逻辑 -->
<script src="@/assets/js/BuildingInfo.js"></script>

@ -1,19 +1,25 @@
<template>
<div>
<!-- 面包屑导航 -->
<el-breadcrumb separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>用户管理</el-breadcrumb-item>
<el-breadcrumb-item>宿管信息</el-breadcrumb-item>
</el-breadcrumb>
<!-- 宿管信息管理卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div>
<!-- 功能区-->
<!-- 功能区 -->
<div style="margin: 10px 0">
<!-- 搜索区-->
<!-- 搜索区 -->
<div style="margin: 10px 0">
<!-- 搜索输入框 -->
<el-input v-model="search" clearable placeholder="请输入姓名" prefix-icon="Search" style="width: 20%"/>
<!-- 搜索按钮 -->
<el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button>
<!-- 重置按钮 -->
<el-button icon="refresh-left" style="margin-left: 10px" type="default" @click="reset"></el-button>
<!-- 右侧添加按钮 -->
<div style="float: right">
<el-tooltip content="添加" placement="top">
<el-button icon="plus" style="width: 50px" type="primary" @click="add"></el-button>
@ -21,11 +27,15 @@
</div>
</div>
</div>
<!-- 表格-->
<!-- 宿管信息表格 -->
<el-table v-loading="loading" :data="tableData" border max-height="705" style="width: 100%">
<!-- 序号列 -->
<el-table-column label="#" type="index"/>
<!-- 账号列 -->
<el-table-column label="账号" prop="username" sortable/>
<!-- 姓名列 -->
<el-table-column label="姓名" prop="name"/>
<!-- 性别列带筛选功能 -->
<el-table-column
:filter-method="filterTag"
:filters="[
@ -36,14 +46,20 @@
label="性别"
prop="gender"
/>
<!-- 年龄列 -->
<el-table-column label="年龄" prop="age" sortable/>
<!-- 手机号列 -->
<el-table-column label="手机号" prop="phoneNum"/>
<!-- 邮箱列 -->
<el-table-column label="邮箱" prop="email"/>
<!-- 任职宿舍楼列 -->
<el-table-column label="任职宿舍楼" prop="dormBuildId" sortable/>
<!-- 操作栏-->
<!-- 操作列 -->
<el-table-column label="操作" width="130px">
<template #default="scope">
<!-- 编辑按钮 -->
<el-button icon="Edit" type="primary" @click="handleEdit(scope.row)"></el-button>
<!-- 删除按钮带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="handleDelete(scope.row.username)">
<template #reference>
<el-button icon="Delete" type="danger"></el-button>
@ -52,7 +68,7 @@
</template>
</el-table-column>
</el-table>
<!--分页-->
<!-- 分页组件 -->
<div style="margin: 10px 0">
<el-pagination
v-model:currentPage="currentPage"
@ -65,16 +81,20 @@
>
</el-pagination>
</div>
<!-- 宿管信息操作弹窗 -->
<div>
<!-- 弹窗-->
<el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel">
<!-- 宿管信息表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 账号输入框 -->
<el-form-item label="账号" prop="username">
<el-input v-model="form.username" :disabled="judgeAddOrEdit" style="width: 80%"></el-input>
</el-form-item>
<!-- 密码输入框 -->
<el-form-item label="密码" prop="password">
<el-input v-model="form.password" :disabled="disabled" :show-password="showpassword"
style="width: 80%"></el-input>
<!-- 修改密码图标 -->
<el-tooltip content="修改密码" placement="right">
<el-icon :style="editDisplay" size="large" style="margin-left: 5px; cursor: pointer"
@click="EditPass">
@ -82,29 +102,37 @@
</el-icon>
</el-tooltip>
</el-form-item>
<!-- 确认密码输入框 -->
<el-form-item :style="display" label="确认密码" prop="checkPass">
<el-input v-model="form.checkPass" :show-password="showpassword" style="width: 80%"></el-input>
</el-form-item>
<!-- 姓名输入框 -->
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" style="width: 80%"></el-input>
</el-form-item>
<!-- 年龄输入框 -->
<el-form-item label="年龄" prop="age">
<el-input v-model.number="form.age" style="width: 80%"></el-input>
</el-form-item>
<!-- 性别选择 -->
<el-form-item label="性别" prop="gender">
<el-radio v-model="form.gender" label="男"></el-radio>
<el-radio v-model="form.gender" label="女"></el-radio>
</el-form-item>
<!-- 手机号输入框 -->
<el-form-item label="手机号" prop="phoneNum">
<el-input v-model.number="form.phoneNum" style="width: 80%"></el-input>
</el-form-item>
<!-- 邮箱输入框 -->
<el-form-item label="邮箱地址" prop="email">
<el-input v-model="form.email" style="width: 80%"></el-input>
</el-form-item>
<!-- 任职宿舍楼输入框 -->
<el-form-item label="任职宿舍楼" prop="dormBuildId">
<el-input v-model="form.dormBuildId" style="width: 80%"></el-input>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
@ -117,4 +145,5 @@
</el-card>
</div>
</template>
<!-- 引入宿管信息管理页面的JavaScript逻辑 -->
<script src="@/assets/js/DormManagerInfo.js"></script>

@ -1,8 +1,11 @@
<template>
<!-- 主页卡片容器 -->
<el-card style="margin: 15px; min-height: calc(100vh - 80px)">
<!-- 头部数据-->
<!-- 头部统计数据展示区域 -->
<div>
<!-- 统计数据行 -->
<el-row :gutter="20" class="topInfo">
<!-- 学生统计卡片 -->
<el-col :span="6">
<div id="stuNumDiv" class="el-colDiv">
<div id="ssv1-main-text" class="nowDiv">实时</div>
@ -11,6 +14,7 @@
<span class="last-span">当前分类总记录数</span>
</div>
</el-col>
<!-- 住宿人数统计卡片 -->
<el-col :span="6">
<div id="haveRoomDiv" class="el-colDiv">
<div id="ssv2-main-text" class="nowDiv">实时</div>
@ -19,6 +23,7 @@
<span class="last-span">当前分类总记录数</span>
</div>
</el-col>
<!-- 报修统计卡片 -->
<el-col :span="6">
<div id="repairNum" class="el-colDiv">
<div id="ssv3-main-text" class="nowDiv">实时</div>
@ -27,6 +32,7 @@
<span class="last-span">当前分类总记录数</span>
</div>
</el-col>
<!-- 空宿舍统计卡片 -->
<el-col :span="6">
<div id="emptyRoom" class="el-colDiv">
<div id="ssv4-main-text" class="nowDiv">实时</div>
@ -37,34 +43,36 @@
</el-col>
</el-row>
</div>
<!-- 下部-->
<!-- 下部内容区域 -->
<div style="display: flex;width: 100%;margin-top: 40px;align-items: center;justify-content: center;">
<!-- 左侧 宿舍通告-->
<!-- 左侧宿舍通告区域 -->
<div style="margin-right: 5%">
<!-- 通告标题 -->
<span style="font-size: 22px;display: block;margin-bottom: 30px;margin-left: 10px;">宿舍通告</span>
<!-- 通告时间线 -->
<el-timeline>
<!-- 循环显示最近8条通告 -->
<el-timeline-item v-for="(activity, index) in activities.slice(0, 8)" :key="index"
:timestamp="activity.releaseTime">
<span style="font-size: 15px">{{ activity.title }}</span><br/>
<!-- <span style="font-size: 10px">{{ activity.content }}</span>-->
</el-timeline-item>
</el-timeline>
</div>
<!-- 中部-->
<!-- 中部宿舍学生人数分布图表区域 -->
<div style="height: 588px">
<span style="
<!-- 图表标题 -->
<span style="
font-size: 22px;
display: block;
margin-bottom: 30px;
margin-left: 10px;
">宿舍学生人数分布</span>
<!-- 图表组件 -->
<home_echarts/>
</div>
<!-- 右侧-->
<!-- 右侧日历组件区域 -->
<div style="margin-left: 5%">
<!-- 天气组件-->
<weather/>
<!-- 日历组件-->
<!-- 日历卡片 -->
<el-card style="width: 380px; max-height: 440px; margin-top: 17px">
<Calender/>
</el-card>
@ -72,6 +80,7 @@
</div>
</el-card>
</template>
<!-- 引入主页的JavaScript逻辑 -->
<script src="@/assets/js/Home.js"></script>
<!-- 引入主页样式 -->
<style scoped>@import '../assets/css/Home.css';</style>

@ -1,34 +1,43 @@
<template>
<!-- 登录页面容器 -->
<div class="login-container">
<!-- <div style="margin-right: 150px; min-width: 300px">
<img alt="" src="../../public/login_Team.png" style="width: 600px"/>
</div>-->
<!-- 登录表单区域 -->
<div style="width: 400px; margin: 150px auto">
<div style="color: black; font-size: 30px; text-align: left; padding: 30px 0">登陆</div>
<!-- 登录标题 -->
<div style="color: black; font-size: 30px; text-align: left; padding: 30px 0">登录</div>
<!-- 登录表单 -->
<el-form ref="form" :model="form" :rules="rules" size="large">
<!-- 用户名输入框 -->
<el-form-item prop="username">
<el-input v-model="form.username" clearable prefix-icon="avatar"></el-input>
</el-form-item>
<!-- 密码输入框 -->
<el-form-item prop="password">
<el-input v-model="form.password" prefix-icon="lock" show-password></el-input>
</el-form-item>
<!-- 身份选择单选框 -->
<el-form-item :model="form" prop="identity">
<el-radio v-model="form.identity" label="stu" style="color: grey"></el-radio>
<el-radio v-model="form.identity" label="dormManager" style="color: grey">宿</el-radio>
<el-radio v-model="form.identity" label="admin" style="color: grey"></el-radio>
</el-form-item>
<!-- 登录按钮 -->
<el-form-item>
<el-button :disabled="!disabled" style="width: 20%" type="primary" @click="login"> </el-button>
</el-form-item>
</el-form>
</div>
</div>
<!-- 页面底部版权信息 -->
<div class="footer">
©Copyright 2021-2023 NiToot
</div>
</template>
<!-- 引入登录页面的JavaScript逻辑 -->
<script src="@/assets/js/Login.js"></script>
<!-- 登录页面样式 -->
<style scoped>
/* 登录背景样式,使用渐变动画 */
.login-container {
position: fixed;
height: 100%;
@ -51,6 +60,7 @@
animation: myanimation 15s linear infinite;
}
/* 背景动画关键帧 */
@keyframes myanimation {
0% {
background-position: 0 0;
@ -60,6 +70,7 @@
}
}
/* 页脚样式 */
.footer {
left: 0;
bottom: 0;

@ -1,15 +1,20 @@
<template>
<div>
<!-- 面包屑导航 -->
<el-breadcrumb separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>我的宿舍</el-breadcrumb-item>
</el-breadcrumb>
<!-- 我的宿舍信息卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div style="display: flex">
<!-- 左侧宿舍信息区域 -->
<div style="margin-top: 55px">
<!-- 房间信息区域 -->
<div style="margin-left: 50px;margin-top: 20px">
<!-- 房间信息-->
<!-- 房间信息描述列表 -->
<el-descriptions :column="1" border style="width: 500px" title="房间信息">
<!-- 楼宇号信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -21,6 +26,7 @@
</template>
<span class="rightSpan">{{ this.room.dormBuildId }}</span>
</el-descriptions-item>
<!-- 房间号信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -32,6 +38,7 @@
</template>
<span class="rightSpan">{{ this.room.dormRoomId }}</span>
</el-descriptions-item>
<!-- 楼层信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -43,6 +50,7 @@
</template>
<span class="rightSpan">{{ this.room.floorNum }}</span>
</el-descriptions-item>
<!-- 可住人数信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -54,6 +62,7 @@
</template>
<span class="rightSpan">{{ this.room.maxCapacity }}</span>
</el-descriptions-item>
<!-- 已住人数信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -67,9 +76,11 @@
</el-descriptions-item>
</el-descriptions>
</div>
<!-- 床位信息-->
<!-- 床位信息区域 -->
<div style="margin-left: 50px;margin-top: 40px">
<!-- 床位信息描述列表 -->
<el-descriptions :column="1" border style="width: 500px" title="床位信息">
<!-- 一号床位信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -79,6 +90,7 @@
一号床位
</div>
</template>
<!-- 床位学生标签当前用户床位高亮显示 -->
<el-tag
v-if="this.room.firstBed != null"
:type="this.name === this.room.firstBed ? 'primary':'info'"
@ -86,6 +98,7 @@
>{{ this.room.firstBed }}
</el-tag>
</el-descriptions-item>
<!-- 二号床位信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -95,6 +108,7 @@
二号床位
</div>
</template>
<!-- 床位学生标签当前用户床位高亮显示 -->
<el-tag
v-if="this.room.secondBed != null"
:type="this.name === this.room.secondBed ? 'primary':'info'"
@ -102,6 +116,7 @@
>{{ this.room.secondBed }}
</el-tag>
</el-descriptions-item>
<!-- 三号床位信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -111,6 +126,7 @@
三号床位
</div>
</template>
<!-- 床位学生标签当前用户床位高亮显示 -->
<el-tag
v-if="this.room.thirdBed != null"
:type="this.name === this.room.thirdBed ? 'primary':'info'"
@ -118,6 +134,7 @@
>{{ this.room.thirdBed }}
</el-tag>
</el-descriptions-item>
<!-- 四号床位信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -127,6 +144,7 @@
四号床位
</div>
</template>
<!-- 床位学生标签当前用户床位高亮显示 -->
<el-tag
v-if="this.room.fourthBed != null"
:type="this.name === this.room.fourthBed ? 'primary':'info'"
@ -137,6 +155,7 @@
</el-descriptions>
</div>
</div>
<!-- 右侧装饰图片 -->
<div style="margin-left: 100px;margin-top: 85px">
<img alt="" src="../../public/myRoom.png" style="width: 600px">
</div>
@ -144,5 +163,7 @@
</el-card>
</div>
</template>
<!-- 引入我的宿舍页面的JavaScript逻辑 -->
<script src="@/assets/js/MyRoomInfo.js"></script>
<!-- 引入我的宿舍页面样式 -->
<style scoped>@import '../assets/css/MyRoomInfo.css';</style>

@ -1,19 +1,25 @@
<template>
<div>
<!-- 面包屑导航 -->
<el-breadcrumb separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>信息管理</el-breadcrumb-item>
<el-breadcrumb-item>公告信息</el-breadcrumb-item>
</el-breadcrumb>
<!-- 公告信息管理卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div>
<!-- 功能区-->
<!-- 功能区 -->
<div style="margin: 10px 0">
<!-- 搜索区-->
<!-- 搜索区 -->
<div style="margin: 10px 0">
<!-- 搜索输入框 -->
<el-input v-model="search" clearable placeholder="请输入标题" prefix-icon="Search" style="width: 20%"/>
<!-- 搜索按钮 -->
<el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button>
<!-- 重置按钮 -->
<el-button icon="refresh-left" style="margin-left: 10px" type="default" @click="reset"></el-button>
<!-- 右侧添加按钮 -->
<div style="float: right">
<el-tooltip content="添加" placement="top">
<el-button icon="plus" style="width: 50px" type="primary" @click="add"></el-button>
@ -21,17 +27,24 @@
</div>
</div>
</div>
<!-- 表格-->
<!-- 公告信息表格 -->
<el-table v-loading="loading" :data="tableData" border max-height="705" style="width: 100%">
<!-- 序号列 -->
<el-table-column label="#" type="index"/>
<!-- 标题列 -->
<el-table-column :show-overflow-tooltip="true" label="标题" prop="title"/>
<!-- 作者列 -->
<el-table-column label="作者" prop="author" width="150px"/>
<!-- 发布时间列 -->
<el-table-column label="发布时间" prop="releaseTime" sortable width="400px"/>
<!-- 操作栏-->
<!-- 操作列 -->
<el-table-column label="操作" width="190px">
<template #default="scope">
<!-- 查看详情按钮 -->
<el-button icon="more-filled" type="default" @click="showDetail(scope.row)"></el-button>
<!-- 编辑按钮 -->
<el-button icon="Edit" type="primary" @click="handleEdit(scope.row)"></el-button>
<!-- 删除按钮带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="handleDelete(scope.row.id)">
<template #reference>
<el-button icon="Delete" type="danger"></el-button>
@ -40,7 +53,7 @@
</template>
</el-table-column>
</el-table>
<!--分页-->
<!-- 分页组件 -->
<div style="margin: 10px 0">
<el-pagination
v-model:currentPage="currentPage"
@ -53,16 +66,20 @@
>
</el-pagination>
</div>
<!-- 弹窗-->
<!-- 公告信息操作弹窗 -->
<div>
<el-dialog v-model="dialogVisible" title="操作" width="50%" @close="cancel">
<!-- 公告信息表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 标题输入框 -->
<el-form-item label="标题" prop="title" style="margin-bottom: 27px">
<el-input v-model="form.title" clearable style="width: 50%"></el-input>
</el-form-item>
<!-- 内容编辑区域 -->
<el-form-item label="内容" prop="content">
<div id="div1" style="width: 74%; margin: 4px 0"></div>
</el-form-item>
<!-- 发布时间选择器 -->
<el-form-item label="发布时间" prop="releaseTime" style="margin-top: 27px">
<el-date-picker
v-model="form.releaseTime"
@ -73,6 +90,7 @@
></el-date-picker>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
@ -80,11 +98,12 @@
</span>
</template>
</el-dialog>
<!-- 公告详情-->
<!-- 公告详情弹窗 -->
<el-dialog v-model="detailDialog" title="详情" width="50%">
<el-card>
<div v-html="detail.content"></div>
</el-card>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="closeDetailDialog"> </el-button>
@ -96,4 +115,5 @@
</el-card>
</div>
</template>
<!-- 引入公告信息管理页面的JavaScript逻辑 -->
<script src="@/assets/js/NoticeInfo.js"></script>

@ -1,19 +1,25 @@
<template>
<div>
<!-- 面包屑导航 -->
<el-breadcrumb separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>信息管理</el-breadcrumb-item>
<el-breadcrumb-item>报修信息</el-breadcrumb-item>
</el-breadcrumb>
<!-- 报修信息管理卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div>
<!-- 功能区-->
<!-- 功能区 -->
<div style="margin: 10px 0">
<!-- 搜索区-->
<!-- 搜索区 -->
<div style="margin: 10px 0">
<!-- 搜索输入框 -->
<el-input v-model="search" clearable placeholder="请输入标题" prefix-icon="Search" style="width: 20%"/>
<!-- 搜索按钮 -->
<el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button>
<!-- 重置按钮 -->
<el-button icon="refresh-left" style="margin-left: 10px" type="default" @click="reset"></el-button>
<!-- 右侧添加按钮 -->
<div style="float: right">
<el-tooltip content="添加" placement="top">
<el-button icon="plus" style="width: 50px" type="primary" @click="add"
@ -22,13 +28,19 @@
</div>
</div>
</div>
<!-- 表格-->
<!-- 报修信息表格 -->
<el-table v-loading="loading" :data="tableData" border max-height="705" style="width: 100%">
<!-- 序号列 -->
<el-table-column label="#" type="index"/>
<!-- 标题列 -->
<el-table-column :show-overflow-tooltip="true" label="标题" prop="title"/>
<!-- 宿舍号列 -->
<el-table-column label="宿舍号" prop="dormBuildId" sortable width="150px"/>
<!-- 房间号列 -->
<el-table-column label="房间号" prop="dormRoomId" sortable width="150px"/>
<!-- 申请人列 -->
<el-table-column label="申请人" prop="repairer" width="150px"/>
<!-- 订单状态列带筛选功能 -->
<el-table-column
:filter-method="filterTag"
:filters="[
@ -41,6 +53,7 @@
sortable
>
<template #default="scope">
<!-- 状态标签完成绿色未完成灰色 -->
<el-tag
:type="scope.row.state === '完成' ? 'success' : 'info'"
disable-transitions
@ -48,13 +61,18 @@
</el-tag>
</template>
</el-table-column>
<!-- 订单创建时间列 -->
<el-table-column label="订单创建时间" prop="orderBuildTime" sortable/>
<!-- 订单完成时间列 -->
<el-table-column label="订单完成时间" prop="orderFinishTime" sortable/>
<!-- 操作栏-->
<!-- 操作列 -->
<el-table-column label="操作" width="190px">
<template #default="scope">
<!-- 查看详情按钮 -->
<el-button icon="more-filled" type="default" @click="showDetail(scope.row)"></el-button>
<!-- 编辑按钮 -->
<el-button icon="Edit" type="primary" @click="handleEdit(scope.row)"></el-button>
<!-- 删除按钮带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="handleDelete(scope.row.id)">
<template #reference>
<el-button icon="Delete" type="danger"></el-button>
@ -63,7 +81,7 @@
</template>
</el-table-column>
</el-table>
<!--分页-->
<!-- 分页组件 -->
<div style="margin: 10px 0">
<el-pagination
v-model:currentPage="currentPage"
@ -76,23 +94,29 @@
>
</el-pagination>
</div>
<!-- 弹窗-->
<!-- 报修信息操作弹窗 -->
<div>
<el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel">
<!-- 报修信息表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 标题输入框 -->
<el-form-item label="标题" prop="title" style="margin-bottom: 27px">
<el-input v-model="form.title" clearable style="width: 80%"></el-input>
</el-form-item>
<!-- 楼宇号输入框 -->
<el-form-item label="楼宇号" prop="dormBuildId" style="margin-bottom: 27px">
<el-input v-model="form.dormBuildId" clearable style="width: 50%"></el-input>
</el-form-item>
<!-- 房间号输入框 -->
<el-form-item label="房间号" prop="dormRoomId" style="margin-bottom: 27px">
<el-input v-model="form.dormRoomId" clearable style="width: 50%"
></el-input>
</el-form-item>
<!-- 申请人输入框 -->
<el-form-item label="申请人" prop="repairer">
<el-input v-model="form.repairer" clearable style="width: 50%"></el-input>
</el-form-item>
<!-- 内容输入框文本域 -->
<el-form-item label="内容" prop="content">
<el-input
v-model="form.content"
@ -103,10 +127,12 @@
type="textarea"
></el-input>
</el-form-item>
<!-- 订单状态选择 -->
<el-form-item :style="finishTime" label="订单状态" prop="state">
<el-radio v-model="form.state" label="完成"></el-radio>
<el-radio v-model="form.state" label="未完成"></el-radio>
</el-form-item>
<!-- 订单创建时间选择器 -->
<el-form-item label="订单创建时间" prop="orderBuildTime" style="margin-top: 27px">
<el-date-picker
v-model="form.orderBuildTime"
@ -118,6 +144,7 @@
value-format="YYYY-MM-DD HH:mm:ss"
></el-date-picker>
</el-form-item>
<!-- 订单完成时间选择器 -->
<el-form-item :style="finishTime" label="订单完成时间" prop="orderFinishTime" style="margin-top: 27px">
<el-date-picker
v-model="form.orderFinishTime"
@ -129,6 +156,7 @@
></el-date-picker>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
@ -136,11 +164,12 @@
</span>
</template>
</el-dialog>
<!-- 内容详情弹窗-->
<!-- 报修内容详情弹窗 -->
<el-dialog v-model="detailDialog" title="详情" width="30%">
<el-card>
<div v-html="detail.content"></div>
</el-card>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button type="primary" @click="closeDetails"> </el-button>
@ -152,4 +181,5 @@
</el-card>
</div>
</template>
<!-- 引入报修信息管理页面的JavaScript逻辑 -->
<script src="@/assets/js/RepairInfo.js"></script>

@ -1,19 +1,25 @@
<template>
<div>
<!-- 面包屑导航 -->
<el-breadcrumb separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>宿舍管理</el-breadcrumb-item>
<el-breadcrumb-item>房间信息</el-breadcrumb-item>
</el-breadcrumb>
<!-- 房间信息管理卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div>
<!-- 功能区-->
<!-- 功能区 -->
<div style="margin: 10px 0">
<!-- 搜索区-->
<!-- 搜索区 -->
<div style="margin: 10px 0">
<!-- 搜索输入框 -->
<el-input v-model="search" clearable placeholder="请输入房间号" prefix-icon="Search" style="width: 20%"/>
<!-- 搜索按钮 -->
<el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button>
<!-- 重置按钮 -->
<el-button icon="refresh-left" style="margin-left: 10px" type="default" @click="reset"></el-button>
<!-- 右侧添加按钮 -->
<div style="float: right">
<el-tooltip content="添加" placement="top">
<el-button icon="plus" style="width: 50px" type="primary" @click="add"></el-button>
@ -21,29 +27,38 @@
</div>
</div>
</div>
<!-- 表格-->
<!-- 房间信息表格 -->
<el-table v-loading="loading" :data="tableData" border max-height="705" style="width: 100%">
<!-- 序号列 -->
<el-table-column label="#" type="index"/>
<!-- 床位展开-->
<!-- 床位展开 -->
<el-table-column type="expand">
<template #default="props">
<!-- 床位信息表单 -->
<el-form inline label-position="left">
<!-- 一号床位 -->
<el-form-item label="一号床位" class="item">
<template #default="scope">
<!-- 已住学生标签 -->
<el-tag v-if="props.row.firstBed != null" disable-transitions type="primary"
>{{ props.row.firstBed }}
</el-tag>
<div class="el-form--inline-icon">
<!-- 空床位添加图标 -->
<el-icon v-if="props.row.firstBed == null" @click="plusIcon(1, props.row)">
<plus/>
</el-icon>
<!-- 已住床位操作图标 -->
<div v-if="props.row.firstBed != null" class="el-form--inline-icon">
<!-- 查看详情图标 -->
<el-icon @click="detailIcon(1, props.row)">
<more-filled/>
</el-icon>
<!-- 编辑床位图标 -->
<el-icon @click="editIcon(1, props.row)">
<edit/>
</el-icon>
<!-- 删除床位图标带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="deleteStuBed(1, props.row)">
<template #reference>
<el-icon>
@ -55,22 +70,29 @@
</div>
</template>
</el-form-item>
<!-- 二号床位 -->
<el-form-item label="二号床位" class="item">
<template #default="scope">
<!-- 已住学生标签 -->
<el-tag v-if="props.row.secondBed != null" disable-transitions type="primary"
>{{ props.row.secondBed }}
</el-tag>
<div class="el-form--inline-icon">
<!-- 空床位添加图标 -->
<el-icon v-if="props.row.secondBed == null" @click="plusIcon(2, props.row)">
<plus/>
</el-icon>
<!-- 已住床位操作图标 -->
<div v-if="props.row.secondBed != null" class="el-form--inline-icon">
<!-- 查看详情图标 -->
<el-icon @click="detailIcon(2, props.row)">
<more-filled/>
</el-icon>
<!-- 编辑床位图标 -->
<el-icon @click="editIcon(2, props.row)">
<edit/>
</el-icon>
<!-- 删除床位图标带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="deleteStuBed(2, props.row)">
<template #reference>
<el-icon>
@ -82,22 +104,29 @@
</div>
</template>
</el-form-item>
<!-- 三号床位 -->
<el-form-item label="三号床位" class="item">
<template #default="scope">
<!-- 已住学生标签 -->
<el-tag v-if="props.row.thirdBed != null" disable-transitions type="primary"
>{{ props.row.thirdBed }}
</el-tag>
<div class="el-form--inline-icon">
<!-- 空床位添加图标 -->
<el-icon v-if="props.row.thirdBed == null" @click="plusIcon(3, props.row)">
<plus/>
</el-icon>
<!-- 已住床位操作图标 -->
<div v-if="props.row.thirdBed != null" class="el-form--inline-icon">
<!-- 查看详情图标 -->
<el-icon @click="detailIcon(3, props.row)">
<more-filled/>
</el-icon>
<!-- 编辑床位图标 -->
<el-icon @click="editIcon(3, props.row)">
<edit/>
</el-icon>
<!-- 删除床位图标带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="deleteStuBed(3, props.row)">
<template #reference>
<el-icon>
@ -109,22 +138,29 @@
</div>
</template>
</el-form-item>
<!-- 四号床位 -->
<el-form-item label="四号床位" class="item">
<template #default="scope">
<!-- 已住学生标签 -->
<el-tag v-if="props.row.fourthBed != null" disable-transitions type="primary"
>{{ props.row.fourthBed }}
</el-tag>
<div class="el-form--inline-icon">
<!-- 空床位添加图标 -->
<el-icon v-if="props.row.fourthBed == null" @click="plusIcon(4, props.row)">
<plus/>
</el-icon>
<!-- 已住床位操作图标 -->
<div v-if="props.row.fourthBed != null" class="el-form--inline-icon">
<!-- 查看详情图标 -->
<el-icon @click="detailIcon(4, props.row)">
<more-filled/>
</el-icon>
<!-- 编辑床位图标 -->
<el-icon @click="editIcon(4, props.row)">
<edit/>
</el-icon>
<!-- 删除床位图标带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="deleteStuBed(4, props.row)">
<template #reference>
<el-icon>
@ -139,10 +175,15 @@
</el-form>
</template>
</el-table-column>
<!-- 房间号列 -->
<el-table-column label="房间号" prop="dormRoomId" sortable/>
<!-- 楼栋号列 -->
<el-table-column label="楼栋号" prop="dormBuildId" sortable/>
<!-- 楼层列 -->
<el-table-column label="楼层" prop="floorNum" sortable/>
<!-- 最多可住人数列 -->
<el-table-column label="最多可住人数" prop="maxCapacity"/>
<!-- 已住人数列带筛选功能 -->
<el-table-column
:filter-method="filterTag"
:filters="[
@ -157,11 +198,13 @@
prop="currentCapacity"
sortable
/>
<!-- 操作栏-->
<!-- 操作列 -->
<el-table-column label="操作" width="130px">
<template #default="scope">
<!-- 编辑按钮 -->
<el-button icon="Edit" type="primary" @click="handleEdit(scope.row)"
></el-button>
<!-- 删除按钮带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="handleDelete(scope.row.dormRoomId)">
<template #reference>
<el-button icon="Delete" type="danger"></el-button>
@ -170,7 +213,7 @@
</template>
</el-table-column>
</el-table>
<!--分页-->
<!-- 分页组件 -->
<div style="margin: 10px 0">
<el-pagination
v-model:currentPage="currentPage"
@ -183,26 +226,33 @@
>
</el-pagination>
</div>
<!-- 弹窗-->
<!-- 房间信息操作弹窗 -->
<div>
<el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel">
<!-- 房间信息表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 楼栋号输入框 -->
<el-form-item label="楼栋号" prop="dormBuildId">
<el-input v-model.number="form.dormBuildId" style="width: 80%"></el-input>
</el-form-item>
<!-- 楼层数输入框 -->
<el-form-item label="楼层数" prop="floorNum">
<el-input v-model.number="form.floorNum" style="width: 80%"></el-input>
</el-form-item>
<!-- 房间号输入框 -->
<el-form-item label="房间号" prop="dormRoomId">
<el-input v-model.number="form.dormRoomId" :disabled="disabled" style="width: 80%"></el-input>
</el-form-item>
<!-- 最多可住人数输入框 -->
<el-form-item label="最多可住人数" prop="maxCapacity">
<el-input v-model.number="form.maxCapacity" style="width: 80%"></el-input>
</el-form-item>
<!-- 已住人数输入框 -->
<el-form-item label="已住人数" prop="currentCapacity">
<el-input v-model.number="form.currentCapacity" style="width: 80%"></el-input>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
@ -210,67 +260,85 @@
</span>
</template>
</el-dialog>
<!-- 床位 弹窗-->
<!-- 床位操作弹窗 -->
<el-dialog v-model="bedDialog" title="操作" width="30%" @close="cancel">
<!-- 床位信息表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 楼栋号输入框只读 -->
<el-form-item label="楼栋号" prop="dormBuildId">
<el-input v-model.number="form.dormBuildId" disabled="true" style="width: 80%"></el-input>
</el-form-item>
<!-- 楼层数输入框只读 -->
<el-form-item label="楼层数" prop="floorNum">
<el-input v-model.number="form.floorNum" disabled="true" style="width: 80%"></el-input>
</el-form-item>
<!-- 房间号输入框只读 -->
<el-form-item label="房间号" prop="dormRoomId">
<el-input v-model.number="form.dormRoomId" disabled="true" style="width: 80%"></el-input>
</el-form-item>
<!-- 一号床位输入框 -->
<el-form-item v-if="this.bedNum === 1" label="床位(一)" prop="firstBed">
<el-input v-model.number="form.firstBed" placeholder="请输入学号" style="width: 80%"></el-input>
</el-form-item>
<!-- 二号床位输入框 -->
<el-form-item v-if="this.bedNum === 2" label="床位(二)" prop="secondBed">
<el-input v-model.number="form.secondBed" placeholder="请输入学号" style="width: 80%"></el-input>
</el-form-item>
<!-- 三号床位输入框 -->
<el-form-item v-if="this.bedNum === 3" label="床位(三)" prop="thirdBed">
<el-input v-model.number="form.thirdBed" placeholder="请输入学号" style="width: 80%"></el-input>
</el-form-item>
<!-- 四号床位输入框 -->
<el-form-item v-if="this.bedNum === 4" label="床位(四)" prop="fourthBed">
<el-input v-model.number="form.fourthBed" placeholder="请输入学号" style="width: 80%"></el-input>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
<!-- 添加床位按钮 -->
<el-button v-if="this.judge === false" type="primary" @click="addStuBed"> </el-button>
<!-- 编辑床位按钮 -->
<el-button v-if="this.judge === true" type="primary" @click="editStuBed"> </el-button>
</span>
</template>
</el-dialog>
<!-- 学生信息弹窗-->
<!-- 学生信息详情弹窗 -->
<el-dialog v-model="stuInfoDialog" title="学生信息" width="20%" @close="cancel">
<!-- 学生信息表单 -->
<el-form ref="form" :model="form" label-width="120px">
<!-- 学号信息 -->
<el-form-item label="学号:" prop="username">
<template #default="scope">
<span>{{ form.username }}</span>
</template>
</el-form-item>
<!-- 姓名信息 -->
<el-form-item label="姓名:" prop="name">
<template #default="scope">
<span>{{ form.name }}</span>
</template>
</el-form-item>
<!-- 年龄信息 -->
<el-form-item label="年龄:" prop="age">
<template #default="scope">
<span>{{ form.age }}</span>
</template>
</el-form-item>
<!-- 性别信息 -->
<el-form-item label="性别:" prop="gender">
<template #default="scope">
<span>{{ form.gender }}</span>
</template>
</el-form-item>
<!-- 手机号信息 -->
<el-form-item label="手机号:" prop="phoneNum">
<template #default="scope">
<span>{{ form.phoneNum }}</span>
</template>
</el-form-item>
<!-- 邮箱地址信息 -->
<el-form-item label="邮箱地址:" prop="email">
<template #default="scope">
<span>{{ form.email }}</span>
@ -283,5 +351,7 @@
</el-card>
</div>
</template>
<!-- 引入房间信息管理页面的JavaScript逻辑 -->
<script src="@/assets/js/RoomInfo.js"></script>
<!-- 引入房间信息管理页面样式 -->
<style scoped>@import '../assets/css/RoomInfo.css';</style>

@ -1,21 +1,28 @@
<template>
<div >
<div>
<!-- 面包屑导航 -->
<el-breadcrumb separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>个人信息</el-breadcrumb-item>
</el-breadcrumb>
<!-- 个人信息卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div style="display: flex">
<!-- 左侧个人信息区域 -->
<div style="width: 600px; margin-left: 30px; position: relative">
<!-- 头像上传区域 -->
<div>
<el-upload :on-success="uploadSuccess" :show-file-list="false"
action="http://localhost:9090/files/upload/"
class="upload-demo"
>
<div class="AvatarDiv">
<!-- 默认头像图标 -->
<el-avatar icon="UserFilled" style="width: 80px; height: 80px"></el-avatar>
<!-- 用户上传的头像 -->
<img :src="'data:image;base64,' + image" :style="imgDisplay"
style="width: 80px; height: 80px; border-radius: 40px"/>
<!-- 更换头像提示 -->
<div class="editImg">
更换头像
<el-icon color="color">
@ -25,7 +32,9 @@
</div>
</el-upload>
</div>
<!-- 个人信息描述列表 -->
<el-descriptions :column="1" :size="large" border style="min-width: 500px" title="">
<!-- 用户名信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -37,6 +46,7 @@
</template>
{{ username }}
</el-descriptions-item>
<!-- 姓名信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -48,6 +58,7 @@
</template>
{{ name }}
</el-descriptions-item>
<!-- 性别信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -59,6 +70,7 @@
</template>
{{ gender }}
</el-descriptions-item>
<!-- 年龄信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -70,6 +82,7 @@
</template>
{{ age }}
</el-descriptions-item>
<!-- 手机号信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -81,6 +94,7 @@
</template>
{{ phoneNum }}
</el-descriptions-item>
<!-- 邮箱信息 -->
<el-descriptions-item>
<template #label>
<div>
@ -93,67 +107,83 @@
{{ email }}
</el-descriptions-item>
</el-descriptions>
<!-- 修改信息按钮 -->
<el-tooltip content="修改信息" placement="bottom">
<el-button icon="Edit" size="large" style="margin-top: 30px; width: 80px" type="primary"
@click="Edit">
</el-button>
</el-tooltip>
</div>
<!-- 右侧装饰图片 -->
<div class="img" style="margin-left: 130px ">
<img alt="" src="../../public/self_Space.png"/>
</div>
</div>
<!-- 修改信息弹窗 -->
<div>
<!-- 弹窗-->
<el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel">
<!-- 修改表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 用户名输入框不可编辑 -->
<el-form-item label="账号" prop="username">
<el-input v-model="form.username" disabled style="width: 80%"></el-input>
</el-form-item>
<!-- 密码输入框 -->
<el-form-item label="密码" prop="password">
<el-input v-model="form.password" :disabled="disabled" :show-password="showpassword"
show-password
style="width: 80%"></el-input>
<!-- 修改密码图标 -->
<el-tooltip content="修改密码" placement="right">
<el-icon size="large" style="margin-left: 5px; cursor: pointer" @click="EditPass">
<edit/>
</el-icon>
</el-tooltip>
</el-form-item>
<!-- 确认密码输入框 -->
<el-form-item :style="display" label="确认密码" prop="checkPass">
<el-input v-model="form.checkPass" show-password style="width: 80%"></el-input>
</el-form-item>
<!-- 姓名输入框 -->
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" style="width: 80%"></el-input>
</el-form-item>
<!-- 性别选择 -->
<el-form-item label="性别" prop="gender">
<el-radio v-model="form.gender" label="男"></el-radio>
<el-radio v-model="form.gender" label="女"></el-radio>
</el-form-item>
<!-- 年龄输入框 -->
<el-form-item label="年龄" prop="age">
<el-input v-model.number="form.age" style="width: 80%"></el-input>
</el-form-item>
<!-- 手机号输入框 -->
<el-form-item label="手机号" prop="phoneNum">
<el-input v-model.number="form.phoneNum" style="width: 80%"></el-input>
</el-form-item>
<!-- 邮箱输入框 -->
<el-form-item label="邮箱地址" prop="email">
<el-input v-model="form.email" style="width: 80%"></el-input>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="save"> </el-button>
</span>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
<el-button type="primary" @click="save"> </el-button>
</span>
</template>
</el-dialog>
</div>
</el-card>
</div>
</template>
<!-- 引入个人信息页面的JavaScript逻辑 -->
<script src="@/assets/js/SelfInfo.js"></script>
<!-- 引入个人信息页面样式 -->
<style scoped>@import '../assets/css/SelfInfo.css';
/* 登录背景样式 */
.login-container {
position: fixed;
height: 100%;
@ -176,6 +206,7 @@
animation: myanimation 15s linear infinite;
}
/* 背景动画关键帧 */
@keyframes myanimation {
0% {
background-position: 0 0;

@ -1,20 +1,26 @@
<template>
<div>
<!-- 面包屑导航 -->
<el-breadcrumb separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>用户管理</el-breadcrumb-item>
<el-breadcrumb-item>学生信息</el-breadcrumb-item>
</el-breadcrumb>
<!-- 学生信息管理卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div>
<!-- 功能区-->
<!-- 功能区 -->
<div style="margin: 10px 0">
<!-- 搜索区-->
<!-- 搜索区 -->
<div style="margin: 10px 0">
<!-- 搜索输入框 -->
<el-input v-model="search" clearable placeholder="请输入姓名" prefix-icon="Search"
style="width: 20%"/>
<!-- 搜索按钮 -->
<el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button>
<!-- 重置按钮 -->
<el-button icon="refresh-left" style="margin-left: 10px" type="default" @click="reset"></el-button>
<!-- 右侧添加按钮 -->
<div style="float: right">
<el-tooltip content="添加" placement="top">
<el-button icon="plus" style="width: 50px" type="primary" @click="add"></el-button>
@ -22,11 +28,15 @@
</div>
</div>
</div>
<!-- 表格-->
<!-- 学生信息表格 -->
<el-table v-loading="loading" :data="tableData" border max-height="705" style="width: 100%">
<!-- 序号列 -->
<el-table-column label="#" type="index"/>
<!-- 学号列 -->
<el-table-column label="学号" prop="username" sortable/>
<!-- 姓名列 -->
<el-table-column label="姓名" prop="name"/>
<!-- 性别列带筛选功能 -->
<el-table-column
:filter-method="filterTag"
:filters="[
@ -37,13 +47,18 @@
label="性别"
prop="gender"
/>
<!-- 年龄列 -->
<el-table-column label="年龄" prop="age" sortable/>
<!-- 手机号列 -->
<el-table-column label="手机号" prop="phoneNum"/>
<!-- 邮箱列 -->
<el-table-column :show-overflow-tooltip="true" label="邮箱" prop="email"/>
<!-- 操作栏-->
<!-- 操作列 -->
<el-table-column label="操作" width="130px">
<template #default="scope">
<!-- 编辑按钮 -->
<el-button icon="Edit" type="primary" @click="handleEdit(scope.row)"></el-button>
<!-- 删除按钮带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="handleDelete(scope.row.username)">
<template #reference>
<el-button icon="Delete" type="danger"></el-button>
@ -52,7 +67,7 @@
</template>
</el-table-column>
</el-table>
<!--分页-->
<!-- 分页组件 -->
<div style="margin: 10px 0">
<el-pagination
v-model:currentPage="currentPage"
@ -65,16 +80,20 @@
>
</el-pagination>
</div>
<!-- 学生信息操作弹窗 -->
<div>
<!-- 弹窗-->
<el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel">
<!-- 学生信息表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 学号输入框 -->
<el-form-item label="学号" prop="username">
<el-input v-model="form.username" :disabled="judgeAddOrEdit" style="width: 80%"></el-input>
</el-form-item>
<!-- 密码输入框 -->
<el-form-item label="密码" prop="password">
<el-input v-model="form.password" :disabled="disabled" :show-password="showpassword"
style="width: 80%"></el-input>
<!-- 修改密码图标 -->
<el-tooltip content="修改密码" placement="right">
<el-icon :style="editDisplay" size="large" style="margin-left: 5px; cursor: pointer"
@click="EditPass">
@ -82,29 +101,36 @@
</el-icon>
</el-tooltip>
</el-form-item>
<!-- 确认密码输入框 -->
<el-form-item :style="display" label="确认密码" prop="checkPass">
<el-input v-model="form.checkPass" :show-password="showpassword" style="width: 80%"
></el-input>
</el-form-item>
<!-- 姓名输入框 -->
<el-form-item label="姓名" prop="name">
<el-input v-model="form.name" style="width: 80%"></el-input>
</el-form-item>
<!-- 年龄输入框 -->
<el-form-item label="年龄" prop="age">
<el-input v-model.number="form.age" style="width: 80%"
></el-input>
</el-form-item>
<!-- 性别选择 -->
<el-form-item label="性别" prop="gender">
<el-radio v-model="form.gender" label="男"></el-radio>
<el-radio v-model="form.gender" label="女"></el-radio>
</el-form-item>
<!-- 手机号输入框 -->
<el-form-item label="手机号" prop="phoneNum">
<el-input v-model.number="form.phoneNum" style="width: 80%"
></el-input>
</el-form-item>
<!-- 邮箱输入框 -->
<el-form-item label="邮箱地址" prop="email">
<el-input v-model="form.email" style="width: 80%"></el-input>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
@ -117,4 +143,5 @@
</el-card>
</div>
</template>
<!-- 引入学生信息管理页面的JavaScript逻辑 -->
<script src="@/assets/js/StuInfo.js"></script>

@ -1,18 +1,24 @@
<template>
<div>
<!-- 面包屑导航 -->
<el-breadcrumb separator-icon="ArrowRight" style="margin: 16px">
<el-breadcrumb-item :to="{ path: '/home' }">首页</el-breadcrumb-item>
<el-breadcrumb-item>访客管理</el-breadcrumb-item>
</el-breadcrumb>
<!-- 访客管理卡片 -->
<el-card style="margin: 15px; min-height: calc(100vh - 111px)">
<div>
<!-- 功能区-->
<!-- 功能区 -->
<div style="margin: 10px 0">
<!-- 搜索区-->
<!-- 搜索区 -->
<div style="margin: 10px 0">
<!-- 搜索输入框 -->
<el-input v-model="search" clearable placeholder="请输入标题" prefix-icon="Search" style="width: 20%"/>
<!-- 搜索按钮 -->
<el-button icon="Search" style="margin-left: 5px" type="primary" @click="load"></el-button>
<!-- 重置按钮 -->
<el-button icon="refresh-left" style="margin-left: 10px" type="default" @click="reset"></el-button>
<!-- 右侧添加按钮 -->
<div style="float: right">
<el-tooltip content="添加" placement="top">
<el-button icon="plus" style="width: 50px" type="primary" @click="add"></el-button>
@ -20,10 +26,13 @@
</div>
</div>
</div>
<!-- 表格-->
<!-- 访客信息表格 -->
<el-table v-loading="loading" :data="tableData" border max-height="705" style="width: 100%">
<!-- 序号列 -->
<el-table-column label="#" type="index"/>
<!-- 姓名列 -->
<el-table-column label="姓名" prop="visitorName" width="150px"/>
<!-- 性别列带筛选功能 -->
<el-table-column
:filter-method="filterTag"
:filters="[
@ -35,14 +44,20 @@
prop="gender"
width="130px"
/>
<!-- 手机号列 -->
<el-table-column label="手机号" prop="phoneNum" width="200px"/>
<!-- 来源地列 -->
<el-table-column label="来源地" prop="originCity" sortable width="140px"/>
<!-- 来访时间列 -->
<el-table-column label="来访时间" prop="visitTime" sortable width="220px"/>
<!-- 备注列 -->
<el-table-column label="备注" prop="content" sortable/>
<!-- 操作栏-->
<!-- 操作列 -->
<el-table-column label="操作" width="130px">
<template #default="scope">
<!-- 编辑按钮 -->
<el-button icon="Edit" type="primary" @click="handleEdit(scope.row)"></el-button>
<!-- 删除按钮带确认提示 -->
<el-popconfirm title="确认删除?" @confirm="handleDelete(scope.row.id)">
<template #reference>
<el-button icon="Delete" type="danger"></el-button>
@ -51,7 +66,7 @@
</template>
</el-table-column>
</el-table>
<!--分页-->
<!-- 分页组件 -->
<div style="margin: 10px 0">
<el-pagination
v-model:currentPage="currentPage"
@ -64,23 +79,29 @@
>
</el-pagination>
</div>
<!-- 弹窗-->
<!-- 访客信息操作弹窗 -->
<div>
<el-dialog v-model="dialogVisible" title="操作" width="30%" @close="cancel">
<!-- 访客信息表单 -->
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<!-- 姓名输入框 -->
<el-form-item label="姓名" prop="visitorName">
<el-input v-model="form.visitorName" clearable style="width: 50%"></el-input>
</el-form-item>
<!-- 性别选择 -->
<el-form-item label="性别" prop="gender">
<el-radio v-model="form.gender" label="男"></el-radio>
<el-radio v-model="form.gender" label="女"></el-radio>
</el-form-item>
<!-- 手机号输入框 -->
<el-form-item label="手机号" prop="phoneNum">
<el-input v-model="form.phoneNum" clearable style="width: 50%"></el-input>
</el-form-item>
<!-- 来源地输入框 -->
<el-form-item label="来源地" prop="originCity">
<el-input v-model="form.originCity" clearable style="width: 50%"></el-input>
</el-form-item>
<!-- 来访时间选择器 -->
<el-form-item label="来访时间" prop="visitTime">
<el-date-picker
v-model="form.visitTime"
@ -91,6 +112,7 @@
value-format="YYYY-MM-DD HH:mm:ss"
></el-date-picker>
</el-form-item>
<!-- 来访信息输入框文本域 -->
<el-form-item label="来访信息" prop="content">
<el-input
v-model="form.content"
@ -102,6 +124,7 @@
></el-input>
</el-form-item>
</el-form>
<!-- 弹窗底部按钮 -->
<template #footer>
<span class="dialog-footer">
<el-button @click="cancel"> </el-button>
@ -114,4 +137,5 @@
</el-card>
</div>
</template>
<!-- 引入访客管理页面的JavaScript逻辑 -->
<script src="@/assets/js/VisitorInfo.js"></script>

@ -1,2 +0,0 @@
# dorm_ms

@ -0,0 +1,144 @@
SET NAMES 'utf8mb4';
SET FOREIGN_KEY_CHECKS = 0;
SET FOREIGN_KEY_CHECKS = 1;
/**/
DROP TABLE IF EXISTS admin;
-- 超管
CREATE TABLE admin (
username varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
password varchar(255) DEFAULT NULL,
name varchar(255) DEFAULT NULL,
gender varchar(255) DEFAULT NULL,
age int DEFAULT NULL,
phone_num varchar(255) DEFAULT NULL,
email varchar(255) DEFAULT NULL,
avatar varchar(255) DEFAULT NULL,
PRIMARY KEY (username) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
DROP TABLE IF EXISTS dorm_manager;
-- 宿管
CREATE TABLE dorm_manager (
username varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,
password varchar(255) DEFAULT NULL,
dormbuild_id int DEFAULT NULL,
name varchar(255) DEFAULT NULL,
gender varchar(255) DEFAULT NULL,
age int DEFAULT NULL,
phone_num varchar(255) DEFAULT NULL,
email varchar(255) DEFAULT NULL,
avatar varchar(255) DEFAULT NULL,
PRIMARY KEY (username) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
DROP TABLE IF EXISTS student;
-- 学生
CREATE TABLE student (
id int NOT NULL AUTO_INCREMENT,
username varchar(255) DEFAULT NULL,
password varchar(255) DEFAULT NULL,
name varchar(255) DEFAULT NULL,
age int DEFAULT NULL,
gender varchar(255) DEFAULT NULL,
phone_num varchar(255) DEFAULT NULL,
email varchar(255) DEFAULT NULL,
avatar varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
DROP TABLE IF EXISTS visitor;
-- 访客
CREATE TABLE visitor (
id int NOT NULL AUTO_INCREMENT,
name varchar(255) DEFAULT NULL,
gender varchar(255) DEFAULT NULL,
phone_num varchar(255) DEFAULT NULL,
origin_city varchar(255) DEFAULT NULL,
visit_time varchar(255) DEFAULT NULL,
content varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
DROP TABLE IF EXISTS user;
-- 用户
CREATE TABLE user (
id int NOT NULL AUTO_INCREMENT,
username varchar(255) DEFAULT NULL,
password varchar(255) DEFAULT NULL,
identity varchar(255) DEFAULT NULL,
avatar varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
/*非人*/
DROP TABLE IF EXISTS dorm_build;
-- 宿舍楼
CREATE TABLE dorm_build (
id int NOT NULL AUTO_INCREMENT,
dormbuild_id int DEFAULT NULL,
dormbuild_name varchar(255) DEFAULT NULL,
dormbuild_detail varchar(255) DEFAULT NULL,
PRIMARY KEY (id) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
DROP TABLE IF EXISTS dorm_room;
-- 寝室
CREATE TABLE dorm_room (
dormroom_id int NOT NULL,
dormbuild_id int DEFAULT NULL,
floor_num int DEFAULT NULL,
max_capacity int DEFAULT NULL,
current_capacity int DEFAULT NULL,
first_bed varchar(255) DEFAULT NULL,
second_bed varchar(255) DEFAULT NULL,
third_bed varchar(255) DEFAULT NULL,
fourth_bed varchar(255) DEFAULT NULL,
PRIMARY KEY (dormroom_id) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
DROP TABLE IF EXISTS adjust_room;
-- 调宿
CREATE TABLE adjust_room (
id int NOT NULL AUTO_INCREMENT,
username varchar(255) DEFAULT NULL,
name varchar(255) DEFAULT NULL,
currentroom_id int DEFAULT NULL,
currentbed_id int DEFAULT NULL,
towardsroom_id int DEFAULT NULL,
towardsbed_id int DEFAULT NULL,
state varchar(255) DEFAULT NULL,
apply_time varchar(255) DEFAULT NULL,
finish_time varchar(255) DEFAULT NULL,
PRIMARY KEY (id) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
DROP TABLE IF EXISTS repair;
-- 保修
CREATE TABLE repair (
id int NOT NULL AUTO_INCREMENT,
repairer varchar(255) DEFAULT NULL,
dormbuild_id int NOT NULL,
dormroom_id int NOT NULL,
title varchar(255) DEFAULT NULL,
content varchar(255) DEFAULT NULL,
state varchar(255) DEFAULT NULL,
order_buildtime datetime DEFAULT NULL,
order_finishtime datetime DEFAULT NULL,
PRIMARY KEY (id,dormbuild_id,dormroom_id)
) ENGINE=InnoDB AUTO_INCREMENT=1258344450 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
DROP TABLE IF EXISTS notice;
-- 通知
CREATE TABLE notice (
id int NOT NULL AUTO_INCREMENT,
title varchar(255) DEFAULT NULL,
content varchar(255) DEFAULT NULL,
author varchar(255) DEFAULT NULL,
release_time varchar(255) DEFAULT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
select * from admin;
Loading…
Cancel
Save