This commit is contained in:
guochunsi
2026-01-09 18:46:41 +08:00
parent bacf93c33e
commit 4b46d3cc0d
40 changed files with 1977 additions and 939 deletions

View File

@@ -2,20 +2,15 @@
<el-dialog v-model="dialogVisible" width="600" :title="waitShenheForm.title" append-to-body>
<!--人员调动-->
<el-form v-if="waitShenheForm.isPersonnelTransfer" ref="stationChangeFormRef" :model="waitShenheForm.form" :rules="stationChangeRules" label-width="120px">
<el-form-item label="工号">
<el-tag>{{waitShenheForm.form.teacherNo}}</el-tag>
</el-form-item>
<el-form-item label="姓名">
<el-tag>{{waitShenheForm.form.realName}}</el-tag>
<el-form-item label="工号 / 姓名">
<el-tag>{{waitShenheForm.form.teacherNo}} - {{waitShenheForm.form.realName}}</el-tag>
</el-form-item>
<el-form-item label="原部门名称">
<el-tag disabled>{{waitShenheForm.form.deptName}}</el-tag>
<el-input v-model="waitShenheForm.form.deptName" disabled />
</el-form-item>
<el-form-item label="现二级部门" prop="newDeptCode">
<el-select v-model="newSecDeptCode" @change="getDeptListByParent" placeholder="请选择二级部门" style="width: 100%">
<el-select v-model="newSecDeptCode" @change="getDeptListByParent" placeholder="请选择二级部门">
<el-option v-for="item in secDeptList"
:key="item.deptCode"
:label="item.deptName"
@@ -68,12 +63,8 @@
</el-form>
<!--党员调动-->
<el-form v-if="waitShenheForm.isPartyTransfer" ref="partChangeFormRef" :model="waitShenheForm.form" :rules="partChangeRules" label-width="120px">
<el-form-item label="工号">
<el-tag>{{waitShenheForm.form.teacherNo}}</el-tag>
</el-form-item>
<el-form-item label="用户名">
<el-tag>{{waitShenheForm.form.realName}}</el-tag>
<el-form-item label="工号 / 用户名">
<el-tag>{{waitShenheForm.form.teacherNo}} - {{waitShenheForm.form.realName}}</el-tag>
</el-form-item>
<el-form-item label="原支部名">
@@ -113,7 +104,7 @@
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input v-model="waitShenheForm.form.remarks" placeholder="请输入备注" />
<el-input v-model="waitShenheForm.form.remarks" type="textarea" :rows="3" placeholder="请输入备注" />
</el-form-item>
<el-form-item>
@@ -127,7 +118,7 @@
</template>
<script setup lang="ts">
import { ref, reactive } from 'vue'
import { ref, reactive, nextTick } from 'vue'
import { useMessage, useMessageBox } from '/@/hooks/message'
import { getAllInfoAboutList } from '/@/api/professional/professionaluser/teacherbase'
import { getDeptListByLevelTwo, getDeptListByParent as getDeptListByParentApi } from '/@/api/basic/basicdept'
@@ -177,15 +168,15 @@
// 人员调动验证规则
const stationChangeRules = {
newDeptCode: [{ required: true, message: '请选择要调入的二级部门', trigger: 'change' }],
changeDate: [{ required: true, message: '请选择调令日期', trigger: 'change' }],
pos: [{ required: true, message: '请选择岗位类型', trigger: 'change' }]
newDeptCode: [{ required: true, message: '请选择要调入的二级部门', trigger: 'blur' }],
changeDate: [{ required: true, message: '请选择调令日期', trigger: 'blur' }],
pos: [{ required: true, message: '请选择岗位类型', trigger: 'blur' }]
}
// 党员调动验证规则
const partChangeRules = {
branchName: [{ required: true, message: '请选择现支部', trigger: 'change' }],
changeTime: [{ required: true, message: '请选择变动时间', trigger: 'change' }]
branchName: [{ required: true, message: '请选择现支部', trigger: 'blur' }],
changeTime: [{ required: true, message: '请选择变动时间', trigger: 'blur' }]
}
/**
@@ -273,6 +264,7 @@
waitShenheForm.title = "人员调动"
waitShenheForm.isPersonnelTransfer = true
waitShenheForm.form = { ...props.nowRow }
waitShenheForm.form.id = ''
waitShenheForm.form.newDeptCodeList = []
waitShenheForm.form.deptCodeList = []
newSecDeptCode.value = ''
@@ -281,6 +273,10 @@
getDeptListByLevelTwo().then((res: any) => {
secDeptList.value = res.data || []
dialogVisible.value = true
// 弹窗打开后,清除表单验证状态,避免立即显示验证提示
nextTick(() => {
stationChangeFormRef.value?.clearValidate()
})
})
} else if (val === FORM_TYPE.PARTY_TRANSFER) {
// 党员调动:设置原支部
@@ -291,6 +287,10 @@
waitShenheForm.form.realName = waitShenheForm.form.userName || waitShenheForm.form.realName
waitShenheForm.form.oldBranchName = waitShenheForm.form.oldBranchId
dialogVisible.value = true
// 弹窗打开后,清除表单验证状态,避免立即显示验证提示
nextTick(() => {
partChangeFormRef.value?.clearValidate()
})
}
}
/**
@@ -312,12 +312,8 @@
const formRef = formRefMap[val]
// 人员调动:需要选择部门
// 人员调动:在验证前同步数据
if (val === FORM_TYPE.PERSONNEL_TRANSFER) {
if (!newSecDeptCode.value) {
message.info("请选择要调入的部门")
return
}
waitShenheForm.form.newDeptCode = newSecDeptCode.value
waitShenheForm.form.newSecDeptCode = newSecChildDeptCode.value || newSecDeptCode.value
}
@@ -331,8 +327,16 @@
}
}
// 先确认,用户取消时不执行后续操作
try {
await messageBox.confirm('确认提交?')
} catch (err: any) {
// 用户取消操作,直接返回,不显示错误提示
return
}
// 用户确认后,执行提交操作
try {
let res: any
if (val === FORM_TYPE.PERSONNEL_TRANSFER) {