You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
560 lines
17 KiB
560 lines
17 KiB
<script>
|
|
import {queryQuoteDetailBomTree} from "@/api/quote/quoteDetailBomTree";
|
|
|
|
export default {
|
|
name: "quoteDetailRouting",
|
|
props:{
|
|
quoteDetail:{
|
|
type:Object,
|
|
required:true
|
|
},
|
|
},
|
|
model:{
|
|
prop: "quoteDetail",
|
|
event: "update"
|
|
},
|
|
data(){
|
|
return{
|
|
isAllBom:false,
|
|
dataList:[],
|
|
treeData:[],
|
|
columns: [
|
|
{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5OperationNo',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'operationNo',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '工序号',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 60,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5OperationName',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'operationName',
|
|
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: 5011,
|
|
serialNumber: '5011Table5PartNo',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'partNo',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '物料编码',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5PartDesc',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'partDesc',
|
|
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: 5011,
|
|
serialNumber: '5011Table5Version',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'version',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '版本',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 80,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5AlternativeNo',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'alternativeNo',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '替代编码',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5AlternativeDesc',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'alternativeDesc',
|
|
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: 5011,
|
|
serialNumber: '5011Table5WorkCenterNo',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'workCenterNo',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '加工中心编码',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5WorkCenterDesc',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'workCenterDesc',
|
|
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: 5011,
|
|
serialNumber: '5011Table5WorkCenterCost',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'workCenterCost',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '加工中心成本',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5EfficiencyFactor',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'efficiencyFactor',
|
|
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: 5011,
|
|
serialNumber: '5011Table5MachRunFactor',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'machRunFactor',
|
|
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: 5011,
|
|
serialNumber: '5011Table5MachSetupTime',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'machSetupTime',
|
|
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: 5011,
|
|
serialNumber: '5011Table5RunTimeDesc',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'runTimeDesc',
|
|
headerAlign: "center",
|
|
align: "center",
|
|
columnLabel: '产出单位',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5LaborRunFactor',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'laborRunFactor',
|
|
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: 5011,
|
|
serialNumber: '5011Table5LaborSetupTime',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'laborSetupTime',
|
|
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: 5011,
|
|
serialNumber: '5011Table5CrewSize',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'crewSize',
|
|
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: 5011,
|
|
serialNumber: '5011Table5SetupCrewSize',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'setupCrewSize',
|
|
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: 5011,
|
|
serialNumber: '5011Table5LaborClassNo',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'laborClassNo',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '人员等级',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 100,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5SetupLaborClassNo',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'setupLaborClassNo',
|
|
headerAlign: "center",
|
|
align: "left",
|
|
columnLabel: '调机过程中人员等级',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 140,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5LaborClassCost',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'laborClassCost',
|
|
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: 5011,
|
|
serialNumber: '5011Table5SetupLaborClassCost',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'setupLaborClassCost',
|
|
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: 5011,
|
|
serialNumber: '5011Table5MachineCost',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'machineCost',
|
|
headerAlign: "center",
|
|
align: "right",
|
|
columnLabel: '单位机器成本',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 140,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5MachineCost',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'unitManufacturingCosts',
|
|
headerAlign: "center",
|
|
align: "right",
|
|
columnLabel: '单位制造成本',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 140,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5LaborCosts',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'laborCosts',
|
|
headerAlign: "center",
|
|
align: "right",
|
|
columnLabel: '单位人工成本',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: '',
|
|
columnWidth: 140,
|
|
},{
|
|
userId: this.$store.state.user.name,
|
|
functionId: 5011,
|
|
serialNumber: '5011Table5QuoteUnitCost',
|
|
tableId: "5011Table5",
|
|
tableName: "报价工艺信息",
|
|
columnProp: 'quoteUnitCost',
|
|
headerAlign: "center",
|
|
align: "right",
|
|
columnLabel: '单位报价成本',
|
|
columnHidden: false,
|
|
columnImage: false,
|
|
columnSortable: false,
|
|
sortLv: 0,
|
|
status: true,
|
|
fixed: 'right',
|
|
columnWidth: 120,
|
|
},
|
|
],
|
|
props:{
|
|
children: 'list',
|
|
label: (data,node)=>{
|
|
return `${data.partNo}-${data.engChgLevel}-${data.alternativeNo}-${data.bomType}`;
|
|
},
|
|
},
|
|
queryTreeLoading:false,
|
|
}
|
|
},
|
|
methods:{
|
|
handleQueryQuoteDetailBomTree(){
|
|
let params = {
|
|
id: this.quoteDetail.id,
|
|
}
|
|
this.queryTreeLoading = true;
|
|
queryQuoteDetailBomTree(params).then(({data})=>{
|
|
if (data && data.code === 0){
|
|
this.treeData = data.rows;
|
|
if (this.treeData.length > 0){
|
|
this.$nextTick(()=>{
|
|
this.$refs.tree.setCurrentKey(this.treeData[0].id);
|
|
|
|
})
|
|
}
|
|
this.queryTreeLoading = false;
|
|
}else {
|
|
this.$message.warning(data.msg);
|
|
this.queryTreeLoading = false;
|
|
}
|
|
}).catch((error)=>{
|
|
this.$message.error(error);
|
|
})
|
|
},
|
|
nodeClick(data){
|
|
|
|
},
|
|
},
|
|
created() {
|
|
if (this.quoteDetail && this.quoteDetail.id){
|
|
this.handleQueryQuoteDetailBomTree();
|
|
}
|
|
},
|
|
watch:{
|
|
'quoteDetail.id'(newVal,oldVal){
|
|
this.handleQueryQuoteDetailBomTree();
|
|
},
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<template>
|
|
<div>
|
|
<div style="margin-bottom: 10px">
|
|
<el-link style="margin-right: 20px">切换版本</el-link>
|
|
<el-checkbox v-model="isAllBom">全级Routing结构</el-checkbox>
|
|
</div>
|
|
<el-container>
|
|
<el-aside width="300px" v-loading="queryTreeLoading">
|
|
<el-tree
|
|
:data="treeData"
|
|
:props="props"
|
|
:default-expand-all="true"
|
|
:expand-on-click-node="false"
|
|
node-key="id"
|
|
highlight-current
|
|
@node-click="nodeClick" ref="tree">
|
|
|
|
</el-tree>
|
|
</el-aside>
|
|
<el-main style="padding: 0">
|
|
<el-table :data="dataList" border style="width: 100%" :height="420">
|
|
<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>
|
|
</el-main>
|
|
</el-container>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
|
|
</style>
|