|
|
|
@ -1,6 +1,6 @@ |
|
|
|
<template> |
|
|
|
<div class="mod-config"> |
|
|
|
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;" v-if="searchData.buNo!='RDC'"> |
|
|
|
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;" v-if="searchData.buNo=='RDC'"> |
|
|
|
<el-row :gutter="20" > |
|
|
|
<el-col :span="24"><div class="grid-content bg-purple"> |
|
|
|
<el-form-item :label="'过程及过程控制/Process and Production Control'"> |
|
|
|
@ -141,10 +141,10 @@ |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
|
|
|
|
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;" v-if="searchData.buNo==='DBE'"> |
|
|
|
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;" v-if="searchData.buNo!='RDC'"> |
|
|
|
<el-form-item > |
|
|
|
<el-button type="primary" @click="searchTable()" >刷新</el-button> |
|
|
|
<el-button type="primary" @click="newData()" v-if="!ifDisableFlag">新增</el-button> |
|
|
|
<el-button type="primary" @click="newRoute()" v-if="!ifDisableFlag">新增</el-button> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-table |
|
|
|
@ -165,152 +165,49 @@ |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="familyName" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="60" |
|
|
|
label="材料分类"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="erpPartNo" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="60" |
|
|
|
label="IFS料号"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="partDesc" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="120" |
|
|
|
label="材料名称"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="quantity" |
|
|
|
prop="itemNo" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="60" |
|
|
|
label="数量"> |
|
|
|
label="工序号"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="spec" |
|
|
|
prop="operationDesc" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="120" |
|
|
|
label="UL产品型号"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="remark" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="180" |
|
|
|
label="Remark"> |
|
|
|
min-width="200" |
|
|
|
label="工序名称"> |
|
|
|
</el-table-column> |
|
|
|
<!-- <el-table-column--> |
|
|
|
<!-- prop="remark"--> |
|
|
|
<!-- header-align="center"--> |
|
|
|
<!-- align="left"--> |
|
|
|
<!-- min-width="300"--> |
|
|
|
<!-- label="备注">--> |
|
|
|
<!-- </el-table-column>--> |
|
|
|
</el-table> |
|
|
|
</el-form> |
|
|
|
|
|
|
|
<el-dialog title="BOM" :close-on-click-modal="false" v-drag :visible.sync="bomFlag" width="500px"> |
|
|
|
<el-dialog title="工艺路线" :close-on-click-modal="false" v-drag :visible.sync="routeFlag" width="470px"> |
|
|
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item > |
|
|
|
<span slot="label" style="" @click="erpPartModel()"><a herf="#">800料号</a></span> |
|
|
|
<el-input v-model="dataForm.erpPartNo" :disabled="dataForm.addId==1" ></el-input> |
|
|
|
<el-form-item :label="'工序编码'"> |
|
|
|
<el-input v-model="routingData.itemNo" type="number" onkeyup="value=value.replace(/^(0+)|[^\d]+/g,'')" ></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'物料分类'"> |
|
|
|
<el-input v-model="dataForm.familyName" disabled ></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'物料名称'" > |
|
|
|
<el-input v-model="dataForm.partDesc" disabled ></el-input> |
|
|
|
<el-form-item :label="'工序名称'"> |
|
|
|
<el-input v-model="routingData.operationDesc" style="width: 440px" ></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item :label="'数量'"> |
|
|
|
<el-input v-model="dataForm.quantity" type="number" :disabled="ifDisableFlag" ></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'产品规格'"> |
|
|
|
<el-input v-model="dataForm.spec" disabled style="width:294px"></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item :label="'Remark'"> |
|
|
|
<el-input |
|
|
|
type="textarea" |
|
|
|
v-model="dataForm.remark " |
|
|
|
:rows="3" |
|
|
|
resize='none' |
|
|
|
show-word-limit |
|
|
|
:disabled="ifDisableFlag" |
|
|
|
style="width:448px;height: 60px" > |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-footer style="height:40px;margin-top: 60px;text-align:center"> |
|
|
|
<el-button type="primary" @click="bomSave()">保存</el-button> |
|
|
|
<el-button type="primary" @click="bomFlag = false">取消</el-button> |
|
|
|
<el-footer style="height:40px;margin-top: 10px;text-align:center"> |
|
|
|
<el-button type="primary" @click="routeSave()">保存</el-button> |
|
|
|
<el-button type="primary" @click="routeFlag = false">取消</el-button> |
|
|
|
</el-footer> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<el-dialog title="800物料清单" :close-on-click-modal="false" v-drag :visible.sync="partModelFlag" width="500px"> |
|
|
|
<el-form :inline="true" label-position="top" style="margin-left: 7px;margin-top: -5px;"> |
|
|
|
<el-form-item :label="'800料号'"> |
|
|
|
<el-input v-model="partSearchData.erpPartNo" style="width:100px" ></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item :label="'物料分类'"> |
|
|
|
<el-input v-model="partSearchData.familyId" style="width:100px" ></el-input> |
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
<el-form-item :label="'物料名称'" > |
|
|
|
<el-input v-model="partSearchData.partDesc" style="width:150px" ></el-input> |
|
|
|
<el-button type="primary" @click="searchPartData()">查询</el-button> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<el-table |
|
|
|
:data="partList" |
|
|
|
border |
|
|
|
:height="300" |
|
|
|
@row-dblclick="choosePart" |
|
|
|
v-loading="false" |
|
|
|
style="width: 100%;"> |
|
|
|
<el-table-column |
|
|
|
prop="erpPartNo" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="60" |
|
|
|
label="IFS料号"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="familyName" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="60" |
|
|
|
label="材料分类"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="partDesc" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="120" |
|
|
|
label="材料名称"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="spec" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="120" |
|
|
|
label="规格型号"> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
|
|
|
|
<span slot="footer" class="dialog-footer"> |
|
|
|
<div style="margin-top: 5px"> |
|
|
|
<el-button @click="partModelFlag = false" type="primary">取消</el-button> |
|
|
|
</div> |
|
|
|
</span> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
|
|
<el-dialog |
|
|
|
width="530px" |
|
|
|
title="报价员" |
|
|
|
title="审查工程师" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:visible.sync="reviewEngineerFlag"> |
|
|
|
<el-transfer v-model="reviewEngineerList" class="rq" filterable :props="{ |
|
|
|
@ -326,7 +223,7 @@ |
|
|
|
</el-dialog> |
|
|
|
<el-dialog |
|
|
|
width="530px" |
|
|
|
title="工程师" |
|
|
|
title="PE工程师" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:visible.sync="peEngineerFlag"> |
|
|
|
<el-transfer v-model="peEngineerList" class="rq" filterable :props="{ |
|
|
|
@ -342,7 +239,7 @@ |
|
|
|
</el-dialog> |
|
|
|
<el-dialog |
|
|
|
width="530px" |
|
|
|
title="项目负责人" |
|
|
|
title="选择CQE" |
|
|
|
:close-on-click-modal="false" |
|
|
|
:visible.sync="cqeFlag"> |
|
|
|
<el-transfer v-model="cqeList" class="rq" filterable :props="{ |
|
|
|
@ -363,13 +260,13 @@ |
|
|
|
|
|
|
|
<script> |
|
|
|
import { |
|
|
|
searchBMBom, |
|
|
|
saveBMBom, |
|
|
|
searchPartDataForSelect, |
|
|
|
searchBMRoutingDetail, |
|
|
|
deleteBMBom, |
|
|
|
searchTechnicalSpecificationTeamStr, |
|
|
|
searchBMRoutingDetail, |
|
|
|
updateBMRoutingDetail, |
|
|
|
saveBMRoute, |
|
|
|
searchBMRoute, |
|
|
|
deleteBMRoute |
|
|
|
} from "@/api/sampleManagement/technicalSpecificationList.js" |
|
|
|
import Chooselist from '@/views/modules/common/Chooselist' |
|
|
|
import { |
|
|
|
@ -382,8 +279,7 @@ |
|
|
|
|
|
|
|
data() { |
|
|
|
return { |
|
|
|
partModelFlag:false, |
|
|
|
bomFlag:false, |
|
|
|
routeFlag:false, |
|
|
|
height:200, |
|
|
|
searchData: { |
|
|
|
site: '', |
|
|
|
@ -392,12 +288,6 @@ |
|
|
|
buNo:'', |
|
|
|
}, |
|
|
|
tableData:'', |
|
|
|
partSearchData:{ |
|
|
|
site:'', |
|
|
|
erpPartNo:'', |
|
|
|
familyId:'', |
|
|
|
partDesc:'', |
|
|
|
}, |
|
|
|
partList:[], |
|
|
|
ifDisableFlag:false, |
|
|
|
dataForm:{ |
|
|
|
@ -428,6 +318,16 @@ |
|
|
|
reviewEngineerList:[], |
|
|
|
peEngineerList:[], |
|
|
|
cqeList:[], |
|
|
|
//工艺路线部分 |
|
|
|
routingData:{ |
|
|
|
id:0, |
|
|
|
site:'', |
|
|
|
codeNo:'', |
|
|
|
itemNo:'', |
|
|
|
operationDesc:'', |
|
|
|
remark:'', |
|
|
|
username:'', |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
mounted () { |
|
|
|
@ -459,83 +359,56 @@ |
|
|
|
} |
|
|
|
} |
|
|
|
}, |
|
|
|
searchPartData(){ |
|
|
|
searchPartDataForSelect(this.partSearchData).then(({data}) => { |
|
|
|
this.partList = data.rows; |
|
|
|
|
|
|
|
}); |
|
|
|
}, |
|
|
|
newData(){ |
|
|
|
this.dataForm={ |
|
|
|
addId:0, |
|
|
|
site: this.searchData.site, |
|
|
|
newRoute(){ |
|
|
|
let number=10; |
|
|
|
for (let i = 0; i <this.tableData.length ; i++) { |
|
|
|
if(number<=this.tableData[i].itemNo){ |
|
|
|
number=Number(this.tableData[i].itemNo)+10 |
|
|
|
} |
|
|
|
} |
|
|
|
this.routingData={ |
|
|
|
id:0, |
|
|
|
site:this.searchData.site, |
|
|
|
codeNo:this.searchData.codeNo, |
|
|
|
erpPartNo:'', |
|
|
|
familyId: '', |
|
|
|
familyName:'', |
|
|
|
partDesc:'', |
|
|
|
quantity:'', |
|
|
|
spec:'', |
|
|
|
itemNo:number, |
|
|
|
operationDesc:'', |
|
|
|
remark:'', |
|
|
|
username:this.$store.state.user.name, |
|
|
|
username:this.$store.state.user.name |
|
|
|
} |
|
|
|
this.bomFlag=true; |
|
|
|
this.routeFlag=true; |
|
|
|
}, |
|
|
|
updateData(row){ |
|
|
|
this.dataForm={ |
|
|
|
addId:1, |
|
|
|
site: row.site, |
|
|
|
this.routingData={ |
|
|
|
id:row.id, |
|
|
|
site:row.site, |
|
|
|
codeNo:row.codeNo, |
|
|
|
erpPartNo:row.erpPartNo, |
|
|
|
familyId: row.familyId, |
|
|
|
familyName:row.familyName, |
|
|
|
partDesc:row.partDesc, |
|
|
|
quantity:row.quantity, |
|
|
|
spec:row.spec, |
|
|
|
itemNo:row.itemNo, |
|
|
|
operationDesc:row.operationDesc, |
|
|
|
remark:row.remark, |
|
|
|
username:this.$store.state.user.name, |
|
|
|
} |
|
|
|
this.bomFlag=true; |
|
|
|
this.routeFlag=true; |
|
|
|
}, |
|
|
|
bomSave(){ |
|
|
|
routeSave(){ |
|
|
|
this.$confirm("是否保存信息?", '保存提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
}).then(() => { |
|
|
|
saveBMBom(this.dataForm).then(({data}) => { |
|
|
|
saveBMRoute(this.routingData).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.searchTable(); |
|
|
|
this.bomFlag=false |
|
|
|
this.routeFlag=false |
|
|
|
this.$message.success( '操作成功') |
|
|
|
} else { |
|
|
|
this.$message.error(data.msg) |
|
|
|
} |
|
|
|
}) |
|
|
|
}).catch(() => { |
|
|
|
return |
|
|
|
|
|
|
|
}) |
|
|
|
}, |
|
|
|
erpPartModel(){ |
|
|
|
if(this.dataForm.addId==1){ |
|
|
|
return false |
|
|
|
} |
|
|
|
this.partSearchData={ |
|
|
|
site:this.searchData.site, |
|
|
|
erpPartNo:'', |
|
|
|
familyId:'', |
|
|
|
partDesc:'', |
|
|
|
} |
|
|
|
this.searchPartData(); |
|
|
|
this.partModelFlag=true; |
|
|
|
}, |
|
|
|
choosePart(row){ |
|
|
|
this.dataForm.erpPartNo=row.erpPartNo |
|
|
|
this.dataForm.familyId=row.familyId |
|
|
|
this.dataForm.familyName=row.familyName |
|
|
|
this.dataForm.partDesc=row.partDesc |
|
|
|
this.dataForm.spec=row.spec |
|
|
|
this.partModelFlag=false; |
|
|
|
}, |
|
|
|
|
|
|
|
|
|
|
|
//初始化组件的参数 |
|
|
|
init(inData) { |
|
|
|
if(this.dataForm.codeNo!=null&&this.dataForm.codeNo!=''){ |
|
|
|
@ -548,7 +421,7 @@ |
|
|
|
|
|
|
|
}, |
|
|
|
searchTable(){ |
|
|
|
if(this.searchData.buNo!='DBE'){ |
|
|
|
if(this.searchData.buNo==='RDC'){ |
|
|
|
searchBMRoutingDetail(this.searchData).then(({data}) => { |
|
|
|
if(data.rows.length>0){ |
|
|
|
this.dataForm=data.rows[0] |
|
|
|
@ -584,22 +457,21 @@ |
|
|
|
}) |
|
|
|
|
|
|
|
}else { |
|
|
|
searchBMBom(this.searchData).then(({data}) => { |
|
|
|
searchBMRoute(this.searchData).then(({data}) => { |
|
|
|
this.tableData = data.rows; |
|
|
|
|
|
|
|
}); |
|
|
|
} |
|
|
|
}, |
|
|
|
deleteData(row){ |
|
|
|
this.$confirm(`是否删除这条代理商信息?`, '提示', { |
|
|
|
this.$confirm(`是否删除这条信息?`, '提示', { |
|
|
|
confirmButtonText: '确定', |
|
|
|
cancelButtonText: '取消', |
|
|
|
type: 'warning' |
|
|
|
}).then(() => { |
|
|
|
deleteBMBom(row).then(({data}) => { |
|
|
|
deleteBMRoute(row).then(({data}) => { |
|
|
|
if (data && data.code === 0) { |
|
|
|
this.searchTable(); |
|
|
|
this.bomFlag=false |
|
|
|
this.$message({ |
|
|
|
message: '操作成功', |
|
|
|
type: 'success', |
|
|
|
@ -668,6 +540,7 @@ |
|
|
|
this.dataForm.peEngineerList=JSON.parse(JSON.stringify(this.peEngineerList)); |
|
|
|
this.peEngineerFlag=false |
|
|
|
}, |
|
|
|
|
|
|
|
cqeModal(){ |
|
|
|
if(this.ifDisableFlag){ |
|
|
|
return false |
|
|
|
|