Browse Source

2026-09-16

销售报价,审批中状态下,只有当前审批人才可以编辑、复制明细、删除
master
fengyuan_yang 5 days ago
parent
commit
b33266918c
  1. 31
      src/views/modules/quote/detail/quoteDetail.vue

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

@ -778,6 +778,10 @@ export default {
},
methods:{
handleSaveQuoteDetail(row){
if (row && !this.canOperateQuoteDetail()) {
this.$message.warning('审批中状态下仅当前审批人可编辑')
return
}
this.$nextTick(()=>{
if (this.$refs.handleSaveQuoteDetailClick){
this.$refs.saveQuoteDetailForm.clearValidate();
@ -881,6 +885,10 @@ export default {
})
},
handleDeleteQuoteDetail(row){
if (!this.canOperateQuoteDetail()) {
this.$message.warning('审批中状态下仅当前审批人可删除')
return
}
this.$confirm('确认删除该条报价明细吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -1055,6 +1063,10 @@ export default {
}
},
handleAgainQuoteDetail(row){
if (!this.canOperateQuoteDetail()) {
this.$message.warning('审批中状态下仅当前审批人可复制明细')
return
}
this.againRow = {
...row,
showFlag: 'Y'
@ -1194,6 +1206,19 @@ export default {
const defaultItemNo = this.internalDefaultItemNoMap[row.quoteGroupDetailId]
return defaultItemNo != null && defaultItemNo === row.itemNo;
},
isQuoteApprover() {
const approvalUsername = this.quote && this.quote.approvalUsername
if (!approvalUsername) {
return false
}
return approvalUsername.split(';').includes(this.$store.state.user.name)
},
canOperateQuoteDetail() {
if (this.quote && this.quote.status === '审批中') {
return this.isQuoteApprover()
}
return true
},
},
watch:{
quote(newVal,oldVal){
@ -1311,14 +1336,14 @@ export default {
<el-table-column label="操作" v-if="!authFlag" fixed="right" align="center" width="160">
<template slot-scope="{row,$index}">
<template v-if="isAuth('5011:detail:update')">
<a type="text" v-if="row.status === '草稿' || row.status === '审批中'" @click="handleSaveQuoteDetail(row)">编辑</a>
<a type="text" v-if="(row.status === '草稿' || row.status === '审批中') && canOperateQuoteDetail()" @click="handleSaveQuoteDetail(row)">编辑</a>
</template>
<template v-if="isAuth('5011:detail:remove')">
<a type="text" v-if="(row.status === '草稿' || row.status === '审批中') && !isDefaultQuoteRow(row)" @click="handleDeleteQuoteDetail(row)">删除</a>
<a type="text" v-if="(row.status === '草稿' || row.status === '审批中') && !isDefaultQuoteRow(row) && canOperateQuoteDetail()" @click="handleDeleteQuoteDetail(row)">删除</a>
</template>
<template v-if="isAuth('5011:detail:again')">
<!-- <a type="text" v-if="row.status !== '已完成'" @click="againQuoteDetail(row)">复制明细</a>-->
<a type="text" v-if="row.status !== '已完成'" @click="handleAgainQuoteDetail(row)">复制明细</a>
<a type="text" v-if="row.status !== '已完成' && canOperateQuoteDetail()" @click="handleAgainQuoteDetail(row)">复制明细</a>
</template>
<template v-if="isAuth('5011:detail:detail')">
<a type="text" @click="handleDetail(row)">详情</a>

Loading…
Cancel
Save