{ "ListFormCode": "App.DeveloperKit.CustomComponents", "KeyFieldName": "Id", "GeneratedAt": "2026-10-04T13:55:55Z", "Order": 0, "Rows": [ { "Id": "98a5c0b9-c8d6-5e83-ae76-d9ccb5b70cba", "Name": "TeamPerformanceWidget", "RoutePath": null, "Description": "Intranet panosu: yöneticinin ekibindeki değerlendirmelerin özeti", "IsActive": true, "Dependencies": [], "Code": "// Yoneticinin ekip ozeti. Satirlar ekranin sorgusundan gelir (ManagerId = oturum acan kullanici);\n// degerlendirmesini bekleyen calisanlar adlariyla listelenir.\nconst TEAM = 'App.Hr.TeamPerformanceReview'\n\nconst Stat = ({ label, value, children }) => (\n
\n {children}\n
\n
{value}
\n
{label}
\n
\n
\n)\n\nconst TeamPerformanceWidget = () => {\n const [rows, setRows] = useState([])\n const [loading, setLoading] = useState(true)\n\n useEffect(() => {\n let active = true\n apiService\n .fetchData({\n method: 'GET',\n url: '/api/app/list-form-select/select',\n params: { listFormCode: TEAM, take: 500 },\n })\n .then((response) => active && setRows(response.data?.data ?? []))\n .catch(() => {})\n .finally(() => active && setLoading(false))\n return () => {\n active = false\n }\n }, [])\n\n const inGoalOrSelf = rows.filter((r) => r.Status === 'GoalSetting' || r.Status === 'SelfReview')\n const awaitingMe = rows.filter((r) => r.Status === 'ManagerReview')\n const completed = rows.filter((r) => r.Status === 'Completed')\n\n return (\n
\n
\n \n

\n {translate('::App.DashboardWidget.TeamPerformance')}\n

\n
\n
\n {loading ? (\n
...
\n ) : rows.length === 0 ? (\n
\n {translate('::App.DashboardWidget.Performance.NoTeamReview')}\n
\n ) : (\n <>\n
\n \n \n \n \n \n \n \n \n \n \n \n \n
\n {awaitingMe.length > 0 && (\n \n )}\n \n )}\n \n {translate('::App.Hr.TeamPerformanceReview')} →\n \n
\n
\n )\n}\n\nexport default TeamPerformanceWidget", "Props": null, "DataSources": [], "SeoTitle": null, "SeoDescription": null, "SeoKeywords": null, "SeoOgImage": null, "SeoCanonicalUrl": null, "SeoNoIndex": true, "SeoIncludeInSitemap": false, "SeoChangeFrequency": null, "SeoPriority": null, "SeoStructuredData": null } ] }