feat: add asset thumbnail fetching and update worker data display in Hrm component
This commit is contained in:
@@ -3,6 +3,7 @@ import { ClockThreeIcon, LocationPinIcon, TargetIcon } from '../../../../icons/E
|
|||||||
import { useSceneContext } from '../../../../../modules/scene/sceneContext';
|
import { useSceneContext } from '../../../../../modules/scene/sceneContext';
|
||||||
import RenameInput from '../../../../ui/inputs/RenameInput';
|
import RenameInput from '../../../../ui/inputs/RenameInput';
|
||||||
import { useResourceManagementId } from '../../../../../store/builder/store';
|
import { useResourceManagementId } from '../../../../../store/builder/store';
|
||||||
|
import { getAssetThumbnail } from '../../../../../services/factoryBuilder/asset/assets/getAssetThumbnail';
|
||||||
// import NavigateCatagory from '../NavigateCatagory'
|
// import NavigateCatagory from '../NavigateCatagory'
|
||||||
|
|
||||||
const Hrm = () => {
|
const Hrm = () => {
|
||||||
@@ -12,13 +13,26 @@ const Hrm = () => {
|
|||||||
const { assetStore } = useSceneContext();
|
const { assetStore } = useSceneContext();
|
||||||
const { assets: allAssets } = assetStore();
|
const { assets: allAssets } = assetStore();
|
||||||
|
|
||||||
|
async function getAsset(assetId: string) {
|
||||||
|
let thumbnail = await getAssetThumbnail(assetId)
|
||||||
|
if (thumbnail.thumbnail) {
|
||||||
|
let assetImage = thumbnail.thumbnail
|
||||||
|
return assetImage;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (allAssets.length > 0) {
|
if (allAssets.length > 0) {
|
||||||
const formattedWorkers = allAssets
|
const fetchWorkers = async () => {
|
||||||
.filter((worker: any) => worker.eventData.type === "Human")
|
const humans = allAssets.filter((worker: any) => worker.eventData.type === "Human");
|
||||||
.map((worker: any, index: number) => ({
|
|
||||||
|
const formattedWorkers = await Promise.all(
|
||||||
|
humans.map(async (worker: any, index: number) => {
|
||||||
|
const assetImage = await getAsset(worker.assetId);
|
||||||
|
|
||||||
|
return {
|
||||||
employee: {
|
employee: {
|
||||||
image: "",
|
image: assetImage,
|
||||||
name: worker.modelName,
|
name: worker.modelName,
|
||||||
modelId: worker.modelUuid,
|
modelId: worker.modelUuid,
|
||||||
employee_id: `HR-${204 + index}`,
|
employee_id: `HR-${204 + index}`,
|
||||||
@@ -29,27 +43,28 @@ const Hrm = () => {
|
|||||||
title: worker.taskTitle ?? "No Task Assigned",
|
title: worker.taskTitle ?? "No Task Assigned",
|
||||||
location: {
|
location: {
|
||||||
floor: worker.floor ?? 0,
|
floor: worker.floor ?? 0,
|
||||||
zone: worker.zone ?? "N/A"
|
zone: worker.zone ?? "N/A",
|
||||||
},
|
},
|
||||||
planned_time_hours: worker.plannedTime ?? 0,
|
planned_time_hours: worker.plannedTime ?? 0,
|
||||||
time_spent_hours: worker.timeSpent ?? 0,
|
time_spent_hours: worker.timeSpent ?? 0,
|
||||||
total_tasks: worker.totalTasks ?? 0,
|
total_tasks: worker.totalTasks ?? 0,
|
||||||
completed_tasks: worker.completedTasks ?? 0
|
completed_tasks: worker.completedTasks ?? 0,
|
||||||
},
|
},
|
||||||
actions: [
|
actions: ["Assign Task", "Reassign Task", "Pause", "Emergency Stop"],
|
||||||
"Assign Task",
|
location: `Floor ${worker.floor || "-"} . Zone ${worker.zone || "-"}`,
|
||||||
"Reassign Task",
|
};
|
||||||
"Pause",
|
})
|
||||||
"Emergency Stop"
|
);
|
||||||
],
|
|
||||||
location: `Floor ${worker.floor || "-"} . Zone ${worker.zone || "-"}`
|
|
||||||
}));
|
|
||||||
|
|
||||||
setWorkers(formattedWorkers);
|
setWorkers(formattedWorkers);
|
||||||
|
};
|
||||||
|
|
||||||
|
fetchWorkers();
|
||||||
}
|
}
|
||||||
}, [allAssets]);
|
}, [allAssets]);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// const employee_details = [
|
// const employee_details = [
|
||||||
// {
|
// {
|
||||||
// "employee": {
|
// "employee": {
|
||||||
|
|||||||
@@ -117,6 +117,12 @@
|
|||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
overflow: hidden;
|
||||||
|
.user-image{
|
||||||
|
height: 300%;
|
||||||
|
width: 300%;
|
||||||
|
transform: translate(-26px, -12px);
|
||||||
|
}
|
||||||
|
|
||||||
.status {
|
.status {
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
|
|||||||
Reference in New Issue
Block a user