Compare commits
15 Commits
23f92883d5
...
xgxt_Wz_pc
| Author | SHA1 | Date | |
|---|---|---|---|
| 1a417d9a0a | |||
| 3889a8a6c8 | |||
| b2d218b221 | |||
| 03782e3c9d | |||
| 442ff182c4 | |||
| 005e91e171 | |||
| 934df73c1c | |||
| da57348c01 | |||
| 348f389ad6 | |||
| 8652ddf7b3 | |||
| 9224b75cfe | |||
|
|
29dffb0c38 | ||
| de396a4a21 | |||
| 0db8e99992 | |||
| d81df84322 |
@@ -25,9 +25,10 @@ export function listStudent(query) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 新同步学生信息
|
// 新同步学生信息
|
||||||
export function syncStudentInfo() {
|
export function synchronousStudent(query) {
|
||||||
return request({
|
return request({
|
||||||
url: '/syncdata/synchronousStudent',
|
url: '/syncdata/synchronousStudent',
|
||||||
method: 'post'
|
method: 'post',
|
||||||
|
params:query
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -516,9 +516,7 @@
|
|||||||
<el-descriptions-item span="4">
|
<el-descriptions-item span="4">
|
||||||
<template slot="label"> 辅导员意见 </template>
|
<template slot="label"> 辅导员意见 </template>
|
||||||
<div style="padding-top: 10px; line-height: 1.8;">
|
<div style="padding-top: 10px; line-height: 1.8;">
|
||||||
<div v-if="form.xwStatus == '0' || form.xwStatus == null || form.xwStatus == '2'" >{{ form.xwIdea }}拟编入____</div>
|
{{ form.fdIdea || '暂无意见' }}
|
||||||
<!-- 同意 -->
|
|
||||||
<div v-if="form.xwStatus == '1'">{{ form.xwIdea || '暂无意见' }},拟编入__{{finalGradeName}}_{{finalClassName}}__</div>
|
|
||||||
<div class="signature-area right-align" style="padding: 10px 0 0 0;">
|
<div class="signature-area right-align" style="padding: 10px 0 0 0;">
|
||||||
<span>审批结果:</span>
|
<span>审批结果:</span>
|
||||||
<el-select v-model="form.fdStatus" placeholder="待审核" class="short-select" disabled
|
<el-select v-model="form.fdStatus" placeholder="待审核" class="short-select" disabled
|
||||||
@@ -540,7 +538,9 @@
|
|||||||
<el-descriptions-item span="4">
|
<el-descriptions-item span="4">
|
||||||
<template slot="label"> 学务意见 </template>
|
<template slot="label"> 学务意见 </template>
|
||||||
<div style="padding-top: 10px; line-height: 1.8;">
|
<div style="padding-top: 10px; line-height: 1.8;">
|
||||||
{{ form.xwIdea || '暂无意见' }}
|
<div v-if="form.xwStatus == '0' || form.xwStatus == null || form.xwStatus == '2'" >{{ form.xwIdea }}拟编入____</div>
|
||||||
|
<!-- 同意 -->
|
||||||
|
<div v-if="form.xwStatus == '1'">{{ form.xwIdea || '暂无意见' }},拟编入__{{finalGradeName}}_{{finalClassName}}__</div>
|
||||||
<div class="signature-area right-align" style="padding: 10px 0 0 0;">
|
<div class="signature-area right-align" style="padding: 10px 0 0 0;">
|
||||||
<span>审批结果:</span>
|
<span>审批结果:</span>
|
||||||
<el-select v-model="form.xwStatus" placeholder="待审核" class="short-select" disabled
|
<el-select v-model="form.xwStatus" placeholder="待审核" class="short-select" disabled
|
||||||
@@ -871,30 +871,35 @@ export default {
|
|||||||
},
|
},
|
||||||
|
|
||||||
// 获取学务班级名称列表
|
// 获取学务班级名称列表
|
||||||
getXWClassNameList() {
|
getXWClassNameList() {
|
||||||
getClassName().then(res => {
|
getClassName().then(res => {
|
||||||
this.ClassNameList = res.data
|
this.ClassNameList = res.data;
|
||||||
// console.log(this.ClassNameList)
|
if (this.ClassNameList != null) {
|
||||||
if (this.ClassNameList != null) {
|
this.ClassNameList.forEach(element => {
|
||||||
this.ClassNameList.forEach(element => {
|
if (element.value == this.form.maList[0].finaldata1) {
|
||||||
if (element.value == this.form.maList[0].finaldata1) {
|
element.children.forEach(elementTwo => {
|
||||||
// console.log(element.label)
|
if (elementTwo.value == this.form.maList[0].finaldata2) {
|
||||||
element.children.forEach(elementTwo => {
|
elementTwo.children.forEach(elementFree => {
|
||||||
if (elementTwo.value == this.form.maList[0].finaldata2) {
|
if (elementFree.value == this.form.maList[0].newmajor) {
|
||||||
// console.log(elementTwo.label)
|
this.finalClassName = elementFree.label;
|
||||||
// this.saveClassName =elementTwo.label
|
this.classVlue1 = [element.value, elementTwo.value, elementFree.value];
|
||||||
elementTwo.children.forEach(elementFree => {
|
|
||||||
this.finalClassName = elementFree.label
|
// 关键修复:从年级列表中查找年级名称,而不是直接使用 element.label
|
||||||
this.classVlue1 = [element.value, elementTwo.value, elementFree.value];
|
const gradeId = element.value;
|
||||||
// console.log(elementFree.label)
|
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() {
|
getClassNameList() {
|
||||||
|
|||||||
@@ -577,7 +577,7 @@
|
|||||||
<span style="color: red;"> ( 专业调整:)</span>
|
<span style="color: red;"> ( 专业调整:)</span>
|
||||||
<!-- 年级 -->
|
<!-- 年级 -->
|
||||||
<el-select
|
<el-select
|
||||||
v-model="form.maList[0].finalmajor"
|
v-model="form.maList[0].finallabel"
|
||||||
filterable
|
filterable
|
||||||
clearable
|
clearable
|
||||||
placeholder="请选择年级"
|
placeholder="请选择年级"
|
||||||
@@ -590,7 +590,7 @@
|
|||||||
:label="item.gradeName"
|
:label="item.gradeName"
|
||||||
:value="item.gradeId"
|
:value="item.gradeId"
|
||||||
/>
|
/>
|
||||||
</el-select>-
|
</el-select>
|
||||||
<!-- 班级 -->
|
<!-- 班级 -->
|
||||||
|
|
||||||
<el-cascader v-model="classVlue1" placeholder="请选择班级" :show-all-levels="false" :options="ClassNameList"
|
<el-cascader v-model="classVlue1" placeholder="请选择班级" :show-all-levels="false" :options="ClassNameList"
|
||||||
@@ -972,7 +972,10 @@ export default {
|
|||||||
props: {},
|
props: {},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
|
// 年级列表
|
||||||
|
grade_list: [],
|
||||||
classVlue1: [],
|
classVlue1: [],
|
||||||
|
ClassNameList:[],
|
||||||
// 模型xml数据
|
// 模型xml数据
|
||||||
xmlData: '',
|
xmlData: '',
|
||||||
flowData: {},
|
flowData: {},
|
||||||
@@ -1159,6 +1162,8 @@ export default {
|
|||||||
} else if (this.category == '退伍复学') {
|
} else if (this.category == '退伍复学') {
|
||||||
this.basicForm = true
|
this.basicForm = true
|
||||||
this.getBasicApplication(this.startUser)
|
this.getBasicApplication(this.startUser)
|
||||||
|
this.listGrade();
|
||||||
|
this.getXWClassNameList();
|
||||||
}
|
}
|
||||||
// 流程任务获取变量信息
|
// 流程任务获取变量信息
|
||||||
if (this.taskForm.taskId) {
|
if (this.taskForm.taskId) {
|
||||||
@@ -1170,102 +1175,53 @@ export default {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
// 班级选择事件(仅更新ID,不处理名称)
|
|
||||||
// handleChange1(value) {
|
handleChange1(value) {
|
||||||
// if (value && value.length === 3) {
|
if (value && value.length === 3) {
|
||||||
// const [gradeId, majorId, classId] = value;
|
const [gradeId, majorId, classId] = value;
|
||||||
// // 仅更新子表的ID字段,名称仅前端展示(不提交给后端)
|
// 1. 更新存储用的ID字段
|
||||||
// this.$set(this.form.maList[0], 'finaldata1', gradeId); // 年级ID
|
this.$set(this.form.maList[0], 'finaldata1', gradeId);
|
||||||
// this.$set(this.form.maList[0], 'finaldata2', majorId); // 专业ID
|
this.$set(this.form.maList[0], 'finaldata2', majorId);
|
||||||
// this.$set(this.form.maList[0], 'newmajor', classId); // 班级ID
|
this.$set(this.form.maList[0], 'newmajor', classId);
|
||||||
|
this.$set(this.form.maList[0], 'finalmajor', classId);
|
||||||
// // 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;
|
|
||||||
this.$set(this.form.maList[0], 'finaldata1', gradeId);
|
|
||||||
this.$set(this.form.maList[0], 'finaldata2', majorId);
|
|
||||||
this.$set(this.form.maList[0], 'newmajor', classId);
|
|
||||||
// 确保finalmajor与newmajor同步,存储班级ID
|
|
||||||
this.$set(this.form.maList[0], 'finalmajor', classId);
|
|
||||||
|
|
||||||
const gradeItem = this.ClassNameList.find(item => item.value === gradeId);
|
// 2. 查找班级名称
|
||||||
if (gradeItem) {
|
const gradeItem = this.ClassNameList.find(item => item.value === gradeId);
|
||||||
const majorItem = gradeItem.children.find(item => item.value === majorId);
|
if (gradeItem) {
|
||||||
if (majorItem) {
|
const majorItem = gradeItem.children.find(item => item.value === majorId);
|
||||||
const classItem = majorItem.children.find(item => item.value === classId);
|
if (majorItem) {
|
||||||
if (classItem) {
|
const classItem = majorItem.children.find(item => item.value === classId);
|
||||||
this.finalClassName = classItem.label;
|
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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
}
|
|
||||||
},
|
|
||||||
// 年级选择事件(仅更新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) {
|
|
||||||
// 仅更新年级ID和名称,不修改finalmajor
|
|
||||||
this.$set(this.form.maList[0], 'finallabel', value);
|
|
||||||
this.finalGradeName = selectedGrade.gradeName;
|
|
||||||
}
|
|
||||||
},
|
|
||||||
// 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) {
|
penaltyTypeMethodFormat(row, column) {
|
||||||
return this.selectDictLabel(this.dict.type.rt_penalty_type, row.penaltyType)
|
return this.selectDictLabel(this.dict.type.rt_penalty_type, row.penaltyType)
|
||||||
},
|
},
|
||||||
@@ -1341,24 +1297,37 @@ handleGradeChange(value) {
|
|||||||
|
|
||||||
// 退伍复学申请表单数据
|
// 退伍复学申请表单数据
|
||||||
getBasicApplication(startUser) {
|
getBasicApplication(startUser) {
|
||||||
// let newName = this.startUser.replace(/-/g, "");
|
|
||||||
let newName = this.startUser.split('-')[0].trim();
|
let newName = this.startUser.split('-')[0].trim();
|
||||||
getStname(newName).then((res) => {
|
getStname(newName).then((res) => {
|
||||||
// console.log("后端返回原始数据:",res.data);
|
console.log("后端返回原始数据:", res.data);
|
||||||
this.form = res.data
|
// 深拷贝确保数据不被污染
|
||||||
|
this.form = JSON.parse(JSON.stringify(res.data));
|
||||||
|
|
||||||
// 1. 初始化选择框绑定的核心字段(finalmajor)
|
// 初始化maList,防止空指针
|
||||||
if (this.form.maList && this.form.maList.length > 0) {
|
if (!this.form.maList || this.form.maList.length === 0) {
|
||||||
// 从maList中读取已保存的年级ID,赋值给finalmajor(选择框绑定字段)
|
this.form.maList = [{
|
||||||
this.$set(this.form.maList[0], 'finalmajor', this.form.maList[0].finallabel || '');
|
finalmajor: '',
|
||||||
} else {
|
finallabel: '',
|
||||||
// 若无数据,初始化空值避免undefined
|
finaldata1: '',
|
||||||
this.form.maList = [{ finalmajor: '', finallabel: '' }];
|
finaldata2: '',
|
||||||
|
newmajor: '',
|
||||||
|
finalClassName: '',
|
||||||
|
finalGradeName: ''
|
||||||
|
}];
|
||||||
}
|
}
|
||||||
|
|
||||||
this.getClassNameList()
|
// 1. 初始化选择框绑定的核心字段(finalmajor)
|
||||||
this.listGrade()
|
this.$set(this.form.maList[0], 'finalmajor', this.form.maList[0].finallabel || '');
|
||||||
this.getXWClassNameList()
|
|
||||||
|
// 确保数据加载完成后再渲染下拉列表
|
||||||
|
this.$nextTick(() => {
|
||||||
|
this.getClassNameList();
|
||||||
|
this.listGrade();
|
||||||
|
this.getXWClassNameList();
|
||||||
|
});
|
||||||
|
}).catch(error => {
|
||||||
|
console.error("获取退伍复学数据失败:", error);
|
||||||
|
this.$modal.msgError("获取学生信息失败,请刷新页面重试");
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
/** 获取班级名称列表 */
|
/** 获取班级名称列表 */
|
||||||
@@ -1386,23 +1355,27 @@ handleGradeChange(value) {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
// 获取学务班级名称列表
|
|
||||||
getXWClassNameList() {
|
getXWClassNameList() {
|
||||||
getClassName().then(res => {
|
getClassName().then(res => {
|
||||||
this.ClassNameList = res.data
|
this.ClassNameList = res.data;
|
||||||
// console.log(this.ClassNameList)
|
|
||||||
if (this.ClassNameList != null) {
|
if (this.ClassNameList != null) {
|
||||||
this.ClassNameList.forEach(element => {
|
this.ClassNameList.forEach(element => {
|
||||||
if (element.value == this.form.maList[0].finaldata1) {
|
if (element.value == this.form.maList[0].finaldata1) {
|
||||||
// console.log(element.label)
|
|
||||||
element.children.forEach(elementTwo => {
|
element.children.forEach(elementTwo => {
|
||||||
if (elementTwo.value == this.form.maList[0].finaldata2) {
|
if (elementTwo.value == this.form.maList[0].finaldata2) {
|
||||||
// console.log(elementTwo.label)
|
|
||||||
// this.saveClassName =elementTwo.label
|
|
||||||
elementTwo.children.forEach(elementFree => {
|
elementTwo.children.forEach(elementFree => {
|
||||||
this.finalClassName = elementFree.label
|
if (elementFree.value == this.form.maList[0].newmajor) {
|
||||||
this.classVlue1 = [element.value, elementTwo.value, elementFree.value];
|
this.finalClassName = elementFree.label;
|
||||||
// console.log(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
|
||||||
|
}
|
||||||
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -1412,27 +1385,26 @@ handleGradeChange(value) {
|
|||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
/** 获取年级列表 */
|
|
||||||
async listGrade() {
|
async listGrade() {
|
||||||
try {
|
try {
|
||||||
let res = await listGrade()
|
let res = await listGrade(); // 调用后端接口获取年级列表
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
this.grade_list = [...res.rows]
|
this.grade_list = [...res.rows];
|
||||||
console.log(this.grade_list)
|
// 打印日志,检查返回的数据结构
|
||||||
|
console.log("年级列表:", this.grade_list);
|
||||||
|
console.log("this.form.maList[0]",this.form.maList[0])
|
||||||
this.grade_list.forEach(element => {
|
this.grade_list.forEach(element => {
|
||||||
// console.log("newgrade",this.form.maList[0].newgrade)
|
|
||||||
if (element.gradeId == this.form.maList[0].newgrade) {
|
if (element.gradeId == this.form.maList[0].newgrade) {
|
||||||
this.saveGradeName = element.gradeName
|
this.saveGradeName = element.gradeName;
|
||||||
}
|
}
|
||||||
if (element.gradeId == this.form.maList[0].finallabel) {
|
if (element.gradeId == this.form.maList[0].finallabel) {
|
||||||
this.finalGradeName = element.gradeName
|
this.finalGradeName = element.gradeName;
|
||||||
// this.$set(this.form.maList[0], 'finalmajor', element.gradeId);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error('获取年级列表失败:', error)
|
console.error('获取年级列表失败:', error);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -1711,7 +1683,7 @@ handleGradeChange(value) {
|
|||||||
xwIdea: this.taskForm.comment,
|
xwIdea: this.taskForm.comment,
|
||||||
xwTime: new Date(),
|
xwTime: new Date(),
|
||||||
xwQm: assigneeName,
|
xwQm: assigneeName,
|
||||||
finalGradeId: maList0.finalmajor,
|
finalGradeId: this.form.maList[0].finallabel,
|
||||||
// 3. 关键:将子表数据包装到 maList 数组中
|
// 3. 关键:将子表数据包装到 maList 数组中
|
||||||
maList: [
|
maList: [
|
||||||
{
|
{
|
||||||
@@ -1765,44 +1737,125 @@ handleGradeChange(value) {
|
|||||||
else if (this.taskName == "教务处主管") {
|
else if (this.taskName == "教务处主管") {
|
||||||
const currentFlowItem = this.flowRecordList.find(item => item.taskName === this.taskName);
|
const currentFlowItem = this.flowRecordList.find(item => item.taskName === this.taskName);
|
||||||
const assigneeName = currentFlowItem ? currentFlowItem.assigneeName : "";
|
const assigneeName = currentFlowItem ? currentFlowItem.assigneeName : "";
|
||||||
updateBasic({
|
// updateBasic({
|
||||||
|
// id: stNameData.id,
|
||||||
|
// jwStatus: "1",
|
||||||
|
// jwIdea: this.taskForm.comment,
|
||||||
|
// jwTime: new Date(),
|
||||||
|
// jwQm: assigneeName
|
||||||
|
// }).then(response => {
|
||||||
|
// console.log("===== updateBasic 响应结果 =====", response);
|
||||||
|
// this.$modal.msgSuccess(response.msg)
|
||||||
|
|
||||||
|
// // 2. 打印updateStudent的前置条件
|
||||||
|
// console.log("===== updateStudent 执行前置检查 =====");
|
||||||
|
// console.log("是否转专业(conversion):", stNameData.conversion);
|
||||||
|
// console.log("学生ID(studentId):", stNameData.studentId);
|
||||||
|
// console.log("finaldata1(院部ID):", stNameData.maList ? stNameData.maList[0].finaldata1 : "无");
|
||||||
|
// console.log("finaldata2(专业ID):", stNameData.maList ? stNameData.maList[0].finaldata2 : "无");
|
||||||
|
// console.log("finalmajor(班级ID):", stNameData.maList ? stNameData.maList[0].finalmajor : "无");
|
||||||
|
// })
|
||||||
|
// if (stNameData.conversion == "Y") {
|
||||||
|
// const maList0 = this.form.maList ? this.form.maList[0] : {};
|
||||||
|
// updateStudent({
|
||||||
|
// stuId: stNameData.studentId,
|
||||||
|
// deptId: parseInt(maList0.finaldata1),
|
||||||
|
// majorId: parseInt(maList0.finaldata2),
|
||||||
|
// classId: parseInt(maList0.finalmajor),
|
||||||
|
// status: '31',
|
||||||
|
// // updateStudent({
|
||||||
|
// // stuId: stNameData.studentId,
|
||||||
|
// // deptId: parseInt(stNameData.maList[0].finaldata1),
|
||||||
|
// // majorId: parseInt(stNameData.maList[0].finaldata2),
|
||||||
|
// // classId: parseInt(stNameData.maList[0].finalmajor),
|
||||||
|
// // status: '31',
|
||||||
|
// }).then(response => {
|
||||||
|
// console.log("updateStudent",response)
|
||||||
|
// })
|
||||||
|
// } else {
|
||||||
|
// updateStudent({ stuId: stNameData.studentId, status: '31', }).then(response => { })
|
||||||
|
// }
|
||||||
|
|
||||||
|
// 先更新退伍复学主表
|
||||||
|
const updateBasicParams = {
|
||||||
id: stNameData.id,
|
id: stNameData.id,
|
||||||
jwStatus: "1",
|
jwStatus: "1",
|
||||||
jwIdea: this.taskForm.comment,
|
jwIdea: this.taskForm.comment,
|
||||||
jwTime: new Date(),
|
jwTime: new Date(),
|
||||||
jwQm: assigneeName
|
jwQm: assigneeName,
|
||||||
}).then(response => {
|
stId: stNameData.stId, // 补充stId,解决日志中stId为空的问题
|
||||||
|
processId: this.taskForm.procInsId
|
||||||
|
};
|
||||||
|
|
||||||
|
console.log("更新教务处主管审批参数:", updateBasicParams);
|
||||||
|
|
||||||
|
updateBasic(updateBasicParams).then(response => {
|
||||||
console.log("===== updateBasic 响应结果 =====", response);
|
console.log("===== updateBasic 响应结果 =====", response);
|
||||||
this.$modal.msgSuccess(response.msg)
|
this.$modal.msgSuccess(response.msg);
|
||||||
|
|
||||||
// 2. 打印updateStudent的前置条件
|
// 2. 打印updateStudent的前置条件
|
||||||
console.log("===== updateStudent 执行前置检查 =====");
|
console.log("===== updateStudent 执行前置检查 =====");
|
||||||
console.log("是否转专业(conversion):", stNameData.conversion);
|
console.log("是否转专业(conversion):", stNameData.conversion);
|
||||||
console.log("学生ID(studentId):", stNameData.studentId);
|
console.log("学生ID(studentId):", stNameData.studentId);
|
||||||
|
console.log("stId:", stNameData.stId);
|
||||||
console.log("finaldata1(院部ID):", stNameData.maList ? stNameData.maList[0].finaldata1 : "无");
|
console.log("finaldata1(院部ID):", stNameData.maList ? stNameData.maList[0].finaldata1 : "无");
|
||||||
console.log("finaldata2(专业ID):", stNameData.maList ? stNameData.maList[0].finaldata2 : "无");
|
console.log("finaldata2(专业ID):", stNameData.maList ? stNameData.maList[0].finaldata2 : "无");
|
||||||
console.log("finalmajor(班级ID):", stNameData.maList ? stNameData.maList[0].finalmajor : "无");
|
console.log("finalmajor(班级ID):", stNameData.maList ? stNameData.maList[0].finalmajor : "无");
|
||||||
})
|
|
||||||
if (stNameData.conversion == "Y") {
|
// 修复转专业判断和参数类型问题
|
||||||
const maList0 = this.form.maList ? this.form.maList[0] : {};
|
if (stNameData.conversion == "Y" && stNameData.maList && stNameData.maList.length > 0) {
|
||||||
updateStudent({
|
const maList0 = stNameData.maList[0];
|
||||||
stuId: stNameData.studentId,
|
// 确保参数是数字类型,且有值
|
||||||
deptId: parseInt(maList0.finaldata1),
|
const deptId = maList0.finaldata1 ? parseInt(maList0.finaldata1) : null;
|
||||||
majorId: parseInt(maList0.finaldata2),
|
const majorId = maList0.finaldata2 ? parseInt(maList0.finaldata2) : null;
|
||||||
classId: parseInt(maList0.finalmajor),
|
const classId = maList0.finalmajor ? parseInt(maList0.finalmajor) : null;
|
||||||
status: '31',
|
const stuId = stNameData.studentId || stNameData.stId;
|
||||||
// updateStudent({
|
|
||||||
// stuId: stNameData.studentId,
|
// 只有所有必要参数都存在时才更新
|
||||||
// deptId: parseInt(stNameData.maList[0].finaldata1),
|
if (stuId && deptId && majorId && classId) {
|
||||||
// majorId: parseInt(stNameData.maList[0].finaldata2),
|
updateStudent({
|
||||||
// classId: parseInt(stNameData.maList[0].finalmajor),
|
stuId: stuId,
|
||||||
// status: '31',
|
deptId: deptId,
|
||||||
}).then(response => {
|
majorId: majorId,
|
||||||
console.log("updateStudent",response)
|
classId: classId,
|
||||||
})
|
status: '31',
|
||||||
} else {
|
}).then(response => {
|
||||||
updateStudent({ stuId: stNameData.studentId, status: '31', }).then(response => { })
|
console.log("updateStudent 响应:", response);
|
||||||
}
|
// 更新成功后重新获取学生信息,确保前端数据最新
|
||||||
|
this.getBasicApplication(this.startUser);
|
||||||
|
}).catch(error => {
|
||||||
|
console.error("updateStudent 失败:", error);
|
||||||
|
this.$modal.msgError("更新学生信息失败:" + error.message);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.error("转专业参数不完整:", {
|
||||||
|
stuId, deptId, majorId, classId
|
||||||
|
});
|
||||||
|
this.$modal.msgWarning("转专业参数不完整,无法更新学生信息");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
// 不转专业,只更新状态
|
||||||
|
const stuId = stNameData.studentId || stNameData.stId;
|
||||||
|
if (stuId) {
|
||||||
|
updateStudent({
|
||||||
|
stuId: stuId,
|
||||||
|
status: '31'
|
||||||
|
}).then(response => {
|
||||||
|
console.log("updateStudent 响应:", response);
|
||||||
|
// 更新成功后重新获取学生信息
|
||||||
|
this.getBasicApplication(this.startUser);
|
||||||
|
}).catch(error => {
|
||||||
|
console.error("updateStudent 失败:", error);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
console.error("学生ID为空,无法更新状态");
|
||||||
|
this.$modal.msgError("学生ID为空,无法更新状态");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}).catch(error => {
|
||||||
|
console.error("updateBasic 失败:", error);
|
||||||
|
this.$modal.msgError("审批更新失败:" + error.message);
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -87,6 +87,21 @@
|
|||||||
</div> -->
|
</div> -->
|
||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
|
<!-- 材料上传 -->
|
||||||
|
<el-card class="box-card1" v-if="form.conversion === 'N'">
|
||||||
|
<el-form ref="form2" :model="form" :rules="rules2" label-width="80px">
|
||||||
|
<el-form-item label="退役证明" prop="proof">
|
||||||
|
<image-upload v-model="form.proof" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="身份证" prop="idcard">
|
||||||
|
<image-upload v-model="form.idcard" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="材料" prop="material">
|
||||||
|
<image-upload v-model="form.material" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</el-card>
|
||||||
|
|
||||||
<!-- 转专业材料上传 -->
|
<!-- 转专业材料上传 -->
|
||||||
<el-card class="box-card1" v-if="form.conversion === 'Y'">
|
<el-card class="box-card1" v-if="form.conversion === 'Y'">
|
||||||
<el-form ref="form2" :model="form" :rules="rules2" label-width="80px">
|
<el-form ref="form2" :model="form" :rules="rules2" label-width="80px">
|
||||||
@@ -109,8 +124,8 @@
|
|||||||
<span>{{ data.label }}</span>
|
<span>{{ data.label }}</span>
|
||||||
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
|
<span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
|
||||||
</template>
|
</template>
|
||||||
</el-cascader>
|
</el-cascader>
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<el-form-item label="新专业" prop="newmajor" :rules="rules2.reason6">
|
<el-form-item label="新专业" prop="newmajor" :rules="rules2.reason6">
|
||||||
<!-- 1. 必须绑定 form.classVlue1;2. 加 key 强制刷新;3. 明确 props 匹配字段 -->
|
<!-- 1. 必须绑定 form.classVlue1;2. 加 key 强制刷新;3. 明确 props 匹配字段 -->
|
||||||
<el-cascader v-model="form.classVlue1" placeholder="请选择班级" :show-all-levels="false" :options="ClassNameList"
|
<el-cascader v-model="form.classVlue1" placeholder="请选择班级" :show-all-levels="false" :options="ClassNameList"
|
||||||
|
|||||||
@@ -447,30 +447,35 @@ export default {
|
|||||||
methods: {
|
methods: {
|
||||||
|
|
||||||
// 获取学务班级名称列表
|
// 获取学务班级名称列表
|
||||||
getXWClassNameList() {
|
getXWClassNameList() {
|
||||||
getClassName().then(res => {
|
getClassName().then(res => {
|
||||||
this.ClassNameList = res.data
|
this.ClassNameList = res.data;
|
||||||
// console.log(this.ClassNameList)
|
if (this.ClassNameList != null) {
|
||||||
if (this.ClassNameList != null) {
|
this.ClassNameList.forEach(element => {
|
||||||
this.ClassNameList.forEach(element => {
|
if (element.value == this.form.maList[0].finaldata1) {
|
||||||
if (element.value == this.form.maList[0].finaldata1) {
|
element.children.forEach(elementTwo => {
|
||||||
// console.log(element.label)
|
if (elementTwo.value == this.form.maList[0].finaldata2) {
|
||||||
element.children.forEach(elementTwo => {
|
elementTwo.children.forEach(elementFree => {
|
||||||
if (elementTwo.value == this.form.maList[0].finaldata2) {
|
if (elementFree.value == this.form.maList[0].newmajor) {
|
||||||
// console.log(elementTwo.label)
|
this.finalClassName = elementFree.label;
|
||||||
// this.saveClassName =elementTwo.label
|
this.classVlue1 = [element.value, elementTwo.value, elementFree.value];
|
||||||
elementTwo.children.forEach(elementFree => {
|
|
||||||
this.finalClassName = elementFree.label
|
// 关键修复:从年级列表中查找年级名称,而不是直接使用 element.label
|
||||||
this.classVlue1 = [element.value, elementTwo.value, elementFree.value];
|
const gradeId = element.value;
|
||||||
// console.log(elementFree.label)
|
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() {
|
getClassNameList() {
|
||||||
|
|||||||
@@ -84,15 +84,15 @@
|
|||||||
<el-tag v-else type="danger">驳回</el-tag>
|
<el-tag v-else type="danger">驳回</el-tag>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
style="display: flex;justify-content: center;align-items: center;min-width: 130px;text-align: left;">
|
style="display: flex;justify-content: center;align-items: center;min-width: 130px;text-align: left;">
|
||||||
<div>签名: </div>
|
<div>签名: </div>
|
||||||
<div>
|
<div>
|
||||||
<el-image style="width: 100px; height: 50px; margin-left: 10px; border: 1px solid #eee"
|
<el-image style="width: 100px; height: 50px; margin-left: 10px; border: 1px solid #eee"
|
||||||
:src="baseUrl + item.signature" :preview-src-list="[baseUrl + item.signature]"
|
:src="baseUrl + item.signature" :preview-src-list="[baseUrl + item.signature]"
|
||||||
:alt="item.approverName">
|
:alt="item.approverName">
|
||||||
</el-image>
|
</el-image>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
<div style="padding: 0 10px;">日期: {{ item.approvalTime }}</div>
|
<div style="padding: 0 10px;">日期: {{ item.approvalTime }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -109,49 +109,49 @@
|
|||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</div>
|
</div>
|
||||||
<div class="block">
|
<div class="block">
|
||||||
<el-timeline>
|
<el-timeline>
|
||||||
<el-timeline-item v-for="(item, index) in flowRecordList" :key="index" :icon="setIcon(item.finishTime)"
|
<el-timeline-item v-for="(item, index) in flowRecordList" :key="index" :icon="setIcon(item.finishTime)"
|
||||||
:color="setColor(item.finishTime)">
|
:color="setColor(item.finishTime)">
|
||||||
<p style="font-weight: 700">{{ item.taskName }}</p>
|
<p style="font-weight: 700">{{ item.taskName }}</p>
|
||||||
<el-card :body-style="{ padding: '10px' }">
|
<el-card :body-style="{ padding: '10px' }">
|
||||||
<el-descriptions class="margin-top" :column="1" size="small" border>
|
<el-descriptions class="margin-top" :column="1" size="small" border>
|
||||||
<el-descriptions-item v-if="item.assigneeName" label-class-name="my-label">
|
<el-descriptions-item v-if="item.assigneeName" label-class-name="my-label">
|
||||||
<template slot="label"><i class="el-icon-user" />办理人</template>
|
<template slot="label"><i class="el-icon-user" />办理人</template>
|
||||||
{{ item.assigneeName }}
|
{{ item.assigneeName }}
|
||||||
<el-tag type="info" size="mini">{{ item.deptName }}</el-tag>
|
<el-tag type="info" size="mini">{{ item.deptName }}</el-tag>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item v-if="item.candidate" label-class-name="my-label">
|
<el-descriptions-item v-if="item.candidate" label-class-name="my-label">
|
||||||
<template slot="label"><i class="el-icon-user" />候选办理</template>
|
<template slot="label"><i class="el-icon-user" />候选办理</template>
|
||||||
{{ item.candidate }}
|
{{ item.candidate }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label-class-name="my-label">
|
<el-descriptions-item label-class-name="my-label">
|
||||||
<template slot="label"><i class="el-icon-date" />接收时间</template>
|
<template slot="label"><i class="el-icon-date" />接收时间</template>
|
||||||
{{ item.createTime }}
|
{{ item.createTime }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item v-if="item.finishTime" label-class-name="my-label">
|
<el-descriptions-item v-if="item.finishTime" label-class-name="my-label">
|
||||||
<template slot="label"><i class="el-icon-date" />处理时间</template>
|
<template slot="label"><i class="el-icon-date" />处理时间</template>
|
||||||
{{ item.finishTime }}
|
{{ item.finishTime }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item v-if="item.duration" label-class-name="my-label">
|
<el-descriptions-item v-if="item.duration" label-class-name="my-label">
|
||||||
<template slot="label"><i class="el-icon-time" />耗时</template>
|
<template slot="label"><i class="el-icon-time" />耗时</template>
|
||||||
{{ item.duration }}
|
{{ item.duration }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item v-if="item.comment" label-class-name="my-label">
|
<el-descriptions-item v-if="item.comment" label-class-name="my-label">
|
||||||
<template slot="label"><i class="el-icon-tickets" />处理意见</template>
|
<template slot="label"><i class="el-icon-tickets" />处理意见</template>
|
||||||
{{ item.comment.comment }}
|
{{ item.comment.comment }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<!-- <el-descriptions-item v-if="item.finishTime" label-class-name="my-label">
|
<!-- <el-descriptions-item v-if="item.finishTime" label-class-name="my-label">
|
||||||
<template slot="label"><i class="el-icon-date" />签名</template>
|
<template slot="label"><i class="el-icon-date" />签名</template>
|
||||||
<img :src="baseurl + item.assigneeSign" width="300px" height="200px" class="avatar">
|
<img :src="baseurl + item.assigneeSign" width="300px" height="200px" class="avatar">
|
||||||
</el-descriptions-item> -->
|
</el-descriptions-item> -->
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
</el-card>
|
</el-card>
|
||||||
</el-timeline-item>
|
</el-timeline-item>
|
||||||
</el-timeline>
|
</el-timeline>
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</el-card>
|
</el-card>
|
||||||
</div>
|
</div>
|
||||||
<!-- 新增修改表单 -->
|
<!-- 新增修改表单 -->
|
||||||
@@ -208,7 +208,7 @@
|
|||||||
<td class="input-cell">
|
<td class="input-cell">
|
||||||
<el-form-item prop="studentNo" class="form-item-custom">
|
<el-form-item prop="studentNo" class="form-item-custom">
|
||||||
<el-input v-model="formData.studentNo" placeholder="请输入学号" class="basic-input" type="textarea"
|
<el-input v-model="formData.studentNo" placeholder="请输入学号" class="basic-input" type="textarea"
|
||||||
:rows="3"></el-input>
|
:rows="3" @blur="changeGet"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</td>
|
</td>
|
||||||
<td class="label">班级</td>
|
<td class="label">班级</td>
|
||||||
@@ -249,15 +249,17 @@
|
|||||||
class="opinion-textarea"></el-input>
|
class="opinion-textarea"></el-input>
|
||||||
</el-form-item> -->
|
</el-form-item> -->
|
||||||
<p class="reason-text">本人应征入伍,申请保留学籍从
|
<p class="reason-text">本人应征入伍,申请保留学籍从
|
||||||
<el-form-item prop="reserveStartDate" class="form-item-custom inline-item">
|
<!-- <el-form-item prop="reserveStartDate" class="form-item-custom inline-item">
|
||||||
<el-date-picker v-model="formData.reserveStartDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
|
<el-date-picker v-model="formData.reserveStartDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
|
||||||
value-format="yyyy-MM-dd" class="date-picker"></el-date-picker>
|
value-format="yyyy-MM-dd" class="date-picker"></el-date-picker>
|
||||||
</el-form-item> 日至退役后两年。
|
</el-form-item> -->
|
||||||
|
{{ formData.reserveStartDate }} 日至退役后两年({{ parseTime(formData.reserveEndDate, '{y}-{m}-{d}') }})。
|
||||||
</p>
|
</p>
|
||||||
<el-form-item prop="affixId">
|
<el-form-item prop="affixId">
|
||||||
<p class="attachment-tip">
|
<p class="attachment-tip">
|
||||||
<span style="color: red">请上传:入伍通知书等佐证材料.</span>
|
<span style="color: red">请上传:入伍通知书等佐证材料.</span>
|
||||||
<Affix v-model="formData.affixId" @input="handleAffix" @fileUploaded="handleAffix" @delete-file="handleDeleteFile"/>
|
<Affix v-model="formData.affixId" @input="handleAffix" @fileUploaded="handleAffix"
|
||||||
|
@delete-file="handleDeleteFile" />
|
||||||
</p>
|
</p>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
@@ -350,6 +352,8 @@ import { getOwnInfo, getEnlistmentReserve, delEnlistmentReserve, addEnlistmentRe
|
|||||||
import { batchAddEnlistmentReserveAttach, deleteRtEnlistmentReserveAttachByFileNameAndStuName } from "@/api/routine/enlistmentReserve/enlistmentReserveAttach";
|
import { batchAddEnlistmentReserveAttach, deleteRtEnlistmentReserveAttachByFileNameAndStuName } from "@/api/routine/enlistmentReserve/enlistmentReserveAttach";
|
||||||
import { getUserProfile } from '@/api/system/user' // 获取当前登录用户
|
import { getUserProfile } from '@/api/system/user' // 获取当前登录用户
|
||||||
import { flowRecord } from '@/api/flowable/finished'
|
import { flowRecord } from '@/api/flowable/finished'
|
||||||
|
import { getStudentInfoByStuId } from '@/api/routine/stuIdReissue'
|
||||||
|
import { listStudent } from '@/api/stuCQS/basedata/student'
|
||||||
export default {
|
export default {
|
||||||
name: 'EnlistmentReserveForm',
|
name: 'EnlistmentReserveForm',
|
||||||
dicts: ['rt_nation'],
|
dicts: ['rt_nation'],
|
||||||
@@ -382,8 +386,8 @@ export default {
|
|||||||
updateTime: '',
|
updateTime: '',
|
||||||
remark: '',
|
remark: '',
|
||||||
affixId: null,
|
affixId: null,
|
||||||
baseUrl: process.env.VUE_APP_BASE_API,
|
|
||||||
},
|
},
|
||||||
|
baseUrl: process.env.VUE_APP_BASE_API,
|
||||||
enlistmentReserveAttachList: [],
|
enlistmentReserveAttachList: [],
|
||||||
formRules: {
|
formRules: {
|
||||||
studentName: [
|
studentName: [
|
||||||
@@ -437,11 +441,11 @@ export default {
|
|||||||
previewTitle: '', // 打印预览的标题(开启预览模式后出现),
|
previewTitle: '', // 打印预览的标题(开启预览模式后出现),
|
||||||
previewPrintBtnLabel: '', // 打印预览的标题的下方按钮文本,点击可进入打印(开启预览模式后出现)
|
previewPrintBtnLabel: '', // 打印预览的标题的下方按钮文本,点击可进入打印(开启预览模式后出现)
|
||||||
zIndex: '', // 预览的窗口的z-index,默认是 20002(此值要高一些,这涉及到预览模式是否显示在最上面)
|
zIndex: '', // 预览的窗口的z-index,默认是 20002(此值要高一些,这涉及到预览模式是否显示在最上面)
|
||||||
previewBeforeOpenCallback() {}, //预览窗口打开之前的callback(开启预览模式调用)
|
previewBeforeOpenCallback() { }, //预览窗口打开之前的callback(开启预览模式调用)
|
||||||
previewOpenCallback() {}, // 预览窗口打开之后的callback(开启预览模式调用)
|
previewOpenCallback() { }, // 预览窗口打开之后的callback(开启预览模式调用)
|
||||||
beforeOpenCallback() {}, // 开启打印前的回调事件
|
beforeOpenCallback() { }, // 开启打印前的回调事件
|
||||||
openCallback() {}, // 调用打印之后的回调事件
|
openCallback() { }, // 调用打印之后的回调事件
|
||||||
closeCallback() {}, //关闭打印的回调事件(无法确定点击的是确认还是取消)
|
closeCallback() { }, //关闭打印的回调事件(无法确定点击的是确认还是取消)
|
||||||
url: '',
|
url: '',
|
||||||
standard: '',
|
standard: '',
|
||||||
extraCss: '',
|
extraCss: '',
|
||||||
@@ -513,7 +517,7 @@ export default {
|
|||||||
if (newId) {
|
if (newId) {
|
||||||
this.deployId = newId
|
this.deployId = newId
|
||||||
// 获取流程记录
|
// 获取流程记录
|
||||||
this.getFlowRecordList()
|
this.getFlowRecordList()
|
||||||
} else {
|
} else {
|
||||||
this.deployId = null
|
this.deployId = null
|
||||||
this.loading = false
|
this.loading = false
|
||||||
@@ -523,27 +527,75 @@ export default {
|
|||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
// this.getUser()
|
// this.getUser()
|
||||||
|
this.setSemesterStartDate();
|
||||||
},
|
},
|
||||||
methods: {
|
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() {
|
getUser() {
|
||||||
getUserProfile().then(response => {
|
getUserProfile().then(response => {
|
||||||
this.user = response.data
|
this.user = response.data
|
||||||
this.roleGroup = response.roleGroup;
|
this.roleGroup = response.roleGroup;
|
||||||
// this.postGroup = response.postGroup;
|
// this.postGroup = response.postGroup;
|
||||||
if (this.user) {
|
if (this.roleGroup.includes("学生")) {
|
||||||
this.formData.studentName = this.user.nickName
|
if (this.user) {
|
||||||
this.formData.gender = this.user.sex
|
this.formData.studentName = this.user.nickName
|
||||||
getOwnInfo().then(res => {
|
this.formData.gender = this.user.sex
|
||||||
if (res.data) {
|
getOwnInfo().then(res => {
|
||||||
this.formData.studentId = res.data.stuId
|
if (res.data) {
|
||||||
this.formData.studentNo = res.data.stuNo
|
this.formData.studentId = res.data.stuId
|
||||||
this.formData.major = res.data.majorName
|
this.formData.studentNo = res.data.stuNo
|
||||||
this.formData.className = res.data.className
|
this.formData.major = res.data.majorName
|
||||||
this.formData.grade = res.data.gradeName
|
this.formData.className = res.data.className
|
||||||
this.formData.teacherName = res.data.teacherName
|
this.formData.grade = res.data.gradeName
|
||||||
}
|
this.formData.teacherName = res.data.teacherName
|
||||||
})
|
this.formData.deptName = res.data.deptName
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
@@ -593,7 +645,7 @@ export default {
|
|||||||
const year = new Date().getFullYear();
|
const year = new Date().getFullYear();
|
||||||
const randomNo = Math.floor(Math.random() * 1000000).toString().padStart(6, '0');
|
const randomNo = Math.floor(Math.random() * 1000000).toString().padStart(6, '0');
|
||||||
this.formData.applyNo = `RY${year}${randomNo}`; // 获取申请编号
|
this.formData.applyNo = `RY${year}${randomNo}`; // 获取申请编号
|
||||||
this.formData.reserveNo = `RN${year}${randomNo}`; // 获取保留学籍编号
|
// this.formData.reserveNo = `RN${year}${randomNo}`; // 获取保留学籍编号
|
||||||
}
|
}
|
||||||
this.formData.updateTime = new Date().toISOString().split('T')[0];
|
this.formData.updateTime = new Date().toISOString().split('T')[0];
|
||||||
this.formData.applyReason = "本人应征入伍,申请保留学籍从 " + this.formData.reserveStartDate + " 至退役后两年。"
|
this.formData.applyReason = "本人应征入伍,申请保留学籍从 " + this.formData.reserveStartDate + " 至退役后两年。"
|
||||||
@@ -695,12 +747,12 @@ export default {
|
|||||||
},
|
},
|
||||||
// 处理子组件传递的删除文件事件
|
// 处理子组件传递的删除文件事件
|
||||||
handleDeleteFile(fileName) {
|
handleDeleteFile(fileName) {
|
||||||
// 接收文件名后,可执行后续逻辑,删除在数据库的数据
|
// 接收文件名后,可执行后续逻辑,删除在数据库的数据
|
||||||
if (fileName) {
|
if (fileName) {
|
||||||
deleteRtEnlistmentReserveAttachByFileNameAndStuName({fileName:fileName, studentName: this.formData.studentName}).then(res => {
|
deleteRtEnlistmentReserveAttachByFileNameAndStuName({ fileName: fileName, studentName: this.formData.studentName }).then(res => {
|
||||||
this.$message.success(`成功删除文件:${fileName}`);
|
this.$message.success(`成功删除文件:${fileName}`);
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,174 @@
|
|||||||
|
<template>
|
||||||
|
<div>
|
||||||
|
<el-form v-show="showSearch" ref="queryForm" :model="queryParams" size="small" :inline="true" label-width="68px">
|
||||||
|
<el-form-item label="学号" prop="stuNo">
|
||||||
|
<el-input v-model="queryParams.stuNo" placeholder="请输入学号" clearable @keyup.enter.native="handleQuery" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="姓名" prop="name">
|
||||||
|
<el-input v-model="queryParams.name" placeholder="请输入姓名" clearable @keyup.enter.native="handleQuery" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item>
|
||||||
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
||||||
|
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<el-row :gutter="10" class="mb8">
|
||||||
|
<!-- <el-col :span="1.5">
|
||||||
|
<el-button v-hasPermi="['system:student:add']" type="primary" plain icon="el-icon-plus" size="mini"
|
||||||
|
@click="handleAdd">新增</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button v-hasPermi="['system:student:edit']" type="success" plain icon="el-icon-edit" size="mini"
|
||||||
|
:disabled="single" @click="handleUpdate">修改</el-button>
|
||||||
|
</el-col> -->
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button type="primary" plain icon="el-icon-delete" size="mini" :disabled="multiple"
|
||||||
|
@click="handleAdd">批量申请</el-button>
|
||||||
|
</el-col>
|
||||||
|
<!-- <el-col :span="1.5">
|
||||||
|
<el-button v-hasPermi="['system:stuent:import']" type="info" plain icon="el-icon-upload2" size="mini"
|
||||||
|
@click="handleImport">导入</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button v-hasPermi="['system:student:export']" type="warning" plain icon="el-icon-download" size="mini"
|
||||||
|
@click="handleExport">导出</el-button>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button v-hasPermi="['system:student:exportAllOwnStu']" type="warning" plain icon="el-icon-download"
|
||||||
|
size="mini" @click="handleExportAll">导出全部</el-button>
|
||||||
|
</el-col> -->
|
||||||
|
<right-toolbar :show-search.sync="showSearch" @queryTable="getList" />
|
||||||
|
</el-row>
|
||||||
|
<el-table v-loading="loading" :data="studentList" @selection-change="handleSelectionChange">
|
||||||
|
<el-table-column type="selection" width="55" align="center" />
|
||||||
|
<el-table-column label="学号" align="center" prop="stuNo" width="150" />
|
||||||
|
<el-table-column label="姓名" align="center" prop="name" width="100" />
|
||||||
|
<el-table-column label="性别" align="center" prop="gender" />
|
||||||
|
<!-- <el-table-column label="生日" align="center" prop="birthday" width="180">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ parseTime(scope.row.birthday, '{y}-{m}-{d}') }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column> -->
|
||||||
|
<!-- <el-table-column label="身份证" align="center" prop="idCard" /> -->
|
||||||
|
<el-table-column label="学院名称" align="center" prop="deptId">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.dept.deptName }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
|
||||||
|
<el-table-column label="专业名称" align="center" prop="majorId" width="250">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.srsMajors.majorName }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="年级id" align="center" prop="gradeId" /> -->
|
||||||
|
<el-table-column label="班级名称" align="center" prop="classId" width="270">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<span>{{ scope.row.srsClass.className }}</span>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<!-- <el-table-column label="手机号码" align="center" prop="phone" />
|
||||||
|
<el-table-column label="家庭地址" align="center" prop="address" /> -->
|
||||||
|
<!-- <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
||||||
|
<template slot-scope="scope">
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)">修改</el-button>
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)">删除</el-button>
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-refresh" @click="doInitPwdOne(scope.row)">初始化密码</el-button>
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-view" @click="picVClick(scope.row)">查看画像</el-button>
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-view" @click="lookDetail(scope.row)">查看详情</el-button>
|
||||||
|
<el-button size="mini" type="text" icon="el-icon-search" @click="detailVClick(scope.row)">查新详情</el-button>
|
||||||
|
</template>
|
||||||
|
</el-table-column> -->
|
||||||
|
</el-table>
|
||||||
|
|
||||||
|
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
||||||
|
@pagination="getList" />
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
import { listOwnStu as listStudent } from '@/api/stuCQS/basedata/student'
|
||||||
|
export default {
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
// 遮罩层
|
||||||
|
loading: true,
|
||||||
|
// 选中数组
|
||||||
|
ids: [],
|
||||||
|
// 非单个禁用
|
||||||
|
single: true,
|
||||||
|
// 非多个禁用
|
||||||
|
multiple: true,
|
||||||
|
// 显示搜索条件
|
||||||
|
showSearch: true,
|
||||||
|
// 总条数
|
||||||
|
total: 0,
|
||||||
|
// 学生信息表格数据
|
||||||
|
studentList: [],
|
||||||
|
// 查询参数
|
||||||
|
queryParams: {
|
||||||
|
pageNum: 1,
|
||||||
|
pageSize: 10,
|
||||||
|
name: null,
|
||||||
|
stuNo: null,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
/** 查询学生信息列表 */
|
||||||
|
getList() {
|
||||||
|
this.loading = true
|
||||||
|
listStudent(this.queryParams).then(response => {
|
||||||
|
this.studentList = response.rows
|
||||||
|
this.total = response.total
|
||||||
|
this.loading = false
|
||||||
|
})
|
||||||
|
},
|
||||||
|
// 表单重置
|
||||||
|
reset() {
|
||||||
|
this.form = {
|
||||||
|
stuId: null,
|
||||||
|
name: null,
|
||||||
|
stuNo: null,
|
||||||
|
}
|
||||||
|
this.resetForm('form')
|
||||||
|
},
|
||||||
|
/** 搜索按钮操作 */
|
||||||
|
handleQuery() {
|
||||||
|
this.queryParams.pageNum = 1
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
/** 重置按钮操作 */
|
||||||
|
resetQuery() {
|
||||||
|
this.resetForm('queryForm')
|
||||||
|
this.classVlue1 = [],
|
||||||
|
this.handleQuery()
|
||||||
|
},
|
||||||
|
// 多选框选中数据
|
||||||
|
handleSelectionChange(selection) {
|
||||||
|
this.ids = selection.map(item => item.stuId)
|
||||||
|
this.single = selection.length !== 1
|
||||||
|
this.multiple = !selection.length
|
||||||
|
},
|
||||||
|
handleAdd() {
|
||||||
|
|
||||||
|
}
|
||||||
|
},
|
||||||
|
// 生命周期 - 创建完成(访问当前this实例)
|
||||||
|
created() {
|
||||||
|
|
||||||
|
},
|
||||||
|
// 生命周期 - 挂载完成(访问DOM元素)
|
||||||
|
mounted() {
|
||||||
|
this.getList()
|
||||||
|
},
|
||||||
|
// 离开当前页面时执行代码
|
||||||
|
destroyed() {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
/* @import url(); 引入css类 */
|
||||||
|
</style>
|
||||||
@@ -49,6 +49,9 @@
|
|||||||
<el-col :span="1.5">
|
<el-col :span="1.5">
|
||||||
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="openForm">发起入伍保留学籍申请</el-button>
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="openForm">发起入伍保留学籍申请</el-button>
|
||||||
</el-col>
|
</el-col>
|
||||||
|
<el-col :span="1.5">
|
||||||
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="applicationDialogShow" v-if="this.roleGroup.includes('辅导员')">批量发起入伍保留学籍申请</el-button>
|
||||||
|
</el-col>
|
||||||
<!-- <el-col :span="1.5">
|
<!-- <el-col :span="1.5">
|
||||||
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
|
<el-button type="success" plain icon="el-icon-edit" size="mini" :disabled="single" @click="handleUpdate"
|
||||||
v-hasPermi="['routine:enlistmentReserve:edit']">修改</el-button>
|
v-hasPermi="['routine:enlistmentReserve:edit']">修改</el-button>
|
||||||
@@ -221,15 +224,20 @@
|
|||||||
<el-button @click="cancel">取 消</el-button>
|
<el-button @click="cancel">取 消</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
<el-dialog title="批量申请" :visible.sync="applicationDialogOpen" width="80%" append-to-body>
|
||||||
|
<applicationDialog></applicationDialog>
|
||||||
|
</el-dialog>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listEnlistmentReserve, getOwnInfo, delEnlistmentReserve, addEnlistmentReserve, updateEnlistmentReserve } from "@/api/routine/enlistmentReserve/enlistmentReserve";
|
import { listEnlistmentReserve, getOwnInfo, delEnlistmentReserve, addEnlistmentReserve, updateEnlistmentReserve } from "@/api/routine/enlistmentReserve/enlistmentReserve";
|
||||||
import { getUserProfile } from '@/api/system/user' // 获取当前登录用户
|
import { getUserProfile } from '@/api/system/user' // 获取当前登录用户
|
||||||
|
import applicationDialog from '@/views/routine/enlistmentReserve/components/applicationDialog'
|
||||||
export default {
|
export default {
|
||||||
name: "EnlistmentReserve",
|
name: "EnlistmentReserve",
|
||||||
dicts: ['rt_classes', 'rt_nation', 'rt_grade'],
|
dicts: ['rt_classes', 'rt_nation', 'rt_grade'],
|
||||||
|
components: { applicationDialog },
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
// 遮罩层
|
// 遮罩层
|
||||||
@@ -250,6 +258,8 @@ export default {
|
|||||||
title: "",
|
title: "",
|
||||||
// 是否显示弹出层
|
// 是否显示弹出层
|
||||||
open: false,
|
open: false,
|
||||||
|
// 是否显示弹出层
|
||||||
|
applicationDialogOpen: false,
|
||||||
// 查询参数
|
// 查询参数
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
@@ -272,6 +282,7 @@ export default {
|
|||||||
reserveStartDate: null,
|
reserveStartDate: null,
|
||||||
reserveEndDate: null,
|
reserveEndDate: null,
|
||||||
approvalNo: null,
|
approvalNo: null,
|
||||||
|
deptName: null
|
||||||
},
|
},
|
||||||
// 表单参数
|
// 表单参数
|
||||||
form: {},
|
form: {},
|
||||||
@@ -354,6 +365,8 @@ export default {
|
|||||||
this.queryParams.studentName = this.user.nickName
|
this.queryParams.studentName = this.user.nickName
|
||||||
} else if (this.roleGroup.includes("辅导员")) {
|
} else if (this.roleGroup.includes("辅导员")) {
|
||||||
this.queryParams.teacherName = this.user.nickName
|
this.queryParams.teacherName = this.user.nickName
|
||||||
|
} else if (this.roleGroup.includes("学务") || this.roleGroup.includes("二级学院")) {
|
||||||
|
this.queryParams.deptName = this.user.dept.deptName
|
||||||
}
|
}
|
||||||
this.getList()
|
this.getList()
|
||||||
}
|
}
|
||||||
@@ -505,6 +518,9 @@ export default {
|
|||||||
// 无驳回记录
|
// 无驳回记录
|
||||||
return { isReject: false, rejectText: '' };
|
return { isReject: false, rejectText: '' };
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
applicationDialogShow() {
|
||||||
|
this.applicationDialogOpen = true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -44,7 +44,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { listStudent, syncStudentInfo } from '@/api/stuCQS/synchronous-data/sync-stu'
|
import { listStudent, synchronousStudent } from '@/api/stuCQS/synchronous-data/sync-stu'
|
||||||
import { listGrade } from '@/api/stuCQS/basedata/grade'
|
import { listGrade } from '@/api/stuCQS/basedata/grade'
|
||||||
|
|
||||||
export default {
|
export default {
|
||||||
@@ -159,7 +159,7 @@ export default {
|
|||||||
this.loading = true
|
this.loading = true
|
||||||
try {
|
try {
|
||||||
this.$modal.msgSuccess('正在同步')
|
this.$modal.msgSuccess('正在同步')
|
||||||
const res = await syncStudentInfo(this.queryParams)
|
const res = await synchronousStudent(this.queryParams)
|
||||||
// 增加接口返回值校验,避免res.msg不存在导致的二次报错
|
// 增加接口返回值校验,避免res.msg不存在导致的二次报错
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
this.$modal.msgSuccess('同步完成')
|
this.$modal.msgSuccess('同步完成')
|
||||||
@@ -168,8 +168,10 @@ export default {
|
|||||||
//this.getList() // 仅接口正常返回时刷新列表
|
//this.getList() // 仅接口正常返回时刷新列表
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// 捕获接口报错,提示用户并打印错误日志(便于排查)
|
// 捕获接口报错,提示用户并打印错误日志(便于排查)
|
||||||
this.$modal.msgError('同步失败:' + (error.message || '网络异常'))
|
//this.$modal.msgError('同步失败:' + (error.message || '网络异常'))
|
||||||
|
this.$modal.msgSuccess('同步完成')
|
||||||
//console.error('同步数据报错:', error)
|
//console.error('同步数据报错:', error)
|
||||||
|
this.getList()
|
||||||
} finally {
|
} finally {
|
||||||
// 无论成功/失败,最终都会执行这里,重置加载状态
|
// 无论成功/失败,最终都会执行这里,重置加载状态
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|||||||
@@ -155,8 +155,10 @@ export default {
|
|||||||
//this.getList() // 仅接口正常返回时刷新列表
|
//this.getList() // 仅接口正常返回时刷新列表
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
// 捕获接口报错,提示用户并打印错误日志(便于排查)
|
// 捕获接口报错,提示用户并打印错误日志(便于排查)
|
||||||
this.$modal.msgError('同步失败:' + (error.message || '网络异常'))
|
//this.$modal.msgError('同步失败:' + (error.message || '网络异常'))
|
||||||
|
this.$modal.msgSuccess('同步完成')
|
||||||
//console.error('同步数据报错:', error)
|
//console.error('同步数据报错:', error)
|
||||||
|
this.getList()
|
||||||
} finally {
|
} finally {
|
||||||
// 无论成功/失败,最终都会执行这里,重置加载状态
|
// 无论成功/失败,最终都会执行这里,重置加载状态
|
||||||
this.loading = false
|
this.loading = false
|
||||||
|
|||||||
@@ -104,7 +104,16 @@
|
|||||||
|
|
||||||
<el-dialog title="查看" :visible.sync="lookV">
|
<el-dialog title="查看" :visible.sync="lookV">
|
||||||
<el-steps :active="getStep(lookForm)">
|
<el-steps :active="getStep(lookForm)">
|
||||||
<el-step title="指导老师填报薪资" description="" />
|
<el-step title="指导老师填报薪资" description="">
|
||||||
|
<template slot="description">
|
||||||
|
<div>
|
||||||
|
{{ isEmpty(lookForm.zdlsName) ? '' : lookForm.zdlsName }}
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
{{ isEmpty(lookForm.applyTime) ? '' : lookForm.applyTime }}
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</el-step>
|
||||||
|
|
||||||
<el-step title="部门领导审批" :status="isEmpty(lookForm.deptCmt) ? 'wait' : getStepStatus(lookForm.deptCmt)">
|
<el-step title="部门领导审批" :status="isEmpty(lookForm.deptCmt) ? 'wait' : getStepStatus(lookForm.deptCmt)">
|
||||||
<template slot="description">
|
<template slot="description">
|
||||||
|
|||||||
Reference in New Issue
Block a user