<template>
|
<view class="wrap">
|
<scroll-view class="scroll-list proudct-in-list" scroll-y="true">
|
<u-cell-group class="list proudct-in-list-cell" :border="false">
|
<u-card :title="item.partNo" :sub-title="item.partNo" v-for="(item, index) in list" :key="item.id"
|
:index="item.id" :showHead="showCardHead">
|
<view slot="body">
|
<view class="item u-border-bottom">
|
<view>
|
<view style="text-align: right;">
|
<u-button v-show="item.id==null" type="success" text="保存" size="mini"
|
@click.stop="saveProductIn(item)">保存</u-button>
|
<u-button v-show="item.id!=null" type="primary" text="更新" size="mini"
|
@click.stop="updateProductIn(item)">更新</u-button>
|
<u-button type="error" text="删除" size="mini" :customStyle="{marginLeft:'20rpx'}"
|
@click.stop="deleteProductIn(index,item)">删除</u-button>
|
</view>
|
</view>
|
<view>
|
<view class="row-list">
|
<u-row justify="space-between">
|
<u-col span="4">
|
<span class="span-lable">报工单号</span>
|
</u-col>
|
<u-col span="8">
|
<view>
|
<span>{{item.productNo}}</span>
|
</view>
|
</u-col>
|
</u-row>
|
</view>
|
<view class="row-list">
|
<u-row justify="space-between">
|
<u-col span="4">
|
<span class="span-lable">SN号</span>
|
</u-col>
|
<u-col span="8">
|
<view>
|
<span>{{item.partBatchNo}}</span>
|
|
</view>
|
</u-col>
|
</u-row>
|
</view>
|
|
<view class="row-list">
|
<u-row justify="space-between">
|
<u-col span="4">
|
<span class="span-lable">零件编号</span>
|
</u-col>
|
<u-col span="8">
|
<view>
|
<span>{{item.partNo}}</span>
|
</view>
|
</u-col>
|
</u-row>
|
</view>
|
<view class="row-list">
|
<u-row justify="space-between">
|
<u-col span="4">
|
<span class="span-lable">零件名称</span>
|
</u-col>
|
<u-col span="8">
|
<view>
|
<span>{{item.partName}}</span>
|
</view>
|
</u-col>
|
</u-row>
|
</view>
|
<view class="row-list">
|
<u-row justify="space-between">
|
<u-col span="4">
|
<span class="span-lable">IFS批次号</span>
|
</u-col>
|
<u-col span="8">
|
<view>
|
<span>{{item.ifsBatchNo}}</span>
|
</view>
|
</u-col>
|
</u-row>
|
</view>
|
<view class="row-list">
|
<u-row justify="space-between">
|
<u-col span="4">
|
<span class="span-lable">投入数量</span>
|
</u-col>
|
<u-col span="8">
|
<view>
|
<u-input class="custom-edit-input" v-model="item.inputQuantity"
|
type="text" :clearable=false height="50">
|
</u-input>
|
</view>
|
</u-col>
|
</u-row>
|
</view>
|
<view class="row-list">
|
<u-row justify="space-between">
|
<u-col span="4">
|
<span class="span-lable">单位</span>
|
</u-col>
|
<u-col span="8">
|
<view>
|
|
<span>{{item.unit}}</span>
|
</view>
|
</u-col>
|
</u-row>
|
</view>
|
</view>
|
</view>
|
</view>
|
|
</u-card>
|
</u-cell-group>
|
</scroll-view>
|
<view class="view-fixed-two" style="width: 750rpx;text-align: center;">
|
<u-button type="success" text="投入" size="medium" :customStyle="{borderRadius:'0rpx'}" @click="openFeed()">投入
|
</u-button>
|
</view>
|
</view>
|
</template>
|
<script>
|
export default {
|
data() {
|
return {
|
showCardHead: false,
|
list: [],
|
currId: null,
|
workstationId: null,
|
productMainId: null,
|
productNo: null
|
};
|
},
|
onLoad(params) {
|
if (params && params.id !== "undefined") {
|
this.currId = params.id
|
this.workstationId = params.workstationId
|
this.productMainId = params.productMainId
|
this.productNo = params.productNo
|
this.loadList();
|
}
|
},
|
onShow() {
|
|
},
|
methods: {
|
updateProductIn(item) {
|
if (item.inputQuantity != null && item.inputQuantity.trim != '') {
|
let updateParam = {
|
id: item.id,
|
inputQuantity: item.inputQuantity
|
}
|
|
this.$u.api.outputRegister.updateProductInput(updateParam).then(res => {
|
let _code = res.code
|
let _data = res.data
|
let _msg = res.msg
|
if (_code === 0) {
|
this.$u.toast(`更新投入成功`);
|
this.search('')
|
} else {
|
this.$u.toast('更新投入失败');
|
}
|
|
});
|
} else {
|
this.$u.toast('投入不能为空');
|
}
|
},
|
deleteProductIn(index, item) {
|
if (item.id != null) {
|
// 则需调用后台删除并删除前端投入
|
let delParam = {
|
id: item.id
|
}
|
this.$u.api.outputRegister.deleteProductInputById(delParam).then(res => {
|
let _code = res.code
|
let _data = res.data
|
let _msg = res.msg
|
if (_code === 0) {
|
this.list.splice(index, 1)
|
this.$u.toast('删除投入成功');
|
this.search('')
|
} else {
|
this.$u.toast('删除投入失败');
|
}
|
});
|
} else {
|
// 删除前端投入
|
this.list.splice(index, 1)
|
this.$message.success('删除投入成功')
|
}
|
},
|
openFeed() {
|
uni.navigateTo({
|
url: '/pages/product/outputRegister/workstationFeedList?workstationId=' + this.workstationId,
|
})
|
},
|
selectWorkstationFeed(selectedFeedList) {
|
if (selectedFeedList != null && selectedFeedList.length > 0) {
|
for (let i = 0; i < selectedFeedList.length; i++) {
|
this.addProductIn(selectedFeedList[i])
|
}
|
}
|
},
|
addProductIn(inPartInfo) {
|
let productInput = {}
|
productInput.id = null
|
productInput.stockId = inPartInfo.id
|
productInput.inputQuantity = null
|
productInput.productMainId = this.productMainId
|
productInput.productNo = this.productNo
|
productInput.partNo = inPartInfo.partNo
|
productInput.partName = inPartInfo.partName
|
productInput.partDescription = null
|
productInput.unit = inPartInfo.unit
|
productInput.partBatchNo = inPartInfo.partBatchNo
|
productInput.ifsBatchNo = inPartInfo.ifsBatchNo
|
this.list.push(productInput)
|
},
|
saveProductIn(item) {
|
if (item.inputQuantity != null && item.inputQuantity.trim != '') {
|
let saveParam = {
|
stockId: item.stockId,
|
productMainId: item.productMainId,
|
inputQuantity: item.inputQuantity
|
}
|
this.$u.api.outputRegister.saveProductInput(saveParam).then(res => {
|
let _code = res.code
|
let _data = res.data
|
let _msg = res.msg
|
//保存明细成功时
|
if (_code === 0) {
|
this.$u.toast('添加投入成功');
|
item.id = _data
|
this.search('')
|
} else {
|
this.$u.toast('添加投入失败');
|
}
|
});
|
} else {
|
this.$u.toast('投入不能为空');
|
}
|
},
|
loadList() {
|
let queryParam = {
|
id: this.currId
|
}
|
this.$u.api.outputRegister.queryProductMainDetail(queryParam).then(res => {
|
let _code = res.code
|
let _data = res.data
|
let _msg = res.msg
|
if (_code === 0) {
|
this.list = _data.productInputList
|
} else {
|
this.list = []
|
}
|
});
|
},
|
search(value) {
|
this.list = [];
|
this.$nextTick(() => {
|
this.loadList();
|
})
|
}
|
}
|
};
|
</script>
|
<style lang="scss">
|
.custom-edit-input {
|
border-bottom: 2rpx solid #F8F8F8;
|
}
|
|
.list .content {
|
font-size: 12px;
|
background-color: #efefef;
|
box-sizing: border-box;
|
border-radius: 14rpx;
|
margin: 8px;
|
padding: 5px 10px;
|
box-shadow: none;
|
}
|
|
.proudct-in-list {
|
background-color: #F8F8F8;
|
}
|
|
.proudct-in-list-cell {
|
::v-deep .u-cell-item-box {
|
background-color: #F8F8F8;
|
}
|
}
|
</style>
|