feat: 新增订单日期范围筛选、明细管理与分类接口

1. 为订单和订单明细BO新增签订、交货日期范围查询字段并配置日期格式化
2. 实现订单日期范围筛选逻辑,新增日期加一天工具方法处理带时间字段的范围查询
3. 重构订单明细列表查询逻辑,支持按合同号、需方、日期范围关联主表筛选
4. 新增通用分类管理接口与页面
5. 优化合同列表页面,新增详情编辑跳转与日期范围筛选
6. 新增订单明细全量查询与单订单明细编辑页面
This commit is contained in:
王文昊
2026-05-16 14:20:30 +08:00
parent dc9c4547fd
commit 52f92c1d69
10 changed files with 2104 additions and 40 deletions

View File

@@ -3,7 +3,8 @@
<!-- 左侧合同列表 -->
<div class="left-panel" style="width: 30%; border-right: 1px solid #e4e7ed; overflow-y: auto;">
<ContractList ref="orderList" @add="handleAdd" @update="handleUpdate" @delete="handleDelete"
@export="handleExport" @exportContract="handleExportContract" @rowClick="handleRowClick" />
@export="handleExport" @exportContract="handleExportContract" @rowClick="handleRowClick"
@detailEdit="handleDetailEdit" />
</div>
<!-- 右侧内容区域 -->
@@ -357,6 +358,31 @@ export default {
this.open = false;
this.reset();
},
/** 跳转合同详情编辑页(与列表路由同级,末段为 contractDetailquery.id 为 orderId */
handleDetailEdit(row) {
const orderId = row && row.orderId;
if (!orderId) {
this.$message.warning("缺少订单ID无法打开详情编辑");
return;
}
const segments = this.$route.path.split("/").filter(Boolean);
if (!segments.length) {
console.error("handleDetailEdit: 当前路由 path 为空", this.$route.path);
this.$message.error("路由异常,无法跳转");
return;
}
segments[segments.length - 1] = "contractDetail";
const path = `/${segments.join("/")}`;
this.$router
.push({ path, query: { id: String(orderId) } })
.catch((err) => {
if (err && err.name === "NavigationDuplicated") {
return;
}
console.error("跳转合同详情编辑失败:", err);
this.$message.error("跳转失败,请确认菜单里详情页路由地址为 contractDetail且与列表页同级");
});
},
/** 行点击事件 */
handleRowClick(row) {
this.form = row;