diff --git a/src/pages/master/sparepart/component/DetailSparepart.jsx b/src/pages/master/sparepart/component/DetailSparepart.jsx index 1d3db2e..132b508 100644 --- a/src/pages/master/sparepart/component/DetailSparepart.jsx +++ b/src/pages/master/sparepart/component/DetailSparepart.jsx @@ -12,7 +12,7 @@ import { Col, Image, } from 'antd'; -import { PlusOutlined } from '@ant-design/icons'; +import { PlusOutlined, EyeOutlined, DeleteOutlined } from '@ant-design/icons'; import { NotifAlert, NotifOk } from '../../../../components/Global/ToastNotif'; import { createSparepart, updateSparepart } from '../../../../api/sparepart'; import { uploadFile } from '../../../../api/file-uploads'; @@ -35,13 +35,14 @@ const DetailSparepart = (props) => { const [previewOpen, setPreviewOpen] = useState(false); const [previewImage, setPreviewImage] = useState(''); const [previewTitle, setPreviewTitle] = useState(''); + const [isHovering, setIsHovering] = useState(false); const defaultData = { sparepart_id: '', sparepart_name: '', sparepart_description: '', sparepart_model: '', - sparepart_item_type: '', + sparepart_item_type: null, sparepart_unit: '', sparepart_merk: '', sparepart_stok: '0', @@ -69,6 +70,10 @@ const DetailSparepart = (props) => { const handleChange = ({ fileList: newFileList }) => setFileList(newFileList); + const handleRemove = () => { + setFileList([]); + }; + const handleSave = async () => { setConfirmLoading(true); @@ -364,85 +369,158 @@ const DetailSparepart = (props) => { {formData && (
- - Sparepart Name - * - - - - Item Type - - - - - - - Stock - - - - Unit - - - - - - + {/* Kolom untuk foto */} + Foto - false} - maxCount={1} - disabled={props.readOnly} +
- {fileList.length >= 1 ? null : uploadButton} - - - preview - + {fileList.length > 0 ? ( +
setIsHovering(true)} + onMouseLeave={() => setIsHovering(false)} + style={{ + position: 'relative', + width: '180px', // Fixed width for square + height: '180px', // Fixed height + border: '1px solid #d9d9d9', + borderRadius: '8px', + display: 'flex', + alignItems: 'center', + justifyContent: 'center', + }} + > + preview + {isHovering && !props.readOnly && ( +
+ handlePreview(fileList[0])} + /> + +
+ )} +
+ ) : ( + false} + maxCount={1} + disabled={props.readOnly} + showUploadList={false} + > +
+ +
Upload
+
+
+ )} +
+ + + {/* Kolom untuk field lainnya */} + + + + Sparepart Name + * + + + + Item Type + + + + Stock + + + + Unit + + +
- + Brand { - + Description