![]() |
| Clomosy Resmi Forum Sitesidir. Amacımız kullanıcılarımıza, iş ortaklarımıza, danışmanlara, yazılımcılara programlarımız hakkında destek ve bilgi vermektir. |
admin panel stok, analiz sekmesi arayüzü |
Yanıt Yaz
|
| Yazar | |
DEVCAN
Yeni Üye
Kayıt Tarihi: 01 Mayıs 2026 Durum: Aktif Değil Puanlar: 4 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Konu: admin panel stok, analiz sekmesi arayüzüGönderim Zamanı: 4 Saat 6 Dakika Önce Saat 21:52 |
|
06_211554.pnguploaduploads/405/Ekran_görüntüsü_2026-05-
yönetici panelimde aşağıdaki kod bloğunda yani analiz ve stok sekmelerinin karmaşasını yaşıyorum. üstteki resimlerde olduğu gibi. Asıl arayüz alttaki gibi olmalı uses uLib; var myform: TclStyleForm; MainScrollBox: TClVertScrollBox; TopLayout, TabsLayout, KPIGridLayout, TopCardsLayout: TclLayout; MiddleTabsLayout, ListTitleLayout, StokTitleLayout: TclLayout; pnlRow1, pnlRow2, pnlKPI1, pnlKPI2, pnlKPI3, pnlKPI4: TclProPanel; lblHello, lblDate: TclProLabel; pnlAvatar: TclProPanel; lblAvatar: TclProLabel; btnTabTemsilci, btnTabYonetici: TclProButton; lblKPI1Title, lblKPI1Value: TclProLabel; lblKPI2Title, lblKPI2Value: TclProLabel; lblKPI3Title, lblKPI3Value: TclProLabel; lblKPI4Title, lblKPI4Value: TclProLabel; pnlGelir, pnlMaliyet: TclProPanel; lblGelirTitle, lblGelirValue, lblGelirDesc: TclProLabel; lblMaliyetTitle, lblMaliyetValue, lblMaliyetDesc: TclProLabel; btnMidBekleyen, btnMidAnaliz, btnMidStok: TclProButton; lblListTitle, lblStokTitle, lblChartTitle: TclProLabel; pnlHideHeader: TclProPanel; CardsParentLayout, ChartParentLayout, StokParentLayout: TclLayout; chartRevenue: TclChart; // GÖRÜNÜRLÜK AYARLAYICI (Resimlerdeki gibi sadece ilgili alanı gösterir) void SetView(ViewMode: Integer); var c1, c2, c3, t1, t2, t3, b1, b2, b3: String; { CardsParentLayout.Visible = False; CardsParentLayout.Height = 0; ChartParentLayout.Visible = False; ChartParentLayout.Height = 0; StokParentLayout.Visible = False; StokParentLayout.Height = 0; c1='#202020'; c2='#202020'; c3='#202020'; t1='#aaaaaa'; t2='#aaaaaa'; t3='#aaaaaa'; b1='#555555'; b2='#555555'; b3='#555555'; if (ViewMode == 1) { CardsParentLayout.Visible = True; CardsParentLayout.Height = 600; KPIGridLayout.Visible = True; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20; TopCardsLayout.Visible = True; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Top = 10; c1='#333333'; t1='#ffffff'; b1='#777777'; } if (ViewMode == 2) { ChartParentLayout.Visible = True; ChartParentLayout.Height = 380; KPIGridLayout.Visible = True; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20; TopCardsLayout.Visible = True; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Top = 10; c2='#333333'; t2='#ffffff'; b2='#777777'; } if (ViewMode == 3) { StokParentLayout.Visible = True; StokParentLayout.Height = 700; KPIGridLayout.Visible = True; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20; TopCardsLayout.Visible = True; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Top = 10; c3='#333333'; t3='#ffffff'; b3='#777777'; } clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"'+c1+'", "TextColor":"'+t1+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b1+'", "BorderWidth":1}'); clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"'+c2+'", "TextColor":"'+t2+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b2+'", "BorderWidth":1}'); clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"'+c3+'", "TextColor":"'+t3+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b3+'", "BorderWidth":1}'); } void NavBekleyenClick; { SetView(1); } void NavAnalizClick; { SetView(2); } void NavStokClick; { SetView(3); } // RESİM 3: ONAY BEKLEYEN KART TASARIMI void AddApprovalCard(AId: String; AIconChar: String; AIconBg: String; AIconColor: String; ATitle: String; ASubTitle: String; ADesc: String; AAlertText: String; AAlertColor: String); var pnlCard, pnlAlert, pnlContent, pnlIconBox, pnlIcon, pnlText, pnlActions: TclProPanel; lblAlert, lblIcon, lblTitle, lblSubTitle, lblDesc: TclProLabel; btnOnayla, btnReddet: TclProButton; { pnlCard = myform.AddNewProPanel(CardsParentLayout, 'pnlApprCard_' + AId); pnlCard.Align = alTop; if (AAlertText <> '') pnlCard.Height = 155; else pnlCard.Height = 125; pnlCard.Margins.Top = 15; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16; clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#252525", "RoundHeight":12, "BorderColor":"#3a3a3a", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}'); if (AAlertText <> '') { pnlAlert = myform.AddNewProPanel(pnlCard, 'pnlApprAlert_' + AId); pnlAlert.Align = alTop; pnlAlert.Height = 24; clComponent.SetupComponent(pnlAlert, '{"BackgroundColor":"' + AAlertColor + '", "RoundHeight":8}'); lblAlert = myform.AddNewProLabel(pnlAlert, 'lblApprAlert_' + AId, AAlertText); lblAlert.Align = alClient; lblAlert.Margins.Left = 10; clComponent.SetupComponent(lblAlert, '{"TextColor":"#b71c1c", "TextSize":11, "TextBold":true, "TextVerticalAlign":"center"}'); } pnlContent = myform.AddNewProPanel(pnlCard, 'pnlApprContent_' + AId); pnlContent.Align = alTop; pnlContent.Height = 70; pnlIconBox = myform.AddNewProPanel(pnlContent, 'pnlApprIconBox_' + AId); pnlIconBox.Align = alLeft; pnlIconBox.Width = 60; pnlIcon = myform.AddNewProPanel(pnlIconBox, 'pnlApprIcon_' + AId); pnlIcon.Align = alCenter; pnlIcon.Width = 36; pnlIcon.Height = 36; clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"' + AIconBg + '", "RoundHeight":18}'); lblIcon = myform.AddNewProLabel(pnlIcon, 'lblApprIconLabel_' + AId, AIconChar); lblIcon.Align = alClient; clComponent.SetupComponent(lblIcon, '{"TextColor":"' + AIconColor + '", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}'); pnlText = myform.AddNewProPanel(pnlContent, 'pnlApprText_' + AId); pnlText.Align = alClient; pnlText.Margins.Top = 14; lblTitle = myform.AddNewProLabel(pnlText, 'lblApprTitle_' + AId, ATitle); lblTitle.Align = alTop; lblTitle.Height = 18; clComponent.SetupComponent(lblTitle, '{"TextColor":"#ffffff", "TextSize":13, "TextBold":true}'); lblSubTitle = myform.AddNewProLabel(pnlText, 'lblApprSubTitle_' + AId, ASubTitle); lblSubTitle.Align = alTop; lblSubTitle.Height = 14; clComponent.SetupComponent(lblSubTitle, '{"TextColor":"#cccccc", "TextSize":10}'); if (ADesc <> '') { lblDesc = myform.AddNewProLabel(pnlText, 'lblApprDesc_' + AId, '"' + ADesc + '"'); lblDesc.Align = alTop; lblDesc.Height = 14; clComponent.SetupComponent(lblDesc, '{"TextColor":"#aaaaaa", "TextSize":10, "TextItalic":true}'); } pnlActions = myform.AddNewProPanel(pnlCard, 'pnlApprActions_' + AId); pnlActions.Align = alBottom; pnlActions.Height = 36; pnlActions.Margins.Bottom = 8; pnlActions.Margins.Left = 8; pnlActions.Margins.Right = 8; btnOnayla = myform.AddNewProButton(pnlActions, 'btnOnayla_' + AId, 'Onayla'); btnOnayla.Align = alLeft; btnOnayla.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(btnOnayla, '{"BackgroundColor":"#1b5e20", "TextColor":"#ffffff", "TextSize":12, "TextBold":true, "RoundHeight":8}'); btnReddet = myform.AddNewProButton(pnlActions, 'btnReddet_' + AId, 'Reddet'); btnReddet.Align = alClient; btnReddet.Margins.Left = 8; clComponent.SetupComponent(btnReddet, '{"BackgroundColor":"#252525", "TextColor":"#e53935", "TextSize":12, "TextBold":true, "BorderColor":"#e53935", "BorderWidth":1, "RoundHeight":8}'); } // RESİM 2: TÜM ÜRÜNLER (STOK) KART TASARIMI void AddProductCard(AId: String; ALetter: String; AName: String; ADesc: String; ACount: String; AColor: String; AProgress: Integer; IsKritik: Boolean); var pnlCard, pnlIcon, pnlCenter, pnlRight, pnlBadge, pnlProgressBg, pnlProgressFg: TclProPanel; lblIcon, lblName, lblDesc, lblCount, lblCountDesc, lblBadge: TclProLabel; { pnlCard = myform.AddNewProPanel(StokParentLayout, 'pnlStokCard_' + AId); pnlCard.Align = alTop; pnlCard.Height = 100; pnlCard.Margins.Top = 12; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16; clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#2b2b2b", "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}'); pnlIcon = myform.AddNewProPanel(pnlCard, 'pnlStokIconBox_' + AId); pnlIcon.Align = alLeft; pnlIcon.Width = 52; pnlIcon.Height = 52; pnlIcon.Margins.Left = 16; pnlIcon.Margins.Top = 24; pnlIcon.Margins.Bottom = 24; clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"#ffffff", "RoundHeight":12}'); lblIcon = myform.AddNewProLabel(pnlIcon, 'lblStokIconLabel_' + AId, ALetter); lblIcon.Align = alClient; clComponent.SetupComponent(lblIcon, '{"TextColor":"#111111", "TextSize":18, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}'); pnlRight = myform.AddNewProPanel(pnlCard, 'pnlStokRight_' + AId); pnlRight.Align = alRight; pnlRight.Width = 70; pnlRight.Margins.Right = 16; pnlRight.Margins.Top = 20; lblCount = myform.AddNewProLabel(pnlRight, 'lblStokCount_' + AId, ACount); lblCount.Align = alTop; lblCount.Height = 24; clComponent.SetupComponent(lblCount, '{"TextColor":"' + AColor + '", "TextSize":20, "TextBold":true, "TextHorizontalAlign":"right"}'); lblCountDesc = myform.AddNewProLabel(pnlRight, 'lblStokCountDesc_' + AId, 'net stok'); lblCountDesc.Align = alTop; lblCountDesc.Height = 15; clComponent.SetupComponent(lblCountDesc, '{"TextColor":"#cccccc", "TextSize":11, "TextHorizontalAlign":"right"}'); pnlCenter = myform.AddNewProPanel(pnlCard, 'pnlStokCenter_' + AId); pnlCenter.Align = alClient; pnlCenter.Margins.Left = 16; pnlCenter.Margins.Top = 18; lblName = myform.AddNewProLabel(pnlCenter, 'lblStokName_' + AId, AName); lblName.Align = alTop; lblName.Height = 22; clComponent.SetupComponent(lblName, '{"TextColor":"#ffffff", "TextSize":15, "TextBold":true}'); if (IsKritik) { pnlBadge = myform.AddNewProPanel(lblName, 'pnlStokBadge_' + AId); pnlBadge.Align = alRight; pnlBadge.Width = 50; pnlBadge.Margins.Right = 20; clComponent.SetupComponent(pnlBadge, '{"BackgroundColor":"#ffebee", "RoundHeight":8}'); lblBadge = myform.AddNewProLabel(pnlBadge, 'lblStokBadgeLabel_' + AId, 'Kritik'); lblBadge.Align = alClient; clComponent.SetupComponent(lblBadge, '{"TextColor":"#c62828", "TextSize":10, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}'); } lblDesc = myform.AddNewProLabel(pnlCenter, 'lblStokDesc_' + AId, ADesc); lblDesc.Align = alTop; lblDesc.Height = 18; clComponent.SetupComponent(lblDesc, '{"TextColor":"#cccccc", "TextSize":11}'); pnlProgressBg = myform.AddNewProPanel(pnlCenter, 'pnlProgressBg_' + AId); pnlProgressBg.Align = alTop; pnlProgressBg.Height = 4; pnlProgressBg.Margins.Top = 8; pnlProgressBg.Margins.Right = 20; clComponent.SetupComponent(pnlProgressBg, '{"BackgroundColor":"#444444", "RoundHeight":2}'); pnlProgressFg = myform.AddNewProPanel(pnlProgressBg, 'pnlProgressFg_' + AId); pnlProgressFg.Align = alLeft; pnlProgressFg.Width = (myform.clWidth * AProgress) / 100; clComponent.SetupComponent(pnlProgressFg, '{"BackgroundColor":"' + AColor + '", "RoundHeight":2}'); } { myform = TclStyleForm.Create(Self); myform.SetFormColor('#202020', '', clGNone); pnlHideHeader = myform.AddNewProPanel(myform, 'pnlHideHeader'); pnlHideHeader.Align = alTop; pnlHideHeader.Height = 80; pnlHideHeader.Margins.Top = -80; clComponent.SetupComponent(pnlHideHeader, '{"BackgroundColor":"#202020"}'); MainScrollBox = myform.AddNewVertScrollBox(myform, 'MainScrollBox'); MainScrollBox.Align = alClient; // Header TopLayout = myform.AddNewLayout(MainScrollBox, 'TopLayout'); TopLayout.Align = alTop; TopLayout.Height = 75; TopLayout.Margins.Top = 20; TopLayout.Margins.Left = 20; TopLayout.Margins.Right = 20; pnlAvatar = myform.AddNewProPanel(TopLayout, 'pnlAvatar'); pnlAvatar.Align = alRight; pnlAvatar.Width = 48; pnlAvatar.Height = 48; clComponent.SetupComponent(pnlAvatar, '{"BackgroundColor":"#1b5e20", "RoundHeight":24}'); lblAvatar = myform.AddNewProLabel(pnlAvatar, 'lblAvatar', 'FD'); lblAvatar.Align = alClient; clComponent.SetupComponent(lblAvatar, '{"TextColor":"#ffffff", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}'); lblHello = myform.AddNewProLabel(TopLayout, 'lblHello', 'Merhaba, Fatma'); lblHello.Align = alTop; lblHello.Height = 28; clComponent.SetupComponent(lblHello, '{"TextColor":"#ffffff", "TextSize":22, "TextBold":true}'); lblDate = myform.AddNewProLabel(TopLayout, 'lblDate', 'Yonetici - Nisan 2025'); lblDate.Align = alTop; lblDate.Height = 20; clComponent.SetupComponent(lblDate, '{"TextColor":"#cccccc", "TextSize":12}'); // KPIs (2x2 Grid) KPIGridLayout = myform.AddNewLayout(MainScrollBox, 'KPIGridLayout'); KPIGridLayout.Align = alTop; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20; // Satir 1: Bekleyen onay + Onaylanan pnlRow1 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow1'); pnlRow1.Align = alTop; pnlRow1.Height = 65; pnlRow1.Margins.Left = 20; pnlRow1.Margins.Right = 20; pnlRow1.Margins.Bottom = 10; pnlKPI1 = myform.AddNewProPanel(pnlRow1, 'pnlKPI1'); pnlKPI1.Align = alLeft; pnlKPI1.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlKPI1, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}'); lblKPI1Title = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Title', 'Bekleyen onay'); lblKPI1Title.Align = alTop; lblKPI1Title.Height = 22; lblKPI1Title.Margins.Left = 12; lblKPI1Title.Margins.Top = 10; clComponent.SetupComponent(lblKPI1Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}'); lblKPI1Value = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Value', '1'); lblKPI1Value.Align = alTop; lblKPI1Value.Height = 24; lblKPI1Value.Margins.Left = 12; clComponent.SetupComponent(lblKPI1Value, '{"TextColor":"#ff9800", "TextSize":20, "TextBold":true}'); pnlKPI2 = myform.AddNewProPanel(pnlRow1, 'pnlKPI2'); pnlKPI2.Align = alRight; pnlKPI2.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlKPI2, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}'); lblKPI2Title = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Title', 'Onaylanan'); lblKPI2Title.Align = alTop; lblKPI2Title.Height = 22; lblKPI2Title.Margins.Left = 12; lblKPI2Title.Margins.Top = 10; clComponent.SetupComponent(lblKPI2Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}'); lblKPI2Value = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Value', '6'); lblKPI2Value.Align = alTop; lblKPI2Value.Height = 24; lblKPI2Value.Margins.Left = 12; clComponent.SetupComponent(lblKPI2Value, '{"TextColor":"#4CAF50", "TextSize":20, "TextBold":true}'); // Satir 2: Kritik stok + Rezerve adet pnlRow2 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow2'); pnlRow2.Align = alTop; pnlRow2.Height = 65; pnlRow2.Margins.Left = 20; pnlRow2.Margins.Right = 20; pnlKPI3 = myform.AddNewProPanel(pnlRow2, 'pnlKPI3'); pnlKPI3.Align = alLeft; pnlKPI3.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlKPI3, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}'); lblKPI3Title = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Title', 'Kritik stok'); lblKPI3Title.Align = alTop; lblKPI3Title.Height = 22; lblKPI3Title.Margins.Left = 12; lblKPI3Title.Margins.Top = 10; clComponent.SetupComponent(lblKPI3Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}'); lblKPI3Value = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Value', '2 urun'); lblKPI3Value.Align = alTop; lblKPI3Value.Height = 24; lblKPI3Value.Margins.Left = 12; clComponent.SetupComponent(lblKPI3Value, '{"TextColor":"#f44336", "TextSize":20, "TextBold":true}'); pnlKPI4 = myform.AddNewProPanel(pnlRow2, 'pnlKPI4'); pnlKPI4.Align = alRight; pnlKPI4.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlKPI4, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}'); lblKPI4Title = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Title', 'Rezerve adet'); lblKPI4Title.Align = alTop; lblKPI4Title.Height = 22; lblKPI4Title.Margins.Left = 12; lblKPI4Title.Margins.Top = 10; clComponent.SetupComponent(lblKPI4Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}'); lblKPI4Value = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Value', '18'); lblKPI4Value.Align = alTop; lblKPI4Value.Height = 24; lblKPI4Value.Margins.Left = 12; clComponent.SetupComponent(lblKPI4Value, '{"TextColor":"#2196F3", "TextSize":20, "TextBold":true}'); // Gelir/Kar Kartlari TopCardsLayout = myform.AddNewLayout(MainScrollBox, 'TopCardsLayout'); TopCardsLayout.Align = alTop; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Left = 20; TopCardsLayout.Margins.Right = 20; TopCardsLayout.Margins.Top = 10; pnlGelir = myform.AddNewProPanel(TopCardsLayout, 'pnlGelir'); pnlGelir.Align = alLeft; pnlGelir.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlGelir, '{"BackgroundColor":"#e8f5e9", "RoundHeight":12}'); lblGelirTitle = myform.AddNewProLabel(pnlGelir, 'lblGelirTitle', 'Net Gelir'); lblGelirTitle.Align = alTop; lblGelirTitle.Height = 20; lblGelirTitle.Margins.Left = 16; lblGelirTitle.Margins.Top = 14; clComponent.SetupComponent(lblGelirTitle, '{"TextColor":"#2e7d32", "TextSize":12, "TextBold":true}'); lblGelirValue = myform.AddNewProLabel(pnlGelir, 'lblGelirValue', '63.300 TL'); lblGelirValue.Align = alTop; lblGelirValue.Height = 30; lblGelirValue.Margins.Left = 16; clComponent.SetupComponent(lblGelirValue, '{"TextColor":"#1b5e20", "TextSize":22, "TextBold":true}'); lblGelirDesc = myform.AddNewProLabel(pnlGelir, 'lblGelirDesc', 'iade dusuldu'); lblGelirDesc.Align = alTop; lblGelirDesc.Height = 18; lblGelirDesc.Margins.Left = 16; clComponent.SetupComponent(lblGelirDesc, '{"TextColor":"#388e3c", "TextSize":10}'); pnlMaliyet = myform.AddNewProPanel(TopCardsLayout, 'pnlMaliyet'); pnlMaliyet.Align = alRight; pnlMaliyet.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlMaliyet, '{"BackgroundColor":"#ffebee", "RoundHeight":12}'); lblMaliyetTitle = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetTitle', 'Net Kar'); lblMaliyetTitle.Align = alTop; lblMaliyetTitle.Height = 20; lblMaliyetTitle.Margins.Left = 16; lblMaliyetTitle.Margins.Top = 14; clComponent.SetupComponent(lblMaliyetTitle, '{"TextColor":"#c62828", "TextSize":12, "TextBold":true}'); lblMaliyetValue = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetValue', '+3.900 TL'); lblMaliyetValue.Align = alTop; lblMaliyetValue.Height = 30; lblMaliyetValue.Margins.Left = 16; clComponent.SetupComponent(lblMaliyetValue, '{"TextColor":"#b71c1c", "TextSize":22, "TextBold":true}'); lblMaliyetDesc = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetDesc', 'marj %6'); lblMaliyetDesc.Align = alTop; lblMaliyetDesc.Height = 18; lblMaliyetDesc.Margins.Left = 16; clComponent.SetupComponent(lblMaliyetDesc, '{"TextColor":"#d32f2f", "TextSize":10}'); // ANA MENÜ BUTONLARI MiddleTabsLayout = myform.AddNewLayout(MainScrollBox, 'MiddleTabsLayout'); MiddleTabsLayout.Align = alTop; MiddleTabsLayout.Height = 45; MiddleTabsLayout.Margins.Top = 20; MiddleTabsLayout.Margins.Left = 20; MiddleTabsLayout.Margins.Right = 20; btnMidBekleyen = myform.AddNewProButton(MiddleTabsLayout, 'btnMidBekleyen', 'Bekleyen'); btnMidBekleyen.Align = alLeft; btnMidBekleyen.Width = (myform.clWidth - 40) / 3; clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"#333333", "TextColor":"#ffffff", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#777777", "BorderWidth":1}'); myform.AddNewEvent(btnMidBekleyen, tbeOnClick, 'NavBekleyenClick'); btnMidAnaliz = myform.AddNewProButton(MiddleTabsLayout, 'btnMidAnaliz', 'Analiz'); btnMidAnaliz.Align = alLeft; btnMidAnaliz.Width = (myform.clWidth - 40) / 3; btnMidAnaliz.Margins.Left = 5; clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}'); myform.AddNewEvent(btnMidAnaliz, tbeOnClick, 'NavAnalizClick'); btnMidStok = myform.AddNewProButton(MiddleTabsLayout, 'btnMidStok', 'Stok'); btnMidStok.Align = alLeft; btnMidStok.Width = (myform.clWidth - 40) / 3; btnMidStok.Margins.Left = 5; clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}'); myform.AddNewEvent(btnMidStok, tbeOnClick, 'NavStokClick'); // --- DİNAMİK İÇERİK KONTEYNERLARI --- // 1. BEKLEYEN (RESİM 3) CardsParentLayout = myform.AddNewLayout(MainScrollBox, 'CardsParentLayout'); CardsParentLayout.Align = alTop; CardsParentLayout.Height = 600; CardsParentLayout.Visible = True; ListTitleLayout = myform.AddNewLayout(CardsParentLayout, 'ListTitleLayout'); ListTitleLayout.Align = alTop; ListTitleLayout.Height = 35; ListTitleLayout.Margins.Top = 20; ListTitleLayout.Margins.Left = 20; lblListTitle = myform.AddNewProLabel(ListTitleLayout, 'lblListTitle', 'ONAY BEKLEYEN TALEPLERx'); lblListTitle.Align = alLeft; lblListTitle.Width = 300; clComponent.SetupComponent(lblListTitle, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}'); AddApprovalCard('1', 'U', '#fff3e0', '#e65100', 'USB-C Hub', 'Yeni Satis - 5 adet - 3.250 TL - Ahmet Y.', 'Toplu alim', 'Stok yetersiz! Net stok: 3 adet', '#ffebee'); AddApprovalCard('2', 'K', '#e8f5e9', '#2e7d32', 'Mekanik Klavye', 'Stok Guncelleme - 10 adet - Zeynep K.', 'Depodan transfer', '', ''); AddApprovalCard('3', 'W', '#f3e5f5', '#6a1b9a', 'Web Kamera HD', 'Yeni Satis - 4 adet - 4.800 TL - Ahmet Y.', '', '', ''); // 2. ANALİZ (RESİM 1) ChartParentLayout = myform.AddNewLayout(MainScrollBox, 'ChartParentLayout'); ChartParentLayout.Align = alTop; ChartParentLayout.Height = 0; ChartParentLayout.Visible = False; lblChartTitle = myform.AddNewProLabel(ChartParentLayout, 'lblChartTitle', 'GELİR / GİDER GRAFİĞİ'); lblChartTitle.Align = alTop; lblChartTitle.Height = 50; lblChartTitle.Margins.Left = 20; lblChartTitle.Margins.Top = 20; clComponent.SetupComponent(lblChartTitle, '{"TextColor":"#ffffff", "TextSize":18, "TextBold":true}'); chartRevenue = myform.AddNewChart(ChartParentLayout, 'chartRevenue', ''); chartRevenue.Align = alTop; chartRevenue.Height = 280; chartRevenue.Margins.Left = 20; chartRevenue.Margins.Right = 20; chartRevenue.Charttype = clCBar; chartRevenue.XAxisText = 'Gun'; chartRevenue.ChartItemText = 'Tip'; chartRevenue.ChartItemsValue = 'Tutar'; chartRevenue.clLoadDataFromJSONStr('[' + '{"Gun":"Pzt","Tutar":55,"Tip":"Gelir","color":"#aed581"},{"Gun":"Pzt","Tutar":42,"Tip":"Maliyet","color":"#ef9a9a"},' + '{"Gun":"Sal","Tutar":38,"Tip":"Gelir","color":"#aed581"},{"Gun":"Sal","Tutar":28,"Tip":"Maliyet","color":"#ef9a9a"},' + '{"Gun":"Car","Tutar":18,"Tip":"Gelir","color":"#aed581"},{"Gun":"Car","Tutar":14,"Tip":"Maliyet","color":"#ef9a9a"},' + '{"Gun":"Per","Tutar":22,"Tip":"Gelir","color":"#aed581"},{"Gun":"Per","Tutar":17,"Tip":"Maliyet","color":"#ef9a9a"},' + '{"Gun":"Cum","Tutar":19,"Tip":"Gelir","color":"#aed581"},{"Gun":"Cum","Tutar":15,"Tip":"Maliyet","color":"#ef9a9a"}]'); // 3. STOK (RESİM 2) StokParentLayout = myform.AddNewLayout(MainScrollBox, 'StokParentLayout'); StokParentLayout.Align = alTop; StokParentLayout.Height = 0; StokParentLayout.Visible = False; StokTitleLayout = myform.AddNewLayout(StokParentLayout, 'StokTitleLayout'); StokTitleLayout.Align = alTop; StokTitleLayout.Height = 35; StokTitleLayout.Margins.Top = 20; StokTitleLayout.Margins.Left = 20; lblStokTitle = myform.AddNewProLabel(StokTitleLayout, 'lblStokTitle', 'TÜM ÜRÜNLER'); lblStokTitle.Align = alLeft; lblStokTitle.Width = 200; clComponent.SetupComponent(lblStokTitle, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}'); AddProductCard('1', 'L', 'Laptop Pro X1', 'Rezerve: 8 - 18.500 TL', '37', '#4CAF50', 70, False); AddProductCard('2', 'K', 'Mekanik Klavye', 'Rezerve: 3 - 1.850 TL', '9', '#FF9800', 40, False); AddProductCard('3', 'U', 'USB-C Hub', 'Rezerve: 5 - 650 TL', '3', '#f44336', 15, True); AddProductCard('4', 'M', 'Monitor 27"', 'Rezerve: 2 - 8.900 TL', '4', '#f44336', 20, True); AddProductCard('5', 'W', 'Web Kamera HD', 'Rezerve: 0 - 1.200 TL', '26', '#4CAF50', 55, False); myform.Run; } |
|
![]() |
|
Emr.Erkmn
Moderatör
Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 857 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(1)
Alıntı Cevapla
Gönderim Zamanı: 3 Saat 40 Dakika Önce Saat 22:18 |
|
Merhaba Levent
Öncelikle tasarım çok güzel olmuş. Bahsettiğin sekmelerin birbirine girmesi ve karmaşa yaratması sebebi Clomosy' de align=altop diyerek bir scrollbox içine alt alta dizdiğin de sistem otomatik olarak hizalama yapıyor. bir sekmeyi de gizlemek istediğin de sadece visible=false yapman yeterli. Sistem görünmez paneli hizalamadan çıkarır. ancak yazdığın kodda SetView fonksiyonu içinde sekmeler gizlenirken hem visible=false hem de height =0 yapılmış yükseklik sıfırlandığın da sistem o panelin içindeki bileşenlerin sınırlarını da kaybediyor. geri açtığında da true ve yüksekliği 600 yaptığın da yerlerini bulamıyorlar ve panellerin üzerine karmaşa oluşturuyor. çözüm olarak setview fonksiyonu temizlemen sadece renkleri ve görünürlükleri değiştirmen gerekli. tasarımın en altında da panellerin boylarını sadece bir kez tanımlaman yeterli https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous"> |
|
![]() |
|
Emr.Erkmn
Moderatör
Kayıt Tarihi: 28 Şubat 2025 Durum: Aktif Değil Puanlar: 857 |
Mesaj Seçenekleri
Yanıt Yaz
Alıntı Emr.Erkmn
Bu mesaj kurallara aykırıysa buradan yöneticileri bilgilendirebilirsiniz.
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 3 Saat 39 Dakika Önce Saat 22:19 |
|
//uses uLib; var myform: TclStyleForm; MainScrollBox: TClVertScrollBox; TopLayout, TabsLayout, KPIGridLayout, TopCardsLayout: TclLayout; MiddleTabsLayout, ListTitleLayout, StokTitleLayout: TclLayout; pnlRow1, pnlRow2, pnlKPI1, pnlKPI2, pnlKPI3, pnlKPI4: TclProPanel; lblHello, lblDate: TclProLabel; pnlAvatar: TclProPanel; lblAvatar: TclProLabel; btnTabTemsilci, btnTabYonetici: TclProButton; lblKPI1Title, lblKPI1Value: TclProLabel; lblKPI2Title, lblKPI2Value: TclProLabel; lblKPI3Title, lblKPI3Value: TclProLabel; lblKPI4Title, lblKPI4Value: TclProLabel; pnlGelir, pnlMaliyet: TclProPanel; lblGelirTitle, lblGelirValue, lblGelirDesc: TclProLabel; lblMaliyetTitle, lblMaliyetValue, lblMaliyetDesc: TclProLabel; btnMidBekleyen, btnMidAnaliz, btnMidStok: TclProButton; lblListTitle, lblStokTitle, lblChartTitle: TclProLabel; pnlHideHeader: TclProPanel; CardsParentLayout, ChartParentLayout, StokParentLayout: TclLayout; chartRevenue: TclChart; // GÖRÜNÜRLÜK AYARLAYICI (Düzeltildi) void SetView(ViewMode: Integer); var c1, c2, c3, t1, t2, t3, b1, b2, b3: String; { CardsParentLayout.Visible = False; ChartParentLayout.Visible = False; StokParentLayout.Visible = False; c1='#202020'; c2='#202020'; c3='#202020'; t1='#aaaaaa'; t2='#aaaaaa'; t3='#aaaaaa'; b1='#555555'; b2='#555555'; b3='#555555'; if (ViewMode == 1) { CardsParentLayout.Visible = True; c1='#333333'; t1='#ffffff'; b1='#777777'; } if (ViewMode == 2) { ChartParentLayout.Visible = True; c2='#333333'; t2='#ffffff'; b2='#777777'; } if (ViewMode == 3) { StokParentLayout.Visible = True; c3='#333333'; t3='#ffffff'; b3='#777777'; } clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"'+c1+'", "TextColor":"'+t1+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b1+'", "BorderWidth":1}'); clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"'+c2+'", "TextColor":"'+t2+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b2+'", "BorderWidth":1}'); clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"'+c3+'", "TextColor":"'+t3+'", "IsRound":true, "RoundHeight":16, "BorderColor":"'+b3+'", "BorderWidth":1}'); } void NavBekleyenClick; { SetView(1); } void NavAnalizClick; { SetView(2); } void NavStokClick; { SetView(3); } void AddApprovalCard(AId: String; AIconChar: String; AIconBg: String; AIconColor: String; ATitle: String; ASubTitle: String; ADesc: String; AAlertText: String; AAlertColor: String); var pnlCard, pnlAlert, pnlContent, pnlIconBox, pnlIcon, pnlText, pnlActions: TclProPanel; lblAlert, lblIcon, lblTitle, lblSubTitle, lblDesc: TclProLabel; btnOnayla, btnReddet: TclProButton; { pnlCard = myform.AddNewProPanel(CardsParentLayout, 'pnlApprCard_' + AId); pnlCard.Align = alTop; if (AAlertText <> '') pnlCard.Height = 155; else pnlCard.Height = 125; pnlCard.Margins.Top = 15; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16; clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#252525", "RoundHeight":12, "BorderColor":"#3a3a3a", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}'); if (AAlertText <> '') { pnlAlert = myform.AddNewProPanel(pnlCard, 'pnlApprAlert_' + AId); pnlAlert.Align = alTop; pnlAlert.Height = 24; clComponent.SetupComponent(pnlAlert, '{"BackgroundColor":"' + AAlertColor + '", "RoundHeight":8}'); lblAlert = myform.AddNewProLabel(pnlAlert, 'lblApprAlert_' + AId, AAlertText); lblAlert.Align = alClient; lblAlert.Margins.Left = 10; clComponent.SetupComponent(lblAlert, '{"TextColor":"#b71c1c", "TextSize":11, "TextBold":true, "TextVerticalAlign":"center"}'); } pnlContent = myform.AddNewProPanel(pnlCard, 'pnlApprContent_' + AId); pnlContent.Align = alTop; pnlContent.Height = 70; pnlIconBox = myform.AddNewProPanel(pnlContent, 'pnlApprIconBox_' + AId); pnlIconBox.Align = alLeft; pnlIconBox.Width = 60; pnlIcon = myform.AddNewProPanel(pnlIconBox, 'pnlApprIcon_' + AId); pnlIcon.Align = alCenter; pnlIcon.Width = 36; pnlIcon.Height = 36; clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"' + AIconBg + '", "RoundHeight":18}'); lblIcon = myform.AddNewProLabel(pnlIcon, 'lblApprIconLabel_' + AId, AIconChar); lblIcon.Align = alClient; clComponent.SetupComponent(lblIcon, '{"TextColor":"' + AIconColor + '", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}'); pnlText = myform.AddNewProPanel(pnlContent, 'pnlApprText_' + AId); pnlText.Align = alClient; pnlText.Margins.Top = 14; lblTitle = myform.AddNewProLabel(pnlText, 'lblApprTitle_' + AId, ATitle); lblTitle.Align = alTop; lblTitle.Height = 18; clComponent.SetupComponent(lblTitle, '{"TextColor":"#ffffff", "TextSize":13, "TextBold":true}'); lblSubTitle = myform.AddNewProLabel(pnlText, 'lblApprSubTitle_' + AId, ASubTitle); lblSubTitle.Align = alTop; lblSubTitle.Height = 14; clComponent.SetupComponent(lblSubTitle, '{"TextColor":"#cccccc", "TextSize":10}'); if (ADesc <> '') { lblDesc = myform.AddNewProLabel(pnlText, 'lblApprDesc_' + AId, '"' + ADesc + '"'); lblDesc.Align = alTop; lblDesc.Height = 14; clComponent.SetupComponent(lblDesc, '{"TextColor":"#aaaaaa", "TextSize":10, "TextItalic":true}'); } pnlActions = myform.AddNewProPanel(pnlCard, 'pnlApprActions_' + AId); pnlActions.Align = alBottom; pnlActions.Height = 36; pnlActions.Margins.Bottom = 8; pnlActions.Margins.Left = 8; pnlActions.Margins.Right = 8; btnOnayla = myform.AddNewProButton(pnlActions, 'btnOnayla_' + AId, 'Onayla'); btnOnayla.Align = alLeft; btnOnayla.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(btnOnayla, '{"BackgroundColor":"#1b5e20", "TextColor":"#ffffff", "TextSize":12, "TextBold":true, "RoundHeight":8}'); btnReddet = myform.AddNewProButton(pnlActions, 'btnReddet_' + AId, 'Reddet'); btnReddet.Align = alClient; btnReddet.Margins.Left = 8; clComponent.SetupComponent(btnReddet, '{"BackgroundColor":"#252525", "TextColor":"#e53935", "TextSize":12, "TextBold":true, "BorderColor":"#e53935", "BorderWidth":1, "RoundHeight":8}'); } void AddProductCard(AId: String; ALetter: String; AName: String; ADesc: String; ACount: String; AColor: String; AProgress: Integer; IsKritik: Boolean); var pnlCard, pnlIcon, pnlCenter, pnlRight, pnlBadge, pnlProgressBg, pnlProgressFg: TclProPanel; lblIcon, lblName, lblDesc, lblCount, lblCountDesc, lblBadge: TclProLabel; { pnlCard = myform.AddNewProPanel(StokParentLayout, 'pnlStokCard_' + AId); pnlCard.Align = alTop; pnlCard.Height = 100; pnlCard.Margins.Top = 12; pnlCard.Margins.Left = 16; pnlCard.Margins.Right = 16; clComponent.SetupComponent(pnlCard, '{"BackgroundColor":"#2b2b2b", "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1, "ShadowColor":"#000000", "ShadowRadius":8, "ShadowOpacity":0.4}'); pnlIcon = myform.AddNewProPanel(pnlCard, 'pnlStokIconBox_' + AId); pnlIcon.Align = alLeft; pnlIcon.Width = 52; pnlIcon.Height = 52; pnlIcon.Margins.Left = 16; pnlIcon.Margins.Top = 24; pnlIcon.Margins.Bottom = 24; clComponent.SetupComponent(pnlIcon, '{"BackgroundColor":"#ffffff", "RoundHeight":12}'); lblIcon = myform.AddNewProLabel(pnlIcon, 'lblStokIconLabel_' + AId, ALetter); lblIcon.Align = alClient; clComponent.SetupComponent(lblIcon, '{"TextColor":"#111111", "TextSize":18, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}'); pnlRight = myform.AddNewProPanel(pnlCard, 'pnlStokRight_' + AId); pnlRight.Align = alRight; pnlRight.Width = 70; pnlRight.Margins.Right = 16; pnlRight.Margins.Top = 20; lblCount = myform.AddNewProLabel(pnlRight, 'lblStokCount_' + AId, ACount); lblCount.Align = alTop; lblCount.Height = 24; clComponent.SetupComponent(lblCount, '{"TextColor":"' + AColor + '", "TextSize":20, "TextBold":true, "TextHorizontalAlign":"right"}'); lblCountDesc = myform.AddNewProLabel(pnlRight, 'lblStokCountDesc_' + AId, 'net stok'); lblCountDesc.Align = alTop; lblCountDesc.Height = 15; clComponent.SetupComponent(lblCountDesc, '{"TextColor":"#cccccc", "TextSize":11, "TextHorizontalAlign":"right"}'); pnlCenter = myform.AddNewProPanel(pnlCard, 'pnlStokCenter_' + AId); pnlCenter.Align = alClient; pnlCenter.Margins.Left = 16; pnlCenter.Margins.Top = 18; lblName = myform.AddNewProLabel(pnlCenter, 'lblStokName_' + AId, AName); lblName.Align = alTop; lblName.Height = 22; clComponent.SetupComponent(lblName, '{"TextColor":"#ffffff", "TextSize":15, "TextBold":true}'); if (IsKritik) { pnlBadge = myform.AddNewProPanel(lblName, 'pnlStokBadge_' + AId); pnlBadge.Align = alRight; pnlBadge.Width = 50; pnlBadge.Margins.Right = 20; clComponent.SetupComponent(pnlBadge, '{"BackgroundColor":"#ffebee", "RoundHeight":8}'); lblBadge = myform.AddNewProLabel(pnlBadge, 'lblStokBadgeLabel_' + AId, 'Kritik'); lblBadge.Align = alClient; clComponent.SetupComponent(lblBadge, '{"TextColor":"#c62828", "TextSize":10, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}'); } lblDesc = myform.AddNewProLabel(pnlCenter, 'lblStokDesc_' + AId, ADesc); lblDesc.Align = alTop; lblDesc.Height = 18; clComponent.SetupComponent(lblDesc, '{"TextColor":"#cccccc", "TextSize":11}'); pnlProgressBg = myform.AddNewProPanel(pnlCenter, 'pnlProgressBg_' + AId); pnlProgressBg.Align = alTop; pnlProgressBg.Height = 4; pnlProgressBg.Margins.Top = 8; pnlProgressBg.Margins.Right = 20; clComponent.SetupComponent(pnlProgressBg, '{"BackgroundColor":"#444444", "RoundHeight":2}'); pnlProgressFg = myform.AddNewProPanel(pnlProgressBg, 'pnlProgressFg_' + AId); pnlProgressFg.Align = alLeft; pnlProgressFg.Width = (myform.clWidth * AProgress) / 100; clComponent.SetupComponent(pnlProgressFg, '{"BackgroundColor":"' + AColor + '", "RoundHeight":2}'); } { myform = TclStyleForm.Create(Self); myform.SetFormColor('#202020', '', clGNone); pnlHideHeader = myform.AddNewProPanel(myform, 'pnlHideHeader'); pnlHideHeader.Align = alTop; pnlHideHeader.Height = 80; pnlHideHeader.Margins.Top = -80; clComponent.SetupComponent(pnlHideHeader, '{"BackgroundColor":"#202020"}'); MainScrollBox = myform.AddNewVertScrollBox(myform, 'MainScrollBox'); MainScrollBox.Align = alClient; TopLayout = myform.AddNewLayout(MainScrollBox, 'TopLayout'); TopLayout.Align = alTop; TopLayout.Height = 75; TopLayout.Margins.Top = 20; TopLayout.Margins.Left = 20; TopLayout.Margins.Right = 20; pnlAvatar = myform.AddNewProPanel(TopLayout, 'pnlAvatar'); pnlAvatar.Align = alRight; pnlAvatar.Width = 48; pnlAvatar.Height = 48; clComponent.SetupComponent(pnlAvatar, '{"BackgroundColor":"#1b5e20", "RoundHeight":24}'); lblAvatar = myform.AddNewProLabel(pnlAvatar, 'lblAvatar', 'FD'); lblAvatar.Align = alClient; clComponent.SetupComponent(lblAvatar, '{"TextColor":"#ffffff", "TextSize":16, "TextBold":true, "TextHorizontalAlign":"center", "TextVerticalAlign":"center"}'); lblHello = myform.AddNewProLabel(TopLayout, 'lblHello', 'Merhaba, Fatma'); lblHello.Align = alTop; lblHello.Height = 28; clComponent.SetupComponent(lblHello, '{"TextColor":"#ffffff", "TextSize":22, "TextBold":true}'); lblDate = myform.AddNewProLabel(TopLayout, 'lblDate', 'Yonetici - Nisan 2025'); lblDate.Align = alTop; lblDate.Height = 20; clComponent.SetupComponent(lblDate, '{"TextColor":"#cccccc", "TextSize":12}'); KPIGridLayout = myform.AddNewLayout(MainScrollBox, 'KPIGridLayout'); KPIGridLayout.Align = alTop; KPIGridLayout.Height = 160; KPIGridLayout.Margins.Top = 20; pnlRow1 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow1'); pnlRow1.Align = alTop; pnlRow1.Height = 65; pnlRow1.Margins.Left = 20; pnlRow1.Margins.Right = 20; pnlRow1.Margins.Bottom = 10; pnlKPI1 = myform.AddNewProPanel(pnlRow1, 'pnlKPI1'); pnlKPI1.Align = alLeft; pnlKPI1.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlKPI1, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}'); lblKPI1Title = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Title', 'Bekleyen onay'); lblKPI1Title.Align = alTop; lblKPI1Title.Height = 22; lblKPI1Title.Margins.Left = 12; lblKPI1Title.Margins.Top = 10; clComponent.SetupComponent(lblKPI1Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}'); lblKPI1Value = myform.AddNewProLabel(pnlKPI1, 'lblKPI1Value', '1'); lblKPI1Value.Align = alTop; lblKPI1Value.Height = 24; lblKPI1Value.Margins.Left = 12; clComponent.SetupComponent(lblKPI1Value, '{"TextColor":"#ff9800", "TextSize":20, "TextBold":true}'); pnlKPI2 = myform.AddNewProPanel(pnlRow1, 'pnlKPI2'); pnlKPI2.Align = alRight; pnlKPI2.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlKPI2, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}'); lblKPI2Title = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Title', 'Onaylanan'); lblKPI2Title.Align = alTop; lblKPI2Title.Height = 22; lblKPI2Title.Margins.Left = 12; lblKPI2Title.Margins.Top = 10; clComponent.SetupComponent(lblKPI2Title, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}'); lblKPI2Value = myform.AddNewProLabel(pnlKPI2, 'lblKPI2Value', '6'); lblKPI2Value.Align = alTop; lblKPI2Value.Height = 24; lblKPI2Value.Margins.Left = 12; clComponent.SetupComponent(lblKPI2Value, '{"TextColor":"#4CAF50", "TextSize":20, "TextBold":true}'); pnlRow2 = myform.AddNewProPanel(KPIGridLayout, 'pnlRow2'); pnlRow2.Align = alTop; pnlRow2.Height = 65; pnlRow2.Margins.Left = 20; pnlRow2.Margins.Right = 20; pnlKPI3 = myform.AddNewProPanel(pnlRow2, 'pnlKPI3'); pnlKPI3.Align = alLeft; pnlKPI3.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlKPI3, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}'); lblKPI3Title = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Title', 'Kritik stok'); lblKPI3Title.Align = alTop; lblKPI3Title.Height = 22; lblKPI3Title.Margins.Left = 12; lblKPI3Title.Margins.Top = 10; clComponent.SetupComponent(lblKPI3Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}'); lblKPI3Value = myform.AddNewProLabel(pnlKPI3, 'lblKPI3Value', '2 urun'); lblKPI3Value.Align = alTop; lblKPI3Value.Height = 24; lblKPI3Value.Margins.Left = 12; clComponent.SetupComponent(lblKPI3Value, '{"TextColor":"#f44336", "TextSize":20, "TextBold":true}'); pnlKPI4 = myform.AddNewProPanel(pnlRow2, 'pnlKPI4'); pnlKPI4.Align = alRight; pnlKPI4.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlKPI4, '{"BackgroundColor":"#2a2a2a", "RoundHeight":12}'); lblKPI4Title = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Title', 'Rezerve adet'); lblKPI4Title.Align = alTop; lblKPI4Title.Height = 22; lblKPI4Title.Margins.Left = 12; lblKPI4Title.Margins.Top = 10; clComponent.SetupComponent(lblKPI4Title, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}'); lblKPI4Value = myform.AddNewProLabel(pnlKPI4, 'lblKPI4Value', '18'); lblKPI4Value.Align = alTop; lblKPI4Value.Height = 24; lblKPI4Value.Margins.Left = 12; clComponent.SetupComponent(lblKPI4Value, '{"TextColor":"#2196F3", "TextSize":20, "TextBold":true}'); TopCardsLayout = myform.AddNewLayout(MainScrollBox, 'TopCardsLayout'); TopCardsLayout.Align = alTop; TopCardsLayout.Height = 110; TopCardsLayout.Margins.Left = 20; TopCardsLayout.Margins.Right = 20; TopCardsLayout.Margins.Top = 10; pnlGelir = myform.AddNewProPanel(TopCardsLayout, 'pnlGelir'); pnlGelir.Align = alLeft; pnlGelir.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlGelir, '{"BackgroundColor":"#e8f5e9", "RoundHeight":12}'); lblGelirTitle = myform.AddNewProLabel(pnlGelir, 'lblGelirTitle', 'Net Gelir'); lblGelirTitle.Align = alTop; lblGelirTitle.Height = 20; lblGelirTitle.Margins.Left = 16; lblGelirTitle.Margins.Top = 14; clComponent.SetupComponent(lblGelirTitle, '{"TextColor":"#2e7d32", "TextSize":12, "TextBold":true}'); lblGelirValue = myform.AddNewProLabel(pnlGelir, 'lblGelirValue', '63.300 TL'); lblGelirValue.Align = alTop; lblGelirValue.Height = 30; lblGelirValue.Margins.Left = 16; clComponent.SetupComponent(lblGelirValue, '{"TextColor":"#1b5e20", "TextSize":22, "TextBold":true}'); lblGelirDesc = myform.AddNewProLabel(pnlGelir, 'lblGelirDesc', 'iade dusuldu'); lblGelirDesc.Align = alTop; lblGelirDesc.Height = 18; lblGelirDesc.Margins.Left = 16; clComponent.SetupComponent(lblGelirDesc, '{"TextColor":"#388e3c", "TextSize":10}'); pnlMaliyet = myform.AddNewProPanel(TopCardsLayout, 'pnlMaliyet'); pnlMaliyet.Align = alRight; pnlMaliyet.Width = (myform.clWidth - 55) / 2; clComponent.SetupComponent(pnlMaliyet, '{"BackgroundColor":"#ffebee", "RoundHeight":12}'); lblMaliyetTitle = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetTitle', 'Net Kar'); lblMaliyetTitle.Align = alTop; lblMaliyetTitle.Height = 20; lblMaliyetTitle.Margins.Left = 16; lblMaliyetTitle.Margins.Top = 14; clComponent.SetupComponent(lblMaliyetTitle, '{"TextColor":"#c62828", "TextSize":12, "TextBold":true}'); lblMaliyetValue = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetValue', '+3.900 TL'); lblMaliyetValue.Align = alTop; lblMaliyetValue.Height = 30; lblMaliyetValue.Margins.Left = 16; clComponent.SetupComponent(lblMaliyetValue, '{"TextColor":"#b71c1c", "TextSize":22, "TextBold":true}'); lblMaliyetDesc = myform.AddNewProLabel(pnlMaliyet, 'lblMaliyetDesc', 'marj %6'); lblMaliyetDesc.Align = alTop; lblMaliyetDesc.Height = 18; lblMaliyetDesc.Margins.Left = 16; clComponent.SetupComponent(lblMaliyetDesc, '{"TextColor":"#d32f2f", "TextSize":10}'); MiddleTabsLayout = myform.AddNewLayout(MainScrollBox, 'MiddleTabsLayout'); MiddleTabsLayout.Align = alTop; MiddleTabsLayout.Height = 45; MiddleTabsLayout.Margins.Top = 20; MiddleTabsLayout.Margins.Left = 20; MiddleTabsLayout.Margins.Right = 20; btnMidBekleyen = myform.AddNewProButton(MiddleTabsLayout, 'btnMidBekleyen', 'Bekleyen'); btnMidBekleyen.Align = alLeft; btnMidBekleyen.Width = (myform.clWidth - 40) / 3; clComponent.SetupComponent(btnMidBekleyen, '{"BackgroundColor":"#333333", "TextColor":"#ffffff", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#777777", "BorderWidth":1}'); myform.AddNewEvent(btnMidBekleyen, tbeOnClick, 'NavBekleyenClick'); btnMidAnaliz = myform.AddNewProButton(MiddleTabsLayout, 'btnMidAnaliz', 'Analiz'); btnMidAnaliz.Align = alLeft; btnMidAnaliz.Width = (myform.clWidth - 40) / 3; btnMidAnaliz.Margins.Left = 5; clComponent.SetupComponent(btnMidAnaliz, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}'); myform.AddNewEvent(btnMidAnaliz, tbeOnClick, 'NavAnalizClick'); btnMidStok = myform.AddNewProButton(MiddleTabsLayout, 'btnMidStok', 'Stok'); btnMidStok.Align = alLeft; btnMidStok.Width = (myform.clWidth - 40) / 3; btnMidStok.Margins.Left = 5; clComponent.SetupComponent(btnMidStok, '{"BackgroundColor":"#202020", "TextColor":"#aaaaaa", "TextSize":13, "IsRound":true, "RoundHeight":16, "BorderColor":"#555555", "BorderWidth":1}'); myform.AddNewEvent(btnMidStok, tbeOnClick, 'NavStokClick'); CardsParentLayout = myform.AddNewLayout(MainScrollBox, 'CardsParentLayout'); CardsParentLayout.Align = alTop; CardsParentLayout.Height = 600; CardsParentLayout.Visible = True; ListTitleLayout = myform.AddNewLayout(CardsParentLayout, 'ListTitleLayout'); ListTitleLayout.Align = alTop; ListTitleLayout.Height = 35; ListTitleLayout.Margins.Top = 20; ListTitleLayout.Margins.Left = 20; lblListTitle = myform.AddNewProLabel(ListTitleLayout, 'lblListTitle', 'ONAY BEKLEYEN TALEPLER'); lblListTitle.Align = alLeft; lblListTitle.Width = 300; clComponent.SetupComponent(lblListTitle, '{"TextColor":"#cccccc", "TextSize":12, "TextBold":true}'); AddApprovalCard('1', 'U', '#fff3e0', '#e65100', 'USB-C Hub', 'Yeni Satis - 5 adet - 3.250 TL - Ahmet Y.', 'Toplu alim', 'Stok yetersiz! Net stok: 3 adet', '#ffebee'); AddApprovalCard('2', 'K', '#e8f5e9', '#2e7d32', 'Mekanik Klavye', 'Stok Guncelleme - 10 adet - Zeynep K.', 'Depodan transfer', '', ''); AddApprovalCard('3', 'W', '#f3e5f5', '#6a1b9a', 'Web Kamera HD', 'Yeni Satis - 4 adet - 4.800 TL - Ahmet Y.', '', '', ''); ChartParentLayout = myform.AddNewLayout(MainScrollBox, 'ChartParentLayout'); ChartParentLayout.Align = alTop; ChartParentLayout.Height = 380; ChartParentLayout.Visible = False; lblChartTitle = myform.AddNewProLabel(ChartParentLayout, 'lblChartTitle', 'GELİR / GİDER GRAFİĞİ'); lblChartTitle.Align = alTop; lblChartTitle.Height = 50; lblChartTitle.Margins.Left = 20; lblChartTitle.Margins.Top = 20; clComponent.SetupComponent(lblChartTitle, '{"TextColor":"#ffffff", "TextSize":18, "TextBold":true}'); chartRevenue = myform.AddNewChart(ChartParentLayout, 'chartRevenue', ''); chartRevenue.Align = alTop; chartRevenue.Height = 280; chartRevenue.Margins.Left = 20; chartRevenue.Margins.Right = 20; chartRevenue.Charttype = clCBar; chartRevenue.XAxisText = 'Gun'; chartRevenue.ChartItemText = 'Tip'; chartRevenue.ChartItemsValue = 'Tutar'; chartRevenue.clLoadDataFromJSONStr('[' + '{"Gun":"Pzt","Tutar":55,"Tip":"Gelir","color":"#aed581"},{"Gun":"Pzt","Tutar":42,"Tip":"Maliyet","color":"#ef9a9a"},' + '{"Gun":"Sal","Tutar":38,"Tip":"Gelir","color":"#aed581"},{"Gun":"Sal","Tutar":28,"Tip":"Maliyet","color":"#ef9a9a"},' + '{"Gun":"Car","Tutar":18,"Tip":"Gelir","color":"#aed581"},{"Gun":"Car","Tutar":14,"Tip":"Maliyet","color":"#ef9a9a"},' + '{"Gun":"Per","Tutar":22,"Tip":"Gelir","color":"#aed581"},{"Gun":"Per","Tutar":17,"Tip":"Maliyet","color":"#ef9a9a"},' + '{"Gun":"Cum","Tutar":19,"Tip":"Gelir","color":"#aed581"},{"Gun":"Cum","Tutar":15,"Tip":"Maliyet","color":"#ef9a9a"}]'); StokParentLayout = myform.AddNewLayout(MainScrollBox, 'StokParentLayout'); StokParentLayout.Align = alTop; StokParentLayout.Height = 700; StokParentLayout.Visible = False; StokTitleLayout = myform.AddNewLayout(StokParentLayout, 'StokTitleLayout'); StokTitleLayout.Align = alTop; StokTitleLayout.Height = 35; StokTitleLayout.Margins.Top = 20; StokTitleLayout.Margins.Left = 20; lblStokTitle = myform.AddNewProLabel(StokTitleLayout, 'lblStokTitle', 'TÜM ÜRÜNLER'); lblStokTitle.Align = alLeft; lblStokTitle.Width = 200; clComponent.SetupComponent(lblStokTitle, '{"TextColor":"#e2b13c", "TextSize":12, "TextBold":true}'); AddProductCard('1', 'L', 'Laptop Pro X1', 'Rezerve: 8 - 18.500 TL', '37', '#4CAF50', 70, False); AddProductCard('2', 'K', 'Mekanik Klavye', 'Rezerve: 3 - 1.850 TL', '9', '#FF9800', 40, False); AddProductCard('3', 'U', 'USB-C Hub', 'Rezerve: 5 - 650 TL', '3', '#f44336', 15, True); AddProductCard('4', 'M', 'Monitor 27"', 'Rezerve: 2 - 8.900 TL', '4', '#f44336', 20, True); AddProductCard('5', 'W', 'Web Kamera HD', 'Rezerve: 0 - 1.200 TL', '26', '#4CAF50', 55, False); myform.Run; } https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
|
|
![]() |
|
DEVCAN
Yeni Üye
Kayıt Tarihi: 01 Mayıs 2026 Durum: Aktif Değil Puanlar: 4 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 2 Saat 1 Dakika Önce Saat 23:57 |
|
https://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
|
|
![]() |
|
DEVCAN
Yeni Üye
Kayıt Tarihi: 01 Mayıs 2026 Durum: Aktif Değil Puanlar: 4 |
Mesaj Seçenekleri
Teşekkürler(0)
Alıntı Cevapla
Gönderim Zamanı: 1 saat 58 Dakika Önce Saat 00:00 |
|
kod bloğunu denedim formda ama değişiklik olmadı hala eskisi gibi stok kısmında profil aşağıda ürünler sayfanın en üstünde, analiz kısmında da grafik yukarda aşağıda olması gerekirken aşağıda da profil bilgileri mevcut aynı şekildehttps://static.cloudflareinsights.com/beacon.min.js/v8c78df7c7c0f484497ecbca7046644da1771523124516" integrity="sha512-8DS7rgIrAmghBFwoOTujcf6D9rXvH8xm8JQ1Ja01h9QX8EzXldiszufYa4IFfKdLUKTTrnSFXLDkUEOTrZQ8Qg==" data-cf-beacon="{"version":"2024.11.0","token":"439455f3e46c40b98dbd42a2f1a954d8","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}" crossorigin="anonymous">
|
|
![]() |
|
Yanıt Yaz
|
|
| Tweet |
| Forum Atla | Forum İzinleri ![]() Kapalı Foruma Yeni Konu Gönderme Kapalı Forumdaki Konulara Cevap Yazma Kapalı Forumda Cevapları Silme Kapalı Forumdaki Cevapları Düzenleme Kapalı Forumda Anket Açma Kapalı Forumda Anketlerde Oy Kullanma |