From 28c42b345375a1e492237122dbc456ca294eac58 Mon Sep 17 00:00:00 2001 From: caturbgs Date: Wed, 15 Dec 2021 20:36:48 +0700 Subject: [PATCH 01/10] feat: stiching api profile and history transaction.js --- src/pages/Profile/Profile.js | 91 ++++++++++++++++++++++++++++-------- src/store/authentication.js | 11 +++++ src/store/transaction.js | 16 ++++++- 3 files changed, 97 insertions(+), 21 deletions(-) diff --git a/src/pages/Profile/Profile.js b/src/pages/Profile/Profile.js index 25e83d2..5f39827 100644 --- a/src/pages/Profile/Profile.js +++ b/src/pages/Profile/Profile.js @@ -1,12 +1,13 @@ -import React from "react"; -import {Card, Col, Row, Typography} from "antd"; +import React, {useEffect} from "react"; +import {Card, Col, Row, Table, Typography} from "antd"; import {BreadcumbComponent} from "../../component/BreadcumbComponent"; import {LINKS} from "../../routes/app"; import {useStore} from "../../utils/useStore"; +import {observer} from "mobx-react-lite"; const {Title, Text} = Typography; -export const Profile = () => { +export const Profile = observer(() => { const store = useStore(); const routeData = [ { @@ -19,6 +20,35 @@ export const Profile = () => { }, ]; + useEffect(() => { + (async () => { + await Promise.allSettled([ + store.authentication.getProfile(), + store.transaction.getDataHistoryTransaction(), + ]); + })() + }, []); + + const columns = [ + { + title: 'Markup Price', + dataIndex: 'mark_up_price', + key: 'mark_up_price', + width: '20%', + }, + { + title: 'Name', + dataIndex: 'name', + key: 'name', + width: '50%', + }, + { + title: 'Transaction Date', + dataIndex: 'created_at', + key: 'created_at', + }, + ] + return (
@@ -27,26 +57,49 @@ export const Profile = () => {
Profile - - - Name - - - {store.authentication.userData.username} - - - Role - - - {store.authentication.userData.role} - - + {/**/} + {/* */} + {/* Name*/} + {/* */} + {/* */} + {/* {store.authentication.profileData.username}*/} + {/* */} + {/* */} + {/* Role*/} + {/* */} + {/* */} + {/* {store.authentication.profileData.roles.name}*/} + {/* */} + {/* */} + {/* Superior*/} + {/* */} + {/* */} + {/* {store.authentication.profileData.superior.username}*/} + {/* */} + {/* */} + {/* Wallet*/} + {/* */} + {/* */} + {/* {store.authentication.profileData.wallet}*/} + {/* */} + {/**/} +
+ + + + +
+ History User Transaction +
-
) -}; +}); diff --git a/src/store/authentication.js b/src/store/authentication.js index 4b90963..526f512 100644 --- a/src/store/authentication.js +++ b/src/store/authentication.js @@ -6,6 +6,7 @@ export class Authentication { isLoggedIn = false; isLoginLoading = false; ctx; + profileData = {}; constructor(ctx) { this.ctx = ctx; @@ -49,6 +50,16 @@ export class Authentication { } } + async getProfile() { + try { + const response = await http.get('/auth/profile'); + this.profileData = response.body.data; + } catch (e) { + console.error(e); + throw e; + } + } + logout() { TokenUtil.clearAccessToken(); TokenUtil.persistToken(); diff --git a/src/store/transaction.js b/src/store/transaction.js index 8150f40..50cd379 100644 --- a/src/store/transaction.js +++ b/src/store/transaction.js @@ -1,5 +1,5 @@ -import { makeAutoObservable } from "mobx"; -import { http } from "../utils/http"; +import {makeAutoObservable} from "mobx"; +import {http} from "../utils/http"; export class Transaction { page = 0; @@ -19,6 +19,11 @@ export class Transaction { dataSubCategories = []; total_dataSubCategories = 0; + pageHistoryTransaction = 0; + pageSizeHistoryTransaction = 10 + dataHistoryTransaction = []; + total_dataHistoryTransaction = 0; + constructor(ctx) { this.ctx = ctx; makeAutoObservable(this); @@ -47,6 +52,13 @@ export class Transaction { } } + async getDataHistoryTransaction() { + const response = await http.get(`/transaction/history?page=${this.pageHistoryTransaction}&pageSize=${this.pageSizeHistoryTransaction}`); + + this.dataHistoryTransaction = response.body.data ?? [] + this.total_dataHistoryTransaction = response.body.total_data ?? 0 + } + async create(data) { const response = await http.post('/product').send(data); await this.getData(); From 2cc6dc53c0a0d81d6de26653b42f913c6685393d Mon Sep 17 00:00:00 2001 From: caturbgs Date: Thu, 16 Dec 2021 11:12:32 +0700 Subject: [PATCH 02/10] fix: stiching API profile and last history --- src/pages/Profile/Profile.js | 52 ++++++++++++++++++------------------ src/store/authentication.js | 2 +- src/store/transaction.js | 4 +-- 3 files changed, 29 insertions(+), 29 deletions(-) diff --git a/src/pages/Profile/Profile.js b/src/pages/Profile/Profile.js index 5f39827..5d851ec 100644 --- a/src/pages/Profile/Profile.js +++ b/src/pages/Profile/Profile.js @@ -57,32 +57,32 @@ export const Profile = observer(() => {
Profile - {/**/} - {/*
*/} - {/* Name*/} - {/* */} - {/* */} - {/* {store.authentication.profileData.username}*/} - {/* */} - {/* */} - {/* Role*/} - {/* */} - {/* */} - {/* {store.authentication.profileData.roles.name}*/} - {/* */} - {/* */} - {/* Superior*/} - {/* */} - {/* */} - {/* {store.authentication.profileData.superior.username}*/} - {/* */} - {/* */} - {/* Wallet*/} - {/* */} - {/* */} - {/* {store.authentication.profileData.wallet}*/} - {/* */} - {/**/} + + + Name + + + {store.authentication.profileData?.username} + + + Role + + + {store.authentication.profileData.roles?.name} + + + Superior + + + {store.authentication.profileData.superior?.username} + + + Wallet + + + {store.authentication.profileData.wallet} + + diff --git a/src/store/authentication.js b/src/store/authentication.js index 526f512..eb541b0 100644 --- a/src/store/authentication.js +++ b/src/store/authentication.js @@ -53,7 +53,7 @@ export class Authentication { async getProfile() { try { const response = await http.get('/auth/profile'); - this.profileData = response.body.data; + this.profileData = response.body; } catch (e) { console.error(e); throw e; diff --git a/src/store/transaction.js b/src/store/transaction.js index 50cd379..63b8c31 100644 --- a/src/store/transaction.js +++ b/src/store/transaction.js @@ -20,7 +20,7 @@ export class Transaction { total_dataSubCategories = 0; pageHistoryTransaction = 0; - pageSizeHistoryTransaction = 10 + // pageSizeHistoryTransaction = 10 dataHistoryTransaction = []; total_dataHistoryTransaction = 0; @@ -53,7 +53,7 @@ export class Transaction { } async getDataHistoryTransaction() { - const response = await http.get(`/transaction/history?page=${this.pageHistoryTransaction}&pageSize=${this.pageSizeHistoryTransaction}`); + const response = await http.get(`/transaction/history?page=${this.pageHistoryTransaction}`); this.dataHistoryTransaction = response.body.data ?? [] this.total_dataHistoryTransaction = response.body.total_data ?? 0 From 19ef0eee64df3745093ad87592ee9c44b6889253 Mon Sep 17 00:00:00 2001 From: caturbgs Date: Thu, 16 Dec 2021 12:32:55 +0700 Subject: [PATCH 03/10] feat: change layout profile page --- src/pages/Profile/Profile.js | 58 +++++++++++++++++------------------- 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/src/pages/Profile/Profile.js b/src/pages/Profile/Profile.js index 5d851ec..6eb391f 100644 --- a/src/pages/Profile/Profile.js +++ b/src/pages/Profile/Profile.js @@ -53,36 +53,34 @@ export const Profile = observer(() => {
+ Profile -
-
- Profile - -
- Name - - - {store.authentication.profileData?.username} - - - Role - - - {store.authentication.profileData.roles?.name} - - - Superior - - - {store.authentication.profileData.superior?.username} - - - Wallet - - - {store.authentication.profileData.wallet} - - + + + + Name + + + {store.authentication.profileData?.username} + + + Role + + + {store.authentication.profileData.roles?.name} + + + Superior + + + {store.authentication.profileData.superior?.username} + + + + +
+ Saldo + {store.authentication.profileData?.wallet}
@@ -92,7 +90,7 @@ export const Profile = observer(() => { History User Transaction
From e206c0e221cf402642b227e01b1b490672656a15 Mon Sep 17 00:00:00 2001 From: caturbgs Date: Thu, 16 Dec 2021 12:36:42 +0700 Subject: [PATCH 04/10] feat: add filter button last history transaction --- src/pages/Profile/Profile.js | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/pages/Profile/Profile.js b/src/pages/Profile/Profile.js index 6eb391f..3855740 100644 --- a/src/pages/Profile/Profile.js +++ b/src/pages/Profile/Profile.js @@ -1,9 +1,10 @@ import React, {useEffect} from "react"; -import {Card, Col, Row, Table, Typography} from "antd"; +import {Button, Card, Col, Row, Table, Typography} from "antd"; import {BreadcumbComponent} from "../../component/BreadcumbComponent"; import {LINKS} from "../../routes/app"; import {useStore} from "../../utils/useStore"; import {observer} from "mobx-react-lite"; +import {FilterOutlined} from "@ant-design/icons"; const {Title, Text} = Typography; @@ -88,9 +89,16 @@ export const Profile = observer(() => {
History User Transaction + +
From 6ef3964fdb8b6ab89d5ef70f366ab100fcf88ebe Mon Sep 17 00:00:00 2001 From: rarsyansyahr Date: Thu, 16 Dec 2021 12:50:25 +0700 Subject: [PATCH 05/10] feat: add membership activable toggle & change password --- src/pages/Membership/Membership.js | 50 ++++++++++---- src/pages/Membership/MembershipModal.js | 88 ++++++++++--------------- src/store/commission.js | 7 +- src/store/membership.js | 4 +- 4 files changed, 82 insertions(+), 67 deletions(-) diff --git a/src/pages/Membership/Membership.js b/src/pages/Membership/Membership.js index 0e621a2..9e74cfb 100644 --- a/src/pages/Membership/Membership.js +++ b/src/pages/Membership/Membership.js @@ -51,6 +51,9 @@ export const Membership = observer(() => { const changeStatus = async (id, isActive) => { const status = isActive ? "inactive" : "active"; const status2 = isActive ? "Inactivating" : "Activating"; + + console.log(status); + try { const response = await store.membership.changeStatus(id, status); @@ -80,11 +83,10 @@ export const Membership = observer(() => { key: "status", render: (text, record) => ( changeStatus(record?.id, record?.status)} + color={record?.isActive === true ? "processing" : "#E3E8EE"} + style={{ color: "#4F566B" }} > - {record?.status === true ? " ACTIVE" : "INACTIVE"} + {record?.isActive === true ? " ACTIVE" : "INACTIVE"} ), }, @@ -93,27 +95,45 @@ export const Membership = observer(() => { key: "action", render: (text, record) => ( + + {/* - {/* */} ), @@ -132,13 +152,19 @@ export const Membership = observer(() => { ]; const onSubmit = async (data) => { + data.superior = true; + if (initialData.id) { setInitialData({}); setConfirmLoading(true); try { console.log(data); await store.membership.update(initialData.id, data); - message.success("Success Update Data Member"); + message.success( + initialData.isChangePassword + ? "Success Change Member Password" + : "Success Update Data Member" + ); await store.membership.getData(); } catch (e) { message.error("Failed Update Data Member"); diff --git a/src/pages/Membership/MembershipModal.js b/src/pages/Membership/MembershipModal.js index c3c9796..f59929b 100644 --- a/src/pages/Membership/MembershipModal.js +++ b/src/pages/Membership/MembershipModal.js @@ -28,7 +28,10 @@ export const MembershipModal = ({ form .validateFields() .then((values) => { - onCreate(values); + let input = values; + input.username = initialData.username; + + onCreate(input); form.resetFields(); }) .catch((info) => { @@ -42,58 +45,39 @@ export const MembershipModal = ({ name="form_in_modal" initialValues={initialData} > - - - - - - - - - - - - + + + )} + {initialData.id && initialData.isChangePassword && ( + + + + )} + {initialData.id && !initialData.isChangePassword && ( + + + + )} ); diff --git a/src/store/commission.js b/src/store/commission.js index c53ca87..e87449a 100644 --- a/src/store/commission.js +++ b/src/store/commission.js @@ -26,8 +26,11 @@ export class Commission { async getData() { const response = await http.get(`/config/commission?page=${this.page}&pageSize=${this.pageSize}`); - console.log(response) - this.data = response.body.data ?? [] + this.data = response.body.data.map((item, idx) => { + item.key = idx; + return item + }) ?? [] + this.total_data = response.body.total_data ?? 0 } async create(data) { diff --git a/src/store/membership.js b/src/store/membership.js index fcbea6b..2d4abde 100644 --- a/src/store/membership.js +++ b/src/store/membership.js @@ -14,7 +14,7 @@ export class Membership { async getData() { const response = await http.get(`/users?page=${this.page}&pageSize=${this.pageSize}`); - + this.data = response.body.data.map((item, idx) => { item.key = idx; return item @@ -47,6 +47,8 @@ export class Membership { } async changeStatus(id, status) { + console.log(`/users/${id}/${status}`); + const response = await http.get(`/users/${id}/${status}`); await this.getData(); return response; From 375d1225529b8e382d523b8cbb087d2bea513e0d Mon Sep 17 00:00:00 2001 From: rarsyansyahr Date: Thu, 16 Dec 2021 14:01:53 +0700 Subject: [PATCH 06/10] add partner activable toggle & change password --- src/component/PartnerComponent.js | 159 +++++++++++++----------- src/pages/Config/Partner.js | 19 +-- src/pages/Membership/Membership.js | 6 +- src/pages/Membership/MembershipModal.js | 8 +- 4 files changed, 103 insertions(+), 89 deletions(-) diff --git a/src/component/PartnerComponent.js b/src/component/PartnerComponent.js index d08a8e5..f80a61b 100644 --- a/src/component/PartnerComponent.js +++ b/src/component/PartnerComponent.js @@ -23,6 +23,7 @@ export const PartnerComponent = observer((props) => { const { Option } = Select; const history = useHistory(); const [idData, setIdData] = useState(""); + const [isChangePassword, setIsChangePassword] = useState(false); const [confirmLoading, setConfirmLoading] = useState(false); const [isLoading, setIsLoading] = useState(false); @@ -62,6 +63,19 @@ export const PartnerComponent = observer((props) => { npwp: data.npwp, address: data.address, }); + setIsChangePassword(false); + store.partner.visibleModalPartner = true; + setIdData(data.id); + }; + + const changePassword = (data) => { + // form.setFieldsValue({ + // name: data.name, + // npwp: data.npwp, + // address: data.address, + + // }); + setIsChangePassword(true); store.partner.visibleModalPartner = true; setIdData(data.id); }; @@ -89,8 +103,7 @@ export const PartnerComponent = observer((props) => { render: (text, record) => ( changeStatus(record?.id, record?.status)} + style={{ color: "#4F566B", cursor: "pointer" }} > {record?.status === true ? " ACTIVE" : "INACTIVE"} @@ -101,25 +114,19 @@ export const PartnerComponent = observer((props) => { key: "action", render: (text, record) => ( + - + {/* */} + ), }, ]; -// const handleEditStatus = async (id)=>{ -// try { -// console.log(id); -// await store.partner.delete(id); -// message.success("Data Berhasil Dihapus"); -// history.push(LINKS.PARTNER); -// } catch (err) { -// console.log("error", err); -// message.error("Gagal menghapus"); -// } -// } - const deleteData = async (id) => { try { console.log(id); @@ -132,7 +139,6 @@ export const PartnerComponent = observer((props) => { } }; - const handleDelete = (id) => { Modal.confirm({ title: "Are you sure delete this record?", @@ -160,10 +166,10 @@ export const PartnerComponent = observer((props) => { setConfirmLoading(true); try { await store.partner.update(idData, data); - message.success("Success Update Data Partner"); + message.success(isChangePassword ? "Failed Change Partner Password" : "Success Update Data Partner"); //await store.partner.getData() } catch (e) { - message.error("Failed Update Data Partner"); + message.error(isChangePassword ? "Failed Change Partner Password" : "Failed Update Data Partner"); } setConfirmLoading(false); store.partner.visibleModalPartner = false; @@ -211,7 +217,13 @@ export const PartnerComponent = observer((props) => { { @@ -232,60 +244,65 @@ export const PartnerComponent = observer((props) => { }} >
- - - - - - - - - - - - - - - + : { required: true, message: "Please input password name!" }, + ]} + > + + + )} + {((idData && isChangePassword) || !idData) && ( + + + + )} + + {!isChangePassword && ( + <> + + + + + + + + )}
diff --git a/src/pages/Config/Partner.js b/src/pages/Config/Partner.js index f6ca7c3..0fb2f57 100644 --- a/src/pages/Config/Partner.js +++ b/src/pages/Config/Partner.js @@ -51,10 +51,10 @@ export const Partner = observer(() => {
- + */} { - - - - - - )) - + ); diff --git a/src/pages/Membership/Membership.js b/src/pages/Membership/Membership.js index 9e74cfb..d27c4f0 100644 --- a/src/pages/Membership/Membership.js +++ b/src/pages/Membership/Membership.js @@ -167,7 +167,11 @@ export const Membership = observer(() => { ); await store.membership.getData(); } catch (e) { - message.error("Failed Update Data Member"); + message.error( + initialData.isChangePassword + ? "Failed Update Member Password" + : "Failed Update Data Member" + ); } setConfirmLoading(false); setVisibleModal(false); diff --git a/src/pages/Membership/MembershipModal.js b/src/pages/Membership/MembershipModal.js index f59929b..6eb78b4 100644 --- a/src/pages/Membership/MembershipModal.js +++ b/src/pages/Membership/MembershipModal.js @@ -17,7 +17,13 @@ export const MembershipModal = ({ return ( { From a093174c7d0126d526a5825d358b6025bbfaf96a Mon Sep 17 00:00:00 2001 From: rarsyansyahr Date: Thu, 16 Dec 2021 14:15:30 +0700 Subject: [PATCH 07/10] fix: create new membership --- src/pages/App/MenuList.js | 8 -------- src/pages/Membership/MembershipModal.js | 6 +++--- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/src/pages/App/MenuList.js b/src/pages/App/MenuList.js index bf6c867..afc5508 100644 --- a/src/pages/App/MenuList.js +++ b/src/pages/App/MenuList.js @@ -111,14 +111,6 @@ export const MenuList = observer((props) => { )} - {store.authentication.userData.role !== "Retail" && ( - - - - Product - - - )} diff --git a/src/pages/Membership/MembershipModal.js b/src/pages/Membership/MembershipModal.js index 6eb78b4..bfc0a59 100644 --- a/src/pages/Membership/MembershipModal.js +++ b/src/pages/Membership/MembershipModal.js @@ -51,7 +51,7 @@ export const MembershipModal = ({ name="form_in_modal" initialValues={initialData} > - {initialData.id && !initialData.isChangePassword && ( + {((initialData.id && !initialData.isChangePassword) || !initialData.id) && ( )} - {initialData.id && initialData.isChangePassword && ( + {((initialData.id && initialData.isChangePassword) || !initialData.id) && ( )} - {initialData.id && !initialData.isChangePassword && ( + {((initialData.id && !initialData.isChangePassword) || !initialData.id) && ( Date: Thu, 16 Dec 2021 15:14:13 +0700 Subject: [PATCH 08/10] feat: add missing implement user --- src/store/user.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/store/user.js b/src/store/user.js index 741da5b..9e08229 100644 --- a/src/store/user.js +++ b/src/store/user.js @@ -1,9 +1,14 @@ -import {action, observable} from "mobx"; +import {action, makeAutoObservable, observable} from "mobx"; import {http} from "../utils/http"; export class User { @observable data = []; + constructor(ctx) { + this.ctx = ctx; + makeAutoObservable(this); + } + @action async getData() { this.data = (await http.get('/user')).body.data; From 14407dd5e39ee5865d7d460ebbdc6f2c38d19d6c Mon Sep 17 00:00:00 2001 From: caturbgs Date: Thu, 16 Dec 2021 16:01:45 +0700 Subject: [PATCH 09/10] feat: add additional key profile --- src/pages/Profile/Profile.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/pages/Profile/Profile.js b/src/pages/Profile/Profile.js index 3855740..f4f366a 100644 --- a/src/pages/Profile/Profile.js +++ b/src/pages/Profile/Profile.js @@ -61,6 +61,18 @@ export const Profile = observer(() => { Name + + {store.authentication.profileData?.userDetail?.name} + + + Phone Number + + + {store.authentication.profileData?.userDetail?.phone_number} + + + Username + {store.authentication.profileData?.username} From a29cfd5c9281c231dc8667a7ac001df1325a9568 Mon Sep 17 00:00:00 2001 From: rarsyansyahr Date: Thu, 16 Dec 2021 16:07:32 +0700 Subject: [PATCH 10/10] feat: show membership by superior --- src/pages/App/DesktopLayout.js | 2 +- src/pages/Membership/Membership.js | 25 ++++++++++++++++++------- src/pages/Product/Product.js | 28 +++++++++++++++++++++------- src/store/membership.js | 17 ++++++++++++----- 4 files changed, 52 insertions(+), 20 deletions(-) diff --git a/src/pages/App/DesktopLayout.js b/src/pages/App/DesktopLayout.js index de39103..1b47af9 100644 --- a/src/pages/App/DesktopLayout.js +++ b/src/pages/App/DesktopLayout.js @@ -83,7 +83,7 @@ export const DesktopLayout = observer(() => { color: "#413d3e", }} > - Admin + {store.authentication.userData.role} {}} /> diff --git a/src/pages/Membership/Membership.js b/src/pages/Membership/Membership.js index d27c4f0..17e781e 100644 --- a/src/pages/Membership/Membership.js +++ b/src/pages/Membership/Membership.js @@ -37,8 +37,8 @@ export const Membership = observer(() => { const init = async () => { try { setIsLoading(true); - await store.membership.getData(); - await store.role.getData(); + await getData(); + store.role.getData(); setIsLoading(false); } catch (e) { setIsLoading(false); @@ -48,6 +48,12 @@ export const Membership = observer(() => { init(); }, []); + const getData = () => { + (store.authentication.userData.role === "Admin") + ? store.membership.getData() + : store.membership.getDataBySuperior(); + } + const changeStatus = async (id, isActive) => { const status = isActive ? "inactive" : "active"; const status2 = isActive ? "Inactivating" : "Activating"; @@ -77,6 +83,11 @@ export const Membership = observer(() => { dataIndex: "username", key: "username", }, + { + title: "Role", + dataIndex: "roleName", + key: "role", + }, { title: "Status", dataIndex: "status", @@ -165,7 +176,7 @@ export const Membership = observer(() => { ? "Success Change Member Password" : "Success Update Data Member" ); - await store.membership.getData(); + await getData(); } catch (e) { message.error( initialData.isChangePassword @@ -181,7 +192,7 @@ export const Membership = observer(() => { try { await store.membership.create(data); message.success("Success Add New Member"); - await store.membership.getData(); + await getData(); } catch (e) { console.log(e, "apa errornya"); message.error("Failed Add Member"); @@ -203,7 +214,7 @@ export const Membership = observer(() => { //TODO: minta apinya ke ka ilham ya, jangan di uncomment kalo pake api reconcile, nanti beneran ke apus datanya await store.membership.delete(record); message.success("Success Delete Data"); - await store.membership.getData(); + await getData(); } catch (e) { message.error("Failed Delete Data"); } @@ -268,7 +279,7 @@ export const Membership = observer(() => { store.membership.pageSize = page.pageSize; store.membership.page = pageNumber - 1; // store.membership.isLoading = true; - await store.membership.getData(); + await getData(); // store.membership.isLoading = false; }} /> @@ -282,7 +293,7 @@ export const Membership = observer(() => { onChange: (page) => { store.membership.pageSize = page.pageSize; store.membership.page = page.current; - store.membership.getData(); + getData(); }, pageSize: store.membership.pageSize, total: store.membership.total_data, diff --git a/src/pages/Product/Product.js b/src/pages/Product/Product.js index 2f5496a..0f80346 100644 --- a/src/pages/Product/Product.js +++ b/src/pages/Product/Product.js @@ -1,5 +1,5 @@ import React, { useEffect, useState } from "react"; -import { Button, Card, Col, Input, Row, Tabs } from "antd"; +import { Button, Card, Col, Input, Row, Select, Tabs } from "antd"; import { FilterOutlined, PlusSquareOutlined } from "@ant-design/icons"; import { BreadcumbComponent } from "../../component/BreadcumbComponent"; import { useStore } from "../../utils/useStore"; @@ -9,6 +9,7 @@ import { LINKS } from "../../routes/app"; const { TabPane } = Tabs; const { Search } = Input; +const { Option } = Select; export const Product = observer(() => { const [isLoading, setIsLoading] = useState(false); @@ -72,14 +73,27 @@ export const Product = observer(() => { - + + + + + + + {/* {store.product.dataCategories.map((item, idx) => ( - - {/* */} - - + */} + {/* */} + + {/* ))} - + */} ); diff --git a/src/store/membership.js b/src/store/membership.js index 2d4abde..e6398fe 100644 --- a/src/store/membership.js +++ b/src/store/membership.js @@ -17,16 +17,23 @@ export class Membership { this.data = response.body.data.map((item, idx) => { item.key = idx; + item.roleName = item.roles.name; + return item + }) ?? [] + + this.total_data = response.body.total_data ?? 0 + } + + async getDataBySuperior() { + const response = await http.get(`/users/find-by-supperior?page=${this.page}&pageSize=${this.pageSize}`); + this.data = response.body.data.map((item, idx) => { + item.key = idx; + item.roleName = item.roles.name; return item }) ?? [] this.total_data = response.body.total_data ?? 0 } - // async getData() { - // const response = await http.get(`/users/find-by-supperior?page=${this.page}&pageSize=${this.pageSize}`); - // this.data = response.body.data ?? [] - // this.total_data = response.body.total_data ?? 0 - // } async create(data) { return await http.post('/users').send(data)