Browse Source

材料成本为0的:整行显示红色

报价下达时,如果有0的提示:存在成本为0的材料,是否继续下达
master
han\hanst 1 month ago
parent
commit
f13c4a7ef6
  1. 2
      src/api/quote/quoteDetailBom.js
  2. 7
      src/views/modules/quote/detail/primary/quoteDetailBom.vue
  3. 33
      src/views/modules/quote/index.vue

2
src/api/quote/quoteDetailBom.js

@ -1,3 +1,5 @@
import {createAPI} from "../../utils/httpRequest"; import {createAPI} from "../../utils/httpRequest";
export const queryQuoteDetailBom = (data) => createAPI("/quote/detail/bom", "post", data); export const queryQuoteDetailBom = (data) => createAPI("/quote/detail/bom", "post", data);
export const checkZeroUnitPrice = (data) => createAPI("/quote/detail/bom/checkZeroPrice", "post", data);

7
src/views/modules/quote/detail/primary/quoteDetailBom.vue

@ -370,6 +370,11 @@ export default {
this.$message.error(error); this.$message.error(error);
}) })
}, },
unitPriceRowStyle({row}) {
if (Number(row.unitPrice) === 0) {
return { color: '#F56C6C' };
}
},
levelRowStyle({row}) { levelRowStyle({row}) {
if (row.engChgLevel === this.bomEngChgLevel.engChgLevel && row.bomType === this.bomEngChgLevel.bomType && row.partNo === this.bomEngChgLevel.partNo) { if (row.engChgLevel === this.bomEngChgLevel.engChgLevel && row.bomType === this.bomEngChgLevel.bomType && row.partNo === this.bomEngChgLevel.partNo) {
return {'background-color': '#E8F7F6'}; return {'background-color': '#E8F7F6'};
@ -544,7 +549,7 @@ export default {
</el-tree> </el-tree>
</el-aside> </el-aside>
<el-main style="padding: 0"> <el-main style="padding: 0">
<el-table :data="dataList" v-loading="queryLoading" border style="width: 100%" :height="420">
<el-table :data="dataList" v-loading="queryLoading" border style="width: 100%" :height="420" :row-style="unitPriceRowStyle">
<el-table-column <el-table-column
v-for="(item,index) in columns" :key="index" v-for="(item,index) in columns" :key="index"
:sortable="item.columnSortable" :sortable="item.columnSortable"

33
src/views/modules/quote/index.vue

@ -33,6 +33,7 @@ import {submitChange} from "../../../api/quote/quote";
import {queryQuoteDetail} from "../../../api/quote/quoteDetail"; import {queryQuoteDetail} from "../../../api/quote/quoteDetail";
import FilterSearch from "../../common/filterSearch.vue"; import FilterSearch from "../../common/filterSearch.vue";
import {queryQuoteGroupDetail} from "../../../api/quote/quoteGroupDetail"; import {queryQuoteGroupDetail} from "../../../api/quote/quoteGroupDetail";
import {checkZeroUnitPrice} from "../../../api/quote/quoteDetailBom";
export default { export default {
name: "quote", name: "quote",
@ -1357,11 +1358,7 @@ export default {
}, },
// OA // OA
handleEditStatus(row) { handleEditStatus(row) {
this.$confirm('是否确认下达?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const submitIssue = () => {
this.submitLoading = true this.submitLoading = true
let params = { let params = {
...row, ...row,
@ -1382,6 +1379,32 @@ export default {
}).finally(() => { }).finally(() => {
this.submitLoading = false 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()
}) })
}, },
}, },

Loading…
Cancel
Save