提交 80663ddc authored 作者: 王鹏飞's avatar 王鹏飞

feat: 实验关联班级增加按名称搜索

上级 5cd99fb3
...@@ -12,9 +12,10 @@ const detail = $ref(inject('detail') as ExperimentItem) ...@@ -12,9 +12,10 @@ const detail = $ref(inject('detail') as ExperimentItem)
// 列表配置 // 列表配置
const listOptions = { const listOptions = {
filters: [{ type: 'input', label: '班级名称', prop: 'name' }],
remote: { remote: {
httpRequest: getExperimentClassList, httpRequest: getExperimentClassList,
params: { experiment_id: detail?.id } params: { experiment_id: detail?.id },
}, },
columns: [ columns: [
{ type: 'selection' }, { type: 'selection' },
...@@ -23,8 +24,8 @@ const listOptions = { ...@@ -23,8 +24,8 @@ const listOptions = {
{ label: '班级名称', prop: 'name' }, { label: '班级名称', prop: 'name' },
{ label: '所属部门/学校', prop: 'organ_id_name' }, { label: '所属部门/学校', prop: 'organ_id_name' },
{ label: '人数', prop: 'student_nums' }, { label: '人数', prop: 'student_nums' },
{ label: '专业', prop: 'specialty_id_name' } { label: '专业', prop: 'specialty_id_name' },
] ],
} }
let multipleSelection = $ref<ClassItem[]>([]) let multipleSelection = $ref<ClassItem[]>([])
...@@ -33,7 +34,7 @@ function handleSelectionChange(selection: ClassItem[]) { ...@@ -33,7 +34,7 @@ function handleSelectionChange(selection: ClassItem[]) {
} }
function handleSubmit() { function handleSubmit() {
const classes_id = multipleSelection.map(item => item.id).join(',') const classes_id = multipleSelection.map((item) => item.id).join(',')
experimentAddClass({ experiment_id: detail.id, classes_id, type: 'add' }).then(() => { experimentAddClass({ experiment_id: detail.id, classes_id, type: 'add' }).then(() => {
ElMessage({ message: '关联成功', type: 'success' }) ElMessage({ message: '关联成功', type: 'success' })
emit('update') emit('update')
...@@ -42,11 +43,13 @@ function handleSubmit() { ...@@ -42,11 +43,13 @@ function handleSubmit() {
} }
</script> </script>
<template> <template>
<el-dialog title="关联班级" @update:modelValue="value => $emit('update:modelValue', value)"> <el-dialog title="关联班级" @update:modelValue="(value) => $emit('update:modelValue', value)">
<p>所属机构/学校:{{ detail.organ_id_name }}</p> <p style="text-align: right">所属机构/学校:{{ detail.organ_id_name }}</p>
<AppList v-bind="listOptions" @selection-change="handleSelectionChange"></AppList> <AppList v-bind="listOptions" @selection-change="handleSelectionChange"></AppList>
<el-row justify="center"> <el-row justify="center">
<el-button type="primary" round :disabled="!multipleSelection.length" @click="handleSubmit">关联选择班级</el-button> <el-button type="primary" round :disabled="!multipleSelection.length" @click="handleSubmit"
>关联选择班级</el-button
>
<el-button round auto-insert-space @click="$emit('update:modelValue', false)">取消</el-button> <el-button round auto-insert-space @click="$emit('update:modelValue', false)">取消</el-button>
</el-row> </el-row>
</el-dialog> </el-dialog>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论