fix: 修复项目管理前端字段与后端Entity不匹配问题
问题: - 项目金额在新增和编辑时不会更新 - 前端表单字段与后端Entity字段不一致 - projectAmount不存在于后端,应该是budgetAmount和contractAmount - projectManager应该是projectManagerId (Long类型) - projectDesc应该是description 修复: 1. 修正前端表单字段 - projectAmount → budgetAmount (预算金额) - 新增 contractAmount (合同金额) - projectManager → projectManagerId - projectDesc → description - 新增 projectShort, projectType, remark等字段 2. 优化表单UI - 添加项目简称字段 - 添加项目类型下拉选择(开发/维护/咨询) - 预算金额和合同金额分开显示 - 添加备注字段 3. 修正表格显示列 - 项目金额 → 预算金额 + 合同金额(两列) 现在前后端字段完全一致!
This commit is contained in:
parent
d1137f5528
commit
504da52c88
@ -36,9 +36,14 @@
|
|||||||
</el-tag>
|
</el-tag>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="projectAmount" label="项目金额" width="120">
|
<el-table-column prop="budgetAmount" label="预算金额" width="120">
|
||||||
<template #default="scope">
|
<template #default="scope">
|
||||||
{{ formatAmount(scope.row.projectAmount) }}
|
{{ formatAmount(scope.row.budgetAmount) }}
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
|
<el-table-column prop="contractAmount" label="合同金额" width="120">
|
||||||
|
<template #default="scope">
|
||||||
|
{{ formatAmount(scope.row.contractAmount) }}
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
<el-table-column prop="startDate" label="开始日期" width="120" />
|
<el-table-column prop="startDate" label="开始日期" width="120" />
|
||||||
@ -81,13 +86,29 @@
|
|||||||
</el-row>
|
</el-row>
|
||||||
<el-row :gutter="20">
|
<el-row :gutter="20">
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="项目金额" prop="projectAmount">
|
<el-form-item label="项目简称" prop="projectShort">
|
||||||
<el-input-number v-model="form.projectAmount" :precision="2" :min="0" style="width: 100%" />
|
<el-input v-model="form.projectShort" placeholder="请输入项目简称" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="12">
|
<el-col :span="12">
|
||||||
<el-form-item label="项目经理" prop="projectManager">
|
<el-form-item label="项目类型">
|
||||||
<el-input v-model="form.projectManager" placeholder="请输入项目经理" />
|
<el-select v-model="form.projectType" placeholder="请选择" style="width: 100%">
|
||||||
|
<el-option label="开发项目" value="development" />
|
||||||
|
<el-option label="维护项目" value="maintenance" />
|
||||||
|
<el-option label="咨询项目" value="consulting" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
<el-row :gutter="20">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="预算金额" prop="budgetAmount">
|
||||||
|
<el-input-number v-model="form.budgetAmount" :precision="2" :min="0" style="width: 100%" />
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="合同金额">
|
||||||
|
<el-input-number v-model="form.contractAmount" :precision="2" :min="0" style="width: 100%" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -103,8 +124,11 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
<el-form-item label="项目描述" prop="projectDesc">
|
<el-form-item label="项目描述">
|
||||||
<el-input v-model="form.projectDesc" type="textarea" rows="3" placeholder="请输入项目描述" />
|
<el-input v-model="form.description" type="textarea" rows="3" placeholder="请输入项目描述" />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="备注">
|
||||||
|
<el-input v-model="form.remark" type="textarea" rows="2" placeholder="请输入备注" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
<template #footer>
|
<template #footer>
|
||||||
@ -159,17 +183,22 @@ const form = reactive({
|
|||||||
projectId: null,
|
projectId: null,
|
||||||
projectCode: '',
|
projectCode: '',
|
||||||
projectName: '',
|
projectName: '',
|
||||||
projectAmount: 0,
|
projectShort: '',
|
||||||
projectManager: '',
|
customerId: null,
|
||||||
|
projectType: 'development',
|
||||||
|
projectManagerId: null,
|
||||||
|
budgetAmount: 0,
|
||||||
|
contractAmount: 0,
|
||||||
startDate: '',
|
startDate: '',
|
||||||
endDate: '',
|
endDate: '',
|
||||||
projectDesc: ''
|
description: '',
|
||||||
|
remark: ''
|
||||||
})
|
})
|
||||||
|
|
||||||
const rules = {
|
const rules = {
|
||||||
projectCode: [{ required: true, message: '请输入项目编码', trigger: 'blur' }],
|
projectCode: [{ required: true, message: '请输入项目编码', trigger: 'blur' }],
|
||||||
projectName: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
|
projectName: [{ required: true, message: '请输入项目名称', trigger: 'blur' }],
|
||||||
projectAmount: [{ required: true, message: '请输入项目金额', trigger: 'blur' }]
|
budgetAmount: [{ required: true, message: '请输入项目预算', trigger: 'blur' }]
|
||||||
}
|
}
|
||||||
|
|
||||||
const statusDialogVisible = ref(false)
|
const statusDialogVisible = ref(false)
|
||||||
@ -224,11 +253,16 @@ const resetForm = () => {
|
|||||||
form.projectId = null
|
form.projectId = null
|
||||||
form.projectCode = ''
|
form.projectCode = ''
|
||||||
form.projectName = ''
|
form.projectName = ''
|
||||||
form.projectAmount = 0
|
form.projectShort = ''
|
||||||
form.projectManager = ''
|
form.customerId = null
|
||||||
|
form.projectType = 'development'
|
||||||
|
form.projectManagerId = null
|
||||||
|
form.budgetAmount = 0
|
||||||
|
form.contractAmount = 0
|
||||||
form.startDate = ''
|
form.startDate = ''
|
||||||
form.endDate = ''
|
form.endDate = ''
|
||||||
form.projectDesc = ''
|
form.description = ''
|
||||||
|
form.remark = ''
|
||||||
}
|
}
|
||||||
|
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
|
|||||||
@ -1 +1 @@
|
|||||||
Subproject commit 86d22460f4d127306501a7a053cb17c9245bfc7b
|
Subproject commit 9e120359625bc1222ee4d31dd04bd64cdd1c0b35
|
||||||
Loading…
x
Reference in New Issue
Block a user