This commit is contained in:
2025-12-03 09:58:31 +08:00
14 changed files with 1166 additions and 61 deletions

View File

@@ -439,7 +439,7 @@
<!--流程流转记录-->
<el-tab-pane label="流转记录" name="2">
<!--flowRecordList-->
<el-col :span="16" :offset="4">
<el-col :span="16" :offset="4" v-loading="loading" style="min-height: 500px;">
<div class="block">
<el-timeline>
<el-timeline-item v-for="(item, index) in flowRecordList" :key="index" :icon="setIcon(item.finishTime)" :color="setColor(item.finishTime)">
@@ -660,7 +660,10 @@ import { checkRole } from '@/utils/permission' // 权限判断函数
import flow from '@/views/flowable/task/todo/detail/flow'
import '@riophae/vue-treeselect/dist/vue-treeselect.css'
import pdf from 'vue-pdf'
import { getEnlistmentReserveByProcessInstanceId} from "@/api/routine/enlistmentReserve/enlistmentReserve";
import { getEnlistmentReserveByProcessInstanceId, updateEnlistmentReserve } from "@/api/routine/enlistmentReserve/enlistmentReserve";
import { insertOrUpdateByStuAndApprover } from "@/api/routine/enlistmentReserve/enlistmentReserveApproval";
import { getUserProfile } from '@/api/system/user' // 获取当前登录用户
import { updateStudent } from '@/api/stuCQS/basedata/student'
export default {
name: 'Record',
@@ -728,7 +731,8 @@ export default {
variables: {
variables: {},
approvalOpinion: '', // 必须初始化,避免 null 报错
approvalResult: ''
approvalResult: '',
targetNodeName: ''
},
penaltyNumber: '',
letterServiceContent: '',
@@ -983,9 +987,11 @@ export default {
flowRecord(params)
.then((res) => {
that.flowRecordList = res.data.flowList
this.loading = false
})
.catch((res) => {
this.goBack()
this.loading = false
})
},
fillFormData(form, data) {
@@ -1014,26 +1020,9 @@ export default {
this.taskForm.variables = res.data.formData
// 初始化或完善 variables 对象,确保 approvalOpinion入伍保留学籍申请审核意见 存在
if (this.taskForm.variables == null) {
// 情况1variables 为 null → 初始化完整结构(包含原有 variables 嵌套和 approvalOpinion
this.taskForm.variables = {
variables: {}, // 保留原有的嵌套 variables 结构(后端可能依赖)
approvalOpinion: '', // 初始化审批意见为空白
approvalResult: ''
}
} else {
// 情况2variables 已存在 → 保留原有字段,补充 approvalOpinion无则添加有则保留原值
this.taskForm.variables = {
...this.taskForm.variables, // 展开原有所有字段(如 variables、其他自定义字段
approvalOpinion: this.taskForm.variables.approvalOpinion || '', // 兜底:若原有未定义则设为空白
approvalResult: this.taskForm.variables.approvalOpinion || ''
}
}
// 初始化或完善 variables 对象,确保 approvalOpinion入伍保留学籍申请审核意见 存在
this.initApproval()
this.formKeyExist = res.data.formKeyExist
})
}
@@ -1058,7 +1047,7 @@ export default {
if (valid) {
this.$modal.loading('正在努力加载中,请稍等...')
this.taskForm.comment = '同意'
this.taskForm.comment = this.taskForm.variables.approvalOpinion != '' ? this.taskForm.variables.approvalOpinion : '同意'
this.taskForm.variables.approvalResult = 1
if (this.taskForm && this.formKeyExist) {
// 表单是否禁用
@@ -1070,7 +1059,6 @@ export default {
complete(this.taskForm).then((response) => {
this.$modal.closeLoading()
this.goBack()
})
} else {
@@ -1102,6 +1090,10 @@ export default {
this.form.quitNumber = this.taskForm.quitNumber
this.form.remark = this.taskForm.remark
this.updateRtStuQuitSchool()
} else if (this.category == 'enlistmentReserve') { // 是应征入伍保留学籍申请,才执行
if (this.taskName == '教务处主管领导审批') { // (最后一个领导审核完成之后,修改学生学籍状态, status07是入伍保留学籍)
updateStudent({stuId: this.form.studentId, status: '07'}).then(response => {})
}
} else {
this.$modal.msgSuccess(response.msg)
}
@@ -1153,13 +1145,18 @@ export default {
/** 驳回任务 */
taskReject() {
this.$refs['taskForm'].validate((valid) => {
this.$modal.loading('正在努力加载中,请稍等...')
if (valid) {
// 入伍保留学籍审核状态和意见
this.taskForm.variables.approvalResult = 0
this.taskForm.variables.approvalOpinion = this.taskForm.comment
rejectTask(this.taskForm).then((res) => {
// 是应征入伍保留学籍申请,才执行
if (this.category == 'enlistmentReserve') {
this.taskReturnApproval("驳回")
}
this.$modal.msgSuccess(res.msg)
this.$modal.closeLoading()
this.goBack()
})
}
@@ -1172,18 +1169,46 @@ export default {
returnList(this.taskForm).then((res) => {
this.returnTaskList = res.data
this.taskForm.variables = null
// 是应征入伍保留学籍申请,才执行
if (this.category == 'enlistmentReserve') {
// 取原审批列表的副本避免直接修改原表单数据导致重复push
const approvalList = [...this.form.enlistmentReserveApprovalList]
// 判断approvalList中是否已存在"学生申请"项仅不存在时才push
const hasStudentApply = approvalList.some(record => record.nodeName === "学生申请")
if (!hasStudentApply) {
approvalList.push({ nodeName: "学生申请" })
}
// 过滤returnTaskList使用处理后的临时approvalList不污染原数据
this.returnTaskList = this.returnTaskList.filter(returnTask => {
return approvalList.some(record => record.nodeName === returnTask.documentation)
})
}
this.initApproval()
})
},
/** 提交退回任务 */
taskReturn() {
taskReturn() {
this.$refs['taskForm'].validate((valid) => {
if (valid) {
this.$modal.loading('正在努力加载中,请稍等...')
returnTask(this.taskForm).then((res) => {
// 是应征入伍保留学籍申请,才执行
if (this.category == 'enlistmentReserve') {
this.taskReturnApproval("退回")
}
this.$modal.msgSuccess(res.msg)
this.$modal.closeLoading()
this.goBack()
})
}
})
},
/** 取消回退任务按钮 */
cancelTask() {
@@ -1240,6 +1265,70 @@ export default {
fileUpload() {
download.resource(this.pdfURL)
},
// 初始化入伍保留学籍申请审核意见参数
initApproval() {
// 初始化或完善 variables 对象,确保 approvalOpinion入伍保留学籍申请审核意见 存在
if (this.taskForm.variables == null) {
// 情况1variables 为 null → 初始化完整结构(包含原有 variables 嵌套和 approvalOpinion
this.taskForm.variables = {
variables: {}, // 保留原有的嵌套 variables 结构(后端可能依赖)
approvalOpinion: '', // 初始化审批意见为空白
approvalResult: '', // 审批状态
targetNodeName: '' // 审批节点
}
} else {
// 情况2variables 已存在 → 保留原有字段,补充 approvalOpinion无则添加有则保留原值
this.taskForm.variables = {
...this.taskForm.variables, // 展开原有所有字段(如 variables、其他自定义字段
approvalOpinion: this.taskForm.variables.approvalOpinion || '', // 兜底:若原有未定义则设为空白
approvalResult: this.taskForm.variables.approvalResult || '',
targetNodeName: this.taskForm.variables.targetNodeName || ''
}
}
},
// 退回或驳回的时候生成入伍保留学籍申请审核
taskReturnApproval(text) {
getUserProfile().then(res => {
let data = {
applyId: this.form.id,
processInstanceId: this.form.processInstanceId,
taskId: this.taskForm.taskId,
nodeName: this.taskName,
approverId: res.data.userId,
approverName: res.data.nickName,
approvalOpinion: this.taskForm.comment,
approvalResult: 2,
studentName: this.form.studentName,
studentNo: this.form.studentNo
}
// 生成审核记录
insertOrUpdateByStuAndApprover(data).then(ress => {
// 审核记录生成之后,判断退回或驳回是不是到学生申请,如果是则更新申请表状态
if (text == '退回') {
let nodeName = ''
this.returnTaskList.forEach(element => {
if (element.id == this.taskForm.targetKey) { // 如果选中的节点id等于列表里面的id就将节点名称获取到nodeName
nodeName = element.documentation
}
});
if (nodeName == '学生申请') { // 如果退回选择的是学生节点更新申请表状态
this.form.applyStatus = 0
updateEnlistmentReserve(this.form).then(result => {
this.$modal.closeLoading()
})
}
} else {
// 驳回
if (this.taskName == '辅导员审批') { // 当前节点如果是辅导员审批,证明驳回就到了学生,所以更新申请表状态
this.form.applyStatus = 0
updateEnlistmentReserve(this.form).then(result => {
this.$modal.closeLoading()
})
}
}
})
})
}
},
}
</script>