| | |
| | | <span class="info-value">{{ routeInfo.quantity || '-' }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="info-item"> |
| | | <div class="info-label-wrapper"> |
| | | <span class="info-label">备注</span> |
| | | </div> |
| | | <div class="info-value-wrapper"> |
| | | <span class="info-value">{{ routeInfo.description }}</span> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="info-item">--> |
| | | <!-- <div class="info-label-wrapper">--> |
| | | <!-- <span class="info-label">备注</span>--> |
| | | <!-- </div>--> |
| | | <!-- <div class="info-value-wrapper">--> |
| | | <!-- <span class="info-value">{{ routeInfo.description }}</span>--> |
| | | <!-- </div>--> |
| | | <!-- </div>--> |
| | | </div> |
| | | </el-card> |
| | | <!-- 附件模块 --> |
| | |
| | | style="margin: 0"> |
| | | <el-input-number v-model="row.unitQuantity" |
| | | :min="0" |
| | | :precision="2" |
| | | :precision="8" |
| | | :step="1" |
| | | controls-position="right" |
| | | style="width: 100%" |
| | |
| | | }); |
| | | }; |
| | | |
| | | const toQuantityNumber = value => { |
| | | const toQuantityNumber = (value, scale = 2) => { |
| | | const numberValue = Number(value); |
| | | if (!Number.isFinite(numberValue)) { |
| | | return 0; |
| | | } |
| | | return Number(numberValue.toFixed(2)); |
| | | return Number(numberValue.toFixed(scale)); |
| | | }; |
| | | |
| | | const syncDemandedQuantityTree = (items, parentDemandedQuantity = null) => { |
| | | items.forEach(item => { |
| | | if (parentDemandedQuantity !== null) { |
| | | item.demandedQuantity = toQuantityNumber( |
| | | parentDemandedQuantity * toQuantityNumber(item.unitQuantity) |
| | | parentDemandedQuantity * toQuantityNumber(item.unitQuantity, 8) |
| | | ); |
| | | } |
| | | |