Vorlage:BV-BgPreisIndex
Aus BogenWiki
(Unterschied zwischen Versionen)
Nugman (Diskussion | Beiträge) |
Nugman (Diskussion | Beiträge) |
||
(Der Versionsvergleich bezieht 45 dazwischenliegende Versionen mit ein.) | |||
Zeile 4: | Zeile 4: | ||
BVBgList = []; | BVBgList = []; | ||
BVBgPreise = []; | BVBgPreise = []; | ||
- | + | BVBgPrStat = {Total:{Count:0, DateFrom:'9999-99-99', DateTo:''}, | |
+ | ebay: {Count:0, DateFrom:'9999-99-99', DateTo:''}, | ||
+ | AH: {Count:0, DateFrom:'9999-99-99', DateTo:''}}; | ||
function OnBgListLoad(BgList,Param) | function OnBgListLoad(BgList,Param) | ||
{ | { | ||
- | console.log('[OnBgListLoad]'); | + | console.log('[OnBgListLoad] BgList.length='+BgList.length); |
BVBgList = BgList; | BVBgList = BgList; | ||
+ | var aBogenNr = []; | ||
for (var b = 0; b < BVBgList.length; b++) | for (var b = 0; b < BVBgList.length; b++) | ||
- | BVGetBogen(Param.WikiUser,Param.Gebiet,Param.Gebiet1,Param.KatNr, | + | aBogenNr.push(BVBgList[b].BogenNr); |
+ | BVGetBogen(Param.WikiUser,Param.Gebiet,Param.Gebiet1,Param.KatNr,aBogenNr,Param.Options,OnBgLoad); | ||
} | } | ||
function OnBgLoad(Bogen,Param) | function OnBgLoad(Bogen,Param) | ||
{ | { | ||
- | console.log('[OnBgLoad] Bogen. | + | console.log('[OnBgLoad] Bogen.length='+Bogen.length); |
+ | var BVBgList = Bogen; | ||
+ | var aOptions = Param.Options.split(';'); | ||
+ | var aGroupBy = []; | ||
+ | for (o = 0; o < aOptions.length; o++) { | ||
+ | if (aOptions[o].split(':')[0] == 'GroupBy') | ||
+ | aGroupBy = aOptions[o].split(':')[1].split('+'); | ||
+ | } | ||
+ | var sCellPadding = 'padding:0px; padding-left:4px; padding-right:4px;'; | ||
+ | var eBgList = document.getElementById('BVBgList.'+Param.Gebiet+'.'+Param.Gebiet1+'.'+Param.KatNr); | ||
+ | var sTabHTML = '<table id="BVBgList.'+Param.Gebiet+'.'+Param.Gebiet1+'.'+Param.KatNr+'.Tab" style="background:silver" cellpadding=1 cellspacing=1>'+ | ||
+ | ' <tr style="background:#E0E0E0" valign=top>'+ | ||
+ | ' <td rowspan=2><div style="'+sCellPadding+'"><b>BogenNr.</b><br>'+BVBgList.length+'</div></td>'+ | ||
+ | ' <td colspan=2><div style="'+sCellPadding+'"><b>Eigenschaften</b></div></td>'+ | ||
+ | ' <td colspan=3><div style="'+sCellPadding+'"><b>Preis</b></div></td>'+ | ||
+ | ' </tr>'+ | ||
+ | ' <tr style="background:#E0E0E0" valign=top>'+ | ||
+ | ' <td><div style="'+sCellPadding+'"><b>DKZ</b></div></td>'+ | ||
+ | ' <td><div style="'+sCellPadding+'"><b>BZN</b></div></td>'+ | ||
+ | ' <td><div style="'+sCellPadding+'"><b>Datum</b></div></td>'+ | ||
+ | ' <td><div style="'+sCellPadding+'"><b>Zuschlag</b></div></td>'+ | ||
+ | ' <td><div style="'+sCellPadding+'"><b>AH</b></div></td>'+ | ||
+ | ' </tr>'; | ||
for (var b = 0; b < BVBgList.length; b++) { | for (var b = 0; b < BVBgList.length; b++) { | ||
- | + | var sDKZ = '-'; | |
- | BVBgList[b] = | + | var sBZN = ''; |
- | + | for (var brs = 0; brs < BVBgList[b].BRS.length; brs++) { | |
- | + | if (BVBgList[b].BRS[brs].Type == 'DKZ') sDKZ = BVBgList[b].BRS[brs].Key; | |
+ | if (BVBgList[b].BRS[brs].Type == 'BZN') sBZN = BVBgList[b].BRS[brs].Text; | ||
} | } | ||
+ | var sAH = ''; | ||
+ | switch (BVBgList[b].Eingang.Quelle) { | ||
+ | case 'eb': sAH = 'ebay'; break; | ||
+ | case 'ah': sAH = BVBgList[b].Eingang.Name; break; | ||
+ | } | ||
+ | var sBN = BVBgList[b].BogenNr; | ||
+ | if (BVBgList[b].BogenWiki == 'X') | ||
+ | sBN = '<a href="/bogenwiki/index.php?title=Bund MiNr. '+BVBgList[b].BogenNr+' groß">'+BVBgList[b].BogenNr+'</a>'; | ||
+ | var sPreis = BVBgList[b].Eingang.Preis; | ||
+ | console.log('BVGetBgFieldValue(BVBgList['+b+'],"Zustand") = '+BVGetBgFieldValue(BVBgList[b],'Zustand')); | ||
+ | if (!BVCheckPrice(sPreis,BVBgList[b].Eingang.Art,BVGetBgFieldValue(BVBgList[b],'EM.Art.Key'),BVGetBgFieldValue(BVBgList[b],'Erhaltung'),BVGetBgFieldValue(BVBgList[b],'Zustand'))) | ||
+ | sPreis = '<span style="color:silver;"><i>'+sPreis+'€</i></span>'; | ||
+ | sTabHTML += ' <tr style="background:#FCFCFC" valign=top>'+ | ||
+ | ' <td><div style="'+sCellPadding+'">'+sBN+'</div></td>'+ | ||
+ | ' <td align=center><div style="'+sCellPadding+'">'+sDKZ+'</div></td>'+ | ||
+ | ' <td align=center><div style="'+sCellPadding+'">'+sBZN+'</div></td>'+ | ||
+ | ' <td><div style="'+sCellPadding+'">'+BVBgList[b].Eingang.Datum+'</div></td>'+ | ||
+ | ' <td align=right><div style="'+sCellPadding+'">'+sPreis+'</div></td>'+ | ||
+ | ' <td><div style="'+sCellPadding+'">'+sAH+'</div></td>'+ | ||
+ | ' </tr>'; | ||
} | } | ||
- | if ( | + | sTabHTML += '</table>'; |
- | + | if (eBgList) eBgList.innerHTML = sTabHTML; | |
- | + | var eBgPreise = document.getElementById('BVBgPreise.'+Param.Gebiet+'.'+Param.Gebiet1+'.'+Param.KatNr); | |
- | + | var BVBgPreise = BVCalcPriceIndex(Bogen,aGroupBy); | |
- | + | console.log('BVBgPreise.length = '+BVBgPreise.length); | |
- | + | sTabHTML = '<table id="BVBgPreise.'+Param.Gebiet+'.'+Param.Gebiet1+'.'+Param.KatNr+'.Tab" style="background:silver" cellpadding=1 cellspacing=1>'+ | |
- | + | ' <tr style="background:#E0E0E0" valign=top>'; | |
- | + | for (g = 0; g < aGroupBy.length; g++) { | |
- | + | var aGroupByParts = aGroupBy[g].split('.'); | |
- | + | var sGroupByText = aGroupByParts[0]; | |
- | + | if (aGroupByParts[0] == 'Erhaltung') sGroupByText = 'Erh.'; | |
- | + | if (aGroupByParts[0] == 'Eingang') sGroupByText = aGroupByParts[1]; | |
- | + | if (aGroupByParts[0] == 'Ausgang') sGroupByText = aGroupByParts[1]; | |
- | + | if (aGroupByParts[0] == 'BRS') sGroupByText = aGroupByParts[1]; | |
- | + | if (aGroupByParts[0] == 'PF') sGroupByText = aGroupByParts[0]; | |
- | + | if (aGroupByParts[0] == 'EM') sGroupByText = aGroupByParts[1]; | |
- | + | sTabHTML += ' <td><div style="'+sCellPadding+'">'+sGroupByText+'</div></td>'; | |
- | + | } | |
- | + | sTabHTML += ' <td align=center><div style="'+sCellPadding+'">Mittel</div></td>'+ | |
- | + | ' <td align=center><div style="'+sCellPadding+'">Median</div></td>'+ | |
- | + | ' <td align=center><div style="'+sCellPadding+'">Min - Max</div></td>'+ | |
- | + | ' <td align=center><div style="'+sCellPadding+'">Anz.</div></td>'+ | |
- | + | ' </tr>'; | |
- | + | if (BVBgPreise.length > 0) { | |
- | + | TotalCount = 0; | |
- | + | TotalDateFrom = ''; | |
- | + | TotalDateTo = ''; | |
- | + | TotalEbayCount = 0; | |
- | + | TotalEbayDateFrom = ''; | |
- | + | TotalEbayDateTo = ''; | |
- | + | TotalAHCount = 0; | |
- | + | TotalAHDateFrom = ''; | |
- | + | TotalAHDateTo = ''; | |
- | + | for (var p = 0; p < BVBgPreise.length; p++) { | |
- | + | console.log('BVBgPreise['+p+'].GroupValue = "'+BVBgPreise[p].GroupValue+'"'); | |
- | + | if (BVBgPreise[p].GroupValue.indexOf('::') > 0) { | |
- | + | var aGroupValues = BVBgPreise[p].GroupValue.split('::'); | |
- | + | sTabHTML += ' <tr style="background:#FCFCFC" valign=top>'; | |
- | + | for (v = 0; v < aGroupValues.length-1; v++) { | |
+ | var aGroupByParts = aGroupBy[v].split('.'); | ||
+ | var sGroupByValueText = aGroupValues[v]; | ||
+ | console.log('aGroupByParts['+v+']="'+aGroupByParts[v]+'"; aGroupValues['+v+']="'+aGroupValues[v]+'"'); | ||
+ | if (aGroupByParts[v] == 'Erhaltung') { | ||
+ | switch (aGroupValues[v]) { | ||
+ | case 'Pf': sGroupByValueText = '<div style="padding-top:2px"><img src="/bogenwiki/images/Symbol_Pfr1T.png" width="27" height="14" alt="**" title="postfrisch"></div>'; break; | ||
+ | case 'Gs': sGroupByValueText = '<div style="padding-top:2px"><img src="/bogenwiki/images/Symbol_GesT1.png" width="13" height="14" alt="**" title="gestempelt"></div>'; break; | ||
+ | case 'Ug': sGroupByValueText = '<div style="padding-top:2px"><img src="/bogenwiki/images/Symbol_UgsT1.png" width="13" height="14" alt="**" title="ungebraucht"></div>'; break; | ||
+ | case 'Bt': sGroupByValueText = '<span title="Bogentasche">BT</span>'; break; | ||
+ | } | ||
+ | } | ||
+ | sTabHTML += ' <td><div style="'+sCellPadding+'">'+sGroupByValueText+'</div></td>'; | ||
} | } | ||
- | + | sTabHTML += ' <td align=right><div style="'+sCellPadding+'">'+BVBgPreise[p].Avg.toFixed(2).replace(/\./,',')+'€</div></td>'+ | |
- | + | ' <td align=right><div style="'+sCellPadding+'">'+BVBgPreise[p].Median.toFixed(2).replace(/\./,',')+'€</div></td>'+ | |
- | + | ' <td align=center><div style="'+sCellPadding+'">'+BVBgPreise[p].Min.toFixed(2).replace(/\./,',')+'€ - '+BVBgPreise[p].Max.toFixed(2).replace(/\./,',')+'€</div></td>'+ | |
+ | ' <td align=center><div style="'+sCellPadding+'">'+BVBgPreise[p].Count+'</div></td>'+ | ||
+ | ' </tr>'; | ||
+ | } else { | ||
+ | switch (BVBgPreise[p].GroupValue) { | ||
+ | case '': | ||
+ | TotalCount = BVBgPreise[p].Count; | ||
+ | TotalDateFrom = BVBgPreise[p].DateFrom; | ||
+ | TotalDateTo = BVBgPreise[p].DateTo; | ||
+ | break; | ||
+ | case '[src:eb]': | ||
+ | TotalEbayCount = BVBgPreise[p].Count; | ||
+ | TotalEbayDateFrom = BVBgPreise[p].DateFrom; | ||
+ | TotalEbayDateTo = BVBgPreise[p].DateTo; | ||
+ | break; | ||
+ | case '[src:ah]': | ||
+ | TotalAHCount = BVBgPreise[p].Count; | ||
+ | TotalAHDateFrom = BVBgPreise[p].DateFrom; | ||
+ | TotalAHDateTo = BVBgPreise[p].DateTo; | ||
+ | break; | ||
} | } | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
} | } | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
- | |||
} | } | ||
- | sTabHTML += '< | + | nColSpan = aGroupBy.length + 4; |
- | + | sTabHTML += ' <tr style="background:#FCFCFC" valign=top>'+ | |
- | + | ' <td align=left colspan='+nColSpan+'><div style="'+sCellPadding+'">'+ | |
- | + | '<table id="BVBgPrStat.'+Param.Gebiet+'.'+Param.Gebiet1+'.'+Param.KatNr+'.Tab" style="background:transparent" cellpadding=0 cellspacing=0>'+ | |
- | + | '<tr style="background:transparent" valign=top>'+ | |
- | + | '<td colspan=3><b>Datenbasis:</b></td>'+ | |
- | + | '</tr>'+ | |
- | + | '<tr style="background:transparent" valign=top>'+ | |
- | + | '<td>Gesamt: </td>'+ | |
- | + | '<td align=right>'+TotalCount+' </td>'+ | |
- | + | '<td>('+TotalDateFrom+' - '+TotalDateTo+')</td>'+ | |
- | + | '</tr>'+ | |
- | + | '<tr style="background:transparent" valign=top>'+ | |
- | + | '<td> davon ebay: </td>'+ | |
- | + | '<td align=right>'+TotalEbayCount+' </td>'+ | |
- | + | '<td>'+(TotalEbayCount>0 ? '('+TotalEbayDateFrom+' - '+TotalEbayDateTo+')' : ' ')+'</td>'+ | |
- | + | '</tr>'+ | |
+ | '<tr style="background:transparent" valign=top>'+ | ||
+ | '<td> davon AH: </td>'+ | ||
+ | '<td align=right>'+TotalAHCount+' </td>'+ | ||
+ | '<td>'+(TotalAHCount>0 ? '('+TotalAHDateFrom+' - '+TotalAHDateTo+')' : ' ')+'</td>'+ | ||
+ | '</tr>'+ | ||
+ | '</table>'+ | ||
+ | ' </div></td>'+ | ||
' </tr>'; | ' </tr>'; | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
} else { | } else { | ||
- | + | nColSpan = aGroupBy.length + 4; | |
+ | sTabHTML += ' <tr style="background:#FCFCFC" valign=top>'+ | ||
+ | ' <td align=left colspan='+nColSpan+'><div style="'+sCellPadding+'">Keine Auktionsergebnisse vorhanden</div></td>'+ | ||
+ | ' </tr>'; | ||
} | } | ||
+ | sTabHTML += '</table>'; | ||
+ | eBgPreise.innerHTML = sTabHTML; | ||
} | } | ||
</script></html> | </script></html> |
Aktuelle Version vom 18:16, 1. Dez. 2023
Template BV_BgPreisIndex: Invalid value for parameter Cmd ("empty")!!!