Merge branch 'develop' into 'devops-staging'

Develop

See merge request empatnusabangsa/ppob/ppob-frontend!20
This commit is contained in:
ilham dwi pratama 2021-12-26 16:03:37 +00:00
commit 1fbf5d8420
16 changed files with 283 additions and 189 deletions

View File

@ -1,5 +1,14 @@
import React, { useContext, useState } from "react";
import {Button, Form, Input, message, Modal, Select, Space, Table,} from "antd";
import {
Button,
Form,
Input,
message,
Modal,
Select,
Space,
Table,
} from "antd";
import { observer } from "mobx-react-lite";
import { useHistory } from "react-router-dom";
import { useStore } from "../utils/useStore";
@ -71,10 +80,14 @@ export const CategoryComponent = observer((props) => {
try {
const response = await store.category.update(idData, data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Ubah Kategori")
: message.error("Gagal Ubah Kategori");
? message.success(
response?.body?.message || "Berhasil Ubah Data Kategori"
)
: message.error(
response?.body?.message || "Gagal Ubah Data Kategori"
);
} catch (e) {
message.error("Gagal Ubah Data Kategori");
message.error(e.response?.body?.message || "Gagal Ubah Data Kategori");
}
modalLoader.setLoading(false);
store.category.visibleModalCategory = false;
@ -85,11 +98,13 @@ export const CategoryComponent = observer((props) => {
try {
const response = await store.category.create(data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Kategori")
: message.error("Gagal Tambah Kategori");
? message.success(
response?.body?.message || "Berhasil Tambah Kategori"
)
: message.error(response?.body?.message || "Gagal Tambah Kategori");
} catch (e) {
console.log(e, "apa errornya");
message.error("Gagal Tambah Kategori");
message.error(e.response?.body?.message || "Gagal Tambah Kategori");
}
modalLoader.setLoading(false);
store.category.visibleModalCategory = false;

View File

@ -1,5 +1,5 @@
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 { useHistory } from "react-router-dom";
import { useStore } from "../utils/useStore";
@ -54,10 +54,10 @@ export const CommissionComponent = observer((props) => {
try {
const response = await store.commission.update(idData, data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Ubah Komisi")
: message.error("Gagal Ubah Komisi");
? message.success(response?.body?.message || "Berhasil Ubah Komisi")
: message.error(response?.body?.message || "Gagal Ubah Komisi");
} catch (e) {
message.error("Gagal Ubah Komisi");
message.error(e.response?.body?.message || "Gagal Ubah Komisi");
}
modalLoader.setLoading(false);
store.commission.visibleModalCommission = false;

View File

@ -48,6 +48,7 @@ export const PartnerComponent = observer((props) => {
name: data.name,
npwp: data.npwp,
address: data.address,
code: data.code,
});
setIsChangePassword(false);
store.partner.visibleModalPartner = true;
@ -72,6 +73,11 @@ export const PartnerComponent = observer((props) => {
dataIndex: "name",
key: "name",
},
{
title: "Kode",
dataIndex: "code",
key: "code",
},
{
title: "Npwp",
dataIndex: "npwp",
@ -181,11 +187,13 @@ export const PartnerComponent = observer((props) => {
const response = await store.partner.create(data);
modalLoader.setLoading(false);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Partner")
: message.error("Gagal Tambah Partner");
? message.success(
response?.body?.message || "Berhasil Tambah Partner"
)
: message.error(response?.body?.message || "Gagal Tambah Partner");
} catch (e) {
console.log(e, "apa errornya");
message.error("Gagal Tambah Partner");
message.error(e.response?.body?.message || "Gagal Tambah Partner");
}
modalLoader.setLoading(false);
store.partner.visibleModalPartner = false;
@ -272,7 +280,7 @@ export const PartnerComponent = observer((props) => {
>
{item?.status === true ? "Inactive" : "Active"}
</Button>
<Button onClick={() => handleEditButton(item)}>
<Button onClick={(owner,name) => handleEditButton(item)}>
Edit
</Button>
{/* <Button onClick={() => handleDelete(record.id)}>Delete</Button> */}
@ -349,6 +357,19 @@ export const PartnerComponent = observer((props) => {
<Input />
</Form.Item>
)}
{!idData && (
<Form.Item
name="code"
label="Kode"
rules={[
idData
? { required: false }
: { required: true, message: "Please input code partner!" },
]}
>
<Input />
</Form.Item>
)}
{!idData && (
<Form.Item
name="owner"
@ -356,7 +377,7 @@ export const PartnerComponent = observer((props) => {
rules={[
idData
? { required: false }
: { required: true, message: "Please input password owner!" },
: { required: true, message: "Please input owner name!" },
]}
>
<Input />

View File

@ -83,7 +83,6 @@ export const ProductComponent = observer((props) => {
title: "Supplier",
dataIndex: "supplier_name",
key: "supplier_name",
},
{
title: "Sub Category",
@ -159,10 +158,12 @@ export const ProductComponent = observer((props) => {
try {
const response = await store.product.update(idData, data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Ubah Data Produk")
: message.error("Gagal Ubah Data Produk");
? message.success(
response?.body?.message || "Berhasil Ubah Data Produk"
)
: message.error(response?.body?.message || "Gagal Ubah Data Produk");
} catch (e) {
message.error("Gagal Ubah Data Produk");
message.error(e.response?.body?.message || "Gagal Ubah Data Produk");
}
modalLoader.setLoading(false);
store.product.visibleModalProduct = false;
@ -173,11 +174,11 @@ export const ProductComponent = observer((props) => {
try {
const response = await store.product.create(data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Produk")
: message.error("Gagal Tambah Produk");
? message.success(response?.body?.message || "Berhasil Tambah Produk")
: message.error(response?.body?.message || "Gagal Tambah Produk");
} catch (e) {
console.log(e, "apa errornya");
message.error("Gagal Tambah Produk");
message.error(e.response?.body?.message || "Gagal Tambah Produk");
}
modalLoader.setLoading(false);
store.product.visibleModalProduct = false;

View File

@ -1,5 +1,16 @@
import React, { useContext, useEffect, useState } from "react";
import {Button, Divider, Form, Input, List, message, Modal, Select, Space, Table,} from "antd";
import {
Button,
Divider,
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";
@ -11,9 +22,8 @@ export const SubcategoryComponent = observer((props) => {
const [idData, setIdData] = useState("");
const modalLoader = useContext(ModalLoaderContext);
useEffect(() => {
getData()
}, [])
getData();
}, []);
const getData = async () => {
await store.category.getData();
await store.subcategory.getData();
@ -69,11 +79,17 @@ export const SubcategoryComponent = observer((props) => {
try {
const response = await store.subcategory.update(idData, data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Ubah Data Sub Kategori")
: message.error("Gagal Ubah Data Sub Kategori");
? message.success(
response?.body?.message || "Berhasil Ubah Data Sub Kategori"
)
: message.error(
response?.body?.message || "Gagal Ubah Data Sub Kategori"
);
//await getData();
} catch (e) {
message.error("Gagal Ubah Data Sub Kategori");
message.error(
e.response?.body?.message || "Gagal Ubah Data Sub Kategori"
);
}
modalLoader.setLoading(false);
store.subcategory.visibleModalSubcategory = false;
@ -84,11 +100,15 @@ export const SubcategoryComponent = observer((props) => {
try {
const response = await store.subcategory.create(data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Sub Kategori")
: message.error("Gagal Tambah Sub Kategori");
? message.success(
response?.body?.message || "Berhasil Tambah Sub Kategori"
)
: message.error(
response?.body?.message || "Gagal Tambah Sub Kategori"
);
} catch (e) {
console.log(e, "apa errornya");
message.error("Gagal Tambah Sub Kategori");
message.error(e.response?.body?.message || "Gagal Tambah Sub Kategori");
}
modalLoader.setLoading(false);
store.subcategory.visibleModalSubcategory = false;

View File

@ -1,5 +1,16 @@
import React, { useContext, useState } from "react";
import {Button, Divider, Form, Input, List, message, Modal, Space, Table, Tag,} from "antd";
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";
@ -162,11 +173,15 @@ export const SupplierComponent = observer((props) => {
modalLoader.setLoading(true);
const response = await store.supplier.update(idData, data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Ubah Data Supplier")
: message.error("Gagal Ubah Data Supplier");
? message.success(
response?.body?.message || "Berhasil Ubah Data Supplier"
)
: message.error(
response?.body?.message || "Gagal Ubah Data Supplier"
);
} catch (e) {
modalLoader.setLoading(false);
message.error("Gagal Ubah Data Supplie");
message.error(e.response?.body?.message || "Gagal Ubah Data Supplie");
}
modalLoader.setLoading(false);
@ -178,11 +193,18 @@ export const SupplierComponent = observer((props) => {
modalLoader.setLoading(true);
const response = await store.supplier.create(data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Supplier Baru")
: message.error("Gagal Tambah Supplier Baru");
? message.success(
response?.body?.message || "Berhasil Tambah Supplier Baru"
)
: message.error(
response?.body?.statusCode === 406
? response?.body?.error || "Supplier Sudah Ada"
: response?.body?.message || "Gagal Tambah Supplier Baru"
//response?.body?.message || "Gagal Tambah Supplier Baru"
);
} catch (e) {
console.log(e, "apa errornya");
message.error("Gagal Tambah Supplier Baru");
message.error(e.response?.body?.message || "Gagal Tambah Supplier");
}
modalLoader.setLoading(false);

View File

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

View File

@ -1,5 +1,6 @@
export const appConfig = {
apiUrl: 'https://ppob-backend.k3s.bangun-kreatif.com/v1'
// apiUrl: 'https://ppob-backend.k3s.bangun-kreatif.com/v1'
apiUrl: 'http://localhost:3222/v1'
// apiUrl: 'http://localhost:3222/v1'
};

View File

@ -48,7 +48,7 @@ export const Login = observer(() => {
color: "#413d3e",
}}
>
Boilerplate
PPOB
</Typography.Paragraph>
</div>
<Card

View File

@ -213,12 +213,16 @@ export const Membership = observer(() => {
try {
const response = await store.membership.create(data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success("Berhasil Tambah Member Baru")
: message.error("Gagal Tambah Member Baru");
? message.success(
response?.body?.message || "Berhasil Tambah Member Baru"
)
: message.error(
response?.body?.message || "Gagal Tambah Member Baru"
);
await getData();
} catch (e) {
console.log(e, "apa errornya");
message.error("Gagal Tambah Member Baru");
message.error(e.response?.body?.message || "Gagal Tambah Member Baru");
}
modalLoader.setLoading(false);
setConfirmLoading(false);

View File

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

View File

@ -1,5 +1,5 @@
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 { LoadingOutlined, PlusOutlined } from "@ant-design/icons";
import { ModalLoaderContext } from "../../utils/modal";
@ -34,20 +34,22 @@ export const PaybackModal = ({initialData}) => {
const res = await store.payback.uploadImages(file);
setImage(`${appConfig.apiUrl}/config/image/${res.body.filename}`);
setResponseFilename(res.body.filename);
setFileList([{
uid: '-1',
setFileList([
{
uid: "-1",
name: res.body.filename,
status: 'done',
status: "done",
url: `${appConfig.apiUrl}/config/image/${res.body.filename}`,
}]);
},
]);
setLoading(false);
};
const handleChange = (info) => {
if (info.file.status === 'uploading') {
if (info.file.status === "uploading") {
setLoading(true);
} else {
setLoading(false)
setLoading(false);
}
};
@ -64,10 +66,10 @@ export const PaybackModal = ({initialData}) => {
const request = {
...data,
destination: store.authentication.profileData.superior?.id,
image_prove: responseFilename
}
await store.payback.create(request);
message.success("Success Add Created");
image_prove: responseFilename,
};
const response = await store.payback.create(request);
message.success(response?.body?.message || "Success Add Created");
} catch (e) {
if (e.response?.body?.message) {
message.error(e.response.body.message);
@ -91,7 +93,7 @@ export const PaybackModal = ({initialData}) => {
setPreviewImage("");
setResponseFilename("");
store.payback.visibleModalPayback = false;
}
};
return (
<Modal
@ -118,10 +120,7 @@ export const PaybackModal = ({initialData}) => {
name="form_in_modal"
initialValues={initialData}
>
<Form.Item
label="Upload Picture"
name="image_prove"
>
<Form.Item label="Upload Picture" name="image_prove">
<div>
<Upload
listType="picture-card"
@ -134,18 +133,19 @@ export const PaybackModal = ({initialData}) => {
beforeUpload={(file) => beforeUpload(file)}
customRequest={(args) => uploadHandler(args)}
onRemove={(file) => {
setImage('');
setImage("");
setLoading(false);
setFileList([]);
}}
>
{image === "" ? uploadButton : null}
</Upload>
<h5 style={{
<h5
style={{
marginTop: 12,
color: "rgba(0, 0, 0, 0.45)",
}}>
}}
>
Max size of file 2 MB
</h5>
</div>
@ -157,8 +157,10 @@ export const PaybackModal = ({initialData}) => {
>
<InputNumber
style={{ width: "100%" }}
formatter={value => `Rp. ${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ',')}
parser={value => value.replace(/\Rp.\s?|(,*)/g, '')}
formatter={(value) =>
`Rp. ${value}`.replace(/\B(?=(\d{3})+(?!\d))/g, ",")
}
parser={(value) => value.replace(/\Rp.\s?|(,*)/g, "")}
/>
</Form.Item>
</Form>

View File

@ -50,9 +50,9 @@ export const Product = observer(() => {
productCode: productCode,
});
if (response.status === 201) {
message.success("Berhasil Beli Produk");
message.success(response?.body?.message || "Berhasil Beli Produk");
} else {
message.error("Gagal Beli Produk", 3);
message.error(response?.body?.message || "Gagal Beli Produk", 3);
}
} catch (e) {
if (e.response?.body?.message) {
@ -123,7 +123,7 @@ export const Product = observer(() => {
marginLeft: 10,
borderColor: "salmon",
height: 100,
marginBottom: 10,
marginBottom: 10
}}
>
<span style={{color: "black"}}>{item.product_name}</span>

View File

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

View File

@ -38,7 +38,7 @@ export class Product {
async getData() {
try {
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) => {
item.key = idx;
return item

View File

@ -29,6 +29,7 @@ export class Supplier {
async getData() {
try {
const response = await http.get(`/users/supplier?page=${this.page}&pageSize=${this.pageSize}`);
//console.log(response)
this.data = response.body.data ?? []
this.total_data = response.body.count ?? 0
} catch (e) {