feat: fixing data table produk and pagination in role admin table

This commit is contained in:
rahman 2022-04-13 11:41:32 +07:00
parent 972ea146d3
commit 7c949403e2
3 changed files with 41 additions and 29 deletions

View File

@ -180,8 +180,8 @@ export const ProductComponent = observer((props) => {
const response = await store.product.update(idData, data);
response?.body?.statusCode === 201 || response?.body?.statusCode === 200
? message.success(
response?.body?.message || "Berhasil Ubah Data Produk"
)
response?.body?.message || "Berhasil Ubah Data Produk"
)
: message.error(response?.body?.message || "Gagal Ubah Data Produk");
} catch (e) {
message.error(e.response?.body?.message || "Gagal Ubah Data Produk");
@ -215,8 +215,8 @@ export const ProductComponent = observer((props) => {
setFilterSubCategories([]);
store.authentication.userData.role === "Admin Partner"
? await store.product.getProductPartner(
store.authentication.profileData.id
)
store.authentication.profileData.id
)
: await store.product.getData();
//await store.product.getData();
store.product.visibleModalFilterProduct = false;
@ -228,8 +228,8 @@ export const ProductComponent = observer((props) => {
store.product.visibleModalFilterProduct = false;
store.authentication.userData.role === "Admin Partner"
? await store.product.getProductPartner(
store.authentication.profileData.id
)
store.authentication.profileData.id
)
: await store.product.getData();
//await store.product.getData();
};
@ -240,8 +240,8 @@ export const ProductComponent = observer((props) => {
modalLoader.setLoading(true);
store.authentication.userData.role === "Admin Partner"
? await store.product.getProductPartner(
store.authentication.profileData.id
)
store.authentication.profileData.id
)
: await store.product.getData();
//await store.product.getData();
modalLoader.setLoading(false);
@ -297,21 +297,25 @@ export const ProductComponent = observer((props) => {
}
onRow={handleClickRow}
pagination={{
pageSize: store.product.pageSize,
pageSize: store.authentication.userData.role === "Admin" ? store.product.pageSize : store.product.pageSizeProductPartner,
total:
store.authentication.userData.role === "Admin Partner"
? store.product.total_data_partner
: store.product.total_data,
current: store.product.page + 1,
current: store.authentication.userData.role === "Admin" ? store.product.page + 1 : store.product.pageProductPartner + 1,
showSizeChanger: true,
simple: false,
}}
onChange={async (page) => {
let pageNumber = page.current;
store.product.pageSize = page.pageSize;
store.product.page = pageNumber - 1;
store.authentication.userData.role === "Admin" ? store.product.pageSize = page.pageSize : store.product.pageSizeProductPartner = page.pageSize;
store.authentication.userData.role === "Admin" ? store.product.page = pageNumber - 1 : store.product.pageProductPartner = pageNumber - 1
modalLoader.setLoading(true);
await store.product.getData();
store.authentication.userData.role === "Admin Partner"
? await store.product.getProductPartner(
// store.authentication.profileData.id
)
: await store.product.getData();
modalLoader.setLoading(false);
}}
/>
@ -322,23 +326,29 @@ export const ProductComponent = observer((props) => {
position={"top"}
pagination={{
onChange: async (page, pageSize) => {
store.product.pageSize = pageSize;
store.product.page = page - 1;
store.authentication.userData.role === "Admin" ? store.product.pageSize = pageSize : store.product.pageSizeProductPartner = pageSize;
store.authentication.userData.role === "Admin" ? store.product.page = page - 1 : store.product.pageProductPartner = page - 1
modalLoader.setLoading(true);
store.authentication.userData.role === "Admin Partner"
? await store.product.getProductPartner(
store.authentication.profileData.id
)
// store.authentication.profileData.id
)
: await store.product.getData();
//await store.product.getData();
modalLoader.setLoading(false);
},
pageSize: store.product.pageSize,
total: store.product.total_data,
current: store.product.page + 1,
pageSize: store.authentication.userData.role === "Admin" ? store.product.pageSize : store.product.pageSizeProductPartner,
total: store.authentication.userData.role === "Admin Partner"
? store.product.total_data_partner
: store.product.total_data,
current: store.authentication.userData.role === "Admin" ? store.product.page + 1 : store.product.pageProductPartner + 1,
style: { marginBottom: "1rem", marginRight: "1rem" },
}}
dataSource={store.product.data}
dataSource={
store.authentication.userData.role === "Admin Partner"
? store.product.dataProductPartner
: store.product.data
}
style={{ padding: 0 }}
renderItem={(item) => {
return (

View File

@ -183,8 +183,8 @@ export const Product = observer(() => {
<BreadcumbComponent
data={
store.authentication.userData.role === "Admin" ||
store.authentication.userData.role === "Admin Partner" ||
store.authentication.userData.role === "Customer Service"
store.authentication.userData.role === "Admin Partner" ||
store.authentication.userData.role === "Customer Service"
? routeData
: dataRoute
}

View File

@ -1,12 +1,12 @@
import {makeAutoObservable} from "mobx";
import {http} from "../utils/http";
import { makeAutoObservable } from "mobx";
import { http } from "../utils/http";
export class Product {
page = 0;
pageSize = 10
data = [];
total_data = 0;
total_data_partner=0;
total_data_partner = 0;
filterSupplier = null;
filterSubCategory = null;
visibleModalProduct = false;
@ -28,10 +28,11 @@ export class Product {
totalDataPriceHistory = 0;
pagePriceHistory = 0;
pageProductPartner = 0;
pageSizeProductPartner = 10
pageSizePriceHistory = 10
dataDetailProduct = {};
dataProductPartner=[]
dataProductPartner = []
constructor(ctx) {
this.ctx = ctx;
@ -54,6 +55,7 @@ export class Product {
}
}
async getDataSubCategories() {
try {
const response = await http.get(`/product/sub-categories?category=${this.filterCategory}&page=${this.pageSubCategories}&pageSize=${this.pageSizeSubCategories}`);
@ -100,10 +102,10 @@ export class Product {
async getProductPartner(id) {
try {
const response = await http.get(`/product/by-categories?page=${this.pageProductPartner}&pageSize=10&sub-category=${id}`);
const response = await http.get(`/product/by-categories?page=${this.pageProductPartner}&pageSize=${this.pageSizeProductPartner}&sub-category=${id}`);
console.log(response)
this.dataProductPartner = response.body.data
this.total_data_partner= response?.body?.count ?? 0
this.total_data_partner = response?.body?.count ?? 0
} catch (e) {
console.error(e);
}