| | |
| | | <el-input v-model.number="reportForm.quantity" |
| | | type="number" |
| | | min="0" |
| | | step="0.1" |
| | | step="0.0001" |
| | | style="width: 300px" |
| | | placeholder="请输入生产合格数量" |
| | | @input="handleQuantityInput" /> |
| | |
| | | <el-input v-model.number="reportForm.scrapQty" |
| | | type="number" |
| | | min="0" |
| | | step="0.1" |
| | | step="0.0001" |
| | | style="width: 300px" |
| | | placeholder="请输入报废数量" |
| | | @input="handleScrapQtyInput" /> |
| | |
| | | if (n >= 100) return 100; |
| | | return Math.round(n); |
| | | }; |
| | | const subtractQuantity = (minuend, subtrahend, precision = 4) => { |
| | | const factor = 10 ** precision; |
| | | const a = Math.round((Number(minuend) || 0) * factor); |
| | | const b = Math.round((Number(subtrahend) || 0) * factor); |
| | | return Math.max(0, (a - b) / factor); |
| | | }; |
| | | const progressColor = percentage => { |
| | | const p = toProgressPercentage(percentage); |
| | | if (p < 30) return "#f56c6c"; |
| | |
| | | } |
| | | } |
| | | currentReportRowData.value = row; |
| | | const planQuantity = Number(row.planQuantity || 0); |
| | | const completeQuantity = Number(row.completeQuantity || 0); |
| | | const remainingQuantity = Math.max(0, planQuantity - completeQuantity); |
| | | reportForm.planQuantity = remainingQuantity; |
| | | reportForm.planQuantity = subtractQuantity( |
| | | row.planQuantity, |
| | | row.completeQuantity |
| | | ); |
| | | reportForm.quantity = |
| | | row.quantity !== undefined && row.quantity !== null ? row.quantity : null; |
| | | reportForm.productProcessRouteItemId = row.productProcessRouteItemId; |