Files
tuanwei-uniapp/pages/gxmu/config.js
2026-07-20 11:56:02 +08:00

396 lines
16 KiB
JavaScript

const GENDER_OPTIONS = ['男', '女']
const YES_NO_OPTIONS = ['是', '否']
export const GXMU_MODULES = [
{
title: '十佳青年岗位能手',
code: 'gxmu_sjqn',
icon: '青',
group: '个人奖项',
desc: '面向青年岗位骨干与先进典型的申报入口。'
},
{
title: '十佳团支部书记',
code: 'gxmu_sjtbzbsj',
icon: '书',
group: '个人奖项',
desc: '聚焦基层团支部书记的履职表现与带动成效。'
},
{
title: '五四红旗团委',
code: 'gxmu_wshqtw',
icon: '委',
group: '组织奖项',
desc: '用于先进团委集体申报与材料汇总展示。'
},
{
title: '五四红旗团支部',
code: 'gxmu_wshqtzb',
icon: '支',
group: '组织奖项',
desc: '聚焦先进团支部建设成果与品牌工作展示。'
},
{
title: '优秀共青团干部',
code: 'gxmu_yxgqtdgb',
icon: '干',
group: '个人奖项',
desc: '面向团学骨干和团务干部的申报入口。'
},
{
title: '优秀共青团员',
code: 'gxmu_yxgqty',
icon: '员',
group: '个人奖项',
desc: '面向优秀团员个人事迹与成长表现申报。'
},
{
title: '挑战杯',
code: 'gxmu_tzbcy_form',
icon: '挑',
group: '竞赛项目',
desc: '面向挑战杯项目材料填报与过程归档。'
},
{
title: '青马工程',
code: 'gxmu_qmgc_form',
icon: '青',
group: '培养项目',
desc: '用于青马工程学员培养信息和成果申报。'
},
{
title: '未来学术之星',
code: 'gxmu_wxxzx_project',
icon: '星',
group: '创新项目',
desc: '用于未来学术之星项目申报和材料整理。'
}
]
const createFields = (fields) =>
fields.map((field) => ({
required: false,
placeholder: `请输入${field.label}`,
...field
}))
export const GXMU_FORM_MAP = {
gxmu_sjqn: {
title: '十佳青年岗位能手申报表',
subtitle: '参考后台 SJQNForm 字段结构,适用于个人申报信息填写。',
sections: [
{
title: '基础信息',
fields: createFields([
{ key: 'year', label: '年份', type: 'year', required: true },
{ key: 'applyType', label: '申报类别', required: true },
{ key: 'name', label: '姓名', required: true },
{ key: 'gender', label: '性别', type: 'select', options: GENDER_OPTIONS },
{ key: 'birthMonth', label: '出生年月', type: 'month' },
{ key: 'nation', label: '民族' },
{ key: 'politics', label: '政治面貌' },
{ key: 'education', label: '学历' },
{ key: 'position', label: '职务' },
{ key: 'title', label: '职称' },
{ key: 'unit', label: '所在单位' }
])
},
{
title: '申报内容',
fields: createFields([
{ key: 'awards', label: '近三年曾获校级及以上奖励', type: 'textarea' },
{ key: 'experience', label: '工作(学习)经历', type: 'textarea' },
{ key: 'mainStory', label: '主要事迹', type: 'textarea' }
])
}
]
},
gxmu_sjtbzbsj: {
title: '十佳团支部书记申报表',
subtitle: '参考后台 SJTBZBSJForm 字段结构,适用于个人申报信息填写。',
sections: [
{
title: '基础信息',
fields: createFields([
{ key: 'year', label: '年份', type: 'year', required: true },
{ key: 'name', label: '姓名', required: true },
{ key: 'gender', label: '性别', type: 'select', options: GENDER_OPTIONS },
{ key: 'birthMonth', label: '出生年月', type: 'month' },
{ key: 'nation', label: '民族' },
{ key: 'politics', label: '政治面貌' },
{ key: 'collegeClass', label: '学院班级/单位科室' },
{ key: 'branch', label: '所在团支部' },
{ key: 'eduEval', label: '上一年度团员教育评议等次' }
])
},
{
title: '申报内容',
fields: createFields([
{ key: 'awards', label: '近三年曾获校级及以上奖励', type: 'textarea' },
{ key: 'experience', label: '工作(学习)经历', type: 'textarea' },
{ key: 'mainStory', label: '主要事迹', type: 'textarea' }
])
}
]
},
gxmu_wshqtw: {
title: '五四红旗团委申报表',
subtitle: '参考后台 WSHQTWForm 字段结构,适用于组织集体申报。',
sections: [
{
title: '组织基本信息',
fields: createFields([
{ key: 'year', label: '年份', type: 'year', required: true },
{ key: 'orgName', label: '二级团组织全称', required: true },
{ key: 'leader', label: '负责人' },
{ key: 'phone', label: '联系电话', type: 'phone' },
{ key: 'memberTotal', label: '现有团员总数', type: 'number' },
{ key: 'memberDeveloped2024', label: '上一年度发展团员人数', type: 'number' },
{ key: 'smartSystemLogin', label: '是否已登录智慧团建系统', type: 'select', options: YES_NO_OPTIONS },
{ key: 'committeeCount', label: '团委委员人数', type: 'number' },
{ key: 'fulltimeCadreCount', label: '专职团干部数(其中教师/学生)' },
{ key: 'parttimeCadreCount', label: '兼职团干部数(其中教师/学生)' },
{ key: 'lastElectionTime', label: '团委最近一次换届时间', type: 'date' },
{ key: 'branchCount', label: '团支部数', type: 'number' }
])
},
{
title: '年度建设情况',
fields: createFields([
{ key: 'feeReceivable2024', label: '上一年度应收团费', type: 'number' },
{ key: 'feeReceived2024', label: '上一年度实收团费', type: 'number' },
{ key: 'feePayable2024', label: '上一年度应上缴团费', type: 'number' },
{ key: 'feePaid2024', label: '上一年度实际上缴团费', type: 'number' },
{ key: 'standardizedWork2024', label: '是否开展规范化建设工作', type: 'select', options: YES_NO_OPTIONS },
{ key: 'recommendActivist2024', label: '推荐入党积极分子人数', type: 'number' },
{ key: 'activistConfirmed', label: '确定为入党积极分子数', type: 'number' },
{ key: 'recommendDevTarget2024', label: '推荐党的发展对象人数', type: 'number' },
{ key: 'devTargetConfirmed', label: '确定为党的发展对象数', type: 'number' }
])
},
{
title: '主要成果',
fields: createFields([
{ key: 'honorsFiveYears', label: '近五年获得校级及以上荣誉情况', type: 'textarea' },
{ key: 'workSummaryThreeYears', label: '近三年开展的主要工作及取得的效果', type: 'textarea' }
])
}
]
},
gxmu_wshqtzb: {
title: '五四红旗团支部申报表',
subtitle: '参考后台 WSHQTZBForm 字段结构,适用于基层团支部集体申报。',
sections: [
{
title: '组织基本信息',
fields: createFields([
{ key: 'year', label: '年份', type: 'year', required: true },
{ key: 'branchName', label: '团支部全称', required: true },
{ key: 'secondOrg', label: '所属二级团组织' },
{ key: 'secretary', label: '团支部书记' },
{ key: 'politics', label: '政治面貌' },
{ key: 'contact', label: '联系方式', type: 'phone' },
{ key: 'establishTime', label: '成立时间', type: 'date' },
{ key: 'lastElectionTime', label: '最近一次换届时间', type: 'date' },
{ key: 'smartSystemLogin', label: '是否已登录智慧团建系统', type: 'select', options: YES_NO_OPTIONS },
{ key: 'memberTotal', label: '现有团员总数', type: 'number' },
{ key: 'memberDeveloped2024', label: '上一年度发展团员数', type: 'number' }
])
},
{
title: '年度建设情况',
fields: createFields([
{ key: 'feeReceivable2024', label: '上一年度应收团费', type: 'number' },
{ key: 'feeReceived2024', label: '上一年度实收团费', type: 'number' },
{ key: 'feePayable2024', label: '上一年度应上缴团费', type: 'number' },
{ key: 'feePaid2024', label: '上一年度实际上缴团费', type: 'number' },
{ key: 'recommendActivist2024', label: '推荐入党积极分子人数', type: 'number' },
{ key: 'activistConfirmed', label: '确定为入党积极分子数', type: 'number' },
{ key: 'recommendDevTarget2024', label: '推荐党的发展对象人数', type: 'number' },
{ key: 'devTargetConfirmed', label: '确定为党的发展对象数', type: 'number' },
{ key: 'branchCommitteeMeetingCount', label: '团支部委员会会议召开次数', type: 'number' },
{ key: 'branchMemberMeetingCount', label: '团支部团员大会召开次数', type: 'number' },
{ key: 'eduEvalDone', label: '是否开展团员教育评议', type: 'select', options: YES_NO_OPTIONS },
{ key: 'annualRegDone', label: '是否开展团员年度团籍注册', type: 'select', options: YES_NO_OPTIONS },
{ key: 'classCount', label: '开展团课次数', type: 'number' },
{ key: 'smartSystem100', label: '是否100%录入智慧团建', type: 'select', options: YES_NO_OPTIONS }
])
},
{
title: '主要成果',
fields: createFields([
{ key: 'honorsFiveYears', label: '近五年获得院级及以上荣誉情况', type: 'textarea' },
{ key: 'workSummaryThreeYears', label: '近三年开展的主要工作及取得的效果', type: 'textarea' }
])
}
]
},
gxmu_yxgqtdgb: {
title: '优秀共青团干部申报表',
subtitle: '参考后台 YXGQTDGBForm 字段结构,适用于团干部个人申报。',
sections: [
{
title: '基础信息',
fields: createFields([
{ key: 'year', label: '年份', type: 'year', required: true },
{ key: 'name', label: '姓名', required: true },
{ key: 'gender', label: '性别', type: 'select', options: GENDER_OPTIONS },
{ key: 'nation', label: '民族' },
{ key: 'birthMonth', label: '出生年月', type: 'month' },
{ key: 'politics', label: '政治面貌' },
{ key: 'position', label: '职务' },
{ key: 'identity', label: '身份' },
{ key: 'organization', label: '所在团组织' },
{ key: 'contact', label: '联系方式', type: 'phone' },
{ key: 'memberNo', label: '发展团员编号' },
{ key: 'currentDutyTime', label: '任现团内职务时间', type: 'month' },
{ key: 'cadreYears', label: '担任团干部年限' },
{ key: 'assessment2024', label: '上一年度工作考核结果' },
{ key: 'volunteerRegTime', label: '成为注册志愿者时间', type: 'month' }
])
},
{
title: '申报内容',
fields: createFields([
{ key: 'cadreExperience', label: '从事团干部经历', type: 'textarea' },
{ key: 'honorsFiveYears', label: '近五年获得校级及以上荣誉情况', type: 'textarea' },
{ key: 'mainStory', label: '主要事迹', type: 'textarea' }
])
}
]
},
gxmu_yxgqty: {
title: '优秀共青团员申报表',
subtitle: '参考后台 YXGQTYForm 字段结构,适用于团员个人申报。',
sections: [
{
title: '基础信息',
fields: createFields([
{ key: 'year', label: '年份', type: 'year', required: true },
{ key: 'name', label: '姓名', required: true },
{ key: 'gender', label: '性别', type: 'select', options: GENDER_OPTIONS },
{ key: 'nation', label: '民族' },
{ key: 'politics', label: '政治面貌' },
{ key: 'birthMonth', label: '出生年月', type: 'month' },
{ key: 'joinTime', label: '入团时间', type: 'month' },
{ key: 'collegeMajorClass', label: '所在学院、专业、班级' },
{ key: 'position', label: '职务' },
{ key: 'volunteerRegTime', label: '成为注册志愿者时间', type: 'month' },
{ key: 'eduEval2024', label: '上一年度团员教育评议等次' },
{ key: 'smartSystem', label: '是否已登录智慧团建系统', type: 'select', options: YES_NO_OPTIONS },
{ key: 'contact', label: '联系电话', type: 'phone' },
{ key: 'totalVolunteerHours', label: '累计志愿服务时长' },
{ key: 'volunteerHours2024', label: '上一年度志愿服务时长' },
{ key: 'memberNo', label: '发展团员编号' }
])
},
{
title: '申报内容',
fields: createFields([
{ key: 'honorsFiveYears', label: '近五年获得荣誉情况', type: 'textarea' },
{ key: 'mainStory', label: '主要事迹', type: 'textarea' }
])
}
]
},
gxmu_tzbcy_form: {
title: '挑战杯申报表',
subtitle: '面向挑战杯项目申报、团队信息和成果材料整理。',
sections: [
{
title: '项目信息',
fields: createFields([
{ key: 'year', label: '年份', type: 'year', required: true },
{ key: 'projectName', label: '项目名称', required: true },
{ key: 'projectType', label: '项目类型', required: true },
{ key: 'projectGroup', label: '项目分组', required: true },
{ key: 'leaderName', label: '项目负责人', required: true },
{ key: 'leaderCollege', label: '负责人学院' },
{ key: 'leaderPhone', label: '负责人电话', type: 'phone' },
{ key: 'guidanceTeacher', label: '指导老师' }
])
},
{
title: '项目内容',
fields: createFields([
{ key: 'projectSummary', label: '项目简介', type: 'textarea', required: true },
{ key: 'innovationPoint', label: '创新亮点', type: 'textarea' },
{ key: 'teamMembers', label: '团队成员', type: 'textarea' },
{ key: 'honors', label: '已有成果与奖励', type: 'textarea' }
])
}
]
},
gxmu_qmgc_form: {
title: '青马工程申报表',
subtitle: '用于青马工程学员基础信息、培养情况和成果申报。',
sections: [
{
title: '基础信息',
fields: createFields([
{ key: 'year', label: '年份', type: 'year', required: true },
{ key: 'name', label: '姓名', required: true },
{ key: 'gender', label: '性别', type: 'select', options: GENDER_OPTIONS },
{ key: 'college', label: '学院', required: true },
{ key: 'className', label: '班级' },
{ key: 'phone', label: '联系电话', type: 'phone' },
{ key: 'politics', label: '政治面貌' }
])
},
{
title: '培养情况',
fields: createFields([
{ key: 'trainingExperience', label: '培养经历', type: 'textarea', required: true },
{ key: 'practiceExperience', label: '实践经历', type: 'textarea' },
{ key: 'mainAchievement', label: '主要成果', type: 'textarea' },
{ key: 'selfEvaluation', label: '个人总结', type: 'textarea' }
])
}
]
},
gxmu_wxxzx_project: {
title: '未来学术之星申报表',
subtitle: '用于未来学术之星项目申报、课题信息和支撑材料整理。',
sections: [
{
title: '项目基础信息',
fields: createFields([
{ key: 'year', label: '年份', type: 'year', required: true },
{ key: 'projectName', label: '项目名称', required: true },
{ key: 'applicantName', label: '申请人', required: true },
{ key: 'college', label: '学院', required: true },
{ key: 'major', label: '专业' },
{ key: 'phone', label: '联系电话', type: 'phone' },
{ key: 'guidanceTeacher', label: '指导老师' }
])
},
{
title: '申报内容',
fields: createFields([
{ key: 'researchDirection', label: '研究方向', type: 'textarea' },
{ key: 'projectBasis', label: '项目基础', type: 'textarea', required: true },
{ key: 'researchPlan', label: '研究计划', type: 'textarea' },
{ key: 'expectedResult', label: '预期成果', type: 'textarea' }
])
}
]
}
}
export const getModuleMeta = (code) => GXMU_MODULES.find((item) => item.code === code)
export const getFormConfig = (code) => GXMU_FORM_MAP[code]
export const createInitialFormData = (code) => {
const config = getFormConfig(code)
if (!config) {
return {}
}
return config.sections.reduce((result, section) => {
section.fields.forEach((field) => {
result[field.key] = field.defaultValue || ''
})
return result
}, {})
}