应征入伍保留学籍工作流表单显示

This commit is contained in:
2025-11-14 16:49:22 +08:00
parent 184a005758
commit 7292888c7f
5 changed files with 136 additions and 4 deletions

View File

@@ -17,6 +17,16 @@ export function getEnlistmentReserve(id) {
})
}
// 查询应征入伍保留学籍申请详细
export function getEnlistmentReserveByProcessInstanceId(processInstanceId) {
return request({
url: '/routine/enlistmentReserve/process/' + processInstanceId,
method: 'get'
})
}
// 新增应征入伍保留学籍申请
export function addEnlistmentReserve(data) {
return request({

View File

@@ -333,6 +333,76 @@
<!-- 复学 -->
<!-- 给予退学 -->
<!-- 入伍保留学籍表单 -->
<el-descriptions v-if="enlistmentReserveForm" class="margin-top" title="" :column="4" size="medium" border style="width: 100%">
<el-descriptions-item>
<template slot="label"> 姓名 </template>
{{ form.studentName }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 性别 </template>
<span v-if="form.gender == 1"></span>
<span v-else></span>
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 民族 </template>
<!-- {{ form.nation }} -->
<dict-tag :options="dict.type.rt_nation" :value="form.nation" />
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 年级 </template>
{{ form.grade }}
</el-descriptions-item>
<el-descriptions-item span="2">
<template slot="label"> 专业名称 </template>
{{ form.major }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 学号 </template>
{{ form.studentNo }}
</el-descriptions-item>
<el-descriptions-item>
<template slot="label"> 班级 </template>
{{ form.className }}
</el-descriptions-item>
<el-descriptions-item span="2">
<template slot="label"> 家庭地址 </template>
{{ form.familyAddress }}
</el-descriptions-item>
<el-descriptions-item span="2">
<template slot="label"> 家长电话 </template>
{{ form.parentPhone }}
</el-descriptions-item>
<el-descriptions-item span="4">
<template slot="label"> 附件上传 </template>
<Affix v-model="form.attachmentUpload" :disabled="true" />
</el-descriptions-item>
<el-descriptions-item span="4">
<template slot="label"> 申请原因 </template>
{{ form.applyReason }}
</el-descriptions-item>
<!-- <el-descriptions-item span="3">
<template slot="label"> 签名 </template>
<img v-if="form.applySignature" :src="baseUrl + form.applySignature" width="200px" height="200px" class="avatar">
</el-descriptions-item> -->
<!-- <el-descriptions-item span="3">
<template slot="label"> 辅导员联系情况 </template>
{{ form.ideologicalEducation }}
</el-descriptions-item> -->
<el-descriptions-item span="4">
<template slot="label"> 保留学籍时间和编号 </template>
{{ form.reserveNo }}
</el-descriptions-item>
</el-descriptions>
</div>
<div style="margin-left: 15%; margin-bottom: 20px; font-size: 14px; margin-top: 20px">
<el-button v-if="!formKeyExist" icon="el-icon-edit-outline" type="success" size="mini" @click="handleComplete">同意 </el-button>
@@ -509,6 +579,11 @@
<el-form-item v-if="quitSchoolGLKSHShow" label="休学备注" prop="remark">
<el-input v-model="taskForm.remark" placeholder="请输入备注" />
</el-form-item>
<!-- 入伍保留学籍申请表单 -->
<el-form-item v-if="enlistmentReserveForm" label="审批意见" prop="approvalOpinion">
<el-input type="textarea" :rows="3" v-model="taskForm.variables.approvalOpinion" placeholder="请输入审批意见" />
</el-form-item>
</el-form>
<span slot="footer" class="dialog-footer">
<el-button @click="completeOpen = false"> </el-button>
@@ -564,10 +639,11 @@ 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";
export default {
name: 'Record',
dicts: ['rt_penalty_type', 'rt_penalty_status', 'rt_quit_type', 'rt_transaction_type', 'sys_teacher_kpi_filling_year'],
dicts: ['rt_penalty_type', 'rt_penalty_status', 'rt_quit_type', 'rt_transaction_type', 'sys_teacher_kpi_filling_year', 'rt_nation'],
components: {
Parser,
flow,
@@ -630,6 +706,8 @@ export default {
targetKey: '',
variables: {
variables: {},
approvalOpinion: '', // 必须初始化,避免 null 报错
approvalResult: ''
},
penaltyNumber: '',
letterServiceContent: '',
@@ -680,6 +758,7 @@ export default {
ideologicalEducationShow: false, // 处分期间表现输入框
showFileDowload: false, //是否显示下载下文
quitTypeOptions: [], //休学类别
enlistmentReserveForm: false, // 入伍保留学籍表单
}
},
created() {
@@ -731,6 +810,9 @@ export default {
if (this.taskName == '学生教育管理科审核') {
this.quitSchoolGLKSHShow = true
}
} else if (this.category == 'enlistmentReserve') {
this.enlistmentReserveForm = true
this.getEnlistmentReserve(this.taskForm.procInsId)
}
// 流程任务获取变量信息
if (this.taskForm.taskId) {
@@ -780,6 +862,14 @@ export default {
this.pdfURL = this.baseUrl + this.form.dispositionService
this.getStuInfo(this.form.stuNo)
})
},
// 请求 入伍保留学籍表单数据
getEnlistmentReserve(procInsId) {
getEnlistmentReserveByProcessInstanceId(procInsId.toString()).then((res) => {
this.form = res.data
})
},
getStuInfo(stuNo) {
getStuInfo(stuNo).then((res) => {
@@ -880,6 +970,28 @@ export default {
flowTaskForm({ taskId: taskId }).then((res) => {
this.variablesData = res.data.formData
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 || ''
}
}
this.formKeyExist = res.data.formKeyExist
})
}
@@ -905,6 +1017,7 @@ export default {
this.$modal.loading('正在努力加载中,请稍等...')
this.taskForm.comment = '同意'
this.taskForm.variables.approvalResult = 1
if (this.taskForm && this.formKeyExist) {
// 表单是否禁用
this.taskForm.formData.formData.disabled = true
@@ -999,6 +1112,10 @@ export default {
taskReject() {
this.$refs['taskForm'].validate((valid) => {
if (valid) {
// 入伍保留学籍审核状态和意见
this.taskForm.variables.approvalResult = 0
this.taskForm.variables.approvalOpinion = this.taskForm.comment
rejectTask(this.taskForm).then((res) => {
this.$modal.msgSuccess(res.msg)
this.goBack()

View File

@@ -700,7 +700,7 @@ export default {
.label {
background-color: #eee !important;
-webkit-print-color-adjust: exact;
/* -webkit-print-color-adjust: exact; */
}
.el-form-item__error {

View File

@@ -69,7 +69,12 @@
<!-- <el-table-column label="审批人ID" align="center" prop="approverId" /> -->
<el-table-column label="审批人姓名" align="center" prop="approverName" />
<el-table-column label="审批意见" align="center" prop="approvalOpinion" />
<el-table-column label="审批结果" align="center" prop="approvalResult" />
<el-table-column label="审批结果" align="center" prop="approvalResult">
<template slot-scope="scope">
<el-tag v-if="scope.row.approvalResult == 1" type="success">通过</el-tag>
<el-tag v-else type="danger">驳回</el-tag>
</template>
</el-table-column>
<el-table-column label="审批时间" align="center" prop="approvalTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.approvalTime, '{y}-{m}-{d}') }}</span>

View File

@@ -107,7 +107,7 @@
<span>{{ parseTime(scope.row.reserveEndDate, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column>
<el-table-column label="批文号" align="center" prop="approvalNo" />
<!-- <el-table-column label="批文号" align="center" prop="approvalNo" /> -->
<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)"