yh-ui/src/views/yh/reportProd/components/ReportOrderProdDescriptions.vue
2025-02-21 10:05:06 +08:00

67 lines
2.5 KiB
Vue

<template>
<div>
<template v-for="(item, index) of data">
<el-descriptions border :column="4" size="mini">
<el-descriptions-item :key="item.id" label="生产订单" :span="2">{{item.orderErpBillNo | dv}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="本次提交产量">{{item.num | fix2 | dv}} {{priceUnit}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="订单进度">
<prod-order-progress :percentage="percentage(item)" width="80px"/>
</el-descriptions-item>
<el-descriptions-item :key="item.id" label="订单需求数量">{{item.orderErpBaseUnitQty | fix2 | dv}} {{item.baseUnitName}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="订单未入库数量">{{item.orderErpBaseNoStockInQty | fix2 | dv}} {{item.baseUnitName}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="订单审核中产量">{{item.verifyingBaseNum | fix2 | dv}} {{item.baseUnitName}}</el-descriptions-item>
<el-descriptions-item :key="item.id" label="订单已审核产量">{{item.verifiedBaseNum | fix2 | dv}} {{item.baseUnitName}}</el-descriptions-item>
</el-descriptions>
<br/>
</template>
</div>
</template>
<script>
import {notNullDecimal} from "@/utils";
import Decimal from "decimal.js";
import ProdOrderProgress from "@/views/yh/prodOrder/components/ProdOrderProgress.vue";
export default {
name: "ReportOrderProdDescriptions",
components: {ProdOrderProgress},
props: {
data: {
type: Array,
default: () => {
return []
}
},
priceUnit: {
type: String,
default: null
},
priceQuantity: {
type: Number,
default: null,
}
},
data() {
return {
}
},
computed: {
// 百分比
percentage() {
return (row) => {
let verifiedBaseNum = notNullDecimal(row.verifiedBaseNum); // 已经审核的量
let num = notNullDecimal(row.num).mul(notNullDecimal(this.priceQuantity)); // 提交数量 * 倍数
let orderErpBaseUnitQty = notNullDecimal(row.orderErpBaseUnitQty); // 基础总需求量
console.log("percentage", verifiedBaseNum.toNumber(), num.toNumber(), orderErpBaseUnitQty.toNumber());
// 结果 = (已审核量 + 本次提交量 * 倍数) / 基础总需求量 * 100
return new Decimal(
verifiedBaseNum.add(num).mul(new Decimal(100)).div(orderErpBaseUnitQty).toFixed(2)
).toNumber();
}
}
},
}
</script>