This commit is contained in:
shijing 2024-01-22 13:45:17 +08:00
commit 5538f8354c
1 changed files with 26 additions and 23 deletions

View File

@ -67,28 +67,32 @@
</el-col>
<el-col :md="12" :sm="24">
<el-form-item label="组合件" prop="is_assemb">
<el-switch v-model="form.is_assemb"/>
<el-button v-if="form.is_assemb" type="primary" icon="el-icon-plus" style="margin-left: 20px;" @click="addComponent"></el-button>
<el-switch v-model="form.is_assemb" />
<el-button v-if="form.is_assemb" type="primary" icon="el-icon-plus" style="margin-left: 20px;"
@click="addComponent"></el-button>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="form.is_assemb">
<template v-for="(item,$index) in componentList" :key="item.id">
<template v-for="(item, $index) in componentList" :key="item.id">
<el-col :md="11" :sm="24">
<el-form-item label="物料名称">
<el-select v-model="item.id" placeholder="物料名称" clearable style="width:100%">
<el-option v-for="item in materialOptions" :key="item.id" :label="item.name" :value="item.id" />
</el-select>
<el-option v-for="item in materialOptions" :key="item.id" :label="item.full_name" :value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :md="11" :sm="24">
<el-form-item label="数量">
<el-input-number v-model="item.count" controls-position="right" placeholder="数量" clearable style="width:100%"></el-input-number>
<el-input-number v-model="item.count" controls-position="right" placeholder="数量" clearable
style="width:100%"></el-input-number>
</el-form-item>
</el-col>
<el-col :md="2">
<div style="text-align: center;">
<el-icon class="deleteIcons" @click="delComponent($index)"><CircleCloseFilled /></el-icon>
<el-icon class="deleteIcons" @click="delComponent($index)">
<CircleCloseFilled />
</el-icon>
</div>
</el-col>
</template>
@ -138,8 +142,8 @@ export default {
materialOptions: [],
setFiltersVisible: false,
processOptions: [],
componentList:[
{id:'',count:1}
componentList: [
{ id: '', count: 1 }
],
};
},
@ -166,8 +170,8 @@ export default {
query.is_hidden = false;
this.$API.mtm.material.list.req(query).then(res => {
that.materialOptions = [];
res.forEach(item=>{
item.label = item.name+'—'+item.specification+'/'+item.model;
res.forEach(item => {
item.label = item.name + '—' + item.specification + '/' + item.model;
})
that.materialOptions = res;
})
@ -181,9 +185,9 @@ export default {
if (valid) {
this.isSaveing = true;
this.form.brothers = this.brothers;
if(this.form.is_assemb){
if (this.form.is_assemb) {
let obj = {};
this.componentList.forEach(item=>{
this.componentList.forEach(item => {
obj[item.id] = item.count;
})
this.form.components = obj;
@ -216,24 +220,24 @@ export default {
Object.assign(this.form, data);
this.brothers = data.brothers;
let arr = [];
for(let key in data.components){
for (let key in data.components) {
let obj = {};
obj.id=key;
obj.id = key;
obj.count = data.components[key]
arr.push(obj)
}
this.componentList = arr;
this.getMaterial(data.type)
},
addComponent(){
addComponent() {
let obj = {};
obj.id='';
obj.id = '';
obj.count = 1;
this.componentList.push(obj)
},
delComponent(index){
this.componentList.splice(index,1);
console.log('this.componentList:',this.componentList);
delComponent(index) {
this.componentList.splice(index, 1);
console.log('this.componentList:', this.componentList);
},
//
setFilters(filters) {
@ -244,10 +248,9 @@ export default {
};
</script>
<style>
.deleteIcons{
.deleteIcons {
color: #f56c6c;
font-size: 25px;
line-height: 34px;
height: 34px;
}
</style>
}</style>