初始化仓库
This commit is contained in:
350
pages/wms/purchase/purchaseDetailRk.vue
Normal file
350
pages/wms/purchase/purchaseDetailRk.vue
Normal file
@@ -0,0 +1,350 @@
|
||||
<template>
|
||||
<view>
|
||||
<uni-collapse>
|
||||
<uni-forms ref="form" :modelValue="formData">
|
||||
<!-- <uni-collapse-item title="明细标签入库" :open="true"> -->
|
||||
<uni-forms-item label="扫描标签" :labelWidth='90' name="purchaseLabelCode">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanBar" @blur="getlabelCode" placeholder='请扫描标签'
|
||||
v-model="purchaseLabelCode" type="text" :focus='true'/>
|
||||
</uni-forms-item>
|
||||
<!-- 标签明细 -->
|
||||
<uni-collapse-item :open="true">
|
||||
<uni-card :is-shadow="false" is-full v-for="(item,index) in formData.wmsCommonInDetailLabelList"
|
||||
:key="index" v-if="total>0">
|
||||
<div><strong>标签码</strong>:{{item.labelCode}}</div>
|
||||
<div><strong>供应商</strong>:{{item.supplierName}}</div>
|
||||
<div><strong>物料编码</strong>:{{item.materialCode}}</div>
|
||||
<div><strong>物料名称</strong>:{{item.materialName}}</div>
|
||||
<div><strong>规格</strong>:{{item.specification}}</div>
|
||||
<div><strong>批号</strong>:{{item.materialBatchNo}}</div>
|
||||
<div><strong>数量</strong>:{{item.number}}</div>
|
||||
<!-- <div><strong>状态</strong>:{{returnStatus(item.status)}}</div> -->
|
||||
<div><strong>状态</strong>:{{dtlStatusFormat(item.status)}}</div>
|
||||
</uni-card>
|
||||
</uni-collapse-item>
|
||||
|
||||
<uni-forms-item label="上架扫码" :labelWidth='90' name="location" style="margin-top:10px">
|
||||
<uni-easyinput suffixIcon="scan" @iconClick="scanLocation" @blur="getWarehouse"
|
||||
placeholder='请扫描库位标签' v-model="locationCode" type="text" />
|
||||
</uni-forms-item>
|
||||
<uni-collapse-item :open="true">
|
||||
<uni-card :is-shadow="false" is-full v-if='warehouseName'>
|
||||
<div><strong>仓库</strong>:{{warehouseName}}</div>
|
||||
<div><strong>库位</strong>:{{showLocationCode}}</div>
|
||||
</uni-card>
|
||||
</uni-collapse-item>
|
||||
|
||||
<u-button type="primary" @click="submitIn">确认入库</u-button>
|
||||
</uni-forms>
|
||||
</uni-collapse>
|
||||
<uni-popup ref="alertDialog" type="dialog">
|
||||
<uni-popup-dialog type="info" cancelText="取消" confirmText="确认" title="确认是否入库" @confirm="dialogConfirm">
|
||||
<div>
|
||||
<div><strong>物料编码</strong>:{{alert.materialCode}}</div>
|
||||
<div><strong>数量</strong>:{{alert.number}}</div>
|
||||
<div><strong>库位</strong>:{{alert.showLocationCode}}</div>
|
||||
</div>
|
||||
</uni-popup-dialog>
|
||||
</uni-popup>
|
||||
</view>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import {
|
||||
listQuality,
|
||||
getQuality,
|
||||
addIn,
|
||||
listReceive,
|
||||
getReceive,
|
||||
getListDetail,
|
||||
updateIn,
|
||||
listIn,
|
||||
getIn,
|
||||
getQualityDetail,
|
||||
getReceiveDetail,
|
||||
getDetailListsBySRM,
|
||||
getListDetailByBL,
|
||||
listSupplier,
|
||||
listPurchaseInDetailLabel,
|
||||
listWarehouse,
|
||||
labelInStock,
|
||||
} from "@/api/wms/purchase.js";
|
||||
import {
|
||||
getConfigKey,
|
||||
} from "@/api/wms/materRequisitiontask";
|
||||
export default {
|
||||
onLoad: function() {},
|
||||
created() {
|
||||
//获取当前客户
|
||||
getConfigKey('wms.warehouse.mode').then(res =>{
|
||||
this.getConfigKey.setkey(res.msg)
|
||||
})
|
||||
},
|
||||
mounted() {
|
||||
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 总条数
|
||||
total: 0,
|
||||
//标识码
|
||||
purchaseLabelCode: null,
|
||||
//库位码
|
||||
locationCode: null,
|
||||
//仓库码
|
||||
showLocationCode: null,
|
||||
//仓库名
|
||||
warehouseName: null,
|
||||
formData: {
|
||||
areaCode: null,
|
||||
shelvesCode: null,
|
||||
storageLocationCode: null,
|
||||
whCode: null,
|
||||
// 采购入库明细标签表格数据
|
||||
wmsCommonInDetailLabelList: [],
|
||||
},
|
||||
//标签码查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 50,
|
||||
labelCode: null,
|
||||
},
|
||||
//仓库查询参数
|
||||
queryParamsCK: {
|
||||
pageNum: 1,
|
||||
pageSize: 50,
|
||||
orderByColumn: "id",
|
||||
isAsc: "desc",
|
||||
warehouseCode: null,
|
||||
},
|
||||
getConfigKey:new classLocationCode(),
|
||||
alert:{
|
||||
materialCode :null,
|
||||
number : null,
|
||||
showLocationCode: null
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
//明细状态
|
||||
dtlStatusFormat(status) {
|
||||
if (status == 1) {
|
||||
return "入库完成";
|
||||
} else if (status == 0) {
|
||||
return "等待入库";
|
||||
} else if (status == 2) {
|
||||
return "入库中";
|
||||
} else {
|
||||
return "等待入库";
|
||||
}
|
||||
},
|
||||
//扫描标签码
|
||||
scanBar() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['barCode', 'qrCode'],
|
||||
success: function(res) {
|
||||
_this.purchaseLabelCode = res.result;
|
||||
_this.getlabelCode();
|
||||
}
|
||||
});
|
||||
},
|
||||
getlabelCode() {
|
||||
this.queryParams.labelCode = this.purchaseLabelCode;
|
||||
this.getList()
|
||||
},
|
||||
//查询标签列表
|
||||
getList() {
|
||||
this.loading = true;
|
||||
//解析扫的条码信息,以,为间隔转换成数组,并取第二个数据为真实需要的信息
|
||||
this.purchaseLabelCode = this.queryParams.labelCode = this.queryParams.labelCode.split(',')[1]
|
||||
listPurchaseInDetailLabel(this.queryParams).then(res => {
|
||||
this.formData.wmsCommonInDetailLabelList = [res.rows[0]];
|
||||
this.total = res.total;
|
||||
this.loading = false;
|
||||
if (this.total == 0) {
|
||||
// console.log("二维码有错");
|
||||
this.$modal.msgError("标签二维码错误");
|
||||
this.purchaseLabelCode = null
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
//扫描库位码
|
||||
scanLocation() {
|
||||
const _this = this;
|
||||
uni.scanCode({
|
||||
scanType: ['barCode', 'qrCode'],
|
||||
success: function(res) {
|
||||
_this.locationCode = res.result;
|
||||
_this.getWarehouse();
|
||||
}
|
||||
});
|
||||
},
|
||||
//仓库码
|
||||
async getWarehouse() {
|
||||
if (this.locationCode == null || this.locationCode == '') {
|
||||
this.$modal.msgError("库位码为空");
|
||||
} else {
|
||||
this.showLocationCode = this.locationCode
|
||||
|
||||
let parts = this.locationCode.split('-');
|
||||
if (parts.length <1 || parts.length > 4) {
|
||||
this.$modal.msgError("库位码格式有误");
|
||||
this.locationCode = null
|
||||
return
|
||||
}
|
||||
parts = this.getConfigKey.getValue(this.locationCode).split('-');
|
||||
// this.formData.whCode = parts[0] || null;
|
||||
this.formData.whCode = await getParts(parts) || null;
|
||||
this.formData.areaCode = parts[1] || null;
|
||||
this.formData.shelvesCode = parts[2] || null;
|
||||
this.formData.storageLocationCode = parts.slice(3).join('-') || null;
|
||||
this.queryParamsCK.warehouseCode = parts[0]
|
||||
this.getlistWarehouse()
|
||||
|
||||
}
|
||||
/**
|
||||
* 根据扫的二维码的长度判断其第一位应该是什么值
|
||||
* @name PZQ
|
||||
* @param {Object} parts 二维码转换的数组
|
||||
*/
|
||||
function getParts(parts){
|
||||
if(parts.length == 4 ){
|
||||
return parts[0] || null;
|
||||
}else {
|
||||
return '0' + parts[0].charAt(0) || null;
|
||||
}
|
||||
}
|
||||
},
|
||||
//查仓库名
|
||||
getlistWarehouse() {
|
||||
// this.formData.location
|
||||
this.loading = true;
|
||||
listWarehouse(this.queryParamsCK).then(res => {
|
||||
this.warehouseName = res.rows[0].warehouseName
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
//重置
|
||||
reset() {
|
||||
// 总条数
|
||||
this.total = 0,
|
||||
//标识码
|
||||
this.purchaseLabelCode = null,
|
||||
//库位码
|
||||
this.locationCode = null,
|
||||
//仓库码
|
||||
this.showLocationCode = null,
|
||||
//仓库名
|
||||
this.warehouseName = null,
|
||||
this.formData = {
|
||||
areaCode: null,
|
||||
shelvesCode: null,
|
||||
storageLocationCode: null,
|
||||
whCode: null,
|
||||
// 采购入库明细标签表格数据
|
||||
wmsCommonInDetailLabelList: [],
|
||||
}
|
||||
//标签码查询参数
|
||||
this.queryParams = {
|
||||
pageNum: 1,
|
||||
pageSize: 50,
|
||||
labelCode: null,
|
||||
}
|
||||
//仓库查询参数
|
||||
this.queryParamsCK = {
|
||||
pageNum: 1,
|
||||
pageSize: 50,
|
||||
orderByColumn: "id",
|
||||
isAsc: "desc",
|
||||
warehouseCode: null,
|
||||
}
|
||||
},
|
||||
//确认入库
|
||||
submitIn() {
|
||||
if(this.formData.wmsCommonInDetailLabelList == null || this.formData.whCode == []){
|
||||
this.$modal.msgError("请扫描标识码");
|
||||
return;
|
||||
}
|
||||
if(this.formData.whCode == null || this.formData.whCode == ''){
|
||||
this.$modal.msgError("请扫描库位码");
|
||||
return;
|
||||
}
|
||||
console.log(this.formData)
|
||||
const {wmsCommonInDetailLabelList} = this.formData
|
||||
const {materialCode,number } = wmsCommonInDetailLabelList[0]
|
||||
// showLocationCode
|
||||
// else
|
||||
//弹框二次确认
|
||||
this.alert = {
|
||||
materialCode,
|
||||
number,
|
||||
showLocationCode:this.showLocationCode
|
||||
}
|
||||
this.$refs.alertDialog.open()
|
||||
return
|
||||
// uni.showModal({
|
||||
// title: '提示',
|
||||
// content: `确定要入库数量为${number}物料编码为${materialCode}到${this.showLocationCode}吗?`,
|
||||
// success: res => {
|
||||
// if (res.confirm) {
|
||||
// labelInStock(this.formData).then(response => {
|
||||
// this.$modal.msgSuccess("入库成功");
|
||||
// this.reset()
|
||||
// });
|
||||
// } else if (res.cancel) {
|
||||
// // console.log('用户点击取消');
|
||||
// uni.showToast({
|
||||
// title: '取消入库',
|
||||
// icon: 'none', //如果要纯文本,不要icon,将值设为'none'
|
||||
// duration: 2000 //持续时间为 2秒
|
||||
// })
|
||||
// }
|
||||
// }
|
||||
// });
|
||||
|
||||
},
|
||||
dialogConfirm(){
|
||||
labelInStock(this.formData).then(response => {
|
||||
this.$modal.msgSuccess("入库成功");
|
||||
this.reset()
|
||||
});
|
||||
this.$refs.alertDialog.close()
|
||||
}
|
||||
}
|
||||
}
|
||||
class classLocationCode{
|
||||
#key = null
|
||||
setkey(key){
|
||||
this.key = key
|
||||
}
|
||||
/**
|
||||
* 给外部调用的方法
|
||||
* @param {Object} value
|
||||
*/
|
||||
getValue(value){
|
||||
const obj = {
|
||||
"1":this.#getLocationCode,
|
||||
}
|
||||
if(this.key in obj){
|
||||
return obj[this.key](value)
|
||||
}
|
||||
return value
|
||||
}
|
||||
/**
|
||||
* 判断上架扫码是否拼接
|
||||
* @param {Object} value
|
||||
*/
|
||||
#getLocationCode(value){
|
||||
const number = value[0]
|
||||
return '0' + number + '-' + value
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
</style>
|
||||
Reference in New Issue
Block a user