|
|
@@ -346,7 +346,7 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
|
|
|
}
|
|
|
}, */
|
|
|
organization_ref:{
|
|
|
- title: '组织架构',
|
|
|
+ title: '学院',
|
|
|
type: "dict-cascader",
|
|
|
column: {
|
|
|
show: false,
|
|
|
@@ -419,26 +419,31 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
|
|
|
column: {
|
|
|
show: true,
|
|
|
minWidth: 200,
|
|
|
- formatter: ({ row, value }: { row: any; value: any }) => {
|
|
|
- // 根据用户类型显示不同内容
|
|
|
- if(row.user_type !== 0) {
|
|
|
- // 教师、学院领导:显示学院名称
|
|
|
- if (row.organization_detail && row.organization_detail.name) {
|
|
|
- return row.organization_detail.name;
|
|
|
- }
|
|
|
- // 否则显示原始值
|
|
|
- return value || '';
|
|
|
- } else {
|
|
|
- // 学生:显示专业信息
|
|
|
- if (row.organization_detail && row.organization_detail.parent_chain && row.organization_detail.parent_chain.length >= 2) {
|
|
|
- if(!row.organization_detail.parent_chain[1]) return
|
|
|
- const major = row.organization_detail.parent_chain[1]; // 第二项是专业
|
|
|
- return major.name || major.code || '';
|
|
|
- }
|
|
|
- // 否则显示原始值
|
|
|
- return value || row.sub_organization;
|
|
|
- }
|
|
|
- },
|
|
|
+ formatter: ({ row, value }: { row: any; value: any }) => {
|
|
|
+ // 检查值是否为无效值(包括 'nan' 字符串)
|
|
|
+ const isValidValue = (val: any) => {
|
|
|
+ return val !== null && val !== undefined && val !== '' && val !== 'nan' && !Number.isNaN(val);
|
|
|
+ };
|
|
|
+
|
|
|
+ // 根据用户类型显示不同内容
|
|
|
+ if(row.user_type !== 0) {
|
|
|
+ // 教师、学院领导:显示学院名称
|
|
|
+ if (row.organization_detail && row.organization_detail.name) {
|
|
|
+ return row.organization_detail.name;
|
|
|
+ }
|
|
|
+ // 否则显示原始值
|
|
|
+ return isValidValue(value) ? value : '';
|
|
|
+ } else {
|
|
|
+ // 学生:显示专业信息
|
|
|
+ if (row.organization_detail && row.organization_detail.parent_chain && row.organization_detail.parent_chain.length >= 2) {
|
|
|
+ if(!row.organization_detail.parent_chain[1]) return '';
|
|
|
+ const major = row.organization_detail.parent_chain[1]; // 第二项是专业
|
|
|
+ return major.name || major.code || '';
|
|
|
+ }
|
|
|
+ // 否则显示原始值
|
|
|
+ return isValidValue(value) ? value : (isValidValue(row.sub_organization) ? row.sub_organization : '');
|
|
|
+ }
|
|
|
+ },
|
|
|
/* formatter: ({ row, value }: { row: any; value: any }) => {
|
|
|
// 如果有 organization_detail 对象,显示 full_path
|
|
|
if (row.organization_detail && row.organization_detail.full_path) {
|
|
|
@@ -472,16 +477,21 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
|
|
|
return row && row.user_type === 0;
|
|
|
}),
|
|
|
minWidth: 120,
|
|
|
- formatter: ({ row, value }: { row: any; value: any }) => {
|
|
|
- // 如果有 organization_detail 对象,显示 parent_chain 的第二项(专业)
|
|
|
- if (row.organization_detail && row.organization_detail.parent_chain && row.organization_detail.parent_chain.length >= 2) {
|
|
|
- if(!row.organization_detail.parent_chain[2]) return
|
|
|
- const major = row.organization_detail.parent_chain[2]; // 第二项是专业
|
|
|
- return major.name || major.code || '';
|
|
|
- }
|
|
|
- // 否则显示原始值
|
|
|
- return value || row.sub_organization;
|
|
|
- },
|
|
|
+ formatter: ({ row, value }: { row: any; value: any }) => {
|
|
|
+ // 检查值是否为无效值(包括 'nan' 字符串)
|
|
|
+ const isValidValue = (val: any) => {
|
|
|
+ return val !== null && val !== undefined && val !== '' && val !== 'nan' && !Number.isNaN(val);
|
|
|
+ };
|
|
|
+
|
|
|
+ // 如果有 organization_detail 对象,显示 parent_chain 的第二项(专业)
|
|
|
+ if (row.organization_detail && row.organization_detail.parent_chain && row.organization_detail.parent_chain.length >= 2) {
|
|
|
+ if(!row.organization_detail.parent_chain[2]) return '';
|
|
|
+ const major = row.organization_detail.parent_chain[2]; // 第二项是专业
|
|
|
+ return major.name || major.code || '';
|
|
|
+ }
|
|
|
+ // 否则显示原始值
|
|
|
+ return isValidValue(value) ? value : (isValidValue(row.sub_organization) ? row.sub_organization : '');
|
|
|
+ },
|
|
|
},
|
|
|
form: {
|
|
|
show: compute(({ form }) => {
|
|
|
@@ -496,7 +506,7 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
|
|
|
}
|
|
|
},
|
|
|
grade_or_level:{
|
|
|
- title: '年级',
|
|
|
+ title: '班级',
|
|
|
type: 'input',
|
|
|
search:{
|
|
|
show:false
|
|
|
@@ -507,14 +517,19 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
|
|
|
return row && row.user_type === 0;
|
|
|
}),
|
|
|
minWidth: 120,
|
|
|
- formatter: ({ row, value }: { row: any; value: any }) => {
|
|
|
- // 如果有 organization_detail 对象,显示 name
|
|
|
- if (row.organization_detail && row.organization_detail.name) {
|
|
|
- return row.organization_detail.name;
|
|
|
- }
|
|
|
- // 否则显示原始值
|
|
|
- return value || row.class_or_group;
|
|
|
- },
|
|
|
+ formatter: ({ row, value }: { row: any; value: any }) => {
|
|
|
+ // 检查值是否为无效值(包括 'nan' 字符串)
|
|
|
+ const isValidValue = (val: any) => {
|
|
|
+ return val !== null && val !== undefined && val !== '' && val !== 'nan' && !Number.isNaN(val);
|
|
|
+ };
|
|
|
+
|
|
|
+ // 如果有 organization_detail 对象,显示 name
|
|
|
+ if (row.organization_detail && row.organization_detail.name) {
|
|
|
+ return row.organization_detail.name;
|
|
|
+ }
|
|
|
+ // 否则显示原始值
|
|
|
+ return isValidValue(value) ? value : (isValidValue(row.class_or_group) ? row.class_or_group : '');
|
|
|
+ },
|
|
|
},
|
|
|
form: {
|
|
|
show: compute(({ form }) => {
|
|
|
@@ -528,7 +543,7 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
|
|
|
component: { placeholder: '' },
|
|
|
}
|
|
|
},
|
|
|
- class_or_group:{
|
|
|
+ /* class_or_group:{
|
|
|
title: '班级',
|
|
|
type: 'input',
|
|
|
search:{
|
|
|
@@ -541,12 +556,15 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
|
|
|
}),
|
|
|
minWidth: 120,
|
|
|
formatter: ({ row, value }: { row: any; value: any }) => {
|
|
|
+ const isValidValue = (val: any) => {
|
|
|
+ return val !== null && val !== undefined && val !== '' && val !== 'nan' && !Number.isNaN(val);
|
|
|
+ };
|
|
|
// 如果有 organization_detail 对象,显示 name
|
|
|
if (row.organization_detail && row.organization_detail.name) {
|
|
|
return row.organization_detail.name;
|
|
|
}
|
|
|
// 否则显示原始值
|
|
|
- return value || row.class_or_group;
|
|
|
+ return isValidValue(value) ? value : (isValidValue(row.class_or_group) ? row.class_or_group : '');
|
|
|
},
|
|
|
},
|
|
|
form: {
|
|
|
@@ -557,7 +575,7 @@ export const createCrudOptions = function ({ crudExpose }: CreateCrudOptionsProp
|
|
|
viewForm:{
|
|
|
component: { placeholder: '' },
|
|
|
}
|
|
|
- },
|
|
|
+ }, */
|
|
|
|
|
|
|
|
|
|