我正在为我们的销售代表实施工具,以使他们能够与客户协商价格。我正在从后端加载带有Rateplan和费用的产品列表,并在前端的表中将其显示给用户。 1个产品有n个费率计划(您只能选择一个),一个费率计划有n个费用(安装的一次性费用,每月发生0或n个固定费用,并且每次使用费用可选0-2支付)。销售代表可以为每笔费用提供折扣。在定义数量时,还会收取费用。
每行的最后一列应显示没有数量的费用的折扣价,计算应为标价-(标价/ 100 *折扣)。 对于具有数量的费用,计算应如下所示: (listprice-(listprice / 100 * qantity))*数量
<div>
<span>PRODUCT RATE PLAN</span>
<mat-divider></mat-divider>
<div *ngFor="let product of orderIntake; let productIndex = index">
<br />
<span class="rightpadding"><b>Product:</b> {{ product.productName }}</span><span class="rightpadding"><b>Rate plan:</b> {{ product.productRatePlans['name'] }}</span>
<table class="subtable">
<tr class="header">
<th>CHARGE NAME</th>
<th>TYPE</th>
<th>MODEL</th>
<th>UOM</th>
<th>LISTPRICE</th>
<th>DISCOUNT AMOUNT</th>
<th>DISCOUNT PERCENTAGE</th>
<th>QUANTITY</th>
<th>PRICE</th>
</tr>
<tr>
<td colspan="11">
<mat-divider></mat-divider>
</td>
</tr>
<tr *ngFor="let rateplancharge of product.productRatePlans['productRatePlanCharges']; let ratePlanChargeIndex = index">
<td>{{ rateplancharge.name }}</td>
<td>{{ rateplancharge.type }}</td>
<td>{{ rateplancharge.model }}</td>
<td>{{ rateplancharge.uom }}</td>
<td>{{ rateplancharge.pricing['0'].price }}<span matSuffix>.00 {{ rateplancharge.pricing['0'].currency }}</span></td>
<td>
<mat-form-field appearance="outline"><input matInput disabled placeholder="Discount" value="{{ getDiscount(rateplancharge.pricing['0'].price, discountP.value | number : '1.2-2' ) }}" type="number" style="text-align: right"></mat-form-field>
</td>
<td>
<mat-form-field appearance="outline">
<input matInput placeholder="Discount %" min="0" max="10" value="0" type="number" style="text-align: right" #discountP>
<span matSuffix>.00 %</span>
</mat-form-field>
</td>
<td style="text-align: center"><span *ngIf="!rateplancharge['defaultQuantity']">N.A.</span>
<mat-form-field appearance="outline" *ngIf="rateplancharge.defaultQuantity">
<input matInput placeholder="Quantity" min="0" value="{{ rateplancharge.defaultQuantity }}" type="number" style="text-align: right" #quantityP id="quantityP{{ratePlanChargeIndex}}">
</mat-form-field>
</td>
<td>{{ total(rateplancharge.pricing['0'].price, discountP.value, ratePlanChargeIndex, quantityP) }}</td>
</tr>
</table><br />
<mat-divider></mat-divider>
</div>
</div>
我正在根据是否有数量应用不同的输入参数调用函数total()
函数如下:
total(listprice, discount, index, quantityP?) {
if (document.getElementById('quantityP' + index) !== null) {
quantityP = document.getElementById('quantityP' + index).value;
} else {
quantityP = 1;
}
return (listprice - (listprice / 100) * discount) * quantityP;
}
由于某种原因,数量总是不确定的。是否有人知道为什么还是知道一种解决方法(我当时正在考虑实现一个值=“ 1”的隐藏输入字段,因此一个要传递给总数...但是我遇到了同样的问题...)
感谢您的支持! :)
答案 0 :(得分:2)
total(rateplancharge.pricing['0'].price, discountP.value, quantityP)
实际上应该是
total(rateplancharge.pricing['0'].price, discountP.value, quantityP.value)