diff --git a/src/views/basedata/private/StuPic.vue b/src/views/basedata/private/StuPic.vue index d031cbf..2058c32 100644 --- a/src/views/basedata/private/StuPic.vue +++ b/src/views/basedata/private/StuPic.vue @@ -263,7 +263,8 @@ export default { fontSize: 14 }, - data: [...stuYearNames] + data: [...stuYearNames], + selectedMode: 'single' }, radar: { indicator: [ diff --git a/src/views/flowable/task/finished/detail/index.vue b/src/views/flowable/task/finished/detail/index.vue index 87cb51b..9940187 100644 --- a/src/views/flowable/task/finished/detail/index.vue +++ b/src/views/flowable/task/finished/detail/index.vue @@ -516,9 +516,7 @@
-
{{ form.xwIdea }}拟编入____
- -
{{ form.xwIdea || '暂无意见' }},拟编入__{{finalGradeName}}_{{finalClassName}}__
+ {{ form.fdIdea || '暂无意见' }}
审批结果:
- {{ form.xwIdea || '暂无意见' }} +
{{ form.xwIdea }}拟编入____
+ +
{{ form.xwIdea || '暂无意见' }},拟编入__{{finalGradeName}}_{{finalClassName}}__
审批结果:
+ + + + + + + {{ form.stName }} + + + + {{ form.sex }} + + + + + + + + + + {{ form.grade }} + + + + {{ form.stClass }} + + + + {{ form.stId }} + + + + {{ form.majors }} + + + + {{ form.datab }} + + + + +
+

本人于 {{ form.rwTime | formatDate }} 应征入伍,于 {{ form.dataa | formatDate }} + 日退役,退役后申请复学。

+

是否申请转专业:(√)是 ()否

+

是否申请转专业:()是 (×)否

+ +

+ 原年级和专业:__{{ form.maList.length > 0 ? form.maList[0].oldgrade : '' }}__{{ form.maList.length > 0 ? + form.maList[0].oldmajor : '' }}__ + 申请转入年级和专业:__{{ saveGradeName }}__{{ saveClassName }}__ +

+ + +
+ + + +
+ + +
+ 申请人: + {{ form.stName }} + 日期: + {{ form.times | formatDate }} +
+
+
+ + + + +
+

+ 符合转专业条件,拟同意转入年级和专业:__{{ saveGradeName }}__{{ saveClassName }}__ +

+
+ 审批结果: + + + + + + + 签名: + {{ form.zsIdea || '无' }} + 日期: + {{ form.zsTime | formatDate }} +
+
+
+ + + + +
+ {{ form.fdIdea || '暂无意见' }} +
+ 审批结果: + + + + + + + 签名: + {{ form.fdQm || '无' }} + 日期: + {{ form.fdTime | formatDate }} +
+
+
+ + + + +
+
{{ form.xwIdea }}拟编入____
+ +
{{ form.xwIdea || '暂无意见' }},拟编入__{{finalGradeName}}_{{finalClassName}}__
+
+ 审批结果: + + + + + + + 签名: + {{ form.xwQm || '无' }} + 日期: + {{ form.xwTime | formatDate }} +
+
+
+ + + + +
+ {{ form.twoIdea || '暂无意见' }} +
+ 审批结果: + + + + + + + 签名: + {{ form.erQm || '无' }} + 日期: + {{ form.twoTime | formatDate }} +
+
+
+ + + + +
+ {{ form.xjIdea || '暂无意见' }} +
+ 审批结果: + + + + + + + 签名: + {{ form.xjQm || '无' }} + 日期: + {{ form.xjTime | formatDate }} +
+
+
+ + + + +
+ {{ form.jwIdea || '暂无意见' }} +
+ 审批结果: + + + + + + + 签名: + {{ form.jwQm || '无' }} + 日期: + {{ form.jwTime | formatDate }} +
+
+
+ +
+
@@ -464,9 +676,12 @@ import { getRtStuQuitSchoolByProcInsId } from '@/api/routine/rtStuQuitSchool' import Parser from '@/components/parser/Parser' import flow from '@/views/flowable/task/myProcess/detail/flow' import '@riophae/vue-treeselect/dist/vue-treeselect.css' +import {getStname, getProcessId } from "@/api/routine/basic"; import { getEnlistmentReserveByProcessInstanceId} from "@/api/routine/enlistmentReserve/enlistmentReserve"; import { getOutsideAccommodationApplyByProcessInstanceId } from "@/api/dormitory/outsideAccommodation/outsideAccommodationApply"; import detailApply from "@/views/dormitory/outsideAccommodation/outsideAccommodationApply/components/detailApply" // 外宿申请表详细 +import { listStudent, getClassName } from '@/api/stuCQS/basedata/student' +import { listGrade } from '@/api/stuCQS/basedata/grade' export default { name: 'Record', @@ -506,6 +721,7 @@ export default { quitSchoolForm: false, // 休学申请表单 enlistmentReserveForm: false, // 入伍保留学籍表单 outsideAccommodationForm: false, // 外宿申请表单 + basicForm: false,//退伍复学表单 form: {}, // 学生基础信息 stuInfo: {}, @@ -537,7 +753,10 @@ export default { } else if (this.category == 'outsideAccommodation') { this.outsideAccommodationForm = true this.getOutsideAccommodation(this.taskForm.procInsId) - } + }else if (this.category == '退伍复学') { + this.basicForm = true + this.getBasicApplication(this.taskForm.procInsId) + } // 回显流程记录 // 流程任务重获取变量表单 this.processVariables(this.taskForm.taskId) @@ -630,6 +849,95 @@ export default { } }) }, + // 退伍复学申请表单数据 + getBasicApplication(procInsId) { + getProcessId(procInsId.toString()).then((res) => { + // console.log("后端返回原始数据:",res.data); + this.form = res.data + this.getClassNameList() + this.listGrade() + this.getXWClassNameList() + }); + }, + + // 获取学务班级名称列表 + getXWClassNameList() { + getClassName().then(res => { + this.ClassNameList = res.data; + if (this.ClassNameList != null) { + this.ClassNameList.forEach(element => { + if (element.value == this.form.maList[0].finaldata1) { + element.children.forEach(elementTwo => { + if (elementTwo.value == this.form.maList[0].finaldata2) { + elementTwo.children.forEach(elementFree => { + if (elementFree.value == this.form.maList[0].newmajor) { + this.finalClassName = elementFree.label; + this.classVlue1 = [element.value, elementTwo.value, elementFree.value]; + + // 关键修复:从年级列表中查找年级名称,而不是直接使用 element.label + const gradeId = element.value; + const gradeItem = this.grade_list.find(item => item.gradeId === gradeId); + if (gradeItem) { + this.finalGradeName = gradeItem.gradeName; // 正确的年级名称 + this.$set(this.form.maList[0], 'finallabel', gradeItem.gradeId); // 正确的年级ID + } + } + }); + } + }); + } + }); + } + }) + }, + + /** 获取班级名称列表 */ + getClassNameList() { + getClassName().then(res => { + this.ClassNameList = res.data + console.log(this.ClassNameList) + if (this.ClassNameList != null) { + this.ClassNameList.forEach(element => { + if (element.value == this.form.maList[0].data1) { + // console.log(element.label) + element.children.forEach(elementTwo => { + if (elementTwo.value == this.form.maList[0].data2) { + // console.log(elementTwo.label) + this.saveClassName =elementTwo.label + // console.log("退伍复学",this.saveClassName) + // 班级 + // elementTwo.children.forEach(elementFree => { + // this.saveClassName = elementFree.label + // // console.log(elementFree.label) + // }); + } + }); + } + }); + } + }) + }, + /** 获取年级列表 */ + async listGrade() { + try { + let res = await listGrade() + if (res.code == 200) { + this.grade_list = [...res.rows] + console.log(this.grade_list) + this.grade_list.forEach(element => { + if(element.gradeId == this.form.maList[0].newgrade){ + this.saveGradeName = element.gradeName + } + if (element.gradeId == this.form.maList[0].finallabel) { + this.finalGradeName = element.gradeName + } + }); + } + } catch (error) { + console.error('获取年级列表失败:', error) + } + }, + handleClick(tab, event) { if (tab.name === '3') { flowXmlAndNode({ procInsId: this.taskForm.procInsId, deployId: this.taskForm.deployId }).then((res) => { diff --git a/src/views/flowable/task/todo/detail/index.vue b/src/views/flowable/task/todo/detail/index.vue index 74107d6..0aca641 100644 --- a/src/views/flowable/task/todo/detail/index.vue +++ b/src/views/flowable/task/todo/detail/index.vue @@ -972,7 +972,10 @@ export default { props: {}, data() { return { + // 年级列表 + grade_list: [], classVlue1: [], + ClassNameList:[], // 模型xml数据 xmlData: '', flowData: {}, @@ -1159,6 +1162,8 @@ export default { } else if (this.category == '退伍复学') { this.basicForm = true this.getBasicApplication(this.startUser) + this.listGrade(); + this.getXWClassNameList(); } // 流程任务获取变量信息 if (this.taskForm.taskId) { @@ -1170,118 +1175,53 @@ export default { } }, methods: { - // 班级选择事件(仅更新ID,不处理名称) -// handleChange1(value) { -// if (value && value.length === 3) { -// const [gradeId, majorId, classId] = value; -// // 仅更新子表的ID字段,名称仅前端展示(不提交给后端) -// this.$set(this.form.maList[0], 'finaldata1', gradeId); // 年级ID -// this.$set(this.form.maList[0], 'finaldata2', majorId); // 专业ID -// this.$set(this.form.maList[0], 'newmajor', classId); // 班级ID - -// // finalClassName 仅用于前端展示,不提交 -// const gradeItem = this.ClassNameList.find(item => item.value === gradeId); -// if (gradeItem) { -// const majorItem = gradeItem.children.find(item => item.value === majorId); -// if (majorItem) { -// const classItem = majorItem.children.find(item => item.value === classId); -// if (classItem) { -// this.finalClassName = classItem.label; // 仅前端展示 -// } -// } -// } -// } -// }, -handleChange1(value) { - if (value && value.length === 3) { - const [gradeId, majorId, classId] = value; - // 1. 更新存储用的ID字段 - this.$set(this.form.maList[0], 'finaldata1', gradeId); - this.$set(this.form.maList[0], 'finaldata2', majorId); - this.$set(this.form.maList[0], 'newmajor', classId); - this.$set(this.form.maList[0], 'finalmajor', classId); + + handleChange1(value) { + if (value && value.length === 3) { + const [gradeId, majorId, classId] = value; + // 1. 更新存储用的ID字段 + this.$set(this.form.maList[0], 'finaldata1', gradeId); + this.$set(this.form.maList[0], 'finaldata2', majorId); + this.$set(this.form.maList[0], 'newmajor', classId); + this.$set(this.form.maList[0], 'finalmajor', classId); - // 2. 查找班级名称 - const gradeItem = this.ClassNameList.find(item => item.value === gradeId); - if (gradeItem) { - const majorItem = gradeItem.children.find(item => item.value === majorId); - if (majorItem) { - const classItem = majorItem.children.find(item => item.value === classId); - if (classItem) { - this.finalClassName = classItem.label; + // 2. 查找班级名称 + const gradeItem = this.ClassNameList.find(item => item.value === gradeId); + if (gradeItem) { + const majorItem = gradeItem.children.find(item => item.value === majorId); + if (majorItem) { + const classItem = majorItem.children.find(item => item.value === classId); + if (classItem) { + this.finalClassName = classItem.label; + } + } + } + + // 关键修复:从年级列表中查找年级名称,而不是直接使用 gradeItem.label + const selectedGrade = this.grade_list.find(item => item.gradeId === gradeId); + if (selectedGrade) { + this.finalGradeName = selectedGrade.gradeName; // 正确的年级名称 + this.$set(this.form.maList[0], 'finallabel', selectedGrade.gradeId); // 正确的年级ID } } - } - - // 关键修复:从年级列表中查找年级名称,而不是直接使用 gradeItem.label - const selectedGrade = this.grade_list.find(item => item.gradeId === gradeId); - if (selectedGrade) { - this.finalGradeName = selectedGrade.gradeName; // 正确的年级名称 - this.$set(this.form.maList[0], 'finallabel', selectedGrade.gradeId); // 正确的年级ID - } - } -}, -// 年级选择事件(仅更新ID,不处理名称) -// handleGradeChange(value) { -// const selectedGrade = this.grade_list.find(item => item.gradeId === value); -// if (selectedGrade) { -// // 仅更新子表的ID字段,名称仅前端展示 -// this.$set(this.form.maList[0], 'finallabel', value); // 年级ID(存储用) -// this.$set(this.form.maList[0], 'finalmajor', value); // 年级ID(选择框绑定) - -// this.finalGradeName = selectedGrade.gradeName; // 仅前端展示 -// } -// }, -handleGradeChange(value) { - const selectedGrade = this.grade_list.find(item => item.gradeId === value); - if (selectedGrade) { - // 1. 更新存储用的年级ID - this.$set(this.form.maList[0], 'finallabel', value); - // 2. 同步更新显示用的年级名称(这里必须是 selectedGrade.gradeName) - this.finalGradeName = selectedGrade.gradeName; - // 3. 清空班级选择,避免年级和班级不匹配 - this.classVlue1 = []; - this.finalClassName = null; - this.$set(this.form.maList[0], 'finaldata1', ''); - this.$set(this.form.maList[0], 'finaldata2', ''); - this.$set(this.form.maList[0], 'newmajor', ''); - this.$set(this.form.maList[0], 'finalmajor', ''); - } -}, - // handleChange1(value) { - // if (value && value.length === 3) { - // const [gradeId, majorId, classId] = value; - // // 从ClassNameList中找到对应班级名称 - // const gradeItem = this.ClassNameList.find(item => item.value === gradeId); - // if (gradeItem) { - // const majorItem = gradeItem.children.find(item => item.value === majorId); - // if (majorItem) { - // const classItem = majorItem.children.find(item => item.value === classId); - // if (classItem) { - // this.finalClassName = classItem.label; - // // 【关键修改】实时更新form.maList[0]的字段,确保提交时能拿到最新值 - // this.$set(this.form.maList[0], 'finaldata1', gradeId); // 年级ID - // this.$set(this.form.maList[0], 'finaldata2', majorId); // 专业ID - // this.$set(this.form.maList[0], 'newmajor', classId); // 班级ID - // this.$set(this.form.maList[0], 'finalClassName', classItem.label); // 班级名称 - // } - // } - // } - // } - // }, - - // handleGradeChange(value) { - // // 3. 选择框值变更时,同步更新显示名称和存储字段 - // const selectedGrade = this.grade_list.find(item => item.gradeId === value); - // if (selectedGrade) { - // this.finalGradeName = selectedGrade.gradeName; // 更新显示名称 - // // 【关键修改】实时更新form.maList[0]的字段 - // this.$set(this.form.maList[0], 'finallabel', value); // 年级ID(存储用) - // this.$set(this.form.maList[0], 'finalmajor', value); // 年级ID(选择框绑定) - // this.$set(this.form.maList[0], 'finalGradeName', selectedGrade.gradeName); // 年级名称 - // } - // }, + }, + handleGradeChange(value) { + const selectedGrade = this.grade_list.find(item => item.gradeId === value); + if (selectedGrade) { + // 1. 更新存储用的年级ID + this.$set(this.form.maList[0], 'finallabel', value); + // 2. 同步更新显示用的年级名称(这里必须是 selectedGrade.gradeName) + this.finalGradeName = selectedGrade.gradeName; + // 3. 清空班级选择,避免年级和班级不匹配 + this.classVlue1 = []; + this.finalClassName = null; + this.$set(this.form.maList[0], 'finaldata1', ''); + this.$set(this.form.maList[0], 'finaldata2', ''); + this.$set(this.form.maList[0], 'newmajor', ''); + this.$set(this.form.maList[0], 'finalmajor', ''); + } + }, penaltyTypeMethodFormat(row, column) { return this.selectDictLabel(this.dict.type.rt_penalty_type, row.penaltyType) }, @@ -1357,57 +1297,38 @@ handleGradeChange(value) { // 退伍复学申请表单数据 getBasicApplication(startUser) { - // // let newName = this.startUser.replace(/-/g, ""); - // let newName = this.startUser.split('-')[0].trim(); - // getStname(newName).then((res) => { - // // console.log("后端返回原始数据:",res.data); - // this.form = res.data + let newName = this.startUser.split('-')[0].trim(); + getStname(newName).then((res) => { + console.log("后端返回原始数据:", res.data); + // 深拷贝确保数据不被污染 + this.form = JSON.parse(JSON.stringify(res.data)); - // // 1. 初始化选择框绑定的核心字段(finalmajor) - // if (this.form.maList && this.form.maList.length > 0) { - // // 从maList中读取已保存的年级ID,赋值给finalmajor(选择框绑定字段) - // this.$set(this.form.maList[0], 'finalmajor', this.form.maList[0].finallabel || ''); - // } else { - // // 若无数据,初始化空值避免undefined - // this.form.maList = [{ finalmajor: '', finallabel: '' }]; - // } + // 初始化maList,防止空指针 + if (!this.form.maList || this.form.maList.length === 0) { + this.form.maList = [{ + finalmajor: '', + finallabel: '', + finaldata1: '', + finaldata2: '', + newmajor: '', + finalClassName: '', + finalGradeName: '' + }]; + } - // this.getClassNameList() - // this.listGrade() - // this.getXWClassNameList() - // }); - let newName = this.startUser.split('-')[0].trim(); - getStname(newName).then((res) => { - console.log("后端返回原始数据:", res.data); - // 深拷贝确保数据不被污染 - this.form = JSON.parse(JSON.stringify(res.data)); + // 1. 初始化选择框绑定的核心字段(finalmajor) + this.$set(this.form.maList[0], 'finalmajor', this.form.maList[0].finallabel || ''); - // 初始化maList,防止空指针 - if (!this.form.maList || this.form.maList.length === 0) { - this.form.maList = [{ - finalmajor: '', - finallabel: '', - finaldata1: '', - finaldata2: '', - newmajor: '', - finalClassName: '', - finalGradeName: '' - }]; - } - - // 1. 初始化选择框绑定的核心字段(finalmajor) - this.$set(this.form.maList[0], 'finalmajor', this.form.maList[0].finallabel || ''); - - // 确保数据加载完成后再渲染下拉列表 - this.$nextTick(() => { - this.getClassNameList(); - this.listGrade(); - this.getXWClassNameList(); - }); - }).catch(error => { - console.error("获取退伍复学数据失败:", error); - this.$modal.msgError("获取学生信息失败,请刷新页面重试"); - }); + // 确保数据加载完成后再渲染下拉列表 + this.$nextTick(() => { + this.getClassNameList(); + this.listGrade(); + this.getXWClassNameList(); + }); + }).catch(error => { + console.error("获取退伍复学数据失败:", error); + this.$modal.msgError("获取学生信息失败,请刷新页面重试"); + }); }, /** 获取班级名称列表 */ getClassNameList() { @@ -1434,126 +1355,37 @@ handleGradeChange(value) { }) }, - // 获取学务班级名称列表 - // getXWClassNameList() { - // getClassName().then(res => { - // this.ClassNameList = res.data - // // console.log(this.ClassNameList) - // if (this.ClassNameList != null) { - // this.ClassNameList.forEach(element => { - // if (element.value == this.form.maList[0].finaldata1) { - // // console.log(element.label) - // element.children.forEach(elementTwo => { - // if (elementTwo.value == this.form.maList[0].finaldata2) { - // // console.log(elementTwo.label) - // // this.saveClassName =elementTwo.label - // elementTwo.children.forEach(elementFree => { - // this.finalClassName = elementFree.label - // this.classVlue1 = [element.value, elementTwo.value, elementFree.value]; - // // console.log(elementFree.label) - // }); - // } - // }); - // } - // }); - // } - // }) - // }, - // getXWClassNameList() { - // getClassName().then(res => { - // this.ClassNameList = res.data; - // if (this.ClassNameList != null) { - // this.ClassNameList.forEach(element => { - // if (element.value == this.form.maList[0].finaldata1) { - // element.children.forEach(elementTwo => { - // if (elementTwo.value == this.form.maList[0].finaldata2) { - // elementTwo.children.forEach(elementFree => { - // if (elementFree.value == this.form.maList[0].newmajor) { - // this.finalClassName = elementFree.label; - // this.classVlue1 = [element.value, elementTwo.value, elementFree.value]; - // // 同步更新年级名称 - // this.finalGradeName = element.label; - // this.$set(this.form.maList[0], 'finallabel', element.value); - // } - // }); - // } - // }); - // } - // }); - // } - // }) - // }, getXWClassNameList() { - getClassName().then(res => { - this.ClassNameList = res.data; - if (this.ClassNameList != null) { - this.ClassNameList.forEach(element => { - if (element.value == this.form.maList[0].finaldata1) { - element.children.forEach(elementTwo => { - if (elementTwo.value == this.form.maList[0].finaldata2) { - elementTwo.children.forEach(elementFree => { - if (elementFree.value == this.form.maList[0].newmajor) { - this.finalClassName = elementFree.label; - this.classVlue1 = [element.value, elementTwo.value, elementFree.value]; - - // 关键修复:从年级列表中查找年级名称,而不是直接使用 element.label - const gradeId = element.value; - const gradeItem = this.grade_list.find(item => item.gradeId === gradeId); - if (gradeItem) { - this.finalGradeName = gradeItem.gradeName; // 正确的年级名称 - this.$set(this.form.maList[0], 'finallabel', gradeItem.gradeId); // 正确的年级ID - } + getClassName().then(res => { + this.ClassNameList = res.data; + if (this.ClassNameList != null) { + this.ClassNameList.forEach(element => { + if (element.value == this.form.maList[0].finaldata1) { + element.children.forEach(elementTwo => { + if (elementTwo.value == this.form.maList[0].finaldata2) { + elementTwo.children.forEach(elementFree => { + if (elementFree.value == this.form.maList[0].newmajor) { + this.finalClassName = elementFree.label; + this.classVlue1 = [element.value, elementTwo.value, elementFree.value]; + + // 关键修复:从年级列表中查找年级名称,而不是直接使用 element.label + const gradeId = element.value; + const gradeItem = this.grade_list.find(item => item.gradeId === gradeId); + if (gradeItem) { + this.finalGradeName = gradeItem.gradeName; // 正确的年级名称 + this.$set(this.form.maList[0], 'finallabel', gradeItem.gradeId); // 正确的年级ID + } + } + }); } }); } }); } - }); - } - }) -}, + }) + }, - /** 获取年级列表 */ - // async listGrade() { - // try { - // let res = await listGrade() - // if (res.code == 200) { - // this.grade_list = [...res.rows] - // console.log(this.grade_list) - // this.grade_list.forEach(element => { - // // console.log("newgrade",this.form.maList[0].newgrade) - // if (element.gradeId == this.form.maList[0].newgrade) { - // this.saveGradeName = element.gradeName - // } - // if (element.gradeId == this.form.maList[0].finallabel) { - // this.finalGradeName = element.gradeName - // // this.$set(this.form.maList[0], 'finalmajor', element.gradeId); - // } - // }); - // } - // } catch (error) { - // console.error('获取年级列表失败:', error) - // } - // }, - // async listGrade() { - // try { - // let res = await listGrade(); - // if (res.code == 200) { - // this.grade_list = [...res.rows]; - // this.grade_list.forEach(element => { - // if (element.gradeId == this.form.maList[0].newgrade) { - // this.saveGradeName = element.gradeName; - // } - // if (element.gradeId == this.form.maList[0].finallabel) { - // this.finalGradeName = element.gradeName; - // } - // }); - // } - // } catch (error) { - // console.error('获取年级列表失败:', error); - // } - // }, async listGrade() { try { let res = await listGrade(); // 调用后端接口获取年级列表 @@ -1561,6 +1393,7 @@ handleGradeChange(value) { this.grade_list = [...res.rows]; // 打印日志,检查返回的数据结构 console.log("年级列表:", this.grade_list); + console.log("this.form.maList[0]",this.form.maList[0]) this.grade_list.forEach(element => { if (element.gradeId == this.form.maList[0].newgrade) { this.saveGradeName = element.gradeName; diff --git a/src/views/routine/dis/basic/index.vue b/src/views/routine/dis/basic/index.vue index c2988ea..67ebdc8 100644 --- a/src/views/routine/dis/basic/index.vue +++ b/src/views/routine/dis/basic/index.vue @@ -87,6 +87,21 @@
--> + + + + + + + + + + + + + + + @@ -109,8 +124,8 @@ {{ data.label }} ({{ data.children.length }}) - - --> + + --> 驳回
-
签名:
-
- - -
+ style="display: flex;justify-content: center;align-items: center;min-width: 130px;text-align: left;"> +
签名:
+
+ +
+
日期: {{ item.approvalTime }}
@@ -109,49 +109,49 @@
-
- - -

{{ item.taskName }}

- - - - - {{ item.assigneeName }} - {{ item.deptName }} - - - - {{ item.candidate }} - - - - {{ item.createTime }} - - - - {{ item.finishTime }} - - - - {{ item.duration }} - - - - {{ item.comment.comment }} - - - - -
-
-
+ + + + + @@ -208,7 +208,7 @@ + :rows="3" @blur="changeGet"> 班级 @@ -249,15 +249,17 @@ class="opinion-textarea"> -->

本人应征入伍,申请保留学籍从 - + + {{ formData.reserveStartDate }} 日至退役后两年({{ parseTime(formData.reserveEndDate, '{y}-{m}-{d}') }})。

请上传:入伍通知书等佐证材料. - +

@@ -350,6 +352,8 @@ import { getOwnInfo, getEnlistmentReserve, delEnlistmentReserve, addEnlistmentRe import { batchAddEnlistmentReserveAttach, deleteRtEnlistmentReserveAttachByFileNameAndStuName } from "@/api/routine/enlistmentReserve/enlistmentReserveAttach"; import { getUserProfile } from '@/api/system/user' // 获取当前登录用户 import { flowRecord } from '@/api/flowable/finished' +import { getStudentInfoByStuId } from '@/api/routine/stuIdReissue' +import { listStudent } from '@/api/stuCQS/basedata/student' export default { name: 'EnlistmentReserveForm', dicts: ['rt_nation'], @@ -437,11 +441,11 @@ export default { previewTitle: '', // 打印预览的标题(开启预览模式后出现), previewPrintBtnLabel: '', // 打印预览的标题的下方按钮文本,点击可进入打印(开启预览模式后出现) zIndex: '', // 预览的窗口的z-index,默认是 20002(此值要高一些,这涉及到预览模式是否显示在最上面) - previewBeforeOpenCallback() {}, //预览窗口打开之前的callback(开启预览模式调用) - previewOpenCallback() {}, // 预览窗口打开之后的callback(开启预览模式调用) - beforeOpenCallback() {}, // 开启打印前的回调事件 - openCallback() {}, // 调用打印之后的回调事件 - closeCallback() {}, //关闭打印的回调事件(无法确定点击的是确认还是取消) + previewBeforeOpenCallback() { }, //预览窗口打开之前的callback(开启预览模式调用) + previewOpenCallback() { }, // 预览窗口打开之后的callback(开启预览模式调用) + beforeOpenCallback() { }, // 开启打印前的回调事件 + openCallback() { }, // 调用打印之后的回调事件 + closeCallback() { }, //关闭打印的回调事件(无法确定点击的是确认还是取消) url: '', standard: '', extraCss: '', @@ -513,7 +517,7 @@ export default { if (newId) { this.deployId = newId // 获取流程记录 - this.getFlowRecordList() + this.getFlowRecordList() } else { this.deployId = null this.loading = false @@ -523,27 +527,75 @@ export default { }, mounted() { // this.getUser() + this.setSemesterStartDate(); }, methods: { + // 填写学号时自动获取其他信息 + changeGet() { + getStudentInfoByStuId(this.formData.studentNo).then(response => { + if (response.data == null) { + this.$message.error('学号不存在') + return + } + if (this.roleGroup.includes("辅导员")) { + this.formData.className = response.data.className + this.formData.studentName = response.data.studentName + this.formData.grade = response.data.gradeName + this.formData.gender = response.data.gender == '男' ? '1' : '0' + listStudent({name: this.formData.studentName}).then(res => { + this.formData.major = res.rows[0].srsMajors.majorName + this.formData.studentId = res.rows[0].stuId + this.formData.teacherName = res.rows[0].cphName + this.formData.deptName = res.rows[0].deptName + }) + } + }) + }, + // 根据学期规则生成起始日期并赋值 + setSemesterStartDate() { + // 方式1:手动指定学期(推荐,可直接改'spring'/'autumn'切换) + // const targetSemester = 'spring'; // spring=春季,autumn=秋季 + + // 方式2:自动根据当前月份判断学期(可选,注释掉方式1可启用) + const currentMonth = new Date().getMonth() + 1; + const targetSemester = currentMonth <= 6 ? 'spring' : 'autumn'; + + // 获取当前年份,计算+2年(如2024→2026) + const currentYear = new Date().getFullYear(); + const semesterYear = currentYear; // 固定为当前年份如2026 + + // 根据学期赋值起始日期 + if (targetSemester === 'spring') { + // 春季学期:YYYY-03-01(如2026-03-01) + this.formData.reserveStartDate = `${semesterYear}-03-01`; + } else { + // 秋季学期:YYYY-09-01(如2026-09-01) + this.formData.reserveStartDate = `${semesterYear}-09-01`; + } + }, + // 获取当前登录信息 getUser() { getUserProfile().then(response => { this.user = response.data this.roleGroup = response.roleGroup; // this.postGroup = response.postGroup; - if (this.user) { - this.formData.studentName = this.user.nickName - this.formData.gender = this.user.sex - getOwnInfo().then(res => { - if (res.data) { - this.formData.studentId = res.data.stuId - this.formData.studentNo = res.data.stuNo - this.formData.major = res.data.majorName - this.formData.className = res.data.className - this.formData.grade = res.data.gradeName - this.formData.teacherName = res.data.teacherName - } - }) + if (this.roleGroup.includes("学生")) { + if (this.user) { + this.formData.studentName = this.user.nickName + this.formData.gender = this.user.sex + getOwnInfo().then(res => { + if (res.data) { + this.formData.studentId = res.data.stuId + this.formData.studentNo = res.data.stuNo + this.formData.major = res.data.majorName + this.formData.className = res.data.className + this.formData.grade = res.data.gradeName + this.formData.teacherName = res.data.teacherName + this.formData.deptName = res.data.deptName + } + }) + } } }) }, @@ -695,12 +747,12 @@ export default { }, // 处理子组件传递的删除文件事件 handleDeleteFile(fileName) { - // 接收文件名后,可执行后续逻辑,删除在数据库的数据 - if (fileName) { - deleteRtEnlistmentReserveAttachByFileNameAndStuName({fileName:fileName, studentName: this.formData.studentName}).then(res => { - this.$message.success(`成功删除文件:${fileName}`); - }) - } + // 接收文件名后,可执行后续逻辑,删除在数据库的数据 + if (fileName) { + deleteRtEnlistmentReserveAttachByFileNameAndStuName({ fileName: fileName, studentName: this.formData.studentName }).then(res => { + this.$message.success(`成功删除文件:${fileName}`); + }) + } } } }; diff --git a/src/views/routine/enlistmentReserve/components/applicationDialog.vue b/src/views/routine/enlistmentReserve/components/applicationDialog.vue new file mode 100644 index 0000000..8161174 --- /dev/null +++ b/src/views/routine/enlistmentReserve/components/applicationDialog.vue @@ -0,0 +1,174 @@ + + + + diff --git a/src/views/routine/enlistmentReserve/index.vue b/src/views/routine/enlistmentReserve/index.vue index aa84e25..ce5c944 100644 --- a/src/views/routine/enlistmentReserve/index.vue +++ b/src/views/routine/enlistmentReserve/index.vue @@ -49,6 +49,9 @@ 发起入伍保留学籍申请 + + 批量发起入伍保留学籍申请 +