From e07b5ecacc2476cf551d665af92d3bb902aa0e90 Mon Sep 17 00:00:00 2001
From: 1 <1@123>
Date: 星期五, 23 一月 2026 17:24:24 +0800
Subject: [PATCH] lsh#
---
rsf-admin/src/page/components/OrderCodeField.jsx | 60 ++++++++++++++++++++++++++++++
rsf-admin/src/page/locPreview/LocPreviewItems.jsx | 3 +
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java | 4 ++
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/OrderItem.java | 6 +++
4 files changed, 72 insertions(+), 1 deletions(-)
diff --git a/rsf-admin/src/page/components/OrderCodeField.jsx b/rsf-admin/src/page/components/OrderCodeField.jsx
new file mode 100644
index 0000000..b0afc4d
--- /dev/null
+++ b/rsf-admin/src/page/components/OrderCodeField.jsx
@@ -0,0 +1,60 @@
+// 鍒涘缓 OrderCodeField.jsx
+import React, { useState, useEffect } from 'react';
+import { TextField, useRecordContext, useNotify } from 'react-admin';
+import request from '@/utils/request';
+
+const OrderCodeField = (props) => {
+ const { source, label, ...rest } = props;
+ const record = useRecordContext();
+ const [orderCode, setOrderCode] = useState('');
+ const [loading, setLoading] = useState(false);
+ const notify = useNotify();
+
+ const orderId = record?.[source];
+
+ useEffect(() => {
+ if (orderId) {
+ fetchOrderCode(orderId);
+ }
+ }, [orderId]);
+
+ const fetchOrderCode = async (id) => {
+ if (!id) return;
+
+ setLoading(true);
+ try {
+ const { data: { code, data, msg } } = await request.get(`/asnOrder/${id}`);
+ if (code === 200 && data) {
+ setOrderCode(data.code || `璁㈠崟 ${id}`);
+ } else {
+ setOrderCode(`璁㈠崟 ${id}`);
+ if (code !== 200) {
+ notify(msg || '鑾峰彇璁㈠崟淇℃伅澶辫触', { type: 'warning' });
+ }
+ }
+ } catch (error) {
+ console.error('鑾峰彇璁㈠崟淇℃伅澶辫触:', error);
+ setOrderCode(`璁㈠崟 ${id}`);
+ notify('缃戠粶閿欒锛岃幏鍙栬鍗曚俊鎭け璐�', { type: 'error' });
+ } finally {
+ setLoading(false);
+ }
+ };
+
+ if (!orderId) return null;
+
+ return (
+ <TextField
+ {...rest}
+ record={{ ...record, [source]: loading ? '鍔犺浇涓�...' : orderCode }}
+ source={source}
+ label={label}
+ />
+ );
+};
+
+OrderCodeField.defaultProps = {
+ addLabel: true,
+};
+
+export default OrderCodeField;
\ No newline at end of file
diff --git a/rsf-admin/src/page/locPreview/LocPreviewItems.jsx b/rsf-admin/src/page/locPreview/LocPreviewItems.jsx
index d0cba55..d9715c3 100644
--- a/rsf-admin/src/page/locPreview/LocPreviewItems.jsx
+++ b/rsf-admin/src/page/locPreview/LocPreviewItems.jsx
@@ -39,6 +39,7 @@
import { useNavigate } from 'react-router-dom';
import { styled } from '@mui/material/styles';
import request from '@/utils/request';
+import OrderCodeField from '../components/OrderCodeField';
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
'& .css-1vooibu-MuiSvgIcon-root': {
@@ -160,7 +161,7 @@
<NumberField source="locId" label="table.field.locItem.locId" />,
<TextField source="wareArea" label="table.field.locItem.wareArea" />,
<TextField source="locCode" label="table.field.locItem.locCode" />,
- <NumberField source="orderId" label="table.field.locItem.orderId" />,
+ <OrderCodeField source="orderId" label="table.field.locItem.orderId" />,
<NumberField source="wkType$" label="table.field.locItem.wkType" />,
<TextField source="platWorkCode" label="table.field.asnOrderItem.platWorkCode" />,
<TextField source="platItemId" label="table.field.asnOrderItem.platItemId" />,
diff --git a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/OrderItem.java b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/OrderItem.java
index 474d5ec..67034ea 100644
--- a/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/OrderItem.java
+++ b/rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/OrderItem.java
@@ -30,6 +30,7 @@
private String makTx;
// 瑙勬牸
private String spec;
+ private String specs;
// 鍨嬪彿
private String model;
// 鏁伴噺
@@ -62,4 +63,9 @@
private String keeperId;
// 淇濈鑰呭悕绉�
private String keeperName;
+
+ public void setSpec(String spec) {
+ this.spec = spec;
+ this.specs = spec;
+ }
}
diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
index 9a1ea89..dbe3bc0 100644
--- a/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
+++ b/rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -474,6 +474,10 @@
map.put("platItemId", orderItem.getLineId());
map.put("splrBatch", orderItem.getBatch());
map.put("batch", orderItem.getBatch());
+ map.put("spec", orderItem.getSpecs());
+ map.put("model", orderItem.getModel());
+ map.put("stockUnit", orderItem.getUnit());
+ map.put("purUnit", orderItem.getUnit());
if (!asnOrderItemService.fieldsSave(map, loginUserId)) {
throw new CoolException("鏄庣粏淇濆瓨澶辫触锛侊紒");
--
Gitblit v1.9.1