1
23 小时以前 08a7fef6fbfc0a959ffa7e928bdae819079db2de
lsh#
4个文件已修改
2个文件已添加
160 ■■■■■ 已修改文件
rsf-admin/src/i18n/en.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/zh.js 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/components/OrderCodeGetOrderTypeField.jsx 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/components/OrderCodeGetTypeField.jsx 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-admin/src/i18n/en.js
@@ -972,6 +972,8 @@
            },
            waitPakinItem: {
                pakinId: "pakinId",
                type: "type",
                wkType: "wkType",
                maktx: "maktx",
                matnrId: "matnrId",
                matnrCode: "matnrCode",
rsf-admin/src/i18n/zh.js
@@ -1020,6 +1020,8 @@
            },
            waitPakinItem: {
                pakinId: "组托Id",
                type: "单据类型",
                wkType: "业务类型",
                maktx: "物料名称",
                matnrId: "物料id",
                matnrCode: "物料编码",
rsf-admin/src/page/components/OrderCodeGetOrderTypeField.jsx
New file
@@ -0,0 +1,60 @@
// 创建 OrderCodeGetTypeField.jsx
import React, { useState, useEffect } from 'react';
import { TextField, useRecordContext, useNotify } from 'react-admin';
import request from '@/utils/request';
const OrderCodeGetTypeField = (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/orderType/${id}`);
            if (code === 200 && data) {
                setOrderCode(data.label || `订单 ${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}
        />
    );
};
OrderCodeGetTypeField.defaultProps = {
    addLabel: true,
};
export default OrderCodeGetTypeField;
rsf-admin/src/page/components/OrderCodeGetTypeField.jsx
New file
@@ -0,0 +1,60 @@
// 创建 OrderCodeGetTypeField.jsx
import React, { useState, useEffect } from 'react';
import { TextField, useRecordContext, useNotify } from 'react-admin';
import request from '@/utils/request';
const OrderCodeGetTypeField = (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/wrkType/${id}`);
            if (code === 200 && data) {
                setOrderCode(data.label || `订单 ${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}
        />
    );
};
OrderCodeGetTypeField.defaultProps = {
    addLabel: true,
};
export default OrderCodeGetTypeField;
rsf-admin/src/page/waitPakin/WaitPakinItemList.jsx
@@ -45,6 +45,8 @@
import { PAGE_DRAWER_WIDTH, OPERATE_MODE, DEFAULT_PAGE_SIZE, DEFAULT_ITEM_PAGE_SIZE } from '@/config/setting';
import * as Common from '@/utils/common';
import request from '@/utils/request';
import OrderCodeGetTypeField from "@/page/components/OrderCodeGetTypeField";
import OrderCodeGetOrderTypeField from "@/page/components/OrderCodeGetOrderTypeField";
const StyledDatagrid = styled(DatagridConfigurable)(({ theme }) => ({
@@ -157,8 +159,8 @@
            const arr = [
                <NumberField source="id" />,
                <NumberField source="pakinId" label="table.field.waitPakinItem.pakinId" />,
                <TextField source="type$" label="table.field.locItem.type" />,
                <NumberField source="wkType$" label="table.field.locItem.wkType" />,
                <OrderCodeGetOrderTypeField source="type" label="table.field.waitPakinItem.type" />,
                <OrderCodeGetTypeField source="wkType" label="table.field.waitPakinItem.wkType" />,
                <TextField source="asnCode" label="table.field.waitPakinItem.asnCode" />,
                // <OrderCodeField source="orderId" label="table.field.locItem.orderId" />,
                <TextField source="platWorkCode" label="table.field.asnOrderItem.platWorkCode" />,
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/WkOrderController.java
@@ -23,8 +23,11 @@
import com.vincent.rsf.server.manager.service.AsnOrderService;
import com.vincent.rsf.server.manager.service.impl.PurchaseItemServiceImpl;
import com.vincent.rsf.server.manager.service.impl.PurchaseServiceImpl;
import com.vincent.rsf.server.system.constant.DictTypeCode;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.system.controller.BaseController;
import com.vincent.rsf.server.system.entity.DictData;
import com.vincent.rsf.server.system.service.impl.DictDataServiceImpl;
import com.vincent.rsf.server.system.utils.SerialRuleUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@@ -48,6 +51,8 @@
    private PurchaseServiceImpl purchaseService;
    @Autowired
    private PurchaseItemServiceImpl purchaseItemService;
    @Autowired
    private DictDataServiceImpl dictDataService;
    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
    @PostMapping("/asnOrder/page")
@@ -94,6 +99,31 @@
        return R.ok().add(asnOrderService.getById(id));
    }
    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
    @OperationLog("表单查询")
    @GetMapping("/asnOrder/wrkType/{id}")
    public R getWrkType(@PathVariable("id") String value) {
//        WkOrder byId = asnOrderService.getById(id);
//        if (Cools.isEmpty(byId)) {
//            return R.ok().add(new DictData());
//        }
        DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>().eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_BUSINESS_TYPE).eq(DictData::getValue, value));
        return R.ok().add(dictData);
    }
    @PreAuthorize("hasAuthority('manager:asnOrder:list')")
    @OperationLog("表单查询")
    @GetMapping("/asnOrder/orderType/{id}")
    public R getOrderType(@PathVariable("id") String value) {
//        WkOrder byId = asnOrderService.getById(id);
//        if (Cools.isEmpty(byId)) {
//            return R.ok().add(new DictData());
//        }
        DictData dictData = dictDataService.getOne(new LambdaQueryWrapper<DictData>().eq(DictData::getDictTypeCode, DictTypeCode.DICT_SYS_ORDER_TYPE).eq(DictData::getValue, value));
        return R.ok().add(dictData);
    }
    @PreAuthorize("hasAuthority('manager:asnOrder:save')")
    @OperationLog("Create ASN单据")
    @PostMapping("/asnOrder/save")