Repair Menu

This commit is contained in:
ajat91.sudrajat 2021-12-24 10:48:06 +07:00
parent 884a23ae80
commit c371a727b1
13 changed files with 267 additions and 193 deletions

View File

@ -1,10 +1,19 @@
import React, {useContext, useState} from "react"; import React, { useContext, useState } from "react";
import {Button, Form, Input, message, Modal, Select, Space, Table,} from "antd"; import {
import {observer} from "mobx-react-lite"; Button,
import {useHistory} from "react-router-dom"; Form,
import {useStore} from "../utils/useStore"; Input,
import {LINKS} from "../routes/app"; message,
import {ModalLoaderContext} from "../utils/modal"; Modal,
Select,
Space,
Table,
} from "antd";
import { observer } from "mobx-react-lite";
import { useHistory } from "react-router-dom";
import { useStore } from "../utils/useStore";
import { LINKS } from "../routes/app";
import { ModalLoaderContext } from "../utils/modal";
export const CategoryComponent = observer((props) => { export const CategoryComponent = observer((props) => {
const store = useStore(); const store = useStore();
@ -69,12 +78,16 @@ export const CategoryComponent = observer((props) => {
if (idData !== "") { if (idData !== "") {
modalLoader.setLoading(true); modalLoader.setLoading(true);
try { try {
const response =await store.category.update(idData, data); const response = await store.category.update(idData, data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200 response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Ubah Kategori") ? message.success(
: message.error("Gagal Ubah Kategori"); response?.body?.message || "Berhasil Ubah Data Kategori"
)
: message.error(
response?.body?.message || "Gagal Ubah Data Kategori"
);
} catch (e) { } catch (e) {
message.error("Gagal Ubah Data Kategori"); message.error(e.response?.body?.message || "Gagal Ubah Data Kategori");
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
store.category.visibleModalCategory = false; store.category.visibleModalCategory = false;
@ -83,13 +96,15 @@ export const CategoryComponent = observer((props) => {
} else { } else {
modalLoader.setLoading(true); modalLoader.setLoading(true);
try { try {
const response=await store.category.create(data); const response = await store.category.create(data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200 response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Kategori") ? message.success(
: message.error("Gagal Tambah Kategori"); response?.body?.message || "Berhasil Tambah Kategori"
)
: message.error(response?.body?.message || "Gagal Tambah Kategori");
} catch (e) { } catch (e) {
console.log(e, "apa errornya"); console.log(e, "apa errornya");
message.error("Gagal Tambah Kategori"); message.error(e.response?.body?.message || "Gagal Tambah Kategori");
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
store.category.visibleModalCategory = false; store.category.visibleModalCategory = false;
@ -101,7 +116,7 @@ export const CategoryComponent = observer((props) => {
return ( return (
<div> <div>
<Table <Table
style={{textAlign: "center"}} style={{ textAlign: "center" }}
columns={columns} columns={columns}
dataSource={store.category.data} dataSource={store.category.data}
bordered bordered
@ -148,16 +163,16 @@ export const CategoryComponent = observer((props) => {
<Form.Item <Form.Item
name="code" name="code"
label="Code" label="Code"
rules={[{required: true, message: "Please input name code!"}]} rules={[{ required: true, message: "Please input name code!" }]}
> >
<Input/> <Input />
</Form.Item> </Form.Item>
<Form.Item <Form.Item
name="name" name="name"
label="Name" label="Name"
rules={[{required: true, message: "Please input name category!"}]} rules={[{ required: true, message: "Please input name category!" }]}
> >
<Input/> <Input />
</Form.Item> </Form.Item>
</Form> </Form>
</Modal> </Modal>

View File

@ -1,9 +1,9 @@
import React, {useContext, useState} from "react"; import React, { useContext, useState } from "react";
import {Button, Form, Input, message, Modal, Space, Table,} from "antd"; import { Button, Form, Input, message, Modal, Space, Table } from "antd";
import {observer} from "mobx-react-lite"; import { observer } from "mobx-react-lite";
import {useHistory} from "react-router-dom"; import { useHistory } from "react-router-dom";
import {useStore} from "../utils/useStore"; import { useStore } from "../utils/useStore";
import {ModalLoaderContext} from "../utils/modal"; import { ModalLoaderContext } from "../utils/modal";
export const CommissionComponent = observer((props) => { export const CommissionComponent = observer((props) => {
const store = useStore(); const store = useStore();
@ -52,12 +52,12 @@ export const CommissionComponent = observer((props) => {
const handleSubmit = async (data) => { const handleSubmit = async (data) => {
modalLoader.setLoading(true); modalLoader.setLoading(true);
try { try {
const response=await store.commission.update(idData, data); const response = await store.commission.update(idData, data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200 response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Ubah Komisi") ? message.success(response?.body?.message || "Berhasil Ubah Komisi")
: message.error("Gagal Ubah Komisi"); : message.error(response?.body?.message || "Gagal Ubah Komisi");
} catch (e) { } catch (e) {
message.error("Gagal Ubah Komisi"); message.error(e.response?.body?.message || "Gagal Ubah Komisi");
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
store.commission.visibleModalCommission = false; store.commission.visibleModalCommission = false;
@ -68,7 +68,7 @@ export const CommissionComponent = observer((props) => {
return ( return (
<div> <div>
<Table <Table
style={{textAlign: "center"}} style={{ textAlign: "center" }}
columns={columns} columns={columns}
dataSource={store.commission.data} dataSource={store.commission.data}
bordered bordered
@ -115,9 +115,9 @@ export const CommissionComponent = observer((props) => {
<Form.Item <Form.Item
name="value" name="value"
label="Commission" label="Commission"
rules={[{required: true, message: "Please input commission!"}]} rules={[{ required: true, message: "Please input commission!" }]}
> >
<Input/> <Input />
</Form.Item> </Form.Item>
</Form> </Form>
</Modal> </Modal>

View File

@ -181,11 +181,13 @@ export const PartnerComponent = observer((props) => {
const response = await store.partner.create(data); const response = await store.partner.create(data);
modalLoader.setLoading(false); modalLoader.setLoading(false);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200 response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Partner") ? message.success(
: message.error("Gagal Tambah Partner"); response?.body?.message || "Berhasil Tambah Partner"
)
: message.error(response?.body?.message || "Gagal Tambah Partner");
} catch (e) { } catch (e) {
console.log(e, "apa errornya"); console.log(e, "apa errornya");
message.error("Gagal Tambah Partner"); message.error(e.response?.body?.message || "Gagal Tambah Partner");
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
store.partner.visibleModalPartner = false; store.partner.visibleModalPartner = false;

View File

@ -83,7 +83,6 @@ export const ProductComponent = observer((props) => {
title: "Supplier", title: "Supplier",
dataIndex: "supplier_name", dataIndex: "supplier_name",
key: "supplier_name", key: "supplier_name",
}, },
{ {
title: "Sub Category", title: "Sub Category",
@ -108,15 +107,17 @@ export const ProductComponent = observer((props) => {
key: "action", key: "action",
render: (text, record) => ( render: (text, record) => (
<Button <Button
onClick={async () => { onClick={async () => {
await store.product.getDetail(record.product_id); await store.product.getDetail(record.product_id);
await store.product.getDetailProduct(record.product_id); await store.product.getDetailProduct(record.product_id);
history.push(LINKS.PRODUCT_DETAIL.replace(":id", record.product_id)); history.push(
//console.log(record.product_id); LINKS.PRODUCT_DETAIL.replace(":id", record.product_id)
}} );
> //console.log(record.product_id);
Detail }}
</Button> >
Detail
</Button>
), ),
}, },
]; ];
@ -160,12 +161,14 @@ export const ProductComponent = observer((props) => {
if (idData !== "") { if (idData !== "") {
modalLoader.setLoading(true); modalLoader.setLoading(true);
try { try {
const response=await store.product.update(idData, data); const response = await store.product.update(idData, data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200 response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Ubah Data Produk") ? message.success(
: message.error("Gagal Ubah Data Produk"); response?.body?.message || "Berhasil Ubah Data Produk"
)
: message.error(response?.body?.message || "Gagal Ubah Data Produk");
} catch (e) { } catch (e) {
message.error("Gagal Ubah Data Produk"); message.error(e.response?.body?.message || "Gagal Ubah Data Produk");
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
store.product.visibleModalProduct = false; store.product.visibleModalProduct = false;
@ -174,13 +177,13 @@ export const ProductComponent = observer((props) => {
} else { } else {
modalLoader.setLoading(true); modalLoader.setLoading(true);
try { try {
const response=await store.product.create(data); const response = await store.product.create(data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200 response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Produk") ? message.success(response?.body?.message || "Berhasil Tambah Produk")
: message.error("Gagal Tambah Produk"); : message.error(response?.body?.message || "Gagal Tambah Produk");
} catch (e) { } catch (e) {
console.log(e, "apa errornya"); console.log(e, "apa errornya");
message.error("Gagal Tambah Produk"); message.error(e.response?.body?.message || "Gagal Tambah Produk");
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
store.product.visibleModalProduct = false; store.product.visibleModalProduct = false;

View File

@ -1,19 +1,29 @@
import React, {useContext, useEffect, useState} from "react"; import React, { useContext, useEffect, useState } from "react";
import {Button, Divider, Form, Input, List, message, Modal, Select, Space, Table,} from "antd"; import {
import {observer} from "mobx-react-lite"; Button,
import {useStore} from "../utils/useStore"; Divider,
import {ModalLoaderContext} from "../utils/modal"; Form,
Input,
List,
message,
Modal,
Select,
Space,
Table,
} from "antd";
import { observer } from "mobx-react-lite";
import { useStore } from "../utils/useStore";
import { ModalLoaderContext } from "../utils/modal";
export const SubcategoryComponent = observer((props) => { export const SubcategoryComponent = observer((props) => {
const store = useStore(); const store = useStore();
const [form] = Form.useForm(); const [form] = Form.useForm();
const {Option} = Select; const { Option } = Select;
const [idData, setIdData] = useState(""); const [idData, setIdData] = useState("");
const modalLoader = useContext(ModalLoaderContext); const modalLoader = useContext(ModalLoaderContext);
useEffect(() => { useEffect(() => {
getData();
getData() }, []);
}, [])
const getData = async () => { const getData = async () => {
await store.category.getData(); await store.category.getData();
await store.subcategory.getData(); await store.subcategory.getData();
@ -67,13 +77,19 @@ export const SubcategoryComponent = observer((props) => {
if (idData !== "") { if (idData !== "") {
modalLoader.setLoading(true); modalLoader.setLoading(true);
try { try {
const response=await store.subcategory.update(idData, data); const response = await store.subcategory.update(idData, data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200 response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Ubah Data Sub Kategori") ? message.success(
: message.error("Gagal Ubah Data Sub Kategori"); response?.body?.message || "Berhasil Ubah Data Sub Kategori"
)
: message.error(
response?.body?.message || "Gagal Ubah Data Sub Kategori"
);
//await getData(); //await getData();
} catch (e) { } catch (e) {
message.error("Gagal Ubah Data Sub Kategori"); message.error(
e.response?.body?.message || "Gagal Ubah Data Sub Kategori"
);
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
store.subcategory.visibleModalSubcategory = false; store.subcategory.visibleModalSubcategory = false;
@ -82,13 +98,17 @@ export const SubcategoryComponent = observer((props) => {
} else { } else {
modalLoader.setLoading(true); modalLoader.setLoading(true);
try { try {
const response =await store.subcategory.create(data); const response = await store.subcategory.create(data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200 response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Sub Kategori") ? message.success(
: message.error("Gagal Tambah Sub Kategori"); response?.body?.message || "Berhasil Tambah Sub Kategori"
)
: message.error(
response?.body?.message || "Gagal Tambah Sub Kategori"
);
} catch (e) { } catch (e) {
console.log(e, "apa errornya"); console.log(e, "apa errornya");
message.error("Gagal Tambah Sub Kategori"); message.error(e.response?.body?.message || "Gagal Tambah Sub Kategori");
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
store.subcategory.visibleModalSubcategory = false; store.subcategory.visibleModalSubcategory = false;
@ -137,7 +157,7 @@ export const SubcategoryComponent = observer((props) => {
pageSize: store.subcategory.pageSize, pageSize: store.subcategory.pageSize,
total: store.subcategory.total_data, total: store.subcategory.total_data,
current: store.subcategory.page + 1, current: store.subcategory.page + 1,
style: {marginBottom: "1rem", marginRight: "1rem"}, style: { marginBottom: "1rem", marginRight: "1rem" },
}} }}
dataSource={store.subcategory.data} dataSource={store.subcategory.data}
style={{ padding: 0 }} style={{ padding: 0 }}

View File

@ -1,12 +1,23 @@
import React, {useContext, useState} from "react"; import React, { useContext, useState } from "react";
import {Button, Divider, Form, Input, List, message, Modal, Space, Table, Tag,} from "antd"; import {
import {observer} from "mobx-react-lite"; Button,
import {ExclamationCircleOutlined} from "@ant-design/icons"; Divider,
import {useHistory} from "react-router-dom"; Form,
import {useStore} from "../utils/useStore"; Input,
import {LINKS} from "../routes/app"; List,
import {TopupsaldoModal} from "./TopupsaldoModal"; message,
import {ModalLoaderContext} from "../utils/modal"; Modal,
Space,
Table,
Tag,
} from "antd";
import { observer } from "mobx-react-lite";
import { ExclamationCircleOutlined } from "@ant-design/icons";
import { useHistory } from "react-router-dom";
import { useStore } from "../utils/useStore";
import { LINKS } from "../routes/app";
import { TopupsaldoModal } from "./TopupsaldoModal";
import { ModalLoaderContext } from "../utils/modal";
export const SupplierComponent = observer((props) => { export const SupplierComponent = observer((props) => {
const store = useStore(); const store = useStore();
@ -160,13 +171,17 @@ export const SupplierComponent = observer((props) => {
if (idData !== "") { if (idData !== "") {
try { try {
modalLoader.setLoading(true); modalLoader.setLoading(true);
const response=await store.supplier.update(idData, data); const response = await store.supplier.update(idData, data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200 response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Ubah Data Supplier") ? message.success(
: message.error("Gagal Ubah Data Supplier"); response?.body?.message || "Berhasil Ubah Data Supplier"
)
: message.error(
response?.body?.message || "Gagal Ubah Data Supplier"
);
} catch (e) { } catch (e) {
modalLoader.setLoading(false); modalLoader.setLoading(false);
message.error("Gagal Ubah Data Supplie"); message.error(e.response?.body?.message || "Gagal Ubah Data Supplie");
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
@ -176,13 +191,19 @@ export const SupplierComponent = observer((props) => {
} else { } else {
try { try {
modalLoader.setLoading(true); modalLoader.setLoading(true);
const response=await store.supplier.create(data); const response = await store.supplier.create(data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200 response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Supplier Baru") ? message.success(
: message.error("Gagal Tambah Supplier Baru"); response?.body?.message || "Berhasil Tambah Supplier Baru"
)
: message.error(
response?.body?.message || "Gagal Tambah Supplier Baru"
);
} catch (e) { } catch (e) {
console.log(e, "apa errornya"); console.log(e, "apa errornya");
message.error("Gagal Tambah Supplier Baru"); message.error(
e.response?.body?.message || "Gagal Tambah Supplier Baru"
);
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
@ -232,7 +253,7 @@ export const SupplierComponent = observer((props) => {
pageSize: store.supplier.pageSize, pageSize: store.supplier.pageSize,
total: store.supplier.total_data, total: store.supplier.total_data,
current: store.supplier.page + 1, current: store.supplier.page + 1,
style: {marginBottom: "1rem", marginRight: "1rem"}, style: { marginBottom: "1rem", marginRight: "1rem" },
}} }}
dataSource={store.supplier.data} dataSource={store.supplier.data}
style={{ padding: 0 }} style={{ padding: 0 }}

View File

@ -16,11 +16,11 @@ export const TopupsaldoModal = observer((props) => {
const handleSubmitTransaction = async (data) => { const handleSubmitTransaction = async (data) => {
try { try {
modalLoader.setLoading(true); modalLoader.setLoading(true);
await store.supplier.createTransaction(data); const response = await store.supplier.createTransaction(data);
message.success("Success Top Up"); message.success(response?.body?.message || "Success Top Up");
} catch (e) { } catch (e) {
console.log(e, "apa errornya"); console.log(e, "apa errornya");
message.error("Failed Top Up"); message.error(e.response?.body?.message || "Failed Top Up");
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);

View File

@ -213,12 +213,16 @@ export const Membership = observer(() => {
try { try {
const response = await store.membership.create(data); const response = await store.membership.create(data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200 response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Member Baru") ? message.success(
: message.error("Gagal Tambah Member Baru"); response?.body?.message || "Berhasil Tambah Member Baru"
)
: message.error(
response?.body?.message || "Gagal Tambah Member Baru"
);
await getData(); await getData();
} catch (e) { } catch (e) {
console.log(e, "apa errornya"); console.log(e, "apa errornya");
message.error("Gagal Tambah Member Baru"); message.error(e.response?.body?.message || "Gagal Tambah Member Baru");
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
setConfirmLoading(false); setConfirmLoading(false);
@ -333,7 +337,7 @@ export const Membership = observer(() => {
</small>{" "} </small>{" "}
<br /> <br />
<Button <Button
style={{marginRight:10}} style={{ marginRight: 10 }}
onClick={() => { onClick={() => {
setDestination(item?.id); setDestination(item?.id);
console.log(item?.id); console.log(item?.id);

View File

@ -176,13 +176,19 @@ export const Payback = observer(() => {
try { try {
const response = await store.payback.confirmPayback(id, type); const response = await store.payback.confirmPayback(id, type);
if (response.body.status !== 201) { if (response.body.status !== 201) {
message.error(`Failed ${capitalize(type)} Payback`); message.error(
response?.body?.message || `Failed ${capitalize(type)} Payback`
);
} else { } else {
message.success(`Success ${capitalize(type)} Payback`); message.success(
response?.body?.message || `Success ${capitalize(type)} Payback`
);
} }
} catch (e) { } catch (e) {
console.error(e, "apa errornya"); console.error(e, "apa errornya");
message.error("Failed Handler Action Payback"); message.error(
e.response?.body?.message || "Failed Handler Action Payback"
);
} }
modalLoader.setLoading(false); modalLoader.setLoading(false);
}; };

View File

@ -1,11 +1,11 @@
import React, {useContext, useState} from "react"; import React, { useContext, useState } from "react";
import {Form, InputNumber, message, Modal, Upload,} from "antd"; import { Form, InputNumber, message, Modal, Upload } from "antd";
import {useStore} from "../../utils/useStore"; import { useStore } from "../../utils/useStore";
import {LoadingOutlined, PlusOutlined} from "@ant-design/icons"; import { LoadingOutlined, PlusOutlined } from "@ant-design/icons";
import {ModalLoaderContext} from "../../utils/modal"; import { ModalLoaderContext } from "../../utils/modal";
import {appConfig} from "../../config/app"; import { appConfig } from "../../config/app";
export const PaybackModal = ({initialData}) => { export const PaybackModal = ({ initialData }) => {
const [form] = Form.useForm(); const [form] = Form.useForm();
const store = useStore(); const store = useStore();
const [image, setImage] = useState(""); const [image, setImage] = useState("");
@ -34,28 +34,30 @@ export const PaybackModal = ({initialData}) => {
const res = await store.payback.uploadImages(file); const res = await store.payback.uploadImages(file);
setImage(`${appConfig.apiUrl}/config/image/${res.body.filename}`); setImage(`${appConfig.apiUrl}/config/image/${res.body.filename}`);
setResponseFilename(res.body.filename); setResponseFilename(res.body.filename);
setFileList([{ setFileList([
uid: '-1', {
name: res.body.filename, uid: "-1",
status: 'done', name: res.body.filename,
url: `${appConfig.apiUrl}/config/image/${res.body.filename}`, status: "done",
}]); url: `${appConfig.apiUrl}/config/image/${res.body.filename}`,
},
]);
setLoading(false); setLoading(false);
}; };
const handleChange = (info) => { const handleChange = (info) => {
if (info.file.status === 'uploading') { if (info.file.status === "uploading") {
setLoading(true); setLoading(true);
} else { } else {
setLoading(false) setLoading(false);
} }
}; };
const uploadButton = ( const uploadButton = (
<div> <div>
{loading ? <LoadingOutlined/> : <PlusOutlined/>} {loading ? <LoadingOutlined /> : <PlusOutlined />}
<div style={{marginTop: 8}}>Click to Upload</div> <div style={{ marginTop: 8 }}>Click to Upload</div>
</div> </div>
); );
const handleSubmit = async (data) => { const handleSubmit = async (data) => {
@ -64,10 +66,10 @@ export const PaybackModal = ({initialData}) => {
const request = { const request = {
...data, ...data,
destination: store.authentication.profileData.superior?.id, destination: store.authentication.profileData.superior?.id,
image_prove: responseFilename image_prove: responseFilename,
} };
await store.payback.create(request); const response = await store.payback.create(request);
message.success("Success Add Created"); message.success(response?.body?.message || "Success Add Created");
} catch (e) { } catch (e) {
if (e.response?.body?.message) { if (e.response?.body?.message) {
message.error(e.response.body.message); message.error(e.response.body.message);
@ -91,77 +93,77 @@ export const PaybackModal = ({initialData}) => {
setPreviewImage(""); setPreviewImage("");
setResponseFilename(""); setResponseFilename("");
store.payback.visibleModalPayback = false; store.payback.visibleModalPayback = false;
} };
return ( return (
<Modal <Modal
visible={store.payback.visibleModalPayback} visible={store.payback.visibleModalPayback}
title={"Create a new Created"} title={"Create a new Created"}
okText={"Create"} okText={"Create"}
cancelText="Cancel" cancelText="Cancel"
onCancel={handleCancel} onCancel={handleCancel}
onOk={() => { onOk={() => {
form form
.validateFields() .validateFields()
.then((values) => { .then((values) => {
handleSubmit(values); handleSubmit(values);
form.resetFields(); form.resetFields();
}) })
.catch((info) => { .catch((info) => {
console.log("Validate Failed:", info); console.log("Validate Failed:", info);
}); });
}} }}
>
<Form
form={form}
layout="vertical"
name="form_in_modal"
initialValues={initialData}
> >
<Form <Form.Item label="Upload Picture" name="image_prove">
form={form} <div>
layout="vertical" <Upload
name="form_in_modal" listType="picture-card"
initialValues={initialData} fileList={fileList}
> onPreview={(file) => {
<Form.Item setPreviewImage(file.url || file.filename);
label="Upload Picture" }}
name="image_prove" showUploadList={true}
> onChange={handleChange}
<div> beforeUpload={(file) => beforeUpload(file)}
<Upload customRequest={(args) => uploadHandler(args)}
listType="picture-card" onRemove={(file) => {
fileList={fileList} setImage("");
onPreview={(file) => { setLoading(false);
setPreviewImage(file.url || file.filename); setFileList([]);
}} }}
showUploadList={true} >
onChange={handleChange} {image === "" ? uploadButton : null}
beforeUpload={(file) => beforeUpload(file)} </Upload>
customRequest={(args) => uploadHandler(args)} <h5
onRemove={(file) => { style={{
setImage('');
setLoading(false);
setFileList([]);
}}
>
{image === "" ? uploadButton : null}
</Upload>
<h5 style={{
marginTop: 12, marginTop: 12,
color: "rgba(0, 0, 0, 0.45)", color: "rgba(0, 0, 0, 0.45)",
}}> }}
Max size of file 2 MB >
</h5> Max size of file 2 MB
</div> </h5>
</Form.Item> </div>
<Form.Item </Form.Item>
name="amount" <Form.Item
label="amount" name="amount"
rules={[{required: true, message: "Please input Amount!"}]} label="amount"
> rules={[{ required: true, message: "Please input Amount!" }]}
<InputNumber >
style={{width: "100%"}} <InputNumber
formatter={value => `Rp. ${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')} style={{ width: "100%" }}
parser={value => value.replace(/\Rp.\s?|(,*)/g, '')} formatter={(value) =>
/> `Rp. ${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
</Form.Item> }
</Form> parser={(value) => value.replace(/\Rp.\s?|(,*)/g, "")}
</Modal> />
</Form.Item>
</Form>
</Modal>
); );
}; };

View File

@ -48,9 +48,9 @@ export const Product = observer(() => {
productCode: data, productCode: data,
}); });
if (response.status === 201) { if (response.status === 201) {
message.success("Berhasil Beli Produk"); message.success(response?.body?.message || "Berhasil Beli Produk");
} else { } else {
message.error("Gagal Beli Produk", 3); message.error(response?.body?.message || "Gagal Beli Produk", 3);
} }
} catch (e) { } catch (e) {
if (e.response?.body?.message) { if (e.response?.body?.message) {

View File

@ -22,6 +22,7 @@ export class Category {
async getData() { async getData() {
try { try {
const response = await http.get(`/product/categories?page=${this.page}&pageSize=${this.pageSize}`); const response = await http.get(`/product/categories?page=${this.page}&pageSize=${this.pageSize}`);
console.log(response)
this.data = response.body.data.map((item, idx) => { this.data = response.body.data.map((item, idx) => {
item.key = idx; item.key = idx;
return item return item

View File

@ -36,7 +36,7 @@ export class Product {
async getData() { async getData() {
try { try {
const response = await http.get(`/product/all?supplier=${this.filterSupplier}&sub-category=${this.filterSubCategory}&page=${this.page}&pageSize=${this.pageSize}`); const response = await http.get(`/product/all?supplier=${this.filterSupplier}&sub-category=${this.filterSubCategory}&page=${this.page}&pageSize=${this.pageSize}`);
console.log(response) //console.log(response)
this.data = response.body.data.map((item, idx) => { this.data = response.body.data.map((item, idx) => {
item.key = idx; item.key = idx;
return item return item