修复住宿:统一住宿生命周期状态与状态变更入口
住宿状态在数据库与业务上只有 0 预分配 / 1 已入住 / 2 已退宿三种,不存在 3 已调房。 调房是业务操作,真实语义为旧记录置退宿、新记录置在住,不应表现为独立状态值。 - 前端住宿页面移除筛选项与两处状态标签中的"已调房"(status=3),补齐历史表格缺失的预分配标签 - 后端通用 PUT /train/accommodation 封死 accommodation_status 写入路径, 状态变更只能经办理入住、办理退宿、调房等专属业务操作 - 新增住宿状态白名单守卫,非法整数与新增即退宿一律拒绝入库 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
1 parent
ecfd38be17
commit
aeb76ce35a
3 files changed
+76
-3
No files matched your search
@@ -30,7 +30,6 @@
|
||||
<el-option label="预分配" :value="0" />
|
||||
<el-option label="在住" :value="1" />
|
||||
<el-option label="已退宿" :value="2" />
|
||||
<el-option label="已调房" :value="3" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
@@ -66,11 +65,11 @@
|
||||
<el-table-column label="房间号" align="center" prop="dormRoom" width="90" />
|
||||
<el-table-column label="床位号" align="center" prop="bedNo" width="80" />
|
||||
<el-table-column label="住宿状态" align="center" width="120">
|
||||
<!-- 住宿状态仅有 0=预分配 / 1=在住 / 2=已退宿 三种;调房由「旧记录置退宿 + 新记录置在住」表达,没有独立状态值 -->
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.accommodationStatus === 1" type="success" size="small">在住</el-tag>
|
||||
<el-tag v-else-if="scope.row.accommodationStatus === 0" type="info" size="small">预分配</el-tag>
|
||||
<el-tag v-else-if="scope.row.accommodationStatus === 2" type="danger" size="small">已退宿</el-tag>
|
||||
<el-tag v-else-if="scope.row.accommodationStatus === 3" type="warning" size="small">已调房</el-tag>
|
||||
<el-tag v-else size="small">{{ scope.row.accommodationStatus }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
@@ -183,8 +182,8 @@
|
||||
<el-table-column label="住宿状态" align="center" width="110">
|
||||
<template slot-scope="scope">
|
||||
<el-tag v-if="scope.row.accommodationStatus === 1" type="success" size="mini">在住</el-tag>
|
||||
<el-tag v-else-if="scope.row.accommodationStatus === 0" type="info" size="mini">预分配</el-tag>
|
||||
<el-tag v-else-if="scope.row.accommodationStatus === 2" type="danger" size="mini">已退宿</el-tag>
|
||||
<el-tag v-else-if="scope.row.accommodationStatus === 3" type="warning" size="mini">已调房</el-tag>
|
||||
<el-tag v-else size="mini">{{ scope.row.accommodationStatus }}</el-tag>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
Reference in new issue
Block a user