diff --git a/src/api/quotation/quotationHeader.js b/src/api/quotation/quotationHeader.js index 9d1f2a0..795ff8f 100644 --- a/src/api/quotation/quotationHeader.js +++ b/src/api/quotation/quotationHeader.js @@ -210,3 +210,6 @@ export const saveQuotationPropertiesItemAvailable = (data) => createAPI('/plm/qu * @returns {*} */ export const deleteQuotationPropertiesItemAvailable = (data) => createAPI('/plm/quotationPropertiesItemAvailable/delete','post',data); + + +export const updateQuoteStatus = (data) => createAPI('/quote/status','post',data); diff --git a/src/api/quotation/quote.js b/src/api/quotation/quote.js index c6dc948..59f7aba 100644 --- a/src/api/quotation/quote.js +++ b/src/api/quotation/quote.js @@ -6,3 +6,9 @@ export const getQuotePage = (data)=>createAPI(`/quote/page/${data.no}/${data.siz export const queryQuoteByInquiryNo = (data) => createAPI(`/quote/detail`,'post',data) + + +export const queryQuoteByProjectPartNo = (data) => createAPI(`/quote/detail/part`,'post',data) + +export const queryQuoteDetailBom = (data) => createAPI(`/quote/detail/bom`,'post',data) +export const queryQuoteDetailRouting = (data) => createAPI(`/quote/detail/routing`,'post',data) diff --git a/src/views/modules/part/bomManagement.vue b/src/views/modules/part/bomManagement.vue index 985b835..0af4aa4 100644 --- a/src/views/modules/part/bomManagement.vue +++ b/src/views/modules/part/bomManagement.vue @@ -2366,13 +2366,37 @@ export default { }, activated() { - if (this.$route.params.partNo) { + if (this.$route.params && this.$route.params.type && this.$route.params.type === 'quote'){ + this.handleQueryBomByQuote(); + }else if (this.$route.params.partNo) { this.searchData.partNo = this.$route.params.partNo + this.getDataList() } - this.getDataList() }, // js methods: { + // === 报价查询 === + handleQueryBomByQuote(){ + let params = { + site:this.$route.params.site, + partNo:this.$route.params.partNo, + bomType:this.$route.params.bomType, + engChgLevel:this.$route.params.engChgLevel, + page:this.pageIndex, + limit:this.pageSize + } + this.queryLoading = true + bomManagementSearch(params).then(({data})=>{ + if (data && data.code === 0) { + this.dataList = data.page.list + this.pageIndex = data.page.currPage + this.pageSize = data.page.pageSize + this.totalPage = data.page.totalCount + this.$refs.selectDiv.setLengthAll( this.dataList.length) + } + this.queryLoading = false + }) + }, // ======== 分页相关方法 ======== /** * 每页数 diff --git a/src/views/modules/part/routingManagement.vue b/src/views/modules/part/routingManagement.vue index eb14cae..da9c4da 100644 --- a/src/views/modules/part/routingManagement.vue +++ b/src/views/modules/part/routingManagement.vue @@ -2281,14 +2281,38 @@ export default { }, activated() { - if (this.$route.params.partNo) { + if (this.$route.params && this.$route.params.type && this.$route.params.type === 'quote'){ + this.handleQueryRoutingByQuote(); + }else if (this.$route.params.partNo) { this.searchData.partNo = this.$route.params.partNo + this.getDataList() } - this.getDataList() }, // js methods: { + // === 报价查询 === + handleQueryRoutingByQuote(){ + let params = { + site:this.$route.params.site, + partNo:this.$route.params.partNo, + routingType:this.$route.params.routingType, + engChgLevel:this.$route.params.engChgLevel, + page:this.pageIndex, + limit:this.pageSize + } + this.queryLoading = true + routingManagementSearch(params).then(({data})=>{ + if (data && data.code === 0) { + this.dataList = data.page.list + this.pageIndex = data.page.currPage + this.pageSize = data.page.pageSize + this.totalPage = data.page.totalCount + this.$refs.selectDiv.setLengthAll( this.dataList.length) + } + this.queryLoading = false + }) + }, // ======== 分页相关方法 ======== /** * 每页数 diff --git a/src/views/modules/project/projectInfo/com_project_info_part.vue b/src/views/modules/project/projectInfo/com_project_info_part.vue index aa4493b..c2caef0 100644 --- a/src/views/modules/project/projectInfo/com_project_info_part.vue +++ b/src/views/modules/project/projectInfo/com_project_info_part.vue @@ -876,6 +876,38 @@ fixed: '', columnWidth: 100 }, + { + userId: this.$store.state.user.name, + functionId: 101002001, + serialNumber: '101002001Table4UnitPrice', + tableId: "101002001Table4", + tableName: "项目物料", + columnProp: "unitPrice", + headerAlign: "center", + align: "left", + columnLabel: "未税单价", + columnHidden: false, + columnImage: false, + status: true, + fixed: '', + columnWidth: 100 + }, + { + userId: this.$store.state.user.name, + functionId: 101002001, + serialNumber: '101002001Table4TaxUnitPrice', + tableId: "101002001Table4", + tableName: "项目物料", + columnProp: "taxUnitPrice", + headerAlign: "center", + align: "left", + columnLabel: "含税单价", + columnHidden: false, + columnImage: false, + status: true, + fixed: '', + columnWidth: 100 + }, { userId: this.$store.state.user.name, functionId: 101002001, diff --git a/src/views/modules/project/projectPart/projectPartQuote.vue b/src/views/modules/project/projectPart/projectPartQuote.vue new file mode 100644 index 0000000..95da20d --- /dev/null +++ b/src/views/modules/project/projectPart/projectPartQuote.vue @@ -0,0 +1,547 @@ + + + + + diff --git a/src/views/modules/project/projectPart/searchProjectPart.vue b/src/views/modules/project/projectPart/searchProjectPart.vue index fa46efe..0c7aea9 100644 --- a/src/views/modules/project/projectPart/searchProjectPart.vue +++ b/src/views/modules/project/projectPart/searchProjectPart.vue @@ -150,7 +150,7 @@ - + @@ -181,8 +181,10 @@ import sample from "../projectInfo/com_project_sample"; import test from "../projectInfo/com_project_test"; import quotationHeader from "../projectInfo/com_project_info_quotation"; + import ProjectPartQuote from "./projectPartQuote.vue"; export default { components: { + ProjectPartQuote, Chooselist, technicalSpecification, projectQuotation, diff --git a/src/views/modules/quotation/inquiry/inquiryQuoteDetail.vue b/src/views/modules/quotation/inquiry/inquiryQuoteDetail.vue index 3aa2385..24d0984 100644 --- a/src/views/modules/quotation/inquiry/inquiryQuoteDetail.vue +++ b/src/views/modules/quotation/inquiry/inquiryQuoteDetail.vue @@ -515,13 +515,17 @@ export default { }) }, handleClickDetail(row){ - this.$router.push({ - name: 'quotation-sellForQuotation', - params:{ - quotationHeaderId:row.quotationHeaderId, - from:'inquiry' - } - }) + if (this.$router.resolve('quotation-sellForQuotation').resolved.name === '404') { + this.$alert('权限不足,访问失败', '警告', {confirmButtonText: '确定',}) + } else { + this.$router.push({ + name: 'quotation-sellForQuotation', + params:{ + quotationHeaderId:row.quotationHeaderId, + from:'inquiry' + } + }) + } } }, watch:{ diff --git a/src/views/modules/quotation/sellForQuotation.vue b/src/views/modules/quotation/sellForQuotation.vue index e430fb7..1690bf5 100644 --- a/src/views/modules/quotation/sellForQuotation.vue +++ b/src/views/modules/quotation/sellForQuotation.vue @@ -110,7 +110,7 @@ width="160">