fix: 修复销售订单页面Bug(issues-0311-2)

- salesOrder.ts: 列表API添加normalizeOrderRow字段别名映射
  (salesUserName→salesmanName, salesUserId→salesmanId, saleType→salesType)
- salesOrder.ts: 详情API添加审核信息字段别名映射
  (checkUserName→auditorName, checkDate→auditDate等)
- form.vue: 销售人员下拉及保存优先使用nickName昵称
- form.vue: 主表数量/单价/质量要求/备注输入框去掉size=small,高度恢复默认
- form.vue: 主表物料编码列宽从130增至min-width=260
- view.vue: 详情页基础信息区域样式美化(卡片式布局、label加重、min-height)
- Progress.vue: 新建生产进度页面,展示订单信息及关联生产工单
- router/index.ts: 修复生产进度路由指向Progress.vue(原误指向index.vue)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
panchengyong
2026-03-11 14:04:32 +08:00
parent 80ce9ad8e2
commit c1110d6b08
5 changed files with 250 additions and 14 deletions

View File

@@ -158,10 +158,20 @@ export const BIZ_STATUS_OPTIONS = [
const BASE = '/erp/sl/order'
/** 将列表行数据做字段别名映射 */
function normalizeOrderRow(row: any): any {
return {
...row,
salesmanId: row.salesmanId ?? row.salesUserId,
salesmanName: row.salesmanName ?? row.salesUserName ?? '',
salesType: row.salesType ?? row.saleType ?? '',
}
}
/** 获取销售订单列表(单据视图) */
export function getSalesOrderList(params: SalesOrderQuery): Promise<SalesOrderListResponse> {
return request.get(`${BASE}/list`, { params }).then((res: any) => {
const rows = res.rows ?? res.data?.rows ?? []
const rows = (res.rows ?? res.data?.rows ?? []).map(normalizeOrderRow)
const total = res.total ?? res.data?.total ?? 0
return { list: rows, total }
})
@@ -170,7 +180,7 @@ export function getSalesOrderList(params: SalesOrderQuery): Promise<SalesOrderLi
/** 获取销售订单明细列表(明细视图,展开物料维度) */
export function getSalesOrderDetailList(params: SalesOrderQuery): Promise<SalesOrderDetailListResponse> {
return request.get(`${BASE}/lineList`, { params }).then((res: any) => {
const rows = res.rows ?? res.data?.rows ?? []
const rows = (res.rows ?? res.data?.rows ?? []).map(normalizeOrderRow)
const total = res.total ?? res.data?.total ?? 0
return { list: rows, total }
})
@@ -187,6 +197,11 @@ export function getSalesOrderDetail(orderId: number): Promise<SalesOrder> {
// 后端返回 salesUserId/salesUserName前端表单使用 salesmanId/salesmanName便于下拉回显
if (data.salesUserId !== undefined) data.salesmanId = data.salesUserId
if (data.salesUserName !== undefined) data.salesmanName = data.salesUserName
// 审核信息字段别名映射(后端可能使用 checkBy/checkDate 等命名)
// 使用 == null 而非 ! 判断,避免 auditorId=0 或 auditorName='' 被误判为缺失
if (data.auditorId == null) data.auditorId = data.checkUserId ?? data.checkById ?? data.auditById
if (data.auditorName == null) data.auditorName = data.checkUserName ?? data.checkByName ?? data.auditByName ?? data.auditUser
if (data.auditDate == null) data.auditDate = data.checkDate ?? data.auditTime ?? data.checkTime
return data
})
}