skyouc
2025-05-09 18cee3f153e61fb04b17701d63fbd51a9276122a
rsf-admin/src/page/orders/asnOrder/AsnOrderModal.jsx
@@ -43,7 +43,6 @@
    Select,
    MenuItem
} from '@mui/material';
import DialogCloseButton from "../../components/DialogCloseButton";
import StatusSelectInput from "../../components/StatusSelectInput";
@@ -54,10 +53,15 @@
import request from '@/utils/request';
import { Add, Edit, Delete } from '@mui/icons-material';
import _, { set } from 'lodash';
import { DataGrid, useGridApiRef } from '@mui/x-data-grid';
import { DataGrid, useGridApiRef, GRID_DATE_COL_DEF,  GRID_DATETIME_COL_DEF,  getGridDateOperators, useGridApiContext } from '@mui/x-data-grid';
import { LocalizationProvider, DatePicker, DateTimePicker } from '@mui/x-date-pickers';
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
import DictionarySelect from "../../components/DictionarySelect";
import DictSelect from "../../components/DictSelect";
import "./asnOrder.css";
import { 'zhCN' as locale } from 'date-fns/locale';
import { format, } from 'date-fns';
import { DemoContainer } from '@mui/x-date-pickers/internals/demo';
const AsnOrderModal = (props) => {
    const { open, setOpen, asnId, billReload } = props;
@@ -210,7 +214,7 @@
                aria-hidden
                fullWidth
                disableRestoreFocus
                maxWidth="lg"   // 'xs' | 'sm' | 'md' | 'lg' | 'xl'
                maxWidth="xl"   // 'xs' | 'sm' | 'md' | 'lg' | 'xl'
            >
                <DialogTitle id="form-dialog-title" sx={{
                    position: 'sticky',
@@ -232,7 +236,8 @@
                                        label={translate("table.field.asnOrder.type")}
                                        value={formData.type}
                                        onChange={(e) => handleChange(e.target.value, 'type')}
                                        dictTypeCode="sys_in_stock_type"
                                        dictTypeCode="sys_order_type"
                                        group='1'
                                        required
                                    />
                                </Grid>
@@ -292,9 +297,7 @@
                        </Button>
                    </Toolbar>
                </DialogActions>
            </Dialog>
            <AsnWareModal
                open={createDialog}
                setOpen={setCreateDialog}
@@ -306,6 +309,26 @@
}
export default AsnOrderModal;
const dateColumnType = {
    ...GRID_DATE_COL_DEF,
    resizable: false,
    renderEditCell: (params) => {
        return <GridEditDateCell {...params} />;
    },
    // filterOperators: getGridDateOperators(false).map((item) => ({
    //     ...item,
    //     InputComponent: GridFilterDateInput,
    //     InputComponentProps: { showTime: false },
    // })),
    // valueFormatter: (value) => {
    //     if (value) {
    //         return format(value, 'yyyy-MM-dd', { locale });
    //     }
    //     return '';
    // },
}
const SelectInputSplrNameEditCell = (params) => {
    const [formData, setFormData] = useState([{}])
@@ -364,6 +387,52 @@
        </Select>
    );
};
const GridEditDateCell = ({ id, field, value, colDef, hasFocus }) => {
    const apiRef = useGridApiContext();
    const inputRef = React.useRef(null);
    const Component = colDef.type === 'dateTime' ? DateTimePicker : DatePicker;
    const handleChange = (newValue) => {
        apiRef.current.setEditCellValue({ id, field, value: newValue });
    };
    // useEnhancedEffect(() => {
    //     if (hasFocus) {
    //         inputRef.current.focus();
    //     }
    // }, [hasFocus]);
    return (
        <LocalizationProvider dateAdapter={AdapterDayjs}>
            <DemoContainer components={['DatePicker']}>
                <DatePicker label="Basic date picker" />
            </DemoContainer>
        </LocalizationProvider>
        // <Component
        //     value={value}
        //     autoFocus
        //     onChange={handleChange}
        //     slotProps={{
        //         textField: {
        //             inputRef,
        //             variant: 'standard',
        //             fullWidth: true,
        //             sx: {
        //                 padding: '0 9px',
        //                 justifyContent: 'center',
        //             },
        //             InputProps: {
        //                 disableUnderline: true,
        //                 sx: { fontSize: 'inherit' },
        //             },
        //         },
        //     }}
        // />
    );
}
const SelectInputSplrCodeEditCell = (params) => {
    const [formData, setFormData] = useState([{}])
@@ -451,28 +520,28 @@
            valueFormatter: (val) => val < 0 ? 0 : val,
            headerClassName: "custom",
        },
        {
            field: 'splrCode',
            headerName: translate('table.field.asnOrderItem.splrCode') + "*",
            minWidth: 100,
            flex: 1,
            editable: true,
            renderEditCell: (params) => (
                <SelectInputSplrCodeEditCell {...params} />
            ),
            headerClassName: "custom",
        },
        // {
        //     field: 'splrName',
        //     headerName: translate('table.field.asnOrderItem.splrName') + "*",
        //     field: 'splrCode',
        //     headerName: translate('table.field.asnOrderItem.splrCode') + "*",
        //     minWidth: 100,
        //     flex: 1,
        //     editable: true,
        //     renderEditCell: (params) => (
        //         <SelectInputSplrNameEditCell {...params} />
        //         <SelectInputSplrCodeEditCell {...params} />
        //     ),
        //     headerClassName: "custom",
        // },
        {
            field: 'splrName',
            headerName: translate('table.field.asnOrderItem.splrName') + "*",
            minWidth: 100,
            flex: 1,
            editable: true,
            renderEditCell: (params) => (
                <SelectInputSplrNameEditCell {...params} />
            ),
            headerClassName: "custom",
        },
        // {
        //     field: 'packName',
        //     headerName: translate('table.field.asnOrderItem.packName'),
@@ -480,12 +549,7 @@
        //     flex: 1,
        //     editable: true,
        // },
        // {
        //     field: 'poDetlId',
        //     headerName: translate('table.field.asnOrderItem.poDetlId'),
        //     minWidth: 100,
        //     flex: 1,
        // },
        {
            field: 'platItemId',
            headerName: translate('table.field.asnOrderItem.platItemId') + "*",
@@ -511,6 +575,15 @@
            flex: 1,
            editable: false,
        },
        // {
        //     field: 'prodTime',
        //     headerName: translate('table.field.asnOrderItem.prodTime'),
        //     minWidth: 200,
        //     flex: 1,
        //     ...dateColumnType,
        //     editable: true,
        //     headerClassName: "custom",
        // },
        // {
        //     field: 'purQty',
        //     headerName: translate('table.field.asnOrderItem.purQty'),
@@ -597,7 +670,6 @@
        return newRow;
    };
    const handleSelectionChange = (ids) => {