import React, {useContext, useState} from "react";
import {Button, Divider, Form, Input, List, message, 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) => {
const store = useStore();
const [form] = Form.useForm();
const history = useHistory();
const [idData, setIdData] = useState("");
const modalLoader = useContext(ModalLoaderContext);
const handleEditButton = (data) => {
console.log(data, "isi data");
form.setFieldsValue({
name: data.name,
code: data.code,
status: data.status,
});
store.supplier.visibleModalSupplier = true;
setIdData(data.id);
};
const handleTopup = (data) => {
console.log(data, "isi data");
form.setFieldsValue({
code: data.code,
});
store.supplier.visibleModalTransaction = true;
store.supplier.code = data.code;
};
const changeStatus = async (id, isActive) => {
const status = isActive ? "inactive" : "active";
const status2 = isActive ? "Inactivating" : "Activating";
try {
modalLoader.setLoading(true);
const response = await store.supplier.changeStatus(id, status);
modalLoader.setLoading(false);
response?.body?.statusCode === 201
? message.success(`Success ${status2} Supplier`)
: message.error(`Failed ${status2} Supplier`);
} catch (err) {
modalLoader.setLoading(false);
console.log("error", err);
message.error(`Failed ${status2} Supplier`);
}
};
const columns = [
{
title: "Name",
dataIndex: "name",
key: "name",
},
{
title: "Kode",
dataIndex: "code",
key: "code",
width: "5%",
},
{
title: "Saldo di Supplier",
dataIndex: ["coa", "amount"],
key: ["coa", "amount"],
width: "20%",
render: (text, record) =>
new Intl.NumberFormat("id-ID", {
style: "currency",
currency: "IDR",
}).format(text),
},
{
title: "Saldo di System",
dataIndex: ["coa_undistribute", "amount"],
key: ["coa_undistribute", "amount"],
width: "20%",
render: (text, record) =>
new Intl.NumberFormat("id-ID", {
style: "currency",
currency: "IDR",
}).format(text),
},
{
title: "Status",
dataIndex: "status",
key: "status",
width: "5%",
render: (text, record) => (