1
1 天以前 e07b5ecacc2476cf551d665af92d3bb902aa0e90
lsh#
3个文件已修改
1个文件已添加
73 ■■■■■ 已修改文件
rsf-admin/src/page/components/OrderCodeField.jsx 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/locPreview/LocPreviewItems.jsx 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/phyz/OrderItem.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/components/OrderCodeField.jsx
New file
@@ -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;
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" />,                
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;
    }
}
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("明细保存失败!!");