若干前端bug修复

This commit is contained in:
2026-08-27 12:01:33 +08:00
parent c8990ab1a4
commit 26072ffe4e
9 changed files with 457 additions and 119 deletions
@@ -106,9 +106,6 @@
@update:visible="val => formDialogVisible = val"
>
<el-form ref="formRef" :model="form" :rules="formRules" label-width="110px" class="add-form">
<el-form-item label="编号" prop="bh">
<el-input v-model="form.bh" placeholder="请输入编号" :disabled="!isAdd" />
</el-form-item>
<el-form-item label="学号" prop="xh">
<el-input
ref="studentNoInput"
@@ -134,11 +131,6 @@
<el-form-item label="备注">
<el-input v-model="form.bz" type="textarea" :rows="3" placeholder="请输入备注" />
</el-form-item>
<el-form-item label="状态" prop="zt">
<el-select v-model="form.zt" placeholder="请选择状态" class="w-full">
<el-option v-for="(item, key) in statusMap" :key="key" :label="item.label" :value="Number(key)" />
</el-select>
</el-form-item>
</el-form>
<div slot="footer">
<el-button @click="formDialogVisible = false">取消</el-button>
@@ -270,11 +262,13 @@ export default {
verifiedStudentNo: '',
form: this.createEmptyForm(),
formRules: {
bh: [{ required: true, message: '请输入编号', trigger: 'blur' }],
xh: [{ required: true, message: '请输入学号', trigger: 'blur' }],
xh: [
{ required: true, message: '请输入学号', trigger: 'blur' },
{ max: 50, message: '学号不能超过50个字符', trigger: 'blur' },
{ pattern: /^[A-Za-z0-9]+$/, message: '学号只能包含字母和数字', trigger: 'blur' }
],
sqlx: [{ required: true, message: '请选择申请类型', trigger: 'change' }],
sy: [{ required: true, message: '请输入事由', trigger: 'blur' }],
zt: [{ required: true, message: '请选择状态', trigger: 'change' }]
sy: [{ required: true, message: '请输入事由', trigger: 'blur' }]
},
// ==================== 详情 ====================
@@ -543,11 +537,16 @@ export default {
buildPayload() {
const f = this.form
const payload = {
bh: f.bh,
xybh: f.xybh,
sqlx: f.sqlx,
sy: f.sy,
zt: Number(f.zt)
sy: f.sy
}
// 新增编号和状态由后端生成;编辑时仅回传记录定位编号和原状态。
if (!this.isAdd) {
payload.bh = f.bh
if (f.zt !== null && f.zt !== undefined && f.zt !== '') {
payload.zt = Number(f.zt)
}
}
// 备注留空则移除
if (f.bz !== '' && f.bz !== null && f.bz !== undefined) {