专业保存提示错误,前后端数据类型不一致导致的
This commit is contained in:
@@ -248,9 +248,10 @@
|
|||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="主干专业" prop="zgzy">
|
<el-form-item label="主干专业" prop="zgzy">
|
||||||
|
<!-- 后端实体 ZYB.zgzy 为 Boolean(库列 主干专业 BIT(1)),value 必须传布尔值 -->
|
||||||
<el-select v-model="form.zgzy" placeholder="请选择" clearable style="width: 100%">
|
<el-select v-model="form.zgzy" placeholder="请选择" clearable style="width: 100%">
|
||||||
<el-option label="是" value="是" />
|
<el-option label="是" :value="true" />
|
||||||
<el-option label="否" value="否" />
|
<el-option label="否" :value="false" />
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
@@ -356,7 +357,7 @@
|
|||||||
<el-descriptions-item label="培训类型">{{ viewForm.pxlx || '-' }}</el-descriptions-item>
|
<el-descriptions-item label="培训类型">{{ viewForm.pxlx || '-' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="培训类型2">{{ viewForm.pxlx2 || '-' }}</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.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.zdyfl || '-' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="教学管理机构编号">{{ viewForm.jxgljgbh || '-' }}</el-descriptions-item>
|
<el-descriptions-item label="教学管理机构编号">{{ viewForm.jxgljgbh || '-' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="学科专业信息标识号">{{ viewForm.xkzyxxbsh || '-' }}</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
|
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() {
|
createEmptyForm() {
|
||||||
return {
|
return {
|
||||||
@@ -678,7 +696,7 @@ export default {
|
|||||||
jclb: data.jclb,
|
jclb: data.jclb,
|
||||||
xtms: data.xtms,
|
xtms: data.xtms,
|
||||||
jsonzd: data.jsonzd,
|
jsonzd: data.jsonzd,
|
||||||
zgzy: data.zgzy,
|
zgzy: this.normBool(data.zgzy),
|
||||||
gfmc: data.gfmc,
|
gfmc: data.gfmc,
|
||||||
jxdgbh: data.jxdgbh,
|
jxdgbh: data.jxdgbh,
|
||||||
rpbh: data.rpbh,
|
rpbh: data.rpbh,
|
||||||
@@ -692,6 +710,12 @@ export default {
|
|||||||
if (!valid) return
|
if (!valid) return
|
||||||
this.formSaving = true
|
this.formSaving = true
|
||||||
const payload = { ...this.form }
|
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)
|
const request = this.isAdd ? addMajor(payload) : updateMajor(payload)
|
||||||
request.then(() => {
|
request.then(() => {
|
||||||
this.$message.success(this.isAdd ? '新增成功' : '修改成功')
|
this.$message.success(this.isAdd ? '新增成功' : '修改成功')
|
||||||
|
|||||||
Reference in New Issue
Block a user