fix ( upload image & api )

deskripsi:
- fix upload dokumen investasi
- fix api investasi
This commit is contained in:
2025-01-15 15:16:52 +08:00
parent 1855b6df32
commit 60ea92cbb5
29 changed files with 543 additions and 501 deletions

View File

@@ -3,13 +3,13 @@
import { UIGlobal_LayoutHeaderTamplate, UIGlobal_LayoutTamplate } from "@/app_modules/_global/ui"
import { Investasi_ViewCreateDocument } from "../../_view";
export function Investasi_UiCreateDocument({ investasiId }: { investasiId : string}) {
export function Investasi_UiCreateDocument() {
return (
<>
<UIGlobal_LayoutTamplate
header={<UIGlobal_LayoutHeaderTamplate title="Tambah Dokumen" />}
>
<Investasi_ViewCreateDocument investasiId={investasiId}/>
<Investasi_ViewCreateDocument />
</UIGlobal_LayoutTamplate>
</>
);

View File

@@ -6,22 +6,13 @@ import {
} from "@/app_modules/_global/ui";
import { Investasi_ViewDaftarDokumen } from "../../_view";
export function Investasi_UiDaftarDokmen({
dataDokumen,
investasiId,
}: {
dataDokumen: any[];
investasiId: string
}) {
export function Investasi_UiDaftarDokmen() {
return (
<>
<UIGlobal_LayoutTamplate
header={<UIGlobal_LayoutHeaderTamplate title="Daftar Dokumen" />}
>
<Investasi_ViewDaftarDokumen
dataDokumen={dataDokumen}
investasiId={investasiId}
/>
<Investasi_ViewDaftarDokumen />
</UIGlobal_LayoutTamplate>
</>
);

View File

@@ -1,63 +1,93 @@
"use client";
import { NEW_RouterInvestasi } from "@/app/lib/router_hipmi/router_investasi";
import { MainColor } from "@/app_modules/_global/color";
import ComponentGlobal_Loader from "@/app_modules/_global/component/loader";
import {
UIGlobal_Drawer,
UIGlobal_DrawerCustom,
UIGlobal_LayoutHeaderTamplate,
UIGlobal_LayoutTamplate,
} from "@/app_modules/_global/ui";
import { ActionIcon, Box, SimpleGrid, Stack, Text } from "@mantine/core";
import CustomSkeleton from "@/app_modules/components/CustomSkeleton";
import { clientLogger } from "@/util/clientLogger";
import { ActionIcon, SimpleGrid, Stack, Text } from "@mantine/core";
import { useShallowEffect } from "@mantine/hooks";
import {
IconCategoryPlus,
IconDotsVertical,
IconEdit,
IconFilePencil,
} from "@tabler/icons-react";
import { useRouter } from "next/navigation";
import { useParams, useRouter } from "next/navigation";
import { useState } from "react";
import { apiGetOneInvestasiById } from "../../_lib/api_interface";
import { MODEL_INVESTASI } from "../../_lib/interface";
import {
Investasi_ViewDetailDraft,
Investasi_ViewDetailReject,
Investasi_ViewDetailReview,
} from "../../_view";
import ComponentGlobal_Loader from "@/app_modules/_global/component/loader";
import { MainColor } from "@/app_modules/_global/color";
export function Investasi_UiDetailPortofolio({
dataInvestasi,
userLoginId,
}: {
dataInvestasi: MODEL_INVESTASI;
userLoginId: string;
}) {
export function Investasi_UiDetailPortofolio() {
const params = useParams<{ id: string }>();
const investasiId = params.id;
const router = useRouter();
const [isLoading, setLoading] = useState(false);
const [pageId, setPageId] = useState("");
const [openDrawer, setOpenDrawer] = useState(false);
const [data, setData] = useState<any>(dataInvestasi);
const [data, setData] = useState<MODEL_INVESTASI | null>(null);
const listPage = [
{
id: "1",
name: "Edit Investasi",
icon: <IconEdit />,
path: NEW_RouterInvestasi.edit_investasi({ id: data.id }),
path: NEW_RouterInvestasi.edit_investasi({ id: investasiId }),
},
{
id: "2",
name: "Edit Prospektus",
icon: <IconFilePencil />,
path: NEW_RouterInvestasi.edit_prospektus({ id: data.id }),
path: NEW_RouterInvestasi.edit_prospektus({ id: investasiId }),
},
{
id: "3",
name: "Tambah & Edit Dokumen",
icon: <IconCategoryPlus />,
path: NEW_RouterInvestasi.rekap_dokumen({ id: data.id }),
path: NEW_RouterInvestasi.rekap_dokumen({ id: investasiId }),
},
];
useShallowEffect(() => {
onLoadData();
}, []);
async function onLoadData() {
try {
const respone = await apiGetOneInvestasiById({
id: investasiId,
});
if (respone.success) {
setData(respone.data);
}
} catch (error) {
clientLogger.error("Error get detail investasi:", error);
}
}
if (data === null) {
return (
<>
<UIGlobal_LayoutTamplate
header={<UIGlobal_LayoutHeaderTamplate title={`Detail`} />}
>
<CustomSkeleton height={"80vh"} />
</UIGlobal_LayoutTamplate>
</>
);
}
if (data.masterStatusInvestasiId == "3")
return (
<>
@@ -76,15 +106,9 @@ export function Investasi_UiDetailPortofolio({
/>
}
>
<Investasi_ViewDetailDraft dataInvestasi={dataInvestasi} />
<Investasi_ViewDetailDraft dataInvestasi={data} />
</UIGlobal_LayoutTamplate>
{/* <UIGlobal_Drawer
opened={openDrawer}
close={() => setOpenDrawer(false)}
component={listPage}
/> */}
<UIGlobal_DrawerCustom
opened={openDrawer}
close={() => setOpenDrawer(false)}
@@ -98,9 +122,7 @@ export function Investasi_UiDetailPortofolio({
onClick={() => {
setPageId(e?.id);
setLoading(true);
if (e.id === "1") {
setData({});
}
router.push(e?.path, { scroll: false });
}}
>
@@ -125,16 +147,16 @@ export function Investasi_UiDetailPortofolio({
<UIGlobal_LayoutTamplate
header={
<UIGlobal_LayoutHeaderTamplate
title={`Detail ${dataInvestasi.MasterStatusInvestasi.name}`}
title={`Detail ${data.MasterStatusInvestasi.name}`}
/>
}
>
{dataInvestasi.masterStatusInvestasiId === "2" && (
<Investasi_ViewDetailReview dataInvestasi={dataInvestasi} />
{data.masterStatusInvestasiId === "2" && (
<Investasi_ViewDetailReview dataInvestasi={data} />
)}
{dataInvestasi.masterStatusInvestasiId === "4" && (
<Investasi_ViewDetailReject dataInvestasi={dataInvestasi} />
{data.masterStatusInvestasiId === "4" && (
<Investasi_ViewDetailReject dataInvestasi={data} />
)}
</UIGlobal_LayoutTamplate>
);

View File

@@ -10,16 +10,13 @@ import { ActionIcon } from "@mantine/core";
import { IconCirclePlus, IconDotsVertical } from "@tabler/icons-react";
import { useState } from "react";
import { Investasi_ViewRekapDokumen } from "../../_view";
import { useParams } from "next/navigation";
export function Investasi_UiRekapDokumen() {
const params = useParams<{ id: string }>();
const investasiId = params.id;
export function Investasi_UiRekapDokumen({
investasiId,
dataDokumen,
}: {
investasiId: string;
dataDokumen: any[]
}) {
const [openDrawer, setOpenDrawer] = useState(false);
const listPage = [
{
id: "1",
@@ -47,8 +44,6 @@ export function Investasi_UiRekapDokumen({
}
>
<Investasi_ViewRekapDokumen
dataDokumen={dataDokumen}
investasiId={investasiId}
/>
</UIGlobal_LayoutTamplate>

View File

@@ -6,13 +6,13 @@ import {
} from "@/app_modules/_global/ui";
import { Investasi_ViewEditDokumen } from "../../_view";
export function Investasi_UiEditDokumen({ dataDokumen }: { dataDokumen: any }) {
export function Investasi_UiEditDokumen() {
return (
<>
<UIGlobal_LayoutTamplate
header={<UIGlobal_LayoutHeaderTamplate title="Edit Dokumen" />}
>
<Investasi_ViewEditDokumen dataDokumen={dataDokumen} />
<Investasi_ViewEditDokumen />
</UIGlobal_LayoutTamplate>
</>
);

View File

@@ -1,4 +1,5 @@
"use client";
import { UIGlobal_LayoutHeaderTamplate, UIGlobal_LayoutTamplate, } from "@/app_modules/_global/ui";
import { Investasi_ViewEditInvestasiNew } from "../../_view/edit/view_edit_investasi_new";