11 changed files with 766 additions and 38 deletions
-
3src/api/quotation/quotationHeader.js
-
6src/api/quotation/quote.js
-
27src/views/modules/code/item/itemValue.vue
-
28src/views/modules/part/bomManagement.vue
-
28src/views/modules/part/routingManagement.vue
-
32src/views/modules/project/projectInfo/com_project_info_part.vue
-
547src/views/modules/project/projectPart/projectPartQuote.vue
-
4src/views/modules/project/projectPart/searchProjectPart.vue
-
18src/views/modules/quotation/inquiry/inquiryQuoteDetail.vue
-
32src/views/modules/quotation/sellForQuotation.vue
-
79src/views/modules/quotation/sellForQuotation/quoteDetail.vue
@ -0,0 +1,547 @@ |
|||||
|
<script> |
||||
|
import {queryQuoteByProjectPartNo} from "../../../../api/quotation/quote"; |
||||
|
|
||||
|
export default { |
||||
|
name: "projectPartQuote", |
||||
|
props:{ |
||||
|
part:{ |
||||
|
type: Object, |
||||
|
required: true |
||||
|
}, |
||||
|
height:{ |
||||
|
type: [String,Number], |
||||
|
default: '27vh' |
||||
|
} |
||||
|
}, |
||||
|
data(){ |
||||
|
return{ |
||||
|
dataList:[], |
||||
|
queryLoading:false, |
||||
|
columns:[ |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10QuotationNo', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'quotationNo', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '报价单号', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 200 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10QuotationDate', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'quotationDate', |
||||
|
headerAlign: 'center', |
||||
|
align: 'center', |
||||
|
columnLabel: '报价日期', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 200 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10ProductNo', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'productNo', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '物料编码', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 200 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10ProductDesc', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'productDesc', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '物料名称', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 200 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10QuotationDetailQuantity', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'quotationDetailQuantity', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '报价数量', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 100 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10ComputePartCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'computePartCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '计算后材料成本', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10ComputeMachineCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'computeMachineCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '计算后机器成本', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10ComputeLabourCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'computeLabourCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '计算后人工成本', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10ComputeFabricateCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'computeFabricateCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '计算后制造费用', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10ComputeToolCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'computeToolCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '计算后工具成本', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10AdjustPartCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'adjustPartCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '调整后材料成本', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10AdjustMachineCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'adjustMachineCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '调整后机器成本', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10AdjustLabourCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'adjustLabourCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '调整后人工成本', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
}, |
||||
|
{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10AdjustFabricateCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'adjustFabricateCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '调整后制造费用', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10AdjustToolCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'adjustToolCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '调整后工具成本', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10DetailOtherCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'detailOtherCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '其他成本', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10DetailManageCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'detailManageCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '管理成本', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10DetailTotalCost', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'detailTotalCost', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '总成本', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10DetailProfitRate', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'detailProfitRate', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '利润率%', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10DetailProfitAmount', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'detailProfitAmount', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '利润额', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10FinalUntaxedPrice', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'finalUntaxedPrice', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '未税单价', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10TaxRate', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'taxRate', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '税率%', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10FinalTaxedPrice', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'finalTaxedPrice', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '含税单价', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10SystemComputePrice', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'systemComputePrice', |
||||
|
headerAlign: 'center', |
||||
|
align: 'right', |
||||
|
columnLabel: '含税总价', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10QuotationDetailStatus', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'quotationDetailStatus', |
||||
|
headerAlign: 'center', |
||||
|
align: 'center', |
||||
|
columnLabel: '状态', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10Remark', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'remark', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '备注', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
},{ |
||||
|
userId: this.$store.state.user.name, |
||||
|
functionId: 101002002, |
||||
|
serialNumber: '101002002Table10InternalInquiryNo', |
||||
|
tableId: '101002002Table10', |
||||
|
tableName: '项目物料', |
||||
|
columnProp: 'internalInquiryNo', |
||||
|
headerAlign: 'center', |
||||
|
align: 'left', |
||||
|
columnLabel: '询价单号', |
||||
|
columnHidden: false, |
||||
|
columnImage: false, |
||||
|
columnSortable: false, |
||||
|
sortLv: 0, |
||||
|
status: true, |
||||
|
fixed: '', |
||||
|
columnWidth: 120 |
||||
|
}, |
||||
|
], |
||||
|
} |
||||
|
}, |
||||
|
methods:{ |
||||
|
handleQueryQuote(){ |
||||
|
let params = { |
||||
|
site:this.part.site, |
||||
|
projectId:this.part.projectId, |
||||
|
partNo:this.part.testPartNo, |
||||
|
} |
||||
|
this.queryLoading = true |
||||
|
queryQuoteByProjectPartNo(params).then(({data})=>{ |
||||
|
if (data && data.code === 0){ |
||||
|
this.dataList = data.rows |
||||
|
}else { |
||||
|
this.$message.warning(data.msg) |
||||
|
} |
||||
|
this.queryLoading = false |
||||
|
}).catch((error)=>{ |
||||
|
this.$message.error(error) |
||||
|
this.queryLoading = false |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
watch:{ |
||||
|
part(newVal,oldVal){ |
||||
|
if (newVal){ |
||||
|
this.handleQueryQuote() |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
</script> |
||||
|
|
||||
|
<template> |
||||
|
<el-table :data="dataList" style="width: 100%;margin-top: 5px" :height="height" v-loading="queryLoading" border> |
||||
|
<el-table-column |
||||
|
v-for="(item,index) in columns" :key="index" |
||||
|
:sortable="item.columnSortable" |
||||
|
:prop="item.columnProp" |
||||
|
:header-align="item.headerAlign" |
||||
|
:show-overflow-tooltip="item.showOverflowTooltip" |
||||
|
:align="item.align" |
||||
|
:fixed="item.fixed===''?false:item.fixed" |
||||
|
:min-width="item.columnWidth" |
||||
|
:label="item.columnLabel"> |
||||
|
<template slot-scope="scope" > |
||||
|
<span v-if="!item.columnHidden"> {{ scope.row[item.columnProp]}}</span> |
||||
|
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]" style="width: 100px; height: 80px"/></span> |
||||
|
</template> |
||||
|
</el-table-column> |
||||
|
</el-table> |
||||
|
</template> |
||||
|
|
||||
|
<style scoped> |
||||
|
|
||||
|
</style> |
||||
Write
Preview
Loading…
Cancel
Save
Reference in new issue