|
|
@@ -90,6 +90,16 @@
|
|
|
{{ scope.row[countObj.unitKey] }}
|
|
|
</el-form-item>
|
|
|
</template> -->
|
|
|
+ <template v-slot:bomAction="scope">
|
|
|
+ <el-link
|
|
|
+ type="primary"
|
|
|
+ :underline="false"
|
|
|
+ icon="el-icon-document"
|
|
|
+ @click.native="openBomDetail(scope.row)"
|
|
|
+ >
|
|
|
+ BOM详情<span v-if="rowBomCount(scope.row)">({{ rowBomCount(scope.row) }})</span>
|
|
|
+ </el-link>
|
|
|
+ </template>
|
|
|
<!-- 表头工具栏 -->
|
|
|
<template v-slot:toolbar>
|
|
|
<div class="headbox">
|
|
|
@@ -139,6 +149,11 @@
|
|
|
timeDialog
|
|
|
},
|
|
|
props: {
|
|
|
+ // 是否显示「操作」列(BOM详情):只有报价单审批详情传 true,其它单据不受影响
|
|
|
+ showBomDetail: {
|
|
|
+ default: false,
|
|
|
+ type: Boolean
|
|
|
+ },
|
|
|
isDiscountTotalPrice: {
|
|
|
default: false,
|
|
|
type: Boolean
|
|
|
@@ -885,11 +900,22 @@
|
|
|
}
|
|
|
];
|
|
|
// 合并所有列
|
|
|
- return [
|
|
|
+ const mergedColumns = [
|
|
|
...baseColumns,
|
|
|
...additionalColumns,
|
|
|
...remainingColumns
|
|
|
].filter((item) => !item.isNone);
|
|
|
+ if (this.showBomDetail) {
|
|
|
+ mergedColumns.push({
|
|
|
+ width: 130,
|
|
|
+ columnKey: 'bomAction',
|
|
|
+ label: '操作',
|
|
|
+ slot: 'bomAction',
|
|
|
+ fixed: 'right',
|
|
|
+ align: 'center'
|
|
|
+ });
|
|
|
+ }
|
|
|
+ return mergedColumns;
|
|
|
}
|
|
|
},
|
|
|
|
|
|
@@ -1058,6 +1084,13 @@
|
|
|
return isNaN(num) ? 0 : formatPrice(num);
|
|
|
},
|
|
|
//修改回显
|
|
|
+ rowBomCount(row) {
|
|
|
+ return row && Array.isArray(row.bomList) ? row.bomList.length : 0;
|
|
|
+ },
|
|
|
+ // 交给父组件(报价单审批详情)打开 BOM 详情弹窗
|
|
|
+ openBomDetail(row) {
|
|
|
+ this.$emit('showBomDetail', row);
|
|
|
+ },
|
|
|
async putTableValue(data) {
|
|
|
let productList =
|
|
|
(data &&
|