write generate pdf api
This commit is contained in:
@@ -4,9 +4,49 @@
|
||||
<meta charset="UTF-8" />
|
||||
<title>Baholash hisoboti № {{ report.number }}</title>
|
||||
<style>
|
||||
/* ============ PAGE SETUP ============ */
|
||||
@page {
|
||||
size: A4;
|
||||
margin: 15mm 14mm 15mm 14mm;
|
||||
margin: 15mm 14mm 22mm 14mm;
|
||||
|
||||
@bottom-center {
|
||||
content: "Sahifa " counter(page) " / " counter(pages);
|
||||
font-family: "Times New Roman", Times, serif;
|
||||
font-size: 9pt;
|
||||
color: #000000;
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
@bottom-left {
|
||||
content: '"SIFAT BAHOLASH" MCHJ';
|
||||
font-family: "Times New Roman", Times, serif;
|
||||
font-size: 8.5pt;
|
||||
font-style: italic;
|
||||
color: #000000;
|
||||
padding-top: 4px;
|
||||
}
|
||||
|
||||
@bottom-right {
|
||||
content: "Hisobot № " string(report-num);
|
||||
font-family: "Times New Roman", Times, serif;
|
||||
font-size: 8.5pt;
|
||||
font-style: italic;
|
||||
color: #000000;
|
||||
padding-top: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Cover page (muqova) — raqamsiz */
|
||||
@page :first {
|
||||
@bottom-center {
|
||||
content: none;
|
||||
}
|
||||
@bottom-left {
|
||||
content: none;
|
||||
}
|
||||
@bottom-right {
|
||||
content: none;
|
||||
}
|
||||
}
|
||||
|
||||
* {
|
||||
@@ -24,21 +64,60 @@
|
||||
background: #ffffff;
|
||||
}
|
||||
|
||||
/* String-set uchun yashirin span */
|
||||
.report-num-setter {
|
||||
string-set: report-num content();
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* ============ COLOR SYSTEM ============ */
|
||||
/* Asosiy: #000000 (qora) */
|
||||
/* Qo'shimcha: #c8102e (qizil) */
|
||||
/* Fon: #ffffff (oq) */
|
||||
/* Yumshoq fon: #f5f5f5 (och kulrang — strukturaviy ajratish uchun) */
|
||||
/* Yumshoq fon: #f5f5f5 (och kulrang) */
|
||||
|
||||
/* ============ PAGE WRAPPER ============ */
|
||||
.page {
|
||||
page-break-after: always;
|
||||
padding: 0;
|
||||
}
|
||||
.page:last-child {
|
||||
/* Faqat ayrim sahifalar majburan alohida bo'ladi */
|
||||
.page.force-break {
|
||||
page-break-after: always;
|
||||
}
|
||||
.page.force-break:last-child {
|
||||
page-break-after: auto;
|
||||
}
|
||||
|
||||
/* ============ PAGE BREAK CONTROL ============ */
|
||||
table {
|
||||
page-break-inside: avoid;
|
||||
break-inside: avoid;
|
||||
}
|
||||
table thead {
|
||||
display: table-header-group;
|
||||
}
|
||||
table tr {
|
||||
page-break-inside: avoid;
|
||||
break-inside: avoid;
|
||||
}
|
||||
|
||||
h2.section-title,
|
||||
h3.subsection-title,
|
||||
h4.minor-title {
|
||||
page-break-after: avoid;
|
||||
break-after: avoid;
|
||||
}
|
||||
|
||||
.result-block,
|
||||
.formula-box,
|
||||
.formula-explain,
|
||||
.specs-box,
|
||||
.big-amount,
|
||||
.definition-block {
|
||||
page-break-inside: avoid;
|
||||
break-inside: avoid;
|
||||
}
|
||||
|
||||
/* ============ HEADER ============ */
|
||||
.header {
|
||||
display: table;
|
||||
@@ -76,23 +155,6 @@
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* ============ PAGE NUMBER FOOTER ============ */
|
||||
.page-footer {
|
||||
position: relative;
|
||||
margin-top: 12px;
|
||||
padding-top: 6px;
|
||||
border-top: 1px solid #000000;
|
||||
font-size: 8.5pt;
|
||||
text-align: center;
|
||||
color: #000000;
|
||||
}
|
||||
.page-footer .footer-company {
|
||||
font-style: italic;
|
||||
}
|
||||
.page-footer .footer-page {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* ============ COVER PAGE ============ */
|
||||
.cover-logo-block {
|
||||
text-align: center;
|
||||
@@ -259,13 +321,13 @@
|
||||
background: #ffffff;
|
||||
}
|
||||
.big-amount .amount {
|
||||
font-size: 24pt;
|
||||
font-size: 16pt;
|
||||
font-weight: bold;
|
||||
color: #c8102e;
|
||||
letter-spacing: 2px;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.big-amount .words {
|
||||
font-size: 12pt;
|
||||
font-size: 10pt;
|
||||
font-weight: bold;
|
||||
color: #000000;
|
||||
margin-top: 4px;
|
||||
@@ -582,10 +644,10 @@
|
||||
margin-bottom: 6px;
|
||||
}
|
||||
.result-block .result-amount {
|
||||
font-size: 22pt;
|
||||
font-size: 15pt;
|
||||
font-weight: bold;
|
||||
color: #c8102e;
|
||||
letter-spacing: 1.5px;
|
||||
letter-spacing: 1px;
|
||||
margin: 4px 0;
|
||||
}
|
||||
.result-block .result-words {
|
||||
@@ -614,7 +676,7 @@
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
/* ============ STATE TABLE (износ) ============ */
|
||||
/* ============ STATE TABLE ============ */
|
||||
table.state-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
@@ -650,6 +712,7 @@
|
||||
margin-top: 30px;
|
||||
display: table;
|
||||
width: 100%;
|
||||
page-break-inside: avoid;
|
||||
}
|
||||
.signature-block .sig-left {
|
||||
display: table-cell;
|
||||
@@ -689,7 +752,7 @@
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
/* Two-column for definitions */
|
||||
/* ============ DEFINITION BLOCK ============ */
|
||||
.definition-block {
|
||||
margin: 6px 0;
|
||||
padding: 6px 10px;
|
||||
@@ -702,10 +765,13 @@
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<!-- Hisobot raqamini har sahifa pastida ko'rsatish uchun string-set -->
|
||||
<span class="report-num-setter">{{ report.number }}</span>
|
||||
|
||||
<!-- ============================================== -->
|
||||
<!-- =========== PAGE 1: COVER PAGE =============== -->
|
||||
<!-- ============================================== -->
|
||||
<div class="page">
|
||||
<div class="page force-break">
|
||||
<div class="cover-logo-block">
|
||||
<img src="{{ logo_url }}" alt="SIFAT BAHOLASH" />
|
||||
</div>
|
||||
@@ -787,7 +853,7 @@
|
||||
<!-- ============================================== -->
|
||||
<!-- =========== PAGE 2: COVER LETTER ============= -->
|
||||
<!-- ============================================== -->
|
||||
<div class="page">
|
||||
<div class="page force-break">
|
||||
<div class="letter-header">
|
||||
<div class="left-block">
|
||||
<strong>"SIFAT BAHOLASH" MCHJ</strong><br />
|
||||
@@ -910,7 +976,7 @@
|
||||
</div>
|
||||
|
||||
<!-- ============================================== -->
|
||||
<!-- =========== PAGE 3: TASK INFORMATION ========= -->
|
||||
<!-- =========== MAIN CONTENT (sahifalar tabiiy oqadi) === -->
|
||||
<!-- ============================================== -->
|
||||
<div class="page">
|
||||
<div class="header">
|
||||
@@ -1031,22 +1097,26 @@
|
||||
Valyuta kurslari ({{ report.valuation_date }} sanasi holatiga)
|
||||
</h3>
|
||||
<table class="currency-table">
|
||||
<tr>
|
||||
<th>Valyuta</th>
|
||||
<th>Kurs (so'm)</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>RUR</td>
|
||||
<td>{{ rates.rur }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>USD</td>
|
||||
<td>{{ rates.usd }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>EURO</td>
|
||||
<td>{{ rates.eur }}</td>
|
||||
</tr>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Valyuta</th>
|
||||
<th>Kurs (so'm)</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>RUR</td>
|
||||
<td>{{ rates.rur }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>USD</td>
|
||||
<td>{{ rates.usd }}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>EURO</td>
|
||||
<td>{{ rates.eur }}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
<h3 class="subsection-title">
|
||||
@@ -1083,33 +1153,6 @@
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="page-footer">
|
||||
<span class="footer-company"
|
||||
>"SIFAT BAHOLASH" MCHJ — Hisobot № {{ report.number }} {{
|
||||
report.date }} y.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ============================================== -->
|
||||
<!-- =========== PAGE 4: EXECUTOR INFO ============ -->
|
||||
<!-- ============================================== -->
|
||||
<div class="page">
|
||||
<div class="header">
|
||||
<div class="header-logo">
|
||||
<img src="{{ logo_url }}" alt="SIFAT BAHOLASH" />
|
||||
</div>
|
||||
<div class="header-info">
|
||||
<div class="company-name">"SIFAT BAHOLASH" MCHJ</div>
|
||||
<div class="cert-line">
|
||||
A'zolik sertifikati № 122, 01.06.2023 y.
|
||||
</div>
|
||||
<div class="phone-line">
|
||||
Hisobot № {{ report.number }}, {{ report.date }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3 class="subsection-title">
|
||||
1.4. Bajaruvchi to'g'risida ma'lumotlar
|
||||
</h3>
|
||||
@@ -1273,33 +1316,6 @@
|
||||
<li>Hisobotni tuzish va Buyurtmachiga topshirish</li>
|
||||
</ul>
|
||||
|
||||
<div class="page-footer">
|
||||
<span class="footer-company"
|
||||
>"SIFAT BAHOLASH" MCHJ — Hisobot № {{ report.number }} {{
|
||||
report.date }} y.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ============================================== -->
|
||||
<!-- =========== PAGE 5: ASSUMPTIONS ============== -->
|
||||
<!-- ============================================== -->
|
||||
<div class="page">
|
||||
<div class="header">
|
||||
<div class="header-logo">
|
||||
<img src="{{ logo_url }}" alt="SIFAT BAHOLASH" />
|
||||
</div>
|
||||
<div class="header-info">
|
||||
<div class="company-name">"SIFAT BAHOLASH" MCHJ</div>
|
||||
<div class="cert-line">
|
||||
A'zolik sertifikati № 122, 01.06.2023 y.
|
||||
</div>
|
||||
<div class="phone-line">
|
||||
Hisobot № {{ report.number }}, {{ report.date }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3 class="subsection-title">1.6. Baholash sifati sertifikati</h3>
|
||||
<p>
|
||||
Ushbu hisobotni imzolaganlar (keyingi o'rinlarda — Baholovchi)
|
||||
@@ -1422,33 +1438,6 @@
|
||||
qiymati.
|
||||
</div>
|
||||
|
||||
<div class="page-footer">
|
||||
<span class="footer-company"
|
||||
>"SIFAT BAHOLASH" MCHJ — Hisobot № {{ report.number }} {{
|
||||
report.date }} y.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ============================================== -->
|
||||
<!-- =========== PAGE 6: APPROACHES OVERVIEW ====== -->
|
||||
<!-- ============================================== -->
|
||||
<div class="page">
|
||||
<div class="header">
|
||||
<div class="header-logo">
|
||||
<img src="{{ logo_url }}" alt="SIFAT BAHOLASH" />
|
||||
</div>
|
||||
<div class="header-info">
|
||||
<div class="company-name">"SIFAT BAHOLASH" MCHJ</div>
|
||||
<div class="cert-line">
|
||||
A'zolik sertifikati № 122, 01.06.2023 y.
|
||||
</div>
|
||||
<div class="phone-line">
|
||||
Hisobot № {{ report.number }}, {{ report.date }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3 class="subsection-title">1.8.1. Baholash jarayoni</h3>
|
||||
<p>Baholash jarayoni quyidagilarni o'z ichiga oladi:</p>
|
||||
<ol class="process-list">
|
||||
@@ -1576,33 +1565,6 @@
|
||||
<li>Ishlab chiqaruvchi zavodning prays-listi</li>
|
||||
</ul>
|
||||
|
||||
<div class="page-footer">
|
||||
<span class="footer-company"
|
||||
>"SIFAT BAHOLASH" MCHJ — Hisobot № {{ report.number }} {{
|
||||
report.date }} y.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ============================================== -->
|
||||
<!-- =========== PAGE 7: VEHICLE DESCRIPTION ====== -->
|
||||
<!-- ============================================== -->
|
||||
<div class="page">
|
||||
<div class="header">
|
||||
<div class="header-logo">
|
||||
<img src="{{ logo_url }}" alt="SIFAT BAHOLASH" />
|
||||
</div>
|
||||
<div class="header-info">
|
||||
<div class="company-name">"SIFAT BAHOLASH" MCHJ</div>
|
||||
<div class="cert-line">
|
||||
A'zolik sertifikati № 122, 01.06.2023 y.
|
||||
</div>
|
||||
<div class="phone-line">
|
||||
Hisobot № {{ report.number }}, {{ report.date }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">
|
||||
2. Baholanayotgan transport vositasining tavsifi
|
||||
</h2>
|
||||
@@ -1756,33 +1718,6 @@
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<div class="page-footer">
|
||||
<span class="footer-company"
|
||||
>"SIFAT BAHOLASH" MCHJ — Hisobot № {{ report.number }} {{
|
||||
report.date }} y.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ============================================== -->
|
||||
<!-- =========== PAGE 8: COST APPROACH ============ -->
|
||||
<!-- ============================================== -->
|
||||
<div class="page">
|
||||
<div class="header">
|
||||
<div class="header-logo">
|
||||
<img src="{{ logo_url }}" alt="SIFAT BAHOLASH" />
|
||||
</div>
|
||||
<div class="header-info">
|
||||
<div class="company-name">"SIFAT BAHOLASH" MCHJ</div>
|
||||
<div class="cert-line">
|
||||
A'zolik sertifikati № 122, 01.06.2023 y.
|
||||
</div>
|
||||
<div class="phone-line">
|
||||
Hisobot № {{ report.number }}, {{ report.date }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">3. Xarajat yondashuvi</h2>
|
||||
|
||||
<p>
|
||||
@@ -2005,33 +1940,6 @@
|
||||
<div class="result-words">({{ cost.final_value_words }})</div>
|
||||
</div>
|
||||
|
||||
<div class="page-footer">
|
||||
<span class="footer-company"
|
||||
>"SIFAT BAHOLASH" MCHJ — Hisobot № {{ report.number }} {{
|
||||
report.date }} y.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ============================================== -->
|
||||
<!-- =========== PAGE 9: COMPARATIVE APPROACH ===== -->
|
||||
<!-- ============================================== -->
|
||||
<div class="page">
|
||||
<div class="header">
|
||||
<div class="header-logo">
|
||||
<img src="{{ logo_url }}" alt="SIFAT BAHOLASH" />
|
||||
</div>
|
||||
<div class="header-info">
|
||||
<div class="company-name">"SIFAT BAHOLASH" MCHJ</div>
|
||||
<div class="cert-line">
|
||||
A'zolik sertifikati № 122, 01.06.2023 y.
|
||||
</div>
|
||||
<div class="phone-line">
|
||||
Hisobot № {{ report.number }}, {{ report.date }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">4. Solishtirma yondashuv</h2>
|
||||
|
||||
<p>
|
||||
@@ -2140,30 +2048,6 @@
|
||||
qurilmalar narxi.
|
||||
</div>
|
||||
|
||||
<div class="page-footer">
|
||||
<span class="footer-company"
|
||||
>"SIFAT BAHOLASH" MCHJ — Hisobot № {{ report.number }} {{
|
||||
report.date }} y.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page">
|
||||
<div class="header">
|
||||
<div class="header-logo">
|
||||
<img src="{{ logo_url }}" alt="SIFAT BAHOLASH" />
|
||||
</div>
|
||||
<div class="header-info">
|
||||
<div class="company-name">"SIFAT BAHOLASH" MCHJ</div>
|
||||
<div class="cert-line">
|
||||
A'zolik sertifikati № 122, 01.06.2023 y.
|
||||
</div>
|
||||
<div class="phone-line">
|
||||
Hisobot № {{ report.number }}, {{ report.date }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3 class="subsection-title">Solishtirma tahlil jadvali</h3>
|
||||
|
||||
<table class="compare-table">
|
||||
@@ -2319,33 +2203,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-footer">
|
||||
<span class="footer-company"
|
||||
>"SIFAT BAHOLASH" MCHJ — Hisobot № {{ report.number }} {{
|
||||
report.date }} y.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ============================================== -->
|
||||
<!-- =========== PAGE 11: INCOME APPROACH & FINAL = -->
|
||||
<!-- ============================================== -->
|
||||
<div class="page">
|
||||
<div class="header">
|
||||
<div class="header-logo">
|
||||
<img src="{{ logo_url }}" alt="SIFAT BAHOLASH" />
|
||||
</div>
|
||||
<div class="header-info">
|
||||
<div class="company-name">"SIFAT BAHOLASH" MCHJ</div>
|
||||
<div class="cert-line">
|
||||
A'zolik sertifikati № 122, 01.06.2023 y.
|
||||
</div>
|
||||
<div class="phone-line">
|
||||
Hisobot № {{ report.number }}, {{ report.date }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h2 class="section-title">5. Daromad yondashuvi</h2>
|
||||
|
||||
<p>
|
||||
@@ -2555,13 +2412,6 @@
|
||||
<div class="name-line">{{ company.director }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="page-footer">
|
||||
<span class="footer-company"
|
||||
>"SIFAT BAHOLASH" MCHJ — Hisobot № {{ report.number }} {{
|
||||
report.date }} y.</span
|
||||
>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user