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 * 客户ID
*/ */
private Long customerId; private Long customerId;
/**
* 签约公司(字典)
*/
private Integer company;
/** /**
* 销售经理 * 销售经理
*/ */

View File

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

View File

@@ -43,6 +43,12 @@ public class GearOrderVo extends BaseEntity {
@ExcelProperty(value = "客户ID") @ExcelProperty(value = "客户ID")
private Long customerId; 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="orderId" column="order_id"/>
<result property="orderCode" column="order_code"/> <result property="orderCode" column="order_code"/>
<result property="customerId" column="customer_id"/> <result property="customerId" column="customer_id"/>
<result property="company" column="company"/>
<result property="salesManager" column="sales_manager"/> <result property="salesManager" column="sales_manager"/>
<result property="orderStatus" column="order_status"/> <result property="orderStatus" column="order_status"/>
<result property="tradeType" column="trade_type"/> <result property="tradeType" column="trade_type"/>
@@ -24,6 +25,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select o.order_id, select o.order_id,
o.order_code, o.order_code,
o.customer_id, o.customer_id,
o.company,
o.sales_manager, o.sales_manager,
o.order_status, o.order_status,
o.remark, o.remark,
@@ -43,6 +45,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select o.order_id, select o.order_id,
o.order_code, o.order_code,
o.customer_id, o.customer_id,
o.company,
o.sales_manager, o.sales_manager,
o.order_status, o.order_status,
o.remark, o.remark,

View File

@@ -75,6 +75,13 @@
<customer-select style="width: 60%;" v-model="form.customerId" /> <customer-select style="width: 60%;" v-model="form.customerId" />
</el-form-item> </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-form-item label="销售经理" prop="salesManager">
<el-input style="width: 60%;" v-model="form.salesManager" placeholder="无" /> <el-input style="width: 60%;" v-model="form.salesManager" placeholder="无" />
</el-form-item> </el-form-item>
@@ -155,6 +162,14 @@
<customer-select v-model="form.customerId" /> <customer-select v-model="form.customerId" />
</el-form-item> </el-form-item>
</el-col> </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-col :span="12">
<el-form-item label="销售经理" prop="salesManager"> <el-form-item label="销售经理" prop="salesManager">
<el-input v-model="form.salesManager" style="width: 100%;" placeholder="请输入销售经理" /> <el-input v-model="form.salesManager" style="width: 100%;" placeholder="请输入销售经理" />
@@ -220,11 +235,11 @@ export default {
setup() { setup() {
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { order_status} = proxy.useDict("order_status"); const { order_status} = proxy.useDict("order_status");
const { order_company } = proxy.useDict("order_company");
console.log(order_status);
return { return {
order_status order_status,
order_company
} }
}, },
computed: { computed: {
@@ -271,6 +286,7 @@ export default {
orderId: undefined, orderId: undefined,
orderCode: undefined, orderCode: undefined,
customerId: undefined, customerId: undefined,
company:undefined,
salesManager: undefined, salesManager: undefined,
// tradeType: this.tradeType, // tradeType: this.tradeType,
noTaxAmount: undefined, noTaxAmount: undefined,

View File

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