Browse Source

2026-02-28

销售报价条目明细【详情】增加【数据录入】功能
master
fengyuan_yang 2 days ago
parent
commit
fc5154de8c
  1. 2
      src/api/quote/quoteDetail.js
  2. 62
      src/views/modules/quote/detail/quoteDetail.vue

2
src/api/quote/quoteDetail.js

@ -21,3 +21,5 @@ export const updateQuoteDetailShowFlag = (data) => createAPI(`/quote/detail/upda
export const queryQuoteDetailReport = (data) => createAPI(`/quote/detail/report`,'post',data) export const queryQuoteDetailReport = (data) => createAPI(`/quote/detail/report`,'post',data)
export const exportQuoteDetailReport = (data) => createAPI(`/quote/detail/report/export`,'post',data, {responseType: 'blob'}) export const exportQuoteDetailReport = (data) => createAPI(`/quote/detail/report/export`,'post',data, {responseType: 'blob'})
export const updateQuoteDetailEntry = (data) => createAPI(`/quote/detail/entry`,'post',data)

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

@ -5,6 +5,7 @@ import {
queryQuoteDetail, queryQuoteDetail,
saveQuoteDetail, saveQuoteDetail,
updateQuoteDetail, updateQuoteDetail,
updateQuoteDetailEntry,
updateQuoteDetailShowFlag updateQuoteDetailShowFlag
} from "../../../../api/quote/quoteDetail"; } from "../../../../api/quote/quoteDetail";
import {queryQuoteGroupDetail} from "../../../../api/quote/quoteGroupDetail"; import {queryQuoteGroupDetail} from "../../../../api/quote/quoteGroupDetail";
@ -115,6 +116,12 @@ export default {
}, },
saveQuoteDetail:{ saveQuoteDetail:{
},
dataEntryVisible: false,
dataEntryLoading: false,
dataEntryForm: {
finalTransactionPrice: null,
remark: ''
}, },
dataList:[], dataList:[],
saveLoading:false, saveLoading:false,
@ -816,6 +823,35 @@ export default {
this.saveVisible = true; this.saveVisible = true;
this.showModalFlag = true; this.showModalFlag = true;
}, },
handleDataEntry() {
this.dataEntryForm = {
finalTransactionPrice: this.saveQuoteDetail.finalTransactionPrice,
remark: this.saveQuoteDetail.remark || ''
}
this.dataEntryVisible = true
},
submitDataEntry() {
this.dataEntryLoading = true
const params = {
id: this.saveQuoteDetail.id,
finalTransactionPrice: this.dataEntryForm.finalTransactionPrice,
remark: this.dataEntryForm.remark,
updateBy: this.$store.state.user.name
}
updateQuoteDetailEntry(params).then(({data}) => {
if (data && data.code === 0) {
this.$message.success('操作成功')
this.saveQuoteDetail.finalTransactionPrice = params.finalTransactionPrice
this.saveQuoteDetail.remark = params.remark
this.dataEntryVisible = false
this.handleQueryQuoteDetail()
} else {
this.$message.error(data.msg)
}
}).finally(() => {
this.dataEntryLoading = false
})
},
handleShowFlagChange(val){ handleShowFlagChange(val){
// show_flag // show_flag
if (!this.saveQuoteDetail.id) { if (!this.saveQuoteDetail.id) {
@ -1328,7 +1364,7 @@ export default {
<el-input v-model="saveQuoteDetail.partDesc" disabled></el-input> <el-input v-model="saveQuoteDetail.partDesc" disabled></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="3">
<el-col :span="2">
<el-form-item label="MOQ" prop="qty" :show-message="false"> <el-form-item label="MOQ" prop="qty" :show-message="false">
<el-input-number v-model="saveQuoteDetail.qty" style="width: 100%;" :controls="false" :disabled="showModalFlag||saveQuoteDetail.status === '已完成'"></el-input-number> <el-input-number v-model="saveQuoteDetail.qty" style="width: 100%;" :controls="false" :disabled="showModalFlag||saveQuoteDetail.status === '已完成'"></el-input-number>
</el-form-item> </el-form-item>
@ -1343,14 +1379,19 @@ export default {
<el-input-number v-model="saveQuoteDetail.finalTransactionPrice" :controls="false" :disabled="showModalFlag||saveQuoteDetail.status === '已完成'" style="width: 100%"></el-input-number> <el-input-number v-model="saveQuoteDetail.finalTransactionPrice" :controls="false" :disabled="showModalFlag||saveQuoteDetail.status === '已完成'" style="width: 100%"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="5">
<el-col :span="4">
<el-form-item label=" " :show-message="false"> <el-form-item label=" " :show-message="false">
<el-checkbox v-model="showFlagChecked" :disabled="showModalFlag" @change="handleShowFlagChange">询价申请中展示该条目行</el-checkbox> <el-checkbox v-model="showFlagChecked" :disabled="showModalFlag" @change="handleShowFlagChange">询价申请中展示该条目行</el-checkbox>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="2">
<el-form-item label=" " :show-message="false">
<el-button v-if="saveQuoteDetail.id && isAuth('5011:detail:dataEntry')" type="warning" @click="handleDataEntry">数据录入</el-button> </el-form-item>
</el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="23">
<el-col :span="24">
<el-form-item label="备注" class="auto" :show-message="false"> <el-form-item label="备注" class="auto" :show-message="false">
<el-input type="textarea" resize="none" :autosize="{minRows: 3, maxRows: 3}" v-model="saveQuoteDetail.remark" :disabled="showModalFlag||saveQuoteDetail.status === '已完成'"></el-input> <el-input type="textarea" resize="none" :autosize="{minRows: 3, maxRows: 3}" v-model="saveQuoteDetail.remark" :disabled="showModalFlag||saveQuoteDetail.status === '已完成'"></el-input>
</el-form-item> </el-form-item>
@ -1387,6 +1428,21 @@ export default {
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="数据录入" v-drag :visible.sync="dataEntryVisible" append-to-body width="500px" :close-on-click-modal="false">
<el-form :model="dataEntryForm" label-position="top">
<el-form-item label="最终交易价">
<el-input-number v-model="dataEntryForm.finalTransactionPrice" :controls="false" style="width: 100%" placeholder="请输入最终交易价"></el-input-number>
</el-form-item>
<el-form-item label="备注">
<el-input type="textarea" v-model="dataEntryForm.remark" :rows="3" resize="none" placeholder="请输入备注"></el-input>
</el-form-item>
</el-form>
<div style="height:35px;margin-top: 55px;text-align:center">
<el-button type="primary" :loading="dataEntryLoading" @click="submitDataEntry"> </el-button>
<el-button @click="dataEntryVisible = false"> </el-button>
</div>
</el-dialog>
<el-dialog v-drag title="物料信息" append-to-body :close-on-click-modal="false" :visible.sync="partVisible"> <el-dialog v-drag title="物料信息" append-to-body :close-on-click-modal="false" :visible.sync="partVisible">
<!--搜索条件--> <!--搜索条件-->
<el-form :model="projectPart" ref="projectPartDataForm" :inline="true" label-position="top"> <el-form :model="projectPart" ref="projectPartDataForm" :inline="true" label-position="top">

Loading…
Cancel
Save