| @@ -132,10 +132,6 @@ function loadDinAssetData() { | |||
| method: "get", | |||
| data: { assetId: $("#asset").val() }, | |||
| success: function (data) { | |||
| $("#cycle").attr({ | |||
| "min" : data.cycleMin, | |||
| "max" : data.cycleMax | |||
| }).val(''); | |||
| $('#benchmark') | |||
| .find('option') | |||
| @@ -148,18 +144,12 @@ function loadDinAssetData() { | |||
| $('#benchmark').append('<option value="' + i + '">' + data.benchmarkValues[i] + '</option>'); | |||
| } | |||
| if (Object.keys(data.benchmarkValues).length < 1) { | |||
| if (Object.keys(data.benchmarkValues).length <= 0) { | |||
| $('#no-benchmark-data').show(); | |||
| $('#benchmark-data').hide(); | |||
| $('#no-calculation').css('display', 'block'); | |||
| $('#calculate-first').hide(); | |||
| $('#worksheet-no-calculation').show(); | |||
| $('#benchmark').prop( "disabled", true ); | |||
| } else { | |||
| $('#no-benchmark-data').hide(); | |||
| $('#benchmark-data').show(); | |||
| $('#calculate-first').css('display', 'block'); | |||
| $('#no-calculation').hide(); | |||
| $('#worksheet-no-calculation').hide(); | |||
| $('#benchmark').prop( "disabled", false ); | |||
| } | |||
| }, | |||
| error: function (xhr, msg, three) { | |||
| @@ -180,10 +170,20 @@ function onCalculate() { | |||
| success: function (data) { | |||
| $('#resInspection').text(data['recCycleInspection']); | |||
| $('#resMaintenance').text(data['recCycleMaintenance']); | |||
| $('#resPercentage').text((parseFloat(data['costDiffCurRecPercentage']) * 100) + " %"); | |||
| let costDiff = data['costDiffCurCycleRecCycle']; | |||
| let roundedCostDiff = parseFloat(costDiff).toFixed(2); | |||
| $('#resEuro').text(roundedCostDiff.replace(/\./g, ",") + " €"); | |||
| let percentage = "-"; | |||
| if (data['costDiffCurRecPercentage'] !== null) { | |||
| percentage = (parseFloat(data['costDiffCurRecPercentage']) * 100) + " %"; | |||
| } | |||
| $('#resPercentage').text(percentage); | |||
| let costDiff = "-"; | |||
| if (data['costDiffCurCycleRecCycle'] !== null) { | |||
| costDiff = parseFloat(data['costDiffCurCycleRecCycle']).toFixed(2); | |||
| costDiff = costDiff.replace(/\./g, ",") + " €"; | |||
| } | |||
| $('#resEuro').text(costDiff); | |||
| $("#result-box").addClass("result-existing"); | |||
| $('html, body').animate({ | |||
| scrollTop: $('#result-box').offset().top - 200 | |||
| @@ -221,7 +221,7 @@ function onCreateWorksheet() { | |||
| } | |||
| }); | |||
| $("#worksheet-no-calculation").on("click", function (e) { | |||
| $("#create-worksheet").on("click", function (e) { | |||
| e.preventDefault(); | |||
| let result = window.confirm("Sie nutzen hiermit einen Ihrer Durchgänge."); | |||
| if (result) { | |||
| @@ -613,6 +613,9 @@ textarea:-ms-input-placeholder { | |||
| .result-existing { | |||
| display: none; | |||
| p { | |||
| padding: 1.25rem; | |||
| } | |||
| } | |||
| .result-not-existing { | |||
| @@ -631,12 +634,11 @@ textarea:-ms-input-placeholder { | |||
| } | |||
| ol.worksheets { | |||
| padding-left: 26px; | |||
| li { | |||
| padding-bottom: 10px; | |||
| list-style: decimal-leading-zero; | |||
| strong { | |||
| padding-right: 10px; | |||
| } | |||
| } | |||
| a { | |||
| @@ -759,7 +761,6 @@ ol.worksheets { | |||
| } | |||
| } | |||
| } | |||
| #no-calculation, | |||
| #calculate-first { | |||
| width: 100%; | |||
| padding-bottom: 20px; | |||
| @@ -767,8 +768,10 @@ ol.worksheets { | |||
| #no-benchmark-data, | |||
| #benchmark-data, | |||
| #no-calculation, | |||
| #calculate-first, | |||
| #worksheet-no-calculation { | |||
| #calculate-first { | |||
| display: block; | |||
| } | |||
| #create-worksheet { | |||
| display: none; | |||
| } | |||
| @@ -762,6 +762,9 @@ textarea:-ms-input-placeholder { | |||
| .result-box .result-existing { | |||
| display: none; | |||
| } | |||
| .result-box .result-existing p { | |||
| padding: 1.25rem; | |||
| } | |||
| .result-box .result-not-existing { | |||
| display: block; | |||
| } | |||
| @@ -772,12 +775,11 @@ textarea:-ms-input-placeholder { | |||
| display: none; | |||
| } | |||
| ol.worksheets { | |||
| padding-left: 26px; | |||
| } | |||
| ol.worksheets li { | |||
| padding-bottom: 10px; | |||
| list-style: decimal-leading-zero; | |||
| } | |||
| ol.worksheets li strong { | |||
| padding-right: 10px; | |||
| } | |||
| ol.worksheets a { | |||
| text-decoration: none; | |||
| @@ -879,7 +881,6 @@ ol.worksheets a:hover { | |||
| margin: 0 8px; | |||
| } | |||
| #no-calculation, | |||
| #calculate-first { | |||
| width: 100%; | |||
| padding-bottom: 20px; | |||
| @@ -887,9 +888,11 @@ ol.worksheets a:hover { | |||
| #no-benchmark-data, | |||
| #benchmark-data, | |||
| #no-calculation, | |||
| #calculate-first, | |||
| #worksheet-no-calculation { | |||
| #calculate-first { | |||
| display: block; | |||
| } | |||
| #create-worksheet { | |||
| display: none; | |||
| } | |||
| @@ -1 +1 @@ | |||
| {"version":3,"sourceRoot":"","sources":["components/_reset.scss","_variables.scss","components/_basic.scss","_mixins.scss","components/_header.scss","components/_footer.scss","components/_listing.scss"],"names":[],"mappings":"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F;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;;AACA;EAHF;IAII;IACA;;;AAKF;EACE;;AAEA;EACE;EACA;EACA;;AACA;EAJF;IAKI;;;AAOV;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OD3cY;EC4cZ;;AAEA;EACE;;AAGF;EACE,YD/cY;;ACkdd;EACE;;;AAIJ;AAEA;EACE;EACA;EACA;EACA;;AACA;EACE;;AAGF;EACE;;AACA;EAFF;IAGI;;;AAEF;EALF;IAMI;;;AAEF;EARF;IASI;;;AAGF;EACE;;AACA;EAFF;IAGI;;;AAEF;EALF;IAMI;;;AAEF;EARF;IASI;;;AAIJ;EACE;;AACA;EAFF;IAGI;;;AAYN;EACE;;AAEA;EACE;;;AAKN;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EARF;IASI;;;AAEF;EACE;;AACA;EAFF;IAGI;;;AAKN;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;;AAGF;EACE;;AAIA;EACE;;AAGF;EACE;;;AAKN;EACE;;AAEA;EACE;EACA;;AAIF;EACE;;AAEA;EACE;EACA;;;AAMJ;EACE;EACA;EACA;;AACA;EAJF;IAKI;;;AAEF;EAPF;IAQI;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAEF;EACE;EACA;;AAKF;EACE;;AAKN;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAMA;EACE;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EAGE;;AAEF;EACE;;;AAKR;AAAA;EAEE;EACA;;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;;;AEpwBF;EACE;EACA;EACA;EACA;EACA;EACA;EACA,YHPY;;AGQZ;EACE;EACA;EACA;EACA;;AACA;EALF;IAMI;IACA;;;AAEF;EATF;IAUI;IACA;;;AAEF;EAbF;IAcI;;;AAEF;EACE;;AACA;EAFF;IAGI;;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EANF;IAOI;IACA;;;AAEF;EACE;EACA;EACA;;AACA;EAJF;IAKI;IACA;;;AAGJ;EACE;;AAKJ;EADF;IAEI;;;AAIN;EACE;;AACA;EAFF;IAGI;;;AAGJ;EACE;;AClEJ;EACE;EACA,OJFY;;AIGZ;EACE;;AAEF;EACE;EACA;;AAEF;EACE;;AACA;EACE;;AAEF;EACE;;;AChBN;EACE;;;AAOA;EACE,YLIW;EKHX;EACA;;AACA;EACE,YLDS;;AKGX;EACE;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EALF;IAMI;;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;;AACA;EACE;;AACA;EAFF;IAGI;IACA;IACA;;;AAGJ;EACE;;AACA;EAFF;IAGI;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAOZ;EACE;;AAKF;EACE","file":"styles.css"} | |||
| {"version":3,"sourceRoot":"","sources":["components/_reset.scss","_variables.scss","components/_basic.scss","_mixins.scss","components/_header.scss","components/_footer.scss","components/_listing.scss"],"names":[],"mappings":"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F;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;;AACA;EAHF;IAII;IACA;;;AAKF;EACE;;AAEA;EACE;EACA;EACA;;AACA;EAJF;IAKI;;;AAOV;EACE;EACA;;AAGF;EACE;EACA;;;AAIJ;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA,OD3cY;EC4cZ;;AAEA;EACE;;AAGF;EACE,YD/cY;;ACkdd;EACE;;;AAIJ;AAEA;EACE;EACA;EACA;EACA;;AACA;EACE;;AAGF;EACE;;AACA;EAFF;IAGI;;;AAEF;EALF;IAMI;;;AAEF;EARF;IASI;;;AAGF;EACE;;AACA;EAFF;IAGI;;;AAEF;EALF;IAMI;;;AAEF;EARF;IASI;;;AAIJ;EACE;;AACA;EAFF;IAGI;;;AAYN;EACE;;AAEA;EACE;;;AAKN;EACE;;AAEA;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;EARF;IASI;;;AAEF;EACE;;AACA;EAFF;IAGI;;;AAKN;EACE;EACA;EACA;EACA;EACA;;;AAIJ;EACE;EACA;;AAEA;EACE;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;;AAGF;EACE;EACA;EACA;;AAIJ;EACE;;AAGF;EACE;;AAGF;EACE;;AACA;EACE;;AAIJ;EACE;;AAIA;EACE;;AAGF;EACE;;;AAMJ;EACE;;AACA;EACE;;AAIJ;EACE;;AAEA;EACE;EACA;;;AAMJ;EACE;EACA;EACA;;AACA;EAJF;IAKI;;;AAEF;EAPF;IAQI;;;AAGF;EACE;EACA;EACA;;AAEA;EACE;EACA;;AAEF;EACE;EACA;;AAKF;EACE;;AAKN;EACE;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;;AAEF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;;AAMA;EACE;EACA;EACA;EACA;EACA;;AAKN;EACE;EACA;EACA;EACA;;AAEA;EACE;;AAGF;EACE;;AAGF;EAGE;;AAEF;EACE;;;AAKR;EACE;EACA;;;AAGF;AAAA;AAAA;EAGE;;;AAGF;EACE;;;AEvwBF;EACE;EACA;EACA;EACA;EACA;EACA;EACA,YHPY;;AGQZ;EACE;EACA;EACA;EACA;;AACA;EALF;IAMI;IACA;;;AAEF;EATF;IAUI;IACA;;;AAEF;EAbF;IAcI;;;AAEF;EACE;;AACA;EAFF;IAGI;;;AAEF;EACE;EACA;EACA;EACA;EACA;;AACA;EANF;IAOI;IACA;;;AAEF;EACE;EACA;EACA;;AACA;EAJF;IAKI;IACA;;;AAGJ;EACE;;AAKJ;EADF;IAEI;;;AAIN;EACE;;AACA;EAFF;IAGI;;;AAGJ;EACE;;AClEJ;EACE;EACA,OJFY;;AIGZ;EACE;;AAEF;EACE;EACA;;AAEF;EACE;;AACA;EACE;;AAEF;EACE;;;AChBN;EACE;;;AAOA;EACE,YLIW;EKHX;EACA;;AACA;EACE,YLDS;;AKGX;EACE;;AAGJ;EACE;EACA;EACA;EACA;;AACA;EALF;IAMI;;;AAEF;EACE;;AAEF;EACE;EACA;EACA;EACA;;AACA;EACE;;AACA;EAFF;IAGI;IACA;IACA;;;AAGJ;EACE;;AACA;EAFF;IAGI;;;AAEF;EACE;EACA;EACA;EACA;EACA;EACA;;AAEE;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAOZ;EACE;;AAKF;EACE","file":"styles.css"} | |||
| @@ -101,8 +101,6 @@ class UserController extends AbstractController | |||
| } | |||
| $res = []; | |||
| $res['cycleMin'] = $dinAsset->getCycleMonthsMin(); | |||
| $res['cycleMax'] = $dinAsset->getCycleMonthsMax(); | |||
| $res['benchmarkValues'] = $dinAsset->getBenchMarkSelectValues(); | |||
| return $this->json($res); | |||
| } | |||
| @@ -113,8 +111,12 @@ class UserController extends AbstractController | |||
| public function calculateRisk(Request $request, CalculatorService $calculatorService) | |||
| { | |||
| $params = $request->request->all(); | |||
| $benchMark = $this->getDoctrine()->getRepository(DinAssetBenchmark::class)->find($params['benchmark']); | |||
| $res = $calculatorService->calculateRisk($benchMark, $params); | |||
| $asset = $this->getDoctrine()->getRepository(DinAsset::class)->find($params['asset']); | |||
| $benchMark = null; | |||
| if (array_key_exists('benchmark', $params)) { | |||
| $benchMark = $this->getDoctrine()->getRepository(DinAssetBenchmark::class)->find($params['benchmark']); | |||
| } | |||
| $res = $calculatorService->calculateRisk($params, $asset, $benchMark); | |||
| return $this->json($res); | |||
| } | |||
| @@ -139,30 +141,23 @@ class UserController extends AbstractController | |||
| } | |||
| $assetTasks = $asset->getTasks(); | |||
| $failureProbability = null; | |||
| $failureDamage = null; | |||
| $maintenanceAdvantage = null; | |||
| $inspectionAdvantage = null; | |||
| $cycle = null; | |||
| $asset = $this->getDoctrine()->getRepository(DinAsset::class)->find($params['asset']); | |||
| $benchMark = null; | |||
| $bandwidth = null; | |||
| $recCycleMaintenance = null; | |||
| $recCycleInspection = null; | |||
| $costDiffCurRecPercentage = null; | |||
| $costDiffCurCycleRecCycle = null; | |||
| if (array_key_exists('benchmark', $params)) { | |||
| $benchMark = $em->getRepository(DinAssetBenchmark::class)->find($params['benchmark']); | |||
| $calculation = $calculatorService->calculateRisk($benchMark, $params); | |||
| $failureProbability = Utils::$riskFailure[$params['failure']][0]; | |||
| $failureDamage = Utils::$riskCosts[$params['costs']][0]; | |||
| $maintenanceAdvantage = $params['maintenance']; | |||
| $inspectionAdvantage = $params['inspection']; | |||
| $cycle = $params['cycle']; | |||
| $benchMark = $this->getDoctrine()->getRepository(DinAssetBenchmark::class)->find($params['benchmark']); | |||
| $bandwidth = $benchMark->getBandwidth(); | |||
| $recCycleMaintenance = $calculation['recCycleMaintenance']; | |||
| $recCycleInspection = $calculation['recCycleInspection']; | |||
| $costDiffCurRecPercentage = $calculation['costDiffCurRecPercentage']; | |||
| $costDiffCurCycleRecCycle = $calculation['costDiffCurCycleRecCycle']; | |||
| } | |||
| $calculation = $calculatorService->calculateRisk($params, $asset, $benchMark); | |||
| $failureProbability = Utils::$riskFailure[$params['failure']][0]; | |||
| $failureDamage = Utils::$riskCosts[$params['costs']][0]; | |||
| $maintenanceAdvantage = $params['maintenance']; | |||
| $inspectionAdvantage = $params['inspection']; | |||
| $cycle = $params['cycle']; | |||
| $recCycleMaintenance = $calculation['recCycleMaintenance']; | |||
| $recCycleInspection = $calculation['recCycleInspection']; | |||
| $costDiffCurRecPercentage = $calculation['costDiffCurRecPercentage']; | |||
| $costDiffCurCycleRecCycle = $calculation['costDiffCurCycleRecCycle']; | |||
| $em->getConnection()->beginTransaction(); | |||
| try { | |||
| @@ -15,10 +15,8 @@ class CalculatorService | |||
| const KEY_COST_DIFF_CUR_REC_CYCLE = 'costDiffCurCycleRecCycle'; | |||
| const KEY_COST_DIFF_CUR_REC_PERCENTAGE = 'costDiffCurRecPercentage'; | |||
| public function calculateRisk(DinAssetBenchmark $benchmark, $params) | |||
| public function calculateRisk($params, DinAsset $asset, DinAssetBenchmark $benchmark = null) | |||
| { | |||
| /** @var DinAsset $asset */ | |||
| $asset = $benchmark->getDinAsset(); | |||
| $userCycle = $params['cycle']; | |||
| $pointsFailure = Utils::$riskFailure[$params['failure']][1]; | |||
| @@ -36,8 +34,6 @@ class CalculatorService | |||
| $recCycleMaintenance = $asset->getCycleMonthsMin(); | |||
| } | |||
| } | |||
| $costsCurrentPerYear = (12 / $userCycle) * $benchmark->getAverageCosts(); | |||
| $costsRecPerYear = (12 / $recCycleMaintenance) * $benchmark->getAverageCosts(); | |||
| $recCycleInspection = $asset->getCycleMonthsMax(); | |||
| if ( ((int)$params['inspection']) === 1 ) { | |||
| @@ -46,13 +42,20 @@ class CalculatorService | |||
| $recCycleInspection = $asset->getCycleMonthsMin(); | |||
| } | |||
| } | |||
| $costDiffCurCycleRecCycle = $costsCurrentPerYear - $costsRecPerYear; | |||
| $costDiffCurRecPercentage = 1 - ($userCycle / $recCycleMaintenance); | |||
| $costDiffCurCycleRecCycle = null; | |||
| $costDiffCurRecPercentage = null; | |||
| if ($benchmark !== null) { | |||
| $costsCurrentPerYear = (12 / $userCycle) * $benchmark->getAverageCosts(); | |||
| $costsRecPerYear = (12 / $recCycleMaintenance) * $benchmark->getAverageCosts(); | |||
| $costDiffCurRecPercentage = round(1 - ($userCycle / $recCycleMaintenance), 2); | |||
| $costDiffCurCycleRecCycle = $this->customRounding($costsCurrentPerYear - $costsRecPerYear); | |||
| } | |||
| $res[self::KEY_REC_CYCLE_MAINTENANCE] = $recCycleMaintenance; | |||
| $res[self::KEY_REC_CYCLE_INSPECTION] = $recCycleInspection; | |||
| $res[self::KEY_COST_DIFF_CUR_REC_PERCENTAGE] = round($costDiffCurRecPercentage, 2); | |||
| $res[self::KEY_COST_DIFF_CUR_REC_CYCLE] = $this->customRounding($costDiffCurCycleRecCycle); | |||
| $res[self::KEY_COST_DIFF_CUR_REC_PERCENTAGE] = $costDiffCurRecPercentage; | |||
| $res[self::KEY_COST_DIFF_CUR_REC_CYCLE] = $costDiffCurCycleRecCycle; | |||
| return $res; | |||
| } | |||
| @@ -1,49 +0,0 @@ | |||
| {% extends 'base.html.twig' %} | |||
| {% block title %}Fragenkatalog{% endblock %} | |||
| {% block body %} | |||
| <h1>Fragenkatalog</h1> | |||
| <p id="instruction">Bitte entscheiden Sie sich für eine Antwort und speichern Sie diese. Andernfalls gilt die Frage als nicht beantwortet. Sie können jederzeit von einer Frage zu einer anderen Frage und wieder zurück navigieren. Auch bereits gespeicherte Antworten können Sie später bei Bedarf noch einmal bearbeiten und erneut speichern, solange die Bearbeitung des Fragenkataloges noch nicht abgeschlossen wurde. Das Abschließen des Fragebogens ist nur möglich, wenn alle Fragen beantwortet wurden.</p> | |||
| <form method="post" class="form form--catalogue"> | |||
| <div class="question-count"> | |||
| <p>Frage: <span data-js="order-no">{{ catalogueDetail.orderNo }}</span>/{{ catalogue.numDetails }}</p> | |||
| <div class="progressbar" data-js="progressbar"> | |||
| <div style="width: calc({{ catalogue.numAnswers }} / {{ catalogue.numDetails }} * 100%);"></div> | |||
| </div> | |||
| </div> | |||
| <div class="form--wrapper form--question"> | |||
| <h3 data-js="question-type">Handlungsfeld: <span>{{ questionType.type }}</span></h3> | |||
| <h2 data-js="question-text">{{ question.questionText }}</h2> | |||
| </div> | |||
| <div class="form--wrapper form-wrapper--container"> | |||
| <div class="form--wrapper form--checkbox"> | |||
| <label for="inputAnswer1"><input type="radio" id="inputAnswer1" name="answer" value="irrelevant" {{ catalogueDetail.answer == 'irrelevant' ? 'checked' : '' }} />(A) Derzeit für meine Organisation nicht relevant</label> | |||
| <label for="inputAnswer2"><input type="radio" id="inputAnswer2" name="answer" value="not_fulfilled" {{ catalogueDetail.answer == 'not_fulfilled' ? 'checked' : '' }} />(B) Nicht erfüllt</label> | |||
| <label for="inputAnswer3"><input type="radio" id="inputAnswer3" name="answer" value="partly_fulfilled" {{ catalogueDetail.answer == 'partly_fulfilled' ? 'checked' : '' }} />(C) Teilweise erfüllt</label> | |||
| <label for="inputAnswer4"><input type="radio" id="inputAnswer4" name="answer" value="widely_fulfilled" {{ catalogueDetail.answer == 'widely_fulfilled' ? 'checked' : '' }} />(D) Weitgehend erfüllt</label> | |||
| <label for="inputAnswer5"><input type="radio" id="inputAnswer5" name="answer" value="fulfilled" {{ catalogueDetail.answer == 'fulfilled' ? 'checked' : '' }} />(E) Umfassend erfüllt</label> | |||
| </div> | |||
| <div class="form--wrapper left"> | |||
| <label for="inputNote">Feststellung/Anmerkung</label> | |||
| <textarea cols="50" rows="5" id="inputNote" name="note" placeholder="Hier können Sie wichtige Feststellungen dokumentieren und wie Sie zu dieser Bewertung gekommen sind.">{{ catalogueDetail.note }}</textarea> | |||
| </div> | |||
| </div> | |||
| <div class="catalogue-nav"> | |||
| <span> | |||
| <span class="btn btn--inverse" data-js="last-question" data-openquestion="yes">Letzte offene Frage</span> | |||
| <span class="btn" data-js="last-question" data-openquestion="no">Vorherige Frage</span> | |||
| </span> | |||
| <div class="save"> | |||
| <span class="btn btn--correct" data-js="save-question">Antwort speichern</span> | |||
| </div> | |||
| <span> | |||
| <span class="btn" data-js="next-question" data-openquestion="no">Nächste Frage</span> | |||
| <span class="btn btn--inverse" data-js="next-question" data-openquestion="yes">Nächste offene Frage</span> | |||
| </span> | |||
| </div> | |||
| <div class="form--wrapper"> | |||
| <button class="btn" {{ catalogue.numDetails != catalogue.numAnswers ? 'disabled' : ''}} data-js="finish-catalogue">Fragenkatalog abschließen</button> | |||
| </div> | |||
| </form> | |||
| {% endblock %} | |||
| @@ -1,16 +0,0 @@ | |||
| {% extends 'base.html.twig' %} | |||
| {% block title %}Fragenkatalog{% endblock %} | |||
| {% block body %} | |||
| <h1>Abschluss Fragenkatalog</h1> | |||
| <p> | |||
| Herzlichen Glückwunsch, Sie haben soeben die Bearbeitung Ihres Fragenkatalogs zu MPPTool abgeschlossen. Die Auswertung Ihrer Antworten liegt als PDF-Download für Sie bereit. | |||
| </p> | |||
| <h2>"Ihr BIMScore"</h2> | |||
| <p>Hier erhalten Sie eine Zusammenfassung Ihrer Antworten zu den Fragen aus MPPTool und das Ergebnis der Auswertung als PDF-Dokument.</p> | |||
| <a href="{{ path('download') }}" class="btn">Ergebnis</a> | |||
| <br /><br /> | |||
| <p>Sie können die Bearbeitung des Fragenkataloges noch {{ remainingCatalogues }}-mal durchführen. Dazu haben Sie noch {{ remainingDays }} Tage Zeit.</p> | |||
| <a href="{{ path('catalogue') }}" class="btn">Zum Fragenkatalog</a> | |||
| {% endblock %} | |||
| @@ -73,11 +73,7 @@ | |||
| <div class="col-box"> | |||
| <div class="form-fields"> | |||
| <label for="cycle">Aktueller Zyklus (in Monaten)</label> | |||
| {% if initialDinAsset is not null %} | |||
| <input name="cycle" type="number" id="cycle" value="" min="{{ initialDinAsset.cycleMonthsMin }}" max ="{{ initialDinAsset.cycleMonthsMax }}"> | |||
| {% else %} | |||
| <input name="cycle" type="number" id="cycle" disabled> | |||
| {% endif %} | |||
| <input name="cycle" type="number" id="cycle" value="" min="1"> | |||
| </div> | |||
| </div> | |||
| <div class="col-box"> | |||
| @@ -98,9 +94,8 @@ | |||
| <div class="result-box" id="result-box"> | |||
| <h3>Ergebnis</h3> | |||
| <p class="result-not-existing"> | |||
| <span id="no-calculation">Kein Potenzial ermittelbar!</span> | |||
| <span id="calculate-first">Bitte erst Potenzial ermitteln!</span> | |||
| <span class="btn" id="worksheet-no-calculation">Arbeitskarte erstellen</span> | |||
| <span class="btn" id="create-worksheet">Arbeitskarte erstellen</span> | |||
| </p> | |||
| <div class="result-existing"> | |||
| <dl> | |||
| @@ -116,10 +111,10 @@ | |||
| <dd id="resEuro"></dd> | |||
| </dl> | |||
| <span class="btn" id="worksheet">Arbeitskarte erstellen</span> | |||
| <p class="footnote">* Vergleichskosten sind nach BKI indiziert (März 2023)</p> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </div> | |||
| </form> | |||
| <p>* Vergleichskosten sind nach BKI indiziert (März 2023)</p> | |||
| {% endblock %} | |||
| @@ -25,9 +25,9 @@ | |||
| {% if (worksheets | length > 0) %} | |||
| <h2>Ihre bisher abgeschlossenen Arbeitskarten:</h2> | |||
| <ol class="worksheets"> | |||
| {% for worksheet in worksheets %} | |||
| {% for index, worksheet in worksheets %} | |||
| <li> | |||
| <a href="/worksheet/{{ worksheet.id }}">{{ worksheet.creationDate|date("d.m.Y H:i") }} | {{ worksheet.dinNumber }} - {{ worksheet.dinAssetName }}</a> | |||
| <strong>{{ "%02d"|format(index + 1) }}. </strong><a href="/worksheet/{{ worksheet.id }}">{{ worksheet.creationDate|date("d.m.Y H:i") }} | {{ worksheet.dinNumber }} - {{ worksheet.dinAssetName }}</a> | |||
| </li> | |||
| {% endfor %} | |||
| </ol> | |||