入伍保留学籍修改这学期的时间都统一为:2026-3-1

This commit is contained in:
2026-03-16 16:23:24 +08:00
parent 442ff182c4
commit 03782e3c9d

View File

@@ -84,15 +84,15 @@
<el-tag v-else type="danger">驳回</el-tag>
</div>
<div
style="display: flex;justify-content: center;align-items: center;min-width: 130px;text-align: left;">
<div>签名 </div>
<div>
<el-image style="width: 100px; height: 50px; margin-left: 10px; border: 1px solid #eee"
:src="baseUrl + item.signature" :preview-src-list="[baseUrl + item.signature]"
:alt="item.approverName">
</el-image>
</div>
style="display: flex;justify-content: center;align-items: center;min-width: 130px;text-align: left;">
<div>签名 </div>
<div>
<el-image style="width: 100px; height: 50px; margin-left: 10px; border: 1px solid #eee"
:src="baseUrl + item.signature" :preview-src-list="[baseUrl + item.signature]"
:alt="item.approverName">
</el-image>
</div>
</div>
<div style="padding: 0 10px;">日期 {{ item.approvalTime }}</div>
</div>
</div>
@@ -109,49 +109,49 @@
</el-descriptions-item>
</el-descriptions>
</div>
<div class="block">
<el-timeline>
<el-timeline-item v-for="(item, index) in flowRecordList" :key="index" :icon="setIcon(item.finishTime)"
:color="setColor(item.finishTime)">
<p style="font-weight: 700">{{ item.taskName }}</p>
<el-card :body-style="{ padding: '10px' }">
<el-descriptions class="margin-top" :column="1" size="small" border>
<el-descriptions-item v-if="item.assigneeName" label-class-name="my-label">
<template slot="label"><i class="el-icon-user" />办理人</template>
{{ item.assigneeName }}
<el-tag type="info" size="mini">{{ item.deptName }}</el-tag>
</el-descriptions-item>
<el-descriptions-item v-if="item.candidate" label-class-name="my-label">
<template slot="label"><i class="el-icon-user" />候选办理</template>
{{ item.candidate }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my-label">
<template slot="label"><i class="el-icon-date" />接收时间</template>
{{ item.createTime }}
</el-descriptions-item>
<el-descriptions-item v-if="item.finishTime" label-class-name="my-label">
<template slot="label"><i class="el-icon-date" />处理时间</template>
{{ item.finishTime }}
</el-descriptions-item>
<el-descriptions-item v-if="item.duration" label-class-name="my-label">
<template slot="label"><i class="el-icon-time" />耗时</template>
{{ item.duration }}
</el-descriptions-item>
<el-descriptions-item v-if="item.comment" label-class-name="my-label">
<template slot="label"><i class="el-icon-tickets" />处理意见</template>
{{ item.comment.comment }}
</el-descriptions-item>
<!-- <el-descriptions-item v-if="item.finishTime" label-class-name="my-label">
<div class="block">
<el-timeline>
<el-timeline-item v-for="(item, index) in flowRecordList" :key="index" :icon="setIcon(item.finishTime)"
:color="setColor(item.finishTime)">
<p style="font-weight: 700">{{ item.taskName }}</p>
<el-card :body-style="{ padding: '10px' }">
<el-descriptions class="margin-top" :column="1" size="small" border>
<el-descriptions-item v-if="item.assigneeName" label-class-name="my-label">
<template slot="label"><i class="el-icon-user" />办理人</template>
{{ item.assigneeName }}
<el-tag type="info" size="mini">{{ item.deptName }}</el-tag>
</el-descriptions-item>
<el-descriptions-item v-if="item.candidate" label-class-name="my-label">
<template slot="label"><i class="el-icon-user" />候选办理</template>
{{ item.candidate }}
</el-descriptions-item>
<el-descriptions-item label-class-name="my-label">
<template slot="label"><i class="el-icon-date" />接收时间</template>
{{ item.createTime }}
</el-descriptions-item>
<el-descriptions-item v-if="item.finishTime" label-class-name="my-label">
<template slot="label"><i class="el-icon-date" />处理时间</template>
{{ item.finishTime }}
</el-descriptions-item>
<el-descriptions-item v-if="item.duration" label-class-name="my-label">
<template slot="label"><i class="el-icon-time" />耗时</template>
{{ item.duration }}
</el-descriptions-item>
<el-descriptions-item v-if="item.comment" label-class-name="my-label">
<template slot="label"><i class="el-icon-tickets" />处理意见</template>
{{ item.comment.comment }}
</el-descriptions-item>
<!-- <el-descriptions-item v-if="item.finishTime" label-class-name="my-label">
<template slot="label"><i class="el-icon-date" />签名</template>
<img :src="baseurl + item.assigneeSign" width="300px" height="200px" class="avatar">
</el-descriptions-item> -->
</el-descriptions>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</el-descriptions>
</el-card>
</el-timeline-item>
</el-timeline>
</div>
</div>
</div>
</el-card>
</div>
<!-- 新增修改表单 -->
@@ -249,15 +249,17 @@
class="opinion-textarea"></el-input>
</el-form-item> -->
<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"
value-format="yyyy-MM-dd" class="date-picker"></el-date-picker>
</el-form-item> 日至退役后两年
</el-form-item> -->
{{ formData.reserveStartDate }} 日至退役后两年{{ formData.reserveEndDate }}
</p>
<el-form-item prop="affixId">
<p class="attachment-tip">
<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>
</el-form-item>
@@ -437,11 +439,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 +515,7 @@ export default {
if (newId) {
this.deployId = newId
// 获取流程记录
this.getFlowRecordList()
this.getFlowRecordList()
} else {
this.deployId = null
this.loading = false
@@ -523,28 +525,55 @@ export default {
},
mounted() {
// this.getUser()
this.setSemesterStartDate();
},
methods: {
// 根据学期规则生成起始日期并赋值
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
}
})
}
}
})
},
setIcon(val) {
@@ -695,12 +724,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}`);
})
}
}
}
};