349 lines
11 KiB
Vue
349 lines
11 KiB
Vue
<template>
|
|
<view>
|
|
<view class="form-area">
|
|
<view class="upper-ipt">
|
|
<uni-easyinput
|
|
suffixIcon="search"
|
|
v-model="transCode"
|
|
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.typeModelName }}</span>
|
|
</view>
|
|
<view>
|
|
<h4>设备编码</h4>
|
|
<span>{{ item.maCode }}</span>
|
|
</view>
|
|
<view>
|
|
<h4>设备状态</h4>
|
|
<span>{{ item.maStatus }}</span>
|
|
</view>
|
|
<!-- <uni-data-checkbox v-model="item.selectStatus" :localdata="fixRange"></uni-data-checkbox> -->
|
|
<!-- <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
|
|
style="width: 90%; margin: 15rpx auto;"
|
|
v-show="infoList.length != 0"
|
|
>
|
|
<uni-data-checkbox v-model="fixVal" :localdata="fixRange"></uni-data-checkbox>
|
|
</view> -->
|
|
<!-- <view
|
|
class="sub-btn"
|
|
v-show="infoList.length != 0"
|
|
@click="outStore"
|
|
>
|
|
接收
|
|
</view> -->
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
typeId: "",
|
|
num: "",
|
|
parentId: "",
|
|
fixVal: "",
|
|
fixRange: [
|
|
{
|
|
text: "合格",
|
|
value: "1",
|
|
},
|
|
{
|
|
text: "待修",
|
|
value: "2",
|
|
},
|
|
{
|
|
text: "待报废",
|
|
value: "3",
|
|
},
|
|
],
|
|
infoList: [],
|
|
subList: {},
|
|
manageType: "",
|
|
createBy: "",
|
|
updatedSubList: "",
|
|
transCode: "",
|
|
taskId: "",
|
|
agreementId: "",
|
|
searchParams: {},
|
|
};
|
|
},
|
|
methods: {
|
|
searchCode() {
|
|
let that = this;
|
|
that.infoList = [];
|
|
console.log(that.transCode);
|
|
// 根据maId获取设备详情
|
|
that.$api.backMaterialReceive
|
|
.searchByCode({
|
|
maCode: that.transCode,
|
|
typeId: this.typeId,
|
|
agreementId: this.agreementId,
|
|
})
|
|
.then((res) => {
|
|
console.log(res);
|
|
if (res.data.data.length == 0) {
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: "未查询到设备数据!",
|
|
});
|
|
} else {
|
|
for (let i = 0; i < res.data.data.length; i++) {
|
|
res.data.data[i].selectStatus = "";
|
|
}
|
|
that.infoList = res.data.data;
|
|
console.log(that.infoList);
|
|
}
|
|
})
|
|
.catch((err) => {
|
|
console.log(err);
|
|
});
|
|
},
|
|
outStore() {
|
|
let that = this;
|
|
console.log(that.infoList[0].typeId, this.typeId);
|
|
that.updatedSubList = that.infoList
|
|
.filter((item) => {
|
|
return item.selectStatus != "";
|
|
})
|
|
.map((subItem) => {
|
|
return {
|
|
parentId: that.parentId,
|
|
typeId: that.typeId,
|
|
backNum: "1",
|
|
backStatus: subItem["selectStatus"],
|
|
manageType: that.manageType,
|
|
createBy: that.createBy,
|
|
maId: subItem["maId"],
|
|
};
|
|
});
|
|
console.log(that.updatedSubList);
|
|
if (this.infoList[0].typeId != this.typeId) {
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: "机具类型不匹配!",
|
|
});
|
|
} else {
|
|
that.subList = {
|
|
taskId: that.taskId,
|
|
arr: that.updatedSubList,
|
|
/* 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;
|
|
console.log(item);
|
|
uni.showActionSheet({
|
|
itemList: ["合格", "待修", "待报废"],
|
|
itemColor: "#333",
|
|
success: function (res) {
|
|
// console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
|
|
|
|
console.log(res, "合格,维修,报废", res.tapIndex);
|
|
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,
|
|
};
|
|
// console.log("backMaterialReceiveparams", params);
|
|
// // 提交编码出库申请
|
|
that.$api.backMaterialReceive
|
|
.backMaterialSetCodeBack(params)
|
|
.then((res) => {
|
|
console.log(res);
|
|
if (res.data.code == 200) {
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: "操作成功",
|
|
// success: () => {
|
|
// uni.navigateBack();
|
|
// },
|
|
});
|
|
// that.searchCode()
|
|
that.getCodeList();
|
|
if (that.infoList.length == 0) {
|
|
uni.navigateBack();
|
|
}
|
|
} else {
|
|
uni.showToast({
|
|
icon: "none",
|
|
title: res.data.msg,
|
|
});
|
|
}
|
|
})
|
|
.catch((err) => {
|
|
console.log(err);
|
|
});
|
|
},
|
|
fail: function (res) {
|
|
console.log(res.errMsg);
|
|
},
|
|
});
|
|
},
|
|
// 获取列表数据
|
|
getCodeList() {
|
|
this.$api.backMaterialReceive
|
|
.searchCodeDevice(this.searchParams)
|
|
.then((res) => {
|
|
this.infoList = res.data.data.rows;
|
|
});
|
|
},
|
|
},
|
|
onLoad(params) {
|
|
console.log("init", params);
|
|
this.transCode = params.maCode;
|
|
this.typeId = params.modelId;
|
|
this.num = params.num;
|
|
this.parentId = params.id;
|
|
this.manageType = params.manageType;
|
|
this.createBy = params.userId;
|
|
this.taskId = params.taskId;
|
|
this.agreementId = params.agreementId;
|
|
|
|
const paramsNew = {
|
|
pageNum: 1,
|
|
pageSize: 999,
|
|
parentId: params.id,
|
|
taskId: params.taskId,
|
|
typeId: params.modelId,
|
|
agreementId: params.agreementId,
|
|
};
|
|
|
|
this.searchParams = paramsNew;
|
|
|
|
this.getCodeList();
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
.form-area {
|
|
width: 100%;
|
|
margin: 20rpx 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: 20rpx auto;
|
|
// border-bottom: 1px solid #BFC9E7;
|
|
|
|
view {
|
|
display: flex;
|
|
align-items: center;
|
|
box-sizing: border-box;
|
|
padding: 10rpx;
|
|
|
|
h4 {
|
|
width: 25%;
|
|
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;
|
|
}
|
|
}
|
|
|
|
.info-area:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.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>
|