Browse Source

2026-02-27

销售报价默认报价行【删除】优化
master
fengyuan_yang 21 hours ago
parent
commit
80af6a97ce
  1. 40
      src/views/modules/quote/detail/quoteDetail.vue

40
src/views/modules/quote/detail/quoteDetail.vue

@ -7,6 +7,7 @@ import {
updateQuoteDetail,
updateQuoteDetailShowFlag
} from "../../../../api/quote/quoteDetail";
import {queryQuoteGroupDetail} from "../../../../api/quote/quoteGroupDetail";
import {getProjectPartList} from "../../../../api/project/project";
import QuoteDetailCost from "./primary/quoteDetailCost.vue";
import QuoteDetailTool from "./primary/quoteDetailTool.vue";
@ -763,6 +764,8 @@ export default {
againVisible:false,
againRow:{},
// quoteGroupDetail quoteGroupDetailId currentQuoteDetailItemNo
internalDefaultItemNoMap: {},
}
},
methods:{
@ -889,6 +892,9 @@ export default {
}
if (this.quoteGroupDetail){
params.quoteGroupDetailId=this.quoteGroupDetail.id;
} else {
//
this.loadGroupDetailMap();
}
this.queryLoading = true;
queryQuoteDetail(params).then(({data})=>{
@ -903,6 +909,28 @@ export default {
this.queryLoading = false;
})
},
// quoteGroupDetail
loadGroupDetailMap() {
if (!this.quote.id) {
this.internalDefaultItemNoMap = {}
return
}
queryQuoteGroupDetail({ quoteId: this.quote.id }).then(({ data }) => {
if (data && data.code === 0 && data.rows) {
const map = {}
data.rows.forEach(group => {
if (group.currentQuoteDetailItemNo) {
map[group.id] = group.currentQuoteDetailItemNo
}
})
this.internalDefaultItemNoMap = map
} else {
this.internalDefaultItemNoMap = {}
}
}).catch(() => {
this.internalDefaultItemNoMap = {}
})
},
handleSaveQuoteDetailClick(){
this.$refs.saveQuoteDetailForm.validate((valid,obj) => {
if (valid){
@ -1107,7 +1135,17 @@ export default {
this.quoteGroupDetail.currentQuoteDetailItemNo = row.itemNo;
// emit
this.$emit('currentQuoteDetailItemNo', oldVal);
},
//
// quoteGroupDetail quoteGroupDetail.currentQuoteDetailItemNo
// quoteGroupDetail internalDefaultItemNoMap
isDefaultQuoteRow(row) {
if (this.quoteGroupDetail) {
return this.quoteGroupDetail.currentQuoteDetailItemNo === row.itemNo;
}
const defaultItemNo = this.internalDefaultItemNoMap[row.quoteGroupDetailId]
return defaultItemNo != null && defaultItemNo === row.itemNo;
},
},
watch:{
quote(newVal,oldVal){
@ -1225,7 +1263,7 @@ export default {
<a type="text" v-if="row.status === '草稿' || row.status === '审批中'" @click="handleSaveQuoteDetail(row)">编辑</a>
</template>
<template v-if="isAuth('5011:detail:remove')">
<a type="text" v-if="row.status === '草稿' && !(quoteGroupDetail && quoteGroupDetail.currentQuoteDetailItemNo === row.itemNo)" @click="handleDeleteQuoteDetail(row)">删除</a>
<a type="text" v-if="(row.status === '草稿' || row.status === '审批中') && !isDefaultQuoteRow(row)" @click="handleDeleteQuoteDetail(row)">删除</a>
</template>
<template v-if="isAuth('5011:detail:again')">
<!-- <a type="text" v-if="row.status !== '已完成'" @click="againQuoteDetail(row)">复制明细</a>-->

Loading…
Cancel
Save