退伍复学-工作流

This commit is contained in:
2025-11-20 17:31:50 +08:00
parent 85dd359934
commit a5c6980bdd
4 changed files with 202 additions and 90 deletions

View File

@@ -80,10 +80,10 @@
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<!-- <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</div> -->
</el-card>
</div>
@@ -214,7 +214,8 @@ export default {
{ required: true, message: '请选择是否专业转换', trigger: 'blur' },
],
reason13: [
{ required: true, message: '请输入手机号', trigger: 'blur' },
{ required: true, message: '请输入联系电话', trigger: 'blur' },
{ pattern: /^1[3-9]\d{9}$/, message: '请输入有效的手机号码', trigger: 'blur' }
],
}
@@ -222,9 +223,21 @@ export default {
},
created() {
this.getList();
this.showData()
},
methods: {
// 修改数据
showData() {
if (this.$route.query.id != undefined) {
console.log(this.$route.query.id)
getBasic(this.$route.query.id).then((response) => {
this.form = response.data
// this.active = response.data.status + 1;
})
}
},
// 填写学号时自动获取其他信息
changeGet() {
this.form.stuId = this.form.stId ? this.form.stId : this.$route.query.stId

View File

@@ -75,8 +75,9 @@
value-format="yyyy-MM-dd" class="date-picker"></el-date-picker>
</el-form-item> 日退役退役后申请复学
</p>
<p class="reason-text" style="">是否申请转专业
<p class="reason-text" style="" v-if="form.conversion=='Y'">是否申请转专业
</p>
<p class="reason-text" style="" v-else>是否申请转专业 ×
</p>
<p class="reason-text" style="color: red;">原年级和专业:__
{{ form.maList.length > 0 ? form.maList[0].oldgrade : '暂无数据' }}
@@ -107,12 +108,14 @@
<tr></tr>
<tr></tr>
<!-- 招生意见行 -->
<tr>
<td class="label" rowspan="4">招生与<br />就业处<br />意见</td>
<td class="input-cell" colspan="8" rowspan="4">
<p class="reason-text" style="color: red;">符合转专业条件拟同意转入年级和专业
__{{ form.maList.length > 0 ? form.maList[0].newgrade : '暂无数据' }}
__
{{ form.maList.length > 0 ? form.maList[0].newmajor : '暂无数据' }}__
</p>
<div class="signature-area right-align">
<span>审批结果</span>

View File

@@ -72,10 +72,10 @@
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<!-- <el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['routine:mate:add']">新增</el-button>
</el-col>
</el-col> -->
<!-- <el-col :span="1.5">
<el-button
type="success"

View File

@@ -83,9 +83,9 @@
size="mini"
type="text"
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
@click="handledetail(scope.row)"
v-hasPermi="['routine:basic:edit']"
>查看材料</el-button>
>修改</el-button>
<el-button
size="mini"
type="text"
@@ -106,59 +106,97 @@
/>
<!-- 添加或修改退伍复学申请对话框 -->
<el-dialog :title="title" :visible.sync="open" width="80%" append-to-body>
<!-- <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="学号" prop="stId">
<el-input v-model="form.stId" placeholder="请输入学号" />
<el-dialog :title="title" :visible.sync="open" width="40%" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-card class="box-card1">
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="学号" prop="stId" :rules="rules.reason1">
<el-input v-model="form.stId" placeholder="请输入学号" @blur="changeGet" />
</el-form-item>
<el-form-item label="姓名" prop="stName">
<el-form-item label="姓名" prop="stName" :rules="rules.reason2">
<el-input v-model="form.stName" placeholder="请输入姓名" />
</el-form-item>
<el-form-item label="辅导员名字" prop="fdName">
<el-form-item label="辅导员名字" prop="fdName" :rules="rules.reason3">
<el-input v-model="form.fdName" placeholder="请输入辅导员名字" />
</el-form-item>
<el-form-item label="性别" prop="sex">
<el-form-item label="性别" prop="sex" :rules="rules.reason4">
<el-select v-model="form.sex" placeholder="请选择性别">
<el-option
v-for="dict in dict.type.sys_user_sex"
:key="dict.value"
:label="dict.label"
:value="dict.value"
></el-option>
<el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="民族" prop="nations">
<el-input v-model="form.nations" placeholder="请输入民族" />
<el-form-item label="民族" prop="nations" :rules="rules.reason5">
<!-- <el-input v-model="form.nations" placeholder="请输入民族" /> -->
<el-select v-model="form.nations" placeholder="请选择民族">
<el-option v-for="dict in dict.type.rt_nation" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
<el-form-item label="班级" prop="stClass">
<el-form-item label="班级" prop="stClass" :rules="rules.reason6">
<el-input v-model="form.stClass" placeholder="请输入班级" />
</el-form-item>
<el-form-item label="专业" prop="majors">
<el-form-item label="专业" prop="majors" :rules="rules.reason7">
<el-input v-model="form.majors" placeholder="请输入专业" />
</el-form-item>
<el-form-item label="年级" prop="grade">
<el-form-item label="年级" prop="grade" :rules="rules.reason8">
<el-input v-model="form.grade" placeholder="请输入年级" />
</el-form-item>
<el-form-item label="学院" prop="college">
<el-input v-model="form.college" placeholder="请输入学院" />
<el-form-item label="学院" prop="college" :rules="rules.reason9">
<!-- <el-input v-model="form.college" placeholder="请输入学院" /> -->
<el-select v-model="form.college" placeholder="请选择学院" :rules="rules.reason10">
<el-option v-for="dict in dict.type.rt_filling_college" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
<el-form-item label="原因" prop="reasons">
<el-input v-model="form.reasons" placeholder="请输入原因" />
<el-form-item label="原因" prop="reasons" :rules="rules.reason10">
<el-input v-model="form.reasons" placeholder="请输入原因" type="textarea" />
</el-form-item>
<el-form-item label="时间" prop="times">
<el-input v-model="form.times" placeholder="请输入时间" />
<el-form-item label="时间" prop="times" :rules="rules.reason11">
<!-- <el-input v-model="form.times" placeholder="请输入时间" /> -->
<el-date-picker v-model="form.times" clearable type="date" value-format="yyyy-MM-dd"
placeholder="请选择填报时间" />
</el-form-item>
<el-form-item label="空余字段" prop="datab">
<el-input v-model="form.datab" placeholder="请输入空余字段" />
<!-- 入伍时间 -->
<el-form-item label="入伍时间" prop="rwTime" :rules="rules.reason11">
<el-date-picker v-model="form.rwTime" clearable type="date" value-format="yyyy-MM-dd"
placeholder="请选择填报时间" />
</el-form-item>
<el-form-item label="" prop="dataa">
<el-input v-model="form.dataa" placeholder="请输入" />
<!-- 退伍时间 -->
<el-form-item label="退伍时间" prop="dataa" :rules="rules.reason11">
<!-- <el-input v-model="form.dataa" placeholder="请输入" /> -->
<el-date-picker v-model="form.dataa" clearable type="date" value-format="yyyy-MM-dd"
placeholder="请选择填报时间" />
</el-form-item>
<el-form-item label="专业转换" prop="conversion">
<el-input v-model="form.conversion" placeholder="请输入专业转换" />
<!-- 手机号 -->
<el-form-item label="手机号" prop="datab" :rules="rules.reason13">
<el-input v-model="form.datab" placeholder="请输入手机号" />
</el-form-item>
</el-form> -->
<el-tabs type="border-card">
<el-form-item label="专业转换" prop="conversion" :rules="rules.reason12">
<el-select v-model="form.conversion" placeholder="请选择专业转换">
<el-option v-for="dict in dict.type.sys_yes_no" :key="dict.value" :label="dict.label"
:value="dict.value"></el-option>
</el-select>
</el-form-item>
</el-form>
<!-- <div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div> -->
</el-card>
<div slot="footer" class="stylecard">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-form>
<!-- <el-tabs type="border-card">
<el-tab-pane label="基础信息填写">
<div>
<div>
@@ -208,9 +246,9 @@
</el-tab-pane>
</el-tabs>
</el-tabs> -->
<div slot="footer" class="dialog-footer">
<!-- <el-button type="primary" @click="submitForm"> </el-button> -->
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
@@ -224,7 +262,8 @@ import { getUserProfile } from '@/api/system/user' // 获取
export default {
name: "Basic",
dicts: ['sys_user_sex'],
dicts: ['sys_yes_no', 'sys_user_sex', 'rt_filling_college', 'sys_commit_status', 'sys_teacher_kpi_filling_year', 'rt_nation', 'rt_classes'],
data() {
return {
// 遮罩层
@@ -273,6 +312,46 @@ export default {
form: {},
// 表单校验
rules: {
reason1: [
{ required: true, message: '学号不能为空', trigger: 'blur' },
],
reason2: [
{ required: true, message: '姓名不能为空', trigger: 'blur' },
],
reason3: [
{ required: true, message: '辅导员不能为空', trigger: 'blur' },
],
reason4: [
{ required: true, message: '请选择性别', trigger: 'blur' },
],
reason5: [
{ required: true, message: '请选择民族', trigger: 'blur' },
],
reason6: [
{ required: true, message: '请输入班级', trigger: 'blur' },
],
reason7: [
{ required: true, message: '请输入专业', trigger: 'blur' },
],
reason8: [
{ required: true, message: '请输入年级', trigger: 'blur' },
],
reason9: [
{ required: true, message: '请选择学院', trigger: 'blur' },
],
reason10: [
{ required: true, message: '请填写原因', trigger: 'blur' },
],
reason11: [
{ required: true, message: '请选择时间', trigger: 'blur' },
],
reason12: [
{ required: true, message: '请选择是否专业转换', trigger: 'blur' },
],
reason13: [
{ required: true, message: '请输入联系电话', trigger: 'blur' },
{ pattern: /^1[3-9]\d{9}$/, message: '请输入有效的手机号码', trigger: 'blur' }
],
}
};
},
@@ -281,6 +360,17 @@ export default {
this.getUser()
},
methods: {
// 跳转到表单页面
handledetail(row) {
this.$router.push({
path: '/routine/dis/dis',
query: {
id: row.id,
},
// });
})
},
// 获取当前登录信息
getUser() {
@@ -386,27 +476,6 @@ export default {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
// this.form.stId
this.dataform = {
id: null,
stId: this.form.stId,
times: null,
college: null,
oldgrade: null,
oldmajor: null,
newgrade: null,
newmajor: null,
proof: null,
idcard: null,
material: null,
data1: null,
data2: null
};
addMate(this.dataform).then(response => {
this.open = false;
this.getList();
});
});
} else {
addBasic(this.form).then(response => {
@@ -459,3 +528,30 @@ export default {
}
};
</script>
<style>
.box-card1 {
width: 600px;
max-width: 100%;
/* 新增:适配小屏幕,避免溢出 */
text-align: center;
margin: 0 auto;
/* 替代原margin-left实现水平居中更优雅 */
padding: 20px;
/* 新增:内边距,提升内容呼吸感 */
background-color: #fff;
/* 新增:卡片背景色 */
border-radius: 8px;
/* 新增:圆角,增强视觉友好度 */
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
/* 新增:阴影,突出卡片层次 */
box-sizing: border-box;
/* 新增保证width包含padding和border */
white-space: nowrap
}
.stylecard {
display: flex;
align-items: center;
justify-content: center;
}
</style>