diff --git a/src/api/quote/quoteDetailBom.js b/src/api/quote/quoteDetailBom.js index d89e7b3..e613485 100644 --- a/src/api/quote/quoteDetailBom.js +++ b/src/api/quote/quoteDetailBom.js @@ -1,3 +1,5 @@ import {createAPI} from "../../utils/httpRequest"; export const queryQuoteDetailBom = (data) => createAPI("/quote/detail/bom", "post", data); + +export const checkZeroUnitPrice = (data) => createAPI("/quote/detail/bom/checkZeroPrice", "post", data); diff --git a/src/views/modules/quote/detail/primary/quoteDetailBom.vue b/src/views/modules/quote/detail/primary/quoteDetailBom.vue index 888782f..eedd457 100644 --- a/src/views/modules/quote/detail/primary/quoteDetailBom.vue +++ b/src/views/modules/quote/detail/primary/quoteDetailBom.vue @@ -370,6 +370,11 @@ export default { this.$message.error(error); }) }, + unitPriceRowStyle({row}) { + if (Number(row.unitPrice) === 0) { + return { color: '#F56C6C' }; + } + }, levelRowStyle({row}) { if (row.engChgLevel === this.bomEngChgLevel.engChgLevel && row.bomType === this.bomEngChgLevel.bomType && row.partNo === this.bomEngChgLevel.partNo) { return {'background-color': '#E8F7F6'}; @@ -544,7 +549,7 @@ export default { - + { + const submitIssue = () => { this.submitLoading = true let params = { ...row, @@ -1382,6 +1379,32 @@ export default { }).finally(() => { this.submitLoading = false }) + } + + const doIssue = () => { + this.$confirm('是否确认下达?', '提示', { + confirmButtonText: '确定', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + submitIssue() + }) + } + + checkZeroUnitPrice({ quoteId: row.id }).then(({ data }) => { + if (data && data.code === 0 && data.hasZero) { + this.$confirm('存在单位成本为0的材料,是否继续下达?', '提示', { + confirmButtonText: '继续下达', + cancelButtonText: '取消', + type: 'warning' + }).then(() => { + submitIssue() + }).catch(() => {}) + } else { + doIssue() + } + }).catch(() => { + doIssue() }) }, },