宿舍列表优化
This commit is contained in:
parent
658eed3c2d
commit
02df9af20b
|
@ -6,10 +6,17 @@ import { usePermission } from '/@/hooks/web/usePermission';
|
||||||
const { hasPermission } = usePermission();
|
const { hasPermission } = usePermission();
|
||||||
//列表数据
|
//列表数据
|
||||||
export const columns: BasicColumn[] = [
|
export const columns: BasicColumn[] = [
|
||||||
|
{
|
||||||
|
title: '公寓',
|
||||||
|
align: 'center',
|
||||||
|
dataIndex: 'apartment',
|
||||||
|
sorter: true,
|
||||||
|
width: 100,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
title: '宿舍信息',
|
title: '宿舍信息',
|
||||||
align: 'center',
|
align: 'center',
|
||||||
dataIndex: 'dormitory',
|
dataIndex: 'dormitoryRoom',
|
||||||
width: 100,
|
width: 100,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -66,6 +73,17 @@ export const searchFormSchema: FormSchema[] = [
|
||||||
return hasPermission('dormitory:majorId:select');
|
return hasPermission('dormitory:majorId:select');
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
label: '宿舍类型',
|
||||||
|
field: 'dormitoryType',
|
||||||
|
component: 'Select',
|
||||||
|
componentProps: {
|
||||||
|
options: [
|
||||||
|
{ label: '女', value: 1 },
|
||||||
|
{ label: '男', value: 0 },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
},
|
||||||
];
|
];
|
||||||
//表单数据
|
//表单数据
|
||||||
export const formSchema: FormSchema[] = [
|
export const formSchema: FormSchema[] = [
|
||||||
|
@ -87,7 +105,7 @@ export const formSchema: FormSchema[] = [
|
||||||
{ label: '女', value: 1 },
|
{ label: '女', value: 1 },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
defaultValue: 1,
|
//defaultValue: 1,
|
||||||
dynamicRules: ({ model, schema }) => {
|
dynamicRules: ({ model, schema }) => {
|
||||||
return [{ required: true, message: '请选择男/女!' }];
|
return [{ required: true, message: '请选择男/女!' }];
|
||||||
},
|
},
|
||||||
|
@ -96,7 +114,7 @@ export const formSchema: FormSchema[] = [
|
||||||
label: '宿舍人数',
|
label: '宿舍人数',
|
||||||
field: 'dormitoryNum',
|
field: 'dormitoryNum',
|
||||||
component: 'InputNumber',
|
component: 'InputNumber',
|
||||||
defaultValue: 4,
|
//defaultValue: 4,
|
||||||
dynamicRules: ({ model, schema }) => {
|
dynamicRules: ({ model, schema }) => {
|
||||||
return [{ required: true, message: '请输入宿舍人数!' }];
|
return [{ required: true, message: '请输入宿舍人数!' }];
|
||||||
},
|
},
|
||||||
|
@ -123,11 +141,13 @@ export const formSchema: FormSchema[] = [
|
||||||
component: 'Select',
|
component: 'Select',
|
||||||
componentProps: {
|
componentProps: {
|
||||||
options: [
|
options: [
|
||||||
|
{ label: '不分配学科', value: null }, // 👈 空值选项
|
||||||
{ label: '语文', value: 1 },
|
{ label: '语文', value: 1 },
|
||||||
{ label: '地理', value: 4 },
|
{ label: '地理', value: 4 },
|
||||||
{ label: '历史', value: 7 },
|
{ label: '历史', value: 7 },
|
||||||
{ label: '政治', value: 8 },
|
{ label: '政治', value: 8 },
|
||||||
],
|
],
|
||||||
|
allowClear: true, // 👈 可选,加上后可以清除已选项(ant-design-vue 支持)
|
||||||
},
|
},
|
||||||
//dynamicRules: ({ model, schema }) => {
|
//dynamicRules: ({ model, schema }) => {
|
||||||
// return [{ required: true, message: '请选择所属学科!' }];
|
// return [{ required: true, message: '请选择所属学科!' }];
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
</a-menu-item>
|
</a-menu-item>
|
||||||
<a-modal title="批量设置宿舍学科" v-model:visible="visible" @ok="handleOk" @cancel="handleCancel" width="400">
|
<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 :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 v-model:value="form.majorId" placeholder="请选择学科" style="width: 100%">
|
||||||
<a-select-option v-for="item in options" :key="item.value" :value="item.value">
|
<a-select-option v-for="item in options" :key="item.value" :value="item.value">
|
||||||
{{ item.label }}
|
{{ item.label }}
|
||||||
|
@ -123,6 +123,7 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
const options = [
|
const options = [
|
||||||
|
{ label: '不分配学科', value: '' },
|
||||||
{ label: '语文', value: 1 },
|
{ label: '语文', value: 1 },
|
||||||
{ label: '地理', value: 4 },
|
{ label: '地理', value: 4 },
|
||||||
{ label: '历史', value: 7 },
|
{ label: '历史', value: 7 },
|
||||||
|
@ -138,10 +139,10 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleOk = async () => {
|
const handleOk = async () => {
|
||||||
if (!form.majorId) {
|
//if (!form.majorId) {
|
||||||
message.warning('请选择学科');
|
// message.warning('请选择学科');
|
||||||
return;
|
// return;
|
||||||
}
|
//}
|
||||||
console.log('选择的学科 ID:', form.majorId);
|
console.log('选择的学科 ID:', form.majorId);
|
||||||
// 调用后端接口设置
|
// 调用后端接口设置
|
||||||
await setDormAndSubject({ ids: selectedRowKeys.value, majorId: form.majorId }, handleSuccess);
|
await setDormAndSubject({ ids: selectedRowKeys.value, majorId: form.majorId }, handleSuccess);
|
||||||
|
|
Loading…
Reference in New Issue