教室编号生成调整

This commit is contained in:
2026-09-16 12:02:33 +08:00
parent 49b3232e79
commit 58499afe8e
4 changed files with 68 additions and 1 deletions
@@ -100,6 +100,11 @@
:close-on-click-modal="false">
<el-form ref="classroomForm" :model="dialog.form" :rules="rules" label-width="110px">
<el-row :gutter="20">
<el-col :span="12">
<el-form-item label="教室编号">
<el-input v-model="dialog.form.jsbh" placeholder="留空自动生成(按现有最大编号 +1)" maxlength="50" clearable />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="教室名称" prop="jsmc">
<el-input v-model="dialog.form.jsmc" placeholder="请输入教室名称" />
@@ -107,7 +112,15 @@
</el-col>
<el-col :span="12">
<el-form-item label="教学楼代号">
<el-input v-model="dialog.form.jxldh" placeholder="请输入教学楼代号" />
<el-select v-model="dialog.form.jxldh" :loading="buildOptionsLoading" placeholder="请选择教学楼"
clearable filterable class="w-full">
<el-option
v-for="item in buildOptions"
:key="item.id"
:label="formatBuildLabel(item)"
:value="item.jxldh"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
@@ -200,6 +213,7 @@ import {
listClassroom,
listAllClassroom
} from '@/api/teachBusiness/classroom'
import { listAllBuild } from '@/api/teachBusiness/build'
export default {
name: 'Venue',
@@ -215,6 +229,9 @@ export default {
},
tableData: [],
jxcdlxOptions: [],
// 教学楼下拉选项(来源:教学楼表,未删除数据)
buildOptions: [],
buildOptionsLoading: false,
total: 0,
pageNum: 1,
pageSize: 20,
@@ -231,9 +248,26 @@ export default {
},
created() {
this.loadVenueTypeOptions()
this.loadBuildOptions()
this.fetchList()
},
methods: {
/** 加载全部未删除的教学楼,作为新增/编辑弹窗中教学楼代号下拉选项。 */
loadBuildOptions() {
this.buildOptionsLoading = true
listAllBuild().then(response => {
this.buildOptions = Array.isArray(response.data) ? response.data : []
}).catch(() => {
this.buildOptions = []
}).finally(() => {
this.buildOptionsLoading = false
})
},
formatBuildLabel(item) {
const base = [item.jxldh, item.jxlmc].filter(Boolean).join(' ')
return base || item.id
},
/**
* 独立加载全部场地类型,避免查询结果收窄后下拉候选项同步丢失。
*/