785 lines
38 KiB
Plaintext
785 lines
38 KiB
Plaintext
@*
|
|
this view is responsible for product lca that has pcr selected
|
|
*@
|
|
<div ng-controller="LCAHighLevelAnalyzeController" select-row lca-detail>
|
|
<div class="body_content">
|
|
<div ng-show="lcaDetail.hasPCR" class="PCR_percentage">PCR : {{ (pcr == null) ? 0 : pcr.Percentage }}%</div>
|
|
<div class="PCR_percentage" ng-style="{ color: (pcr == null) ? '' : (passedPcr() ? '' : 'red') }">
|
|
@*KgCO2e : {{ currentKgCO2e() | number : 2 }} / {{ totalKgCO2e() | number : 2 }} = {{ currentPercentage() | number : 2 }}%*@
|
|
KgCO2e : {{ currentKgCO2e().toExponential(4) }} / {{ totalKgCO2e().toExponential(4) }} = {{ currentPercentage() | number : 4 }}%
|
|
</div>
|
|
</div>
|
|
|
|
<div class="body_content">
|
|
<div header-content-layout>
|
|
@*header content layout provide the general function like mouse over and background image*@
|
|
<div class="header_image_button" ng-style="{ backgroundImage: headerLayout.header_image1 }"
|
|
ng-click="createProcess()"
|
|
ng-mouseover="headerLayout.headerImageChange(1, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(1, 1)"
|
|
ng-show="lcaDetail.Status < 5 && lcaDetail.HasProductLifeCycle_MaterialsObtained">
|
|
<div class="tooltip" ng-show="headerLayout.show1">
|
|
<div ng-style="{ width: headerLayout.tooltipWidth(1) }">@Resource.StaticLabelAddNew</div><div></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header_image_button" ng-style="{ backgroundImage: headerLayout.header_image4 }"
|
|
ng-click="editProcess(selectRow.getSelected())"
|
|
ng-mouseover="headerLayout.headerImageChange(4, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(4, 1)"
|
|
ng-show="selectRow.getSelected() != null && lcaDetail.HasProductLifeCycle_MaterialsObtained">
|
|
<div class="tooltip" ng-show="headerLayout.show4">
|
|
<div ng-style="{ width: headerLayout.tooltipWidth(4) }">@Resource.StaticLabelGlobal_Edit</div><div></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header_image_button" ng-style="{ backgroundImage: headerLayout.header_image6 }"
|
|
ng-click="deleteProcess(selectRow.getSelected())"
|
|
ng-mouseover="headerLayout.headerImageChange(6, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(6, 1)"
|
|
ng-show="selectRow.getSelected() != null && model.materials.indexOf(selectRow.getSelected()) !== -1 && lcaDetail.HasProductLifeCycle_MaterialsObtained">
|
|
<div class="tooltip" ng-show="headerLayout.show6">
|
|
<div ng-style="{ width: headerLayout.tooltipWidth(6) }">@Resource.StaticLabelGlobal_Delete</div><div></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header_image_button" ng-style="{ backgroundImage: headerLayout.header_image3 }"
|
|
ng-click="selectSimaproProcess(selectRow.getSelected())"
|
|
ng-mouseover="headerLayout.headerImageChange(3, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(3, 1)"
|
|
ng-show="selectRow.getSelected() != null && selectRow.getSelected().ID != 0 && selectRow.getSelected().MaterialComposites.length==0 && lcaDetail.HasProductLifeCycle_MaterialsObtained">
|
|
<div class="tooltip" ng-show="headerLayout.show3">
|
|
<div ng-style="{ width: headerLayout.tooltipWidth(3) }">@Resource.StaticLabelSelectSimapro</div><div></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header_image_button" ng-style="{backgroundImage: headerLayout.header_image8}"
|
|
ng-click="modelFactory.export((model.materials|filter:searchText|orderBy:predicate:reverse),model.materialTypeOptions, 'csv')"
|
|
ng-mouseover="headerLayout.headerImageChange(8, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(8, 1)"
|
|
ng-show="lcaDetail.HasProductLifeCycle_MaterialsObtained">
|
|
<div class="tooltip" ng-show="headerLayout.show8">
|
|
<div ng-style="{ width: headerLayout.tooltipWidth(8) }">@Resource.StaticLabelExportBOM</div><div></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header_image_button" ng-style="{ backgroundImage: headerLayout.header_image9 }"
|
|
ng-click="fileImportOption.show = true;"
|
|
ng-mouseover="headerLayout.headerImageChange(9, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(9, 1)"
|
|
ng-show="lcaDetail.Status < 5 && lcaDetail.HasProductLifeCycle_MaterialsObtained">
|
|
<div class="tooltip" ng-show="headerLayout.show9">
|
|
<div ng-style="{ width: headerLayout.tooltipWidth(9) }">@Resource.StaticLabelImprotBOM</div><div></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 && lcaDetail.HasProductLifeCycle_MaterialsObtained">
|
|
<div class="tooltip" ng-show="headerLayout.show17">
|
|
<div ng-style="{ width: headerLayout.tooltipWidth(17) }">@Resource.StaticLabelReferenceData</div><div></div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header_image_button"
|
|
ng-style="{ backgroundImage: headerLayout.header_image11 }"
|
|
ng-click="search_box = !search_box"
|
|
ng-mouseover="headerLayout.headerImageChange(11, 2)"
|
|
ng-mouseleave="headerLayout.headerImageChange(11, 1)"
|
|
ng-show="lcaDetail.HasProductLifeCycle_MaterialsObtained">
|
|
|
|
<div class="tooltip" ng-show="headerLayout.show11">
|
|
<div ng-style="{width: tooltipWidth(11)}">
|
|
@Resource.StaticLabelGlobal_Search
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="header_search" ng-show="!Table_Edit_State">
|
|
<input type="text" class="transition" ng-model="searchText" ng-class="{ expand: search_box }" />
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="body_content" style="margin-top: 20px;">
|
|
<div class="header_title" style="line-height: 36px; float: left;">
|
|
@Resource.ProductName : {{ lcaDetail.productName }}
|
|
| @Resource.SumOfMaterialInBom : {{ model.materials.length }}
|
|
<span ng-show="searchText">
|
|
| @Resource.StaticLabelGlobal_Search : {{ (model.materials | filter:searchText).length }}
|
|
</span>
|
|
</div>
|
|
<div style="margin-right: 25px">
|
|
<a class="survey_order_btn"
|
|
ng-href="#/LCA/LCA/{{lcaDetail.ID}}"
|
|
ng-show="lcaDetail.Status!=0">
|
|
@Resource.ViewLcaInstruction
|
|
</a>
|
|
<div class="survey_order_btn"
|
|
ng-click="completeProcess((model.materials | orderBy : predicate : reverse | filter : { IncludedInInterrogation: true }))"
|
|
ng-show="lcaDetail.Status == 0">
|
|
@Resource.StaticLabelFinishHighLevelAnalysis & @Resource.SendInventoryOrder
|
|
</div>
|
|
<div class="survey_order_btn"
|
|
ng-click="clear()"
|
|
ng-show="lcaDetail.Status == 0 && model.materials.length != 0">
|
|
@Resource.Clear
|
|
</div>
|
|
<div class="survey_order_btn"
|
|
ng-click="autoSelect((model.materials | filter:searchText|orderBy:'KgCO2e':true));"
|
|
ng-init="predicate='HighLevelAnalyzeResult';reverse=true"
|
|
ng-show="lcaDetail.Status == 0 && model.materials.length != 0">
|
|
@Resource.AutoSelect
|
|
</div>
|
|
<div class="survey_order_btn"
|
|
ng-click="reNumber()">
|
|
@Resource.ReNumber
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="body_content">
|
|
<div class="table_overflow">
|
|
<table class="table" style=" width: 100%; overflow-x: auto; white-space: nowrap;">
|
|
<thead>
|
|
<tr class="table-active" style="text-align:center">
|
|
<th ng-click="predicate='IncludedInInterrogation'; reverse =! reverse;">
|
|
</th>
|
|
<th ng-click="predicate='PartNumber'; reverse =! reverse;">
|
|
@Resource.PartNumber
|
|
</th>
|
|
<th ng-click="predicate='Name'; reverse =! reverse;">
|
|
@Resource.MaterialName
|
|
</th>
|
|
<th ng-click="predicate='orderNo'; reverse =! reverse;">
|
|
@Resource.OrderNo
|
|
</th>
|
|
<th ng-click="predicate='SupplierCompanyName'; reverse =! reverse;">
|
|
@Resource.MaterialSupplierCompany
|
|
</th>
|
|
<th ng-click="predicate='Scalar'; reverse =! reverse;">
|
|
@Resource.MaterialScalar
|
|
</th>
|
|
<th ng-click="predicate='WeightUnit'; reverse =! reverse;">
|
|
@Resource.StaticLabelGlobal_Unit
|
|
</th>
|
|
<th ng-click="predicate='Quantity_BOM'; reverse =! reverse;">
|
|
@Resource.UsedQuantity_BOM
|
|
</th>
|
|
<th ng-click="predicate='Quantity'; reverse =! reverse;">
|
|
@Resource.UsedQuantity
|
|
</th>
|
|
<th ng-click="predicate='ParameterValue'; reverse =! reverse;">
|
|
@Resource.MaterialParameterValue
|
|
</th>
|
|
<th ng-click="predicate='Unit'; reverse =! reverse;">
|
|
@Resource.ParameterUnit
|
|
</th>
|
|
<th ng-click="predicate='KgCO2e_BOM'; reverse =! reverse;">
|
|
@Resource.KgCO2ePerUnit
|
|
</th>
|
|
<th ng-click="predicate='KgCO2e'; reverse =! reverse;">
|
|
@Resource.ActualKgCO2e
|
|
</th>
|
|
<th ng-click="predicate='ParameterSource'; reverse =! reverse;">
|
|
@Resource.ParameterSource
|
|
</th>
|
|
<th ng-click="predicate='KgCO2e'; reverse =! reverse;">
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody ng-mouseleave="setHoverColumnRow(-1, -1, -1)">
|
|
<tr class="survey_order_table_row"
|
|
ng-repeat="row in model.materials | filter : searchText | orderBy : predicate : reverse track by row.ID"
|
|
ng-style="{ color: row.ParameterValue == 0 ? 'red' : row.Quantity_BOM != row.Quantity ? 'blue' : '' }"
|
|
ng-click="selectRow.select(row, null, model.materials)"
|
|
ng-dblclick="lcaDetail.Status == 0 ? editProcess(row) : detailView(row);"
|
|
ng-class="{ selected: row == selectRow.getSelected() }">
|
|
<td>
|
|
<input type="checkbox"
|
|
ng-model="row.IncludedInInterrogation"
|
|
ng-click="manualSelect(row)"
|
|
ng-disabled="lcaDetail.Status != 0" />
|
|
</td>
|
|
<td>{{ row.PartNumber }}</td>
|
|
<td>{{ row.Name }}</td>
|
|
<td>{{ row.orderNo }}</td>
|
|
<td>{{ row.SupplierCompanyName }}</td>
|
|
<td align="right">{{ row.Scalar | number : 4 }}</td>
|
|
<td>
|
|
<div ng-show="row.WeightUnit == 'mg'">@Resource.Weight_mg</div>
|
|
<div ng-show="row.WeightUnit == 'g'">@Resource.Weight_g</div>
|
|
<div ng-show="row.WeightUnit == 'kg'">@Resource.Weight_kg</div>
|
|
<div ng-show="row.WeightUnit == 't'">@Resource.Weight_t</div>
|
|
</td>
|
|
<td align="right">{{ row.Quantity_BOM }}</td>
|
|
<td align="right">{{ row.Quantity }}</td>
|
|
<td align="right">{{ row.ParameterValue | number : 10 }}</td>
|
|
<td>{{ row.Unit }}</td>
|
|
@*
|
|
<td align="right">{{ row.KgCO2e_BOM | number : 3 }}</td>
|
|
<td align="right">{{ row.KgCO2e | number : 3 }}</td>
|
|
*@
|
|
<td align="right">{{ row.KgCO2e_BOM.toExponential(4) }}</td>
|
|
<td align="right">{{ row.KgCO2e.toExponential(4) }}</td>
|
|
|
|
<td>
|
|
<div ng-show="row.ParameterSource == 1">@Resource.PrimaryData</div>
|
|
<div ng-show="row.ParameterSource == 2">@Resource.SecondaryData</div>
|
|
<div ng-show="row.ParameterSource == 3">@Resource.SpecificFactoryData</div>
|
|
</td>
|
|
<td align="right">{{ (row.KgCO2e / totalKgCO2e()) * 100 | number : 2 }}%</td>
|
|
</tr>
|
|
<tr style="background-color: #F5F5F5" ng-show="model.materials.length != 0" align="right">
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
<td></td>
|
|
@*
|
|
<td>{{sumKgCO2e_BOM | number:3}}</td>
|
|
<td>{{sumKgCO2e | number:3}}</td>
|
|
*@
|
|
<td>{{sumKgCO2e_BOM.toExponential(4)}}</td>
|
|
<td>{{sumKgCO2e.toExponential(4)}}</td>
|
|
|
|
<td></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr style="border-bottom: solid 1px rgb(214, 214, 214);">
|
|
<td ng-show="model.materials.length == 0">
|
|
@Resource.NoData
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<form name="editForm">
|
|
<table-edit-modal display-option="meterialDetailModalOption" passed-form="editForm">
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.Level
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input ng-model="toBeEdit.Level">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.PartNumber
|
|
<span tooltip-placement="right" class="tooltip-directive" tooltip="@Resource.TooltipPartNumber"></span>
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" required placeholder="@Resource.RequiredMessage" ng-model="toBeEdit.PartNumber">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.MaterialName
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input ng-model="toBeEdit.Name">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.OrderNo
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input ng-model="toBeEdit.orderNo">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<!--
|
|
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.Components
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" required placeholder="@Resource.RequiredMessage" ng-model="toBeEdit.Components">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.MaterialComposition1
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" required placeholder="@Resource.RequiredMessage" ng-model="toBeEdit.Composite">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
|
|
-->
|
|
|
|
<div class="row">
|
|
<label class="col-sm-2 col-form-label">
|
|
@Resource.Length (m)
|
|
</label>
|
|
<div class="col col-sm-4">
|
|
<input name="Length"
|
|
type="number" step="any"
|
|
step="0.000001"
|
|
ng-model="toBeEdit.Length">
|
|
</div>
|
|
<label class="col-sm-2 col-form-label">
|
|
@Resource.StaticLabelGlobal_MeasureOfArea (m2)
|
|
</label>
|
|
<div class="col col-sm-4">
|
|
<input name="Area"
|
|
type="number" step="any"
|
|
step="0.000001"
|
|
ng-model="toBeEdit.Area">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-2 col-form-label">
|
|
@Resource.Weight
|
|
@*<span tooltip-placement="right" class="tooltip-directive" tooltip="@Resource.TooltipMaterialScalar"></span>*@
|
|
</label>
|
|
<div class="col-sm-2 col">
|
|
<input name="Scalar"
|
|
type="number" step="any"
|
|
placeholder="@Resource.RequiredMessage"
|
|
required
|
|
step="0.000001"
|
|
ng-model="toBeEdit.Scalar"
|
|
ng-change="updateScalar()">
|
|
</div>
|
|
<div class="col-sm-2 col">
|
|
<select name="WeightUnit"
|
|
placeholder="@Resource.RequiredMessage"
|
|
ng-model="toBeEdit.WeightUnit"
|
|
ng-change="updateScalar()">
|
|
<option value="mg">mg</option>
|
|
<option value="g">g</option>
|
|
<option value="kg">kg</option>
|
|
<option value="t">t</option>
|
|
</select>
|
|
</div>
|
|
<div class="validation_block">
|
|
<div ng-show="editForm.Scalar.$dirty">
|
|
<small ng-show="editForm.Scalar.$error.required &&
|
|
!editForm.Scalar.$error.number">
|
|
@Resource.RequiredMessage
|
|
</small>
|
|
<small ng-show="editForm.Scalar.$error.number">
|
|
@Resource.NumberValidateMsg
|
|
</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-2 col-form-label">
|
|
@Resource.StaticLabelGlobal_MeasureOfVolume
|
|
</label>
|
|
<div class="col-sm-2 col">
|
|
<input name="Volume_ml"
|
|
type="number" step="any"
|
|
step="0.000001"
|
|
ng-model="toBeEdit.Volume"
|
|
ng-change="updateDensity()">
|
|
</div>
|
|
<div class="col-sm-2 col">
|
|
<select name="WeightUnit"
|
|
placeholder="@Resource.RequiredMessage"
|
|
ng-model="toBeEdit.VolumeUnit"
|
|
ng-change="updateDensity()">
|
|
<option value="ml">ml</option>
|
|
<option value="L">L</option>
|
|
<option value="m3">m3</option>
|
|
</select>
|
|
</div>
|
|
<label class="col-sm-2 col-form-label">
|
|
@Resource.StaticLabelGlobal_MeasureOfDensity (kg/m3)
|
|
</label>
|
|
<div class="col-sm-4 col">
|
|
<input name="Density"
|
|
type="number" step="any"
|
|
step="0.000001"
|
|
readonly
|
|
ng-model="toBeEdit.Density">
|
|
<div class="validation_block">
|
|
<div ng-show="editForm.Density.$dirty">
|
|
<small ng-show="editForm.Density.$error.number">
|
|
@Resource.NumberValidateMsg
|
|
</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.MaterialComposition
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<button ng-click="addComposite()" style="border: none;">@Resource.StaticLabelGlobal_New</button>
|
|
</div>
|
|
</div>
|
|
<div ng-repeat="row in toBeEdit.MaterialComposites" class="col-sm-12" style="border: ridge">
|
|
<input type="text" ng-show="false" ng-model="row.ID">
|
|
<input type="text" ng-show="false" ng-model="row.materialID">
|
|
<div class="row">
|
|
<label class="col-sm-2 col-form-label">
|
|
@Resource.MaterialComposition1
|
|
</label>
|
|
<div class="col col-sm-4">
|
|
<input type="text" required placeholder="@Resource.RequiredMessage" ng-model="row.materialComposite">
|
|
</div>
|
|
<div class="col col-sm-6">
|
|
<button ng-click="deleteComposite($index)" style="float: right; border: none;">X</button>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-2 col-form-label">
|
|
@Resource.MaterialCASNumber
|
|
</label>
|
|
<div class="col col-sm-4">
|
|
<input type="text" ng-model="row.CASNo">
|
|
</div>
|
|
<label class="col-sm-2 col-form-label">
|
|
@Resource.MaterialRatio (%)
|
|
</label>
|
|
<div class="col col-sm-4">
|
|
<input type="number" required placeholder="@Resource.RequiredMessage" min="0" max="100" step="0.0001" ng-model="row.compositePercentage" ng-change="updateParameter()">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-2 col-form-label">
|
|
@Resource.Parameter
|
|
</label>
|
|
<div class="col col-sm-4">
|
|
<input type="number" step="any" required placeholder="@Resource.RequiredMessage" ng-model="row.parameterValue" style="width:auto" ng-change="updateParameter()">
|
|
<div class="header_image_button simapro-image-button" style="right:0px;position:relative;float:right;margin-right:0px;width:27px"
|
|
ng-click="selectSimaproProcess_Composition(row, null, false)">
|
|
</div>
|
|
</div>
|
|
<label class="col-sm-2 col-form-label">
|
|
@Resource.ParaDesc
|
|
</label>
|
|
<div class="col col-sm-4">
|
|
<input type="text" required placeholder="@Resource.RequiredMessage" ng-model="row.parameterDescription">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<br />
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.UsedQuantity_BOM
|
|
<span tooltip-placement="right" class="tooltip-directive" tooltip="@Resource.TooltipQuantity"></span>
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input name="Quantity_BOM"
|
|
type="number" step="any"
|
|
placeholder="@Resource.RequiredMessage"
|
|
required
|
|
ng-model="toBeEdit.Quantity_BOM"
|
|
ng-change="updateActivityIntensity();updateKgCO2e(toBeEdit);">
|
|
</div>
|
|
<div class="validation_block">
|
|
<div ng-show="editForm.Quantity_BOM.$dirty">
|
|
<small ng-show="editForm.Quantity_BOM.$error.required &&
|
|
!editForm.Quantity_BOM.$error.number">
|
|
@Resource.RequiredMessage
|
|
</small>
|
|
<small ng-show="editForm.Quantity_BOM.$error.number">
|
|
@Resource.NumberValidateMsg
|
|
</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.ActivityIntensity_BOM
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" readonly ng-model="toBeEdit.ActivityIntensity_BOM">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.UsedQuantity
|
|
<span tooltip-placement="right" class="tooltip-directive" tooltip="@Resource.TooltipQuantity"></span>
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input name="Quantity"
|
|
type="number" step="any"
|
|
placeholder="@Resource.RequiredMessage"
|
|
required
|
|
ng-model="toBeEdit.Quantity"
|
|
ng-change="updateActivityIntensity();">
|
|
</div>
|
|
<div class="validation_block">
|
|
<div ng-show="editForm.Quantity.$dirty">
|
|
<small ng-show="editForm.Quantity.$error.required &&
|
|
!editForm.Quantity.$error.number">
|
|
@Resource.RequiredMessage
|
|
</small>
|
|
<small ng-show="editForm.Quantity.$error.number">
|
|
@Resource.NumberValidateMsg
|
|
</small>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.ActivityIntensity
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" readonly ng-model="toBeEdit.ActivityIntensity">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.MaterialSupplierCompany
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" readonly ng-model="toBeEdit.SupplierCompanyName">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.MaterialSupplierCompanyType
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" ng-model="toBeEdit.SupplierCompanyType">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.Parameter
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="number" step="any" ng-model="toBeEdit.ParameterValue" ng-readonly="toBeEdit.MaterialComposites.length>0" ng-change="updateKgCO2e(toBeEdit,true)">
|
|
<div class="header_image_button simapro-image-button" ng-show="toBeEdit.MaterialComposites.length==0"
|
|
ng-click="selectSimaproProcess(toBeEdit, null, false)">
|
|
</div>
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.KgCO2ePerUnit
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" readonly ng-model="toBeEdit.KgCO2e_BOM">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.ActualKgCO2e
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" readonly ng-model="toBeEdit.KgCO2e">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.ParameterUnit
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input name="Unit"
|
|
type="text"
|
|
ng-model="toBeEdit.Unit">
|
|
</div>
|
|
<div class="validation_block">
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.ParaDesc
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" ng-model="toBeEdit.ParameterDescription">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.ParameterSource
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" readonly ng-show="toBeEdit.ParameterSource == 1" value="@Resource.PrimaryData">
|
|
<input type="text" readonly ng-show="toBeEdit.ParameterSource == 2" value="@Resource.SecondaryData">
|
|
<input type="text" readonly ng-show="toBeEdit.ParameterSource == 3" value="@Resource.SpecificFactoryData">
|
|
<input type="text" readonly ng-show="toBeEdit.ParameterSource != 1 && toBeEdit.ParameterSource != 2 && toBeEdit.ParameterSource != 3" value="">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.ParameterSourceDesc
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" ng-model="toBeEdit.ParaSourceDesc">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.MataDataDQI
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<select name="dqi"
|
|
required
|
|
ng-model="toBeEdit.DQI">
|
|
<option value="">-- @Resource.StaticLabelGlobal_Select --</option>
|
|
<option value="0">@Resource.MetaDataDQI1</option>
|
|
<option value="1">@Resource.MetaDataDQI2</option>
|
|
<option value="2">@Resource.MetaDataDQI3</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<label class="col-sm-4 col-form-label">
|
|
@Resource.Remark
|
|
</label>
|
|
<div class="col col-sm-8">
|
|
<input type="text" ng-model="toBeEdit.Description">
|
|
</div>
|
|
<div class="validation_block"></div>
|
|
</div>
|
|
<div class="survey_btn_wrap">
|
|
<div class="survey_content" style="float: right">
|
|
<div class="row">
|
|
<button class="header_button"
|
|
style="float: left; margin-left: 16px;"
|
|
ng-click="dataQualityShow(selectRow.getSelected())"
|
|
ng-if="isEdit">
|
|
@Resource.DataQualityLevel
|
|
</button>
|
|
<button class="header_button"
|
|
style="float: left; margin-left: 16px;"
|
|
ng-click="meterialDetailModalOption.onOkFn()"
|
|
ng-disabled="editForm.$invalid"
|
|
ng-show="lcaDetail.Status==0">
|
|
@Resource.StaticLabelGlobal_Save
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</table-edit-modal>
|
|
</form>
|
|
<form name="replyForm">
|
|
<table-edit-modal display-option="modalFormConfirmOption">
|
|
<div class="header_title">
|
|
@Resource.HighLevelAnalysisItem: {{ modalFormConfirmOption.includedMaterials.length }} @Resource.Term | {{ currentPercentage() | number : 4 }}%
|
|
</div>
|
|
<div class="header_title" style="color:red" ng-show="pcr != null && !passedPcr()">@Resource.PcrWarning</div>
|
|
<div class="table_overflow">
|
|
<table class="table">
|
|
<thead>
|
|
<tr>
|
|
<th>
|
|
@Resource.PartNumber
|
|
</th>
|
|
<th>
|
|
@Resource.MaterialName
|
|
</th>
|
|
<th>
|
|
@Resource.MaterialSupplierCompanyEmail
|
|
</th>
|
|
<th>
|
|
@Resource.MaterialSupplierCompany
|
|
</th>
|
|
<th>
|
|
@Resource.StaticLabelGlobal_Select
|
|
</th>
|
|
<th>
|
|
KgCO2e
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody ng-mouseleave="setHoverColumnRow(-1, -1, -1)">
|
|
<tr ng-repeat="row in modalFormConfirmOption.includedMaterials" ng-style="{ color:row.ParameterID == null ? 'red' : '' }">
|
|
<td>{{ row.PartNumber }}</td>
|
|
<td>{{ row.Name }}</td>
|
|
<td>
|
|
<input type="email" ng-model="row.SupplierCompanyEmail" />
|
|
</td>
|
|
<td>
|
|
<input type="text" ng-model="row.SupplierCompanyName" />
|
|
</td>
|
|
@*DL-49*@
|
|
<td style="display:none;">
|
|
<input type="text" ng-model="row.SupplierCompanyID" />
|
|
</td>
|
|
<td>
|
|
<select class="table_text_select"
|
|
ng-options="item as item.Name+'('+item.UserName+')' for item in modalFormConfirmOption.supplierOptions"
|
|
ng-model="row.selected"
|
|
ng-change="row.SupplierCompanyName = row.selected.UserName; row.SupplierCompanyID = row.selected.SupplierCompanyID; row.SupplierCompanyEmail = row.selected.ContactEmail; "></select>@*DL-49*@
|
|
</td>
|
|
@*td>{{ row.HighLevelAnalyzeResult.toExponential(4) }}</td>*@
|
|
<td>{{ row.KgCO2e_BOM.toExponential(4) }}</td>
|
|
</tr>
|
|
<tr style="border-bottom: solid 1px rgb(214, 214, 214);">
|
|
<td ng-show="modalFormConfirmOption.includedMaterials.length == 0">
|
|
@Resource.NoData
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<div class="row">
|
|
<button class="header_button"
|
|
style="float: left; margin-left: 16px;"
|
|
ng-click="modalFormConfirmOption.show = false">
|
|
@Resource.StaticLabelGlobal_Cancel
|
|
</button>
|
|
</div>
|
|
<div class="row">
|
|
<button class="header_button"
|
|
style="float: left; margin-left: 16px;"
|
|
ng-click="modalFormConfirmOption.onOkFn()"
|
|
ng-disabled="replyForm.$invalid">
|
|
@Resource.StaticLabelGlobal_Save
|
|
</button>
|
|
</div>
|
|
<div class="row">
|
|
<button class="header_button"
|
|
style="float: left; margin-left: 16px;"
|
|
ng-click="modalFormConfirmOption.onNextFn()"
|
|
ng-disabled="replyForm.$invalid">
|
|
@Resource.StaticLabelGlobal_Next
|
|
</button>
|
|
</div>
|
|
</table-edit-modal>
|
|
</form>
|
|
|
|
<quality display-option="dataQualityOption">
|
|
</quality>
|
|
|
|
<simapro display-option="simaproOption">
|
|
<div>@Resource.PartNumber : <span ng-bind="selectRow.getSelected().PartNumber"></span></div>
|
|
<div>@Resource.MaterialName : <span ng-bind="selectRow.getSelected().Name"></span></div>
|
|
</simapro>
|
|
<table-edit-modal display-option="fileImportOption">
|
|
<div file-import-process import-option="fileImportOption"></div>
|
|
</table-edit-modal>
|
|
<table-edit-modal display-option="quoteModal">
|
|
<p class="h4">@Resource.ReferencedMaterial</p>
|
|
<div quote quote-options="quoteOptions">
|
|
</div>
|
|
</table-edit-modal>
|
|
</div>
|