|
|
@@ -14,6 +14,7 @@
|
|
|
v-model="queryParams.schoolId"
|
|
|
placeholder="请选择所在校区"
|
|
|
clearable
|
|
|
+ :disabled="isExternalSchoolIdSet"
|
|
|
style="width: 240px"
|
|
|
@keyup.enter="handleQuery"
|
|
|
>
|
|
|
@@ -33,10 +34,10 @@
|
|
|
@keyup.enter="handleQuery"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="名称" prop="name">
|
|
|
+ <el-form-item label="班级名称" prop="name">
|
|
|
<el-input
|
|
|
v-model="queryParams.name"
|
|
|
- placeholder="请输入名称"
|
|
|
+ placeholder="请输入班级名称"
|
|
|
clearable
|
|
|
@keyup.enter="handleQuery"
|
|
|
/>
|
|
|
@@ -51,14 +52,14 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="状态" prop="status">
|
|
|
+ <!-- <el-form-item label="状态" prop="status">
|
|
|
<el-input
|
|
|
v-model="queryParams.status"
|
|
|
placeholder="请输入状态"
|
|
|
clearable
|
|
|
@keyup.enter="handleQuery"
|
|
|
/>
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
|
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
|
|
@@ -119,11 +120,11 @@
|
|
|
<dict-tag :options="bool_values" :value="scope.row.online"/>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="状态" align="center" prop="status">
|
|
|
+ <!-- <el-table-column label="状态" align="center" prop="status">
|
|
|
<template #default="scope">
|
|
|
<dict-tag :options="bool_values" :value="scope.row.status"/>
|
|
|
</template>
|
|
|
- </el-table-column>
|
|
|
+ </el-table-column> -->
|
|
|
<el-table-column label="统计数据" align="center" prop="stats" />
|
|
|
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
<template #default="scope">
|
|
|
@@ -147,11 +148,14 @@
|
|
|
<!-- <el-form-item label="学校" prop="schoolId">-->
|
|
|
<!-- <el-input v-model="form.schoolId" placeholder="请输入学校" />-->
|
|
|
<!-- </el-form-item>-->
|
|
|
- <el-form-item label="班级名称" prop="name">
|
|
|
- <el-input v-model="form.name" placeholder="多个名称使用英文逗号隔开" />
|
|
|
- </el-form-item>
|
|
|
+
|
|
|
<el-form-item label="学校校区" prop="schoolId">
|
|
|
- <el-select v-model="form.schoolId" placeholder="请选择学校校区" style="width: 100%">
|
|
|
+ <el-select
|
|
|
+ v-model="form.schoolId"
|
|
|
+ placeholder="请选择学校校区"
|
|
|
+ style="width: 100%"
|
|
|
+ :disabled="isExternalSchoolIdSet || form.classId != null"
|
|
|
+ >
|
|
|
<el-option
|
|
|
v-for="item in schoolOptions"
|
|
|
:key="item.id"
|
|
|
@@ -160,6 +164,9 @@
|
|
|
/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
+ <el-form-item label="班级名称" prop="name">
|
|
|
+ <el-input v-model="form.name" placeholder="多个名称使用英文逗号隔开" />
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="毕业年份" prop="year">
|
|
|
<el-input v-model="form.year" placeholder="请输入毕业年份" />
|
|
|
</el-form-item>
|
|
|
@@ -174,9 +181,9 @@
|
|
|
></el-option>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="状态" prop="status">
|
|
|
+ <!-- <el-form-item label="状态" prop="status">
|
|
|
<el-input v-model="form.status" placeholder="请输入状态" />
|
|
|
- </el-form-item>
|
|
|
+ </el-form-item> -->
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
|
<div class="dialog-footer">
|
|
|
@@ -192,6 +199,14 @@
|
|
|
import { listClasses, getClasses, delClasses, addClasses, updateClasses } from "@/api/dz/classes"
|
|
|
import {listAllSchool, listCampusSchoolList} from "@/api/dz/school"
|
|
|
|
|
|
+ // 接收外部传入的 schoolId prop
|
|
|
+ const props = defineProps({
|
|
|
+ externalSchoolId: {
|
|
|
+ type: [Number, String],
|
|
|
+ default: null
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
const { proxy } = getCurrentInstance()
|
|
|
const { bool_values } = proxy.useDict('bool_values')
|
|
|
|
|
|
@@ -233,6 +248,24 @@
|
|
|
|
|
|
const { queryParams, form, rules } = toRefs(data)
|
|
|
|
|
|
+ // 计算属性:判断是否有外部传入的 schoolId
|
|
|
+ const isExternalSchoolIdSet = computed(() => {
|
|
|
+ const schoolId = props.externalSchoolId
|
|
|
+ return schoolId !== null && schoolId !== undefined && schoolId !== ''
|
|
|
+ })
|
|
|
+
|
|
|
+ // 监听外部传入的 schoolId,并设置到查询参数中
|
|
|
+ watch(() => props.externalSchoolId, (newSchoolId) => {
|
|
|
+ if (newSchoolId !== null && newSchoolId !== undefined && newSchoolId !== '') {
|
|
|
+ queryParams.value.schoolId = newSchoolId
|
|
|
+ queryParams.value.pageNum = 1
|
|
|
+ // 延迟执行查询,确保组件已完全初始化
|
|
|
+ nextTick(() => {
|
|
|
+ getList()
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }, { immediate: true })
|
|
|
+
|
|
|
/** 查询学生班级列表 */
|
|
|
function getList() {
|
|
|
loading.value = true
|
|
|
@@ -294,6 +327,10 @@
|
|
|
/** 新增按钮操作 */
|
|
|
function handleAdd() {
|
|
|
reset()
|
|
|
+ // 如果有外部传入的 schoolId,自动设置到表单中
|
|
|
+ if (isExternalSchoolIdSet.value) {
|
|
|
+ form.value.schoolId = props.externalSchoolId
|
|
|
+ }
|
|
|
open.value = true
|
|
|
title.value = "添加学生班级"
|
|
|
}
|