6 changed files with 583 additions and 22 deletions
-
3src/api/sampleManagement/technicalSpecificationList.js
-
17src/views/modules/common/Chooselist.vue
-
45src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_bom.vue
-
3src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_packageInfo.vue
-
520src/views/modules/sampleManagement/technicalSpecificationDetail/com_bm_routing.vue
-
17src/views/modules/sampleManagement/technicalSpecificationDetail/technicalSpecificationDetail.vue
@ -0,0 +1,520 @@ |
|||
<template> |
|||
<div class="mod-config"> |
|||
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;" v-if="searchData.buNo!='DBE'"> |
|||
<el-row :gutter="20" style="margin-top: 60px"> |
|||
<el-col :span="24"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'过程及过程控制/Process and Production Control'"> |
|||
<el-input |
|||
type="textarea" |
|||
v-model="dataForm.processDetail " |
|||
:rows="3" |
|||
resize='none' |
|||
maxlength="255" |
|||
show-word-limit |
|||
:disabled="ifDisableFlag" |
|||
style="height: 60px" disabled> |
|||
</el-input> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
</el-row> |
|||
<el-row :gutter="20" style="margin-top: 60px"> |
|||
<el-col :span="6"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'是否提供胶条/Supply Adhesive Tape'"> |
|||
<el-select clearable v-model="dataForm.supplyAdhesiveTape" :disabled="ifDisableFlag"> |
|||
<el-option label="Yes" value="Y"></el-option> |
|||
<el-option label="No" value="N"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
<el-col :span="18"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'图稿/Drawing'"> |
|||
<el-input v-model="dataForm.routingDrawing" :disabled="ifDisableFlag" ></el-input> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
</el-row> |
|||
<el-row :gutter="20" > |
|||
<el-col :span="6"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'图稿/Drawing Revison'"> |
|||
<el-input v-model="dataForm.drawingRevison" :disabled="ifDisableFlag" ></el-input> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
<el-col :span="6"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'图稿日期/Drawing Date'"> |
|||
<el-date-picker |
|||
v-model="searchData.drawingDate" |
|||
type="date" |
|||
value-format="yyyy-MM-dd" |
|||
:disabled="ifDisableFlag" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
</el-row> |
|||
<el-row :gutter="20" style="margin-top: 60px"> |
|||
<el-col :span="24"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'作业说明/WI'"> |
|||
<el-input |
|||
type="textarea" |
|||
v-model="dataForm.workInfo" |
|||
:rows="3" |
|||
resize='none' |
|||
maxlength="255" |
|||
show-word-limit |
|||
:disabled="ifDisableFlag" |
|||
style="height: 60px" disabled> |
|||
</el-input> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
</el-row> |
|||
<el-row :gutter="20" style="margin-top: 60px"> |
|||
<el-col :span="6"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'作业说明顾本/WI Revison'"> |
|||
<el-input v-model="dataForm.wiRevison" :disabled="ifDisableFlag" ></el-input> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
<el-col :span="6"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'图稿/Drawing'"> |
|||
<el-input v-model="dataForm.routingDrawing" :disabled="ifDisableFlag" ></el-input> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
</el-row> |
|||
<el-row :gutter="20" > |
|||
<el-col :span="6"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'选择审查工程师/Select ME Review Engineer'"> |
|||
<el-input v-model="dataForm.reviewEngineer" :disabled="ifDisableFlag" ></el-input> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
<el-col :span="6"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'选择PE工程师/Select PE Engineer'"> |
|||
<el-input v-model="dataForm.peEngineer" :disabled="ifDisableFlag" ></el-input> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
<el-col :span="6"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'选择CQE/Select CQE'"> |
|||
<el-input v-model="dataForm.cqe" :disabled="ifDisableFlag" ></el-input> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
</el-row> |
|||
<el-row :gutter="20" > |
|||
<el-col :span="24"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'备注/Remark'"> |
|||
<el-input |
|||
type="textarea" |
|||
v-model="dataForm.routingRemark" |
|||
:rows="3" |
|||
resize='none' |
|||
maxlength="255" |
|||
show-word-limit |
|||
:disabled="ifDisableFlag" |
|||
style="height: 60px" disabled> |
|||
</el-input> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
</el-row> |
|||
<el-row :gutter="20" style="margin-top: 60px"> |
|||
<el-col :span="24"><div class="grid-content bg-purple"> |
|||
<el-form-item :label="'Action'"> |
|||
<el-input |
|||
type="textarea" |
|||
v-model="dataForm.routingAction" |
|||
:rows="3" |
|||
resize='none' |
|||
maxlength="255" |
|||
show-word-limit |
|||
:disabled="ifDisableFlag" |
|||
style="height: 60px" disabled> |
|||
</el-input> |
|||
</el-form-item> |
|||
</div></el-col> |
|||
</el-row> |
|||
</el-form> |
|||
|
|||
<el-form label-position="top" style="margin-top: 1px; margin-left: 0px;" v-if="searchData.buNo==='DBE'"> |
|||
<el-form-item > |
|||
<el-button type="primary" @click="searchTable()" >刷新</el-button> |
|||
<el-button type="primary" @click="newData()" v-if="!ifDisableFlag">新增</el-button> |
|||
</el-form-item> |
|||
|
|||
<el-table |
|||
:height="height" |
|||
:data="tableData" |
|||
border |
|||
style="width: 100%"> |
|||
<el-table-column |
|||
prop="" |
|||
header-align="center" |
|||
align="center" |
|||
min-width="30" |
|||
v-if="!ifDisableFlag" |
|||
label="操作"> |
|||
<template slot-scope="scope"> |
|||
<a type="text" size="small" @click="updateData(scope.row)">编辑</a> |
|||
<a type="text" size="small" @click="deleteData(scope.row)">删除</a> |
|||
</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" |
|||
header-align="center" |
|||
align="left" |
|||
min-width="60" |
|||
label="数量"> |
|||
</el-table-column> |
|||
<el-table-column |
|||
prop="spec" |
|||
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"> |
|||
</el-table-column> |
|||
</el-table> |
|||
</el-form> |
|||
|
|||
<el-dialog title="BOM" :close-on-click-modal="false" v-drag :visible.sync="bomFlag" width="500px"> |
|||
<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> |
|||
<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> |
|||
</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> |
|||
</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> |
|||
|
|||
<Chooselist ref="baseList" @getBaseData="getBaseData"></Chooselist> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import { |
|||
searchBMBom, |
|||
saveBMBom, |
|||
searchPartDataForSelect, |
|||
deleteBMBom, |
|||
} from "@/api/sampleManagement/technicalSpecificationList.js" |
|||
import Chooselist from '@/views/modules/common/Chooselist' |
|||
export default { |
|||
components: { |
|||
Chooselist |
|||
}, |
|||
|
|||
data() { |
|||
return { |
|||
partModelFlag:false, |
|||
bomFlag:false, |
|||
height:200, |
|||
searchData: { |
|||
site: '', |
|||
username: this.$store.state.user.name, |
|||
codeNo: '', |
|||
buNo:'', |
|||
}, |
|||
tableData:'', |
|||
partSearchData:{ |
|||
site:'', |
|||
erpPartNo:'', |
|||
familyId:'', |
|||
partDesc:'', |
|||
}, |
|||
partList:[], |
|||
ifDisableFlag:false, |
|||
dataForm:{ |
|||
addId:'', |
|||
site: '', |
|||
codeNo:'', |
|||
erpPartNo:'', |
|||
familyId: '', |
|||
familyName:'', |
|||
partDesc:'', |
|||
quantity:'', |
|||
spec:'', |
|||
remark:'', |
|||
username:this.$store.state.user.name, |
|||
}, |
|||
dataRole: { |
|||
partTypeDesc: [ |
|||
{ |
|||
required: true, |
|||
message: ' ', |
|||
trigger: 'change' |
|||
} |
|||
], |
|||
partName: [ |
|||
{ |
|||
required: true, |
|||
message: ' ', |
|||
trigger: 'change' |
|||
} |
|||
], |
|||
} |
|||
} |
|||
}, |
|||
mounted () { |
|||
this.$nextTick(() => { |
|||
this.height = window.innerHeight - 100 |
|||
}) |
|||
}, |
|||
methods: { |
|||
// 获取基础数据列表S |
|||
getBaseList (val, type) { |
|||
this.tagNo = val |
|||
this.tagNo1 = type |
|||
this.$nextTick(() => { |
|||
let strVal = '' |
|||
if (val === 1013) { |
|||
if(type==1) { |
|||
strVal = this.dataForm.partType |
|||
} |
|||
} |
|||
this.$refs.baseList.init(val, strVal) |
|||
}) |
|||
}, |
|||
/* 列表方法的回调 */ |
|||
getBaseData (val) { |
|||
if (this.tagNo === 1013) { |
|||
if(this.tagNo1==1) { |
|||
this.dataForm.partType = val.Base_id |
|||
this.dataForm.partTypeDesc = val.Base_desc |
|||
} |
|||
} |
|||
}, |
|||
searchPartData(){ |
|||
searchPartDataForSelect(this.partSearchData).then(({data}) => { |
|||
this.partList = data.rows; |
|||
|
|||
}); |
|||
}, |
|||
newData(){ |
|||
this.dataForm={ |
|||
addId:0, |
|||
site: this.searchData.site, |
|||
codeNo:this.searchData.codeNo, |
|||
erpPartNo:'', |
|||
familyId: '', |
|||
familyName:'', |
|||
partDesc:'', |
|||
quantity:'', |
|||
spec:'', |
|||
remark:'', |
|||
username:this.$store.state.user.name, |
|||
} |
|||
this.bomFlag=true; |
|||
}, |
|||
updateData(row){ |
|||
this.dataForm={ |
|||
addId:1, |
|||
site: row.site, |
|||
codeNo:row.codeNo, |
|||
erpPartNo:row.erpPartNo, |
|||
familyId: row.familyId, |
|||
familyName:row.familyName, |
|||
partDesc:row.partDesc, |
|||
quantity:row.quantity, |
|||
spec:row.spec, |
|||
remark:row.remark, |
|||
username:this.$store.state.user.name, |
|||
} |
|||
this.bomFlag=true; |
|||
}, |
|||
bomSave(){ |
|||
this.$confirm("是否保存信息?", '保存提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
}).then(() => { |
|||
saveBMBom(this.dataForm).then(({data}) => { |
|||
if (data && data.code === 0) { |
|||
this.searchTable(); |
|||
this.bomFlag=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!=''){ |
|||
return false; |
|||
} |
|||
//初始化参数 |
|||
this.searchData = JSON.parse(JSON.stringify(inData)); |
|||
//刷新表格 |
|||
this.searchTable(); |
|||
|
|||
}, |
|||
searchTable(){ |
|||
searchBMBom(this.searchData).then(({data}) => { |
|||
this.tableData = data.rows; |
|||
|
|||
}); |
|||
}, |
|||
deleteData(row){ |
|||
this.$confirm(`是否删除这条代理商信息?`, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
deleteBMBom(row).then(({data}) => { |
|||
if (data && data.code === 0) { |
|||
this.searchTable(); |
|||
this.bomFlag=false |
|||
this.$message({ |
|||
message: '操作成功', |
|||
type: 'success', |
|||
duration: 1500, |
|||
onClose: () => {} |
|||
}) |
|||
} else { |
|||
this.$alert(data.msg, '错误', { |
|||
confirmButtonText: '确定' |
|||
}) |
|||
} |
|||
}) |
|||
}).catch(() => { |
|||
}) |
|||
}, |
|||
}, |
|||
} |
|||
</script> |
|||
|
|||
<style scoped> |
|||
|
|||
</style> |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue