feat(order): 添加签约公司字段支持- 在 GearOrder 实体类中新增 company 字段- 在 GearOrderBo 业务对象中同步添加 company 字段

- 更新 GearOrderMapper.xml 映射文件以支持 company 字段的读写
- 在 GearOrderVo 视图对象中增加 company 字段并配置 Excel 导出属性
- 在前端订单页面中增加签约公司下拉选择框
- 引入并使用 order_company 字典数据用于签约公司选项
- 初始化表单中的 company 字段为 undefined
- 在 Vue 组件中注册 order_company 数据字典
This commit is contained in:
JR
2025-10-28 16:00:07 +08:00
parent 44e7faddb3
commit e831af1c6b
6 changed files with 39 additions and 4 deletions

View File

@@ -36,6 +36,10 @@ public class GearOrder extends BaseEntity {
* 客户ID
*/
private Long customerId;
/**
* 签约公司(字典)
*/
private Integer company;
/**
* 销售经理
*/

View File

@@ -38,6 +38,11 @@ public class GearOrderBo extends BaseEntity {
*/
private Long customerId;
/**
* 签约公司(字典)
*/
private Integer company;
/**
* 销售经理
*/

View File

@@ -43,6 +43,12 @@ public class GearOrderVo extends BaseEntity {
@ExcelProperty(value = "客户ID")
private Long customerId;
/**
* 签约公司(字典)
*/
@ExcelProperty(value = "签约公司")
private Integer company;
/**
* 销售经理
*/

View File

@@ -8,6 +8,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result property="orderId" column="order_id"/>
<result property="orderCode" column="order_code"/>
<result property="customerId" column="customer_id"/>
<result property="company" column="company"/>
<result property="salesManager" column="sales_manager"/>
<result property="orderStatus" column="order_status"/>
<result property="tradeType" column="trade_type"/>
@@ -24,6 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select o.order_id,
o.order_code,
o.customer_id,
o.company,
o.sales_manager,
o.order_status,
o.remark,
@@ -43,6 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select o.order_id,
o.order_code,
o.customer_id,
o.company,
o.sales_manager,
o.order_status,
o.remark,

View File

@@ -75,6 +75,13 @@
<customer-select style="width: 60%;" v-model="form.customerId" />
</el-form-item>
<el-form-item label="签约公司" prop="company">
<el-select style="width: 60%;" v-model="form.company">
<el-option v-for="item in order_company" :key="item.value" :label="item.label"
:value="parseInt(item.value)" />
</el-select>
</el-form-item>
<el-form-item label="销售经理" prop="salesManager">
<el-input style="width: 60%;" v-model="form.salesManager" placeholder="无" />
</el-form-item>
@@ -155,6 +162,14 @@
<customer-select v-model="form.customerId" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="签约公司" prop="tradeType">
<el-select v-model="form.company" placeholder="请选择签约公司">
<el-option v-for="item in order_company" :key="item.value" :label="item.label"
:value="parseInt(item.value)" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="销售经理" prop="salesManager">
<el-input v-model="form.salesManager" style="width: 100%;" placeholder="请输入销售经理" />
@@ -219,12 +234,12 @@ export default {
},
setup() {
const { proxy } = getCurrentInstance();
const { order_status } = proxy.useDict("order_status");
console.log(order_status);
const { order_status} = proxy.useDict("order_status");
const { order_company } = proxy.useDict("order_company");
return {
order_status
order_status,
order_company
}
},
computed: {
@@ -271,6 +286,7 @@ export default {
orderId: undefined,
orderCode: undefined,
customerId: undefined,
company:undefined,
salesManager: undefined,
// tradeType: this.tradeType,
noTaxAmount: undefined,

View File

@@ -185,6 +185,7 @@ export default {
innerDiameter: undefined,
isEnabled: undefined,
},
categoryList: [],
// 表单参数
form: {},
// 表单校验