专业保存提示错误,前后端数据类型不一致导致的
This commit is contained in:
@@ -248,9 +248,10 @@
|
||||
</el-col>
|
||||
<el-col :span="12">
|
||||
<el-form-item label="主干专业" prop="zgzy">
|
||||
<!-- 后端实体 ZYB.zgzy 为 Boolean(库列 主干专业 BIT(1)),value 必须传布尔值 -->
|
||||
<el-select v-model="form.zgzy" placeholder="请选择" clearable style="width: 100%">
|
||||
<el-option label="是" value="是" />
|
||||
<el-option label="否" value="否" />
|
||||
<el-option label="是" :value="true" />
|
||||
<el-option label="否" :value="false" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@@ -356,7 +357,7 @@
|
||||
<el-descriptions-item label="培训类型">{{ viewForm.pxlx || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="培训类型2">{{ viewForm.pxlx2 || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="学员类别">{{ viewForm.xylb || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="主干专业">{{ viewForm.zgzy || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="主干专业">{{ fmtBool(viewForm.zgzy) }}</el-descriptions-item>
|
||||
<el-descriptions-item label="自定义分类">{{ viewForm.zdyfl || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="教学管理机构编号">{{ viewForm.jxgljgbh || '-' }}</el-descriptions-item>
|
||||
<el-descriptions-item label="学科专业信息标识号">{{ viewForm.xkzyxxbsh || '-' }}</el-descriptions-item>
|
||||
@@ -537,6 +538,23 @@ export default {
|
||||
return (this.pageNum - 1) * this.pageSize + index + 1
|
||||
},
|
||||
|
||||
/** 宽松布尔归一:兼容后端 Boolean、数字 0/1、字符串 'true'/'false'/'1'/'0'/'是'/'否';无效值返回 null */
|
||||
normBool(val) {
|
||||
if (val === null || val === undefined || val === '') return null
|
||||
if (typeof val === 'boolean') return val
|
||||
if (typeof val === 'number') return val !== 0
|
||||
const s = String(val).trim()
|
||||
if (['是', 'true', '1', 'Y', 'y'].indexOf(s) >= 0) return true
|
||||
if (['否', 'false', '0', 'N', 'n'].indexOf(s) >= 0) return false
|
||||
return null
|
||||
},
|
||||
|
||||
/** 布尔值展示为 是/否,空值显示 '-' */
|
||||
fmtBool(val) {
|
||||
const b = this.normBool(val)
|
||||
return b === null ? '-' : (b ? '是' : '否')
|
||||
},
|
||||
|
||||
/** 创建空表单 */
|
||||
createEmptyForm() {
|
||||
return {
|
||||
@@ -678,7 +696,7 @@ export default {
|
||||
jclb: data.jclb,
|
||||
xtms: data.xtms,
|
||||
jsonzd: data.jsonzd,
|
||||
zgzy: data.zgzy,
|
||||
zgzy: this.normBool(data.zgzy),
|
||||
gfmc: data.gfmc,
|
||||
jxdgbh: data.jxdgbh,
|
||||
rpbh: data.rpbh,
|
||||
@@ -692,6 +710,12 @@ export default {
|
||||
if (!valid) return
|
||||
this.formSaving = true
|
||||
const payload = { ...this.form }
|
||||
// 布尔字段统一归一为布尔值:后端实体 ty / zgzy 均为 Boolean,库列为 BIT(1) 且非空
|
||||
const zgzy = this.normBool(payload.zgzy)
|
||||
payload.zgzy = zgzy === null ? false : zgzy
|
||||
const ty = this.normBool(payload.ty)
|
||||
payload.ty = ty === null ? false : ty
|
||||
|
||||
const request = this.isAdd ? addMajor(payload) : updateMajor(payload)
|
||||
request.then(() => {
|
||||
this.$message.success(this.isAdd ? '新增成功' : '修改成功')
|
||||
|
||||
Reference in New Issue
Block a user