宿舍列表优化

This commit is contained in:
Qi 2025-06-09 15:34:00 +08:00
parent 658eed3c2d
commit 02df9af20b
2 changed files with 29 additions and 8 deletions

View File

@ -6,10 +6,17 @@ import { usePermission } from '/@/hooks/web/usePermission';
const { hasPermission } = usePermission();
//列表数据
export const columns: BasicColumn[] = [
{
title: '公寓',
align: 'center',
dataIndex: 'apartment',
sorter: true,
width: 100,
},
{
title: '宿舍信息',
align: 'center',
dataIndex: 'dormitory',
dataIndex: 'dormitoryRoom',
width: 100,
},
{
@ -66,6 +73,17 @@ export const searchFormSchema: FormSchema[] = [
return hasPermission('dormitory:majorId:select');
},
},
{
label: '宿舍类型',
field: 'dormitoryType',
component: 'Select',
componentProps: {
options: [
{ label: '女', value: 1 },
{ label: '男', value: 0 },
],
},
},
];
//表单数据
export const formSchema: FormSchema[] = [
@ -87,7 +105,7 @@ export const formSchema: FormSchema[] = [
{ label: '女', value: 1 },
],
},
defaultValue: 1,
//defaultValue: 1,
dynamicRules: ({ model, schema }) => {
return [{ required: true, message: '请选择男/女!' }];
},
@ -96,7 +114,7 @@ export const formSchema: FormSchema[] = [
label: '宿舍人数',
field: 'dormitoryNum',
component: 'InputNumber',
defaultValue: 4,
//defaultValue: 4,
dynamicRules: ({ model, schema }) => {
return [{ required: true, message: '请输入宿舍人数!' }];
},
@ -123,11 +141,13 @@ export const formSchema: FormSchema[] = [
component: 'Select',
componentProps: {
options: [
{ label: '不分配学科', value: null }, // 👈 空值选项
{ label: '语文', value: 1 },
{ label: '地理', value: 4 },
{ label: '历史', value: 7 },
{ label: '政治', value: 8 },
],
allowClear: true, // 👈 可选加上后可以清除已选项ant-design-vue 支持)
},
//dynamicRules: ({ model, schema }) => {
// return [{ required: true, message: '请选择所属学科!' }];

View File

@ -16,7 +16,7 @@
</a-menu-item>
<a-modal title="批量设置宿舍学科" v-model:visible="visible" @ok="handleOk" @cancel="handleCancel" width="400">
<a-form :model="form" :label-col="{ span: 6 }" :wrapper-col="{ span: 16 }" label-align="left">
<a-form-item label="所属学科" name="majorId" :rules="[{ required: true, message: '请选择学科' }]">
<a-form-item label="所属学科" name="majorId">
<a-select v-model:value="form.majorId" placeholder="请选择学科" style="width: 100%">
<a-select-option v-for="item in options" :key="item.value" :value="item.value">
{{ item.label }}
@ -123,6 +123,7 @@
});
const options = [
{ label: '不分配学科', value: '' },
{ label: '语文', value: 1 },
{ label: '地理', value: 4 },
{ label: '历史', value: 7 },
@ -138,10 +139,10 @@
};
const handleOk = async () => {
if (!form.majorId) {
message.warning('请选择学科');
return;
}
//if (!form.majorId) {
// message.warning('');
// return;
//}
console.log('选择的学科 ID', form.majorId);
//
await setDormAndSubject({ ids: selectedRowKeys.value, majorId: form.majorId }, handleSuccess);