SmartStorage/pages/codeReceive/codeReceive.vue

242 lines
5.0 KiB
Vue

<template>
<view>
<view class="form-area">
<view class="upper-ipt">
<uni-easyinput suffixIcon="search" v-model="codeVal" placeholder="请输入编码"
@iconClick="searchCode"></uni-easyinput>
</view>
<view class="info-area" v-for="(item, index) in infoList" :key="index" v-show="infoList.length != 0"
@click="actionSheetFn(item)">
<view>
<h4>类型名称</h4>
<span>{{ item.typeName }}</span>
</view>
<view>
<h4>规格型号</h4>
<span>{{ item.typeCode }}</span>
</view>
<view>
<h4>设备编码</h4>
<span>{{ item.maCode }}</span>
</view>
<view>
<h4>设备状态</h4>
<span>{{ item.sdStatus }}</span>
</view>
<!-- <view>
<h4>设备状态</h4>
<span>{{ item.maStatusName }}</span>
</view>
<view>
<h4>机具编码</h4>
<span>{{ item.maCode }}</span>
</view>
<view>
<h4>出库数量</h4>
<span>1</span>
</view> -->
</view>
<view class="sub-btn" v-show="infoList.length != 0" @click="outStore">
接收
</view>
</view>
</view>
</template>
<script>
export default {
data() {
return {
codeVal: '',
typeId: '',
num: '',
parentId: '',
infoList: '',
subList: {},
manageType:'',
createBy:''
}
},
methods: {
searchCode() {
let that = this
that.infoList = []
console.log(that.codeVal);
// 根据maId获取设备详情
that.$api.backMaterialReceive.backReceiveCodeQuery({
maCode: that.codeVal
}, null).then(res => {
console.log(res);
if (res.data.data.length == 0) {
uni.showToast({
icon: 'none',
title: '未查询到设备数据!'
})
} else {
that.infoList = res.data.data
}
}).catch(err => {
console.log(err);
})
},
outStore() {
let that = this
console.log(that.infoList);
/* if (this.infoList.typeId != this.typeId) {
uni.showToast({
icon: 'none',
title: '编码与机具类型不匹配!'
})
} else { */
that.subList = {
parentId: that.parentId,
typeId: that.typeId,
maId: that.infoList[0].maId,
outNum: 1,
companyId: uni.getStorageSync('userInfo').sysUser.companyId
}
console.log(that.subList);
// }
// 提交编码出库申请
that.$api.fetchMaterialOutStore.subOutStore(that.subList, null).then(res => {
console.log(res);
if (res.data.code == 200) {
uni.showToast({
icon: 'none',
title: res.data.msg,
success: () => {
uni.navigateBack()
}
})
} else {
uni.showToast({
icon: 'none',
title: res.data.msg
})
}
}).catch(err => {
console.log(err);
})
},
actionSheetFn(item) {
const that = this
uni.showActionSheet({
itemList: ['合格', '待修', '待报废'],
itemColor: '#333',
success: function(res) {
// console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
let type = res.tapIndex + 1
const arrList = [{
"parentId": that.parentId,
"typeId": that.typeId,
"backNum": "1",
"backStatus": type,
"manageType": that.manageType,
"createBy": that.createBy,
"maId": item.maId
}]
const params = {
taskId: that.taskId,
arr: arrList
}
// 提交编码出库申请
that.$api.backMaterialReceive.backMaterialSetCodeBack(params, null).then(res => {
console.log(res);
if (res.data.code == 200) {
uni.showToast({
icon: 'none',
title: res.data.msg,
})
that.searchCode()
} else {
uni.showToast({
icon: 'none',
title: res.data.msg
})
}
}).catch(err => {
console.log(err);
})
},
fail: function(res) {
console.log(res.errMsg);
}
});
}
},
onLoad(params) {
console.log("init",params);
this.typeId = params.typeId
this.num = params.num
this.parentId = params.parentId
this.manageType = params.manageType
this.createBy=params.userId
this.taskId = params.taskId
}
}
</script>
<style lang="scss">
.form-area {
width: 100%;
margin: 40rpx auto;
.upper-ipt {
width: 90%;
display: flex;
align-items: center;
margin-bottom: 30rpx;
margin: 0 auto;
}
.info-area {
display: flex;
flex-direction: column;
width: 90%;
margin: 0 auto;
view {
margin-bottom: 25rpx;
display: flex;
align-items: center;
h4 {
width: 35%;
font-weight: normal;
font-size: 14px;
color: #989898;
}
span {
font-size: 14px;
}
}
&::after{
display: block;
content: "";
width: 750rpx;
height: 1px;
background-color: #d2d2d2;
margin-left: -5%;
margin-bottom: 12px;
}
}
.sub-btn {
width: 80%;
margin: 30rpx auto;
box-sizing: border-box;
padding: 15rpx 0;
background-color: #0189FC;
color: #fff;
display: flex;
justify-content: center;
align-items: center;
border-radius: 40rpx;
}
}
</style>