feat(cost): 添加单价字段和使用单价标识功能

- 在CostProdMetric实体类中添加usePrice字段,用于标识是否使用单价
- 更新CostProdMetricBo、CostProdMetricVo数据传输对象,增加单价相关属性
- 修改CostProdMetricMapper.xml映射文件,添加usePrice字段映射配置
- 扩展CostProdMetricServiceImpl查询逻辑,支持按是否使用单价进行筛选
- 更新前端metric.vue页面,添加单价输入框和是否使用单价下拉选择组件
- 实现表格中单价列的显示和编辑功能,并增加条件查询支持
This commit is contained in:
2026-06-13 16:16:30 +08:00
parent 9559e5810e
commit cced2ff4aa
6 changed files with 45 additions and 9 deletions

View File

@@ -42,9 +42,13 @@ public class CostProdMetric extends BaseEntity {
*/
private String metricFormula;
/**
* 指标计算结果值
* 单价
*/
private BigDecimal metricValue;
/**
* 是否使用单价 0=否 1=是
*/
private Integer usePrice;
/**
* 备注
*/

View File

@@ -44,10 +44,15 @@ public class CostProdMetricBo extends BaseEntity {
private String metricFormula;
/**
* 指标计算结果值
* 单价
*/
private BigDecimal metricValue;
/**
* 是否使用单价 0=否 1=是
*/
private Integer usePrice;
/**
* 备注
*/

View File

@@ -52,11 +52,17 @@ public class CostProdMetricVo {
private String metricFormula;
/**
* 指标计算结果值
* 单价
*/
@ExcelProperty(value = "指标计算结果值")
@ExcelProperty(value = "单价")
private BigDecimal metricValue;
/**
* 是否使用单价 0=否 1=是
*/
@ExcelProperty(value = "是否使用单价")
private Integer usePrice;
/**
* 备注
*/

View File

@@ -66,6 +66,7 @@ public class CostProdMetricServiceImpl implements ICostProdMetricService {
lqw.like(StringUtils.isNotBlank(bo.getMetricName()), CostProdMetric::getMetricName, bo.getMetricName());
lqw.eq(StringUtils.isNotBlank(bo.getMetricFormula()), CostProdMetric::getMetricFormula, bo.getMetricFormula());
lqw.eq(bo.getMetricValue() != null, CostProdMetric::getMetricValue, bo.getMetricValue());
lqw.eq(bo.getUsePrice() != null, CostProdMetric::getUsePrice, bo.getUsePrice());
return lqw;
}

View File

@@ -11,6 +11,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="metricName" column="metric_name"/>
<result property="metricFormula" column="metric_formula"/>
<result property="metricValue" column="metric_value"/>
<result property="usePrice" column="use_price"/>
<result property="remark" column="remark"/>
<result property="delFlag" column="del_flag"/>
<result property="createBy" column="create_by"/>

View File

@@ -33,14 +33,20 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="指标计算结果值" prop="metricValue">
<el-form-item label="单价" prop="metricValue">
<el-input
v-model="queryParams.metricValue"
placeholder="请输入指标计算结果值"
placeholder="请输入单价"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="是否使用单价" prop="usePrice">
<el-select v-model="queryParams.usePrice" placeholder="请选择" clearable @keyup.enter.native="handleQuery">
<el-option label="是" :value="1" />
<el-option label="否" :value="0" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
@@ -96,7 +102,12 @@
<el-table-column label="指标编码" align="center" prop="metricCode" />
<el-table-column label="指标名称" align="center" prop="metricName" />
<el-table-column label="指标计算公式" align="center" prop="metricFormula" />
<el-table-column label="指标计算结果值" align="center" prop="metricValue" />
<el-table-column label="单价" align="center" prop="metricValue" />
<el-table-column label="是否使用单价" align="center" prop="usePrice">
<template slot-scope="scope">
<span>{{ scope.row.usePrice === 1 ? '是' : '否' }}</span>
</template>
</el-table-column>
<el-table-column label="备注" align="center" prop="remark" />
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
@@ -139,8 +150,14 @@
<el-form-item label="指标计算公式" prop="metricFormula">
<el-input v-model="form.metricFormula" type="textarea" placeholder="请输入内容" />
</el-form-item>
<el-form-item label="指标计算结果值" prop="metricValue">
<el-input v-model="form.metricValue" placeholder="请输入指标计算结果值" />
<el-form-item label="单价" prop="metricValue">
<el-input v-model="form.metricValue" placeholder="请输入单价" />
</el-form-item>
<el-form-item label="是否使用单价" prop="usePrice">
<el-select v-model="form.usePrice" placeholder="请选择">
<el-option label="是" :value="1" />
<el-option label="否" :value="0" />
</el-select>
</el-form-item>
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" placeholder="请输入备注" />
@@ -190,6 +207,7 @@ export default {
metricName: undefined,
metricFormula: undefined,
metricValue: undefined,
usePrice: undefined,
},
// 表单参数
form: {},
@@ -225,6 +243,7 @@ export default {
metricName: undefined,
metricFormula: undefined,
metricValue: undefined,
usePrice: undefined,
remark: undefined,
delFlag: undefined,
createBy: undefined,