diff --git a/pages/tygl/index.vue b/pages/tygl/index.vue index e9b6ea2..688f667 100644 --- a/pages/tygl/index.vue +++ b/pages/tygl/index.vue @@ -297,7 +297,9 @@ const fields = [ placeholder: '请选择学院', displayKey: 'collegeName' }, - {key: 'classId', label: '班级', required: true, type: 'class', placeholder: '请选择班级', displayKey: 'className'}, + // 班级选填:研究生在开放平台体系中本就没有班级(平台 1584 个班级里一个研究生班都没有), + // 强制必填会把 15538 名研究生挡在团员档案之外 + {key: 'classId', label: '班级', required: false, type: 'class', placeholder: '请选择班级(研究生可不填)', displayKey: 'className'}, {key: 'phone', label: '手机号码', type: 'readonly', placeholder: '自动读取当前用户手机号'}, {key: 'leaguePosition', label: '团内职务', type: 'text', placeholder: '请选择团内职务'}, { @@ -985,10 +987,7 @@ export default { this.showToast('身份证号格式不正确,无法识别出生日期') return false } - if (this.formData.collegeId && !this.formData.classId) { - this.showToast('请选择班级') - return false - } + // 班级为选填:研究生在开放平台没有班级,此处不再强制要求 return true }, saveDraft() { diff --git a/pages/tygl/service.js b/pages/tygl/service.js index 5ae9c95..ef35fc0 100644 --- a/pages/tygl/service.js +++ b/pages/tygl/service.js @@ -11,8 +11,21 @@ export function listOrganizations(params) { return get('/system/organization', params) } +/** + * 学院挂载的父节点:广西医科大学。 + * 见 tuanwei-java 的 OpenplatSyncConstants.ORG_PARENT_ID。 + */ +export const COLLEGE_PARENT_ID = 24 + +/** + * 学院列表。 + * + * 取自组织树中「广西医科大学」的直接子节点,而不是 /gxmu/college: + * 后者读的是已废弃的 gxmu_college 表,其 id 域与班级的 collegeId(sys_organization.organization_id) + * 不重合,会让学院->班级级联失效。见 docs/adr/0002。 + */ export function listColleges(params) { - return get('/gxmu/college', params) + return get('/system/organization', Object.assign({ parentId: COLLEGE_PARENT_ID }, params || {})) } export function listClasses(params) {