Browse Source

物料关联产线

langfang-develop
liwei 3 years ago
parent
commit
0c0bd0bea2
3 changed files with 136 additions and 7 deletions
  1. +20
    -2
      src/api/system/part.js
  2. +90
    -0
      src/views/plant/material/part/associatedStation.vue
  3. +26
    -5
      src/views/plant/material/part/index.vue

+ 20
- 2
src/api/system/part.js View File

@ -53,11 +53,11 @@ export function getAttributeList (query) {
}
// 查询产线数据
export function getWorklineList (query) {
export function getWorklineList (params) {
return request({
url: '/admin/base/workline/query',
method: 'get',
params: query
params
})
}
@ -76,4 +76,22 @@ export function getProjectList (query) {
method: 'get',
params: query
})
}
// 绑定产线
export function artworklinelst (data) {
return request({
url: '/admin/base/artworklinelst/save',
method: 'post',
data
})
}
// 获取已绑定产线
export function artworklinelstQuery(params){
return request({
url: '/admin/base/artworklinelst/query',
method: 'get',
params
})
}

+ 90
- 0
src/views/plant/material/part/associatedStation.vue View File

@ -0,0 +1,90 @@
<template>
<el-dialog
title="关联工位"
visible
width="540px"
:before-close="handleClose"
>
<el-transfer
v-model="value"
:props="{
key: 'WorkLine-WorkLineid',
label: 'Descr'
}"
:titles="['产线列表', '已选产线']"
:data="data">
</el-transfer>
<span slot="footer" class="dialog-footer">
<el-button @click="handleClose"> </el-button>
<el-button type="primary" @click="artworklinelst"> </el-button>
</span>
</el-dialog>
</template>
<script>
import {getWorklineList, artworklinelst, artworklinelstQuery} from '@/api/system/part'
export default {
props:{
item:{
default:{}
}
},
data() {
return {
data: [],
value: []
};
},
methods:{
// 线
getWorklineList(){
getWorklineList().then(({data=[]})=>{
this.data=data.map(e=>{
e.Descr=e['WorkLine-WorkLineid']+'-'+e['WorkLine-Descr'];
return e;
});
})
},
// 线
artworklinelst(){
artworklinelst({
"artId": this.item['Article-ArtId'],
"artWorkLineLstLi": this.value.map(e=>{
return {
"ArtWorkLineLst-WorkLineId": e
}
})
}).then(({code})=>{
if(code==200){
this.$emit('setIsAssociatedStation', {});
this.msgSuccess('绑定成功');
}
})
},
// 线
artworklinelstQuery(){
artworklinelstQuery({
artId:this.item['Article-ArtId']
}).then(({data=[]})=>{
this.value=data.map(e=>{
return e['ArtWorkLineLst-WorkLineId']
})
})
},
//
handleClose(){
this.$emit('setIsAssociatedStation', {});
}
},
created(){
this.getWorklineList();
},
mounted(){
this.artworklinelstQuery();
}
};
</script>
<style lang="scss" scoped>
/deep/ .el-checkbox{
width: 100%;
}
</style>

src/views/plant/material/part.vue → src/views/plant/material/part/index.vue View File

@ -29,7 +29,7 @@
<span v-else>{{ scope.row[item] }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="130" fixed="right">
<el-table-column label="操作" align="center" width="210" fixed="right">
<template slot-scope="scope">
<el-button
size="mini"
@ -37,6 +37,13 @@
icon="el-icon-edit"
@click="handleUpdate(scope.row)"
>修改</el-button>
<el-button
size="mini"
type="text"
icon="el-icon-edit"
:disabled="scope.row['Article-ArtSpec1'] != 'FINISHED' && scope.row['Article-ArtSpec1'] != 'VIRTUAL'"
@click="setIsAssociatedStation(scope.row)"
>产线关联</el-button>
<el-button
size="mini"
type="text"
@ -78,8 +85,7 @@
</el-col>
<!-- </el-row>
<el-row> -->
<el-col :span="12">
<!-- 产线ID -->
<!-- <el-col :span="12">
<el-form-item :label="getColumnName('Article-PlanResourceId')" prop="Article-PlanResourceId">
<el-select v-model="form['Article-PlanResourceId']" filterable placeholder="请选择" style="width:100%;">
<el-option
@ -92,7 +98,6 @@
</el-form-item>
</el-col>
<el-col :span="12">
<!-- 产线ID -->
<el-form-item :label="getColumnName('Article-UsedResourceId')" prop="Article-UsedResourceId">
<el-select v-model="form['Article-UsedResourceId']" filterable placeholder="请选择" style="width:100%;">
<el-option
@ -103,7 +108,7 @@
/>
</el-select>
</el-form-item>
</el-col>
</el-col> -->
<el-col :span="12">
<!-- 描述1 -->
<el-form-item :label="getColumnName('Article-Descr1')">
@ -249,10 +254,16 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<AssociatedStation
v-if="isAssociatedStation"
:item="item"
@setIsAssociatedStation="setIsAssociatedStation"
/>
</div>
</template>
<script>
import AssociatedStation from './associatedStation.vue'
import {
getArticleList,
getArticle,
@ -267,6 +278,9 @@ import {
import { getWorkshopList } from '@/common/workshop'
export default {
name: 'MaterialPart',
components:{
AssociatedStation
},
data() {
return {
tableHeight: 300,
@ -326,6 +340,8 @@ export default {
]
},
artSpecList:[], //
isAssociatedStation: false, // 线
item:{}, //
}
},
created() {
@ -343,6 +359,11 @@ export default {
})
},
methods: {
// 线
setIsAssociatedStation(item){
this.item=item;
this.isAssociatedStation=!this.isAssociatedStation
},
//
artSpec1Text(value){
const item=this.artSpecList.find(e=> e['stdeftab-stdeftyp'] == value);

Loading…
Cancel
Save