353 lines
17 KiB
Plaintext
353 lines
17 KiB
Plaintext
|
|
<div ng-controller="LCAWorkHourCtrl" select-row lca-detail>
|
|
@* header *@
|
|
@* header's button style is controlled by header-content-layout, the business logic(ng-show) is controlled here *@
|
|
<div class="body_content " style="margin-top: 0px;">
|
|
<div header-content-layout>
|
|
<div header-content-layout style="margin: 0;">
|
|
<table border="1">
|
|
<tr>
|
|
<td style="text-align:right">{{Factors[0]}}</td>
|
|
<td style="width:10px"></td>
|
|
<td style="text-align:right">{{Factors[1]}}</td>
|
|
<td style="width:30px"></td>
|
|
<td style="text-align:right">{{Factors[2]}}</td>
|
|
<td style="width:10px"></td>
|
|
<td style="text-align:right">{{Factors[3]}}</td>
|
|
<td style="width:30px"></td>
|
|
<td style="text-align:right">{{Factors[4]}}</td>
|
|
<td style="width:10px"></td>
|
|
<td style="text-align:right">{{Factors[5]}}</td>
|
|
</tr>
|
|
<tr>
|
|
<td style="text-align:right">{{Factors[6]}}</td>
|
|
<td></td>
|
|
<td style="text-align:right">{{Factors[7]}}</td>
|
|
<td></td>
|
|
<td style="text-align:right">{{Factors[8]}}</td>
|
|
<td></td>
|
|
<td style="text-align:right">{{Factors[9]}}</td>
|
|
<td></td>
|
|
<td style="text-align:right">{{Factors[10]}}</td>
|
|
<td></td>
|
|
<td style="text-align:right">{{Factors[11]}}</td>
|
|
</tr>
|
|
</table>
|
|
|
|
</div>
|
|
|
|
<div style="margin: 10px 0 0 0;" ng-show="lcaDetail.isProductLCA">
|
|
<label for="Allocation">@Resource.Allocation</label>
|
|
<select name="AllocationN" id="Allocation"
|
|
ng-model="Allocation" style="width:130px"
|
|
ng-change="onAllocationChange(Allocation)"
|
|
ng-disabled="lcaDetail.Status == 5"
|
|
class="table_text_select">
|
|
<option value="-1">-- @Resource.StaticLabelGlobal_Select --</option>
|
|
<option value="99">@Resource.AllocationNon</option>
|
|
<option value="0">@Resource.AllocationWeight</option>
|
|
<option value="1">@Resource.AllocationAreaSize</option>
|
|
<option value="2">@Resource.AllocationPcsPerYear</option>
|
|
<option value="3">@Resource.AllocationEconomic</option>
|
|
<option value="4">@Resource.AllocationWorkHour</option>
|
|
</select>
|
|
<label for="Ratio">@Resource.Ratio {{Ratio}} </label>
|
|
<button class="header_button"
|
|
style="float: none; margin-left: 16px;"
|
|
ng-click="dataQualityShow(selectRow.getSelected())"
|
|
ng-show="lcaDetail.isProductLCA">
|
|
@Resource.DataQualityLevel
|
|
</button>
|
|
</div>
|
|
|
|
@*header content layout provide the general function like mouse over and background image*@
|
|
<div ng-hide="Editable" style="margin-top: 10px;">
|
|
<div class="header_image_button" ng-style="{backgroundImage: headerLayout.header_image4}"
|
|
ng-click="editProcess()"
|
|
ng-mouseover="headerLayout.headerImageChange(4, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(4, 1)"
|
|
ng-show="lcaDetail.Status < 5">
|
|
|
|
<div class="tooltip" ng-show="headerLayout.show4">
|
|
<div ng-style="{width: headerLayout.tooltipWidth(4)}">
|
|
@Resource.StaticLabelGlobal_Edit
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="header_image_button"
|
|
ng-style="{backgroundImage: headerLayout.header_image8}"
|
|
ng-click="modelBuilder.export(getAllWorkHoursData())"
|
|
ng-mouseover="headerLayout.headerImageChange(8, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(8, 1)">
|
|
|
|
<div class="tooltip" ng-show="headerLayout.show8">
|
|
<div ng-style="{width: tooltipWidth(8)}">
|
|
@Resource.StaticLabelExportBOM
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header_image_button"
|
|
ng-style="{backgroundImage: headerLayout.header_image9}"
|
|
ng-click="fileImportModal.show = true;"
|
|
ng-mouseover="headerLayout.headerImageChange(9, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(9, 1)"
|
|
ng-show="lcaDetail.Status < 5">
|
|
|
|
<div class="tooltip" ng-show="headerLayout.show9">
|
|
<div ng-style="{width: tooltipWidth(9)}">
|
|
@Resource.StaticLabelImprotBOM
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header_image_button"
|
|
ng-style="{backgroundImage: headerLayout.header_image17}"
|
|
ng-click="quoteModal.show = true;"
|
|
ng-mouseover="headerLayout.headerImageChange(17, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(17, 1)"
|
|
ng-show="lcaDetail.Status < 5">
|
|
|
|
<div class="tooltip" ng-show="headerLayout.show17">
|
|
<div ng-style="{width: tooltipWidth(17)}">
|
|
@Resource.StaticLabelReferenceData
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div ng-show="Editable">
|
|
<!-- Save -->
|
|
<div class="header_image_button"
|
|
ng-style="{backgroundImage: headerLayout.header_image5}"
|
|
ng-click="saveData()"
|
|
ng-mouseover="headerLayout.headerImageChange(5, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(5, 1)">
|
|
|
|
<div class="tooltip" ng-show="headerLayout.show5">
|
|
<div ng-style="{width: tooltipWidth(5)}">
|
|
@Resource.StaticLabelGlobal_Save
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!--Cancel-->
|
|
<div class="header_image_button"
|
|
ng-style="{backgroundImage: headerLayout.header_image7}"
|
|
ng-click="cancelData()"
|
|
ng-mouseover="headerLayout.headerImageChange(7, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(7, 1)">
|
|
|
|
<div class="tooltip" ng-show="headerLayout.show7">
|
|
<div ng-style="{width: tooltipWidth(7)}">
|
|
@Resource.StaticLabelGlobal_Cancel
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
@* end of header *@
|
|
|
|
@* the body of index *@
|
|
<div class="body_content">
|
|
|
|
<div class="title">
|
|
@*{{selectedPeopleType}}*@
|
|
<label class="col-sm-2 col-form-label" style="width:auto;">新增人員類別:</label>
|
|
<input type="text" ng-model="newPeopleType" class="col-2 ml-2 mr-2" ng-disabled="Editable" />
|
|
<button class="header_button"
|
|
style="float: none; margin-left: 0px;"
|
|
ng-click="createPeopleType()" ng-disabled="Editable">
|
|
@Resource.StaticLabelGlobal_Save
|
|
</button>
|
|
<br />
|
|
<label class="col-sm-2 col-form-label" style="width:auto;">選擇人員類別:</label>
|
|
<select class="col-2 ml-2 mr-2" ng-model="selectedPeopleType" ng-change="onPeopleTypeChange(selectedPeopleType)"
|
|
ng-options="m as m for m in peopleTypes" ng-disabled="Editable" />
|
|
<button class="header_button"
|
|
style="float: none; margin-left: 0px;"
|
|
ng-click="deletePeopleType()" ng-disabled="Editable">
|
|
@Resource.StaticLabelGlobal_Delete
|
|
</button>
|
|
|
|
|
|
|
|
</div>
|
|
<div class="table_overflow">
|
|
<table class="table">
|
|
<thead>
|
|
<tr class="table-active" style="text-align:center">
|
|
<th ng-show="lcaDetail.isProductLCA">@Resource.StaticLabelGlobal_Years</th>
|
|
<th>@Resource.StaticLabelGlobal_Month</th>
|
|
<th>@Resource.WorkerNumber</th>
|
|
<th>@Resource.WorkDays</th>
|
|
<th>@Resource.AverageHourPerDay</th>
|
|
<th>@Resource.ProportionOfWorkingHours</th>
|
|
<th>@Resource.TotalWorkHours</th>
|
|
<th>@Resource.DescriptionAndExplanation</th>
|
|
<th>@Resource.KgCO2e</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody ng-mouseleave="setHoverColumnRow(-1, -1, -1)">
|
|
<tr class="survey_order_table_row"
|
|
ng-class="{ selected: row == selectRow.getSelected() }"
|
|
ng-click="selectRow.select(row)"
|
|
ng-repeat="row in modelDirectWorkHours | filter : searchText">
|
|
<td ng-show="lcaDetail.isProductLCA" align="right"> {{row.showYear}}</td>
|
|
<td> {{row.Month}}</td>
|
|
<td align="right">
|
|
<div ng-hide="Editable">{{row.WorkerNumber | number:4}}</div>
|
|
<div ng-show="Editable"><input type="number" step="any" ng-model="row.newWorkerNumber" class="table_text_input" ng-blur="updateRow(row)"/> </div>
|
|
</td>
|
|
<td align="right">
|
|
<div ng-hide="Editable">{{row.WorkDay | number:4}}</div>
|
|
<div ng-show="Editable"><input type="number" step="any" ng-model="row.newWorkDay" class="table_text_input" ng-blur="updateRow(row)"/> </div>
|
|
</td>
|
|
<td align="right">
|
|
<div ng-hide="Editable">{{row.AverageHourPerDay | number:4}}</div>
|
|
<div ng-show="Editable"><input type="number" step="any" ng-model="row.newAverageHourPerDay" class="table_text_input" ng-blur="updateRow(row)"/> </div>
|
|
</td>
|
|
<td align="right"> {{row.ProportionOfWorkingHours|number:4}}</td>
|
|
<td align="right">
|
|
<div ng-hide="Editable">{{row.Scalar | number:4}}</div>
|
|
<div ng-show="Editable"><input type="number" step="any" ng-model="row.Scalar" class="table_text_input" /> </div>
|
|
</td>
|
|
<td>
|
|
<div ng-hide="Editable">{{row.Description}}</div>
|
|
<div ng-show="Editable"><input type="text" ng-model="row.newDescription" class="table_text_input" /> </div>
|
|
</td>
|
|
<td align="right"> {{row.KgCO2e | number:4}}</td>
|
|
@*</div>*@
|
|
</tr>
|
|
<tr style="background-color: #F5F5F5" align="right">
|
|
<td></td>
|
|
<td ng-show="lcaDetail.isProductLCA"></td>
|
|
<td></td>
|
|
<td>{{sumWorkDay | number:4}}</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>{{sumStaffTotalWorkHour | number:4}}</td>
|
|
<td></td>
|
|
<td>{{sumKgCO2e | number:4}}</td>
|
|
</tr>
|
|
<tr style="background-color: #F5F5F5" ng-show="lcaDetail.isProductLCA" align="right">
|
|
<td>@Resource.AllocatedKgCO2e</td>
|
|
<td ng-show="lcaDetail.isProductLCA"></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>{{sumKgCO2e * Ratio | number:4}}</td>
|
|
</tr>
|
|
<tr style="border-bottom: solid 1px rgb(214, 214, 214);">
|
|
<td ng-show="model.length == 0">
|
|
@Resource.NoData
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<br />
|
|
@*
|
|
<div class="title">
|
|
@Resource.IndirectStaff
|
|
</div>
|
|
<div class="table_overflow">
|
|
<table class="table">
|
|
<thead>
|
|
<tr class="table-active" style="text-align:center" >
|
|
<th ng-show="lcaDetail.isProductLCA" align="right">@Resource.StaticLabelGlobal_Years</th>
|
|
<th>@Resource.StaticLabelGlobal_Month</th>
|
|
<th>@Resource.WorkerNumber</th>
|
|
<th>@Resource.WorkDays</th>
|
|
<th>@Resource.AverageHourPerDay</th>
|
|
<th>@Resource.ProportionOfWorkingHours</th>
|
|
<th>@Resource.TotalWorkHours</th>
|
|
<th>@Resource.DescriptionAndExplanation</th>
|
|
<th>@Resource.KgCO2e (kgCO2e)</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody ng-mouseleave="setHoverColumnRow(-1, -1, -1)">
|
|
<tr class="survey_order_table_row"
|
|
ng-repeat="row in modelIndirectWorkHours"
|
|
ng-class="{ selected: row == selectRow.getSelected() }"
|
|
ng-click="selectRow.select(row)">
|
|
<td ng-show="lcaDetail.isProductLCA" align="right"> {{row.showYear}}</td>
|
|
<td> {{row.Month}}</td>
|
|
<td align="right">
|
|
<div ng-hide="Editable">{{row.WorkerNumber | number:4}}</div>
|
|
<div ng-show="Editable"><input type="number" step="any" ng-model="row.newWorkerNumber" ng-blur="updateRow(row)"/> </div>
|
|
</td>
|
|
<td align="right">
|
|
<div ng-hide="Editable">{{row.WorkDay | number:4}}</div>
|
|
<div ng-show="Editable"><input type="number" step="any" ng-model="row.newWorkDay" ng-blur="updateRow(row)"/> </div>
|
|
</td>
|
|
<td align="right">
|
|
<div ng-hide="Editable">{{row.AverageHourPerDay | number:4}}</div>
|
|
<div ng-show="Editable"><input type="number" step="any" ng-model="row.newAverageHourPerDay" ng-blur="updateRow(row)"/> </div>
|
|
</td>
|
|
<td align="right"> {{row.ProportionOfWorkingHours|number:4}}</td>
|
|
<td align="right">
|
|
<div ng-hide="Editable">{{row.Scalar | number:4}}</div>
|
|
<div ng-show="Editable"><input type="number" step="any" ng-model="row.Scalar" class="table_text_input" /> </div>
|
|
</td>
|
|
<td>
|
|
<div ng-hide="Editable">{{row.Description}}</div>
|
|
<div ng-show="Editable"><input type="text" ng-model="row.newDescription" class="table_text_input" /> </div>
|
|
</td>
|
|
<td align="right"> {{row.KgCO2e | number:3}}</td>
|
|
</tr>
|
|
<tr style="background-color: #F5F5F5" align="right">
|
|
<td></td>
|
|
<td ng-show="lcaDetail.isProductLCA"></td>
|
|
<td></td>
|
|
<td>{{sumIndirectWorkDay | number:4}}</td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>{{sumIndirectStaffTotalWorkHour | number:4}}</td>
|
|
<td></td>
|
|
<td>{{sumIndirectKgCO2e | number:3}}</td>
|
|
</tr>
|
|
<tr style="background-color: #F5F5F5" align="right">
|
|
<td>@Resource.AllocatedKgCO2e</td>
|
|
<td ng-show="lcaDetail.isProductLCA"></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td>{{sumIndirectKgCO2e * Ratio | number:4}}</td>
|
|
</tr>
|
|
<tr border-bottom: solid 1px rgb(214, 214, 214);">
|
|
<td ng-show="model.length == 0">
|
|
@Resource.NoData
|
|
</td>
|
|
</tr>
|
|
</tbodyclass="table-active>
|
|
</table>
|
|
</div>
|
|
*@
|
|
@* end of the body of index *@
|
|
<loading ng-init="loading=false"></loading>
|
|
|
|
<table-edit-modal display-option="fileImportModal">
|
|
<div file-import-process import-option="fileImportOptions"></div>
|
|
</table-edit-modal>
|
|
|
|
<quality display-option="dataQualityOption">
|
|
</quality>
|
|
|
|
<table-edit-modal display-option="quoteModal">
|
|
<div></div>
|
|
<div quote quote-options="quoteOptions"></div>
|
|
</table-edit-modal>
|
|
<div class="footnote">
|
|
@Html.Raw(@Resource.FootnoteWorkHour.Replace("\r\n", "<br>"))
|
|
</div>
|
|
</div>
|
|
</div>
|